인증서의 역할

F5 에코시스템 | 2022년 5월 22일

이 게스트 블로그는 시리즈의 일부로, F5와의 협업을 통해 제작되었습니다.

CSR, PEM, DER, X509… 인증서가 흔히 일종의 마법처럼 여겨지는 것도 무리는 아닙니다.

처음으로 인증서를 작동시켜야 했을 때는 제가 무엇을 하고 있는지 전혀 몰랐습니다! 아무 생각 없이 여러 명령어를 복사한 뒤 제대로 작동하기만을 바랐죠. 하지만 보안과 관련된 일에서 누군가가 명령어를 무작정 복사하기를 기대하는 것은 위험합니다. 특히 인증서는 더더욱 그렇습니다.

인증서는 TLS 연결(그리고 가장 일반적으로는 TLS를 사용하는 HTTPS 연결)의 핵심입니다. 이를 잘못 처리하면 공격자가 연결을 가로챌 위험에 노출되며, 사실상 TLS 연결이 제공하는 보호 기능이 무력화됩니다.

이 블로그는 인증서, 특히 인증서 관리의 역할을 살펴보는 시리즈의 일부입니다. 첫 번째 편에서는 인증서의 목적과 인증서가 연결(특히 TLS 연결)을 보호하는 데 중요한 역할을 하는 이유를 알아봅니다.

기밀성을 보장하고 무결성을 확립하기

클라이언트가 서버에 연결할 때 고려해야 할 두 가지 보안 원칙이 있습니다.

첫 번째는 기밀성입니다. 클라이언트와 주고받는 데이터가 해당 트래픽 외부의 누구에게도 노출되지 않도록 하는 것이 매우 중요합니다. 로그인 페이지가 좋은 예입니다. 입력한 사용자 이름과 비밀번호가 로그인을 시도하는 서버로 전송될 때 누구에게도 노출되지 않도록 해야 합니다. 또한 기밀성은 개인정보 보호와도 관련이 있으며, 다른 사람이 사용자가 수행하는 작업이나 열람하는 정보를 엿보지 못하도록 한다는 점도 주목할 필요가 있습니다.

두 번째 원칙은 무결성입니다. 많은 사람이 TLS와 관련해 이 원칙을 잊거나 잘 알지 못합니다. 여기서 무결성이란 클라이언트와 주고받는 데이터를 누구도 변조할 수 없어야 한다는 의미입니다. 리소스가 공개되어 있더라도 데이터의 무결성은 보장되어야 합니다.

누구나 접근할 수 있는 뉴스 사이트를 생각해 보겠습니다. 이 페이지는 공개되어 있으므로 기밀성 측면은 크게 걱정하지 않아도 됩니다(개인정보 보호 문제는 있지만, 이 예시에서는 일단 논외로 하겠습니다). 하지만 서버에서 클라이언트(사용자의 브라우저)로 전송된 데이터가 조작되지 않았는지는 반드시 확인해야 합니다. 서버의 무결성을 고려하지 않으면 공격자가 뉴스 기사 내용을 수정해 가짜 뉴스를 만들거나, Browser Exploitation Framework 훅과 같은 악성 콘텐츠를 페이지에 삽입할 수 있습니다.

인증서의 중요성

그렇다면 이 모든 과정에서 인증서는 어떤 역할을 할까요? 클라이언트가 서버에 연결할 때는 먼저 의도한 서버에 연결하고 있는지 확인해야 합니다. 공격자가 모방한 서버에 연결해서는 안 됩니다. 또한 연결이 종단 간 암호화되어 있는지도 보장해야 합니다. 즉, 트래픽을 검사하고 수정한 뒤 원래 서버로 전달하기 위해 연결이 중간 어딘가에서 종료되지 않았음을 보장해야 합니다. 이를 중간자 공격이라고 합니다.

분명히 해두자면, 이러한 방식이 유효하게 활용되는 경우도 있습니다. 특히 조직의 보안을 강화하기 위해 인터넷 트래픽을 검사하는 일이 흔한 기업 환경이 그렇습니다. 바로 이 지점에서 인증서가 중요한 역할을 합니다. 클라이언트가 TLS를 통해 서버에 연결하면 서버는 클라이언트에 자체 (서버) 인증서를 제공해야 합니다. 그러면 클라이언트는 이 인증서가 자신이 원래 연결하려던 올바른 서버의 것인지 확인합니다. TLS 핸드셰이크의 일부인 이 확인 절차가 완료되면 클라이언트와 서버 간 통신을 시작할 수 있습니다.

이 시리즈의 다음 편에서는 제 블로그에서 이 주제를 계속 살펴보겠습니다. 다음 편에서는 인증서 검증 절차를 다룰 예정입니다. 또한 인증서 관리에서 사람의 역할과 그 중요성을 자세히 알아보겠습니다.

그때까지 유익한 F5 myForum 세션인 ‘변화하는 SSL 환경에 대비하기’을 David Warburton과 Nigel Ashworth의 발표로 꼭 시청해 보시기를 강력히 권합니다. 끊임없이 변화하는 SSL 및 TLS 환경을 훌륭하게 개괄하는 세션으로, 시간을 내어 볼 만한 가치가 충분합니다.

Sean Wright는 소프트웨어 개발자로 경력을 시작한 숙련된 애플리케이션 보안 엔지니어입니다. 그는 주로 웹 기반 애플리케이션 보안에 주력하며, 특히 TLS와 공급망 관련 주제에 관심이 많습니다. 또한 Sean은 애플리케이션 보안과 관련하여 기술적 리더십을 제공하고, 여러 팀과 협력해 그들이 개발하고 유지 관리하는 시스템과 애플리케이션의 보안을 개선하는 데에도 풍부한 경험을 갖추고 있습니다. 그의 블로그는 여기에서 확인할 수 있습니다.

공유
태그: 2022

관련 블로그 게시물

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5 에코시스템 | 2023. 07. 13.

성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A

F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.

TLS 검사에서 피터 파커 원칙 다루기
F5 에코시스템 | 2019. 12. 09.

TLS 검사에서 피터 파커 원칙 다루기

“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.

Venafi와 F5를 통한 머신 아이덴티티 보호
F5 에코시스템 | 2018. 12. 11.

Venafi와 F5를 통한 머신 아이덴티티 보호

‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
F5 에코시스템 | 2018. 07. 23.

마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다

물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...

내 클라우드에서 나가!
F5 에코시스템 | 2016. 10. 12.

내 클라우드에서 나가!

F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.

Shift(웹 앱) 보안 레터
F5 에코시스템 | 2015. 07. 06.

Shift(웹 앱) 보안 레터

웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.