SSL, TSL 기본

in #kr7 years ago

d.jpg

SSL(Secure sockets layer)은 1) 인터넷 연결시 보안 유지 또는 2) 두 시스템간 이동되는 중요 데이터의 보안을 위한 표준 기술이다. 여기서 2개 시스템은 서버 하나 클라이언트 하나가 될 수도 있고, 개인 신원확인 정보나 결제 정보를 가진 어플리케이션처럼 2개의 서버일 수도 있다. 여기에는 데이터를 뒤죽박죽 섞는 암호화 알고리즘이 사용되어 해커들이 전송 데이터들을 제대로 읽기 어렵게 만든다.
요새는 TLS(Transport Layer Security)라는 이름으로 불리는데, 단지 SSL의 업데이트 버전이라고 보면 된다. 지금은 우리가 ‘SSL’을 구매하면 사실상 ECC,RSA나 DSA 암호화 옵션과 함께 최신 TLS 인증서들도 함께 구입하게 된다.

이 SSL 인증서로 보호 받는 웹사이트인지 알아보는 방법은 아주 쉽다. url에 HTTPS가 포함되었는지 보면 된다. 발행 권한이나 웹사이트 소유자 등 더 자세한 정보를 보고 싶다면 브라우저 바에서 자물쇠 모양을 클릭하면 된다.

네이티브 SSL : 만약 사용자의 libcurl (클라이언트 프로그램 제작을 위해 사용되는 커맨드 라인용 데이터 전송 라이브러리, C 기반. HTTP, HTTPS, FTP, LDAP, SCP, TELNET, SMTP, POP3 등 주요 프로토콜 지원)이 Schannel(윈도우즈의 Secure channel, 보안 서비스 제공자)이나 Secure Transport support로 구축되었다면, 이 사용자는 SSL과 관련이 없다.
(만약 잘 모르겠으면 [ curl -V ] 의 결과를 확인해 보자. 거기에 만약 “WinSSL”이 있다면 Schannel로 구축된 게 맞다.)
SSL 인증서 확인은 libcurl에 의해 기본값으로 수행되는데, libcurl은 피어의 서버 인증서가 유효한지 확인하기 위해 CA(Certificate Authorities) 인증서 저장소를 이용한다.