コードサインとタイムスタンプによる
Webセキュリティ確保

インターネットからは便利なソフトウェアやゲームを様々な方法で入手することができます。ブロードバンド接続の普及とブラウザの機能向上によって、Webブラウザさえあればほとんどの業務を実行することが可能になりつつあります。一方で、Webブラウザは常時インターネットと接続された状態がぜんていであるため、Webブラウザ上で不正なプログラムを実行されると、ユーザPCは個人情報や機密情報の流出や破壊等といった危険な状態さらされることになります。これらのリスクからユーザを守る技術の一つであるコードサインは、電子署名とタイムスタンプを用いた、インターネットを安全に利用するために大変重要な仕組みです。

インターネットに安全をもたらすサンドボックス

サンドボックスとは、もともと子供が遊ぶ砂場の意味です。日本の公園でも砂場の周りが柵などで囲まれていたりしますが、これは小さな子供を安全に遊ばせるために作られています。目を離したすきに子供が遠くに行ってしまわないように、また動物などが入り込んでこないようにしているわけです。
ユーザが気が付かないうちに不正なサイトにアクセスしてしまったり、パソコンの内部情報を読み取られたりしないように、ユーザが必要な機能だけを有効にし、それ以外の機能を制限しておく(柵で囲っておく)のが、サンドボックスによるセキュリティです。Webブラウザは、サンドボックスがあるために安心してインターネットにアクセスすることができるようになっています。

サンドボックスによる安全なインターネット環境

砂場の外の世界へ

一方で、アプリケーションの性質上、どうしてもサンドボックスの外に出る必要があるものがあります。例えば、PCに保存されている見積書ファイルを探してPDFに自動的に変換しタイムスタンプで保護をする、といった動作を行うアプリケーションをWebブラウザ上で提供しようとしても、ブラウザのサンドボックス制限からPCのファイルを開くことができません。そんな事が出来れば、ブラウザで開いただけで個人情報を含むファイルを探し出してしまうことができることになってしまいます。
しかし、それではブラウザで出来ることが限られてしまい、利便性が低下することになりかねません。「私は子供ではないので、自己責任で外に出たいので柵を外して欲しい。」という場合です。

信用できるアプリケーションを見分けるコードサイン

このような場合に用いるのが「コードサイン」です。 アプリケーションが信頼できるものだと分かっているなら、不正に個人情報を利用されることはないと信用することができます。 コードサインは、サンドボックス制限を一時的に解除してもらうために、アプリケーションの提供者が「電子署名」によって身元保証を行うものです。 例えば電子政府の「e-Gov電子申請用プログラム」や法務省が配布している「オンライン登記情報検索」等では、アプリケーションの配布元が信頼できる機関であること(政府)を電子証明書によって明示することで、一時的にサンドボックス制限を解除(柵を開ける)しています。 これによって、個人情報を扱うプログラムでもインターネット上で安心して使用することができるようになっています。

コードサインイメージ図

コードサインとタイムスタンプ

コードサインによる電子署名は、身元保証を電子的に行う仕組みですが一般的に電子署名の有効期間は1〜2年、最大でも5年程度です。これは役職や組織の名称、責任権限は変わりやすく、また署名に用いる秘密鍵をユーザが長期間安全に保持し続けることが難しいためです。
また、電子署名をユーザが行った際に署名を行った日時が署名の有効期間内だったかどうかの秘密鍵を長期間電子署名で証明する必要があります。
このような場合に署名を行った時刻を証明するためにタイムスタンプが用いられます。

コードサインとタイムスタンプイメージ図

また、タイムスタンプは、厳重なセキュリティ基準で運用されているタイムスタンプ局から発行されるため7年から10年という非常に長期間の時刻証明を提供します。
タイムスタンプ時刻で証明されたコードサインは、タイムスタンプが有効な限り有効性が維持されますので、長期間に渡ってアプリケーションの信頼性を維持し続けることができます。
コードサインを用いてアプリケーションの信頼性と利便性を高める方法は様々な環境で用いられています。

  • 企業向け、政府向けアプリケーションとして利用されることが多いJava実行環境用コードサイン
  • アドビシステムズのマルチメディア環境のAdobe Airアプリケーションへのコードサイン
  • MicrosoftのソフトウェアやVBA、マクロといったスクリプトコードに対するコードサイン

企業、政府システムへアクセスを行うアプリケーションだけでなく、ゲームなどエンターテイメントアプリケーションを配布する場合にも用いることができます。 また企業内で使用しているアプリケーションであっても、ITを用いた内部統制の観点からコードサインによる会計プログラム管理、社内業務プログラム管理を有効活用することができます。