SSL (Secure Socket Layer)
- 1994년 netscape사의 웹 브라우저 보안 프로토콜로 처음 고안됨
- 1996년까지 버전 3.0까지 발표됨
- 3.0을 표준화로 한 것이 바로 TLS
- 통상적으로 SSL과 TLS는 같은 의미로 사용됨
SSL 탄생 배경
- 대칭키를 공유할 때 외부로의 노출이 발생됨
- 이 키를 누군가가 중간에서 가로챈다면…?
- 따라서 비대칭키로 암호화 통신을 진행하면 됨
- 그런데 이는 너무 느리고 비효율적
- 가장 효율적이고 빠른 방법: 처음 대칭키를 교환할때만 비대칭키 암호를 사용 -> TLS의 역할
TLS에서 제공하는 보안 서비스
- 기밀성: 남들이 데이터를 훔쳐가도 볼 수 없는 비밀 제공
- 무결성
- 메시지 인증 코드 (MAC: Message Authentication Code)를 통해서 메시지 인증 제공
- 위, 변조 여부 확인 가능
- 인증: 연결 초기 설정에서 주고 받은 인증서를 통해 신뢰할 수 있는 개체인지 인증 가능
TLS Layer (Transport Layer Security)
- TLS는 Transection Layer 위에서 TLS 계층을 따로 두어 동작함
- TLS를 사용하는 어플리케이션 프로토콜은 끝에 s가 붙음
- TLS 기반의 HTTP는 HTTPS라고 지칭
- TLS 기반의 FTP 또한 FTPS라고 부름
- Handshake: 양쪽 간에 연결을 설정할 때 보안 협상을 위한 프로토콜
- Change Cipher Spec: 보안 파라미터를 변경하거나 적용할 때 사용 (ex. 대칭키 알고리즘을 변경할 때)
- Alert: 오류 전송 시 사용
- Application Data: 실제 데이터를 전송할 때 사용
- Record: 협상된 보안 파라미터를 이용하여 암, 복호화, 무결성 검증 등을 수행할 때 사용