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

5.PKI

CAとは、スチュワーデスを意味するCabin Attendantではなく、認証局(CA:Certification Authority)のことです。

では、認証局(CA)の役割はなんでしょう。2つ覚えてください。
証明書を発行すること
CRL(失効リスト)を発行すること。

過去問(H21AP秋午前問39)を見てみましょう。
問39 公開鍵暗号方式を採用した電子商取引において、認証局(CA)の役割はどれか
ア 取引当事者の公開鍵に対するディジタル証明書を発行する。
イ 取引当事者のディジタル署名を管理する。
ウ 取引当事者のパスワードを管理する。
エ 取引当事者の秘密鍵に対するディジタル証明書を発行する。
正解はアです。先ほどの記事でも述べたとおり、証明書は「公開鍵の証明書」であることを強く認識しておいてください。
加えて、CRLを発行することも認証局(CA)の役割です。過去問(H28秋SG午前問29)では、「PKI(公開鍵基盤)における認証局が果たす役割」として、「失効したディジタル証明書の一覧を発行する」とあります。
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などで証明書が郵送されてきたら、それを本人がしっかり管理しないと、盗まれたら誰でもがインストールできてしまう。あまりいい配布方法ではない。

企業の社会的責任のCSR(corporate social responsibility)ではなく、証明書のCSRについてである。
CSR(Certificate Signing Request)はスペルから分かるように、証明書の署名要求である。
実際には証明書を発行してもらうのだが、証明書の内容は自分で決めるため、単に「署名してください」とお願いしているだけとも考えられる。だから、署名要求(Signing Request)なのである。

過去問(H25AP秋午後問8)にこれらに関する問題があるので紹介する
〔WebサイトでHTTPSを使用するための準備〕
 HTTPSを使って通信するためには,「aを取得する必要がある。[  a  ]の申請には,識別名(Distinguished Name)が必要になる。識別名は,国コード,都道府県名,市区町村名,組織名,部署名,コモンネーム(SSL接続するサイトのFQDN)から構成される。A社では, SSL通信を行うWebサイトのURLを “https://.www.a.co.jp/member/"とし,識別名を表1のように決定した。

表1 A社の識別名
識別名を構成する項目  値
国コード(Country)   JP
都道府県名(State)  Tokyo
市区町村名(Locality)   Bunkyo-ku
組織名(Organizational Name)  A Japan K.K.
部署名(Organizational Unit)  User Support
コモンネーム(Common Name)  [   b   ]

 A社のWebサイト管理者は,識別名を決定し,コモンネームの重複がないことを確認した後,証明書署名要求(CSR : Certificate Signing Request)を生成し,認証局に申請することで[  a  ]を取得した。証明書署名要求には,識別名と[  c  ]が含まれており,認証局から取得した「aを機器に導入する際には,[  c  ]とペアを成す[  d  ]が必要になる。[  a  ]と[  d  ]を機器に導入し,HTTPSでのアクセスが可能になるよう設定した。

正解は、以下である。
a SSLサーバ証明書
b www.a.co.jp
c 公開鍵
d 秘密鍵

〔本システムの概要〕
(1) 本システムは、ディレクトリサーバ、認証局サーバ、社員ごとのPC及びIC社員証カード(以下、ICカードという)から構成される。
(2) ディレクトリサーバでは、社員の公開鍵証明書や電子メールアドレスなどの属性情報の登録及び検索が行われる。
(3) 本システムでは、プライベート認証局を使用している。
(4) ICカードには、社員個人の秘密鍵、公開鍵証明書及びPIN(Personal Identification Number)が格納されている。社員が本システムを利用する際には、自分のICカードをPCのICカードリーダに挿入し、ICカードのパスワードであるPINを入力する。
(中略)
〔新規発行〕
システム管理者が、社員AにICカードを新規に発行する場合の処理の流れは、次のとおりである。
(1) システム管理者は、認証局サーバで、【 a 】と【 b 】の対を生成する。
(2) 認証局サーバは、【 b 】と社員名や有効期間などを結び付けた情報に【 c 】で署名し、【 d 】を生成する。
(3) 認証局サーバは、【 d 】をディレクトリサーバに登録する。
(4) 認証局サーバは、新規のICカードに、生成した【 a 】と【 d 】、及び事前申請されたPINを記録する。
(5) システム管理者は、社員AにICカードを配付する。
問題1
【 a 】~【 d 】に入る言葉は何か?
この問題は、H21秋AP問9を改題した。PKIの理解を深めるのに手頃だと感じた。
しかし、問題文が少し長い。問題文が長くなると急に苦手になる人が多いようだ。

参考までに、PINは、ICカードが万が一盗まれたり、紛失したときでもPIN(パスワード)を知らないと利用できない。つまり、セキュリティ向上のためのものである。
929c854c 
なるほど。PINについては分かりました。
では、別の質問です。
ICカードに、自分の秘密鍵を入れるんですね?
これは、どういうときに必要なのですか?


たとえば、以下の2つである。
(1) 電子メールを送るときに、自分の秘密鍵にて暗号化する。
(2) 電子メールを送ってもらうときに、自分の公開鍵で暗号化してもらい、復号するときに使う。

では、問題。
(1)と(2)によりセキュリティ上のどんな効果があるか?

解答例
(1) 電子メールを受け取った人が、送信者の公開鍵で復号に成功すれば、送信者の正当性が確認できる。つまり、なりすまし防止。
(2) 電子メールを復号できるのは、秘密鍵を持っている自分だけである。つまり、電子メールの暗号化による盗聴防止。

さて、前置きが長くなったが、この問題の答えは以下である。
a:社員Aの秘密鍵
b:社員Aの公開鍵
c:認証局の秘密鍵
d:社員Aの公開鍵証明書

なぜ、パスワード認証が、公開鍵認証に比べて安全性が低いのでしょうか。
情報セキュリティスペシャリスト試験を目指す女性SE 

パスワードは覚えられますが、公開鍵は覚えられません。
単純なパスワードなら推測されたり漏れたりしますが、公開鍵ならそれは無理です。
だから、当たり前ですよね。
その通り。でも、それだけではありません。
H29秋FE午後問1設問4を見てみましょう。
なお、③”パスワード認証”は、”公開鍵認証”に比べて、安全性が低いと考えられている

設問4 本文中の下線③のように考えられている理由として適切な答えを,解答群の中から選ぺ。

解答群
ア “パスワード認証”では,サーバが攻撃者に乗っ取られていた場合,送信したパスワードを攻撃者に取得されてしまう。
イ “パスワード認証”では,正当なサーバとは異なるサーバに接続させられてしまっても利用者が気づけない。
ウ “パスワード認証”では,パスワードだけを用いるが,“公開鍵認証”では,パスワードの他にディジタル署名も用いる。
エ “パスワード認証”では,利用者のパスワードが平文でネットワーク上を流れるので,盗聴されるとパスワードを取得されてしまう。
“パスワード認証”では,サーバが攻撃者に乗っ取られていた場合,送信したパスワードを攻撃者に取得されるリスクがあります。一方の公開鍵認証の場合、サーバには秘密鍵は存在しません。盗まれても困らない公開鍵しかないので、このようなリスクは存在しないのです。
よって、選択肢アが正解です。

社員が社外から社内システムにリモートアクセスをする環境を作ります。そのため、SSL-VPN装置(リバースプロキシサーバ)を導入しました。
セキュリティを保つ観点から、証明書を使った認証をすることにしました。社員のPCと、SSL-VPN装置に、それぞれ2つの証明書を入れます。
その証明書はなんでしょうか。また、その目的は?

情報セキュリティスペシャリスト_pki


この環境にて、どんなセキュリティを保てばいいでしょうか。
SSL通信をしますから、暗号化通信はされています。冒頭にあるように、証明書を入れますから、認証の観点で考えます。

まず、クライアントの立場で考えましょう。
クライアントは、正規のサーバに接続したいと考えます。偽装されたオンラインバンキングに接続して、IDパスワードを盗まれるという事件があるように、情報漏えいをしないためです。
そのため、サーバのサーバ証明書を確認します。ですから、SSL-VPN装置には、サーバ証明書が必要です。
では、そのサーバ証明書が正しいかを確認する必要があります。
そのためには、CAのルート証明書が必要です。
よって、クライアントPCにはルート証明書が必要です。

次に、サーバの立場で考えましょう。サーバは、不正なPCを接続させたくありません。IDパスワード認証に加え、証明書での認証をするのです。そのとき、クライアントが正規のものかを確認するために、クライアント証明書を見せてもらいます。よって、クライアントにはクライアント証明書を入れます。SSL-VPN装置は、そのクライアントが正しいかをチェックする必要があります。そのために必要なのが、CAのルート証明書です。

【解答】
①サーバ
 サーバ証明書
 CAのルート証明書

②クライアントPC
 クライアント証明書
 CAのルート証明書

問2 XMLディジタル署名の特徴はどれか。
ア XML文書中の,指定したエレメントに対して署名することができる。
イ エンベローピング署名(Enveloping Signature)では一つの署名対象に必ず複数の署名を付ける。
ウ 署名形式として,CMS (Cryptographic Message Syntax)を用いる。
エ 署名対象と署名アルゴリズムをASN.1によって記述する。 (H22春SC午前Ⅱ)

XMLディジタル署名とは、XML文書に対するディジタル署名の仕様だ。
XML文書全体だけでなく、特定の部分に関しても署名することができる。
正解はア。

もう一問
問2 XML署名において署名対象であるオブジェクトの参照を指定する表記形式はどれか。
ア OIDの形式
イ SSIDの形式
ウ URIの形式
エ ディジタル証明書のシリアル番号の形式(H26春SC午前Ⅱ)

正解はウ

このページのトップヘ