公開鍵基盤
証明書で信頼を確立します
「公開鍵基盤」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。
PKIとは
公開鍵基盤(PKI)とは、デジタル証明書を作成、管理、検証するためのポリシー、役割、ハードウェア、ソフトウェアの仕組みです。
その中心的な役割は、検証済みのアイデンティティ(Webサイト、人、サーバー)に公開鍵を結び付け、他者が信頼できるようにすることです。
信頼の問題
公開鍵暗号では、誰でも公開鍵を公開できます。しかし、その鍵が本当にbank.comのものなのか、それとも攻撃者のものなのか、どうすれば確認できるでしょうか?
PKIは、信頼できる第三者が証明書に署名して鍵を保証することで、この問題を解決します。
デジタル証明書
デジタル証明書は、公開鍵をアイデンティティに結び付けます。次の情報が含まれます:
- サブジェクトの名前(例:ドメイン)
- サブジェクトの公開鍵
- 発行者(署名した認証局)
- 有効期間
- 発行者のデジタル署名
X.509標準
ほとんどの証明書はX.509標準に従っています。OpenSSLを使って証明書を確認できます。
openssl x509 -in cert.pem -noout -textPKIにおける鍵ペア
すべての証明書は非対称鍵ペアに基づいています:
- 秘密鍵はサーバー上で秘密に保管されます。
- 公開鍵は証明書内で共有されます。
秘密鍵で署名されたデータは公開鍵で検証でき、その逆も同様です。
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key署名によって信頼が構築される仕組み
認証局は証明書データをハッシュ化し、そのハッシュ値を自身の秘密鍵で暗号化します。これが署名です。
認証局の公開鍵を持つ誰もが署名を検証でき、証明書が改ざんされていないことを確認できます。
PKIにおける役割
PKIには、いくつかの役割があります:
- 認証局(CA)は証明書を発行して署名します。
- 登録局(RA)は発行前にアイデンティティを検証します。
- 証明書リポジトリは証明書を保管して配布します。
- 依拠当事者は証明書を信頼して使用する人や組織です。
トラストアンカー
信頼は、オペレーティングシステムやブラウザーにあらかじめインストールされた、自己署名のルート証明書から始まります。
このルート証明書がトラストアンカーです。ルートを信頼すれば、ルートが正しく署名したものをすべて信頼できます。
証明書署名要求
証明書を取得するには、公開鍵とアイデンティティを含む証明書署名要求(CSR)を生成し、CAに送信します。
openssl req -new -key private.key -out request.csr \
-subj '/CN=example.com/O=Example Inc'PKIの利用分野
PKIは、さまざまな場面で使われています:
- 安全なWeb通信のためのHTTPS / TLS
- ソフトウェアの真正性を証明するコード署名
- S/MIMEによるメールセキュリティ
- VPNとデバイス認証
PKIのライフサイクル
証明書には、申請、発行、配備、更新、失効という一連のライフサイクルがあります。
適切なPKI運用では、有効期限を追跡し、侵害された鍵を迅速に失効させます。放置された証明書はセキュリティリスクになります。
理解度チェック
PKIの主な目的は何ですか?
まとめ
PKIは、デジタル証明書を使って公開鍵とアイデンティティを結び付ける仕組みだと学びました。
- 信頼は、あらかじめインストールされたルート証明書から始まります。
- CAが証明書に署名し、依拠当事者が署名を検証します。
- 証明書はX.509標準に従い、一連のライフサイクルを持ちます。
次は、これらの証明書を発行する認証局について見ていきます。
よくある質問
「公開鍵基盤」レッスンは無料ですか?
はい。「公開鍵基盤」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。
「公開鍵基盤」で何を学びますか?
証明書で信頼を確立します ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cyber Security Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「公開鍵基盤」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCyber Security Academyレッスンでコードを書いて実行できますか?
はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。