【SSS】Keepass2Androidのセキュリティ設定

大変だけど設定はちゃんとやろう

セキュリティを意識した機能と意味を説明し、有効・無効どちらが適正かを判断する。

クイック解除の高度な騙しのやり方も述べているので、是非参考にしよう。

不要なもの・わからないもの・初期設定で問題のないものはある程度省いた。

非常に項目が多いため「目次」を有効活用し、アプリに沿って上から1つずつしていこう。

機能が豊富で忘れやすいのでブックマーク推奨。
スポンサーリンク

設定の場所

データベース(.kdbx)を開いたら、画像の順番どおりに進めよう。

縦3点リーダーをタップ
設定をタップ
データベースとアプリケーションを紹介
スポンサーリンク

データベース

この設定はデータベースに記憶されるので、別の端末に移動させても引き継がれる。

アルゴリズム

アルゴリズム選択

パソコン版でも使えるため「ChaCha20」推奨。

ただし、同じデータベース(.kdbx)をiPhoneで使う予定があるなら「AES/Rijndael」のまま。

アルゴリズムとは暗号化の種類のことで、私はかわいいChaCha20を推奨しているが、AES/Rijndaelも結構な期間破られていない実績があり正直変える必要はない。

iPhoneアプリの「MiniKeePass」はこの設定を変更できるものがなく、iPhoneと同期させるような使い方をしているならエラー防止として尚更AES/Rijndaelで良い。

エラーが出るのはChaCha20ではなく次に説明するArgon2のはずだ。

キー派生関数(意図的に負荷をかける)

キー派生関数選択

同じデータベース(.kdbx)をiPhoneで使用する可能性があるなら「AES-KDF」、それ以外は「Argon2(アルゴン2)」推奨。

「アルゴリズム」と同じで「MiniKeePass」に設定項目がなく、完全に対応していないのかエラーがでてKeePassを開けない。

壊れるわけではないので、パソコンかKeepass2Androidに戻せば普通に使える。

この機能は意図的に「開く」ときに負荷をかけ、総当たり攻撃に対して非常に強くなる機能だ。つまり、盗難時の「最終防壁」であり、自分の寿命より先に解読されなければ勝ち。

副作用として保存する際にも同じ負荷がかかり、パソコン版でかけた負荷をAndroidで使用すると性能が違い過ぎて一日中開かないこともある。必ず後述する調節をすること。間違えて壊さないように!

初期設定で暗号化レベル(反復回数)は500000となっているが、残念ながらArgon2と違いメモリに負荷をかけられず、Argon2ほどの効果は得られないことを認識しておこう。

負荷をかけてもクイック解除はそれすらもクイックするため、スムーズに開ける。

Argon2

Argon2設定

パソコン版の翻訳とちょっと違うが、「暗号化レベル」は反復回数のことだ。

設定を変更した瞬間から秒数を数え、15秒以上はさすがに長いのでいったん閉じて無効化し、8秒でも長いと思ったら暗号化レベルを下げよう。予期せぬ不具合で壊れても、当サイトは免責事項「責任逃れ」を発動させるため責任は負えない。

自分の環境と相談して真似しよう。

※並列処理は全て4固定、バイト数は4(4194304バイト)・8・16・32MB以上使用しない前提で進める。
  1. メモリに不安を感じる格安スマホを使用 → 暗号化レベル30・メモリ8MB(8388608バイト)=8秒位(PC0.2秒位)
  2. メモリ多分大丈夫、格安スマホを使用 → 暗号化レベル15・メモリ16MB(16777216バイト)=8秒位(PC0.2秒位)
  3. ハイスペックスマホ → 暗号化レベル10以上・メモリ32MB(33554432バイト)
Argon2設定例

上記の通りスマホで8秒の負荷をかけても、私のミドルスペックパソコンでは0.2秒ほどしかかからない。

AESの初期設定(500000)が0.002秒で効果がないとは言えないが、若干の嫌がらせは期待できそうだ。

この設定に不満があるなら、パソコン用とスマホ用にデータベースをわけてパソコン用をガッツリ、スマホ用をスマートに利用しよう。

わけたことでスマホで使わない情報も削除でき、パソコンだけArgon2を強力にする使い方が可能に!

参照登録情報をスマホとわける

マスターキーを変更

2018年8月10日の時点でバグるので触らない。

非常にわかりやすくマスターパスワードを変更でき、キーファイルも変更・追加できるはずだが、キーファイル設定がバグる。

理由はおそらくキーファイルの名前しか入力できず、ファイル名を入れてもファイルを参照せず、何だかよくわからない処理をしてる模様(架空のキーファイルを探しているのかも)。

ずっと「パスワードを設定中」と表示され先に進まないので、一旦閉じれば再度使用可能になる。

念のためファイルが破損するかもしれないので、修正されるまで放置しておこう。

この機能は私が使用していないため報告はしないし、パソコンでマスターパスワードとキーファイルは変更可能なのでいまのところ無視。

指紋認証によるロック解除

私の端末に生体認証がないのでわからないが、こちらで設定できると思われる。

スマホの画面ロックと同じ指紋を使うことは「同じパスワードを使い回す」ことと同じであり、激烈に無意味なので今すぐやめよう。

指紋認証を突破されたらその指紋情報を所持しているというわけで、違う指でない限りアプリの指紋認証が役に立たないからだ。

クイック解除」という優秀な機能があるので、多少は我慢しよう。

スポンサーリンク

アプリケーション

この機能はアプリに保存されるため、アプリをアンインストールすると初期設定に戻る。

セキュリティ

盗難・紛失時対策の時間稼ぎ機能を設定可能。

アプリから抜けたときにロックする」の仕様は注意事項満載なので、一度確認することを勧める。

クリップボードのタイムアウト

30秒推奨。

通常は「アプリ専用キーボードでクリップボードを通らずに入力」でき、何かしらの理由でコピーすれば当然クリップボードに残る。

アプリからコピーした作業が30秒以上かかりそうにないので、30秒でいいだろう。

アプリケーションタイムアウト

癖が付いていれば無制限、付いていなければ30秒推奨。

アプリを使用しなくなるとロックしてくれる機能。

スマホを落としたことを想定するべきで、最低が30秒となっており、落としてから最短だと「画面ロックとタイムアウトロックがかからない状況」が生まれるかもしれない。

「スマホを見終わると必ず画面を消す癖」が付いているのならこの機能を「無制限」にし、次の「画面オフ時にロックする」の設定を付ければ良い。

癖が付いていなかったり、画面ロックをそもそも付けていないのなら30秒固定。

以下の最悪のパターンはどうしても救えないので無視。

例:立ち止まってスマホ操作中に誰かがぶつかってくる → ビックリして落とす →「ドロボー!」

画面オフ時にロックする

「スマホを見終わると必ず画面を消す癖」を考えて、チェックを入れよう。

アプリから抜けたときにロックする

チェック有り推奨。

実は「アプリケーションタイムアウト」と「画面オフ時にロックする」はバックグラウンドに残るタイプで、「キーファイルを記憶する」のチェックを外していたとしてもなぜか選択された状態になる。

この機能を有効にしてアプリから抜けるか、アプリを完全に終了させて「キーファイルを記憶する」の効果を発動させよう。

アプリから抜けるのと完全に終了は同じかもしれないが、仕方がない。

データベースを記憶

チェック有り推奨。

「.kdbx」と拡張子が決まっているので、検索をかければKeePassだということはすぐにわかる。

ここは素直にチェック有りにし「ファイルを開く」画面に存在する「最近使用したデータベースを開く」をうまく使い、データベースはすぐに探せる状態にしておこう。

他の機能でセキュリティを高めれば良い。

データベース履歴

キーファイルを記憶する

盗難・紛失にも強くするならチェックなし推奨。

チェックなしにしてもクイック解除はキーファイル選択画面をスキップするので、クイック解除の仕様上1回目は役に立たない。

さらに、「完全にアプリを終了」か「アプリから抜けたときにロックする」のチェックを入れた終了のさせかたじゃないと、クイック解除失敗時にキーファイルが選択されたままになる。

面倒だがこまめにやろう。

後半の「クイック解除キーの長さ」で紹介する小ワザが非常に優秀なので、小ワザと併用する使い方がオススメ。

正確に言うと「アプリケーションタイムアウト」と「画面オフ時にロックする」がバックグラウンドに残るタイプなので、キーファイルが選択されたままだ。

表示

デザインや無視しても構わない機能が沢山ある。

データベースの表示を保護する

チェック有り推奨?

パスワード情報などのスクリーンショットが撮れなくなる。だが、アプリを開く際にこの設定を触ることができ、無効化できてしまう。

撮影されそうな状況はパスワードを突破されているため、あまり意味のない機能だ。

寄付オプションを表示しない

「設定」を選択するときに「ビールの寄付」とあり、「Philipp Crocoll」さんのサイトにアクセスすることができる。

寄付にアクセスできる

オフにするとこの表示が消えるか、5月10日の誕生日表示が残念なことに消えてしまうかもしれない。

寄付専用アプリでも手軽に寄付(Google Playのアプリ内課金)できるので、お金に余裕があれば応援してみてはいかがだろうか。

Donate for Keepass2Android(Unreleased)

Donate for Keepass2Android(Unreleased)

Philipp Crocoll (Croco Apps)posted withアプリーチ

パスワードエントリーへのアクセス

クリップボード通知

チェックなし推奨。

チェックなしでもクリップボードを正常に使えたので不要だ。

キーボードの切り替え

完了時にキーボードを切り替える

チェックなし推奨。

「ユーザー」と「パスワード」入力をする際に出現する「1行のキーボード」の「完了」ボタンを押すと、普段使用しているキーボードに戻る。

1行キーボード

「完了」ではなくログインページのログインボタンなどを押すと戻ってくれない。

「キーボード」の設定に似たようなのがあるが、あちらはデータベースのロックのついでにキーボードも閉じるという動作。

おそらく「完了時にキーボードを切り替える」の方が使いにくいので、こちらはチェックなし。

オートフィルユーザー補助サービス

オートフィル=自動入力のこと。

自動入力はAndroid8.0(Oreo)が必須で、現在開発中のようだ。

2017年12月まで使えた自動入力は障害者の援助以外目的での使用が認められなくなった。

参考自動入力の議論自動入力が使用できなくなったこと、別の方法で使用する方法(英語)

クイック解除

毎回アプリをロック、閉じた最初の1回だけ出現する機能。

失敗しても開く画面に戻されるだけなので利便性と安全性を兼ね備えた良い機能だが、初期設定は3桁となっており、少なすぎて困惑する。

「データベース選択」・「キーファイル選択」・「意図的な負荷」もスキップされてしまうので、キーファイルを記憶させずに使用している方はクイック解除を無効化するのもありだ。

ただ、次で紹介する小ワザで騙すことのほうがセキュリティ的に高いかもしれないので、当サイトは騙す方を推奨する。

クイック解除キーの長さ

クイック解除

せめて4桁推奨。

これは世界中のPINの最低条件が4桁であるためで、「科学的な根拠があるのではないか?」という想定に基づいたものだ。

ここでちょっとした使い方を紹介。

例:マスターパスワードが12桁、クイック解除キーを15桁にすると、クイック解除画面に15桁と表示されるためマスターパスワードは15桁という先入観を与えられる。

上記小ワザを使うと「キーファイルを記憶しない設定」だろうが高度な騙しがあいだに入っているため、一度だけの防御が飛躍的に上がって、利便性と安全性がさらに期待できる。

まず間違いなく12桁が正解なのに、15桁を入力するわけだ。

「クイック解除を使用しない予定」だった方は「マスターパスワードを全文字入れる必要」があったわけで、どうせ全文字入れるならあえてクイック解除を有効にし、「1回だけキーファイルを選択しないで済むメリット」を堪能しつつ騙そう。

Hide QuickUnlock length

クイック解除キーの長さを隠せる

「クイック解除キーの長さ」の小ワザを使わないならチェック有り推奨。

クイック解除キーの長さが最初に表示されてしまうが、それを隠すことができる。

桁数を間違えても本人なら問題ないだろう。

ファイル操作

自分の端末(ローカル)にデータを残し、すばやく開くための機能がある。

セキュリティ業界は「盗難・紛失は何をしても終わり」という判断のもと、「自分が必ず持っている状態」を想定して作られているためこのような機能が存在する。

データベースキャッシュ

チェックなし推奨。

紛失時にDropboxなどの連携を解除しても、キャッシュでデータベースを開けてしまい意味がないので、連携解除を機能させるためにチェックなし。

無効化しても何が変わったのかよくわからない。

直前になにか変更していたら、先に「データベースの同期」をしておこう。

データベースの同期
バグなのか、「データベースのキャッシュ」をタップした瞬間に削除されてしまうようで、この画像を撮るのが非常に難しかった。
キャッシュクリア

Local backups

チェックあり推奨。

データベースを正常にロードした後に、ローカルにバックアップコピーを作成するようだ。

上記キャッシュと同じような感じだと思ったのだが、「keepass」で検索をかけてもどこにあるのかわからなかった。

ファイルが残らないのなら初期設定のチェック有りのままにしておこう。

キーボード

アプリ専用キーボードの設定をすることができる。

キー操作音

チェックなし推奨。

完了時にデータベースをロック

チェック有り推奨。

1行キーボード
 1行キーボード

パスワード情報を入力後、1行キーボードの「完了」を押すことでデータベースを閉じ、いつも使用しているキーボードに戻る。

「鍵」マークをタップする癖がついていないなら非常に助かる機能だ。

似ている機能「完了時にキーボードを切り替える」は「完了」と同時にいつものキーボードに戻るだけでアプリが残ってしまい、続けてログインする際に前の情報を引き継いでしまう。

例:インスタグラムにログイン → ロックしないままツイッターにログイン → アプリが残ってしまい、「ユーザー」をタップしてもツイッターなのにインスタグラム情報のまま。

一度ロックするとパスワード入力回数は増加するが、面倒と引き換えにセキュリティも向上、上記のような予期しない出来事に遭遇する確率も減り、スムーズに使うことが出来る。

スポンサーリンク

複数項目に対応させる

銀行などの複数項目にも対応させるため、「文字列フィールド」を使い1つのエントリーを充実させよう。

スポンサーリンク

プラグインの追加

アプリからログインページにアクセスする際に、自動でキーボードが1行キーボードになってくれる。

理想のWebログイン手順

これにより「ログインページ」→「いきなり1行キーボード」となり、とてつもなく利便性が向上する。

Keepass2Androidプラグインでキーボード変更をスキップ

ただし、このプラグインより先にそもそもの使い方を間違えていると意味がわからずスムーズに使うことはできないので、先にこちらで使い方をマスターしよう。

スポンサーリンク

盗難・紛失時の設定意識

連携解除だけでは不十分だったり、何かと盗難・紛失時はやることがある点に注意。

以下記事はクラウド同期をしている状態での盗難・紛失時の「対策法」を述べているので、緊急事態は役に立つだろう。

クラウドの使用を検討していたり、Androidの盗難・紛失対処法はこちら。

【緊急】なくしたAndroidスマホを端末を探すアプリかPCで探す使い方

コメント

  1. 匿名 より:

    オフラインでも「ローカルバックアップを表示」すると保存されたデータベースを使用できます。

    オフラインでの利便性を考えるなら初期設定のまま(キャッシュ・バックアップともにチェック入)
    紛失時に使用不可能としたいならキャッシュ・バックアップ両方ともチェックを外すのが妥当かと思います。。

  2. 談合郎 より:

    本当に参考になります。ありがとうございます。

    ところで、私は古いAndroid(5や6)でKeepassを利用しているのですが、これについてはどう思われますか?

    やはり、(メーカーにもよりますが)セキュリティアップデートの更新がなくなっている機種での使用は控えた方が賢明でしょうか?

    もし、止めた方がいい場合、マスターパスワードも変更すべきでしょうか?

    最近ふと気になりだしたので色々調べたりしても、古いAndroidのセキュリティについてはあまり情報がないようなので判断に迷っております。

    ぷっぷ様のご見解をお聞かせ頂ければ幸いです。よろしくお願い足します。

    • ぷっぷ より:

      私も古いAndroidを使っていたのでなんとも(´ε`;) こっちが聞きたいくらいかも。
      基本的には

      • Bluetooth禁止(多分脆弱性がある古いやつだったはず)
      • 検索はほどほどに(私は自分のサイトがどう見えるか、必要最低限でもちろん余計なところはいかない。経験が重要)
      • お金関係禁止
      • ちゃんと端末暗号化(家のみでも画面ロック必須)

      といったふうな使い方をしていました!
      基本的にパソコンと同じで、ブラウジングとアプリインストールの2つだけ気をつけると大体なんとかなります(非推奨)。
      大抵は「なにかしたら乗っ取られる」くらいに思っておけばOK。
      KeePassは普通に使っていましたが、これは「KeePass2AndroidがKDBXファイル読み取り機」と認知しているためで、今考えても特に問題ないかなーと思います(暗号化されていますし)。
      もちろんキーロガーみたいなことをされたら侵入されるかもしれませんけども、KDBXファイルはローカルかクラウドにしかありませんし、盗んだところでマスターパスワードの防御壁がありますので、やはり安全度は高いです(KeePass自体が元々セキュリティ高いので)。
      マスターパスワードは変更する必要があるかどうかは環境によるのではっきりといえませんが、私は変えていません。
      ただ、私は「スマホは落とすのが怖い」と思っているので、パソコンとスマホのKDBXファイルは別のリスク分散をしていて、普通とはちょっと違う環境です( Ꙭ)
      お金があれば2.3年周期でスマホを買い換えるべきだとは思います!

  3. hoge より:

    補足

    データーベース設定 > データーベース・キーファイルを内部のフォルダへインポート

    ファイル操作 > データーベース キャッシュ – データーベースをオフラインで編集、オンライン時に同期して保存ができるように内部ディレクトリに保存

    ファイル操作 > ローカルバックアップ – 最後に正常に開かれたファイルを「読み取り専用」バックアップとして内部ディレクトリに保存

    ※アプリ領域に保存、root権限がない限り直接アクセス不可
    root化した人は全部OFF推奨かも?

    • ぷっぷ より:

      どうしよう、最初に設定してそれ以降まったくいじってないから、何もわからないなんて言えない(゚~゚o)
      検索に引っかかった人が助かるように、お祈りはします!