Acme, 인터넷을 변화시킨 프로토콜 중 하나에 대한 간략한 역사

발행: (2025년 12월 4일 오전 08:28 GMT+9)
12 min read

Source: Hacker News

서문

제가 10년 전 “사랑에 빠진” ACME 프로토콜에 대해 쓴 이 글을 여러분과 나누고 싶습니다. 이는 훌륭한 자유 소프트웨어와 오픈 프로토콜 개발자 커뮤니티에 보답하는 방법이기도 합니다.

이 글은 ACME 프로토콜의 뿌리, 설계, 표준화, 생태계와의 관계, 그리고 진화 과정에서 마주한 도전 과제들을 다룹니다.

글을 쓰는 동안 저는 ACME의 탄생과 진화에 관여한 여러 사람들을 인터뷰할 특권을 가졌습니다: Aaron Gable, Sarah Gran, Jacob Hoffman‑Andrews 그리고 J.C. Jones (아래에 더 자세히 소개).

시간과 지원을 아끼지 않은 모든 분들께 진심으로 감사드립니다! 💚

인터넷과 네트워크 프로토콜

인터넷 성공의 핵심, 개방형 및 표준화된 프로토콜

1990년대에 컴퓨팅은 인터넷의 부상과 전 세계적 확산에 힘입어 진정한 혁명을 겪었습니다. 인터넷은 Sun Microsystems의 슬로건 “The Network is the Computer” 에 담긴 약속을 실현했습니다.

개별 컴퓨터를 서로 연결함으로써, 인터넷은 사용자들이 국경에 구애받지 않고 제한 없이 소통할 수 있게 했습니다.

이러한 무제한 연결은 현대사에서 중요한 순간에 일어났습니다. 서방과 소련이 이끄는 동구권 간의 대립은—잠시였지만—사라졌고, 중국은 세계 공장이 되었으며, 사람들 간의 이동과 협업은 그 어느 때보다 자유롭고 개방되었습니다.

인터넷은 이전에 없던 즉각적인 소통과 공유의 유토피아를 지원했습니다. 이 유토피아는 개방형 및 표준화된 프로토콜 집합 덕분에 가능했으며, 이는 다양한 시스템이 원활히 협력하고 통신할 수 있게 하는 핵심이었습니다.

물론 일부 제조업체나 소프트웨어 편집자들로부터 고립주의적이거나 독점적인 유혹이 있었지만, 개방형 및 표준화된 프로토콜이 궁극적으로 승리하여 전례 없는 확장을 가능하게 했습니다. IP, TCP, UDP, DNS 위에 구축된 HTTP와 HTML 듀오는 향후 30년간 인터넷의 주요 커뮤니케이션 플랫폼으로서 웹을 견인했습니다.

암호화 활용 제한

이 커뮤니케이션 유토피아의 성공은 인증, 무결성, 기밀성을 보장하는 데 큰 관심을 두지 않은 채 이루어졌습니다.

2015년에는 웹사이트의 약 40%만이 암호화를 사용하고 있었습니다. 보안 위험을 무시한 결과는 2013년 에드워드 스노든이 폭로한 바와 같이, 우리의 데이터가 가로채고 수집하려는 누구에게나 노출된다는 사실로 확인되었습니다.

Let’s Encrypt가 등장하다

암호화의 광범위한 채택에 대한 주요 장애물에 대해 물었을 때, Let’s Encrypt의 설계자 중 한 명이자 현재는 Firefox 암호화 팀을 이끌던 뒤에 사이트 신뢰성 엔지니어가 된 J.C. Jones는 이렇게 답했습니다:

“점점 더 많은 정보가 웹을 통해 흐르고 있었으며, 전송되는 대부분의 데이터는 TLS로부터 무결성이나 기밀성 보호를 받지 못하고 있었습니다. TLS를 어디서든 사용하도록 하는 가장 큰 걸림돌은 서버‑사이드 인증서를 획득하고 관리하는 것이었고, 그래서: Let’s Encrypt” – J.C. Jones

인증서 획득이 가장 큰 장애물였으며, 이것이 우선 해결해야 할 과제였습니다.

이러한 관점은 2013년부터 자원을 모아 Let’s Encrypt, 즉 자동화되고 무료인 인증 기관을 설립한 파트너 그룹에 의해 공유되었습니다. Let’s Encrypt의 발전 담당 부사장인 Sarah Gran은 다음과 같이 말합니다:

“초기 협력자에는 Mozilla, Electronic Frontier Foundation, Akamai, Cisco, 그리고 University of Michigan의 사람들이 포함되었습니다” – Sarah Gran

이렇게 Let’s Encrypt가 탄생했습니다.

웹 생태계에서 인증 기관은 도메인에 대한 제어권을 증명한 뒤 해당 도메인에 대한 인증서를 발급받을 수 있는 조직을 의미합니다.

2015년 이후 Let’s Encrypt는 무료(맥주 한 잔 값도 안 되는) TLS 서버 인증서를 제공하는 인증 기관으로 운영되고 있습니다. 법적·행정적 측면에서 Let’s Encrypt는 공공의 이익을 위해 운영되며, 캘리포니아에 설립된 비영리 공익 법인 Internet Security Research Group (ISRG)이 제공하는 서비스입니다.

Let’s Encrypt가 탄생한 지 10년이 지난 현재의 성과는 놀라운데, 활성 인증서가 7억 개 이상이며, 전체 공개 TLS 서버 인증서의 60% 이상을 차지합니다. Sarah Gran이 지적하듯, 전 세계 HTTPS 사용량도 크게 증가했습니다:

“인증을 시작했을 때는 웹사이트 방문 중 약 39%만이 HTTPS였습니다. 오늘날 미국에서는 거의 95%, 전 세계적으로는 83% 이상이 HTTPS를 사용합니다. 아직 해야 할 일이 남아 있지만, 지난 10년간 이룬 진보에 자부심을 느낍니다” – Sarah Gran

Let’s Encrypt는 ACME 프로토콜을 사용해 자동화된 방식으로 인증서를 발급합니다. 이는 사이트 소유자나 인증 기관이 수동으로 개입할 필요가 없다는 것을 의미합니다. 이제 자동화 측면에 대해 조금 이야기해 보겠습니다!

자동화: 운영의 핵심

2020년대 중반의 관점에서 보면 Let’s Encrypt의 자동화는 당연해 보일 수 있지만, 2010년대 초반에는 전혀 일반적이지 않았습니다. 서버 인증서를 발급하는 공개 인증 기관들의 생태계도 예외는 아니었습니다.

처음에는 자동화가 웹사이트 관리자가 TLS 프로토콜을 신뢰성 있게 배포하도록 돕는 것으로 보였지만, 실제로는 Let’s Encrypt 프로젝트 자체가 존재 가능하도록 만든 절대적인 전제조건이었습니다.

Let’s Encrypt의 핵심 소프트웨어인 Boulder의 기술 책임자이자 Aaron Gable에게 확인받은 바와 같이:

“자동화는 Let’s Encrypt의 성공에 언제나 핵심이었습니다. 처음부터 비영리 조직의 예산으로 수동 검증을 규모화할 방법이 없다는 것을 알았습니다” – Aaron Gable

실제로 Let’s Encrypt는 시작부터 약 15명의 엔지니어(출시 당시에는 더 적은 인원)로 인터넷 규모의 서비스를 운영해 왔습니다. 이 팀에게 자동화는 거대한 사명을 수행할 수 있는 유일한 실현 가능한 방법이었습니다.

ACME

Let’s Encrypt를 구동하는 개방형 자동화 프로토콜

Let’s Encrypt와 관련된 자동화를 이야기할 때 우리는 ACME (Automated Certificate Management Environment)를 의미합니다.

이 프로토콜은 클라이언트 소프트웨어가 인증서를 요청하는 도메인을 제어하고 있음을 ACME‑호환 인증 기관에 증명하도록 합니다.

Sarah Gran이 중요한 점을 짚어줍니다:

“Let’s Encrypt가 작동하는 중요한 측면은 우리가 도메인의 소유권이 아니라 제어권을 검증한다는 점입니다” – Sarah Gran

도메인의 제어와 소유권—모두가 기억해야 할 미묘한 차이입니다.

제어 증명은 클라이언트가 ACME‑호환 인증 기관이 발행한 챌린지에 응답하는 과정을 포함합니다. 챌린지는 HTTP, DNS, TLS 중 하나일 수 있으며, 이는 클라이언트의 선택과 인증 기관의 지원 여부에 따라 달라집니다. 챌린지를 완료하려면 ACME 클라이언트는 ACME 서버가 제공한 값을 표준화된 HTTP 경로, DNS 영역, 혹은 TLS 응답에 각각 배치해야 합니다. 이 모든 작업은 암호화를 수반합니다.

ACME의 핵심은 클라이언트와 ACME 서버 간의 전체 대화가 인간의 개입 없이 수행된다는 점이며, 이를 통해 인증서의 자동 발급 및 배포가 가능해집니다.

Back to Blog

관련 글

더 보기 »

Mozilla의 최신 난관

번역할 텍스트를 제공해 주시겠어요? 텍스트를 알려주시면 한국어로 번역해 드리겠습니다.