【レポート速報】Google I/O 2016 – Day2

Androidエンジニア 兼 情報セキュリティ担当の鈴木です。

【レポート速報】Google I/O 2016 – Day1に引き続き、Google I/O 2016 2日目のレポートをしようと思います。

ちなみに本日は全体的に涼しく、若干過ごしやすい一日でした。
今日は参加したセッションのうちの「What’s new in Android Security」について報告したいと思います。

さて今年の3月ほどにPreviewリリースされたAndroid Nにおいては以下の様なセキュリティの機能が追加されました。
* 新しいRuntime Permission
* Key Attestation
* Scoped Directory Access
* Secure Networking

それに加えて今回の発表ではDirect BootとSafety Netいう機能も話されました。
これらがNの新しい機能か既存であったかは不明ですが、このうち「SafetyNet」を簡単に説明します。
 

SafetyNet

  • GoogleApiClientを通してGoogle Servicesにアクセスし対象のAndroid端末の互換性状態と安全性を診断するものです。呼び出しは下記の様に実施します。

SafetyNet.SafetyNetApi.attest(googleApiClient, nonce).setResultCallback(new ResultCallback<SafetyNetApi.AttestationResult>) {
          @Override
         public void onResult(SafetyNetApi.AttestationResult result) ()
}));

このAttestationResultはCTS(Compatibility Test Suite)診断の結果を含んだものになります。

resut.getJwsResult() = {
"nonce": "R2Rra24fVm5xa2Mg",
"timestampMs": 9860437986543,
"apkPackageName": "com.package.name.of.requesting.app",
"apkCertificateDigestSha256": ["base64 encoded, SHA-256 hash of the
certificate used to sign requesting app"],
"apkDigestSha256": "base64 encoded, SHA-256 hash of the app's APK",
"ctsProfileMatch": true,
}

CTSに失敗するということは、ユーザの端末及び端末設定がAndroid Platform仕様に準拠してないということなので、それに基づいた処理を加えるようです。セッション時は「この端末では使えない」のような画面を出力していた様に記憶しています。

以上になります。もっと詳細を調べたいのですが(エミュレーターではうまく利利用できないとの声もあり)、明日の準備もあるため、取り急ぎ今日はこの辺で。

余談ですが、Nから追加されたセキュリティ機能の多くがNでのみしか実装できませんが、講演者に聞いた所SupportLibraryの移行はする予定と宣言していました。
 

参考

最後に

マネーフォワードでは、Google! Google!! Google!!!!! なエンジニアを募集しています。
ご応募お待ちしています。

【採用サイト】
マネーフォワード採用サイト
Wantedly | マネーフォワード

【プロダクト一覧】
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』 iPhone,iPad
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』 Android
クラウド型会計ソフト『MFクラウド会計』
クラウド型請求書管理ソフト『MFクラウド請求書』
クラウド型給与計算ソフト『MFクラウド給与』
経費精算システム『MFクラウド経費』
消込ソフト・システム『MFクラウド消込』
マイナンバー対応『MFクラウドマイナンバー』
創業支援トータルサービス『MFクラウド創業支援サービス』
お金に関する正しい知識やお得な情報を発信するウェブメディア『マネトク!』

Pocket