パスワード管理ソフトの 1Password ですが、Agile Keychain 形式で保存された一部のデータが、条件的にはかなり厳しいものの、漏洩する可能性があるってことで話題になっていました。
で、その問題が指摘された Agile Keychain 形式 (旧バージョンで使われていた形式) から、現行バージョンではデフォルトになっている OPVault 形式へと、保管庫の形式を変更する方法について解説された 「携帯総合研究所」 さんの記事が話題になっていたのですが、Mac 版の 1Password の件しか書かれていなかったので、Windows 版 (1Password 4 for Windows) について私が試した方法をメモがてらに書いておこうと思います。
追記で 1Password の開発元である AgileBits から公式見解へのリンクあり
脆弱性の影響を受けるのは誰なのか
開発元のAgileBitsは3年前の2012年に新形式のOPVaultを導入しているため、影響があるのは2013年よりも前から1Passwordを使っている人ということになります。
また、1Passwordには、PCやスマートフォン、タブレットなどのデバイス間でログイン情報を同期するためにiCloudやDropboxなどを利用しますが、iCloudはOPVaultのみを採用しているため問題はなし。問題があるのはAgile Keychain形式の保管庫をDropboxやフォルダ同期を利用している場合のみとなります。
つまり、1Passwordを2013年以前に利用していて、Dropboxやフォルダ同期を利用している人に影響アリ、対策として旧形式のAgile Keychainから新形式のOPVaultに変更しましょうということです。
ただ、指摘されているのはログイン情報の一部が平文で保存されているというだけで第三者が容易に確認できるわけではありません。
第三者が平文の情報にアクセスするにはAgile Keychain形式の保管庫をDropboxのパブリックフォルダに入れて同期するか、Dropboxに不正アクセスされるか、1Passwordを利用しているPCが第3者に不正利用されるぐらいのオマヌケをかまさないと外部には流失しないはずですが、OPVaultへ移行しておいて損はないのでササッと移行することをオススメします。
なお、Windows版「1Password」にてAgile KeychainからOPVaultへ移行する方法は明らかにされていません。
ちょっとまだ元の指摘記事である、「1Password Leaks Your Data」 を読んでないのであれですが、冒頭で紹介した、携帯総合研究所さんの記事では上記のように書かれています(太字は原文のまま)。
で、私は Windows 版の 1Password をかなり昔から使用していますので、Agile Keychain でデータが保存されていたわけですが、Mac 向けに解説されているターミナルを使用した方法は使えません。
ですので、オーソドックスですが、現在のデータをエクスポート → 新たに OPVault 形式で Vault (保管庫) を作成し、そこにエクスポートしておいたデータをインポートして復元するという方法で試してみましたが、少なくとも私の環境では問題なく保存形式を OPVault にすることができました。
まずはデータをエクスポート
ファイルメニューからエクスポートを選択し、データを全件エクスポートします。形式は 「1PIF」 形式にして、「All Items」 を選択すれば OK。
「1PIF」 形式のエクスポートデータは暗号化されてないから気をつけてねという警告が出ますが、OK を押して進みます。
空の保管庫を新規作成とデータインポート
エクスポートが終わったら、空の保管庫を作成します。ファイルメニューから 「New 1Password Vault」 を選択します。
ここで、保管庫の形式を、忘れずに 「OPVault」 にしましょう。
マスターパスワードの設定などが聞かれますので設定すると、
空の保管庫が作成されますので、先ほどバックアップしたデータをインポートします。その際、「既存の項目があるけど上書きする?」見たいに聞かれた場合は 「No」 を選択しておきます。
アイテム数が多いと少し時間がかかるとは思いますが、無事インポートが終了すると、OPVault 形式の保管庫ができあがり。環境設定から保存庫の場所を確認すると、「.opvault」 形式になっているのがわかります。
古い保管庫を削除
現時点では一時的に、保管庫には Agile Keychain 形式 と OPVault 形式の 2種類が存在していることになります。新しく作った OPVault 形式の保存庫が問題なく移行できて開けることが確認できたら、1Password を一度完全に終了して、古い Agile Keychain 形式の保存庫は削除してしまえばよいと思います (必要に応じて事前にバックアップを)。
また、デフォルト設定で新しい保存庫を作成すると、ローカルディスクにデータが保存されますので、Dropbox を利用して同期している方は、環境設定から 「Move to Dropbox」 を押せば、自動的に Dropbox に保存場所が変更されますので、実行しておくとよいでしょう。
iOS 版などと再同期
iOS 版の 1Password などとデータを同期している場合は一度同期を解除して、新しい保存庫を使用するようにしないといけません。設定内の 「同期」 メニューから、「Dropbox を変更」 して同期を解除し、
再度 Dropbox での同期を設定すると、旧保存庫が削除されていれば、自動的に新しい保存庫を探してくれると思います。
正常に設定が終われば、新しい保存庫が検出され、そちらと同期するようになると思います。
再度同期を設定する前に、設定内の 「詳細設定」 から、全データ消去 (Erase Data and Setting) を実行しておかないと、旧データと新データがアプリ内で重複するみたいです。バックアップを作ってから削除を実行し、それから新たに同期設定をするとよいかもしれません。
ということで、Windows 版をかなり前から使用していて本件が気になる方は試してみるとよいのではないでしょうか。ただし、大切なデータを飛ばしたりしないように、事前のバックアップなどはきちんとやることをおすすめします。
また、私の環境 (Win10 + 1Password 4 for Windows) では特に問題なく移行できましたが、環境が違うと完全に同じように移行できるかはわかりませんのでその点はお気を付けください。
追記
1Password の開発元である AgileBits から公式見解がでましたね。パスワードが漏洩するとかいう話じゃないから冷静にってことと、もし互換性などで問題がないなら、OPVault 形式に移行してもらうのが一番良いよって感じの案内になっています。
問題がありそうなのは OPVault 形式が選択できない旧バージョンの 1Password や Android 版などとの Dropbox を利用した同期くらいで、この辺がクリアされたら、OPVault 形式への自動移行も検討中みたいな件も案内されています。ということで慌てず気になる方だけ対応すればよいのではないでしょうか。