hideki nara avatar hideki nara committed 2057cdd

PPIDと一時IDの紐付けの生成方法について更新

Comments (0)

Files changed (1)

docs/source/flows.rst

 OAuth/Connect 情報連携基盤フロー
 ================================================
 
-- 要求に対して、返答(トークンなど)が同期的に返らない事を想定する必要がある。 ( nat )
-- 第3社機関は1個しかありません。( nat )
-- 「法律の番号」で裏打ちされたアサーションをいただく ( nat )
-- ドイツのEDIは、一般ユーザーもX.509 ベースで申請する ( nat )
-- ここでの「ユーザ−」は国民、市民 ( nov )
-- オペレーターの権限、アクセス記録はどうする? やった方が良い 。処理をするひと。
-
-    - それぞれのシステム自体の認証
-
-- 本人確認、をルーズに使い過ぎ。あなたの言っている本人確認ってなに? (nat)
-- 「アクセストークン方式」は主流になって行っている気がするが、「ログとれないんじゃないの?」
-
-    - 「だからゲートウェー方式」派もいる。(1カ所やられるとどうか?) 
-    - 一方で、ログポイントがいっぱいあるから、付け合わせで確認できるんじゃないの、とも言える。
-    - 第3機関でログとるとか。
-
-- ログ監査の実例って?僕ら知らないよ。
-- 納税だったら、請求書や領収書で付け合わせてやっている。
-- ログが分散していようが、集中していようが集めて監査するのが重要 (先生 ) 
-- 国から発番RFIが出ているから、書けばいいのでは。
-
-- RFI
-
-    - 符番
-    - 連携基盤
-    - 第三者機関
-
-
 .. contents:: Table of Contents
 
 扶養家族情報取得に関するサンプルUse Cases
 - UserInfo Endpoint は ConnectのDistributed Claimで実際の個人情報(扶養家族)の場所(区役所)とそのアクセストークンを返します。
 - Clientが事前に貰うアサーションには、UserInfoにアクセスできる許諾とともに分散クレーム先にアクセスできる許諾が記載されている必要があるだろう。
 
+
 .. _flows.additional_endpoint:
 
 その他のエンドポイントでの機能
 Server-Client間の識別子
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
+通常のOAuthではリソースアクセス対象となるオーナー個人の識別子は一つなので、問題とされる事はないが、
+複数の個人データを一度に返す場合は、識別子の扱いを考える必要がある。
+
+Serverが中間の識別子を生成
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
 - Client と Serverとの間で個人(田中さん)の識別子をどうやって共有するか?が問題です。
 - 1つの考え方は ClientとServerの間で、アドホックな識別子を取り決めてそれに対して双方マッピングするというやり方です。
 - ここでは、Serverがアドホック識別子を発行して、それに紐づいたServer_PPIDの対応表をOPだけが分かる形で暗号化するというやり方を想定しています。
 
     
 OP: Server が受け取ったAccess Token の検証 (TokenRes)
-----------------------------------------------------------------------
+###############################################################
 
 - アクセストークンを検証します。
 - トークンに対してどのPPIDのデータを処理すべきであるかを返答(TokenResDoc)します。
     - アクセストークンに入れる
 
 Server : 一時ID = Server_PPIDの暗号化対応表(EncMap)
-----------------------------------------------------------------------
+###############################################################
 
 - Resource Endpointの返答に、 一時ID = Server_PPID、の暗号化対応表(EncMapTable)を返します。
 - OPだけが復号化可能です。
 - Clientは応答のデータ部分はわかりますが、その一時IDは誰のIDであるかはわかりません。
 
 OP : 一時ID = Client PPIDの対応表を返答する(DecMap)
------------------------------------------------------------------
+###############################################################
 
 - Clientが受け取ったEncMapTableをOPが復号します。
 - OPは復号後にServer_PPIDをClient_PPIDに変換します。
     - アクセストークンに入れる
     - UserInfo に入れる
 
+
+OPが中間の識別子を生成する方法
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+これとは別にClientからのリクエストに基づいてアクセストークんを作る際に、
+OPが中間の識別子を作って、Client とServerにそれぞれのPPIDと対応する表を渡す
+と言う方式も考えられる。
+
+
 その他の考慮点
 =======================
 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.