Mooltipass

提供: ArchWiki
移動先: 案内検索

Mooltipass はウェブアプリケーションや PAM セッションなどパスワードで保護されたアプリケーションの認証情報を保存することができる、オープンハードウェアおよびオープンソフトウェアによるハードウェアパスワードキーパーです。

HID クラスデバイスをサポートする USB が使える環境ならどこでも使うことができます。

クリックできるスクロールホイールを使って直接デバイスを使用するか、ブラウザ拡張やアプリケーションを使用します。

イントロダクション

Mooltipass を開発したチームは厳しいポリシーが課せられるパスワード認証に悩まされていました。例えば:

  • 使うたびにユニークなパスワード。
  • 推測されにくいパスワード。

上記のようなポリシーによって守られるセキュリティと利便性の落とし所として KeePass などのパスワードマネージャが存在します。しかしながら、そのようなアプリケーションはコンピュータのメモリ上にログイン情報を記録させるため、悪意のあるソフトウェアによって窃取させる恐れがあります。

Mooltipass は外付けのデバイスであり、ログイン情報は AES-CTR を使って暗号化され PIN でロックされたスマートカードに256ビットの鍵が保存されます。デバイスを PC に接続すると、Mooltipass は HID デバイスをエミュレートしてキーボードのように振る舞うことで対象のアプリケーションにログイン情報を送信します。攻撃者がデバイスとホストの間の通信を傍受できたとしても、他のログイン情報にアクセスすることはできず、また、データを改竄することも不可能です。

パスワードの保存

ユーザーの識別は上記で説明したスマートカードを使います。ユーザーはそれぞれ別々のスマートカードを使う必要がありますが、Mooltipass は複数のユーザーで使いまわすことができます。

デバイスのフラッシュメモリには次のようなログイン情報が保存されます: ドメイン, ユーザー名, パスワード, コメント。

ノート: 暗号化されて保存されるのはパスワードだけです。

パスワードの保存には以下の制限があります:

  • フラッシュメモリの容量は 8Mb です。
  • パスワードの長さは最大で 32 文字までです。
警告: 間違った PIN を4回入力するとスマートカードがブロック・破壊されます。

使用方法

Mooltipass は誰でも簡単に使えるように作られています。主にブラウザアプリケーションや拡張で操作できます。

Chromium

Mooltipass チームによって作成された chromium-app-mooltipassAUR アプリケーションでパスワードのデータベースやバックアップ、デバイスの設定を管理できます。

拡張の chromium-extension-mooltipassAUR はウェブページのログインフォームを認識して、デバイスの中から適切なログイン情報を選択します。ユーザーは Mooltipass の画面を確認してハードウェアのスクロールホイールで承認・拒否できます。

ノート: 拡張アプリケーション はどちらもオープンソースです。

Firefox

Chromium と同じように Firefox ユーザーは firefox-extension-mooltipassAUR でウェブサイトとデバイス上に保存されたログイン情報をつなげることができます。

Moolticute

moolticuteAUR はブラウザの外でも Mooltipass を使えるようにするためのクロスプラットフォームのアプリケーションです。アプリケーションは C++/Qt をベースとしており、デバイスを処理するデーモンと Chrome アプリを置き換える GUI アプリケーションから構成されます。

ノート: デーモンのウェブソケットインターフェイスを使うことで誰でもツールが作れます。

Moolticute-CLI

スクリプトを組みたい場合、moolticute-cliAUR でコマンドラインから moolticuted を経由して Mooltipass を操作できます。

Moolticute_ssh-agent

moolticute_ssh-agentAUR は Mooltipass のファイルシステムサポートを使って (暗号化されていない) SSH 鍵を保存します。Moolticute_ssh-agent はデバイスから鍵をロードする SSH エージェントを実装しています。

Mooltipy

mooltipy はスクリプトに使うことができる CLI ツールと Python モジュールを実装しています。

ヒントとテクニック

ファームウェアのアップグレード

ファームウェアのアップグレードは署名されたバンドルを使います。専用の AES 鍵がボードに書き込まれています。

Udev ルール

mooltipass-udevAUR パッケージの udev ルールをインストールすることでデバイスにアクセスすることができます。

参照