지난 번 HTTPS가 SSL을 통해 데이터를 암호화하는 방식을 공부했다.
그렇다면 대칭키가 뭐고 비대칭키가 뭔지도 제대로 알아봐야 할 것이다.
1. 공개키와 비밀키
공개키는 모두가 볼 수 있는 키이며, 비밀키는 소유자만이 가지고 있는 키로 암호화, 복호화에 사용된다.
2. 암호화 방식
암호화 방식에는 비대칭키 암호화와 대칭키 암호화가 있다.
우선 대칭키 암호화는 서버와 클라이언트 간에 암호화와 복호화에 동일한 비밀키를 사용하는 방식으로,
키를 공유하는 것에 어려움이 있으나 속도가 빠르다는 장점이 있다.
반대로 비대칭키 암호화는 서버와 클라이언트가 암호화와 복호화에 각각 다른 비밀키를 사용하는 방식으로,
공개키를 통해서 암호화를 하고 비밀키를 통해서 복호화를 한다. 공개키는 공개해도 상관 없기에 키 관리에 어려움은 없지만 속도가 느리다는 단점이 있다.
3. CA(Certificate Authority) 인증기관
클라이언트가 접속을 요청한 서버가 의도한 서버가 맞는지 인증해주는 역할을 하는 보증된 기업들이다.
대표적으로는 글로벌사인(GlobalSign), 코모도(Comodo)등이 있다.
SSL은 비대칭키 암호화와 대칭키 암호화 방식이 모두 쓰인다고 했다.
클라이언트의 랜덤데이터와 서버의 랜덤데이터를 통해 생성한 pre master secret키는 대칭키로 활용하기 위해 서버의 공개키로 암호화한 뒤, 이를 수신한 서버가 서버의 비밀키로 복호화하여 master secret 값을 만든 뒤 session key를 생성한다. 이는 대칭키로 활용한다. 이러한 과정을 거치기에 비대칭키와 대칭키 암호화 방식을 모두 사용한다는 것이다.
'이론 > IT' 카테고리의 다른 글
TCP/IP 4계층 (1) | 2023.11.22 |
---|---|
TCP와 UDP (2) | 2023.11.22 |
HTTPS (0) | 2023.11.22 |
HTTP (0) | 2023.11.22 |
RESTful API (2) | 2023.11.22 |