アンドロイドの指紋認証機能の使い方(ユーザ編)

A+ a-

アンドロイド6.0でのセキュリティに関する大きなキーワードとしては、指紋認証機能があります。
日本においては、ガラゲー時代に既に指紋認証機能が実現されていたこともあり、富士通等のアンドロイドでは、指紋によるデバイスロック解除等が出来る端末が多くあり目新しい物ではありませんが、アンドロイドOSとしてサポートされたので、今後色々な機能が出てきそうで期待しています。

指紋認証機能が使用できる場所としては、以下の2か所があります。

  • スマートフォンのロック解除
  • アプリ内ユーザ認証(Google Play含む)

ここでは、指紋認証機能のプログラミングの話ではなく、まずユーザとしてどのように指紋認証機能が使えるのかを説明したいと思います。
なお、実際には指紋認証センサーが付いた機械で確認をする必要がありますが、Nexus5X, Nexus6P注文しましたが、もう少し時間かかります。そのためエミュレータ上での確認の解説になります。

注)Android 6.0のイメージを焼いた、Nexus6では、設定に指紋認証メニュー自体表示されませんでした。センサーを持っていないデバイスでは、項目自体非表示になると考えられます。



指紋の登録


指紋認証機能を使用するには、まず指紋を登録する必要があります。
Android 6.0では、「設定」→「セキュリティ」→「指紋」が追加されました。


「指紋」をタップすると、「指紋によるロック解除」の注意事項画面が表示されます。


指紋センサーを使う事で何ができるのかが記載されていますが、「これらの操作は、そのスマートフォンに登録されたどの指紋でも行えるため、登録する指紋についてはご注意ください」と少しわかりにくいメッセージが表示されます。これは、指紋は一つだけではなく、複数の指紋が登録可能なため、自分の指紋、他人の指紋等複数の人の指紋も登録できます。このような事を行った時、区別されることなく使用されてしまうので、そのような使い方は危険ですという意味です。(通常、けがした時のために複数の指を登録したりします)(複数の指紋の登録については後述します)
また、「詳細」リンクがありますが、現在はエラーとなってしまいました。
「次へ」ボタンを押すと「指紋の設定」画面に移動します。


指紋認証のみをデバイスロック解除で使用する事はできません。パターン、PINやパスワード設定等、従来アンドロイドに用意されていた認証機能を必ず使用する必要があります。
ロック解除方法が設定されていない場合は、「ロック解除方法の選択」画面に移動します。既にロック解除方法が設定されている場合は、「ロック解除方法の選択」画面はスキップされます


エミュレータだとPINが楽なのでPINを選択しましたが、パターン、パスワード、PINどれでも構いません

入力が終了すると、端末がロックされた時の通知をどのように表示するのか選択します。
(この機能は前からあります)

 これでロックスクリーンが設定されていない時の処理は終了です。いよいよ指紋登録に入ります。以下のような画面が表示されます。物理的にどこにセンサーがあるのか探してくださいという事です。

物理的にセンサーが見つかったら「次へ」を押します。


「登録の開始」画面が表示されます。
ここで実際に、指紋センサーに指を当てて指紋の登録を始めます。
画面にデカデカと出ている指紋マークの部分に指を当てると、「画面はセンサーではないというエラーが表示されます。」
確かに絶対に一回はやるな!という感じです。

無事指紋を登録できると、「指紋を追加しました」画面となります。

メッセージにあるように、アプリケーションで指紋認証機能を実装する時には、指紋マークをカスタマイズせずに、用意されているこの指紋マークを使うのが良いでしょう。
ここで「完了」と「他の指紋を登録」で選択ができます。もう一つ指紋を登録しても良いですし、ここで終了しても良いです。
ここでは、終了をして、「セキュリティ」画面に移動します。

「指紋」の所に、「1個の指紋がセットアップされています」と表示されています。これで指紋の登録は終了です。


指紋の編集・削除

登録した指紋は、編集や削除が可能です。
「設定」→「セキュリティ」→「指紋」を押します。
指紋画面に移る前にPINの入力を求められます。

問題なければ、「指紋」画面に遷移します。

登録されている指紋が上部にリストアップされており(指紋1と表示されている部分)その下の、「+指紋を追加」から新しい指紋を追加できます。(指紋は最大で5個追加できます)
登録されている指紋、「指紋1」をタップすると以下のような画面になります。

ここで、指紋の表示名を変更できます。(表示名だけです)
また、「削除」を押す事で登録した指紋データを削除できるのでしょうが、現時点でのエミュレータでは削除できませんでした。(ここは今後修正されると思われます)

ロックスクリーン

アンドロイドでは、ロック解除するために、PIN、パスワード、スワイプ等を使用する事が推奨されています。紛失した時はかなり有効ではあるのですが、知り合い同士だと相手のスワイプパターンを見る機会が多く、目線を外すなどの気遣いが必要であったり、子供が見ていて、「おとうさんの携帯はこうやって解除するんだよ」と目を輝かせるのでかなり危険です。今回の指紋認証はそういった意味で待ちに待った機能でもあります。

指紋によるロック解除をするために特にする事はなく指紋登録した時点で有効になります。

指紋を登録した端末では、ロックスクリーン画面は以下のような表示になります。

画面の最下部に指紋マークが見えています。この時に指紋を使ってロックを外すことができます。
(指紋が登録されていない場合は、指紋マークは表示されません)
指紋によるロック解除は補助的な物でこの状態でスワイプをすると、従来のようにロックパターンや、PIN入力になり、従来どおりの解除ができます。
指紋は、現在のエミュレータでは6回間違えるとそれ以上指紋認証での解除はできなくなりました。(一度PINで解除すると、再度指紋認証可能です)

まとめ

  • 指紋デバイスがない端末では設定に指紋設定が表示されません
  • デバイスロックを使用しないと指紋は使えません。
  • 指紋登録の詳細画面が表示エラー
  • 指紋の編集画面に移動するには、デバイスロック認証が必要です。
  • 指紋は5個まで登録可能です。
  • 指紋の削除がバグでできない
  • 指紋を登録すると、自動的にロックスクリーン画面で指紋による解除が可能です。
  • 6回指紋認証を間違えると、通常のPIN入力などで解除可能です。

Android6.0が出て、エミュレータのバグ直っているかとおもってましたが、結局なおってませんでした。
画面操作からの指紋削除、adbを使用したコマンドラインからの両方とも指紋の削除ができません。削除ロジックが動かないと確認したいところが確認できないんですが....
削除に関する事項については、また後日ブログの方に書きたいと思います。

しかし、子供にロック解除されなくなるのは、まったく便利です。
早くNexusこないかなーと心待ちです。

がく

がく

リスクファインダーはAndroidアプリのセキュリティホールを見つけます!

Androidスマートフォンが急速に普及するとともにアプリの脆弱性報告も急増しています。
リスクファインダーは、Androidアプリの脆弱性診断WEBサービスです。
500項目以上のチェックでアプリの脆弱性や問題を検出し、セキュアなアプリ開発をサポートします。

  • ブラウザでファイルをアップロードするだけ
  • アプリの脆弱性を指摘するだけでなく対処方法も提示
  • 頻繁にバージョンアップするAndroidの最新情報に素早く対応

リスクファインダーの詳細はこちら