読者です 読者をやめる 読者になる 読者になる

ぼくのかんがえたさいきょうのパスワード管理

ちまたでは【パスワードの定期変更は意味がある/ない】の議論がつきませんが、みなさまいかがお過ごしでしょうか。

自分なりに満足の行くアカウント管理ができつつあるので、紹介したいと思います。

モットーは【簡単かつセキュアに】

こうやりたい。しかも簡単に。

実現したいのはこんなアカウント管理です。

  • スマホでもPCでも同じように管理する
  • メールアドレスを登録するサイト毎に変更する
  • パスワードを登録するサイト毎に変更する
    • 可能な限り、20文字以上で大文字小文字数字記号が入り乱れたものにする。
  • あんまりブラウザのパスワード記憶に頼りたくない。

いやいや、無理やん。

面倒くさい。

メールアドレスとか何個作らなあかんねんと。

パスワード、覚えられるわけがないと。

けど、できちゃうんです。相当楽に。

用意するもの

用意するものは3つだけです。

なぜ、google アカウント?というのは後述します。

GmailはGoogle の提供するメールサービス、 Dropbox はファイル共有サービスです。

keepassx はオープンソースのパスワード管理ソフトです。聞き慣れないアプリかもしれませんが、MacでもWindows でもLinuxでも使えるすぐれものです。

Mac 製品しか使わないって人はkeepassx の代わりに、1Password がいいと思います。(Androidのクライアントもあるようです)

ぼくのかんがえたさいきょうのパスワード管理

登録時

サイトに登録するときは次のようにしています。

メインのメールアドレスをcameong@gmail.com とします。

  1. keepassx のデータベースをDropbox につくる (初回だけ)
  2. メールアドレスをcameong+"ランダムな文字列"@gmail.com で登録する
  3. パスワードを20文字以上のランダムなものを作る
  4. メールアドレスとパスワードとサイトドメインをkeepassx に保存する。
  5. Dropbox を使う端末(PC, スマホ)で連携する

ランダムなパスワード生成は mac だと pwgen などを使うといいでしょう。

cameong.hatenablog.com

--- 追記 2016/7/2 ---

keepass に標準のパスワード生成機能があるようです。

こちらも便利ですね!

gyazo.com

追記ここまで

注意点としては

  1. アカウント情報の更新をする端末を決めておきましょう
    • じゃないとkeepassx のデータベースが壊れるかもしれません
    • すくなくともiPhone はkeepassxのデータをデバイス内に保存してるので、リアルタイムに同期はしていません。
    • ぼくはPCで更新するようにしています
    • 【追記】↑リアルタイム同期しているとの報告も受けました。設定によって変更できるかも。
  2. keepassx に鍵をかけるか暗号化しましょう
  3. サイトのドメインも忘れずに登録しておきましょう

ログイン時

サイトにログインするときは、すごく簡単です。

  1. ログイン画面に行く
  2. keepassx を開く
  3. サイトのドメインを検索し
  4. id, password をそれぞれkeepassx からコピペする

おしまい。簡単ですね。

PCでもスマホでも同じアクションでログインできます。

解説

すこし、解説します。

cameong+"ランダムな文字列"@gmail.comはちゃんと自分のところにとどくのか?

はい、届きます。

Gmailの仕様でメールアドレスのローカルパート(@より前) の+以降は無視され、+より前のメールアドレス宛に届きます。

ですので、cameong+"ランダムな文字列"@gmail.com は全て cameong@gmail.comに届く寸法になります。

もし、Gmail 以外に同等の機能のあるメールサービスがあれば、なにを使っても大丈夫です。(あったら教えて下さい)

--- 追記 2016/7/2 ---

@icloud.com も同様の機能があるようです。( from id:takuya_1st )

追記ここまで

パスワード忘れた時

パスワードを忘れた時、通常であれば、パスワードリセットフォームからメールアドレスを入力するのですが、この方法だとメールアドレスを記憶しておくのは無理です。

基本的にはkeepassxにどのサイトをどのメールアドレスを利用しているか保存してあるはずなので、keepassx を見れば大丈夫です。

もし、keepassx に書きわすれていた時は、、、Gmailで登録したサイトのドメインを検索してください。

(普通であれば)登録したメールアドレス宛にアカウント有効化のメールが届いているはずなので

  1. 有効化のメールを探す。
  2. To アドレスを調べる。

この方法で登録アドレスがわかると思います。

なぜメールアドレスをサイトごとに変更するのか

メールアドレスに+hash を足してサイトごとの登録メールアドレスを変えているのは、【登録しているサイト以外にメールアドレスを知られたくない】ためにおこなっています。

たとえば、

  • サイトAで cameong+AAA@gmail.com のメールアドレスを登録
  • サイトBでcameong+BB@gmail.com のメールアドレスを登録

していたとします。

もしサイトAのメールアドレスとパスワードが流出した場合、サイトBのメールアドレスを検知するのは困難ですので

サイトBと称してcameong@gmail.com宛にメールが送られてくると怪しいわけです。(サイトBからはcameong+BB@gmail.com宛に送られてくる。)

ソーシャルハッキングがますます増えている昨今では、+hash は一定の効果があるのではないかと思います。

パスワード流出の二次被害防止のために、最低限でもサイトごとに異なるパスワードを登録してください。

2段階認証

大本のメールアドレスを他人に乗っ取られてしまうと↑でやったことが意味なくなってしまいますので、2段階認証を使って強固にしましょう。

ぼくは2段階認証のクライアントにauthy を使っています。

はじめはauthenticator を使っていたのですが、登録できる端末が1つしか無いので、もしその端末が水没したりすると終わるので、複数デバイスで利用可能なauthy を利用しています。

(authentiator でも端末が使えなくなった時のためにリカバリープランはあるのですが、面倒くさくて)

www.appbank.net

運用しながら、管理方法を改善しています。

こんな管理方法があるよ!などありましたら、コメント欄等でおしえてください。

それでは、よいパスワード管理ライフを!

--- 追記 2016/7/2 ---

keepass より高機能なパスワード保存アプリには次のようなものがあります。

1Password

www.motex.co.jp

Dashlane www.dashlane.com

どちらもマルチデバイス対応しているようなので、試してみたいと思います。

追記ここまで