본문 바로가기

cs(with 매일메일)

[251209화] 대칭키 및 비대칭키 암호화 방식에 대해서 설명해주세요

평문을 암호화하고 복호화하는 경우 키를 사용할 수 있다. 이때, 암복호화에 사용하는 키가 동일한 경우 대칭키 암호화(Symmentric Key Cryptography)하고 하며, 암복호화에 사용하는 키가 서로 다른 경우를 비대칭키 암호화 혹은 공개키 암호화(Asymmetric Key Cryptography)라고 한다. 

 

대칭키 암호화

- 비대칭키 암호화에 비해서 속도가 빠르다고 알려져 있다.

- 하지만, 대칭키를 교환하는 과정에서 탈취 위험성이 존재할 수 있다.

- 또한, 대칭키 암호화 방식에서는 각 통신 참여자 쌍마다 다른 키가 필요할수 있는데 이 경우 통신 대상이 많아질수록 대칭키의 수가 많아지므로 키 관리가 복잡해질 수 있다. 

- DES, AES, SEED, ARIA

 

비대칭키 암호화

- 공개키와 개인키가 존재한다.

- 일반적으로 이 방식에는 송신자는 수신자의 공개키를 이용해 암호화를 수행하고, 암호화된 데이터는 수신자에게 전달된다.

- 수신자에게 전달된 이후, 수신자는 개인키를 사용해 복호화를 수행한다. 이 방식은 대칭키 암호화 방식에서 발생하는 키 교환 문제를 해결하지만, 상대적으로 대칭키 암호화에 비해 느린것이 단점이다. 

- 개인키로 데이터를 암호화하고, 공개키로 복호화하는 경우도 존재하는데, 이러한 방식은 암호화를 수행한 자에 대한 검증이나 서명을 위한 용도로 사용된다. 

- RAS, ECC 

 

✨ HTTPS SSL/TLS 방식

대칭키와 비대칭키의 장점만을 살리기 위해 하이브리드 방식을 사용한다. 비대칭키로 대칭키를 교환하는 방식이다. 

송신자(클라이언트) : 서버 공개키로 대칭키를 암호화 

수신자(서버) : 본인 개인키로 복호화하면 대칭키를 얻을 수 있다!

이후 모든 통신은 대칭키로 진행한다.