連載 [第26回] :
  月刊Linux Foundationウォッチ

SigstoreコミュニティがGAを発表、OSSのベストプラクティスを学べる新トレーニング「オープンソース管理と戦略」日本語版をリリース

2022年11月30日(水)
吉田 行男

こんにちは、吉田です。今回も、Linux Foundationから発表された、注目の取り組みを紹介します。

SigstoreコミュニティがGAを発表

Linux Foundation(LF)傘下の団体としてオープンソースの安全性の向上を推進する「Open Source Security Foundation」(OpenSSF)は、10月に米国デトロイトで開催されたSigstoreConで、コンテナなどソフトウェアの成果物に対する業界標準の電子署名サービス「Sigstore」がバージョン1.0に到達したことを発表しました。Sigstoreは、ソフトウェア開発者が構築および使用しているソフトウェアの署名、検証、チェックを容易にすることで、サプライチェーンのセキュリティを向上させるように設計されています。

【参照】Sigstore Announces General Availability at SigstoreCon
https://openssf.org/press-release/2022/10/25/sigstore-announces-general-availability-at-sigstorecon/

すべてのソフトウェアがどこから来たのか分からないということは、サービスの完全性に対するリスクを発見しにくいことを意味します。オープンソースの依存関係は、常に身元を確認し、鍵や秘密に対する安全策を講じなければ、侵入、悪用、サプライチェーン攻撃への扉を開いてしまう可能性があります。

昨年のLog4Shell以来、ソフトウェア・サプライチェーンのセキュリティに関する懸念が高まる中、Sigstoreは歴史上最も早く採用されたオープンソース技術の1つになりつつあります。現在までに400万件以上の署名がSigstoreを使用して記録されており、世界最大のオープンソースコミュニティであるKubernetesとPythonは、Sigstoreを使用して製品リリースに署名することにより、Sigstoreの信憑性のある証明書を採用しました。直近では、npmがSigstoreの統合に積極的に取り組んでいることを発表し、すべてのnpmパッケージがそのソースコードやビルド手順に確実にリンクされるようになりました。

●Sigstoreとは

Sigstoreはソフトウェアの成果物(Artifact)に署名するためのCosign、OpenID Connect(OIDC) IDを用いるための認証局Fulcio、署名データを改ざん不可能な台帳に記録するRekorなどのOSSによるツール群で構成されています。

Fulcioはコード署名に特化したルートCA(認証局)。OpenID Connect(OIDC) IDと紐づけた証明書を発行し、多くの場合は開発者が所有する既存のIDを使用します。

Cosignは鍵ペアの生成やコンテナイメージなどのArtifactへの署名、コンテナレジストリへの保存をシームレスにサポートします。クラウドネイティブ環境では公開鍵を使ってコンテナの署名を検証し、出どころの信頼性を確認できます。コンテナイメージを作成する際に電子署名を行い、使用前に署名を検証するという手法は、Cloud Native Computing Foundation(CNCF)の「Cloud Native Security Whitepaper」でも重要なベストプラクティスの1つとして取り上げられています。

Rekorはソフトウエアの開発や修正を行う中で証明書や署名データを改ざん不可能な台帳に記録する機能を実現します。開発者側にとっては、透明性ログを通じてソフトウエアの来歴を明確にできます。利用者はこのログに記録されたメタデータに基づいてソフトウエアのライフサイクルの正当性を判断できるようになります。

●Sigstoreのエコシステム

  1. まず、署名を行うようsigstoreに指示します。Fulcioを使用して、sigstoreはルート認証局(CA)からの証明書を要求します。これにより、OpenID Connect を使用している本人であることを確認します。OpenID Connectは電子メールアドレスを調べ、作成者であることを証明します。Fulcioはタイムスタンプ付きの証明書を発行します。これは、サインインしていることと、それがあなたであることを示す方法です。
  2. 自分でキーを操作する必要はなく、sigstoreが秘密キーを取得することはありません。Cosignが作成する公開鍵は証明書にバインドされ、署名の詳細はsigstoreのトラストルート、鍵とトラスティのより深い層、および信頼性を確認するために使用するものに保存されます。
  3. その後、証明書はsigstoreに返され、そこでsigstoreがキーを交換し、IDをアサートし、すべてを承認します。署名にはハッシュ自体、公開鍵、署名の内容、およびタイムスタンプが含まれます。これはすべてRekor透明性ログにアップロードされるため、誰でも、そこに出力したものが本物であるために必要なすべてのチェックを通過したことを確認できます。

トレーニング & 認定プログラム
「オープンソースの管理と戦略」の日本語版をリリース

経営陣からソフトウェア開発者まで、組織のあらゆる人がOSSのベストプラクティスを学べる新トレーニング「オープンソース管理と戦略」日本語版がリリースされました。

【参照】Great News for Japanese Language Users and Developers of Linux
https://training.linuxfoundation.org/blog/great-news-for-japanese-language-users-and-developers-of-linux/

これまで英語で提供してきた「Open Source Management & Strategy」を日本語で受講できるようにしたもので、7つのコースで構成されています。経営者、管理者、ソフトウェア開発者、エンジニアが、組織内で効果的なオープンソースプラクティスを構築するための基本的な概念を理解できるように設計されています。

プログラムに含まれる7つのコースは、次の通りです。

  1. オープンソース入門(LFC202-JP)
    オープンソースとオープンスタンダードの基本要素
  2. オープンソースビジネス戦略(LFC203-JP)
    さまざまなオープンソースビジネスモデルと、それぞれの具体的な戦略とポリシーの策定方法
  3. 効果的なオープンソースプログラム管理(LFC204-JP)
    効果的なOSPOを構築する方法と、それを実行するために必要なさまざまな種類の役割と責任
  4. Open Source Development Practices(LFC205-JP)
    健全なオープンソースプロジェクトにおける継続的インテグレーションとテストの役割
  5. オープンソースコンプライアンスプログラム(LFC206-JP)
    効果的なオープンソースライセンスコンプライアンスの重要性、オープンソースを安全かつ効果的に使用できるようにするプログラムとプロセスの構築方法
  6. オープンソースプロジェクトとの効果的なコラボレーション(LFC207-JP)
    上流のオープンソースプロジェクトと効果的に連携する方法、プロジェクトコミュニティと連携して最大限の利益を得る方法
  7. オープンソースプロジェクトの設立(LFC208-JP)
    新しいオープンソースプロジェクトを作成する理由と価値、新しいプロジェクトを開始するために必要な法的プロセス、ビジネス プロセス、および開発プロセス

さまざまな現場で問題となっているリスキリングを支援したり、オープンソースを組織で利用・推進する際の戦略や管理を司るオープンソースプログラムオフィス(OSPO)設立方法の説明を含むなど、新たに組織のOSPOを任せられたリーダーにも役立つ内容になっているので、これから、または既にオープンソースを活用している企業がこれらのコースを活用することで、大きなメリットを得られるのではと思います。

2000年頃からメーカー系SIerにて、Linux/OSSのビジネス推進、技術検証を実施、OSS全般の活用を目指したビジネスの立ち上げに従事。また、社内のみならず、講演執筆活動を社外でも積極的にOSSの普及活動を実施してきた。2019年より独立し、オープンソースの活用支援やコンプライアンス管理の社内フローの構築支援を実施している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています