デジタル身分証利用パターン | 概要 | 備考 |
PC Webブラウザ | TRUSTDOCKが提供するJavaScriptで作られたSDKを導入企業のWebサイトに組み込み、TRUSTDOCKアプリを呼び出せるようにします | PCの利用者とスマートフォンの利用者が同一時点で同一人物であることを確かにするため、PCで時限のPINコードを表示し、スマートフォンで入力する操作が別途あります |
スマートフォンWebブラウザ | 同上 | ー |
スマートフォンアプリ | RPのアプリからTRUSTDOCKアプリを呼び出せるようにします | ー |
API | 解説 | 備考 |
Discovery |
RPがOPとの適切な連携を行えるようにするため、OPの構成情報(スペック)を取得します | ー |
Authorization (認証・認可フローの開始) |
(RPがスマートフォンアプリの場合のみ使用します)RPからOPに連携処理を行う際に通知します | ー |
JSON Web Key Set (JWKセットの取得) |
OPがRPに提供するIDトークンの検証を行うため、OPからJWKを取得します | ー |
Token (トークンの発行) |
OPからIDトークンやアクセストークンを取得します | アクセストークンを取得するためには認可コードが必要になります |
Userinfo (ユーザー情報の取得) |
OPからアクセストークンを用いてユーザー情報を取得します | ー |
カテゴリ | 実装内容 | 解説 |
必要な実装 | OPの構成情報取得APIで構成情報を取得する | 構成情報には各種エンドポイントやサポートしているresponse_typeなど、他のAPIを利用にするにあたり必要な情報を得ることができます。 APIドキュメントにもエンドポイント情報は示していますが、実装としてはOPの構成情報取得APIを利用して得たエンドポイント情報の利用をお願いします |
JWKセット取得APIでJWKを取得する | 取得したJWKを用いて公開鍵を作成することができます。 具体的には、JWKに含まれる情報(nとeの値)をもとに公開鍵を作成します |
|
IDトークンを署名検証する | 作成できた公開鍵を用いてIDトークンの署名検証を行います。 具体的には、IDトークンをヘッダ部、ペイロード部、署名部の3つに分割(IDトークンの値にピリオド「.」がある箇所が分割する箇所)し、各部をBASE64デコードし、ヘッダ部の署名アルゴリズム情報と、デコードしていないIDトークンとペイロード部をピリオド「.」でつなげた値と、デコードした署名部と、作成した公開鍵の4つを用いて検証を行います。 検証に失敗した場合は改ざんのおそれがあると判断し、「連携データに問題があるため処理を中止します」等のメッセージをユーザーに提示し、処理を中断します |
|
IDトークンを値の比較で検証する | 以下の確認を行い、IDトークンを検証します。 いずれかで問題のある結果となった場合は問題があると判断し、「連携データに問題があるため処理を中止します」等のメッセージをユーザーに提示し、処理を中断します
|
|
IDトークンの有効期限を確認する | 以下の確認を行い、IDトークンの有効性を確認します。 問題のある結果となった場合は無効なIDトークンが提供されたと判断し、再度デジタル身分証を利用する旨をユーザーに提示し、処理を中断します
|
|
IDトークンに含まれる識別子を得て管理する | この値を管理することで、RPは初めての認証(ユーザー登録)か、2回目以降の認証(ログイン)かを識別することができます |
デジタル身分証利用パターン | チェックポイント |
共通 | OPの構成情報が取得できていること |
JWKセットを取得し、公開鍵が作成できていること | |
作成した公開鍵を用いてIDトークンの検証ができていること | |
認可コードを用いてアクセストークンの取得ができていること | |
アクセストークンを用いてユーザー情報の取得ができていること | |
IDトークンから必要な情報を得て実現したかったRPの用途に用いていること | |
アクセストークンを元にして得たユーザー情報を用いて実現したかったRPの用途に用いていること | |
PC Webブラウザ |
1.PC Webブラウザのオンラインサービスに設置したボタンを押すと、QRコードが表示されたポップアップが表示されること |
2.ポップアップに表示されたQRコードをスマートフォンで読み込むと、スマートフォンのWebブラウザが起動し、同意確認画面が表示されること | |
3.スマートフォンに表示された同意確認画面で同意すると、TRUSTDOCKアプリが起動し、PCにはPINコードが表示されたポップアップが表示されること |
|
4.TRUSTDOCKアプリの画面ロックを解除すると、PINコードを入力する画面が表示されること |
|
5.ポップアップに表示されたPINコードをTRUSTDOCKアプリに入力すると、TRUSTDOCKアプリで提供完了画面が表示されること | |
6.TRUSTDOCKアプリで提供管理画面が表示されているときにPC画面では、RPとして実装した振る舞いになっていること | |
スマートフォンWebブラウザ | 1.スマートフォンWebブラウザのオンラインサービスに設置したボタンを押すと、スマートフォンのWebブラウザが起動し、同意確認画面が表示されること |
2.スマートフォンに表示された同意確認画面で同意すると、TRUSTDOCKアプリが起動されること | |
3.TRUSTDOCKアプリの画面ロックを解除すると、以降はRPとして実装した振る舞いになっていること | |
スマートフォンアプリ | 1.スマートフォンアプリに設置したボタンを押すと、スマートフォンのWebブラウザが起動し、同意確認画面が表示されること |
2.スマートフォンに表示された同意確認画面で同意すると、TRUSTDOCKアプリが起動されること | |
3.TRUSTDOCKアプリの画面ロックを解除すると、以降はRPとして実装した振る舞いになっていること |
ナレッジベースの共有 | 本webページの内容となります。 こちらの内容はいつでも最新の情報をご覧いただくことができます。 導入実現可能性と開発規模の概算見積もりから実装時の参考まで幅広くお使いいただけます |
APIドキュメントの共有 | 本webページの内容となります。 こちらの内容はいつでも最新の情報をご覧いただくことができます。 導入実現可能性と開発規模の概算見積もりから実装時の参考まで幅広くお使いいただけます |
デジタル身分証の開発環境と本番環境の提供 | デジタル身分証の導入を検討している、もしくは導入を決定した場合、デジタル身分証サービス利用申込書兼請書という文書を通じて、デジタル身分証の開発環境及び本番環境利用に必要な情報を提供します |
問い合わせ対応 | TRUSTDOCKの営業日10〜17時に、所定の方法にて、実装時に気になったことなどを質問等いただくことができます。NDA締結後案内させていただきます |
カテゴリ | 質問 | 回答 |
導入検討 | デジタル身分証の導入にはどのくらい期間をみておくとよいでしょうか | これまでの導入実績からみますと、仕様把握からテスト完了まで1ヶ月ほどみていただければと存じますが、OAuthやOpenID Connectの導入経験のある方がいらっしゃればよりスムーズに導入いただくことができると考えています |
デジタル身分証の操作感などを事前に確かめる方法はあるでしょうか | 導入判断に向けて必要となる場合は開発環境の提供を行っています。TRUSTDOCKの担当営業にご相談ください。 導入判断より手前でイメージを掴みたい方は、こちらのデモ動画をご覧ください |
|
導入実績が知りたい | 導入事例を説明をさせていただきますので、お問い合わせをお願いいたします | |
デジタル身分証を導入したことによる効果を確認したい | 富山県で行った実証実験(PoC)にて効果検証をしています(解説動画) | |
価格について知りたい | 価格を含めた説明をさせていただきますので、お問い合わせをお願いいたします | |
デジタル身分証を自社プロダクト等と組み合わせて、他の事業者等に提案を行いたいが、どのように進めればいいか | 座組みを含めた説明をさせていただきますので、お問い合わせをお願いいたします | |
RPとしての実装を楽に実現する方法はないか | OpenID Foundationには認定済みのライブラリがありますので、そちらをご利用いただければ実装の負担を軽減することができます | |
開発 | IDトークンの検証など実装が重たいです | OpenID Foundationには認定済みのライブラリがありますので、そちらをご利用いただければ実装の負担を軽減することができます |
APIの組み込みを行ったがエラーが返ってきます | 一番よくいただくお問い合わせですが、ほとんどの場合必須としているリクエストパラメータ不足が原因です。 APIドキュメントに詳細を示していますので、再度ご確認いただければと存じます |
|
APIの組み込みを行ったが本ナレッジベースでで示した通り画面遷移しません | APIの組み込みがデジタル身分証利用パターンに合っていない組み込み方をしている可能性があります。 デジタル身分証はPC Webブラウザ、スマートフォンWebブラウザ、スマートフォンアプリの3つのパターンいずれにも対応していますが、例えばスマートフォンアプリとデジタル身分証を組み合わせる際にはauthorization APIを利用していただく必要があります |