Cryptology Academy · レッスン

実際に使われる署名:コード署名とメール

S/MIME、PGP、そして配布用ソフトウェアへの署名方法を学びます。

レッスン 4/413 ステップ

「実際に使われる署名:コード署名とメール」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。

ようこそ

デジタル署名は、ソフトウェアの配布やメールによる通信を保護します。このレッスンでは、コード署名とメール署名が実際にどのように機能するかを詳しく見ていきます。

macOSのコード署名

Apple Developer証明書には、RSA/ECDSA公開鍵が含まれています。Xcodeは各アプリに対して、signature = Sign(SHA256(app_bundle), dev_private_key)という署名を行います。macOSのGatekeeperは起動前に検証します。

Windows Authenticode

Windows AuthenticodeはPE実行ファイルに署名します。署名はバイナリに埋め込まれます。Windowsは実行前に、Microsoftの信頼されたルートストアに照らして署名チェーンを確認します。

APK署名(Android)

Androidアプリは開発者のキーストアを使って署名されます。APK v2/v3署名はファイル全体を対象にします。Google PlayではPlay App Signingが必要であり、Googleがアップロード鍵と署名鍵を保持します。

npmパッケージの署名

npmは現在、provenance attestationをサポートしています。各パッケージには、GitHub Actions OIDCによって署名されたSLSA provenanceステートメントが含まれます。これはパブリッシャーの身元だけでなく、ビルドパイプラインを検証します。

Gitの署名付きコミット

git config --global user.signingkey YOUR_KEY_ID git commit -S -m 'signed commit' 署名付きコミットには、コミットハッシュのPGP/GPG署名が含まれます。GitHubでは「Verified」バッジが表示されます。

S/MIMEメール署名

S/MIMEは、CA(Comodo、DigiCertなど)が発行したX.509証明書を使ってメールに署名します。OutlookとApple Mailは署名を自動的に検証します。署名の対象にはヘッダーと本文が含まれます。

メールでのPGP/GPG

PGPはCAの代わりにWeb of Trustを使用します。鍵ペアを生成し、公開鍵を鍵サーバーへアップロードします。受信者は鍵を取得して検証します。オープンソースコミュニティで広く使われています。

DKIMメール認証

DKIMは、ドメインの秘密鍵を使って送信メールのヘッダーに署名します。公開鍵はDNS(TXTレコード)に公開されます。受信サーバーは署名を検証して、なりすましを検出します。

ソフトウェア更新の署名

OSの更新パッケージには、ベンダーが署名したマニフェストが含まれます。適用前に、マニフェストをダウンロードして署名を検証し、各ファイルをハッシュ化してマニフェストと比較します。一致しないものが1つでもあれば拒否します。

Dockerイメージの署名:Cosign

Sigstore/Cosignは、クラウドKMSに保存されたECDSA鍵を使ってコンテナイメージに署名します。署名はOCIレジストリに保存されます。Kubernetesのアドミッションコントローラーで、署名済みイメージだけを許可するよう設定できます。

理解度チェック

DKIMはメールについて何を検証しますか?

まとめ

コード署名とメール署名は、あらゆる場面でデジタル署名に依存しています。次は、PKIと認証局、つまりこれらすべてを支える信頼基盤について学びます。
無料で開始

AI チューターと学ぶ Cryptology Academy — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
67
レッスン
261

よくある質問

「実際に使われる署名:コード署名とメール」レッスンは無料ですか?

はい。「実際に使われる署名:コード署名とメール」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。

「実際に使われる署名:コード署名とメール」で何を学びますか?

S/MIME、PGP、そして配布用ソフトウェアへの署名方法を学びます。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cryptology Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「実際に使われる署名:コード署名とメール」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCryptology Academyレッスンでコードを書いて実行できますか?

はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. デジタル署名とは
  2. RSA署名:署名と検証
  3. DSAとECDSAの署名方式
  4. 実際に使われる署名:コード署名とメール
← Cryptology Academyに戻る