インターネットが普及してさまざまなことが便利になった半面、インターネットのマイナスの側面の一つとして、情報セキュリティリスクが非常に大きくなりました。とくにインターネットでの情報のやりとりは無料が原則なのですが、結局、それが情報の質の低下をもたらすという結果になってしまっているようです。
インターネットを経由して、情報を入手し、利用するときは、入手したその情報が真に信頼できるものなのかを自分自身で確認しなければなりません。Windowsには、そのための仕組みとして「Microsoft Defender SmartScreen」が用意されています。これは主にダウンロードするWebサイトの評価やダウンロードしたプログラムの評価を行って、悪意のあるデータがパソコンに取り込まれることを防ごうとするものです。
コードサイニング
当社が販売しているようなソフトウェア製品の場合、ユーザーは、ダウンロードなどで入手したプログラムを自分のパソコンにインストールする前に、真に信頼できるかどうかを確認する必要があります。誰が開発したプログラムがなのか、配布されてから改竄されていないかどうかを確認できるようにするために、プログラムへの電子署名(コードサイニングという)が使われます。これはプログラムの配布元が、自己の証明書を使ってプログラムに電子署名するものです。
Windows側の防衛の仕組みとコードサイニングを組み合わせることで、ダウンロードしたプログラムの配布データとしての信頼性を高め、また信頼できるプログラムを選別してスムーズにインストールできるようになっています。
電子証明書発行時には、証明書を発行する認証局が、発行申請者を審査します。コードサイニング証明書には、通常の証明書とEV証明書があります。EV証明書は発行時の審査基準が通常の証明書より厳しくなっています。
前置きが長くなりましたが、アンテナハウスは2018年7月より「EVコードサイニング証明書」を使用して当社が提供するソフトウエア(インストーラ、アプリケーション、ドライバ、ソフトウエアプログラム)に電子署名を実施しております。
配布するプログラムにEVコードサイニングを行うと次のメリットがあります。
- コードが改ざんされていないことを証明できる
- プログラムの配布元を確認できる
- ダウンロードやインストール時に、Microsoft Defender SmartScreen の警告メッセージを回避できる
最近はさらにWindows側のセキュリティ基準が厳しくなって、製品を構成する部品(Windows版ではDLL)ファイル一つ一つに署名が必要になってきています。そこで、現在、自社製品のWindows版の、原則としてすべての、部品ファイルにEVコードサイニング証明書による電子署名を施すよう準備しています。
電子署名の確認
Windowsでプログラムに署名がされているかどうかはファイルのプロパティで確認できます。次の図の左は、電子署名がなされていないプログラムのプロパティダイアログです。それに対して右は電子署名されたプログラムのプロパティです。電子署名されていると「デジタル署名」というタブが追加されていることがわかります。
「デジタル署名」タブを表示すると、署名の一覧が表示されます。
リストを選択して、署名の詳細をみることができます。
こうして、プログラムの配布元の情報や配布されてから改竄されていないことを確認できることになります。
参考資料
1.Microsoft Defender SmartScreenのページ(Microsoft)
2. EV証明書 (Extended Validation 証明書)とは