작성일자 : 2021.01.24
1. SSL (Secure Socket Layer) 이란?
서버와 클라이언트 간 데이터 전송 시 응용 계층과 전송 계층 사이에 안전한 보안 채널을 형성해 주는 보안용 프로토콜
동작 위치를 표현하기가 조금 애매한데, OSI 계층 모델로는 해당 프로토콜을 정의할 수 없다는 의견도 있고, 세션 계층에서 동작한다는 의견도 있음.
응용 계층(HTTP)과 전송 계층(TCP) 사이에서 동작한다 라는게 정확한 표현
* TLS (Transaport Layer Security)?
Netscape 에 의해 개발된 SSL 이 IETF 표준화 기구가 관리하게 되면서 TLS 로 이름이 변경되었으나 아직까지 SSL 이라는 이름을 더 많이 사용함. TLS 1.0 은 SSL 3.0 을 계승
2. SSL 인증서
클라이언트 서버간의 통신을 공인된 CA 업체가 보증해주는 전자화된 문서
인증서에 포함된 내용 (외에도 더 있다)
- 소유자 이름
- 소유자의 공개 키
- 유효 기간
- 고유한 UID
- 인증서의 모든정보의 해시값
- 발급 기관
* CA (Certificate Authority)?
SSL 인증서를 제공하는 공인된 기업
ex) Symantec, Comode etc..
3. 전자 서명
정보의 유효함을 증명하기 위해 데이터에 전자적인 서명을 첨부하는 것
서버에서 비공개키를 이용해서 정보를 암호화하고, 암호화된 정보를 공개키를 활용하여 클라이언트에서 복호화한다. 이 때 공개키를 가지고 복호화할 수 있다는 건 암호화할 때 공개키의 쌍인 비공개키로 암호화되었다고 판단하며 전자 서명의 승인이 이루어짐. 비대칭키 알고리즘인 RSA 를 많이 사용.
SSL 인증서의 전자 서명(서비스 보증) 방법
- 클라이언트가 서버에 접속하면 서버는 공개키와 발급한 CA 가 포함된 인증서를 우선 제공
- 클라이언트는 인증서가 신뢰할수 있는지를 판단.
- 발급 기관이 자신의 CA 리스트에 있는지, Root CA 인지, Root CA 에 체이닝된 Intermediate CA 인지 확인 - 인증서의 공개키를 이용하여 인증서 정보를 복호화
- 복호화가 완료 되면(성공하면) 인증서를 제공한 서비스가 신뢰할수 있다고 판단
4. SSL 동작 방식
- 클라이언트와 서버 간 전자 서명에 의해서 안전한 채널을 수립(비대칭키 암호화 사용)
- 해당 채널을 통해 임의의 대칭키를 생성 및 교환
- 대칭키를 사용하여 암/복호화 및 정보 교환 실행
* 대칭키 암호화가 비대칭키 암호화보다 빠르기 때문에 첫 인증에만 비대칭키 알고리즘을 사용
* https(HyperText Transfer Protocol over Secure Socket Layer, HTTP over TLS, HTTP over SSL, HTTP Secure)?
SSL 위에서 동작하는 http 를 의미, 즉 http 에 보안 프로토콜이 적용되있는 것
'보안' 카테고리의 다른 글
[SSL] Apache, Tomcat SSL 적용 (0) | 2021.01.24 |
---|---|
[보안] 암호화 (0) | 2021.01.17 |