[iOS CS Study] HTTP, HTTPS, SSL, 공개키&대칭키

Oxong·2021년 8월 18일
0

iOS CS Study

목록 보기
15/18
post-custom-banner

21.08.16

공부한 것을 정리하는 용도의 글이므로 100% 정확하지 않을 수 있습니다.
참고용으로만 봐주시고, 내용이 부족하다고 느끼신다면 다른 글도 보시는 것이 좋습니다.
+ 틀린 부분, 수정해야 할 부분은 언제든지 피드백 주세요. 😊

                                                 by. ryalya





HTTP


- Hypertext Transfer Protocol(하이퍼 텍스트 전송 프로토콜)의 약자로 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜.

프로토콜 = 규약, 달라서는 안됨.

- 인터넷 초기에 모든 웹사이트에서 기본적으로 사용됨.

** HTTP의 문제점 : 서버에서부터 브라우저로 전송되는 정보가 암호화되지 않음 = 해킹(데이터 도난)가능성↑


HTTPS


- Hypertext Transfer Protocol Secure(하이퍼 텍스트 전송 프로토콜 보안)의 약자.

- HTTP의 문제점을 SSL(Secure Socket Layer, 보안 소켓 계층)을 사용하여 해결함.


SSL


웹사이트와 브라우저(혹은, 두 서버) 사이에 전송된 데이터를 암호화하여 인터넷 연결을 보안을 유지하는 표준 기술.

쉽게 말해 input-output하는 데이터들을 암호화하는 보안 기능을 갖고 있는 보안 인증서.

TLS(Transport Layer Security)는 과거 SSL에서 이름이 변경된 명칭. but 아직도 SSL이란 명칭을 많이 사용한다.

SSL은 보안, 성능의 이유로 공개키 암호화 방식과 공개키의 단점을 보완한 대칭키 암호화 방식을 함께 사용한다.(공개키 방식은 느리다는 단점이 있다.)

공개키방식으로 대칭키를 전달하고, 서로 공유된 대칭키를 가지고 통신하게 된다.


공개키 방식


HTTPS는 공개키/개인키 암호화 방식을 이용해 데이터를 암호화한다.
(공개키와 개인키는 서로를 위한 1쌍의 키.)

공개키 암호화란 간단하게 말해 암호를 암호화하기 위한 암호화키와 복원하기위한 복호화키가 서로 다른 방식.

- 개인키 암호화 (발신) → 공개키는 모두에게 공개되어 있으므로, 내가 인증한 정보임을 알려 신뢰성을 보장할 수 있다.

- 공개키 암호화 (수신) → 개인키는 나만 가지고 있으므로, 나만 볼 수 있다.


장점

  • 기밀성 (Confidentiality)
  • 부인 방지 (Non-repudiation)

단점

  • 대칭키에 비해 느림


대칭키 방식


암호화를 할 때 사용하는 비밀번호를 키(key)라고 한다.

대칭키는 동일한 키로 암호화, 복호화가 가능하다.

대칭키는 매번 랜덤으로 생성되어 누출되어도 다음번에 사용할 때에는 다른 키가 사용되기 때문에 안전하다.


장점

  • 공개키보다 빠름


이러한 SSL방식을 적용하려면 인증서를 발급받아 서버에 적용시켜야한다.

인증서는 사용자가 접속한 서버가 우리가 의도한 서버가 맞는지를 보장하는 역할을 한다.

이러한 인증서를 발급하는 기관을 CA(Certificate authority)라고 부른다.

공인인증기관의 경우 브라우저는 미리 CA 리스트와 함께 각 CA의 공개키를 알고 있다.



인증서 발급 과정


출처 : [네트워크]HTTP와 HTTPS의 차이점 그리고 동작 방식


사용자가 사이트에 접속하는 과정


출처 : [네트워크]HTTP와 HTTPS의 차이점 그리고 동작 방식


+)
https://www.hamadevelop.me/http3/?fbclid=IwAR0B-Dl_8AyhHYX56zDzq3-URYEJj9OkNXRjwXV0DAsW015Ta3lV1FJZzXU

https://youtube.com/watch?v=xcrjamphIp4&feature=share


Reference

HTTP VS HTTPS 차이, 알면 사이트의 레벨이 보인다.

[네트워크]HTTP와 HTTPS의 차이점 그리고 동작 방식

[Web] HTTP와 HTTPS 및 차이점

post-custom-banner

0개의 댓글