コメントを受け付けていません。ここ最近、そんなID認証サービスの利用が広まっています。その認証の仕組み、OAuthとの違い、認可と認証の違いなどを解説します。Connectを利用したソーシャルログインサービスAPIがあふれる時代、開発も様変わり2019年の今、スマートフォンが世界的に普及し、数多くの新たなWebサービスが日々リリースされています。世界中でたくさんの新サービスがバンバン登場するその裏には、さまざまなAPIが公開されるようになりサービス開発がしやすくなっているという背景があります。GoogleやFacebook、Amazonなどの大手IT会社が自社プラットフォーム上のAPIを公開しており、誰でもそれを利用して新しく付加価値のあるサービスを作ることができるのです。アプリをゼロからスクラッチで作らなければならない時代はもう過去のモノといってもよいでしょう。したアプリで障壁となるのが、ユーザー認証です。様々なSNS上の投稿を一括して閲覧できるアプリでは、アプリの中で複数のSNSサービスへユーザー認証を行う必要があります。Connect」が注目されています。Connect(オープンアイディー・コネクト)」とは、サードパーティーのアプリからGoogleやFacebookなどの認証サーバーを使ってユーザー認証を行うためのプロトコルです。概要としては、以下のようになります。ユーザーはアプリにログインするとき、そのアプリは認証クライアントとして認証サーバー側に認証を要求します。認証サーバーはユーザー認証を行い、必要なIDトークンを発行してクライアントに返します。このIDトークンとは、アクセスするための認証情報のことです。Provider)といいます。APIなど)を利用することができます。認証の仕組みここで認証がどのように行われているのかもう少し詳しく見てみましょう。1.クライアントアプリ(RP)から認証サーバー(OP)へ認証のリクエストが送られます。2.リクエストがあった際、OPはユーザーに認証情報を与えてもいいかの確認を行います。3.ユーザーはアプリにアクセスを許可するかの確認を行います。アカウントにサインインするなど、ユーザーの本人確認も行います。4.確認でOKであれば、OPはRPにIDトークンを発行します。5.得られたトークンを使い、外部APIへのアクセスが可能になります。IDトークンが、安全なアクセスを実現するIDトークンは、APIにアクセスするための情報が入っています。Connectでは、IDトークンを使うことでサードパーティーアプリから個人アカウントを守っているのです。ユーザーは、サードパーティーのアプリを使う際に、APIアクセスに必要だからといって他社サービスのアカウント名・パスワードをそのまま渡すのは危険な行為です。数あるアプリの中には、そうした権限を持って勝手にアカウントを使用してしまったり不正行為に利用したりする悪意のある者も少なからずいるのです。悪意がなくても、アプリ会社のセキュリティ管理が甘ければパスワード漏れや個人情報漏えいなどの被害に遭うこともあります。した思わぬ被害を避けるため、ユーザーは必要な認証情報のみ=IDトークンをアプリに与えます。このIDトークンには署名が付与されています。署名は暗号化され、さらにトークンの中にはユーザー情報の他にもトークンの発行者、トークン有効期間などの情報を含めることができます。トークン自体も暗号化ができるのでユーザー情報のやりとりがより安全に行えます。Connectは、OAuth2.0規格の拡張仕様です。Connectとほぼ同じ仕組みで認可処理を行います。両者の違いは、「ユーザー認証」を行えるのか「アクセス認可」のみかの違いです。その違いとは!ここで押さえておきたいのが、「認証」と「認可」がどう違うのか、ということです。「認証」というのは、その人が『誰であるか』『本人であるか』を確認することです。Webサービスログインの際、アカウント・パスワード・認証コード・メールアドレスなどの本人確認のための情報が決められています。鈴木一郎さんはアカウント名やパスワードを入れ、さらに電話番号に送られてくる認証コードを入れるなどして「わたしは本物の鈴木一郎です」ということを証明すれば、認証されてログインができます。「認可」というのは、その人が『権限を持っているか』を確認することです。こちらは例えば、サーバーアクセスしてきたユーザーがアクセスOKとなっているかどうかをチェックすることです。鈴木一郎さんは、アクセス権有りのリストに登録されているかどうかのチェックを受けたりアクセスパスワードを入れるなどして、「権限を持っています」ということを証明すれば、認可されてアクセスができます。この際、鈴木一郎さん本人かどうかは問われず、あくまでも『権限があるか」のチェックなのです。認証と認可の両方を行わないと、厳密なアクセス管理はできません。Connectでは、IDトークンを使って認証と認可の両方を行うことで、OAuthよりもセキュリティを強固にした規格なのです。Connectは、ユーザーにとってもアプリ開発会社にとってもメリットがあります。ユーザーにとっては自分のパスワードを守ったうえでさまざまなサードパーティーのアプリを利用することができるし、ひとつのアカウントで複数のサービスを利用できるので個人のパスワード管理がしやすくなります。アプリ開発会社にとってはアカウント情報を自社で管理しなくていいので、運用コストが下げられます。API利用がしやすくなり、さまざまな新しいサービスを作りやすいのです。一つのアカウント情報を持って複数のサービスで使い回せる「シングルサインオン(SSO)」は、これまでもSAMLなどの規格によって実現されてきました。ConnectでのOP)とRP間で相互の情報を持ち合い、「安全な情報やりとりができる関係である」設定を準備する必要がありました。Connectでは、ユーザーのアクセスのタイミングなど動的に、且つ、安全な情報交換ができるのです。Connectが注目されているといえます。Connectを利用したログインサービスはRP側では「ソーシャルログイン」と呼ばれます。JAPANやLINEなどの多くのソーシャルアカウントとの連携が可能で、会員登録途中のユーザー離脱を防ぎ、ID忘れによるサービス継続率の低下を防ぐとして多数の企業に導入されています。IDで代替するだけでなく、LINEを使っているユーザーへの関連情報配信をすることで新規獲得や顧客の定着を狙えるサービスを提供しています。Connectの利用は広がっていくことが予想されます。常に新しい用語が生まれてくる情報システム部門は、全ての用語を正しく理解するのも一苦労。常に新しい用語が生まれてくる情報システム部門は、全ての用語を正しく理解するのも一苦労。経済の新たな原動力として注目されるAPI。株式会社クリアス・テクノロジー「エンジニア」ポジションのご紹介[PR]プレスリリース登録されているプレスリリースはございません。関連サービスおすすめ記事2019/9/9いまさら聞けない【情シス知識】プライバシー保護の基礎、OECD8原則とは個人情報の取り扱いには要注意。10に切り替わるこの時期、アプリケーションや端末利用...2019/3/11いまさら聞けない【情シス知識】Javaの種類と有償化の関係オラクル(Oracle)による無償サポート終了で今やホットなキーワードである「Java」。