1. BoringSSL คืออะไร

BoringSSL คือไลบรารีการเข้ารหัสแบบโอเพนซอร์สของ Google ที่พัฒนาต่อยอดมาจาก OpenSSL ซึ่งออกแบบมาโดยเฉพาะสำหรับโปรเจกต์ Chromium และ Android ส่วนประกอบหลักได้แก่:

  1. การใช้งานโปรโตคอล: TLS 1.2/1.3, DTLS 1.2
  2. ส่วนประกอบพื้นฐานของการเข้ารหัส: AES-GCM, ChaCha20-Poly1305, RSA-PSS, ECDSA
  3. การยืนยันใบรับรอง: การตรวจสอบความถูกต้องของเชน X.509
  4. การขนส่งที่ปลอดภัย: เลเยอร์นามธรรม BIO

แตกต่างจาก OpenSSL ตรงที่ BoringSSL:

  • ลบการสนับสนุนอัลกอริทึมที่ล้าสมัยออก (SSLv3, RC4)
  • ยกเลิกข้อกำหนดการตรวจสอบ FIPS 140-2
  • ใช้การลิงก์แบบคงที่เป็นค่าเริ่มต้น
  • ใช้งานนโยบายใบรับรองที่เข้มงวด

2. สถาปัตยกรรม BoringSSL เทียบกับ OpenSSL

คุณสมบัติBoringSSLOpenSSL
ฐานโค้ด~240Kloc (แบบง่าย)~500Kloc
ความปลอดภัยของเธรดการดำเนินการแบบอะตอมมิกล็อกส่วนกลาง
หน่วยความจำตัวจัดสรรแบบกำหนดเองmalloc/free มาตรฐาน
APIเฉพาะ Chromiumวัตถุประสงค์ทั่วไป
การอัปเดตเผยแพร่รายสัปดาห์ออกรุ่นรายไตรมาส
ความเข้ากันได้ตั้งใจที่จะทำลาย ABIรักษาความเสถียรของ ABI

ความแตกต่างทางสถาปัตยกรรมที่สำคัญ:

  • BoringSSL ใช้โมดูล BoringCrypto FIPS
  • ไม่รองรับ ENGINE API
  • ลบตัวเลือกการกำหนดค่าออก 80%
  • ระบบการจัดการข้อผิดพลาดที่เรียบง่ายขึ้น

3. โมดูลหลักของ BoringSSL

  1. สแต็ก TLS
    • การกลับมาทำงานของเซสชันโดยไม่ขึ้นกับสถานะเซิร์ฟเวอร์
    • การปรับแต่ง False Start
    • ตัวส่งออกข้อมูลคีย์
  2. การเข้ารหัส
    • การใช้งานแบบเวลาคงที่
    • การเร่งความเร็วด้วยฮาร์ดแวร์ (AES-NI, PCLMULQDQ)
    • การทดลองคริปโตหลังยุคควอนตัม
  3. X.509
    • ความโปร่งใสของใบรับรอง
    • OCSP stapling
    • ข้อจำกัดด้านชื่อ
  4. การจัดการหน่วยความจำ
    • มาโคร ScopedOPENSSL
    • ไม่มี malloc/free ในเส้นทางสำคัญ
    • การรับประกันการทำให้เป็นศูนย์
  5. การทดสอบ
    • ครอบคลุมโค้ด 92%
    • การฟัซซิงด้วย libFuzzer
    • CI ข้ามแพลตฟอร์ม

4. BoringSSL ในแอปพลิเคชันสมัยใหม่

บทบาทสำคัญในสแต็กความปลอดภัย:

  1. การรวมกับ Chromium
    • ขับเคลื่อน QUIC และ HTTP/3 ใน Chrome
    • การยืนยันใบรับรองสำหรับอุปกรณ์กว่า 1 พันล้านเครื่อง
    • การใช้งาน WebRTC DTLS
  2. การปรับปรุงประสิทธิภาพ
    • การแฮนด์เชค TLS 1.3 เร็วกว่า OpenSSL 2 เท่า
    • ขนาดไบนารีเล็กลง 40%
    • ส่วนขยายการเข้ารหัส ARMv8
  3. การปรับปรุงความปลอดภัย
    • การจับคู่ชื่อใบรับรองที่เข้มงวด
    • การเลือกเส้นโค้ง EC อัตโนมัติ
    • ความโปร่งใสของใบรับรองที่เปิดใช้งานตลอดเวลา
  4. ประสบการณ์นักพัฒนา
    • ส่วนต่อประสาน API ที่เรียบง่ายขึ้น
    • นโยบายการเลิกใช้งานที่ชัดเจน
    • เอกสารประกอบต่อฟังก์ชัน

คุณอาจชอบ

Run multiple accounts without bans and blocks
ทดลองใช้ฟรี

การป้องกันความปลอดภัยหลายบัญชี เริ่มต้นด้วย FlashID

ผ่านเทคโนโลยีการระบุตัวตนด้วยลายนิ้วมือของเรา คุณจะไม่ถูกติดตาม

การป้องกันความปลอดภัยหลายบัญชี เริ่มต้นด้วย FlashID