From 33f212effc052e26a450433b5eeb6171360859fd Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 2 May 2024 08:12:04 -0700 Subject: [PATCH 1/6] updated Bridge diagram with TRAIN, TE, and OIDF Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 30 ++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 1532883..42ad087 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -8,20 +8,40 @@ title Native and Bridged Support for TRP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") -System(Bridge, "TR Protocol Bridge") +System(Bridge, "Bridge") +System(teBridge, "Trust Establishment Bridge") + +System(oidcBridge, "OIDF Bridge") +System(oidfData,"Federation","OIDF") + +Rel(Integrator, oidcBridge,"TRP") +Rel(oidcBridge,oidfData,"OIDF") + + System(TRAIN, "TRAIN") +Rel(Bridge, TRAIN,"bridges") + + + System(EUTrustedList, "EU Trusted List") System(NativeSupport, "SystemX"," w Native TRP Support") -System(OpenDataBridge, "OpenData Bridge") +System(teFile, "Trust Establisment FILE") + +Rel(teBridge, teFile,"processes") + Rel(Integrator, Bridge, "TRP") -Rel(Bridge, TRAIN,"bridges") +Rel(Integrator, teBridge, "TRP") + + Rel(Bridge, EUTrustedList, "bridges") -Rel(Integrator, OpenDataBridge,"TRP") -Rel(OpenDataBridge,NativeSupport,"ODPS") + +' System(OpenDataBridge, "OpenData Bridge") +' Rel(Integrator, OpenDataBridge,"TRP") +' Rel(OpenDataBridge,NativeSupport,"ODPS") Rel(Integrator, NativeSupport,"TRP") From 0ced10066b57d4892fb4aa577e920b0ed34ced7a Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 16 May 2024 18:58:28 -0700 Subject: [PATCH 2/6] update TE to CTE name (DIF) Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 42ad087..6a02e73 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -8,8 +8,8 @@ title Native and Bridged Support for TRP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") -System(Bridge, "Bridge") -System(teBridge, "Trust Establishment Bridge") +System(Bridge, "Generic Bridge") +System(teBridge, "DIF \n Credential Trust Establishment \nBridge","[CTE]") System(oidcBridge, "OIDF Bridge") System(oidfData,"Federation","OIDF") @@ -18,7 +18,7 @@ Rel(Integrator, oidcBridge,"TRP") Rel(oidcBridge,oidfData,"OIDF") -System(TRAIN, "TRAIN") +System(TRAIN, "TRAIN") Rel(Bridge, TRAIN,"bridges") @@ -28,7 +28,7 @@ System(NativeSupport, "SystemX"," w Native TRP Support") -System(teFile, "Trust Establisment FILE") +System(teFile, "CTE file") Rel(teBridge, teFile,"processes") From be0ea861208f10334942f48d95a1eb2eca4df40b Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Thu, 20 Jun 2024 11:52:33 -0700 Subject: [PATCH 3/6] +OIDF profiles; TRP->TRQP Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 18 +++++++++--------- docs/images/puml/protocol-bridging.png | Bin 32180 -> 50540 bytes 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 6a02e73..8065329 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -12,11 +12,11 @@ System(Bridge, "Generic Bridge") System(teBridge, "DIF \n Credential Trust Establishment \nBridge","[CTE]") System(oidcBridge, "OIDF Bridge") -System(oidfData,"Federation","OIDF") - -Rel(Integrator, oidcBridge,"TRP") -Rel(oidcBridge,oidfData,"OIDF") - +System(oidfData,"Federation","OIDF\nProfile 1") +System(oidfDataN,"Federation","OIDF\nProfile N") +Rel(Integrator, oidcBridge,"TRQP") +Rel(oidcBridge,oidfData,"OIDF\nProfile 1") +Rel(oidcBridge,oidfDataN,"OIDF\nProfile N") System(TRAIN, "TRAIN") Rel(Bridge, TRAIN,"bridges") @@ -24,7 +24,7 @@ Rel(Bridge, TRAIN,"bridges") System(EUTrustedList, "EU Trusted List") -System(NativeSupport, "SystemX"," w Native TRP Support") +System(NativeSupport, "SystemX"," w Native TRQP Support") @@ -32,8 +32,8 @@ System(teFile, "CTE file") Rel(teBridge, teFile,"processes") -Rel(Integrator, Bridge, "TRP") -Rel(Integrator, teBridge, "TRP") +Rel(Integrator, Bridge, "TRQP") +Rel(Integrator, teBridge, "TRQP") Rel(Bridge, EUTrustedList, "bridges") @@ -43,7 +43,7 @@ Rel(Bridge, EUTrustedList, "bridges") ' Rel(Integrator, OpenDataBridge,"TRP") ' Rel(OpenDataBridge,NativeSupport,"ODPS") -Rel(Integrator, NativeSupport,"TRP") +Rel(Integrator, NativeSupport,"TRQP") diff --git a/docs/images/puml/protocol-bridging.png b/docs/images/puml/protocol-bridging.png index 4340ce0df7958fc4cc0f9895bb48beb568ad9402..9095fec5729a22560ee84abfd90ee21397d1ac00 100644 GIT binary patch literal 50540 zcmcG$by!th_cpo#0cn*+8tHC98fm1vk?z{kr3grO2olm=n{Gu!x}*i9ySvZidEcYY z@4L<)-*vuo_y^p3tu@CSd5^K~X^4`76b330Dg*+-kdc0=0)Zef_LJMl*;OJp%W)6i&nc15;8$-=Z$zOYrTSB3ZF8r*lj<&}3&^LCrEG7R@;!70oZy$42kSX9PKG8zIgXO@87EHJR-cEjmT?MlpDfw@I=(nu zgjxkZMpqie$EG69j>E0J#ViqgpihZS-Wc$^c(3s`V2Rm(%l*;h9Pu*C3(*h0M{v#< zdVc0jyVzAR&ddEaI?FFv9%#BQ|LR&rddq3p&PPzL$te6Gx(gz2U-pIlxnY^!2mLRQ zU+rGVLjJ}^ei2+dL`a|aNIqrDg|$as{}wDTW3^r%vs?{UEC`lkdw(``qRCc3Vm+N) zP4Z1BX1aVR;4NqNvuGss4@N~C0(I@B$bFE3$GBatU!G}YD?|;Ed~8&3mwM;4rHs92 zoCSxEt@i&H*H_3F&O{+NtZ2?x~9)-Bp*?1G?bvY)gw)oFB75K78 zzmXan=-BnF<5JrURdMt9mM9zNGd-z~J~^iSIvy-n>gpbxrXZJ$b^L~Jqk72ktpJDj zQvNIY8omO-!qZE_AtZm@Dx+_OFJZ{^-}~=gE9vgCg``fEma+xI4RJb%Vcqxq<+wRAcO_JY& zF67I%{9{XHD^%K7T+O7tmpz5KH^aVf=ZGrx2cmm%1@^wXbPl{ z^(_`+4!Ec~($&2lZjT9n@_-_zobZpfR+F&~`&8mPZeKrLv1%H~V)+eUS*3)*;e)T9 zn88H(?t6Q>kM4up>C`SyWg{;N6%nqN`obas3O`M75T1wGIxKv}BGY@ffjo43{`gu7 zK{~Gx_R;9Q9xdiKoB3Rpf?@Vh{NwC=+;1%rCc}N=tLp}eJC4ZT+QuDQ0{Ab5oy`YO z``Kp#w#oO&3iw-ONGNjx8{X&@e}el+=;|mW&R43|rTKLorE|*H|8v{>N&jmN#RKM= zfc#@gIVRU<_}|pN@;jwOglsjC%zfb_+n(Z$KPg`b75P9_ZR*%O+4B0O_q;%vAdM{@*|S zm{L(om6#&3tku|d!+wV@isIoEx1%g175$9qQOcsu#_0S&cIWQV8OZoX^<@;8O3R66g9#Apk})EC6jhBcr)1rq8Zs%6CLfoeK2rtj0$ zaNFG@y+rQq7D_`h 3Bnz=6`{|y!>IWyv**-J+zAx% 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 literal 32180 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 z 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

*Z-Sn2FEq1rqI#r z*?ogU2Lw)-9$N)6o`?t$k zYrnkWU>^nIe78Psp3NiLIlp-^nDA(R@-sz?x zGc!ERO%2Wb+aLWZI(@Ix=+2GAT&wik4W)kE;~{I`!14+PdP%kjkRfOxqq>t5 z0ByhG=k_YJ-aV71hpEhL5jZcFk~M665RM#R_@msG*Wvn76C#ZXVHb*t={Np<79DgN zeeh%mkujgwHl)z?w{|3_DX_LdcJea7Bf5dmfOZOHNJl|f9ACBPyfkfks zR*L{}GUYG5S0`%;EC=e(hNa1$mPGTZjDcSWZYWtFZ_YUS(w;Syv(@g?V5t1dsz>QT zRQIToNb@m)p3CWm@B4Fgkw2a!B<4;=MLdt->Z4%)$*ER5GrcV^hNnLNCqIbl<8=T}$v05z& z(kX-OUh-~SAF8bTYM_Hx1v46*%%7*tvVguw@l!)7s&RxwnHsNNjIHpM?zXy1(MW`Z zH?e$qZ#&+^)T<~pjA={*sDX*_87*yLU0n@}{$YI{tfQec`1_{K<>o=vvd7n#zTrLA z{AEi)4!Ofy$;u*Xi8->b4bSg2f$2v5&aheaWkT(4P)b-Y3RW5D&Fd^L{ARw)PfFRPjNC9bsPNk(& zYSAIx-6^F=H%dvfNa;pOYDp|$0l#7IXFu<=kMH>Yk^^t=duFbgE6($rOLJKSbK8o} z&^i`jz#Soaex@9z%}W#+qpeZMsmlfwUJ34J4Cpy{)@c{OLBCahr1tc_u$nJQ7A z^vFx9E=c$S_0NnSenzE3yk}{Ac0||=Hwp6R)3ek<37ls*Pr~1{Ep5E`qz08?e8oI^ z8#>Z9;<7;iXb^MBWC9m^1ShI3jlH%O=ALWp&^2DK4vSvDmo_G|d+_W`;&pXi@~h7lA?_7$b?)~IoUvc_#LVg{V3n#@J~TRWZpT$j!#9Uzl$ z=Jkx{uuRnH(dw!}d*h?4k{GIRF>JJE6qku(>0)~m6lxMcgg0wk z2QJ>-2l_zr(}jBCL-DhHIl!o)w~8!btYisEWT$K`6i9dP-u3Z{B>A6Ln_HP{4TR-*NoU44c@vQw! z=b;a&m2c(0nT=n+l&ddLeN6Y^r*lNhwi7{<#r)-)yDO3dyl}>Qch_%ljy(J2rWt$6 zk$^2oOHU6+o;&ktt3jvOHW%n)&xRmWXgnDQ7c!e8Z9Rq}*}*d&Tt^&v+_tH1FIj?On7U;B|oE2aL|pVC&hqBYt-Kfj}~ z(H=_y0+e|FudxXD8!Imb3T+kk1BP6^ZU3Hy-1Qk$p4Fp9wO(Vnv9#O`Y7`Ki>-7`nsCIw%sY=wBC^g>UelUHyD>IjiaaIj9z*Z)Ogy5{qT*`TnD(a|1IGo5={5^kPwMK*?k>e&JPoWy1O zAW+bRQZNS@g8s&+o9RDCjB02j1Yd@khvqO+DZs(T0Q$|fYjA-U{>C-&s4@3~O`6?q zSOPZq74k;*dBGs-frr`)(wl75MF*F4A`25*`XdB!)05J;^g0tqD=NnVW|5cf)*0&Y zvEPm!CZE`AYi!gdkWvNAOQ>ogyso)<1v2}@o-5dk!p5w3sUc~LEsw1~&-6w%H7fg@ zatm9A4YP(YNMe{gc-ga50@F&$2AMMe24Ds@IUkYbZ^ZqbL^L}mTX_2Qs4}Joxd;n7 zf*#0Y@{X{wTkJ>v(i!!V+UV2V+}NCSKhK2=eNr**{PvaoNqeJvR>cCvuDp={4z=Sm z%EuC6n>v!f@`D0@yHE>GNRv@}O`q>#V!we9FaFI>p>&Td=DR)>@DW@XJdZa2ebq`B zRgE#-%gOg3hdu5)IEdfOh`Bsp^9sEhWIS;r)HYe)^6#lag4F-cojbP!&P5UjP!X4^ zf8wUoA3VC+Lmj4n%Llj;$$CiBS z)#VkT_XUc#*t#cj3=bANW{m~IX(aQ%$;ipjRTxUciC-(yo3bV~& zUcaK@OuC?299pY;`zJ8JZxL!4@5<=3AD+ZPN*(|{1YUoPuYz0@SEj{v z7D-ah65EK$g1)nT>xkArqKROcvJ-rby&#P8v#d9{E#~W2ZouIq3eh!U!Erx1dbyGrm$KJdWt%@^4t1}|R^SoS@e)qH&co`D z4g}QF*UC!P$EoR$y|sPsTwZRr75G>7?JqR{`Lo%^<;#&;Z9Wnl7zi^61dqSo-roLN zS2x_BcKLSFab;_3dSXJxlOzeyP{IH^-;*T|0MKrd-uqo;!wpGRHR!`W7%T>Kci9+7 z-uBh)nVV~_ao*4G#!iCcOX8_+KUaHJ$!;Co!FwxP`#jV)y0J|ph z{P~!H3=d%CCE6{y7*RIl-ufQ;BFpCkVjCJ7UKOj18U%9h?CgLxG|xRrh7OO8`fjrCqjb3>m zxa(jE3Vr}5#Kp%;W0gMymGx{U9B-7Qe_){AZb`+Hgzq5>%jNm`D4-r#Ax#5^hm`>V zojW&pKYDtKs;lEq8GlRm0CuAmC>u~3G+bR>5rzvuAex`Aq@?tFwssfDGn~KmukGyU z=<5T+F$+1YcFk0q0~_Sz5x46V^}|lL3BXlG5d|J}@It2x!`J-faYr zI(7B*fbt+ZDryY1tQ+ughdxf&KOR2hN`NLqE_Li=4L?d)=V2DaI!*#WfT-Xf_vdpSX8EfzQ)7^%WJHsub+ID z-{iOoW-KUz7z1ld21YVCG~{C3OZl1?(0*W$DG3P)0a!$11}0{h!eX!!KSIF5S%3kk zz(z-nEiFr!)`oU=caPpb!p;U@&Z}4BiCOy^VO@a2xb^TdJZjLITO_HX!p6#qjV9+2 zFduMXVAt^b`T2eP_^~G0rl_b0%>TB#5z1fB4+2~!ibe!rjaw*tpxuqJk&%QaN!??1 z_D*qbSzFuBpnuSwEI>Bo(v?(HE)a-7aJ*4xd#0!F%facrz(&t4T!O(Qu%6=cKET7p z1zQM!Mmp&IPJqe3zPfa=m)`}2oPDDlw#Ob-cv)eOdgth)WxksoxVt%$ZH~m{09;v_oRbsJvFAf>Hw`m0Gc`5h zJz3(7_5#pU!R54e<3+w2E60;3xg6uDy{nSv+K)i*BVZ*!bZ((!7Bnagz|&J#3q8((Nubs7hmyUfaQ0OKV{mvb zCzs1sTr@dTX&k`(r?e#8%*qN#zLY$ZiC9&@V$PQ~b>^s1*c3*SYkOy8WFTsvGD)E0 zsbp}dDk%Z~Nkv8V`4yUwC?{vsC7w_M#wr#E2S-b5E8y!Iog37q=NA{-8X7)4KbMmL zjMl1~z5O!d!2N{mMA=-m4;~)DK|$(J7d}1=XXczj1y9X3DLOj3r3MG4`qDMI@N#i* z);!Pl3tJt3{P?lipU7?^L{E?6jK(Pi`f9nj)TXCXmjl!BDs@+Ujk z#cNWzGC)0sg@x6r0n0BfDe=Sj#7;#`Eg6YWePIF^G+Z=g20+U87Ij1kmB6?R+pH}u zaqs|T*+rzx0Ne@!fdG0aFqVMwIQlBwM*gQyiK&$Jf(RqkhTGr&%+?i?u?OqVI zKWgr>U!2tS2o@d^^Fi<3K!2IoH`qZ@!x8Xj;IK;*o7f?4yD_|SdXk4Mr-#+}ff7X% zckD8_^uf-1E#Hh6c_fh64F(1VG2M-}SlB6zjY8$YAtCX~@1*)Jfp0irh( zAwW4g9snnSAfZPOi092>JqM8VrlSbXqoqx8pKH;_+G=-zM>nE`i;Af7sY5lwfJVjQ zcSLmbIO+?2R?nq^+&eA;CL&v$#E@gM9Q0vXCNd9cY4olYaVcD(L=)37^Udca4$!TZ z00=AVr`A@Q3(87-8lSBpiCAA|>V!OuO*}s+&KU#g0@%|h+Xn|BASEQ3p6COq0J-C1 z?7I-c$5iVxD32hOE5fFBmX3~bfgNnyXA-*=pFUYU7m6ivzEa>-*<2^+9|^Mu$NcE= zLPHvrFK36a=|MXDk0zHvOGDI|NvdZ$+5%c4bZllbJ~LA+A8GY00aq(%n81Cdgpe4A z(;qBP9$C({sflaE)|N%@`TR~IyC%J^zm7faR(bqB-p^-i1FGQg_w|@0*39JyN{nPd zJkfZoRkB2J;OMd1i1#G@BXD#Yr!C2|ThWCmf~+3U1MB?HVm~(Fim|X@t;UR8NM&bw zroYtE!iGX1?UbgwIJ2+1RB0d43EE3=6P;a`G&hSpe0WEy-g<`7>v1=#H;JvI0$3Rt zc8MPp`+}CE11TUK0YbNH7I~19hsxXY2xw?(et8vT!j%26c%6lp_ns6How$;Qz+n5O zI!+BxiQ(lFsX>!cTUta}V}N+i`P-1S+FeRYoK*ZO4inp#^`&JnEKE%LX6eDuP;3f{ zWS2i9u^`IJQ_#LP2F+e7QS`$oH+n65uZZuFk^*cVZ6UU_lufM*Bu|M+NgdA$ZdHdb zbEVmTj}jj4bdzxu4&tCDFmQP%TNW^HDCg)FkMM z;+60SIC{tQ@GLu#5KsCusUAYmaSSS2|0Ga~c~ip=f%tIOCljs;fuXI1^phoIn+7Pc zG);f0k<`@x^CdHiEjI(E@0&)2D=j63wytjx36};wt8W~IaLeBUUcYmE?7Y$vChS=g zTIY-F2AbcnnK#E^!DvX%d+yu|0YVYe)Dt5wua?3>+2r=ls^5TiA%d-qPC4flgiGk? z!iHCa%N7_xUc!FV-a#g;BNHy6DBClhvo~AIE+7B`&H!rv$TN^(Isry})dY`$buh(RdT4kO?ftx?Dq{t)T`bCy-ZBQ-c9- zV*;TCTA+~3KDSt1&^J(*Ha6A+Zc8P$=`Ab2dkT z?KGNu8YZaQ%YkY35ffji-yc|dns2qTz8jye>4-l4^0^Jx1!Wj2tV}h{p@e{Vp zw{ju^T&oVvG$|y`wQsd6czAf2A@o4j-3U}E26wbWr=~PmpMkIjQY%t&@?fG2O@f4M z4Ek(!V(4DLt-J^5Wi7b;EqvSC+t-=%L0%9y4l#G3OQ7SfK~Q4o8v&)YSL8iOaz!U6 z;5gDjK;K580V?cM5N*I}bE`oo#ugVpcaN}cp#fPji08KqIEudoinH%3C{ezA&QoK} zX?YJXd27-r0hAr*5mFu=!ZhFR!+iIEKD!k=4;7?zcd5`o56tbgHEGY-#5)^u7(lFc zdU~47sh@{F-PzZN(~cLykqXKT&{+&9O1gliYv#xAS+tE1Ose;soScFeLCZje1+quQ zU?u;Y%j$25iHSmjg3E@=nv@CIfcQ)~JUqn4!^=n4dIXY@VsB~NAh7HUc7uB})mYgz zU&L7vpjC?VE)49f#!_yWS^KMc~`+B6-Vow+n%r-QThNn`^rO2*KTE({4IrzTGo>w#`JH6Zi$d0_8+ zx#%%q9egl7opzvYcG(45c~IDF8$ChI%yN0LJbjySCPP5gDJP`?a#`(^i-?XqAe{HD zV*tBq=o6@<>gt$lMNwL_K{6>Em(<|8N9AVpttXONSxG4+?UfeDte>7y2Fa@H>+k*g z1qxvqbinuml`rT?dS2^wd+Jpc^&0H`e2ic`An(g(VqnMFg?BES-y@gx^t=RBfF;-% z&!we1f!!qo8+61)MKhub9!1fLh0W&crzB;A7JsbNK=I~`@(i%Up8z%i#uf?UJvgW$ z#S%bj>5TtmWo<10JU*S64YZvp>FKx1a8TXfr=nU7#b4L(MXntj*u8y==F$p62u=B; z-+O!No;7&+@K>6eShKIx)q#)^?Up28SO7JrNo*QDk3g=ipMv(ez1`3)*p~-S7tZtasS%K`gKG#_^gE!Lo;;8?@5wp`=c)&d zmrxsG-t%%jq@rRv4f65xHqnMEb7fLL#E^zd7ga@l{FsYQtPZXn{9UDN;RlC=@Bb~< z68cN5rQCt;rX5QMgytI?F1J1qMLQJat{_~`hHv4w&!n-Hr@*u-Ln_9Qq*hz_3^XY* z+5c6huDza8q!$sngyl*D(HbS~Gu68qN){1XYA*lYzYFq z#2hpV0yjRL)5eQcLGB17{9yWKfa4bu7LMEK>r>Fb&li3u`S(M&;&xjhadBWm+D&ys zDti7LF_6>)3yRt=`vQ^Tuy0NP=u=`13g|9?Bb1Z?87L{8CH=wrWCbkKHcUI*hw{Tfhv%vj|^>wVLpfu#+>HG;%#1xhQ zx{CF;t06wlqzQCM03u`o71yfIYlr+eAS;x{cp)cCj_&N+yA_Zr;x=X+N(e3k-@fe* zz;_BV2}{wv>F;H2_&fW8{=UT2)QTYt!l0e<001^g5f>LyWH=q9w6swj)h!ZO*v_q0 zRdIw8&L}+_n+vTNu|hUd5GL@XHz)&ggJ^-9?x?;S!(fjHd9@(J5C22@=XE@+D(2Yi zprJ_w|1N}pbHc$T!)IR$ok+1W`hg|3p6IkOF?i~sZpA$u&~F+Vbi9Ajn@ ztY~a-ATIcn@AF_a#)e%dWbUG;y7VH?(Y#%m*l;XSZ;DiNLWoby`>dy6gedV_U9_!& zYQv)US<736UjKC#2nFt}q2ox~IKBFZx|h6yu|GxO8F{u!tQwYW&!$H=vA&44P?~on z`vQc0@**&>eg2X9U(z(1 zvVR2cb85$*gr=)W_5+z;Y*$#lSJvJ7!N;gM+f_m`NuzG+jPmMGQLYICJE}nOA=vaf z&*#QvRCnKNtPDaRR1+c)m3d+?or={OpVuR~MT@hBbeAJ6zqWdh$sxD7G!b;7Xo0d> zmUUiFkJIGhX zSLaq*Xtk{Z?4JBpQrH~q%##jl4!hgrlPGZ zmJb_$!MO|AgeHB%x6xi;94`l9Y15?(r6Ys}r291g{k)9gF5p{2UZsm4r+Xt@qt)+n z%$p}Uwrk^tqPmM?y4Kpdo_d5TXaqTAmsJcxC`8!}gHdV7m+9ki|B&dd#LZ+gi&`>Jks{C?xO0 z;AubU+%vnH!QmrpZzf_gMhHF6@aW`Cd#lq?RB78OV(F7hUvS@Wym|lr%dDqe zt>*hltKBMt=6x&A$uc-G@l*Lbvg#xJamnd)kSoN=j4<8=+MfFE)XkgX{V!3o;S9s+?COzsb{93ABZu>D?1!uK?z0%V zo`zhFChE*9J5idr6}ns4?BSNrx)8C9J<)4}h>y)&x)}=Y_~*#;?Gu_s7V%G2+L+IO z$t1h>j>pfVBs%yV)F*cHQocpXldS!4Fhf2}TT-gv5*uZI#^9>;uU9GXF13F>-Z2%L z+P2RB*T1REv@qpX4!#e0*@bY(poCbn=x8g&GxS8?hx&At1LZ@_6^Pt&=x zABjh`f2)uhLhAQ@}IFqoUMovOD#yYYgDIcz!+}mPD{c>X|6|2k3 z9{T_5)4ld)iBlFIV4F+2v!}}L&F1#&_TJepU$?yHW;=eim68(W^}u?^aHBAGH^A@{ ziqjLjU!quK9KYeF0m_+YSsIv!bHQygoNeVCMSW_>qx>q}gsR*N+BLb24<)>7EWg@Zh8Si$p6ov# zFR$3|iCb$Gn$%~kVw#lj2>dvnWq&hJK2bna7W4GPBcxfhvyjE(0Q%;Vh|fpYRM)U_ z`(6_A>A}N_%S{0yim6jyg`ov$IvVS?55}0vhRyZl;VaExDFa3E@fym6?Vu&gak8l* ze^gzMFT-{`Xy^58=bx^>IX?daee-kX06o$cCox@7>DHF_6p;_1^{l4S8`#K)*ME-` zQ#P#$(~^nEYtCT^{x#%7oEvTK_RUqWYuZ2|-4yKYhpXcsI)?gz(8I?!7WF?jvs-1^ zld3H)-6YT|5c;ofibHgs9`(_@;Vs-Txye~n$0&oDqse}ln-!VZq{%hS=`VslRcNs} z_(M4mp`z+YO`(D_8LIf#*5ZAP6#RU8z2d4D$^&z7p}eB$95I*WzzgDa%z ztJJUiQ8*C!D$Bn5v0b`py{LyD7l#*0O%(&P)5wVme=({yz2GXczjB&Q#^n7)Mk#<0 z7b9X?sN)}1jAaAn;FUxQ*8DYpUZkM&U-KVX9*U!RgLs!ia9u$={+-OD+5XZ^KL2Pn zHeuOsIHFLyaZ-O3%bzY`sDT5K+Wy2VUZQEn?=ar`;fJz%t(0e#?~^uRx=hgF^lWI$ z0=qaCrItTM<}31X6AOQYgT<}w6D<%9Ter5CtE2M}K^PIly=#$uKDIGBJU}C~eRP2o z6y{E<>Y>BDK0G{=E(2T4Qg{VxV0_M#|Bjr^njfirbzrP{Gjkx_i+9mlt`TdP@U7lBi4iY?{D)de?JOAkPS%t1ae-55w;Sa3&?2V z9#P2KJ;umRS}&R-uu2o#q`u%lsQ5YX7HWQ_d2%>hw$h>^PfnWk366O+dQC3f71G_D%PL zH)C)#mnja2!|h>*bsfEPS#=A4$^RNBl&*}_=kGZ#U0HE2EHb~=SaQ28k)y4(K~K33 zh8h+gX2tR6sYn$6BzMc_zR|id)o;E&jy6|oM!S>5F|C19Itmwrp*CSN^mcPUVh^PA zh~Ope7?~XKM>M`~4W{e3|I+nH7UiW&HA~JCnr)K^=U;*! zY(t1xW2BINBkyHhZBWkepvj(d>S!;dMI1tW@@{}58M+mKKPS9U7=UV7v)zC-U|7$n zI-e&ddpoBX8RSEwzuW@&VfnAE(K^mvyDLoRO&4y#T3waGEPeMV-dBVFwMy5>J%Kg3 zuXKb9AL(sN%~ZeLo*-^$LFmz%AP@B3C5SW0PlkC7bi(Y zH-_<$V|;w-rMgr6(RZdMr36e#U%yu6hG9aAuB7{M_|{&0nV>3sE#MhZWWe?HZM~%OahLCf4aZ$H4?HJu9JTfBe zv8l%%a~Meqd+DMS%~kP4vdcD6P-tG@>WrE31u=(_7ajxuN7GL_5n4SxU<*leP-g}lSvLK$`!aUZH;OB&^FmKYR9k^vL|!vk%0@i zulxi})?LRKmkyisgLiklc8Q1VoUg%~!G`JlgF9a&Fpn>Hl?4oCJ5=c>VqqKhNSWE+ zN2@=!Y zXLZJ{DHLvIQwz8DR67|T zjZagGrq?S&N;(kSGf)}P0H!>1ibH9`hq&>gl|ot+aPyHn*@*Br2VaV>DXsHgF0FLy zdC;T~LoJe~h1O;}n3A>9QgYD}fc1 z`C|rVr0AJ;r0z&+jwk;;5h@5OO`pl=-q0gb2ys>X<+TPpJ-N0zr?^{H30Opgt5uo> z6-r{ze0(j<>jp=BgyPu@B8){wZ#T5Uk7)J0`;REK2?+zauXM!5hP2W!#8>uyV7yb6 z4Cx*L3B+feq_t5dns3j8@H%@Q$0riJIYxX}75`9^uJi<_7k)UtxXE*BFZu-fcI+|i1dnlHsv2<#YNFIojTq0yu2`J(viL{Zj+E}|59iksuX0+kkgG|Fg|kX zDL2}B7!>)6nVq_{Z!IJ%2!4U=VK+7sV&kV!5NQFLvUY`3ltEFCjW3(uf-+Alz?===i>eVW-f2M_f z5u;amG8SFcebv^nO8A>v!>U&6_Ypee8hU6UW}Wd&dqzz*I(u~Vt5ftkd)8pbd^m*} ztil(T`%cU-xpq8=+cy=hEb?|R*%-MzX3kHB!m_nauKRH^={h-3bno~5V`eq{LnpO%dSma;Sz$%@LJrZ}8`$rspC;6(hjy*hSw3lsd_ru6O;@)y z%!7&iW_e*6S2?Mz1RU<@GK=+Srtga26~)Le$`MY?V*{6vDK^gbxtW&l_BHrUMrT()Y!cd_POiZQ8 z2%ve#(Mb(<`c7M?nz-g1lU0lgJ@xkwaK8#`w6=2^#_@?+Mi6ixf2fC<{NrLmkC5WHXR4LYChqQTO_r;w7fh&b6+}LCW*z^oL?)fFZWhPBz6|t%4P1OQdtfZ)sTlN?VC9%Wlu85BJL21)tj;c(-;H+L?HVxa~KS%{irGzy1kHmSYdoo~ug# zv|8~sgWK!Z?}?(%-#ccr(hb=VBNRjcIrHB+>{%%Cws`livPgpznsa$wgyEqnh|J(t ztahka=&ndqzM4|4u0L@q&#IN(rF7jbxnlbo8zLRuFd83poRMlto*3GN*5k6hDca!9 zVNCVKrcP+ATz)*#DSs*Ce`2pH26A1)t+nRzek*iq4}Oq#QNoq2_=V~^dctEIj=l8g zhiAxDKFCXsv6D$4PIVf;x$F)o@7wOtcx;C+|6t_Xrh7n1b-LE+w*KB*U~$N5zN8&d z)Uu%UVKs}OTg$9xjKjJV8a4J6caJbVo<;MSd2N;{`^a_)@!T^- z9|19d;cBnUMUwV4hv_Wg@5LyRo4$R8QMg5c>d5zmc4WEt2gcB9s!+PN`H1q|;mJ|3 z3YRP4X(=~Rer=q1dB^;T;gt4SZsh-LjVxS*q�z81|Na@X=SlnUCK_^bc=u<$1A@5V(u?fBgTSJ=3M8r3SUi0-fsaiR5l8syVvqD(w8dGTXiPj_h zXzeKksZq&XzjjXy`l*dh&|!F<_d$C7DZaWXvjoN{OefO+&}qNrxT(%hGW+JX8jrU- z9LXBp>0{Iw(;ffFsjW z;(^35YG*3%pcF9{4jWbNepBAvoKXt#EWa9jr|(Z<`5RS2vVZL}INV^oO!a>!c3NGu z4IxDoZ{IYrl8Wd#hqG8*UH;KYRD>sppP!~ro}15R-_9gTML3+)env3`jmwrZS+^9t0)6~N?+}be& z+&-NIBADg*aAR(0o4_#Haz*!{>TMK!C+w2+;(80a_9QQ<0edC|BLLMUIIEpmu0vI> zod|-uOFnsWe`LX!oL?yuMnh?~h>= zrP(hs0paqK$WPtv6I2=qBqcM9x3G02q$|inMmB)X3r|Xv6=5SyCk`uI=&M-4`m$+P z_7IYB*IM4fhR{?{BqH@RP&a`L3wm83 z5R=g=E3)Ex9>>u_{?po(td@%B{yXc|)jp1!E!MZ}NyW{y(3&m+dha(=wii2<;DE%X zWbAMjh~)j;YXD}MnV%Mt|1z-iLj`?I-zoO+l~)VJ{krUv_~M$DKUc6}Q9I~Gr4MgK z9@B3f&H?cn?%VNoD}(XTN!yrjzqsr{*YSKJ(c4t8`x^Nzx|PD300TK+Q;Nd1*k}C> z>t#5^4LtlX7i^_E?brt5*G-Ryy8(;W;)SQr&$dD4?Yq_F?b7ZgelymcI^p+wMm1na5BQ49mf6Xi7*0vdeRg1#=)WdhPA^adM)hchW)I$il z83_BAY<0*g!+!q836_ul)&jTG+g7O3lh;3;Ogv3Hg%$$am*1+gMVqt1S^KsI3qg1YytSBT>Zvo%-0; zxJX;$#^qHitGj)b=hH{|lJk66@)NwCPp@P`&Y)tGy7yij95zSQdxr1SEQL<&t@)dM zO&Th2!+0AsI(VYyfyc zBGV;NUfk1m7Ql6k3pDg2(`F`Y0-pzoE_p4cnROXKV+sYg2Qob2Uf=zXQ`ISw!_DZP zLA5wE=I_ZNm6UZy5@mT5<0v5<nz!H`c)v_)Yw(5x#s%m zK7=D_Eiul)OXI~hx*d6SaVYovm%Xy1$SsT-8ur_vfC19~|NNPAgSEEu5k0EBnHBv1 P=_m@aDl(s?jQsx}bJe1e From fc4818f2ff72090eed4272d6a4f5d6126bd3f600 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:13:50 -0700 Subject: [PATCH 4/6] TRP->TRQP; fix .yaml links Signed-off-by: Darrell O'Donnell --- diagrams/protocol-bridging.plantuml | 4 +- docs/images/puml/protocol-bridging.png | Bin 50540 -> 50777 bytes spec/annex.md | 14 +++---- spec/foreword.md | 4 +- spec/introduction.md | 22 +++++----- spec/requirements.md | 54 ++++++++++++------------- spec/revision_history.md | 4 ++ spec/terms_and_definitions.md | 2 +- spec/title.md | 2 +- 9 files changed, 55 insertions(+), 51 deletions(-) diff --git a/diagrams/protocol-bridging.plantuml b/diagrams/protocol-bridging.plantuml index 8065329..09c5e8a 100644 --- a/diagrams/protocol-bridging.plantuml +++ b/diagrams/protocol-bridging.plantuml @@ -4,7 +4,7 @@ ' !include C4_Context.puml -title Native and Bridged Support for TRP - Implementer Review Draft +title Native and Bridged Support for TRQP - Implementer Review Draft Person(Integrator, "Integrator", "Ecosystem Developer") @@ -40,7 +40,7 @@ Rel(Bridge, EUTrustedList, "bridges") ' System(OpenDataBridge, "OpenData Bridge") -' Rel(Integrator, OpenDataBridge,"TRP") +' Rel(Integrator, OpenDataBridge,"TRQP") ' Rel(OpenDataBridge,NativeSupport,"ODPS") Rel(Integrator, NativeSupport,"TRQP") diff --git a/docs/images/puml/protocol-bridging.png b/docs/images/puml/protocol-bridging.png index 9095fec5729a22560ee84abfd90ee21397d1ac00..3812df07345071588e2192b7fa1fe42739ef62ae 100644 GIT binary patch delta 42073 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 delta 41873 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 diff --git a/spec/annex.md b/spec/annex.md index e78e3c9..0b27ae8 100644 --- a/spec/annex.md +++ b/spec/annex.md @@ -33,24 +33,24 @@ The OpenAPI Specification (v3.1.0) is the first "concrete" API specification. It is provided as an Open API Specification v3 YAML file. -[OAS (.yaml) for TRP v2](../api/toip-tswg-trustregistryprotocol-v2.yaml). +[OAS (.yaml) for TRQP v2](https://github.com/trustoverip/tswg-trust-registry-protocol/blob/main/api/toip-tswg-trustregistryprotocol-v2.yaml). There are several renderings of the OAS specification: * Inline - this rendering is managed in this repository [Redoc Rendering (static HTML) of specification](./api/redoc-static.html) -* SwaggerHub - this rendering is manually updated from time to time and may be out of date: [SwaggerHub](https://app.swaggerhub.com/apis/CULedger/CULedger.Identity/0.3.1-oas3.1) +* SwaggerHub - this rendering is manually updated from time to time and may be out of date: [SwaggerHub](https://app.swaggerhub.com/apis-docs/continuumloop/trust-over_ip_trust_registry_protocol_res_tful_api_v_2/2.0.0) ## Annex C - Uses and Data Model Reference ### Use of the Trust Registry Protocol. -The TRP is intended to be used in at least two key ways: +The TRQP is intended to be used in at least two key ways: -* Native Support - systems may directly implement access using the TRP. -* Bridged - systems may create access "bridges" that provide TRP access to their systems. +* Native Support - systems may directly implement access using the TRQP. +* Bridged - systems may create access "bridges" that provide TRQP access to their systems. -![C4 Systems Model - showing native TRP support on one system, bridged support to two other systems (e.g. TRAIN and EU Trusted List ARF)](./images/puml/protocol-bridging.png). +![C4 Systems Model - showing native TRQP support on one system, bridged support to two other systems (e.g. TRAIN and EU Trusted List ARF)](./images/puml/protocol-bridging.png). ### Object Model @@ -63,5 +63,5 @@ We provide a high-level object model (NOTE: source of truth is the Swagger as th We will need to provide guides and other thought pieces that explain many aspects of trust registries. A notional (short bullet) list of items could include: * "why do I need a trust registry?" - blog article or position paper to explain why trust registries help. -* "I have the data, but how do I use the TRP?" - paper about how adding TRP to a bridge or native integration. +* "I have the data, but how do I use the TRQP?" - paper about how adding TRQP to a bridge or native integration. * "where do I learn about the governance changes that I have?" \ No newline at end of file diff --git a/spec/foreword.md b/spec/foreword.md index d139ac8..b084859 100644 --- a/spec/foreword.md +++ b/spec/foreword.md @@ -15,9 +15,9 @@ The term [[ref:trust]] is loaded with varied meanings that may conflict. In the A trust registry may provide information that helps the [[ref:consuming party]] in deciding that an entity is [[ref:trustworthy]]. The ToIP Trust Registry Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. -In addition to providing information on its own ecosystem, the Trust Registry Protocol (TRP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. +In addition to providing information on its own ecosystem, the Trust Registry Query Protocol (TRQP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. -The Trust Registry Protocol serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +The Trust Registry Query Protocol serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. ## Foreword This specification is subject to the **OWF Contributor License Agreement 1.0 - Copyright** available at diff --git a/spec/introduction.md b/spec/introduction.md index 6f628e4..0bb9db6 100644 --- a/spec/introduction.md +++ b/spec/introduction.md @@ -16,25 +16,25 @@ We need answers to a simple question: > Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`? -The Trust Registry Protocol (TRP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. +The Trust Registry Quert Protocol (TRQP) serves to provide a simple interface to enable querying of systems of record that provide the information that drives a trust registry. There are a plethora of systems that contain answers that are required to make trust decisions. The protocol is intended to make the communication with any particular system-of-record consistent and simple. It is intentionally simple to allow rapid integration into external systems. -The TRP does not: +The TRQP does not: * create a trust registry - it allows (read-only) access to a system-of-record that has the data needed to generate answers that a trust registry provides. * create new information - the Create, Update, and Delete of CRUD are not supported. Systems-of-record perform the full CRUD operations. The protocol provides a simple and consistent way of retrieving information from a system. - * create nor implement governance - the system-of-record that supports the TRP may have technical ways of doing this, supported by manual operations. Regardless, the TRP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. - * make decisions - the TRP serves up data that are inputs to trust decisions. - * assign Roles or Rights, though a consuming system may take information that is received via the TRP and assign these. + * create nor implement governance - the system-of-record that supports the TRQP may have technical ways of doing this, supported by manual operations. Regardless, the TRQP has no opinion on how governance is implemented - just that the information retrieved complies with the stated EGF. + * make decisions - the TRWP serves up data that are inputs to trust decisions. + * assign Roles or Rights, though a consuming system may take information that is received via the TRQP and assign these. It is most crucial to understand that a Trust Registry does NOT create authority. The authority of a trust registry is an outcome of governance. The purpose of this [[xref: TOIP, ToIP specification]] is to define a standard interoperable protocol for querying a global web of [[xref: TOIP, peer]] [[xref: TOIP, trust registries]], each of which can answer queries about whether a particular [[xref: TOIP, entity]] holds an [[ref:authorization]], in a particular [[xref: TOIP, digital trust ecosystem]] (defined under an [[xref: TOIP, EGF]]), as well as which peer trust registries acknowledge each other. -### Trust Registry Protocol features +### Trust Registry Query Protocol features A core role within the ToIP stack is a [[xref: TOIP, trust registry]]. This is a network service that enables the [[xref:TOIP, governing authority]] for an [[xref: TOIP, EGF]] to share information about their ecosystem. In particular, which [[xref: TOIP, governed parties]] hold which [[ref: authorizations]] under the EGF. -A trust registry protocol thus should provide the following features: +A trust registry query protocol thus should provide the following features: 1. interface to query if a particular [[xref: TOIP, entity]] holds specific [[ref:authorization]] under a defined [[xref: TOIP, EGF]]? - e.g. "Does entity X hold the authorization of `canada.driver.license.issue` under Canadian Driver's license scheme?" @@ -43,11 +43,11 @@ A trust registry protocol thus should provide the following features: ### Read-only query Protocol The primary question (Does `Entity X` have `Authorization Y`, in the context of `Ecosystem Governance Framework Z`) we need an answer to when working in an ecosystem is in itself a simple query. Furthermore, it is read-only query and it doesn't modify any information in a system of record. It just makes data available. -In the web service world the TRP is purely a GET protocol. +In the web service world the TRQP is purely a GET protocol. -Just as important it is to understand what the Trust Registry Protocol does NOT do. The TRP does NOT: -* affect the operations and governance of the systems that support querying using the TRP. -* create, update, or delete data in a system. In web services this means the TRP does to PUT, POST, DELETE, and other non-GET operations. +Just as important it is to understand what the TRQP does NOT do. The TRQP does NOT: +* affect the operations and governance of the systems that support querying using the TRQP. +* create, update, or delete data in a system. In web services this means the TRQP does to PUT, POST, DELETE, and other non-GET operations. As with all layers of the [[xref: TOIP, ToIP stack]], the purpose of a [[xref: TOIP, ToIP specification]] is to enable the technical interoperability necessary to support transitive trust within and between different [[xref: TOIP, trust communities]] implementing the [[xref: TOIP, ToIP stack]]. In this case, the desired interoperability outcome is a common query protocol that works between any number of decentralized peer trust registries operated by independent governing authorities** representing multiple legal and business jurisdictions. diff --git a/spec/requirements.md b/spec/requirements.md index 46c667c..b0c459b 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -112,56 +112,56 @@ Trust Over IP hosts a [Service Profile]() with the following pointer: By implementing service profiles, it enables easier interoperability and discovery of service capabilities for the trust registry being implemented. -### Trust Registry Protocol [TRP-*] +### Trust Registry Protocol [TRQP-*] The authoritative technical specifications for the API calls in the ToIP Trust Registry Protocol V1 are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. **Trust registries** implementing this protocol: -* [TRP-1] MUST maintain the service implementing this protocol at the HTTPS URI specified in the _[Trust Registry Service Property](#trust-registry-service-property)_ section. -* [TRP-2] The system SHOULD support queries that are at a point in time in the past. - * [TRP-2-1] The parameter for the point in time must be named `queryTime`. - * [TRP-2-2] The datetime value provided MUST be formatted per [[spec-norm:RFC3339]] using the UTC (i.e. Z for Zulu) zero offset (e.g. "2018-03-20T09:12:28Z". - * [TRP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must se http error code 405 (Method not allowed). +* [TRQP-1] MUST maintain the service implementing this protocol at the HTTPS URI specified in the _[Trust Registry Service Property](#trust-registry-service-property)_ section. +* [TRQP-2] The system SHOULD support queries that are at a point in time in the past. + * [TRQP-2-1] The parameter for the point in time must be named `queryTime`. + * [TRQP-2-2] The datetime value provided MUST be formatted per [[spec-norm:RFC3339]] using the UTC (i.e. Z for Zulu) zero offset (e.g. "2018-03-20T09:12:28Z". + * [TRQP-2-3] If the system does not support non-current data, and the the `queryTime` parameter is present, the system MUST NOT return entity data and must se http error code 405 (Method not allowed). -* [TRP-3] MUST return responses to queries for the **status value** of a **registry entry** that satisfies one or more of the following sets of query parameters: +* [TRQP-3] MUST return responses to queries for the **status value** of a **registry entry** that satisfies one or more of the following sets of query parameters: - - [TRP-3-1] **Entity Authorization**: Given the `entityDID`, and `authorization` return the status of that registered entity, MUST return exactly one of the following **status values** for a **registry entry** satisfying the query parameters: + - [TRQP-3-1] **Entity Authorization**: Given the `entityDID`, and `authorization` return the status of that registered entity, MUST return exactly one of the following **status values** for a **registry entry** satisfying the query parameters: - `Not Found` + http code 404 - entry not found. - `Current` + http code 200 - authorization for the registered entity is current as of the time of query, or as of the time requested. - `Expired` + http code 200 - authorization has expired (e.g. not renewed after the previous valid registration period) - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - - [TRP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - ii. [TRP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - - [TRP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. + - [TRQP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. + - ii. [TRQP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRQP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. ::: TODO: Align VID and/or DID terminology. ::: -[TRP-4] MUST return responses using the data model specified in the OpenAPI Specification . +[TRQP-4] MUST return responses using the data model specified in the OpenAPI Specification . -[TRP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: - - [TRP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). - - [TRP-5-2] The system must return the **status value** for the entity (per TRP-3-1). - - [TRP-5-3] The system must return exactly two **datetime values** conforming to the following requirements: - - [TRP-5-3-1]The value labels MUST be: +[TRQP-5] For queries returning a **status value** other than `Not Found`, the response MUST return the following values: + - [TRQP-5-1] The system must return the parameter values exactly as supplied in the query (so responses can be stateless). + - [TRQP-5-2] The system must return the **status value** for the entity (per TRP-3-1). + - [TRQP-5-3] The system must return exactly two **datetime values** conforming to the following requirements: + - [TRQP-5-3-1]The value labels MUST be: - i. `AuthorizationStartDate` - ii. `AuthorizationEndDate` - - [TRP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. - - [TRP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - - [TRP-5-3-4] The `AuthorizationEndDate` MUST be either: - - [TRP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` - - [TRP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - - [TRP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - - [TRP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. + - [TRQP-5-3-2] The datetime values MUST be formatted to comply with [[spec-norm:RFC3339]] in the UTC/Z time zone with no offset. + - [TRQP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. + - [TRQP-5-3-4] The `AuthorizationEndDate` MUST be either: + - [TRQP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. + - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRQP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: + - [TRQP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. + - [TRQP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned. ### Anti-Requirements -The following are considered anti-requirements in that they have been considered in the current design of the TRP: +The following are considered anti-requirements in that they have been considered in the current design of the TRQP: * [AR-1] SHALL NOT support query operations for the history of a [[ref: registered entity]]. @@ -169,6 +169,6 @@ The following are considered anti-requirements in that they have been considered * [AR-3]]SHALL NOT support automated rules processing in the protocol. A rules engine can certainly use the protocol. -* [AR-4] Anything other than read-only operations. The TRP is a read-only (RETRIEVE in the CRUD sense) protocol. +* [AR-4] Anything other than read-only operations. The TRQP is a read-only (RETRIEVE in the CRUD sense) protocol. diff --git a/spec/revision_history.md b/spec/revision_history.md index a845266..1786737 100644 --- a/spec/revision_history.md +++ b/spec/revision_history.md @@ -4,3 +4,7 @@ [[This section applies after the specification has been released for a Public Review, including Implementers Public Review]]. ::: +* 2024-06-24 + - changed specification name to add "Query" to the title + - updated beidge diagram to reflect profile need for OIDF + - fixed Swagger links \ No newline at end of file diff --git a/spec/terms_and_definitions.md b/spec/terms_and_definitions.md index cd02125..9d8a956 100644 --- a/spec/terms_and_definitions.md +++ b/spec/terms_and_definitions.md @@ -43,7 +43,7 @@ https://github.com/trustoverip/tswg-trust-registry-protocol/issues/6 ~ A network address, such as an HTTP URL, at which services operate on behalf of a DID subject. (Source: [[spec-norm:DID-CORE]]) [[def: service property]]: -~ in context of: [TRP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] +~ in context of: [TRQP-1] ...MUST publish, in the [[xref: TOIP, DID document]] associated with the **DID** identifying its **EGF**, a [[ref: service property]] specifying the [[ref: service endpoint]] [[def: trust registry, trust registries]]: ~ A registry that serves as an authoritative source for trust graphs or other governed information describing one or more trust communities. A trust registry is typically authorized by a governance framework. (See also: [[xref: TOIP, trust list]]) diff --git a/spec/title.md b/spec/title.md index 50a6e8b..700de4e 100644 --- a/spec/title.md +++ b/spec/title.md @@ -1,4 +1,4 @@ -ToIP Trust Registry Protocol version 2.0 Specification +ToIP Trust Registry QueryProtocol version 2.0 Specification ================== **Specification Status**: v2.0 Implementers Draft From 652ba2c6042842556e4518908e898e5bc9c62702 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:23:50 -0700 Subject: [PATCH 5/6] TRP -> TRQP Signed-off-by: Darrell O'Donnell --- diagrams/highlevel.plantuml | 2 +- spec/annex.md | 2 +- spec/foreword.md | 2 +- spec/requirements.md | 4 ++-- specs.json | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/diagrams/highlevel.plantuml b/diagrams/highlevel.plantuml index 6c6290b..7e134e3 100644 --- a/diagrams/highlevel.plantuml +++ b/diagrams/highlevel.plantuml @@ -2,7 +2,7 @@ -title Trust Over IP Trust Registry Protocol v2 Data Model - Implementer Review Draft +title Trust Over IP Trust Registry Query Protocol v2 Data Model - Implementer Review Draft package EGF { diff --git a/spec/annex.md b/spec/annex.md index 0b27ae8..31e543d 100644 --- a/spec/annex.md +++ b/spec/annex.md @@ -43,7 +43,7 @@ There are several renderings of the OAS specification: ## Annex C - Uses and Data Model Reference -### Use of the Trust Registry Protocol. +### Use of the Trust Registry Query Protocol. The TRQP is intended to be used in at least two key ways: diff --git a/spec/foreword.md b/spec/foreword.md index b084859..08dda49 100644 --- a/spec/foreword.md +++ b/spec/foreword.md @@ -13,7 +13,7 @@ The usefulness of an ecosystem is largely dependant on its ability to assert tru The term [[ref:trust]] is loaded with varied meanings that may conflict. In the context of trust registries we want to be clear what we mean, when we apply the term “trust”. A trust registry does not create trust by itself. The decision for one entity to “trust” another is each party's own decision. The purpose of the trust registry is to provide access to a system of record that contains answers to questions that help drive those trust decisions. A trust registry may provide information that helps the [[ref:consuming party]] in deciding that an entity is [[ref:trustworthy]]. -The ToIP Trust Registry Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. +The ToIP Trust Registry Query Protocol helps ecosystems create the foundation of trust within its governed domain, by providing a common protocol for querying information that helps the consuming party in deciding that an entity is [[ref: trustworthy]]. In addition to providing information on its own ecosystem, the Trust Registry Query Protocol (TRQP) enables creation of a registry of registries. This is done by allowing an ecosystem to assert trust to other trust registries, and thus ecosystems. This can be achieved by allowing a governance entity to assert that consuming parties that rely on the trust registry, may also utilize information from another trust registry for additional assertions. This effectively creates transitive trust across ecosystems to achieve wider reach. diff --git a/spec/requirements.md b/spec/requirements.md index b0c459b..2e3e520 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -112,9 +112,9 @@ Trust Over IP hosts a [Service Profile]() with the following pointer: By implementing service profiles, it enables easier interoperability and discovery of service capabilities for the trust registry being implemented. -### Trust Registry Protocol [TRQP-*] +### Trust Registry Query Protocol [TRQP-*] -The authoritative technical specifications for the API calls in the ToIP Trust Registry Protocol V1 are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. +The authoritative technical specifications for the API calls in the ToIP Trust Registry Query Protocol are specified in Appendix A (OpenAPI YAML file). This section contains a textual description of the **requirements**. **Trust registries** implementing this protocol: diff --git a/specs.json b/specs.json index 0670f85..aa8e554 100644 --- a/specs.json +++ b/specs.json @@ -1,7 +1,7 @@ { "specs": [ { - "title": "ToIP Trust Registry Protocol v2 TF DRAFT", + "title": "ToIP Trust Query Registry Protocol v2 TF DRAFT", "spec_directory": "./spec", "output_path": "./docs", "markdown_paths": [ From 9e9bb719a4e3444122f4a322efd47425a8757590 Mon Sep 17 00:00:00 2001 From: Darrell O'Donnell Date: Mon, 24 Jun 2024 11:46:43 -0700 Subject: [PATCH 6/6] changes per @sloops77 Signed-off-by: Darrell O'Donnell --- spec/requirements.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/spec/requirements.md b/spec/requirements.md index 2e3e520..955fe3e 100644 --- a/spec/requirements.md +++ b/spec/requirements.md @@ -133,8 +133,8 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - `Terminated` + http code 200 - authorization was terminated (e.g. voluntary termination by the **registered entity**) - `Revoked` + http code 200 - authorization was revoked (e.g. involuntary termination by the **governing authority**) - [TRQP-3-2] **Entity Authorizations**: Given only the `entityDID` the system SHOULD return the array of Authorization objects for the entity identified by `entityDID`. - - ii. [TRQP-3-2] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. - - [TRQP-3-2-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. + - [TRQP-3-3] **Recognized Registry:** Given the entityDID the system SHOULD return the list of [[def:trust registries]] that the entity has indicated it is registered in. + - [TRQP-3-3-1] The system MUST NOT return more than one trust registry in the array designated as a [[def: primary registry]]. ::: TODO: @@ -154,7 +154,7 @@ The authoritative technical specifications for the API calls in the ToIP Trust R - [TRQP-5-3-3] The `AuthorizationStartDate` MUST be the date that the **registered entity** authorization began. - [TRQP-5-3-4] The `AuthorizationEndDate` MUST be either: - [TRQP-5-3-4-1] `Null` for an entry whose **status value** is `Current` at the time of the query. - - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked.` + - [TRQP-5-3-4-2] A specific datetime value if the **registered entity** **status value** is `Expired`, `Terminated` or `Revoked`. - [TRQP-5-3-5] If a **registered entity** has multiple entries in the system (representing an authorization history), the value that is active at the time indicated must be returned: - [TRQP-5-3-5-1] when no `queryTime` value is provided the value that is active at time of the query MUST be returned. - [TRQP-5-3-5-2] when a `queryTime` parameter is provided the entry that is active at that time (i.e. indicted by `queryTime`) MUST be returned.