HTTPS
Htper
Text
Transfer
Protocol
Secure
😎기존의 HTTP 사이트보다 안전하다는 뜻
안전하다는 건?
- 사용자가 웹사이트에 보내는 정보를 다른 누군가 훔쳐보지 못하게 한다
- 사용자가 접속한 사이트가 진짜인지 가짜인지 판별해 준다
어떤 원리인지를 알려면 대칭키 비대칭키 를 알아야 한다
대칭키
기존에 많이 사용되던 방식
메시지를 보내는 쪽과 메시지를 받는 쪽이 메시지를 암호화하고, 이를 다시 메시지로 바꾸는 즉 복호화 하는 같은 방식을 공유한다
상대방에게 보낼 때 메시지와 “키” 를 같이 알고리즘에 넣어서 암호화한 다음 보내고 받는 사람은 “키”값을 알아야 하고 그 “키”값으로 알고리즘을 거꾸로 돌려서 해독한다 이 과정을 복호화라고 함
서로 키를 가지려면 한 번은 키를 건네줘야 하는데 이때 누군가가 키를 훔쳐볼 수도 있다 이게 대칭키의 한계점
비대칭키<공개키>
비대칭키 또는 공개키라고 불림
A 와 B 키가 있고 둘은 한 쌍이다 하지만 서로 다르기 때문에 “비대칭키” 라고 불린다
A키로 암호화를 하면 B키로만 복호화를 할 수 있다 반대로 B키로 암호화를 하면 A키로만 복호화를 할 수 있다
보통 서버에서 비밀키(개인키) 다른 하나(공개키)를 대중에게 공개한다
공개키가 정품인지 어떻게 알지?
키를 인증해 주는 공인된 민간기업들 을 CA라고 부름
브라우저에는 이 CA들의 목록이 저장되어 있다
반가워 Handshake (악수) 하자
사용자는 서버를 처음부터 믿지 못하기 때문에 서로 탐색하는 과정을 거친다 그 과정을 handshake (악수) 라고 한다
사용자는 서버에게 무작위 데이터를
그걸 받은 서버는 무작위 데이터와 인증서를 사용자에게 보낸다
브라우저에 저장된 CA의 정보로 인증키가 진짜인지 확인한다 CA 리스트 중에 이 인증서가 해당하는 것이 없다면 경고창이 생긴다 “이거 우리가 공인한 HTTPS가 아닌데 괜찮아?” 라는 식으로
HTTPS 참 쉽죠? 😘
'개발자 성장 일지' 카테고리의 다른 글
너 혼자 왜 난리야.. <file 타입의 input 태그의 value 값 조정하는 방법 > (0) | 2022.05.04 |
---|---|
난 남들과 달라 UUID (0) | 2022.05.04 |
Spring transaction<트랜잭션> (0) | 2022.04.29 |
Filter (0) | 2022.04.09 |
로그인...쿠키..세션 (0) | 2022.04.09 |