Lambdaカクテル

Common LISPが好きなWeb屋さんです 自宅サーバやフロントエンドもできます

デジタル署名を“貼る”には?

現代のインターネット上の安全な通信を支えているのがSSL/TLSをはじめとした暗号などの技術なのはご承知のとおりだとは思うが、デジタル署名の有効範囲を現実界に持ち込んでみるLife Hack.

貼ってみた

デジタルデータを現実界のオブジェクトに貼り付ける現実的でまともな手段といったらシールにすることだ。
インクジェットプリンタで印刷可能なステッカーが各所から販売されている。これを使おう。

必要な情報

  1. 署名のユニーク性を保持するのに必要な十分な量の識別ID
  2. タイムスタンプ
  3. 別の書類に張り替えられない仕組み

1. については、十分な量のランダムデータを与える。
2. については、データ内にタイムスタンプを置く
3. については、何に貼ったかをデータに記述する、もしくはステッカーの上にさらに印を打つ。

はい、ここで問題。
このやり方だと前もってステッカーを作り置く事ができない。
いつでもどこでもステッカーに印刷できる環境はそうないはずだ。(とはいえ署名済みのデータを持ち歩くのもどうかと思うが)
というわけで、あらかじめランダムデータのみの署名ステッカーを作成しておき、貼り付け後に所有者が有効化する手続きをとったほうが賢明だ。

どうする

  1. まず、いくらかのできあいのステッカーを作成する。
  2. ステッカーを貼る。
  3. ステッカー内の署名済みデータに関して、有効であることを示すタイムスタンプ付きの文書を署名付きで作成する。
  4. 証明文書を公に提示する。

これでいいでしょう。デジタル署名はQRコードを用いてバーコード化すればかさばらずにすむ。
近々はがきとかで実験してみたいですね。