レッスン 1-5
認証の仕組み
パスワード、
読み終えたらパスキーが
この頁の流れ
パスワードは
出典を確かめた日 2026年10月24日
なぜ通るのか
小さな
どれも
パスワードの保存
保存した
SHA-256 のような
OWASP が
| 方式 | 最低限の設定 |
|---|---|
| Argon2id | 記憶 19 MiB、 |
| scrypt | 手間 2^17、 |
| bcrypt | 手間 10 以上。 |
セッション
ログインに
OWASP の
多要素認証とパスキー
リスト型攻撃は、
ただし NIST SP 800-63B は、
パスキー (WebAuthn と
- 鍵は
登録した サイトの 名前 (RP ID) ごとに 作られ、 ほかの 名前では 使えない - RP ID は、
開いている ページの ドメインか、 その 上位の ドメインに 限られる - ブラウザは、
署名する 中身に 開いている ページの 住所 (origin) を入れる - サーバーは
origin と RP ID の 要約が 自分の 物かを 確かめる
偽の
脆いコードと直したコード
ラボの
速いハッシュか、ソルトと手間を足すか
def store(pw):return hashlib.sha256(pw.encode()).hexdigest()def store(pw):salt = os.urandom(16)h = hashlib.scrypt(pw.encode(), salt=salt,n=2**17, r=8, p=1,maxmem=2**28)return salt + h2 人がhmac.compare_digest で
origin を見るか、見ないか
パスキーの
def verify(cdata, auth, chal):c = json.loads(cdata)return (c["type"] == "webauthn.get"and c["challenge"] == chal)def verify(cdata, auth, chal):c = json.loads(cdata)rp = hashlib.sha256(RP_ID.encode()).digest()return (c["type"] == "webauthn.get"and c["challenge"] == chaland c["origin"] == ORIGINand auth[:32] == rp)ORIGIN は https://shop.example、RP_ID は
ログでの見え方と検知
リスト型攻撃は、
login_failed user=u1021 src=lab-alogin_failed user=u2307 src=lab-alogin_failed user=u0815 src=lab-alogin_ok user=u3342 src=lab-a1 人ずつ
| 見る物 | な |
|---|---|
| 送り元ごとの、 | リスト型攻撃は |
| 失敗が | 当たった |
| origin が | 偽の |
| 多要素認証の | 例外は |
直し方と、直ったことの確かめ方
自分の
- 作業用の
フォルダで、 利用者の 表を 持つ 小さな ログインの 仕組みを 動かす (待ち受けは 127.0.0.1) - 脆い
storeで2 人に 同じ パスワードを 登録し、 表の 値が 同じに なる ことを 確かめる - 直した
コードに 置き換え、 値が 違う こと、 正しい パスワードでだけ 通る ことを 確かめる - ログインに
通ったら、 セッションの 番号を 作り 直すようにする - 下の
試験を 足し、 直す前の コードに 戻すと 試験が 落ちる ことも 確かめる - 終わったら、
作業用の フォルダごと消す
def test_same_pw_differs():assert store("haru") != store("haru") def test_other_origin_rejected():cd, ad = make("https://shop-example.test","shop-example.test")assert not verify(cd, ad, "abc")試験は
すでに
関わる事例
アスクルでは、
Colonial Pipeline では、
Change Healthcare では、
KADOKAWA では、
4 件とも、
- 2025年10月19日、
小売・ アスクル ランサムウェアEC・ 物流 被害 入口 例外的に多要素認証を 適用していなかった 業務委託先向けの 管理者 アカウントの IDと パスワードが 何らかの 方法で 漏れ、 不正に 使われた - 2025年9月29日、
製造 (飲料・ アサヒグループ ランサムウェア食品) 被害 入口 外部の攻撃者が、 グループ内拠点に ある ネットワーク 機器を 経由して 内部 ネットワークに 侵入した (具体的な 侵入の 日時や 経路の 詳細は 特定されていない) - 2024年6月8日、
出版 KADOKAWA・ メディア・ Web サービス グループ ランサムウェア 入口 社外の被害 大手 セキュリティ 専門企業の 調査に よると、 経路と 方法は 不明な ものの、 フィッシングなどの 攻撃に よって 従業員の アカウント情報が 窃取された ことが 根本原因と 推測された - 2024年5月26日、
情報処理・ イセトー ランサムウェア印刷 (受託業務) 被害 入口 VPNからの不正アクセスに より、 当社 ネットワークに 侵入された - 2024年2月21日、
医療 (診療報酬の Change Healthcare の請求と 支払いの処理) ランサムウェア 入口 2024年2月12日、被害 盗まれた 認証情報を 使って、 多要素認証の ない Change Healthcareの Citrix 遠隔接続 ポータルに 侵入された - 2023年10月17日、
通信 LINE・ インターネットサービス ヤフー 不正 入口 LINEアクセスに よる 情報漏えい ヤフーと 委託先の NAVER Cloud 社が、 それぞれセキュリティ 保守を 委託していた 企業の 従業員PCが マルウェアに 感染し、 攻撃者が その PCを 遠隔操作できる 状態になった - 2023年10月1日、
個人向け 23andMe 使い遺伝子検査・ 系譜 サービス 回しパスワードの 入口 他の乗っ取り被害 サービスから 漏れた メールアドレスと パスワードの 組み合わせを 使い、 2023年4月29日ごろから 少なくとも 5か月に わたって 使い 回しパスワードを 突く 攻撃 (クレデンシャルスタッフィング) が 行われた - 2023年7月4日、
港湾・ 名古屋港統一物流 ターミナルシステム (NUTS) ランサムウェア 入口 保守用被害 VPN 機器からの 侵入が 有力と された (感染経路は 断定されていない) - 2022年10月31日、医療 大阪急性期・
総合医療 入口 患者給食のセンター ランサムウェア 被害 委託事業者の 給食センターに、 リモート保守用の ファイアウォール (SSL-VPN) の 脆弱性か 漏洩していた IDと パスワードで 侵入され、 常時接続の RDPで 病院の 給食サーバーに 入られた - 2022年1月25日、
決済代行業 メタップスペイメント 決済データ 入口 決済漏えい 事案 データセンターサーバー 内の 加盟店向けアプリケーションに 存在した 脆弱性を 突かれ、 SQL インジェクション 攻撃を 受けた - 2021年10月31日、
病院 (公立) つるぎ町立半田病院 ランサムウェア 入口 リモート被害 保守用に 設置されていた Fortinet 社の VPN 装置 FortiGate 60Eの 既知の 脆弱性(CVE-2018-13379)が 放置されており、 2021年9月に 世界で 公開された 漏洩データの 中に 半田病院の グローバルIP アドレスと ID、 パスワードが 含まれていた。 この 認証情報を 使って 侵入された とみられる - 2021年7月2日、
リモート監視管理 (RMM) ソフトウェア Kaseya VSA サプライチェーン型ランサムウェア 入口 攻撃者は攻撃 Kaseyaの 統合型 リモート 監視管理 ソフトVSAに あった 脆弱性を 突いて VSA サーバーへの 不正な アクセス経路を 得た。 CISAは この 脆弱性を 後に CVE-2021-30116として 公表し、 認証前に セッションIDを 取得できる 情報漏えいの 脆弱性で、 既知の ランサムウェアキャンペーンでの 悪用が 確認されているとした - 2021年5月7日、
エネルギー (燃料パイプライン) Colonial Pipeline のランサムウェア 入口被害 使われていないはずの 古い 仮想 プライベートネットワーク (VPN) の アカウントが 攻撃者に 悪用された。 その アカウントは 複雑な パスワードでは あったが、 多要素認証は かかっていなかった - 2021年5月6日、
IT 富士通 ProjectWEB 不正サービス・ システム インテグレーション アクセス 入口 第三者がProjectWEBに 存在した 複数の 脆弱性の いずれかを 悪用して 正規の 利用者の IDと パスワードを 窃取し、 正常な 認証・ 正常な 通信に 見える 形で 外部から ツールへ ログインした - 2020年7月15日、
ソーシャルメディア Twitter 社内ツール 入口 攻撃者が乗っ 取りに よる 著名 アカウント 不正操作 Twitter 社員に 電話を かけ、 社内IT部門を 装って VPN接続の 不具合を 口実に、 本物 そっくりの 偽ログイン画面へ 認証情報を 入力させる 「ビッシング」で 最初の 侵入口を得た - 2019年7月2日、
バーコード決済サービス (QRコード決済) 7pay 不正利用事件 入口 攻撃者がどこかで 不正に 入手した IDと パスワードの リストを 使い、 7payの 利用者に なりすまして 不正アクセスを 試みた、 いわゆる リスト型 アカウントハッキングである 可能性が 高いと 会社は 結論づけた - 2018年9月5日、
航空運送 ブリティッシュ・エアウェイズ 決済 入口 貨物ページ 改ざん事件 サービス 業者 スイスポートの 従業員向けに 発行されていた リモートアクセス用 アカウントが 乗っ取られ、 多要素認証が 設定されていなかった ため、 そのまま BAの ネットワークへの 侵入を許した
確認クイズ
1 問目
ログインに、
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
打ち込む型の
2 問目
パスワードの
答えだと思う選択肢を押すと、その場で正誤と理由が開きます。
答え イ
速い
説明課題
次の
- パスキーが
フィッシングに 強い 理由を、 ドメインとの 結び 付きから
模範解答を見る
パスキーの
一次資料
どれも
- NIST Special Publication 800-63B (NIST、英語)。
パスワードは ソルトと 手間を 足して ハッシュに する こと、 打ち込む型は フィッシングに 強いと みなさない こと、 確かめる 側の 名前への 結び付き - Web Authentication An API for accessing Public Key Credentials Level 3 (W3C、英語)。
鍵が RP ごとに 作られる こと、 RP ID の 決まり、 origin と RP ID の 要約を 確かめる手順 - Password Storage Cheat Sheet (OWASP、英語)。
速い ハッシュが 向かない こと、 Argon2id と scrypt と bcrypt の設定 - Session Management Cheat Sheet (OWASP、英語)。
番号の 予測できなさと、 権限が 変わった ときの 作り直し - Credential Stuffing Prevention Cheat Sheet (OWASP、英語)。
多要素認証が リスト型攻撃への 最も 強い 守りであること - ランサムウェア
攻撃の 。アスクルの影響調査結果 および 安全性 強化に 向けた 取り組みの ご報告 第13報 (アスクル、 日本語、 2025年12月12日) サイバーセキュリティのページ から開ける 報告。 業務委託先の 管理者 アカウントに 例外的に 多要素認証が 無かった こと、 検知の 5 日後の 10月24日に 管理アカウントへ 多要素認証を 適用したこと - S. Hrg. 117-429 Threats to Critical Infrastructure, Examining the Colonial Pipeline Cyberattack (米上院 国土安全保障・
政府問題委 。員会、 英語、 2021年6月8日の 公聴会の記録) 古い VPN の プロファイルの 悪用 (CEO の 書面の 証言)、 その VPN が 1 つの 要素の 認証だけだった こと (質疑での CEO の答え) - Testimony of Andrew Witty, Chief Executive Officer, UnitedHealth Group (米下院 エネルギー・
商業委員会、 。委員会の英語、 2024年5月1日) 公聴会のページ に載る 証言書。 2024年2月12日に 盗まれた 認証情報で 遠隔接続の ポータルに 入られた こと、 その ポータルに 多要素認証が 無かったこと - ランサムウェア
攻撃に 。よる 情報漏洩に 関する お知らせ (KADOKAWA、 日本語、 2024年8月5日) フィッシングなどで 従業員の アカウント情報が 盗まれた ことが 根本原因と 推測され、 経路と 方法は 不明であること
次へ
次の