대칭키-비대칭키 암호화


대칭키 암호화

  • 하나의 Key암호화복호화를 수행
  • 단순하고 간편함
  • 비대칭키 암호화에 비해서 훨씬 빠른 암/복호화 성능

만일 암/복호화 대상이 되는 데이터의 크기가 크다면 대칭키 암호화가 좋은 선택이 될 수 있다.


대칭키 암호화 종류

실제 대칭키 암호화 알고리즘의 종류는 수천가지다.

가장 많이 사용되는 알고리즘은 DES, AES

그 중 AESDES의 대안으로 만들어졌으며 더 안전하고 빠르며 유연하다.

또한 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 keypublic key를 사용하여 서버/클라이언트는 각각의 신원을 확인한다.

신원확인이 완료되면, session key를 이용한 대칭 키 암호화를 통해 데이터를 암호화