事例紹介

X は、パスキーの導入後にログイン成功率が 2 倍に向上しました。

所要時間: 3 分

X は、ニュース速報やエンタメからスポーツや政治まで、世界中の約 5 億人のユーザーがライブ コメンタリー付きで詳細な情報を入手できるようにすることを目的としたソーシャル メディア アプリです。最近、X のデベロッパーは、ユーザーが関心のある会話を見逃さないように、Android アプリのログイン プロセスを刷新しました。Credential Manager API を使用して、新しいパスキー認証を実装し、アプリへのアクセスをより迅速、簡単、安全にしました。

パスキーでログインを簡素化

現在、従来のパスワード ベースの認証システムは安全性が低く、サイバー攻撃を受けやすい状態にあります。多くのユーザーは推測しやすいパスワードを選びがちですが、そのようなパスワードは、不正な行為者が総当たり攻撃を使用して簡単にクラッキングできます。また、複数のアカウントで同じパスワードを使い回しているため、1 つのパスワードがハッキングされると、すべてのアカウントが不正使用されることになります。

パスキーは、パスワードを完全に不要にすることで、脆弱なパスワードやフィッシング攻撃によるアカウント セキュリティの懸念の高まりに対処します。この機能により、より安全でシームレスなログイン エクスペリエンスが実現し、ユーザーはユーザー名とパスワードを記憶する必要がなくなります。

X の安全部門責任者である Kylie McRoberts 氏は次のように述べています。「パスキーは、パスワードの代わりに PIN や生体認証データ(指紋認証や顔認証など)を使用する、よりシンプルで安全なログイン方法です。「パスキーを使用することで、ユーザーがより簡単かつ安全にログインできるようにし、パスワードを覚える手間をかけずにアカウントを保護できるようにしました。」

パスキーを実装して以来、X チームはログイン時間が大幅に短縮され、ログインフローが改善されたことを示す指標を確認しています。パスキーを導入したことで、パスワードのみに依存していたときと比較して、アプリのログイン成功率は 2 倍になりました。また、パスキーを有効にしたユーザーからのパスワードの再設定リクエストも減少しています。

X のデベロッパーによると、パスキーの導入には、セキュリティの強化やログイン エクスペリエンスの簡素化だけでなく、コストの削減や UX の向上などのメリットもあったそうです。

「パスキーは強力な固有の認証を提供するため、SMS ベースの 2 要素認証に関連する費用を削減できました」と Kylie 氏は言います。「また、ログインが簡単になったことで、パスワードを覚えたりリセットしたりする手間が減り、ユーザーが当社のプラットフォームを利用する可能性が高まっています。」

パスキーは公開鍵暗号を使用してユーザーを認証し、秘密鍵を提供します。つまり、ウェブサイトやアプリは公開鍵を確認して保存できますが、秘密鍵は確認できません。秘密鍵は暗号化され、ユーザーの認証情報プロバイダによって保存されます。鍵は一意であり、ウェブサイトまたはアプリに関連付けられているため、フィッシング攻撃から保護され、セキュリティが強化されます。

xSaurabh.png

Credential Manager API を使用したシームレスな統合

パスキーを統合するために、X のデベロッパーは Android の Credential Manager API を使用しました。Kylie 氏によると、この API のおかげでプロセスは「非常にスムーズ」になったそうです。この API は、Smart Lock、ワンタップ、Google ログインを 1 つの合理化されたワークフローに統合します。これにより、デベロッパーは数百行のコードを削除できるようになり、実装が促進され、メンテナンスのオーバーヘッドが削減されました。

最終的に、認証情報マネージャーへの移行は X 人の開発者によってわずか 2 週間で完了し、その後さらに 2 週間かけてパスキーを完全にサポートしました。X のスタッフ エンジニアである Saurabh Arora 氏は、これは「非常に迅速な移行」であり、チームは「これほどシンプルで簡単だとは思っていなかった」と述べています。認証情報マネージャーのシンプルなコルーチンベースの API のおかげで、複数の認証オプションを処理する複雑さが実質的に解消され、コード、バグの可能性、デベロッパーの全体的な労力が削減されました。

X 社のデベロッパーは、Credential Manager API を統合することで、デベロッパーのベロシティが大幅に向上したことを確認しました。Credential Manager API を通じてパスキーの導入に移行したことで、次の成果を達成しました。

  • 認証モジュールのコードを 80% 削減
  • 以前のエッジケースのバグの 90% を解決
  • GIS、ワンタップ、Smart Lock の処理コードが 85% 減少

createCredential や getCredential などの Credential Manager API のトップレベル メソッドを使用することで、個々のプロトコルに関連するカスタム ロジックの複雑さが排除され、統合が簡素化されました。この統一されたアプローチにより、X のデベロッパーは、パスキー、パスワード、フェデレーション ログイン(Google でログインなど)など、さまざまな認証タイプを単一の一貫したインターフェースで処理できるようになりました。

「認証情報マネージャーのシンプルな API メソッドを使用すると、1 回の呼び出しでパスキー、パスワード、連携トークンを取得できるため、分岐ロジックを削減し、レスポンス処理を簡素化できます」と Saurabh 氏は述べています。「createCredential() や getCredential() などのさまざまな API メソッドを使用することで、認証情報ストレージも簡素化され、パスワードとパスキーを 1 か所で処理できるようになりました。」

X のデベロッパーは、Credential Manager API を使用して「Google でログイン」を導入する際に、多くの課題に直面することはありませんでした。X の以前の Google ログイン、ワンタップ、Smart Lock のコードを、よりシンプルな認証情報マネージャーの実装に置き換えたことで、デベロッパーは接続や切断のステータス、アクティビティの結果を処理する必要がなくなり、エラーの発生率が低下しました。

passkeys.png

パスキーの未来

X のパスキー統合は、より安全でユーザー フレンドリーな認証エクスペリエンスを実現できることを示しています。X のデベロッパーは、Credential Manager API を活用することで、統合プロセスを簡素化し、潜在的なバグを減らし、セキュリティとデベロッパーのベロシティの両方を向上させ、ユーザー エクスペリエンスを向上させました。

「パスキーの統合を検討しているデベロッパーへのアドバイスは、Credential Manager API を活用することです」と Saurabh 氏は言います。「プロセスが大幅に簡素化され、記述やメンテナンスが必要なコードが減るため、デベロッパーにとって実装が容易になります。」

X は今後、パスキーのみでの登録を可能にし、専用のパスキー管理画面を提供することで、ユーザー エクスペリエンスをさらに向上させる予定です。

始める

パスキーと Credential Manager API を使用して、アプリのログイン UX を改善する方法を学習する。

作成者:
続きを読む