다양한 기록

암호 프로토콜, 암호 기본 원칙 본문

정보보호이론

암호 프로토콜, 암호 기본 원칙

라구넹 2024. 10. 27. 18:26

암호 프로토콜 (Cryptographic protocols)

- 특정 보안 조치(security measure)를 실행하는 구체적인 프로토콜

- 암호 알고리즘(crptographic algoritms)과 암호 툴(cryptographic tool)을 결합한 대화형 시퀀스

- 사용 예: 사용자 인증, 키 교환

 

사용자 인증의 예

- 클라이언트는 비밀키를 서버로 전송한다

- 서버는 수신한 비밀키와 저장된 비밀키를 비교한다

.. 안전한 프로토콜인가?

=> 공격자가 통신회선을 도청하여 키를 획득하고 재사용할 수 있음

키를 암호화하여 전송하면? 

재전송 공격하면 서버는 이게 앨리스한테 온 건지 크루디한테 온 건지 알 수 없음

암호화는 데이터 인증 기능을 제공하지 않음

 

안전한 사용자 인증의 예

- 서버는 랜덤한 값을 클라이언트에 전송

- 클라이언트는 비밀키를 이용하여 응답 값을 만든다

- 클라이언트는 응답 값을 서버에게 전송한다

- 서버는 응답 값을 검증한다

 

Key point

- 올바른 프로토콜 설계에는 암호 알고리즘과 암호 툴에 대한 광범위한 지식 필요

- 독자적인 암호 알고리즘과 암호 프로토콜 구축은 위험할 수 있음

- 안전성이 검증된 표준 암호 알고리즘과 암호 프로토콜을 사용해야 한다


암호 기본 원칙 (Fundamental crypto principles)

암호 기법(Criptography)을 사용할 때는 기본 원칙을 반드시 지켜야 함

 

Kerckhoffs' principle

- 암호 알고리즘은 알고리즘의 모든 내용이 공개되어도 키가 노출되지 않으면 안전해야 한다

- 암호 알고리즘의 안전성은 키의 비밀에만 의존해야 하며 암호 알고리즘의 비밀에 의존하지 않아야 한다

=> 암호 시스템은 언젠가 적에게 파악될 것이라는 것을 가정하고 설계해야 함

암호 키를 제외한 다른 모든 내용(암호화 원리 등)이 알려져도 암호문은 해독되어선 안됨

=> 지켜야 할 비밀 데이터가 적을 수록 전체적인 안전성은 높아지게 된다는 의미가 숨어 있음

 

장점

보안성 강화 (Increased secuirty)

- 시스템에 비밀이 적을수록 더 쉽게 보호할 수 있다

견고성 향상 (Increased robustness)

- 알고리즘 변경보다 키를 변경하는 것이 훨씬 쉽다

신뢰성 향상 (Increased reliability)

- 암호 전문가들이 모인 커뮤니티에서 공개된 시스템을 검증할 것이다

 

Sufficient key space principle

- 암호 알고리즘에서 사용하는 키의 범위는 충분히 커야 한다

- 모든 암호화 시스템에서 작동하는 사소한 공격, 전수조사 공격에 대비해야 한다

- 침입자가 평문-암호문 쌍을 알고 있다고 가정..

- 공격자는 암호문의 해독을 위해 가능한 모든 키를 대입해 봄