2012-04-04 6 views
1

최근에 TLS를 보았습니다. 왜 그렇게 안전한지 확신 할 수 없지만 작동 방식에 대한 오해 덕분입니다. 그러나 중간 악의적 인 사람 또는 대상 컴퓨터의 패킷 스니퍼를 사용하여 핸드 쉐이크 전체가 기록되는 경우 클라이언트와 서버가 생성하는 데 사용 된 모든 정보를 가지므로 나머지 통신은 해독 될 수 있습니다 암호화 키.핸드 쉐이크를 완전히 녹음하여 TLS 보안을 깨기

나는 tls에 그런 구멍이있을 것이라고 의심하지만 누군가가 tls가 이것에 대해 어떻게 방어하는지 말해 줄 수 있습니까?

+0

A) http://www.amazon.com/Applied-Cryptography-Protocols-Algorithms-Edition/dp/0471117099하지만 더 중요한 것은 B) 왜 패킷을 스니핑 한 후에 키가 있다고 생각합니까? –

+0

은 전송 된 데이터에서 모든 키가 생성 되었기 때문에 적어도 사양이 말하는 것입니다. 마스터 키를 생성하는 데 사용되는 프리 마스터 키는 악수하는 동안 클라이언트와 서버간에 모두 전송되는 정보를 기반으로 합니다만 멋진 모양의 책입니다. – topherg

+0

아하 - 혼란 스러움을 이해합니다. - 마크의 링크는 훌륭해야합니다. 독서. –

답변

5

TLS 핸드 셰이크에서 클라이언트가 서버로 보낸 중요한 데이터는 서버의 public key을 사용하여 암호화됩니다. 따라서 패킷이 유선에서 캡처 된 경우에도 개인 키 (서버에만 알려져있는 것으로 가정)는 패킷을 해독해야합니다.

+0

공개 키로 암호화 된 개인 키가 필요한 이유는 무엇입니까? – topherg

+2

@cgoddard : 공개 키 암호화가 대칭이 아닙니다. 공개 키를 사용하여 암호화하면 개인 키로 만 암호를 해독 할 수 있습니다. 내가 포함 된 링크는 그것을 논의한다. –

+0

아, 그저 atm을 읽었는데 확실히 흥미 롭습니다, 고마워요 – topherg

0

핸드 셰이크의 주된 목적은 양 당사자가 공유하는 사전 마스터 암호의 비밀 교환을 보장하는 것입니다. 그러면 공통 마스터 비밀 키와 공유 암호 키가 생깁니다.

어떻게 수행되는지는 암호 그룹 및 키 교환 알고리즘이 사용되는 방식에 따라 다릅니다. 인증 된 키 교환을 사용하는 경우에는 주로 두 가지 변종이 있습니다.

  • RSA 키 교환 (여기서 클라이언트는 인증서에서 가져온 서버의 공개 키로 프리 마스터 비밀 번호를 암호화합니다).
  • Diffie-Hellman key exchange 여기서 클라이언트는 서버의 서명 된 DH 매개 변수를 서버의 공개 키로 확인합니다.

당신은이 링크에 관심이있을 수 :