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

[네트워크보안] 암호 시스템

by spareone 2025. 10. 22.

암호 기술


암호 기술의 기본 모델

  • 송신자가 평문을 키를 이용하여 암호화
  • 암호화된 암호문을 수신자에게 전송
  • 수신자는 암호문을 키를 이용하여 복호화

암호문이 전송되는 채널은 오픈되어 있으며,
암호화/복호화에 사용되는 기술도 오픈되어 있음.


공격자가 유일하게 모르는 것은 키Key이며,
이것은 암호 시스템에서 최우선적으로 지켜야 할 부분이다.


암호 복호화와 해독


암호문을 누가 평문으로 바꾸는지에 따라 용어가 달라짐.


  1. 복호화
    • 정당한 수신자가 암호문을 평문으로 바꾸는 것
  2. 암호 해독
    • 수신자 이외의 사람이 암호문을 평문으로 복원하려고 시도하는 것
  3. 암호 해독자
    • 암호 해독을 하는 사람
      • 암호 연구가
      • 나쁜 의도를 가진 사람

대칭 암호와 비대칭 암호


키의 종류에 따라 암호 종류가 달라짐.


  1. 대칭 암호Symmetric Cryptography
    • 암호화, 복호화 키가 동일한 암호 알고리즘
    • DES, AES 등
  2. 비대칭 암호Asymmetric Cryptography
    • 암호화, 복호화 키가 동일하지 않은 암호 알고리즘
    • RSA 등

DES (대칭 암호)


DES (Data Encryption Standard)


  1. 1977년 미국의 연방 정보처리 표준 규격으로 채택
  2. 64비트 평문 -> 64비트 암호문
  3. 키의 길이는 56비트

Triple DES (대칭 암호)


DES를 대신했던 블록 암호


  1. 기술 발전으로 인해 DES의 전사 공격 시간이 짧아짐
  2. 이에 대응하기 위해 Triple DES roqkf
  3. DES 암호화 -> DES 복호화 -> DES 암호화 순으로 암호화가 이루어짐

AES (대칭 암호)


DES를 대신할 새로운 표준 알고리즘 (Advanced Encryption Standard)


  1. 오디션을 통해 2000년에 Rijndael 알고리즘이 선정됨
  2. 블록 길이는 128비트
  3. 키의 길이는 128비트 / 256비트 / 32비트 등 다양

블록 암호


평문의 길이가 암호 알고리즘 입력 길이보다 긴 경우, 블록 단위로 잘라서 암호화


5가지의 블록 암호 모드

  1. ECB
  2. CBC
  3. CFB
  4. OFB
  5. CTR

대칭 키 암호 방식의 문제점과 공개 키 암호


불특정 다수를 대상으로 대칭 키 암호 시스템을 구축하기에는 한계가 존재


  1. 쌍방이 동일한 키를 갖고 있어야 함 -> 어떻게? (키 분배 문제)
  2. 서버가 관리해야 할 키의 개수가 증가함

이러한 문제 해결을 위해 공개 키 암호(비대칭 암호) 등장


공개 키 암호 개요


공개 키 암호의 특성

  1. 암호화 키와 복호화 키가 같지 않다.
  2. 암호화 키를 가지고 있는 사람은 누구나 암호화를 할 수 있다. 단, 복호화는 할 수 없다.
  3. 복호화를 할 수 있는 사람은 복호화 키를 가진 사람 뿐이다.

공개 키 암호 알고리즘에서는 두 개의 키 쌍을 가짐
(Private Key - 비밀 키 / 복호화 키, Public Key - 공개 키 / 암호화 키)
이 둘은 수학적인 관계로 만들어지므로 별개로 만들 수 없음


  1. 공개 키Public Key
    • 일반인에게 공개해도 됨
    • 도청당해도 됨
    • 전광판에 광고해도 됨
    • 길 가다 지나가는 사람에게 자랑해도 됨
  2. 개인 키Private Key
    • 본인만 알고 있어야 함
    • 다른 사람에게 노출하면 안됨
    • 통신 상대에게 자랑하면 안됨

RSA (비대칭 암호)


소인수분해의 어려움에 근거하여 개발된 암호 알고리즘


알고리즘 작성 방식은 대략적으로만 작성할 것이며,
추후 추가할 수도 있고 안 할 수도 있습니다.


  1. 키 생성
    • p, q 선택 (이 둘은 소수Prime number여야 함)
    • n = p * q
    • 정수 e 선택
    • d 계산 (mod 이용)
    • 공개 키와 개인 키 도출
  2. 암호화와 복호화
    • 공개 키: e, n
    • 개인 키: d
    • 평문: M
    • 암호화: C = M^e mod n
    • 복호화: M = C^d mod n = (M^e) mod n = (M^ed) mod n

대칭 키 암호 속도보다 느림


하이브리드 암호 시스템


대칭 키 암호와 비대칭 키의 장점을 결합


  1. 대칭 키 암호
    • 암호화와 복호화의 속도가 빠름
    • 키 배송 문제를 해결해야 함
  2. 공개 키 암호
    • 키가 분리되어 있어 키 배송 문제가 없음
    • 암호화와 복호화의 속도가 느림

의사난수 생성기로 세션 키를 생성한 뒤, 세션 키로 대칭 키 알고리즘으로 암호화
세션 키를 공개 키로 암호화
암호화된 세션 키 + 암호문 합쳐 수신자에게 전달


수신자는 암호화된 세션 키와 암호문 분리
개인 키로 세션 키 복호화
세션 키로 암호문 복호화


자세한 내용은 아래 링크 참조
https://blog.spareone.io/128


댓글