コードサイニングとは

コードサイニング(code signing)とは、作成したプログラム等に対して、配布元の組織が実在し、プログラムの内容が改ざんされていないことを証明するために、デジタル署名データなどを埋め込むこと。デジタル署名データが埋め込まれた電子署名用の証明書はコードサイニング証明書と呼ばれる。

ソフトウェアの流通形態は、記録媒体によるパッケージからオンラインへと移りつつある。また、パッケージで販売されたソフトウェアであっても、アップデートはオンラインで行うことが増えてきている。

しかし、オンラインで流通するソフトウェアは、正規のソフトになりすましたものや、内容の改ざん、マルウェアの付加といった危険性がある。また、デジタル署名が無いソフトウェアをダウンロードする場合、「配布元不明」との警告がブラウザ等で表示されることがあり、正規のものかどうかを確認できない場合、ユーザーは警戒してソフトウェアをダウンロードせず、ソフトウェアへの信頼性が損なわれる。

そこで、インターネット上でソフトウェアを安全に配布するために用いるのが「コードサイニング証明書」である。ユーザーは、この証明書により、ソフトウェアの配布元の組織が誰であるかの確認が可能となり、配布されたソフトウェアが途中で改ざんされていたりした場合にはそれを調べることができる。

インターネットを介してアプリケーションやデータを利活用する機会が増えていくにつれ、「誰が作成したか」「データが改ざんされていないか」というセキュリティの重要性は高まるため、コードサイニング証明書の利用は増えていくことが考えられる。

なお、コードサイニング証明書で確認できるのは、プログラム配布元の組織の実在性と、署名以降プログラムが改変されていないという真正性の2点である。コードサイニング証明書は、決してプログラムにバグがないことを保証するものではないし、マルウェアが含まれていないことを保証するものでもない。

セキュリティ用語辞典一覧ページへ

関連キーワード:

ソフトウェア

デジタル署名

プログラム

改ざん

  • 米国セレブ画像流出事件に関連する詐欺に注意喚起
  • カテゴリートップへ
  • アップルがiOSの最新版「iOS 8」を公開