ホームページでよく見る「私はロボットではありません」の正体

ホームページのお問い合わせ欄や、何かにブラウザからログインしようと思った際に上の画像のような「私はロボットではありません」といったチェック項目が表示されたこと、そこから画像を選択させられたり、文字を入力させられたりといった経験が1度はあるのではないでしょうか。

セキュリティ対策の一環として利用されている機能なのですが、いったいどのような観点から人間とロボットを区別しているのでしょうか。

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

ホームページに表示されるこういった表示は、CAPTCHA(キャプチャ)と呼ばれるスパムメールの防止や、不正アクセス防止のための認証システムです。
人間とボット(自動的に特定の動作を繰り返し行うプログラム)を区別するために利用されます。

▲ reCAPTCHAの画像認証画面

・画像の中の特定の物体を選択する
・歪んだ文字を読み取る
・簡単な計算問題を解く

上記のようなことをやらされた経験はないでしょうか。
人間であれば簡単にクリアできるこれらの問題が、ボットにとっては難しく、こういった問題を解かせることで、不正なアクセスを防ぐという仕組みです。

その中でも「私はロボットではありません」といった表示が出るのは、Googleが提供している「Google reCAPTCHA(リキャプチャ)」というキャプチャシステムの1種です。

今回はこのreCAPTCHAをメインにお話していきます。

reCAPTCHA(リキャプチャ)とは

reCAPTCHAとは、前述のようにGoogleが提供しているキャプチャシステムのことです。
https://www.google.com/recaptcha/about/

reCAPTCHAは、ユーザーが画像を選択するだけで認証を完了できるという、使い勝手の良いシステムのため多く利用され、目にする機会も多いです。

送信ボタンを押した瞬間や「私はロボットではありません」のチェックボックスにチェックを入れた瞬間に、ボットの可能性があった場合は画像で追加認証という形なので、スクロールのスピードであったり、マウスカーソルの動きなど、その時点で人間が触っているなと分かれば画像認証がスルーされる場合もあります。

逆に画像を選択したとしても、選択する画像を間違っていたり、ブラウザなどの問題で、人間じゃないかもしれないと思われてしまうと、何度も認証を求められる場合もあります。

実は画像選択をしなくていいreCAPTCHAもある

セキュリティのためといっても、何回も画像選択をさせられるとそれがストレスでユーザーとしては使い勝手は良くないかもしれません。
実は画像選択をしなくていいreCAPTCHAもあるのです。

このホームページの右下をご覧ください。
矢印が円形になっているロゴマークがあるのが分かりますでしょうか。

カーソルを重ねると「reCAPTCHA で保護されています」と表示されますが、実はこれが画像選択のいらないreCAPTCHAが導入されているマークです。

reCAPTCHAにも時代の変化とともにいろいろなバージョンが出ていて、このサイトはv3というバージョンのreCAPTCHAを使用しています。
弊社でもWordPressを使用して作られているホームページなどには、セキュリティ対策の1種としてこちらのv3のreCAPTCHAを導入させていただいております。

v2が画像を選択してもらって人間とロボットを分けているのに対し、v3は機械学習を使って、ページ内での行動からスコアを化し、そのスコアから判断するようになっているため、画像での認証がいらないのです。

v2とv3はどっちを使ったらいいの?

v3の方が新しいのなら、そっちの方がいいんじゃないの?」
と思われるかもしれませんが、実は必ずしもv3が良いとは言い切れないのです。
v2とv3どっちの方がいいのか、というのは状況やニーズによるとしか言えません。

現状人の手が加わるといった意味では、v2の方がセキュリティ性に長けているかもしれませんが、画像認証が何度も何度も表示されて全然次に進めない場合があったり、恐ろしいことにそのv2の認証を高確率で突破できるAIもあるのです。

かといってv3を導入しても、ちゃんと人間なのにスコアで誤判定をくらってしまうと、強制的にページから離脱させられたりすることもあります。
また、WordPressなどのCMSでreCAPTCHA導入が簡単に出来るプラグインなどがある場合はv3でも簡単に設置が出来るのですが、そうでない場合はv2に比べると設置が難しいという点もあります。

なのでどちらがいいと断言することはできないのですが、参考として以下のような場合はこちらがおすすめです。

・サイト全体にボット対策をしておきたい場合
・ユーザーの使いやすさを重視する場合
v3がおすすめ

・お問い合わせフォームなどのスパム対策としてだけ使いたい場合
・ユーザーに分かりやすい認証方法を求める場合

v2がおすすめ

もちろん上記のような条件でも適さない場合もありますので、迷ったら詳しい方に相談してみると良いと思います。

まとめ

「私はロボットではありません」の正体は、reCAPTCHAというGoogleが提供しているキャプチャシステムのことでした。

reCAPTCHAは、何度も画像を認証をさせられてユーザーにとっては使い勝手が悪いという意見もあります。
ですがこれはサイト運営者にとって、スパムメールの受信や不正アクセスを防ぐための重要なツールだということがご理解いただけましたでしょうか。

reCAPTCHAは完璧なシステムではないので100%不正アクセスを防ぐことはできませんが、すでにそういったことでお困りの方や、大量のスパムメールが届いて困っている方はこのreCAPTCHAの導入を検討してみてくださいね。