MENU

署名と書庫・AKI Archiver・Web3.0時代の暗号基盤

Archiver-Eyecatch
目次

はじめに

従来、デジタル署名は秘密鍵が必須なため、サーバーが秘密鍵を所有するケースが主となるPKIではサーバーが行う処理でした。AKIDサービスによるクライアントごとの署名は、今まで以上にデジタル署名の活用範囲を広げられるはずです。そこで、情報の署名+αを見直し、クライアント主導で使えるフォーマットを目指して設計しました。 本書では、このAKIDサービスを使ったデジタル署名について説明いたします。

電子署名とデジタル署名

電子署名は情報(電子文書)の内容が改ざんされていない事を証明する役割を担います。電子署名法第3条を例に取ると「電磁的記録であって情報を表すために作成されたものは、当該電磁的記録に記録された情報について本人による電子署名が行われているときは、真正に成立したものと推定する。」と示されています。

電子署名及び認証業務に関する法律

デジタル署名の様な「確実な証明ができれば信頼する」と法律的にも認められた仕組みです。書かれている要点を以下に書き出します。

  1. 電子署名とは情報の本人証明に関する技術の総称
  2. デジタル署名は、電子署名の一種であり、暗号技術を使って証明する技術の総称
  3. 電子署名は、電子署名法により法的に有効

では、デジタル署名はどの様な技術なのか整理しておきましょう。

PKI署名

デジタル署名といえばPKIと言われるくらい代表的な方式です。秘密鍵で作成したデジタル署名は公開鍵でしか検証できないという特性を証明に応用します。もちろん、認証局のお墨付き(与信つき)公開鍵証明書を使うのが大前提なのは言うまでもありません。

認証局のお墨付き公開鍵証明書とは、一般的には組織認証だと言われています。もちろん相応の維持費が掛かります。本サイトの証明書はドメイン認証ですから、将来は組織認証に引き上げたいと考えています。

PKIによるデジタル署名は、秘密を知らなくても公開鍵証明書を使って検証できることが最大のポイントです。既に公開されている鍵なので、そこには秘密はなく公知の事実での検査された「ゼロ知識証明」が実現されています。この様に秘密を持たずに論理的に検証できる仕組みです。
PKIでのデジタル署名の一連の流れは以下の通りです。

PKIを使ったデジタル署名
図 1 PKIのデジタル署名

署名作成時のインプット

インプット情報説明
情報のハッシュ値署名対象となる情報から算出したハッシュ値です。
表 1. PKIによる署名作成のインプット

・従来型のデジタル署名は、入手したデジタル署名の検証に検証元の情報が必ず必要です
・ハッシュ値のフォーマットは「特に規定されていません

署名作成時のアウトプット

アウトプット情報説明
デジタル署名ハッシュ値を秘密鍵で暗号化した値です。
検証の際には公開鍵を使ってハッシュ値を復号し、署名対象の情報から再度算出したハッシュ値と比較して一致した場合「情報は改ざんされていない」とみなす事ができます。
表 2. PKIによる署名作成のアウトプット

(AKIDサービスでも触れましたが)本書ではRSA暗号方式の特性を前提に説明でまとめています。そのため、本来は秘密鍵で「署名」と記すべきなのですが、説明誤解を避けるために「暗号」と表現しています。今後の解説にてRSA暗号以外の非対称鍵採用も想定した説明を予定しています。

続いてAKIの署名方式について、解説を進めます。

AKI署名

AKIは鍵を公開する事はしません。ですから、AKIDサービスを前提に、新たにAKI署名のフォーマットを規定しました。ただのデジタル署名検証に留まらず、今までにない機能を提供できる様になりました。

基本的なAKI署名は以下の構造です。

図 2 AKIのデジタル署名

フォーマット内の各項目については以下の通りです。

フォーマットの項目説明
データ署名情報のハッシュ値種別」+「Data/Time」+「情報のハッシュ値」の各項目をまとめた上で算出したハッシュ値です。
情報の改ざん検知が行えるため、より高度な改ざん検知性能を提供できます。
種別将来拡張の為の予備領域です。
Date/TimeAKI署名が作成された日時です。
適切なNTPサーバーとの同期している事が確認できる運用設計が望ましいです。
独立行政法人情報通信研究機構(NICT)
情報のハッシュ値情報のハッシュ値です。複数データの場合は、取りまとめたデータ集合からハッシュ値を算出します。
情報AKI署名の対象となるデータです。
暗号は施されていません。
表 3. AKI署名フォーマットの補足

署名作成時のインプット

インプット情報説明
作り手鍵(署名用)署名に必要な鍵です。PKIでの秘密鍵に相当します。
署名対象データ署名対象となる情報(データ)です。
表 4. AKI署名作成のインプット

署名作成時のアウトプット

アウトプット情報説明
AKI署名AKI署名フォーマットに準拠する情報を作り手鍵で暗号化したものです。
AKI署名フォーマットについては別表にて解説いたします。
情報AKI署名でデジタル署名された情報です。
複数のデータも取りまとめた形式を選択する事も可能です。
表 5. AKI署名作成のアウトプット

簡易検証

AKI署名は情報のハッシュ値自体も内包するため、情報がなくてもAKI署名だけでも簡易認証が可能となりました。これは簡易検査を可能とし効率的な運用を実現できます。以上、AKI署名だけでも高い革新性を提供できると確信できる仕上がりになったと自負しています。デジタル署名自体は秘密を持たずに内容保証できる仕組みなので、広くシステムへの応用が期待できます。私はこの優れた特性に着目し、AKI署名にさらなる機能を盛り込みました。それが「AKI 署名+暗号オプション」です。

AKI署名+暗号オプション

AKI署名+暗号化オプションは以下の構造です。

SignatureFormat+Encryption
図 3 AKI署名+暗号オプション

フォーマット内の各項目については以下の通りです。

フォーマット項目説明
データ署名情報のハッシュ値種別」+「Data/Time」+「共通鍵」+「情報のハッシュ値」+「暗号後の情報ハッシュ値」の各項目をまとめた上で算出したハッシュ値です。
種別将来拡張の為の予備領域です。
Date/TimeAKI署名が作成された日時です。
共通鍵情報の暗号化に使用される共通鍵です。
AKI Archiver内部で生成され「情報」の暗号後はライブラリ内部で廃棄されアウトプットはありません。
情報のハッシュ値情報のハッシュ値です。
暗号後の情報ハッシュ値:暗号が完了した後の情報のハッシュ値です。
共通鍵での復号が必要なので、さらに強力な改ざん検出特性が追加されます。
情報AKI署名の対象となるデータです。
共通鍵を使って暗号処理が施されています。検証鍵でAKI署名が検証された場合に限り入手可能です。
表 6. AKI署名+暗号オプションフォーマットの補足

署名作成時のインプット

インプット情報説明
作り手鍵(署名用)署名に必要な鍵です。PKIでの秘密鍵に相当します。
署名対象データ署名対象となる情報(データ)です。
表 7. AKI署名+暗号オプション作成のインプット

署名作成時のアプトプット

アウトプット情報説明
AKI署名AKI署名フォーマットに準拠する情報を作り手鍵で暗号化したものです。
AKI署名フォーマットについては別表にて解説いたします。
暗号化済み情報AKI署名で暗号化された後にデジタル署名された情報です。
複数のデータも取りまとめた形式を選択する事も可能です。暗号化には共通鍵暗号を採用しています。共通鍵自体はAKI証明内に格納されていて署名者等はこの秘密を知らされていません。AKI署名の認証が行われた際に自動で復号される仕組みとなっています。
表 8. AKI署名+暗号オプション作成のアウトプット

簡易検証

暗号オプション付きでもAKI署名だけでの簡易認証は可能な仕様です。この特性により効率的な一時チェックが可能です。情報の復号が必要ならばサーバーの認証が必要です。

AKI Archiverのアーキテクチャレイヤ

以上の様に+暗号オプションは、デジタル署名を行う際に、対象となる情報を「鍵付き書庫にアーカイブ」します。ハイブリッド暗号を採用する事でゼロ知識証明の安全性と高速かつ大容量対応とを両立します。これらをAKI Archiverユーティリティとして集約し、アーキテクチャの要としました。AKI Archiverのアーキテクチャレイヤは以下の通りです。

図 4 AKI Archiverのアーキテクチャレイヤ

システムへの組み入れ

AKI Archiverをアプリケーションモデルに組み込んでみます。

Archiver-システムへ組み込み
図 5 AKI Arhiverのアーキテクチャ配置

クライアントでアーカイブした情報はAKIDサービスを利用できるサーバーでしか展開できない事が読み取れます。ゼロ知識証明が適応されているため機密情報などが存在しません。機密情報が存在しないので盗聴などの脅威が最小です。従来の非対称鍵暗号技術を用いながら、より高い安全性を提供する事ができました。以上の取り組みで、AKIによる情報の署名とアーアイブ方法が確立しました。

まとめ

AKIが提唱する新しいデジタル署名は以上です。既存の技術を採用していますので、暗号技術自体は枯れて安全なものが利用できます。使い方を見直して、新しいイノベーションとしたものがAKIである事が説明できたかと存じます。
しかしながら、暗号という非常に専門性を感じてしまうテクノロジーはなかなか理解をいただくのが難しいと痛感しています。本記事を読んでご興味をいただきましたら、ぜひ私までご連絡頂ければ幸いです。PoCで開発したアプリケーションを使って具体的な説明も可能です。
続いて、このAKI Archiverを通信のペイロードに組み入れた仕組み「AKI TLS」について説明いたします。AKI TLSを使ったクライアントとサーバーとのE2Eメッセージングについて深堀します。

Archiver-Eyecatch

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!

コメント

コメントする

目次