때때로 SSH의 공개 키 인증 시스템을 설정하는 방법을 설명할 때 RSA 또는 DSA 키가 더 나은지 묻는 메시지가 표시됩니다. 다음 몇 단락에서 나는 그 질문에 대답하려고합니다. 나는 이더넷 LAN과 TCP / IP 네트워킹에 대한 전문 지식을 가지고 있지만, 나는 최고의 암호화에 대한 아마추어 이해가 있다는 공개와 함께 내 토론을 서문할 것이다. 다음 토론은 인터넷 연구를 기반으로하며, 그 중 일부는 모순적이며 인터넷과 마찬가지로 일부 링크는 다른 링크보다 더 신뢰할 수 있습니다.
첫째, RSA 및 DSA 키는 무엇입니까?
DSA 또는 디지털 서명 알고리즘은 NSA가 디지털 서명을 위해 설계된 미국 정부 표준입니다. 그것은 엘가말 서명 알고리즘에서 파생됩니다. 보안은 특정 유형의 로그와트 함수를 해결하는 데 어려움을 기반으로 합니다. 디지털 서명에만 사용할 수 있습니다.
RSA는 처음 알고리즘을 출판 저자, 론 리베스트, 아디 샤미르, 레너드 애들먼의 이니셜에서 명명된다. 그것은 많은 수를 팩터링의 어려움을 기반으로합니다. DSA와 달리 RSA를 사용하여 전체 메시지를 암호화할 수 있습니다.
내 이해는 logarithmic 및 팩터링 문제를 해결하는 것은 똑같이 어렵다는 것입니다, 그러나 나는 logarithmic 문제가 더 어렵다는 것을 말하는 몇몇 참조를 찾아냈습니다 (나는 또한 그(것)가 똑같이 단단하다는 것을 말하는 참조를 찾아냈습니다.
내가 중요하지 않다고 생각하지 않는 것들, 하지만 당신은 듣고 또는 미래에들을 수 있습니다 :
- DSA는 RSA보다 서명 속도가 빠르지만 인증 단계에서 RSA는 두 단계가 모두 필요하기 때문에 차이가 중요하지 않습니다.
- 내가 위에서 말했듯이 DSA는 RSA가 인증및 메시지를 암호화하는 데 사용할 수있는 동안 인증에 만 사용할 수 있습니다. 그러나 SSH는 인증키만 사용하므로 차이점은 중요하지 않습니다.
- 동일한 키 길이의 경우 DSA는 더 작은 서명 파일을 생성합니다. 그러나 각 키는 디스크 블록을 다시 가져 갈 것이기 때문에 문제가되지 않습니다.
- DSA 키는 원래 1024 비트로 제한되었지만 더 이상 그렇지 않습니다.
- "키 및 DSA"와 "키 및 RSA"에 대한 "국가 취약점 데이터베이스"를 검색하고 DSA 키를 다루는 2 개의 취약점과 RSA 키를 다루는 5 개의 취약점을 마련했습니다. 내가 말할 수있는 한, 이러한 모든 취약점은 OpenSSL / OpenSSH의 최신 릴리스에서 해결되었습니다, 지금 OpenVOS에 대한 인터넷 보안 팩의 일부.
DSA에 찬성 하는 것 들:
- DSA는 SSH 프로토콜 2와 함께만 사용할 수 있으며 RSA는 프로토콜 1 과 2와 함께 사용할 수 있습니다("SSH 2" 대 "OpenSSL 및 OpenSSH 릴리스 2"참조). 프로토콜 1에는 몇 가지 중요한 설계 결함이 있으며 프로토콜 버전 2로 대체되었습니다. 나는 이것을 오래된 오래된 프로토콜을 사용하지 않도록 보호하는 일종의 DSA 키를 사용하는 것을 약간 선호하는 이유라고 생각합니다.
RSA에 찬성 하는 것 들:
- 나쁜 난수 생성기는 DSA 키 비트를 누출합니다 (방법을 묻지 마십시오).
- openssh.org 웹 사이트는 더 나은 주제에 음소거 된 것처럼 보이지만, ssh 키겐의 최신 버전은 형식을 지정하지 않으면 RSA 키를 만듭니다.
- DSA 키보다 RSA 키를 참조하는 RFC가 더 많은 것 같습니다.
일부 비교(파일 크기는 키의 일부가 아닌 텍스트포함).
DSA 생성 시간 | RSA 생성 시간 | DSA 바이트 | RSA 바이트 | DSA.펍 바이트 | RSA.펍 바이트 | |
1024 비트 | 1초 | 1초 | 736 | 951 | 610 | 230 |
2048 비트 | 8초 | 2초 | 1264 | 1743 | 1122 | 402 |
4096 비트 | 50초 | 25초 | 2304 | 3311 | 2146 | 742 |
어떤 키를 사용하든, 정말 중요한 것은 키 길이입니다. 현재 환경을 감안할 때, 나는 2048의 키 길이를 추천 할 것입니다. 오늘은 과잉처럼 보일 지 모르지만, 5년 안에 그렇게 보일지 확신할 수 없습니다.
어떤 유형의 키를 사용할지 에 관해서는 RSA 키쪽으로 기대어 있어야 합니다.