iOS 12では、パスワードの扱い方にいくつかの変更が加えられています。Glenn Fleishmanによる「iOS 12とMojaveではSMSテキストメッセージのログインコードが自動入力されるが、依然として安全ではない」(2018年10月4日)をご覧ください。iOS 12の追加機能の中で私が特に気に入っているのは、これまでiCloudキーチェーン経由でしかアクセスできなかったログイン状況で、サードパーティ製のパスワードマネージャーが使えるようになったことです。まだこの機能を試していない方のために、その仕組みと、なぜこんなに便利なのかをここでご紹介したいと思います。
昔ながらの方法
暗黒時代(9月以前)には、Safariなどのブラウザでサードパーティ製のパスワードマネージャを使ってウェブサイトにログインするには、Share Sheet拡張機能を使うしかありませんでした。拡張機能を有効にしたら、ブラウザでログインフォームのあるページにアクセスし、Shareアイコンをタップし、パスワードマネージャのアイコンをタップし、パスワードマネージャのロックを解除し、使用したいログイン項目をタップし、(ブラウザに戻ってから)フォームを送信するという手順でした。これは非常に面倒な手順で、Safari内でiCloud Keychainを使う人も多くいました。iCloud Keychainならこうした余分な手順は一切不要だったからです。
ご記憶にあるかと思いますが、iCloud キーチェーンでは、ログイン フォームのユーザー名フィールドをタップすると、キーボードの上にある QuickType バーでユーザー名とパスワードに 1 回タップするだけでアクセスできるようになり、このプロセス全体が大幅に簡素化されました。
iCloudキーチェーンは悪くないのですが、私が求めるほどのセキュリティと柔軟性はありません。そしてもちろん、Apple以外のプラットフォームとは同期できません。ですから、私と同じように1PasswordやLastPassなどのサードパーティ製パスワードマネージャーを愛用している方は、iOS 12ではそれらのデータへのアクセスに必要な手順が大幅に減り、Webブラウザだけでなく、ほぼすべてのアプリでそのデータを利用できるようになることを知って喜ぶでしょう。
光の中に入ってくる
iOS 12の新しいパスワードマネージャー統合を利用する前に、iOSにどのパスワードマネージャーを使用するかを伝える必要があります。「設定」>「パスワードとアカウント」>「パスワードの自動入力」に移動します。上部にある「パスワードの自動入力」スイッチがオンになっていることを確認してください。「入力を許可」リスト内の項目をタップして、有効または無効を切り替えます。
iCloudキーチェーンは常に最初の項目に表示され、その後に、この機能をサポートする他のインストール済みパスワードマネージャーが表示されます。これまでに確認した対応アプリには、1Password、Bitwarden、Dashlane、Enpass、Keeper、LastPass、RoboForm、Zoho Vaultなどがあります。他にも対応アプリがあるかもしれませんし、今後さらに増えていくでしょう。
サードパーティ製のパスワードマネージャーに加えて、iCloud キーチェーンも選択したままにしておくべきかどうか疑問に思うかもしれません。(iCloud キーチェーンに加えて、一度に選択できるサードパーティ製のパスワードマネージャーは 1 つだけです。)選択するかどうかはあなた次第ですが、iCloud キーチェーンと別のパスワードマネージャーの両方を選択すると混乱が生じることがあるため、重要なパスワードはすべてお気に入りのパスワードマネージャーに保存し、自動入力ソースとして iCloud キーチェーンではなく、そのパスワードマネージャーだけを選択することをお勧めします。
ここで注意しておきたいのは、このリストでiCloudキーチェーンの選択を解除しても、iCloudキーチェーンが無効になるわけではないということです。iCloudキーチェーンは引き続き有効で、Wi-Fiネットワーク、メール、メッセージなどの認証情報を提供するために、バックグラウンドで動作し続けています。自動入力設定は、ログインフォームを表示するブラウザやその他のアプリがiCloudキーチェーンからデータを取得するかどうかのみを決定します。
新しい自動入力手順
一度セットアップすれば、Web サイトで資格情報を入力する手順は驚くほど簡単です。
- ユーザー名またはパスワードフィールドをタップします。
- iOS 12 は、選択したパスワード マネージャーを調べ、一致する可能性のあるものが見つかった場合は、QuickType バーの中央に表示します。QuickType バーが表示されていない場合は、画面下部のポップオーバーに表示されます。(まれに、複数のオプションが表示される場合があります。) 目的のものが見つかった場合は、それをタップし、必要に応じてパスワード マネージャーのロックを解除します (パスワード、Touch ID、または Face ID を使用)。すると、iOS が資格情報を入力します。
- [送信]ボタンをタップします。
しかし、ステップ 2 で iOS 12 が必要な認証情報を提案してくれない場合はどうすればよいでしょうか。問題ありません。QuickType バーまたは画面下部の鍵アイコンをタップしてください。(提案されたパスワードがある場合は鍵アイコンが単独で表示されますが、提案されない場合は「パスワード」というラベルが表示されます。) 他に一致する可能性のあるものがあれば、ポップオーバーが表示されます。これらのいずれかをタップして入力できます。
それでも探している情報がリストに見つからない場合は、パスワードマネージャーの名前をタップしてロックを解除し、必要な認証情報を探します。それをタップしてブラウザに戻り、フォームに入力してください。
ブラウザを超えて
ユーザー名とパスワードを入力する最も一般的な場所はウェブブラウザかもしれませんが、他にも多くのアプリでログインが必要です。例えば、Dropboxアプリ、Instapaper、Tweetbot、銀行が提供するアプリなどです。これらのアプリやその他数え切れないほど多くのアプリでは、以前は認証情報をコピー&ペーストするために、アプリとパスワードマネージャーを何度も切り替える必要がありました。しかしiOS 12では、パスワードを使用するほぼすべてのアプリで、iCloudキーチェーンとサードパーティ製のパスワードマネージャーの両方が利用できるようになりました。
残念ながら、パスワードをどこに保存しても、iOS 12はどのアカウントがどのアプリに関連付けられているかを把握できません。そのため、アプリのログイン画面で鍵アイコンをタップし、お好みのパスワードマネージャーをタップした後、目的のアカウントを手動で検索する必要があります。これは、Webサイトにログインするほどスムーズではありません。また、アプリに戻った後、ユーザー名またはパスワードのフィールドをタップしないと、iOS 12が認証情報を自動的に入力しないことが何度もありました。
さらに、アプリ内から新しいアカウントを設定する場合、サードパーティのパスワードマネージャーがパスワードの候補を生成して入力できるメカニズムは iOS 12 では提供されません。ただし、アプリがユーザー名またはパスワード フィールドに 1Password アイコンを表示する場合は除きます。つまり、アプリが古いスタイルの 1Password App Extension (他のパスワードマネージャーでも使用可能) をサポートしていることを意味します。
しかし今、悪いニュース
この新しいパスワードマネージャーのサポートは素晴らしいものですが、Appleがサードパーティ製のパスワードマネージャーをiCloudキーチェーンと完全に同等に動作させるように許可したと言うのは言い過ぎでしょう。一部のプロセスはまだ多くの面倒な手順を必要とします。また、共有シート拡張機能はまだ削除しないでください。
まず、この新しいメカニズムはユーザー名とパスワードのみを対象としています。パスワードマネージャーに保存されている可能性のある他のデータ(クレジットカード番号、住所、電話番号など)の自動入力には利用できません。これらのデータはMacやPCのブラウザ拡張機能から利用できます。ただし、Share Sheet拡張機能を使えば、これらのデータを入力することは可能です。
第二に、この自動入力機能は一方向です。パスワードマネージャーからブラウザ(または他のアプリ)にデータを送信しますが、ブラウザからデータを収集してサードパーティのパスワードマネージャーに送り返すことはできません。(対照的に、iCloudキーチェーンは、送信時に認証情報を自動保存できます。)つまり、パスワードマネージャーにまだ保存されていない認証情報でWebフォームに入力する場合、デスクトップオペレーティングシステムで一般的に行われるように、フォームを送信するだけでパスワードマネージャーが認証情報を保存することはありません。1Passwordで新しいパスワードを保存する手順は次のとおりです(他のパスワードマネージャーでは多少異なる場合があります)。
- パスワードフィールドをタップします。
- 鍵アイコンをタップします。
- 1Passwordをタップします。
- 1Password のロックを解除します (パスワード、Touch ID、または Face ID を使用)。
- [ログインを作成]をタップします。
- ユーザー名を入力してください。
- 「新しいパスワードの生成」をタップします。
- 「保存して入力」をタップします。
ウェブサイトでパスワードを変更する場合も同様です。新しいパスワードが必要な場合は、パスワードマネージャーで生成し、そのパスワードをウェブサイトに入力してパスワードマネージャーに保存する必要があります。デスクトップブラウザの拡張機能を使えば、このプロセス全体は迅速かつ簡単に行えます(DashlaneとLastPassは、一部のサイトではさらに簡単に使用でき、基本的に数クリックですべての手順を自動化できます)。しかし、iOS 12ではブラウザからパスワードマネージャーにデータが送信されないため、上記のような複数の手順を実行する必要があります(または、iOS 12以前と同じようにシート共有拡張機能を使用することもできます)。
追記:更新中
Appleとサードパーティのパスワードマネージャー開発者が機能追加とユーザーインターフェースの改良に尽力しているため、私のパスワード関連書籍2冊(『Take Control of Your Passwords』と『Take Control of 1Password』)、そしてパスワードマネージャーに関するWirecutterの記事は、いずれも改訂が必要となっています。現在、上記のすべてに取り組んでおり(他にも膨大な数のプロジェクトをこなしながら)、近日中にアップデートを公開できる予定です。