情報処理安全確保支援士_暗号
- CRYPTREC(Cryptography Research and Evaluation Committees)
電子政府推奨暗号の安全性を評価・監視し、暗号技術の適切な実装法・運用法を調査・検討する政府のプロジェクトである。総務省と経済産業省が共同で運営する暗号技術検討会とNICT、IPAが運営する暗号技術強化委員会および暗号技術活用委員会から構成される。
2000年から3年間の予定で組織化されたが、電子政府の安全性および信頼性確保のため、継続されることが決定した。
2008年にドメインがjpからgo.jpに変更されている。
最近(2021年3月)だと、量子コンピュータの量子超越実現により、暗号技術の危殆化が心配、、、というコメントを出している。量子コンピュータのことも考えねばならないのね、すごい。
- 電子政府における調達のために参照スべき暗号リスト
下記の暗号リストが掲載されいている。
・電子政府推奨暗号リスト
評価、検討結果をもとに選択された、安全性及び実装性能ともに優れた暗号
・推奨候補暗号リスト
安全性、実装性能は確認済みで今後リストに追加される予定の暗号
・運用監視暗号リスト
推奨しないが互換性のため仕様が容認されている暗号
分類としては下記に分けられている。
・公開鍵暗号
署名:DSA、ECDSA、RSA-PSS、RSASSA-PKCS1-v1_5
守秘:RSA-OAEP
鍵共有:DH、ECDH
・共通鍵暗号
64ビットブロック暗号:該当なし
128ビットブロック暗号:AES、Camellia
ストリーム暗号:KCipher-2
・ハッシュ関数:SHA-256、SHA-384、SHA-512
・暗号利用モード
秘匿モード:CBC、CFB、CTR、OFB
認証付き秘匿モード:CCM、GCM
・メッセージ認証コード:CMAC、HMAC
・認証暗号:該当なし
・エンティティ認証:ISO/IEC 9798-2、ISO/IEC 9798-3
※正直どの名前がどの暗号技術に使われているかこのリストみるまでよく分かっていませんでした。みんなこういうの見てちゃんと勉強してるんですかねー
SSHとかHTTPSとかセキュアな技術にどの暗号が使われているかとかが、それぞれの技術で何のために暗号が使われるのか(鍵なのか認証なのか、、、)を理解したら自ずと紐付けられるか?
- 暗号化方式
・DSA
離散対数問題がゲキムズであることを利用した公開鍵暗号方式である。ECがつくと楕円曲線問題を利用しているものになる。
・RSA
桁数の大きい半素数の素因数分解がゲキムズであることを利用した公開鍵暗号方式である。2つの素数の積であるnを素因数分解できるのは答えをもとから知っている人しかできない、つまりnを公開鍵、2つの素数を秘密鍵の要素とする。
・DH
共通鍵を直接交換するのではなく、共通鍵を生成するための数値を通信する対象の間で共有し、そこから計算によって共通鍵を導出する方式。
・CBC
1つ前の暗号文ブロックと平文ブロックの排他的論理和をとった値に対して暗号化を行い、それが暗号文ブロックとなる。1回目については、一つ前の暗号文ブロックではなく、初期化ベクトルを使用する。SSL/TLSで使われている。ちなみに、ECBは平文ブロックを暗号化したものが暗号文ブロックとなる。
・CFB
1つ前の暗号文ブロックを暗号アルゴリズムの入力に使用する。1回めについてはCBCと同様である。
・CCM
ブロック暗号の暗号利用モードの1つである。
・CMAC
ブロック暗号に基づくメッセージ認証アルゴリズムである。
・HMAC
秘密鍵とメッセージとハッシュ関数をもとに計算を行うメッセージ認証アルゴリズムである。
公開鍵と秘密鍵のキーペアからなる公開鍵暗号方式と電子証明書を利用し、インターネット上で安全に情報のやりとりを行うセキュリティ基盤のことである。
- IKE(INternet Key Exchange)
盗聴リスクのあるネットワーク上で暗号化のための共通鍵を交換するためのプロトコル群である。主にIPsecの共通鍵を交換するために使われ、SPD(Security Policy Database)およびSAD(Security Association Database)を作成する役割がある。
- 参考URL
CRYPTREC | CRYPTREC暗号リスト(電子政府推奨暗号リスト)
SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか? - GIGAZINE
【暗号化】ブロック暗号のモードまとめ (比較表付き) - Qiita
https://www.ipa.go.jp/security/enc/CRYPTREC/fy15/documents/mode_wg040607_000.pdf
【図解/IPsec】IKEv1とIKEv2の違いと仕組み~シーケンス,フォーマット,isakmp,DH group,PFSについて~ | SEの道標
Algorithms for Internet Key Exchange version 1 (IKEv1)
IKE ~SAの生成と管理~ | インターネットVPN | ネットワークのおべんきょしませんか?
色々調査された資料とか、めっちゃ勉強している方々の検討議事録をタダで(税金使ってたらタダではないか?)読めるのありがたいなあと思いました。資料の読み方が分かりにくいとかの議事もあって、資料に書く日本語は難しいなと、会社で自分が指摘されたことを思いだしました。
情報処理安全確保支援士_XmlHttpRequest
- XHR(XML Http Request)
サーバーと対話するために使用されオブジェクトである。ページ全体を更新する必要なしにデータを受け取ることができるので、ユーザーの作業を中断させることなく、ウェブページの一部を更新することができる。AJAX(ウェブブラウザ内で非同期通信を行いながらインターフェイスの構築を行うプログラミング手法)でよく使われる。
- オリジン
二つのページのプロトコル、ポート番号 (もしあれば)、ホストが等しい場合、両者のページは同じオリジンである。(セキスペの問題で出た)
例えば、https://google.com:443みたいなもの。
- 同一オリジンポリシー(CORS)
追加の HTTPヘッダーを使用して、あるオリジンで動作しているウェブアプリケーションに、異なるオリジンにある選択されたリソースへのアクセス権を与えるようブラウザーに指示するための仕組みである。ウェブアプリケーションは、自分とは異なるオリジン (ドメイン、プロトコル、ポート番号) にあるリソースをリクエストするとき、オリジン間 HTTP リクエストを実行する。
kongみたいなAPIゲートウェイを挟んでページの行き来したりするとこのポリシーに引っかかって、nginxの設定を書き換えねば、、みたいなことになったりした気がする。
- UserAgent
ホームページを見るとき、各ブラウザが使用しているパソコンのブラウザやOSの情報を発信しいる。この情報をユーザーエージェント(User-Agent)とよぶ。
- 参考URL
XMLHttpRequest - Web API | MDN
情報処理安全確保支援士_メール
- S/MIME(Secure/Multipurpose Internet Mail Extensions)
電子メールのセキュリティを向上する暗号化方式である。
電子証明書を用いてメールの暗号化とメールへの電子署名を行うことができる。
送信者と受信者側の両方がS/MIMEに対応する電子メールソフトを使用している必要がある。
主に、盗聴、なりすまし、改竄のリスクを回避できる。それぞれ、メールの暗号化、電子署名、暗号化および電子署名、で対応できる。
- POP(Post Office Protcol)
POP3と同義で良いと思われる。POPがバージョンアップして、今現在はPOPv3になっている、というイメージ。
- POP3
メールを受信するの手順のことである。サーバにあるメールをパソコン等の端末等にダウンロードして、端末上でメールを管理する。
- IMAP(Internet Message Access Protcol)
メールを受信する手順のことである。サーバにあるメールをパソコン等の端末等にダウンロードはせず、サーバ上でメールを管理する。
- SMTP(Simple Main Transfer Protcol)
メールを送信するの手順のことで、メールを相手のメールサーバまで届ける仕組みである。
- 参考URL
S/MIMEとは?メールへの電子署名と暗号化の仕組み|GMOグローバルサイン【公式】
メール設定で最初につまずく『SMTP』『POP』『IMAP』 その意味&設定方法は?|TIME&SPACE by KDDI
情報処理安全確保支援士_DNS
- DNS
ルートゾーンを起点としたツリー構造を持つ、世界中に存在する多数のサーバが強調しあって動作する分散データベースである。
このサーバ群にアクセスすることで、ホスト名からIPアドレスを検索したりすることができる。
- 権威DNSサーバ
自身が管理している情報を教える役割をもつDNSサーバであり、DNSの分散データベースを構成するサーバである。
- DNSリフレクション攻撃
攻撃対象者をサービス不能にするDoS (Denial of Service)攻撃手法のうち、 DNSを用いて行われるものである。
攻撃者は、DNSへの問い合わせメッセージ中にある送信元IPアドレスを、 本来の送信元ではなく攻撃対象ホストのIPアドレスに偽装し、 踏み台となる(攻撃対象とは異なる)DNSサーバに問い合わせを送る。受け取った踏み台サーバは、回答先として攻撃者ではなく、DNSメッセージ中のIPアドレス、 つまり攻撃対象のホストに対して回答を送信する。こうすることで、攻撃者は自分のホストからではなく、 踏み台を経由して攻撃対象にDNSメッセージを送ることができる。
BCP 38のようなIPアドレスの偽装をしにくくする手段を各ISPが採用する、 また、オープンリゾルバのような踏み台になりやすいDNSサーバを減らすといった方法で攻撃を軽減できる。
- DNS増幅攻撃(DNS amplification attack)
DNSではプロトコルの性質である、 メッセージのサイズは問い合わせよりも回答の方が大きくなりやすいことを利用して、 攻撃者の利用できる帯域よりも大量のトラフィックを、 攻撃対象に対し容易に集中させる攻撃である。DNSリフレクション攻撃の一種である。
- Water Torture(水責め)
DNSにランダムなサブドメインを含む問い合わせを行い、 帯域をあまり消費せずに攻撃対象の権威サーバに負荷をかける攻撃である。
- DNSの各レコードについて
参考URLを参照すると詳しく書いてある。
- 参考URL
情報処理安全確保支援士_デジタル署名
情報処理安全確保支援士(2021春)を取ろうと思いたったので、過去問を解いた時に分からなかったことを調べてメモしていきます。
- デジタル署名
インターネット上でのデータ送信において、送信されてきたデータが送信者本人からのものであるかどうかを証明する技術である。データの送信者の証明ができるので、データが改竄されていないことも証明できる。公開鍵暗号を応用した技術である。
送信するデータからハッシュ値を算出し、送信者が持つ秘密鍵で暗号化した上でデータと一緒に送信する。受信側では、公開鍵でハッシュ値を復号し、受信したデータから算出したハッシュ値と同じであればデータが正しいと判断できる。
- デジタル証明書
デジタル署名だけでは、配布されている公開鍵が本当に正しいのかどうかを確認することができない。そのため、デジタル署名にデジタル証明書を付加することで、データ改竄されたかどうか、公開鍵が正しいかどうかを検知する。また、認証局を通してデータの作成者を証明できる。
デジタル証明書はサーバの公開鍵や所有者情報と、それらから算出したハッシュ値を認証局の秘密鍵で暗号化したものである。
- コードサイニング証明書
ソフトウェアにデジタル署名を行う電子署名用の証明書である。ソフトウェアの配布元を認証し、なりすましや内容の改ざんなどがされていないことを保証し、ユーザの手元に責任をもってソフトウェアを届けることができる。
- CSR(Certificate Signing Request)
公開鍵証明書を申し込むために認証局へ送られるメッセージである。
- CRL(Certificate Revocation List)
有効期限よりも前に失効させたデジタル証明書のリストである。
デジタル証明書の誤発行やデジタル証明書の秘密鍵を紛失した場合に、悪用刺されるのを防ぐことを目的としてCRLに登録する。
- OCSP(Online Certificate Status Protcol)
CRL を使わずにディジタル証明書の現在の状態を判断できるプロトコルである。
OCSPクライアントにOCSPサーバにデジタル証明書の有効性を確認させることで、元々CRLを必要としていたクライアント側でもCRL取得・照合作業の手間を省くことができる。
- 参考URL
https://jp.globalsign.com/service/codesign/knowledge/