LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック
ラックピープル | 

デジタル・アイデンティティのセキュリティを考える#2 NIST SP 800-63-3のDigital Identity Modelを理解する

デジタルビジネスにおいて、サービス提供者側がデジタル・アイデンティティを保護するために必要なセキュリティを考える連載の第2回。今回は、『デジタル・アイデンティティのセキュリティを考える』の2回目としまして、NIST SP 800-63-3 Digital Identity Guidelinesの中の、"Digital Identity Model"についてお話ししていきます。

NIST SP 800-63 Digital Identity Guidelinesとは?

NIST SP 800-63 Digital Identity Guidelinesは、米国政府機関であるアメリカ国立標準技術研究所(NIST)が発表した、ログインが必要なシステムを作るときの実装ガイドラインです。日本での制度や、国内での一般的な商習慣において取り入れにくい部分はありますが、参考にすべき点は多くあります。

Digital Identity Modelの3フェーズ(Identity、Authenticator、Federation)それぞれでAssurance Level(保証レベル)を定義し、レベルごとにサブドキュメント化することで、各フェーズのレベルをより実際のサービスの内容に合わせて組み合わせられます。このレベル定義とサブドキュメント化の部分が、インフラエンジニアやセキュリティエンジニアが考えるポイントです。そのためには、Digital Identity Modelを理解する必要があるのでご説明します。

Digital Identity Model

Digital Identity Modelは、様々な記事で、下記の図が引用されています。

Enrollment and Identity Proofing
NIST Special Publication 800-63-3

これだけを見て、内容を正しく認識するのは少し難しいかもしれません。私はあまり英語が得意ではないので、ApplicantとClaimantの違いは何だっけ?など何度か立ち止まり、理解するのに時間がかかりました。ただ、本文を読んでいけばスムーズに理解できるはずです。

Digital Identity Modelを理解する

説明のためにアイコンだけ若干変更し、図の記載は原文そのままとしました。用語は記事後半の「Digital Identity Modelで使われる用語」に記載しています。この図にある「Applicant」はユーザー未登録の人で、これから使いたいと申請する人。「Claimant」はユーザー登録済みの人で、各サービスを利用したいとリクエストする人と考えて読み進めてください。

Digital Identity Model:引用図をトレースしたもの

本文を読むとわかるのですが、左と右に分かれます。左が登録前、右が登録後です。

アカウント登録前と登録後に分割して考える

アカウント登録 "前"

まずは、左側、登録前からみていきましょう。

アカウント登録前から考える

Applicant(申請者、このサービス使いたいという人)が、CSP(クレデンシャルサービスプロバイダー)に「登録したいです」と申請します。

Applicantは、CSPに登録を申請します

CSPは申請者の身元を確認し、「この人は大丈夫」と申請を受け付けます。

CSPは、Applicantに身元を証明します

そして、「Applicant(申請者)」は「Subscriber(登録者)」に書き換わります。

証明に成功した場合、ApplicantはSubscriberとなります

ApplicantとCSPの間で、対応する認証情報が確立されます。

Authenticatorおよび対応するクレデンシャルが、CSPとSubscriberの間で確立されます

CSPはクレデンシャル(認証のための資格情報)の状況、収集した登録データを、有効期間内維持します。

CSPはクレデンシャル、クレデンシャルの状況、収集した登録データを、有効期間中維持します

アカウント登録 "後"

次に右側、アカウント登録後について考えていきます。

アカウント登録後について考える

Claimant(サービスを使いたいとリクエストする登録者)は、認証子の所有と管理をVerifierに証明します。簡単にいうと登録者は、ユーザー名とパスワードをVerifierに入力し、自分であることを主張します。

Claimantは認証プロトコルにより、認証子の所有と管理をVerifierに証明します

Verifierは、CSPと対話し、Claimantの身元とその認証子を結びつけるクレデンシャルを検証します。

Verifierは、CSPと対話し、Claimantの身元とその認証子を結びつけるクレデンシャルを検証

任意で属性情報を取得します。

Verifierは任意で属性情報を取得します

CSPまたはVerifierは、Claimantに関するアサーションをRPに提供します。簡単にいうとVerifierは、アプリケーションに対して、「使っていい」と許可を送ります。

CSPまたはVerifierは、Claimantに関するアサーションをRPに提供します

RPは許可の情報を受け取り、認可を決定します。(認可しているのは、Verifierですが、アサーション情報が間違っているなどもあるので、認可を決定するのはRP(アプリ)となります。)

RPはアサーション内の情報を使用して認可を決定することができます

SubscriberとRPの間に認証セッションが確立され、アプリケーションの利用が開始されます。

SubscriberとRPの間に認証セッションが確立されます

もう少し"具体的に"考えてみる

ここまでいかがでしたでしょうか。「現場の私に言われても...」と言われそうです。では、もう少し具体的に、IDaaS製品と実際の画面イメージにあてはめて、実装のイメージに近づけて考えてみます。すごく大まかに表現すると、このような感じでしょうか。

IDaaS製品では、CSPとVerifier、2つの機能を担います

CSPとVerifierと言うと難しいのですが、IDaaS製品は二つの役割を担っていると考えると、すっと入ってくるのではないでしょうか。
これから登録をしようとしてくれているお客様、すでにアカウントをもっているお客様、ともにIDaaS製品に対してアクションをし、許可をもらい、アプリケーション、上記の例でいえばECサイトにアクセスします。

※ IDaaS製品の多くは、申請画面などのUIは持っておらず、別途画面を作ることがほとんどです。

Digital Identity Modelで使われる用語

用語について簡単にまとめました。よろしければご参考ください。

用語 説明
Applicant 直訳すると「申請者」。
サービス登録されていない、アカウント登録がまだの人です。当資料では「アカウント登録したい」と要求をする人とします。
Claimant 直訳すると「主張者」や「請求者」。
アカウント登録された人です。認可前で、これから「サービスを利用したい」と要求をする人です。
Subscriber 直訳すると「加入者」。
Applicant、Claimantから進化し、サービス利用可能になった状態の人です。
Verifier 直訳すると「立証者」や「証明者」。
Claimantからの要求に対して、正しい要求かを証明する機能です。
CSP
(Credential Service Provider)
クレデンシャル情報(ユーザーの認証に使う情報)を提供する機能です。
RP
(Relaying Party)
アプリケーション、サービス提供者です。
正確には、IdPに認証を委託し、IdPによる認証情報を信頼してユーザーにサービスを提供します。SSO製品ではSP(Service Provider)と表現されることも多いです。

最後に

今回は、NIST SP 800-63 Digital Identity Guidelinesの中のDigital Identity Modelについて記載しました。ECサイトなどのお客様向けのサービスでは、記載の通りの認証・認可のプロセスが行われていますし、"都度認証"がキーのゼロトラストでは、この右側が頻繁に行われています。次回は、より"セキュリティ"的な視点となる、Identity、Authenticator、Federationの各Assurance Levelについて、お話ししていきます。

なお、本記事で使用した図版につきまして、下記からダウンロードいただけます。
認証・認可の基本的な理解の一助としてご活用いただければ幸いです。

NIST SP 800-63-3のDigital Identity Modelを理解する
ダウンロードはこちら

この記事は役に立ちましたか?

はい いいえ

関連記事

LAC WATCH

関連記事をご紹介します

  • デジタル・アイデンティティのセキュリティを考える#1 デジタル・アイデンティティで考慮すべきセキュリティとは?

  • 顧客IDをデジタルビジネスの中核に#1 サイバー攻撃の激化で高まる認証の重要性

  • 顧客IDをデジタルビジネスの中核に#2 サービス開発のコツはメイン機能への集中とID認証システムの活用にあり