PDF 密碼詳解:兩種類型,以及如何移除或新增密碼
閱讀時間 7 分鐘
有兩份 PDF 檔案寄到您的收件匣。第一份檔案完全無法開啟,除非您輸入密碼。第二份檔案可以正常開啟,您可以閱讀每一頁,但「列印」按鈕呈現灰色,而且複製文字也沒有任何作用。這兩份檔案都標示為「已設定密碼保護」,但它們的行為卻截然不同。 原因在於 PDF 格式支援兩種不同的密碼,分別負責不同的功能。一旦您知道您正在處理哪一種密碼,一切就會迎刃而解:為什麼有些鎖定的 PDF 檔案無需輸入密碼就能立即解鎖,為什麼有些檔案確實無法在沒有正確密碼的情況下開啟,以及如何為您自己的檔案設定真正的保護。
兩種不同類型的 PDF 密碼
PDF 規格定義了兩種不同的密碼,這兩種密碼可以分別設定在文件中,也可以同時設定。這兩種密碼通常被稱為「使用者密碼」和「擁有者密碼」,而將這兩種密碼混淆,正是造成人們對已鎖定 PDF 檔案感到困惑的主要原因。
使用者密碼,有時也被稱為「開啟密碼」,這是大多數人所想像的那種密碼。當設定好密碼後,檔案的內容就會被加密,讀者必須輸入密碼才能解密並顯示內容。如果沒有密碼,該檔案實際上是無法閱讀的:頁面、文字和圖片都會變成密文。這就是銀行對帳單、薪資單和稅務文件所使用的密碼,這也是為什麼這些檔案每次開啟時都需要輸入密碼。
擁有者密碼」,有時也被稱為「權限密碼」,其功能與其他密碼不同。它並不會阻止任何人開啟或閱讀檔案。相反地,它允許作者關閉某些功能:例如列印、複製文字、編輯、填寫表單欄位、新增註解。檔案對所有人來說都能正常開啟,但良好的 PDF 閱讀器會將受限制的按鈕呈現為灰色。如果您曾經遇到過一個 PDF 檔案,雖然顯示效果完美,但卻無法列印,那麼您就遇到了「擁有者密碼」。
一份文件可以同時具備這兩種功能,也可以只具備其中一種,或者完全沒有。透過觀察其行為,您就能判斷它屬於哪一種情況:如果開啟時出現密碼提示,則表示這是使用者密碼;如果檔案可以開啟,但禁止列印或複製,則表示這是僅限擁有者的密碼。
實際上,限制的影響可能比你想像的要小。
以下是讓人感到驚訝的部分:所有者密碼限制並非透過加密來強制執行。它們是一組儲存在檔案內的權限標記,而是否遵守這些標記則取決於每個 PDF 閱讀器。Adobe Acrobat 會遵守;大多數主流閱讀器也會遵守。但這種限制是對軟體的請求,而非數學上的障礙,這就是為什麼 PDF 領域會將這些標記描述為「建議性」標記。
將此與使用者密碼進行對比。當設定了開放式密碼時,文件的內容實際上會被加密,而在現代的 PDF 檔案中,這意味著會使用強加密方式,例如 AES。沒有任何可以忽略的標記;如果沒有正確的密碼,就根本無法顯示任何可讀的內容。較舊的 PDF 檔案使用較弱的 RC4 加密方式,而非常舊的檔案則使用 40 位元的金鑰,這些金鑰在今天很容易被破解,但目前的工具會使用 AES-256 進行加密。
這種不對稱性是整個主題的核心要點。在現代 PDF 檔案中使用一個開放的密碼,並搭配一個強大的密碼短語,這才是真正的安全保障。僅僅使用權限鎖,效果更像是「請勿」的標誌:對於讓誠實的使用者留在預期的工作流程中是有意義的,但它並不是一個嚴格的障礙,而且絕對不能依賴它來保護機密。如果一份文件必須保持私密,請使用開放的密碼進行加密;不要僅僅停留在停用複製按鈕的層級。
為什麼只有限制功能的 PDF 檔案在沒有密碼的情況下也能開啟?
這是人們最常問的問題,通常帶有一絲懷疑:一個工具如何在我不輸入密碼的情況下,移除我 PDF 檔案的密碼?對於僅限於限制存取的檔案,根本沒有什麼需要破解的秘密。
當一份 PDF 檔案只有設定了「擁有者密碼」時,每一位讀者仍然應該能夠開啟並檢視該檔案,且不需輸入任何密碼。這表示,檔案的設計目的在於,即使沒有「擁有者密碼」,也能夠解密內容;否則,該檔案根本無法開啟。擁有者密碼僅用於控制權限設定。一種能夠重新編寫檔案,但不會修改加密層的工具,並不會破壞任何加密機制。它只是在做任何讀者都可以做的事情,即顯示檔案中的頁面,然後將結果儲存,且不包含任何權限設定。
使用者密碼完全是另一回事。檔案內容會使用由該密碼衍生出的金鑰進行加密,因此沒有該密碼,任何合法工具都無法開啟檔案。FileTinker 的解鎖工具絕不會破解、猜測或暴力破解密碼:如果您的 PDF 設有開啟密碼,您必須輸入正確的密碼。任何宣稱能從現代 AES 加密的 PDF 中「還原」遺失開啟密碼的人,不是正在暴力破解弱密碼,就是過度承諾。
在哪些情況下,移除保護措施是合理的;在哪些情況下,則不合理。
移除 PDF 的保護功能聽起來似乎有些可疑,但當你仔細想想,你會發現人們實際上需要這樣做的情況,往往都非常普通,而且通常是為了處理他們已經擁有的文件,或是他們有權使用的文件。
日常生活中常見的狀況如下:一份銀行對帳單,每次開啟時都要求輸入您的帳號加上出生日期的密碼,而且這個要求會一直存在,甚至是在您自己的檔案資料夾中。一份政府表格,您必須填寫並寄回,但填寫權限卻被關閉了。一份保險文件,您需要列印出來以進行理賠申請,但列印功能卻被停用。您自己很久以前建立的舊檔案,當時設定了密碼保護,您現在仍然記得密碼,但已經不想再輸入了。在所有這些情況下,您實際上已經可以開啟這些文件;您只是在消除使用這些檔案時可能遇到的阻礙,因為這些檔案本來就是您可以使用的。
這點很容易說明:移除您擁有或擁有使用權的文件的保護措施是合法的;但未經允許進入他人的受保護檔案則是不合法的,而且對於使用開放密碼的檔案,這也是不可能的,因為該工具需要正確的密碼。解鎖並不會授予您任何您原本沒有的權限;它只是將您已有的權限轉換為一種無需繁瑣步驟即可使用的權限。如果某份文件的作者對其設定了限制,而您不確定是否可以解除該限制,最好直接詢問作者,而不是試圖繞過該限制。
如何從您的瀏覽器中移除密碼或解除限制
FileTinker 的「解鎖 PDF」工具可以處理兩種保護類型,而且完全在您的電腦上執行。在後端,它使用了廣為人知的開源 PDF 引擎 qpdf,並將其編譯為 WebAssembly,以便在您的瀏覽器分頁中執行。您的檔案永遠不會上傳到任何地方,這點非常重要:人們解鎖的 PDF 檔案通常是包含敏感資訊的檔案,將這些檔案傳送到陌生人的伺服器進行解密,絕對是最糟糕的做法。
工作流程取決於檔案設定了哪種密碼。如果檔案僅設定了「限制」密碼,表示檔案可以開啟,但無法列印、複製或編輯,只需將其放入指定資料夾即可:檔案將會解除鎖定,且完全不需要密碼,原因如前所述。如果檔案設定了「開啟」密碼,請輸入您通常用於開啟檔案的密碼。如果輸入錯誤的密碼,您會收到明確的錯誤訊息,而不是顯示錯誤的輸出結果。
無論採用哪種方式,結果都是相同的:一份沒有加密層的文件,包含相同的頁面、相同的文字、相同的圖片,沒有密碼提示,也沒有呈現灰色的按鈕。值得考慮的後續步驟是:如果檔案包含您不希望傳遞的標題、作者姓名或其他屬性,請在處理完畢後使用「編輯 PDF 中繼資料」工具來檢視並清除這些資訊。
如何妥善保護 PDF 檔案
保護功能就像一面鏡子,要正確使用,就必須從上述所有內容中學習。FileTinker 的「保護 PDF」工具會使用您選擇的密碼,以 AES-256 加密您的文件,而且整個過程都在您的瀏覽器中進行,因此未加密的原始文件在加密過程中也不會離開您的電腦。
AES-256 是 PDF 加密的強效現代標準,搭配強密碼時,暴力破解幾乎不可能成功。關鍵就在於最後這句:攻擊者無需破解 AES,只需猜出您的密碼即可。短弱或易被猜測的密碼,足以讓世界上最強的加密演算法失效。
以下幾條規則決定了真正的保護與虛假的保護之間的區別:
- 請使用較長的密碼片語,而不是簡短的單字。三個或四個隨機單字,或是 16 個以上的混合字元,都能將暴力破解攻擊從可行轉變為毫無希望。
- 避免使用文件中可輕易取得的資訊來設定密碼,例如出生日期、帳戶號碼或公司名稱。這些都是駭客最常嘗試的密碼。
- 請透過與檔案不同的管道傳送密碼。如果您是以電子郵件傳送 PDF 檔案,請透過電話或即時通訊應用程式分享密碼,切勿在同一封電子郵件中傳送。
- 將密碼儲存在一個安全的地方,例如密碼管理工具中。一個真正強大的公開密碼沒有恢復途徑;如果遺失,就等於失去了該文件。
- 不要僅僅依賴權限設定來保護機密資訊。如果內容必須保持私密,就必須使用開放的密碼,並採用 AES-256 加密演算法,這樣才行。