1 / 53

암호기술과 키 복구

암호기술과 키 복구. 송정환(수학) camp123@hanyang.ac.kr 윤영민(정보사회학) youngmin@ihanyang.ac.kr 한양대학교. 목 차. 암호의 역사적 배경 암호기술 개요 암호기술의 응용(전자서명) 키복구의 필요성과 키복구 개념의 소개 키 복구 정책 동향 및 추진실태 결론. 암호기술의 정의. 사전적 정의들 통신의 내용이 밖으로 새지 않도록, 제삼자는 모르고, 저희 편끼리만 알게 한 비밀한 신호나 부호 - 한국어 대사전-

alta
Download Presentation

암호기술과 키 복구

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 암호기술과 키 복구 송정환(수학) camp123@hanyang.ac.kr 윤영민(정보사회학) youngmin@ihanyang.ac.kr 한양대학교

  2. 목 차 • 암호의 역사적 배경 • 암호기술 개요 • 암호기술의 응용(전자서명) • 키복구의필요성과 키복구 개념의 소개 • 키 복구 정책 동향 및 추진실태 • 결론 CAMP LAB

  3. 암호기술의 정의 • 사전적 정의들 • 통신의 내용이 밖으로 새지 않도록, 제삼자는 모르고, 저희 편끼리만 알게 한 비밀한 신호나 부호 - 한국어 대사전- • 통신문의 내용을 제3자가 판독할 수 없는 글자, 숫자, 부호 등으로 변경시킨 것 -두산 동아백과사전 - 정의 자료의 비밀성을 보장하기 위하여 안전성이 입증된 수학적 논리에 의하여 변환하는 과정 CAMP LAB

  4. 과거의 암호기술 사용 목적 = 기밀성 Caesar( BC 50 ~ 60년경 ) 군사작전에 최초로 치환암호기술 사용 Rome에서 활동한 작가 Suetonius는 Caesar가 Gallic war 중 Cicero와 여러 친구들에게 암호로 편지를 전했다고 기록 방법 : 간단한 치환암호기술 각 문자character를 다른character로 치환 cipher character ci = ci + 3mod 26 (3은 Caesar의 선택) 예: 평문 a b c d e f g h i j k 암호문 d e f g h i j k l m n CAMP LAB

  5. 간단한 규칙 ? Caesar cipher 에서 사용된 규칙 • 알고리즘(Algorithm) • 알고리즘이란? Informal definition : 어떤 작업을 수행하기 위한 간단한 명령들의 모임 흔히 과정혹은 규칙 으로 이해하여도 무방함 Formal definition : 수학적인 논리와 사고력이 필요하므로 여기서는 생략!!! CAMP LAB

  6. 현대의 암호기술 사용 목적 = 보안 1. 기밀성(Confidentiality ) 우리 이외의 다른 사람이 내용을 보지 않았는가? 2. 인증(Authentication) A가 보낸 것이 확실한가? A가 열람해도 좋은가? 3. 무결성(Data Integrity) A가 보낸 문서의 내용이 변조되지 않았는가? 4. 부인봉쇄(Non Repudiation) A가 보낸 사실( 혹은 B가 받은 사실 )을 부인하지 않을까? CAMP LAB

  7. 암호의 역사적 배경 • 잠깐 질문있슴다! 그런데, 왜 군사통신이나 외교문서에서나 사용되던 암호에 대해 오늘날은 우리 같은 일반인들이 관심을 가져야 하지요? • 답변: 인터넷은 원래 개방적 통신시스템. 그것은 정보공유를 위해서, 더구나 비교적 소수의 연구자, 학자들 커뮤니티에서 연구 결과, 지식 혹은 의견을 서로 나누기 위해 시용 되기 시작했기 때문에 보안에 매우 취약. 오늘날 인터넷이 상거래, 행정업무, 사무, 교육 등 광범위하게 사용됨에 따라 온라인상에서 신원확인이나 비밀유지가 필수적이 됨  임호기술은 이 문제를 해결하는 열쇠임. 그런데 암호기술은 어떻게 관리하는가에 따라 인터넷 사용자의 프라이버시 침해, 기업이나 행정 기밀의 유출 등의 문제를 초래할 수 있음  사회적 혹은 정치적 성격이 매우 높은 기술임 CAMP LAB

  8. 암호 고전암호 현대암호 Cipher System 대칭키 암호 1948 Substitution 블록암호 Transposition 스트림 암호 Code System 공개키 암호 ETC. ETC. 양자 암호, DNA 암호 등 암호기술의 역사적 배경 CAMP LAB

  9. M-209 ENIGMA 암호기술의 역사적 배경 • 암호의 역사적 배경 • 제 1 단계 : Caesar 암호, Vigenere 암호 등 단순 문자 대입 또는 대치를 이용한 암호의 시대 • 제 2 단계 : 독일 ENIGMA, 미국 M-209 등 기계를 이용한 암호의 시대 • 제 3 단계 : Shannon의 이론을 기반으로 한 현대 암호의 시작 복잡도가 높은 암호 알고리즘 a  D, b  E, …, z  C Caesar 암호 CAMP LAB

  10. P0 P1 K F C0 C1 암호기술의 역사적 배경 • 1970년 Horst Feistel 은 DES(Data Encryption Standard)의 모체인 LUCIFER를 개발(블록 암호의 기본구조) C0 = P1 C1= P0 F(P1, K) CAMP LAB

  11. 암호기술의 역사적 배경 (NSA) • 1952년 11월 4일 Henry S. Truman A.F.S.A.(Armed Forces Security Agency)를 해체 • N.S.A.(National Security Agency) 설치 (http://www.nsa.gov:8080/docs/efoia/released/truman.html ) • 세계 최대 인력 및 예산으로 암호학(암호기술, 암호분석기술) 연구 CAMP LAB

  12. 암호기술의 역사적 배경(국가주도의 예) • DES ( 56 비트 암호 알고리즘) • 1972년 NBS (National Bureau of Standards),는 다음 조건을 만족하는 알고리즘 공모 • Must provide high level of security • Must be completely specified and easy to understand • The algorithm itself must provide the security • Must be available to all users • Must be adaptable for use in diverse applications • Must be economical to implement in electronic devices • Must be efficient • Must be able to be validated • Must be exportable CAMP LAB

  13. DES(Data Encryption Standard) • 1976년 IBM에서 개발된 암호알고리즘을 미 NSA에서 키의 길이 축소 56비트로 • 1977년 미 상무부 NBS • (FIPS : Fedral Information Processing Standards)로 제정 • 알고리즘 내부함수(8개의 비선형 부울함수) • 분석법 다양화 • 차분분석(Differential Cryptanalysis ) Eli Biham,Adi Shamir 1990 • 선형근사분석(Linear Cryptanalysis) Mitsuru Matsui 1993 CAMP LAB

  14. 64bit Plaintext IP F L0 R0 L1 = R0 R0 = L0F(R0,K1) L15 = R14 R15 = L14F(R14,K15) R16 = L15F(R15,K16) L16 = R15 32bit 32bit 32bit F F Ciphertext IP-1 64bit DES(Data Encryption Standard) P(S(K1E(R0)) 구조 : FEISTEL 입출력 크기: 64비트 키의 크기 : 56비트 비선형변환(S-BOX) : 6 x 4 8개 라운드 반복 : 16회 CAMP LAB

  15. DES(Data Encryption Standard) DES는 안전성이 보장되지 않음!!! CAMP LAB

  16. SEED • 1998년 한국정보호센터(현재 한국정보보호진흥원) 개발한 128비트 암호 알고리즘 • 1999.3. TTA 표준 제안 • 1999.9 표준 제정(TTA) TTA.KO-12.0004 • 현재 ISO 표준화 추진중 • SEED 이용 현황 (한국정보보호진흥원 자료, 2000. 6) • 구현물의 형태 : S/W 22종, H/W 2종, IC 칩 2종 • 제품화 형태 : • 전자화폐 6종, 인증(CA)시스템 6종 • 무선 단말기 보안 3종, PC 저장 데이터 보호 3종, • 웹메일 2종, • K - Cash의 처리, 사이버트레이딩, S/W 불법복제 방지 (각 1종) CAMP LAB

  17. L0(64) R0(64) K0(64) F R1(64) L1(64) K1(64) F L2(64) R2(64) K15(64) F L16(64) R16(64) SEED 구조 : FEISTEL 입출력 크기: 128비트 키의 크기 : 128비트 비선형변환(S-BOX) : 8 x 8 4개 라운드 반복 : 16회 CAMP LAB

  18. 암 호 기 술 개요 CAMP LAB

  19. 비밀키 대칭키(관용키) 암호 기술 대칭키(관용키) 암호 방식 비공개 비공개 복호화 키 암호화 키 CAMP LAB

  20. A B C … X Y Z ↓ ↓ ↓ … ↓ ↓ ↓ D E F A B C 암호화 복호화 NLOO 키? Caesar cipher ci = ci + 3mod 26 여기서 3은 송수신자가 가지고 있어야 할 비밀키 KILL NLOO NLOO  KILL CAMP LAB

  21. 복호화 1000 0001 1101 << 1 0001 0100 0000 0100 1101 0001 0110 << 1 0100 1101 0001 0001 0100 0000 1000 0001 1101 0111 0010 0110 대칭키(관용키) 암호 기술 (예) 암호화 비밀키 0111 0010 0110 CAMP LAB

  22. 공개키 개인키 공개키(비대칭키) 암호 기술 공개키 암호 방식 공개 비공개 복호화 키 암호화 키 CAMP LAB

  23. 암호화 복호화 수신자의 공개키 보내고 싶은 받은 n = 34, b =11 평문 x = 2 암호문 = 8 암호문 = 8 83mod 34 = 2 211mod34 = 2048 mod34 = 8 공개키(비대칭키) 암호 기술의 예 공개키 암호 방식의 예 CAMP LAB

  24. 공개키(비대칭키) 암호 기술의 예 공개키 n = 34, b =11로부터 개인키a= 3 을 구하려면 n = pq를 알 수 있으면 계산 가능  n 으로 부터 p, q를 구하는 인수분해문제 ? 공개키 n = 34 = 2 * 17  n 이하 수들에서n과 서로소인 수 들의 개수? = 16개  16과 서로소 인 수 a= 3의 곱셈에 대한 역수는 b =11 ( 3 * 11 mod 16 = 33 mod 16 = 1 ) CAMP LAB

  25. 곱셈 or 덧셈? 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 +2 를 계산하는 것과 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 를 계산하는 것? 덧셈을 10번 하는 시간이 곱셈 10번 하는 시간보다 빠르다.  진리? 계산이론상 진리! CAMP LAB

  26. 곱셈 or 덧셈? CAMP LAB

  27. 공개키 OR 대칭키 ? 계산상의 효율성 데이터 암호화(기밀성용)에는 공개키 암호보다는 대칭키 암호가 보다 효율적 키분배(키 소유)의 효율성 n명이 대칭키 암호로 서로 암호화 통신을 하려면 n*(n-1)/2 개의 비밀키가 필요하나 공개키 암호로는 2n개만 있으면 된다. CAMP LAB

  28. 공개키 OR 개인키 ? 공개키 암호 방식을 사용하여 A 가 B에게 데이터 송신 암호화 A는 B의 공개키로 데이터 암호화 하여 B에게 전송 B는 자신의 개인키로 수신된 메시지 복호 B 만이 데이터를 복호할 수 있다. 기밀성 보장 인증 A는 자신의 개인키로 데이터 암호화 하여 B에게 전송 B는 A의 공개키로 수신된 메시지 복호 B 는 데이터가 A가 작성한 것임을 알 수 있다. 인증성 보장 CAMP LAB

  29. 암호 기술의 응용(전자서명) 잠깐 질문있슴다! 전자서명(digital signature)은 무얼 가리키는 것인가요? 제가 사무실에서 그룹웨어로 전자결재를 할 때, 아이디하고 비밀번호를 치면 빨간 제 도장(총무과에서 사전에 스캔 받아둔)이 결재란에 찍히는데 그것이 전자서명인가요? 아닙니다. 그것은 소위 ‘전자이미지서명’ 혹은 ‘디지털 이미지 서명’이라고 하는 것으로 전자서명과는 다릅니다. 도장을 스캔해서 사용하는 이미지서명은 쉽게 위조가 될 뿐 아니라 전자서명을 통해서 성취하고자 하는 보안목표를 달성할 수 없습니다. 전자서명이란 전자문서를 작성한 사람의 신원과 전자문서의 변조 여부를 확인할 수 있게 해주는 고유 정보입니다. 다시 말해 전자문서에 대해 인감이나 사인의 역할을 해주는 것입니다. 그런데, 온라인에서는 인감이나 사인의 기능을 오프라인에서처럼 이미지로는 수행할 수 없습니다. 다소 복잡한 과정이 필요합니다. 그렇다면 전자서명의 원리는 무엇입니까? 실제로 어떻게 사용할 수 있지요? CAMP LAB

  30. 1101100011000100110011001001001110110101001000101 전자서명 생성 문서에 첨부 해쉬값 생성 발송 계 약 서 계 약 서 계 약 서 계 약 서 전자서명 수신자에게 발송 해쉬값 송신자의 개인키 윤영민 윤영민 윤영민 윤영민 1101100011000100110011001001001110110101001000101 해쉬값 생성 해쉬값비교 수신 서명분리 수신된 문서 1101100011000100110011001001001110110101001000101 전자서명 복호 전자서명이 첨부되어 수신된 문서 수신된 서명 송신자의 공개키 암호 기술의 응용(전자서명) 질문! 해쉬가 무엇이지요? 원본문서 해쉬값을 확인하여 인증(객체,데이터), 부인봉쇄 확인 CAMP LAB

  31. 해쉬함수(hash function) 임의의 길이의 데이터 크기를 고정된 길이로 줄이는 것 • 정의(Definition) • 압축 : 임의의 길이의 데이터 크기를 고정된 길이로 줄이는 것 • 계산이 용이해야 한다. 해쉬값 : 해쉬함수의 결과값(고정된 길이의 데이터) CAMP LAB

  32. 대칭키암호 대칭키암호 B B 이용자 A 이용자 B 사용자 A는 비밀문서를 암호화할 대칭키(세션키)를 생성 공개키암호 사용자 A는 공개 디렉토리로부터 B의 공개키를 다운로드 공개키암호 대칭키암호 사용자 B의 공개키로 암호화 사용자 B는 자신의 개인키로 복호화 대칭키암호 암호 기술의 응용 (암호화 통신) 암호화 통신을 위해 두 사용자가 동일한 비밀키를 공유하려면 B의 공개키로 암호화된 것이므로 B 이외의 누구도 복호화할 수 없다  안전하게 비밀키(세션키)를 공유. CAMP LAB

  33. A 자신의 공개키 등록 B 인증서 발행기관 공개키 인증서 발행 자신의 공개키 등록 이용자 A의 공개키와 개인키 B 디렉토리에 저장 A 디렉토리 이용자 B의 공개키와 개인키 암호 기술의 응용(암호화 통신) 이용자 A와 이용자B는 암호화 통신을 하고자 한다 이용자 A 이용자 B CAMP LAB

  34. 공개키를 인증 기관에 등록 공개키 이용자 A 신뢰할 수 있는 인증기관 개인키 인증기관공개키 인증기관공개키 인증기관개인키 A 인증서 인증서 이용자 ID : CAMPLAB 이용자의 공개키 : 주민등록번호 : 750305 - 1xxxxxx 유효기간 : 2002/09/01-2003/08/30 고유번호 : 1001 etc. 이용자 ID : CAMPLAB 이용자의 공개키 : 주민등록번호 : 750305 - 1xxxxxx 유효기간 : 2002/09/01-2003/08/30 고유번호 : 1001 etc. A A A A 이용자 B 디렉토리에 저장 이용자 B가 이용자 A의 공개키가 정당한 것인가를 확인하는 절차 공개키암호 공개키암호 암호 기술의 응용 (인증) 이용자 A의 공개키에 대한 인증은 어떻게 이루어지는가? 인증서는 인증기관만이 암호화하여 생성할 수 있고 또한 인증기관의 공개키로만 복호화가 가능하기 때문에 사용자의 공개키에 대한 인증 가능. CAMP LAB

  35. 4 1 취득 3 2 C 가 서명했다고 주장 암호화용 공개키와 서명용공개키가같다면 전제조건 : 서명알고리즘 = 복호화 알고리즘 검증알고리즘 = 암호화 알고리즘 공개된 통신경로 A B C B C 가 M 을 취득 할 수 있음 !! CAMP LAB

  36. 키복구의 필요성과 키복구 개념의 소개 CAMP LAB

  37. 키 복구의 필요성 • 키 복구의 정의 • 기밀성 목적의 암호 사용에 있어 암호화된 평문을 해독할 수 있는 키 또는 관련정보를 제3자에게 위탁시키고 일정한 조건하에 위탁된 키 또는 관련정보, 또는 평문을 적법한 권한있는 자에게 인도하는 것. ① ④ ③ ② CAMP LAB

  38. 키 복구의 필요성 • 접근권이란? • 정부기관, 특히 법 집행기관이 어느 행위가 범죄를 구성한다고 혐의를 두는 경우행위의 어느 구성 부분(예를 들어 통신행위 및 관계 문서 또는 정보의 저장행위 등)이 암호기술의 사용으로 인하여 범죄수사를 심히 곤란하게 하거나 불가능하게 하는 경우 법원의 영장이나 명령을 통하여 그 암호문에 대응하는 평문을 입수할 수 있도록 하는 것. CAMP LAB

  39. 암호문에 대한 합법적인 접근권 보장  키 복구 키 복구의 필요성 • 암호 사용시 역기능 • 개인의 키 분실, 손실로 인해 자신의 키(혹은 암호문에 해당되는 평문)에 접근할 수 없는 경우 • 국가가 범죄 수사 등에 적시에 키(혹은 암호문에 해당되는 평문)에 접근할 수 없는 경우 • 기업에서 암호기술이 오용되어(기업비밀 노출 등) 금전적 손해나 위협을 받는 경우 CAMP LAB

  40. 키 복구의 필요성 • 상업적 용도의 키 복구의 필요성 • 키의 분실, 도난, 손실의 경우 발생되는 경제적인 손실를 만회 • 정부의 접근권을 위한 키 복구의 필요성 • 암호기술의 역기능 방지를 위한 합법적인 접근권 보장의 수단으로서 기술적인 대안 • 암호 산업의 발전  안전하고 신뢰성 있는 전자상거래를 육성  산업 발전과 수출 및 국가 경쟁력 확보 CAMP LAB

  41. 해결 방안으로서 키 복구의 필요성 대두 키 복구의 필요성 • 전자정부 구축과 민간 부문에서의 암호기술 사용 증가 • 불법적인 암호 악용 및 키 분실, 손상에 대한 대책 CAMP LAB

  42. 키 복구의 필요성 • 문제시 되는 점 개인의 프라이버시 합법적인 접근권 보장  법률, 정책을 통한 신중한 접근 필요 CAMP LAB

  43. 키 복구의 필요성 • 현재까지 제안된 암호키복구 기술은 크게 키 위탁(key escrow)방식 • 복구될 사용자의 비밀키, 비밀키의 부분 또는 키 관련 정보를 하나 이상의 신뢰기관에 위탁하는 방식 캡슐화(encapsulation)방식 • 암호문을 생성하는 각 세션마다 키를 복구해 낼 수 있는 정보를 포함하는 필드를 생성해서 해당 암호 메시지에 부가시키는 방식 TTP(Trusted Third Party)-기반 키 복구 방식 • 신뢰할 수 있는 제 3자 즉, TTP를 가정하여 복구될 사용자의 비밀키를 그 사용자의 TTP로 지정된 기관에서 모두 생성하고 사용자에게 분배하는 방식 CAMP LAB

  44. B의 개인키 정보 B 사용자 A 키복원 지원기관 키복원 요청 B B 공개키암호 공개키암호 암호화 통신을 위한 비밀키 생성 사용자 B 대칭키암호 대칭키암호 공개키암호 키 복구 기술 불법 행위가 명백하거나 비밀키가 손망실 되었다면 CAMP LAB

  45. 키복원기관 사용자 A 공개키암호 키복원 요청 키복원기관 키복원기관 B 공개키암호 공개키암호 대칭키암호 비밀키 생성 정보 암호화 통신을 위한 비밀키 생성 사용자 B 대칭키암호 키 복구 기술 키복원 지원기관 불법 행위가 명백하거나 비밀키가 손망실 되었다면 CAMP LAB

  46. 키 복구 정책 동향 및 추진실태 CAMP LAB

  47. 국외 키 복구 정책 동향 및 추진실태 • 각국의 암호 사용 정책 • 미국 • 일본 • 국제간 체제의 암호 사용 정책 • OECD CAMP LAB

  48. 미국의 암호 사용 정책 미국의 키 복구 추진 체계 White House DoC (Department of Commerce) IITF (Information Infrastructure Task Force) 의회 NIST GITS IWG 기술자문 정 책 / 법 표 준 화 실증 프로젝트 키 복구 실행 가능성 검증 클리퍼 I : EES 위탁 암호 표준 : EES KRDP 프로젝트 클리퍼 II : 상업적 키 위탁 • 각 테스트 분야별 11개 point • 상업적으로 활용 가능한 • 서비스 / 제품의 수준 결정 • 키복구 기술 확인, 구현, 시험 • 평가 • 상호 연동성 및 이를 위한 • 장애 확인 및 제거 KMI 관련FIPS 표준제정을 위한 기술자문 위원회 결성 클리퍼 III : FKMI 클리퍼 IV : 수출정책 최근 키 복구 / 수출정책 표준화 도출 작업 중 CAMP LAB

  49. 일본의 암호 사용 정책 • 키 복구에 대해 다소 유동적인 입장으로 연구를 진행 • 자체 키 복구 모델 제시 및 정책 기본 방향 제시 • 일본 경찰청의 ‘정보보안 모델 정책 위원회 보고서’ (1998.3) • 키 복구 제도의 기본 방향 • 범죄방지 목적과 민간의 다양한 요구를 함께 고려한 키 복구 • 규제범위 및 규제내용은 범죄위협 제거를 위해 반드시 필요한 최소한의 것으로 제한 • 국제 동향에 입각한 규제의 도입시기 및 내용의 적합성을 고려 • 학문과 기술 발전에 저해되지 않으면서 기술 발전에 신속히 대응 CAMP LAB

  50. 국제간 체제의 암호 사용 정책 (OECD) • OECD의 암호 정책 설정 배경 • OECD의 암호 정책 지침 • 자유로운 거래(무역)에 방해가 되는 문제들을 해소 • 특정 국가의 암호 정책이 국제 무역의 장벽으로 작용 가능 • 각국의 입법동향을 고려한 암호에 대한 일반적인 정책규범의 필요성 인식 각국의 암호 정책 수립에 고려되어야 할 기본원칙 제시 • 암호 정책 지침 채택(1997.3) • - 회원국의 암호 정책 수립 시 고려해야 할 8가지 기본 원칙 명시 • 주요 내용 • - 민간, 산업계, 정부의 암호 사용에 대한 대립적인 입장 차이를 조율 • - 암호 사용은 부당하게 공공의 안녕, 법 집행 및 국가 안보를 저해하지 • 않아야 함 정부의 합법적 접근권의 필요성 명시 CAMP LAB

More Related