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

Lambdaカクテル

DESCRIBING: Scala, Akka, P2P, Scheme, Political sth., etc.

CLIでOSSなパスワードマネージャ「pass」とNFC Ringとで今年こそパスワードを倒す

パスワード oss nfc ring

NFC Ringを買った.これはNFCタグを伴った指輪で,プログラマはタグのユーザ領域を好きに使うことができる.めっちゃかっこいい.

f:id:Windymelt:20170117011542j:plain

(画像は Horizon – NFC Ringより引用)

nfcring.com

僕はこの活用法として,NFC Ringを鍵としたスマートなパスワード管理という構想を実現させようと思った.

しかし自前でパスワードマネージャを書くのは練習になるとはいえリスキーだと思い,OSSで何か良いものはないかと探してみたら面白いツールを見つけた.pass というシンプルな名前のツール.検索しにくそうだ.

www.passwordstore.org

これは,UNIX哲学に則りgitとPGPでパスワードを管理するツールのようだ.gitもPGPも大好きだ.これを使わない手はない.NFC Ringと連動させれば,CUI特有の面倒も軽減できるだろう.

アーキテクチャ

アーキテクチャは以下の通り.

  • NFC Ring
    • PGP鍵を復号するパスフレーズを供給する.
    • 紛失した場合,PGP鍵を即座に無効化する必要がある.ここは難しい.
    • Pythonでデータを読み取れる(実質1KiBのフラッシュメモリなのだから)ので,連携は難しくないはず.
    • 本物のNFC Ringであることを保証する電子署名機能が付属している高めのモデルにした.
  • Pass
    • パスワード管理を担当.
    • パスワードDBはGitHubかBitbucketなどに,プライベートレポジトリとして保管する.
  • Da Vinci 32U
  • ブラウザ拡張
    • 見ているサイト,フォーカスが当たっている要素を認識する.
    • 既にchrome向けの拡張が存在するので,これに手を加えることもできる.

これらの協調によって,望みのサイトの画面でNFC Ringをタッチすれば,自動的にパスワードを入力できるようになるはずだ.

やっていくぞ

passを見付けたのが深夜だったので実装はまた次に.ちなみに届いたNFCRingだが,サイズを間違えてスカスカだったので,交換しようという気持ちになっている.楽しみにしていたのにめっちゃつらいし,凹んでいる.

参考文献

d.hatena.ne.jp

パスワードと戦っている様子

windymelt.hatenablog.com

windymelt.hatenablog.com

windymelt.hatenablog.com