Technical Reference · 2026 Edition

ทำไม Let's Encrypt ไม่ออกใบรับรอง BIMI (VMC/CMC)

Let's Encrypt ไม่สามารถออก Verified Mark Certificates (VMC) หรือ Common Mark Certificates (CMC) ได้ เนื่องจากการออกใบรับรอง BIMI ต้องมีการตรวจสอบเครื่องหมายการค้าด้วยมนุษย์ ซึ่งโปรโตคอล ACME ไม่สามารถทำให้เป็นระบบอัตโนมัติได้ เรียนรู้ว่าทำไม VMC มีราคาตั้งแต่ $1,000 ขึ้นไป และกระบวนการทำงานเป็นอย่างไร

Last updated min read

ช่องว่างของระบบอัตโนมัติ

Let's Encrypt เป็นหนึ่งใน Certificate Authority ที่ประสบความสำเร็จมากที่สุดในประวัติศาสตร์อินเทอร์เน็ต ได้ออกใบรับรอง TLS ไปแล้วหลายพันล้านใบ ผลักดันการใช้งาน HTTPS ทั่วทั้งเว็บ และทำทั้งหมดนี้โดยไม่คิดค่าใช้จ่าย ดังนั้นเมื่อองค์กรเริ่มนำ BIMI มาใช้และพบว่า Mark Certificates มีราคาตั้งแต่ปีละ $1,000 ขึ้นไป คำถามที่เกิดขึ้นในฟอรัมและกระทู้ขอความช่วยเหลือเกือบจะทันทีคือ:

"ทำไม Let's Encrypt ไม่ออก VMC ให้เลยล่ะ?"

คำตอบสั้นๆ คือ: โปรโตคอล ACME ทำให้การตรวจสอบการควบคุมโดเมนเป็นระบบอัตโนมัติ แต่ใบรับรอง BIMI ต้องการสิ่งที่แตกต่างกันโดยพื้นฐาน — การตัดสินใจของมนุษย์เกี่ยวกับความเป็นเจ้าของเครื่องหมายการค้าและอัตลักษณ์ของแบรนด์ สองสิ่งนี้ไม่สามารถประสานกันได้ด้วยชุดเครื่องมือเดียวกัน

บทความนี้อธิบายเหตุผลเชิงโครงสร้างว่าทำไม กระบวนการตรวจสอบ VMC และ CMC เกี่ยวข้องกับอะไรจริงๆ และทำไมช่องว่างของราคาระหว่างใบรับรอง TLS ฟรีกับ Mark Certificate ที่มีราคามากกว่า $1,000 จึงไม่ใช่การตั้งราคาตามอำเภอใจ — แต่สะท้อนถึงแรงงานมนุษย์ที่แท้จริงที่ดำเนินการโดยผู้ตรวจสอบที่ได้รับการรับรอง


ภูมิหลัง: สิ่งที่ Let's Encrypt ทำจริงๆ

Let's Encrypt ทำงานบน โปรโตคอล ACME (Automated Certificate Management Environment, RFC 8555) โมเดลทั้งหมดสร้างขึ้นจากคำถามเดียว:

หน่วยงานที่ขอใบรับรองนี้ควบคุมชื่อโดเมนที่เกี่ยวข้องหรือไม่?

เพื่อตอบคำถามนั้นโดยอัตโนมัติ Let's Encrypt ใช้หนึ่งในสามประเภทของ Challenge:

  1. HTTP-01 — วางโทเค็นเฉพาะที่ URL ที่กำหนดไว้บนโดเมน
  2. DNS-01 — เผยแพร่ TXT record เฉพาะใน DNS zone ของโดเมน
  3. TLS-ALPN-01 — ตอบสนองต่อ TLS handshake บนพอร์ต 443 ด้วยใบรับรองเฉพาะ

หาก Challenge สำเร็จ การควบคุมโดเมนได้รับการพิสูจน์แล้ว ใบรับรองจะออกภายในไม่กี่วินาที ไม่มีมนุษย์ตรวจสอบคำขอ ไม่มีมนุษย์สามารถตรวจสอบคำขอได้ — Let's Encrypt ออกใบรับรองหลายล้านใบต่อวัน

โมเดลนี้ทำงานได้อย่างแม่นยำเพราะ การควบคุมโดเมนเป็นข้อเท็จจริงแบบไบนารีที่เครื่องสามารถตรวจสอบได้ โทเค็นมีอยู่หรือไม่มี ไม่มีทางอื่น


สิ่งที่ใบรับรอง BIMI Mark Certificate รับรองจริงๆ

Verified Mark Certificate (VMC) หรือ Common Mark Certificate (CMC) ไม่ได้รับรองการควบคุมโดเมน แต่รับรองสิ่งที่แตกต่างกันโดยหมวดหมู่:

ว่าโลโก้ SVG เฉพาะนั้นเกี่ยวข้องกับองค์กรเฉพาะอย่างถูกต้องตามกฎหมาย และองค์กรนั้นมีสิทธิ์แสดงโลโก้นั้นในโปรแกรมอีเมล

เพื่อทำการยืนยันนั้น Certificate Authority ต้องตอบคำถามที่ไม่มีคำตอบที่เครื่องสามารถตรวจสอบได้:

  1. องค์กรนี้เป็นเจ้าของหรือได้รับอนุญาตให้ใช้เครื่องหมายการค้าที่ปรากฏในโลโก้หรือไม่?
  2. ไฟล์ SVG เป็นการแสดงภาพที่ถูกต้องของเครื่องหมายการค้าที่จดทะเบียนนั้นหรือไม่?
  3. โลโก้ถูกใช้อย่างต่อเนื่องและเปิดเผยต่อสาธารณะนานพอที่จะผ่านเกณฑ์ภายใต้กฎการใช้งานทางประวัติศาสตร์ของ CMC หรือไม่?
  4. องค์กรเป็นนิติบุคคลเดียวกันกับที่ระบุชื่อในการจดทะเบียนเครื่องหมายการค้าหรือไม่?

ไม่มีคำถามใดในเหล่านี้ที่สามารถแก้ไขได้โดยการวางไฟล์บนเว็บเซิร์ฟเวอร์


กระบวนการตรวจสอบ VMC: สิ่งที่ผู้ตรวจสอบทำจริงๆ

Accredited Mark Verifiers (AMVs) — จำนวนน้อยของ CA ที่ได้รับอนุญาตให้ออก VMC ซึ่งปัจจุบันรวมถึง DigiCert และ Entrust — ปฏิบัติตามขั้นตอนการตรวจสอบที่กำหนดไว้สำหรับแต่ละใบสมัคร ขั้นตอนด้านล่างสะท้อนข้อกำหนดที่เผยแพร่จาก BIMI Working Group และแนวทาง Mark Certificate ของ CA/Browser Forum

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">แสดงผลได้ถูกต้องภายใน viewport สี่เหลี่ยมจัตุรัส</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> </ul> </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>