본문 바로가기
study/BAB 스터디

SSL

by cosmog 2022. 9. 21.
반응형
WAPPLES code에 34, 36기준으로 4가지 class면 SSL 완전 정복!
  1. SSL_DATA : SSL 관련된 모든 함수가 있다.
  2. SSL_BIO : callBack 관련 (사실 calss 아님:))
  3. WAPPLES SSL : WAPPLES SSL Manager
  4. SSL ResumptionStore : Session Reuse 관리
 
SSL통신을 하기 위한 HandShake과정에서 필요한 정보들
  • TLS 버전
  • 인증서
  • 암호화 방식
  • Hash Function 뭐쓸지에 대한 정보.
*암호화 방식과 Hash Function을 합쳐 cipher suit로 묶을 수 있다.
*이런 정보들은 변경되지 않음으로 처음에 한번 만들고 재사용해야함으로 들고 있어야한다.
 
위와 같은 Handshake하기에 필요한 정보들을 SSL_CTX라고 한다.
  • 참고 : CTX는 context의 줄임말. 정보를 들고있다는 뜻.
 
SSL은 객체 자체가 세션이다. (세션 객체)

 

BIO : Buffered Input Output
SSL은 단일 크기가 있다.(암복호화시) 
패킷 여러개를 붙여야 할 경우가 있음으로 버퍼링을 할 수 있기때문에 BIO사용.
 
BIO 사용 이유는 mmap에 쓰려고 기존 socket통신처럼 메모리 많이 사용하지 않으려고.
 
SSL Termination

 

== code ==
WapplesSSL.cpp ( Wapples SSL Manager )
  • Find SSL Server (SSL 서버인지 아닌지 알려준다)
WapplesMain.cpp
g_pendingWpPacketQue 가 오는 경우는 두가지
  1. SSL
  2. TrainPacket(한 패킷안에 req가 2개 온 경우)
반응형

'study > BAB 스터디' 카테고리의 다른 글

NP와 DE는 어떻게 통신하는가?  (0) 2022.09.21