1 / 56

Chapter 9 Simple Authentication Protocols

Chapter 9 Simple Authentication Protocols. 프로토콜들. Human protocols  사람들의 상호 관계에서 따라야 할 규칙들 예 : 수업 중에 질문하기 Networking protocols  네트워크 시스템에서 따라야 할 규칙들 예 : HTTP, FTP, 등등 . Security protocols  보안 응용에서 따라야 할 ( 통신상의 ) 규칙들 예 : SSL, IPSec, Kerberos, 등등. Protocols.

Download Presentation

Chapter 9 Simple 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. Chapter 9Simple Authentication Protocols Chapter 9 Simple Authentication protocols

  2. 프로토콜들 • Human protocols 사람들의 상호 관계에서 따라야 할 규칙들 • 예: 수업 중에 질문하기 • Networking protocols 네트워크 시스템에서 따라야 할 규칙들 • 예: HTTP, FTP, 등등. • Security protocols 보안 응용에서 따라야 할 (통신상의) 규칙들 • 예: SSL, IPSec, Kerberos, 등등. Chapter 9 Simple Authentication protocols

  3. Protocols • 프로토콜 결함은 대단히 미묘한 문제이다. • 몇 가지 잘 알려진 보안 프로토콜은 심각한 오류를 갖고 있다. • 예: IPSec, GSM, WEP • 자주, 구현을 할 때 에러가 발생된다. • IE에서 SSL의 구현 • 프로토콜이 올바른지 판단하는 것도 힘들고 프로토콜을 올바르게 사용하는 것도 힘들다. Chapter 9 Simple Authentication protocols

  4. 이상적인 보안 프로토콜 • 보안 요구사항을 만족 • 요구사항이 분명해야 한다. • 효율성 • 요구되는 계산을 최소화  특히 공개키 연산 • 지연과 대역 사용을 최소화 • 견고성 • 공격자가 공격을 하는 중에도 동작해야 한다. • 환경이 변하더라도 동작해야 한다. • 사용하기 용이, 구현 용이, 유연성, 등등. • 이러한 모든 조건을 충족하기는 힘들다! Chapter 9 Simple Authentication protocols

  5. Simple Security Protocols Chapter 9 Simple Authentication protocols

  6. NSA에 들어가는 절차 • 출입증을 판독기(reader)에 넣는다. • PIN을 입력한다. • PIN이 올바른가? Yes?입장 No?경비원이 사살

  7. ATM 기계 프로토콜 • ATM 카드를 넣는다. • PIN을 입력한다. • PIN이 올바른가? Yes?거래를 수행한다. No?기계가 카드를 삼켜버린다. Chapter 9 Simple Authentication protocols

  8. 아군과 적군을 구별하기 (IFF) • 군대는 많은특별한 프로토콜을 필요로 한다. • 많은 경우 적군을 아군으로 오인하거나 …. Russian MIG Angola 2. E(N,K) Namibia SAAF Impala 1. N Chapter 9 Simple Authentication protocols

  9. MIG in the Middle Angola 3. N SAAF Impala 4. E(N,K) 2. N 5. E(N,K) Namibia 6. E(N,K) Russian MiG 1. N Chapter 9 Simple Authentication protocols

  10. 인증 프로토콜Authentication Protocols Chapter 9 Simple Authentication protocols

  11. 인증(Authentication) • Alice는 Bob에게 자신을 증명해야 한다. • Alice와 Bob은 사람일수도 혹은 기계일 수도 있다. • Bob도 역시 자신의 존재를 증명해야 할지도 모른다. (상호 인증) • 세션 키(session key)를 설정할 필요가 있을 수 있다. • 다른 요구사항이 있을 수 있다. • 오직 공개키 만을 사용한다. • 오직 대칭키 만을 사용한다. • 오직 해시 함수 만을 사용한다. • 익명성, 합리적인 부인 등등. Chapter 9 Simple Authentication protocols

  12. 인증 • 독립(stand-alone) 컴퓨터에서의 인증은 비교적 쉽다. • “안전한 경로”가 주요한 이슈 • 주요 관심사는 인증 소프트웨어에 대한 공격이다. • 네트워크 상에서의 인증은 훨씬 복잡하다. • 공격자는 메시지를 관찰할 수 있다. • 공격자는 메시지를 재사용할 수 있다. • 적극적인 공격을 할 수 있다. (삽입, 삭제, 내용 변경) Chapter 9 Simple Authentication protocols

  13. 단순한 인증 • 독립(standalone) 시스템에서는문제가 없을지 모른다. • 하지만 네트워크에서는 안전하지 않다. • 재사용 공격(replay)을 받을 수 있다.(다음 2 slides) • Bob은 Alice의 암호를 알아야 한다. “I’m Alice” Prove it My password is “frank” Bob Alice Chapter 9 Simple Authentication protocols

  14. 인증 공격 “I’m Alice” Prove it My password is “frank” Bob Alice Trudy Chapter 9 Simple Authentication protocols

  15. 인증 공격 • 재사용(replay)공격 • 어떻게 재사용 공격을 막을 수 있는가? “I’m Alice” Prove it My password is “frank” Trudy Bob Chapter 9 Simple Authentication protocols

  16. 단순 인증 • 훨씬 효율적이다… • 그러나 앞의 경우와 같은 문제가 생긴다. • 재사용 공격 I’m Alice, My password is “frank” Bob Alice Chapter 9 Simple Authentication protocols

  17. 더 나은 인증 • Alice의 암호를 숨길 수 있으므로 더 좋다. • 그러나 여전히 재사용 공격이 가능하다. “I’m Alice” Prove it h(Alice’s password) Bob Alice Chapter 9 Simple Authentication protocols

  18. 질문-응답(Challenge-Response) • 재사용을 막기 위해, 질문-응답을 사용한다. • Bob이 Alice를 인증하려고 한다. • Bob은 Alice에게 질문을 한다. • 오직 Alice 만이 올바른 답을 할 수 있다. • 질문은 재사용이 불가능하도록 해야 한다. • 어떻게 그것을 할 수 있는가? • 암호는 Alice 만이 알고 있는 것이다. • 일회성을 보증하기 위해서 “nonce (number used once)”를 사용한다. Chapter 9 Simple Authentication protocols

  19. 질문-응답 “I’m Alice” Nonce h(Alice’s password, Nonce) Bob Alice • Nonce가 challenge • hash가response • Nonce는 재사용을 막아준다. 오직 단 한번만 사용된다. • Password는 Alice가 알고 있는 것이다. • Bob은 Alice의 암호를 알고 있어야 한다(검증 가능).

  20. 질문-응답 • 이것을 위해 무엇을 사용해야 하는가? • 암호의 Hash는 OK, 암호화는 더 좋다. • Symmetric key, Public key, 등에서 더 논의할 것이다. “I’m Alice” Nonce 오직 Alice만이 갖고 있는 것 Bob (그리고 Bob이 검증할 수 있는 것) Alice Chapter 9 Simple Authentication protocols

  21. 대칭키 표기법 • 평문 P를 키 K로 암호화 C = E(P,K) • 암호문 C를K로 복호화 P = D(C,K) • 여기서 우리가 관심을 갖는 것은 프로토콜에 대한 공격이지 암호화 알고리즘에 대한 것은 아니다. • 암호화 알고리즘은 안전하다고 가정한다. Chapter 9 Simple Authentication protocols

  22. 대칭키를 사용한 인증 • Alice와 Bob은 대칭키 KAB 를 공유한다. • 키 KAB는 오직 Alice와 Bob만 알고 있다. • 대칭키를 알고 있다는 것으로 인증을 한다. • 어떻게 이것을 할 수 있나? • 키를 남이 알게 해서는 안 된다. • 재사용 공격을 허용해서는 안 된다. Chapter 9 Simple Authentication protocols

  23. 대칭키를 사용한 인증 “I’m Alice” R E(R,KAB) Bob, KAB Alice, KAB • Bob이 Alice를 인증하는 안전한 방법 • Alice는 Bob을 인증하고 있지는 않다. • 상호 인증을 할 수 있을까? Chapter 9 Simple Authentication protocols

  24. 상호 인증? • 무엇이 잘못되었는가? • 재사용 공격 • “Alice” 는 Trudy일 수 있다(혹은 다른 누구)! “I’m Alice”, R E(R,KAB) E(R,KAB) Alice Bob Chapter 9 Simple Authentication protocols

  25. 상호 인증 • 안전한 단방향(one-way) 인증 프로토콜을 갖고 있으므로… • 단방향 프로토콜을 두 번 사용하는 것이다. • 한번은 Bob이 Alice를 인증하기 위해서 • 한번은 Alice가 Bob을 인증하기 위해서 • 이것은 성공할 수 있는가? Chapter 9 Simple Authentication protocols

  26. 상호 인증 • 상호 인증이 가능하다. • 이것은 안전한가? “I’m Alice”, RA RB, E(RA,KAB) E(RB,KAB) Bob Alice Chapter 9 Simple Authentication protocols

  27. 상호 인증 공격 1. “I’m Alice”, RA 2. RB, E(RA,KAB) 5. E(RB,KAB) Bob Trudy 3. “I’m Alice”, RB 4. RC, E(RB,KAB) Bob Trudy Chapter 9 Simple Authentication protocols

  28. 상호 인증 • 지금의 단방향 인증 프로토콜은 상호 인증에는 안전하지 않다. • 프로토콜은 미묘하다! • “명백하다”고 안전한 것은 아니다. • 또한, 가정이나 환경이 바뀌면 프로토콜은 성공하지 않을 수 있다. • 이것이 프로토콜이 실패하는 공통된 원인이다. Chapter 9 Simple Authentication protocols

  29. 대칭키를 사용한 상호 인증 • 이와같은 “사소한” 추가가 도움이 될까? • Yes! “I’m Alice”, RA RB, E(“Bob”,RA,KAB) E(“Alice”,RB,KAB) Bob Alice Chapter 9 Simple Authentication protocols

  30. 공개키 표기법 • Alice의 공개키로 M을 암호화: {M}Alice • Alice의 개인키로 M을 서명(복호화) : [M]Alice • 그러면 • [{M}Alice ]Alice = M • {[M]Alice }Alice = M • 누구도공개키 연산을 할 수 있다. • 오직 Alice만이 자신의 개인키를 사용할 수 있다. (sign) Chapter 9 Simple Authentication protocols

  31. 공개키를 사용한 인증 • 이것은 안전한가? • Trudy는 Alice가 어떤 것이건 복호화하게 만들 수 있다! • 암호화를 위해서 키를 사용해서는 안된다. • 두 개의 키 쌍을 사용해야 한다. “I’m Alice” {R}Alice R Bob Alice

  32. 공개키를 사용한 인증 • 이것은 안전한가? • Trudy는 Alice가 어떤 것이건 암호화하게 만들 수 있다! • 암호화를 위해서 키를 사용해서는 안된다. • 두 개의 키 쌍을 사용해야 한다. “I’m Alice” R [R]Alice Bob Alice

  33. 공개키 • 암호화와 서명을 하는데 같은 키를 사용해서는 안 된다. • 암호화/복호화를 위해서 하나의 키 쌍을 사용하고 • 또 다른 키 쌍은 서명과 증명을 위해서 사용한다. Chapter 9 Simple Authentication protocols

  34. 세션 키(Session Key) • 세션 키: 일정 시간 동안 사용하는 임시적인 키 • 세션 키를 필요로 하는 이유. • 특정 세션을 위한 대칭키로 사용을 제한한다. • 세션키가 손상되더라도 피해를 줄일 수 있다. • 어떤 경우에는 완전 순방향 비밀성(perfect forward secrecy (PFS))을 요구할 수도 있다. Chapter 9 Simple Authentication protocols

  35. 공개키 인증과 세션 키 • Alice와 Bob의 암호화를 사용 • 이것은 안전한가? • 키에 대해서는 OK, 하지만 상호 인증은 아님 • K는 Bob의 nonce와 같은 역할 • Alice는 Bob을 인증할 수 없다. “I’m Alice”, R {R,K}Alice {R +1,K}Bob Alice Bob Chapter 9 Simple Authentication protocols

  36. 공개키 인증과 세션 키 • Alice와 Bob의 서명을 사용 • 이것은 안전한가? • 상호 인증은 되나 키는 안전하지 않다! “I’m Alice”, R [R,K]Bob [R +1,K]Alice Bob Alice Chapter 9 Simple Authentication protocols

  37. 공개키 인증과 세션 키 • 먼저 서명 그리고 암호화 • 이것은 안전한가? • 안전한 것처럼 보인다. • 상호 인증과 세션 키는 안전! “I’m Alice”, R {[R,K]Bob}Alice {[R +1,K]Alice}Bob Bob Alice Chapter 9 Simple Authentication protocols

  38. 공개키 인증과 세션 키 • 먼저 암호화하고 서명 • 이것은 안전한가? • 안전한 것처럼 보인다. • 모두 {R,K}Alice와 {R +1,K}Bob을 볼 수 있지만 “I’m Alice”, R [{R,K}Alice]Bob [{R +1,K}Bob]Alice Bob Alice Chapter 9 Simple Authentication protocols

  39. 완전 순방향 비밀성(Forward Secrecy) • 걱정 거리… • Alice는 공유키 KAB 로 암호화하고 암호문을 Bob에게 보낸다. • Trudy는 암호문을 보관하고 있다가 나중에 Alice의 컴퓨터를 공격해서 키 KAB 를 찾아낸다. • 그리고 Trudy는 보관했던 암호문을 해독한다. • 완전 순방향 비밀성 (PFS): • 비록 Trudy가 키를 알아냈다 하더라도 Trudy는 나중에 암호문을 복호화할 수 없도록 하는 것이다. • PFS는 가능할까? Chapter 9 Simple Authentication protocols

  40. 완전 순방향 비밀성 • PFS를 위해서, Alice와 Bob은 KAB을 사용하여 암호화해서는 안된다. • 대신 그들은 세션키 KS를 사용하고 사용한 후에는 세션키를 없애야 한다 • 문제: 어떻게 Alice와 Bob은세션키 KS를 합의하고 PFS를 보장할 수 있을까? Chapter 9 Simple Authentication protocols

  41. 순진한 세션키 프로토콜 • Trudy는 E(KS,KAB)를 보관할 수 있다. • 만약 나중에Trudy가 KAB을 찾아내면, 그는 KS도 일 수 있다. E(KS, KAB) E(messages, KS) Bob, KAB Alice, KAB Chapter 9 Simple Authentication protocols

  42. 완전 순방향 비밀성 • Diffie-Hellman을 사용한다. • Diffie-Hellman: g와 p는 공개됨 ga mod p gb mod p Alice, a Bob, b • 하지만 Diffie-Hellman은 MiM 공격을 받을 수 있다. • 어떻게 MiM을 막으면서 PFS을 이룰 수 있나?

  43. 완전 순방향 비밀성 • 세션 키 KS = gab mod p를 구하고 • Alice는 a를, Bob은 b를 잊어버린다. • 일회성(ephemeral)Diffie-Hellman • Alice와 Bob 조차도 KS 를 복구할 수 없다. • 다른 방법은? E(ga mod p, KAB) E(gb mod p, KAB) Alice, a Bob, b Chapter 9 Simple Authentication protocols

  44. 상호 인증, 세션키와 PFS “I’m Alice”, RA RB, [{RA, gb mod p}Alice]Bob [{RB, ga mod p}Bob]Alice Alice Bob • 세션키는 K = gab mod p • Alice는 a를, Bob은 b을 잊어버린다. • 만약 Trudy가 나중에 Bob과 Alice의 비밀을 알아내더라도, 세션키 K를 복구할 수 없다. Chapter 9 Simple Authentication protocols

  45. 타임스탬프(Timestamps) • 타임스탬프 T는 현재 시간 • 타임스탬프는 많은 프로토콜에서 사용된다. (Kerberos) • 타임스탬프는 교환하는 메시지의 수를 줄일 수 있다. • 마치 둘이 미리 알고 있는 nonce와 같다. • 그러나 타임스탬프틀 사용할 때 시간은 보안에 중요한 파라메터라는 것을 기억해야 한다. • 시간은 결코 같을 수 없다, 항상 시간 오차가 존재한다. – 재사용 공격의 위험이 있다. • 어느 정도 까지 시간 오차를 허용할 수 있을까? Chapter 9 Simple Authentication protocols

  46. 타임스탬프(T)로 공개키 인증 “I’m Alice”, {[T,K]Alice}Bob {[T +1,K]Bob}Alice Bob Alice • 이것은(서명-암호화) 안전한가? • 괜찮아 보인다. Chapter 9 Simple Authentication protocols

  47. 타임스탬프(T)로 공개키 인증 “I’m Alice”, [{T,K}Bob]Alice [{T +1,K}Alice]Bob Alice Bob • 이것은(암호화-서명) 안전한가? • Trudy는 {T,K}Bob을 알기 위해서 Alice의 공개키를 사용할 수 있다.(다음 slide) Chapter 9 Simple Authentication protocols

  48. 타임스탬프(T)로 공개키 인증 “I’m Trudy”, [{T,K}Bob]Trudy [{T +1,K}Trudy]Bob Bob Trudy • Trudy는 {T,K}Bob을 알 수 있다. • Trudy는 Alice-Bob의 세션키 K를 알 수 있다. • 주의:Trudy는 반드시 시간 오차 안에 행동해야 한다. Chapter 9 Simple Authentication protocols

  49. 타임스탬프(T)로 공개키 인증 “I’m Alice”, [{T,K}Bob]Alice [{T +1}Alice]Bob Bob Alice • 앞의 프로토콜에서 Alice는 굳이 세션키(K)를 다시 보낼 필요가 없다. • 이렇게 간단히 수정을 한다면 안전한가? • Yes, 괜찮아 보인다. • “서명하고 암호화”도 괜찮은가? Chapter 9 Simple Authentication protocols

  50. 공개키 인증 • Nonce와 함께 서명하고 암호화… • 안전 • Nonce와 함께 암호화하고 서명… • 안전 • 타임스탬프와 함께 서명하고 암호화… • 안전 • 타임스탬프와 함께 암호화하고 서명… • 안전하지 않음 • 프로토콜은 미묘하다! Chapter 9 Simple Authentication protocols

More Related