Presentation is loading. Please wait.

Presentation is loading. Please wait.

SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.

Similar presentations


Presentation on theme: "SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private."— Presentation transcript:

1 SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수

2 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private Network) 에 적합 Transport IP Sec Application Physical

3 웹 보안 구현방법  트랜스포트계층에서의 구현방법  특징  Transport 계층 위에 SSL 에 의한 구현  응용계층의 모든 응용서비스에 보안성 제공  종단간 (End-to-End) 보안성 제공  잘 정의된 보안 프로토콜  부인방지 기능이 없음 ( 전자서명 서비스를 제공 못함 ) Transport Network Application Physical SSL

4 웹 보안 구현방법  응용계층에서의 구현방법 : SET, PGP, S/MIME  특징  응용계층의 응용서비스 프로토콜 내에서 보안성 구현  특정 응용서비스에 한정된 보안 요구사항을 수용  부인방지 기능 등 다양한 보안 서비스 제공 ( 전자서명 서비스 제공 ) Transport Network Application Physical SET PGP S/MIME

5 Secure Socket Layer  SSL 개요  특징  Secure Socket Layer : de facto Standard ( 산업계 표준 )  2 개의 Layer 로 구성  1994 년 Netscape 사가 웹 보안 프로토콜로 제안  현재 SSL 버전 3 이 발표  1999 년 IETF 에서 TLS Working Group 에서 TLS 로 발표  응용계층과 TCP 계층사이에 위치 SSL Lower layer SSL Higher Layer TCP HTTP

6 Secure Socket Layer  SSL 기능  특징  클라이언트 및 서버간 안전한 채널 (Secure Channel) 형성  종단간 (End-to-End) 보안 서비스 제공  클라이언트 및 서버 인증 (Authentication) : we know who each other are  공개키 알고리즘 (RSA, DSS, Diffie-Hellman)  X. 509 공개키 인증서  기밀성 제공 : only you and I can see it  Handshake Protocol 에 의한 비밀키 ( 세션키 ) 공유  DES, RC2, RC4, 3-DES 등  무결성 제공 : no one else can change it  Hashed MAC(Message Authentication Code)  SHA-1(160 비트 ), MD5(128 비트 )

7 Secure Socket Layer  SSL 구조  SSL Higher Layer( 제어 프로토콜 )  Handshake Protocol  Change Cipher Spec Protocol  Alert Protocol  SSL Lower Layer( 레코드 프로토콜 )  Record Protocol Record Layer TCP HTTP Handshake Protocol Change Cipher Spec Alert protocol

8 Secure Socket Layer  SSL Handshake Protocol  특징  클라이언트 및 서버간 데이터를 통신하기 위한 Session 설정  클라이언트 및 서버간 Session 설정을 위하여 많은 메시지를 주고 받음  클라이언트와 서버 서로의 인증 (Authentication) 과정  Record Protocol 에 선행하여 수행  클라이언트와 서버 간 암호화 통신을 위한 파라메터 생성  Protocol Version (SSL)  Session ID  암호화 알고리즘, 해쉬 알고리즘  상호인증 (Option, X.509)  공개키 암호알고리즘에 의한 pre-master-secret 공유

9 SSL 처리절차  SSL Handshake Protocol Server Hello Server Certificate Server Key Exchange Client Certificate Request Client Hello 4 Client Certificate Client Key Exchange 4 Certificate Verify Change Cipher Spec Server 준비 완료 상태를 알림 Server 의 Certificate 를 전송함 Session Key 를 위한 Premaster 값을 암호 할 때 이용될 키교환용 Public Key 전송 Client 의 Certificate 를 요청함. Server 의 전송 작업 완료를 알림 Session Key 를 위한 Premaster 값을 Server 의 키교환용 Public Key 로 암호화하여 전송함. 4 Client 의 Certificate 를 전송함. 4 Client Certificate 유효성 검증 Data 암호화에 사용될 알고리즘 정보 전달 Data 암호화에 사용될 알고리즘 정보 전달 Change Cipher Spec Application DATA Application Data 를 암호화 하여 전송함. Server 전송 전송 내용 설명 4 부분이 사용자 인증을 위해 사용됨 Client 전송 Connection 설정 요청을 알림 Server authenticate Client authenticate Server Hello done

10 Full Handshake

11 Resume Session

12 Secure Socket Layer  SSL Change Cipher Spec Protocol  특징  Record Layer 에서 데이터 암호화 때 클라이언트와 서버간 서로 약속한 암호화 알고리즘 (Encryption) 으로 암호화 한다는 것을 상대방에게 통보  Change Cipher Spec 메시지를 받으면 자신의 pending read state 를 Active read state 로 바꿈 (Cipher Spec 변경함 ) DES Write Act nullEnc Read Pnd Act Pnd Mac Key null MD5 XXX DES MD5 XXX Write Act Enc Read Pnd Act Pnd Mac Key null DES MD5 XXX DES MD5 XXX null

13 Secure Socket Layer  SSL Alert Protocol  특징  클라이언트와 서버간 보안상 문제발생시 Error Message 전달  Level 에는 “fatal” 과 “warning” 이 있음  클라이언트와 서버는 fatal level 의 alert 을 받으면 즉시 Connection 중단되고 Session ID 도 무효 LevelDescription 1 byte level description w F... 0 close-notify 10 Unexpected_message 20 Bad_record_mac 30 Decompression_failure …

14 Secure Socket Layer  SSL Record Protocol  특징  클라이언트와 서버 사이에 데이터 ( 블록 단위 ) 를 주고 받는 역할  한번에 주고 받을 수 있는 최대 블록 크기는 2 (16,384 바이트 )  기능  합의된 MAC(Message Authentication Code) 를 이용한 무결성 제공  Handshake 과정에서 합의된 암호 알고리즘과 암호 키를 이용한 암호화 기능으로 기밀성 (Confidentiality) 제공  합의된 압축알고리즘을 이용한 메시지 압축 (Compression) 기능 제공 14

15 Secure Socket Layer  SSL Record Protocol Ciphertext decompressio n Compression Encryption MAC Verification Security Parameters Handshake Change Cipher Spec App. Data Alert SSL Plaintext Handshake Change Cipher Spec App. Data Alert Reassembly MAC Calculation MAC Compressed Fragment … Ciphertext Fragment SSL Header Ciphertext Header 제거 MAC Compressed Decryption Compressed Fragment … SSL Plaintext

16 Fragmentation

17 TLS  TLS 란 ?  SSL 3.0 을 표준화하기 위해 제안  IETF TLS WG 에서 표준화  V1.0 이 발표  SSL 3.0 과 차이점  Fortezza 알고리즘이 삭제  RSA 알고리즘을 선택적으로 사용 ( 특허문제 )  DSS 와 D-H 를 반드시 등재  HMAC 이용  HMAC_MD5, HMAC_SHA-1  Master_secret 의 계산식이 틀려짐  PRF (pseudo-random function)

18 WTLS  WTLS 란 ?  WAP (Wireless Application Protocol) 에서 사용되는 TLS  TLS 와의 차이점  키 교환 프로토콜로 ECC 추가  Record 단계에서 Fragmentation 및 Compression 을 하지 않음  여러 가지 인증서 패턴 사용  X.509 Cert, WTLS Cert, X968 Cert  랜덤 수 크기의 차이  Pre_master_secret 와 Master_secret 는 20 byte  Server, Client random 는 16 byte  Key_block 의 계산식이 틀려짐

19 SSL 에서 사용하는 포트 키워드포트번호설명 https443/tcp SSL 기반의 HTTP 를 위한 포트 ssmtp465/tcp SSL 기반의 SMTP 를 위한 포트 snews563/tcp SSL 기반의 NEWS 를 위한 포트 ssl-ldap636/tcp SSL 기반의 LDAP 를 위한 포트 spop3995/tcp SSL 기반의 POP3 을 위한 포트

20 SSL 구현 라이브러리  SSLeay  호주의 Eric A. Young, Tim J. Hudson 개발  현재 RSA 사에서 연구 개발  RSA BSAFE SSL-C  http://www.ssleay.org/  OpenSSL  1998 년 12 월부터 공개됨  SSLeay library 에 기초함  SSL v2/v3, TLS v1  http://www.openssl.org/


Download ppt "SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private."

Similar presentations


Ads by Google