사용자의 개인 키는 인증에만 사용됩니까?


8

OpenVPN 프로토콜에 관한 간단한 질문이 있습니다. 동일한 서버에 대해 서로 다른 키를 가진 두 명의 서로 다른 사용자가 있고 두 키가 모두 1024 비트라고 가정 해 봅시다. 이 두 사용자가 정확히 동일한 요청을하고 누군가가 서버에서 데이터를 스니핑하는 경우이 사용자 (스니퍼)는 두 사용자 또는 다른 데이터에 대해 동일한 데이터를 볼 수 있습니까? 문제는 사용자의 개인 키가 인증 후 암호화를 방해하는지 또는 인증 시간에만 사용되는지를 아는 것입니다. 감사합니다.


의미 적으로 안전한 암호화를 사용하면 키와 데이터가 동일한 경우에도 암호화 된 데이터가 달라집니다. 따라서 귀하의 질문은 "OpenVPN 프로토콜이 의미 적으로 안전한 암호화를 사용합니까?" 또한 일부 암호화 모드에서는 전송하는 모든 데이터가 나중에 전송되는 데이터의 암호화에 영향을줍니다. 따라서 키가 처음에만 사용 되더라도 연결 전체에서 암호화 된 데이터의 모양에 영향을 미칩니다.
kasperd

답변:


10

이 두 사용자가 정확히 동일한 요청을하고 누군가가 서버에서 데이터를 스니핑하는 경우이 사용자 (스니퍼)는 두 사용자 또는 다른 데이터에 대해 동일한 데이터를 볼 수 있습니까?

다른 데이터.

문제는 사용자의 개인 키가 인증 후 암호화를 방해하는지 또는 인증 시간에만 사용되는지를 아는 것입니다.

공개 / 개인 키는 인증 / 키 협상 중에 만 사용됩니다.


OpenVPN은 사전 공유 키 또는 인증서와 함께 TLS를 사용하는 두 가지 모드 중 하나로 작동 할 수 있습니다 . 사전 공유 키는 고정적이고 일정하지만 인증서 모드에 대해 묻습니다.

너무 자세하게 설명하지는 않겠지 만 직접 TLS를 찾아 볼 수 있지만 기본적으로 TLS는 인증 및 키 협상 단계에서 인증서 (및 개인 키)를 사용합니다. 대칭 암호화 키 (예 : BlowFish, AES 등)를 생성하고 공개 키 암호화를 사용하여 해당 키를 안전하게 공유합니다.

그런 다음 실제 메시지는 대칭 암호화로 암호화됩니다. 각 세션에는 자체 독립적 인 암호화 키가 있습니다. 따라서 연결을 끊었다가 다시 연결하면 실제로 다른 키가 생깁니다. 마찬가지로 모든 사용자는 서로 다른 세션을 가지므로 키가 다릅니다.

이렇게하는 데는 두 가지 이유가 있습니다. 대칭 암호화는 비대칭 암호화보다 훨씬 빠르므로 처리량이 많은 경우에 선호됩니다 (협상 단계에서 해결하는 키 공유는 어려움). 또한 매번 새 키를 생성하면 손상된 키가 다른 세션 데이터 ( FS ) 를 공개하기가 더 어렵습니다 .


아, 거기에 간다-내가 글을 쓰는 중이었던 대답은 훨씬 더 명확하게 표현되었다. 나에게서 +1
MadHatter

+1하여 답변으로 수락되었습니다. 귀하의 답변은 매우 소중했으며 내 질문을 해결했습니다. 감사합니다
user2864778

1

각 클라이언트는 클라이언트와 서버 간의 협상 된 키를 사용하여 자신의 데이터를 암호화하므로 VPN 게이트웨이에서 수신 된 데이터는 두 사용자에 따라 다릅니다.


2
첫 번째 부분이 올바르지 않습니다. OpenVPN은 메시지를 암호화하기 위해 공개 키 암호화를 사용하지 않는 TLS 를 사용합니다.
Bob
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.