ISBN 9784297133542
今さら聞けない暗号技術&認証・認可 Web系エンジニア必須のセキュリティ基礎力をUP
概要
Webセキュリティの暗号基礎からOAuth/OIDC実装まで体系的に習得する
想定読者
WebアプリやAPIの開発・運用に携わり、SSL/TLS・OAuth・OpenID Connectを実務で扱いながらも基礎原理を体系的に学んだことがないエンジニア
こんな人には向いていない
- 暗号理論の数学的証明や実装の内部詳細を求める上級者には、本書の解説は原理の概観にとどまり深度が物足りない
- セキュリティ診断・ペネトレーションテスト・インシデント対応など攻撃側の手法を学びたい人は対象外
- Pythonによる楕円曲線暗号実装(第1章末)以外にはコード演習がなく、実装を中心に学びたい読者には補完教材が必要
読了後にできるようになること
- 公開鍵暗号・共通鍵暗号・デジタル証明書・電子署名の原理を用語レベルから体系的に説明できる
- SSL/TLSのハンドシェイクの流れとLet's Encryptによる証明書発行・更新の手順を理解できる
- SSHによるリモートログイン・コマンド実行・トンネリングの基本設定とトラブルシューティングができる
- 認証と認可の違い、およびクラウド時代のID管理技術(IDaaS・フェデレーション)の概念を整理できる
- OAuthのフロー(認可コードフロー等)のリクエスト・レスポンスパラメータの意味を具体的に説明できる
- OpenID ConnectのIDトークン(JWT)とトークンハンドリングの基本を実務に即して理解できる
本書のキー概念(章解説)
- 第 1 章 今さら聞けない暗号技術 — 公開鍵暗号・共通鍵暗号・楕円曲線暗号の実装まで扱う。数学的背景に踏み込む唯一の章で、後続章の基礎となる
- 第 2 章 実務に活かせるSSL/TLS入門 — TLSの全体像とLet's Encryptの実践を扱う。現場で証明書管理を担当する読者は最優先で読む価値がある
- 第 3 章 今さら聞けないSSH — SSHの基本設定から便利な使い方・トラブルシューティングまで実務直結の内容。インフラ担当者に特に有用
- 第 4 章 今さら聞けない認証・認可 — 認証・認可の概念整理とクラウド時代のID管理技術を扱う。アプリ開発者が実装判断を下す際の基礎知識として参照価値が高い
- 第 5 章 挫折しないOAuth/OpenID Connect入門 — OAuthのフローからJWTのトークンハンドリングまでを丁寧に解説。最も言及が多い章で、実務でOIDCを扱う読者に特に有用
ハイライト
- 公開鍵暗号、共通鍵暗号、ディジタル証明書、電子署名、認証・認可などの基礎技術の用語や理論の説明から、SSL/TLS、SSH、OAuth、OpenID Connectなど各種の規約やプロダクトの使い方までを解説します(本書のスコープが広範であることを端的に示す記述。暗号理論から認証プロトコルまで一冊で扱う構成の全体像が分かる)
- OAuthについて実際にパラメータの中身は?レスポンスやリクエストには何が含まれているの?みたいなことを理解するには個人的には理解しやすかったりしました(OAuthの仕組みを概念ではなくパラメータレベルで把握したい読者にとっての本書の有用性が実体験として示されている)
外部からの言及
- デジタルアイデンティティ領域のエンジニアが推薦する書籍リストに選出されており、暗号技術からIDaaS・OAuth/OpenID Connectの仕組みをまとめて扱う点が評価されている(qiita)
- 情報処理安全確保支援士の資格学習中にOAuthの詳細理解を深める補助資料として活用されており、プロトコルのパラメータレベルの理解に役立つという実体験が報告されている(qiita)
- OIDC認証の入門書を探している読者向けの推薦書5選に選出されており、Webシステムのセキュリティ基礎を幅広く解説する点が選定理由として挙げられている(qiita)
編集メモ
Qiita言及3件 / 累計likes 47 / 直近ではデジタルアイデンティティ分野の推薦書リストや資格試験の参考書リストに掲載。essential基準(10件以上かつlikes 200以上)・practical基準(5件以上)には届かず、補完的選択肢として位置づける
読む前に押さえておきたいこと
- HTTPSを使ったWebアプリ開発の実務経験(ブラウザとサーバー間の通信の大まかな流れを知っている程度)
- Linux基本コマンドの操作経験(第3章のSSHトラブルシューティングを読む際に役立つ)
学習のコツ
- OAuthやOIDCを最優先で学びたい場合は第5章から先に読み、第1章の暗号理論を後から参照する読み方が実務直結度を高める
- 第1章の楕円曲線暗号Pythonコードは、動かさなくても概念理解は進む。数学部分で詰まったら飛ばして第2章以降へ進んでよい
- 第3章(SSH)は他の章とほぼ独立しているため、インフラ担当・バックエンドで必要になったタイミングで単独参照できる
- Software Designの特集再編集版のため、各章が独立した記事構成になっている。関心のある章から読み始めても理解が途切れにくい
出版社による内容紹介
本書は、Webシステムのセキュリティを支える技術を幅広く解説します。具体的には、公開鍵暗号、共通鍵暗号、ディジタル証明書、電子署名、認証・認可などの基礎技術の用語や理論の説明から、それらを応用したSSL/TLS、SSH、OAuth、OpenID Connectなど各種の規約やプロダクトの使い方までを解説します。 今やWebシステムは社会や経済を支える基盤となっており、Webシステムの開発・運用に携わるITエンジニアは前述の技術の理解が欠かせません。暗号技術、認証・認可にかかわる基礎教養と具体的な規約・プロダクトをこの1冊で学べます。 本書は、IT月刊誌『Software Design』の暗号技術、認証・認可に関連する特集記事などを再編集した書籍です。 第1章 今さら聞けない暗号技術 1-1 ネット社会を支える暗号化のキホン 1-2 公開鍵暗号と共通鍵暗号のしくみ 1-3 暗号を使った認証技術 1-4 Pythonによる楕円曲線暗号の実装 第2章 実務に活かせるSSL/TLS入門 2-1 SSL/TLS総ざらい 2-2 Let's Encryptで実践する証明書の発行/更新 第3章 今さら聞けないSSH 3-1 リモートログインとコマンドの実行 3-2 SSHの便利な使い方&トラブルシューティング 第4章 今さら聞けない認証・認可 4-1 アプリケーション開発を行う際に押さえておきたい認証・認可とは 4-2 認証・認可のしくみとフロー 4-3 クラウド時代のID管理技術 4-4 インターネット上で安全な認証・認可を実現するための取り組み 第5章 挫折しないOAuth/OpenID Connect入門 5-1 OAuthとは、OpenID Connectとは 5-2 知っておきたい仕様と規格 5-3 トークンハンドリングの基本
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。