OpenVPN 프로토콜에 관한 간단한 질문이 있습니다. 동일한 서버에 대해 서로 다른 키를 가진 두 명의 서로 다른 사용자가 있고 두 키가 모두 1024 비트라고 가정 해 봅시다. 이 두 사용자가 정확히 동일한 요청을하고 누군가가 서버에서 데이터를 스니핑하는 경우이 사용자 (스니퍼)는 두 사용자 또는 다른 데이터에 대해 동일한 데이터를 볼 수 있습니까? 문제는 사용자의 개인 키가 인증 후 암호화를 방해하는지 또는 인증 시간에만 사용되는지를 아는 것입니다. 감사합니다.
답변
이 두 사용자가 정확히 동일한 요청을하고 누군가가 서버에서 데이터를 스니핑하는 경우이 사용자 (스니퍼)는 두 사용자 또는 다른 데이터에 대해 동일한 데이터를 볼 수 있습니까?
다른 데이터.
문제는 사용자의 개인 키가 인증 후 암호화를 방해하는지 또는 인증 시간에만 사용되는지를 아는 것입니다.
공개 / 개인 키는 인증 / 키 협상 중에 만 사용됩니다.
OpenVPN은 사전 공유 키 또는 인증서와 함께 TLS를 사용하는 두 가지 모드 중 하나로 작동 할 수 있습니다 . 사전 공유 키는 고정적이고 일정하지만 인증서 모드에 대해 묻습니다.
너무 자세하게 설명하지는 않겠지 만 직접 TLS를 찾아 볼 수 있지만 기본적으로 TLS는 인증 및 키 협상 단계에서 인증서 (및 개인 키)를 사용합니다. 대칭 암호화 키 (예 : BlowFish, AES 등)를 생성하고 공개 키 암호화를 사용하여 해당 키를 안전하게 공유합니다.
그런 다음 실제 메시지는 대칭 암호화로 암호화됩니다. 각 세션에는 자체 독립적 인 암호화 키가 있습니다. 따라서 연결을 끊었다가 다시 연결하면 실제로 다른 키가 생깁니다. 마찬가지로 모든 사용자는 서로 다른 세션을 가지므로 키가 다릅니다.
이렇게하는 데는 두 가지 이유가 있습니다. 대칭 암호화는 비대칭 암호화보다 훨씬 빠르므로 처리량이 많은 경우에 선호됩니다 (협상 단계에서 해결하는 키 공유는 어려움). 또한 매번 새 키를 생성하면 손상된 키가 다른 세션 데이터 ( FS ) 를 공개하기가 더 어렵습니다 .
답변
각 클라이언트는 클라이언트와 서버 간의 협상 된 키를 사용하여 자신의 데이터를 암호화하므로 VPN 게이트웨이에서 수신 된 데이터는 두 사용자에 따라 다릅니다.