- HTTPS(https://)는 SSL(Secure Socket Layer) 인증서를 사용하는 HTTP(http://)입니다.
- SSL 동작 방법
HTTPS는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다. HTTPS는 통신의 인증과 암호화를 위해 넷스케이프 커뮤니케이션즈 코퍼레이션이 개발한 넷스케이프 웹 프로토콜이며, 전자 상거래에서 널리 쓰인다.
HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화한다. 따라서 데이터의 적절한 보호를 보장한다. HTTPS의 기본 TCP/IP 포트는 443이다.
보호의 수준은 웹 브라우저에서의 구현 정확도와 서버 소프트웨어, 지원하는 암호화 알고리즘에 달려있다.
HTTPS를 사용하는 웹페이지의 URI는 'http://'대신 'https://'로 시작한다.
HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML(=HyperText) 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3부터는 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었다.
HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 예를 들면, 클라이언트인 웹 브라우저가 HTTP를 통하여 서버로부터 웹페이지(HTML)나 그림 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 사용자에게 전달하게 된다. 이 정보가 모니터와 같은 출력 장치를 통해 사용자에게 나타나는 것이다.
HTTP를 통해 전달되는 자료는 http:로 시작하는 URL(인터넷 주소)로 조회할 수 있다.
SSL은 웹사이트와 브라우저 사이(또는 두 서버 사이)에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술입니다. 이 기술은 해커가 개인 데이터나 금융 데이터 등의 전송되는 정보를 보거나 훔치는 것을 방지합니다.
네스케이프에 의해서 SSL이 발명되었고, 이것이 점차 폭넓게 시용되다가 표준화 기구인 IETF의 관리로 변경되면서 TLS라는 이름으로 바뀌었다. TLS라는 이름보다 SSL이라는 이름이 훨씬 많이 사용되고 있다.
그래서 대칭키를 보완한 방식으로 나옴(보안이 강화된 대신 컴퓨팅파워를 많이 사용해서 성능은 안좋음)
KEY를 두개를 가짐
A키로 암호화를 하면 B키로 복호화 할 수 있고, B키로 암호화하면 A키로 복호화 할 수 있는 방식
위의 특징으로 사용자와 서버는 서로를 확인할 수 있다.
이 방식에 착안해 두개의 키 중 하나를 공개키(public) 나머지를 비공개키(private)로 지정한다.
비공개키 = 비밀키 = 개인키
공개키 활용방법
비공개키의 소유자는 비공개키를 이용해서 정보를 암호화 한 후에 공개키와 함께 암호화된 정보를 전송(= 인증서 활용방식)한다.
내가 보내고자한 상대가 받았다면 전송한 공개키로 암호화된 정보를 복호화할 수 있다.
정보와 공개키를 획득한 사람은 공개키를 이용해서 암호화된 정보를 복호화한다.
암호화된 데이터를 공개키를 가지고 복호화 할 수 있다는 것은 그 데이터가 공개키와 쌍을 이루는 비공개키에 의해서 암호화 되었다는 것을 의미한다. 즉, 공개키가 데이터를 제공한 사람의 신원을 보장해주게 되는것이다.
비공개키로 암호화되어있음
이때 브라우저는 이 인증서를 발급한 CA가 자신이 내장한 CA의 리스트에 있는지를 확인한다. (CA기관 검증)
2번이 가능하다면 이 인증서가 CA의 비공개키에 의해서 암호화 된것을 의미한다. (상대 검증)
실제 데이터 : 대칭키 사용
대칭키의 키 : 공개키 사용