電子署名入り文書の流通インフラとしてのAcrobat Reader

2016年10月26日

アドビシステムズ株式会社© 2016 Adobe Systems Incorporated. All Rights Reserved.

今西祐之

PDF／Adobe Acrobat／Acrobat Reader
ISO32000-1:2008

準拠

Adobe PDF

作成・編集

PC版Acrobat Readerの電子署名機能（署名／検証）は、PC版
Acrobatとほぼ同じです
高い親和性

閲覧

※検証機能はAcrobatもReaderも同じです※モバイル版には電子署名機能がありません

閲覧を保証

（有償）

Adobe Acrobat© 2016 Adobe Systems Incorporated. All Rights Reserved.

完全互換

Acrobat Reader
2（無償）Acrobat Reader DCの電子署名機能
署名

電子署名関連機能

Acrobat Reader DC Adobe Acrobat DC

証明（不可視署名）

証明（可視署名）表示

タイムスタンプ(*1)

署名を検証／文書内のすべての署名を検証
信頼済み証明書

Adobe Root CA
AATL

EUTL

○○

○

署名バージョンと現在のバージョンを比較(*1) 文書に付与するタイムスタンプです

3○○

○

○

○

○

○
○

署名バージョンを表示© 2016 Adobe Systems Incorporated. All Rights Reserved.

○×

電子署名
検証×○×

○
○
○
○

PDFとAcrobat／Acrobat Readerの進化
12フォーム機能ビデオ・サウンド
2バイト文字対応
Web用に最適化

データコンテナ
電子署名
JavaScript
注釈機能の拡張
ICCカラー

新暗号方式（AES）
タイムスタンプ
XMLフォーム
3Dオブジェクト

タグ付きPDF
アクセシビリティ
透明 / XML© 2016 Adobe Systems Incorporated. All Rights Reserved.

4576482016• システム間をつなぐPDFの活用• デバイス多様化への対応

Adobe Extension
Level 8915

Acrobat DC

PDFパッケージ
Reader権限拡張の強化

電子署名プラグインが不要に

Acrobat3.014

オブジェクト圧縮
マルチメディア拡張
セキュリティ強化
使用権限
レイヤー

パスワードセキュリティ
アーティクル
注釈機能の拡張デバイス非依存カラー

デバイス非依存のテキスト／画像13

PAdES長期署名
対応

ISO32000-2へ

X

Acrobat DC

Acrobat XI

電子署名による「文書」の認証に取り組んできたAdobe①ハッシュ値計算

ハッシュ値A

文書の種類により処理のフローや流通範囲が変わる②デジタル署名作成

署名データ

文書A

③PDFに埋め込み

暗号化ハッシュ値
タイムスタンプ

ハッシュ値A’

暗号化

秘密鍵

公開鍵証明書⑥ハッシュ値比較

文書A’

公開鍵証明書
暗号化ハッシュ値
タイムスタンプ© 2016 Adobe Systems Incorporated. All Rights Reserved.

公開鍵証明書
公開鍵

ハッシュ値A’＝ハッシュ値A

比較④ハッシュ値計算

署名データ

電子証明書

公開鍵証明書
公開鍵

ハッシュ値A⑤署名データ内のハッシュ値を取り出して公開鍵で復元④～⑥改めて文書内容のハッシュ値を計算し、デジタル署名に埋め込まれたハッシュ値と比較する。
違っていれば改竄あり••••••••

稟議書・企画書
申請書
同意書
証明書
決算発表資料
議事録
設計変更指示書… … …

署名のフローや意味合い、求められる機能の変化
Acrobat／Acrobat Readerに反映

PDFにおける電子署名の仕様
0

PDF文書

%PDF

バイト
840

/Contents

PKCS#7形式

1200

バイト
オフセット>

電子署名</Reason (I agree …)/Location/ContactInfo

バイト
240

この部分のハッシュ値から署名を作成[0,840,960,240]

840
960

/ByteRange

作成された電子署名はPDFファイルの中に埋め込まれます%%EOF© 2016 Adobe Systems Incorporated. All Rights Reserved.

署名の理由、署名場所、署名者の連絡先が記録できます

電子署名

公開鍵証明書・公開鍵・所有者識別情報

・ハッシュ値（暗号）・タイムスタンプ

電子署名データ
はPKCS#7形式で作成されます
6

電子証明書

秘密鍵公開鍵証明書

・公開鍵・所有者識別情報

電子署名の中には暗号化された文書ハッシュ値とともに公開鍵証明書が埋め込まれます※SubFilterがadbe.pkcs7.detachedまたはadbe.pkcs7.sha1の場合の図です可視署名と不可視署名
可視署名




※外観追加後の文書にダイジェストを取得します

ページ上に表示される外観（Appearance）が紐づけされた電子署名
手書きサインや印鑑に相当するイメージを外観として使用
証明書の情報や署名日付などを外観に含めることもできる

紙書類への署名や捺印との違和感を緩和

不可視署名


外観（Appearance）を持たない電子署名

署名時に入力する情報

署名の表示方法のカスタマイズによる外観の設定© 2016 Adobe Systems Incorporated. All Rights Reserved.

署名の外観に使用できる情報
7

署名の外観

署名フィールド

電子署名は、署名フィールドとそこに入力された値で表現される
テキストフィールド

入力

テキストフィールドの外観

テキストフィールドの値

4ECA 897F 7950 4E4B

（ユニコード文字列：今西祐之）
署名フィールドの外観
署名フィールド

署名

署名フィールドの値

不可視署名は、大きさを持たない署名フィールドに署名します© 2016 Adobe Systems Incorporated. All Rights Reserved.

8

DER-encoded PKCS#7
バイナリデータ＋α証明と承認

署名の持つ意味合いの違い

証明署名（Certifying Signature）


文書の作成者／発行者、および、発行後に改ざんされていないことを証明する文書の最初の署名としてひとつだけ使用できる
証明後の変更可能範囲が指定できる署名者



承認署名（Approval Signature）


情報公開資料、申請書の作成、見積書、……

認証局契約書、申請書の記入、同意書、……

文書の内容に対する同意・承認などの意思を示す

承認署名の付与© 2016 Adobe Systems Incorporated. All Rights Reserved.

9

証明署名の付与※Acrobat Readerでは証明署名を付与することはできません証明済み文書の発行例
内閣サイバーセキュリティセンター報道発表資料


http://www.nisc.go.jp/press/index.html

検証メッセージ

署名パネル© 2016 Adobe Systems Incorporated. All Rights Reserved.

10

電子署名により、この文書は内閣サイバーセキュリティセン
ターが作成したものであり、作成後、変更／改ざんが行われていないことが証明されます。

本物であることの検証ができる••

なりすましではない
改竄されていない余談：サンドボックスと署名検証
Microsoft および Google とサンドボックス技術を共同開発

標的型メール攻撃の例※
マルウェア入り
PDFファイルを添付

サイバー攻撃サンドボックスによりマルウェ
ア本来の動作が妨害される※IPA 「標的型攻撃メールの分析に関するレポート」（2011年10月）より

サンドボックスでマルウェアのリスクを軽減保護されたビューは読み取り専用でほとんどの機能が動作しないが、署名の検証は行われる

クリックすると証明書ビューアで証明書の内容が確認できます© 2016 Adobe Systems Incorporated. All Rights Reserved.

11

電子署名があってもIDの確認ができないなど問題がある場
合はこちら

証明後の変更


証明署名時には、署名後に許可する動作が設定できる

変更を許可しない

フォームフィールドの入力と署名フィールドに署名見積書、決算発表資料などの完成文書

注釈の作成、フォームフィールドの入力と署名フィールドに署名申請書、稟議書など内容の確認と承認を求める文書

条件によって表示が変わるような要素がないか、検査する© 2016 Adobe Systems Incorporated. All Rights Reserved.

12署名後の改竄と変更

署名（証明／承認）後に内容／表示が変更される文書がある

複数の関係者が署名を追加するケース

変更？改竄？

関係者に回覧して承認を得る。その際に署名とともに日付やコメントが入れられるケース
発行者の署名入り申請書に記入＆署名を行って申請するケース

改竄されていない
フォームへの入力やコメントの追加など想定された操作による変更は、改竄と見做されません

改竄のおそれがある
複数の関係者の承認が必要なケース

後述のPDFの仕様に則ってオリジナルデータを保持しているのではない変更は、改竄と見做されます© 2016 Adobe Systems Incorporated. All Rights Reserved.

13

PDFの保存方法
PDF編集後のFull SaveとAppend Save
Full Save

%PDF-1.7

PDF全体の構造を再構成して保存

Append Save

変更差分をファイルの末尾に追加

Adobe Acrobat／Acrobat Readerの標準設定では、原則として、「名前を付けて保存」するとFull Saveが行われ、「上書き保存」を行うとAppend Saveが行われます※Full Save/Append Saveは、AcrobatやAcrobat Readerの機能の呼び方です。PDFの仕様上では、変更差分をファイル末尾に追加するやり方は、Incremental Update（増分更新）と呼びます© 2016 Adobe Systems Incorporated. All Rights Reserved.

PDFには、AppendSaveとFullSaveの2種類の保存方法があります
PDFの保存方法

編集・加工

Append Save

保存保存%%EOF

PDFのファイル構造

Full Save

Append SaveしたPDF

Append Save

Full Save

変更履歴を消し、コンパクトなPDFとして保存します14

Full SaveしたPDF

オリジナルのデータはそのままにして、変更部分を「履歴」として追加していきますAppend Saveを利用した複数署名
文書内容の追加・更新とデジタル署名

オリジナル%%EOF

文書第三版
%%EOF

%%EOF

Append SaveしたPDF© 2016 Adobe Systems Incorporated. All Rights Reserved.

電子署名１

変更差分
電子署名２

デジタル署名１の有効範囲＝文書第1版
デジタル署名２の有効範囲＝文書第2版
デジタル署名３の有効範囲＝文書第3版

PDFの電子署名を追加する
ときには、Append Saveが行われます

変更差分
電子署名３

電子署名入りPDF

15

文書第二版

文書 第 一 版%PDF

PDFには複数の署名を順次追加することができます。Append Saveにより、前の版の内容および署名をそのまま残すので、その内容が復元できます署名バージョンの表示


署名時の内容を復元して表示バージョン１の表示

変更箇所

2人目の署名がまだない© 2016 Adobe Systems Incorporated. All Rights Reserved.

16

署名バージョン間の比較（Adobe Acrobatの機能）

署名バージョンと現在のバージョンを比較

ある署名を付与した時点と現行バージョンとの見た目の違いを検出検出された差異を赤い枠で囲んで表示© 2016 Adobe Systems Incorporated. All Rights Reserved.

17

タイムスタンプ（RFC3161形式）


タイムスタンプサーバーを設定しておくことにより、タイムスタンプが埋め込まれる


署名に含まれる埋め込みタイムスタンプ
文書のタイムスタンプ署名

タイムスタンプは署名データに含まれるタイムスタンプは独立した署名のひとつとして表現される© 2016 Adobe Systems Incorporated. All Rights Reserved.

18

署名フィールドのSeed Value

署名者に特定の条件を強制したいとき署名できる人（証明書や証明書の識別名で指定）

タイムスタンプの付与、タイムスタンプサーバーのURL

署名理由の選択肢

失効情報の埋め込み



…



…

…

署名フィールドに、署名する際の要件を設定（Seed Value）••

右図はLiveCycle DesignerによるXFAフォームの署名フィールド設定です。
Acrobatには、署名フィールドにSeed Valueを設定するためのユーザーインターフェースがありません。Acrobat JavaScriptのAPIを使って設定する必要があります。

© 2016 Adobe Systems Incorporated. All Rights Reserved.

19

LiveCycle DesignerによるSeed Valueの設定

署名に影響を与えるコンテンツのレビュー

申請書などインタラクティブな要素を持つ文書（フォーム）に署名するとき







入力フィールド、選択リスト、チェックボックス
印刷、送信などのボタン

入力内容によって切り替わる表示項目

レビューを行うと「文書の警告が確認されました」に変わる

入力内容をチェックするスクリプト…

…

…

インタラクティブな要素により見た目が変わるおそれがあるものを署名時にチェック© 2016 Adobe Systems Incorporated. All Rights Reserved.

20電子署名に使用された証明書による作成者の証明とその信頼性

作成者（＝署名者）が本人であることを証明する


Self-Sign証明書


認証局発行の公的な電子証明書


作成者が自分自身で身元を保証する
第三者である認証局が身元を保証する

認証局の信頼性の根拠


認証局の自己署名証明書を信頼する

ルート認証局が信頼できるものであり、かつ、署名者に対して信頼チェーンがつながることが確認できて、はじめて署名が信頼できることになる

署名検証環境に、ルート認証局の証明書が取り込まれていなければなりません

自己署名証明書を手作業で取り込む

Adobe CDS（Certified Document Service）

Adobe Acrobat／Acrobat Readerにビルトイン
信頼できる認証局の証明書リストの自動取込み

AATL（Adobe Approved Trust List）
EUTL（EU Trust List）

身元証明

中間認証局１
身元証明

中間認証局２
ユーザーは、・知識不要
・手間いらず

身元証明エンドエンティティ（署名者）

信頼チェーン

他の認証局発行の証明書で署名された場合は、認証局の自己署名証明書を手作業で取り込まなければなりません© 2016 Adobe Systems Incorporated. All Rights Reserved.

ルート認証局

21

Adobe CDS（Certified Document Services）


Adobeがルート認証局となる認証サービス


WebTrustの基準など厳しい要件を満たす認証機関を通じて、Adobeを信頼のルートとする電子証明書を発行

日本でサービスを提供している認証機関
 GMOグローバルサイン社（https://jp.globalsign.com/service/documentsign/）
 エントラスト社（http://japan.entrust.com/products/ssl/ecs_cds.html）
 シマンテック社（旧ベリサイン）http://www.symantec.com/ja/jp/page.jsp?id=mpki-doc-security特長 Acrobat／Acrobat Readerによる自動検証

ルート証明書がAcrobat/Adobe Readerにビルトインされており、文書の受領者は、何の設定もせずに電子署名の検証ができます

暗号化デバイス（USBトークン／ICカードなど）に格納された電子証明書


ルートCAの証明書が初めからAcrobat Readerに取込まれているため、自動的に信頼チェーンが構成されます

秘密鍵の保護を強力にするため、署名時には暗号化デバイスを使用します

タイムスタンプの利用© 2016 Adobe Systems Incorporated. All Rights Reserved.

22

AATL（Adobe Approved Trust List）


Adobe が承認した認証局のリスト


http://helpx.adobe.com/acrobat/kb/approved-trust-list1.html



電子署名の検証にあたり、ユーザーのルート証明書取込み操作が不要

Japanese Government (Government Public Key Infrastructure)

認証局のルート証明書をAdobe Reader/Acrobatに自動取込みルートCAの証明書をインターネット経由でAdobeのサーバーから取り込みます

主な認証局


SAFE-BioPharma Association

United States Federal PKI Authority
U.S. Government (DoD)

SECOM Trust Systems Co., Ltd.
Symantec

Entrust Inc.

その他、スペイン、イタリア、フランス、ドイツなどヨーロッパの認証局© 2016 Adobe Systems Incorporated. All Rights Reserved.

23

参考：失効確認の流れ（Adobe Acrobat／Acrobat Reader）
埋め込み
失効情報




CRL

最初にDSS（Document Security Store）をチェックする
次に署名に埋め込まれた失効ステータスを確認する

ローカルにキャッシュされたCRLをチェックする


OCSP

埋め込まれた失効ステータスを確認


CRLキャッシュC:¥Users¥<user id>¥AppData¥Roaming¥Adobe¥Acrobat¥DC¥Security¥CRLCacheOCSPで失効確認を行う

CRLを取得して失効確認を行う
Custom certificate preference*1)があれば、証明書の記載内容より優先する

複数のCRL配布点が記載されていれば、CRLが見つかるまで記載順にCRL配布点をチェックする*1) OCSPやCRLの動作については、証明書ごとにレジストリ設定でカスタマイズすることができる。例えば、証明書に記載されたCRL配布点でなく、別のURLを指定するなど© 2016 Adobe Systems Incorporated. All Rights Reserved.

24

© 2016 Adobe Systems Incorporated. All Rights Reserved.