インターネットセキュリティ脅威レポートによれば、2012 年には、世界全体で 5 億 5,600 万人の成人ユーザーがサイバー犯罪による被害を何らかの形で経験しました。サイバー犯罪 1 件あたりの平均損害額が 197 米ドルであることを考えると、インターネットから実行可能ファイルをダウンロードすることに人々が非常に慎重なのは不思議ではありません。
これを踏まえて考えると、ユーザーの信頼を得るために必要なことは何でもしてみる価値があります。オンライン配布は、ソフトウェアの更新をより迅速に配布し、潜在的な顧客ベースを拡大できることを意味します。また、送料が不要のほか、ディスクやパッケージを作成する必要もないため、コストを大幅に削減できます。コードの作成者として、作成者の身元が確かなことと、コードが破損していたり悪質なものであったりする可能性はまったくないことを、非常に簡単に証明できます。 実際に、サードパーティパブリッシャーやモバイルネットワークプロバイダの多くは、自社のユーザーを保護するためにコードサイニングを強く要求するようになっています。
コードサイニング証明書のプロセスは、SSL/TLSサーバ 証明書で使われるプロセスと似ています。作成者とコードの両方を識別して認証するために、公開鍵と秘密鍵の 1 対の暗号化鍵が利用されます。秘密鍵を入手する最善かつ最も安全な方法は、デジサートなどの信頼された認証局に証明書を申請することです。認証プロセスは、こうした 認証局によって案内されます。いったん証明書を用意すれば、その後は秘密鍵を生成できます。CA の選択は、ソフトウェアを配布できる範囲に影響する可能性があるため重要です。たとえばデジサートは、Windows Phone や Android を含め、デスクトップとモバイルの幅広いプラットフォームに向けて証明書を提供しています。 コードの作成元は次に、この秘密鍵を使って実行可能ファイルやソフトウェアのライブラリに署名します。これらは、ほとんどのブラウザにプリインストールされている認証局までたどることができる公開鍵によってのみロックを解除できます。署名後にコードが改ざんされた場合、秘密鍵の署名が本物であることが公開鍵では確認できなくなり、ブラウザでは、そのコードをダウンロードしようとするすべてのユーザーに警告が表示されます。コードに変更がない場合は、ファイルのダウンロードと提供がシームレスに行われます。非常に簡単です。
コードサイニング証明書は、ソフトウェアやアプリケーションに追加されるデジタル証明書で、署名後に、ソフトウェアやアプリケーションに含まれるコードが改ざんされていないことを確認します。
データシート脅威インテリジェンスについて Twitter @Threatintel をフォロー
YouTube チャンネルでデジサートのビデオを見る