woonizzooni

SSL/TLS 패킷 복호화 관련 (nss, libnss ...) 본문

MISC

SSL/TLS 패킷 복호화 관련 (nss, libnss ...)

woonizzooni 2019. 10. 18. 20:31

 

[관련 글]

https://woonizzooni.tistory.com/entry/Wireshark-SSLTLS-패킷-복호화

https://woonizzooni.tistory.com/entry/tcpdump-SSLTLS-패킷-복호화

 

 


가장 간편하게(?) 해볼 수 있는 방법은 SSL Key log파일을 이용하는 방법임.

이는 NSS(Network Security Services)에 의해서 이뤄짐. (SSLKEYLOG 환경 변수 사용)

 

SSLKEYLOGFILE을 지원하는 NSS를 사용하는 application의 경우

이 변수가 설정되어 있을 경우 해당 파일에 SSL Key로그 내용을 기록함.

 

대표적으로 cURL, Chrome, Firefox 등임.

 

 

Network Security Services (NSS) : 서버 클라이언트간 키/인증서 보안 기능 제공하는 라이브러리 세트

    https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS

    https://hg.mozilla.org/projects/nss/

    https://github.com/nss-dev/nss

Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards.

 

NSS빌드 옵션을 보면

 

lib/ssl/Makefile

 

lib/ssl/sslsock.c

 

lib/ssl/ssl3con.c

 

기록되는 로그 형식은 다음과 같음.

NSS Key Log Format.

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format

 

 

 

이 SSL key로그파일을 이용해서 패킷내용을 살펴볼 수 있는데,

wireshark의 경우 환경설정에서 이 파일을 키 파일로 등록해서

SSL/TLS패킷을 내용을 inspect해볼 수 있음.

 

 

Comments