1 / 46

제 13 장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols

제 13 장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols. 200 7. 12. 목 차. 11.1 전자 서명 11.2 인증 프로토콜 11.3 전자 서명의 표준. 11.1 전자 서명. 11.1.1 전자서명 개요 11.1.2 직접적 전자서명 11.1.3 중재된 전자서명. 구 분. 종이문서. 전자문서. 기록매체. 종이. 전자기록 매체. 전달방법. 우편 , 인편. 네트워크를 통한 전송. 위 • 변조가 비교적 어려움

keanu
Download Presentation

제 13 장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols

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. 제13장 전자서명과 인증 프로토콜Digital Signatures and Authentication Protocols 2007. 12.

  2. 목 차 11.1 전자 서명 11.2 인증 프로토콜 11.3 전자 서명의 표준 2

  3. 11.1 전자 서명 11.1.1 전자서명 개요 11.1.2 직접적 전자서명 11.1.3 중재된 전자서명 3

  4. 구 분 종이문서 전자문서 기록매체 종이 전자기록 매체 전달방법 우편, 인편 네트워크를 통한 전송 위•변조가 비교적 어려움 종이의 물리적 특성으로 위•변조 식별 가능 위•변조가 용이함 전자기록매체의 물리적 특성으로 위•변조 식별불가능 안전•신뢰성 출처 증명 수기서명, 날인 전자서명 11.1.1 전자 서명 개요 전자서명(디지털서명)의 정의 • 서명자를 확인하고 서명자가 당해 전자문서에 서명하였음을 나타내는데 이용하기 위하여 당해 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보 (전자서명법 제 2조) 전자문서의 특성 4

  5. 11.1.1 전자서명 개요 (cont’) • 전자 서명의 특징 • 위조불가 (Unforgeable) • 서명자만이 서명문을 생성 가능 • 서명자 인증 (Authentic) • 서명문의 서명자를 확인 가능 • 재사용 불가 (Not Reusable) • 서명문의 서명은 다른 문서의 서명으로 사용 불가능 • 변경 불가 (Unalterable) • 서명된 문서의 내용 변경 불가능 • 부인 불가 (None-repudiation) • 서명자는 후에 서명한 사실을 부인 불가능 5

  6. 11.1.1 전자 서명 개요 (cont’) • 전자 서명의 요구 조건 • 서명은 메시지에 의존하는 비트 형태이어야 함 • 위조와 부인 방지 위해, 송신자의 유일한 정보 비트를 이용해야 함 • 서명문을 만들기가 쉬워야 함 • 서명문을 인식, 확인 하기가 쉬워야 함 • 서명문을 위조하는 것이 계산적으로 실행 불가능 • 기억장소에 서명문의 복사본을 유지하는 것이 실용적이어야 함 6

  7. 11.1.1 전자 서명 개요 (cont’) • 전자 서명 방식의 종류 • 직접 서명 방식(direct digital signature): 서명자가 홀로 서명알고리즘을 수행하여 서명하는 방식 • 문제점: 서명키의 분실/도난 • 서명자가 직접 서명시간을 서명에 포함할 경우에는 서명키를 획득한 공격자의 부정을 증명할 방법이 없다. • 중재 서명 방식(arbitrated digital signature): 중재자와 프로토콜을 수행하여 서명하는 방식 • 중재자는 서명의 증인 역할을 하게 된다. 7

  8. 11.1.2 직접적 전자 서명 • 오직 통신하는 상대방(송신, 목적지)만이 해당됨 • 직접적 전자 서명 방식 • 송신자의 개인키로 전체 메시지를 암호화(그림 11.1a) • 송신자의 개인키로 메시지의 해쉬 코드를 암호화(그림 11.5c) • 기밀성 • 수신자의 공개키(공개키 암호 방식) 또는 공유 비밀키(관용 암호 방식)를 가지고 서명된 메시지를 암호화(그림 11.1d, 그림 11.5d) • 서명을 한 다음 비밀성을 위한 암호화하는 것이 바람직함 8

  9. 11.1.2 직접적 전자 서명 (cont’) • 단점 • 정당성은 송신자 개인키의 안전에 달려 있음 • 송신자가 자신의 개인키를 분실, 도난 당했다는 주장이 가능 • 실제로 개인키를 도난 당했을 경우의 대책 미흡 • 관리 기법이 필요 • 모든 서명된 메시지에 타임 스탬프(날짜, 시간 정보)를 포함시킴 • 사례 • 공갈 협박에 의해 개인키을 노출하고 침묵 가능 • 신고 이전 까지는 심각한 손상 초래 • 사고 발생시에 불리할 경우 도난 당했다고 거짓 주장 • 실제로 자신도 모르는 사이에 도난 당했을 가능성 존재 9

  10. 11.1.3 중재된 전자 서명 기법 • 다양한 중재 방식 • 관용 암호 방식 : 중재자에게 메시지 노출 • 관용 암호 방식 : 메시지 비밀 유지 • 공개키 암호 방식 : 메시지 비밀 유지 10

  11. 2. Verification Carol 3.EKCB[IDA || M || EKCA[IDA || H(M) || T] 1. M || EKCA[IDA || H(M)] Bob Alice 11.1.3 중재된 전자 서명 기법 (cont’) 1) 관용 암호 방식(1) • 중재자에게 메시지 노출 • Alice와 Carol간의 비밀키 : KCA • Carol과 Bob 간의 비밀키 : KCB 11

  12. 11.1.3 중재된 전자 서명 기법 (cont’) • 서명 “IDA || H(M)”은 KCA를 이용하여 암호화되어 있으므로 Bob은 Alice의 서명을 직접 검사할 수는 없고, 단지 분쟁 해결을 위해 존재함 • 타임 스탬프 T는 이 메시지가 시기 적절하며, 재전송된 것이 아님을 보장 • Alice와 Bob은 Carol에게 높은 신뢰를 가지고 있어야 함 • Carol 이 KCA를 노출 시키지 않는다. • EKCA[IDA||H(M)] 형태의 거짓 서명을 만들지 않음 • Bob 은 서명이 Alice 에 의해서만 만들어졌음을 검증하고 EKCB IDA||M||EKCA[IDA||H(M)]||T] 를 보낸다는 것을 신뢰 12

  13. 2. Verification Carol 1. IDA || EKAB[M] || EKAC[IDA || H(EKAB[M])] 3.EKCB[IDA || EKAB[M] || EKAC[IDA ||H(EKAB[M])] || T] Bob Alice 11.1.3 중재된 전자 서명 기법 (cont’) 2) 관용 암호 방식(2) • 메시지 비밀을 유지 • Alice와 Bob이 비밀키를 공유 : KAB 13

  14. 11.1.3 중재된 전자 서명 기법 (cont’) • 중재자인 Carol은 Alice의 비밀키로 서명을 복호화하고 해쉬 값을 검사하여 이 메시지가 Alice로부터 온 것임을 확인하고, 타임 스탬프를 추가한 후 Bob과의 비밀키로 암호화하여 Bob에게 전송 • 장점 • 중재자인 Carol 은 메시지 내용을 읽을 수 없음 • Carol 은 Alice 와 Bob 의 부정을 막을 수 있음 • 단점 • Carol 은 송신자 Alice 와 함께 서명을 부인할 수 있음 • Carol 은 수신자 Bob 과 함께 Alice의 서명을 위조가능 • 모두 송수신자의 비밀키가 누설되는 것이 가능하다는 전제됨 14

  15. 2. Verification Carol 1. IDA || EKRA[ IDA || EKUB(EKRA[M])] 3.EKRC[IDA || EKUB(EKRA[M]) || T] Bob Alice 11.1.3 중재된 전자 서명 기법 (cont’) 3) 공개키 암호 방식 • 메시지 비밀 유지 • 관용 암호 방식의 문제점 해결 • KRA : Alice의 개인키 , KUB : Bob의 공개키 15

  16. 11.1.3 중재된 전자 서명 기법 (cont’) • 중재자인 Carol은 Alice의 공개키로 서명을 복호화하여 이 메시지가 Alice로부터 온 것임을 확인하고, 타임 스탬프를 추가한 후 자신의 개인키로 암호화하여 Bob에게 전송 • 장점 • 통신 전에 통신의 상대자간에 공유해야 할 정보가 없음 • KRA가 노출되었다고 할지라도 KRC가 노출되지 않았으면 부정확한 날짜가 매겨진 메시지가 보내질 수 없음 • Alice 로부터 Bob 에게 온 메시지의 내용은 Carol 과 다른 모든 사람들에게 있어서 비밀임 • 중재자가 송수신자의 어느 한쪽과 결탁할 수 없음 16

  17. 11.2 인증 프로토콜 • 11.2.1 상호 인증 • 관용 암호 방식 • 공개키 암호 방식 • 11.2.2 일방향(단방향) 인증 • 관용 암호 방식 • 공개키 암호 방식 17

  18. 11.2.1 상호 인증 • 상호 인증 프로토콜의 기본 기능 • 통신 상대방들간의 신분확인 • 세션키 교환 • 인증된 키 교환 문제의 두 가지 문제점 • 기밀성(confidentiality) • 신분 위장 방지 : 신원 증명이 필요 • 세션키의 손상 방지 : 암호화 형태로 통신되어야 함 • 적시성(timeliness) • 메시지 재전송의 위협 방지 • 메시지 재전송 • 공격자가 세션키를 손상; 다른 상대방을 흉내;가용성 교란 18

  19. 11.2.1 상호 인증 (cont’) • 재전송 공격의 예 • 단순 재전송 • 메시지를 복사하고 후에 재전송 • 시간 범위 내에서의 재전송 • 유효한 시간 윈도우 내에서 타임 스탬프가 있는 메시지 재전송 • 발견될 수 없는 재전송 • 원본 메시지의 사용을 정지시킨 후 재전송 메시지만 도착함 • 수정 없이 역방향 재전송 • 메시지 송신자에 대한 재전송 반환 • 관용 암호 방식이 사용 • 송신자가 보낸 메시지들과 받은 메시지들의 내용적 차이를 알 수 없을 때 가능한 공격임 19

  20. 11.2.1 상호 인증 (cont’) • 재전송 공격에 대항하기 위한 방법 • 각 메시지에 대한 일련 번호 부여 • 일련 번호가 적절한 경우에만 수신 • 단점 : 마지막 메시지의 일련 번호 유지 요구 일반적인 접근 방법 • 타임 스탬프(Timestamp) • 다양한 참가자들 사이에 동기화된 시계가 필요 • 신청/응답(Challenge/Response) • A는 B에게 nonce(challenge)값을 전송 • 그에 대한 수신된 B의 응답(Response)에 A자신이 보낸 nonce 값이 포함되어 있는지 검사 20

  21. 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식 • 종류 • Needham-Schroeder 방식 • Denning의 개선 • Neuman의 개선 • Neuman 방안의 재사용 방식 • 2 단계 계층 구조(그림 7.9) : 분산환경에서 통신정보의 기밀성 제공을 위해 사용 • ⇒ 신뢰성 있는 키 분배 센터(Key Distribution Center) 이용을 의미함 • 각 통신 주체는 마스터키로 불리는 비밀키를 KDC와 공유 • KDC는 일정한 세션 동안만 이용되는 세션키를 생성 • 마스터 키를 이용하여 세션키를 분배 • 대표적 예 : Kerberos(14장에서 취급) 21

  22. 1. IDA || IDB || N1 KDC 2. EKA[KS || IDB || N1 || EKB[KS || IDA]] 3. EKB[KS || IDA] 4. EKS[N2] 5. EKS[f(N2)] Alice Bob 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(1) =>Needham-Schroeder 방식 • KDC를 이용한 비밀키 분배 22

  23. 1. IDA || IDB KDC 2. EKA[KS || IDB || T || EKB[KS || IDA || T]] 3. EKB[KS || IDA || T] 4. EKS[N1] 5. EKS[f(N1)] Alice Bob 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(2) =>Denning의 개선 방식 • 단계 2와 3에 타임 스탬프를 추가(새로운 교환이라 인식) • 가정 : 마스터 키 KA 와 KB 가 안전 23

  24. 11.2.1 상호 인증 (cont’) • Denning 방안의 문제 • 네트워크 전체에 걸쳐 동기화된 클럭에 대한 신뢰가 필요 • 동기화 방식의 오류 또는 파괴는 지연-재전송 공격을 가능 24

  25. KDC 2. IDB|| Nb || EKB [IDA || Na || TB]] 3. EKA[IDB ||Na ||KS ||Tb] ||EKB[ IDA ||Ks ||Tb] || Nb 1. IDA || Na 4. EKB[IDA || Ks || Tb] || Eks [Nb] Alice Bob 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(3) => Neuman의 개선 방식 25

  26. 11.2.1 상호 인증 (cont’) • Neuman 방안의 동작 4단계 1 단계 : A는 B와의 인증 교환을 시작(Na: A→B→KDC→A) 2 단계 : B는 KDC에게 세션키 요구 • B는 Nb를 IDB와 함께 KDC에게 전송(Nb: B→KDC→A→B) • 신임장 작성용 정보 제공 : EKb [IDA ||Na ||Tb]Tb ; 유효시간 26

  27. 11.2.1 상호 인증 (cont’) 3 단계 : KDC는 EKa[IDB ||Na ||Ks ||Tb]와 EKb[IDA ||Ks ||Tb] ||Nb를 A에게 전송 • Ks를 전달, Tb ; A 가 Ks를 사용할 수 있는 시간 제한, IDB ; Ks가 B와의 세션키임을 확인, Na ; 재전송이 아님 • EKb [IDA || Ks || Tb ] || Nb : A가 B와의 인증을 위하여 티켓((신임장))으로 사용하도록 전달 • Nb : 단계 4에서 인증에 사용하도록 전달 4 단계 : A가 B에게 티켓과 EKb[Nb]를 전송 • EKb [IDA || Ks || Tb] • Ks ; B만이 Kb로 복호하여 Ks 획득 가능 (기밀성 제공) • IDA ; Ks가 A와의 세션키임을 확인 • Tb ; Ks 의 유효 시간 (신임장 유효 시간) • EKs [Nb] • 인증 : Nb가 재전송이 아니고 Ks를 아는 A 가 전송 27

  28. 1. EKB[IDA || Ks || Tb] , Na’ 2. Nb ’, EKs[ Na ’] 3. Eks [ Nb ’] Bob Alice 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(4) => Neuman 방안의 재사용 방식 • A와 B가 기존에 설정한 세션의 종료 후 그 세션에서 설정한 시간 범위 내에서 다시 새로운 세션을 열고자 하는 경우에 이용 28

  29. 11.2.1 상호 인증 (cont’) • Neuman 방안의 재사용 방식 동작 단계 1 단계 : A가 B에게 티켓과 Na'를 전송 • Tb범위 내에서 티켓 재사용 • Na':재전송 방어(A → B → A) 2 단계 : B는 A에게 Na'를 반환하고 Nb'를 전송 • Na‘ : B를 인증 • Nb‘ : 재전송 방어(B → A → B) • EKs : B가 Ks를 갖고 있음을 확인 3 단계 : A는 B에게 Nb'를 반환 • Nb': A를 인증 • EKs :A가 동일한 Ks갖고 있음을 확인 • 동기화된 클럭 불필요 • Tb는 B 의 시간 (B 가 자신의 스탬프 확인 ) 29

  30. 11.2.1 상호 인증 (cont’) 2) 공개키 암호 방식 • 공개키를 이용한 세션키 분배 • 가정 : 통신 상대방이 각각 상대의 공개키를 가지고 있음 • 종류 • 타임 스탬프를 사용하는 방식 • Nonce를 이용하는 방식 30

  31. 1. IDA || IDB AS 2. EKRAS [IDA ||KUA || T] || EKRAS[IDB ||KUB ||T] 3. EKRAS [IDA ||KUA || T] || EKRAS[IDB ||KUB ||T] || EKUB [ EKRA[K s ||T]] Alice Bob 11.2.1 상호 인증 (cont’) 2) 공개키 암호 방식(1)=>타임 스탬프를 사용하는 방식 31

  32. 11.2.1 상호 인증 (cont’) • 타임 스탬프를 사용하는 방식 동작 단계 클럭 동기화 필요(∵ 타임 스탬프 사용) 1 단계 : A가 AS에게 B와의 거래를 위한 인증 요청 2 단계 : AS는 A에게 A와 B의 공개키 KUa와 KUb를 타임 스탬프 T와 함께 자신의 비밀키 KRas로 암호화하여 전달 • T : 공개키의l 재전송 방어용 3 단계 : A는 B에게 AS에게 받은 보증서와 자신이 계산한 세션키 Ks를 개인키 KRa를 이용하여 암호화하고 다시 KUb로 암호화하여 전달 • EKRa [Ks || T] : Ks의 출처 인증 • EKUb : 기밀성 보장 32

  33. 5. EKRAuth[IDA || KUA] || EKUB [E KRauth [N A || KS || IDA || IDB]] 1. IDA || IDB KDC 2. EKRAuth[IDB || KUB] 4. IDA || IDB || EKUAuth[NA] 3. KUB[NA || IDA] 6. EKUA[EKRAuth[NA || KS || IDA || IDB] || NB ] 7. EKS[NB] Alice Bob 11.2.1 상호 인증 (cont’) 2) 공개키 암호 방식(2)=> Nonce를 이용하는 방법 33

  34. 11.2.2 일방향 인증 • 수신자는 메시지가 합법적 송신자로부터 왔다는 보장을 요구함 • 대표적 예 : 전자우편 • 송수신자가 동시에 온라인 상태가 아님 34

  35. 1. IDA || IDB || N1 KDC 2. EKA[KS || IDB || N1 || EKB[KS || IDA]] 3. EKB[KS, IDA] || EKS(M) Bob Alice 11.2.2 일방향 인증 (cont’) 1) 관용 암호 방식 • 메시지의 의도된 수신자만이 해당 메시지를 읽을 수 있다는 것을 보증 • 메시지 재전송 공격에 취약 35

  36. 11.2.2 일방향 인증 (cont’) 2) 공개키 암호 방식 • 사용목적에 따라서 보다 효과적인 방식을 선택 • 기밀성 목적 • 인증 목적 • 메시지와 서명의 보호 목적 • 송신자의 공개키와 적시성 확인 목적 • 기밀성 추가 • 기밀성 목적 • B의 공개키로 전체 메시지를 암호하는 것보다 효과적 36

  37. 11.2.2 일방향 인증 (cont’) • 인증 목적 • B 는 KRa 소유자 A 가 메시지 전송했음을 인증 • 전송 부인 불가 • 서명 바꾸기 가능 • M || EKRc [H(M)] : M은 A 의 것이지만 C가 자신의 서명으로 교체할 수 있음 • 메시지의 기밀성 및 서명보호 불가능 • A 의 공개키와 적시성 확인 필요 37

  38. 11.2.2 일방향 인증 (cont’) • 메시지와 서명의 보호 • A 의 공개키와 적시성 확인 필요 • 공개키 인증서를 이용한 A 의 공개키 및 적시성 확인 • 기밀성 추가 38

  39. 11.3 전자 서명의 표준 • 11.3.1 DSS 접근 방식 • 11.3.2 전자 서명 알고리즘 39

  40. 11.3 전자 서명의 표준 (cont’) • 1991년 미국 NIST에서 표준안으로 개발 • SHA를 사용하는 DSA(Digital Signature Algorithm) • 공개키 기술을 사용 • RSA와는 달리 암호화/키 교환에는 이용되지 않음 • 서명만을 위한 알고리즘 • 이산 대수의 어려움에 기반을 둔 알고리즘 40

  41. 11.3.1 DSS 접근 방식 41

  42. 11.3.1 DSS 접근 방식 (cont’) • RSA 접근 방식 • M : 메시지 • H : 해쉬 함수 • E : 공개키 암호 함수 • EKRa[H(M)] : 메시지 M의 해쉬값을 A의 개인키로 암호화 • DSS 접근 방식 • M : 메시지 • H : 해쉬 함수 • s, r : 서명 • k : 난수 • KUG : 전역적 공개키 • Sig : 서명 함수, Ver : 확인 함수 42

  43. 11.3.2 전자 서명 알고리즘 1) 서명 준비 과정 • 사용자 집단에 공통적이며, 공개되는 3개의 매개 변수 • 160 비트 길이의 소수 q • 512~1024 비트 사이의 소수 p ⇒ (p-1)이 q로 나누어짐 • h (p-1)/q mod p 형태의 g(1 < h < (p - 1)) • 각 사용자는 개인키를 선택하고 공개키를 생성 • 랜덤 개인키 x 선택 (1 ≤ x ≤ q-1) • 개인키 x 로부터 공개키 y 계산 • y = gx mod p 43

  44. 11.3.2 전자 서명 알고리즘 (cont’) 1) 서명 생성 과정 • 메시지별로 고유한 정수 k를 랜덤하게 생성(0 < k < q) • 서명 • r = (gk mod p) mod q : 메시지의 함수가 아님 • s = [k-1 (H(M)+xr)] mod q • Signature = (r, s) 2) 서명 검증 과정 • 수신한 r’과 s’으로부터 계산한 v를 r’과 비교하여 검증 • w = s-1 mod q • u1 =[(H(M)w)] mod q • u2 = rw mod q • v = [(gu1 yu2 ) mod p] mod q, y : 사용자 공개키 44

  45. 11.3.2 전자 서명 알고리즘 (cont’) 45

  46. 46

More Related