קובצי 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