CAPTCHAとは?CAPTCHA認証の方式8つと目的例3つ

CAPTCHAとは?CAPTCHA認証の方式8つと目的例3つのアイキャッチイメージ

CAPTCHAとは?

CAPTCHAとは、応答しているのがマシンでないことを判別するためのテストをするソフトウェアです。人間と機械を判別するための方法として、アラン・チューリングが提唱したチューリングテストが採用されています。このテストはAIと人を判別できる内容となっています。CAPTCHAを活用すれば、自動化された大量のアクセスを事前に避けることができます。Webアプリで使われているCAPTHCAには、歪んだ画像から文字列を読み取るようなチューリングテストが多く用いられています。

CAPTCHAの仕組み

CAPTCHAは、マシンが認証できない質問を行って人間と識別しています。その内容は、歪ませたもしくは多色の中の文字を読ませる・特定の画像を選ばせる・簡単な数式を解かせる・断片的に聞こえる音に反応する・パズルのピースを当てはめるなどのチューリングテストです。その際に、I’m not a robot(私はロボットではありません)というメッセージが出て所定の位置にチェックを入れる機能が付随しています。

CAPTCHAの役割

CAPTCHAは、自動化されたWebクライアントから大量のリクエストを送られては困る場合に、マシンと人間を識別するために改良されたシステムです。CAPTCHAは会員登録・メッセージ投稿フォームなどによく使われている機能です。CAPTCHAは1997年にAltaVistaの社員によって作られました。自動化されたタスクを実行するアプリであるボットが、様々なコンピュータのサービスを追加することを防ぐために開発されたシステムです。

CAPTCHA認証の方式8つ

CAPTCHAの色々な認証方法を8つ選出して、説明していきます。CAPTCHAに採用されているチューリングテストには様々な種類があります。それらを8つ紹介していきます。チューリングテストは、機械は思考できるのかという研究が発端で出来上がりました。そしてイギリスの数学者チューリングは、機械が人間に近い振る舞いをしているかどうかを見極めるための試験方法を確立しました。その方式が、CAPTCHAに使われています。

方式1:文字認証

CAPTCHAの代表的な方法は文字認証です。対象となる人物に歪んだり掠れたりバックの模様と一体化したりして、わざと読みにくくした数字や文字が書かれたテキストを表示して、読んで入力してもらいます。正しい場合は人間だと判断されてOKが出されますが、間違えるとCAPTCHAがマシンだと判断するので、それ以上は先へ進めないシステムになっています。文字認証は現在、スパム行為に対しても有効で簡単なCAPTCHAとして、世界中で普及しているようです。

方式2:チェックボックス

グーグルの新しいCAPTCHAは、「私はロボットではありません」と書かれたボックスにチェックを入れるだけで認証ができます。いままではCAPTCHAが行うチューリングテストをクリアしないと、人間だと識別されませんでした。しかし現在のCAPTCHAは、チェックボックスをクリックするだけでロボットではないと判断されます。詳しい判定基準は公開されていませんが、人間だと診断されるまでの時間が短縮されて面倒なテストをする手間が無くなり、CAPTCHAの煩わしさが軽減されたでしょう。

方式3:音声認証

音声認証とは、ログイン時などにランダムな数字を音声で流して入力してもらい、人間だと判断するCAPTCHAです。音声のバックにノイズが入っていて、AIなどからの不正アクセスを防ぐ工夫がされています。人工知能の発達と共に、年々制度が上がっています。音声認証は視覚障害者が利用できるメリットがあります。また、あらゆる年齢層の人が、色々な場所において短時間でCAPTCHAできる利点もあります。

方式4:スライダー型

スライダーを指定された位置に移動させて人間だと認識させる、スライダー型というCAPTCHAがあります。スライダーとは、スクロールバーに付いているツマミを指す名称です。スクロール(巻物)バーとは、パソコンの画面などを上下左右に動かす際に、右端または下端に出てくる棒状に表示されるシステムです。スライダーは、マウスで摘まむ、または矢印ボタンを使うことで操作できます。

方式5:画像認識

不正なタスクを繰り返す悪質なボットに対応するため、CAPTCHAの画像認識が有効です。画像認識のCAPTCHAは、識別方法が繊細でとても高度なので、人間側の負担を高めることがあります。CAPTCHAのデメリットはチューリングテストの難解さと煩わしさではないでしょうか。しかし、スパムボットの性能が年々高まっているため、画像認識も難解さを増しています。CAPTCHAになかなか正解できず、困惑するユーザーもいるでしょう。

方式6:パズル型

パズル型のCAPTCHAは、広く普及しているチューリングテスト方法です。画面から抜け落ちているパズルのピースをドラッグして当てはめるだけの簡単なテストです。ピースの置き場所は誰が見てもわかるような内容になっています。パズル型のCAPTCHAはスライダー型の仲間です。マウスの使い方を修得していない人にとっては、スライダー型より高度な操作になります。また、パズル型に似ているCAPTCHAにアバター型があります。

方式7:ミニゲーム型

スライダー型をもっと進化させたCAPTCHAにミニゲーム型があります。パズル型と似たCAPTCHAで、ドラッグ操作でゲームをクリアさせて人間だと認証させる方法です。ゲームの内容は、赤ちゃんにあげる食べ物を選ぶ・ピザにトッピングするなど、簡単で楽しい内容です。少し時間が掛かりますが、誰でもクリアできる単純なゲーム内容になっています。絵だけで判断するゲームなので、文字を読むCAPTCHAよりも負担が軽減されています。

方式8:クイズ型

クイズ型のCAPTCHAもあります。単語の種類や綴りに関する簡単な問題に答えるだけで、人間だと認証してくれるCAPTCHAです。英語形式で誰でも解けるテストです。クイズ型のCAPTCHAは、ボットやAIの進化により見破られる可能性が高いことと、全部の言語に対応しきれないという課題があり、あまり普及していません。他に、友人の顔にネームを入力する、ソーシャル認証のCAPTCHAなどもあります。

CAPTCHAの目的例3つ

CAPTCHAがなぜ利用されているのか、具体的な目的について例をあげて説明していきます。人とロボットを識別するためにあるCAPTCHAは、不正を防止して悪意のある攻撃からシステムを守ることを目的に、Web上のセキュリティとして存在しています。ネット上には沢山の危険が存在しています。CAPTCHAはその中でも、特にロボットで自動化された大量のスパムや不正ログイン・アカウント作成に対応しています。

目的例1:スパム防止

CAPTCHAはスパムメール防止に役立っています。スパム(語源は初期のハッカーが使用したスパム缶という意味)とは迷惑メールのことで、特定のサイトへの誘導・個人情報や金銭の搾取などを目的とした詐欺・宣伝など悪質な行為を目的としたメールです。大量に送られてきた場合はサーバーダウンなどを引き起こす要因にもなるので、注意が必要です。テキスト・音声・クイズ・パズル・ミニゲームなど、様々な形式のCAPTCHAで撃退しています。

目的例2:アカウント作成

アカウント作成時に人間かロボットかをCAPTCHAのチャレンジレスポンス認証で識別して、不正ログイン・アクセスを防いでいます。アカウントとはIDとパスワードが1対になった個人認証です。マシンを使って不正にログインして情報を盗み出す・不要なアカウントを大量発生させるなどの、悪質な攻撃の対象になりやすいシステムです。CAPTCHAのように、質問に対する答えを別に用意した正解と合致させて、人間(本人)だと認証させるセキュリティ対策が有効です。

目的例3:不正ログイン防止

アカウントなどの不正ログインに対して、CAPTCHAを使用することで機密情報をしっかりと保護して、外部からの不正利用を防止しています。アカウントには、クレジットカード・住所・生年月日・電話番号・メールアドレス・仕事や家族構成・趣味などのプライベートに至るまで、多くの個人情報が含まれています。ログインする度にCAPTCHAでチューリングテストを行い、犯罪を未然に防いでいます。

CAPTCHAの脆弱性とは?

CAPTCHAはディープラーニング技術で回避できることが発表されました。従来のシステムであればCAPTCHAは有効ですが、多層構造のニューラルネットワークを利用して500個ほどのサンプルを作って実行すると、突破できることが実証されています。CAPTCHAには他に、Googleが開発したreCAPTCHAがあります。詳しい仕組みや内容は公開されていませんが、脆弱性はかなり修正されているようです。

CAPTCHAはセキュリティ面において役立っている

ボットがURLを追加することを防止するために始まったCAPTCHAは、いまや世界中のネットを不正アクセスから守ってくれています。スパム行為やサイト攻撃は深刻な被害をもたらします。CAPTCHAでネット上のセキュリティを強化して、安全なシステム構築を実現させていきましょう。