Diffie Hellman: Key exchange

2022. 12. 8. 15:52프로그래밍/보안

DH 존재의 이유: 키교환 알고리즘

불안전한 채널에서(도청, 수정) 안전하게 키를 교환하기 위한 방법

암호화, 서명을 위한 방법이 아님

 

사용된 난제: discrete log problem : 로그 푸는 문제

 - 주어지는것: g, p and g^k mod p

 - 찾아야 하는것: k

prime p가 주어지고

g^k mod p 한 수들이 p 보다 작은 모든수 {1,2,3...,p-1} 을 거쳐가게 되는 수 g

 

 

 

Alice 는 a 선택(비밀),

Bob은 b 선택 (비밀)

A -> B :g^a mod p

B -> A: g^b mod p

이제 서로가 전달받은것에 자신의 수 a, b를 각각 곱해 g^ab mod p를 구함 ->  symmetric key 생성

 

 

man in the middle attack

Trudy가 중간에 가로서 a, b대신 Trudy의 t를 전달하여 이후 주고받는 정보를 보게된  

 

MiM을 막는 방법: 

어떻게든 서로를 Authentication해야한다.

DH 교환할 때 서로의 public key로 암호화해서 보낸다.(서로의 진짜 public key를 알고있다는 가정)

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