1. ホーム
  2. security

[解決済み] Google Authenticatorが公共サービスとして利用可能に?

2022-05-04 09:57:27

質問

を使用するための公開APIはありますか? Google 認証システム (二要素認証)を自走式(LAMPスタックなど)のウェブアプリで利用できますか?

解決方法は?

その プロジェクト はオープンソースです。私は使ったことがありません。しかし、文書化されたアルゴリズムを使用しており(オープンソースプロジェクトのページに記載されているRFCに記載されています)、認証機能の実装は複数のアカウントをサポートしています。

実際の処理方法は簡単です。ワンタイムコードは、基本的には擬似乱数発生器です。乱数発生器は、一度シード(開始番号)が与えられると、乱数のストリームを作成し続ける数式です。種が与えられれば、数字は互いに不規則かもしれないが、シーケンス自体は決定論的である。つまり、デバイスとサーバーを同期させれば、「次の番号」ボタンを押すたびにデバイスが生成する乱数は、サーバーが期待する乱数と同じになります。

安全なワンタイムパスワードシステムは、乱数発生器よりも高度なものですが、コンセプトは似ています。また、端末とサーバーを同期させるための工夫も施されています。

だから、OAuthのように誰かが認証をホストする必要はない。その代わり、Googleがモバイルデバイス用に提供するアプリと互換性のあるアルゴリズムを実装する必要があります。そのソフトウェアは、オープンソース・プロジェクトで入手可能です(はず)。

このプロセスのサーバー側を実装するのに必要なものは、あなたの洗練度にもよりますが、OSSプロジェクトとRFCを与えればすべて揃うはずです。サーバーソフトウェア(PHP、Java、.NETなど)に対する特定の実装があるかどうかはわかりません。

しかし、具体的には、オフサイトサービスを使わなくても対応できるのです。