「私はロボットではありません」

タイトルにある「私はロボットではありません」という言葉、どこかで一度は目にしたことがあるのではないでしょうか。

フォームの入力画面やログイン画面に表示されるこれです。

本日はこの「私はロボットではありません」の種類や必要性について、説明したいと思います。

 

reCAPTCHA (リキャプチャ)とは?

「CAPTCHA」は「コンピューターと人間を区別するための完全自動化された公開チューリングテスト(Completely Automated Public Turing test to tell Computers and Humans Apart)」の頭字語です。人間はCAPTCHAを簡単に解くことができますが、「bot」やその他の悪意のあるソフトウェアにとってはCAPTCHAを理解することは困難です。reCAPTCHAはGoogleが提供している無料のサービスで、ウェブサイトをスパム行為や不正行為から保護します。

簡単に説明すると、「フォームからの迷惑メールの送信や不正アクセスなどからウェブサイトを守るための1つの手法」です。

ウェブサイトを作りお問い合わせフォームを設置したけど、たくさんの迷惑メール(海外からのメール等)が届いて大変だといったことはありませんか?

迷惑メールをメールサーバーやソフト側で選別することも可能ですが、これらもすべてを防げるわけではないですし、本当に必要なメールを迷惑メールに選別してしまう可能性もゼロではありません。

もちろん、reCAPTCHAで100%防げるわけでもないですが、まず送信させないというところで効果を得られる可能性はあります。

引用元:Google検索ヘルプ

 

reCAPTCHAは改良を重ね、reCAPTCHA v3まで公開されています。botの攻撃に悩まされているサイト運用者へのツールとしての「CAPTCHA」機能と、その判定データを有効活用するという意味を込めて「reCAPTCHA」という名前が採用されました。v1はbotではないと判断するための文字認証が複雑化し、人間でも読み取ることが難しくなったため、提供は終了しています。

主要なv3までの「reCAPTCHA」のバージョンと特徴はこのようになっています。

参照:youtube

Invisible reCAPTCHA v2

v1の終了後、reCAPTCHAはv2の時代になりましたが、v2ではチェックボックスを選択するという一手間が必要でした。この操作に対し「やらされている」と感じる方も多いのではないでしょうか。

そのチェックが不要になったのが、Invisible reCAPTCHAです。送信ボタンにreCAPTCHAのウィジェットをリンクさせておき、送信ボタンを押した際にbotである可能性があると判定された場合、v2と同じ画像認証が表示されます。

Googleは、判断ロジックの内容を公開していませんが、どのようなGoogleアカウントでログインしているのか、という点もbotかどうかの判断材料になるようです。

reCAPTCHA v2と比較してのメリット

  • レイアウトがスッキリしてイメージを損なわない
  • 画像認証判断がない場合、煩わしさがない。

認証の必要がない場合は、そのままフォーム登録が実行できます。

デメリット

  • 認証が必要だと判断された場合、突然画像認証の画面が表示され、不信感を与える。

ユーザーが送信ボタンを押したタイミングで、予告なく画像認証画面が表示されるため、なんらかのフィッシングの可能性などを考えて操作を躊躇するかもしれません。特に、ユーザーの年齢層が高い場合などは、ユーザーの戸惑いを軽減するコメントを記載するなどの配慮が必要になりそうです。

reCAPTCHA v3

2018年10月29日にGoogleからreCAPTCHAの新バージョンreCAPTCHA v3が正式公開されました。reCAPTCHA v3の最大の特徴は、画像認証が完全になくなることです。弊社サイトもこちらになります。

reCAPTCHAのAIが、ユーザーのページ内での行動をスコアとして算出し、botかそうでないかを判別します。さらに、reCAPTCHA v3を配置したページでのユーザーの動きを学習し、利用が増えるとともに行動スコアの精度が高まっていくこともv3の特徴です。

メリット

  • ユーザーが認証操作を行う必要がない
  • 機械学習によって行動スコアの精度が上がっていく

ユーザーが認証操作から解放されるという点は、非常に大きなメリットですので、reCAPTCHAの利用はさらに増えていくと考えられます。

デメリット

  • サイト運営者側の運用負担が増える

閾値の検討や、bot判定した場合のふるまいの実装など、サイト運営者側でbotによる攻撃への対応をコントロールする必要があります。

まとめ

Invisible reCAPTCHAもreCAPTCHA v3も、これまでより格段にユーザーがストレスなくフォーム登録できる仕組みを提供しています。両者のどちらかが優位というよりは、それぞれにメリット・デメリットがあり、目的・用途によって使い分けるのがよいでしょう。
Invisible reCAPTCHAは画像認証によって強固なbot排除が可能なため、v3よりもサーバーに送信された情報の信頼度が高くなります。そのため、会員サイトへのログインフォームや問い合わせフォームはInvisible reCAPTCHAのほうが向いているように考えられます。
逆に、できるだけ多くの方にアクセスをして欲しい応募フォームや口コミフォームなどは、reCAPTCHA v3のほうが適しているでしょう。ただし、正常なユーザー利用がbotと判定された場合の問い合わせ先や、登録方法は準備しておく必要があります。利用が進めば、機械学習の精度も上がるためさらに効率も上がると考えられます。
スパム登録に対して国外からのアクセス遮断やブラックリスト管理といったシステム対応が難しい場合、アプリケーション側での簡易な対応を検討するケースが多いでしょう。選択肢の一つとしてreCAPTCHAが上がった際、本記事が少しでもご参考になれば幸いです。