こんにちは。KIYONOエンジニアの田代です。
今回はGoogle CloudのreCAPTCHA Enterpriseについて調べてみました。
reCAPTCHAとは?
reCAPTCHAとはGoogleが提供するセキュリティサービスの一つであり、デバイスを操作しているユーザーがbotなのか人間なのかを自動的に判別するためのツールになります。
Webサイトを閲覧にしている時などに「正しい画像を選択してください」や「私はロボットではありません」のような表示を見たことがある方も多いと思います。
ざっくり言えば、これらがreCAPTCHAと呼ばれているものです。
reCAPTCHAの種類
Webサイトやbotが時代の流れと共に進化してきたように、
reCAPTCHAも進化し続け、以下の3つのバージョンが存在します。
reCAPTCHA v1
reCAPTCHA v1は、その名の通りreCAPTCHAの一番最初のバージョンとなっており、歪んだ文字を表示して正しい文字列をユーザーに入力させるものとなっていました。
これはbotが歪んだ文字列を認識できないことを前提にしたものとなっていますが、技術の進歩によりbotが歪んだ文字列を認識可能になったことにより、
2018年3月にサービス終了になり、現在では利用不可となっています。
reCAPTCHA v2
reCAPTCHA v2は画像を用いたチャレンジを表示し選択させるユーザー判別手法です。
上記画面に馴染みのある方も多いのではないでしょうか?
画面の指示に沿って正しい画像を選択した後、「私はロボットではありません」にチェックを入れると認証が完了します。
reCAPTCHA v3
ここまででご紹介した「reCAPTCHA v1」と「reCAPTHCA v2」では、ユーザーに何らかの操作を要求し、その結果によってデバイスを操作しているユーザーがbotなのか人間なのか判別していました。
これはユーザーが煩わしさを感じる原因にもなりますし、チャレンジのスコアによってはユーザーが人間の場合でもbotと判別されることもあり得ます。
そこで登場したのがreCAPTCHA v3で、対象のサイトにスクリプトを仕込むことで、画面遷移のスピードやweb上の行動履歴などを総合的にスコア化して、自動的にユーザー判別を行えるようになりました。
これにより、ユーザー側での操作は不要になり、UXを大きく向上させることが可能となりました。
reCAPTCHA Enterpriseとは?
reCAPTCHA EnterpriseはGoogle Cloud提供されている製品の一つであり、reCAPTCHA v3がベースとなっています。
そのため、Google Cloudの利用規約に準拠しているほか、「モバイル対応」や「2要素認証」など、Google Cloudのサービスならではの特徴を持っています。
また、reCAPTCHA EnterpriseはGoogleが10年以上に渡って様々なWebサイトをreCAPTCHAで保護し蓄積した技術を企業のセキュリティ課題に特化して再設計したサービスです。
そのため、スクレイピングや認証情報の読み取り、自動アカウント作成などの不正行為からwebサイトを守り、自動botの悪用などによる損失を回避できます。
また、reCAPTCHA EnterpriseはreCAPTCHA v3と同様にユーザーに煩わしさを感じさせない設計になっている点も重要なポイントです。
reCAPTCHA Enterpriseの料金体系
reCAPTCHA Enterpriseは呼び出しごとに月単位で料金が請求されます。
API | 1~1,000,000 回の呼び出し(月間) | 1,000,001~10,000,000 回の呼び出し(月間) | 10,000,001 回以上の呼び出し(月間) |
---|---|---|---|
zassessments.create | 無料 | 呼び出し1,000回あたり1米ドル | Google Cloudセールスチームに問い合わせ |
siteverify | 無料 | 呼び出し1,000回あたり1米ドル | Google Cloudセールスチームに問い合わせ |
reCAPTCHA Enterpriseと従来のreCAPTCHAとの性能比較
機能 | v2 | v3 | Enterprise |
---|---|---|---|
チェックボックスによる検証 | ○ | × | ○ |
スコアによる検証 | × | ○ | ○ |
WAFによる検証 | × | × | ○ |
多要素認証(MFA)のサポート(セキュリティ審査が必要) | × | × | ○ |
パスワード漏洩の検出 | × | × | ○ |
アカウント防御(セキュリティ審査が必要) | × | × | ○ |
不正行為の防止(セキュリティ審査が必要) | × | × | ○ |
スコアの粒度(セキュリティ審査が必要) | × | × | ○ |
料金についてはいずれも100万評価まで無料と変わらないのにもかかわらず、従来のreCAPTCHAよりも多くの機能を有していることがわかります。
ただ料金について一点注意があり、いずれも100万評価まで無料は変わりませんが、従来のreCAPTCHAは100万評価を超えると制限がかかるのに対して、reCAPTCHA Enterpriseは100万評価を超えると料金表に応じて料金がかかります。
reCAPTCHA Enterpriseの導入方法
ざっくりですが、reCAPTCHA Enterpriseの導入方法についてご紹介します。
- Google Cloudでプロジェクトを作成
- reCAPTCHA Enterprise APIを有効化
- APIキーを生成
- サイトキーの設定
- シークレットキーの保管
- ウェブサイトへの組み込み
- 検証の実装
- テストや調整
Google Cloudへ会員登録・ログインし、プロジェクトを作成
作成したプロジェクトで「reCAPTCHA Enterprise API」と検索し、有効にします。
reCAPTCHA Enterprise APIを有効にした後、APIキーを生成します。
このキーはウェブサイトでreCAPTCHAを利用する際に必要になります。
reCAPTCHA Enterpriseのダッシュボードから「キーを作成」を選択し、サイトキーを生成します。
このキーは公開可能で、ウェブサイトのクライアントサイドで使用します。
サーバーサイドでの検証に使用するため、シークレットキーは忘れずに保管してください。
サイトキーを使用して、ウェブサイトのクライアントサイドの適切な場所にreCAPTCHAウィジェットを組み込みます。
通常、ログインフォームやコンタクトフォームに追加されることが多いです。
クライアントサイドから送信されたreCAPTCHAの判断結果が、サーバーサイドでシークレットキーを使用して正しいものかどうかを検証するロジックを実装する必要があります。
実装後、reCAPTCHAが期待通りに動作するかテストを行い、必要に応じて調整します。
導入するプロジェクトによっては追加で必要になることもあるかと思いますので、あくまでも流れを理解する参考程度にお願いします。
まとめ
今回は、reCAPTCHA Enterpriseの基本的な情報や導入方法をメインに解説させていただきました。
Webサイト運営などに関わる方でセキュリティなどに不安を抱える方はぜひ導入を検討してみてください。
コメント