ข้ามไปยังเนื้อหา

ศูนย์ความน่าเชื่อถือ

นี่คือศูนย์ความน่าเชื่อถือสำหรับเอนจิน core ของ NextPDF เริ่มจากเอกสารสี่ฉบับนี้ ได้แก่ แบบจำลองภัยคุกคามของเอนจิน แบบจำลองความปลอดภัยของลายเซ็นและการเข้ารหัสลับ การจัดการข้อมูลและพฤติกรรมเกี่ยวกับข้อมูลที่ระบุตัวบุคคลได้ (PII) และนโยบายการเปิดเผยช่องโหว่ แต่ละหน้าอธิบายส่วนเฉพาะของวิธีที่ไลบรารีทำงาน รวมถึงจุดที่ความรับผิดชอบของไลบรารีสิ้นสุดลงและความรับผิดชอบของการดีพลอยของคุณเริ่มต้น

ขอบเขต หน้านี้และหน้าที่เชื่อมโยงไปอธิบายแนวปฏิบัติ ทางวิศวกรรม ได้แก่ ตัวเลือกการออกแบบ ค่าเริ่มต้น และมาตรการบรรเทาที่สร้างไว้ในเอนจิน core และตรวจสอบด้วยชุดทดสอบของเอนจิน เอกสารเหล่านี้ไม่ใช่ใบรับรอง รายงานการตรวจสอบ หรือการรับประกันทางกฎหมาย ไม่มีข้อความใดในหน้านี้ยืนยันว่าไลบรารี “ปลอดภัย” ในการดีพลอยของคุณ ความปลอดภัยเป็นคุณสมบัติของทั้งระบบ ได้แก่ การเก็บรักษาคีย์ของคุณ นโยบายตัวตรวจสอบของคุณ เครือข่ายของคุณ และแนวปฏิบัติ ด้านการดำเนินงานของคุณ ไม่ใช่ของ dependency เพียงตัวเดียว

แนวปฏิบัติด้านความเชื่อมั่นที่อธิบายไว้ที่นี่ใช้กับเอนจิน core

Terminal window
composer require nextpdf/core:^3

ไม่จำเป็นต้องติดตั้งแพ็กเกจเพิ่มเติมเพื่ออ่านหน้าเหล่านี้ ชุดทดสอบ core ที่มาพร้อมในแพ็กเกจเดียวกันจะทดสอบพฤติกรรมที่หน้าเหล่านี้อธิบายไว้

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

  • แบบจำลองภัยคุกคาม — ประเภทการโจมตีที่เอนจินพิจารณา (server-side request forgery (SSRF) การประมวลผล XML external entity (XXE) decompression bomb การ traversal เส้นทาง และการ inject เนื้อหา) แนวปฏิบัติแบบ default-deny และตัวป้องกันในโค้ดที่ช่วยบรรเทาการโจมตีแต่ละประเภท เอกสารนี้บันทึกภัยคุกคามที่ ได้พิจารณาแล้ว ไม่ได้อ้างว่าไม่มีช่องโหว่
  • แบบจำลองความปลอดภัย — ขอบเขตด้านการเข้ารหัสลับ ได้แก่ การเข้ารหัสลับเอกสารแบบ 256-bit Advanced Encryption Standard (AES-256) ลักษณะของ permission bit ใน Portable Document Format (PDF) ที่ต้องอาศัยความร่วมมือจากตัวอ่าน และเส้นทางการลงนามแบบ Cryptographic Message Syntax (CMS)/PDF Advanced Electronic Signatures (PAdES) B-B และ B-T เอกสารนี้อธิบายว่าเหตุใดการรองรับกลไกหนึ่งจึงไม่เท่ากับความปลอดภัยของการดีพลอยของคุณ
  • การจัดการข้อมูล — ข้อมูลที่ไลบรารีอ่าน เก็บไว้ในหน่วยความจำ และเขียน การแปลงเพื่อล้าง PII ที่ใช้กับ audit bundle และเส้นทาง telemetry แบบ opt-in ที่ไม่มี overhead เอกสารนี้อธิบายพฤติกรรมของไลบรารี ไม่ใช่ถิ่นที่อยู่ของข้อมูลในระดับการดีพลอย
  • การเปิดเผย — กระบวนการเปิดเผยช่องโหว่แบบประสานงาน ได้แก่ ช่องทางรับเรื่องแบบส่วนตัว เป้าหมายระยะเวลาในการตอบสนอง และแบบจำลอง embargo นี่คือคำมั่นด้านกระบวนการ ไม่ใช่การรับประกันผลลัพธ์

ทุกหน้าจะแสดงข้อความอ้างอิงเชิงบรรทัดฐานเป็นตารางข้อความอ้างอิง → clause-id + reference_id ซึ่งมาจากบล็อก citations: ใน front-matter ของหน้านั้น คุณจึงสืบย้อนพื้นฐานตามมาตรฐานของแต่ละข้อความได้

ไม่เกี่ยวข้อง ศูนย์ความน่าเชื่อถือเป็นเอกสารประกอบ ส่วน application programming interface (API) ที่รองรับพฤติกรรมที่อธิบายไว้จะครอบคลุมอยู่ในหน้าอ้างอิงโมดูล (/modules/core/security/, /modules/core/audit/) และไม่ได้นำมาแสดงซ้ำในที่นี้ หน้านี้เชื่อมโยงไปยังแง่มุมต่าง ๆ ของความน่าเชื่อถือ ไม่ใช่ไปยังสัญลักษณ์

ไม่เกี่ยวข้อง หน้านี้เป็นหน้าดัชนีและไม่ได้ยืนยันพฤติกรรมที่รันได้ใด ๆ หน้าย่อยที่อธิบายพฤติกรรมขณะรันจะมีตัวอย่างโค้ดในกรณีที่ core สามารถสาธิตพฤติกรรมนั้นได้

ไม่เกี่ยวข้อง ดูที่หน้าย่อย

  • หน้าความน่าเชื่อถือไม่ใช่สัญญา การอ่านหน้าเหล่านี้ไม่ได้ให้การรับประกัน ใบอนุญาต (Apache-2.0) เป็นข้อกำหนดที่มีผลบังคับ และข้อจำกัดความรับผิดด้านการรับประกันของใบอนุญาตนั้นมีผลโดยสมบูรณ์
  • แนวปฏิบัติมีการกำหนดเวอร์ชัน ค่าเริ่มต้นและตัวป้องกันที่อธิบายไว้ที่นี่เป็นของเวอร์ชันหลักที่เสถียรในปัจจุบัน เวอร์ชันหลักที่เก่ากว่าอาจมีค่าเริ่มต้นที่อ่อนแอกว่า นโยบายความปลอดภัยบันทึกไว้ว่าเวอร์ชันหลักใดบ้างที่ได้รับการแก้ไข
  • “การรองรับ” เป็นกับดักที่พบบ่อย ตลอดทั้งศูนย์ความน่าเชื่อถือ การรองรับโปรไฟล์หรือกลไกหนึ่งไม่เคยเท่ากับการเป็นไปตามโปรไฟล์นั้นหรือความปลอดภัยของการดีพลอยของคุณ แต่ละหน้าย้ำขอบเขตนี้ในแบบของตนเอง

ไม่เกี่ยวข้อง เอกสารประกอบไม่มีต้นทุนขณะรัน หน้าโมดูลที่เกี่ยวข้องบันทึกขอบเขตประสิทธิภาพของการดำเนินการด้านความปลอดภัยที่อยู่เบื้องหลัง

ศูนย์ความน่าเชื่อถือทำให้ขอบเขตด้านความปลอดภัยชัดเจนแทนที่จะปล่อยให้เป็นนัย ขอบเขตหลักสองประการต่อไปนี้มีผลกับทุกหน้า

  1. ค่าเริ่มต้นเป็นแบบ fail-closed ไม่ใช่ป้องกันความผิดพลาดได้ทั้งหมด ออบเจ็กต์นโยบายทุกตัวในเอนจินมาพร้อมจุดตั้งต้นที่เข้มงวดที่สุดเท่าที่ API สาธารณะอนุญาต การผ่อนคลายต้องอาศัยการ opt-in อย่างชัดเจนจากผู้เรียกใช้ ค่าเริ่มต้นแบบ fail-closed ลดโอกาสในการเปิดเผยโดยไม่ตั้งใจ แต่ไม่ได้ขจัดความรับผิดชอบของคุณในการตรวจสอบการกำหนดค่าที่คุณเลือก หลักการนี้สะท้อนหลักการของการกำหนดค่าพื้นฐานใน National Institute of Standards and Technology (NIST) Special Publication (SP) 800-53 Rev. 5 CM-7 (nist_sp_800_53r5#x4.x182.p14) คือ ค่าพื้นฐานที่ลดทอนลงเป็นเพียงจุดเริ่มต้น การผ่อนคลายใด ๆ เป็นการตัดสินใจที่ชัดเจนและมีการบันทึกไว้
  2. ข้อกำหนดที่มีการบันทึกไว้ ไม่ใช่การรับประกันแบบครอบคลุมทั้งหมด ศูนย์ความน่าเชื่อถือตรวจสอบพฤติกรรมเทียบกับข้อกำหนดด้านความปลอดภัยที่มีการบันทึกไว้ ตามเจตนารมณ์ของ Open Worldwide Application Security Project (OWASP) Application Security Verification Standard (ASVS) 5 (owasp_asvs_5#x165) คือ มาตรฐานการตรวจสอบวัดความเป็นไปตามข้อกำหนดที่ระบุไว้ แต่ไม่ได้รับรองว่าไม่มีสิ่งใดตกหล่นไป

ไม่เกี่ยวข้องในฐานะโปรไฟล์ ดัชนีนี้ไม่ได้นำโปรไฟล์ความเป็นไปตามมาตรฐานมาใช้ ในกรณีที่หน้าย่อยเกี่ยวข้องกับมาตรฐาน (International Organization for Standardization (ISO) 32000-2 สำหรับการเข้ารหัสลับและลายเซ็น ISO/IEC 29147/30111 ร่วมกับ International Electrotechnical Commission (IEC) สำหรับการเปิดเผย European Union (EU) General Data Protection Regulation (GDPR) / ISO/IEC 29100 สำหรับการจัดการข้อมูล) หน้านั้นจะอ้างอิงข้อกำหนดเฉพาะและ reference_id ใน front-matter ของตนเอง พร้อมแสดงตารางข้อความอ้างอิง → ข้อกำหนดของหน้านั้นเอง