পাসওয়ার্ড দিয়ে সুরক্ষিত PDF আর তার সীমা
আমার PDF সুরক্ষিত, আর টুল বলছে সেটা এডিট করা যাবে না। কেন, আর আমার হাতে কী কী উপায় আছে?
পাসওয়ার্ড আসলে দুই রকম
ISO 32000-এ সংজ্ঞায়িত PDF এনক্রিপশন ইউজার পাসওয়ার্ড আর ওনার পাসওয়ার্ডের মধ্যে পার্থক্য করে। ইউজার পাসওয়ার্ড — যাকে প্রায়ই ওপেন পাসওয়ার্ড বলা হয় — ছাড়া ডকুমেন্টটা আদৌ ডিক্রিপ্ট করা যায় না। ওটা না থাকলে কনটেন্ট স্ট্রিমগুলো সাইফারটেক্সট, আর কোনো সফটওয়্যারই একটা পাতাও পড়তে পারে না। ওনার পাসওয়ার্ড আলাদা: এটা ছাড়াই ডকুমেন্ট খোলে, কিন্তু এনক্রিপশন ডিকশনারিতে পারমিশন ফ্ল্যাগ থাকে, যা বলে দেয় নিয়ম-মানা কোনো ভিউয়ারের কী কী করতে দেওয়া উচিত নয় — যেমন প্রিন্ট করা, লেখা কপি করা বা ফাইল বদলানো।
বেশিরভাগ বিভ্রান্তির ব্যাখ্যা এই পার্থক্যটাই। যে ডকুমেন্ট সঙ্গে সঙ্গে খোলে অথচ একটা অনুচ্ছেদ কপি করতে দেয় না, সেটা “আনলক করা” নয় — সেটা একটা ফাঁকা ইউজার পাসওয়ার্ড আর কিছু বিধিনিষেধ দিয়ে এনক্রিপ্ট করা।
এনক্রিপশন আসলে কী রক্ষা করে
| পাসওয়ার্ড | খুলতে দরকার? | কী রক্ষা করে | কতটা শক্তিশালী |
|---|---|---|---|
| ইউজার (ওপেন) পাসওয়ার্ড | হ্যাঁ | কনটেন্ট নিজেই; স্ট্রিম আর স্ট্রিং এনক্রিপ্ট করা থাকে | সাইফার আর বেছে নেওয়া পাসওয়ার্ড যতটা শক্তিশালী, ততটাই |
| ওনার (পারমিশন) পাসওয়ার্ড | না | ক্রিপ্টোগ্রাফিকভাবে কিছুই নয়; এটা শুধু এমন কিছু ফ্ল্যাগ বসায় যা মানতে ভিউয়ারকে অনুরোধ করা হয় | কেবল পরামর্শমূলক |
পারমিশন ফ্ল্যাগ ভদ্র সফটওয়্যারের কাছে একটা অনুরোধ, বলবৎ করার কোনো ব্যবস্থা নয়। ডকুমেন্ট খোলার মুহূর্তেই বাইটগুলো ডিক্রিপ্ট হয়ে যায়, তাই যে প্রোগ্রাম ফ্ল্যাগগুলো উপেক্ষা করতে চায় সে অনায়াসেই তা পারে। এগুলোকে উদ্দেশ্যের ঘোষণা হিসেবে দেখুন — ডকুমেন্টটা কীভাবে ব্যবহার করা উচিত তা বোঝাতে কাজের, নিরাপত্তার নিয়ন্ত্রণ হিসেবে অকেজো।
এডিটর কেন ফাইলটা নিতে চায় না
একটা PDF পুনর্গঠন করতে — মার্জ করা, ভাগ করা, পাতা ঘোরানো, অব্যবহৃত অবজেক্ট বাদ দেওয়া — লাইব্রেরিকে অবজেক্ট গ্রাফ পার্স করতে হয়। এনক্রিপ্ট করা ডকুমেন্টে সেই গ্রাফ যেসব স্ট্রিং আর স্ট্রিম দিয়ে গড়া, সঠিক চাবিটা তৈরি না হওয়া পর্যন্ত সেগুলো সাইফারটেক্সট। পার্স করার মতো কিছুই নেই। এটা টুলের কোনো নীতিগত সিদ্ধান্ত নয়; ওখানে সত্যিই এখনও কোনো ডকুমেন্টই নেই।
তাই এনক্রিপ্ট করা ডকুমেন্টের জন্য FileSlimmer-এর স্ট্রাকচারাল PDF টুলগুলো নিষ্ক্রিয় থাকে আর সেটা জানিয়েও দেয় — মাঝপথে গিয়ে নষ্ট আউটপুট নিয়ে ব্যর্থ হয় না। কম সুবিধাজনক হলেও আচরণটা এটাই সঠিক।
আপনার টাইপ করা পাসওয়ার্ডের কী হয়
যেখানে পাসওয়ার্ড-সহায়ক পথ দেওয়া আছে, সেখানে কাজ চলার সময়টুকুর জন্য এই ব্রাউজার ট্যাবেই, মেমোরিতে ডিক্রিপশনের চাবি তৈরি করতে পাসওয়ার্ডটা ব্যবহার করা হয়। এটা লোকাল স্টোরেজে লেখা হয় না, 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