情報処理安全確保支援士 - SE娘の剣 -

左門至峰による情報処理安全確保支援士試験に合格するためのサイトです。 過去問を引用しながら、試験に出る基礎知識を体系的かつ詳細に整理します。

ディジタル署名 ~ディジタル署名の目的

ネットワークスペシャリストを目指す女性SEハテナ 

ディジタル署名?それともデジタル署名?
試験センターの資料に、どちらでもいいとあります。
https://www.ipa.go.jp/shiken/syllabus/doe3um0000002djj-att/shiken_yougo_ver5_1.pdf
「外来語の仮名書きにおける長音符号を付けるか付けないかなどの表記は,規格・標準の分野などによって異なる場合があり(例 ステークホルダとステークホルダー,デジタルとディジタル),一定にすることは困難であるので,いずれの使用も可とする。」
ここ最近はデジタル署名との表記が増えています。

1.ディジタル署名の目的

7a536a8a

そもそも、ディジタル署名ってなんですか?
そこからお願いします。

「署名」とは「サイン」のことである。契約書にサインする場合や、クレジットカードで買い物をしたときにサインをする。あれと同じだ。

in2


左は、署名(手書きで名前を書く)と、捺印(印鑑を押す)の様子を図にしてみた。

ディジタル署名は、文字通りディジタルな署名であり、ITの世界の署名である。
機能や目的も全く同じと考えてよい。
では、ここで問題。

問題(H20秋FE午前 問64)
ディジタル署名の目的を述べよ。
ヒントは以下の①~③である。
「通信販売の電子商取引では、受発注における[ ① ]、[ ② ]、[ ③ ]によって販売業者又は利用者に被害が及ぶ危険性がある。この三つの防止に適用できるセキュリティ技術」






ディジタル署名の目的は以下の3つである。
①改ざん防止(完全性)
f:id:seeeko:20210612120309p:plain

②なりすまし防止(真正性)
f:id:seeeko:20210612120225p:plain

③否認防止
f:id:seeeko:20210612120405p:plain

参考ではあるが、情報処理安全確保支援士試験を含む情報処理技術者試験では、「デジタル署名」ではなく「ディジタル署名」と記載される。

2.ディジタル署名とサインは本当に同じか

6b2fb508
 
日常生活の署名(サインや押印)のIT版がディジタル署名と言われてますよね。本当に同じなんですか?なんか、全く別物にしか思えないんですけど。
実際に比較してみるのがいいでしょう。

  セキュリティ     サインや押印     ディジタル署名     備考
真正性 サインを筆跡鑑定すれば、本人がサインしたことが分かる
完全性 〇(or△) 契約書を修正するには、修正印が必要になる。
※ただ、契約書の修正は跡が残るが、追加だけであれば、できそうな気がして△かもしれないと思っている
否認防止 サインは他人ができない
暗号化 × × 書類にサインする場合、書類そのものは暗号化されていない

このように、セキュリティ機能はほぼ同じです。
ここで大事なのは、実際の署名と、ディジタル署名が厳密に同じかどうかではありません。身近な技術と比較しながら覚えることで、ディジタル署名の本質を理解することです!

3.ディジタル署名の検証方法

ディジタル署名は、元データのハッシュ値を、署名鍵で暗号化します。ディジタル証明書の場合ですと、署名鍵は「CA(認証局)の秘密鍵」です。

ディジタル署名が正規なものかを検証する方法は、以下です。
①受け取ったデータをハッシュする。
②ディジタル署名を検証鍵(送信者の公開鍵)で復号する。
③上記の①と②が一致するかを確認する。(一致すれば正規の署名)
PKI

過去問(H19SW午後Ⅰ問3)に、ディジタル署名の検証方法が述べられています。下図と照らし合わせながら見てください。

過去問(H19SW午後Ⅰ問3)
署名の検証時 には,その署名のデータを[ c ]で復号して元のデータと比較し,一致すれば元のデータが偽造や改ざんされていないことが確認できる

480






929c854c

cには、「CAの公開鍵」が入りますね。
サーバ証明書の場合、CAの証明書から公開鍵を取り出し、検証するからです。

証明書に限っていえば、それで正解です。
でも、これはディジタル署名全般の話なので、「署名者の公開鍵」が正解です。
証明書の場合は、署名したのがCA(認証局)だから、「CAの公開鍵」。
この場合、署名者が誰か特定されていないません。署名者の秘密鍵で暗号化されたデータを復元するので、秘密鍵の対となる「署名者の公開鍵」が答えです。

4.CAのディジタル署名

問題
証明書には、CA(認証局)のディジタル署名が付与されている。
では、CAのディジタル署名とはいったい何か。
以下の[ ア ][ イ ][ ウ ]に入れる字句を答えよ。

CAのディジタル署名とは、[ ア ]の[ イ ]鍵で[ ウ ]を暗号化したもの。







15863853
えーーと
難しいですね。
[ ア:クライアント ]の[ イ:秘密 ]鍵で[ ウ:証明書のダイジェスト ]を暗号化したものかな?

シンプルな問題だけど、なかなか答えられない人が多い。
もし、クライアントの秘密鍵で署名するのであれば、私の証明書を私の鍵で署名するってことになる。じゃあ私の証明書と、誰かが不正に署名した証明書、どちらが本物かを区別できるかな?
だから、署名するのは公の機関であるCAがすべきである。
答えは、
[ ア:CA ]の[ イ:秘密 ]鍵で[ ウ:証明書のダイジェスト ]を暗号化したもの。

5.XMLディジタル署名

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






情報処理安全確保支援士試験の過去問からの出題である。XMLディジタル署名とは、XML文書に対するディジタル署名の仕様だ。
XML文書全体だけでなく、特定の部分に関しても署名することができる。
正解はア。

もう一問。こちらも情報処理安全確保支援士試験の問題。

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






正解はウ

6.【参考】ディジタル署名はセキュリティが本当に保証されるの?

c2f058cb
ディジタル署名は①真正性(なりすましを防ぐ)、②完全性(改ざんを防ぐ)、③否認防止のセキュリティ対策となる。でも、それが保証されるのは、ルート証明書が正しいときだけでしょ。で、そのルート証明書はブラウザに自動的に入っている。なので、ブラウザの会社にセキュリティを一任していることになる?

この質問の意味がよくわからなかった人もいるかもしれません。たしかに、PKIのセキュリティが保たれるのは、「公開鍵が正しい」ときだけです。だから、PKI(Public Key Infrastructure)として、公開鍵の正当性を保つ仕組みが国として確立されています。ベリサインなどの証明書を発行する機関は誰でもがなれるわけではありません。
また、過去にルート証明書が寄贈された国があったと聞きましたが、それはかなりの大問題になりました。

知識認証

最も簡単な認証はパスワードである。情報処理安全確保支援士試験では、基本すぎて逆に設問で問われることは多くないが、復号的な問題として問われることがあるし、認証の基本として理解しておこう。

1.サーバでのパスワードの管理方法

H23秋FE午前問題に、パスワードの問題がある。これを基に、サーバでのパスワード管理の在り方を考える。

過去問(H23秋FE午前)
問42 入力パスワードと登録パスワードを用いて利用者を認証する方法において、パスワードファイルへの不正アクセスによる登録パスワードの盗用防止策はどれか。

ア パスワードに対応する利用者のIDのハッシュ値を登録しておき、認証時に入力された利用者IDをハッシュ関数で変換して参照した登録パスワードと入力パスワードを比較する。
イ パスワードをそのまま登録したファイルを圧縮しておき、認証時に復元して、入力されたパスワードと比較する。
ウ パスワードをそのまま登録しておき、認証時に入力されたパスワードと登録内容をともにハッシュ関数で変換して比較する。
エ パスワードをハッシュ値に変換して登録しておき、認証時に入力されたパスワードをハッシュ関数で変換して比較する。

 ↓
 ↓
 ↓
 ↓
 ↓
まず、パスワードの仕組みを簡単に紹介する。
パスワードが正しいかを判断するときに、パスワードをそのまま比較しているわけではない。
パスワードをハッシュして保存しておき、入力されたパスワードをハッシュした値と比較することで、認証をしている。
素材3_10_パスワードの問題1
8412ebbb


なんでそんな面倒なことをしていのですか?
パスワードをそのまま保管しておけばいいでしょう。
 不正アクセスにより、パスワードを保存しているファイルを直接参照された場合、パスワードが分かってしまう。この危険があるからだ。
ハッシュしていれば、不可逆性より、元のパスワードが分かることもないから安全な方法である。よく考えられた方法だと感心する。
この問題の正解は、選択肢エである。
情報セキュリティスペシャリスト試験を目指す女性SE


でも、パスワードをハッシュしても、ネットワーク越しで盗聴されたらダメですよね。

そう。ネットワーク上で盗聴されたら、攻撃者はそのハッシュ値を使ってシステムにログイン試行が行える。
なので、ネットワークを経由した場合は、チャレンジレスポンス方式など、別の仕組みが必要です。

2.パスワードは誰が管理すべきか

c2f058cb


パスワードは誰が管理すべきかですか・・・
誰でもいいと思います。
ようは、不正な第三者に見られなければいいので。

この点に関する過去問があるので、みてみよう。

過去問(H20秋SU午後2問1)
利用者のパスワードを変更する方式には2案ある。一つは,利用者が自分で変更する方式であり,もう一つは,情報システム部が一括して変更し,それを利用者に通知する方式である。しかし,情報システム部が一括して変更し,それを利用者に通知する方式では,③情報セキュリティ対策上,望ましくないので,利用者が自分でパスワードを変更できることを要件として設定した。

設問3 本文中の下線③で,望ましくないとしている理由を,40字以内で述べよ。

 ↓
 ↓
 ↓
 ↓
 ↓
試験センターの解答例は以下である。
特に2つ目が重要だ。

・パスワードを本人に通知する過程で漏えいするリスクがあるから  
・その利用者IDを利用した者が,確実に本人であることを保証できないから

知識認証であるパスワードというのは、本人しか知りえない情報を使って認証するから、第三者が不正にアクセスすることができない。同時に、その本人がアクセスしたという大事な証拠になるのだ。
db2fc28c



なるほど!
これは、全員が同じパスワードを利用する場合も同じことが言えますね。
 社内システムでは、全員が共通のIDとパスワードでログインしているものがあります。それだと、社員以外の人は使えないという秘匿性のメリットはあります。でも、誰かが不正利用したとしても、その特定ができません。

----- 問題 ここから -----
Q.パスワードは利用者が設定するというのが大原則であるが、利用者に設定させると望ましくない状態になる可能性がある。それは何か。以下の過去問の設問に答えてほしい。

過去問
今回,⑧PINコードは,6桁の数字とし,システム管理者が事前にランダムなものを設定することにしよう。

設問6(2) 本文中の下線⑧について,利用者に設定させるとどのような問題が起きると考えられるか。起きると考えられる問題を25字以内で具体的に述べよ。

----- 問題 ここまで -----
 ↓
 ↓
 ↓
 ↓
 ↓
【解答例】容易に推測可能なPINコードを設定する

3.リスクベース認証

リスクベースというのは、「リスクの大きさに基づいて追加の認証をする」と考えてください。
リスクベース認証について情報処理安全確保支援士試験などの過去問では、「普段と異なる環境からのアクセスと判断した場合,追加の本人認証をすることによって,一定の利便性を保ちながら,不正アクセスに対抗し安全性を高める(H28秋AP午前Ⅱ問40)」、「利用者のIPアドレスなどの環境を分析し,いつもと異なるネットワークからのアクセスに対して追加の認証を行う(H28秋SC午前Ⅱ問6)」とあります。
たとえば、いつものIPアドレスとは違ったり、ブラウザを変えてアクセスすると、以下のように(ゆうちょの例)、追加で質問がなされます。(通常は、このような合言葉の質問はありません。)
aikotoba

4.パスワードを忘れたときの再発行手続き

パスワードを忘れたとき、多くのシステムではリカバリー策を準備している。「パスワードを忘れた場合はこちら」などのリンクを準備し、そのページで情報を入れることによって解決するのである。では、情報処理安全確保支援士の過去問(R2SC午後2問1)をベースに以下を考えてもらいたい。

問題(R2SC午後2問1)
Q1.以下のパスワード失念時の操作画面から、このサイトのパスワード失念時の処理には、どんな問題があるか。3つ答えよ。
f:id:seeeko:20210502165154p:plain

 ↓
 ↓
 ↓
 ↓
 ↓
A1.答えの前に、上記の問題文には、「J主任は,攻撃者がパスワード失念時の処理を悪用して,会員番号及び誕生日を総当たりで入力し,たまたま合致した当該顧客のアカウントを乗っ取ったものと判断した。」とある。

では、この過去問が指摘している問題点は、以下である。
 ①「本人であることを確認するための情報が少なすぎる(過去問の問題文)」
 ②「パスワードそのものをメールで送る(過去問の問題文)」
 ③「パスワードを、本人以外のメールアドレスに送ることができる(解答例)」

Q2.上記の②に関して、なぜ問題か。そして、どうしたらいいか。

 ↓
 ↓
 ↓
 ↓
 ↓
A2.
 問題:メールはいろいろなサーバを経由して(多くは非暗号で)送信されるため、パスワードが盗聴される可能性がある。
 対処策:パスワードリセットのURLを送付する。かつ、URLの有効期限を短くする。

【補足】このURLはもちろん、HTTPSで暗号化通信されているサーバであるべきである。また、このURLの有効期限を短くし、1回変更したら次は変更できないようにしておけば、このURLが例え漏洩したとしても被害になる可能性は少ない。

Q3.上記の③に関して、どうしたらいいか。

 ↓
 ↓
 ↓
 ↓
 ↓
A3.
当たり前の答えではあるが、「パスワードリセットのURLを、登録済みメールアドレスだけに送る(設問4(2)解答例)」

Q4.ではまとめを兼ねて、過去問(H28春FE午前問40)を解いてみましょう。
問40 Webシステムのパスワードを忘れたときの利用者認証において合い言葉を使用する場合,合い言葉が一致した後の処理のうち,セキュリティ上最も適切なものはどれか。

ア あらかじめ登録された利用者のメールアドレス宛てに,現パスワードを送信する。
イ あらかじめ登録された利用者のメールアドレス宛てに,パスワード再登録用ページヘアクセスするための,推測困難なURLを送信する。
ウ 新たにメールアドレスを入力させ,そのメールアドレス宛てに,現パスワードを送信する。
エ 新たにメールアドレスを人力させ,そのメールアドレス宛てに,パスワード再登録用ページヘアクセスするための,推測困難なURLを送信する。

 ↓
 ↓
 ↓
 ↓
 ↓
A4.
ア、ウ:メールでは、パスワードが盗聴される可能性があります。
イ:パスワード再登録用のページは、HTTPSで暗号化通信を行えるので安全です。また、合い言葉が突破されたとしても、第三者に再登録用のページが送られることはありません。
でも、このURLが盗聴される可能性もありますよね。そこは、さきほどの合言葉が一致したページに表示する番号などを送られたURL上で入力するなどのプロセスにすれば安全性が高まります。
では、なぜ、推測困難なURLにするのでしょうか。
エ:合い言葉が突破されると、第三者に再登録用のページが送られてしまい、パスワードを自由に設定されてしまいます。
【正解】 イ

5.3Dセキュア

 情報処理安全確保支援士試験の過去問(R2SC午前2問9)では3Dセキュアに関して、「3Dセキュアは,ネットショッピングでのオンライン決済におけるクレジットカードの不正使用を防止する対策の一つである」「クレジットカード発行会社にあらかじめ登録したパスワードなど,本人しか分からない情報を入力させ,検証することによって,なりすましによるクレジットカードの不正使用を防止する。」とある。
古いやり方の場合、カードの番号と有効期限だけで商品の購入ができたこともある。それだと、情報が盗まれると誰でも購入できてしまう。

6.余談

情報処理安全確保支援士試験には関係が無いので、読み物として読んでください。

(1)クレジットカードのセキュリティコードは意味ある?

情報セキュリティスペシャリスト試験を目指す女性SE



これがずっと疑問だったんですよ。
 セキュリティコードが違うと、購入ができない。この点もセキュリティの価値がある。
ただ、カード番号と一緒で、漏れたら一緒。
この点は、PCI-DSSにてルールが定められています。カード番号と、セキュリティコードは管理レベルが違います。そして、セキュリティコードは基本的に、保存してはいけないのです。
ただ、実際にはそれが守られてない場合があるので、注意が必要です。
たとえば、チケットサイトがサイバー攻撃にあった事件において、セキュリティーコードも流出しました。日経新聞の記事では、「本来ならばカード番号などの情報はサーバーに残らない仕組みとなっていたはずが、開発会社の判断でカード情報をサーバー内に保持しており、カードの不正使用につながった。」と述べられています。
http://www.nikkei.com/article/DGXLASDG25H6K_V20C17A4CR0000/

(2)よく使われるパスワード

 よく使われるパスワードが以下に掲載されている。
一度見てみるといいだろう。
案外、自分で使っているパスワードが出てくるもの。
http://www.whatsmypass.com/the-top-500-worst-passwords-of-all-time

また、adobeの情報漏えい事件で発覚した、利用者のパスワードの実態が以下などの記事に書かれてある。
http://bylines.news.yahoo.co.jp/fuwaraizo/20131107-00029574/
http://www.itmedia.co.jp/news/articles/1311/06/news040.html
123456というパスワードを使っている人が、190万人(全体の1.46%)もいたということ。それ以外にもpasswordや11111など、単純なパスワードが目白押しである。

ハッキングツールには、これらのパスワードは自動で実施する仕組みになっていると思われるから、危険である。