セキュリティを意識したプロトコル達

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : セキュリティを意識したプロトコル

勉強のきっかけになった問題

暗号化や認証機能を持ち,遠隔にあるコンピュータを操作する機能をもったものはどれか。

ア. IPsec イ. L2TP ウ. RADIUS エ. SSH << 正解
平成26年秋期問11 SSH|情報処理安全確保支援士.com

IPsecは、IPでの暗号化技術を使った安全なインターネット用の通信プロトコルです。

  • 正式:Security Architecture for IP または IP Security Architecture

IPは、インターネットの通信で使われるお約束ごと(プロトコル)です。

  • 正式 : Internet Protocol

IPsecは、認証とカプセル化と鍵交換のプロトコルを組み合わせています。

L2TPは、送信情報を運ぶトンネルのプロトコルです。

  • 正式 : Layer 2 Tunneling Protocol

e-words.jp

https://beginners-network.com/image/vpn_l2tp_ipsec_1.gif
L2TP/IPsec - ネットワーク入門サイト

RADIUSは、ネットワーク上でクライアントとサーバの認証を行うプロトコルです。

  • 正式 : Remote Authentication Dial In User Service
  • 読み方:ラディウス、ラディアス

流れは、

https://wa3.i-3-i.info/img/data/2700/d002794-13.png
https://wa3.i-3-i.info/word12794.html

http://www.7key.jp/nw/img/radius.gif
RADIUS‚Æ‚Í -- KeyFŽGŠwŽ–“T

https://www.infraexpert.com/studygif/radius1.gif
Radius認証とは

1. 不正なクライアントやサーバが使えないように、クライアントとサーバの間に共通暗号鍵を設定します。

この共通暗号鍵を「Shared Secret」といいます。

https://www.infraexpert.com/studygif/radius4.gif
Radius認証とは

2. クライアントから送られてきたユーザの情報で、サーバは認証を行います。

クライアントが送る情報を「Access-Requestメッセージ」といいます。

3. サーバは、認証を行い結果をクライアントへ送信します。

サーバが送る情報を認証結果が、OKな場合は「Access-Acceptメッセージ」でNGな場合は「Access-Reject」といいます。

SSHは、認証技術を利用して別のコンピュータと通信するプロトコルです。

  • 英語:(Secure:安全) + (Shell:コマンド入力を受け付けて解釈するプログラム)

Telnetも別のコンピュータと通信するプロトコルですが、暗号化はしていません。

残念なことに、暗号化していないのでのぞき見し放題です。

http://www.fs.com/images/ckfinder/ftp_images/tutorial/telnet-protocol.jpg
Which Client Software Is Better for Telnet and SSH? | FS.COM

そこでSSH!通信経路が暗号化されているのでインターネットなどを経由しても安全に通信できます。

http://www.tku.ac.jp/~densan/local/ssh/ssh-telnet.gif
SSHの利用方法

SSHプロトコルには、「SSH1」と「SSH2」の2種類があります。

SSH1は、RSA公開鍵暗号方式を使います。
SSH2は、DSA公開鍵暗号方式を使います。が、RSA公開鍵暗号が使えるようになり「SSH2でRSA公開鍵暗号を使う」がおすすめです。

RSAは特許の問題から使用が制限されており、特許問題を回避するためにDSAを採用したSSH2が登場したという背景があるものの特許は2000年9月で失効し、SSH2でもRSAを利用して認証できるようになりました。

SSHするには、接続先にsshdが動いている必要があります。

クライアントから接続を受けつけて、鍵の交換・暗号化・認証・コマンド実行・データ交換をしてくれます。

種類は、OpenSSH・SSH Tectia Server・Reflection for Secure IT等々・・・いろいろあります。

接続元でSSHしてくれるソフトウェアをSSHクライアントといいます。

種類には、OpenSSH・PuTTY・Tera Term・Poderosa・RLogin・SSH Tectia Client・Reflection for Secure IT・WebSSH等々・・・すごくいろいろあります。

f:id:ponsuke_tarou:20181014235443j:plain

次回の勉強内容

勉強中・・・・

根性で不正ログインを頑張るブルートフォース攻撃

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : 不正ログインの方法

勉強のきっかけになった問題

共通鍵暗号の鍵を見つけ出す,ブルートフォース攻撃に該当するものはどれか。

ア. 1組の平文と暗号文が与えられたとき,全ての鍵候補を一つずつ試して鍵を見つけ出す。 <<< 正解
イ. 平文と暗号文と鍵の関係を代数式に表して数学的に鍵を見つけ出す。
ウ. 平文の一部分の情報と暗号文の一部分の情報との間の統計的相関を手掛かりに鍵を見つけ出す。
エ. 平文を一定量変化させたときの暗号文の変化から鍵を見つけ出す。

平成25年秋期問9 ブルートフォース攻撃|情報処理安全確保支援士.com

不正アクセスや不正ログインする攻撃はよくあります。

scan.netsecurity.ne.jp

tech.nikkeibp.co.jp

www.pixiv.net

ブルートフォース攻撃は、ありとあらゆる文字列の組み合わせを片っ端から試してパスワードや鍵を見つける攻撃です。

  • 別名:ブルートフォースアタック、総当たり攻撃
  • 英語 : (brute force:力ずくの) + (attack: 攻撃)

辞書ツールやら考えられるすべての情報を使って文字列の組み合わせを全て試していく、根性の攻撃です。

パスワードの文字数や文字種が少ないと被害にあいやすいです。

https://wa3.i-3-i.info/img/data/5500/d005549-5.png
https://wa3.i-3-i.info/word15549.html

f:id:ponsuke_tarou:20181010210728p:plain
ブルートフォースアタック(総当たり攻撃)とは?そのやり方・実際にかかる時間・対策方法は?

独立行政法人情報処理推進機構セキュリティセンターが、パスワードに使用している文字の種類別に解読の所要時間をまとめたもの
https://japan.norton.com/blog/wp-content/uploads/2017/11/brute-force-attack-01.png
ブルートフォースアタックとは?実験から分かる危険性と有効な4つの対策

リバースブルートフォース攻撃は、ありとあらゆる文字列の組み合わせを片っ端から試してIDを見つける攻撃です。

  • 別名:リバースブルートフォースアタック、逆総当たり攻撃
  • 英語 : (reverse:逆の) + (brute force:力ずくの) + (attack: 攻撃)

世の中には、規定回数パスワードを間違えるとロックされるアカウントロックというものがあります。

残念なことに、IDを変えていくのでアカウントロックされにくいです。

ブルートフォース攻撃の逆で、パスワードに固定文字列を使ってIDを変えながら試していきます。

http://www.ne.senshu-u.ac.jp/~proj28-19/tobe/goku-main/image-s/blue-reverse.png
リバースブルートフォース攻撃

https://wa3.i-3-i.info/img/data/5500/d005549-6.png
https://wa3.i-3-i.info/word15549.html

パスワードリスト攻撃は、どっかで仕入れた情報をもとにIDとパスワードを推測して攻撃します。

  • 別名:リスト型攻撃、パスワードリスト型攻撃、アカウントリスト攻撃、リストベース攻撃、リストベースアタック、リストアタック

パスワードスプレーは、ブルートフォース攻撃リバースブルートフォース攻撃をいい感じに合わせています。

  • 別名:low-and-slow攻撃

japan.zdnet.com

決まった期間に決まった回数ログインに失敗するとアカウントロックがかかります。

だから、「パスワードを固定していろんなIDを試す」をひたすら繰り返します。

https://stat.ameba.jp/user_images/20180404/20/mongol-sky/00/2d/j/o0461021814164100079.jpg?caw=800
不正ログインを狙った「パスワードスプレー」攻撃への注意を呼び掛け | IoT-sky

f:id:ponsuke_tarou:20181010224357j:plain

次回の勉強内容

勉強中・・・・・

Webサイトでの認証技術であるベーシック認証とダイジェスト認証を知る。

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : Webサーバはどんな認証をしているのか。

勉強のきっかけになった問題

HTTPの認証機能を利用するクライアント側の処理として,適切なものはどれか。

ア. ダイジェスト認証では,利用者IDとパスワードを":"で連結したものを,MD5を使ってエンコードしAuthorizationヘッダで指定する。
イ. ダイジェスト認証では,利用者IDとパスワードを":"で連結したものを,SHAを使ってエンコードしAuthorizationヘッダで指定する。
ウ. ベーシック認証では,利用者IDとパスワードを":"で連結したものを,BASE64エンコードしAuthorizationヘッダで指定する。 << 正解
エ. ベーシック認証では,利用者IDとパスワードを":"で連結したものを,エンコードせずにAuthorizationヘッダで指定する。
平成24年秋期問20 HTTPの認証機能|情報処理安全確保支援士.com

HTTPの認証機能を使用することで、Webサイトにアクセスできる権限を持っているかを確認します。

会員サイトなどのWebサイトを特定の人々だけ見れるようにするには認証機能を使用します。
認証機能を使用することでWebページを見られる人かを確認します。

https://mdn.mozillademos.org/files/14689/HTTPAuth.png
HTTP 認証 - HTTP | MDN

ログイン画面を使うForm認証は、HTTPプロトコルの認証方式は使いません。

  • ログイン画面に情報を入力するタイプです。
  • セッションに情報を持つため、セッションがログアウトなどで切れると再認証が必要になります。

例えばEvernoteのログイン画面とか。
f:id:ponsuke_tarou:20181001223508p:plain

クライアント側で行うHTTPの認証機能にはベーシック認証やダイジェスト認証などがあります。

ベーシック認証は、ユーザ名とパスワードの組みをコロン ":" でつなぎ、Base64エンコードして送信します。

  • 別名:基本認証
  • 利点:多くのWebサーバが対応しています。
  • 欠点:盗聴や改竄が簡単にできます。

認証の流れは、

http://www.bnote.net/linux/img/basic_auth.png
ベーシック認証 - bnote

1. クライアントがページをリクエストする
2. WebサーバがWWW-AuthenticateヘッダでHTTPステータスコード401を返す
  • HTTPステータスコード:Webサーバがレスポンスの意味を表す3桁のコードです。
    • 別名:レスポンスコード
    • 401(Unauthorized):「認証が必要だよん」とWebサーバは言っている。

https://docs.microsoft.com/ja-jp/aspnet/web-api/overview/security/basic-authentication/_static/image1.png
ASP.NET Web API の基本的な認証 | Microsoft Docs

3. クライアントがBase64エンコードしたユーザ名とパスワードをAuthorizationヘッダに指定して送る

http://support.cagolab.jp/glossary/files/2012/11/basic-300x276.jpg
ベーシック認証 | EC用語集 - ECプラットフォーム『カゴラボ』サポートサイト

4. Webサーバが認証する

Base64エンコードは、文字列を64進数で表すことです。

64進数は、「A-Z」「a-z」「0-9」「+/」を使って余ったところは「=」で埋める方式です。

MIMEなんかでも使っています。

# Base64エンコードしてみます。
$ echo -n 'ponsuke:tarou' | base64
cG9uc3VrZTp0YXJvdQ==
# 残念なことに簡単にデコードできます。
$ echo 'cG9uc3VrZTp0YXJvdQ==' | base64 -D
ponsuke:tarou

qiita.com

ダイジェスト認証は、パスワードをハッシュ値にして送信します。

  • 英語:digest authentication
  • 別名:HTTPダイジェスト認証
  • 利点:ベーシック認証で防げなかった漏洩やら改ざんができます。
  • 欠点:対応していないブラウザがあります。

認証の流れは、

https://tech.nikkeibp.co.jp/it/article/COLUMN/20080513/301605/zu02.jpg
第6回 ユーザー認証 | 日経 xTECH(クロステック)

https://www.ipa.go.jp/security/awareness/vendor/programmingv1/images/b09_01_6.png
9-1. パスワードの取り扱い

1. クライアントがページをリクエストする
2. WebサーバがWWW-AuthenticateヘッダでHTTPステータスコード401だけではなく「認証領域」や「認証方式」、「ランダムな文字列」を返す
  • ここの
    • 認証領域は、realm
    • 認証方式は、Digest(ダイジェスト認証だよと知らせる)
    • ランダムな文字列は、
      • nonce(認証要求ごとに生成される一時的なデータでチャレンジともいう)
      • opaque(ランダムに生成されるデータ)
  • といいます。

http://image.itmedia.co.jp/ait/articles/0411/17/r20_100_1.gif
Tomcatでダイジェスト認証を使う:JavaTips 〜アプリケーションサーバ/コンテナ活用編 - @IT

3. クライアントがランダムな文字列を生成して、ユーザ名・パスワードと「2つのランダムな文字列」を使ってハッシュ文字列を生成する
  • ここの
    • 生成したランダムな文字列は、cnonce
    • ハッシュ文字列は、response
  • といいます。
  • ハッシュ値を生成する関数を「ハッシュ関数」「要約関数」「メッセージダイジェスト」といいます。
4. クライアントは「2つのランダムな文字列」と「ハッシュ文字列」を送信する

http://image.itmedia.co.jp/ait/articles/0411/17/r20_100_2.gif
Tomcatでダイジェスト認証を使う:JavaTips 〜アプリケーションサーバ/コンテナ活用編 - @IT

5. Webサーバは「2つのランダムな文字列」とサーバに格納されているパスワードからハッシュ文字列を生成して認証する

ハッシュ値からパスワードを復元するのはめちゃめちゃ大変なので、サーバのパスワードもハッシュ値にしてクライアントから送られてきたハッシュ値と比較します。

MD5は、文字列から128ビットの値のハッシュ値を生成するハッシュ関数です。

  • 正式:Message Digest 5
  • 規約:RFC 1321
  • 特徴:
    1. 同じ入力値は必ず同じ値になる
    2. 少しでも異なる入力値は全然違う値になる
    3. 不可逆な一方向関数を含むのでハッシュ値から効率よく入力値を割り出すことはできない
  • 欠点:入力値がハッシュ値より長い場合、複数の異なる入力値なのに同じハッシュ値になってしまう「ハッシュ値の衝突」が起こる
# MD5でハッシュ値を生成する
$ echo 'tarou' | md5
961ed3c18a02b9b87bcd3efa9eb2a0a9
# ちょっと違う文字だとぜんぜん違うハッシュ値がせいせされる
$ echo 'taroo' | md5[f:id:ponsuke_tarou:20181005164602j:plain]
e11337e5c8ce85a437712f57c63249e8
$ echo 'tarou' | md5
26223ea272f3f0e42cf872c01b9ba8ec
  • 前回勉強したメールの認証:CRAM-MD5でも使っています。

ponsuke-tarou.hatenablog.com

次回の勉強内容

ponsuke-tarou.hatenablog.com

DDL と DLL の違い

DDLDLLは全く違うものです。

わかっちゃいるけど、どっちがどっちか頻繁に忘れるので記録します。

共通点はどちらも拡張子になることぐらいです。

DDLとは、テーブル構造を定義する言語です。

  • 正式名称:Data Definition Language
  • 別名:データ定義言語
  • リレーショナルデータベースのテーブルを制御する言語。

www.weblio.jp

「CREATE」「DROP」「ALTER」などが書いてあるやつです。

  • テーブル全体の作成・変更・削除などを行う際に使用する。

仲間には、レコード単位の操作を行うDMLがあります。

  • 正式名称:Data Manipulation Language
  • 別名:データ操作言語
  • リレーショナルデータベースのレコードを制御する言語。
  • テーブル内のレコードの追加・検索・更新・削除などを行う際に使用する。
「SELECT」「INSERT」「UPDATE文」「DELETE」などが書いてあるやつです。
  • データベースにおいてデータの検索・新規登録・更新・削除を行うための言語である。

www.weblio.jp

DLLとは、プログラムを動かす時に使う部品です。

  • 正式名称:Dynamic Link Library
  • 別名:共有ライブラリ、シェアドライブラリ、動的リンクライブラリ
  • 様々なプログラムから利用される汎用性の高い機能を収録した、部品化されたプログラムのこと。
  • 単体で実行することはできず、実行可能ファイル(EXEファイルなど)が起動する際に自動的に連結されてメモリ上に展開される。
  • 多くのプログラムが共通して必要とする機能が収められており、様々なプログラムの一部として取り込まれて実行される。

www.weblio.jp

f:id:ponsuke_tarou:20180918221636j:plain

メールを送信での認証技術に POP before SMTP と SMTP-AUTH

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : メール送信時の認証方法

勉強のきっかけになった問題

SMTP-AUTHの特徴はどれか。

ア. ISP管理下の動的IPアドレスからの電子メール送信について,管理外ネットワークのメールサーバへSMTP接続を禁止する。
イ. PCからメールサーバへの電子メール送信時に,ユーザアカウントとパスワードによる利用者認証を行う。
ウ. PCからメールサーバへの電子メール送信は,POP接続で利用者認証済の場合にだけ許可する。
エ. 電子メール送信元のサーバが,送信元ドメインDNSに登録されていることを確認して,電子メールを受信する。
平成27年春期問16 SMTP-AUTHの特徴はどれか|情報処理安全確保支援士.com

メール送信時の認証技術には、「POP before SMTP」「SMTP-AUTH」があります。

むかしむかし、SMTPには認証の仕組みがありませんでした。

それに伴い、大量のメールを送り付ける「迷惑メール」が流行りました。

POP before SMTPは、メールを送信する前にPOP3認証を行って認証できたらメールを送信する仕組みです。

SMTPに認証のしくみはないけれど、メール受信で使うPOP3にはIDとパスワードによる認証の仕組みがあります。

https://asahi-net.jp/support/guide/mail/img/0598-1.gif
POP before SMTP方式|プロバイダ ASAHIネット

http://www.tku.ac.jp/~densan/local/mail/popbeforesmtp.gif
メールの利用:メールソフト編

POP3認証をしてから数分間は、認証なしで送信し放題なのでスパムメールが送信できるかもしれない。

複数のPCで同じIPアドレスを使用するNAT環境下では認証を通った人と違う人がメールを送信できる。

SMTP-AUTHは、メールサーバがメール送信者をIDとパスワードで認証してからメールを送信する仕組みです。

https://www.tiki.ne.jp/security/img/spam_fig2.gif
SMTP認証について セキュリティ TikiTikiインターネット

https://www.wfwfserver.ne.jp/function/images/smtpauth.gif
SMTP AUTH 低価格で高品質のレンタルサーバーをご提供するわふわふサーバー

認証方法には種類があります。

f:id:ponsuke_tarou:20180913234047j:plain

PLAINは、暗号化しないでユーザー名/パスワードをそのまま送る仕組みです。

パスワードが平文で流れているので危険な方式です。

LOGINは、標準化されておらず独自の実装をしているメールサーバーもあって互換性が低い方式です。

ユーザー名/パスワードはBASE64に変換される(XXXXXの部分の事)
ユーザー名/パスワードを別々に送信したり一緒に送信したりする(やり方はそれぞれ)

CRAM-MD5は、パスワード文字列がそのままネットワークを流れることがないように、暗号化が施されます。

MD5を使用してチャレンジ-レスポンス認証を行い、パスワードそのものは暗号化された状態でも送信はしません。

  • 流れ
    1. サーバーとクライアントが共通に知っているパスワードを用意
    2. サーバーは、クライアントに対し任意の文字列(Challenge文字列)を送る
    3. クライアントはそのChallenge文字列と共通パスワードを使い、MD5で計算処理を行う
    4. 結果をサーバーに返す
    5. クライアントからの返答が傍受されても、ここからパスワードを復元するのは困難
    6. サーバーは、自分でも同じ処理を行ない、結果が一致すれば相手が正しくパスワードを知っているとして認証する
DIGEST-MD5は、CRAM-MD5の拡張版で、辞書攻撃や総当り攻撃などに対する耐性を高めたものです。

f:id:ponsuke_tarou:20180913233607j:plain

次回の勉強内容

ponsuke-tarou.hatenablog.com

スパムメール撲滅を目指す送信ドメイン認証技術

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : メールの安全対策

勉強のきっかけになった問題

スパムメールへの対策であるDKIM(DomainKeys Identified Mail)の説明はどれか。

ア. 送信側メールサーバにおいてディジタル署名を電子メールのヘッダに付与し,受信側メールサーバにおいてそのディジタル署名を公開鍵によって検証する仕組み << 正解
イ. 送信側メールサーバにおいて利用者が認証された場合,電子メールの送信が許可される仕組み
ウ. 電子メールのヘッダや配送経路の情報から得られる送信元情報を用いて,メール送信元のIPアドレスを検証する仕組み
エ. ネットワーク機器において,内部ネットワークから外部のメールサーバのTCPポート番号25への直接の通信を禁止する仕組み

平成25年春期問16 DKIMの説明はどれか|情報処理安全確保支援士.com

メールアドレスのドメインを検証することでなりすましや改ざんを検知できるようにする技術を送信ドメイン認証技術といいます。

残念なことにメールは送信元を偽ることができちゃいます。

http://www.infomania.co.jp/images/narisumasi.gif
送信ドメイン認証について

送信ドメイン認証技術には、IPアドレスを利用するタイプと電子署名を利用するタイプがあります。

送信側のIPアドレスを利用するタイプは、あらかじめDNSサーバにIPアドレスを公開しておいて、受信側が送信者のメールアドレスからDNSIPアドレスを検証します。

http://www.infomania.co.jp/images/spf.gif
送信ドメイン認証について

https://sendgrid.kke.co.jp/blog/wp/wp-content/uploads/2016/09/1f4815d36a36fa914b05ccb4be9c7968.png
SPFとは? | SendGridブログ

http://salt.iajapan.org/wpmu/anti_spam/files/2010/01/fig02_701.png
SPF(Sender Policy Framework) : 迷惑メール対策委員会

SFPは、メールの「エンベロープFromにあるメールアドレス」のドメインから送信側メールサーバのIPアドレス取得して検証します。

  • 英語:Sender Policy Framework

Sender IDは、「メールヘッダのFromやSenderにあるメールアドレス」のドメインから送信側メールサーバのIPアドレス取得して検証します。

エンベロープFrom」はメールの配信処理用のメールアドレスで、「メールヘッダのFromやSender」はメーラなどの表示用のメールアドレスです。

  • エンベロープFromは、実際の送信者メールアドレスで宛先にメールが届くとエンベロープFromは削除されます。
  • メールヘッダのFromやSenderは、配信処理には使用されず送信者以外のアドレスを使用することが可能です。

電子署名を利用するタイプは、あらかじめDNSサーバに公開鍵を公開しておいて、受信側がメールヘッダの電子署名DNSで公開鍵を取得して検証します。

  • 流れ
    1. 送信側がDNSサーバに公開鍵を公開する
    2. 送信側が秘密鍵電子署名をつくってメールヘッダにくっつける
    3. 受信側がメールヘッダにあるメールアドレスのドメインからDNSサーバで公開鍵を取得する
    4. その公開鍵で検証する

IIMは、送信側が「電子署名と公開鍵」をメールにくっつけて、受信側が公開鍵を検証します。

  • 英語:Identified Internet Mail

DomainKeysは、認証に失敗したり、電子署名がない場合、何もせずに受け取ります。

IIMとDomainKeysを合わせたDKIMは、認証に失敗したり、電子署名がない場合、どうするかを決められます。

  • 読み方:ディーキム

http://www.infomania.co.jp/images/dk.gif
送信ドメイン認証につい DKIMとDomainKeys

http://image.itmedia.co.jp/ait/articles/0602/16/r20_01.gif
電子署名方式の最新技術「DKIM」とは (1/4):送信ドメイン認証技術解説 - @IT

DMARCは、送信ドメイン認証での「認証結果によるメール配信制御」「認証結果のレポート」を行うシステムです。

  • 英語:Domain-based Message Authentication, Reporting and Conformance
  • 読み方:ディーマーク

https://mailmarketinglab.jp/word-dir/wordpress/wp-content/uploads/2017/04/20170331_04-768x729.jpg
なりすましを撲滅する?「DMARC」の概要をざっくり理解しよう | メルラボ

http://www.twofive25.com/image/imageDMARC25.png
TwoFive、なりすまし対策に有効なDMARCレポートを集計・可視化するサービス「DMARC / 25 Analyze」を提供開始 - クラウド Watch

「検証結果でそのメールをどう扱って欲しいか」を記述した情報の定義をSSPといいます。
  • 英語:Sender Signing Practice
  • SSPは、DNSサーバにあります。

f:id:ponsuke_tarou:20180913225716j:plain

次回の勉強内容

PKIは、世の中の安全を守っています。

前回の勉強内容

ponsuke-tarou.hatenablog.com

今回の勉強内容 : PKIって何?

勉強のきっかけになった問題

PKIを構成するOCSPを利用する目的はどれか。

ア. 誤って破棄してしまった秘密鍵の再発行処理の進捗状況を問い合わせる。
イ. ディジタル証明書から生成した鍵情報の交換がOCSPクライアントとレスポンダの間で失敗した際,認証状態を確認する。
ウ. ディジタル証明書の失効情報を問い合わせる。 >>> 正解
オ. 有効期限の切れたディジタル証明書の更新処理の進捗状況を確認する。

OCSPは、デジタル証明書をCRLを突き合わせて有効かを確認するためのプロトコルです。

ponsuke-tarou.hatenablog.com

PKIは、暗号化技術と電子署名で世の中の安全を守る仕組みです。

PKIとは、公開鍵暗号を正しく発行し配布するシステム。証明局発行の鍵が含まれた証明書をリボジトリで集中管理・配布する。
it-trend.jp

公開鍵暗号技術と電子署名を使って、インターネット上で安全な通信ができるようにするための環境のことを言います。 なりすましやデータの盗聴や改竄を防ぐためのインフラとして近年注目が高まっています。
インターネット用語1分解説~PKIとは~ - JPNIC

データの暗号化とデジタル署名によってPKIは「守秘性」、「完全性」、「認証」、「否認防止」といったセキュリティサービスを提供します。 これらのセキュリティサービスによって、自分が知らぬ間に情報を書き換えられるような事態や、機密情報が盗聴されるといった脅威を防ぐことできます。 そしてPKIとビジネスで利用される様々なアプリケーションを組みあわせることにより、そのアプリケーションに対してセキュリティインフラを提供することができます。
www.einspki.jp

暗号化技術はいろいろあります。

ponsuke-tarou.hatenablog.com

電子署名で、送信者が送ったデータの完全性を保証します。

ponsuke-tarou.hatenablog.com

送信者の公開鍵で電子署名を復号しますが、公開鍵が本当に送信者のものかわかりません。

https://www.ipa.go.jp/security/pki/images/image020.png
IPA PKI 概要 3.1.1 公開鍵配布時の認証

公開鍵の持ち主を確認するには2つの方法があります。

PGPモデルは、公開鍵の持ち主と公開鍵の受領者の両方に信頼された第3者が証明書を公開鍵にくっつけて受領者へ渡す方法です。

個人レベルの信頼関係が必要となり、全体が管理されないため用途は少ないです。

認証局モデルは、第3者機関に公開鍵の持ち主を保証してもらい第3者機関の発行した証明書で公開鍵の正当性を確認します。

この第3者機関を「Trusted Third Party(TTP)」「認証局:Certification Authority(CA)」といいます。

https://www.ipa.go.jp/security/pki/images/image021.png
https://www.ipa.go.jp/security/pki/images/image022.png
IPA PKI 概要 (2) 認証局モデル

https://jp.globalsign.com/images/knowledge/ill_ca01.gif
認証局 (CA:Certification Authority)とは?|GMOグローバルサイン【公式】

ponsuke-tarou.hatenablog.com

認証局モデルでは信用関係の保証が重要です。

  1. 受領したデータが改ざんされていないことを確認するには電子署名を確認します。
  2. 電子署名を複合するには送信者の公開鍵が必要です。
  3. 公開鍵を使うには公開鍵が本物か証明書を確認します。
  4. その証明書が信用できるか確認するには認証局が信頼できるかを確認する必要があります。

https://www.ipa.go.jp/security/pki/images/image050.png
https://www.ipa.go.jp/security/pki/images/image051.png
PIA 5 信用モデル

認証局の信用関係を作る方法には種類があります。

種類 説明
単独 CA モデル 1つの CA が全てのユーザに証明書を発行する方式です。
階層型モデル 複数の CA を階層型(ツリー構造)に構成する方式です。
Web モデル あらかじめクライアントのアプリケーションにルート CA の一覧を埋め込む方式です。Web ブラウザで用いられています。
メッシュモデル 複数の CA を相互認証により接続する方式です。
ブリッジ CA モデル 複数の CA がブリッジ CA を介して接続する方式です。

https://www.ipa.go.jp/security/pki/images/image049.png
PIA 5 信用モデル

f:id:ponsuke_tarou:20180904211807j:plain

次回の勉強内容

ponsuke-tarou.hatenablog.com