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からの攻撃を防止できる可能性があります。

ただし、人間のアクセスまで遮断してしまう可能性があるため、注意が必要です。ブラウザのブックマークや、メールのリンクからのアクセスは、ノンリファラーアクセスとして扱われます。