티스토리 뷰
HTTPS?
HTTPS : HTTP + secure
http 프로토콜 내용을 암호화
Secure! 즉 더 안전하다는 의미
http 정보 들여다볼수있다 <= 이말은 즉 아이디 비번 털린다고~
네이버로 접속을 하고싶음
근데...피싱사이트에 낚여서 네이놈에 접속이됨(앗!)
거기에 내 아이디 비번을 치면...털린다...ㅎㅎ..내정보

안녕! 나야 HTTPS
내가 막아주겠어!!
기관에서 검증해준 사이트들만 HTTPS를 달고 사용할수가 있음
예~전에는 http가 많았지만 요즘에는 https가 많다.
http접속으르 하면 아래같은 경고창이뜬다.
안전하지 않다는것!
HTTPS 안전성
안전한 이유 :
- 내가 사이트에 보내는 정보들을 제3자가 못보게해줌.
- 접속한 사이트가 믿을만한 곳인지 알려줌
HTTP는 인터넷상 커뮤니케이션 방법의 하나. 프로토콜이다.
인간과 다르게.. 컴퓨터는 바보!! 바보같은놈들..
하나하나 갈켜줘야됨
네이버에 보낼때마다 알려줘야된다
자~~ 이 메시지들은 HTTP(S) 형식이야! 일일이 명시..
그럼 네이버서버 : 그래 그형식으로 읽을게
옛따 응답!!!
안정성이 돌아가는 원리
- 내가 사이트에 보내는 정보들을 제3자가 못보게해줌.
- 접속한 사이트가 믿을만한 곳인지 알려줌
=> 대칭키와 비대칭키를 통해서 구현이 되는것
- 내가 사이트에 보내는 정보들을 제3자가 못보게해줌.
대칭키 : 둘이 같은 암호문을 가지고 있으면 된다.
어떤 알고리즘에 넣고 돌리면 ? => 전혀 알수없는 우리만의 암호문이 생김
복호화: 키값을 알면 알고리즘 거꾸로 돌려서 되돌려놓는다.
근데!
어떻게 이 동일한 키를 양쪽이 공유를 하지?
한번!은 키를 보내야되는데 이렇게 쳐다보고있으면 말짱 꽝이되버린다.
=> 대칭키의 한계 ㅠㅠ
비대칭키 등장!!
대칭키 ? a키로 암호화, a키로 복호화
비대칭키? a키로 암호화, b키로 복호화
비대칭키!
두키중에 하나는 비밀로 해둠 = 개인키
다른하나 = 대중공개 = 공개키
사용자는 공개키로 비번을 암호화해서 네이버같은곳에 보냄
빌런이 가로채려해도 공개키로는 불가능쓰~
개인키를 가진 네이버만 볼수있듬 키키
2.접속한 사이트가 믿을만한 곳인지 알려줌
네이버가 우리한테 정보를 보낼때?
=> 일부가 네이버의 개인키로 암호화 되어있다.
우리가! 공개키로 알수있는건? 네이버의 개인키로 암호화된 정보들 뿐.
네이놈에서 온것들? 네이버의 공개키로는 풀리지않는다.
음 오류야!
결국
신뢰할 수 있는 기관에서 우리에게 네이버 공개키만 검증해주면 이걸기준으로 네이버를 사용~!
CA?
네이버가 뿌린 공개키 음 찐인가 짭인가?
네이놈일수도있자나...
이걸인증해주는 공인된 민간기업 = CA
우리의 브라우저 크롬,사파리,파이어폭스 등등은 CA목록 내장되어있다.
내컴퓨터 즉 브라우저측을 서버와 상대되는 개념 클라이언트라고 부름
얘네는 일단 첫만남 Handshake~를 한다.
클라이언트는 랜덤데이터를 생성해서 서버한데 보낸다
서버도 개소리하면서 답변 보내줌
근데 인증서도 함꼐 보내줄게~
oh 핸드쉐이크 성사 oh

안녕 나 클라이언트
내가 이제 인증서 짭인지 찐인지 구별해주갓으
내장되어있는 CA로 !! 인증서 정보를 확인
그래서 이제 정보들을 대칭키 + 비대칭키를 사용해서 건내줌
다량의 데이터 비대칭키로 모두 하는건 너무 컴퓨터에 부담을 많이줌 ㅠㅠ
그래서! 두개 섞어섞어
우선 대칭키로 암호화해줌
클라이언트는 아까 받은 정보로 임시키를 생성함
임시키는 서버의 공개키로 암호화돼서 보내짐
양쪽서 일련의 과정을 거쳐
동일한 대칭키로 탄생
둘의 비밀언어..키킥 비밀연애마냥..
서로주고받아지는 메시지는 제3자가 모른다..
해시/ 솔트
해시(Hash)는 어떻게 암호화?
예시로 설명하면 평문의 비밀번호 "sophiecode1105"를 해시함수(해시 알고리즘)를 이용하여 고정된 길이의 암호화된 문자열로 바꿔 버리는 것이 해시를 이용한 암호화 기법이다.
솔트(salt)는 어떻게 암호화?
암호학에서 솔트(salt)는 데이터, 비밀번호, 통과암호를 해시 처리하는 단방향 함수의 추가 입력으로 사용되는 랜덤 데이터이다.
'백엔드&컴퓨터사이언스' 카테고리의 다른 글
[컴퓨터공학] 인코딩,유니코드,UTF-8이 뭐람 (0) | 2021.12.30 |
---|---|
[인증/보안] 세션 vs 토큰 JWT (0) | 2021.12.28 |
[인증/보안] 쿠키와 세션 : 사이트입장에서 접속자가 누구인지 식별할 수 있는 용도 (0) | 2021.12.27 |
INNER JOIN, LEFT JOIN 차이! (0) | 2021.12.25 |
데이터베이스 개념 정리 (0) | 2021.12.25 |