【基本情報技術者試験】公開鍵暗号方式のあやふやふわふわすっきりまとめ

公開鍵暗号方式

暗号化と複合で別々の鍵(公開鍵と秘密鍵)を使う暗号方式。

1人につきペアである公開鍵と秘密鍵を使う。

公開鍵:不特定多数の利用者に公開する

秘密鍵:秘密扱いにして誰にも渡さず、自分しか使わない。

RSA:公開鍵暗号方式の代表格の非常に大きな数の素因数分解が困難なことを利用した暗号技術。

ディジタル署名

送信者:送信者の秘密鍵を使って暗号化

受信者:送信者の公開鍵を使って複合

ディジタル署名で確かめられること

真正性完全性を維持する。

なりすましなし(真正性)
送信者の秘密鍵】は送信者意外は知り得ないため、確実に送信者本人から送信されたことがわかる。
改ざんなし(完全性)
送信者と受信者で同じハッシュ化してできたダイジェストの内容が同一の場合、確実に同じ平文であり、改ざんなしといえる

暗号化

送信者:受信者の公開鍵を使って暗号化

受信者:受信者の秘密鍵を使って復号

暗号化で確かめられること

機密性を維持する。

盗聴なし(機密性)
【受信者の公開鍵】で暗号化すれば、復号できるのは、【受信者の秘密鍵】をもつ受信者だけである。送信途中の暗号文を攻撃者が盗み見しても、【受信者の秘密鍵】がわからないため、解読できず盗聴できない。※【受信者の秘密鍵】は、受信者が誰にも渡さず、自分しか使わない

ハイブリット暗号

送信者:【共通鍵】を使って暗号化

送信者:【受信者の公開鍵】を使って【共通鍵】を暗号化

受信者:【受信者の秘密鍵】を使って復号し【共通鍵】をとりだす

受信者:【共通鍵】を使って復号

  • 共通鍵暗号方式の長所である、『処理速度が早い』を活かしつつ、短所『鍵の配布が手間』を穴埋めする。
  • 公開鍵暗号方式の長所である、『鍵の数が少ない、鍵の配布が容易』を活かしつつ、短所『処理速度が遅い』を穴埋めする。

基本情報技術者試験の問題にチャレンジ!

2017年秋の第1問の午後問題。

4回くらいやっても何度も間違えてしまう・・・。

根本をしっかり理解(特にディジタル署名と暗号化の使う鍵の違い)しておこう!

〔安全な通信経路の確立の概要〕
 安全な通信経路の確立は,次のようにして行う。

  • クライアントがサーバにアクセスする。
  • サーバとクライアントが,SSHセッションで使用する暗号アルゴリズムについて合意する。
  • サーバとクライアントが,通信データの暗号化に使用するセッション鍵と,他のSSHセッションと区別するためのセッション識別子について合意する。
  • ①クライアントがサーバ認証を行うサーバ認証では,クライアントがあらかじめ入手して正当性を確認しておいたaを用い,サーバによるセッション識別子へのディジタル署名が正しいかどうかを検証する
  • 合意した暗号アルゴリズムとセッション鍵を用いて,②共通鍵暗号方式による通信データの暗号化を開始する。これ以降の通信は,全て暗号化される。

〔利用者認証の概要〕
 クライアントからサーバへのログインでは,サーバは利用者認証を行う。SSHの利用者認証の方式には,ディジタル署名を用いる”公開鍵認証”とパスワードを用いる”パスワード認証”がある。
 ”公開鍵認証”では,クライアントの公開鍵を事前にサーバに登録しておき,この登録されている公開鍵に対応する秘密鍵をクライアントがもっていることをサーバが確認する。この確認では,クライアントがセッション識別子などに対するディジタル署名をサーバに送信し,サーバがbを用いてディジタル署名を検証する。
 ”パスワード認証”では,クライアントが利用者IDとパスワードを送信し,サーバは受け取ったパスワードが当該利用者のパスワードと一致していることを検証する。なお,③”パスワード認証”は,”公開鍵認証”に比べて,安全性が低いと考えられている

aとbに当てはまる答えを選べ。

a,b に関する解答群

ア:安全な通信経路の確立時に合意したセッション鍵

イ:クライアントの公開鍵

ウ:クライアントの秘密鍵

エ:サーバの公開鍵

オ:サーバの秘密鍵

 

 

 

解答と解説

答え

a:エ サーバーの公開鍵

b:イ クライアントの公開鍵

解説

ディジタル署名は、送信者:送信者の秘密鍵を使って暗号化→受信者:送信者の公開鍵を使って複合するので、送信者と受信者を当てはめれば良い。

aの場合、送信者はサーバーなので、クライアントはサーバーの公開鍵を用いてディジタル署名を検証し、サーバ認証を行います。

bの場合、送信者はクライアントなので、サーバーはクライアントの公開鍵を用いてディジタル署名を検証し、利用者認証を行う。

問題で聞かれている方式は何か、送信者と受信者は誰かを注意して考える。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です