第6章 証明書セキュリティ

『PDF Tool API V7.0』で証明書セキュリティX.509証明書ファイルを用いた暗号化とPKCS#12ファイルを用いた暗号化・復号化に対応しました。

証明書セキュリティ ISO 32000-1では権限をもたないユーザーによるPDF文書へのアクセスを防止する暗号化機能として、共通鍵(パスワード)による暗号化と公開鍵による暗号化の2種類を規定しています。

PDFの電子証明書(以下、証明書)によるセキュリティ設定は公開鍵による暗号化です。このようなPDFを受信者が閲覧するには、本人の秘密鍵が必要です。対応する秘密鍵を持っている人しかPDFを見ることができないため、データの盗み見を防げます。

しかし、公開鍵は広く配布可能である反面、公開鍵単体では発行者が本当に正しい受信者であるか、なりすましをされていないかを知る方法がありません。そこで登場するのが証明書です。

証明書は公開鍵そのものと、公開鍵の発行者が本人であることを証明するデータの組み合わせから成り立ちます。電子証明書は主に認証局(CA)と呼ばれる機関組織が生成します。このとき認証局は発行者の本人確認手続きを行った上で証明書(X.509仕様)を生成します。(認証局そのものの正当性を担保するためにさらに上位の認証局がさらなる証明書を発行する場合もあります)

X.509
一般的に用いられる証明書のファイルフォーマットです。公開鍵そのものと認証局の情報がセットになってまとめられています。拡張子は[.cer]、[.crt]が使われます。
証明書セキュリティPKCS#12
証明書の仕組みの中では秘密鍵に当たるファイルフォーマットです。秘密鍵そのものとX.509証明書ファイルをまとめたファイルフォーマットで、一般にパスワードで暗号化されています。拡張子は[.pfx]、[.p12]が使われます。

一般的な認証局(CA)を仲介した証明書の発行の手順は以下の通りです。

  1. 受信者となる側が秘密鍵を作成する。
  2. 秘密鍵と必要な情報を入力し、証明書署名要求(CSR)ファイルを生成する。
  3. CSRファイルを認証局に送付し、証明書の発行手続きを取る。
  4. 認証局より証明書(X.509ファイル)を受け取る。
  5. 受信者は証明書と秘密鍵ファイルを用いてPKCS#12ファイルを生成する。

X.509ファイルとPKCS#12ファイルを用いてPDFの暗号化をする手順の一例として、次のようなものが考えられます。

  1. 証明書(X.509ファイル)を受信者から送信者に向けて送付する。
  2. 送信者が証明書(X.509ファイル)を用いてPDFを暗号化する。
  3. 送信者は暗号化されたPDFファイルを受信者に送付する。
  4. 受信者は暗号化されたPDFファイルをPKCS#12ファイルを用いて復号化する。