[encryption] id_rsa.pub와 id_dsa.pub의 차이점은 무엇입니까?

하나가 다른 것보다 더 안전합니까?



답변

id_rsa.pubid_dsa.pub의 공개 키는 id_rsaid_dsa.

당신이 관련 요구하는 경우 SSH, id_rsaRSA의 반면, 키와 SSH 프로토콜 1 또는 2와 함께 사용할 수 있습니다 id_dsaA는 DSA의 키 만 2 SSH 프로토콜을 사용할 수있는 두 제품 모두 매우 안전하지만, DSA는 것으로 보인다 요즘 표준입니다 (모든 클라이언트 / 서버가 SSH 2를 지원한다고 가정).

업데이트 : 이것이 작성된 이후 DSA는 안전하지 않은 것으로 나타났습니다. 아래 답변에서 더 많은 정보를 얻을 수 있습니다.


답변

SSH를 사용하여 공개 / 개인 키 쌍을 , 그래서
id_rsa당신입니다 RSA (소수 기준) 개인 키, 더 안전 당신보다 id_dsa DSA (지수 기준) 개인 키. 개인 키를 안전하게 유지하고 사용자 id_rsa.pubid_dsa.pub공개 키를 광범위하게 공유하십시오 .

DSA는 안전하지 않습니다.

DSA에는 컴퓨터의 난수 생성기가 서브 파인 경우 추측 가능한 매개 변수 가있어 비밀 키가 드러납니다. ECDSA (DSA의 타원 곡선 업그레이드) 도 마찬가지로 취약합니다 . 좋은 난수를 사용하더라도 DSA에는 다른 강도 문제가 있습니다PDF ( Diffie-Hellman에서도 발견됨 ).

OpenSSH는 안전하지 않은 1024 비트 키를 만들고 ( 해결 방법 ) 이제 기본적으로 DSA를 비활성화합니다 .

가능하면 Ed25519 사용

타원 곡선 암호화 는 더 작은 키 크기로 복잡성을 증가시킵니다. Ed25519 ( 평면 모델링 타원 곡선 의 복잡성을 기반으로 함 )는 간섭이 없다고 가정하기 때문에 선호되는 구현입니다 (누출 된 문서는 미국 NSA가 암호화 표준을 약화 시킨다는 것을 보여줍니다 ).

안타깝게도 Ed25519는 여전히 새롭기 때문에 OpenSSH 6.5 또는 GnuPG 2.1이 필요 합니다 ( 전체 목록 참조 ).

Ed25519를 사용할 수 없을 때 4096 비트로 RSA 사용

4096 비트의 RSA 키 크기는 Ed25519와 비슷한 복잡성을 가져야합니다.

RSA가 DSA와 동일한 강도 문제에 취약 할 수 있다는 우려 때문에 Ed25519는 RSA보다 여전히 선호되지만 RSA에 해당 익스플로잇을 적용하는 것은 상당히 어려울 것으로 예상됩니다.


답변

예, rsa는 더 안전한 것으로 간주됩니다.

2014 년 10 월, OpenSSH 7 (Ubuntu 16.04LTS의 기본값)은 DSA에 대한 기본 지원을 비활성화했습니다. DSA가 더 이상 권장되는 방법이 아니라는 강력한 신호로 간주하십시오.

https://www.gentoo.org/support/news-items/2015-08-13-openssh-weak-keys.html


답변

rsa는 더 안전한 것으로 간주됩니다.

더 이상은 (5 월 2020 10 년 후)로 OpenSSH를 8.2보고 에 의해 훌리오

향후 지원 중단 알림

지금 수 1 USD $ 50K 이하의 SHA-1 해시 알고리즘에 대한 선택 – 접두사 공격을 수행 할 수 있습니다.
이러한 이유로, 우리는 가까운 장래 릴리스에서 기본적으로 SHA-1에 의존하는 “ssh-rsa”공개 키 서명 알고리즘을 비활성화 할 것 입니다.

( ” SHA-1 is a Shambles : First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust “Leurent, G and Peyrin, T (2020))

이 알고리즘은 안타깝게도 더 나은 대안이 있음에도 불구하고 여전히 널리 사용되고 있으며, 원래 SSH RFC에서 지정한 유일한 공개 키 서명 알고리즘입니다.

더 나은 대안은 다음과 같습니다.

  • RFC8332 RSA SHA-2 서명 알고리즘 rsa-sha2-256 / 512.
    이러한 알고리즘은 ” ssh-rsa” 와 동일한 키 유형을 사용하는 이점이 있지만 안전한 SHA-2 해시 알고리즘을 사용합니다.
    이들은 OpenSSH 7.2 이후로 지원되었으며 클라이언트와 서버가 지원하는 경우 기본적으로 이미 사용됩니다.

  • ssh-ed25519 서명 알고리즘.
    릴리스 6.5 이후 OpenSSH에서 지원되었습니다.

  • RFC5656 ECDSA 알고리즘 : ecdsa-sha2-nistp256 / 384 / 521.
    이는 릴리스 5.7 이후 OpenSSH에서 지원되었습니다.

서버가 호스트 인증에 약한 ssh-rsa 공개 키 알고리즘을 사용하고 있는지 확인하려면 ssh-rsassh (1)의 허용 목록에서 알고리즘을 제거한 후 연결을 시도 하십시오.

ssh -oHostKeyAlgorithms=-ssh-rsa user@host

호스트 키 확인에 실패하고 지원되는 다른 호스트 키 유형을 사용할 수없는 경우 해당 호스트의 서버 소프트웨어를 업그레이드해야합니다.

OpenSSH의 향후 릴리스 UpdateHostKeys에서는 클라이언트가 더 나은 알고리즘으로 자동 마이그레이션 할 수 있도록 기본적으로 활성화 됩니다.
사용자는이 옵션을 수동으로 활성화하는 것을 고려할 수 있습니다 .


답변

하나의 용도 DSA를 하고 다른 하나는 RSA를 사용합니다 .


답변