웹서버

김수정·2020년 7월 8일
0

HTTP

Hypertext Transfer Protocol
Hypertext: 문서와 문서 간에 링크로 연결되어 있는 체계(Html)
Transfer: 전송
Protocol: 규약

HTTPS

S: Over Secure Socket Layer의 약자. 보안이 강화된 HTTP
Https는 ssl프로토콜 위에서 돌아가는 하나의 프로토콜입니다.
tls는 IETF가 ssl관리를 맡으면서 이름을 tls로 바뀌었다.

SSL 디지털 인증서

클라이언트와 서버간의 통신을 제3자가 보증해주는 전자화된 문서.
대칭키 방식: 암호화와 복호화를 할 때 같은 키값을 이용해서 진행하는 방식.
공개키 방식: A키로 암호화를 하면 B키로 복호화할 수 있고, B키로 암호화하면 A키로 복호화할 수 있는 방식. 공개키는 암호화만 가능. 개인키는 복호화가 가능함.

전자서명 방식
개인키를 갖고 있는 사람이 암호화를 한 뒤, 공개키를 갖고 있는 사람에게 정보를 넘깁니다.
이는 보안의 목적이 아니기 때문에 괜찮습니다. 왜냐면 둘이 같은 쌍이어야만 복호화가 가능하기 때문에 같은 사람임을 인증해줍니다.

인증서의 기능
1) 클라이언트가 접속한 서버가 신뢰할 수 있는 서버임을 보장한다.
2) SSL 통신에 사용할 공개키를 클라이언트에게 제공한다.

CA
Certificate authority 라고 불립니다. 내가 의도한 서버가 맞는지 보장하는 민간기업.
ssl을 통해서 암호화된 통신을 제공하려는 서비스는 CA를 통해서 인증서를 구입해야 합니다.

사설 인증기관
개발이나 사적인 목적으로 인해 SSL 암호화를 이용하려는 거라면 자신이 직접 CA역할을 할 수도 있습니다. 물론 공인이 아니라서 브라우저는 경고를 출력합니다.

인증서의 내용
1) 서비스의 정보(CA, 도메인 등등)
2) 서버 측 공개키(공개키의 내용, 공개키의 암호화 방법)

SSL 동작방법

공개키방식은 컴퓨팅 자산을 너무 잡아먹어서 그대로 사용하기는 어렵습니다.
그래서 실제 데이터는 대칭키 방식으로 작업하고, 대칭키에 대한 정보는 공개키 방식으로 암호화합니다.

컴퓨터가 네트워크를 통해서 통신할 때의 3단계
악수(handshake) > 전송(session) > 세션종료

1) 악수
2) 전송
3) 세션종료

profile
정리하는 개발자

0개의 댓글