1. SSL(Secure Socket Layer) 개요
1-1. SSL의 정의
- 웹 브라우저와 웹 서버간에 데이터를 안전하게 주고 받기 위하여 전자상거래 등의 보안을 위해 개발된 인증서 기반 암호화 통신 프로토콜
- TLS(Transport Layer Security)로 표준화 되었으며, 기본적으로 인증, 암호화, 무결성을 보장
1-2. SSL의 특징
| 구분 | 설명 |
| 공개키 기반 인증방식 | RSA 방식과 X.509 v3 인증서 사용 |
| 3가지 인증 모드 지원 | 익명 인증 모드(Anonymous Authentication), 서버 인증 모드(Server Authentication), 클라이언트-서버인증 모드(Mutual Authentication) |
| 연결주소 | https://로 시작되는 연결주소 |
| 지정포트 | 443번 포트, OSI 7 Layer에서 전송 -> 응용계층에서 동작 |
| 보안서비스 제공 | 비밀성, 무결성, 인증 및 효율성을 위한 데이터 압축 기능 제공 |
| 다양한 알고리즘 지원 | 여러 알고리즘을 지원하고, 실행과정에서 선택 사용 가능 |
| 핸드쉐이크를 통한 통신 | 클라이언트와 서버간 핸드쉐이크 프로토콜을 통한 인증 절차 진행 |
2. SSL의 구조 및 동작 원리
2-1. SSL의 구조
| 구분 | 구성요소 | 내용 |
| 동작 원리 | SSL Handshake Protocol | - 서버와 클라이언트간 상호 인증 수행 - 세션 키, 암호 알고리즘, 인증서 등 파라미터 협상 - Secret Key 암호 알고리즘 종류 및 키 설정 담당, 세션 정보 공유 |
| SSL Change Cipher Spec | - Handshake 프로토콜에 의해 협상된 암호화 방식이 이후부터 적용됨을 상대에게 알림 - SSL이 주고 받는 메시지 구체 내용(알고리즘과 키 관련) |
|
| SSL Alert Protocol | 암호 오류, 압축 오류, 메시지 인증 오류, 인증 실패 등의 에러 발생을 수신자에게 알림 | |
| 보안 서비시 | SSL Record Protocol | - 전송되는 메시지의 기밀성과 무결성 보장 - 단편화, 암호화, MAC(해시 함수 유형), 압축 - 사용되는 알고리즘 - 비대칭 알고리즘 -> RSA 대칭 알고리즘: DES, RC2, - Hash 알고리즘: MD5, SHA-1 |
2-2. SSL 동작 원리
- 전자 서명을 위한 RSA/디피헬만, Hash(HMAC) 함수 사용, 대칭키 AES 암호화 알고리즘 사용
(1) 웹브라우저: https://를 사용하여 암호화된 페이지를 요청함 - 통신 시작 알림
(2) 웹서버: 응답으로 공개키를 인증서(Certificates)와 함께 전송 - 인증서 전달 / 공개키 전송
(3) 웹브라우저: 인증서 판단(Verisign 등의 CA의 인증서 유효한지 판단-날짜, 서명 등)
(4) 웹브라우저: 공개키를 사용하여 데이터 암호화 전송(랜덤 대칭키 전송) - 암호화 전송
(5) 웹서버: 비밀키를 사용하여 데이터 복호화(랜덤 대칭키도 복호화) - 세션키 생성
(6) 웹서버: 대칭키(세션키)로 응답 내용을 전송 - 암호화된 보안 페이지 / 문서 전송
(7) 웹브라우저: 대칭키로 html 복호화 화면 출력
'넓고 얕은 IT 이야기' 카테고리의 다른 글
| 야나두의 유쾌한 골짜기(AI 생성 콘텐츠) (3) | 2025.08.10 |
|---|---|
| 발라지 스리니바산 - AI는 일신교가 아닌 다신교입니다 (2) | 2025.08.03 |
| 팔란티어 온톨로지와 객체지향 프로그래밍 (5) | 2025.07.26 |
| V2X(Vehicle to Everything) (0) | 2024.02.17 |
| Edge Computing과 Fog Computing (0) | 2024.02.17 |