Tonic 's lesson learned


SSL 인증서는 도대체 뭔가요?

개요

SSL은 Secure Sockets Layer의 약자입니다. 인터넷을 할 때 왔다갔다 하는 내용을 암호화 해주는 프로토콜(규칙)입니다. 함께 언급되는 SSL인증서는 이런 보안통신을 하기 위한 전자 파일입니다. SSL인증서를 서버에 설치함으로써 SSL 프로토콜을 사용하여 보안 통신을 할 수 있게 되는 것입니다.

역할

우리가 인터넷에서 뭔가 찾을 때 웹브라우저를 열고 URL(주소)를 입력하면 그 결과로 뉴스도 보고 동영상도 봅니다. 이메일에 로그인하기도 하지요. 이렇게 웹브라우저와 같은 클라이언트와 웹페이지를 응답하는 서버 간에 통신을 중간에 다른 사람이 가로채더라도 알지 못하도록 하는 규약이 SSL입니다. 지금 웹브라우저의 주소창 제일 왼쪽을 한번 보세요. 열쇠 마크가 표시되어 있습니다. 이게 SSL 인증서가 적용되어 있다는 표시 입니다. 열쇠 마크를 눌러보면 더 자세한 정보를 볼 수 있습니다. 인증서라는 단어 때문에 뭔가 계약서나 종이같은 느낌이 들지만 SSL인증서는 컴퓨터 상의 파일 형태로 존재합니다.

물론 다른 역할도 많습니다만 한 가지만 더 소개해보겠습니다.
웹브라우저로 example.com을 입력하고 엔터를 치니 웹사이트가 나타납니다. 그런데 화면에 보여지는 곳은 example.com이 아닐 수도 있고 example.com의 실소유자가 아닐 가능성도 존재합니다. 또 example.com이 사기를 유도하는 사이트일수도 있습니다. 이렇게 원치않는 사이트를 방문하게 되면 개인정보유출이나 금전적 피해 등 사고가 발생하게 됩니다. 이런 것을 막고자 SSL인증서를 사이트에 적용하기도 합니다. SSL인증서는 발급 시 example.com 도메인의 소유주 확인을 하고, 사이트가 방문자에게 사기를 치는 등 문제가 있는지 확인 후 인증서를 발급해주기 때문에 방문한 사이트에 SSL인증서가 적용되어 있다면 인증 기관에서 방문한 사이트가 일정 수준으로 안전하는 것을 보증하는 것이라 할 수 있습니다.

CA?

CA는 Certificate Authorities의 약자로 인증서를 발급하는 기관입니다. 이런 기관은 누구나 될 수 있는데 그런 이유로 모질라 재단에서는 ‘신뢰할 수 있는 CA’라고 해서 Trusted CA 목록을 발표, 공유하고 있습니다. VeriSign, Codomo, Let’s Encrypt와 같은 곳이 CA입니다. 특히 Let’s Encrypt는 여러 유명한 글로벌 회사들로 부터 후원을 받아 운영되는 CA로 모질라 Trusted CA 목록에 등재되었고 많은 개인들과 소규모 스타트업들이 이 인증서를 사용하고 있습니다. 덕분에 우리 인터넷 환경은 더 안전해지고 있지요.

인증의 종류

위에 역할 설명에서 SSL인증서 발급 시 소유주와 사기 사이트인지 CA에서 아닌지 확인한다고 했습니다. 하지만 모두 이렇게 하는 건 아니고요. 인증의 종류에 따라 그 수준이 나뉩니다. DCV인증은 Domain Control Validated라고 해서 신청자가 도메인 소유주가 맞는지 확인 정도만 합니다. 반면 OV인증은 Organization Validated의 약자로 도메인 소유자 뿐만 아니라 이 사이트가 적정한지까지 CA에서 검증합니다.

TLS?

점점 TLS라는 용어도 SSL 만큼이나 자주 보이는 것 같습니다. TLS는 Transport Layer Security의 약자로 SSL 3.0 기반으로 표준화된 인증 방식입니다. 기존에 SSL 3.0 버전까지는 대다수가 쓰는 사실 상의 표준이었지 RFC와 같은 문서를 통해 정의된 표준 규약은 아니었습니다. 요즘은 TLS 방식이 권장되고 있습니다. ‘SSL/TLS 인증서’ 라고 표기하는 경우도 종종 볼 수 있는데 SSL에서 TLS로 넘어가는 과도기적 용어로 사용되고 있습니다.

유료 SSL인증서가 무료보다 더 고급 암호화를 사용하나요?

CA 중에서는 VeriSign이나 Codomo와 같이 유로 SSL인증서를 발급하는 곳이 있고 Let’s Encrypt와 같이 무료 인증서를 발급해주는 곳이 있습니다. 유료와 무료 SSL 인증서 간에 기술적 차이점 없습니다. 당연히 유료 SSL인증서를 적용한다고 해서 더 강화되고 고급 암호 기능을 사용하는 것이 아니구요. 유료와 무료의 차이는 해당 SSL인증서를 적용한 사이트에 인증과 관련한 문제가 생겼다면 유료 인증서를 발급한 곳에서는 해당 웹사이트를 방문한 사람에게 SSL인증서를 구매한 회사를 대신해 일정 부분 금액을 배상합니다. 비싼 인증서는 보상의 범위와 규모가 커지고 싼 인증서는 보상의 범위와 규모가 상대적으로 작습니다. 무료 인증서는 CA에서 이러한 배상을 해주지 않구요.

이제 대략 SSL과 TLS, 그리고 인증서에 대해 알게 되셨지요? 몇 달 전 구글에서 http로 서비스를 하는 사이트에 대해 ‘주의 요함’이라는 문구를 강제로 주소 옆에 띄우기 시작했습니다. 그러자 사람들이 부랴부랴 SSL 인증서 적용을 알아보기 시작했지요. 원래 네이버도 첫 메인 페이지는 http로 서비스를 하고 있었던 것을 알고 있는데 지금 보니 https로 바뀐 것 같네요. 지마켓과 11번가는 아직 http로 서비스하고 있어 ‘주의 요함’이라는 문구가 표시되고 있습니다. 아무래도 SSL인증서를 적용해 https로 서비스하면 속도 저하가 일어날 수 있기 때문에 쇼핑몰과 같이 이미지를 많이 쓰고 빨리 메인 페이지가 떠야 하는 사이트에서는 좀 주저하기도 합니다. 다른 이유일 수도 있구요. 대신 아이디, 패스워드를 넣는 로그인 창은 해당 메인 페이지에 포함되어 있지 않고 링크를 눌러 다른 페이지나 팝업을 통해 SSL인증서가 적용된 페이지에서 진행하도록 하고 있지요. 쿠팡은 메인 페이지에도 SSL인증서가 적용된 것이 보입니다.

네이버(naver.com)와 쿠팡(coupang.com)은 Sectigo의 Sectigo RSA Organization Validation Secure Server CA 인증서를 쓰고 있네요. Comodo에서 변경된 브랜드입니다. 다음(daum.net)은 Thawte TLS RSA CA G1을 사용하고 있어요. DIGICERT라는 CA에서 발급한 인증서입니다. 여러분이 자주가는 사이트의 인증서는 어떤 CA에서 발급한 것을 쓰고 있는지 한번 확인해 보세요. ^^


함께보면 좋은 글: