CT คืออะไร — Certificate Transparency
Certificate Transparency (CT) คืออะไรและทำงานอย่างไร

Certificate Transparency (CT) เป็นระบบที่ออกแบบมาเพื่อตรวจสอบและเฝ้าระวังการออก SSL/TLS Certificate โดย Certificate Authority (CA) ทุกครั้งที่ CA ออก certificate ใหม่จะต้องส่ง certificate นั้นไปบันทึกใน CT Log ที่เป็น public append-only log ทำให้ทุกคนสามารถตรวจสอบได้ว่ามี certificate อะไรถูกออกสำหรับ domain ใดบ้าง
CT ถูกพัฒนาโดย Google เพื่อแก้ปัญหาที่ CA อาจออก certificate ปลอมหรือผิดพลาดโดยที่เจ้าของ domain ไม่รู้ ตัวอย่างเช่นในปี 2011 DigiNotar CA ถูกแฮ็กแล้วออก certificate ปลอมสำหรับ google.com ทำให้ผู้โจมตีสามารถดักฟัง traffic ของผู้ใช้ Google ได้ CT ช่วยป้องกันปัญหาเหล่านี้ด้วยการทำให้การออก certificate ทุกครั้งเป็นสาธารณะ
ระบบ CT ประกอบด้วย 3 ส่วนหลักคือ CT Log Server ที่เก็บ certificate ทั้งหมดใน Merkle Tree, Monitor ที่เฝ้าดู CT Log เพื่อตรวจจับ certificate ที่น่าสงสัย และ Auditor ที่ตรวจสอบว่า CT Log ทำงานถูกต้องไม่มีการแก้ไขข้อมูล
ตั้งแต่เดือนเมษายน 2018 Google Chrome บังคับให้ certificate ทุกใบต้องมี Signed Certificate Timestamp (SCT) จาก CT Log อย่างน้อย 2 แห่ง ถ้าไม่มีจะแสดง warning ให้ผู้ใช้เห็น ทำให้ CT กลายเป็นส่วนสำคัญของ web security infrastructure
โครงสร้างของ CT Log และ Merkle Tree
CT Log ใช้ Merkle Hash Tree สำหรับเก็บข้อมูล certificate ทำให้สามารถตรวจสอบความถูกต้องของข้อมูลได้อย่างมีประสิทธิภาพ
เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน Dynatrace OneAgent Learning Path Roadmap
SCT (Signed Certificate Timestamp) เป็นหลักฐานว่า certificate ถูกบันทึกใน CT Log แล้ว
ตรวจสอบ CT Log ด้วย Command Line Tools
ใช้เครื่องมือ command line สำหรับค้นหาและตรวจสอบ certificate ใน CT Log
แนะนำเพิ่มเติม — ระบบเทรดของ iCafeForex
ตั้งค่า CT Monitoring สำหรับ Domain ของคุณ

สร้างระบบ monitoring ที่แจ้งเตือนเมื่อมี certificate ใหม่ถูกออกให้ domain ของคุณ
ใช้ CT Log API สำหรับ Security Research
CT Log API สามารถใช้สำหรับ subdomain enumeration, phishing detection และ certificate analysis
เนื้อหาเกี่ยวข้อง — ดูเพิ่มเติมเรื่อง Semgrep SAST FinOps Cloud Cost
ตั้งค่า Expect-CT Header และ CT Policy
ตั้งค่า Expect-CT HTTP header เพื่อบังคับให้ browser ตรวจสอบ CT สำหรับ domain ของคุณ
# Nginx Configuration — Expect-CT Header
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Expect-CT Header
# max-age: ระยะเวลาที่ browser จำ policy (86400 = 1 วัน)
# enforce: บังคับให้ปฏิเสธ certificate ที่ไม่มี SCT
# report-uri: URL สำหรับส่ง violation report
add_header Expect-CT 'max-age=86400, enforce, report-uri="https://example.com/ct-report"' always;
# Security Headers อื่นๆ
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
}
# Apache Configuration
#
# Header always set Expect-CT "max-age=86400, enforce, report-uri=\"https://example.com/ct-report\""
#
# Caddy Configuration
# example.com {
# header Expect-CT "max-age=86400, enforce"
# }
# ตรวจสอบ header
curl -sI https://example.com | grep -i expect-ct
# ตรวจสอบ certificate มี SCT หรือไม่
echo | openssl s_client -connect example.com:443 2>/dev/null | \
openssl x509 -noout -text 2>/dev/null | \
grep -c "Signed Certificate Timestamp"
# Output: 2 (ต้องมีอย่างน้อย 2 SCTs)
สร้าง CT Report Endpoint สำหรับรับ violation reports
FAQ คำถามที่พบบ่อย
Q: CT Log ปลอดภัยจากการถูกแก้ไขข้อมูลอย่างไร?
แนะนำเพิ่มเติม — สัญญาณเทรดรายวัน XM Signal
A: CT Log ใช้ Merkle Hash Tree ที่เป็น append-only structure ทุกการเปลี่ยนแปลงจะส่งผลต่อ root hash ทำให้ตรวจจับได้ทันที นอกจากนี้ CT Log Server ต้อง sign ทุก Signed Tree Head (STH) ด้วย private key ทำให้ไม่สามารถปลอมแปลงได้ Monitor และ Auditor จะตรวจสอบ consistency ของ log อย่างสม่ำเสมอ
เนื้อหาเกี่ยวข้อง — แนะนำให้อ่าน Kubernetes CRD Multi-cloud Strategy
Q: ถ้าพบ certificate ปลอมใน CT Log ต้องทำอย่างไร?
A: ติดต่อ CA ที่ออก certificate นั้นเพื่อขอ revoke ทันที แจ้ง browser vendors (Google, Mozilla, Apple, Microsoft) เพื่อ block certificate และรายงานไปยัง CA/Browser Forum ถ้า CA ออก certificate ปลอมซ้ำอาจถูก distrust จาก browser ทั้งหมด
Q: CT ช่วยป้องกัน phishing ได้อย่างไร?
A: CT ไม่ได้ป้องกัน phishing โดยตรง แต่ช่วยให้ตรวจจับ phishing domain ที่ใช้ certificate จริงได้เร็วขึ้น โดย monitor CT Log แล้วค้นหา domain ที่คล้ายกับ domain เป้าหมาย เช่น g00gle.com หรือ examp1e.com องค์กรหลายแห่งใช้ CT monitoring เป็นส่วนหนึ่งของ brand protection strategy
เนื้อหาเกี่ยวข้อง — บทความที่เกี่ยวข้อง: Crossplane Composition Distributed System
Q: Certificate ที่ออกก่อนมี CT บังคับยังใช้งานได้ไหม?
A: Certificate ที่ออกก่อนเมษายน 2018 (ช่วงที่ Chrome เริ่มบังคับ CT) ยังใช้งานได้จนกว่าจะหมดอายุ แต่ certificate ที่ออกหลังจากนั้นต้องมี SCT จาก CT Log อย่างน้อย 2 แห่ง ถ้าไม่มี Chrome จะแสดง warning และ certificate ที่มีอายุยาวกว่า 180 วันต้องมี SCT จาก CT Log อย่างน้อย 3 แห่ง





