パソコンでKeePassを使用している前提かつ、「Keepass2Android(キーパス2アンドロイド)」アプリと「Dropbox(ドロップボックス)」を使ったクラウド同期をし、連携する使い方を紹介していく。
無料アカウントにリンクできる数が最大3台までになった。KeePass用パソコン・スマホ計2台運用なら困らないだろうが、今後たくさん使う予定の方は要注意。
やり方はGoogle Drive(グーグルドライブ)やOneDrive(ワンドライブ)などあまり変わらないので、「Dropboxの文字」を入れ替えて参考にしよう。当サイトで推奨しているSyncは使用できなかった。
SyncがKeepass2Androidで使えると発覚。これにより、メジャーなクラウドと同じように使える=Syncの高すぎるセキュリティでDropboxの乗り換え先としても優秀。
この記事はDropboxで進んでいくが、改悪したDropboxのままの使用で問題ないのであれば、そのまま進めて良い。
クラウド同期にキーファイルは必須
同じクラウドにデータベース(.kdbx)・キーファイル(.key)を入れてしまうと、クラウドが不正アクセスされた際に2つとも盗まれて意味がない。
データベースとキーファイルを別々にすることでKeePassを開けないようにしているため、有名な1Password・LastPassとやっていることがほぼ同じになってしまう。
実は同じマスターパスワードを使い簡単に追加できるので、チョチョイとやってしまおう。
同期・連携準備
Keepass2Androidをダウンロードしてこよう。
Keepass2Android Password Safe
Philipp Crocoll (Croco Apps)posted withアプリーチ
Dropboxはデスクトップにインストールしている前提で話を進めていき、まだ持っていなければ作成しよう。
無料プランで2GBだが、KeePassで2GBも使うのは至難であり足りなくなったら検討するものだ。
Keepass2Androidでフォルダを作る
KeePass専用フォルダをアプリから作成する。
「ファイルを開く」をタップし、「Dropbox(KP2Aフォルダー)」をタップする。なお、KP2AはKeepass2Androidの略語だ。
このフォルダがDropbox専用で、KP2Aフォルダだけにアクセス権限を許可する機能だ。アプリはKP2Aフォルダ以外にアクセスできないわけなので、安全度は高め。
次にDropboxのログイン画面が出現し、すでにログイン中なら表示されない。
ここではウェブブラウザ版Dropboxを使用するため、Dropboxアプリをインストールしていない場合の画像で進めていく。
表示されたらアカウント情報を入力しよう。
QRコードサイトにメールアドレスを入力してQR生成 → 読み取り、次にパスワードのQRコードを生成して読み取る。わざと2回にわけよう。
クリップボードにパスワードが残るため、入力し終わったらどうでもいい文字列をコピーして上書きすること。
共有PCでQRコードのキャッシュが気になるなら、各種ブラウザのプライベートブラウジングで生成しよう。
ログインが成功するとアプリが連携したい挙動を見せるので許可する。
そうするとまだ入れていないので「空です」と表示される。
これでKeepass2Androidフォルダを作成した。
Dropboxのデスクトップアプリを使用していれば、デスクトップに「Keepass2Androidフォルダが作成されました」と教えてもらえる。
Dropboxにデータベースを入れる
作成された「アプリ」→「Keepass2Android」フォルダの中に自分のデータベース(.kdbx)を入れよう。
データベースの場所は初期設定なら「ドキュメント」に入っている。
次にキーファイルを対処するので、データベースは入れっぱなしで放置。
端末にキーファイルを入れる場合
できれば「データベースを入れたクラウド以外」か、別の方法で端末に入れることを勧める。
奇跡的なタイミングで不正アクセスされるとデータベース・キーファイルが同時に盗まれてしまうからだ。
クラウドや端末から削除してもゴミ箱に移動しただけで残っているぞ。
キーファイルの保存場所は後で探すことになるので必ず覚えておくこと。
Dropboxに入れずに別ルートで端末に入れる
Firefox Send(ファイアフォックスセンド)という、あのFirefoxの無料転送サービスがある。
データベースとは別ルートのため、パスワードも付けずにキーファイルを送って大丈夫だ。このサービスでやることは、
- キーファイルをアップロード
- 自動暗号化通信でFirefox Sendのサーバーに送信
- アップロードしたキーファイルのダウンロードURLを取得
- 取得したURLをQRコードかチャットアプリで送信
- スマホでURLにアクセスし、ダウンロード
となっているので簡単だ。使い方は以下の記事を参照しよう。
別のクラウドにキーファイルを入れる場合
キーファイルを別のクラウドに入れずスマホに入れるだけなら、Keepass2Androidを開くまで読み飛ばそう。
ユーザー数が多いGoogle DriveとOneDriveが別のクラウドとしてはオススメだ。
もちろんマイナーなクラウドも使用できるので安心してほしい。どちらにせよ、キーファイル専用として使う場所にキーファイルを入れておくだけでOK。
キーファイルの保存場所は後で探すことになるので、必ず覚えておこう。
Keepass2Androidを開く
「ファイルを開く」からスタートし、「Dropbox(KP2Aフォルダー)」をタップ。
Syncなど無名のクラウドはシステムファイルピッカーで進め(サードパーティのアプリから取得ではない)、左上にあるハンバーガーメニューに連携しているクラウドが表示されるので、画面の指示に従ってkdbxファイルを探していこう。
またしても許可を求められるが、データベースが表示されるのでタップしよう。
そうしたら「マスターキーの種類を選択」をタップし、「パスワード+キーファイル」を選択。
キーファイルの「場所の変更」をタップ →「ストレージタイプの選択」をする。
クラウドに入れたなら「該当のクラウド」、該当のクラウドがなかったり端末に入れたなら「システムファイルピッカー」か「サードパーティーのアプリから取得」でキーファイルを選択しよう。
キーファイルが端末のどこにあるかわからないなら、ファイル検索をしよう。ダウンロード手順をしたなら「Download(ダウンロード)」フォルダに入っているぞ。
Sync利用者への小ネタ
Syncを利用していなかったり、データベースをパソコンとスマホで別々にしていないなら、間違えてクラウド連携を切ったら?まで読み飛ばそう。
別記事のコメント欄で、動作安定方法? を教えてもらった。
動作不安定ならやったほうがいいと思うが、キャッシュが残ってしまうため、それが嫌ならしなくても良さそうだ。
Syncアプリ内でデータベースファイルが保存されているフォルダを開き、データベースファイルのメニューから「Sync offline」を選択しておくと安定するかもです(キーファイルも同様)。
引用:N. Kaitohさんのコメント | KeePassで使うクラウド同期おすすめストレージ3選
キャッシュが残ってると、どのような不都合があるかは知りません(´ε`;)
- ステップ.1Syncアプリを開く
Keepass2Androidからではない! 普通にSyncアプリを開く
- ステップ.2データベース、またはキーファイルを探す
そのファイルの右側にある「︙」をタップ
- ステップ.3真ん中にある「Sync offline(シンクオフライン)」をタップ
そうするとチェックマークが付く
- ステップ.4戻す場合、ステップ.3が「Unset sync offline(オフラインで同期を解除)」になっているのでタップ
チェックマークが消える。ステップ3・4をやりまくるとバグったため、なった場合は再起動
この手順でオフラインにすると、Keepass2Androidから情報を追加した際は同期され、パソコン側から追加した際はスマホ側に同期されない状態になる。
Android端末を確認すると、「com.sync.mobileapp」→「cache」→「default」→「offline」の中にSync offlineにしたファイルが追加されているため、おそらく端末にキャッシュとして残していることで、動作安定を期待できるようだ。
間違えてクラウド連携を切ったら?
何らかの理由でスマホのクラウド連携を切ると、クラウドのログイン情報を入力することになり、そのログイン情報がKeePassに入っている場合は「詰んだ」と一瞬焦る。
ちなみに連携が勝手に切れたことはDropbox・Google Drive共にない。
SNSアプリなどもそのような仕様で、気にかけるだけ実際は無駄濃厚だ。
もしも連携が切れたときはこちらでもQRコードを生成し、手入力せず読み取りでごまかそう。
何度も言うがクリップボードにパスワードが残るため、入力し終わったらどうでもいい文字列をコピーして上書きすること。
共有PCでQRコードのキャッシュが気になるなら、各種ブラウザのプライベートブラウジングで生成しよう。
特定の条件下で詰むケース
この記事はパソコンとスマホを同時に使用しているため上記説明のとおりスマホを紛失しても詰むことはないはずだが、無理矢理詰ませるなら「自宅が火事になり、パソコン・スマホ・バックアップもろとも焼失」すると詰む。
「クラウドにバックアップがあるよ!」その通りだ。
では、そのクラウドのパスワードは覚えているのだろうか。
盗まれたときの対処法
キーファイルのおかげでクラウドに不正アクセスされただけじゃまず大丈夫であり、他社パスワード管理ソフトが被害にあったときは対岸の火事として見ることができる。
だが、盗難・紛失したときの対処法は知っておいたほうがいい。
たとえキーファイルをクラウドに入れていても画面ロックを突破された場合、仕様上端末にデータベースとキーファイルが揃っていることを回避できない事実を直視しよう。
ようするに、KeePassの関係がない分野で防御する手段を増やす。
Keepass2Androidの設定
セキュリティを意識した使い方や、クイック解除を使った高度な騙しなど「絶対に紹介されていない意味のわからないもの」を紹介しているので、有効活用しよう。
コメント
初めまして。
ぷっぷ様の記事を参考にさせて頂きまして、keypassを使い始めました。
keypassのデータベースとキーファイルの暗号化についてご質問があります。
※私の場合は、PC用とスマートフォン用にデータを分けております。
質問は以下の2点になります。
①PC用のデータベースとキーファイルはどちらを暗号化するべきなのか。
②スマートフォン用のキーファイルの暗号化はPC用のBoxcryptorを経由せずにスマートフォン用のboxcryptorで行うべきなのか。
①につきまして
私の環境ではPC用のデータベースをBoxcryptorで暗号化してクラウドAに保存。キーファイルはBoxcryptorで暗号化せずにクラウドBに保存という形式にしております。
※PC用のkeypassでは何度試しても、キーファイルを暗号化してしまうとファイルが読み込めない状態になってしまいます。その代わりになのか、データベースの方は暗号化してもキーファイルを読み込んでファイルを開ける状態になりました。
上記の状態でのkeypassの使用はセキュリティ的に問題はないでしょうか?
ぷっぷ様の別の記事では、データベースを暗号化するのではなく、キーファイルの方を暗号化しているという記載があった為、私のやり方は間違っているのかもしれないと不安に感じております。
②につきまして
スマートフォン用の場合は、データベースをクラウドCに保存。キーファイルをクラウドDに保存という形式です。
こちらは、PC用とは逆にデータベースを暗号化するとファイルの読込が出来ない状態です。そのため、データベースは暗号化せずにキーファイルのみを暗号化して保存しております。
当該キーファイルの暗号化方法なのですが、一度PC用のBoxcryptorで暗号化してクラウドDに保存したものをキーファイルに設定しております。
この場合なのですが、スマートフォン用のBoxcryptorで暗号化してクラウドDに保存したものをキーファイルに設定し直した方が良いのでしょうか?
説明が分かりにくいと思いますが、分かる範囲でお答え頂ければ幸いです。
宜しくお願い致します。
私はキーファイルですね。なにか理由があったような……忘れました(*゚▽゚)
※KeePassの起動が遅れる?だったような。
動作上問題ないのであれば、データベースの暗号化でも問題ないですし、せっかく設定したのに戻すのも面倒ですし、エラーになっちゃうのであればデーターベース暗号化を続行で!
スマートフォン用をPCで作成したと思いますので、それを考えれば、キーファイルをスマートフォンで作成してPCに痕跡が残らないということなので、より強力なのは確かです。
ですが、だいぶめんどくさいのでサボっても大丈夫だと思います∩(・∀・∩
うーん…やはりなにをやってもできないようです…(´;ω;`)
無理やり同期(一時停止後同期を再開)しても更新されないです。
選択型同期も問題なし、ファイル名も問題なし。
テキストファイルなどを使ってみてもどのクラウドも更新されません。
要するにKeePass云々以前にクラウドをまともに使えていないようです。
ただ、やはりスマホからの更新はしっかり認識しているようでクラウド側でも更新がなされます。
なので私のパソコンに何かしらの問題があると考えられます。
これ以上ぷっぷさんに迷惑はかけられませんし、私のパソコンに問題がある可能性が高い以上どうしようもない話ですので
色々いじってみても上手くいかない場合は諦めるか…もしくは更新する度に手動でデータベースの入れ替えをするか…を考えてみます。
時間を取らせてしまい申し訳ありませんでした。
丁寧な対応に感謝です。
どのようにお礼をすればいいか分からないのでこのサイトの布教と、これからも勉強しつつたくさんクリックさせていただきます(´・∀・`)
ガ━━(゚Д゚;)━━ン!
お助けにならず、力不足でこちらこそごめんなさい。
布教はとってもありがたいです(*゚▽゚) 洗脳だー!
記事閲覧数を増やせるほどに魅力あるサイトにしていきますので、応援よろしくお願いします∩(・∀・∩
復読させてしまい申し訳ないです…。
また、丁寧な解答に感動しております(´;ω;`)ブワッ
説明不足だったのですみませんが「同期されないのはDropboxだけ」ではなく、Syncにおいても同様に同期されないです。(´;ω;`)ウッ…
クラウドの使用も初めてでしたのでもしかしたらクラウドについて何か初歩的で致命的な理解ミスをしているような気がします。
DropboxやSyncをインストールしたらそれぞれのフォルダが作成されたので、そこにデータベース(.kdbx)のコピーを入れれば同期されていると理解しています。
フォルダに緑色の✓(チェック)マークも付いているのでこれで良しと思っているのですが…
KeePassの保存はしています。
>「パソコンから更新した日時」になっているか
ここが変わっていないのです。クラウドのフォルダにデータベース(.kdbx)のコピーを入れた(バックアップを取った)時の日時から変わらないのです。
ここの日時が変わっていない(更新されていない)ため、
>「Keepass2Android(KP2A)が原因なのか」を判別。
に従って「︙」→「データベースの同期」をしても一切変わらないという状態です。
なのでKeePass以前にクラウドの使い方に問題があるのかもしれないと感じました…(´;ω;`)
パソコンから、パソコン用データベースをいじって保存→バックアップ先のSyncの中身は更新されない。
パソコンから、スマホ用データベースをいじって保存→バックアップ先のDropboxの中身は更新されない。
スマホから、スマホ用データベースをいじって保存→バックアップ先のDropboxの中身はちゃんと更新される。
こんな感じです…。
なにか致命的なミスがある気がするー(´;ω;`)
クラウドについても調べたんですが解決しない…なぜだなぜなんだ…
Syncもですか!Σ(゚ロ゚;) 初めてインストール=初期設定だと思うのですが、なんでだろう。Windows側で何かしてるかもと思って調査したのですが、わかりませんでした……。
Windowsとクラウドのこと、私もよく知らないもので(爆弾発言)
「Windows Cloud storage not synchronized(Windows クラウドストレージ 同期されない)」でも調べたのですが、かすりもしないという。
私も同じ状態になってますので、確かに同期……というよりクラウドにアップ?は成功しています。
謎現象。本来更新したらそれを察知し、クラウド側が最新の状態に上書きしてくれる認識であっているはず。
完全にスマホが関係しておらず、パソコンから更新した際に反映されてないんですね。
う~ん、とりあえずデータベースを更新した状態で、無理やり同期をしてみる方法は以下。
それでも駄目だった場合。
Dropboxタスクトレイから先程のプロフィールまで進み、「基本設定」→ 一番右にある「同期」→「選択型同期」のチェックが外れたフォルダに入れていないかの確認。
さらに駄目だった場合。
さらにさらに駄目だった場合。
Dropboxのヘルプに「ファイル名疑惑」が載っていたので、以下のことができなければそれが怪しいかもしれません。
参考Dropbox ファイルが表示されない、または同期しない場合 – Dropbox ヘルプ
理想的なファイル名:英数字。データベース名はココに書かなくてOKです!
でも、スマホから更新できたのにパソコンから更新できないことの説明ができないので、これは無関係の可能性大。面倒なのでデータベース名変更はやらなくていいです!
まだ詰んでなーい∩(・∀・∩
いつも素晴らしい記事をありがとうございます。
激しく参考にしております。
しかし、自分の理解、作業の中身に問題がある可能性は重々承知しているのですが質問したいことがあります。
もちろん氏に答える義務はありません。(´;ω;`)ウッ…
クラウドの同期(更新?)が…うまくいきません(´;ω;`)ウッ…
パソコン1台、スマホ2台でのKeePass運用を考えております。
記事に沿って導入を進め、パソコンのKeepass導入・データベース・キーファイル作成。
クラウドを用意。Sync、Dropbox、Google Drive×2導入。
スマホもやろうとKeepass2Androidを導入。
「KeePassとDropboxを同期!Androidユーザー向け」の記事を参考にパソコンのKeePassとKeepass2Androidの連携を目指す。
記事に沿って、スマホでDropboxにログイン(パソコンでインストールし作っているアカウント)→アクセス許可→パソコンからKeepass2Androidのフォルダにデータベースを突っ込む。
キーファイルは別のクラウド(Google Drive)に入れたい。パソコンからキーファイルをGoogle Drive1に入れておき、Keepass2Androidからキーファイルの場所探しをしてログインできた!やったー!
ここから変な動きなのだろうか…
ここで、パソコンとスマホのデータベースを分けたい。そして氏に倣ってパソコン用データベースをSync、スマホ用データベースはDropbox、キーファイルをGoogle Driveに入れたいと思う。
「どこよりも詳しいKeePass自動入力などの設定と使い方」の「登録情報をスマホとわける」の記事を参考に分ける。
現時点ではDropboxにパソコンのデータベースが入っているから(Keepass2Androidと共用中のもの)、Dropboxからパソコンのデータベースは削除→スマホ用に作ったデータベースをパソコンからDropboxにブチ込む→
Syncに元からあるパソコン用のデータベースをぶちこむ。
スマホ用のキーファイルが欲しいので、パソコンからスマホ用データベースにログイン→キーファイル作成→このキーファイルをGoogle Drive2にブチ込む。
これでパソコン用データベースはパソコンとSyncに。パソコン用キーファイルはパソコンとGoogle Drive1に。
スマホ用データベースはパソコンとDropboxに。スマホ用キーファイルはパソコンとGoogle Drive2に存在している状態。
スマホからスマホ用データベースにログインできた!うまくいってるぞ!と喜ぶ。ちなみにマスターパスワードはパソコン用、スマホ用で共用です。(ここまででなにかおかしいでしょうか…)
しかしここから問題が…
クラウドはそもそも「端末にあるファイルをクラウドにコピーして、端末かクラウドのファイルが更新されたら両方を最新版にする」というような仕様。
とのことでしたので、あとはパソコンからパソコン用でもスマホ用でもデータベースにログインして、新しくエントリーの追加やその他更新をすれば、SyncやDropboxにブチ込まれているバックアップのデータも勝手に更新されるのではないのでしょうか。
なぜか更新されずブチ込んだ当時のままになっています…(´;ω;`)ウウッ…
スマホからデータベースの更新をした場合はなぜだかDropboxのものも更新されています。
パソコンからができないのです。なにか致命的な理解不足な部分があるでしょうか。
保存や再起動など色々イジったのですができません…更新したものをまたクラウドに入れればいいだけなので大した手間ではないのですが、どこかで間違っているのかというのが不安です。
長文になってしまい申し訳ありませんがお時間があればご教示いだだければありがたいです(´;ω;`)
めちゃめちゃ復読してる……(゚~゚o) KeePassのこの辺ホント勧めにくい(゚´Д`゚)゚。
結論からいうと、Keepass2Android(KP2A)の自動同期タイミングが手動同期、またはクイック解除をわざと失敗させたくらいしか存在しないため、必然的に日常生活で自動同期するチャンスを逃しているからだと思われます!
今まで不自由感じてなかったんですけど、そもそも私のスマホ使用頻度が低く、ろくに使っていないからかもしれませんね……。
以下断定した際に利用した情報。
これは問題なさそう。
これはSyncは無関係扱いで良いですか? 話の流れ的にSyncは他でスマホ連携をしていなさそうですし、「同期されないのはDropboxだけ」の方向で進めますね!(スマホからの更新で同期されるのは仕様)
無理やり解決できそうな以下の方法を思いついたので、上からチェック(検証)してみてください∩(・∀・∩
※最初に「Dropboxが原因なのか」を切り分けますが、多分とろろさんは関係なく、次のKP2Aまで進んでOK!
次に「Keepass2Android(KP2A)が原因なのか」を判別。
これは私の紹介方法が気が利いていないですね。どうみても手動同期ありきで、自動同期はそもそも期待できなさそう。
この詳しい仕様は今発覚したため、こちらで記事の訂正をしていきます∩(・∀・∩
同期されるタイミングまとめ
※ヒント:仮に消してもクラウドにある機能、変更履歴からバックアップできる!クラウドすごーい*・゜゚・*:.。..。.:*・'(*゚▽゚)’・*:.。. .。.:*・゜゚・*パァァァァ
というわけで、クイック解除は便利ですし、結局「同期されてないのを確認してから手動同期」しかないかも!
初めまして、パスワード管理ソフト等すごくまとまっているので知り合いに教えてあげるのにすごく役立っています。
ところで、残念なことに2019年3月からDropboxの無償プランでは3台までしか同期を設定できなくなったとのことです。(それまでの同期設定は残りますが、同期対象変更時には3台までに縮小しないと変更できないとのこと)
Keepass2AndroidとDropboxのクライアントが別カウントだったりすると、無償プランでは実質的に使い物にならないですね。(ここはまだ試していません)
せめてGoogle One程度の低容量低価格プランがあるといいのですが、月1200円からではちと厳しいです。
個人的には、KeepassのファイルはGoogleあたりへ移行するかなと考えております。
(Sync.comがベストなのですが、対応しそうにないですからね)
初めま!
一応、Androidとパソコンの2つリンクされた状態から、3つほど仮想環境のデスクトップを強引に追加したら、なんか5個リンクできた……
あ、あれー(´・ω・`) 確かに公式のヘルプセンターには3月からって書いてあるし、リンクとは「セキュリティ」タブにあるデバイスのこととも書いてあるから、アプリに対するリンク制限じゃないと思うんだけどなー。
ただの猶予かな? とりあえず現在は大丈夫なようです。 あれ?今リンク増やすのアリ?(笑)
参考アカウントにリンクできるデバイス数に制限はありますか? – Dropbox ヘルプ
nick.jさんの言うとおりSyncは絶対ないですね……。
私みたいにDropboxをKeePassでのみ使用かつ、複数端末ない場合は困らないからそのままでいいと思うけど、無料で使うならKeepass2Androidが対応しているGoogle Drive(One?)とOneDriveで確定だー!
Dropbox使いやすいけどEvernote感漂ってるから(悪い意味)、有料にするなら私もGoogle派かな~
試していないですけど、Googleアカウントを新しく作成 → そのGoogleアカウントのドライブをKeePass専用にする → 元々連携しているメインのGoogleアカウントに新アカウントを連携させる?(できるかどうか不明) → メインのGoogleアカウントを使いつつ、新アカウントのGoogleドライブをKeePassだけで呼び出すことができるかもしれない?(できればかなりズルい使い方)
できなかった時は時間の無駄になるためオススメできませんが、元々複数アカウント持っていれば簡単にできるかもしれないので、試してみるのもありかも!