비대칭키 또는 공개키 암호화 방식은 무엇인가요?
Last updated
Last updated
키 = 암호화를 진행할 때 사용되는 비밀번호
암호화할 때 사용되는 키와 복호화할 때 사용되는 키가 동일한 암호화 기법이다.
장점
데이터를 암호화하기 위한 연산이 빨라 대용량 데이터 암호화에 적합
기밀성을 제공
단점
사용되는 키의 공유가 어렵다.
암호화된 메세지를 상대가 복호화할 수 있게 하기 위해서는 적어도 한번은 대칭키의 공유가 이루어져야하는데, 이 과정에서 대칭키가 유출되면 키를 획득한 사람은 누구나 복호화할 수 있기 때문에 어렵다.
종류
DES(Data Encryption Standard)
3DES
AES(Advanced Encryption Standard)
SEED
ARIA
암호화할 때 사용하는 키와 복호화할 때 사용하는 키카 다르다
하나는 공개키, 하나는 개인키
자신이 가지고 있는 고유한 개인키로만 복호화할 수 있는 공개키를 공개
n명의 사용자로 구성된 네트워크를 고려하면 각 사용자는 공개키와 개인키 두 개를 보유하고 있으므로 네트워크 전체적으로 2n개의 키가 요구됩니다. 각 유저는 2개의 키만 보유하고 있으면 됩니다.
장점
키 분배 및 키 관리가 용이
기밀성, 무결성을 지원
부인 방지 기능을 제공
단점
서로 다른 방법으로 암호화,복호화를 사용해서 리소스가 필요하다.(시간이 더 많이 든다)
진행과정
A가 공개된 ‘B의 공개키’로 암호화해서 B에게 보냄
B는 자신의 개인키로 내용을 확인하고 ‘A의 공개키’로 응답을 암호화해서 A에게 보냄
A는 자신의 개인키로 암호화된 응답을 복호화
종류
RSA
디피-헬만
타원곡선암호
전자서명
공개키(비대칭키) 암호화 방식과 공개키의 느리다는 단점을 보완한 대칭키 암호화(세션키) 방식을 함께 사용한다. 공개키 방식으로 대칭키를 전달하고, 서로 공유된 대칭키를 가지고 통신하게 된다.
HTTP를SSL(Secure Sockets Layer) 프로토콜위에서 돌아가도록하여 클라이언트와 서버가 주고받는 텍스트를 암호화합니다. SSL은 TLS(Transport Layer Security)라는 또 다른 프로토콜의 이전 버전입니다
A라는 서버를 만드는 기업이 HTTPS를 적용하기 위해 공개키와 개인키를 만듭니다.
신뢰할 수 있는 CA 기업에 공개키 관리를 부탁하며 계약을 맺습니다.
계약이 완료된 CA 기업은 A 서버의 공개키, 해당 기업의 이름, 공개키 암호화 방법을 담은 인증서를 만들고 해당 인증서를 CA 기업의 개인키로 암호화해서 A 서버에게 제공합니다.
A 서버는 직접적인 공개키가 아닌 암호화된 인증서를 보유하게 되었습니다.
클라이언트가 통신 요청을 보내면 앞선 SSL/TLS Handshake 과정을 수행하여 연결을 수립합니다.
클라이언트와 A 서버와 통신을 시작합니다.