What happened before Perfect Forward Secrecy?


PFS를 구현하기 이전에 만약 서버의 비밀키가 노출된다면 Server와 Client간에 전송되는 모든 데이터는 노출될 수가 있다. 특히 공격자는 암호화된 트래픽을 어떠한 시간만큼 저장할 수 있고 동일한 비밀키로 암호화 되었을 때는 데이터에 접근이 가능하다. 한번 비밀키에 접근이 가능하면 모든 기존의 데이터도 복호화 할수 있다. 왜냐하면 Server와 Client간에 교환되는 키로 세션키가 만들어지기 때문이다. 초기에 Handshake 하는 동안 Client는 Pre-Master Secret이라 불리는 것을 만든다. Pre-Master Secret은 전송중에 노출되지 않기 위해 Server의 공개키로 암호화되고 서버에게 보내진다. 서버가 PMS를 수신하면 자신의 비밀키로 복호화하고 Client와 Server는 복사본을 갖고 있는다. 이를 통해 Server와 Client는 대칭 Session 키를 생성한다. 이 세션키는 이후의 데이터 교환에 사용되는 Master Secret이다. Pre-Master Secret이 서버의 공개키로 암호화 되었기 때문에 공격자에게 비밀키를 노출하게 되면 언제든지 데이터를 복호화 할 수 있다.

만약 공격자에 의해 모든 트래픽이 저장된다면 Server의 공개키로 암호화된 Pre-Master Secret 과 함께 #1과 #2오 같이 임의의 숫자를 포함하는 평문을 보낸다. 공격자가 Server의 비밀키를 안다면 Pre-Master 비밀키를 복호화하고 데이터의 복호화하기 위한 Master Secret을 생성할 수 있다.

results matching ""

    No results matching ""