情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。
カテゴリ:

5.PKI > 5.3 電子証明書

情報処理技術者試験やインターネットにおける“証明書”とは何の証明書か
11d7b807
卒業証書は、「卒業したこと」を証明するもの。
運転免許証は、「運転する技能があること」を証明するもの。
インターネットの証明書は、なんだろう? 個人やサーバを証明するもの???



サーバ証明書や、クライアント証明書は、サーバであったりクライアントの証明であるが、その何を証明するのだろうか? そこがポイント。
情報処理技術者試験やインターネットにおける“証明書”とは、“公開鍵証明書”を意味する。この点に関して違和感を覚える人がいるかもしれない。しかし、インターネットの世界で安全な通信をするには公開鍵が重要な役割を持つ。公開鍵の真正性と完全性を保証するために公開鍵証明書が必要である。

過去問(H27年秋IP問83)でも、「PKIにおいて,電子証明書が正当性を証明しているものはどれか」という出題がありました。当然、正解は「公開鍵」です。

証明書には、ルート(CA)証明書、サーバ証明書、クライアント証明書の3つがある。
ルート(CA)証明書
 認証局であるCAの公開鍵を証明する証明書
サーバ証明書
 サーバの公開鍵を証明する証明書
クライアント証明書
 クライアント(PC)の公開鍵を証明する証明書
ディジタル証明書の3つ
たとえば、IPAのサイトでサーバ証明書を見てみよう。試験を申し込むときは、HTTPSによるSSLの通信を行う。
ipa
HTTPSの場合、上記のように鍵のマークがつく。
ルート証明書による確認が行われ、確認ができない場合はメッセージが出るが、そうでない場合はメッセージがでない。証明書1 
これはサーバが正当であることを証明するサーバ証明書である。
利用者が不正なサーバ(サイト)でないことを確認するもの。不正なサイトにクレジット番号を入力したら困る。それを防ぐためのものである。
情報セキュリティスペシャリスト試験を目指す女性SE
サーバ証明書の目的は分かりました。たぶんクライアント証明書も同じだと思います。ルート(CA)証明書は何に使うのですか? 
確かにそうだね。認証局(CA)と通信することはないから、証明書を確認するタイミングがないね。
認証局(CA)の証明書の目的は、サーバ証明書やクライアント証明書のディジタル署名を照合するときに、CAの公開鍵が必要になる。署名の照合に関しては、ディジタル署名の記事を確認いただきたい。

証明書の基本的な構造は、次の2つからなる。
①証明書
②ディジタル署名

証明書はX.509に準拠したフォーマットになっており、簡略化すると以下になる。
・・・
・・・
・・・
有効期限
所有者の情報(サブジェクト)
公開鍵
・・・・・
←証明書部分
※暗号化されていない
証明書のダイジェストを認証局(CA)の秘密鍵で暗号化したもの
←CAによるディジタル署名
※暗号化されている


実際に、証明書の中身を自分でも確認しよう。教科書に載っている内容と合致しているか確認すると、理解が深まる。
証明書2




















証明書のパスにより、ルート証明書も確認できる。
証明書3




















dcf52feb


ちなみにですが、ルート証明書が正しいかどうかは、
どうやって確認するのでしょうか?


ブラウザが管理している。ブラウザにウイルスが侵入したり、ブラウザを提供している会社が詐欺を働いたら、我々は騙されることになる。でも、ブラウザを信用するしかない。
でも、きちんと管理されていると思う。たとえば、ルート証明書が正しくないと分かった場合、WindowsUpdateなどにより、ルート証明書の失効リストが取得される。

電子証明書は、元の文書である証明書部分にディジタル署名を付与したものである。
では、署名をするのは誰か?3つ証明書それぞれで考えてほしい。
情報セキュリティスペシャリスト試験を目指す女性SE

本当は即答しなければいけないんでしょうが、
ちょっと考えちゃいますね。
証明書の種類ディジタル署名をする人
クライアント証明書
サーバ証明書
CA証明書

理由を考えながら解くとよい。
例えば、サーバ証明書は誰が署名をするのか?
サーバ(またはその持ち主)が自ら署名したらどうなるか?
悪意のある人が自分で署名し、「おれのサーバ証明書は正しい」と主張することになる。
このやり方では、正規のサーバ証明なのか、悪意のあるサーバ証明書なのかが分からない。
 正解は、全て認証局であるCAが署名する。参考までに、ルート証明書は、自分で自分を署名するので、自己署名と言われる。
 一方、ディジタル署名の電子商取引などの場合は、認証局であるCAではなく、署名者本人が署名するので注意が必要である。
署名_情報セキュリティスペシャリスト試験

CRL(Certificate Revocation List)とは、言葉の通り、証明書(Certificate)の失効(Revocation)のリスト(List)である。
問19 CRL (Certificate Revocation List)はどれか。
ア 有効期限切れになったディジタル証明書の公開鍵のリスト
イ 有効期限切れになったディジタル証明書のシリアル番号のリスト
ウ 有効期限内に失効したディジタル証明書の公開鍵のリスト
エ 有効期限内に失効したディジタル証明書のシリアル番号のリスト
(H24秋NW午前2)

正解はエ
イの有効期限が切れたものは、CRLに登録しなくても、有効期限をチェックすれば無効かどうかが分かる。

もう一問
問1 特定のCAが発行したCRL (Certificate Revocation List)に関する記述のうち,適切なものはどれか。
ア CRLには,失効された公開鍵証明書に対応する秘密鍵が登録される。
イ CRLには,有効期限内の公開鍵証明書のうち破棄されている公開鍵証明書と破棄された日時の対応が提示される。
ウ CRLは,鍵の漏えい,破棄申請の状況をリアルタイムに反映するプロトコルである。
エ 有効期限切れで無効になった公開鍵証明書は,所有者が新たな公開鍵証明書を取得するまでの間、CRLに登録される。 (H24秋SC午前2)

正解はイ

問39 公開鍵暗号方式を採用した電子商取引において、認証局(CA)の役割はどれか
ア 取引当事者の公開鍵に対するディジタル証明書を発行する。
イ 取引当事者のディジタル署名を管理する。
ウ 取引当事者のパスワードを管理する。
エ 取引当事者の秘密鍵に対するディジタル証明書を発行する。
(H21AP秋午前問39)
CAとは、スチュワーデスを意味するCabin Attendantではなく、認証局(CA:Certification Authority)のことである。
証明書の発行や証明書の失効を行う。正解はアです。先ほどの記事でも述べたとおり、証明書は「公開鍵の証明書」であることを強く認識してほしい。
601a33a7
確かベリサインなどが認証局の代表でしたっけ?





その通り。ベリサインは、公的な認証局の代表。
認証局には、公的な認証局と、企業などが独自で構築するプライベート認証局の2つがある。公的な認証局であれば、証明書の管理を全て任せられるというメリットがある反面、証明書の費用がかかるというデメリットがある。例えば、ベリサインであれば、1ユーザあたり、年間数千円の費用がかかり、大規模な企業になれば、かなりの費用になる。

IA(発行局)とRA(登録局)
過去問(H27年春SC午後Ⅱ問2)には、以下の記述がある。
証明書の発行に必要なCA(認証局)の機能のうち,IA(発行局)についてはJ社本社のプライベートCAを利用し,RA(登録局)についてはK工場が担当する。
細かいところは覚えなくていいが、RA(登録局)では、証明書発行の受付をし、IA(発行局)にて証明書の発行
(および失効)を行うことをぼんやりと覚えておこう。物理的に別サーバであることもあれば、同一サーバであることもある。

VA(Validation Authority)の役割として、「ディジタル証明書の失効状態についての問合せに応答する(H27春SC午前2問4)」とある。


受け取った電子証明書が正しいかどうか、本物であるかの有効性確認はどうやって行うか。
3つ答えよ。
漠然として難しい問題であるが、がんばって答えて欲しい。
3
確か、証明書にはディジタル署名がつけられていて・・・
その署名をCAの公開鍵で復号して確認したはず。
でも、3つって難しくないですか?



一つは正解。あと2つある。
H18SV午後1問4設問2(1)の問題文と解答を軸に解説する。
証明書が有効かどうかは次の3つで確認する。
署名値の照合
 ディジタル署名の照合。「証明書をハッシュしたもの」と「ディジタル署名をCAの公開鍵で復号したもの」が一致するか。これにより、公開鍵が本人のものであること(真正性)と改ざんされていないこと(完全性)が確認できる。

証明書の有効期限の確認
 証明書が有効期限内であるか。

証明書の失効確認
この設問の解答例としては、「失効情報の確認」「証明書の失効確認」と記載されている。CRL(Certificate Revocation List:失効リスト)を照合し、CRLに登録されていないか。
またはOCSP(Online Certificate Status Protocol)プロトコルを使った失効確認を行う。OCSPの方が、リアルタイム性が高いが、OCSPレスポンダと呼ばれるサーバを立て、なおかつ事前にCRLを取り込んでおかなくてはいけない。仕組みが整っていない場合が多い。
pki_ocsp_情報セキュリティスペシャリスト
OCSPに関する過去問(H25SC春午前2問3)
問3 PKIを構成するOCSP (Online Certificate status Protocol)を利用する目的はどれか。
ア 誤って破棄してしまった秘密鍵の再発行処理の進捗状況を問い合わせる。
イ ディジタル証明書から生成した鍵情報の交換がOCSPクライアントとレスポンダの間で失敗した際,認証状態を確認する。
ウ ディジタル証明書の失効情報を問い合わせる。
工 有効期限の切れたディジタル証明書の更新処理の進捗状況を確認する。

正解はウだ。

HTTPSでアクセスした場合、サーバ証明書に問題がある場合は、セキュリティ警告が表示される。
このような証明書の有効性の確認を、ブラウザが自動で実施している。
証明書の警告の詳細説明
1)「信頼されたルート証明機関」に登録されたCAから発行されているか
2)有効期限内であるか
3)証明書のCNとアクセスするURLが一致するか

実際の画面は以下である。
情報セキュリティスペシャリスト試験対策_IE6のセキュリティ警告
情報セキュリティスペシャリストを学習する剣持成子 
 
なるほど!
3)は別として、さきほどの記事証明書の有効性を確認する方法の①と②が1)と2)に対応していますね。



過去問(H23秋SC午後I問3設問2(2))でも、この点が問われた。
(2)サーバ証明書の検証においてブラウザが確認すべき内容のうち,中間者攻撃のような攻撃への対策となるものを二つ挙げ,それぞれ35字以内で述べよ。
答えは、以下である。
①サーバ証明書のコモンネームとアクセス先のホスト名が一致すること
②サーバ証明書がブラウザで信頼する認証局から発行されていること

クライアント証明書のインストール方法
専用Webサイトからダウンロードしてインストールしたり、郵送等で送られた証明書をダブルクリックしてインストールすることができる。

格納場所
インターネットエクスプローラの場合、「ツール」「インターネットオプション」「コンテンツ」「証明書」にて「個人」のタグに入る。
また、過去問(H22SC秋午前Ⅱ問15)では、「SSLで使用する個人認証用のディジタル証明書は、ICカードなどに格納できるので、格納場所を特定のPCに限定する必要はない」と述べられている。
15863853

メールとか、ダウンロードとか、FDに入れて郵送しようが、
電子証明書なんてコピーされたらおしまいじゃないですか?



そうだね。2つの観点で考えよう。
インストールされた証明書をコピーする
インストールする時点の証明書をコピーする

に関して、クライアント証明書などの場合、基本的にはエクスポートができないようになっている。
ただ、設定によってはエクスポートも可能で、その場合はコピーされたらおしまい。
ためしに、エクスポートしてみましょう。
「秘密鍵のエクスポート」ができないようになっていると思う。
これはコピーができないということだ。

に関して、最近では、WebシステムやActiveDirectoryなどから自動配布されることが一般的だ。その場合は、その本人が1回しかインストールできない。
FDなどで証明書が郵送されてきたら、それを本人がしっかり管理しないと、盗まれたら誰でもがインストールできてしまう。あまりいい配布方法ではない。

このページのトップヘ