TLS 재사용에 관한 질문입니다. (+ TLS에 관한 한 가지 질문 추가)


TLS 재사용을 할 때 세션 티켓이라는 것을 활용한다고 들었습니다.

이것이 클라이언트에서 저번 연결 때 서버가 준 Session ID 값을 서버에 제시하면, 서버가 중간 과정을 생략하고 바로 Change Cipher Spec, Finished 를 보내주는 것과 다른 메커니즘인가요?

Session ID을 재활용하는 것을 세션 티켓이라고 부르는건지, Session Ticket이라는 값이 따로 있는건지  알고 싶습니다.

또하나 질문이 있는데요, 서버에서 Server hello , Certificate, ServerKey Exchange, Server Hello Done 을 보내준 뒤에 클라이언트가 Client Key Exchange를 보낼 때의 값이 배운것 과 달라서 질문드립니다.

Client Key Exchange 과정에서 RSA Encrypted PreMaster Secret을 전달한다고 배웠는데 제가 캡쳐한 패킷에는 PreMaster Secret은 들어있지 않고

이미지

이렇게만 나오네요.

그리고 그 이후에는 배워본 적이 없는 Encrypted HandShake Masage라는 것이 보이는데 혹시 이 곳에서 프리마스터 시크릿을 교환하는 건가요?

이미지

  • 2016년 06월 07일에 작성됨

조회수 299


1 답변


좋아요
1
싫어요
채택취소하기

1.해당 문서와 패킷을 캡쳐해보니 SessionTicket 와 Session ID는 별도로 존재합니다.
(https://www.ietf.org/rfc/rfc5077.txt 의 3.4참조)

Client Hello 의 Session ID 와 SessionTicket 이미지

2.다음 문서에 보면 RSA encrypted premaster secret message 는 48 바이트인데 Encrypted Handshake Message 도 48 바이트로 동일해서 같은 것으로 생각됩니다.

참고: https://www.ipa.go.jp/security/rfc/RFC2246-07EN.html#747

이미지

  • 2016년 06월 09일에 작성됨
    그렙에서 웹 프론트 개발을 하고 있습니다.

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close