Authentication Protocols

2022. 12. 10. 18:10프로그래밍/보안

Authentication 해야 함

 

목표, 공격자 동향

목표:

 - Mutual Authentication: 상호인증

 - 키 상호 의존 생성

 - session key exchange: 세션 키 교환

 - Perfect Forward Secrecy

 

Adversarial model(공격자 동향):

 - observe messages - 도청

 - replay messages - 기억했다가 따라 말하기

 - insert, delete, change - 직접 공격

 

protocols

Symmetric key

Challenge-Response

 - replay를 막기 위함

 -> challenge가 freshness 해야함

 -> Nonce(number used once: 한번만 사용되는 수)(R)가 사용되야함

 

R: nonce challenge

K: session key

 

목표

 - Authentication: Alice는 내가 Alice임을 증명해야 

 - key exchange: 이미 했음을 가정

 

전제: Alice 와 Bob이 미리 서로 K를 공유하고 있고 K를 알고 있음을 보여주는 방법으로 Authentication 함

 

Mutual Authentication attack: 일종의 replay attack

답장 할 때 내가 누군지 명시해야 함

한계: Alice 와 Bob이 미리 서로 K를 공유해야 함(어떻게?)

 

 - Mutual Authentication: 상호인증 -> Nonce(R) 을 K로 암호화, M에 자신을 명시함으로서 달성 (O)

 - 키 상호 의존 생성 -> 이미 했음을 가정 (△)

 - session key exchange: 세션 키 교환 -> 이미 했음을 가정 (△)

 - Perfect Forward Secrecy (X)

Public key

한계: K 생성이 전적으로 Bob에 의존함

 

 - Mutual Authentication(상호인증): 서로가 private key로 복호화해 보임으로서 달성 (O)

 - 키 상호 의존 생성: K 생성이 전적으로 Bob에 의존함 (△)

 - session key exchange: 안전하게 교환함 (O)

 - Perfect Forward Secrecy: (X)

 

 

Perfect Forward Secrecy

session 생성 후 통신 과정에 K를 직접적으로 암호화에 사용하면 안된다.

PFS가 가능한 DH(Deffie-Hellman)을 사용

 

 - Mutual Authentication(상호인증): 서로가 private key로 복호화해 보임으로서 달성 (O)

 - 키 상호 의존 생성: a, b를 각각 제시 (O)

 - key exchange: 안전하게 교환함, DH를 사용함(g^ab mod p) (O)

 - Perfect Forward Secrecy: a, b를 폐기 (O)

 - MiM 보완: public key Encrypt 하였음 (O)

'프로그래밍 > 보안' 카테고리의 다른 글

Network Protocols  (0) 2022.12.11
Real-World Protocols: 실시간 프로토콜  (0) 2022.12.11
Access Control: 접근 제어  (0) 2022.12.09
Hash  (0) 2022.12.09
Elliptic Curve Cryptography, Perfect Forward Secrecy  (0) 2022.12.08