Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증

Slides:



Advertisements
Similar presentations
기술분야에너지 관리 연구과제명 Advanced Energy Mgmt. Algorithm 개발 필요성신재생 발전기기, 에너지 저장장치, 에너지 소비장치가 공존하는 Smart Grid Home 환경에서 사용자의 불편을 최소화하면서 효율적으로 에너지를 절감할 수 있는 새로운.
Advertisements

SSL (Secure Socket Layer) 중부대학교 정보보호학과 이병천 교수. 웹 보안 구현방법  네트워크 계층에서의 구현방법  특징  IP 계층에 보안 기능을 둠  IP Sec  응용계층의 모든 응용서비스에 보안성 제공  VPN(Virtual Private.
Chapter 8 현대 대칭키 암호를 이용한 암호화 기법
8 스니핑.
표준 SSL Server Identification
WAP 보안 솔루션 분석 류재철 충남대학교 정보통신공학부.
Building Enterprise VPNs
Chapter 12 Insecurity on Software
10. 전자상거래 보안 e-commerce security
Internet Protocol Version4
Cryptography and Network Security
암호화 기술(SSL, IPSec) 손재성 권기읍 안복선 최준혁
암호화 기술(IPsec,SSL) 배문주 송정미 황유진.
정보보안 경일대학교 컴퓨터공학과 김 현성.
Security.
IPsec 석진선.
(c) Byoungcheon Lee, Joongbu Univ.
효과적인 DB암호화 구축을 위한 애슬론 v1.5 제안
10장. 웹 서비스 공격 (Attacking Web Service)
Chapter 17 전송층 보안: SSL과 TLS
Secure Socket Layer.
제 1장 인터네트워킹.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
공개키 기반구조 (Public Key Infrastructure)
Chapter 3. Architecture AI & HCI Lab 김 주 영.
Chap 3. 관용 암호 방식을 이용한 기밀성.
제 4장 블록 암호 모드.
Internet 및 EC 관련 기술들.
Chapter 9 Simple Authentication Protocols
무선 LAN 보안.
Chapter 09. 암호를 이용한 전자상거래 : 상거래를 사이버 세계로 끌어들인 암호
Chapter 10 네트워크 보안.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
Web Security 모든 HTTP 패킷은 엽서와 같음 SSL/TLS
(Next Generation Internet Protocol)
키 관리 및 인증, 전자서명 4조: 최선욱 조성호 Kangwon National University Samcheok Campus Information & Communication Eng.
Chapter 15 키 관리 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
08장 암호의 이해: 숨기고자 하는 이들의 싸움.
Chapter 3 Symmetric Key Crypto
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증
SSL (Secure Sockets Layers Protocol)
Chap 10. 인증응용.
IPSec (Internet Protocol Security protocol)
목 차 PGP S/MIME. 전자우편 보안 Security 목 차 PGP S/MIME.
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
9장 데이터링크층 소개 (Introduction To Data-Link Layer)
Part 05 정보 보호 개론 NOS 보안 보안 프로토콜 및 암호와 네트워크 보안 및 정보 보호 제도.
USB Door Lock System 공 민 표 강 정 이 권 경 곤
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
전자상거래보안 전자우편보안 ( Security) 중부대학교 정보보호학과 이병천 교수
메일캐리어 제품 소개서 탭스랩주식회사.
Transmission Control Protocol (TCP)
TimeStamp를 활용한 전자문서 진본성 확보
Use of a Broken or Risky Cryptographic Algorithm
2. CONCEPTS 컴퓨터 네트워크 실험실 석사 1학기 강 동 호.
사용자 매뉴얼 Version 1.0 대금지급(외주)
윤성우의 열혈 TCP/IP 소켓 프로그래밍 윤성우 저 열혈강의 TCP/IP 소켓 프로그래밍 개정판
제 5장 공개키 암호.
Internet & WWW Protocols
중등교원 전보시스템 로그인 오류시 해결 해결방안 * 작성일 2016 년 12 월 15일 * 작성자 광주광역시교육청.
Chapter 4 공개키 암호 Knapsack RSA Diffie-Hellman 키 교환 방식
Chapter 3. Public Key Infrastructure
Chapter 08. 암호에 대한 이해 : 숨기고자 하는 이들의 싸움
Data Compression 데이터 압축:음성, 비디오, 팩시밀리 전송등과 같은 경우에 중요
보안 김준원 이호영 고재만.
Presentation transcript:

Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증 8.5 전자 메일의 보안 8.6 TCP 연결의 보안: SSL 8.7 네트워크 계층의 보안: IPsec 8.8 무선 랜의 보안 8.9 운영상 보안: 방화벽과 침입 방지 시스템

프로토콜 계층과 보안 프로토콜 특정 계층에서 하나의 보안 프로토콜로 통일시킬 수는 없을까? Application TCP IP Link PGP, … SSL IPsec 802.11 무선 랜 보안 특정 계층에서 하나의 보안 프로토콜로 통일시킬 수는 없을까?

전자 메일 보안 목표 메일의 내용을 다른 사람이 보지 못하도록 한다.(confidentiality) 이 메일을 보낸 사람이 진짜 Alice인지 확인하고 싶다.(authentication) 메일의 내용을 혹시 다른 사람이 변경하지 않았는지 확인하고 싶다.(integrity)

. 보안 전자 메일(메시지 암호화) - Alice는 Bob에게 보안(confidential) 전자 메일을 보내려고 한다. m KS( ) . KB( ) + - KS(m ) KB(KS ) m KS KB Internet Alice: 대칭 키(KS)를 랜덤하게 생성한다. KS를 사용하여 메시지를 암호화 한다. Bob의 공개키로 KS 를 암호화한다. 암호화된 메시지와 암호화된 대칭키를 Bob에게 보낸다.

. 보안 전자 메일(메시지 복호화) - m KS + Bob: 자신의 개인키로 암호화된 대칭키를 복호화한다. KB( ) + - KS(m ) KB(KS ) m KS KB Internet Bob: 자신의 개인키로 암호화된 대칭키를 복호화한다. 대칭키로 암호화된 메시지를 복호화한다.

. 보안 전자 메일(전자 서명) + Alice는 송신자 인증 정보를 보내려고 한다. - m H( ) . KA( ) - + H(m ) KA(H(m)) m KA Internet compare Alice는 전자 서명 메시지를 보낸다. 원본 메시지와 함께 전자 서명을 전송한다.

. 보안 전자 메일(메시지 암호화 + 전자 서명) + Alice는 전자 메일을 보낼 때 기밀성, 송신자 인증, 메시지 무결성을 보장 하고자 한다. H( ) . KA( ) - + KA(H(m)) m KA KS( ) KB( ) KB(KS ) KS KB Internet Alice는 세 개의 키를 사용: 자신의 개인키, Bob의 공개키, 랜덤하게 선택한 대칭키

PGP(Pretty Good Privacy) 1991년 Philip Zimmerman이 만든 전자 메일의 사실상 표준 암호화 기법 PGP는 공개 도메인에서 다운로드할 수 있다. PGP가 설치되면 소프트웨어는 공개키 쌍을 만든다. 공개키는 웹 사이트에 공개되거나 공개키 서버에 놓인다.(공개키/사용자 이름) 개인키는 비밀번호를 사용하여 보호 어떤 사용자들은 키 서명 파티에 모여서 서로 키를 교환하기도 한다.

Chapter 8 목차 8.1 네트워크 보안이란 무엇인가? 8.2 암호학의 원리 8.3 메시지 무결성 8.4 종단점 인증 8.5 전자 메일의 보안 8.6 TCP 연결의 보안: SSL 8.7 네트워크 계층의 보안: IPsec 8.8 무선 랜의 보안 8.9 운영상 보안: 방화벽과 침입 방지 시스템

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

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

SSL과 TCP/IP HTTP Application SSL TCP TCP IP IP 일반적인 응용 SSL을 사용한 응용 SSL은 응용 프로그램에 API를 제공한다. C와 Java SSL libraries/classes가 제공된다.

대칭키 설정 키 설정(Key establishment) 키 관리(Key management) 통신 개체 간에 공유하는 대칭키를 설정하는 절차 키 관리(Key management) 키 설정을 포함해서 키의 유지를 포함하는 일련의 절차(예, 오래된 키를 새로운 키로 변경 등) 일정한 시간(session) 동안 사용하는 대칭키를 특별히 세션키(session key)라고 한다. 대칭키를 오랫동안 사용하면 공격자에게 노출될 수 있으므로 일정 기간만 사용하고 변경한다.

세션키 설정 방법 서버 기반 키 분배 공개키를 사용한 키 교환 키 교환 알고리즘(Key agreement) Diffie-Hellman

서버 기반 키 분배 신뢰할 수 있는 서버(TTP)가 세션키 생성하여 그것을 암호화하여 전송한다. A1 A2 K1 K2 TTP Ek1(k15) A6 Key source A3 Ek15(m) K6 K3 Ek5(k15) A5 A4 K5 K4

공개키를 이용한 키 교환 송신자는 수신자의 공개키(KB+)를 사용하여 세션키(KAB)를 암호화하여 전송한다. KAB(m) m Bob Alice

키 교환(key agreement): Diffie-Hellman 알고리즘

Diffie-Hellman 키 교환 알고리즘 공개된 값들: 큰 값의 소수 p, generator g (primitive root of p) Alice의 비밀값: a, Bob의 비밀값: b A  B: ga (mod p) B  A: gb (mod p) Bob의 계산: (ga)b = gab (mod p) Alice의 계산: (gb)a = gab (mod p) 대칭키 = gab (mod p)

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

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

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를 사용하여 encryption과 MAC key를 계산한다. C: 모든 handshake 메시지에 MAC를 첨부하여 보낸다. S: 모든 handshake 메시지에 MAC를 첨부하여 보낸다.

crypto algorithms의 협상 Cipher spec Cipher Algorithm (RC4, RC2, DES, 3DES, DES40, IDEA) MAC Algorithm (MD5, SHA-1) Cipher Type (stream or block) Is Exportable (true or false) Hash size (0 or 16 bytes for MD5, 20 bytes for SHA-1) IV size: IV size for Cipher Block Chaining(CBC) encryption

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

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

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

SSL 레코드 구성 data MAC fragment encrypted data and MAC record header record header: {content type; version; length} MAC: MAC(Mx, sequence number||type||data) Note: no sequence number field Fragment: each SSL fragment 214 bytes (~16 Kbytes)

SSL 레코드 형식 content type SSL version length MAC data 1 byte 2 bytes Data와 MAC은 대칭키 알고리즘으로 암호화

Type와 Seq number의 사용 hello certificate, nonce KB+(MS) = EMS type 0, seq 1, data type 0, seq 2, data type 0, seq 3, data type 1, seq 4, close type 1, seq 2, close bob.com encrypted

SSL 예 RA RA RB RB {g, p, gB} {g, p, gB} gA gA 여기서부터 암호화 시작 handshake: ClientHello (RA) handshake: ServerHello (RB) handshake: Certificate {g, p, gB} handshake: ServerHelloDone handshake: ClientKeyExchange {gA} ChangeCipherSpec Finished application_data Alert: warning, close_notify RA RB RB {g, p, gB} {g, p, gB} gA gA 여기서부터 암호화 시작

키 계산 앞의 경우: {g, p, gA, gB}에서 pre-master secret 계산 Pre-master secret에서 master secret 계산 Client nonce(RA), server nonce(RB), master secret에서 다음의 4개의 key와 2개의 IV값을 계산한다. client MAC key server MAC key client encryption key server encryption key client initialization vector (IV) server initialization vector (IV)