Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "제13장 전자서명과 인증 프로토콜 Digital Signatures and Authentication Protocols"— Presentation transcript:

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

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

3 11.1 전자 서명 전자서명 개요 직접적 전자서명 중재된 전자서명 3

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

5 11.1.1 전자서명 개요 (cont’) 전자 서명의 특징 위조불가 (Unforgeable) 서명자 인증 (Authentic)
서명자만이 서명문을 생성 가능 서명자 인증 (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 11.1.3 중재된 전자 서명 기법 (cont’) 1) 관용 암호 방식(1) 2. Verification Carol
중재자에게 메시지 노출 Alice와 Carol 간의 비밀키 : KCA Carol과 Bob 간의 비밀키 : KCB 3.EKCB[IDA || M || EKCA[IDA || H(M) || T] 1. M || EKCA[IDA || H(M)] 2. Verification Alice Bob Carol 11

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

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

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

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

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

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

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

25 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(3) => Neuman의 개선 방식 Alice Bob KDC
1. IDA || Na Alice Bob KDC 2. IDB|| Nb || EKB [IDA || Na || TB]] 3. EKA[IDB ||Na ||KS ||Tb] ||EKB[ IDA ||Ks ||Tb] || Nb 4. EKB[IDA || Ks || Tb] || Eks [Nb] 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 상호 인증 (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 11.2.1 상호 인증 (cont’) 1) 관용 암호 방식(4) => Neuman 방안의 재사용 방식 Alice Bob
A와 B가 기존에 설정한 세션의 종료 후 그 세션에서 설정한 시간 범위 내에서 다시 새로운 세션을 열고자 하는 경우에 이용 Alice Bob 2. Nb ’, EKs [ Na ’] 3. Eks [ Nb ’] 1. EKB[IDA || Ks || Tb] , Na’ 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 11.2.1 상호 인증 (cont’) 2) 공개키 암호 방식(1)=>타임 스탬프를 사용하는 방식 Alice Bob AS
1. IDA || IDB Alice Bob AS 2. EKRAS [IDA || KUA || T] || EKRAS[IDB ||KUB ||T] 3. EKRAS [IDA || KUA || T] || EKRAS[IDB ||KUB ||T] || EKUB [ EKRA[K s ||T]] 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 11.2.1 상호 인증 (cont’) 2) 공개키 암호 방식(2)=> Nonce를 이용하는 방법 Alice Bob KDC
1. IDA || IDB Alice Bob KDC 2. EKRAuth[IDB || KUB] 3. KUB[NA || IDA] 4. IDA || IDB || EKUAuth[NA] 5. EKRAuth[IDA || KUA] || EKUB [E KRauth [N A || KS || IDA || IDB]] 6. EKUA[EKRAuth[NA || KS || IDA || IDB] || NB ] 7. EKS[NB] 33

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

35 11.2.2 일방향 인증 (cont’) 1) 관용 암호 방식 KDC Bob Alice 1. IDA || IDB || N1
메시지의 의도된 수신자만이 해당 메시지를 읽을 수 있다는 것을 보증 메시지 재전송 공격에 취약 Alice Bob KDC 1. IDA || IDB || N1 2. EKA[KS || IDB || N1 || EKB[KS || IDA]] 3. EKB[KS, IDA] || EKS(M) 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 의 공개키 및 적시성 확인 기밀성 추가
38

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

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

41 DSS 접근 방식 41

42 11.3.1 DSS 접근 방식 (cont’) RSA 접근 방식 DSS 접근 방식 M : 메시지 H : 해쉬 함수
E : 공개키 암호 함수 EKRa[H(M)] : 메시지 M의 해쉬값을 A의 개인키로 암호화 DSS 접근 방식 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) 서명 생성 과정 2) 서명 검증 과정
메시지별로 고유한 정수 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 전자 서명 알고리즘 (cont’) 45

46 46


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

Similar presentations


Ads by Google