이론/네트워크

네트워크 - 대칭키 & 공개키

방구석 대학생 2022. 1. 29. 21:17

 

대칭키(Symmetric Key)

암호화와 복호화에 같은 암호키(대칭키) 를 사용하는 알고리즘이다.

동일한 키를 주고받기 때문에, 매우 빠르다는 장점이 있다.

하지만 대칭키 전달과정에서 해킹 위험에 노출될 수 있다.

 

공개키(Public Key)

암호화와 복호화에 사용하는 암호키를 분리한 알고리즘 이다.

자신이 가지고 있는 고유한 암호키(비밀키) 로만 복호화 할 수 있는 암호키(공개키)를 대중에 공개한다.

 

공개키 암호화 방식 진행 과정

1. A가 웹 상에서 공개된 'B의 공개키' 를 이용해 평문을 암호화 하여 B에게 보낸다.

2. B는 자신의 비밀키로 복호화 한 평문을 확인, A의 공개키로 응답을 암호화 하여 A에게 보낸다.

3. A는 자신의 비밀키로 암호화된 응답문을 복호화 한다.

 

대칭키의 단점을 완벽하게 해결해찌만, 암호화 복호화가 매우 복잡하다.

(암호화 하는 키와 복호화 하는 키가 서로 다르기 때문이다.)

 

대칭키와 공개키 암호화 방식을 적절히 혼합해보면 SSL 탄생의 시초가 된다.

1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화 하고 B에게 보낸다.
2. B는 암호문을 받고, 자신의 비밀키로 복호화 한다.
3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화 하여 A에게 보낸다.
4. A는 자신의 대칭키로 암호문을 복호화 한다.
5. 앞으로 이 대칭키로 암호화를 통신한다.

즉, 대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에는 계속 대칭키 암호화 방식으로 통신하는 것이다.

 

 

 

참고 : https://gyoogle.dev/blog/

 

👨🏻‍💻 Tech Interview

 

gyoogle.dev