SlideShare a Scribd company logo
1 of 42
Download to read offline
アプリの鍵が消える時
DroidKaigi2018
2018/2/8
Akihiro Shiota
自己紹介
塩田 明弘(@aki_sh_7):発表者
 株式会社NTTデータ セキュリティ技術部 所属
 2014/4より社内のAndroidアプリ開発者向け
のセキュリティガイド作成やサポートに従事
金井 文宏:共同発表者
 NTTセキュアプラットフォーム研究所 所属
 2015/4よりAndroidアプリのセキュリティに
関する研究開発に従事
注意事項
本セッションの内容は所属会社の
見解を表すものではありません。
調査結果は2018/1/31時点のもの
となります。調査対象となってい
ない将来のバージョンでは動作が
異なる可能性があります。
目次
1. Android Keystore Providerとは
2. アプリの鍵が消える時
3. 消えることを見越して
4. まとめ
1.
Android Keystore Providerとは
鍵の管理って大変
どうしてもデータを端末に保存し
ないといけない時、ありますよね
 個人情報
 アクセストークン
 流用されたくない資産
保存するなら安全に保存したい
鍵の管理って大変
どうしてもデータを端末に保存し
ないといけない時、ありますよね
 個人情報
 アクセストークン
 流用されたくない資産
保存するなら安全に保存したい
→暗号化
鍵の管理って大変
どうしてもデータを端末に保存し
ないといけない時、ありますよね
 個人情報
 アクセストークン
 流用されたくない資産
保存するなら安全に保存したい
→暗号化
でも、鍵の管理が大変
Android Keystore プロバイダ
アプリ固有の鍵を生成できる機能
Android4.3から導入
Android6.0で、APIリニューアル
同時に共通鍵暗号もサポート
(6.0未満では、公開鍵暗号のみ)
Keystore プロバイダの歴史
OS version
4.0
(API lv15)
•KeyChain APIの導入
•端末へ独自の秘密鍵/証明書をインストール可能に
4.1
(API lv16)
•AOSPに keymaster関連のコードが出現
•この時点でもリフレクション等でUndocumentedな
APIを叩く事で一部のAndroid KeyStoreの機能を利
用可能
4.3
(API Lv18)
•(Publicな) Android KeyStore API 公開
• 公開鍵暗号(RSA)のみ、鍵長固定
Keystore プロバイダの歴史
OS version
6.0
(API Lv23)
•鍵生成時に鍵長、用途、暗号利用モード等細かいパラ
メータを設定可能に
•鍵の利用前にユーザ認証する機能が追加
•共通鍵暗号のサポート(AES, EC, HMAC, etc)
•Key Blobsに暗号化された鍵の他、認証に必要な属性
情報(タグ)が含まれるようになった
•keymaster HAL InterfaceのVerが0.3 -> 1.0へ
7.0
(API Lv24)
•Key Attestation機能の追加
•HW-Backedな端末で生成された鍵であるか、を検
証する機能
•keymaster HAL InterfaceのVerが1.0 -> 2.0へ
Keystore プロバイダの歴史
OS version
7.1
(API Lv25)
•version binding機能の追加
•鍵はOS&パッチのバージョンと紐付られるようにな
り、(脆弱性の見つかった)古いバージョンにロール
バックして鍵を抽出する事が不可能に
8.0
(API Lv26)
•Key Attestation機能の強化(ID attestation)
•特定の端末ID(e.g. IMEI) 環境下で生成された鍵で
あるか、を検証可能
•keymaster HAL Interfaceのバージョンが2.0 -> 3.0へ
Keystoreプロバイダに
お任せすれば万事解決?
NO!
Keystoreプロバイダの使用には、
注意すべき点がある
Keystoreプロバイダに
お任せすれば万事解決?
Keystoreプロバイダの注意点
バージョンによる制約
Root化された端末上では、
他アプリに鍵を利用される可能性
ユーザ操作によって鍵が消える
Keystoreプロバイダの注意点
バージョンによる制約
Root化された端末上では、
他アプリに鍵を利用される可能性
ユーザ操作によって鍵が消える
今回はこの話をします
6.0以上で旧API鍵利用時の問題
API Lv.23で鍵生成用の新API追加
→旧APIは非推奨に
旧APIで生成した鍵は、
ユーザ認証等は利用できない
 Android6.0以上だから、と思っていると痛い目を見る
 新APIへ移行を決めた段階で、旧APIで生成した鍵の置
き換えについて要検討(セキュリティレベルが変わる)
Root化端末における影響
Root権限があれば、他のアプリが作っ
た鍵をコピーして利用する攻撃が可能
鍵に紐付いたUIDを偽装してコピー可能
あくまで「利用」できるだけで、鍵その
ものを取り出せる訳では無い
 詳細は以下論文を参照
 [SPSM ‘14] Cooijmans et al. Analysis of Secure
Key Storage Solutions on Android
2.
アプリの鍵が消える時
アプリの鍵が消える時
ファクトリーリセット
アプリのアンインストール
アプリ自体が消えるから当たり前
アプリの鍵が消える時
ファクトリーリセット
アプリのアンインストール
デバイスロックの操作
ロックパターンの変更、強制リセット
新しい指紋の登録、全指紋の登録抹消
ロック操作のAndroid
Developersの記述
https://developer.android.com/training/articles/keystore.html?hl=ja
トレーニングの
「Android Keystore システム」より
ロック操作のAndroid
Developersの記述
https://developer.android.com/training/articles/keystore.html?hl=ja
トレーニングの
「Android Keystore システム」より
ロック操作のAndroid
Developersの記述
APIレベル23以降の話
https://developer.android.com/training/articles/keystore.html?hl=ja
トレーニングの
「Android Keystore システム」より
APIレベル22以前の記述
https://developer.android.com/reference/android/security/KeyPairGeneratorSpec.html
APIリファレンスの
「KeyPairGeneratorSpec」より
APIレベル22以前の記述
https://developer.android.com/reference/android/security/KeyPairGeneratorSpec.html
APIリファレンスの
「KeyPairGeneratorSpec」より
確認してみよう
ロック方法を変更することで、
鍵の状態がどのように変化するか
To↓From→ NONE PIN PASS PATTERN
NONE F F F F
PIN F F F F
PASS F F F F
PATTERN T T T T
 F:鍵が消失・無効化(復号不可)
 T:鍵は有効(復号可)
 不:変更自体が不可能
 ー:最初の生成自体が不可能
凡例
検証端末
GalaxyNexus(4.3, 4.4)、Nexus5(5.0, 5.1)、Nexus5X(6.0~8.1)
検証の組み合わせ
無し(≒スライド)、PIN、パスワード、パターンの組み合わせ。
Dorian Cussen氏のBlogの調査をベースに追試、対象拡大。
https://doridori.github.io/android-security-the-forgetful-keystore/#sthash.nKk1PAbj.dpbs
Android4.3~4.4
To↓From→ NONE PIN PASS PATTERN
NONE F F F F
PIN F F F F
PASS F F F F
PATTERN T T T T
To↓From→ NONE PIN PASS PATTERN
NONE - F F F
PIN - F F F
PASS - F F F
PATTERN - T T T
KeyPairGeneratorSpec(旧API)
 setEncryptionRequired(true)
安全なロック間の変更であっても、
パターンへの変更以外は鍵が消えてしまう
 setEncryptionRequired(false)
仕様外
Android5.0~5.1
KeyPairGeneratorSpec(旧API)
To↓From→ NONE PIN PASS PATTERN
NONE F 不 不 不
PIN F T T T
PASS F T T T
PATTERN T T T T
To↓From→ NONE PIN PASS PATTERN
NONE - 不 不 不
PIN - T T T
PASS - T T T
PATTERN - T T T
 setEncryptionRequired(true) setEncryptionRequired(false)
安全なロックスクリーンを解除すること自体、
出来なくなっている
仕様外
Android5.0~5.1
KeyPairGeneratorSpec(旧API)
To↓From→ NONE PIN PASS PATTERN
NONE - 不 不 不
PIN - T T T
PASS - T T T
PATTERN - T T T
 setEncryptionRequired(true)
Android6.0~8.1
To↓From→ NONE PIN PASS PATTERN
NONE T T T T
PIN T T T T
PASS T T T T
PATTERN T T T T
To↓From→ NONE PIN PASS PATTERN
NONE - F F F
PIN - T T T
PASS - T T T
PATTERN - T T T
 setEncryptionRequired(true) setEncryptionRequired(false)
KeyPairGeneratorSpec(旧API)
Android6.0~8.1
To↓From→ NONE PIN PASS PATTERN
NONE T T T T
PIN T T T T
PASS T T T T
PATTERN T T T T
To↓From→ NONE PIN PASS PATTERN
NONE - F F F
PIN - T T T
PASS - T T T
PATTERN - T T T
 setUserAuthenticationRequired(true) setUserAuthenticationRequired(false)
KeyGenParameterSpec(新API)
Android6.0~8.1(指紋認証)
setInvalidatedByBiometricEnrollment true*1 false
ロック方法変更無し & 指紋追加 F*2 T
ロック方法変更無し & 指紋全削除 -> 指紋追加 F*2 T
KeyGenParameterSpec(新API)
 setUserAuthenticationRequired(true)かつ
setUserAuthenticationValidatyDurationSecondsを未設定
*1:デフォルトはtrue、Android6.0ではAPIがなく、trueと同じ扱い
*2:Exceptionが発生するタイミングに、バージョンによる違いあり
Android8.0のみ暗号処理実行時(cipher.doFinal())にIllegalBlockSizeException
その他はオブジェクト初期化時(cipher.init())にkeyPermanentlyInvalidatedException
T:復号に成功
F:復号に失敗
消えるシーンの想定
setEncryptionRequired()やsetUserAuthenticationRequired()は前提
共通
作業用に一時的にロックを外す
Android4.3、4.4
ロックの方法を変えよう
(パターン→パスワードに変更)
ロックの内容を再設定しよう
(PIN/パスワードを再設定)
Android6.0以降(※)
指紋を追加したい
ユーザ操作で消えるのを
想定する必要がある
3.
消えることを見越して
アンチパターン①
不必要にローカルのみで暗号化
例:ログイン後に表示されるアプリ情報を保存
ログイン
復号
暗号化済
アプリ情報
こっちには
無いよ
鍵消失
O
K
ログイン
暗号化済
アプリ情報 復号
失敗
…
アンチパターン②
再現できない情報を暗号化
例:UUID等の生成ごとに変わるアプリ識別情報
UUID_A
復号
暗号化済
UUID_A
暗号化済
UUID_A
UUID DATA
UUID_A ・・・・
UUID_B ・・・・・
UUID DATA
UUID_A ・・・・
UUID_B ・・・・・
復号
失敗
UUID_Z(再生成、初期化後)
新しい
端末かな
鍵消失
アンチパターンからの脱出の為に
暗号化するデータの見直し
 そもそも端末で持つ必要があるか
 消えても再取得・入力可能か(同等も可)
(非推奨)やむを得ない場合,別の鍵(再取得・
導出可)で暗号化し、その鍵の保護に使う
当然データの強度はKeystoreの鍵に依らなくなる
消えることを見越した作りに
 再取得・再入力を意識したフローに
 システムだけではないサポートも
4.
まとめ
まとめ
Android Keystoreで生成した鍵
は、ユーザ操作で消失する可能性
OS Verで消失する条件が異なる
アプリ開発者は消失を前提に、
データやフローの設計が必要
暗号鍵を例に説明したが、署名等
の用途でも消失前提で設計が必要
ご清聴ありがとうございました

More Related Content

What's hot

Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明FIDO Alliance
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツpospome
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのかabend_cve_9999_0001
 
Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版Yuichi Hasegawa
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門Tadahiro Ishisaka
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてHiroyuki Wada
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用Masaru Kurahayashi
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!zaki4649
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案樽八 仲川
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 

What's hot (20)

Fido認証概要説明
Fido認証概要説明Fido認証概要説明
Fido認証概要説明
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
REST API のコツ
REST API のコツREST API のコツ
REST API のコツ
 
Keycloak入門
Keycloak入門Keycloak入門
Keycloak入門
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
 
Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版Spring 5でSpring Testのここが変わる_公開版
Spring 5でSpring Testのここが変わる_公開版
 
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門関数型・オブジェクト指向宗教戦争に疲れたなたに送るGo言語入門
関数型・オブジェクト指向 宗教戦争に疲れたなたに送るGo言語入門
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについてKeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
 
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
 
flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!flaws.cloudに挑戦しよう!
flaws.cloudに挑戦しよう!
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
脱RESTful API設計の提案
脱RESTful API設計の提案脱RESTful API設計の提案
脱RESTful API設計の提案
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
golang profiling の基礎
golang profiling の基礎golang profiling の基礎
golang profiling の基礎
 

Similar to アプリの鍵が消える時_Droid kaigi2018

いま注目のセンサー&デバイス
いま注目のセンサー&デバイスいま注目のセンサー&デバイス
いま注目のセンサー&デバイスKaoru NAKAMURA
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSFFRI, Inc.
 
モデルの技術と実施工程
モデルの技術と実施工程モデルの技術と実施工程
モデルの技術と実施工程聡 鳥谷部
 
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADA
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADAビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADA
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADARiotaro OKADA
 
TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002Imagineers Guild
 
TouchDesigenr Beginners' workshop vol.002 2017/07/17
TouchDesigenr Beginners'  workshop vol.002 2017/07/17TouchDesigenr Beginners'  workshop vol.002 2017/07/17
TouchDesigenr Beginners' workshop vol.002 2017/07/17Dan Imagineer
 
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?Masamitsu Maehara
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略Developers Summit
 
neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo Daichi Morifuji
 
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方Kaoru NAKAMURA
 
THETA プラグインで WebRTC やってみた
THETA プラグインでWebRTC やってみたTHETA プラグインでWebRTC やってみた
THETA プラグインで WebRTC やってみたHideki Shiro
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編Takashi Yahata
 
KOF2010 - 合い言葉は\爽快セキュリティ!/
KOF2010 - 合い言葉は\爽快セキュリティ!/KOF2010 - 合い言葉は\爽快セキュリティ!/
KOF2010 - 合い言葉は\爽快セキュリティ!/sokaisecurity
 
Terraform with Bitbucket pipeline
Terraform with Bitbucket pipelineTerraform with Bitbucket pipeline
Terraform with Bitbucket pipelineMasatomo Ito
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備Takeshi Arabiki
 
アイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれからアイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれからTatsuo Kudo
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターンMasaru Kurahayashi
 
みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向Yasuki Kishi
 
The way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationThe way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationDataWorks Summit
 

Similar to アプリの鍵が消える時_Droid kaigi2018 (20)

Android Wear: Good Parts
Android Wear: Good PartsAndroid Wear: Good Parts
Android Wear: Good Parts
 
いま注目のセンサー&デバイス
いま注目のセンサー&デバイスいま注目のセンサー&デバイス
いま注目のセンサー&デバイス
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
 
モデルの技術と実施工程
モデルの技術と実施工程モデルの技術と実施工程
モデルの技術と実施工程
 
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADA
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADAビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADA
ビルトイン・セキュリティのススメ Dev Days 2015 Tokyo - Riotaro OKADA
 
TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002TouchDesigner Beginners' Workshop vol.002
TouchDesigner Beginners' Workshop vol.002
 
TouchDesigenr Beginners' workshop vol.002 2017/07/17
TouchDesigenr Beginners'  workshop vol.002 2017/07/17TouchDesigenr Beginners'  workshop vol.002 2017/07/17
TouchDesigenr Beginners' workshop vol.002 2017/07/17
 
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?
 
【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略【B-2】AI時代におけるエンジニアの生存戦略
【B-2】AI時代におけるエンジニアの生存戦略
 
neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo neural network introduction yapc asia tokyo
neural network introduction yapc asia tokyo
 
Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方Kinect、real senseの概要とさまざまな使い方
Kinect、real senseの概要とさまざまな使い方
 
THETA プラグインで WebRTC やってみた
THETA プラグインでWebRTC やってみたTHETA プラグインでWebRTC やってみた
THETA プラグインで WebRTC やってみた
 
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
 
KOF2010 - 合い言葉は\爽快セキュリティ!/
KOF2010 - 合い言葉は\爽快セキュリティ!/KOF2010 - 合い言葉は\爽快セキュリティ!/
KOF2010 - 合い言葉は\爽快セキュリティ!/
 
Terraform with Bitbucket pipeline
Terraform with Bitbucket pipelineTerraform with Bitbucket pipeline
Terraform with Bitbucket pipeline
 
Twitterのデータを取得する準備
Twitterのデータを取得する準備Twitterのデータを取得する準備
Twitterのデータを取得する準備
 
アイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれからアイデンティティ (ID) 技術の最新動向とこれから
アイデンティティ (ID) 技術の最新動向とこれから
 
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
 
みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向みんなのPython勉強会#35 Pythonのお仕事動向
みんなのPython勉強会#35 Pythonのお仕事動向
 
The way to a smart factory armed with data utilization
The way to a smart factory armed with data utilizationThe way to a smart factory armed with data utilization
The way to a smart factory armed with data utilization
 

アプリの鍵が消える時_Droid kaigi2018