Technical Reference · 2026 Edition

Let's Encrypt가 BIMI 인증서(VMC/CMC)를 발급하지 않는 이유

Let's Encrypt는 Verified Mark Certificate(VMC)나 Common Mark Certificate(CMC)를 발급할 수 없습니다. BIMI 인증서 발급에는 ACME 프로토콜로 자동화할 수 없는 수동 상표 검증이 필요하기 때문입니다. VMC가 $1,000 이상인 이유와 그 프로세스가 어떻게 작동하는지 알아보세요.

Last updated min read

자동화의 한계.

Let's Encrypt는 인터넷 역사상 가장 성공적인 인증 기관 중 하나입니다. 수십억 개의 TLS 인증서를 발급했고, 웹 전반에 HTTPS 도입을 이끌었으며, 이 모든 것을 완전히 무료로 해냈습니다. 그래서 조직들이 BIMI를 구현하기 시작하고 Mark Certificate 비용이 연간 $1,000 이상이라는 것을 알게 되면, 포럼과 지원 게시판에 거의 즉시 이런 질문이 올라옵니다:

"왜 Let's Encrypt는 VMC를 발급하지 않나요?"

짧은 답변: ACME 프로토콜은 도메인 제어 검증을 자동화합니다. BIMI 인증서는 근본적으로 다른 것을 요구합니다 — 상표 소유권과 브랜드 아이덴티티에 대한 인간의 판단입니다. 이 두 가지는 동일한 도구 체계로 양립할 수 없습니다.

이 글에서는 그 구조적 이유, VMC와 CMC의 실제 검증 프로세스, 그리고 무료 TLS 인증서와 $1,000 이상의 Mark Certificate 사이의 비용 격차가 임의적인 가격 책정이 아닌 이유를 설명합니다 — 이는 공인 심사관이 수행하는 실제 수작업 노동을 반영합니다.


배경: Let's Encrypt가 실제로 하는 일

Let's Encrypt는 ACME 프로토콜(Automated Certificate Management Environment, RFC 8555)을 기반으로 운영됩니다. 전체 모델은 하나의 질문을 중심으로 구축되어 있습니다:

이 인증서를 요청하는 주체가 해당 도메인 이름을 제어하고 있는가?

이 질문에 자동으로 답하기 위해 Let's Encrypt는 세 가지 챌린지 유형 중 하나를 사용합니다:

  1. HTTP-01 — 도메인의 알려진 URL에 특정 토큰을 배치합니다.
  2. DNS-01 — 도메인의 DNS 존에 특정 TXT 레코드를 게시합니다.
  3. TLS-ALPN-01 — 포트 443에서 특정 인증서로 TLS 핸드셰이크에 응답합니다.

챌린지가 성공하면 도메인 제어가 증명됩니다. 인증서는 몇 초 만에 발급됩니다. 사람이 요청을 검토하지 않습니다. 사람이 검토할 수도 없습니다 — Let's Encrypt는 하루에 수백만 개의 인증서를 발급합니다.

이 모델이 작동하는 것은 정확히 도메인 제어가 이진적이고 기계로 검증 가능한 사실이기 때문입니다. 토큰이 있거나 없거나 둘 중 하나입니다.


BIMI Mark Certificate가 실제로 인증하는 것

Verified Mark Certificate(VMC) 또는 Common Mark Certificate(CMC)는 도메인 제어를 인증하지 않습니다. 범주적으로 다른 것을 인증합니다:

특정 SVG 로고가 특정 조직과 정당하게 연관되어 있으며, 해당 조직이 이메일 클라이언트에서 그 로고를 표시할 권리가 있다는 것.

이러한 주장을 하기 위해 인증 기관은 기계로 검증할 수 있는 답이 없는 질문들에 답해야 합니다:

  1. 이 조직이 로고에 묘사된 상표를 소유하거나 라이선스하고 있는가?
  2. SVG 파일이 등록된 상표를 충실하게 표현하고 있는가?
  3. CMC 역사적 사용 규정에 따라 자격을 갖출 만큼 로고가 지속적으로 공개 사용되었는가?
  4. 조직이 상표 등록에 명시된 것과 동일한 법인인가?

이 질문들 중 어느 것도 웹 서버에 파일을 배치하는 것으로 해결할 수 없습니다.


VMC 검증 프로세스: 심사관이 실제로 하는 일

공인 마크 검증기관(AMV) — VMC 발급 권한이 있는 소수의 CA로, 현재 DigiCert와 Entrust가 포함됩니다 — 은 각 신청에 대해 정의된 심사 워크플로우를 따릅니다. 아래 단계는 BIMI Working Group과 CA/Browser Forum Mark Certificate 가이드라인에서 공개된 요구사항을 반영합니다.

1. 상표 등록 검증

심사관은 관련 국가 또는 국제 등록기관(USPTO, EUIPO, WIPO, IPO 등)에서 상표 등록 기록을 검색하여 다음을 확인합니다:

  • 해당 상표가 등록되어 있다(단순히 출원된 것이 아님).
  • 등록이 활성 상태이며 만료, 취소 또는 포기되지 않았다.
  • 상품 및 서비스 분류가 신청자의 사업과 일치한다.
  • 등록 명의 소유자가 인증서 요청을 제출한 법인과 일치한다.

이 단계는 여러 상표 데이터베이스에 대한 접근, 국제 지적재산권법에 대한 지식, 그리고 경계 사례에 대한 판단을 필요로 합니다 — 예를 들어, 갱신 대기 중인 상태가 효력 상실 등록에 해당하는지 여부.

2. 로고-상표 일치 검토

심사관은 제출된 SVG 파일을 등록된 상표 견본과 비교하여 실질적으로 동일한 마크인지 판단합니다. 이것은 픽셀 비교 작업이 아닙니다. 다음에 대한 인간의 평가가 필요합니다:

  • 서로 다른 파일 형식 간의 스타일적 동등성.
  • 색상 변화가 허용 범위 내에 있는지 여부.
  • 단순화되거나 수정된 버전이 여전히 등록된 마크를 나타내는지 여부.

3. SVG 기술 준수 확인

SVG는 BIMI SVG Tiny P/S 프로파일 — SVG 1.2 Tiny의 제한된 하위 집합에 부합해야 합니다. 심사관은 파일이 다음을 충족하는지 검증합니다:

  • 래스터 이미지 임베드가 포함되어 있지 않다.
  • JavaScript나 외부 참조를 사용하지 않는다.
  • 올바른 </code> 요소가 포함되어 있다.</li> <li class="md-li">정사각형 뷰포트 내에서 올바르게 렌더링된다.</li> </ul> <p class="md-p"> 이것은 부분적으로 자동화할 수 있는 유일한 단계이며, 여러 CA가 자동화된 사전 검사를 실행합니다. 그러나 자동화된 검사가 심사관의 최종 승인을 대체하지는 않습니다. </p> <h3 id="4" class="md-h3">4. 조직 신원 검증</h3> <p class="md-p"> 심사관은 인증서 신청자가 상표 등록에 명시된 것과 동일한 법인인지 확인합니다. 이는 일반적으로 다음을 포함합니다: </p> <ul class="md-ul"> <li class="md-li">법인설립증명서 또는 이에 상응하는 사업자 등록 기록 검토.</li> <li class="md-li">신청자의 공인 대리인이 서명 권한을 가지고 있는지 확인.</li> <li class="md-li">조직이 이전 인증서가 있는 경우 기존 신원 기록과 교차 참조.</li> </ul> <h3 id="5-cmc" class="md-h3">5. CMC 역사적 사용 검증(해당되는 경우)</h3> <p class="md-p"> Common Mark Certificate — 공식적으로 상표로 등록되지 않았지만 널리 인식되는 로고를 지원하기 위해 도입됨 — 는 다른 증거 기준을 요구합니다. 등록 번호 대신 신청자는 자격 기간 동안 로고의 <strong>지속적이고 공개적인 사용</strong>을 증명해야 합니다. </p> <p class="md-p"> 이 지점에서 <strong>Wayback Machine</strong>(Internet Archive)과 유사한 역사적 웹 기록이 관련됩니다. 심사관은: </p> <ol class="md-ol"> <li class="md-li">Internet Archive에서 로고가 표시된 조직 웹 존재의 날짜가 기록된 캡처를 검색합니다.</li> <li class="md-li">역사적 캡처에서 보이는 로고가 제출된 SVG와 <strong>실질적으로 동일</strong>한지 확인합니다.</li> <li class="md-li">캡처가 상당한 공백 없이 필요한 기간에 걸쳐 있는지 확인합니다.</li> <li class="md-li">역사적 사용이 내부적이거나 부수적이 아닌 진정으로 공개된 것인지 평가합니다.</li> </ol> <p class="md-p"> 이 프로세스는 본질적으로 수동입니다. Wayback Machine은 구조화된 "로고 연속성 점수"를 반환하는 API를 제공하지 않습니다. 심사관이 캡처를 검색하고, 시각적으로 검사하고, 판단을 내려야 합니다. 경계 사례 — 기간 중간의 사이트 리디자인, 로고 리프레시, 도메인 변경 — 는 신청자와의 서신 교환과 추가 문서를 필요로 합니다. </p> <hr class="md-hr" /> <h2 id="acme" class="md-h2">ACME 프로토콜이 이 격차를 메울 수 없는 이유</h2> <p class="md-p"> ACME 프로토콜은 <strong>제어에 대한 암호화적 증명</strong>을 자동화하도록 설계되었습니다. 정의된 챌린지는 모호함 없이 유효하거나 무효한 출력을 생성합니다. </p> <p class="md-p"> Mark Certificate 검증은 <strong>증명이 아닌 판단</strong>인 출력을 생성합니다. 다음을 고려하세요: </p> <p class="md-p"> | 검증 단계 | 기계 검증 가능? | 이유 | |---|---|---| | 도메인 제어(TLS 인증서) | <strong>예</strong> | 토큰 존재 여부는 이진적 | | 상표 등록 상태 | 부분적 | 등록기관 API가 존재하지만 해석에 법적 맥락 필요 | | 로고-상표 일치 | <strong>아니오</strong> | 시각적 및 법적 판단 필요 | | SVG 기술 준수 | 부분적 | 자동화된 사전 검사 가능하지만 단독으로 충분하지 않음 | | 조직 신원 | <strong>아니오</strong> | 문서 검토 필요 | | CMC 역사적 로고 사용 | <strong>아니오</strong> | 기록 보관 연구와 시각적 비교 필요 | </p> <p class="md-p"> 향후 ACME 버전이 새로운 챌린지 유형으로 확장되더라도, "이 SVG가 상표 등록 번호 5,678,901의 충실한 표현이다"라고 증명할 수 있는 챌린지 응답은 없습니다. 그 결정에는 자격을 갖춘 인간 심사관이 필요합니다. </p> <hr class="md-hr" /> <h2 id="vmc-1-000" class="md-h2">VMC가 $1,000 이상인 이유</h2> <p class="md-p"> VMC의 가격은 인증서 발급에 관련된 암호화 작업 비용이 아닌 위에서 설명한 심사 프로세스의 비용을 반영합니다. 그러한 작업은 비용이 거의 들지 않습니다. </p> <p class="md-p"> 비용 구성 요소는 다음과 같습니다: </p> <ol class="md-ol"> <li class="md-li"><strong>심사관 시간</strong> — 자격을 갖춘 상표 심사관이 문서를 검토하고, 신청자와</li> </ol> </div> <div class="doc-footer"> <a href="/" class="btn btn-primary">Convert Your Logo →</a> <a href="/check" class="btn btn-secondary">Audit Your Domain</a> </div> </main> </div> <footer> <div class="container footer-inner"> <div class="footer-left"> <span class="footer-copyright">© 2026 makeBIMI™</span> </div> <div class="footer-links"> <a href="/global" class="footer-link">Global</a> <a href="/knowledge">Learn</a> <a href="/certificates">VMC</a> <a href="https://veribimi.com" class="seo-link" rel="noopener">veriBIMI<sup style="font-size:0.45em; font-weight:400; color:rgba(247,248,248,0.28); position:relative; top:-0.5em; margin-left:1px; vertical-align:baseline;">℠</sup></a> <a href="https://veribimi.com/founder" rel="noopener">Founder</a> <a href="https://veribimi.com/privacy" rel="noopener">Privacy</a> </div> </div> </footer> <div class="cmd-overlay" id="cmd-overlay" role="dialog" aria-modal="true" aria-label="Command palette"> <div class="cmd-modal"> <div class="cmd-search-row"> <svg class="cmd-search-icon" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg> <input type="text" class="cmd-input" id="cmd-input" placeholder="Search documentation, navigate pages…" autocomplete="off" /> <span class="cmd-esc">ESC</span> </div> <div class="cmd-results" id="cmd-results"></div> <div class="cmd-footer"> <span><kbd>↑↓</kbd> Navigate</span> <span><kbd>↵</kbd> Select</span> <span><kbd>ESC</kbd> Close</span> </div> </div> </div> <div class="toast-container" id="toast-container"></div> <!-- Inject sections data for Cmd+K --> <script> window.DOC_SECTIONS = ; </script> <script src="/public/js/app.js?v4"></script> <script src="/public/js/toc.js?v4"></script> <script src="/public/js/interactions.js?v4"></script> <!-- ── COOKIE CONSENT BANNER (EU/EEA only, based on CF-IPCountry) ── --> <div id="cookie-consent-banner" style="display:none;" role="dialog" aria-label="Cookie consent"> <div class="cookie-consent-inner"> <p class="cookie-consent-text"> We use Google Analytics to understand how visitors use this tool. No advertising cookies are set. <a href="https://veribimi.com/privacy" rel="noopener" class="cookie-consent-link">Privacy Policy</a> </p> <div class="cookie-consent-actions"> <button class="cookie-consent-btn cookie-consent-accept" onclick="acceptCookies()">Accept</button> <button class="cookie-consent-btn cookie-consent-decline" onclick="declineCookies()">Decline</button> </div> </div> </div> <script> (function() { // Only show for EU/EEA countries (Cloudflare sets CF-IPCountry via meta tag injected server-side) var country = document.documentElement.getAttribute('data-country') || ''; var EU_COUNTRIES = ['AT','BE','BG','CY','CZ','DE','DK','EE','ES','FI','FR','GR','HR', 'HU','IE','IT','LT','LU','LV','MT','NL','PL','PT','RO','SE','SI','SK', 'IS','LI','NO','GB','CH']; // EEA + UK + Switzerland (nFADP) var consent = localStorage.getItem('makebimi_cookie_consent'); if (!consent && EU_COUNTRIES.indexOf(country) !== -1) { document.getElementById('cookie-consent-banner').style.display = 'block'; } if (consent === 'declined') { // Remove GA4 script if previously declined var scripts = document.querySelectorAll('script[src*="googletagmanager"]'); scripts.forEach(function(s) { s.parentNode && s.parentNode.removeChild(s); }); } })(); function acceptCookies() { localStorage.setItem('makebimi_cookie_consent', 'accepted'); document.getElementById('cookie-consent-banner').style.display = 'none'; } function declineCookies() { localStorage.setItem('makebimi_cookie_consent', 'declined'); document.getElementById('cookie-consent-banner').style.display = 'none'; // Disable GA4 for this session window['ga-disable-G-S1HG2ZB83B'] = true; } </script> </body> </html>