Search
Duplicate

15. SSL,TLS

생성일
2022/06/13 17:30
태그
SSL/TLS 상의 HTTP
통신 내용을 암호화해 주는 프로토콜로서 SSL(Secure Socket Layer) 혹은 TLS(Transport Layer Security)를 이용
프로토콜의 이중 구조
SSL/ TLS 상에서 HTTP 실행
HTTP의 통신(요청과 응답)은 암호화 되어 도청을 방지
신용카드 번호 보내기(SSL/TLS의 역할)
1) 기밀성 : 앨리스가 송신하는 신용카드 번호와 주소를 ‘도청’ 당하는 일 없이 밥 서점에 보내고 싶다.
2) 무결성 : 앨리스가 송신하는 신용카드 번호와 주소를 ‘조작’ 당하는 일 없이 밥 서점에 보내고 싶다.
3) 인증 : 통신 상대의 웹 서버가 ‘진짜 밥 서점’ 이라는 것을 확인하고 싶다.
해결책
기밀성 : 대칭암호
대칭키 생성 : 의사 난수 생성기
대칭 암호키 공유 : 공개키 암호, Diffie-Hellman 키 교환
데이터 인증 : 메시지 인증 코드
메시지 인증 코드 생성 : 일방향 해시 함수
상대 인증 : 공개키에 디지털 서명을 붙인 인증서
SSL/TLS 상에 올릴 수 있는 다른 프로토콜
SMTP : 메일 전송
POP3 : 메일 수신
SSL/TLS에서 사용하는 대칭 암호, 공개키 암호, 디지털 서명, 일방향 해시 함수 등은 부품과 같이 교환 가능
암호 기술의 ‘추천 세트’ 가 SSL/TLS로 규정
이 추천 세트를 암호 스위트(ciper suite)
TLS 프로토콜 계층
TLS 레코드 프로토콜
TLS 핸드쉐이크 프로토콜 밑에 위치
대칭 암호를 사용해서 메시지를 암호화하고 통신하는 부분
대칭 암호와 메시지 인증 코드를 이용
알고리즘과 공유키 는 핸드쉐이크 프로토콜을 사용해서 서버와 클라이언트가 상담을 통해 결정됨
TLS 핸드쉐이크 프로토콜
핸드쉐이크 프로토콜
암호 사양 변경 프로토콜
경고 프로토콜
애플리케이션 데이터 프로토콜
핸드 쉐이크 프로토콜
TLS 핸드쉐이크 프로토콜의 일부로 클라이언트와 서버가 암호 통신에 사용할 알고리즘과 공유키를 결정
인증서를 이용한 인증
암호 사양 변경 프로토콜
암호 방법을 변경하는 신호를 통신 상대에게 전달
경고 프로토콜
뭔가 에러가 발생했다는 것을 통신 상대에게 전달
애플리케이션 데이터 프로토콜
TLS 상에 올라 있는 애플리케이션의 데이터를 통신 상대에게 전달