0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【セキュリティ】CAPTCHAとは何か

0
Posted at

はじめに

― 人間とボットを分ける最後の関門 ―

ログイン、会員登録、問い合わせフォーム。
これらはすべて 攻撃者にとって“おいしい入口” です。

  • ブルートフォース
  • アカウント乗っ取り
  • スパム投稿
  • リソース枯渇(DoS)

そこで登場するのが CAPTCHA です。


CAPTCHAの定義

CAPTCHA とは:

人間には簡単だが、プログラム(ボット)には困難な課題を解かせることで、人間であることを判定する仕組み

正式名称は
Completely Automated Public Turing test to tell Computers and Humans Apart

名前からして強気です。


CAPTCHAは「認証」ではない

ここ、かなり重要です。

項目 CAPTCHA 認証
目的 人間かどうか 誰か
保証 しない する
位置づけ 防御補助 中核

👉 CAPTCHAは
「本人確認」ではなく「自動化排除」


なぜCAPTCHAが必要か

防げる攻撃

  • パスワード総当たり
  • クレデンシャルスタッフィング
  • ボットによる大量登録
  • スパム投稿

防げないもの

  • 人間が操作する攻撃
  • CAPTCHA解決代行
  • AI画像認識(年々強化)

👉 万能ではないが、ないと一気に荒れる


CAPTCHAの主な種類

1. 文字認識型(古典)

  • 歪んだ文字を読む
  • OCR対策が目的

❌ UXが悪い
❌ AIに弱くなった


2. 画像選択型

  • 「信号機を選べ」
  • 文脈理解を要求

代表例:reCAPTCHA


3. チェックボックス型

  • 「私はロボットではありません」
  • 裏で挙動分析

👉 実は一番CAPTCHAっぽくない


4. 非表示型(スコア型)

  • ユーザー操作なし
  • 行動・環境・履歴から判定

UX最強
透明すぎて存在を忘れる


CAPTCHAの内部で見られているもの

表では簡単、裏ではガチ。

  • マウス移動の揺らぎ
  • クリックのタイミング
  • ブラウザ指紋
  • Cookie履歴
  • IPレピュテーション

👉 「解答」より「振る舞い」


CAPTCHAの限界(現実)

1. AIが普通に解く

  • 画像認識
  • 文字認識
  • 音声認識

👉 CAPTCHAは 人類 vs AI の軍拡競争


2. 人力解決サービス

  • 数円〜数十円/回
  • 攻撃者から見れば安い

3. UX破壊

  • アクセシビリティ問題
  • 高齢者・障害者に不利

現代における正しい位置づけ

CAPTCHAは 単体では弱い
だから今はこう使われます:

CAPTCHA
  ×
リスクベース判定
  ×
レート制限
  ×
MFA

最後のブレーキ


SSO・認証との関係

  • CAPTCHAは 認証の前段
  • SSOやOIDCの代替ではない
  • 怪しいときだけ出すのが正解

例:

  • 普段:SSOで即ログイン
  • 怪しい:CAPTCHA → MFA

よくある誤解

誤解 実際
CAPTCHAがあれば安全
難しくすれば強い
自作すれば安上がり
全員に出すべき

まとめ

  • CAPTCHAは ボット排除装置
  • 認証・本人確認ではない
  • 単体では弱い
  • 枯れた実装 + 条件付き表示 が正解

CAPTCHAは
「信用しないための仕組み」
ではなく
「疑うための仕組み」

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?