(c) Byoungcheon Lee, Joongbu Univ.

Slides:



Advertisements
Similar presentations
Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
Advertisements

최성락 최인석 나주한. 특징 : 공개키 n, g 를 사용하여 키 분배가 가능. (g 는 Zn 의 primitive element) Discrete logarithm 에 기반. 두 명 이상의 경우에도 적용가능. 키 교환 없이도.
HTTPS Packet Capture Tutorial
현대 암호 고려대학교 정보보호대학원/사이버국방학과 홍석희
Chapter 8 네트워크 보안 Computer Networking: A Top Down Approach , 5th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
(c) Byoungcheon Lee, Joongbu Univ.
현대암호편: RC5,ElGamal,Rabin
제 8장 메시지 인증 코드 메시지가 보낸 그대로 왔는가?.
Chapter 4 공개키 암호 Knapsack RSA Diffie-Hellman key exchange
(c) Byoungcheon Lee, Joongbu Univ.
암호-4장. 공개키 암호 ㅎㅎ 정보보호 기능의 가장 핵심적 기술인 암호를 다룬다. 흥미로운 암호의 역사를 소개하고, 고전적인 암호체계로부터 현대적인 디지털 암호체계에 이르는 기술의 발전을 살펴보고 현대의 고급 암호분석 기법을 소개한다. 한빛미디어(주)
컴퓨터 과학과 김지현 ( 보안에서의 전자서명과 xmldsig 컴퓨터 과학과 김지현 (
전자계산학과 대학원 그룹웨어 연구실 진 훈 Code and RSA 전자계산학과 대학원 그룹웨어 연구실 진 훈
자바 암호 프로그래밍 Java Cryptography Programming
제2장 관용암호: 고전암호 기법
자바 암호 프로그래밍 Java Cryptography Programming
1. 정보보호 개론(2).
1.정보보호 개론(1).
암호프로토콜 중부대학교 정보보호학과 이병천 교수 전자상거래보안
제13장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols
08장 암호의 이해: 숨기고자 하는 이들의 싸움.
Secure Electronic Commerce
교과목 소개 정보보호.
암호학 응용 Applied cryptography
I부 암호.
SSL (Secure Sockets Layers Protocol)
30장 메시지 보안, 사용자 인증과 키 관리 30.1 메시지 보안 30.2 전자서명 30.3 사용자 인증 30.4 키 관리
해쉬 알고리즘.
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
제10장 메시지 인증과 해쉬 함수 Message Authentication and Hash Functions
정보화 사회와 컴퓨터 보안.
9장. 디지털 증거의 무결성 유지.
Chap 4. 공개키 암호.
2007 1학기 11 프로젝트 기초 실습.
암호학의 기초 ,(월).
제9장 공개키 암호 (I) Public-key Cryptography
암호화 및 인증.
전자상거래 보안 (암호학과 네트워크보안) ) Chul Ho Rhee
웹어플리케이션보안 암호프로그래밍, crypto-js
자바스크립트 암호 프로그래밍 Javascript Cryptography Programming
제11장 해쉬 알고리즘 The Hash Algorithm
전자상거래보안 전자우편보안 ( Security) 중부대학교 정보보호학과 이병천 교수
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
(c) Byoungcheon Lee, Joongbu Univ.
의료정보시스템과 전자서명 2003년 9월 17 일 정 왕호
(c) Byoungcheon Lee, Joongbu Univ.
16 장 네트워크 보안 : 방화벽과 VPN 16.1 개요 16.2 기밀성 16.3 전자 서명 16.4 인터넷 보안
자바 암호 프로그래밍 Java Cryptography Programming
제 5장 공개키 암호.
제1장 정보보호 개요
제 13장 PGP 암호 기술을 조합하는 기술.
컴퓨터 개론 √ 원리를 알면 IT가 맛있다 쉽게 배우는 컴퓨터 기본 원리 한빛미디어 교재출판부.
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
제 Ⅲ부 키, 난수, 응용 기술.
공개키기반구조 (Public Key Infrastructure)
통신망 정보보호 이재광, 이임영, 소우영, 최용락.
암호학 응용 Applied cryptography
1.전자상거래를 위한 기본 법률 ; 전자거래기본법
Chapter 08. 암호에 대한 이해 : 숨기고자 하는 이들의 싸움
(c) Byoungcheon Lee, Joongbu Univ.
정보보호 개론 Chapter 04 암호화 기술.
암호 시스템 (Crypto system) 신효철
인증 (Authentication) 중부대학교 정보보호학과 이병천 교수 전자상거래보안
(c) Byoungcheon Lee, Joongbu Univ.
자바 암호 프로그래밍 Java Cryptography Programming
자바 암호 프로그래밍 Java Cryptography Programming
Presentation transcript:

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호 중부대학교 정보보호학과 이병천 교수 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호의 도입 “New directions in cryptography” ; Diffie, Hellman 공개키 암호 방식 이론 발표, 1976년 RSA 공개키 암호 방식 ; Rivest, Shamir, Adleman 소인수분해 문제 이용, 1978년 MH 공개키 암호 방식 ; Merkle, Hellman Knapsack 문제 이용 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 대칭키 암호와 공개키 암호 대칭키 암호 공개키 암호 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호 방식 평문 M E 암호화 암호문 C D 복호화 평문 M 가입자 A 가입자 B KeB KdB 공개목록 KeB 키생성 공중통신망 seed (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호를 이용한 키관리 공중 통신망 가입자A 가입자C 가입자B 가입자D KAB KAC KAD KBA KBC KBD KCA KCB KCD KDA KDB KDC KAB : AB 간의 키 관용 암호 방식 KdA KeA KeB KeC KeD KdC Ke : 공개키 Kd : 비밀키 공개키 암호 방식 KdB (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 대칭키 암호방식과 공개키 암호방식의 비교 대칭키 암호 방식 공개키 암호방식 암호키 관계 암호화키 = 복호화키 암호화키  복호화키 암호화 키 비밀 공개 복호화 키 암호 알고리즘 비밀/공개 비밀키 수 nC2 2n 안전한 인증 곤란 용이 암호화 속도 고속 저속 (c) Byoungcheon Lee, Joongbu Univ.

일방향함수(One Way Function) x f(x)= y f easy x= f-1 (y) y f-1 difficult 비밀문 일방향 함수(trapdoor one way function) x= f-1 (y) y f-1 easy trapdoor (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 어려운 수학적 문제 쉬운 문제: 다항식 문제 (P 문제) 어려운 문제: 지수식 문제 (NP 문제) 소인수분해 문제 n = p  q p, q : 소수 이산대수 문제 y  g x mod p Knapsack 문제 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 소인수분해 문제 소인수분해 문제(factorization problem) 큰 두 소수의 곱을 구하기는 쉽지만, 큰 두 소수의 곱인 합성수의 소인수 분해가 어려운 점을 이용하는 이론 예 : RSA, Rabin, LUC 등 135979 115979 135979x115979=15770708441 f : 135979 x 115979 easy ? 15770708441 f -1 difficult (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 이산대수문제 이산대수 문제(discrete logarithm problem) 큰 수 n을 법으로 하는 지수승 y kx mod n은 계산하기 쉽지만, 주어진 y와 k에 대하여 식 y kx mod n을 만족하는 x를 구하기 어려운 점을 이용하는 이론 Diffie- Hellman, ElGamal, Massey-Omura, ECC 10 f(10)  1010 9 mod19 f (x)  10xmod19 easy Ind109=x 10 x9 mod19 f -1 difficult (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 공개키 암호 1977년 MIT의 Ron Rivest, Adi Shamir, Leonard Adleman에 의해 처음으로 제안된 공개키 암호 알고리즘 아직도 안전하다고 인정되고 널리 사용됨 키 길이 : 1024비트, 2048비트 Shamir Rivest Adleman (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 암호 방식 RSA 암호 방식 구성 소인수분해 문제의 어려움 이용 n = p  q 계산 p, q : 소수  (n) = (p – 1) (q – 1) 계산 : 오일러 함수 gcd (Ke,  (n)) = 1 를 만족하는 Ke 선택 Ke  Kd  1 mod  (n) 인 Kd 를 계산 (Ke, n) : 공개 암호화 키 Kd : 비밀 복호화 키 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 암호 방식 (계속) 암호화 C  M Ke mod n 복호화 M  CKd mod n 복호화 증명 Ke  Kd =  (n)  t + 1 M  MKeKd mod n  M  (n)  t + 1 mod n  M  (n)  t M mod n  (M t)  (n) M mod n  M mod n (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 암호 방식 (계속) 암호화 및 복호화 가입자 A 공개 정보 KeA, nA , KeB, nB 가입자 B nA = pA  qA KeA, KdA 계산 암호화 C  M KeB mod nB nB = pB  qB KeB, KdB 계산 복호화 M  C KdB mod nB C (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 암호 방식의 예 예 p = 3, q = 11 n = 33,  (33) = (3 – 1) (11 – 1) = 20 gcd (Ke =3,  (33)) = 1 Ke  (Kd = 7)  1 mod  (33) M = 5 C  M Ke mod n  53 mod 33  26 M  C Kd mod n  267 mod 33  5 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호의 해독 RSA-200 해독 2005. 5. 9. F. Bahr, M. Boehm, J. Franke, and T. Kleinjung Date: Mon, 9 May 2005 18:05:10 +0200 (CEST) From: Thorsten Kleinjung Subject: rsa200 We have factored RSA200 by GNFS. The factors are RSA-200 = 2799783391122132787082946763872260162107044678695542853756000992932612840010 7609345671052955360856061822351910951365788637105954482006576775098580557613 579098734950144178863178946295187237869221823983 = 3532461934402770121272604978198464368671197400197625023649303468776121253679 423200058547956528088349 × 7925869954478333033347085841480059687737975857364219960734330341455767872818 152135381409304740185467 병렬컴퓨터 이용 2.2GHz Opteron 컴퓨터의 75년 계산량 사용 http://www.loria.fr/~zimmerma/records/rsa200 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 암호 방식 이산대수 문제의 어려움 이용 y  gx mod p g : 원시원소 p : 소수 y 가 주어졌을 때 x를 구하는 문제 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 암호 방식 (계속) 이산대수 문제 예 Z23 51  5 58  16 515  19 mod 23 52  2 59  11 516  3 mod 23 53  10 510  9 517  15 mod 23 54  4 511  22 518  6 mod 23 55  20 512  18 519  7 mod 23 56  8 513  21 520  12 mod 23 57  17 514  13 521  14 mod 23 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ^ 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 암호 방식 (계속) 암호화 k  RZp (p : 소수) K  yBk (yB  g XB mod p) C1  g k mod p C2  KM mod p (M : 평문) C = (C1,C2 ) 복호화 K  (g k) XB mod p  C1 XB mod p M  C2 / K mod p (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 암호 방식 (계속) ElGamal 암호 방식의 구성 가입자 A 공개정보 g , p, yA, yB 가입자 B yA  gXA mod p k  R Zp – 1 K  yBk mod p C1  gk mod p C2  KM mod p C = C1 || C2 yB  gXB mod p K  C1XB mod p M  C2 /K mod p C (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 암호 방식 ElGamal 암호 방식 예 송신자 A 공개정보 p = 23, g = 7 , yA = 17, yB = 15 수신자 B XA = 5 yA  gXA = 75  17 mod 23 r = 3  R Z22 K  yBr = 153  17 mod 23 C1  gr = 73  21 mod 23 M = 20 C2  KM = 17  20  18 mod 23 C = (C1 , C2) = (21, 18) XB = 9 yB  gXB = 79  15 mod 23 C1 = 21 C2 = 18 K  C1XB  219  17 mod 23 M  C2 /K = C2 K –1  18  19  20 mod 23 C = (21, 18) (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 전자서명 전자서명의 기능 사용자 인증 메시지 인증 서명 종이문서  인장, 수기서명 전자문서  전자서명 전자서명의 종류 RSA, GQ, DSA, ElGamal, Schnorr, KCDSA (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 전자서명의 요구조건 위조불가 (unforgeable) 서명자 인증 (user authentication) 부인불가 (nonrepudiation) 변경불가 (unalterable) 재사용 불가 (not reusable) (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 수기서명과 전자서명의 비교 항목 수기서명 디지털 서명 서명 결과 고정 변화 디지털 복제 어려움 쉬움 서명 과정 간단 수학적 연산 법적 효력 있음 위조 가능 불가능 서명 도구 필기구 컴퓨터 보조 수단 불필요 필요 (해쉬함수) (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 해쉬함수 Message M 해쉬함수란? 임의의 길이의 입력메시지에 대해 고정된 길이의 해쉬값(특징값, 지문)을 출력하는 함수 키를 사용하지 않는 공개된 함수 일방향함수: 출력 해쉬값으로부터 입력메시지를 찾아내기 어렵다. 충돌회피성: 같은 해쉬값을 가지는 메시지쌍을 찾는 것이 어려워야 함 MD5, SHA1, SHA2, HAS160 등 해쉬함수의 응용 전자서명 메시지인증코드 (공유키 사용) H Message Digest D = H(M) (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 공개키 암호를 이용하는 전자서명 송신자(Client) 전자서명 생성 수신자(Server) 전자서명 검증 송신자인증서 해쉬값 전자서명값 비교 개인키 공개키 원문 ※ 본인 인증 송신자는 자신만이 가지고 있는 개인키와 인증기관에서 인증 받은 공개키, 즉 인증서를 통해 본인 임을 입증 ※ 무결성 보장 원문의 해쉬값과 전자서명값을 복호화한 해쉬값을 비교함으로서 위.변조 여부를 판단 ※ 부인 봉쇄 개인키를 이용하여 전자서명을 하였으므로 문서를 전송하지 않았다고 부인 불가 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 전자서명 서명자 A 공개 정보 KeA, nA, KeB, nB 검증자 B KeA, KdA , nA M : 서명문 h(M) = H S  HKdA mod nA KeB, KdB, nB H  SKeA mod nA 확인 S, M (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. RSA 전자서명 RSA 전자서명의 예 서명자 A KdA = 23 공개 정보 KeA = 7, nA = 55 검증자 B 서명문 M = 5 서명 S  MKdA mod nA = 523 mod 55  15 mod 55 M = 5 M  SKeA mod nA = 157 mod 55  5 mod 55 M = M 확인 M = 5, S = 15 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 전자서명 서명자 A 공개 정보 yA, p, g 검증자 B yA  gXA mod p M : 서명문 k R Z p – 1 R  gk mod p H = h(M) S  (H– XAR )k – 1mod p – 1 yAR RS  gH mod p 확인 M, S, R (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. ElGamal 전자서명 ElGamal 디지털 서명 예 서명자 A 공개 정보 yA, p=23, g=5 검증자 B xA = 9 yA  59  11 mod 23 k = 7 R Z 22 k – 1  19 mod 22 R  57  17 mod 23 M = 10 S  (10 – 9 × 17) × 19  11 mod 22 yAR RS  gM mod p 1117 × 1711  510 mod 23 확인 M = 10, S = 11, R = 17 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. Schnorr 서명 키생성 비밀키 xA 공개키 yA 서명 생성 는 m에 대한 서명 서명 검증 해쉬함수의 사용 (c) Byoungcheon Lee, Joongbu Univ.

(c) Byoungcheon Lee, Joongbu Univ. 전자서명 표준 DSS : Digital Signature Standard DSA : Digital Signature Algorithm FIPS – 186 등록, 1994년 NIST (c) Byoungcheon Lee, Joongbu Univ.