ソフトウェアの信頼性確保のためのコードサイニング証明書の新基準
DigiCert(デジサート)は、信頼される認証局事業者を目指すTLS(SSL)/PKI ベンダーのリーダーで、日本ではデジサートジャパン合同会社の名で活動している。シニアセールスエンジニアの中村圭祐氏は証明書の役割と、コード署名用証明書(コードサイニング証明書)の重要性について語った。
暗号化(情報漏えい防止)、署名(改ざん防止)、認証(なりすまし防止)の3つの機能を有している。サーバー証明書はサービスの信頼性を確認するために用いられる一方で、コードサイニング証明書は、ユーザーにそのアプリケーションが信頼性のあるものであることを示すために用いられる。ソフトウェアの配布がデジタル化された現代において、この証明書はコードの真正性を示す重要なメカニズムとなっている。
中村氏は、さまざまなソフトウェア署名セキュリティインシデントの事例を紹介した。PCメーカーASUSのBIOS改ざん検知機能のマルウェア被害や、それによる海運企業での大規模な再インストール被害、ソーラーウインズ社のサプライチェーン攻撃などが挙げられた。特にソーラーウインズ社の攻撃後に米国政府は、「国家のサイバーセキュリティ強化について」という大統領令を発布し、ソフトウェアのコンポーネント情報(SBOM)の提出が求められるようになった。また、コロニアルパイプラインへのランサムウェア攻撃など、社会全体に影響を与える事件が増えており、それに伴い対策としてのポリシーやフレームワーク策定の必要性が高まっている。
中村氏は、多くのインシデントで証明書の秘密キーが安全でない場所に保存されていたと説明。この課題を解決するために認証局ブラウザフォーラム(CA/ブラウザフォーラム)がコードサイニング証明書の基準を改定。新基準では、秘密キーは認定ハードウェアに保存することが求められ、2023年6月1日から適用された。CA/ブラウザフォーラムは、デジサートをはじめとする認証局、インターネットブラウザ、安全な電子メールソフトウェア、オペレーティングシステム、その他のPKI対応アプリケーションのベンダーが集まって、業界ガイドラインを公布する自発的なコンソーシアムだ。
コードサイニング証明書の新基準により、ファイル形式での証明書のやり取りや従来のコード署名プロセスの使用が禁止され、ソフトウェア開発チームへ大きな影響が出ている。特に、自動化技法CI/CDを行う開発チームにとって大きな問題となっていると指摘した。