コードサイニング証明書

コードサイニング証明書とは?

コードサイニング証明書3つの役割と仕組み、必要性、
認証の流れ、警告表示の例、署名の確認方法についてのまとめ解説ページ。

サービス資料配布中
  1. SSLのグローバルサイン
  2. サービス一覧
  3. コードサイニング証明書
  4. コードサイニング証明書とは

コードサイニング証明書とは

コードサイニング証明書は、ソフトウェアにデジタル署名を行う電子署名用の証明書です。ソフトウェアの配布元を認証し、なりすましや内容の改ざんなどがされていないことを保証し、ユーザの手元に責任をもってソフトウェアを届けることができます。

コードサイニング証明書とは

電子署名がされていないソフトウェアのリスク

電子署名がされていないソフトウェアは、プログラムの改ざんや、配布元のなりすましのリスクがあります。
ソフトウェアの入手やアップデートがオンラインで行なわれることが一般的になり便利な反面、マルウェアなどが仕込まれた改ざん済みのソフトウェアや、正規の配布元になりすました偽物のソフトウェアを再配布する被害が後を絶ちません。 また、正規のものかどうかを確認できない場合、ダウンロード時やプログラム実行時に警告メッセージが表示され、ユーザは警戒してソフトウェアをダウンロードをせず、ソフトウェアへの信頼性が損なわれます。

証明書が無い場合のリスク

コードサイニング証明書 3つの役割

上記のような脅威に対処し、 ユーザに安全にソフトウェアを利用してもらうためには、認証局の発行する電子証明書にてソフトウェアへ署名することが有効です。
コードサイニング証明書の役割は、以下の3つが挙げられます。

なりすまし防止

なりすまし防止

正規の配布元になりすました偽物のソフトウェアが配布・流通し、企業イメージがダウンするのを防ぎます。

改ざんソフトウェアの被害防止

改ざんソフトウェアの被害防止

マルウェアなどが仕込まれた改ざんソフトウェアが再配布されるのを防ぎます。

正規の配布元を証明

正規の配布元を証明

正規の配布元であることを証明し、ソフトウェアのインストール率・ダウンロード率増加に結びつけます。

署名と検証の仕組み

署名(配布側)の流れ

コードサイニング署名(配布側)の流れ

  1. コードサイニング証明書取得
  2. 配布するコードからハッシュ値を生成
  3. 配布元によるハッシュ値の暗号化(=デジタル署名)
  4. 配布するコード、デジタル署名されたハッシュ値、配布元のコード署名証明書を含む配布パッケージの作成
  5. 配布

※ハッシュ値:あるデータをハッシュ関数を使って演算した結果。同じ元データからは同じハッシュ値が得られ、少しでも異なるデータからは同じハッシュ値が得られる可能性はほとんどありません。また、ハッシュ値とハッシュ関数から元データを算出することはできません。

検証(受信側)の流れ

コードサイニング検証(受信側)の流れ

  1. 受信
  2. 証明書の有効性を検証
  3. 証明書から配布元の公開鍵を取得
  4. 配布元の秘密鍵で暗号化(デジタル署名)されたハッシュ値情報を復号
  5. 受け取ったコードからハッシュ値を生成
  6. 受け取ったコードから生成したハッシュ値と復号されたハッシュ値を突合し、同一であれば改ざんされていない

【関連情報】電子署名・暗号化の仕組み

電子署名は電子証明書の利用方法の一つで、実社会でのサインや印鑑に相当します。通常、電子署名をする場合は、電子証明書が含まれます。 電子証明書が実社会における「印鑑証明書」なら、電子署名は「印鑑」と同じ役割を果たしています。また暗号化は、データを第三者にとって意味をなさない値に変換します。これにより、万が一途中でデータを盗聴されても、暗号化されたデータは解読されず、改ざんされたり悪意ある第三者に内容が知られることはありません。

電子署名・暗号化の仕組み

Microsoft SmartScreenとは

SmartScreen対応Microsoft Smartscreenとは、IE8以降またはWindows8・Windows RTにてソフトウェアの信頼性を評価するシステムです。この評価システムの内容にしたがって、評価を確立されていないソフトウェアをダウンロードする場合、またはインストールする場合には警告またはブロックし、ユーザを危険性の高いソフトウェアから守ります。
EVコードサイニング証明書を利用して署名されたソフトウェアは、発行元の評価が確立していない場合でもSmartScreenにブロックされなくなります。

Microsoft SmartScreenとは

Microsoft Windows10のドライバポリシーとは

Microsoft Windows10MicrosoftからリリースされたWindows10により、カーネルモードとユーザモードに使われるドライバについて重大なポリシー変更がありました。 Windows10はよりセキュアな環境をユーザに提供するために、EVコードサイニング証明書を取得した開発者のドライバのみ、Windows公式のドライバ登録ページに提出が可能となりました。
これにより、不明な開発者や悪意のあるドライバの被害からユーザを守ることができるとされています。

Microsoft Windows10のドライバポリシーとは

署名の確認方法・警告表示例

ソフトウェアに電子署名が無かったり自己署名がされている場合、ダウンロード時やアプリケーションの実行時に警告表示され、正規のソフトウェアであってもユーザは安心して利用することができません。
各アプリケーションの署名の確認方法と警告表示例を紹介します。

警告表示

【関連情報】PKI・電子証明書入門

PKIと公開鍵・共通鍵・鍵長とは?

公開鍵と秘密鍵

PKI(公開鍵暗号基盤)は、公開鍵と秘密鍵のキーペアからなる公開鍵暗号方式という技術を利用し、インターネット上で安全にやりとりを行うセキュリティのインフラ(基盤)のことです。

電子証明書とは

電子証明書とは

電子証明書は、電子の世界で持ち主の情報を証明することができます。電子証明書を導入することで、「なりすまし」「改ざん」「事後否認」「盗聴」といったリスクを未然に防ぎます。

認証局(CA)とは?

電子証明書とは

認証局(CA:Certification Authority)の役割は、電子証明書を発行することと、失効させることです。

ページのトップへ戻る