중간에있는 사람이 메시지를 읽지 못하게 할 수 있습니까?


10

나는 이러한 모든 Man-In-The-Middle Attack 예방에 대해 들었고 중간에있는 사람이 스트림을 수신하고 메시지 자체를 변경하고 싶지 않은 경우 이것이 어떻게 작동 할 수 있는지 궁금합니다.

중간에있는 사람은 상대방이 교환 한 키를 가져 와서 키를 변경 한 다음 메시지를 다시 해독하고 암호화 할 수 있습니까?

인증서가 어떻게 이것을 방지 할 수 있습니까?

편집하다:

인증 기관에서 일반적으로 "그렇습니다. 다른 키입니다"라고 말합니다. 그러나 인증서의 서명이 확정되지 않았다는 것을 어떻게 확신 할 수 있습니까?

답변:


10

중간에있는 사람은 상대방이 교환 한 키를 가져 와서 키를 변경 한 다음 메시지를 다시 해독하고 암호화 할 수 있습니까?

네, 그들은 할 수 있어요.

( "텍스트 북"버전) DH 와 같은 키 교환 프로토콜 은 도청 (예 : 채널에서 전송되는 내용을 관찰하는 것)에 대해 안전하지만 MITM (Man-in-the-Middle) 공격에 대해 완전히 분류됩니다. 당신은 진술했다.

인증서는이를 해결하려는 시도이지만 다른 문제가 발생합니다. 두 당사자가 올바른 인증서를 어떻게받을 수 있습니까? MITM 공격에 취약하기 때문에 안전하지 않은 채널을 통해 인증서를 보낼 수는 없습니다.

해결책은 대안적인 (완전히) 안전한 채널 의 존재입니다 . 이는 양 당사자가 직접 만나서 인증서를 물리적으로 또는 신뢰할 수있는 다른 대체 채널 (예 : 신뢰할 수있는 경우 전화를 통해)로 교환하는 것입니다.

컴퓨터 네트워크에서 대체 채널은 일반적으로 PKI ( 공개 키 인프라 )입니다. 이는 운영 체제 또는 브라우저에 다른 인증서가 서명 된 사전 구성된 루트 인증서 세트 (및 중간 인증서 로 사용하는 추가 인증서 )가 있음을 의미합니다. 따라서 일부 웹 사이트를 방문 하면 이미 신뢰하는 (체인) 인증서를 사용하여 서명 된 서명 된 인증서가 제공 됩니다. 그런 다음이 인증서를 사용하여 인증 된 키 교환이 가능합니다 (예 : 일반 대칭 암호화와 함께 사용하기 위해 임시 키 에 동의 ).


우리는 기본적으로 두 번째 채널을 통해 인증서를 전달하고 있습니다.
TVSuchty

예; 그렇지 않으면 MITM 공격이 항상 가능합니다. 구조를 PKI로 "채널"로 생각하는 것은 다소 반 직관적이지만, 단순히 정보를 전송하는 방법 (이 경우 인증서)으로 생각하면 아이디어를 아직 얻지 못했습니다.
dkaeae

그러나 왜 우리가 채널에 대해 이야기하지 않습니까? 우선 안전하다고 알고 있습니까?
TVSuchty

1
@TVSuchty 처음 신뢰할 수있는 키가 필요하지만 일생에 한 번만 통신하면됩니다. 이 키는 인증 기관의 키가 될 수 있으며,이 인증 기관은 다른 사람을 위해 인증서를 발급 할 것을 신뢰합니다. 예를 들어 브라우저를 설치할 때 많은 CA의 키와 함께 제공됩니다. https 사이트로 이동하면 사이트에 대한 키와 키가 올바르다는 CA에서 발행 한 인증서가 제공되므로 https를 올바르게 시작할 수 있습니다. 그러나 이것은 1) 브라우저의 CA 키가 올바른 것이고 2) CA 자체를 신뢰할 수 있다고 가정합니다.
chi

1
@TVSuchty 신뢰할 수있는 CA의 공개 키라면 신뢰할 수있는 하나의 키로 충분합니다. Firefox는 ~ 100 개의 CA 키를 사용 합니다 .
chi

5

중간자 공격에서 Bob에게 키를 요청하지만 Eve는 메시지를 가로 채고 대신 키를 보냅니다. 그녀는 Bob에게 자신의 키를 요청한 다음 사용자와 Bob 사이에 메시지를 전달하여 암호를 해독하고 프로세스에서 메시지를 읽거나 변경합니다.

문제는 실제로 Bob의 키가 있는지 여부를 모른다는 것입니다. 인증 기관 (CA)이 Bob에게 "Bob 's key is 12345"라는 디지털 서명 된 메시지를 제공하기 때문에 인증서가이 문제를 해결합니다. CA가 많지 않기 때문에이 인증서를 확인할 수 있으므로 브라우저에는 유효한 CA 키 목록 만 포함되어 있습니다. 이제 Eve가 Bob과의 암호화 된 통신을 시작하려는 시도를 가로 채면 두 가지 선택이 있습니다. 그녀가 Bob의 키가 67890이라고 말하면 인증서를 제공하지 않고 "죄송합니다, 증명해야합니다"라고 말하거나 가짜 인증서를 제공하고 "그 인증서가 유효하지 않습니다"라고 말합니다. 또는 밥의 키는 12345이며 유효한 인증서를 제공한다고 알려 주지만


Eve가 Bobs 인증서를 보내지 못하는 이유는 무엇입니까? 나는 Bob의 키가 특별한 것을 의미하므로 이브는 비슷한 것을 복제 할 수 없습니까? 이 키가 인증 된 키임을 어떻게 알 수 있습니까? 인증서는 어떻게 확인합니까?
TVSuchty

나는 왜 그녀가 Bob의 증명서를 보낼 수 없는지 (또는 Bob의 증명서를 보내는 것이 그녀에게 도움이되지 않는 이유) 당신에게 말했다. "유사한 키"와 같은 것은 없습니다. 인증서가 있으므로 키가 인증되었음을 알고 있습니다. CA 키를 사용하여 디지털 서명을 확인하여 인증서를 확인하십시오.
David Richerby

@TVSuchty Eve는 먼저 메시지를 해독하여 메시지를 읽은 다음 메시지를 다시 암호화하여 전달해야합니다. Bob의 개인 서명 인증서만으로 Bob과 같이 암호화 할 수 있지만 MITM 공격을받은 불행한 사람은 Bob의 인증서가 있는지 증명하여 Eve의 공급 여부를 알 수 있어야합니다. 이것이 일부 보안 응용 프로그램에서 처음으로 암호화 키를 수락하라는 메시지가 표시되고 변경 될 때마다 표시되는 이유입니다.
Willtech

1
@TVSuchty 인증서는 기본적으로 "나는 X이고 Y는 그렇게 말했기 때문에 X라는 것을 믿을 수 있습니다"라고 말합니다. Eve는 "나는 Bob이고, Eve가 그렇게 말했기 때문에 Bob이라는 것을 믿을 수 있습니다"라는 인증서를 쉽게 만들 수 있습니다. 내 컴퓨터가 해당 인증서를 받으면 그냥 웃습니다. "이것이 그렇게 말한다"는 그것이 Bob의 증명서라고 믿을만한 이유가 아닙니다. "Verisign이 그렇게 말했기 때문에"Verisign은 제조업체가 컴퓨터에 설치 한 100 개의 인증서 제공 업체 중 하나라고 믿기 때문입니다. 그러나 Eve는 그러한 인증서를 위조 할 수 없습니다.
gnasher729

“이브는 왜 밥의 증명서를 보낼 수 없는가?”에 대한 또 다른 대답 :“이브는 밥의 증명서를 위조하거나 훔칠 수 있습니다. Bob의 직원 중 한 명에게 Bob의 인증서 사본을 넘겨주기 위해 백만 달러로 충분할 수 있습니다. Bob은 인증서를 도용하기 어려운지 확인해야합니다. 도난당한 경우 인증서를 해지 할 수 있으며 더 이상 승인되지 않습니다. 인증서는 이제 "Bob의 실제 인증서이지만 도난당한 것으로보고되므로 신뢰하지 마십시오"라고 표시됩니다.
gnasher729
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.