reference:
컴퓨터 네트워킹 3판
제 10 행성은 나의 인생 - SSL Protocol 개념과 동작 원리

정의
웹 클라이언트와 웹 서버간 통신에 있어 데이터 암호와 인증을 제공하기 위해 넷스케이프가 개발한 보안 프로토콜

등장배경
1. 확대되어가는 인터넷 전자상거래 등의 비즈니스 및 금융 트랜젝션
2. 광범위한 웹 환경의 보급


주요특징
1. SSL 서버 인증 : 사용자가 서버의 신원을 확인하도록.
2. SSL 클라이언트 인증 : 서버가 사용자의 신원을 확인하도록.
3. 암호화된 SSL 세션 : 브라우저와 서버 간에 전달되는 모든 정보는 송신 소프트웨어가 암호화하고 수신 소프트웨어가 복호화함(메시지 무결성, 기밀성 확인).
5. 전송 계층 보안(TLS : Transport Layer Security)의 기본이 됨.

SSL 프로토콜의 구조

Handshake Protocol

Change Cipher Sec.

Alert Protocol

HTTP

Record Protocol

TCP

IP

Handshake Protocol    :
- Record Protocol 동작을 위한 대칭키 암호화 알고리즘
                                        - 인증 수행(서버, 클라이언트, 상호 인증 포함)
                                        - 공개키 방식을 이용한 세션키 생성
Change Cipher Spec.  : 설정된 세션 정보의 연결정보를 사용함을 통보.
Alert Protocol            : 암호, 압축, MAC 오류, 인증서 실패 등 메시지 전송
Record Protocol         : - 전송되는 메시지의 기밀성, 무결성 제공
                                        - TCP 상위에서 메시지 압축, 암호화, 인증 수행

동작원리

- SSL은 OSI 7의 5계층인 Session 계층과 4계층인 Transport 계층 사이에 위치하며 Handshake 단계를 통해 시작한다.

사용자 삽입 이미지

1.(핸드 셰이킹 시작) 브라우저는 Secure Socket을 웹 서버에게 요구(브라우저의 SSL 버전 번호와 암호 선호 사항을 함께 보냄)
2. 서버는 서버의 SSL 버전 번호와 암호 선호 사항, 그리고 자신의 인증서를 브라우저에게 보냄. 인증서에는 자신의 RSA 공개키가 포함되어 있음.
3. 브라우저는 인증기관을 통해 수신한 인증서를 검증. 서버의 신원 확인 실패 시 연결 종료(사용자에게 문제를 아림). 성공 시에는 대칭 세션키를 만들어 서버의 공개키(SSL Public Key)로 암호화한 후 서버에 전달. 이후 전달될 메시지는 모두 암호화될 것임을 서버에게 알림(핸드 쉐이크 브라우저 부분 종료)
4. 서버는 서버가 보낼 메시지가 세션키로 암호화될 것이라는 것을 알리는 메시지를 브라우저에게 전달(서버측 핸드 쉐이크 종료)
5. SSL 세션 시작. 서버와 브라우저는 서로에게 보낸 데이터를 암호화, 복호화하고 무결성을 입증하기 위해 세션키를 사용.

기타특징
1.
대칭키 암호화 기법으로 DES, 3DES, RC2, RC4등이 있고 40비트부터 168비트까지 사용된다.
2. 메시지 무결성을 위한 Hash 알고리즘으로는 MD5나 SHA1.등이 주로 사용된다.
3. 키 교환 암호화 알고리즘 : RSA, Diffie-Hellman, DSA 등
3
. 웹 기반 통신시 프로토콜은 대부분 HTTP가 아닌 HTTPS(HTTP over Secure layer)로서 80포트가 아닌 430 포트를 사용.
4. 인터넷 상거래에서 광범위하게 사용되고 대부분의 유명 브라우저와 웹 서버에 구현되어 있
음.

5. VPN 영역에서의 경우, IPSec VPN을 대체할 수 있는 기술로 SSL VPN이 각광받고 있다.


'digging IT 인프라 > 보안' 카테고리의 다른 글

SQL Injection  (0) 2007.10.10
XSS : cross Site Scripting  (2) 2007.10.10
OTP(One Time Password)  (2) 2007.10.05
IPSec : IP Security  (2) 2007.08.21
SSL : Secure Sockets Layer  (2) 2007.08.21
UTM(S) : United Threat Management System  (0) 2007.08.19
Posted by 어쨌건간에

댓글을 달아 주세요

  1. 성재경 기술사 2007.09.14 10:13  댓글주소  수정/삭제  댓글쓰기

    세션을 맺는 그림이 너무 러프하고 기술적이지 않습니다.

    다시 정리하시기 바랍니다. SSL의 핵심은 세션키교환 매커니즘입니다.

    • BlogIcon 어쨌건간에 2007.09.14 16:42  댓글주소  수정/삭제

      최대한 단순, 추상화된 그림만 찾다보니까 지나칠 경우도 생기는군요. 교과서에 나온 그림이라 이정도면 되겠다 싶었는데 그게 아닌가 봅니다.

      세션키 교환 메커니즘.. 다시 찾아 정리해보겠습니다.