Menu

reCAPTHAとは? スパム対策に効果的な reCAPTHA の導入方法、注意点、メリット・デメリットを解説

「reCAPTCHA(リキャプチャ)」をご存じでしょうか?
reCAPTCHAは、Webフォームなどに登録する際、botなどによる悪質なアクセスからWebサイトを守るための機能です。みなさん、フォームに登録する際、「私はロボットではありません」というチェックボックスにチェックを入れた経験が一度はあるのではないでしょうか。これがreCAPTCHAの仕組みの一部です。

▼reCAPTCHAの例

reCAPTCHAの例※GoogleおよびGoogleのロゴはGoogle LLCの登録商標であり、許可を得て使用しています。

この記事では、2024年2月現在公開されているInvisible reCAPTCHAとreCAPTCHA v3を比較しつつ、弊社が提供している顧客管理システム「Synergy!」のフォームに適用可能なreCAPTCHA v3の感触をまとめました。

  • フォームへのスパム登録に困っている
  • reCAPTCHAのバージョンの違いって?
  • reCAPTCHAの実装って手間がかかるの?

などなど、疑問に思われている方はぜひ目を通してみてください。

スパム対策でお悩みの方はこちら

Synergy!のフォーム機能。「reCAPTCHA v3」に対応で、botなどから送られていくる大量の迷惑登録(スパム)を防ぐ。セキュリティも万全な使いやすいフォームをご提供します。

そもそも、「reCAPTCHA」って?

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

v3までのreCAPTCHAのバージョンと特徴※GoogleおよびGoogleのロゴはGoogle LLCの登録商標であり、許可を得て使用しています。

CRMシステムSynergy!製品資料

Invisible reCAPTCHAとは

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

そのチェックが不要になったのが、Invisible reCAPTCHAです。送信ボタンにreCAPTCHAのウィジェットをリンクさせておき、送信ボタンを押した際にbotである可能性があると判定された場合、v2と同じ画像認証が表示されます(挙動については次項の図を参照してください)。
Googleは、判断ロジックの内容を公開していませんが、どのようなGoogleアカウントでログインしているのか、という点もbotかどうかの判断材料になるようです。

Invisible reCAPTCHAの導入方法

Invisible reCAPTCHAの導入方法はreCAPTCHA v2とほぼ同じです。以下の3つのステップで実現できます。
サーバ側処理が必要となりますが、複雑ではありません。

  • GoogleのサイトでreCAPTCHAを取得
  • 適用したいフォームのHTMLにreCAPTCHAのウィジェットを組み込む
  • サーバ側でreCAPTCHAが送信したトークンをチェック

(※それぞれの導入手順の詳細についてはTECHSCORE記事に記載があります)

Invisible reCAPTCHAが導入されたSynergy!フォームの構成は以下になります。

Invisible reCAPTCHA適用フォームの構成例

Invisible reCAPTCHA導入のメリットとデメリット

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

  • レイアウトがスッキリしてイメージを損なわない
  • 画像認証判断~トークン取得からサーバ送信の一連の動作をウィジェットがやってくれる(構成図の2~5の部分)

認証の必要がない場合は、そのままフォーム登録が実行できます。「ホントに確認した?」と感じるくらい自然で、フォームの見栄えを損ないません。
また、reCAPTCHAのトークンは、取得後、数分放置するとタイムアウトと判定されるので、ユーザーの操作に不便のないように、考慮する必要があります。Invisible reCAPTCHAはトークンの取得から送信まで連続して処理されるため、タイムアウトへの考慮を軽減できます。

デメリット

  • 認証が必要だと判断された場合、突然画像認証の画面が表示されるので、おどろく

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

画像認証の画面※GoogleおよびGoogleのロゴはGoogle LLCの登録商標であり、許可を得て使用しています。

reCAPTCHAウィジェットの動的制御を行えば、上記と異なるクライアント動作も可能です。詳細はGoogleのreCAPTCHAガイドに記載がありますので、参考にしてください。

スパム対策でお悩みの方はこちら

CRMシステムSynergy!製品資料

reCAPTCHA v3とは

2018/10/29にGoogleからreCAPTCHAの新バージョンreCAPTCHA v3が正式公開されました。reCAPTCHA v3の最大の特徴は、画像認証が完全になくなることです。
reCAPTCHAのAIが、ユーザーのページ内での行動をスコアとして算出し、botかそうでないかを判別しています。
さらに、reCAPTCHA v3を配置したページでのユーザーの動きを学習し、利用が増えるとともに行動スコアの精度が高まっていくこともv3の特徴です。

reCAPTCHA v3の導入方法

reCAPTCHA v3の導入方法も、前述のInvisible reCAPTCHAと大差ありません。

  1. GoogleのサイトでreCAPTCHAを取得
  2. 適用したいフォームのHTMLにreCAPTCHAのJavaScriptを組み込む
  3. サーバ側でreCAPTCHAが送信したトークンをチェック
  4. アクションとスコアによりbot判定時の動作などを設定

(※それぞれの導入手順の詳細についてはTECHSCORE記事に記載があります)

下図を見ていただくと、Invisible reCAPTCHAとの違いは画像認証がなく、スコアに関する記述が増えているだけ、という点が見て取れると思います。

reCAPTCHA v3適用フォームの構成例

reCAPTCHA v3の大きなポイントはトークンチェック時のレスポンスに”action”と”score”が追加され、アクションとスコアを取得でき、アクションの種別とスコアによってどのようなふるまいをするか、選択する自由があるというところです。アクションはトークン要求時にフォームから伝えることが可能です。
スコアが想定に満たない場合のふるまいの例は以下のようなものが考えられます。

  • ログインフォームの場合、メールやSMSで2段階認証を行う
  • 口コミ投稿フォームの場合、管理者が確認するまで掲示板に投稿内容を反映しない

(※詳細についてはTECHSCORE記事に記載があります)

reCAPTCHA v3導入のメリットとデメリット

メリット

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

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

デメリット

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

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

検証結果:reCAPTCHA v3のスコアについて

reCAPTCHA v3を実装したフォームに様々な状態を想定した登録を行った結果、以下のことが見えてきました。

  • reCAPTCHA発行直後は偏りが顕著となるためウォームアップ期間が必要
  • スコアが低くてもトークンチェックがNGで返されるわけではない
  • 100回程度連続してアクセスがあったからといってスコアは下がらない
  • Googleへのログイン状況でスコアは変わらない
  • ブラウザが保持するCookieやユーザーエージェントなどの情報に不整合があるとスコアは下がる

※もちろん機械学習の結果、上記が変わることは考えられます

reCAPTCHA v3の場合、管理画面でスコアの分布を確認できます。また、アクションTOP10のスコア分布も表示されるので、管理するページのなかでどのような性格のページがbotによる攻撃を受けているか、どの程度をbot判定の閾値とすべきなのか、という検討の助けにできます。

reCAPTCHA導入時の注意事項

プライバシーとデータ管理について

botであるかといった判断を画面上の操作や接続環境などから判断していることもあり、利用者の行動データを収集していることが分かります。reCAPTCHAアイコンには「プライバシー」「利用規約」といったリンクがあり、利用者が詳細を見られるよう提示されていますので、事前に目を通しておきましょう。

クラウドサービスのコントロール

無償とはいえ、Googleクラウドサービスを利用していることとなります。サービスの稼働に影響があったり、ブラックボックスであるbot判定の精度不調といったケースを考慮し、異常があった場合は一時的に利用を解除するといった柔軟な対応が必要です。

運用計画

reCAPTCHAは完全無償ではなく、一定期間に大量のリクエストがあった場合、有償プランへの移行が必要となります。事前に利用規模を想定し、ランディングページ(LP)の導入や抽選方式などによってリクエスト数の軽減を検討しておく必要があります。
※2024年2月時点:リクエストが1か月に100万回を超えた場合、reCAPTCHA Enterpriseへの切り替えか、非商用などの理由を基に例外承認を得る必要があります。

まとめ

Invisible reCAPTCHAもreCAPTCHA v3も、これまでより格段にユーザーがストレスなくフォーム登録できる仕組みを提供しています。
両者のどちらかが優位というよりは、それぞれにメリット・デメリットがあり、目的・用途によって使い分けるのがよいでしょう。
Invisible reCAPTCHAは画像認証によって強固なbot排除が可能なため、v3よりもサーバに送信された情報の信頼度が高くなります。そのため現時点では、会員サイトへのログインフォームや問い合わせフォームはInvisible reCAPTCHAのほうが向いているように考えられます。
逆に、できるだけ多くの方にアクセスをして欲しい応募フォームや口コミフォームなどは、reCAPTCHA v3のほうが適しているでしょう。ただし、正常なユーザー利用がbotと判定された場合の問い合わせ先や、登録方法は準備しておく必要があります。利用が進めば、機械学習の精度も上がるためさらに効率も上がると考えられます。

GoogleはInvisible reCAPTCHAを含むreCAPTCHA v2系サービスとreCAPTCHA v3を当面、並行してサポートするようです(記事リンク)。目的によって利用するreCAPTCHAを選択できる状況は、今後しばらく続きそうです。

これまでreCAPTCHAでは画像の鮮明さやバリエーション、仕組みが何度も見直されてきました。reCAPTCHA v3でとうとうAI判定の時代に入りましたが、フォーム管理者のスパム登録との戦いは終わりがありません。
抜本的なシステムの早期対応が難しい場合、簡単なアプリケーション側での対応を検討するケースも多いでしょう。選択肢の一つとしてreCAPTCHAがあがった際、本記事が少しでもご参考になれば幸いです。

なお、弊社総合顧客管理システム「Synergy!」は標準機能でreCAPTCHA v3の適用が可能です。
面倒なサーバの設定は不要で、Google reCAPTCHAのサービスに登録し表示されるreCAPTCHAキーをSynergy!の管理画面に貼り付けるだけで実装できます。
【参考】Synergy!-フォーム機能 スパムを防ぐreCAPTCHA機能対応
先日、弊社の問い合わせフォームに対しても、フリーメールアドレスドメインを登録者のメールアドレスだと偽った大量のスパム投稿がありました。reCAPTCHA設定後にスパム投稿は排除され、お客様からのお問い合わせに注力できる状態を取り戻しましたので、効果があったと考えています。

スパム対策でお悩みの方はぜひお問い合わせください。


Synergy!で作成!
『簡単、安心、すぐ使える』Webフォーム

Synergy!を利用することでセミナー申し込みフォームはもちろん、セミナー管理に関する全体業務を効率化できます。

Synergy!フォーム機能の詳細を見る

伝えたいメッセージを届けるために。CRM/顧客管理をオールインワンで提供する、総合顧客管理(CRM)システム「Synergy!」

※記載されている内容は掲載当時のものであり、一部現状とは内容が異なる場合があります。ご了承ください。

PageTop
PageTop