키 설정의 필요성
Alice와 Bob은 비밀 키 K를 공유한다.
어떻게 공유 키를 설정하며, 갱신할 것인가?
같은 키로 많은 양의 데이터를 암호화하는 것은 좋지 않다.
키 설정: 두 명 이상의 당사자들에게 활용 가능한 공유 비밀 키를 설정하기 위한 과정
- 키 전송: 한 개체가 키를 생성하고 다른 개체에게 키 전송
- 키 동의/일치: 두 명 이상의 개체에 의해 공유 비밀키가 유도되는 키 설정 기술
마스터 키와 세션 키
세션 키: 짧은 기간동안 사용되는 임시 키
사용 이유
- 같은 키로 암호화된 암호문의 양 제한
- 키 손상이 발생했을 때 노출되는 양 제한
- 많은 수의 비밀 키들의 장기간 저장 방지
- 통신 세션들 또는 애플리케이션들에 대해 독립성 부여
마스터 키: 오랜 기간동안 사용되는 키
키 인증
- 함축적 키 인증: 자신이 명시한 참여자만 키를 얻을 수 있음이 보장
- 키 확인: 상대방이 특정 비밀 키를 실제 보유하고 있음을 보장
- 명시적 키 인증: 함축적 키 인증과 키 확인의 특정 모두 포함
인증 프로토콜을 통해 신원을 확인하고,
키 설정 프로토콜을 통해 키를 분배해야 한다. (인증된 키 설정, 개체 인증을 제공하는 인증된 키 설정)
프로토콜 메시지는 공개된 네트워크를 통해 전송된다고 가정할 때, 공격자는 아래와 같은 행위를 시도해 볼 수 있다.
- 도청을 통해 세션 키 추정
- 키를 추정할 수 있도록 메시지 수정
- 키를 공유한 개체의 신분에 대해 적법한 개체를 속이기 (사칭)
- 하나 이상의 프로토콜을 실행한 뒤 프로토콜 간의 메시지 결합
키 손상
키 손상의 효과
- 완전한 정방향 안정성
- 마스터 키가 손상되어도 과거 세션 키가 손상되지 않는다
- 알려진 키 공격
- 과거 세션 키의 손상이 도청자에게 미래 세션 키 손상을 허용한다
- 미래에 공격자에 의해 위장 공격 허용
대칭 키 암호를 사용한 키 설정
모든 개체들의 쌍은 하나의 마스터 키를 공유하고 있다고 가정
TTP 사용
- 각 개체는 TTP와의 마스터 키를 공유하고 있다.
- 개체를 추가하거나 제거하는 것이 쉽다.
- 각 개체는 하나의 마스터 키만을 저장하면 된다.
- TTP는 모든 메시지를 읽을 수 있다. (TTP를 신뢰해야 함)
- TTP의 손상은 모든 통신 채널의 손상을 초래한다.
기본적인 키 전송 프로토콜
A와 B는 마스터키 K를 공유하고 있다고 가정
기본적으로 새로운 키는 Kab (세션 키)라고 설정하며, A->B에게 K로 암호화하여 세션 키 전송
재전송 방지를 위해 Kab, 현재 시간, 메시지 B를 K로 암호화하여 전송
또는 시도-응답 방식의 키 전송 (nonce 이용)
TTP를 사용한 키 전송
방법 1, 2, 3, 4, 5
추후 추가예정
커버로스
MIT에서 개발한 대칭키 암호 기반 네트워크 인증 프로토콜
구성 요소
- 인증 서버: 사용자를 인증하는 서버, 티켓 승인 서버와 사용할 수 있는 티켓 발급
- 티켓 승인 서버: 각 네트워크 서비스를 제공하는 응용 서버와 사용할 수 있는 티켓 발급
- 응용 서버: 각종 서비스를 제공하는 실제 사용자가 접속하고자 하는 서버
티켓: 특정 클라이언트가 특정 서버로부터 서비스를 받을 수 있는 권한이 있다는 것을 명시
티켓 하이재킹 가능 - 멜로리가 다른 유저의 티켓을 훔치거나, 아예 다른 사용자와 같은 작업 공간에 들어와서 사용
서버는 이를 방지하기 위해 티켓 발급 요청자와 티켓 사용자가 동일한지 검증해야 함
'네트워크보안' 카테고리의 다른 글
| [네트워크보안] 인터넷 보안 프로토콜 개요 (0) | 2025.10.23 |
|---|---|
| [네트워크보안] 공개키 기반 구조 (0) | 2025.10.23 |
| [네트워크보안] 인증 기법 (0) | 2025.10.23 |
| [네트워크보안] 안전한 프로토콜 (0) | 2025.10.22 |
| [네트워크보안] 전자 서명 (0) | 2025.10.22 |
댓글