대칭키 & 공개키 암호화: 데이터 보호를 위한 키 관리 방법

룸잉·2023년 10월 29일
0

cs

목록 보기
8/13

🔑 대칭 키(Symmentric Key)

  • 암호화와 복호화에 같은 암호 키(대칭 키)를 사용하는 알고리즘
  • 해당 키를 아는 사람만 문서를 복호화할 수 있음.
  • Session Key, Secret Key, Shared Key, 대칭키, 단용키라고도 함
  • 대표적인 알고리즘: DES, 3DES, AES, SEED, ARIA, 최근 주목받고 있는 암호인 ChaCha20
  • 장점: 기밀성 제공, 공개 키 암호화 방식에 비해 속도가 빠름.
  • 단점: 무결성/ 인증/ 부인방지를 보장하지 않음.
    • 부인방지: 메시지의 송수신이나 교환 후, 또는 통신이나 처리가 실행된 후에 그 사실을 사후에 증명함으로써 사실 부인을 방지하는 보안기술
    • 키 교환 중 탈취 문제 발생 가능성
    • 사람마다 키 교환을 따로 해야하기 때문에, 사람의 수 증가 → 관리해야 할 키의 수가 방대해짐

🔐 대칭 키 암호

  • 하나의 비밀키를 client와 server가 함께 사용
  • 암호화 키 === 복호화 키
  • 공개 키와 비밀 키를 별도로 가지는 것에 비하면 계산 속도가 빠름.
  • 비밀 키 하나만 알아내면 암호화된 내용을 해독 가능 → 해커로부터 안전하지 않음.
  • 대칭 키 암호는 암호화하는 단위에 따라 스트림 암호블록 암호로 나눌 수 있음.
    • 스트림 암호: 연속적인 비트/ 바이트를 계속해서 입력받아서, 그에 대응하는 암호화 비트/ 바이트를 생성하는 방식.
    • 블록 암호: 정해진 한 단위(블록)을 입력받아 그에 대응하는 암호화 블록을 생성하는 방식


🔑 공개 키(Public Key)/ 비대칭 키(Asymmetric Key)

  • 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘
  • 대칭키의 키 교환 문제를 해결하기 위해 등장
    • 키가 공개되어 있기 때문에, 키 교환 필요성이 사라짐.
    • 대칭키의 경우, 송수신자의 키를 알아야하기 때문에 분배가 어렵고 복잡하지만, 공개 키와 비밀 키로 분리할 경우 남들이 알아도 되는 공개 키만 공개하면 됨.
  • 대표적인 알고리즘: Diffie Hellman, RSA, DSA, ECC
    • Diffie Hellman : 최초의 공개키 알고리즘, 위조에 취약
    • RSA : 대표적 공개키 알고리즘
    • DSA : 전자서명 알고리즘 표준
    • ECC : 짧은 키로 높은 암호 강도, 빠른 구현 가능 PDA, 스마트폰등에 사용
  • 장점: 키 분배 필요 X, 기밀성/ 인증/ 부인방지 기능 제공
  • 단점: 느린 속도
    • 긴 문서를 암호화하는데 사용하기 보단, 대칭 키 알고리즘의 키 값에 대한 암호에 사용됨.
  • 방식
    • 암호모드: 송신자 공개 키로 암호화 → 송신자 사설 키로 복호화 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용
    • 인증모드: 송신자 사설 키로 암호화 → 송신자 공개키로 복호화 메시지를 인증 부인방지하는 것이 목적

🔐 공개 키 암호

  • 암호화와 복호화에 사용하는 키가 다름.
    • 공개 키: 모든 사람이 접근 가능한 키/ 암호화에 사용하는 키
    • 비밀 키: 사용자만 가지고 있는 키/ 복호화에 사용하는 키
  • 공개 키는 누구나 알 수 있지만, 비밀 키는 키의 소유자만이 알 수 있음.
    • 특정 비밀키를 가지는 사용자만 내용을 열어볼 수 있음.
    • 안전한 메시지 전달 가능
  • 공개 키 암호화 방식은 우체통에 비유할 수 있음.
    • 우체통의 투입구 공개 키를 통해 누구나 편지를 넣을 수 있음.
    • 편지함은 열쇠 비밀 키를 가진 사람만 열 수 있음.

  • 공개 키 암호화/ 복호화 방식
    • A: B의 공개 키로 암호화한 데이터를 B에 보냄.
    • B: 본인의 비밀 키로 복호화한 평문 확인 → A의 공개키로 응답을 암호화 → A에 보냄.
    • A: 자신의 비밀 키로 암호화된 응답문 복호화
    • 따라서, B의 공개 키에 대응되는 비밀 키를 가지고 있는 B만 해당 데이터를 볼 수 있게 됨.
  • 단, 대칭 키에 비해 암호화/ 복호화 과정이 매우 복잡함.
    • 암호화/ 복호화하는 키가 서로 다르기 때문!

0개의 댓글