RSA 암호화가 키 교환에 널리 보급 된 이유는 무엇입니까?


16

이것은 간단한 질문입니다. 암호화 또는 기록에 대해서는 잘 모르지만 RSA의 일반적인 용도는 대칭 키를 암호화하여 더 긴 메시지를 보내 (예 : iMessage here 설명) 키 교환을 수행하는 것 같습니다 . 이것이 더 오래된 Diffie-Hellman 키 교환 (그리고 나에게 더 단순한 것)이 정확하게 맞습니까? Wikipedia를 살펴보면 둘 다 특허를 받았기 때문에 선택에 대한 책임은 없었습니다.

분명히, 공개 키 암호화가 가능한지 이론적으로 중요한지 묻지 않습니다. 키 교환을 수행하는 데 실제로 표준 방법이 된 이유를 묻습니다. (암호화자가 아닌 사람들에게 DH는 구현하기가 더 쉬워 보이고 사용 된 그룹의 세부 사항과도 관련이 없습니다.)



3
RSA는 단방향 링크 만 사용할 수 있거나 왕복 통신 시간이 과도한 경우와 같이 DH와 같은 대화 형 키 교환 프로토콜이 불가능한 경우에도 안전한 키 전송에 사용될 수 있습니다. 수신자의 컴퓨터가 메시지를 보내려는 순간 인터넷에 연결되어 있지 않을 수 있으므로 대화 형 키 교환에 참여할 수 없으므로 암호화 된 전자 메일과 같은 사용 사례는 이러한 접근 방식을 선호합니다.
Kevin Cathcart

왜 키 교환에 인기가 있었는지 또는 일반적으로 묻고 있습니까?
OrangeDog

@KevinCathcart DH는 반드시 대화식 일 필요는 없습니다. 발신자는 일회용 키 쌍을 만들고 메시지와 함께 공개 키를 보낼 수 있습니다. 이러한 접근 방식은 ECIES / DLIES 및 ElGamal 암호화의 기초입니다. 약간의 오버 헤드가 있습니다 (1024 비트 키의 경우 128 바이트).
코드 InChaos

@CodesInChaos : 그러나 둘 다 키 교환 알고리즘이 아닙니다. 키 교환에서 본격적인 공개 키 암호화로 전환 한 후에는 되돌릴 수없는 근본적인 문제를 선택해도 발신자의 수신자 공개 키 사본을 확보하는 등 운영상의 문제에 영향을 미치지 않습니다. "왜 우리는 종종 공개 키 암호화를 사용하여 키 교환 알고리즘보다 키를 교환 하는가? 왜 더 간단한가?"라는 질문을 이해했습니다. 분명히 기본적으로 모든 공개 키 알고리즘을 사용하여 비 대화식 채널을 통해 공유 암호를 설정할 수 있습니다.
Kevin Cathcart

답변:


14

강력한 기술적 이유는 없습니다. RSA뿐만 아니라 Diffie-Hellman (적절한 서명)을 사용할 수있었습니다.

왜 RSA입니까? 내가 알 수있는 한, 기술적이지 않은 역사적 이유가 지배적이었습니다. RSA는 특허를 받았으며 RSA를 마케팅하고 옹호하는 회사가있었습니다. 또한 좋은 라이브러리가 있었고 RSA는 이해하기 쉽고 개발자에게 친숙했습니다. 이러한 이유로 RSA가 선택되었으며 일단 인기있는 선택이었던 경우 관성으로 인해 그대로 유지되었습니다.

요즘 Diffie-Hellman의 사용을 증가시킨 주요 원인은 Diffie-Hellman을 사용하면 쉽게 달성 할 수 있지만 RSA에서는 속도가 느린 완벽한 순방향 보안에 대한 요구입니다.

우연히도 Diffie-Hellman 비밀 공유가 아니라 Diffie-Hellman 키 교환입니다. 비밀 공유는 전적으로 다른 것입니다.


2
특허가 RSA 를 피해야 하는 더 많은 이유라고 생각 했습니까?
user1686

특허 보유자의 행동 방식에 따라 달라지는 @grawity; 한 세대 전에 기술 특허 보유자는 스마트 폰 전쟁이나 대규모 소기업 특허 트롤링 중에 발생한 정도까지 대규모의 장기 법률을 통해 스스로를 수치스럽게하지 않았습니다.
Dan Neely

10

Diffie–Hellman에는 중요한 기능인 인증이 없습니다. 당신은 당신이 누군가와 비밀을 공유한다는 것을 알고 있지만, 그것이 수신자 또는 중간에있는 사람인지 알 수는 없습니다. RSA를 사용하면 공개 키를 저장하는 신뢰할 수있는 당사자가 몇 명있을 수 있습니다. 은행에 연결하려면 이미 컴퓨터에 신뢰할 수있는 당사자의 공개 키가 있으므로 신뢰할 수있는 당사자 (Verisign이라고 함)에게 은행의 공개 키를 요청할 수 있습니다. 그러므로 당신은 당신이 당신의 은행과 비밀을 공유하고 있다는 것을 알고 있습니다.

Diffie–Hellman을 사용하면 은행과 비밀을 만들 때 실제로 은행에서 비밀을 생성하는 한 사람 (MITM)과 비밀을 만들 수 있으며, 하나의 암호화 키에서 다른 하나는 보이지 않게 (전체 통신을 읽을 수있는 동안) 유지합니다.


물론 인증을 위해 RSA를 사용한 다음 DH 키 교환을 사용할 수 있습니다.
OrangeDog

4
pk=gskmodp

@ kasperd : 나는 이것이 많은 투표를했다는 것에 놀랐습니다.
Louis

1
인증을 위해 장기 Diffie-Hellman 키를 사용하거나 (프로토콜 예제는 CurveCP 참조) DH를 DSA / Schnorr / ElGamal 서명 (DH와 많은 기본 수학을 공유 함)과 결합 할 수 있습니다. RSA 암호화와 RSA 서명을 결합하십시오.
코드 InChaos

-2

앞에서 언급 한 RSA 알고리즘은 Diffie-Hellman보다 그다지 좋지는 않습니다. 후자는 인증이 부족하기도합니다. 또한 두 알고리즘 모두 이산 로그를 찾는 데 어려움이 있기 때문에 보안면에서도 매우 비슷합니다.


2
기부 해 주셔서 감사합니다. 그러나 당신이 말하는 모든 것은 이미 다른 답변에서 다루어졌습니다. 기존 답변을 복제하지 않고 아직 정답이없는 질문에 답변하는 것이 좋습니다. 또한 RSA는 이산 대수 그 자체가 아니라 팩토링 문제의 어려움 (그리고 엄격히 RSA 문제에 대해 말하기)에 의존하지만, Diffie-Hellman 더 고전적인 이산 로그 기반 시스템입니다 (엄격히 말하면 DDH 가정에 의존 함). ).
DW

-3

간과 할 수없는 어두운면이 있습니다.
RSA가 NSA에 의해 채택되었다는 사실.
NSA는 Eliptic Curve cyhper에 백도어를 심어 RSA에 공급했습니다.
http://www.intelligence-world.org/nsa-infiltrated-rsa-security-more-deeply-than-thought-study/


1
이 답변은 일관성이 없습니다. 타원 곡선 암호화는 RSA와 다릅니다. 따라서 타원 곡선 암호화의 백도어는 RSA를 위험에 빠뜨리지 않습니다. 이 대답은 잘못되었습니다. 그런 어두운면은 없습니다.
DW
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.