2014-06-15 2 views
0

이와 비슷한 질문이 있지만 단순히 인증서로 SSL을 해독 할 수 있는지 묻습니다.들어오는 SSL 트래픽을 해독 할 수 있습니까?

내 질문에 Wireshark를 사용하는 장치에서 모든 트래픽을 캡처하면 들어오는 트래픽을 해독 할 수있는 정보가 충분하지 않아야합니까? 내가 들었던 것은 서버가 서버에서 해독 할 수있는 데이터를 암호화하기 위해 컴퓨터가 대칭 키를 생성하는 데 사용하는 공개 키를 보내는 것입니다. 그러나 모든 것이 암호화되어 있다면, 브라우저는 들어오는 트래픽을 어떻게 해독합니까? 그리고 그게 가로 챌 수 없으며 브라우저가 서버가 보내는 것을 해독 할 수있는 방법이 없을까요?

필자도 Fiddler를 사용했는데 페이스 북에있을 때 Fiddler가 https 트래픽을 읽을 수있는 것처럼 보였으므로 정확히 어떻게 작동합니까?

+0

키가 실제로 전송되지 않습니다. 그들은 브라우저 자체에 내장되어 있습니다. 따라서 새 SSL을 공유 할 때 브라우저를 정기적으로 업데이트해야합니다. – Ajit

+0

이것은 단지 몇 가지 기본 정보입니다 .. 누군가가 당신의 질문에 대한 좋은 설명을 주길 바랍니다. – Ajit

+2

이 질문은 프로그래밍에 관한 것이 아니므로, 오프 토픽 인 것으로 보입니다. 아마도 [Super User] (http://superuser.com/) 나 [Information Security Stack Exchange] (http://security.stackexchange.com/)가 더 나은 곳이 될 것입니다. – jww

답변

2

Fiddler는 중간자 (man-in-the-middle) 역할을합니다. 자신의 개인/공개 키 쌍이있는 자체 생성 인증서를 클라이언트에 보냅니다. 따라서 클라이언트가 Fiddler에 대칭 키를 보내면 Fiddler가 이미 가지고있는 개인 키와 일치하는 공개 키를 사용합니다. 이를 허용하도록 브라우저를 구성하는 방법을 이해하려면 What is point of SSL if fiddler 2 can decrypt all calls over HTTPS?을 참조하십시오.

Fiddler가 해독 된 트래픽을 가져온 후 Fiddler는 클라이언트와 마찬가지로 서버에 가장하여 서버의 공개 키를 사용하여 Fiddler에서 서버로 통화하는 데 사용되는 새로운 대칭 키를 암호화하여 요청을 서버에 다시 보냅니다. . 서버의 개인 키를 제공 할 때 와이어 샤크가 트래픽을 해독 할 수 대조적으로

[Client] -FiddlerPublicKey(SymmetricKey1)--> [Fiddler] -ServerPublicKey(SymmetricKey2)--> [Server]

; 클라이언트가 대칭 키를 보내고 서버가 일반적으로 보유하는 (일반적으로 비밀) 개인 키를 사용하여 해독하는 메시지를 찾을 수 있습니다.

0

공개 키와 비공개 키 (비대칭 암호화)는 양측 모두에 대해 동일한 공유 키 (대칭 암호화)를 생성하는 데 사용됩니다. 그 이유 중 하나는 대칭 암호화가 비대칭 암호화보다 훨씬 빠르기 때문입니다.

Wireshark가 SSL 스트림을 해독 할 수 있습니까? 예 - 데이터가 브라우저를위한 것입니다하더라도, 와이어 샤크는 암호를 해독 할 수있는 경우에 키 암호화 can be provided :

는 SSL 해부학자는 완벽하게 작동하고 심지어 SSL 암호 해독 같은 고급 기능을 지원하는 암호화 키를 할 수있는 경우 이 제공되고 Wireshark가 OpenSSL 또는 bsafe가 아닌 GnuTLS에 대해 컴파일됩니다. 이것은 RSA 개인 키에서 작동합니다.

SSL은 종단 간 암호화를 위해 의도 되었기 때문에 약간의 고통이 될 수 있습니다. 즉, 브라우저와 서버 만 메시지를 해독 할 수 있어야합니다.

EDIT : Fiddler는 요청에 대한 프록시 역할을하여 SSL을 해독 할 수 있습니다 (wireshark에서는 수행하지 않음).

+0

죄송합니다. 대칭 키의 문법이 섞여 있습니다. 나는 그 부분도 고정시켰다. 그래서 내가 알고있는 것은 브라우저에 다른 프로그램에없는 들어오는 트래픽을 해독 할 수있는 암호 해독 코드가 내장되어 있다는 것입니다. – Muhatashim

+0

나는 그 질문의 맥락을 오해했으나 네 말이 맞습니다. 혼란을 피하기 위해 그 부분을 제거 할 것입니다. –

0

아니요. 모든 트래픽이있는 경우 해독 할 수 없습니다. 인증서의 개인 키가 있더라도 개인 키는 인증에 사용됩니다. 트래픽이 암호화 된 키는 통신 프로그램 (서버 및 브라우저)이 핸드 셰이크하는 동안 생성됩니다. 따라서 브라우저에는 메모리에 암호화 키가있어 트래픽을 해독 할 수 있습니다. 같은 컴퓨터에서 실행중인 다른 프로그램에는 없습니다. 여기에는 Wireshark가 포함됩니다.

개인 키가있는 경우 중간자 공격 (즉, 본질적으로 프록시)을 수행 할 수 있습니다. 이 경우 사용자 (또는 Fiddler와 같은 프로그램)가 암호화 키를 생성하므로 트래픽을 해독 할 수 있습니다.

요약하면 수동 공격자 대신 적극적인 공격자가 필요합니다. 세션 중에 전송 된 모든 데이터를 복사 한 수동 공격자는 양 당사자의 장기 개인 키 (즉, 인증서의 개인 키)가 주어 지더라도 해독 할 수 없습니다.

편집 : 잘못된 암호 스위트를 사용하는 경우 설명을 추가하면 RSA 개인 키를 알고 트래픽을 해독 할 수 있습니다. 이것이 임시 DH 스위트를 사용해야하는 이유입니다. 포스트 하트 피는 이것이 희망이 될 것입니다.

+1

서버 개인 키가 있으면 기록 된 모든 트래픽과 PFS 암호 스위트 (예 : DHE)가 사용되지 않으면 ** 통신을 해독 할 수 있습니다. – Bruno

+0

예, AKE 프로토콜에 따라 다릅니다. 나는 서버가 합리적으로 현대적인 것을 사용하고 있다고 가정하고있다. –

+0

그것은 실제로 현대적인 문제가 아닙니다. 모든 서버가 DHE를 사용할 수있는 것은 아닙니다. – Bruno

관련 문제