reCAPTCHAとは?必要性や効果、種類などを徹底解説
reCAPTCHAとは、Googleが無料で提供している、botと人間を区別するためのサービスです。自社でフォームを扱う場合、reCAPTCHAについて知っておいて損はありません。
この記事では、
- reCAPTCHAとは、一体何か
- reCAPTCHAの種類
- reCAPTCHAを使うと、どのようなメリットがあるのか
- reCAPTCHAを使わないと、どうなるのか
といった内容についてご紹介します。
みなさまのお役に立てば幸いです。
「これからはじめる マーケティングオートメーション入門ガイド」をダウンロードする
reCAPTCHAとは
reCAPTCHAとは、Googleが無料で提供している、botと人間を区別するためのサービスです。あなたは、「私はロボットではありません」と記載されたチェックボックスにチェックを求められた経験や、歪んだ英数字を読み取らされた経験はないでしょうか。大雑把にいえば、これらがreCAPTCHAです。
もう少しくわしくご説明すると、「botと人間を区別するための試験」のことを、CAPTCHAと言います。CAPTCHAを提供している会社は、実はGoogleだけではありません。そのため、あなたが見た事のあるCAPTCHAが、すべてGoogleのreCAPTCHAによるものとは言い切れません。
ただし、「reCAPTCHA」と表記した場合は、Googleの提供しているサービスを指します。
なぜ、reCAPTCHAが必要とされるのかは、次の章でご紹介します。
reCAPTCHAのメリット・デメリット
あなたは、reCAPTCHAの認証を求められて、面倒な思いをした経験はないでしょうか。企業がreCAPTCHAを利用するのは、メリットがあるからです。この章では、reCAPTCHAを利用するメリットとデメリットをご紹介します。
reCAPTCHAのメリットは、botによる攻撃を防げること(スパム対策になること)
reCAPTCHAのメリットは、ひとことで言えば、スパム対策になることです。
フォームを設置すると、意味不明な文字列や外国語によるフォーム登録が起きることがあります。こういった意味不明な文字列によるフォーム登録は、大抵の場合「bot」と呼ばれるプログラムによって、自動的に行われます。
botによる問合せが増えると、本物のお客さま情報の中に、botが登録した情報が混ざり、顧客データベースにノイズが入ります。
また、「フォームに登録があると、担当者にメールで通知する」という運用をしている会社にとっては、botによる攻撃の被害はさらに深刻です。登録通知をメールで各担当者に飛ばしていると、担当者のメールボックスがbotによる問い合わせで埋まってしまい、本当に確認すべきメールを探すのに手間取ってしまいます。
botによる攻撃の目的は、さまざまです。たとえば、標的のコンピュータをウィルスに感染させたり、特定のURLに誘導し、個人情報を抜き取ったり、単に嫌がらせだったりもします。1つ言えることは、botによる攻撃は、いずれにせよあなたの会社にとってプラスには働かない、ということです。
reCAPTCHAは、フォームに登録しようとしている相手がbotか人間かを自動で判別します。そして、botの場合はフォームに登録できないようにします。つまり、reCAPTCHAはあなたのフォームを、botによる攻撃から守ります。
ただし、残念ながらreCAPTCHAを活用しても、botによる攻撃は100%の精度で防げるわけではありません。reCAPTCHA以外の対策は、最後の章でご紹介します。
reCAPTCHAのデメリットは、ユーザビリティを損なうこと
reCAPTCHAのデメリットは、ユーザーに煩わしいと感じさせてしまう恐れがあることです。reCAPTCHAのバージョンにもよりますが、reCAPTCHAは相手がbotか人間かを判断するため、ユーザーに試験を課します。
試験とは、「この中から〇〇を含む画像を、すべて選択してください」といった類のものや、歪んだ文字を読み取らせるといった類のものです。
一般的に、ユーザーはこういった試験をわずらわしく感じます。そのため、reCAPTCHAの活用は、フォームを通じたユーザーの体験としてはマイナスに働きます。reCAPTCHAを設置することで、フォームの離脱率が上がることも考えられます。
なお、次の章でご紹介する、最新の「reCAPTCHA v3」を利用すれば、ユーザーの手を煩わすことなく、botを検知できます。そのため、これからreCAPTCHAの導入を考えている担当者さまは、reCAPTCHA v3を選択することをお勧めします。
reCAPTCHAには、3種類ある
2020年2月現在、 reCAPTCHAには3種類あります。それぞれご紹介します。
reCAPTCHA v3
reCAPTCHA v3は、最新版のreCAPTCHAです。reCAPTCHA v3は、ユーザーが人間かどうかを判断するために、ユーザーに何らかのアクションを求めることはありません。つまり、煩わしい画像認証や、チェックボックスへのチェックなどは一切必要ないのです。
reCAPTCHA v3は、ユーザーがbotか人間かを自動で判断します。reCAPTCHA v3が自動的に人間とbotを判別できる理由は、機械学習にあります。reCAPTCHA v3は、人間とbotのWebページ上の行動を機械的に学習し、人間のパターンとbotのパターンを判別しています。
reCAPTCHA v3は、ユーザービリティを一切損なうことなく、botを検知できます。そのため、特に理由がない限り、これからreCAPTCHA導入を考えている担当者さまは、reCAPTCHA v3の導入をおすすめします。
reCAPTCHA v2
reCAPTCHA v2は、「私はロボットではありません」と記載されたチェックボックスです。
reCAPTCHA v2の挙動は、ユーザーがチェックボックスにチェックを入れたのち、2パターンに分岐します。1つ目が、そのまま人間と判断されるパターンです。もう1つが、人間かどうかの試験を課されるパターンです。
人間かどうかの試験を課されるパターンでは、画像試験を行います。
reCAPTCHA v2 invisible
reCAPTCHA v2 invisibleは、reCAPTCHA v2から「私はロボットではありません」というチェックボックスを排したものです。reCAPTCHA v2 invisibleは、invisible(目に見えない)という名前の通り、ユーザーに「reCAPTCHAがあるな」と意識させない作りになっています。
reCAPTCHA v2 invisibleの挙動は、ユーザーが送信ボタンを押した際、2パターンに分かれます。1つ目のパターンは、ユーザー認証に成功し、登録が完了するパターンです。reCAPTCHA v2のアルゴリズムが、「このユーザーはbotではない」と判断すれば、ユーザーには何の試験も課されません。つまり、ユーザーは reCAPTCHAを一切意識せず、フォーム登録が可能です。
2つ目のパターンは、ユーザー認証に失敗し、試験を課されるパターンです。reCAPTCHA v2のアルゴリズムが、「このユーザーはbotの可能性がある」と判断すると、ユーザーはreCAPTCHA v2と同様の、画像を用いた試験を課されます。
参考:reCAPTCHA v1(現在非公開)
reCAPTCHA v1は、2018年3月に提供が終了しており、現在は利用できません。
reCAPTCHA v1の試験内容は、歪んだ英数字をユーザーに提示し、入力させるものです。一昔前までは、「botが歪んだ文字を認識するのは難しいだろう」と言われていましたが、最近はbotの性能が上がったため、reCAPTCHA v1は破られるようになりました。
reCAPTCHAを自社フォームに導入する手順
reCAPTCHAを自社フォームに導入するには、実装が必要です。この章では、reCAPTCHAを自社フォームに導入する手順をご紹介します。
なお、自分で実装するのが難しいという場合、reCAPTCHA機能を備えたフォーム作成ツールやマーケティングオートメーションのご利用をお勧めします。
1:reCAPTCHA導入のための準備
reCAPTCHA導入の準備として、以下2つを用意します。
- Googleアカウント
- reCAPTCHAを埋め込むためのフォーム
reCAPTCHAは、Googleのサービスのため、Googleアカウントを作成しなければなりません。また、reCAPTCHAを埋め込むためのフォームも用意する必要があります。
2:Webサイトの登録・APIキーの取得
次に、GoogleにWebサイトの登録を済ませ、APIキーを取得します。下記URLにアクセスし、admin consoleをクリックします。
https://www.google.com/recaptcha/intro/v3.html
「新しいサイトを登録する」という画面に遷移したのち、必要な項目を入力します。reCAPTCHAのタイプは、v2とv3を選択できるので、お好みのバージョンを選択してください。
Webサイトの登録が済むと、APIキーが発行されます。APIキーは、reCAPTCHA実装の際に利用します。
3:reCAPTCHAの実装
先ほど取得したAPIキーを利用して、WebにreCAPTCHAを実装します。必要となるキーは、「サイトキー」と「シークレットキー」の2つです。
具体的な実装方法は、クライアント側とサーバー側で異なります。詳細については、Googleのヘルプをごらんください。
Google reCAPTCHA Developer’s Guid
reCAPTCHA以外のbot対策方法
reCAPTCHAは、botによる攻撃を100%防げるわけではないことを覚えておきましょう。reCAPTCHAを設置する以外のbot対策としては、以下のようなものが挙げられます。
それぞれ、詳しく確認していきましょう。
特定のIPアドレスからのアクセスを遮断する
「特定のIPアドレスからのアクセス遮断」は、攻撃元のIPアドレスが判明している場合に有効です。攻撃元IPアドレスからのアクセスを遮断することで、攻撃者はフォームにアクセスできないようになります。
ただし、IPアドレスは容易に変更できるため、イタチごっこになる可能性があります。
特定のメールアドレスのドメインを入力拒否文字列として設定する
「特定のドメインを入力拒否文字列として設定する」ことは、攻撃元のメールアドレスのドメインにバリエーションがない場合有効です。
フォームは、多くの場合メールアドレスが入力必須項目です。つまり、攻撃者であっても、何かしらのメールアドレスをフォームに入力しなければなりません。そして、攻撃者のメールアドレスのドメインが共通している場合、それらを入力拒否文字列に設定することで、攻撃を防止できます。
たとえば、攻撃者がいつも「xxxxxx@abc.com」というドメインで、フォーム登録してくるとします。この場合、abc.comというドメインを入力拒否文字列として設定することで、攻撃を防止できます。
ただし、この手法は、攻撃者が利用するメールアドレスに規則性がない場合、役に立ちません。
ノンリファラーアクセスを遮断する
リファラーとは、ユーザーがあるページにアクセスする直前に閲覧していたページのことです。Googleを経由してホームページにアクセスした場合、リファラーはGoogleになります。
通常、ユーザーは何らかのページをたどってフォームにたどり着きます。そのため、「リファラーがない」というケースは稀です。しかし、botの場合は別です。botは、標的のフォームを機械的に巡回し攻撃しているため、リファラがないケースが多いのです。
したがって、リファラーがないアクセス(ノンリファラーアクセス)を遮断することで、botからの攻撃を防止できる可能性があります。
ただし、人間のアクセスまで遮断してしまう可能性があるため、注意が必要です。ブラウザのブックマークや、メールのリンクからのアクセスは、ノンリファラーアクセスとして扱われます。