🧐TIL
[다시하는 백엔드 기초 공부] 대칭키 / 비대칭키
앞서 SSL/TLS에 대한 포스트에서 통신 간 기밀성, 무결성, 신뢰 확보를 위해 공개키와 비공개키, 암호화와 복호화가 사용된다는 내용을 작성했다.
이번 포스트에서는 SSL/TLS 프로토콜에서 데이터 암호화를 위해 사용되었던 두 방식인 대칭키와 비대칭키에 대해 알아본다.
대칭키 암호 (Symmetric Key Cryptography)
— 대칭되는 하나의 같은 키를 데이터의 암호화와 복호화에 모두 사용하는 방식.
- 장점: 빠르다 (대용량 데이터 암호화에 적합)
- 단점: 키를 안전하게 주고받는 문제가 있다. 단일 키를 사용하기 때문에 키가 중간에 유출되면 데이터의 기밀성을 잃는다.
- 대표 알고리즘:
비대칭키 암호 (Asymmetric Key Cryptography)
— 서로 다른 두 개의 키를 사용하여 데이터를 암호화하고 복호화 하는 방식.
- 두 개의 키는 **공개키(Public Key)**와 **비밀키(Private Key)**로 나뉘며, 공개키로 암호화를 하고 공개키에 대응하는 비밀키만으로 복호화를 할 수 있다. 일종의 우편함처럼 누구나 우편함에 편지를 넣을 수 있지만(공개키로 암호화), 우편함을 열어볼 수 있는 건 열쇠(비밀키)를 가진 사람만 가능한 형태.
- 장점: 대칭키에 비해 보안성이 높다. 공개키가 유출되어도 비교적 안전하다.
- 단점: 연산이 무겁고 느려서 대용량 데이터 암호화에는 부적합하다.
- 대표 알고리즘