本記事のテーマはreCAPTCHAです。
著者も愛用しているPCゲームプラットフォームEpic Games](https://store.epicgames.com/ja/)はログインでこのreCAPTCHAが表示されることがあります。
ある疲れた日、眠い目をこすりながら何度トライしてもこのreCAPTCHA認証が通らなかったため、週替りの無料ゲームがダウンロードできず、悔しい思いをしたことがあります。
そこで、この記事ではreCAPTCHAの画像を使った認証について問題点をまとめ、画像を使わない、音声認証を使った解決方法を提示します。
reCAPTCHAとは
reCAPTCHAとは、Botなど自動化プログラムからサイトを守るためのセキュリティサービスです。
人か自動プログラムかの判断は、人には解きやすく、自動プログラムには解きにくい問題を解かせることによって行います。
すでにいくつのサイトではreCAPTCHAが導入されており、下のような画面を見たことがある人も多いのではないでしょうか。
reCAPTCHAはGoogleからも提供(記事執筆時点ではバージョン3が最新)されており、下のデモページでこれがどういったものかを体験することができます。
※画像はreCAPTCHAのデモページより
reCAPTCHAの問題点
reCAPTCHAの問題点は
- (特に疲れているとき、)判断に迷う、紛らわしい認証がある
- 自国以外の国で撮影された写真が提示されることがあり、その場合対象物の認識・特定が難しい
が挙げられます。
例えば、下図のような信号機の写っているタイルを選択する認証を見てみます。
まず、左上に2つの信号機が写っていることが分かります。さらに、その右側の遠方に小さく信号機のようなものが見えており、このタイルを選択するかどうか、人によって判断が分かれると思います。
また、タイルの端に対象物がわずかに含まれる場合、そのタイルを選択するべきどうか判断に迷います。
さらに、下図のようなバスの写っているタイルを選択する認証を見てみます。
写真は外国(米国?)のものが使われており、日本ではあまり馴染みのないバスが写っています。そのため、左上の乗り物をトラックと認識してしまう可能性があります。
以上のことから、reCAPTCHAの画像認証は、自動プログラムには解きにくい問題だが、(米国以外の?)人にとっても解きにくい問題になってしまっていることが分かります。
この結果、人が操作しているにも関わらず、認証がなかなか通らないといった悲劇が起こります。
画像を使わない、reCAPTCHAの突破方法
reCAPTCHAにはこれまでの画像を使った認証とは別に、視覚障害者向けに音声を使った認証が用意されています。
そのため
- 音声を聴く
- 聴き取ったフレーズを入力する
の2ステップで認証を通すことができます。
ただし、音声は英語で流れるため、英語が苦手な方は
- 音声を保存する
- Watson先生に聴き取ってもらう
- フレーズを入力する
の3ステップで認証を通すことになります。
英語が得意な人向け
reCAPTCHAの画像選択画面、下にあるヘッドホンのようなアイコンをクリックします。
※ 画像はreCAPTCHAのデモページhttps://www.google.com/recaptcha/api2/demoより
次に、下図赤枠「再生」ボタンをクリックし音声を流します。
最後に聴き取ったフレーズを空欄に入力し、「確認」ボタンで認証を行います。
英語が苦手な人向け
認証時間に制約があるため、あらかじめ別のタブで音声をテキストに変換するサイト(https://speech-to-text-demo.ng.bluemix.net/)を開きます。
音声を保存する
reCAPTCHAの画像選択画面、下にあるヘッドホンのようなアイコンをクリックします。
次に、ダウンロードアイコンをクリックします。
音声ファイルの操作画面の3点アイコンをクリックします。(図はGoogle Chromeの画面。)
ダウンロードをクリックし、音声ファイルを保存します。
Watson先生に聴き取ってもらう
IBM Watsonの音声をテキストに変換するサイト(https://speech-to-text-demo.ng.bluemix.net/)を開きます。
※画像はIBM Speech to Text(https://speech-to-text-demo.ng.bluemix.net/)より
サイト下方の画面より「Upload Audio File」ボタンをクリックし、先程ダウンロードした音声ファイルをアップロードします。
アップロードが終わるとテキストへの変換が行われ、聴き取り結果が「Text」欄に表示されます。さらに、表示されたテキストをコピーします。
フレーズを入力する
reCAPTCHAの認証画面に戻り、コピーしたフレーズを貼り付け、確認ボタンを押して認証を通します。
まとめ
この記事ではreCAPTCHAの画像を使った認証について問題点を挙げ、音声認証を使った解決方法を提示しました。
もし、認証に使用する写真が日本用にローカライズされていれば、このような音声を使った解決方法の出番は少なくなると思います。
また、ディープラーニングの画像認識精度の向上に伴い、いつしか画像を使った人・自動プログラムの判別は機能しなくなるかもしれません。
参考にしたサイト
本記事を書くにあたり、以下のサイトを参考にしました。