ملفات PDF المحمية بكلمة مرور وحدودها
ملف PDF لدي محمي والأداة تقول إنها لا تستطيع تحريره. لماذا، وما خياراتي؟
هناك كلمتا مرور مختلفتان
يميّز تشفير PDF، كما تعرّفه ISO 32000، بين كلمة مرور المستخدم وكلمة مرور المالك. فكلمة مرور المستخدم — التي تسمى غالباً كلمة مرور الفتح — لازمة لفك تشفير المستند أصلاً. وبدونها تكون مجاري المحتوى نصاً مشفّراً ولا يستطيع أي برنامج قراءة صفحة واحدة. أما كلمة مرور المالك فمختلفة: المستند يُفتح بدونها، لكن قاموس التشفير يحمل رايات أذونات تحدّد ما ينبغي لأي عارض متوافق أن يرفض السماح به، كالطباعة أو نسخ النص أو تعديل الملف.
وهذا التمييز يفسّر معظم اللبس. فالمستند الذي يُفتح فوراً لكنه يرفض أن يدعك تنسخ فقرة ليس «مفتوحاً» — بل هو مشفّر بكلمة مرور مستخدم فارغة ومجموعة من القيود.
ما الذي يحميه التشفير فعلاً
| كلمة المرور | هل تلزم للفتح؟ | ما الذي تحميه | ما مدى قوتها |
|---|---|---|---|
| كلمة مرور المستخدم (الفتح) | نعم | المحتوى نفسه؛ فالمجاري والسلاسل النصية مشفّرة | بقوة الشيفرة المستخدمة وكلمة المرور المختارة |
| كلمة مرور المالك (الأذونات) | لا | لا شيء من الناحية التعمياتية؛ فهي تضبط رايات يُطلب من العارض احترامها | إرشادية فقط |
رايات الأذونات طلبٌ موجّه إلى البرامج حسنة السلوك، لا آلية إنفاذ. فالبايتات تُفك تشفيرها في اللحظة التي يُفتح فيها المستند، وأي برنامج يختار تجاهل الرايات يستطيع ذلك. تعامل معها بوصفها إعلاناً عن نية — مفيداً للإشارة إلى الطريقة التي ينبغي أن يُستخدم بها المستند، عديم الجدوى كضابط أمني.
لماذا يرفض المحرّر الملف
لإعادة هيكلة ملف PDF — لدمجه أو تقسيمه أو تدوير صفحاته أو إسقاط الكائنات غير المستخدمة — يجب على المكتبة أن تحلّل رسم الكائنات. وفي مستند مشفّر، تكون السلاسل النصية والمجاري التي يتألف منها ذلك الرسم نصاً مشفّراً إلى أن يُشتق المفتاح الصحيح. فلا يوجد ما يُحلَّل. وهذا ليس قراراً سياسياً من الأداة؛ بل لا يوجد مستند بعد بالفعل.
لذلك فإن أدوات PDF البنيوية في FileSlimmer معطّلة أمام المستند المشفّر، وتقول ذلك، بدل أن تفشل في منتصف الطريق بمُخرج تالف. وهذا هو السلوك الصحيح حتى وإن كان الأقل راحة.
ماذا يحدث لكلمة المرور التي تكتبها
حيثما وُجد مسار يعتمد على كلمة مرور، تُستخدم كلمة المرور لاشتقاق مفتاح فك التشفير في الذاكرة، داخل تبويب المتصفح هذا، طوال مدة تنفيذ المهمة. ولا تُكتب في التخزين المحلي، ولا في ذاكرة Service Worker المؤقتة، ولا تُوضع في رابط، ولا تُرسل — إذ لا يوجد خادم في هذا التطبيق تُرسل إليه. وعند إغلاق التبويب تختفي.
ومع ذلك يبقى من المفيد أن تتحرّى أين تكتب أي كلمة مرور. فإضافة المتصفح تستطيع قراءة محتوى صفحة، وهذا صحيح في كل موقع ويب، بما فيه هذا الموقع. فإذا كان مستند ما حساساً إلى الحد الذي يجعل هذا مهماً، فافتحه في برنامج مكتبي يعمل دون اتصال وتثق به بدلاً من ذلك.
ما لن تفعله هذه الأداة
- لن تحاول استعادة كلمة مرور لا تملكها أو كسرها بالقوة الغاشمة.
- لن تزيل كلمة مرور مالك لتجاوز رايات الأذونات في مستند لا تملك حقوقاً عليه.
- لن تنتج بصمت نسخة مفكوكة التشفير من مستند فتحته بكلمة مرور؛ فإزالة الحماية إجراء منفصل وصريح.
- لن تتظاهر بأن راية الأذونات حدٌّ أمني.
وإزالة الحماية من مستند لا يحق لك تعديله قد تشكّل أيضاً خرقاً لعقد أو لقانون في المكان الذي تعيش فيه. وتلك مسألة تخصّك أنت، وتخصّ محامياً إن كانت ذات شأن — لا أداة ضغط.
خيارات واقعية حين تصل إلى طريق مسدود
- اطلب من الجهة التي أنتجت المستند نسخة غير محمية. هذا هو الحل الأشيع بفارق كبير ولا يكلّف أكثر من رسالة واحدة.
- إن كانت كلمة مرور الفتح لديك فاستخدمها: فمع فك تشفير المستند تعود كل عملية عادية متاحة من جديد.
- إن كنت تحتاج إلى الصفحات للاطلاع فقط، فاطبعها إلى 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