Security

대칭키 암호 시스템

oxdjww 2023. 10. 2. 15:01
728x90
반응형

Intro

본 포스팅에서는 대칭키 암호 시스템의 개요에 대해 다룬다.

대칭키 암호 시스템이란?

네트워크 통신 상에서, 노드들은 정보의 기밀성, 무결성 등을 위해 정보를 암호화하고 주고 받는다.
이 때 암호화 및 복호화에 사용하는 키가 같을 경우 대칭키 암호 시스템 에 기반한 암호화 통신 방식을 사용한다고 볼 수 있다.

혼돈(Confusion)과 확산(Diffusion)의 원리

혼돈(Confusion)과 확산(Diffusion)의 원리는 정보이론 학자인 _샤논_의 제안이다.

혼돈(Confusion)

키와 암호문과의 관계를 감추는 성질이다.
현대 블럭암호는 혼돈을 위해 치환(Substitution)을 사용한다.

확산(Diffusion)

평문과 암호문과의 관계를 감추는 성질이다.
평문의 한 비트가 암호문의 모든 비트에 확산된다.
주로 전치(Transposition)과 연관된다.

대칭키 암호 시스템의 종류

블럭 암호(Block Cipher)


암/복호화 과정을 하나의 블럭 단위로 수행하는 특징을 가진다.
실생활에서 많이 쓰이며, 평문(plain text)/암호문(cipher text)를 정해지니 블럭으로 나누어 블럭 단위로 암/복호화를 진행한다.

대표적인 블럭 암호 중 DESAES에 대한 내용은 하단의 포스팅을 참고하길 바란다.

대칭키 암호 시스템, DES와 AES

스트림 암호(Stream Cipher)


암/복호화 과정을 하나의 구성 단위(1bit)로 수행한다.
비교적 빠른 속도이지만 안전성이 조금 떨어지기에 잘 쓰이지 않는다.

스트림 암호의 특징


  • 패딩과 운영모드에 대한 개념이 없다.
  • 빠른 암/복호화가 가능하다.
  • 효율적으로 사용할 수 있는 암호들도 존재한다. (PRESENT, HIGHT)
PRESENT와 HIGHT는 둘 다 블록암호(Block Cipher)이다.

PRESENT는 2007년에 발표된 블록암호로서, 64비트 블록과 80비트 또는 128비트의 키를 사용한다.
S-box(Substitution Box)의 구성이 빠르고, 하드웨어 구현이 용이하며, 안전한 암호화를 제공하는 것으로 알려져 있다.

HIGHT는 2006년에 개발된 블록암호로서, 64비트 블록과 128비트의 키를 사용한다.
S-box가 간단하고 구현이 쉽다는 특징이 있다.
또한, 기존의 다른 블록암호에 비해 상대적으로 적은 라운드 수로도 안전한 암호화를 제공한다는 장점이 있다.

사실 스트림 암호는 이론상 가장 이상적인 암호 시스템이다.
암호화에 사용되는 key가 매번 달라지기 때문에 cipher text또한 매번 달라진다.
이는 암호화에 bit단위 XOR 방식을 사용하기 때문이다.

| 일회용 패드

하지만 한계가 존재한다.
키를 재사용하면 평문끼리 XOR 연산 시, 암호문끼리 XOR 연산 시 동일한 값이 나와 패턴이 공개된다.

| 안전성을 보장하려면?
키 스트림(키) 값이 실제 난수의 속성에 근접해야 한다.
즉, 엄청난 무작위성이 보장되어야 한다.


-> 무작위로 나타날 수록 암호 텍스트(cipher text)는 더 무작위로 변하기에 암호 분석이 더 어려워진다.

정리하자면,

스트림 암호는 기밀성(confidentiality)을 보장할 수 있지만 키를 잘 관리하지 못한다면 기밀성에 타격을 받을 수 있다두번째로는 스트림 암호는 무결성(integrity)를 보장해주지 못한다는 점이다. 사실 스트림으로 암호화된 결과값은 누구나 쉽게 위변조가 가능하다.


감사합니다.

Ref

보안프로그래밍(2023), 숭실대학교 소프트웨어학부 조효진 교수님
Beginning Cryptography with Java/David Hook/Wrox press/2005

728x90
반응형

'Security' 카테고리의 다른 글

대칭키 암호 시스템의 운영모드  (0) 2023.10.03
대칭키 암호 시스템, DES와 AES  (0) 2023.10.02
메시지 변조 감지 코드(MDC)  (0) 2023.09.29
암호학적 해시 함수  (0) 2023.09.28
보안 기본 개념 및 공격모델  (0) 2023.09.26