Secure Socket Layer.

Slides:



Advertisements
Similar presentations
1. 브라우저에서 로 관리창으로 접속해서, 서버 인증서를 설치 할 서버를 선택하고 Manage 버튼을 클릭합니다. 2. Security 탭을 선택한 후, 인증서 Trust.
Advertisements

최성락 최인석 나주한. 특징 : 공개키 n, g 를 사용하여 키 분배가 가능. (g 는 Zn 의 primitive element) Discrete logarithm 에 기반. 두 명 이상의 경우에도 적용가능. 키 교환 없이도.
컴퓨터 보안과 암호 17 장 무선 네트워크 보안 (Wireless Network Security) 2013 년 2 학기 대전대학교 최용락
SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.
HTTPS Packet Capture Tutorial
제 14장 SSL/TLS 안전한 통신을 위해.
표준 SSL Server Identification
Chapter 8 네트워크 보안 Computer Networking: A Top Down Approach , 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
Oozie Web API 기능 테스트 이승엽.
제 8장 메시지 인증 코드 메시지가 보낸 그대로 왔는가?.
암호화 기술(SSL, IPSec) 손재성 권기읍 안복선 최준혁
암호화 기술(IPsec,SSL) 배문주 송정미 황유진.
암호화 기술 SSL와 IPSec의 개요 및 동작과정
Network Lab. Young-Chul Hwang
Chapter 3 Symmetric Key Crypto
Chapter 17 전송층 보안: SSL과 TLS
HeartBleed.
PHP입문 Izayoi 김조흔.
Load Balancing L4와 L7은 어떻게 동작할까?.
SSLStrip for Windows
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
웹 애플리케이션 아키텍쳐 웹 클라이언트 서버 요청 응답 전송 애플리케이션 데이터베이스 커넥터 N-계층.
무선 네트워크 해킹과 보안 발표 구조 : 네트워크 기초 -> 무선 기초 -> 보안 기초 -> 해킹 시연 -> 방지 방법 김태욱.
교과목 소개 정보보호.
SSL 보안 WEB Security.
암호학 응용 Applied cryptography
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
SSL (Secure Sockets Layers Protocol)
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
File Depender 중간 발표.
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)
OMA DRM 2.0을 적용한 경량화된 DRM 서비스 구현
암호화 및 인증.
Trivial File Transfer Protocol (TFTP)
웹어플리케이션보안 암호프로그래밍, crypto-js
자바스크립트 암호 프로그래밍 Javascript Cryptography Programming
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
21 장 전송층(Transport Layer)
Nessus 4 설치 정보보호응용 조용준.
Internet 데이터 전송 목표: 인터넷의 개요 및 기본 내용을 살펴보고 VB에서의 데이터 전송 프로그래밍에 대하여 학습한다. 주요내용 인터넷의 개요 인터넷 데이터 전송 인터넷 프로그래밍 Winsock Client Server 프로그래밍.
Use of a Broken or Risky Cryptographic Algorithm
CGI란 무엇인가? CGI(Common Gateway Interface)의 정의
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
KERBEROS.
Packet sniffing 응용 레벨이 아닌 네트워크 디바이스 레벨에서의 데이타을 얻는 것 네트워크 상의 트래픽을 분석
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
Chapter 26 IP over ATM.
웹(WWW).
제 19 장 TCP 대화식 데이터 흐름.
Web Storage 인공지능 연구실.
웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security.
Introduction to JSP & Servlet
암호학 응용 Applied cryptography
JSP Programming with a Workbook
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
컬럼 대칭키 암호화 작업(SQL 2008) ① 마스터 키 생성 ② 인증서 생성 초기 한번만 실행 ③ 대칭키 생성
(c) Byoungcheon Lee, Joongbu Univ.
Network Lab. Young-Chul Hwang
암호 시스템 (Crypto system) 신효철
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
Presentation transcript:

Secure Socket Layer

Socket layer “Socket layer”: 응용 계층과 수송 계층의 사이에 위치 SSL은 HTTP (application)와 TCP (transport) 사이에서 동작한다. application transport network link physical User Socket “layer” OS NIC

SSL: Secure Sockets Layer 널리 사용되는 보안 프로토콜 거의 모든 브라우저와 웹 서버에 서 지원한다. https 원래 Netscape에서 1993년 개발 IETF 표준 프로토콜: TLS(transport layer security): RFC 2246 SSL v3.0의 약간의 변형 보안 기능 기밀성(Confidentiality) 무결성(Integrity) 인증(Authentication) 원래의 목표: 웹 상에서 전자상거래에 적용 암호화 (특별히 신용카드 번호) 웹 서버의 인증 클라이언트 인증(선택) 모든 TCP 응용에서 사용 가능 Secure socket interface

웹상에서 상거래에서 요구사항 만약 Alice가 BBB라는 온라인 책방에서 책을 구입할 때, Alice가 거래하는 서점이 정말 BBB가 맞는지 확인할 수 있어야 한다. Alice가 책값을 지불했을 때 BBB를 사칭하는 다른 사람이 받는 것은 아닐까? BBB는 책을 사는 사람이 진짜 Alice인지 확인할 필요가 있는가?

SSL의 절차 Handshake: client는 server를 인증하고 key를 계산하는데 필요한 값들을 교환한다. Key 계산: client는 server는 비밀값을 사용하여 키를 계산한다. 데이터 전송: 데이터는 레코드로 쪼개서 MAC을 첨부하고 암호화하여 전송한다. 연결 종료: Special messages to securely close connection

SSL: Handshake (1) 목적 서버 인증 crypto algorithms의 협상 키 설정 클라이언트 인증(선택 사항)

단순화 된 SSL Protocol Can we talk?, cipher list, RA Certificate, cipher, RB {S}Bob, E(h(msgs,CLNT,K),K) h(msgs,SRVR,K) Data protected with key K Bob Alice S is pre-master secret K = S,RA,RB 으로부터 만들어진 암호화 키 msgs = all previous messages CLNT and SRVR are constants

SSL: Handshake (2) C -> S: crypto algorithms의 종류, client nonce (Rc) S -> C: 선택한 알고리즘 + 인증서 + server nonce (Rs) C: 인증서(certificate)를 검증, server의 공개키를 추출, pre_master_secret을 생성하여 server의 공개키로 암호화하여 server에 보낸다. C와 S: 각자 pre_master_secret과 nonces를 사용하여 암호화와 MAC key를 계산한다. C: 모든 handshake 메시지에 MAC를 첨부하여 보낸다. S: 모든 handshake 메시지에 MAC를 첨부하여 보낸다.

crypto algorithms의 협상 Cipher list 암호 알고리즘 MAC 알고리즘 RC4, RC2, DES, 3DES, DES40, IDEA MAC 알고리즘 MD5, SHA-1 암호 알고리즘 유형 (stream or block) 해쉬 크기 MD5 : 0 or 16 바이트, SHA-1: 20 바이트 IV 크기 CBC 암호화를 위한 IV 크기

SSL: Handshaking (3) 단계 5와 6은 협상 과정에서 중간자 공격을 막기 위해 수행한다. Client의 crypto algorithm 중에는 강한 알고리즘과 약한 알고리즘이 있다. 중간자 공격(Man-in-the middle)으로 알고리즘 명단에서 강한 알고리즘을 삭제할 수 있다. 단계 5와 6의 메시지는 암호화된다.

SSL: Handshaking (4) Bob(온라인 서점)은 Alice가 같은 주문을 다시 하는 것으로 생각한다. Client와 sever의 random nonce를 사용하는 이유는? 만약 Trudy가 Alice와 Bob 사이에 교환되는 모든 메시지를 복사했다고 하자. 다음날, Trudy는 Bob과 TCP 연결을 설정하고 전날 Alice가 보냈던 똑같은 메시지를 순서대로 보낸다. Bob(온라인 서점)은 Alice가 같은 주문을 다시 하는 것으로 생각한다. 해결책: Bob은 연결할 때 마다 새로운 random nonce를 보낸다. 따라서 오늘의 키는 어제의 키와 다르게 된다. 따라서 Trudy의 메시지는 Bob의 MAC 검증에서 실패하게 된다.

Key 계산 한 개의 키로 모든 암호화를 하는 것은 나쁜 방법이다. 4개의 키와 2 IVs: MAC에서 사용하는 키와 암호화 키는 다른 것을 사용한다. 4개의 키와 2 IVs: Kc = client의 암호화 키(대칭키) Mc = client의 MAC key(비밀값) Ks = server의 암호화 키(대칭키) Ms = server의 MAC key(비밀값) 2 IVs = client 와 server가 사용할 IV값 Key들은 다음의 값을 사용하여 해쉬 함수의 출력값을 짤라서 사용한다. Client의 nonce(RA), sever의 nonce(RB), master secret(S)

SSL 인증 Alice는 Bob을 인증하지만 Bob은 Alice을 인증하지 못한다. 어떻게 client는 server를 인증하는가? 왜 server는 client를 인증하지 않는가? 원하면, 상호 인증도 가능하다: Bob은 메시지 2에 client의 인증서를 요청할 수 있다. 이것은 client가 인증서를 가질 것을 요구한다. 대신 server는 client의 (암호화된) 암호를 요구할 수 있다.