AI・IT用語辞典
セキュリティ・認証用語集
認証、OAuth、攻撃と対策など、Webサービスを安全に守る仕組みを学びます。
LEARNING PATH
まず覚えたいセキュリティ用語
左から順に読むと、用語同士のつながりが見えてきます。
- 01認証アクセスしてきた相手が名乗ったとおりの本人かを確かめる仕組み。パスワードや生体情報で身元を確認し、その後の権限判定の土台になります。
- 02認可ログイン済みの相手に、その操作を許すかどうかを判定する仕組み。誰であるかを確かめる認証の次に来る、何をしてよいかを決める工程です。
- 03パスワード本人だけが知る文字列で認証する仕組み。保管側は元に戻せない形へ変換して持ち、漏洩しても本人になりすまされないようにする必要があります。
- 04セッションサーバー側が利用者ごとの状態を覚えておく仕組み。毎回接続が切れるHTTPでもログイン状態を続けさせるために、識別子をブラウザへ預けて紐づけます。
- 05JWTログイン済みであることを、署名付きの文字列そのものに書いて持ち歩かせる方式。サーバーが状態を預からずに済むので、複数台に分散した API でも認証が通ります。
- 06OAuthパスワードを渡さずに、別サービスのデータへのアクセス権だけを他のアプリへ委譲する仕組み。ソーシャルログインの土台にもなっています。
- 07XSS利用者のブラウザ上で攻撃者のスクリプトを実行させてしまう脆弱性。入力値をそのままHTMLに差し込むと起き、クッキー窃取や偽の入力画面表示につながります。
- 08CSRFログイン中の利用者に、本人が意図しない操作を裏側で実行させる攻撃。送信元を確かめる仕組みが無いサイトで成立し、退会や送金が勝手に走ります。
- 09CSPページが読み込んでよいスクリプトや画像の出どころを、ブラウザ側で制限する仕組み。XSS で差し込まれたコードの実行を止める最後の砦です。
用語から探す
セキュリティ・認証の用語一覧
authMiddleware
authmiddleware各リクエストの手前でトークンを検証し、通過の可否を決める共通処理。ルートごとに認証コードを書かずに保護範囲をまとめて管理できます。
CSP
cspページが読み込んでよいスクリプトや画像の出どころを、ブラウザ側で制限する仕組み。XSS で差し込まれたコードの実行を止める最後の砦です。
CSRF
csrfログイン中の利用者に、本人が意図しない操作を裏側で実行させる攻撃。送信元を確かめる仕組みが無いサイトで成立し、退会や送金が勝手に走ります。
JWT
jwtログイン済みであることを、署名付きの文字列そのものに書いて持ち歩かせる方式。サーバーが状態を預からずに済むので、複数台に分散した API でも認証が通ります。
jwt.sign
jwt.signjsonwebtoken パッケージでトークンを発行する関数。中身と秘密鍵と有効期限を渡し、署名付きの文字列を作ります。
jwt.verify
jwt.verify受け取った JWT の署名と有効期限を検査し、中身の payload を安全に取り出す関数。改ざんされたトークンをここで弾きます。
OAuth
oauthパスワードを渡さずに、別サービスのデータへのアクセス権だけを他のアプリへ委譲する仕組み。ソーシャルログインの土台にもなっています。
SSL証明書
サイトの身元と公開鍵を認証局が保証する電子ファイル。通信の暗号化と、偽サイトへのなりすまし防止の両方を支える土台になっています。
XSS
xss利用者のブラウザ上で攻撃者のスクリプトを実行させてしまう脆弱性。入力値をそのままHTMLに差し込むと起き、クッキー窃取や偽の入力画面表示につながります。
クリックジャッキング
クリックジャッキング透明にした別サイトの画面を重ね、利用者に見えているボタンとは違うものを押させる攻撃。表示側のヘッダ設定で枠内表示を禁じて防ぎます。
セッション
セッションサーバー側が利用者ごとの状態を覚えておく仕組み。毎回接続が切れるHTTPでもログイン状態を続けさせるために、識別子をブラウザへ預けて紐づけます。
セッションタイムアウト
セッションタイムアウト一定時間操作がないログイン状態を自動的に無効にする仕組み。放置された端末から他人が入り込むのを防ぐために、期限を決めて区切ります。
セッションハイジャック
セッションハイジャックログイン中の利用者のセッション ID を盗み、その人になりすまして操作する攻撃。パスワードを知らなくても侵入できるため、Cookie の守り方が要点になります。
ソルト
ソルトパスワードをハッシュ化する前に足す利用者ごとのランダム値。同じパスワードでも別の結果にして、まとめ攻撃を成立させなくします。
パスワード
パスワード本人だけが知る文字列で認証する仕組み。保管側は元に戻せない形へ変換して持ち、漏洩しても本人になりすまされないようにする必要があります。
ハッシュ化
入力を固定長の値へ一方向に変換する処理。元に戻せない性質を使い、パスワードを預かりながら平文では持たない設計を作れます。
フロントエンド
フロントエンド利用者のブラウザや画面上で動く部分の総称。見た目の組み立てと操作への反応を担当し、必要なデータはサーバー側へ通信して取りに行きます。
ミドルウェア
ミドルウェアリクエストが本処理に届く前と、応答が返る途中に割り込ませる共通処理。ログや認証チェックを各処理へ書き写さず、1 か所にまとめておくために使います。
リクエストヘッダー
リクエストヘッダーHTTP リクエストの本文とは別に添える付帯情報。認証トークンや受け取りたい形式、送信元の種類などをサーバーへ伝えます。
環境変数
OSやコンテナからプログラムへ値を渡す仕組み。接続先や秘密鍵をコードの外へ出し、開発と本番で同じコードのまま設定だけを切り替えられます。
署名付きURL
有効期限と許可する操作を署名として埋め込んだ URL。非公開のファイルを、鍵を配らずに一時的に取得させるための仕組みです。
認可
ログイン済みの相手に、その操作を許すかどうかを判定する仕組み。誰であるかを確かめる認証の次に来る、何をしてよいかを決める工程です。
認証
アクセスしてきた相手が名乗ったとおりの本人かを確かめる仕組み。パスワードや生体情報で身元を確認し、その後の権限判定の土台になります。
認証フィルター
リクエストが本処理に届く前に割り込んで、ログイン済みかどうかを判定する共通の関門。各画面に認証チェックを書かずに済ませる仕組みです。
秘密鍵
公開鍵と対になり、本人だけが手元に持ち続ける鍵。SSH ログインや電子署名の生成に使われ、これが漏れると本人になりすまされます。
ほかの領域から探す
COURSES
セキュリティを学べるコース
このセキュリティ用語集で扱う言葉と結びついた公開教材を、学ぶ順番がわかるコース単位でまとめました。
Node.js
ブラウザの外で、サーバーを自分で立てる。
Linux
自分のサイトを公開し、壊れても直せるようにする。
AWSクラウド
クラウド上に、落ちない構成を設計する。
ITパスポート
IT知識ゼロから、就職で使える資格をとる。