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)
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 |