開発者にとってIDアクセス管理は複雑で面倒
──Auth0を創業した背景について教えてください。
私自身はセキュリテイ畑の人間ではなく、開発者のバックグラウンドを持ちます。Auth0を創業する前はMicrosoftに勤務しており、Visual Studioチームに在籍していました。
2009年、MicrosoftはAzureの前身となるクラウドコンピューティングの構築を進めていました。私の任務は、クラウドコンピューティングの受け入れを促進すること。そこでクラウドを使う障害となるものを考えたとき、最初の障害がアイデンティティ(ID)アクセス管理でした。開発者の視点で見ると、IDアクセス管理は難しい分野です。
そこで、この問題について開発者の助けになればと、自分の調査や自分たちのチームでの作業を本にまとめて出版しました。本は好評で、2年後に再び同じテーマで本を作成しました。iPhone人気によりデバイスが増えるなど、セキュリティ問題が複雑になったこともあり、本の厚さは2倍にもなりましたね。このようにID管理とセキュリティをテーマにした本を書き続けることもできるが、問題を解決することができるのではないかと考えるようになりました。開発者にとって複雑で面倒な部分を「サービス」として提供するというアプローチです。
Microsoft社内でこの問題を解決しようと試みましたが、その役職が得られなかったため、起業することを決意。2012年、Microsoftで一緒にこの問題に取り組んできた仲間と退社してAuth0を立ち上げることにしました。モバイルアプリケーション、クラウドコンピューティング、デバイス、Webサイト、APIなどあらゆるユースケースに対応する認証と認可のための技術を、開発者にサービスとして提供するというのがAuth0を立ち上げた背景です。
──当時感じていた問題について、詳しく教えてください。
アプリケーションは多数のシステムに依存しています。Microsoftのクラウドであっても、Microsoftの技術のみですべてを構築するのではありませんし、1つのデータベースベンダーのみを使うのではありません。複数のシステム、データベース、スタックなどを統合して構成されています。
セキュリティの観点から見ると、ユーザーが本物なのかそうではないのかを見分けることは、すべてのアプリケーションが必要とする基本的な機能です。IDが不要というアプリケーションはほとんどありません。誰が使っているのかを知ることで、体験をパーソナライズしたり、データを保護したりできます。
認証は、セキュリティの基本機能かもしれませんが、開発者にとっては複雑です。通常、パスワードはハッシュ化されて保存されますが、どうやってハッシュをかけるのか、ユーザーがパスワードを忘れたらどうするのか、これらはシンプルに見えますが、複雑な問題なのです。それに加えて、FacebookやLINEなどソーシャルサービスを使ったソーシャルログインの仕組みをどうやって提供するのか。さらには、個人用アカウントの他に、企業アカウントもあります。
Auth0はこれらの複雑な問題を解決します。認証は入口に過ぎず、ビジネスの核ではありません。Auth0のサービスを利用することで、開発者は認証部分を我々に任せて、自分たちの本業やコアのサービス開発にフォーカスできます。
もう1つの側面として、デジタルの重要性が増しており、悪い意図を持って認証に用いるクレデンシャルを侵害しようとする人がいます。このような攻撃を防御するという効果もあります。