より安全で快適な認証システムを目指して—シングルサインオンによる認証革命—

コンピュータ理工学部 ネットワークメディア学科 秋山 豊和 講師

シングルサインオンによる認証革命

 ウェブサイトのサービスを利用するとき、IDとパスワードを設定して、氏名や住所などの本人情報を入力、また別のサービスを利用するときにも同じようにIDとパスワードを……というように延々とIDとパスワード、本人情報を入力し続けなければサービスを受けられない、といった経験のある人は少なくないでしょう。もっと簡略に、しかもプライバシーやセキュリティは守られたまま、インターネットの世界に点在するサービスへの認証を行う方法はないのでしょうか?このような複数のサービスをより簡単に利用するための認証システムを研究・開発している秋山豊和先生に、最先端の認証システムについてお話を伺いました。

利便性も欲しいプライバシーの保護も大事

  情報技術の進展によりインターネットを利用したさまざまなサービスが拡充されています。買い物や銀行振込、学会などへの参加申込み、DVDのレンタル、ブログの更新、寄付や政治献金まで、もはやインターネットへの接続環境のない生活を想像できないほどです。

 ところが、サービスの種類と数が増えてくるに従って、利用者本人であることを確認する頻度も増えてきます。みなさんもサービスごとに複数のIDとパスワードを持っていて、どのIDがどのサービスのものだったか、忘れたり混同したりしていませんか? 混同することがないとしても、新たなサービスに登録するたびに氏名から住所、生年月日、電話番号と入力する手間はたいへんなものだと思います。また、初めて利用するサービスに氏名や住所といった個人情報を教えて本当に安全なのかという心配も出てきます。

 IDやパスワードを複数回入力することなく、インターネット接続時に信頼できるサイトで1度サインインしたら、あとはずっと「確かに本人」としてサービスを利用できれば、飛躍的に便利になるはずです。しかし、本人であることを証明する情報がサービス間で自由にやり取りされると、個人情報が危険に晒されてしまいます。利便性を高めれば安全性が犠牲になり、安全性を重視すると不便になってしまうというジレンマがありました。

 このジレンマをうまく解決したのが「シングルサインオン(Single Sign On: SSO)」と呼ばれる技術で、今後の情報社会で必須となる考え方のひとつです。

安全で便利なシングルサインオン(Single Sign On: SSO)

図1

 SSOには本人認証を行うコンピュータ(Identity Provider: IdP)と、世界中のサービスを提供するコンピュータ(Service Provider:SP)が登場します(図1)。ユーザは利用したいSPにアクセスし、そこにサインインします。するとSPはIdPに問い合わせをします。IdPは「確かに本人であることを保障するチケット」のようなものを発行し、パスワードなどユーザの個人情報をSPに知らせることなく、確かに本人であるという情報だけを知らせることができるのです。SPが個人情報を要求する場合、ユーザが許可すれば必要な情報をSPに渡すこともできます。IdPとSPの情報のやり取りは自動的に行われるため、ユーザはSSOの仕組みを意識する必要はありません。SSOを利用することで、本人認証とインターネット上のサービスを分けて考えることができるようになり、個人情報を守るだけではなく、1度の登録でいくつものサービスを利用できるようにもなります。

  SSOには、googleやyahooなどの商業サービスが取り入れている「OpenID」や大学や研究機関が使っている「Shibboleth」などがあり、既に実用に供されています。これらを用いれば、1度の登録と1つのパスワードによって、いくつものサービスを利用することができます。OpenIDでは10000サイト以上が利用できるようになります。また、Shibbolethでは、本人が大学や研究機関に所属していることが確認されているため、より信頼性の高い本人認証となっています。

複数のサービスを組み合わせるためのSSO

図2

 SSOの機能を拡張すると複数のサービスを組み合わせて利用することも可能になります。それを実現しているのが図2にある「OAuth」という技術です。OAuthは、ユーザの権限をSP同士で受け渡しすることにより、複数サービス間でのスムーズなサービスの実行を可能にします。

 ここでは写真管理サイトに保存してある写真をきれいにプリントする場合を例に挙げて説明します。ユーザは写真プリントサービスを提供しているSP1にサインインして写真管理サイトSP2にある写真のプリントを要求します。しかし、SP1がSP2から勝手に写真を取ってくることはできません。そこで「権限委譲」と呼ばれる手順を行います。SP1はユーザを経由してSP2にアクセス、ユーザはSP2からSP1への権限委譲を許可します(この場合は写真の提供許可)。するとSP1がSP2にある必要な写真だけ受け取れるようになり、SP1はプリントサービスをユーザに提供できるのです。

 このときSP2がSP1に対して発行するのは「一定時間だけユーザが許可した写真にアクセスする権限がある」というチケットだけであり、それ以上の情報がSP1に渡されることはありません。そのため、仮に悪意のある人物が写真プリントサービスを乗っ取ったとしても、写真管理サイトからユーザの写真を自由に取得することは難しく、安全性が高くなっています。

 もちろん、SP1とSP2はあらかじめ提携しておくなどの準備が必要です。しかし、ユーザはあたかも単一のサービスを利用しているかのように2つのサービスを同時に使え、利便性が向上します。権限の委譲にはさまざまなサービスの組み合わせが考えられるため、今までにない新たなサービスが創り出されることも期待されています。

たくさんの計算機を利用するためのSSO

図3

 権限の委譲という考え方は、OAuthのような独立したSP間で行われる以外に、インターネットによって接続されている多数のコンピュータを同時に使って計算を行う「グリッドコンピューティング」にも応用されています。

 グリッドコンピューティングとは、異なる組織間に分散するコンピュータたちを1つのチームと見なして、計算結果を受け渡しながら協力して高度な計算を実行したり大規模な記憶領域を作り出したりするコンピュータの利用方法です。

 多数のコンピュータを同時に利用しているため、計算結果の受け渡しの度にユーザに対して認証を行っていたのでは手間も無駄も大きすぎますし、インターネットを介して分散しているコンピュータ群に認証用の個人情報をばら撒くのも危険です。そこで、IdPが発行したチケットを「公開鍵暗号」の技術を利用した「Proxy証明書」(図3)を使って、グリッド内の各コンピュータがリレーのバトンのように受け渡ししながら、計算結果もリレーするという方法が採られています。そして、最後にユーザのもとに計算結果が提供されるのです。「Proxy証明書」は異なるコンピュータに処理を依頼するたびに発行される、より限られた権限のみをもつチケットなので、途中で奪われたとしても被害を最小限にとどめることができます。

認証システムの将来

 現在、サービスごとに認証を行うのが一般的であった時代から、認証をひとつの独立したシステムとして捉える時代に移り変わりつつあります。これまで取り組んできたのは、教育機関の認証システムです。従来は学部ごとに分かれていた認証システムをできるだけまとめる課題に取り組んできました。

 今後は、各大学で閉じてしまっているサービスを大学間で共通化する方向に向かっていくでしょう。また、同じことが企業間でも可能となっていきます。

 認証という情報技術のインフラが共通化していくことで、エンジニアがインフラ整備からサービス向上に力点を移すことができるようになるでしょう。そのために、どうすればいいのか、さらに考えていきたいと思います。

文系の人が作ったプログラム言語

 みなさんは「コンピュータを学ぶのは理系」と決めつけていませんか?「Ruby」というプログラミング言語がありますが、この言語を開発したのは文系出身者(しかも日本人)なのです。実はプログラミング言語の設計は言語学の研究に近く、文系の人が得意とする分野だったりします。また、アプリケーションを作るときに必要となるのは、コンピュータについての知識も重要ですが、そのアプリケーションが対象としている分野の知識が必要になります。もちろん、その対象分野が理系分野であることも少なくありませんが、いずれにせよコンピュータ以外の分野についてしっかりとした知識がないと、肝心の情報技術が生かせないのです。情報への興味だけではなく、広くさまざまなものに興味を広げてください。他分野への興味と情報技術が合わさったときに面白いアイデアが生まれるものです。

アドバイス

今からでも始められる情報の分野

 大学生になるまで、コンピュータに詳しかったわけではありません。現在の研究に必要なことは入学後に学びました。大学生になってから始めても決して遅くないのです。また、情報の分野というのは他の分野と違って、興味さえ持てば大学生になる前でも始められます。コンピュータさえ手元にあれば、いくらでも実践することができます。今では、ほとんどの家庭からインターネットに接続することもできるでしょう。ウェブを見るだけではなく、その裏側に触れてください。自分が行動して体験したことは自分自身の能力を飛躍的に伸ばしてくれます。どんどん挑戦して欲しいですね。

コンピュータ理工学部 ネットワークメディア学科 秋山 豊和講師

プロフィール

博士(工学)。専門は情報工学。
大学では電気系を学んだが、ウェアラブルコンピューティングの塚本昌彦先生をはじめ、誕生して間もない情報工学の分野にユニークな先生方が多くいたことから、情報の分野に進む。最初は分散データベースシステムの処理 の高速化について研究を行ったが、研究対象である分散データベースシステムの構築に苦労したことから、より使いやすく利便性の高いミドルウェアに興味を抱く。大阪府立三国ヶ丘高校OB。

PAGE TOP