대칭키-비대칭키 암호화
대칭키 암호화
- 하나의
Key
로 암호화와 복호화를 수행 단순하고 간편함
비대칭키
암호화에 비해서 훨씬 빠른 암/복호화 성능
만일 암/복호화 대상이 되는 데이터의 크기가 크다면
대칭키 암호화가 좋은 선택이 될 수 있다.
대칭키 암호화 종류
실제 대칭키 암호화 알고리즘의 종류는 수천가지다.
가장 많이 사용되는 알고리즘은 DES
, AES
그 중 AES
는 DES
의 대안으로 만들어졌으며 더 안전하고 빠르며 유연하다.
또한 KEY의 길이가 길면 길수록 더 보안이 강하다.
AES가 주로 사용되는곳
무선 보안
파일 암호화
SSL/TSL 프로토콜
- 웹사이트 보안Wi-Fi 보안
모바일 어플리케이션 보안
VPN
- 등등
이처럼 많은 곳에서 AES
암호화 알고리즘이 사용된다.
비대칭키 암호화(공개키 암호화)
대칭키 암호화
와 대비되는 것은 암/복호화를 위한 Key
가 별도로 존재한다는 점이다.
다시말해, 비대칭 암호화는 수학적으로 서로 연관
된 두 개의 암호화 키
를 갖는다.
이 두 개의 키는 각각 public key
, private key
로 지칭되기도 하며, 이러한 비대칭키 암호화 알고리즘을 공개키 암호화 방식이라고 지칭하기도 한다.
이 때 공개키
는 말 그대로 외부에 공개되어도 되는 Key로써, 평문의 암호화만 가능
한 key 이다. 그리고 public key로 암호화된 암호문은 private key로만 복호화가 가능
하다.
비대칭키 암호화의 특징과 장점
가장 큰 장점은 바로 보안성
이다.
위에서 언급했듯, 비대칭키 암호화 방식에서 **public key
는 암호화만 가능하고 이를 **private key
로만 복호화 할 수 있다.
따라서 public key를 네트워크를 통해 배포를 해도 보안상의 우려가 적다.
또한 트래픽이 상당한 메일/웹 서버의 경우 클라이언트에게 public key만 제공
하고 본인은 하나의 private key
만 관리하면 되기 때문에 관리의 용이성이 존재한다.
둘째로 인증과 증명
으로써의 장점이 있다.
public key에 의한 암호화
와 private key에 의한 복호화
메커니즘은 데이터를 수신하는 쪽에서만 복호화 가능하기 때문에 수신자가 신뢰 가능한 대상이라는 증명과 인증이 되었을 경우 비대칭키 암호화 방식을 신뢰하고 사용할 수 있다.
비대칭키 암호화 종류
보통은 RSA
가 가장 보편적으로 많이 사용된다.
대칭키/비대칭키 혼합 사용
웹 어플리케이션
과 같이 데이터의 암호화 성능
은 높이고 호스트(서버) 증명
과 같은 신뢰성도 필요한 경우가 대부분이다.
이런 요구사항을 위한 아이디어로부터 하이브리드 암호화
가 고안되었다.
하이브리드 암호화
기술은 SSL/TLS 증명서
와 같은 어플리케이션에서 사용된다.
주로 TLS 핸드셰이크
라고 불리는 서버와 클라이언트(웹 브라우저) 간의 통신에서 사용된다.
이러한 핸드셰이크
과정에서 private key
와 public key
를 사용하여 서버/클라이언트는 각각의 신원을 확인한다.
신원확인이 완료되면, session key
를 이용한 대칭 키 암호화
를 통해 데이터를 암호화