SSL/TLS 인증서란? 구조와 확인 방법 완전정복

자물쇠 아이콘은 무엇을 보증하고 무엇은 보증하지 않을까요? 인증서의 구조, 신뢰 체인, 실제 사고 사례, 짧아지는 유효기간까지 차례로 살펴봅니다.

한눈에 보기

SSL/TLS 인증서는 "이 공개키는 이 도메인의 것"이라는 사실을 신뢰받는 인증기관(CA)이 전자서명으로 보증한 문서입니다. 브라우저는 이 서명을 거슬러 올라가 자신이 미리 믿고 있는 루트 인증서까지 이어지는지 확인하고, 그 결과로 접속한 서버가 해당 도메인의 서버가 맞는지 판단합니다. 이 글은 인증서가 어떻게 생겼는지, 신뢰가 어떻게 전달되는지, 그 구조가 실제로 흔들렸을 때 무슨 일이 있었는지, 유효기간이 왜 짧아지는지를 다룹니다. 일반적인 기술 정보이며 특정 서비스나 인증 상품의 선택을 권하는 글이 아닙니다.

어디서 왔나: SSL에서 TLS까지

웹 통신을 암호화하는 프로토콜은 SSL 2.0(1995년), SSL 3.0(1996년)으로 시작해, TLS 1.0(1999년, RFC 2246), TLS 1.1(2006년, RFC 4346), TLS 1.2(2008년, RFC 5246)로 이어졌습니다(위키백과 정리 기준). TLS 1.3은 2018년 8월 RFC 8446으로 발행되었고, 정적 RSA 키 교환과 압축 같은 오래된 요소를 제거한 것이 특징입니다(RFC 8446 1.2절). RFC 편집기 사이트에는 TLS 1.3의 개정판 RFC 9846이 RFC 8446을 대체한다고 표시되어 있으니 최신 규격은 그쪽을 확인하세요. 오래된 버전의 퇴출도 문서로 이뤄졌습니다. SSL 3.0은 2015년 6월 RFC 7568로 사용하지 말 것이 명시되었고(2014년 POODLE 공격이 알려진 뒤), TLS 1.0과 1.1은 2021년 3월 RFC 8996으로 공식 폐지(deprecated)되었습니다. 지금 "SSL 인증서"라고 부르는 것은 관습적인 이름이고, 실제 통신은 TLS가 맡습니다.

인증서는 어떻게 신뢰를 전달하는가

인증서의 형식은 X.509이고 인터넷용 프로필은 RFC 5280(2008년 5월)에 정의되어 있습니다. 이 문서에 따르면 인증서에는 버전, 일련번호, 서명 알고리즘, 발급자(issuer), 유효기간(notBefore/notAfter), 주체(subject), 공개키 정보가 들어가고, 버전 3부터는 확장 필드가 붙습니다. 그중 subjectAltName은 DNS 이름·IP 같은 보증 대상 이름을 담고, basicConstraints는 이 인증서가 다른 인증서에 서명할 수 있는 CA인지를 표시합니다. 검증은 서버 인증서에서 신뢰하는 CA 인증서까지 발급자-주체 이름을 맞춰 가며 서명을 하나씩 확인하는 방식입니다. 아래 카드는 이 내용을 '인증서란 → 필드 → 체인 → 검증 등급 → 브라우저의 검증 → 직접 확인 → 오해' 순서로 나눈 것입니다.

📜

SSL/TLS 인증서란

웹사이트가 실제로 해당 도메인의 소유자가 운영하는지 확인해주고, 브라우저와 서버 사이의 통신을 암호화하는 데 쓰이는 디지털 신분증입니다.

SSL/TLS 인증서는 신뢰할 수 있는 제3의 기관이 "이 공개키는 이 도메인의 것이 맞다"고 서명해준 전자 문서입니다. 브라우저는 이 인증서를 이용해 접속한 사이트의 신원을 확인하고, 인증서에 담긴 공개키로 이후 통신 내용을 암호화해 주고받습니다.

🗂️

인증서의 기본 구조(X.509)

대부분의 SSL/TLS 인증서는 X.509라는 표준 형식을 따르며, 주체·발급자·공개키·유효기간·서명 정보를 담고 있습니다.

X.509 형식의 인증서에는 인증 대상 도메인(주체, Subject), 인증서를 발급한 기관(발급자, Issuer), 암호화에 쓰이는 공개키, 인증서가 유효한 시작일과 만료일, 그리고 발급 기관이 이 내용이 맞다고 서명한 전자서명 값이 담겨 있습니다. 브라우저의 인증서 상세보기 화면에서 이 항목들을 직접 확인할 수 있습니다.

⛓️

인증기관(CA)과 신뢰 체인

루트 인증기관부터 중간 인증기관을 거쳐 실제 웹사이트 인증서로 이어지는 신뢰 체인을 통해 인증서의 진위를 검증합니다.

브라우저와 운영체제는 소수의 신뢰할 수 있는 루트 인증기관(Root CA) 목록을 미리 갖고 있습니다. 실제 웹사이트에 발급되는 인증서는 대개 루트 CA가 직접 서명하지 않고, 루트 CA로부터 위임받은 중간 인증기관(Intermediate CA)이 서명하는 경우가 많으며, 브라우저는 이 서명 관계를 루트까지 하나씩 거슬러 올라가며 확인해 신뢰 여부를 판단합니다.

🏷️

DV·OV·EV 검증 등급 차이

도메인 소유만 확인하는 DV, 사업자 정보까지 확인하는 OV, 가장 엄격한 심사를 거치는 EV로 나뉘며 등급이 높을수록 검증 절차가 까다롭습니다.

DV(Domain Validation)는 신청자가 해당 도메인을 실제로 관리하는지만 확인하는 가장 간단한 등급이고, OV(Organization Validation)는 여기에 더해 신청 기관의 실체를 서류로 확인합니다. EV(Extended Validation)는 가장 엄격한 법적·행정적 심사를 거치지만, 최근 주요 브라우저들은 EV 인증서라고 해서 주소창에 별도의 강조 표시를 해주지 않는 경우가 많아, 등급 차이가 눈에 잘 띄지 않는 편입니다.

🔎

브라우저가 인증서를 검증하는 과정

만료 여부, 신뢰 체인, 도메인 이름 일치, 폐지 여부를 자동으로 확인한 뒤 문제가 없을 때만 안전한 연결로 표시합니다.

브라우저는 접속 시마다 인증서의 유효기간이 지나지 않았는지, 신뢰할 수 있는 CA가 서명한 것이 맞는지, 인증서에 적힌 도메인과 실제 접속한 주소가 일치하는지, 혹시 발급 기관이 조기에 폐지(revoke)한 인증서는 아닌지를 자동으로 검사합니다. 이 중 하나라도 문제가 있으면 "연결이 안전하지 않습니다" 같은 경고 화면을 띄웁니다.

🧭

내 브라우저에서 인증서 확인하는 방법

주소창의 자물쇠 아이콘을 클릭하면 인증서 발급 대상, 발급 기관, 유효기간 등의 정보를 바로 확인할 수 있습니다.

대부분의 브라우저는 주소창 왼쪽의 자물쇠 아이콘을 클릭한 뒤 "연결이 안전함" 또는 "인증서" 메뉴로 들어가면 해당 사이트 인증서의 발급 대상, 발급 기관, 유효기간 등 상세 정보를 보여줍니다. 개발자 도구의 보안(Security) 탭에서도 더 자세한 인증서 체인 정보를 확인할 수 있습니다.

⚠️

자물쇠 아이콘에 대한 흔한 오해

자물쇠 표시는 통신 구간이 암호화되어 있다는 뜻일 뿐, 그 사이트의 내용이나 운영자가 안전하다는 것을 보장하지는 않습니다.

SSL/TLS 인증서는 오늘날 무료로도 손쉽게 발급받을 수 있어, 피싱 사이트조차 자물쇠 아이콘을 띄우는 경우가 흔합니다. 자물쇠는 "브라우저와 서버 사이의 통신 내용을 다른 사람이 훔쳐볼 수 없다"는 것만 보장할 뿐, 그 사이트가 신뢰할 만한 곳인지는 도메인 주소, 운영 주체 등을 별도로 확인해야 합니다.

유효기간은 왜, 어떻게 짧아지고 있나

공개 웹 인증서의 최대 유효기간은 CA/브라우저 포럼의 기본 요구사항(Baseline Requirements)이 정합니다. 위키백과 정리에 따르면 2012년 7월 60개월에서 출발해 2015년 4월 39개월, 2018년 3월 825일, 2020년 9월 398일로 줄었고, 2025년 4월 포럼이 통과시킨 안건(SC-081v3)으로 이후에도 단계적으로 줄어드는 일정이 잡혀 있습니다. 아래 일정은 위키백과와 업계 정리 자료가 일치하는 내용이며, 정확한 문구와 예외는 CA/브라우저 포럼의 공식 안건 문서에서 확인해야 합니다(기준 시점 2026년 10월).

적용 시작최대 유효기간비고
2018년 3월 1일825일Baseline Requirements 개정
2020년 9월 1일398일약 1년 주기
2026년 3월 15일200일SC-081v3 (시행 중)
2027년 3월 15일100일SC-081v3 (예정)
2029년 3월 15일47일SC-081v3 (예정)

짧아지는 이유로 흔히 거론되는 것은 개인키 유출이나 정보 변경 시 잘못된 인증서가 살아 있는 기간을 줄이고, 폐지(revocation) 확인이 모든 환경에서 완벽하지 않은 점을 유효기간 자체로 보완한다는 것입니다. 1년에 한 번 손으로 갱신하던 방식은 100일, 47일 주기에서는 현실적이지 않으므로 자동 갱신(ACME 등)이 사실상 전제가 됩니다. 이 표는 공개적으로 신뢰되는 인증서에 해당하며, 내부망 전용 사설 CA의 인증서는 별도 정책을 따를 수 있습니다.

실제 사례 두 가지: 신뢰 체인이 흔들렸을 때

사례 1. 인증기관이 뚫린 날: DigiNotar (2011년)

네덜란드의 인증기관 DigiNotar는 2011년 7월 19일 자사 인프라에 대한 침입을 탐지했지만 당시 공개하지 않았습니다. 그보다 앞선 7월 10일에는 *.google.com 용 위조 인증서가 발급되어 있었고, 이 인증서는 이란에서 구글 서비스에 대한 중간자 공격에 쓰였습니다. 2011년 8월 말 이란 ISP에서 인증서 이상이 관측되며 문제가 드러났습니다. 위조 인증서는 Yahoo, Mozilla, WordPress, Tor 프로젝트용 등으로 늘어 최소 531건으로 집계되었습니다. 이후 Mozilla·Microsoft·Google·Opera가 DigiNotar 루트에 대한 신뢰를 거뒀고 애플도 2011년 9월 9일 맥OS에서 제거했습니다. 모회사 VASCO는 2011년 9월 20일 DigiNotar의 파산을 발표했습니다. 조사를 맡은 Fox-IT의 보고서는 법원 명령으로 2012년 10월 공개되었고 시스템이 "거의 전면적으로 침해"되었다고 서술합니다(이상 위키백과 정리 기준). 배울 점은 체인 방식에서는 신뢰받는 CA 한 곳이 뚫리면 그 CA가 서명할 수 있는 모든 도메인이 위협받는다는 구조적 약점이고, 브라우저가 문제 CA를 목록에서 빼는 조치가 마지막 방어선이라는 것입니다.

사례 2. 서버 메모리가 새어 나간 사건: Heartbleed (2014년, CVE-2014-0160)

2014년 4월 공개된 Heartbleed는 OpenSSL 1.0.1부터 1.0.1f까지 TLS 하트비트 확장에 있던 경계 검사 누락 취약점입니다(CVE-2014-0160). 조작된 하트비트 요청으로 서버 메모리를 요청당 최대 64KB씩 읽어 갈 수 있었고, 그 안에는 개인키, 세션 쿠키, 비밀번호 같은 정보가 있을 수 있었습니다. 구글의 닐 메타가 2014년 4월 1일 비공개로 보고했고 Codenomicon도 독립적으로 발견했으며, 수정판 OpenSSL 1.0.1g가 4월 7일 배포되었습니다(위키백과 정리 기준). 인증서 관점에서 중요한 대목은 복구 절차입니다. 패치만으로는 부족하고, 이미 유출됐을 수 있는 개인키는 새로 만들어 인증서를 재발급하고 옛 인증서를 폐지하라고 정리됩니다. 배울 점은 인증서가 정상이어도 서버 구현의 결함으로 키가 노출되면 암호화가 무력화될 수 있다는 점, 그리고 키가 새면 "인증서를 갈아야 한다"는 것입니다.

내 사이트·내 접속에서 직접 확인하기

흔한 오해와 정정

한계와 더 알아볼 점

인증서 체계는 "신뢰하는 CA 목록"에 의존하므로 CA 한 곳의 실수나 침해가 넓게 번질 수 있습니다. 폐지 확인(CRL 등)도 모든 환경에서 즉시 완벽하게 작동하지는 않아 유효기간 단축이 보완책으로 거론됩니다. EV 인증서의 주소창 강조 표시는 주요 브라우저에서 줄어 검증 등급이 사용자에게 보이는 정도도 달라졌습니다. 유효기간 단축 일정의 세부 조건과 향후 변경은 포럼의 공식 문서를 기준으로 확인하세요.

TLS 핸드셰이크 과정도 함께 알아보세요

인증서를 확인한 이후 실제로 암호화 통신이 시작되는 과정이 궁금하다면TLS 핸드셰이크로 알아보는 HTTPS 연결 원리를 확인해보세요.

자주 묻는 질문

인증서에도 유효기간이 있나요?

네, 모든 SSL/TLS 인증서에는 유효기간이 있습니다. 최근에는 보안을 위해 유효기간이 점점 짧아지는 추세이며, 만료 전에 갱신하지 않으면 브라우저가 경고를 표시합니다.

무료 인증서와 유료 인증서는 보안 수준이 다른가요?

암호화 자체의 강도는 대체로 동일합니다. 차이는 주로 검증 등급(DV·OV·EV)과 부가 서비스(고객 지원, 보증 등)에 있으며, 개인 블로그나 소규모 사이트라면 무료 DV 인증서만으로도 충분한 경우가 많습니다.

"인증서 오류" 경고가 뜨면 그냥 진행해도 되나요?

권장하지 않습니다. 만료, 이름 불일치, 신뢰할 수 없는 발급자 중 무엇이든 연결 상대를 확신할 수 없다는 뜻입니다. 특히 공용 와이파이에서 로그인이나 결제 정보를 입력하는 중이라면 중단하는 편이 안전합니다.

중간 인증서와 루트 인증서는 왜 나누어 두나요?

루트 CA의 개인키는 유출되면 파급이 크기 때문에 평소에는 격리해 두고, 일상적인 발급은 루트가 위임한 중간 CA가 맡는 구조가 일반적입니다. 중간 CA에 문제가 생겨도 루트 전체를 바꾸지 않고 그 중간 CA만 폐지할 수 있다는 장점이 있습니다.

도메인 하나에 인증서도 꼭 하나만 필요한가요?

그렇지 않습니다. subjectAltName 확장에 여러 도메인 이름을 담을 수 있고, 하위 도메인을 한꺼번에 덮는 와일드카드(*.example.com) 형태도 있습니다. 다만 와일드카드는 개인키가 유출되면 영향 범위가 넓다는 점을 고려해야 합니다.

이어서 읽어 보세요