대칭키와 공개키

유재우·2022년 11월 7일
0

CS공부

목록 보기
6/26

대칭키와 공개키

대칭키의 암호화 방식은 암복호화에 사용하는 키가 동일한 암호화 방식을 말한다.

공개키 암호화 방식은 암복호화에 사용하는 키가 서로 다르며 따라서 비대칭키 암호화라고도 한다.


대칭키

  • 암복호화키가 동일하며 해당 키를 아는 사람만이 문서를 복호화해 볼수 있다.

대표 알고리즘

DES, 3DES, AES, SEED, ARIA

장점

  • 암호화 방식에 속도가 빠르다.
  • 대용량 Data 암호화에 적합하다.

단점

  • 키를 교환해야 한다.
  • 과정 중에 탈취가 될 수 있다.
  • 사람이 증가할수록 키 관리가 어렵다.
  • 확장성이 떨어진다.
  • 기밀성을 제공하나, 무결성/인증/부인방지를 보장하지 않는다.

공개키

  • 모든 사람이 접근 가능한 키이고, 개인키는 각 사용자만이 가지고 있는 키이다.

방식

  • 암호모드: 송신자 공개키로 암호화 -> 송신자 사설키로 복호화
    소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용
  • 인증 모드: 송신자 사설키로 암호화 -> 송신자 공개키로 복호화
    메시지를 인증(부인방지) 하는 것이 목표

대표알고리즘

Diffie Hellman: 최초의 공개키 알고리즘
RSA: 대표적 공개키 알고리즘
DSA: 전자서명 알고리즘 표준
ECC: 짧은 키로 높은 암호 강도, 빠른 구현 가능(PDA, 스마트폰 등에 사용)

장점

  • 키 분배 필요가 없다.
  • 기밀성/인증/부인방지 기능을 제공한다.

단점

  • 속도가 느리다

디지털 인증서 원리

디지철 인증서에는 모두가 신뢰할 수 있는 제3자인 CA와 비대칭키 암호화가 필요하다

  1. B는 CA에게 자신이 B임을 증명하고 자신의 공개키가 B의 공개키가 맞음을 인증하는 인증서 발급
  2. A에게 B의 공개키가 포함된 이 인증서를 줌
  3. 인증서를 받은 A는 자신이 신뢰할 수 있는 CA에게 CA가 발급한 인증서인지 확인
  4. CA가 발급한 인증서가 맞으면 그 인증서에 포함된 B의 공개키로 데이터를 암호화해서 B에게 전달

만약 최종적으로 B가 올바르게 자신의 개인키로 복호화한다면,
CA가 인증하는 B의 공개키에 대응하는 개인키를 가지고 있다는 것이므로,
이 과정을 통해 현재 통신하고 있는 상대방이 B가 맞음을 인증할 수 있다.

참고한 블로그

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글