
90년대 중반 이후로 프로토콜은 인터넷 통신에 더 나은 보안과 개인 정보 보호를 제공하는 데 사용되어 졌다.
도메인의 가장 중요한 보안 기능 중 하나는 SSL 인증서인데,
이번 글에서는 SSL 및 TLS 프로토콜과 인증서 작동 방식에 대해 써보려한다.
SSL이 뭐야?
SSL(Secure Sockets Layer)은 공개 키의 소유권을 디지털 방식으로 인증하는 프로토콜이다.
1995년 Netscape에서 처음 개발한 SSL은 클라이언트 측과 서버 측 인터넷 통신 간의 보안 연결을 제공한다.
SSL 프로토콜은 TLS 1.0 릴리스와 함께 더 이상 사용되지 않고 있다(아래 참조).
TLS는 뭔데?
TLS는 Transport Layer Security의 약자이며 SSL 프로토콜의 후속 제품이다.
(현업에서는 SSL을 TLS라고 부르기도 하더라)
SSL과 마찬가지로 TLS의 목적은 서버와 웹 애플리케이션 간의 데이터를 암호화하고 인증하는 것이다.
이 프로토콜은 1999년 IETF(Internet Engineering Task Force)에서 개발했다.
TMI : TLS는 처음에 IETF에서 SSL 3.1로 개발을 시작했지만 Netscape와 연결되지 않도록 이름이 변경됐다.
그렇다면 SSL과 TLS: 차이점은 뭐야?
IETF에 따르면 SSL과 TLS는 둘 다 동일한 기능을 수행하므로 큰 차이가 없다고 한다.
즉, TLS는 이전 버전보다 더 안전하다.
TLS 프로토콜을 사용하는 서버는 더 높은 수준의 암호화 지원이 필요할 뿐만 아니라 최신 TLS 프로토콜도 지원해야 한다.
TLS가 선호되는 프로토콜이지만 일부 경우에는 여전히 SSL이 사용되며 TLS는 SSL이라고도 한다.
하지만 SSL 또는 TLS 인증서와 관련하여 실제로 차이가 없다.
이 용어는 사용 중인 프로토콜에 관계없이 상호 교환적으로 사용된다.
이는 SSL 및 TLS 인증서가 공개 키에 대한 X.509 표준 형식을 따르기 때문이라고 한다.

흥미로운 사실: SSL 프로토콜(BEAST 및 BREACH)에 대한 이전 공격에도 불구하고 버전 3.0은 Google에서 POODLE 취약점을 발견한 2014년까지 광범위하게 사용됐다고 함.
SSL/TLS 인증서 작동 방식
가장 안전하고 널리 사용되는 암호화 방법 중 하나는 공개 및 개인의 두 가지 암호화 키를 포함하는 비대칭 암호화다.
공개 키는 개인 키가 데이터를 해독하는 동안 데이터를 암호화하는 데 사용된다.
웹 사이트의 서버는 자신의 공개키를 클라이언트에게 제공하고,
클라이언트는 이 공개키를 사용하여 서버와 통신을 암호화 한다.
이러한 방식으로, SSL 및 TLS 인증서는 클라이언트와 서버 간의 통신을 안전하게 유지한다.
HTTP 와 HTTPS
HTTP와 HTTP는 모든 웹사이트에서 사용하는 프로토콜 이다.
이 두개 사이의 유일한 차이점은 보안이다.
HTTPS를 사용하는 모든 사이트는 TLS/SSL을 사용하여 통신을 암호화하므로 HTTP를 통해 실행되는 사이트보다 훨씬 더 안전하다.
누구나 사이트에서 암호화를 사용하고 있는지 여부를 쉽게 확인할 수 있다.
예를 들어 HTTPS://가 있는 모든 URL은 TLS/SSL을 사용하고 있는거다.
HTTP:// 만 있는 경우 사이트는 암호화로 보호되지 않고 있다는거다.
웹사이트 주소에서 HTTPS를 찾는 또 다른 방법은 URL 왼쪽에 있는 자물쇠 아이콘 이다.
자물쇠 아이콘을 클릭하면 사이트가 안전한지 확인할 수 있다.
SSL 인증서 유형
단일 도메인, 와일드카드 및 다중 도메인의 세 가지 유형의 SSL 인증서를 사용할 수 있다.
이름에서 알 수 있듯이
단일 도메인 인증서는 계층 내에서 하나의 도메인과 하위 도메인을 보호한다.
와일드카드 SSL 인증서는 모든 첫 번째 수준 하위 도메인도 인증한다는 점을 제외하면
단일 도메인 인증서와 동일하게 작동한다.
다중 도메인 SSL 인증서는 무제한의 도메인과 하위 도메인을 보호해준다.
SSL 인증서 비용
인증서 가격은 상당히 다양하며 조직의 요구 사항에 따라 달라진다.
보유한 도메인 및 하위 도메인의 인증서 번호 유형은 비용에서 큰 역할을 하지만
필요한 보증 수준, 보증, 재발급, 키 길이 및 암호화 강도와 같은 기타 요소도 고려해야 한다.
무료 SSL 인증서
무료 인증 기관도 옵션 중 하나다.
이렇게 하면 비용을 절감할 수 있지만
무료 인증서에는 몇 가지 제한 사항이 있을 수 있으므로 모든 요구 사항을 충족하는지 확인해야 한다.
예를 들어, 많은 무료 SSL 인증서는 평가판 기반이거나 갱신해야 하기 전에 제한된 시간 동안만 제공되기 마련이다.
갱신이 무료이더라도 인증서가 만료되지 않았는지 확인해야 한다.
또 다른 주의 사항은 많은 무료 발급자가 비즈니스 또는 확장된 유효성 검사를 제공하지 않는다는 것이다.
중요한 점은 도메인에 대한 인증 기관을 선택하기 전에 모든 옵션을 조사해야 한다는 것이다.
일반적인 SSL 인증서 오류
거의 모든 최신 브라우저는 SSL 인증서를 인식할 수 있다.
그러나 종종 도메인 인증서에 오류가 발생할 수 있다.
일반적인 오류가 무엇인지 알면 웹 사이트에 대한 신뢰를 유지하는 데 도움이 될 수 있을 것이다.
- 연결이 비공개가 아닙니다 : 브라우저가 도메인의 SSL 인증서를 확인할 수 없을 때 발생한다. 브라우저는 도메인의 ID를 확인할 수 없기 때문에 사용자가 사이트에 액세스하는 것을 차단한다.
- 만료된 인증서 : 도메인 인증서가 만료되기 전에 갱신하지 않으면 인증서가 더 이상 유효하지 않다는 사실을 알리는 오류 메시지가 사용자에게 표시된다.
- 신뢰할 수 없는 인증 기관 : 이 오류가 발생하면 브라우저가 신뢰할 수 있는 소스에서 루트 인증서를 찾을 수 없음을 의미한다. 이는 인증서가 자체 서명되고 브라우저의 신뢰할 수 있는 저장소에 추가되지 않은 경우에도 발생할 수 있다.
SSL 인증서에 대한 설명 참고 : https://constellix.com/news/what-is-an-ssl-certificate
What is an SSL Certificate?
What is an SSL Certificate? It validates the identity of the website in order to confirm they are on an legitimate website.
constellix.com
회사에서 다른 웹 서버 앞에서 프록시와 로드 밸런서로 사용하려고 웹서버인 nginx를 이용한 적이 있는데,
http 에서 https로 리다이렉트 시켜놓은 과정에 대해 글을 써놓은 것도 있으니 관심있는 분은 읽으면 좋을 듯 하다.
https://oreeyo00.tistory.com/27
'개발 > CS' 카테고리의 다른 글
Network 정리 - (1) (0) | 2024.03.19 |
---|---|
Rendering (렌더링) 이란? (0) | 2023.03.08 |
논리회로 간단하게 훑어보기? (0) | 2023.03.06 |
개발 블로그
포스팅이 좋았다면 "좋아요❤️" 누르기 !