키 교환 : Diffie-Hellman 알고리즘

Gunter·2024년 1월 28일
0

Cryptography

목록 보기
4/7

키 교환 : Diffie-Hellman 알고리즘

.
.

대칭키 암호 -> 수신자와 송신자가 같은 키를 공유하고 있다는 전제가 필요
-> 키 교환(Key Exchange)가 이뤄져야 함
-> 키를 안전하게 공유할 수 없는 환경에서 대칭키 암호는 무용지물

공개 키 교환 알고리즘 -> 공개된 채널을 통해 키를 교환해도 외부인은 키를 알 수 없음

최초의 공개 키 교환 알고리즘 = Diffie-Hellman 키 교환 절차 (Diffie-Hellman key exchange protocol)

Diffie-Hellman Key exchange protocol 에 필요한 수학적 배경지식

  1. Square and multiply (모듈로 연산에서의 거듭제곱)
    임의의 합동 항등식에 대해, 양변에 동일한 값을 곱해도 식은 성립

  1. 페르마의 소정리(Fermat’s Little Theorem)
    소수 p와 정수 a에 대해 ap-1 ≡ 1(mod p) 성립
  2. 이산 로그 문제(Discrete Logarithm Problem)
    자연수 a, m, 정수 b에 대해 ax ≡ b(mod m)을 만족하는 정수 x를 구하는 문제

키 교환 절차

중간자 공격

수동적 공격 - 공격자가 통신에 개입하지 않음, 둘 사이의 통신 도청 외엔 아무것도 못함
능동적 공격 - 공격자가 통신에 직접 개입, 통신을 도청하며 중간에 데이터 위변조 가능
중간자 공격 - 능동적 공격에 해당

Diffie-Hellman key exchange protocol은 중간자 공격에 취약

Alice가 Bob에게 키 교환 시도하면, 공격자는 이를 가로채 둘 모두와 키 교환 진행 -> alice는 K1 키를, bob이랑은 K2키 공유 -> alice는 bob과 k1을, bob은 alice와 k2 공유했다고 믿음 -> alice가 k1으로 암호화된 데이터를 전송하면 공격자는 복호화 한 뒤 k2로 다시 암호화해서 bob에게 보냄

-> diffie-Hellman 키 교환은 서로의 신원을 확인할 수 있는 추가적인 메커니즘이 동반되어야 안전하게 이루어짐

0개의 댓글