跳至內容
100% 本地 · 上傳 0 KB壓縮 PDF

PDF 安全解析:密碼、權限和加密

PDF 安全常被描述為「密碼保護」,但現實更細緻。安全的 PDF 可能要求密碼才能開啟、限制讀者能對它做什麼,並加密其內容。本參考解釋每層如何運作、加密選項實際意義什麼,以及 PDF 安全在何處不再有用。

基礎

什麼是 PDF 安全?

PDF 安全是 PDF 規範定義的一組選用控制,文件作者可套用到檔案。有三個獨立機制,常一起使用:

  • 開啟密碼 — 文件已加密,沒有正確密碼無法檢視。
  • 權限 — 一組旗標,限制列印、複製、修改和其他動作,即使文件已開啟。
  • 加密 — 用來混淆文件內容的演算法和金鑰長度,使其無金鑰即不可讀。

這些機制定義於 PDF 規範的標準安全處理器中。沒有這些控制任一項的 PDF 是普通未安全文件 — 任何能開啟它的人都可完全讀取和修改。

兩個密碼

使用者密碼 vs 擁有者密碼

安全的 PDF 可有兩個不同密碼,了解差異很重要:

  • 使用者密碼(也稱「開啟密碼」)。開啟和檢視文件所需。沒有它,檔案完全無法解密。
  • 擁有者密碼(也稱「權限密碼」)。修改權限旗標所需 — 例如移除列印限制或允許複製。只有使用者密碼的讀者可開啟檔案,但受擁有者設定的權限約束。

文件可有使用者密碼、擁有者密碼或兩者。常見做法是只設定擁有者密碼:文件對所有人自由開啟,但列印或複製等動作受限,除非讀者提供擁有者密碼。只設定使用者密碼意味著任何能開啟檔案的人也有所有權限 — 密碼控制存取,不行為。

可限制什麼

PDF 權限

權限以 32 位元整數儲存在安全處理器中。每個位元對應特定動作。最常用權限旗標:

  • 列印 — 文件是否可列印。
  • 高解析度列印 — 與基本列印不同;某些文件允許低品質列印但不允許高保真輸出。
  • 複製或提取文字和圖形 — 內容是否可複製到剪貼簿或由無障礙工具提取。
  • 修改內容 — 頁面內容是否可編輯。
  • 註解、填寫表單和簽署 — 是否可新增評論、表單欄位或數位簽章。
  • 組合 — 頁面是否可插入、刪除或旋轉。
  • 無障礙提取 — 獨立旗標,允許專為螢幕閱讀器和輔助科技提取文字。

這些旗標由PDF 檢視器強制執行,而非檔案本身。符合規範的閱讀器尊重它們;不符合規範的工具可完全忽略。這是下面討論的關鍵限制。

演算法

加密:RC4 vs AES

加密演算法和金鑰長度決定暴力破解文件的難度。PDF 標準在其歷史中支援多個:

  • RC4(40 位元和 128 位元) — 原始 PDF 加密演算法。40 位元 RC4 依現代標準薄弱且視為棄用。128 位元 RC4 較強,但 RC4 本身有已知密碼學弱點且不再推薦。
  • AES-128 — 於 PDF 1.6 引入。現代區塊加密,128 位元金鑰。顯著強於 RC4 且廣受現代 PDF 閱讀器支援。
  • AES-256 — 於 PDF 1.7 Extension Level 3 引入並在 PDF 2.0(ISO 32000-2)恢復。標準中最強選項。注意:某些早期 AES-256 實作有缺陷,密碼雜湊可獨立於文件攻擊,削弱保護 — 現代寫入器使用修正的修訂版。

對新文件,AES-256 在可用時是推薦選擇。應避免 RC4。加密套用於文件的字串和流(實際內容),而非檔案的結構骨架 — 物件編號和交叉參考表保持可見,讓閱讀器無金鑰也能導覽檔案。

內部解析

PDF 安全內部如何運作

當寫入器加密 PDF 時,它用安全處理器修訂定義的雜湊方案從使用者密碼衍生加密金鑰。此金鑰用來加密文件的字串和流物件。權限旗標和驗證雜湊儲存在文件的加密字典中,該字典本身未加密(讓閱讀器能偵測檔案已安全並索取密碼)。

當閱讀器開啟檔案時,它用提供的密碼重新衍生金鑰,對照儲存的雜湊驗證,若有效則按需解密每個物件。權限在允許每個受限動作前由檢視器檢查。因結構未加密,安全 PDF 仍揭露檔案大小、頁數和加密存在,但不揭露頁面內容。

誠實部分

PDF 安全的限制

PDF 安全有用,但了解它不是什麼很重要:

  • 它不是 DRM。 PDF 安全不將文件綁定到特定裝置、使用者帳戶或授權伺服器。任何有使用者密碼的人可在任何地方開啟檔案並轉傳它。
  • 權限是建議性的,非強制執行。 因檢視器強制執行權限旗標,選擇忽略它們的工具可複製、列印或提取內容而不顧限制。多個開放原始碼 PDF 程式庫和某些閱讀器正是如此。權限阻止偶然使用者;它們擋不住決心使用者。
  • 密碼可被暴力破解。 AES 加密 PDF 上的弱使用者密碼可被離線字典或暴力攻擊恢復,在現代硬體上速度達每秒數百萬次猜測。加密強度不補償弱密碼。
  • 舊加密可破解。 40 位元 RC4 可在數秒內破解。128 位元 RC4 有結構弱點。以這些遺留設定加密的文件今日只提供極少的真實保護。

實務結論:當需要真正機密性時,使用長且強的使用者密碼和 AES-256 加密。將權限旗標視為便利,而非安全邊界。

IXPDF 的立場

IXPDF 與 PDF 安全

IXPDF 建構於 local-first、privacy-first 架構:您的檔案永遠不會離開您的裝置。此承諾同樣適用於未來的保護或解鎖功能 — 加密或解密將在你的瀏覽器中進行,而非伺服器上。

然而,IXPDF 目前不提供密碼保護或移除密碼工具。兩者都標記為 Research Required。原因是技術性的:我們目前的 PDF 引擎 pdf-lib 不支援讀取或寫入加密 PDF。新增可靠的 PDF 加密需要不同的引擎,我們尚未評估其套件大小、效能和瀏覽器相容性 — 而我們不會發布不符合品質要求的功能。當合適引擎整合時,這些工具將在保持所有處理本地的情況下可用。

在此之前,本頁的概念仍適用於你遇到的任何 PDF。要在不上傳的情況下檢查檔案元資料揭露什麼,參見我們的元資料參考和本地元資料編輯工具。

繼續閱讀

相關資源

繼續閱讀

相關指南