✅ 대칭키와 비대칭키는 무엇이고 어떤 차이가 있을까?
이처럼 이러한 방식들 중 하나가 이전 까지 사용되어왔던 1> 대칭키
방식으로 메시지를 보내는 쪽과 메시지를 받는 쪽이 메시지를 암호화하고 이를 다시 메시지로 바꿀 때, 복호화 시 같은 방식을 공유하는 것을 의미한다.
WHAT IS❓
- 대칭키? 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘을 의미한다.
- 장점, 동일한 키를 주고받기 때문에, 매우 빠르다.
1> 유저의 컴퓨터와 네이버 서버에 동일한 키가 있다면 대칭 즉, 양쪽이 똑같다.
2> 유저가 로그인을 할때 실어 보내는 비밀번호를 동일한 키로 암호화한다.
3> 네이버에서는 마찬가지로 이를 복호화해서 인식한다.
- 동일한 키를 양쪽이 공유하기 위해서는 결국 한번은 한쪽에서 다른쪽으로 해당 키를 전송해야 하기에 이 과정에서 중간에 누군가 키를 훔쳐 본다면 문제가 발생한다.
- 이를 보완하여 등장한 방식이 비대칭 키 또는 공개 키라고 불리는 시스템이다.
비대칭 키에는 2개의 키가 사용되는데 A키와 B키는 한 쌍이지만 서로 다르기 때문에 비대칭키라 부른다.
- 비대칭키란? 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘이다.
- 자신이 가지고 있는 고유한 암호키(비밀키)로만 복호화할 수 있는 암호키(공개키)를 대중에 공개한다.
- 네이버 서버는 A,B 키들 중 하나 만을 비밀로 보관, 이것을 개인키라 부르고 다른 하나의 키는 누구나 볼 수 있도록 대중들에게 공개한다.
- 사용자는 공개키로 비밀번호를 암호화 해서 네이버에 보낸다.
- 이때 누군가 가로채도 같은 공개 키로는 이 암호문을 풀어낼 수가 없으며 이것을 볼 수 있는 건 오직 개인키를 가진 네이버 뿐이다.
=> 따라서 이러한 원리로 개인 정보들을 안심하고 사이트에 보낼 수 있게된다.
- 네이버 서버에서 유저에게 보내는 정보들은 일부가 네이버의 개인키로 암호가 되어 있다.
- 유저가 네이버에 공개키로 풀어서 알아볼 수 있는 건 네이버의 개인 키로 암호화된 정보들 뿐이므로 외부 피싱 사이트에서 온 정보들은 네이버의 공개키로 풀리지 않기 때문에 네이버의 공개키로 열어보면 오류가 발생한다.
=> 따라서 신뢰할 수 있는 기관에서 우리에게 네이버 공개키만 검증해 준다면 그것을 기준으로 안전하게 네이버를 이용할 수 있다
- 비대칭 키 방식으로 메시지를 암호화 및 복호화하는 건 대칭키로 할 때 보다 컴퓨터에 훨씬 큰 부담을 준다.
- 따라서 사이트를 이용할 때 주고받을 다량의 데이터를 비대칭 치로 일일이 암호화, 복호화하는건 무리가 있다.
=> 1. 데이터를 대칭키로 암호화를 하고 2. 그 대칭 키를 공유할 때 비대칭 키를 사용한다.
대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에는 계속 대칭키 암호화 방식으로 통신한다.
- https://ko.gadget-info.com/difference-between-http, HTTP와 HTTPS의 차이점
- https://www.youtube.com/watch?v=H6lpFRpyl14&t=65s, 얄코 HTTPS가 뭐고 왜 쓰나요? (Feat. 대칭키 vs. 비대칭키)
- https://gyoogle.dev/blog/computer-science/network/HTTP%20&%20HTTPS.html