図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

書籍情報

発売日 : 2021年09月24日

著者/編集 : 光成滋生

出版社 : 技術評論社

発行形態 : 単行本

書籍説明

内容紹介

豊富な図解と丁寧な解説で、知識0でもわかりやすい!DH鍵共有/公開鍵暗号/楕円曲線暗号/XTS-AES/OAuth/AEAD/AES-GCM/ChaCha20-Poly1305/TLS1.3/QUIC/デジタル署名/ECDSA/FIDO/WPA3/ブロックチェーン/秘密計算/準同型暗号/ゼロ知識証明/量子コンピュータ…アルゴリズムと安全性から高度な暗号技術までを解説!

目次

1章 暗号の基礎知識
01 情報セキュリティ
情報セキュリティの三要素
情報セキュリティと暗号技術
利便性とコスト
追加された要件
02 暗号
暗号とは
よい暗号と使い方
暗号の動向を知る
03 認証
パスワードによる認証
パスワード攻撃者の能力
パスワードの攻撃手法
認証の分類
認可
OAuth
04 古典暗号
シフト暗号
換字式暗号
符号化


2章 アルゴリズムと安全性
05 アルゴリズム
アルゴリズムとは
アルゴリズムのステップ数
効率のよい探索
06 安全性
O記法
ビットと表現可能な範囲
セキュリティパラメータ
07 暗号技術の危殆化
コンピュータの性能向上と暗号の安全性
運用監視暗号リストと推奨暗号リスト
危殆化の問題点


3章 共通鍵暗号
08 共通鍵暗号
共通鍵暗号とは
共通鍵暗号に求められる安全性
共通鍵暗号の種類
09 ビットと排他的論理和
1ビットの基本変換
論理積と論理和
排他的論理和
交換法則と結合法則
排他的論理和の重要な性質
10 乱数
真の乱数
コンピュータで扱う乱数
擬似乱数
擬似ランダム関数
11 ワンタイムパッド
排他的論理和とワンタイムパッド
情報理論的安全性
ワンタイムパッドの欠点
12 ストリーム暗号
ワンタイムパッドとストリーム暗号
計算量的安全性
ストリーム暗号の歴史
ナンス
ChaCha20
13 ブロック暗号
ブロック暗号
ブロック暗号の歴史
AESの概要
AESの初期設定
ラウンド関数
AES-NI
14 確率的アルゴリズム
いつでも同じ暗号文は危険
確率的アルゴリズム
15 暗号化モード
ECB(Electronic CodeBook)モード
CBC(Cipher Block Chaining)モード
CTR(CounTeR)モード
CBCモードとCTRモードの比較
CBCモードに対する攻撃
16 ディスクの暗号化
TPM
ディスクの構造
XTS-AESの概要
XTS-AESの暗号化
XTS-AESの安全性
自己暗号化ドライブ
17 暗号文の改竄とリプレイ攻撃
暗号文の改竄
リプレイ攻撃


4章 公開鍵暗号
18 鍵共有
現代暗号の始まり
ベキ乗
DH鍵共有
DH鍵共有の安全性
DLPと一方向性関数
ベキ乗の計算方法
19 有限体と拡大体
有限体
拡大体
20 公開鍵暗号
公開鍵暗号の概念
共通鍵暗号との違い
強秘匿性と頑強性
ハイブリッド暗号
21 RSA暗号
RSA暗号の具体例
RSA暗号の作り方
RSA暗号の安全性
22 OpenSSLによるRSA暗号の鍵の作り方
OpenSSL
RSA暗号の秘密鍵と公開鍵の作成方法
秘密鍵と公開鍵の確認方法
Pythonによる鍵の設定方法
PythonによるRSA暗号の動作確認
23 楕円曲線暗号
楕円曲線
楕円曲線上の演算
楕円曲線の加算公式
ECDHPとECDLP
ECDH鍵共有
楕円曲線暗号の特長
24 中間者攻撃
ECDH鍵共有への中間者攻撃
公開鍵暗号への中間者攻撃


5章 認証
25 ハッシュ関数
指紋とハッシュ関数
ハッシュ関数とは
誕生日パラドックス
ハッシュ関数の歴史
パスワードとハッシュ関数
パスワードの安全な保存方法
ファイルのパスワード暗号化
26 SHA-2とSHA-3
SHA-2
SHA-3
安全性
27 SHA-1の衝突
SHA-1への攻撃の歴史
衝突したPDFとSHA-1のアルゴリズム
衝突困難性の破り方
PDFに2個のJPEGを埋め込む方法
28 メッセージ認証符号
MACのアルゴリズム
完全性と秘匿性
MACの安全性
MACの構成法
29 署名
紙の署名とデジタル署名
署名のモデル
署名の安全性
MACと署名
ECDSA
公開鍵認証
FIDO
30 サイドチャネル攻撃
電力解析攻撃
コールド・ブート攻撃
31 タイムスタンプ
否認防止と署名の失効
ハッシュ値の連鎖によるタイムスタンプ
署名を用いたタイムスタンプ
日本のタイムスタンプ
32 ブロックチェーンとビットコイン
ブロックチェーン
ビットコイン
トランザクション
二重送金の防止とマイニング


6章 公開鍵基盤
33 公開鍵基盤
互いに依存する暗号技術
信用の輪
公開鍵基盤と認証局
フィンガープリント
34 公開鍵証明書の失効
証明書失効リスト
CRLの問題点
OCSP
OCSPステープリング
その他の方法
35 公開鍵証明書と電子証明書の発行方法
ドメイン名
ドメイン認証
ドメイン認証の問題点
組織認証
拡張認証
署名の電子証明書
36 証明書の透明性
問題のある認証局や証明書
証明書の透明性


7章 TLS
37 TLS
HTTPとHTTPS
SSL/TLSの歴史
TLS 1.3の特長
ハンドシェイクの効率化
暗号化アルゴリズムの整備
新しい鍵導出アルゴリズム
形式手法による安全性検証
38 認証付き暗号
秘匿性と完全性
AEADのアルゴリズム
AES-GCM
ChaCha20-Poly1305
39 前方秘匿性
盗聴と秘密鍵の漏洩
前方秘匿性


8章 ネットワークセキュリティ
40 DNS
権威DNSサーバとキャッシュDNSサーバ
キャッシュ・ポイズニング
DNSSEC
パブリックDNSサーバ
DoTとDoH
ESNIとECH
HPKE
41 メール
SMTPとPOP3
S/MIME
Webメール
42 VPN
インターネットプロトコルスイート
データ構造
LANからインターネットへ
VPN
VPNの種別
IPsec
43 HTTP/3
HTTP/2
QUIC
HTTP/3
44 無線LAN
無線LANの概要
スプーフィングと認証解除攻撃
WEP
WPA2
KRACK
WPA3


9章 高機能な暗号技術
45 準同型暗号
準同型
加法準同型暗号
完全準同型暗号
準同型暗号の種類と用途
46 秘密計算
MPC
秘密分散
VSSとDKGとBLS署名
3PC
3PCの詳細
47 ゼロ知識証明
動機
ゼロ知識証明
ゼロ知識証明の性質
ゼロ知識証明とブロックチェーン
48 量子コンピュータ
量子ビットと観測
量子ゲート
CNOTゲートと量子もつれ
量子コンピュータにおける計算
量子超越性
暗号技術に対する影響
量子ゲート方式と量子アニーリング方式
量子鍵配送
耐量子計算機暗号

著者情報

光成, 滋生
光成滋生
サイボウズ・ラボで暗号とセキュリティに関するR&Dに従事。 ペアリング暗号やBLS署名ライブラリ、JITアセンブラXbyakを開発し、Ethereumなど多数のブロックチェーンプロジェクトやIntelの深層学習ライブラリに採用されている。 またスーパーコンピュータ富岳の深層学習ライブラリの開発にも関わる。 2004年IPA未踏スーパークリエータ、2005年情報化月間推進会議議長表彰、2010年電子情報通信学会論文賞、2015年CODE BLUE登壇、Microsoft MVP(2015~2021)など。 著者に『応用数理ハンドブック』 (朝倉書店:楕円曲線暗号とペアリング暗号の項目担当)、『クラウドを支えるこれからの暗号技術』(秀和システム)、『パターン認識と機械学習の学習普及版』(暗黒通信団)などがある。