PDF ที่ป้องกันด้วยรหัสผ่านและขีดจำกัดของมัน
ไฟล์ PDF ถูกป้องกันไว้ แล้วเครื่องมือบอกว่าแก้ไขไม่ได้ ทำไม แล้วมีทางเลือกอะไรบ้าง
รหัสผ่านมีสองแบบที่ต่างกัน
การเข้ารหัสลับของ PDF ตามที่นิยามไว้ใน ISO 32000 แยกรหัสผ่านผู้ใช้ออกจากรหัสผ่านเจ้าของ รหัสผ่านผู้ใช้ ซึ่งมักถูกเรียกว่ารหัสผ่านสำหรับเปิดไฟล์ จำเป็นต่อการถอดรหัสเอกสารตั้งแต่ต้น หากไม่มีมัน สตรีมเนื้อหาก็เป็นเพียงข้อความที่เข้ารหัสลับไว้ และไม่มีซอฟต์แวร์ใดอ่านหน้าใดได้เลยแม้แต่หน้าเดียว ส่วนรหัสผ่านเจ้าของต่างออกไป เอกสารเปิดได้โดยไม่ต้องใช้มัน แต่พจนานุกรมการเข้ารหัสลับพกแฟล็กสิทธิ์ที่ระบุว่าโปรแกรมดูเอกสารที่ทำตามข้อกำหนดควรปฏิเสธไม่ให้ทำอะไรบ้าง เช่น การพิมพ์ การคัดลอกข้อความ หรือการแก้ไขไฟล์
ความต่างตรงนี้อธิบายความสับสนได้เกือบทั้งหมด เอกสารที่เปิดขึ้นมาทันทีแต่ไม่ยอมให้คุณคัดลอกข้อความสักย่อหน้าไม่ได้ "ปลดล็อกแล้ว" มันถูกเข้ารหัสลับด้วยรหัสผ่านผู้ใช้ที่ว่างเปล่าพร้อมชุดข้อจำกัด
การเข้ารหัสลับปกป้องอะไรกันแน่
| รหัสผ่าน | ต้องใช้เปิดไฟล์ไหม | ปกป้องอะไร | แข็งแรงแค่ไหน |
|---|---|---|---|
| รหัสผ่านผู้ใช้ (สำหรับเปิดไฟล์) | ต้องใช้ | ตัวเนื้อหาเอง สตรีมและสตริงถูกเข้ารหัสลับไว้ | แข็งแรงเท่าที่อัลกอริทึมและรหัสผ่านที่เลือกจะให้ได้ |
| รหัสผ่านเจ้าของ (สำหรับสิทธิ์) | ไม่ต้องใช้ | ไม่ได้ปกป้องอะไรในเชิงวิทยาการรหัสลับ เพียงตั้งแฟล็กที่ขอให้โปรแกรมดูเอกสารทำตาม | เป็นเพียงคำแนะนำ |
แฟล็กสิทธิ์คือคำขอต่อซอฟต์แวร์ที่ประพฤติดี ไม่ใช่กลไกบังคับ ไบต์ถูกถอดรหัสตั้งแต่วินาทีที่เอกสารเปิดขึ้น โปรแกรมใดก็ตามที่เลือกจะเมินแฟล็กเหล่านั้นจึงทำได้ทันที ให้ถือว่ามันเป็นการประกาศเจตนา ซึ่งมีประโยชน์ในการสื่อว่าเอกสารควรถูกใช้อย่างไร แต่ไร้ประโยชน์ในฐานะมาตรการความปลอดภัย
ทำไมโปรแกรมแก้ไขถึงปฏิเสธไฟล์
การจะปรับโครงสร้าง PDF ไม่ว่าจะรวมไฟล์ แยกไฟล์ หมุนหน้า หรือตัดอ็อบเจกต์ที่ไม่ถูกใช้ออก ไลบรารีต้องแจงกราฟของอ็อบเจกต์ให้ได้ก่อน ในเอกสารที่เข้ารหัสลับไว้ สตริงและสตรีมที่ประกอบกันเป็นกราฟนั้นเป็นข้อความที่เข้ารหัสลับ จนกว่าจะได้กุญแจที่ถูกต้องมา จึงไม่มีอะไรให้แจงเลย นี่ไม่ใช่การตัดสินใจเชิงนโยบายของเครื่องมือ แต่คือการที่ยังไม่มีเอกสารอยู่ตรงนั้นจริง ๆ
เครื่องมือ PDF เชิงโครงสร้างของ FileSlimmer จึงถูกปิดใช้งานสำหรับเอกสารที่เข้ารหัสลับไว้ และบอกให้รู้ตรง ๆ แทนที่จะทำงานล้มเหลวกลางทางแล้วให้ผลลัพธ์ที่เสียหาย นั่นคือพฤติกรรมที่ถูกต้อง แม้จะเป็นพฤติกรรมที่สะดวกน้อยกว่าก็ตาม
รหัสผ่านที่คุณพิมพ์เข้าไปเกิดอะไรขึ้นบ้าง
ในเส้นทางที่เปิดให้ใช้รหัสผ่านช่วย รหัสผ่านจะถูกใช้สร้างกุญแจถอดรหัสในหน่วยความจำ ภายในแท็บเบราว์เซอร์นี้ ตลอดเวลาที่งานทำงานอยู่ มันไม่ถูกเขียนลงที่เก็บข้อมูลในเครื่อง ไม่ถูกเขียนลงแคชของ Service Worker ไม่ถูกใส่ไว้ใน URL และไม่ถูกส่งออกไปไหน เพราะแอปพลิเคชันนี้ไม่มีเซิร์ฟเวอร์ให้ส่งไปหา เมื่อปิดแท็บ มันก็หายไป
ถึงอย่างนั้นก็ยังควรระวังว่าคุณพิมพ์รหัสผ่านใดลงที่ไหน ส่วนขยายของเบราว์เซอร์อ่านเนื้อหาของหน้าเว็บได้ และนั่นเป็นจริงกับทุกเว็บไซต์ รวมถึงเว็บนี้ด้วย ถ้าเอกสารอ่อนไหวมากพอที่เรื่องนี้จะสำคัญ ให้ปลดล็อกมันด้วยซอฟต์แวร์เดสก์ท็อปแบบออฟไลน์ที่คุณไว้ใจแทน
สิ่งที่เครื่องมือนี้จะไม่ทำ
- มันจะไม่พยายามกู้รหัสผ่านที่คุณไม่มี และจะไม่เดารหัสผ่านนั้นด้วยการไล่ลองทุกความเป็นไปได้
- มันจะไม่ถอดรหัสผ่านเจ้าของออกเพื่อข้ามแฟล็กสิทธิ์บนเอกสารที่คุณไม่มีสิทธิ์
- มันจะไม่แอบสร้างสำเนาที่ถอดรหัสแล้วของเอกสารที่คุณเปิดด้วยรหัสผ่านอย่างเงียบ ๆ การถอดการป้องกันออกเป็นการกระทำที่แยกต่างหากและต้องสั่งอย่างชัดเจน
- มันจะไม่ทำเป็นว่าแฟล็กสิทธิ์คือขอบเขตด้านความปลอดภัย
การถอดการป้องกันออกจากเอกสารที่คุณไม่มีสิทธิ์แก้ไข อาจเป็นการละเมิดสัญญาหรือกฎหมายในที่ที่คุณอยู่ด้วย นั่นเป็นเรื่องระหว่างคุณกับทนายความหากมันสำคัญถึงขั้นนั้น ไม่ใช่เรื่องของเครื่องมือบีบอัดไฟล์
ทางเลือกที่เป็นไปได้จริงเมื่อคุณติดอยู่
- ขอสำเนาที่ไม่ได้ป้องกันไว้จากคนที่ทำเอกสารนั้นขึ้นมา นี่คือทางออกที่พบบ่อยที่สุดอย่างเทียบไม่ติด และใช้ข้อความแค่ข้อความเดียว
- ถ้าคุณมีรหัสผ่านสำหรับเปิดไฟล์ ให้ใช้มัน เมื่อเอกสารถูกถอดรหัสแล้ว ทุกการทำงานตามปกติจะกลับมาใช้ได้อีกครั้ง
- ถ้าคุณต้องการแค่ให้ดูหน้าเอกสารได้ ให้สั่งพิมพ์เป็น PDF หรือส่งออกสำเนาแบบแรสเตอร์ คุณจะเสียชั้นข้อความ ลิงก์ และโครงสร้างเพื่อการเข้าถึงไป แต่ได้หน้าตาเดิมไว้
- ถ้าเอกสารมีทั้งลายเซ็นและการเข้ารหัสลับ ให้หยุดแล้วคิดใหม่ การแก้ไขใด ๆ ทำให้ลายเซ็นใช้ไม่ได้ และเอกสารที่มีลายเซ็นมักมีอยู่ก็เพราะมีคนต้องตรวจสอบมันในภายหลัง
ข้อจำกัดอีกข้อหนึ่ง
การเข้ารหัสลับของ PDF รุ่นเก่าใช้การสร้างกุญแจที่อ่อนแอและกุญแจสั้น และถือว่าถูกเจาะแล้ว ส่วนรุ่นใหม่ใช้ AES พร้อมฟังก์ชันสร้างกุญแจที่เหมาะสม คุณดูจากภายนอกไม่ออกว่าเอกสารหนึ่งใช้รุ่นไหน และการที่เครื่องมือเปิดไฟล์เก่าได้อย่างรวดเร็วก็ไม่ใช่หลักฐานว่าไฟล์ใหม่จะเป็นแบบเดียวกัน ถ้าคุณกำลังเลือกวิธีป้องกันเอกสารที่คุณสร้างเอง ให้เลือกซอฟต์แวร์รุ่นปัจจุบันและรหัสผ่านที่ยาว แทนที่จะฝากความหวังไว้กับประวัติของฟอร์แมตนี้
เครื่องมือสำหรับเรื่องนี้
แหล่งอ้างอิง
- ISO 32000-2 — Document management, Portable Document Format
- Adobe — PDF 32000-1:2008, clause 7.6 on encryption and permissions
- NIST FIPS 197 — the Advanced Encryption Standard