업무용 SSH 공개 키를 제공해도 안전합니까? 합니까? 공개 키에서 개인 키를 생성하는

현재 유지 관리 및 업그레이드를 위해 정기적으로 서버에 액세스해야하는 여러 조직에서 원격으로 작업하고 있습니다. .ssh/authorized_keys비밀번호를 조회하지 않고도 훨씬 더 빠르게 로그인 할 수 있도록 RSA 공개 SSH 키를 파일 에 추가하는 것이 안전 합니까? 공개 키에서 개인 키를 생성하는 것이 불가능하다는 가정하에 운영되지만 내 가정이 맞습니까?

한 단계 더 나아가면 RSA 공개 키의 내용을 인터넷에 게시 할 때 보안 상 위험 할 수 있습니까? 개인 키를 확보하면 많은 문제가 발생하지만 그 외에는 실제로 가능한 보안 위협이 있습니까?



답변

예, 공개 키에서 개인 키를 복구 할 수 없습니다. 가능하다면 RSA는 근본적으로 망가질 것이며 이것은 주요 뉴스가 될 것입니다.

실제로 비밀번호 대신 공개 키로 로그인하면 보안이 강화되는 경향이 있습니다. 암호가 충분히 강력하지 않으면 충분한 대역폭을 가진 공격자가 무차별 암호를 적용 할 수 있습니다. 공격자가 개인 키 파일의 복사본을 가지고 있지 않으면 RSA 키를 효과적으로 강제로 실행할 수 없습니다 (1024 비트 키는 대소 문자를 구분하는 임의의 문자와 숫자로 구성된 160 자 암호와 같습니다) . 어깨 너머로 지켜 보는 사람이 비밀번호와 키 비밀번호 문구를 볼 수 있지만 키가 있으면 키를 가져와야합니다.

개인 키는 항상 암호보다 안전하지는 않습니다. 공격자가 개인 키 파일의 복사본을 얻는 경우 (예 : 랩톱 또는 백업 미디어를 훔쳐서) 암호를 무차별 적으로 시도 할 수 있으며, 암호를 제한 할 방법이 없기 때문에 고속으로 수행 할 수 있습니다. 온라인으로 만들어야하는 비밀번호 추측과 달리 요율. 암호 문구가 충분하고 즉시 도난을 발견 한 경우 여전히 키를 취소 할 시간이 있습니다.

공개 키는 개인 정보 노출의 요소를 소개합니다. 누군가가 동일한 공개 키를 사용하여 A에 로그인하고 B에 로그인했다는 것을 알고 있다면 A와 B에 로그인 한 동일한 사람을 알고 있습니다. 개인 키도 가지고 있다고 의심되어 익명을 잃게됩니다. 그러나 ~/.ssh시스템 관리자 (로그인 한 IP 주소를 아는 사람) 만 볼 수 있는 위치에 키를 저장하는 경우에는 일반적으로 미미 합니다.

이러한 보안 고려 사항 외에도 개인 키에는 많은 실질적인 이점이 있습니다. 비밀번호를 자주 입력 할 필요가 없으며, 특히 ssh-agent 등에서 키를 입력 한 후에는 프롬프트가 표시되지 않는 자동화 된 스크립트를 실행할 수 있습니다. 암호를 너무 자주 입력 할 필요가 없으므로 암호를 더 높은 엔트로피 (길이가 길고 입력하기 어렵게) 만들 수 있습니다. 암호를 너무 자주 입력 할 필요가 없으므로 사람 관찰 자나 카메라에 의해 스누핑 될 위험이 줄어 듭니다.


답변

Gilles의 답변 은 일반적으로 좋지만

… 특히 키를 ~ / .ssh에 저장하는 경우 시스템 관리자 (로그인 한 IP 주소도 아는 사람) 만 볼 수 있습니다.

~/.ssh자신의 계정으로 실행되는 모든 소프트웨어 에서 ssh 키를 읽을 수도 있습니다. 아마도 당신이 실행하는 대부분 의 소프트웨어 일 것입니다 . 따라서 해당 소프트웨어와 소프트웨어를 작성한 사람들을 신뢰해야합니다.