본문 바로가기
네트워크보안

[네트워크보안] 키 설정 프로토콜

by spareone 2025. 10. 23.

키 설정의 필요성


Alice와 Bob은 비밀 키 K를 공유한다.
어떻게 공유 키를 설정하며, 갱신할 것인가?


같은 키로 많은 양의 데이터를 암호화하는 것은 좋지 않다.


키 설정: 두 명 이상의 당사자들에게 활용 가능한 공유 비밀 키를 설정하기 위한 과정
- 키 전송: 한 개체가 키를 생성하고 다른 개체에게 키 전송
- 키 동의/일치: 두 명 이상의 개체에 의해 공유 비밀키가 유도되는 키 설정 기술

마스터 키와 세션 키


세션 키: 짧은 기간동안 사용되는 임시 키
사용 이유

  1. 같은 키로 암호화된 암호문의 양 제한
  2. 키 손상이 발생했을 때 노출되는 양 제한
  3. 많은 수의 비밀 키들의 장기간 저장 방지
  4. 통신 세션들 또는 애플리케이션들에 대해 독립성 부여

마스터 키: 오랜 기간동안 사용되는 키


키 인증


  1. 함축적 키 인증: 자신이 명시한 참여자만 키를 얻을 수 있음이 보장
  2. 키 확인: 상대방이 특정 비밀 키를 실제 보유하고 있음을 보장
  3. 명시적 키 인증: 함축적 키 인증과 키 확인의 특정 모두 포함

인증 프로토콜을 통해 신원을 확인하고,
키 설정 프로토콜을 통해 키를 분배해야 한다. (인증된 키 설정, 개체 인증을 제공하는 인증된 키 설정)


프로토콜 메시지는 공개된 네트워크를 통해 전송된다고 가정할 때, 공격자는 아래와 같은 행위를 시도해 볼 수 있다.

  1. 도청을 통해 세션 키 추정
  2. 키를 추정할 수 있도록 메시지 수정
  3. 키를 공유한 개체의 신분에 대해 적법한 개체를 속이기 (사칭)
  4. 하나 이상의 프로토콜을 실행한 뒤 프로토콜 간의 메시지 결합

키 손상


키 손상의 효과

  1. 완전한 정방향 안정성
    • 마스터 키가 손상되어도 과거 세션 키가 손상되지 않는다
  2. 알려진 키 공격
    • 과거 세션 키의 손상이 도청자에게 미래 세션 키 손상을 허용한다
    • 미래에 공격자에 의해 위장 공격 허용

대칭 키 암호를 사용한 키 설정


모든 개체들의 쌍은 하나의 마스터 키를 공유하고 있다고 가정

TTP 사용

  1. 각 개체는 TTP와의 마스터 키를 공유하고 있다.
  2. 개체를 추가하거나 제거하는 것이 쉽다.
  3. 각 개체는 하나의 마스터 키만을 저장하면 된다.
  4. TTP는 모든 메시지를 읽을 수 있다. (TTP를 신뢰해야 함)
  5. TTP의 손상은 모든 통신 채널의 손상을 초래한다.

기본적인 키 전송 프로토콜


A와 B는 마스터키 K를 공유하고 있다고 가정


기본적으로 새로운 키는 Kab (세션 키)라고 설정하며, A->B에게 K로 암호화하여 세션 키 전송
재전송 방지를 위해 Kab, 현재 시간, 메시지 B를 K로 암호화하여 전송
또는 시도-응답 방식의 키 전송 (nonce 이용)


TTP를 사용한 키 전송


방법 1, 2, 3, 4, 5

추후 추가예정


커버로스


MIT에서 개발한 대칭키 암호 기반 네트워크 인증 프로토콜

구성 요소

  1. 인증 서버: 사용자를 인증하는 서버, 티켓 승인 서버와 사용할 수 있는 티켓 발급
  2. 티켓 승인 서버: 각 네트워크 서비스를 제공하는 응용 서버와 사용할 수 있는 티켓 발급
  3. 응용 서버: 각종 서비스를 제공하는 실제 사용자가 접속하고자 하는 서버

티켓: 특정 클라이언트가 특정 서버로부터 서비스를 받을 수 있는 권한이 있다는 것을 명시


티켓 하이재킹 가능 - 멜로리가 다른 유저의 티켓을 훔치거나, 아예 다른 사용자와 같은 작업 공간에 들어와서 사용
서버는 이를 방지하기 위해 티켓 발급 요청자와 티켓 사용자가 동일한지 검증해야 함

댓글