Enterprise รุ่น
Accelerator — GPU sidecar และแฟกทอรีผู้ให้บริการ KMS
โดยสรุป
หัวข้อที่มีชื่อว่า “โดยสรุป”NextPDF Enterprise เพิ่มฟีเจอร์เร่งความเร็วสองอย่าง ได้แก่ GPU sidecar สำหรับการฝังเวกเตอร์ข้อความพร้อมทางเลือกสำรองบน CPU และโรงงานผู้ให้บริการ KMS ที่จัดหาเมทาดาทาและการหมุนเวียนคีย์เข้ารหัสข้อมูลระดับคอลเลกชัน หน้านี้ระบุพฤติกรรม ขอบเขต และจุดยืนเรื่องการดูแลคีย์
ความพร้อมใช้งานและสิทธิ์ใช้งาน
หัวข้อที่มีชื่อว่า “ความพร้อมใช้งานและสิทธิ์ใช้งาน”ความสามารถนี้มาในแพ็กเกจ NextPDF Enterprise (nextpdf/enterprise) และเปิดใช้งานด้วยซองสิทธิ์ใช้งานระดับ Enterprise การปรับใช้ที่ไม่มีสิทธิ์นั้นจะไม่โหลดคลาสของความสามารถนี้ เปรียบเทียบรุ่นและขอรับสิทธิ์ใช้งาน
ภาพรวมเชิงแนวคิด
หัวข้อที่มีชื่อว่า “ภาพรวมเชิงแนวคิด”GPU sidecar เร่งความเร็วการฝังจากข้อความเป็นเวกเตอร์ แพ็กเกจ Enterprise ส่งข้อความไปยังกระบวนการไซด์คาร์ที่แยกต่างหากผ่านคำขอ HTTP ในเครื่อง ไซด์คาร์จะรันโมเดลการฝังบน GPU เมื่อมี GPU พร้อมใช้งาน เมื่อไม่มี GPU พร้อมใช้งาน ไซด์คาร์จะรันโมเดลเดียวกันบน CPU และรายงานว่ารันในโหมดที่ลดทอนคุณภาพ ผลลัพธ์เป็นรูปทรงเวกเตอร์เดียวกันในทั้งสองกรณี โมเดลการฝังถูกโหลดในคำขอแรก คำขอแรกจึงช้ากว่าคำขอถัด ๆ ไป ไซด์คาร์เป็นทางเลือกเสริม มีการตรวจสอบความพร้อมใช้งานเปิดเผยไว้ และไซด์คาร์ที่ขาดหายจะยกข้อยกเว้นแบบมีชนิดแทนที่จะล้มเหลวเงียบ ๆ
โรงงานผู้ให้บริการ KMS เลือกผู้ให้บริการการจัดการคีย์จากการกำหนดค่า โรงงานอ่านตัวแปรสภาพแวดล้อมเพื่อเลือกผู้ให้บริการ ผู้ให้บริการเริ่มต้นจะอนุพันธ์คีย์เข้ารหัสข้อมูลเฉพาะคอลเลกชันในเครื่องด้วย HKDF-SHA256 จากคีย์หลักที่กำหนดค่าไว้ โดยใช้ตัวระบุคอลเลกชันเป็นตัวแยกโดเมน ผู้ให้บริการในเครื่องไม่ติดต่อบริการภายนอกใด ๆ การอนุพันธ์เป็นแบบกำหนดผลแน่นอนและทำงานภายในกระบวนการ โรงงานยังยอมรับรูปแบบการกำหนดค่าแบบชัดแจ้งสำหรับผู้ให้บริการในเครื่องด้วย ผู้ให้บริการบนคลาวด์ ได้แก่ AWS KMS, GCP Cloud KMS, Azure Key Vault และ HashiCorp Vault Transit เป็นชื่อผู้ให้บริการที่ระบบรู้จัก การเลือกผู้ให้บริการหนึ่งโดยไม่ได้ติดตั้งการผสานการทำงานที่สอดคล้องกันจะยกข้อผิดพลาดการกำหนดค่าแบบมีชนิดที่ระบุชื่อสิ่งที่ต้องพึ่งพาซึ่งขาดหายไป
ผู้ให้บริการคืนค่า เมทาดาทา ของคีย์ ไม่ใช่ไบต์คีย์ดิบ เมทาดาทาบันทึกตัวระบุคีย์ เวอร์ชันคีย์ที่เพิ่มขึ้นแบบโมโนโทนิก ชื่ออัลกอริทึมการเข้ารหัส และชื่อผู้ให้บริการ การเรียกหมุนเวียนจะเลื่อนเวอร์ชันคีย์ขึ้นและคืนเมทาดาทาใหม่ ผู้เรียกมีหน้าที่เข้ารหัสข้อมูลคอลเลกชันใหม่ด้วยเวอร์ชันคีย์ใหม่หลังการหมุนเวียน วงจรชีวิตเวอร์ชันคีย์และการหมุนเวียนเป็นไปตาม NIST SP 800-57 Part 1 Rev.5 §4
เหตุใดจึงทำงานเช่นนี้
หัวข้อที่มีชื่อว่า “เหตุใดจึงทำงานเช่นนี้”การฝังเวกเตอร์รันในกระบวนการ GPU sidecar ที่แยกต่างหากแทนที่จะรันภายในคำขอ PHP การโหลดโมเดล GPU มีต้นทุนสูง ไซด์คาร์จึงโหลดโมเดลเพียงครั้งเดียวและเฉลี่ยต้นทุนนั้นข้ามคำขอจำนวนมาก เมื่อไม่มี GPU ไซด์คาร์จะรันโมเดลเดียวกันบน CPU และรายงานโหมดที่ลดทอนคุณภาพ ปริมาณงานอาจลดลง แต่ความถูกต้องไม่ลด รูปทรงเวกเตอร์เหมือนกันไม่ว่าทางใด ไซด์คาร์ยังคงเป็นทางเลือกเสริม การตรวจสอบความพร้อมใช้งานและข้อยกเว้นแบบมีชนิดเมื่อไซด์คาร์ขาดหายทำให้การเร่งความเร็วเป็นการเลือกใช้โดยตั้งใจ ไม่ใช่สิ่งที่ต้องพึ่งพาแบบซ่อนเร้น การแยกส่วนนั้นทำให้การฝังเวกเตอร์ปริมาณสูงขยายขนาดบนฮาร์ดแวร์เฉพาะได้ ในขณะที่ไปป์ไลน์เอกสารยังคงเป็นการเรียก PHP ธรรมดา
พื้นฐานการออกแบบ: การสร้างเอกสารปริมาณสูง
พื้นผิว API
หัวข้อที่มีชื่อว่า “พื้นผิว API”| พื้นผิวสาธารณะ | ชนิด | วัตถุประสงค์ | ความเสถียร | ตั้งแต่ |
|---|---|---|---|---|
| KMS provider factory | class | สร้างผู้ให้บริการ KMS จากสภาพแวดล้อมหรือการกำหนดค่าแบบชัดแจ้ง | stable | 2.1.0 |
| KMS provider | interface | รับเมทาดาทาของคีย์ หมุนเวียนคีย์ และรายงานชื่อผู้ให้บริการ | stable | 2.1.0 |
| Local KMS provider | class (implements the provider interface) | การอนุพันธ์คีย์ HKDF-SHA256 ในเครื่อง ไม่ติดต่อบริการภายนอก | stable | 2.1.0 |
| Encryption-key result | value object | เมทาดาทาของคีย์ที่ไม่เปลี่ยนรูป ได้แก่ key id, version, algorithm, provider โดยไม่มีไบต์คีย์ดิบ | stable | 2.1.0 |
| GPU embedding service | class (implements the Core embedding-service interface) | ฝังข้อความบน GPU sidecar พร้อมทางเลือกสำรองบน CPU | stable | 2.1.0 |
โรงงานผู้ให้บริการเปิดเผยจุดเริ่มต้นแบบ “from environment” และจุดเริ่มต้น “create” แบบชัดแจ้ง ค่าการกำหนดค่าคีย์หลักถูกทำเครื่องหมายว่าอ่อนไหวในผู้ให้บริการในเครื่อง สัญญาพารามิเตอร์และชนิดที่เป็นทางการคือเอกสารอ้างอิง API ที่เผยแพร่สำหรับแพ็กเกจ nextpdf/enterprise ให้ถือว่าเอกสารอ้างอิงนั้น ไม่ใช่หน้านี้ เป็นสัญญาที่ถูกต้อง
ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — เริ่มต้นอย่างรวดเร็ว”composer require nextpdf/corecomposer require nextpdf/enterprise:^3use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
// Selects the provider from environment configuration; defaults to the// local HKDF-based provider. Supply the root key through your secret// manager, never from source or logs.$provider = KmsProviderFactory::fromEnvironment();
$key = $provider->getEncryptionKey('collection-1');// $key is metadata only: key id, version, algorithm, provider name.ตัวอย่างโค้ด — การใช้งานจริง
หัวข้อที่มีชื่อว่า “ตัวอย่างโค้ด — การใช้งานจริง”use NextPDF\Enterprise\Accelerator\KmsProviderFactory;
$provider = KmsProviderFactory::fromEnvironment();
$rotated = $provider->rotateKey('collection-1');// The version advanced. Re-encrypt the collection's data files with the// new key version. The provider returns metadata only; it never returns// raw key bytes.ชื่อตัวแปรสภาพแวดล้อม คีย์การกำหนดค่าแบบชัดแจ้ง และชนิดของข้อยกเว้นได้รับการบันทึกไว้ใน เอกสารอ้างอิงเชิงลึก Accelerator
กรณีขอบเขตและข้อควรระวัง
หัวข้อที่มีชื่อว่า “กรณีขอบเขตและข้อควรระวัง”- ผู้ให้บริการ KMS ในเครื่องต้องการคีย์หลักที่เข้ารหัสแบบเลขฐานสิบหกอย่างน้อย 32 ไบต์ ค่าที่สั้นกว่าหรือไม่ใช่เลขฐานสิบหกจะยกข้อยกเว้นอาร์กิวเมนต์แบบมีชนิดในขั้นตอนการสร้าง
- การเลือกชื่อผู้ให้บริการบนคลาวด์โดยไม่ได้ติดตั้งการผสานการทำงานที่สอดคล้องกันจะยกข้อผิดพลาดการกำหนดค่าแบบมีชนิดที่ระบุชื่อสิ่งที่ต้องพึ่งพาซึ่งขาดหายไป
- ชื่อผู้ให้บริการที่ไม่รู้จักจะยกข้อผิดพลาดแบบมีชนิดที่ระบุรายชื่อที่รองรับ
- GPU sidecar รายงานโหมดที่ลดทอนคุณภาพเมื่อกลับมาใช้ CPU ตรวจสอบฟิลด์นั้นหากคุณพึ่งพาปริมาณงานของ GPU
- โมเดลการฝังถูกโหลดในคำขอแรก ให้กำหนดเวลาหมดเวลาของคำขอแรกตามนั้น
ประสิทธิภาพ
หัวข้อที่มีชื่อว่า “ประสิทธิภาพ”การอนุพันธ์คีย์ในเครื่องเป็นการดำเนินการ HKDF ที่มีต้นทุนคงที่ ไม่ติดต่อบริการภายนอกใด ๆ คำขอฝังเวกเตอร์ด้วย GPU เพิ่มการเดินทางไป-กลับในเครื่องหนึ่งครั้งไปยังไซด์คาร์บวกกับเวลาอนุมานของโมเดล คำขอแรกยังต้องจ่ายต้นทุนการโหลดโมเดลครั้งเดียวด้วย ทางเลือกสำรองบน CPU ให้ผลถูกต้องแต่ช้ากว่าเส้นทาง GPU สำหรับชุดข้อมูลเดียวกัน
หมายเหตุด้านความปลอดภัย
หัวข้อที่มีชื่อว่า “หมายเหตุด้านความปลอดภัย”- ผู้ให้บริการ KMS คืนค่า เมทาดาทา ของคีย์ ไม่ใช่ไบต์คีย์ดิบ value object ของผลคีย์เข้ารหัสไม่เคยพกพาวัสดุคีย์
- คีย์หลักของผู้ให้บริการในเครื่องเป็นพารามิเตอร์คอนสตรัคเตอร์ที่อ่อนไหว ไม่ถูกบันทึกในล็อกและไม่ถูกซีเรียลไลซ์
- ผู้ให้บริการในเครื่องไม่ติดต่อบริการภายนอกใด ๆ การอนุพันธ์เป็นแบบกำหนดผลแน่นอนและทำงานภายในกระบวนการ
- การใช้ AES-GCM ต้องใช้เวกเตอร์เริ่มต้นที่ไม่ซ้ำต่อคีย์ ตาม NIST SP 800-38D §5
ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII
หัวข้อที่มีชื่อว่า “ถิ่นที่อยู่ของข้อมูลและการลดความเสี่ยงด้าน PII”ผู้ให้บริการ KMS ในเครื่องทำงานภายในกระบวนการและไม่ติดต่อบริการภายนอกใด ๆ ไม่มีวัสดุคีย์และเนื้อหาเอกสารใดออกจากโฮสต์สำหรับการอนุพันธ์คีย์ในเครื่อง GPU sidecar รับข้อความที่จะฝังผ่านคำขอในเครื่อง โดยไม่ได้รับเนื้อหาเอกสารที่ไม่เกี่ยวข้อง ผู้ให้บริการ KMS บนคลาวด์ เมื่อกำหนดค่าไว้ จะติดต่อผู้ให้บริการคลาวด์ที่คุณเลือก ให้ทบทวนจุดยืนเรื่องถิ่นที่อยู่ของข้อมูลของผู้ให้บริการนั้นสำหรับเขตอำนาจศาลของคุณ
การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก
หัวข้อที่มีชื่อว่า “การรายงานข้อมูลที่ปลอดภัยและการขัดล้างบันทึก”คีย์หลักของผู้ให้บริการในเครื่องเป็นพารามิเตอร์คอนสตรัคเตอร์ที่อ่อนไหวและถูกแยกออกจากล็อกและการซีเรียลไลซ์ อย่าเพิ่มคีย์หลัก คีย์ที่อนุพันธ์มา หรือข้อมูลรับรองของผู้ให้บริการลงในล็อกของแอปพลิเคชันของคุณเอง ให้ถือว่าวัสดุคีย์ทั้งหมดเป็นความลับในนโยบายการบันทึกและการติดตามของคุณ
แบบจำลองภัยคุกคาม
หัวข้อที่มีชื่อว่า “แบบจำลองภัยคุกคาม”ผู้ให้บริการคืนค่าเมทาดาทา ไม่ใช่ไบต์คีย์ การรั่วไหลของเมทาดาทาจึงไม่เปิดเผยวัสดุคีย์ ความปลอดภัยของผู้ให้บริการในเครื่องขึ้นอยู่กับความลับของคีย์หลักที่กำหนดค่าไว้ ความปลอดภัยของผู้ให้บริการบนคลาวด์ขึ้นอยู่กับผู้ให้บริการนั้นและการกำหนดค่าของคุณ การปกป้องคีย์ขึ้นอยู่กับ KMS หรือความลับของคีย์หลัก การปรับใช้ และผู้ปฏิบัติงาน ไม่ใช่ซอฟต์แวร์นี้เพียงอย่างเดียว ดู ขอบเขตการปรับใช้
การเป็นไปตามข้อกำหนด
หัวข้อที่มีชื่อว่า “การเป็นไปตามข้อกำหนด”- วงจรชีวิตเวอร์ชันและการหมุนเวียนคีย์เข้ารหัสข้อมูลสอดคล้องกับ NIST SP 800-57 Part 1 Rev.5 §4
- ความรับผิดชอบในการปกป้องคีย์สอดคล้องกับ NIST SP 800-57 Part 1 Rev.5 §5.5.2
- ความไม่ซ้ำของเวกเตอร์เริ่มต้นของ AES-GCM สอดคล้องกับ NIST SP 800-38D §5
แหล่งอ้างอิงเชิงบรรทัดฐานทุกแหล่งถูกถอดความ ไม่มีการนำข้อความเชิงบรรทัดฐานมาแสดงซ้ำในหน้านี้ หน้านี้เกี่ยวข้องกับการจัดการคีย์
พฤติกรรมในโหมด FIPS
หัวข้อที่มีชื่อว่า “พฤติกรรมในโหมด FIPS”การอนุพันธ์ HKDF ของผู้ให้บริการในเครื่องใช้ SHA-256 อัลกอริทึมการเข้ารหัสที่บันทึกในเมทาดาทาของคีย์คือ AES-256-GCM เมื่อแอปพลิเคชันรันกับผู้ให้บริการการเข้ารหัสลับที่ผ่านการตรวจรับรองตาม FIPS พรีมิทีฟเหล่านั้นจะรันภายในขอบเขตที่ผ่านการตรวจรับรองนั้น โรงงานผู้ให้บริการเองทำหน้าที่เลือกและสร้างผู้ให้บริการ ไม่ได้รับรองขอบเขตการเข้ารหัสลับ
NextPDF Enterprise ไม่ใช่โมดูลการเข้ารหัสลับที่ผ่านการตรวจรับรองตาม FIPS และไม่กล่าวอ้างการรับรอง FIPS ใด ๆ ทำงานในโหมดที่เข้ากันได้กับ FIPS เฉพาะเมื่อกำหนดค่าด้วยผู้ให้บริการการเข้ารหัสลับที่ผ่านการตรวจรับรองตาม FIPS หรือ KMS ที่ผ่านการตรวจรับรองตาม FIPS เท่านั้น
ขอบเขตของรุ่น
หัวข้อที่มีชื่อว่า “ขอบเขตของรุ่น”ไซด์คาร์ฝังเวกเตอร์ด้วย GPU และโรงงานผู้ให้บริการ KMS มาในแพ็กเกจ nextpdf/enterprise เท่านั้น NextPDF Pro มอบการ ผสานการทำงาน KMS สำหรับกลยุทธ์การลงนาม (AWS KMS, GCP Cloud KMS, Azure Key Vault) แต่ ไม่ได้ มอบโรงงานผู้ให้บริการ KMS ของ Enterprise หรือไซด์คาร์ฝังเวกเตอร์ด้วย GPU การขนส่งไซด์คาร์ภายในและคลาสไปป์ไลน์การฝังภายในอยู่นอกขอบเขตของพื้นผิวสาธารณะและไม่ถูกนำมาแสดงซ้ำที่นี่
ทางเลือกสำรองของ Pro
หัวข้อที่มีชื่อว่า “ทางเลือกสำรองของ Pro”NextPDF Pro มอบ กลยุทธ์การลงนาม แบบ cloud-KMS โดย KMS เป็นผู้ถือคีย์ลงนาม และ Pro ส่งไดเจสต์ของแอตทริบิวต์ที่ลงนามไปยังผู้ให้บริการ นั่นคือการผสานการลงนาม ไม่ใช่โรงงานผู้ให้บริการคีย์เข้ารหัสข้อมูลระดับคอลเลกชันของ Enterprise และไม่ใช่ไซด์คาร์ฝังเวกเตอร์ด้วย GPU ดู Accelerator — NextPDF Pro สำหรับพื้นผิวการเร่งความเร็วของ Pro
ทางเลือกสำรองของ Core
หัวข้อที่มีชื่อว่า “ทางเลือกสำรองของ Core”NextPDF Core ไม่มีไซด์คาร์ฝังเวกเตอร์ด้วย GPU และไม่มีโรงงานผู้ให้บริการ KMS การฝังเวกเตอร์และการจัดการคีย์ระดับคอลเลกชันเป็นฟีเจอร์เฉพาะของ Enterprise
หมายเหตุขอบเขตของ Enterprise
หัวข้อที่มีชื่อว่า “หมายเหตุขอบเขตของ Enterprise”การขนส่งของ GPU sidecar ตัวระบุโมเดลการฝัง และคลาสไปป์ไลน์ภายในได้รับการอธิบายในระดับพฤติกรรมเท่านั้น ไคลเอนต์การขนส่งภายใน โทเค็นขอบเขตภายใน และการประกอบไปป์ไลน์ภายในอยู่นอกขอบเขตของพื้นผิวสาธารณะและไม่ถูกนำมาแสดงซ้ำที่นี่
ขอบเขตการปรับใช้
หัวข้อที่มีชื่อว่า “ขอบเขตการปรับใช้”NextPDF Enterprise ผสานการทำงานกับ KMS หรืออนุพันธ์คีย์จากความลับของคีย์หลักที่กำหนดค่าไว้ แต่ไม่ได้จัดเก็บหรือรับประกันความปลอดภัยของความลับคีย์หลักนั้นหรือคีย์ KMS บนคลาวด์เอง ความปลอดภัยของคีย์ขึ้นอยู่กับ KMS หรือความลับของคีย์หลัก การปรับใช้ และผู้ปฏิบัติงาน ไม่ใช่ NextPDF Enterprise เพียงอย่างเดียว ผู้ปฏิบัติงานมีหน้าที่รับผิดชอบการจัดเตรียมคีย์หลัก การจัดเก็บความลับ การกำหนดค่า KMS และการกำหนดตารางการหมุนเวียน ความรับผิดชอบในการปกป้องคีย์เป็นไปตาม NIST SP 800-57 Part 1 Rev.5 §5.5.2 NextPDF Enterprise ไม่เปิดเผยกระแสข้อมูลรับรอง KMS หรือรายละเอียดภายในของการจัดการคีย์หลักในเอกสารนี้
ขอบเขตการปฏิบัติตามข้อกำหนดทางกฎหมาย
หัวข้อที่มีชื่อว่า “ขอบเขตการปฏิบัติตามข้อกำหนดทางกฎหมาย”หน้านี้เกี่ยวข้องกับการจัดการคีย์ คำแถลงโหมด FIPS เป็นคำแถลงเรื่องความเข้ากันได้ ไม่ใช่การรับรองและไม่ใช่ความเห็นทางกฎหมาย ให้ปรึกษาที่ปรึกษาด้านการปฏิบัติตามข้อกำหนดและกฎหมายของคุณเองเกี่ยวกับภาระผูกพันด้านการกำกับดูแลของคุณ
ขอบเขตการเผยแพร่
หัวข้อที่มีชื่อว่า “ขอบเขตการเผยแพร่”หน้านี้บันทึกเฉพาะพฤติกรรมที่สังเกตได้จากภายนอกและพื้นผิว API สาธารณะที่รองรับเท่านั้น พาธเนมสเปซภายใน คลาสตัวช่วย ตารางกลไก ชื่อไฟล์ runbook และคำนำหน้าหมายเลขทิกเก็ตอยู่นอกขอบเขต
สัญญาพฤติกรรม
หัวข้อที่มีชื่อว่า “สัญญาพฤติกรรม”- โรงงานผู้ให้บริการเลือกผู้ให้บริการจากการกำหนดค่าและคืนค่าผู้ให้บริการที่เป็นไปตามสัญญาของผู้ให้บริการ
- ผู้ให้บริการคืนค่าเมทาดาทาของคีย์ที่ไม่เปลี่ยนรูปและไม่เคยคืนค่าไบต์คีย์ดิบ
- การเรียกหมุนเวียนจะเลื่อนเวอร์ชันคีย์ขึ้นและคืนเมทาดาทาใหม่ ผู้เรียกเป็นผู้เข้ารหัสข้อมูลคอลเลกชันใหม่
- GPU sidecar รายงานโหมดที่ลดทอนคุณภาพเมื่อกลับมาใช้ CPU และยกข้อยกเว้นแบบมีชนิดเมื่อไซด์คาร์ไม่พร้อมใช้งาน