ฝ่ายกฎหมายจัดการกับสัญญา, ไฟล์หลักฐาน, และเอกสารที่เป็นความลับสูงอื่น ๆ กระบวนการทำงานทั่วไปที่อัปโหลด PDF ไปยังบริการแชร์บนคลาวด์จะสร้างความเสี่ยงด้านความปลอดภัยทันที: ไฟล์อยู่นอกเขตแดนขององค์กรของคุณ และคุณสูญเสียการควบคุมอย่างละเอียดว่าใครสามารถดูได้และเป็นเวลานานเท่าใด
ถ้าคุณสามารถฝังตัวดู PDF ที่ปลอดภัยและเข้ารหัสโดยตรงลงในพอร์ทัลเว็บ .NET ของคุณได้ จะรับประกันได้ว่าเอกสารจะไม่เคยสัมผัสกับเซิร์ฟเวอร์ของบุคคลที่สามเลย?
ในคู่มือนี้เราจะพาคุณผ่านสถาปัตยกรรมเชิงปฏิบัติที่สร้างขึ้นรอบ Doconut Viewer SDK สำหรับเอกสาร .NET มันถูกติดตั้งในแอปพลิเคชันของคุณเองและไม่ทำการเรียกไปยังเซิร์ฟเวอร์ Doconut ดังนั้นเอกสารจะไม่ออกจากโครงสร้างพื้นฐานของคุณ
มีสองเรื่องที่ต้องชัดเจนก่อนขั้นตอนแรก เนื่องจากส่วนที่เหลือของคู่มือขึ้นอยู่กับมัน Doconut.app คือเว็บวิวเวอร์ฟรี — เว็บไซต์ ไม่ใช่คอมโพเนนต์ และไม่ใช่สิ่งที่คุณติดตั้งที่นี่ ส่วนการเข้ารหัส, โทเค็นและบันทึกการตรวจสอบด้านล่างเป็นของคุณที่จะสร้าง: SDK ทำการเรนเดอร์เอกสาร, มันไม่ได้จัดหาโปรแกรมการปฏิบัติตามข้อกำหนด Doconut ไม่มีใบรับรอง ISO 27001, รายงาน SOC 2 หรือการรับรอง HIPAA ดังนั้นเหตุผลด้านการปฏิบัติตามที่คุณสามารถนำเสนอให้กับผู้กำกับดูแลได้คือเชิงสถาปัตยกรรม — ไฟล์ยังคงอยู่ภายในขอบเขตที่คุณควบคุมอยู่แล้ว
ทำไมการแชร์ผ่านคลาวด์แบบดั้งเดิมจึงไม่เพียงพอ
| ความเสี่ยง | บริการคลาวด์ทั่วไป | สิ่งที่สถาปัตยกรรมนี้ทำแทน |
|---|---|---|
| การเอ็กซิลข้อมูล – ไฟล์ถูกเก็บบนเซิร์ฟเวอร์ภายนอก | ไฟล์ถูกบันทึกบนที่เก็บของผู้ให้บริการ, บ่อยครั้งในภูมิภาคที่คุณไม่สามารถควบคุมได้ | PDF อยู่บนโครงสร้างพื้นฐานของคุณเอง SDK เรนเดอร์ไฟล์ที่นั่นและไม่เรียกใคร |
| การสูญเสียการควบคุมระยะเวลาการเข้าถึง | ลิงก์แชร์สามารถส่งต่อได้โดยไม่มีที่สิ้นสุด | คุณออกโทเค็นที่มีอายุสั้นและใช้ครั้งเดียว นี่คือโค้ดที่คุณเขียน ไม่ใช่สวิตช์ที่เปิดปิด |
| ช่องว่างด้านการปฏิบัติตาม | บันทึกการตรวจสอบมักจำกัดอยู่ที่เหตุการณ์ “ดาวน์โหลด” | คุณบันทึกทุกคำขอการดูตัวอย่าง เพราะคำขอไปยัง endpoint ของคุณเอง |
| การพึ่งพาปลั๊กอิน | ตัวดูหลายตัวต้องการ Flash, ActiveX หรือส่วนขยายของเบราว์เซอร์ | ไม่มีอะไรถูกติดตั้งบนเครื่องของผู้อ่าน; เบราว์เซอร์รับหน้าเรนเดอร์แล้วแสดงผล |
ภาพรวมของโซลูชัน
- ติดตั้ง Doconut Viewer ลงในโปรเจกต์ .NET ของคุณ
- เข้ารหัส PDF ที่พัก ด้วยคีย์ฝั่งเซิร์ฟเวอร์, ใช้ cryptography ของ .NET
- ฝังตัวดู ลงในหน้า Razor หรือ MVC view, ภายใต้โทเค็นที่แอปพลิเคชันของคุณออกให้
- บันทึกทุกคำขอการดูตัวอย่าง เพื่อเป็นร่องรอยการตรวจสอบและการตรวจจับความผิดปกติ
ขั้นตอนที่ 2, 3 และ 4 คืองานของแอปพลิเคชันของคุณ ส่วน SDK จะทำหน้าที่ขั้นที่ 1 และการเรนเดอร์; ทุกอย่างที่ปกป้องในออกแบบนี้เป็นโค้ดที่คุณเป็นเจ้าของ ซึ่งเป็นเหตุผลที่ทีมของคุณสามารถตรวจสอบได้เอง
ด้านล่างเป็นการเดินผ่านรายละเอียดของแต่ละขั้นตอน, รวมถึงคำแนะนำปฏิบัติที่ดีที่สุดสำหรับการจัดการคีย์, ความปลอดภัยของโทเค็น, และการบันทึกการปฏิบัติตาม
ขั้นตอนที่ 1 – เตรียมสภาพแวดล้อม .NET ของคุณ
-
เปิดโซลูชันของคุณใน Visual Studio (แนะนำเวอร์ชัน 2022 หรือใหม่กว่า)
-
เลือกเฟรมเวิร์กเป้าหมาย Doconut Viewer รองรับ ASP.NET, MVC, .NET Core, .NET 6+ และ Blazor บันทึกเวอร์ชันที่คุณเลือกใช้ — รายละเอียดการรวมจะขึ้นกับเวอร์ชันนั้น
-
ติดตั้ง SDK จาก Doconut download page โดยใช้แพคเกจและเอกสารที่ตรงกับเวอร์ชันที่คุณเลือก อย่าลืมนำชื่อแพคเกจและขั้นตอนการตั้งค่าจากเอกสารนั้นมาใช้ ไม่ใช่จากบทความ; ทั้งสองมีการเปลี่ยนแปลงระหว่างรุ่น
เก็บการตั้งค่าลิขสิทธิ์ให้อยู่ไกลจาก source control ขณะทำเช่นนั้น เพราะนี่เป็นสิ่งที่มักรั่วไหลจากต้นแบบที่ทำงานได้
เคล็ดลับเพิ่มเติม
- เก็บการอ้างอิงแพ็กเกจในไฟล์
Directory.Packages.propsเพื่อการจัดการเวอร์ชันแบบศูนย์กลางในหลายบริการ.
ขั้นตอนที่ 2 – เก็บ PDF ด้วยการเข้ารหัสที่แข็งแรง
2.1 เลือกอัลกอริทึมการเข้ารหัส
นี่คือการตัดสินใจและโค้ดของคุณ System.Security.Cryptography ใน .NET ให้ AES-256-GCM ซึ่งให้การเข้ารหัสที่ตรวจสอบความถูกต้อง — ความลับและความสมบูรณ์พร้อมกัน — และเป็นค่าเริ่มต้นที่สามารถปกป้องได้สำหรับเอกสารที่อยู่ในที่พัก
ไม่มีอัลกอริทึมการเข้ารหัสใดทำให้ระบบเป็นไปตาม GDPR, HIPAA หรือ ISO 27001 ได้โดยอัตโนมัติ กรอบงานเหล่านี้สอบถามเกี่ยวกับกระบวนการ การควบคุมการเข้าถึง การเก็บรักษาและหลักฐาน การเข้ารหัสเป็นเพียงหนึ่งในหลาย ๆ ควบคุม และไลบรารีตัวดูเอกสารไม่สามารถจัดหาส่วนที่เหลือได้.
2.2 ดำเนินการจัดการคีย์อย่างปลอดภัย
- ห้ามฝังคีย์ไว้ในโค้ด ใช้ Azure Key Vault, AWS KMS หรือ HashiCorp Vault เพื่อดึงคีย์การเข้ารหัสในขณะทำงาน.
- หมุนคีย์เป็นประจำ — ทุก 90 วันเป็นแนวปฏิบัติทั่วไป วางแผนงานการเข้ารหัสใหม่ก่อนที่คุณจะต้องใช้; การค้นพบว่าคุณไม่มีวิธีหมุนคีย์เป็นสิ่งที่แย่ในการรับมือเหตุการณ์.
ขั้นตอนที่ 3 – สร้างโทเค็นที่มีเวลาจำกัดและใช้ครั้งเดียว
โทเค็นพรีวิวทำงานคล้าย ป้ายใช้ครั้งเดียว ที่หมดอายุโดยอัตโนมัติ มันฝังข้อมูล:
- User ID – ผู้ที่ได้รับอนุญาตให้ดูเอกสาร.
- PDF ID – ไฟล์ที่เข้ารหัสที่ต้องสตรีม.
- Expiration – ปกติ 5–10 นาที สามารถกำหนดค่าได้ตามนโยบาย.
- Signature – ลงลายเซ็น HMAC หรือ RSA เพื่อป้องกันการดัดแปลง.
3.1 ข้อควรระวังด้านความปลอดภัย
- TLS ทุกที่ – เสิร์ฟโทเค็นผ่าน HTTPS เสมอ.
- หลักการน้อยที่สุด – เข้ารหัสเฉพาะข้อมูลที่จำเป็นสำหรับพรีวิว; หลีกเลี่ยงการฝังข้อเรียกร้องเพิ่มเติม.
- การเพิกถอนโทเค็น – “บล็อกลิสต์” ง่าย ๆ ใน Redis ช่วยให้เพิกถอนได้ทันทีหากสิทธิ์การเข้าถึงของผู้ใช้เปลี่ยนแปลง.
ขั้นตอนที่ 4 – ฝัง DoconutApp Viewer
4.1 จุดสิ้นสุดการสตรีมบนเซิร์ฟเวอร์
- ถอดรหัสในหน่วยความจำ หากโมเดลภัยคุกคามของคุณต้องการเช่นนั้น เพื่อให้ข้อความล้วนไม่เคยถูกบันทึกลงดิสก์ นี่คือจุดสิ้นสุดของคุณ ดังนั้นเป็นการตัดสินใจของคุณและโค้ดของคุณที่ต้องตรวจสอบ.
- การเรนเดอร์ทำบนเซิร์ฟเวอร์ของคุณ ไม่ได้บนเบราว์เซอร์ของผู้อ่าน นั่นคือเหตุผลที่ทำให้เบราว์เซอร์แสดงเอกสารโดยไม่ต้องรับไฟล์ต้นฉบับ — และเป็นเหตุผลให้ตรวจสอบว่า SDK เขียนผลลัพธ์การเรนเดอร์ชั่วคราวที่ไหนและอะไรเป็นผู้ลบออก.
4.2 ไม่ต้องใช้ปลั๊กอิน
ผู้อ่านจะได้รับหน้าเรนเดอร์ผ่านเทคโนโลยีเว็บมาตรฐาน ดังนั้นตัวดูทำงานได้บน Chrome, Edge, Firefox และ Safari โดยไม่ต้องใช้ปลั๊กอิน, ควบคุม ActiveX หรือการพึ่งพา Flash ไม่มีอะไรถูกติดตั้งบนแล็ปท็อปของทนาย ซึ่งมักเป็นความแตกต่างระหว่างการตรวจสอบความปลอดภัยที่สำเร็จและที่ไม่สำเร็จ.
ขั้นตอนที่ 5 – ตรวจสอบและบันทึกการเข้าถึงเพื่อความสอดคล้อง
ทีมกฎหมายมักต้องการ ร่องรอยการดัดแปลงที่ชัดเจน ของผู้ที่ดูสัญญาใดและเมื่อใด ดำเนินการสร้างสายงานบันทึกที่มีโครงสร้าง:
| Field | Description |
|---|---|
UserId | ตัวระบุของผู้เชี่ยวชาญด้านกฎหมายที่ร้องขอ |
PdfId | การอ้างอิงภายในไปยังเอกสารที่เข้ารหัส |
Timestamp | เวลามาตรฐาน UTC ของคำขอพรีวิว |
IpAddress | IP ต้นทาง (มีประโยชน์สำหรับการตรวจสอบตำแหน่งทางภูมิศาสตร์) |
UserAgent | สตริงของเบราว์เซอร์สำหรับการวิเคราะห์นิติวิทยาศาสตร์ |
Result | สำเร็จ / ล้มเหลว (เช่น โทเค็นไม่ถูกต้อง, ข้อผิดพลาดการถอดรหัส) |
แนวทางปฏิบัติที่ดีที่สุด
- เก็บบันทึกใน ที่เก็บข้อมูลแบบเพิ่มต่อท้ายเท่านั้นและไม่เปลี่ยนแปลง (เช่น Azure Log Analytics, Splunk หรือ S3 bucket แบบเขียนครั้งเดียว).
- เปิดการแจ้งเตือน สำหรับรูปแบบที่ผิดปกติ — เช่น โทเค็นเดียวกันถูกใช้จาก IP สองแหล่งที่แตกต่างกันภายในไม่กี่วินาที.
- นโยบายการเก็บรักษา: เก็บบันทึกตามระยะเวลาที่กฎหมายของคุณกำหนด (โดยทั่วไป 7 ปีสำหรับบันทึกทางกฎหมาย).
สรุปสั้น
- ติดตั้ง Doconut Viewer ในโปรเจกต์ .NET ของคุณ โดยใช้เอกสารคู่มือสำหรับเวอร์ชันของคุณ.
- เข้ารหัส PDF ขณะเขียน ด้วย AES-256-GCM จากไลบรารีการเข้ารหัสของ .NET; จัดการคีย์ผ่านบริการ vault.
- ออกโทเค็นพรีวิวที่มีอายุสั้นและใช้ครั้งเดียว เมื่อผู้ใช้ร้องขอการดู.
- เรนเดอร์บนเซิร์ฟเวอร์ของคุณและฝังตัวดู ในหน้า Razor เอกสารจะไม่ถูกส่งไปยังบุคคลที่สาม และไม่มีอะไรถูกติดตั้งบนเครื่องของผู้อ่าน.
- บันทึกการพรีวิวทุกครั้ง เพื่อการตรวจสอบ พร้อมการแจ้งเตือนสำหรับรูปแบบที่น่าสงสัย.
ข้อ 2, 3 และ 5 คือโค้ดของคุณ นั่นคือการแบ่งงานอย่างตรงไปตรงมาซึ่งควรระบุอย่างชัดเจนในเอกสารความปลอดภัยของคุณ เพราะผู้ตรวจสอบจะถามว่าแต่ละฝ่ายรับผิดชอบอะไรในที่สุด.
สรุป
การแชร์ PDF อย่างปลอดภัยไม่จำเป็นต้องพึ่งบริการของบุคคลที่สาม ด้วย Doconut Viewer ภายในพอร์ทัล .NET ของคุณเอง ฝ่ายกฎหมายของคุณสามารถนำเสนอสัญญาลับ, เอกสารแสดงหลักฐานในคดี, และนโยบายภายในโดยไม่ต้องให้ไฟล์ออกจากโครงสร้างพื้นฐานของคุณ
สิ่งที่ SDK มอบให้คุณคือส่วนสุดท้ายนั้น: การเรนเดอร์ในสภาพแวดล้อมของคุณโดยไม่มีการติดต่อกลับไปยังเซิร์ฟเวอร์ การเข้ารหัสแบบ end‑to‑end, การควบคุมการเข้าถึงและบันทึกการตรวจสอบเป็นของคุณ — นั่นคือจุดสำคัญ เพราะผู้ดูที่อ้างว่ามีฟีเจอร์เหล่านี้จะทำให้คุณต้องเชื่อมั่นในความสอดคล้องของผู้ขายแทนที่จะเป็นของคุณเอง
พร้อมลองใช้งานหรือยัง? เยี่ยมชม doconut.com — ไลเซนส์ทดลองฟรี, และ สาธิตสด เป็นวิธีที่เร็วที่สุดเพื่อดูว่าการเรนเดอร์ทำงานได้ดีบนเอกสารแสดงหลักฐานที่ยากที่สุดของคุณหรือไม่ ก่อนที่คุณจะเขียนโค้ดใด ๆ ข้างต้น
การดำเนินการตามขั้นตอนเหล่านี้จะมอบความอุ่นใจให้กับเจ้าหน้าที่ปฏิบัติตามกฎระเบียบ, ลดพื้นที่โจมตี, และทำให้ PDF ของคุณอยู่ภายในไฟร์วอลล์ขององค์กรอย่างแน่นหนา — ตรงกับท่าทีด้านความปลอดภัยที่ทีมกฎหมายทุกทีมต้องการ.
รักษาความปลอดภัย, ปฏิบัติตามกฎระเบียบ, และเก็บซองจดหมายที่ปิดผนึกไว้ในที่ที่ควรอยู่: ภายในคลังของคุณเอง.
