표준 SSL Server Identification

Slides:



Advertisements
Similar presentations
컴퓨터 보안과 암호 17 장 무선 네트워크 보안 (Wireless Network Security) 2013 년 2 학기 대전대학교 최용락
Advertisements

SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.
HTTPS Packet Capture Tutorial
제 14장 SSL/TLS 안전한 통신을 위해.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
암호화 기술(IPsec,SSL) 배문주 송정미 황유진.
Ch.07-5 xml-rpc 사용하기 김상엽.
암호화 기술 SSL와 IPSec의 개요 및 동작과정
Network Lab. Young-Chul Hwang
Department of Computer Science and Engineering
KERBEROS 박재홍.
Chapter 17 전송층 보안: SSL과 TLS
Secure Socket Layer.
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
PHP입문 Izayoi 김조흔.
Load Balancing L4와 L7은 어떻게 동작할까?.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
SSL 보안 WEB Security.
SSL (Secure Sockets Layers Protocol)
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
8장. 원격지 시스템 관리하기.
15장 X.25 패킷 교환망 15.1 X.25 계층 15.2 X.25와 관련된 기타 프로토콜 15.3 요약.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
Chapter 21 Network Layer: ARP, ICMP (IGMP).
소리가 작으면 이어폰 사용 권장!.
암호화 기술 [IPsec, SSL] 김동수 제수환.
제 19 장 TFTP 19.1 메시지 19.2 연결 19.3 데이터 전송 19.4 UTP 포트 19.5 TFTP 예제
안전한 통신 JSSE (Java Secure Sockets Extension)
10 장 데이터 링크 제어(Data Link Control)
OMA DRM 2.0을 적용한 경량화된 DRM 서비스 구현
암호화 및 인증.
Trivial File Transfer Protocol (TFTP)
Network Security WireShark를 활용한 프로토콜 분석 I.
자바스크립트 암호 프로그래밍 Javascript Cryptography Programming
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Wi-Fi 취약점 분석 본 프로젝트는 Wi-Fi 환경에서의 취약점 분석을 위한 프로젝트로 다양한 공격방법을 테스트
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
21 장 전송층(Transport Layer)
Nessus 4 설치 정보보호응용 조용준.
Chapter 01. OSI 계층 모델.
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
12장 쿠키와 세션 이장에서 배울 내용 : 쿠키와 세션은 웹 페이지 간에 정보를 유지할 때 사용된다. 쿠키와 세션은 사용되는 형태가 비슷하나, 쿠키는 웹 브라우저(클라이언트) 쪽에 저장되고, 세션은 웹 서버 쪽에 저장된다. 이 번장에서는 이들에 대해 학습한다.
10 장 데이터 링크 제어(Data Link Control)
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
6.2.3 OSI 계층화의 개념 학습내용 (N) 접속(connection) 데이터단위(Data Unit)
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
웹(WWW).
Ping Test.
Web Storage 인공지능 연구실.
암호학 응용 Applied cryptography
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
모바일(폰)메일 서비스 정흠수 최동훈.
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
한국의 인터넷 뱅킹 보안에 대하여 Oxford University Computing Laboratory
(Artificial Intelligence, BabyBoom, Contract, BlockChain…)
소리가 작으면 이어폰 사용 권장!.
Network Lab. Young-Chul Hwang
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

표준 SSL Server Identification 2012.4.26 유창훈

Table of Contents SSL Server Identification 프로토콜 설명 및 구조 SSL handshake

1. SSL Server Identification Site는 Site의 공개키와 Site정보를 인증기관에 제출 인증기관은 검증을 거친 후 인증기관의 개인키로 인증서에 서명 인증기관은 Site로 인증서 발급 사용자의 웹 브라우저에는 인증기관의 인증서(공개키)가 내장. 사용자가 site에 접속요청 Site는 발급받은 인증서를 사용자에게 전달 사용자는 내장된 인증기관의 공개키로 Site 인증서 검증 사용자는 Site 정보와 Site 공개키 획득 획득한 Site 공개키로 대칭키를 암호화 하여 Site로 전송 Site는 개인키로 해독하여 대칭키 획득 안전하게 전달 된 대칭키를 이용하여 암호문을 주고 받음

2. 프로토콜 설명 SSL(Secure Socket Layer)은 넷스케이프사에서 전자상거래 등의 보안을 위해 개발됨. 이후TLS(Transport Layer Security)라는 이름으로 표준화됨. HTTP 뿐만 아니라 FTP, SMTP등 응용계층(Application Layer) 프로토콜의 종류에 상관없이 사용할 수 있는 장점. 일반적으로는 웹 트래픽 보안을 위해서 사용. Authentication, Encryption, Integrity를 보장.

2. 프로토콜 설명 프로토콜 스택 구조 SSL 의 목표는 신뢰할 수 있는 종단-대-종단 의 연결 및 전송을 보장하는 것이다. 따라서 TCP 를 사용하도록 설계되었다. SSL 은 위 그림과 같이 TCP 위에 두 계층의 프로토콜들로 이루어졌다. SSL Record Protocol 이 실제 데이터 처리를 담당하며 그 위에 이를 이용하는 상위 프로토콜들이 존재하는 방식이다.

2. 프로토콜 설명 SSL Record Protocol SSL 레코드 프로토콜은 상호 송수신을 위한 암호화 스펙이 SSL 핸드쉐이크 프로토콜에 의해 공유된 후 이러한 스펙에 따라 실제로 전송하는 데이터를 TCP 패킷으로 변환하기 위한 기능을 수행한다. SSL 레코드 프로토콜은 이를 위해 먼저 전송하는 메시지를 일정한 단위의 조각으로 분리하는 Fragmentation, 레코드 압축과 해제, 메시지 인증 및 암호화, 복호화 기능을 수행한다. SSL 레코드 프로토콜은 각 메시지에 대해 다음과 같은 절차를 통해서 전송을 수행한다. 먼저 전송할 메시지를 일정한 크기의 레코드 프로토콜 유닛(Record Protocol Unit)으로 분해하고, 각 유닛을 SSL 핸드쉐이크 프로토콜로 사전에 협의한 규칙에 맞게 압축한다. 다음으로 압축된 유닛마다 해시를 이용한 MAC을 생성한 후 이것을 포함하여 암호화한 후 전송한다.  이 과정에서 사전에 클라이언트와 서버 간에 협의한 스펙에 따라 암호화, MAC 생성, 압축 방식 등을 수행하므로, 메시지를 수신한 측에서도 정상적으로 해독할 수 있다.

2. 프로토콜 설명 SSL Record Protocol – 메시지 포멧

2. 프로토콜 설명 Record 프로토콜 Handshake 프로토콜 Change Cipher Spec 프로토콜 상위계층 메시지들이 보안성이 유지되며 전송될 수 있도록 하기 위하여, 메시지 분할, 압축, 메시지 인증, 암호화 등의 작업을 수행 Handshake 프로토콜 서버와 클라이언트간의 상호인증을 수행하고, 사용할 키 교환 방식, 대칭키 암호 방식, HMAC 방식, 압축방식 등의 보안속성을 협상 Change Cipher Spec 프로토콜 Handshake 프로토콜에 의해 협상된 압축, MAC, 암호화 방식 등이 이후부터 적용됨을 상대방에게 알림 Alert 프로토콜 세션의 종료 또는 오류 발생시 이를 상대방에게 알림 Application Protocol 다양한 상위계층에 보안서비스를 제공. HTTP, FTP 등. ① Record Protocol  데이터를 암호화하고 압축하여 안전하게 전송하는 프로토콜이다. SSL 의 실제 데이터를 다루며, Data 를 단편화하거나 압축하거나 MAC 을 적용하고 암호화하여 이를 TCP 에 전달하는 역할을 한다. ② Handshake Protocol  SSL 세션 연결을 수립하는 역할을 한다. 클라이언트와 서버 간의 안전한 연결 수립을 위해서 클라이언트와 서버 간의 상호 인증을 수행하고 암호 메커니즘 등의 정보를 교환한다. ③ Change Cipher Spec Protocol  한 바이트짜리 메시지로서 약속한 암호화 알고리즘 및 키를 적용하여 전송한다. ④ Alert Protocol  2바이트로 구성되며, 첫번째 바이트에는 warning(1), fatal(2) 이 표현되고 두번째 바이트에는 세부적인 에러코드를 표현한다. 즉, Handshake, Change Cipher Spec, Record Protocol 수행 중 발생하는 오류메시지를 표현한다. ⑤ Application Protocol  SSL 레코드 프로토콜은 다양한 상위계층에 보안 서비스 제공한다. 따라서 위 그림에서는 SSL 위에서 작동하는 프로토콜로서 HTTP 가 나와있지만, HTTP 이외의 다른 프로토콜들(ftp) 에도 적용 가능하다.

2. 프로토콜 설명 인캡슐레이션 ex) SSL Record Protocol – HandShake

3. SSL handshake 1 2 3 4 5 6 7 8 9 ClientHello ServerHello 클 서 ClientKeyExchange 6 7 4 ServerHelloDone 9 Finished 2 ServerHello 3 Certificate or ServerKeyExchange ChangeCipherSpec 8 클 라 이 언 트 서 버 ChangeCipherSpec Finished

3. SSL handshake Client Hello SSL버전, 난수, 클라이언트가 지원하는 Cipher Suit 리스트 및 압축방법 리스트 정보전송 cipher_suites : SSL_키교환알고리즘_WITH_암호알고리즘_해쉬알고리즘 예) SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA, SSL_RSA_EXPROT_WITH_RC4_40_MD5(Steam Cipher), SSL_RSA_WITH_RC4_A28_MD5, SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_EXPROT_WITH_RC2_CBC_40_MD5(Block Cipher), SSL_RSA_WITH_IDEA_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_RSA_WITH_3DES_EDE_EBC_SHA 등

3. SSL handshake

3. SSL handshake 1 2 3 4 5 6 7 8 9 ClientHello ServerHello 클 서 ClientKeyExchange 6 7 4 ServerHelloDone 9 Finished 2 ServerHello 3 Certificate or ServerKeyExchange ChangeCipherSpec 8 클 라 이 언 트 서 버 ChangeCipherSpec Finished

3. SSL handshake Server Hello ClientHello메세지에 대한 응답 서버 버전, 난수, 서버에서 선택한 cipher_suit 등을 셋팅하여 알려줌.

3. SSL handshake 1 2 3 4 5 6 7 8 9 ClientHello ServerHello 클 서 ClientKeyExchange 6 7 4 ServerHelloDone 9 Finished 2 ServerHello 3 Certificate or ServerKeyExchange ChangeCipherSpec 8 클 라 이 언 트 서 버 ChangeCipherSpec Finished

3. SSL handshake Certificate ServerKey Exchange ServerHelloDone 서버의 인증서가 포함됨. 서버의 인증서와 인증서를 발급한 CA 인증서가 순서대로 위치 ServerKey Exchange 서버인증을 위한 자신의 공개키 인증서를 가지고 있지 않은경우 클라이언트에게 pre-master secret을 공유하는데 필요한 서버의 공개키를 알려주기 위해 전송됨. ServerHelloDone 서버에서 보낼 메시지를 모두 보냈음을 의미

3. SSL handshake

3. SSL handshake 1 2 3 4 5 6 7 8 9 ClientHello ServerHello 클 서 ClientKeyExchange 6 7 4 ServerHelloDone 9 Finished 2 ServerHello 3 Certificate or ServerKeyExchange ChangeCipherSpec 8 클 라 이 언 트 서 버 ChangeCipherSpec Finished

3. SSL handshake Client Key Exchange Change Cipher Spec Finished 세션키를 생성하는 비밀정보(pre-master secret)를 암호화 하여 서버에 전송. 이를 기반으로 master_secret 과 키블록을 md5, sha1 함수를 통해 생성. 생성된 키 블록이 세션키로 사용. Change Cipher Spec 클라이언트는 마지막으로 Change Cipher Specs 메시지를 서버에 전송하여 이후에 전송되는 모든 메시지는 협상된 알고리즘과 키를 이용할 것임을 알림. Finished 협상된 알고리즘 및 키가 처음으로 적용된 메시지 발송.

3. SSL handshake 랜덤값을 서버의 공개키로 암호화 하여 전달하고 서버는 수신한 값을 복호화 해서 pre_master secret값으로 사용한다.

3. SSL handshake 1 2 3 4 5 6 7 8 9 ClientHello ServerHello 클 서 ClientKeyExchange 6 7 4 ServerHelloDone 9 Finished 2 ServerHello 3 Certificate or ServerKeyExchange ChangeCipherSpec 8 클 라 이 언 트 서 버 ChangeCipherSpec Finished

3. SSL handshake Change Ciper Spec Finished 클라이언트는 마지막으로 Change Cipher Specs 메시지를 서버에 전송하여 이후에 전송되는 모든 메시지는 협상된 알고리즘과 키를 이용할 것임을 알림. Finished 협상된 알고리즘 및 키가 처음으로 적용된 메시지 발송.

3. SSL handshake