From edaa133cd6bfc573bace93a5eb4a2e96f4ef8702 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 12:26:19 +0000 Subject: [PATCH] Deploy to GitHub pages --- p256/en/.doctrees/defined-terms.doctree | Bin 46145 -> 48336 bytes p256/en/.doctrees/environment.pickle | Bin 82341 -> 94492 bytes p256/en/.doctrees/index.doctree | Bin 34430 -> 34394 bytes p256/en/.doctrees/pid-eaa-data-model.doctree | Bin 254165 -> 264759 bytes p256/en/.doctrees/pid-eaa-issuance.doctree | Bin 408209 -> 410335 bytes p256/en/.doctrees/proximity-flow.doctree | Bin 0 -> 89138 bytes .../.doctrees/relying-party-solution.doctree | Bin 160310 -> 369327 bytes p256/en/.doctrees/remote-flow.doctree | Bin 0 -> 147784 bytes p256/en/.doctrees/trust.doctree | Bin 152287 -> 151993 bytes p256/en/.doctrees/wallet-attestation.doctree | Bin 0 -> 92731 bytes p256/en/.doctrees/wallet-solution.doctree | Bin 74388 -> 75609 bytes ...h-Level-Flow-ITWallet-Presentation-ISO.svg | 1 + .../_images/cross_device_auth_seq_diagram.svg | 3 +- p256/en/_images/verifier_qr_code.svg | 47 +- p256/en/_sources/defined-terms.rst.txt | 13 +- p256/en/_sources/index.rst.txt | 4 +- p256/en/_sources/pid-eaa-data-model.rst.txt | 491 ++-- p256/en/_sources/pid-eaa-issuance.rst.txt | 441 ++-- p256/en/_sources/proximity-flow.rst.txt | 412 ++++ .../_sources/relying-party-solution.rst.txt | 24 +- p256/en/_sources/remote-flow.rst.txt | 731 ++++++ p256/en/_sources/trust.rst.txt | 27 +- p256/en/_sources/wallet-attestation.rst.txt | 351 +++ p256/en/_sources/wallet-solution.rst.txt | 44 +- p256/en/algorithms.html | 76 +- p256/en/backup-restore.html | 76 +- p256/en/contribute.html | 76 +- p256/en/defined-terms.html | 107 +- p256/en/genindex.html | 92 +- p256/en/index.html | 112 +- p256/en/objects.inv | Bin 1230 -> 1327 bytes p256/en/pid-eaa-data-model.html | 568 +++-- p256/en/pid-eaa-issuance.html | 455 ++-- p256/en/proximity-flow.html | 1824 ++++++++++++++ p256/en/pseudonyms.html | 76 +- p256/en/relying-party-solution.html | 1229 +++++++++- p256/en/remote-flow.html | 2135 +++++++++++++++++ p256/en/revocation-lists.html | 76 +- p256/en/search.html | 76 +- p256/en/searchindex.js | 2 +- p256/en/ssi-introduction.html | 76 +- p256/en/standards.html | 76 +- p256/en/trust.html | 105 +- p256/en/wallet-attestation.html | 1918 +++++++++++++++ p256/en/wallet-solution.html | 117 +- p256/it/.doctrees/environment.pickle | Bin 57390 -> 57390 bytes 46 files changed, 10550 insertions(+), 1311 deletions(-) create mode 100644 p256/en/.doctrees/proximity-flow.doctree create mode 100644 p256/en/.doctrees/remote-flow.doctree create mode 100644 p256/en/.doctrees/wallet-attestation.doctree create mode 100644 p256/en/_images/High-Level-Flow-ITWallet-Presentation-ISO.svg create mode 100644 p256/en/_sources/proximity-flow.rst.txt create mode 100644 p256/en/_sources/remote-flow.rst.txt create mode 100644 p256/en/_sources/wallet-attestation.rst.txt create mode 100644 p256/en/proximity-flow.html create mode 100644 p256/en/remote-flow.html create mode 100644 p256/en/wallet-attestation.html diff --git a/p256/en/.doctrees/defined-terms.doctree b/p256/en/.doctrees/defined-terms.doctree index e15a469a95b1fa4b82e581199fb7a7ec6de1fd83..55761ac675204ed29d0e3f0d05f10fb9418d4cb8 100644 GIT binary patch delta 4257 zcmchae^3gqW}5mVv2~_DCelo%X(t(D>!j1PG<|p9-m&-N z5Bo>@2gly~{XF02+2?)UU3ljceDfbz*QXo3`qqT*$qGwcG2hC|tb^Gia?PAm=2?f= zuHWOeFC6kqz#Lcv$0`OqL&u7ojKsG(xn>Q{blC-oV|b^`wTisl&DdBc)5I}0vD+mJ zts?8P^ETGu=w>=Ok#FHiuv_Att&D8v7?-=r!P}U2u3KV+7KWE4rc{#LoM>fAWrmj+ z)*%T@yHn_LG9Fgaq_z6X{J#}tjaXGkQAfOoyuDug;|PF)ThuNs9N6&seyrzPr^A5SmoK&O9{=Cu&y1RNbJjrnVkIVg0l zU4SdR_ldZj9LH31j&5b2D_K$Q4s2Jr1heh$!^hk@(02^@&bBPa*sX`0(roYuqcF^8 z;ZgeapsUumx$PQ)FZPeX&HA-O)9cEGX3hcEbCdCVDy7RMy?+<(ldx-g$gWNE)K#FU zsGZ%C%ylr$Tnq11YO)JmbpA+fyp4CUPBM990F{~KY=T5_rQc*eB|F19o0$%l%sBaB zWYH~=;UpJ!ju+L*7g?LKF_M+pMI3gifLa>k5!|wacXE>IExH}#N^w)CUleRyvs)xf zErLjslOrheWMPGaZ|BHK;Y4XAL+c?IgkoJTa%9vwkTMy`F1Q`dOegE$n^~C@&)V#a zK+MJE62p@d?V)}v8P-i!i8~49$Tw2L-0dmFIJi#Eq4q$nzKJ6x5x?)*?5wj@=^5`N zD;;WL|871+Z#`dUb04C&p0BgH57FB~bzA?p<^~=jAJLiKKxX=`f2PmWH^U7_E{cY# zZVOE9GwJe(90f(4S$I|%`E>LL818u67ColzV#83a&a4wBHT@FM`1>Yhu?QrW1SJQyArY92s7?X z9BqXCJ=ycN5i-gM=CVvQtLB^Ss>2qe@?4r%N;F2*@GMR6C5#^|fRygXmTonYB=r3m zU0GV}4Yas~+HaxuPZEnw)S`f-uT6*O?{C94>R(30#(=2Yfa0GAaXpFnh!Lzki}3(; z>!)tpNkAVB=%sFd?bsQnHi-VKO;`tkr2W7IxZlJKY)rO$Yldf)QYVoQwL=qe&I z0nzVW0QdVyqc#59g`zqC66(K&`d1T+P1K?w2F4HV!8Yo>lL(Cgfq3IDmAy=b$-{bO z63^5p!>_~yG)!hEKDw>P0Q373vBv<9_wPZQd`J8DWAroMKac!Lx9~YqO52$7F{*rw z#K7NsLCIbp(ir=@ECkuKl}y4t7D;PI1{acLu1)+Vt9%1iCA?y zt+8(4Dj#aWW1fCr3B5vC9zQT$|4v(t_z7+FqQ;&k7wc*O4~HFX^GpO z-WHr-Vx$cBQM6Zsf(t^8x1NuO*TI6vDE*9vHZ2V|UNB~X7rd$XClsI1;z^P5k#l8Y0&qy8Gl0YkF|JmWW3`UGr}-&HVb{FrBfo)_0O77l0xGp-+-CXY=6V= zJsaAW1!HMY@*^`^r_$fj(k62x^R1{-MazTG)NpimtOT{GXloE^iG;3zgp(=g2P%Fj z2u};ge|K^VI;El~g3$DERJpysJZDC4sQ7DI96YB&n=wo1JEtt@eU-kUrA^Btn_qk0 zj6PNIKL_C}BICZ(W<2kk>Y<5-qAUKBV9Jb)pFU&848@me@vLxMseNjh4*H)?#(6Y^ zyy@mLJRTmRH0QuMGu}nDdBE~GK}+8FroQgG!N zprpvSoQCTtUZcfL>m#Me!y;t`Eeoe#4z<4hauFV)=us_d+7NC#d1WoWK-qH|HZkO( z-ZTCvOuUkcrzkq9K^K|w!)<%UH{jn=_D&GHF`V5!u^vC5?EN6NAe_yA_1oAqU){vm w`Pxk^3};h)oACEl>dypWyLfc{^;BHA3u4_Qvd(} delta 2966 zcmaLZdr(wW90%~ufn^`r0s-<8mR)pl*F@G45HwerNNQ`ALU}&@7Gs+R@%N*b^#e&7yW^Y)v0Ckug z5N}CTdTz}V$fyA!I-(g-eJ9fa0+ermUqI^+PP3+X~pedgYWvY z$Ozx8k3i1zk2WYEbgcvWH_io_waspPMTMZSssn=S?%*3@s7_KrgH9Z9P5i_YX0_SN z9Ag>6zD0v4NkEyU0zh8qq}($X%;NblmplLfj}}u9Z(Zsnt1aWDt}O)h+qqy%I78-2+}Z znHe_MTKCcPZg+YHN$8^U+(Y9#HZ8(uX#De}c-mE@`MFzDU|{p)urc=-xFFp<#1C|c z@7zNyASu^r%2f%JZZYCVG=3o|{N*Y*kT8Qg-bCP`>^GjU$i%CWin^8#f z4Q&Ouk>+QSTAj1z&Trlp64uMf&#u(F^ZVHRZf8EkZSh83Y{nib_?N3;S#2UdL-UuA z{L{`F$;bH;xLmH1v_0NFaH(7YFVzL2+n~1wcv-H9p?gOdz9xoKJBm@VJ*2%FqX_%< zUAIL3e~<}T#+k$K%;Am{Hreh=n18pCf9#E&8<0O+zDaHiQYMFMV!O{9pCY_d2Kqq_ z-Yx_G{#l^i8!By+(TyvE(LpuHMgpLxUjjS#M&g6i9$;)7?vsIXAP5xuM7%C(P`OWo zM=3qSrSi~P^E3-TKD8?gU#Ipe*TTPD{8%-7H532~-i*fMl;7iWdAMhECd_$Dg?vHR zqs5b+0z17q3&%34w%GjMdSy5{kq4yORn~$%v7hss)NyZCgoZ#kMZQ$ zu>6n$FQhbsOQ#EI#ybjJN@)p~YJ^mGSb^&(-N>a{PfF)|Ej>?fIp-10!PYcdIqXt*Ly+Wcvpdcq7qwGmzN1` zI-)?qkb78*1E1pFWN{OP20_tL1=6uRmdAAy^Tc5V`TAhe7xDOPA%8SH51Ck6#-nqD z^fq~<-G6^7YGQdkkH-u7IeRkN%hK0*G(kw2zZ zBnih;HrvI>J3u~P7<+pp5ig@Q+hto$c}8A5^&BpzY?X^KktxE+;nQh&GqugERrZlr gRlCo+%G#HWCL8%j*!Wm`*$;pA?*Cq7 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 O3E)v+LOl1T$NxWn literal 82341 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 O3AoYJRb2NcM*lyG1BP}0 diff --git a/p256/en/.doctrees/index.doctree b/p256/en/.doctrees/index.doctree index f84f16821e14611dd427b6cb3f074cdc4ab4ce7c..0c59b343aef7ef36d8a31627df3968878c9bad9e 100644 GIT binary patch delta 65 zcmey@!*r{MiKT&cs{clo3>QYp&ABdmjGLFZT63@qhbQLbq?Sy6@2d@CZ`Sg2;A9sn M2TN?O3TM#=0P9&68~^|S delta 101 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 UMQsl0bl->A^i3NJ8rjkR3wmlpjQ{`u literal 254165 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 diff --git a/p256/en/.doctrees/pid-eaa-issuance.doctree b/p256/en/.doctrees/pid-eaa-issuance.doctree index 774cc7235231f43a464a03bf351334f834cdc031..a63823b564ae54c87e56e88931939392fd192a72 100644 GIT binary patch literal 410335 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 z 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%0DJ`jGi+p6d5%pAIcEKEtmvON3%t5b@+8+QB-!eR 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Ν*I}Cv2 zkF*lCa0&2PAP)opt3<*=NIM~pmJNBq_ZIX6Ob{&+ODpas>SOKLXHgdC%;kn-CpB^w z?93jK>3kF41d=xmhV~O;e9gQcg89N&T zBP>EX+SX|z_zCdIp0y|s&yk5S%xWo7#;LA^r%+jtST4_mUxJVf5@m>JpUw}rTkY)^ zaIm(wpM_kpt#ul&gT^wKXDvFZsHEwI42r3!L&GeQ786g|Ar{LbRU4231OkaT7mJZZ zsM$)=SpX~~gis0mSmyR-7zsQWC1i4j7t)%ce{3>8C|$c@L3ToS!v7W*EZ7Bp@PRsV z3Hsb=7+?n&PHf^hhon^^J{phbiwWWfGj{QBBU#yPDz%q%Z1S;^?Ojfu8F zSP3RH^06|1_=Iy4gpaXsMnH6vreVSFmMghMz6&f+9#?-)R9_pbkj;B714eb|r&^mn zLEo&w9G-Q2y_&@<<2%}rKD-ZI8)EyF{uyYm@?BK=4@i|2cb?;TPnd+VS#oSr^<>Qs z$xF|JLcx*JUAI*Q?LKT_w=_})AaA+A4zA`UzB7dwbEN#4fo)r<3|K1rT@eU zxZ)oLxSN0E7kY>8$54$727-Uu(3JS6`s26swMN5E05wOQ_klW(F*F>QI)6%1r#v)o zxjU5yL56@6Cfa=nQo-sbNcn}{lrFX@_0cN`vV-je2=WJ@Pe~iZEpaW?;1UeY(IB4l zr=Mex*GH1Sgj^j%_jbB?$n*3tuf?~wj!#&0U5an&E3sp7cP_-rta8u`F%xH}4K=rF z-w@6cGaKjs1Ln+9*52pjbS-&SndGT2LxiARV&VpZ_L8ACx6XW~S4C4bCl4QhJe+3> zO#iAw8(RHM{PHCxdmPMtvl-(YOS>a?S|fMTzvUozVE{32LVqDGHX{?azd4$TJ3|zw z_aGLy#o=T%cKEo^QtaJKiov&gLPaz>4IQ}~Ys8la!NXpz1F>klWJ-Sxq3dYXyP0Rg zDG?n|y@zF_^XZAS4oipOo**}V`hB$KN796F+)Z^7o=e)qo#z>bTH_MoxKuAfPLh?J zVnsvzl|aOJa`mG8Hf*u4$yKAnc&f)h9F&kK{b5=?Y)i;y9)XxRurnqJ- zEe~Oq9fr30I)J!Glvz_#zI^k|>ihAK1wV}SlPrK1bMr1+g$Dc^thSL^#x$HEQCa$j zu4_A2r(qXWJ9_7oZqX_2w1KZq-9fQ*2Dic^$@u&;3B8A+`f#q0q5? zq>mK>%=Rlay}0$me`3cPJ^W>>WenKLu#Vf?=%Ru;?u2wu_~P}3bhwPCldU5}CX`N_ zr{&3-;ibrb&=qo`<;Hmkm`19&I7LTD7LkV(Zzc{H6{Y8;!J4y#J`4%+PPT-`rlCJR zd~?W+HF7ww$&yFe=9(s<1n~2!n1nXicBTzo<|efRWeG>OrX7f|{A$>NQ00LVp*X4+ zz!>Ij{b5xNq~+(mv|iKlBS1J=eb|$vm5G28RQ*%mG!Z-k`4D3W3S{wFV@(Z<&+0pI ze>Gx!y#(EzNJbsJ?mAXvB%>jeR-eCvRhAh4z{&(a>v8b@^sP^vS_AktFkmTW9vSyJ zqj072azY;F^P)3dNxuudA;lfv)w{8^p*3nk{TqgWUKAKANj$%i+8`>(JTRMKVt1FW~G zK2l{Epv^_rGdw&E5#{13?+$ww8KRlxTUBO|`Fp~hdTfc*@oCyWcB6~m2qIE^!^y^9 zCJ?4g-HsM3S;$a;QRK`*1&DyW(%@Zn`V)`~46C8QSY_2x)*Z_e7{)4LS;opJHIuCH zmOLt7a_Evx-w6nKGj}bap<&p05qzk;-On2(KmSH6nk-MjB6iq(6x4r+d-VmI!W!$yEvs zRS@kSA_WxbVsrrc!U=&%gFaf&nJMI!R-7fUU40y)2M-$8NC>e+TZy&U-Wm&nczHkl z5;~@z!(XN9qn-_snE=fQ3f|0p(9NB*K~Olb5-8?_YAy-!;GXR)dp6466yjxKLBFCz zE1X(%eBp`Lb}C;fS%nnK38vo0w|rc+!AXL)!3LWG3kjGNS^>Wiy7!uU@4BlqjHiv_ z*^dhDUbM@VLOY_B3CxWYayeM#6sn8SukN;#u7IAI0Wa*;TPBr79+~1EUczAzi=H3Z z7JIOUVq5WOv6w>3e5K6ZD#HJO$4O8JaKh8zG5~`e_&Tu|z4XLKbcmoco^n%L=c{$` zs-4==t7p|lELO%}qaR)(Q+>#yP(kS3sS^iChrP1}6TUS^NkRoXYX zeiw51>%AH{Vkz-PuoA<;Y9Ub{W+?JJ0rDAO)I!Dq=uqqpJl?WWBd%8wrUeSz)3rrt zH|N+pK=zyvYiBD(7ZOeq4{~c={VhsWmdA3rdgj&Bs<6xjgcMy<${L=Zuuj|I&G3-p z`^8F(y=tVFxYO8VTF_Vy>3Hz^T;hx81Qq<%Spq*2Lc-?7?WIXMp)p3YtP` zDCCI`ImV(nK#v)V79|=%xib7D5-B7Yu2>QPrhN-sq* zfuxiqHH=r|$jEw)znvZdEEZi0NG{%JV>B@8CSn2-%chG6LE*70VQbjh0J|j_R~4cu zA{>^YpdpJXDl1fql$AgdGCli6ZA_A9cxlV5EW>eRR4G|Yl+6`}Dx{Zy0IX1k0>Qlo zp-Aezkk4QsYYOas4q}2(E@UH`hueB+b65@s+5~z$&l46%N;Sq*vWyss@doS3ULhia z!6LN?#DY8!^h6j4LpFxt8Ilsa5V8ENvI_X1NN4^^Kit+UNkr;zG<}{@lMsosNgQ+2 z`+Q?gJY6o}o+czNYrct0iEN433qm3wQ;cu&rZ^(x_QoiAn_MgjNw5iWJwS3M?TkXT zpb3K0MJ{3WYj?_o_%3H3CSP?5w7=zh#tGpJoJW z{tY89u;z13SR(XH)ZOjhzez*F?mY&~-kKp{Vv}@$`we;;h>$Qx8fo&z2MY;%45%g# zkK-|*qO-qdw+y#dbvqlD+}zTPPZX8I(*KpQXnk(>KLM)md-aW49&&DgxRElcnFfGI zeHJU_-RnKGz zHikvRq*VR6+XgyD>@LQ5$PJz32$mW}ZmA})cyLx&ldSM>Z&^dLhMRzCjFa2V( zjO8!GtH;UKEkb?Z9g3w8A#@D>?2Xj!e)1R|BBC4ueyrXdhR>e4clW1Q2;Mcwd8}nS zfVek<;mDk&17}RGh)!^ay7n@O1o+%(LH_p=95(r^6(LK1F9OTpmaY_;cMG0>I1b@e zfj=v6W%Kw7HM){HI7TwUv0vhGV-Tb_U?%0O|Hc5+ZTjj_bH82*gu!JrqK;;v;J=1}iI3>`8Ift&h)wkST4CaQ17Jdg zCw@1Yn&F9E?x>B=Ea8q6ESm2kDm&b;_(UFpe%9qHMX*67%K}PD7I~G({YOzJJXnO@ zRJ%eMf0Q9B{SSzUlhLBpo`ZnP6`H%jsdAk3&k}Zd&|-VtSTzH2T5x^FV0in0}lFrqnJnO7WM_wW%n@^jm2N2CIXGh(C0A;#Fte5|8*q6pBmJrZ7$H zpB-|1VzWe~c#M;cmKic^%Nd?*N*jVpvYRV1sQTWJ_T(af2d;FTX1au$L`>XL6S!+p zU%~BEeLFIklb=Ss%AkuAsx#0qv96C|>F5QM+^+XOGk>YmB(do}e^_~gP&izGzoijBf>ZSS6 zkz1*wVMwtdrbYOnUtlbcDJD_qA5&Z-3RzI`HOB%~P;t87aj?_|6Mv%lU}6IpuV~`_ zI>E$3(#ShT%j1drgT)iqz#s#P&lBCsfZ{>?qE)aLAbckr$gB<>92m)L*E59TwTS?{ zW=0dE!dRMstBoe^+D{MQ3mr||%$cmhiPP(JoF4%p?5AV&qemPutwFMrKyo^Pwul6N z7gmrC6IAI9{t2y#f8y3MS9okN2|iwhiw6aZSgdRwA+Z#R#Hwl4dBP&LG6gM=Y9R?8 zJy|`h;nn8F3CyMbN~| z?(z?LWzvZ7=7LqejG#M|`0Dy2UwPgQm=u@mJn~F1PPFtt5|R`l4+vfr z6sC#(=NQq~Cto2eKEo&-vI5T~YgoO`?MF{WBitepZNEb(zBMD-#6GhDw_|AXlS8pVnD(@aj( z7b*THV)a8lVQO4Kap@d4<}U3ag6})-DT1#r#_l8rZDjlu!uSC+Ww)VsznXYaW?NcL zbGp+QD5Z@7abQaMO?BSgmi7(9mHD~b6IRAqu5i59dw?qS7@3DxZn&0J{lR&sTk_7& z+y>S#jR69yIUXDb4|X)mgZ{@s`u%Vsr$0b{y@J1z$I@R%KYtK^(Mcg<@U8|p9!yU& z*)XJQ%;}=5zQGY3b2UWqFs=x*M|1=0^wl$H(M*sTg>W?tGP{3NCgB;U@HG*J;rdj` z$xHw$6(MCQG&MuYCSA_H)&C6bXbDD5*n2y~!6+F+B(Oo2n-~(=Aae~5RcvqfQPkVp zxy=`$uodJ7Nmyn(ac?N0+3ES=g)`QRL&c5w(E4Dct8e`!mI4Jmr$)wD1D5rMQbEuY zAeLuiY&V{a<~HrK7Vp>J*WI^%hLSfFZM=%kQW^@DpvWr`M;H&$k?a8=bccIh()9=6 zzs#i);g(cxdP;ucl&(dmU!WyIt&DT3LIOf+b4h!mPUrph%yE2wnta5=C)f4 zhii=R%m)E)szVKukRLVaKqXDlBfl>INeiWg7QvL3W1QIZAYRLRvLP+XMLtoNX7w!l z2UzNHN$`3YzF1^!JPP-ey<3xT!?&J!^5=oWz@i+s~%JAW2khSpsh4GQMTlmW& zcG|Dr%Z3egBBXh?ydNdm`EjfqQcxgJUG2ErL(P}|VKg(+OjBw(cDGWU&3v)P)vQEe zCV80Of%xtOCMVX|pdq}eB zKEEFvXf^R$K}Pk&q8^=7SNc0KiRs-^+w6{!G{`FbL+I!rDU!5`q$16e)IVXk=1Gdp z>O)fMJ4sUP14UBzp9p*jI)SEcl1l$NTW||0ik9b3Q4f2aVl}&I)Rd@_y2z z@S}O=3V7%-#A)ChhOq#B+&g1%xhM%4U>FoIT9@2^SSP-RtWYwx8ovP=2j2=A16h4S z)&@{@BST6*3H3OhP(0~TMIcOp%1T{AV<}lxQKUiQ8`I*Z1l2vH`qa>`QAqkxAI(V8 zlg=aLRGjpfQvobR(rTm(PWAEI}W%R?FUvQdm18HSiRPWiF*~ zd0|yGo^Yl_R3N)cd3iqfNJjAY8m*p89TV>kfL#+g^FYoHdexIlgwhJFUgJ?kyv_on zS}JtODCcQB%3#UQJ#vg2akYU0okJApOz%AWGE#fTI)7vBf^k{&h;=s9KcPOVT*|BW zAf(1O0y;3DUO~`)DU~h!H^lRC4_Q*o@9gY^3z=xHT*+p_xE^-MUph+Ln;o&~$(4m` zsZvk>Zeq6FJJ7#9*EyP*-?DpVmU4YtBfWED7d94G&vg#;T_|Mc(mk8;3%Q*u%h|Qv zQvcNS{KnSBs}~1GI;R$|?C#B$S5_96#}mofD_2J^3`ch7;-e#LcC0TMyVA3yPO@pbS@Gbz0$wbxiK19Iu~2XT`KJqGjn6(>EYsZ*GOzUcXecZuXFBve_Q{vb;E+2yM@97S^T;7k1CZu14e0&c)U7%DJ8H<>~X+3Z<)?bKB9&lUJ|i z&m||4{bM~ngYoW5{S$WIOn)J?R~+u_T^zW&kuR+dS2BCa)#bvKrP9dW#AL27G;^)o zHNKKvx!OIrG#*KHtuE}8b2H;ztGVgu-tbJiE1R93-kIFnnAw=z9qXAWWDCnvH=@aW|McF(-fVO;vUg!IdL^6g9=mvH zZ)A15cXc&CmtUUT-sn$FUn@>tn9X%g4i|eTW)fFc>{xy|lCSipdM*^kJCpgV+t)g0 z<~K`|7k7F$uU+b!I=^zEa4ovFIa1lU7G2#ejKt1w?i6+=RwiTTC(APnt6QCukqd>T zfpd%T%Ok6^$;;!*ojcbuu|&BuF?_95IF}zuWJAk)k)@vbcyC|V#euo`3z6AacR9M& zv$Yx;yc{cB>)amgkF0eimo7zSGu_$3LS|-WAv3yietThOXKpu_nd|L7fB8yrWAJ=F zx3GGCX1i}{eq?!OssG&G)!DhRnX8qN-M(}xezmfYMz;NxJ&@?grR}j|S7z8=$m~XP zg9E9lvD~#Q+lAiJ-t#t137t7=2oxW%ylP?t$TR`qoXl!P(R9PCY z%#IHiN>j0c-icCjr`*?BTFGrqCRY;Y_wpOp&MypJC~s}f6elW!Q)AcC$=)@)9G|f_ zcbAv#v90m)wfW82%wlwTxiU37wN&077}-weR?l5Lzd6-+VPbS5vAB0NS(-SPDR1tL z&c+Ls)s@mj-`Mi(NGjelx^r%DYrK%X*t0Twbu&7Zvo}gztA*jvmFf86d?=kC+uFQx zsWUygc44nmrEjmXm4z&2#3KV@Td-X1L&n>Rrlg~MUhxS!#7GmPeC^*#=Z?zPUiX+% z7vt40rRyekE2t5p0?lXPtG z7RY?abs1umuTkHccv*<<{q#3uIQ@`|6z#R(inh8%^S4~QE`;x6E?S4Yhq)ee{d=q; z{m%$8`Iw8=#XoWRcdGxQy?v1-k%)wPtka_+%l+P&A$VEH5x~3-B|PVn$>kkeA!BoO zI%;+TP>?w?u z;-x7(_K!>{NUpD{8R!XIsr~W54Eg8_#e6v*&u1)IZCizVlc~tlh(IrGqT1KRa-fjK z0d78CN1?qvykloFp{*RA;dgMeUT6cZFkVwjdLyY%d;1vtV@S|BlFxx>E2@Qjs?**s zsTbWaF?I5Rx@e2%G9YY9?GA?=wU+j>b+4H$hl`H9t9B9YK}OPMxc7er0Wde6$ro>E zZ`b&>=Z3$M-0)M38*XLF(C`ybh!!=Hn8PR7fN&&cpQzhT&vLXa zu*^|dZsYDtA{{-D*K!~8BVM`6hrK9HkNM~U7I#89rS&*oYrD_MH*!74B`fK^XAZE2 z7p{*F_2gpVhWq49U^bOdJ?n+#TD}(3l9%J{02*G7pdIU(6h-OGz+>@*2hZ9}=uu@3 zE%ZYAB`>Q?XBVBy8R07ZBe)Mv-OWx$B*9Xr6UU=girg;5T2t~mu<#d5tkjRs`!lq0 z9AxSO3u~z%AFC0mAoPa%m`_~>JScU>CAPS|)D;}|=6a*Z{eFxq8nqK?ghYc=^-E~V z5c&o$;X0(pq=wC@05J#VfG?xU)khIF)lSua5PCw-Cwb);@J@=SK|tUHU1 zQDKTZopCD8=TSbYR6-OD*9h0wksqyWudh4m>`3LWZVXU+xUF3ltb+2$%dL2ww}=zc z2R_M4RnUiY3SNT@K`|n`R5XSPPG=o;nAX=tjJL7G)2Iw&M>nV{kc^j^i>09e!wnlp zH7Z$$$`PKVqlYY7E=>*QQr(vqCals9D!b5&+Gx3q*aCu(mHy(`XF9_AI$?cHVjYWO zwPEaBzJk<17_gWx>{&%9CCK-NVmdUME;?1oA@Ij8ZbR=tAQa*k06>Y45VcTvES0Tf zQ7kaGSx%DZ?CEwkBSitg zPO+U1tT>B=$x22Xr82ZMsgdVjCdxR%6btIL$^E|(K?d?;jHn(Zs1IV(hYK+qcAM1 zE8OV>F~mdrM%XAUV2=(BURcR`aXlYJpAZL=?G|??Yj5^;yi`WQ#PB9G;Yuu=%6BA+ zV670v)r4w$v)Mv?%^@1Q$>uDE03ods3UBXp*HgD}YE%C^%pj7!yCLrbdEhdUCu zC!s_O-)K){a&$9Jo}F8w0!^rwnB&P7!4+_J5@~`tAQR##TzOGGYA0_^URpwNK%2xB zO~m+|=x}}gy|lTKfBD3`%pkfb)}f~LsD#?ey9;g}d2n|#-902aV>FbQOKl*wjA4>; zWU71zg7HZ9sA$8IgALc$X*X46v^8EhXN=G4wb&yvp?PQ zGpuL*T^9U6lQ4ehcJM<`eNxXT*4nE0Oe5sCt2RDUtXc)0xI=#b7*P4fXY$TQ%!eb2 zm-gB;ujmM0`cB4YvLz}B^o0Nz7e?Cu#xQPfPV3_{JtKY{n=KX8?!fB5d$XGnJvKzo zk9olDjDDosw!i3E9fjHV&h>+rw8VksEaBSJ^}|ENz4^6T#69H3vEKH#pczb$#@T$b z<_0LG(*4HGP>=Eq8^t7lHyH@oL=%#1VmXWM+${0br}k#45i7Q*RU(+hpUYPl-L)cE zY>ux89>M1MieTQ^LjW(SO zIs{XchrIa?P_L9XPq>vXgAO&He4KHc$)68<8Tll$KIAs0>ao6$ja8p}1n1JUjB}?P zcf{+p#Ojp@s0?@JM{Zg}twimkwYFepC>C&$zw{?)i;q@)TLy5DrvE*S@yY6YWH{@q zVV-vSQw1$3wXgaWud?Z!?}vIM=8J5li~8?}3TIQ1#OeP?q;Eb7Q{1q8C^q{VzA)}v z2j%uZ033~i$lTmM&mCdhgx?BRL4DAUGEahJue;x?TYupIi~sOV>5|YeaiQ0Y%9Dgd z`F0}52C;ztDo?d2g4J%gKg7t|bM=O=f)N$DFy4M0Q|rBZ!+o`ekjH)fMUtZ5;OS4& zqdvh#4Rj#W0@#6kj60+BAYy5)G6D?3zop*E_tY8z#6r|*;I_lQ9Sc>0S3bFA@)X3( zJ9`)b*sOkbSXz-`houkHO?ol_5`__9oFUP~ck7J+1WSz(K<(dsPT!%1g70Eu;qc+V zy9-uP{HFqprcyxcNe{@}moh_2_|L>DLa1UyBMxBF6oY#+#!17wkvB3iECWwHqH6;4Kr2md&n+0o1 zQ8CW-T>qzqh2e|^&mv+q;IB_O*1o>Jl}hLZdVja!l4k)RHU>=NF9Y(4Ma}oixdsvu*Nk)By+q(7My4J1kbqsnI7NS=h%P02at~)3l(N1Ly!&$`~fQ8>k zC{03P#TtCDx4w>t?G)fa(L3JV4>qagPhYG|gYSBx6{3cE>%peMBZ}lvA`VZH73$j| z=1=DZL(~X)vx{}t(x-Q*Xj4!fBO3?O&(f=cR9QySNaPE`T0_Vd)~iB9jJeK)+xqqJ zE&?z&Ne>?tnF_LC!zk+a?dicmt(-Mc%8%I)@Bzewlp5dzXE@+aGFrBFs3sCB^>8X4 zLXLx>^`&SmqlC(ZrKNf24DTq@w`+7EU6U}f-FN|^F+e8LCJ4rN2#}Y;Z3968#rEON z2U0H-kRpslqA|oshFxFBH;MwBR0M1e2AyOFS=K0J1110xqEeJSK_bWng{^T27?C#OEajP_b&DekflZ(WyxJ(_GpRU*B?)QfF%77yj3CI(B-N%; zWG4_V-?4x@_0$xcSI+0HjVNLpccMr%M^$!7#$nbXBr6Bfg|SGdFUr=}(`BOFdb~!Z zQfRkWxfCX9V>U#rEfMGz{E8P`3Udz)&hC=0 z_fP@#h++*byI4AN`t{acEXAsPFP1-sRr_8nd1tSSCC%!0v6SCQ@3I--^Vt9x6&K6T zFpM7h#nLOKpW4jVoOL|HYWd!EMwC$i_;lxEY_xZOeZalLtiF3EzSDb$57dq9uKODs zKgHgC@doW(XQaj`p!V)!%P&|O6@nBDn{s^*@0$W3&n-$G^|{J5TnD@9DUpWXbdS&h z*6|i8(!4K?dT@>we=|t!ORy~N>>u(V79TsyH?XE=Fzu)1+2PXrZ|VyxXF;buH$8)$ zk>}x9OJLF)GskwlnWJwdIGxbo?C3+1EpGiF)w8+le$7%1H)g0QYk(yD$NWqPVlwhA zCJE_BtNu;vxe4U!OaI<*IX>tzS2(?Z0(0tkuD-6;y1}7Qj=9I;PP<4*5AI0ZXtvQt zo03<)#y#3S(>13y)EQjGNvIj#&H=wuj5f?eyb0cZpAR3XYscXmbv!urBSbXfHOHeq zE7S!2FVWf^?|HugfF#%xBFw-kufLu3u8%-*ZqP)G4|}A6NnUe@31IQiZ+Bkv24_rJoV(1GRs2YluI4R)D$$oh9AV zWxR81Ed9cNHZVa<}DsM{*bSJ5UrQ6!9ou(rEL3^MIRoV8Qz* z!8h-ZZqVj=2wuH;PQlAJuNlF66@quq1B@mvdoN1C>u}Vy%0KKOOCNer%hK)xOs&P# z>oAi0hWDU)Vaz?(Qr^B+`g-BP)FV93MliY8jX5EAX)-2v@6+C7%b}}^#k5vtO1|@` z@gmmaD>VDDUSFZfJGWM7jt9V{5Sr&0E={!GAfc(Y(WuJ6H?JAKD}wJH@BqV2J#{X) z|5*~h%YeFIxbSZEzzGitkO$tRHub@q2nkv)TxGPJ{s$ypll7XaFI-=62^T~ss>f2f z48m0$#XHj11U}&Yd2_wk6}`Uqvh|q^bUJ+>Dm_$>AbC98TlhPKV3>W|O_1-Q$sS4X z;ve^Y(b<%}AwUhT{q*BB>Isa6Bv{C_v!DI|x>k|3VS^IV?4#Tlrl~@{ZXmFQ;zG*% zA7EconUehvq~A*YAM=a4VP@ICr-bJ!OL_^*qYYrv_CZ%rj>du5qr(xn9!VR-l6(d3 zC$MB+fy+C$R^a|yOc>BQ@WTw9CcWGsfva}%H7_}Cn0)h^5x7JZSr0IrL`#0IIs!Ku zOxED)bkG1U4`KI*ShEy%e(oig#BZsYSD4^z|$pXxz;&TMQ=^lU1dYFXZ#-LDm zXmG}Y$Hhg{q3no>4~O?WUh9js`10O~hwAVi@7!A6dkhl>dlO@b(wM z)!*`w7`J|$w1=qtLEuV?%Eqw*pJudFBhXm%0C?biFz+c!K+Mf8hYIoxA?f_nPImO14ony|!U{gzJhO@|A6W4uts1Hs0Ao zwy|l62ECF&(URyp8S=>*D+k=)2iO52+y0JGmr01NmuztZ(8)2EZMRu8Y0yEc}UFJNEaT8^i5xcFW zQD~eJ8q~`s^CZ4j<;CZSkj-#aMcamDk26{`;(rI?|4GIt^;yag|NaxC-;W|2=?~Cf zui&rbvGmu`&mY8JWFNc+b2KLWV1VFv^YK50%=cDef ziyqE)M8c7_3;9xc$SR}~A(2127#0si!};Q78%lVU@j5fK1aH8Qg-7P_0kF~p9lIe^ zFAY)hgHWZ2LKu`%HPP0Fsu@UnP_oy^fABng*!HZ7z%CzBOur(x0E1*zIv5ayMAp&|Ry;D|27g)&(hOpX^pMUz&#PECZ zCp4d*7y9Czof5lz6YrE_*;g8{Z1Sn()77J3k+{A8O7%GEqiqM%wP6?jH>-*?>3m+D1cC17|zMp+$4qE&zXlc@ma_wfEM^)R~4cs z*?1sLZ?IM35|xeQFosrm`_=|{BS~(Gx>rmrd;kMT*X`;cWZS#jEbA1WZJZjiPK^LbYluZ&L{V&kymGn2`@9MosZxO9z%KPbW!LMHY|3Q=TjT>Rd5_os=(jxJ- z%iaXuc9zbJkp`ofyXk%kz8`G>UoGeUOLP4O=l(LXHr40c@zloU-Olby6gX;1j`}Vt)X$IcMa`Y5y`Z8$gCAKFC z34XxYO1;o%@)~{NWB$`vC620!x7gwm5onV zv1Unhkj*TbNHEbsX^z-{tcWCP&FR4=au5QPXU(Z)Gy62YVHZ%J9^FNf z%~Wa2ibpf?N`}`uRi=1aCI$y8#YoV#@)camks6FrpaBKEMkQaNS_eb$;)S{8=~2oZ zsmo8Y60nsr5F(fA-XDeq6wS<3Q295CI*!i7i=ybPS`yWTjgg!{dN#td%oN5`TJl8! zk5ENw=s>KFQefM=aT_V)dLv!d@Z!kCgw8TuLUC4*5wHBKF8i!>CPn??st|=Tq!N_z zX+5hsztNwRrN{FTs^wfu>)Pva*XtTvI)zmFqLfN!te}jd=b_Hm_k!eg0ahw}L29Kv z2Vu?niw^GGfBFCmo@|{cs1HVSuXp+m0LqK}v_2H!(@NMb900bjM=H#lN8Gg%8&?j1 zjW6RneQ*I=13;_dQAl{|codHmWI|FXKcYJk!7k9@8;`;}d&Hx#X?@~R)ORu-g?*ru zr1uBFzmUgYjixsu+}Yzzr4q0YoG}i>nvFE_hczd2zC8dY-12_TYV8qR1JB_QrbmX1 zMuhp3H<~d2V}R`tg!%I~0b#!8%#eHY{2ke~meQXxFTqBp^$)?v0Rt8i#?C}@NYR^w z`mglfY_zy#m#tDcmC0C%JbT~5vjuat8<*X^Og@?@alV1>ixlW_GL5mUyn6+>bTiP= z?G)+xOn-zP8tLrnsnH|DWF6}YTXVQ0TP5;}qZ)b+1~M9~REa0aqZGBe&O?ojrI4pt ze+^YxEN6LP+Sr5wyx9 zj8?@EOtMJw3}>{BG{*2UQ@`z$y%TP0Tf!Z{%V29ny^1K6pXV4H5qJz_VAbfeV3)vtJ!d4Mm|>4{1IBgBsg_J&PN$QS&6Tv$FlQlIHNB-cgCmL$^v-+u94hnhuz6DpV2=+# zTPLkcu>OZ~u;{Y?9)Ls4=rZD~zv9f|6dTor)*niY4k%{!xhBTeYD*v60`sjzb2{`3 z0X9+S&@>sdIX@grF+s5z^vGh&UvYKHnM zZ6i@Uc??mYTrr;+f_f5)(xibKTFESXhLzg4dOC#h@CVwZns9`iLt)<8d+SjSPleYyZN^ZQX0m-?1Q6l`x z*BkX8KsXK(aB}SGuR^`!CeV^K5E`^j4?DftG75uP_KE*o^lX)wy&9E>3@143uU9M3 z$|V#4XO ztn`*AZahuh&j#CPdGMYhvv+->(9*2XfMOkvxr`K&-@#DfM(j;SQ5r;Ax7+&ux>|yh z=zGAVL_N;?0-#EqCkjxd_iDf0Ll<&nahTl+KzW#vtPt+`JtyDnS`aiegx zpxT&NZ*0o>b&1#8ieNbKPQ5Yx=MXY1vq3cmOJ{Eurg~~ybF_nXqPI*7S z5z1)|yoVz+JrX$!kbQ;bPXHypLX&rHtC@)ahTnwH z{ICZYb%mzCR1W4J`ojQvis^J9?Z#noHk=MWcYchX?F%!r{Z929>_Cs{<(qeMGCU6# z!!zB(^sF8KFpezY2llib|2kX^_^pn!A!srICdDAcZX<}4HRbL%)YrzFbV2-%Nf6El zF{|Io9uzE-X@e{T6c^5)ud!Hk_@Q7DE)TW0%YbQm`^_uK8y0gm0Fjkr03%?Y_8-op zEWT&11$$z2c+r~94_g=TWSyS4WbG&dXAokOWAXMVYLD2Q)J6(c58k*0KNyuR$IApU z8n-mCxnaAYl`VlNlXidZQz6SJEXVEO?d{LO)QV1Q}ya)N4{ z!()Qi1^IYBV*&rA0tHKLiCvq!MZ!@Gkj;=rPKt5G|xS`Ux$ zciC!q;Fs$|9zmOoZqxe&jjVi(EK1lyr0IZp4REv9j%>;@9xjxyK8p6*L9`hA&;^9Y z!=^hV>mYj<%iST_dfa&h9_G_Qo<+9%)virdk7iyunG~aQ(djO-Wx~{W1#w zToN+!jySI)<6Ods%Qz;^^$rkP;hFsEBaT<5_c^7#+|?861Q4C6xb1W3jnrn2@7$&} zr*bK(*`~Xx*C*5cIJ;?s--o#|7Of=xBdCusbvN7Rv)Jc5M@w#9!zgaaYUqagi6G17t|HAz-^>?N*SM;)AX0sKMo*jxj19?c z&+q_>2H4YVJcrE-XaJvL`;4ncr<9^WQLm??G2HPC$K}pQ81A7c2HhtbV2Q#uqL%oe zYnSzCUMo1Eh(IpkC?g8pt8{=h9Ay-x$MBl@UO{kjUbDXK*B)TjvbGA{K-yIzgag@( z2>BE9mS#A_-)cI<86Pph=FLO3g`ijh6H>#ar3{yXcsySuPd0J3U%?{DmClauFbedD z1br<3{tN4dds{D)Ka0Tp%xO=zJqRApI4p9)D=O5plB<~>dc&8^#SkBeUHLGYTmE=H zK9{jzef>RyD4Njb@RiGziWCp@rUX|nugE!!Tq7H67DxSsUnm9nilOj&1i^YhfY+Gr z)DkKiguW}q^Vuxo=ET*U32YhJ*4foh&@j$v>?8j_rOj7@TpJm{cl1@HAr6Yu3ZMQs zB!KjQT{%1uw2=BPCUVTOUKd)$B^SlvAGIg zpTr3DG?zLRzJ45Co2~HmxUT^5DDm~D5R0@K%+!Ckqb?NRp=Km34fP!jKqVzjxP3py znwoCkkJr-P%_!SEIOq=mjpU#&yIv?X@%<5obt^KB)rdc1y-a6-^P)q$AXFKefbIQ! zt51U(AX??ep#w$*ICgc_RxuVZ`TB8=KT^k!!#kT7&f^Q?BNm&Mw%9a1nBPIZ=ns^( z@+c+@sQtbkP2IAh_0DgCr6#~pk%HmJp--FhHLdwzLOv- VvHX)XEx&TO}3;p{Z)I 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 ?=&7%%CA%}g7TeCuGS&c_i?mTZ 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 O#O~`=@~H>a)&CDycaK8= literal 0 HcmV?d00001 diff --git a/p256/en/.doctrees/relying-party-solution.doctree b/p256/en/.doctrees/relying-party-solution.doctree index 067f540d6cdb9af62d0fc857b9b1f7033720009e..151b521afee75e5b5f6deb100bed84ca27f338d9 100644 GIT binary patch literal 369327 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 literal 160310 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 HX(#><1@V+` diff --git a/p256/en/.doctrees/remote-flow.doctree b/p256/en/.doctrees/remote-flow.doctree new file mode 100644 index 0000000000000000000000000000000000000000..8831a4f57b10e77d19f59b1ca256b0a93a831824 GIT binary patch literal 147784 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 literal 0 HcmV?d00001 diff --git a/p256/en/.doctrees/trust.doctree b/p256/en/.doctrees/trust.doctree index d69467cffe9c2c4eca5f7ee8d1ae511b2329eef8..c630201b623d82cda2b34699d0e5547c010df3c4 100644 GIT binary patch delta 3351 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ⅅTM~32%a5zxc9)H|Bx*u&7 zy6khs4SHIy=+-e(pY@LJXIh2s8=K&6p9k*N(b_M2NA(X{h3ex?pz0y4@b}i!+V6Tt z_B*XY_K7Bt^&-YVwjR1?U+X!FYD3eOL{U#Rfvz{+*3sFk-jRJntB}2ZY{+)G``R~q zN4CFJ$Ub#!$acFUyW$<$#a1DEqX}faX>Hx+i}J=` z{;*ZJb+igMlz?(u^8LPd+`iW;+}Jk+8w}+gWpdjcxATv94tUO?X-fj0V5|66$Cf}mqT&T0%rI+N;-;)Zt=S6hW*cM~Yy ztVYo|{^x323f|GX(<=1BO`zu>qnv|TcLx5bcMN}|RT%a(fuR!v)l7D$&LryRy`%Rt ztwOK23G^HosLQ8+C+5z;FL=lB^R2?LuL%r$sx{Dhj#b`^Dej1V-8-Ux)G9>#n?UqN zHKLl7OSvQW-@GIDUs{FSttOCj*qEndKK9~t=EQF4C I6{CUwA5@P@hyVZp literal 0 HcmV?d00001 diff --git a/p256/en/.doctrees/wallet-solution.doctree b/p256/en/.doctrees/wallet-solution.doctree index 73e4228fd5acdaad1f0ca9b0d6b5f33e6304d70d..79ed225ae1afb986ddb4716f8fdfe41610145aff 100644 GIT binary patch delta 3912 zcmaKue^66b7RPgL0^w&8Ab|WbiNqjUep4ud2(7hR%d}%#X^VjdOdH<@7z$Y3T`P=J zP0Jgry-#0fXJ9+1#3VVO#g}nD* z`Qzl=oA2kGd(Qn4q|Z#}&zMX@aYs!jO>1glJua`EFt$~AaogH)_BnH3XwlhW{BeCN zG-Cg{PjE@&e(YUm=A&>)3liOnmx+J4TY3 z6!=igevw58Tb>y~@K@}6%#J_U{>Rj|N^hwYFngsyni!omlG$)p`->?=ct~hswVxFV z&7>FgNhMCarl$q}t=o)Se&vGu@nNBnDNY9MDQ8V&Ej-%77uMhq6ykG1M?~h}BP$Ij zy(|q&d!;~@Fom0hif~!Cn2ZiQfk$7;z-M=7f!eAwLOn?nA0N-XgY6?`a911 zQRQQ}qcxAU5?xsT{~G6s?U1%(*naWX=5*dN{D+I#iXZ;$q8su9iDJTYy}biHy#sy; zOU1N;Re`vtI>2BE&yBZ3brS38Dk6*v`a1o=7?lVWO2dg4Ex*fxn}rn)pM^9qOYoA9 z!A{{*WH3adxAW-F1B~Fg@sZ>Owhzx=z6^WtZ>EJACwN zJ3jT@SV^Q+LT8Lhgvw}-Di`WJq3Y3l1km=#NuuK;S361M&!LleK^VhxSEt|E-Q)Fi1`h4+M6j!%sj720j0ZJE=j?s=aC)1jEMs>@oVp~T07ipRBE(sUM)!fNia7UV~c$xm#-s$(L)90|J>8i=Jw? z9t7J#A`sps$5S{!z5O`r&RfsEMBU#|^JltOZ&4#rbA*~7sF|T=f|^UzY^34`sM$)* zqtvuh(?*Rz&GXdkqNX3u-kCDf%prm7^?&@eG~p{OS%@VHu_PguAjE=)Sl|!~8e#!M z!mjYH|Mmdv$Jg&l`;Imj8Q7m-pbIKbA*O+P@zk(l=*{EB&@0Z18KE94hMr+w%-7Uo z#n4UW#cZYvXT>~8Jywj5di~UNlaulDNZKm)Jh9ur&W9gwpWPWhMig62`1I^I$YUdK zS&=bID3rkr<#_&=oJ5z6-PRR0?3(L9O^RY2RaBsQo9s$}Ov^I*n#4*y^5J;M#~bF0 z(K8Cus%CO@3^d6{;vw(oS|~#U3e~5ka&?samo&(b-2jE?kOGaUp*%fAmRBgJBUpjn zR-iwrq5LJFc?x~1K%c0gf<+;ZeA@^PG_FAB)zI=Kpm7s{eo~+xRFK>o2XU(1VJ-K_ z|A+$z*yPbfSdCKCWFLa^=r%bQP4pnF=JFzq+_k9OEsvVP1sgcitYUICD{`iQTRxNk zh0xCBZ7O-DrBI)OF?$mUvzs%68pf?>HYLFW@H&^jrk2a|NsBegEw?6WU4=8}e4wFKj|5aupt?r50eC74tzVeIl~2HEqp zboHLE)-$9Ok3376QqHW=Fl+P-t7pnam`$8{P{Z7#XUN5@fle;((8x>l^26y+4Zr2` zJsNrGqVi06ID?$_W1PVnrfdnuYbVSJ&b+T?sgY)T$1ED1?o~mwR(tE|3n@Xp&Q4GHFsRLiWhc%}4dkPEBZ!{HhbyqkJYcWeGWU_04Y7$L=HVGOAI4Dh{~n i$#1wA-`_j(Pi zsyXL6N6VQs&1Q5)&GjD~E8W4y9%@#Tg61m=H6Pe$X{L70J@UBhp(g(L?Rk7Zzu)hi z-|upoPwJIpdVPKHCip}@C>!!oR`w;q--uqxJx_n~^WHMLLdq4Fr8IEsEKEcd`Jbco zqEHlHu&Q0yvFM90*cv5-38;8_47&8GY+{*akgpYyos~RteOjJtb=d zzYk@XZb$BBV+V_l-ib!;lF^XbsrbrbuPAZU)Hpp-dk9r#D+`NAh1Lin5W z%aXYp(TZ!IS6ZybNv~=@%AvBgf^cXix;rrn#g*?c`440$?8dyEtAhW4uc>@-cu-@y zgzBpc=+&;26Ak{xyfCtI@%5?b4><*j+V?7|<2xrutLqaIit0Qrr`uCi>F_uu&wOcy zvu0_P`!#90W1*+YSxfv?R7a<`>UFwj!T+1^?W*~*7i>TamJCu$`2Lbg&1{bE?WHfw z9Uj~50;M94$4TnwshaO@KWTRjx_8zoXh#2lC{GXOIq4iu6Uoxq>ggNoJ#_$>=$&p)VGusN{TDE)B!r3zfnRPFRn!gFPzt} zXOm4Z8x6d40V?CvJxYE(Vc5g({=_%_0pwz#2;iRs}*_@s%A+jH)s+jeS_a8p&h@i*B8=(@5X54 zz8NMQ7SXbsBh5`TWU$vTb75VrXQ_fMRRdir~}{n3*$GNifPI*NR&He-7Q&`)=y!o+{6UV5#wQtiFYDn65U zR1u}Mof3W!(WADng&U&p_}zg3!+dSOKQF)>U(Wq}eMA7U;^EX-dS-`LB>w9bIwhyO zvc|ET-?hu0eIxpt@;LT{Nh8gPh={lhJKm40943y>*zxvIh=&gu_yGru?+IKVM!>@iY~+Aa zPvG)i1pJYK-*dnLd@u>W8V&=Xje)l~U;+osG{Hm&!^LJugAlw?gdrU*mdKZ<;0Yp0 zFo`h(v`i9*F_~d36fk+7R-Vj}?~Ni~LR@oh(1$Q%7*nWaGWpDKn8V~{T6q>$f$^u)CEBh0&uS*K-& zau|a|{wE)dg@Le}F&}FfJgt9VYpv=JdCTSBxHbeyB^NKVk;c8idpsdH{@o3dWRkm|PA+9?9PLSOR$hmN9TK2h8JxIiN6RBZnESWyrnd;8jVG1bZ2? rhr{G+8TIm}B|{+`XUs7UQ@~+H+F=}AVa!D>(`*NuaKelq*un7+MH-M+ diff --git a/p256/en/_images/High-Level-Flow-ITWallet-Presentation-ISO.svg b/p256/en/_images/High-Level-Flow-ITWallet-Presentation-ISO.svg new file mode 100644 index 000000000..6bcf4030f --- /dev/null +++ b/p256/en/_images/High-Level-Flow-ITWallet-Presentation-ISO.svg @@ -0,0 +1 @@ +User's SmartphoneVerifier's SmartphoneUserUserWallet InstanceWallet InstanceVerifier AppVerifier App1Open the Wallet Instance to present an mDoc CredentialDevice Engagement subphase -over QR-2Generate new ephemeral key pair3Show the QR Code for Device Engagement4Scan the QR Code5Generate newephemeral key pair6Compute session keySession establishment and Communication subphase -over BLE secure channel-7mDoc Request + public key of the Verifier App(Session establishment)8Compute session key9Prompt for consent to share the requested information10Grant consent11Retrieve mDoc from local storage12mDoc Response13Verify Response signatureand check mDoc validity \ No newline at end of file diff --git a/p256/en/_images/cross_device_auth_seq_diagram.svg b/p256/en/_images/cross_device_auth_seq_diagram.svg index dd1984a5d..f495b1d91 100644 --- a/p256/en/_images/cross_device_auth_seq_diagram.svg +++ b/p256/en/_images/cross_device_auth_seq_diagram.svg @@ -1,2 +1 @@ - -User's DevicesUserUserWallet InstanceWallet Instanceuser-agentuser-agentRelying PartyRelying Party1Web Service navigation2Request Protected ResourceUser Authentication (Presentation Phase)3Create Authorization Request(statebound to user-agent cookie)4Create request_uri resource5QRCode OR HTTP Redirect (302) with the request_uri endpointCross Device only6Show the QRCode page7Open the Wallet Instance app, local authentication8Scan QR Code9Extract Request URIfrom QR Code10GET Request Objectby Request URIwith Wallet Instance Attestationas DPoP token11Attest that the Wallet Provideris part of the Federationand the Wallet Instance is not revoked,then evaluate the Wallet capabilities.12Request Object13Attest Relying Party Trust14Verify Relying Party Metadata15Validate JWT Signature16Validate Requested VP(s)17Request for consent18Confirmed19POST Authorization Responsewith vp_token20Evaluate the Verifiable Presentation token21Attest Credential Issuer Trustand Validate JWT Signature22Process the credentialProcess the credential:Check Holder Key Binding and Proof of Possession:- using the public key bound in\n the Credential to verify the VP token.Then Extract the disclosed attributes: \n Check if all the required data are available23Update the User session (cookie updated)24HTTP/1.1 200 OK{"redirect_uri": https url with response_code }Same Device only25Use the redirect_uriCross Device only26QRCode JS: Check authentication state (HTTP request with cookie)27Authentication state given with HTTP codes, untill expired or successful \ No newline at end of file +User's DevicesUserUserWallet InstanceWallet Instanceuser-agentuser-agentRelying PartyRelying Party1Web Service navigation2Request Protected ResourceUser Authentication (Presentation Phase)3Create astatevaluebound to user-agent cookie4Create request_uri resource5QRCode OR HTTP Redirect (302) with client_id, request_uri, stateCross Device only6Show the QRCode page7Open the Wallet Instance app, local authentication8Scan QR Code9Extractclient_idrequest_uriand statefrom the QR Code10evaluates trust with the client_id11requests the signed request object from the request_uri endpoint12signed request objectalt[if request_uri_method is set with POST]13provides Wallet metadata to the request_uri endpoint14evaluates the Wallet tecnical capabilities15updated signed request object16evaluates Relying Party Metadata and policies17Verify signature of the signed Request Object18Validate Requested VP(s)19Request for consent20Confirmed21POST Authorization Responsewith vp_token22Evaluate the Verifiable Presentation token23Validate the Wallet Attestation.Attest the Wallet Provideris part of the Federationand the Wallet Instance is not revoked.24Attest Credential Issuer Trustand Validate JWT Signature25Process the credentialProcess the credential:Check Holder Key Binding and Proof of Possession:- using the public key bound in\n the Credential to verify the VP token. Then Extract the disclosed attributes: \n Check if all the required data are available26Update the User session (cookie updated)27HTTP/1.1 200 OK{"redirect_uri": https url with response_code }Same Device only28Use the redirect_uriCross Device only29QRCode JS: Check authentication state (HTTP request with cookie)30Authentication state given with HTTP codes, untill expired or successful \ No newline at end of file diff --git a/p256/en/_images/verifier_qr_code.svg b/p256/en/_images/verifier_qr_code.svg index 4f83ce3ff..437ad39ca 100644 --- a/p256/en/_images/verifier_qr_code.svg +++ b/p256/en/_images/verifier_qr_code.svg @@ -1,45 +1,2 @@ - - - - - - + + diff --git a/p256/en/_sources/defined-terms.rst.txt b/p256/en/_sources/defined-terms.rst.txt index 6f8e1c0e4..a6004323c 100644 --- a/p256/en/_sources/defined-terms.rst.txt +++ b/p256/en/_sources/defined-terms.rst.txt @@ -29,15 +29,17 @@ Below are the description of acronyms and definitions which are useful for furth - An entity, recognized and accredited by the State, responsible for identifying citizens for the issuance of an Electronic Identity Certificate. * - Electronic Attestation of Identity - Electronic attestation of attributes referring to master data already present in Italian digital identity systems. + * - Digital Credential + - An signed Credential whose integrity can be cryptographically verified using the public keys of its Issuer. It is also known as Credential. * - Federation Authority - A public governance entity that issues guidelines and technical rules, and administers - directly or through its intermediary - Trusted Lists, services, and accreditation processes, the status of participants, and their eligibility evaluation. It also performs oversight functions. * - Wallet Instance - An instance of the Wallet Solution, installed on a personal mobile device and controlled by a specific User who is its sole owner. It is the application that enables citizens to fully and autonomously manage their digital identity and EAAs. * - Wallet Provider - All public and/or private entities, conforming to a technical profile and accredited by the Federation Authority, that provide citizens with an IT Wallet Instance. - * - Wallet Instance Attestation + * - Wallet Attestation - Verifiable Attestation, issued by the Wallet Provider, that proves the security compliace of the Wallet Instance. - * - App Attestation Service + * - Wallet Attestation Service - Device manufacturer service that allows you to certify the authenticity of the mobile app (Wallet Instance). * - Qualified Electronic Attestation of Attributes (QEAA) - A digitally verifiable attestation in electronic form, issued by a QTSP, that substantiates a person's possession of attributes. @@ -45,12 +47,16 @@ Below are the description of acronyms and definitions which are useful for furth - The Electronic Trust Service Provider responsible for the issuing of Qualified Electronic Signature certificates to the User. * - Relying Party - A natural or legal person that implements an authentication system requiring electronic attribute attestation submissions as an authentication mechanism. + * - Verifier + - See Relying Party. * - Trust Attestation - Electronic attestation of an entity's compliance with the national regulatory framework, which is cryptographically verifiable and cannot be repudiated over time by the entity that issued it. A Trust Attestation is always related to a particular Trust Framework. * - Trust Layer - An architectural component that enables IT Wallet system participants to establish trust, in terms of reliability and compliance of all participants with the regulatory framework governing the digital identity system. + * - Trust Model + - System defining how the participants of the ecosystem establish and maintain trust in their interactions. The Trust Model outlines the rules and the procedures for the entities (like users, systems, or applications) should validate each other's identities, authenticate, and establish the level of trust before exchanging information. * - Level of Assurance - - The degree of confidence in the vetting process used to establish the identity of the User and the degree of confidence that the User who presents the credential is the same User to whom the credential was issued. + - The degree of confidence in the vetting process used to establish the identity of the User and the degree of confidence that the User who presents the credential is the same User to whom the Digital Credential was issued. * - Holder Key Binding - Ability of the Holder to prove legitimate possession of the private part, related to the public part attested by a Trusted Third Party. @@ -75,4 +81,3 @@ Acronyms - Application Programming Interface * - **LoA** - Level of Assurance - diff --git a/p256/en/_sources/index.rst.txt b/p256/en/_sources/index.rst.txt index 3761bdc08..a25387a11 100644 --- a/p256/en/_sources/index.rst.txt +++ b/p256/en/_sources/index.rst.txt @@ -27,7 +27,7 @@ This documentation defines the national implementation profile of EUDI Wallet, c - PID/EAA in MDL CBOR format. - PID/EAA in `SD-JWT`_ format. - Wallet Solution general architecture. - - Wallet Instance Attestation. + - Wallet Attestation. - Issuance of PID/EAA according to `OpenID4VCI`_. - Presentation of PID/EAA according to `OpenID4VP`_. - Presentation of pseudonyms according to `SIOPv2`_. @@ -44,7 +44,7 @@ Index of content defined-terms.rst trust.rst wallet-solution.rst - wallet-instance-attestation.rst + wallet-attestation.rst pid-eaa-data-model.rst pid-eaa-issuance.rst relying-party-solution.rst diff --git a/p256/en/_sources/pid-eaa-data-model.rst.txt b/p256/en/_sources/pid-eaa-data-model.rst.txt index de6bf9d36..77d1128ab 100644 --- a/p256/en/_sources/pid-eaa-data-model.rst.txt +++ b/p256/en/_sources/pid-eaa-data-model.rst.txt @@ -12,7 +12,6 @@ The User attributes provided within the Italian PID are the ones listed below: - Current Family Name - Current First Name - Date of Birth - - Place of Birth - Unique Identifier - Taxpayer identification number @@ -75,7 +74,7 @@ The JOSE header contains the following mandatory parameters: - JSON array containing the trust chain that proves the reliability of the issuer of the JWT. - `[OIDC-FED, Section 3.2.1] `_. -The following claims MUST be in the JWT payload and MUST NOT be included in the disclosures, i.e. cannot be selectively disclosed. +The following claims MUST be in the JWT payload. Some of these claims can be disclosed, these are listed in the following tables that specify whether a claim is selectively disclosable [SD] or not [NSD]. .. list-table:: :widths: 20 60 20 @@ -85,31 +84,31 @@ The following claims MUST be in the JWT payload and MUST NOT be included in the - **Description** - **Reference** * - **iss** - - URL string representing the PID/(Q)EAA Issuer unique identifier. + - [NSD].URL string representing the PID/(Q)EAA Issuer unique identifier. - `[RFC7519, Section 4.1.1] `_. * - **sub** - - Thumbprint of the JWK in the ``cnf`` parameter. + - [NSD].Thumbprint of the JWK in the ``cnf`` parameter. - `[RFC7519, Section 4.1.2] `_. * - **jti** - - Unique Token ID identifier of this JWT. It SHOULD be a String in *uuid4* format. + - [NSD].Unique Token ID identifier of this JWT. It SHOULD be a String in *uuid4* format. - `[RFC7519, Section 4.1.7] `_. * - **iat** - - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. + - [SD].UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. - `[RFC7519, Section 4.1.6] `_. * - **exp** - - UNIX Timestamp with the expiry time of the JWT, coded as NumericDate as indicated in :rfc:`7519`. + - [NSD].UNIX Timestamp with the expiry time of the JWT, coded as NumericDate as indicated in :rfc:`7519`. - `[RFC7519, Section 4.1.4] `_. * - **status** - - HTTPS URL where the credential validity status is available. + - [NSD].HTTPS URL where the credential validity status is available. - `[SD-JWT-VC. Section 4.2.2.2] `_. * - **cnf** - - JSON object containing the proof-of-possession key materials. By including a **cnf** (confirmation) claim in a JWT, the issuer of the JWT declares that the Holder is in control of the private key related to the public one defined in the **cnf** parameter. The recipient MUST cryptographically verify that the Holder is in control of that key. + - [NSD].JSON object containing the proof-of-possession key materials. By including a **cnf** (confirmation) claim in a JWT, the issuer of the JWT declares that the Holder is in control of the private key related to the public one defined in the **cnf** parameter. The recipient MUST cryptographically verify that the Holder is in control of that key. - `[RFC7800, Section 3.1] `_. * - **vct** - - Credential type as a string, MUST be set in accordance to the type obtained from the PID/(Q)EAA Issuer metadata. For example, in the case of the PID, it MUST be set to ``PersonIdentificationData``. + - [NSD].Credential type as a string, MUST be set in accordance to the type obtained from the PID/(Q)EAA Issuer metadata. For example, in the case of the PID, it MUST be set to ``PersonIdentificationData``. - `[draft-terbu-sd-jwt-vc-latest. Section Type Claim] `__. * - **verified_claims** - - JSON object containing the following sub-elements: + - [NSD].JSON object containing the following sub-elements: - **verification**; - **claims**. @@ -120,7 +119,7 @@ The following claims MUST be in the JWT payload and MUST NOT be included in the PID/(Q)EAA Verification field ----------------------------- -The ``verification`` claim contains the information regarding the trust framework used by the PID/(Q)EAA Issuer to provide the User attributes (claims). Some of these additional claims MAY be selectively disclosed, these are listed in the following tables that specify whether a claim is selectively disclosable (SD) or not (NSD). +The ``verification`` claim contains the information regarding the trust framework used by the PID/(Q)EAA Issuer to provide the User attributes (claims). The ``verification`` claim is a JSON structure with all the following mandatory sub-claims. @@ -188,33 +187,34 @@ The ``claims`` parameter contains the User attributes with the following mandato * - **family_name** - [SD]. Current Family Name. - `[OpenID Connect Core 1.0, Section 5.1] `_ - * - **birthdate** + * - **birth_date** - [SD]. Date of Birth. - - `[OpenID Connect Core 1.0, Section 5.1] `_ - * - **place_of_birth** - - [SD]. Place of Birth. JSON Object with the following subclaims: - - - **country** - - **locality** - - `[OpenID Connect for Identity Assurance 1.0, Section 4] `_ + - * - **unique_id** - [SD]. Unique citizen identifier (ID ANPR) given by the National Register of the Resident Population (ANPR). It MUST be set according to `ANPR rules `_ - - This specification + - * - **tax_id_code** - [SD]. National tax identification code of natural person as a String format. It MUST be set according to ETSI EN 319 412-1. For example ``TINIT-`` - - This specification + - PID Non-normative Examples -------------------------- -In the following, the non-normative example of a PID. +In the following, the non-normative example of a PID in JSON format. .. code-block:: JSON { - "verified_claims": { + "iss": "https://issuer.example.org", + "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs", + "jti": "urn:uuid:6c5c0a49-b589-431d-bae7-219122a9ec2c", + "iat": 1683000000, + "exp": 1883000000, + "status": "https://pidprovider.example.org/status", + "vct": "PersonIdentificationData", + "verified_claims": { "verification": { "trust_framework": "eidas", "assurance_level": "high", @@ -225,7 +225,8 @@ In the following, the non-normative example of a PID. "type": "https://eudi.wallet.cie.gov.it", "source": { "organization_name": "Ministero dell'Interno", - "organization_id": "m_it", + "organization_id": + "urn:eudi:it:organization_id:ipa_code:m_it", "country_code": "IT" } } @@ -233,15 +234,10 @@ In the following, the non-normative example of a PID. ] }, "claims": { - "unique_id": - "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "unique_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "given_name": "Mario", "family_name": "Rossi", - "birthdate": "1980-01-10", - "place_of_birth": { - "country": "IT", - "locality": "Rome" - }, + "birth_date": "1980-01-10", "tax_id_code": "TINIT-XXXXXXXXXXXXXXXX" } } @@ -265,11 +261,13 @@ The corresponding SD-JWT verson for PID is given by .. code-block:: JSON { - "iss": "https://pidprovider.example.org", - "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs...", + "_sd": [ + "7WG4nT6K26_R3975zcwnVwgoHA7b988_3-vJzbZf6Yc" + ], + "iss": "https://issuer.example.org", + "exp": 1883000000, + "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs", "jti": "urn:uuid:6c5c0a49-b589-431d-bae7-219122a9ec2c", - "iat": 1541493724, - "exp": 1541493724, "status": "https://pidprovider.example.org/status", "cnf": { "jwk": { @@ -281,101 +279,155 @@ The corresponding SD-JWT verson for PID is given by } }, "type": "PersonIdentificationData", + "vct": "PersonIdentificationData", "verified_claims": { "verification": { "_sd": [ - "OGm7ryXgt5Xzlevp-Hu-UTk0a-TxAaPAobqv1pIWMfw" + "gd8gRxKT1hg8ptnvR5fPGhae0VXllDblsiJT9adxiS8" ], "trust_framework": "eidas", "assurance_level": "high" }, "claims": { "_sd": [ - "8JjozBfovMNvQ3HflmPWy4O19Gpxs61FWHjZebU589E", - "BoMGktW1rbikntw8Fzx_BeL4YbAndr6AHsdgpatFCig", - "CFLGzentGNRFngnLVVQVcoAFi05r6RJUX-rdbLdEfew", - "JU_sTaHCngS32X-0ajHrd1-HCLCkpT5YqgcfQme168w", - "VQI-S1mT1Kxfq2o8J9io7xMMX2MIxaG9M9PeJVqrMcA", - "zVdghcmClMVWlUgGsGpSkCPkEHZ4u9oWj1SlIBlCc1o" + "4g9lBt38U1EeTA1zlvvGfFgPPcoe3zmbQ_zSRDgHQaE", + "EYgzJ1hTYWJjhBK2V3b8HV3e_fEf-Udffc5ymY77WtQ", + "IcYHQydT_C3U1IqaJlFicxLlaHTHvElyFZ6Jxia27qQ", + "KxIG8rWXmtR884xTV7eXuHICfPYPw6gFvfr07v-d5oc", + "lXgxEDAuPeUvmkcNGr9FZuqodwFqUT01gJj7xd4yEPA" ] } }, - "_sd_alg": "sha-256" + "_sd_alg": "sha-256", + "cnf": { + "jwk": { + "kty": "EC", + "crv": "P-256", + "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", + "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" + } + } } In the following the disclosure list is given -Claim **evidence**: +**Claim** ``iat``: -- SHA-256 Hash: ``OGm7ryXgt5Xzlevp-Hu-UTk0a-TxAaPAobqv1pIWMfw`` +- SHA-256 Hash: ``7WG4nT6K26_R3975zcwnVwgoHA7b988_3-vJzbZf6Yc`` - Disclosure: - ``WyIyR0xDNDJzS1F2ZUNmR2ZyeU5STjl3IiwgImV2aWRlbmNlIiwgW3sidHlw`` - ``ZSI6ICJlbGVjdHJvbmljX3JlY29yZCIsICJyZWNvcmQiOiB7InR5cGUiOiAi`` - ``ZWlkYXMuaXQuY2llIiwgInNvdXJjZSI6IHsib3JnYW5pemF0aW9uX25hbWUi`` - ``OiAiTWluaXN0ZXJvIGRlbGwnSW50ZXJubyIsICJvcmdhbml6YXRpb25faWQi`` - ``OiAibV9pdCIsICJjb3VudHJ5X2NvZGUiOiAiSVQifX19XV0`` -- Contents: ``["2GLC42sKQveCfGfryNRN9w", "evidence", [{"type":`` - ``"electronic_record", "record": {"type": "https://eudi.wallet.cie.gov.it",`` - ``"source": {"organization_name": "Ministero dell'Interno",`` - ``"organization_id": "m_it", "country_code": "IT"}}}]]`` - -Claim **unique_id**: - -- SHA-256 Hash: ``BoMGktW1rbikntw8Fzx_BeL4YbAndr6AHsdgpatFCig`` + ``WyI1N212eWNUaDV5WkNyS0xaNXhuZlV3IiwgImlhdCIsIDE2ODMwMDAwMDBd`` +- Contents: ``["57mvycTh5yZCrKLZ5xnfUw", "iat", 1683000000]`` + +**Claim** ``source``: + +- SHA-256 Hash: ``ZMHbFH9SeT9CZQaOMVrXDMGWIouzXRKspKp9fDhvJ3I`` - Disclosure: - ``WyJlbHVWNU9nM2dTTklJOEVZbnN4QV9BIiwgInVuaXF1ZV9pZCIsICJ4eHh4`` + ``WyJrdWNyQm1sb19oTWFJRkY1ODVSemFRIiwgInNvdXJjZSIsIHsib3JnYW5p`` + ``emF0aW9uX25hbWUiOiAiTWluaXN0ZXJvIGRlbGwnSW50ZXJubyIsICJvcmdh`` + ``bml6YXRpb25faWQiOiAidXJuOmV1ZGk6aXQ6b3JnYW5pemF0aW9uX2lkOmlw`` + ``YV9jb2RlOm1faXQiLCAiY291bnRyeV9jb2RlIjogIklUIn1d`` +- Contents: + ``["kucrBmlo_hMaIFF585RzaQ", "source", {"organization_name":`` + ``"Ministero dell'Interno", "organization_id":`` + ``"urn:eudi:it:organization_id:ipa_code:m_it", "country_code":`` + ``"IT"}]`` + +**Claim** ``evidence``: + +- SHA-256 Hash: ``gd8gRxKT1hg8ptnvR5fPGhae0VXllDblsiJT9adxiS8`` +- Disclosure: + ``WyJOVE5Sb09pdVZWUnRGNkNFenRkOVp3IiwgImV2aWRlbmNlIiwgW3sidHlw`` + ``ZSI6ICJlbGVjdHJvbmljX3JlY29yZCIsICJyZWNvcmQiOiB7Il9zZCI6IFsi`` + ``Wk1IYkZIOVNlVDlDWlFhT01WclhETUdXSW91elhSS3NwS3A5ZkRodkozSSJd`` + ``LCAidHlwZSI6ICJodHRwczovL2V1ZGkud2FsbGV0LmNpZS5nb3YuaXQifX1d`` + ``XQ`` +- Contents: ``["NTNRoOiuVVRtF6CEztd9Zw", "evidence", [{"type":`` + ``"electronic_record", "record": {"_sd":`` + ``["ZMHbFH9SeT9CZQaOMVrXDMGWIouzXRKspKp9fDhvJ3I"], "type":`` + ``"https://eudi.wallet.cie.gov.it"}}]]`` + +**Claim** ``unique_id``: + +- SHA-256 Hash: ``4g9lBt38U1EeTA1zlvvGfFgPPcoe3zmbQ_zSRDgHQaE`` +- Disclosure: + ``WyJGRFNTUGdnekdCVXdRTEhEU0U2d1FRIiwgInVuaXF1ZV9pZCIsICJ4eHh4`` ``eHh4eC14eHh4LXh4eHgteHh4eC14eHh4eHh4eHh4eHgiXQ`` -- Contents: ``["eluV5Og3gSNII8EYnsxA_A", "unique_id",`` +- Contents: ``["FDSSPggzGBUwQLHDSE6wQQ", "unique_id",`` ``"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]`` -Claim **given_name**: +**Claim** ``given_name``: -- SHA-256 Hash: ``zVdghcmClMVWlUgGsGpSkCPkEHZ4u9oWj1SlIBlCc1o`` +- SHA-256 Hash: ``lXgxEDAuPeUvmkcNGr9FZuqodwFqUT01gJj7xd4yEPA`` - Disclosure: - ``WyI2SWo3dE0tYTVpVlBHYm9TNXRtdlZBIiwgImdpdmVuX25hbWUiLCAiTWFy`` + ``WyJLWjhlNXdWRXREdmIxemlTUEE0RHpBIiwgImdpdmVuX25hbWUiLCAiTWFy`` ``aW8iXQ`` -- Contents: ``["6Ij7tM-a5iVPGboS5tmvVA", "given_name", "Mario"]`` +- Contents: ``["KZ8e5wVEtDvb1ziSPA4DzA", "given_name", "Mario"]`` -Claim **family_name**: +**Claim** ``family_name``: -- SHA-256 Hash: ``VQI-S1mT1Kxfq2o8J9io7xMMX2MIxaG9M9PeJVqrMcA`` +- SHA-256 Hash: ``IcYHQydT_C3U1IqaJlFicxLlaHTHvElyFZ6Jxia27qQ`` - Disclosure: - ``WyJlSThaV205UW5LUHBOUGVOZW5IZGhRIiwgImZhbWlseV9uYW1lIiwgIlJv`` + ``WyJwWjVNUnlPeHBWV1p1SExvSi15alJnIiwgImZhbWlseV9uYW1lIiwgIlJv`` ``c3NpIl0`` -- Contents: ``["eI8ZWm9QnKPpNPeNenHdhQ", "family_name", "Rossi"]`` +- Contents: ``["pZ5MRyOxpVWZuHLoJ-yjRg", "family_name", "Rossi"]`` -Claim **birthdate**: +**Claim** ``birth_date``: -- SHA-256 Hash: ``CFLGzentGNRFngnLVVQVcoAFi05r6RJUX-rdbLdEfew`` +- SHA-256 Hash: ``EYgzJ1hTYWJjhBK2V3b8HV3e_fEf-Udffc5ymY77WtQ`` - Disclosure: - ``WyJRZ19PNjR6cUF4ZTQxMmExMDhpcm9BIiwgImJpcnRoZGF0ZSIsICIxOTgw`` - ``LTAxLTEwIl0`` -- Contents: ``["Qg_O64zqAxe412a108iroA", "birthdate", "1980-01-10"]`` + ``WyJqdFZ1S0NwbjdiVGNIckFnX3NlVWJRIiwgImJpcnRoX2RhdGUiLCAiMTk4`` + ``MC0wMS0xMCJd`` +- Contents: ``["jtVuKCpn7bTcHrAg_seUbQ", "birth_date", "1980-01-10"]`` -Claim **place_of_birth**: +**Claim** ``tax_id_code``: -- SHA-256 Hash: ``JU_sTaHCngS32X-0ajHrd1-HCLCkpT5YqgcfQme168w`` +- SHA-256 Hash: ``KxIG8rWXmtR884xTV7eXuHICfPYPw6gFvfr07v-d5oc`` - Disclosure: - ``WyJBSngtMDk1VlBycFR0TjRRTU9xUk9BIiwgInBsYWNlX29mX2JpcnRoIiwg`` - ``eyJjb3VudHJ5IjogIklUIiwgImxvY2FsaXR5IjogIlJvbWUifV0`` -- Contents: - ``["AJx-095VPrpTtN4QMOqROA", "place_of_birth", {"country":`` - ``"IT", "locality": "Rome"}]`` - -Claim **tax_id_code**: - -- SHA-256 Hash: ``8JjozBfovMNvQ3HflmPWy4O19Gpxs61FWHjZebU589E`` -- Disclosure: - ``WyJQYzMzSk0yTGNoY1VfbEhnZ3ZfdWZRIiwgInRheF9pZF9jb2RlIiwgIlRJ`` + ``WyI0a3NBejZiTVVLeTZadk4xaDhIRHVRIiwgInRheF9pZF9jb2RlIiwgIlRJ`` ``TklULVhYWFhYWFhYWFhYWFhYWFgiXQ`` -- Contents: ``["Pc33JM2LchcU_lHggv_ufQ", "tax_id_code",`` +- Contents: ``["4ksAz6bMUKy6ZvN1h8HDuQ", "tax_id_code",`` ``"TINIT-XXXXXXXXXXXXXXXX"]`` + + The combined format for the PID issuance is given by .. code-block:: - eyJ0eXAiOiJ2YytzZC1qd3QiLCJhbGciOiJSUzUxMiIsImtpZCI6ImQxMjZhNmE4NTZmNzcyNDU2MDQ4NGZhOWRjNTlkMTk1IiwidHJ1c3RfY2hhaW4iOlsiTkVoUmRFUnBZbmxIWTNNNVdsZFdUV1oyYVVobSAuLi4iLCJleUpoYkdjaU9pSlNVekkxTmlJc0ltdHBaQ0k2IC4uLiIsIklrSllkbVp5Ykc1b1FVMTFTRkl3TjJGcVZXMUIgLi4uIl19.eyJpc3MiOiJodHRwczovL3BpZHByb3ZpZGVyLmV4YW1wbGUub3JnIiwic3ViIjoiTnpiTHNYaDh1RENjZDdub1dYRlpBZkhreFpzUkdDOVhzLi4uIiwianRpIjoidXJuOnV1aWQ6NmM1YzBhNDktYjU4OS00MzFkLWJhZTctMjE5MTIyYTllYzJjIiwiaWF0IjoxNTQxNDkzNzI0LCJleHAiOjE1NDE0OTM3MjQsInN0YXR1cyI6Imh0dHBzOi8vcGlkcHJvdmlkZXIuZXhhbXBsZS5vcmcvc3RhdHVzIiwiY25mIjp7Imp3ayI6eyJrdHkiOiJSU0EiLCJ1c2UiOiJzaWciLCJuIjoiMVRhLXNFIOKApiIsImUiOiJBUUFCIiwia2lkIjoiWWhORlMzWW5DOXRqaUNhaXZoV0xWVUozQXh3R0d6Xzk4dVJGYXFNRUVzIn19LCJ0eXBlIjoiUGVyc29uSWRlbnRpZmljYXRpb25EYXRhIiwidmVyaWZpZWRfY2xhaW1zIjp7InZlcmlmaWNhdGlvbiI6eyJfc2QiOlsiT0dtN3J5WGd0NVh6bGV2cC1IdS1VVGswYS1UeEFhUEFvYnF2MXBJV01mdyJdLCJ0cnVzdF9mcmFtZXdvcmsiOiJlaWRhcyIsImFzc3VyYW5jZV9sZXZlbCI6ImhpZ2gifSwiY2xhaW1zIjp7Il9zZCI6WyI4SmpvekJmb3ZNTnZRM0hmbG1QV3k0TzE5R3B4czYxRldIalplYlU1ODlFIiwiQm9NR2t0VzFyYmlrbnR3OEZ6eF9CZUw0WWJBbmRyNkFIc2RncGF0RkNpZyIsIkNGTEd6ZW50R05SRm5nbkxWVlFWY29BRmkwNXI2UkpVWC1yZGJMZEVmZXciLCJKVV9zVGFIQ25nUzMyWC0wYWpIcmQxLUhDTENrcFQ1WXFnY2ZRbWUxNjh3IiwiVlFJLVMxbVQxS3hmcTJvOEo5aW83eE1NWDJNSXhhRzlNOVBlSlZxck1jQSIsInpWZGdoY21DbE1WV2xVZ0dzR3BTa0NQa0VIWjR1OW9XajFTbElCbENjMW8iXX19LCJfc2RfYWxnIjoic2hhLTI1NiJ9.WzEiFaOjnobQisjTQ92JtKEXRN-2Sgvjklpu4IdC_cT2T6Tm8Z6sqbVy6n94AAEv-HFSv5JoSt6YjPDnGzOxN_W_131rILU8YaiNt8w31nRGIvHjJIC0w-hHIcG1LmvJshSMcT3RHeApRCmsO7xkHWmUsjt37dOzEagEti5i47hnZAbu7vWXsvUlBNNN8v7tJBLspO2Q0vnWhEDX1hQ7IH1b8oKh-_aQrhwVm9Bcs9CG8o6N9iqubCSpFI6Gty4ZZgHEb95knETVhw8IL10Z9P_Hr9twXZQaCCC8xrNh4afwR9TiDQzTr92m7luyvDfmzVgHCponI7VBhqmRqZVYQyDhq6EJbtRtIsYenla5NSKBjV8Etdlec94vJAHZNzue9aNUQeXae55V5m5O9wLoWhgV2vl4xV5C-N5s5Uzs08GAxo-CUaNOD3BQE9vfrT47IBCm4hUCnvDise_aWNCeKOQABV1J9_tV9lWZsECVuUuWWwELHCUXgdyiA3QtUtXz + eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImV4YW1wbGUrc2Qtand0In0.eyJfc2QiOiBb + IjdXRzRuVDZLMjZfUjM5NzV6Y3duVndnb0hBN2I5ODhfMy12SnpiWmY2WWMiXSwgImlz + cyI6ICJodHRwczovL3BpZHByb3ZpZGVyLmV4YW1wbGUub3JnIiwgImV4cCI6IDE4ODMw + MDAwMDAsICJzdWIiOiAiTnpiTHNYaDh1RENjZDdub1dYRlpBZkhreFpzUkdDOVhzIiwg + Imp0aSI6ICJ1cm46dXVpZDo2YzVjMGE0OS1iNTg5LTQzMWQtYmFlNy0yMTkxMjJhOWVj + MmMiLCAic3RhdHVzIjogImh0dHBzOi8vcGlkcHJvdmlkZXIuZXhhbXBsZS5vcmcvc3Rh + dHVzIiwgInZjdCI6ICJQaWRJZGVudGlmaWNhdGlvbkRhdGEiLCAidmVyaWZpZWRfY2xh + aW1zIjogeyJ2ZXJpZmljYXRpb24iOiB7Il9zZCI6IFsiZ2Q4Z1J4S1QxaGc4cHRudlI1 + ZlBHaGFlMFZYbGxEYmxzaUpUOWFkeGlTOCJdLCAidHJ1c3RfZnJhbWV3b3JrIjogImVp + ZGFzIiwgImFzc3VyYW5jZV9sZXZlbCI6ICJoaWdoIn0sICJjbGFpbXMiOiB7Il9zZCI6 + IFsiNGc5bEJ0MzhVMUVlVEExemx2dkdmRmdQUGNvZTN6bWJRX3pTUkRnSFFhRSIsICJF + WWd6SjFoVFlXSmpoQksyVjNiOEhWM2VfZkVmLVVkZmZjNXltWTc3V3RRIiwgIkljWUhR + eWRUX0MzVTFJcWFKbEZpY3hMbGFIVEh2RWx5Rlo2SnhpYTI3cVEiLCAiS3hJRzhyV1ht + dFI4ODR4VFY3ZVh1SElDZlBZUHc2Z0Z2ZnIwN3YtZDVvYyIsICJsWGd4RURBdVBlVXZt + a2NOR3I5Rlp1cW9kd0ZxVVQwMWdKajd4ZDR5RVBBIl19fSwgIl9zZF9hbGciOiAic2hh + LTI1NiIsICJjbmYiOiB7Imp3ayI6IHsia3R5IjogIkVDIiwgImNydiI6ICJQLTI1NiIs + ICJ4IjogIlRDQUVSMTladnUzT0hGNGo0VzR2ZlNWb0hJUDFJTGlsRGxzN3ZDZUdlbWMi + LCAieSI6ICJaeGppV1diWk1RR0hWV0tWUTRoYlNJaXJzVmZ1ZWNDRTZ0NGpUOUYySFpR + In19fQ.1xdAqLpgMM0bBDQrYv0thRwtgRikZq75JJVhGyfWAsu8SopmhumzsTA4ohJKC + le1MV3UB6DYMFkEnoal8R1Yrw~WyI1N212eWNUaDV5WkNyS0xaNXhuZlV3IiwgImlhdC + IsIDE2ODMwMDAwMDBd~WyJrdWNyQm1sb19oTWFJRkY1ODVSemFRIiwgInNvdXJjZSIsI + Hsib3JnYW5pemF0aW9uX25hbWUiOiAiTWluaXN0ZXJvIGRlbGwnSW50ZXJubyIsICJvc + mdhbml6YXRpb25faWQiOiAidXJuOmV1ZGk6aXQ6b3JnYW5pemF0aW9uX2lkOmlwYV9jb + 2RlOm1faXQiLCAiY291bnRyeV9jb2RlIjogIklUIn1d~WyJOVE5Sb09pdVZWUnRGNkNF + enRkOVp3IiwgImV2aWRlbmNlIiwgW3sidHlwZSI6ICJlbGVjdHJvbmljX3JlY29yZCIs + ICJyZWNvcmQiOiB7Il9zZCI6IFsiWk1IYkZIOVNlVDlDWlFhT01WclhETUdXSW91elhS + S3NwS3A5ZkRodkozSSJdLCAidHlwZSI6ICJodHRwczovL2V1ZGkud2FsbGV0LmNpZS5n + b3YuaXQifX1dXQ~WyJGRFNTUGdnekdCVXdRTEhEU0U2d1FRIiwgInVuaXF1ZV9pZCIsI + CJ4eHh4eHh4eC14eHh4LXh4eHgteHh4eC14eHh4eHh4eHh4eHgiXQ~WyJLWjhlNXdWRX + REdmIxemlTUEE0RHpBIiwgImdpdmVuX25hbWUiLCAiTWFyaW8iXQ~WyJwWjVNUnlPeHB + WV1p1SExvSi15alJnIiwgImZhbWlseV9uYW1lIiwgIlJvc3NpIl0~WyJqdFZ1S0Nwbjd + iVGNIckFnX3NlVWJRIiwgImJpcnRoX2RhdGUiLCAiMTk4MC0wMS0xMCJd~WyJXRGtkNk + pzTmhERnZMUDRzMWhRZHlBIiwgInRheF9pZF9jb2RlIiwgIlRJTklULVhYWFhYWFhYWF + hYWFhYWFgiXQ~ (Q)EAA Non-normative examples ----------------------------- @@ -385,7 +437,14 @@ In the following, we provide a non-normative example of (Q)EAA in JSON. .. code-block:: JSON { - "verified_claims": { + "iss": "https://issuer.example.org", + "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs", + "jti": "urn:uuid:6c5c0a49-b589-431d-bae7-219122a9ec2c", + "iat": 1683000000, + "exp": 1883000000, + "status": "https://issuer.example.org/status", + "vct": "DisabilityCard", + "verified_claims": { "verification": { "trust_framework": "eidas", "assurance_level": "high", @@ -395,8 +454,9 @@ In the following, we provide a non-normative example of (Q)EAA in JSON. "record": { "type": "https://eudi.wallet.pdnd.gov.it", "source": { - "organization_name": "Ragioneria Generale dello Stato", - "organization_id": "urn:eudi:it:organization_id:ipa_code:QLHCFC", + "organization_name": "Istituto Nazionale della Previdenza Sociale", + "organization_id": + "urn:eudi:it:organization_id:ipa_code:inps", "country_code": "IT" } } @@ -404,14 +464,13 @@ In the following, we provide a non-normative example of (Q)EAA in JSON. ] }, "claims": { + "document_number": "XXXXXXXXXX", "given_name": "Mario", "family_name": "Rossi", - "birthdate": "1980-01-10", - "place_of_birth": { - "country": "IT", - "locality": "Rome" - }, - "tax_id_code": "TINIT-XXXXXXXXXXXXXXXX" + "birth_date": "1980-01-10", + "expiry_date": "2024-01-01", + "tax_id_code": "TINIT-XXXXXXXXXXXXXXXX", + "constant_attendance_allowance": true } } } @@ -434,11 +493,13 @@ The corresponding SD-JWT for the previous data is represented as follow, as deco .. code-block:: JSON { + "_sd": [ + "7WG4nT6K26_R3975zcwnVwgoHA7b988_3-vJzbZf6Yc" + ], "iss": "https://issuer.example.org", - "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs...", + "exp": 1883000000, + "sub": "NzbLsXh8uDCcd7noWXFZAfHkxZsRGC9Xs", "jti": "urn:uuid:6c5c0a49-b589-431d-bae7-219122a9ec2c", - "iat": 1541493724, - "exp": 1541493724, "status": "https://issuer.example.org/status", "cnf": { "jwk": { @@ -450,89 +511,181 @@ The corresponding SD-JWT for the previous data is represented as follow, as deco } }, "type": "HealthInsuranceData", + "vct": "DisabilityCard", "verified_claims": { "verification": { "_sd": [ - "2jIR18gfeASHYGB27s7sS3S_iQ4xxFIxCRyiohrBfns" + "sTskq0yFy31ZH3YP2nN_nFnd7H9q18dU3oEa1DC5LRc" ], "trust_framework": "eidas", "assurance_level": "high" }, "claims": { "_sd": [ - "1iztq7bov64xTYbDkWFc44_VjWe029hZqXeUIloqUN4", - "ENNo31jfzFp8Y2DW0R-fIMeWwe7ELGvGoHMwMBpu14E", - "FV2CDNWuTqTgOHaftvVaumBF0OlmnyxMswyf4uIxrhY", - "dZWjq7mJSSX-XTI_HWuE8B2x6IdM5lE-doD_yBpKJao", - "gHYi19frbD_i4BoaWENOjc3lCnMj4pbGNQcsBj_QM4Q" + "3humFjiCYHdHzjL-OEd1vKnQa10ivaYEd1dCCkfRuaA", + "EYgzJ1hTYWJjhBK2V3b8HV3e_fEf-Udffc5ymY77WtQ", + "F90SKK9nIQcHIElkHY_ult_9FGqYe-RydvY3E0qR96s", + "IcYHQydT_C3U1IqaJlFicxLlaHTHvElyFZ6Jxia27qQ", + "dfrmUvonZDgealZCGwk3ufmc_4ept3y9N7xhWZlCyxo", + "ji86HS1v3D41tU5JqW4oWCwTJDuTUwp1ewqoCUzzEXk", + "lXgxEDAuPeUvmkcNGr9FZuqodwFqUT01gJj7xd4yEPA" ] } }, - "_sd_alg": "sha-256" + "_sd_alg": "sha-256", + "cnf": { + "jwk": { + "kty": "EC", + "crv": "P-256", + "x": "TCAER19Zvu3OHF4j4W4vfSVoHIP1ILilDls7vCeGemc", + "y": "ZxjiWWbZMQGHVWKVQ4hbSIirsVfuecCE6t4jT9F2HZQ" + } + } } In the following the disclosure list is given: -Claim **evidence**: +**Claim** ``iat``: + +- SHA-256 Hash: ``7WG4nT6K26_R3975zcwnVwgoHA7b988_3-vJzbZf6Yc`` +- Disclosure: + ``WyI1N212eWNUaDV5WkNyS0xaNXhuZlV3IiwgImlhdCIsIDE2ODMwMDAwMDBd`` +- Contents: ``["57mvycTh5yZCrKLZ5xnfUw", "iat", 1683000000]`` + +**Claim** ``source``: + +- SHA-256 Hash: ``qfuzrQuGcbBBKaE4Q9eqVCSznzJ2rNndLG8q606RLsM`` +- Disclosure: + ``WyJrdWNyQm1sb19oTWFJRkY1ODVSemFRIiwgInNvdXJjZSIsIHsib3JnYW5p`` + ``emF0aW9uX25hbWUiOiAiSXN0aXR1dG8gTmF6aW9uYWxlIGRlbGxhIFByZXZp`` + ``ZGVuemEgU29jaWFsZSIsICJvcmdhbml6YXRpb25faWQiOiAidXJuOmV1ZGk6`` + ``aXQ6b3JnYW5pemF0aW9uX2lkOmlwYV9jb2RlOmlucHMiLCAiY291bnRyeV9j`` + ``b2RlIjogIklUIn1d`` +- Contents: + ``["kucrBmlo_hMaIFF585RzaQ", "source", {"organization_name":`` + ``"Istituto Nazionale della Previdenza Sociale",`` + ``"organization_id":`` + ``"urn:eudi:it:organization_id:ipa_code:inps", "country_code":`` + ``"IT"}]`` + +**Claim** ``evidence``: -- SHA-256 Hash: ``2jIR18gfeASHYGB27s7sS3S_iQ4xxFIxCRyiohrBfns`` +- SHA-256 Hash: ``sTskq0yFy31ZH3YP2nN_nFnd7H9q18dU3oEa1DC5LRc`` - Disclosure: - ``WyIyR0xDNDJzS1F2ZUNmR2ZyeU5STjl3IiwgImV2aWRlbmNlIiwgW3sidHlw`` - ``ZSI6ICJlbGVjdHJvbmljX3JlY29yZCIsICJyZWNvcmQiOiB7InR5cGUiOiAi`` - ``ZWlkYXMuaXQucGRuZCIsICJzb3VyY2UiOiB7Im9yZ2FuaXphdGlvbl9uYW1l`` - ``IjogIlJhZ2lvbmVyaWEgR2VuZXJhbGUgZGVsbG8gU3RhdG8iLCAib3JnYW5p`` - ``emF0aW9uX2lkIjogIlFMSENGQyIsICJjb3VudHJ5X2NvZGUiOiAiSVQifX19`` + ``WyJOVE5Sb09pdVZWUnRGNkNFenRkOVp3IiwgImV2aWRlbmNlIiwgW3sidHlw`` + ``ZSI6ICJlbGVjdHJvbmljX3JlY29yZCIsICJyZWNvcmQiOiB7Il9zZCI6IFsi`` + ``cWZ1enJRdUdjYkJCS2FFNFE5ZXFWQ1N6bnpKMnJObmRMRzhxNjA2UkxzTSJd`` + ``LCAidHlwZSI6ICJodHRwczovL2V1ZGkud2FsbGV0LnBkbmQuZ292Lml0In19`` ``XV0`` -- Contents: ``["2GLC42sKQveCfGfryNRN9w", "evidence", [{"type":`` - ``"electronic_record", "record": {"type": "https://eudi.wallet.pdnd.gov.it",`` - ``"source": {"organization_name": "Ragioneria Generale dello Stato",`` - ``"organization_id": "QLHCFC", "country_code":"IT"}}}]]`` +- Contents: ``["NTNRoOiuVVRtF6CEztd9Zw", "evidence", [{"type":`` + ``"electronic_record", "record": {"_sd":`` + ``["qfuzrQuGcbBBKaE4Q9eqVCSznzJ2rNndLG8q606RLsM"], "type":`` + ``"https://eudi.wallet.pdnd.gov.it"}}]]`` -Claim **given_name**: +**Claim** ``document_number``: -- SHA-256 Hash: ``gHYi19frbD_i4BoaWENOjc3lCnMj4pbGNQcsBj_QM4Q`` +- SHA-256 Hash: ``3humFjiCYHdHzjL-OEd1vKnQa10ivaYEd1dCCkfRuaA`` - Disclosure: - ``WyJlbHVWNU9nM2dTTklJOEVZbnN4QV9BIiwgImdpdmVuX25hbWUiLCAiTWFyaW8iXQ`` -- Contents: ``["eluV5Og3gSNII8EYnsxA_A", "given_name", "Mario"]`` + ``WyJGRFNTUGdnekdCVXdRTEhEU0U2d1FRIiwgImRvY3VtZW50X251bWJlciIs`` + ``ICJYWFhYWFhYWFhYIl0`` +- Contents: + ``["FDSSPggzGBUwQLHDSE6wQQ", "document_number", "XXXXXXXXXX"]`` -Claim **family_name**: +**Claim** ``given_name``: -- SHA-256 Hash: ``dZWjq7mJSSX-XTI_HWuE8B2x6IdM5lE-doD_yBpKJao`` +- SHA-256 Hash: ``lXgxEDAuPeUvmkcNGr9FZuqodwFqUT01gJj7xd4yEPA`` - Disclosure: - ``WyI2SWo3dE0tYTVpVlBHYm9TNXRtdlZBIiwgImZhbWlseV9uYW1lIiwgIlJvc3NpIl0`` -- Contents: ``["6Ij7tM-a5iVPGboS5tmvVA", "family_name", "Rossi"]`` + ``WyJLWjhlNXdWRXREdmIxemlTUEE0RHpBIiwgImdpdmVuX25hbWUiLCAiTWFy`` + ``aW8iXQ`` +- Contents: ``["KZ8e5wVEtDvb1ziSPA4DzA", "given_name", "Mario"]`` -Claim **birthdate**: +**Claim** ``family_name``: -- SHA-256 Hash: ``FV2CDNWuTqTgOHaftvVaumBF0OlmnyxMswyf4uIxrhY`` +- SHA-256 Hash: ``IcYHQydT_C3U1IqaJlFicxLlaHTHvElyFZ6Jxia27qQ`` - Disclosure: - ``WyJlSThaV205UW5LUHBOUGVOZW5IZGhRIiwgImJpcnRoZGF0ZSIsICIxOTgwLTAxLTEwIl0`` -- Contents: ``["eI8ZWm9QnKPpNPeNenHdhQ", "birthdate", "1980-01-10"]`` + ``WyJwWjVNUnlPeHBWV1p1SExvSi15alJnIiwgImZhbWlseV9uYW1lIiwgIlJv`` + ``c3NpIl0`` +- Contents: ``["pZ5MRyOxpVWZuHLoJ-yjRg", "family_name", "Rossi"]`` -Claim **place_of_birth**: +**Claim** ``birth_date``: -- SHA-256 Hash: ``1iztq7bov64xTYbDkWFc44_VjWe029hZqXeUIloqUN4`` +- SHA-256 Hash: ``EYgzJ1hTYWJjhBK2V3b8HV3e_fEf-Udffc5ymY77WtQ`` - Disclosure: - ``WyJRZ19PNjR6cUF4ZTQxMmExMDhpcm9BIiwgInBsYWNlX29mX2JpcnRoIiwg`` - ``eyJjb3VudHJ5IjogIklUIiwgImxvY2FsaXR5IjogIlJvbWUifV0`` -- Contents: - ``["Qg_O64zqAxe412a108iroA", "place_of_birth", {"country":`` - ``"IT", "locality": "Rome"}]`` + ``WyJqdFZ1S0NwbjdiVGNIckFnX3NlVWJRIiwgImJpcnRoX2RhdGUiLCAiMTk4`` + ``MC0wMS0xMCJd`` +- Contents: ``["jtVuKCpn7bTcHrAg_seUbQ", "birth_date", "1980-01-10"]`` -Claim **tax_id_code**: +**Claim** ``expiry_date``: -- SHA-256 Hash: ``ENNo31jfzFp8Y2DW0R-fIMeWwe7ELGvGoHMwMBpu14E`` +- SHA-256 Hash: ``dfrmUvonZDgealZCGwk3ufmc_4ept3y9N7xhWZlCyxo`` - Disclosure: - ``WyJBSngtMDk1VlBycFR0TjRRTU9xUk9BIiwgInRheF9pZF9jb2RlIiwgIlRJ`` + ``WyJXRGtkNkpzTmhERnZMUDRzMWhRZHlBIiwgImV4cGlyeV9kYXRlIiwgIjIw`` + ``MjQtMDEtMDEiXQ`` +- Contents: ``["WDkd6JsNhDFvLP4s1hQdyA", "expiry_date", "2024-01-01"]`` + +**Claim** ``tax_id_code``: + +- SHA-256 Hash: ``F90SKK9nIQcHIElkHY_ult_9FGqYe-RydvY3E0qR96s`` +- Disclosure: + ``WyI0a3NBejZiTVVLeTZadk4xaDhIRHVRIiwgInRheF9pZF9jb2RlIiwgIlRJ`` ``TklULVhYWFhYWFhYWFhYWFhYWFgiXQ`` -- Contents: ``["AJx-095VPrpTtN4QMOqROA", "tax_id_code",`` +- Contents: ``["4ksAz6bMUKy6ZvN1h8HDuQ", "tax_id_code",`` ``"TINIT-XXXXXXXXXXXXXXXX"]`` +**Claim** ``constant_attendance_allowance``: + +- SHA-256 Hash: ``ji86HS1v3D41tU5JqW4oWCwTJDuTUwp1ewqoCUzzEXk`` +- Disclosure: + ``WyJEZFdxS2g3d2RJNVZBeEtTdnhzWFZRIiwgImNvbnN0YW50X2F0dGVuZGFu`` + ``Y2VfYWxsb3dhbmNlIiwgdHJ1ZV0`` +- Contents: + ``["DdWqKh7wdI5VAxKSvxsXVQ", "constant_attendance_allowance",`` + ``true]`` + + + The combined format for the PID issuance is represented below: .. code-block:: - eyJhbGciOiJSUzI1NiIsImtpZCI6Iks2S2hpUDNrOC1XOWVHdk1SVTg0NVVwWVRTdEJsR0g4ejFKZl85czMtUWsifQ.eyJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyIsInN1YiI6Ik56YkxzWGg4dURDY2Q3bm9XWEZaQWZIa3hac1JHQzlYcy4uLiIsImp0aSI6InVybjp1dWlkOjZjNWMwYTQ5LWI1ODktNDMxZC1iYWU3LTIxOTEyMmE5ZWMyYyIsImlhdCI6MTU0MTQ5MzcyNCwiZXhwIjoxNTQxNDkzNzI0LCJzdGF0dXMiOiJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZy9zdGF0dXMiLCJjbmYiOnsiandrIjp7Imt0eSI6IlJTQSIsImUiOiJBUUFCIiwidXNlIjoic2lnIiwia2lkIjoiZDEyNmE2YTg1NmY3NzI0NTYwNDg0ZmE5ZGM1OWQxOTUiLCJhbGciOiJSUzI1NiIsIm4iOiJvaWFuczV3WUNXazR3RnRFU3RWWWNuX3hPdzllZEtNTkdIMzNfcTZfcEJJMFhhVFk3UDNhcFVnak8waXZrNWMxTlFBVlk2UFptY1BROFAxWTBjQkFDOVNUUm16dlR2RFFjT29jTGhWeTJabGNYVHUzOW9PR0xOcmE4X0xRc2FNQTM4NmxPX3FNVzQtdVk2RGJHWlk0dkhrU2N2QUM5RklaWURQYWZxV0JFUVVOVjJRT0ZNSDVWUG9paENUS0h3TUdYblpCYXRZT2JnNTd4U09VWC1idmhPX3NGTW0zazRSdnNYY3IzTUZvakFoTGZ3dXR1X2pLOWs3TjlLUl9tTmM1SXBpT3loWndfc1VtRjZTYW1ScXNTUHA0MktEMTBoUE1XMFlKVERNWXhCZEhyTUZlU01IWUlNWTRvQkJUNDNfX2E1NXpJTElfQ25JazQyNDF3T3ZHdncifX0sInR5cGUiOiJIZWFsdGhJbnN1cmFuY2VEYXRhIiwidmVyaWZpZWRfY2xhaW1zIjp7InZlcmlmaWNhdGlvbiI6eyJfc2QiOlsiMmpJUjE4Z2ZlQVNIWUdCMjdzN3NTM1NfaVE0eHhGSXhDUnlpb2hyQmZucyJdLCJ0cnVzdF9mcmFtZXdvcmsiOiJlaWRhcyIsImFzc3VyYW5jZV9sZXZlbCI6ImhpZ2gifSwiY2xhaW1zIjp7Il9zZCI6WyIxaXp0cTdib3Y2NHhUWWJEa1dGYzQ0X1ZqV2UwMjloWnFYZVVJbG9xVU40IiwiRU5ObzMxamZ6RnA4WTJEVzBSLWZJTWVXd2U3RUxHdkdvSE13TUJwdTE0RSIsIkZWMkNETld1VHFUZ09IYWZ0dlZhdW1CRjBPbG1ueXhNc3d5ZjR1SXhyaFkiLCJkWldqcTdtSlNTWC1YVElfSFd1RThCMng2SWRNNWxFLWRvRF95QnBLSmFvIiwiZ0hZaTE5ZnJiRF9pNEJvYVdFTk9qYzNsQ25NajRwYkdOUWNzQmpfUU00USJdfX0sIl9zZF9hbGciOiJzaGEtMjU2In0.vl5ELdx9d7smuDHHDfBGaUySolBe7O3RROqpHDkM3txvXJxgZcCwZQhbWN3sSrBkJgSZ_kFEs2ddYIVKE4bglASlBbSizC8CASdJlyDD3T_dyimA1r2bwSfsHTyrcG_SpoU5Ee9KS-Lr2PCQ3LmTc8_nhaeBGtZCO4B8oZI9bpD6zqms1Zr-ymaE0pYnnQ3aWOclhiLavVudKxLxZvYXTdMStjyNbwBXekVVOnAZuCTuXMsD_jah7_MkmJP_buJgq3u6TthctsORHp4pKuZeI_43Y728-Qg7mIDeL5_-j_vgXdu7FWVa0OSTjZJM27GCDzr2M8LAhApk4aeDoF1Cmw + eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImV4YW1wbGUrc2Qtand0In0.eyJfc2QiOiBb + IjdXRzRuVDZLMjZfUjM5NzV6Y3duVndnb0hBN2I5ODhfMy12SnpiWmY2WWMiXSwgImlz + cyI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZyIsICJleHAiOiAxODgzMDAwMDAw + LCAic3ViIjogIk56YkxzWGg4dURDY2Q3bm9XWEZaQWZIa3hac1JHQzlYcyIsICJqdGki + OiAidXJuOnV1aWQ6NmM1YzBhNDktYjU4OS00MzFkLWJhZTctMjE5MTIyYTllYzJjIiwg + InN0YXR1cyI6ICJodHRwczovL2lzc3Vlci5leGFtcGxlLm9yZy9zdGF0dXMiLCAidmN0 + IjogIkRpc2FiaWxpdHlDYXJkIiwgInZlcmlmaWVkX2NsYWltcyI6IHsidmVyaWZpY2F0 + aW9uIjogeyJfc2QiOiBbInNUc2txMHlGeTMxWkgzWVAybk5fbkZuZDdIOXExOGRVM29F + YTFEQzVMUmMiXSwgInRydXN0X2ZyYW1ld29yayI6ICJlaWRhcyIsICJhc3N1cmFuY2Vf + bGV2ZWwiOiAiaGlnaCJ9LCAiY2xhaW1zIjogeyJfc2QiOiBbIjNodW1GamlDWUhkSHpq + TC1PRWQxdktuUWExMGl2YVlFZDFkQ0NrZlJ1YUEiLCAiRVlnekoxaFRZV0pqaEJLMlYz + YjhIVjNlX2ZFZi1VZGZmYzV5bVk3N1d0USIsICJGOTBTS0s5bklRY0hJRWxrSFlfdWx0 + XzlGR3FZZS1SeWR2WTNFMHFSOTZzIiwgIkljWUhReWRUX0MzVTFJcWFKbEZpY3hMbGFI + VEh2RWx5Rlo2SnhpYTI3cVEiLCAiZGZybVV2b25aRGdlYWxaQ0d3azN1Zm1jXzRlcHQz + eTlON3hoV1psQ3l4byIsICJqaTg2SFMxdjNENDF0VTVKcVc0b1dDd1RKRHVUVXdwMWV3 + cW9DVXp6RVhrIiwgImxYZ3hFREF1UGVVdm1rY05HcjlGWnVxb2R3RnFVVDAxZ0pqN3hk + NHlFUEEiXX19LCAiX3NkX2FsZyI6ICJzaGEtMjU2IiwgImNuZiI6IHsiandrIjogeyJr + dHkiOiAiRUMiLCAiY3J2IjogIlAtMjU2IiwgIngiOiAiVENBRVIxOVp2dTNPSEY0ajRX + NHZmU1ZvSElQMUlMaWxEbHM3dkNlR2VtYyIsICJ5IjogIlp4amlXV2JaTVFHSFZXS1ZR + NGhiU0lpcnNWZnVlY0NFNnQ0alQ5RjJIWlEifX19.hbgWxBoQtLVpTfygYVDhrgnoCkw + aw_hqY9GpxG4oXixejLEMvTOAwYFtqiNnYSuNaaGD6aemJW7jLSHDm9NOGA~WyI1N212 + eWNUaDV5WkNyS0xaNXhuZlV3IiwgImlhdCIsIDE2ODMwMDAwMDBd~WyJrdWNyQm1sb19 + oTWFJRkY1ODVSemFRIiwgInNvdXJjZSIsIHsib3JnYW5pemF0aW9uX25hbWUiOiAiSXN + 0aXR1dG8gTmF6aW9uYWxlIGRlbGxhIFByZXZpZGVuemEgU29jaWFsZSIsICJvcmdhbml + 6YXRpb25faWQiOiAidXJuOmV1ZGk6aXQ6b3JnYW5pemF0aW9uX2lkOmlwYV9jb2RlOml + ucHMiLCAiY291bnRyeV9jb2RlIjogIklUIn1d~WyJOVE5Sb09pdVZWUnRGNkNFenRkOV + p3IiwgImV2aWRlbmNlIiwgW3sidHlwZSI6ICJlbGVjdHJvbmljX3JlY29yZCIsICJyZW + NvcmQiOiB7Il9zZCI6IFsicWZ1enJRdUdjYkJCS2FFNFE5ZXFWQ1N6bnpKMnJObmRMRz + hxNjA2UkxzTSJdLCAidHlwZSI6ICJodHRwczovL2V1ZGkud2FsbGV0LnBkbmQuZ292Lm + l0In19XV0~WyJGRFNTUGdnekdCVXdRTEhEU0U2d1FRIiwgImRvY3VtZW50X251bWJlci + IsICJYWFhYWFhYWFhYIl0~WyJLWjhlNXdWRXREdmIxemlTUEE0RHpBIiwgImdpdmVuX2 + 5hbWUiLCAiTWFyaW8iXQ~WyJwWjVNUnlPeHBWV1p1SExvSi15alJnIiwgImZhbWlseV9 + uYW1lIiwgIlJvc3NpIl0~WyJqdFZ1S0NwbjdiVGNIckFnX3NlVWJRIiwgImJpcnRoX2R + hdGUiLCAiMTk4MC0wMS0xMCJd~WyJXRGtkNkpzTmhERnZMUDRzMWhRZHlBIiwgImV4cG + lyeV9kYXRlIiwgIjIwMjQtMDEtMDEiXQ~WyI0a3NBejZiTVVLeTZadk4xaDhIRHVRIiw + gInRheF9pZF9jb2RlIiwgIlRJTklULVhYWFhYWFhYWFhYWFhYWFgiXQ~WyJEZFdxS2g3 + d2RJNVZBeEtTdnhzWFZRIiwgImNvbnN0YW50X2F0dGVuZGFuY2VfYWxsb3dhbmNlIiwg + dHJ1ZV0~ MDOC-CBOR ========= @@ -723,12 +876,6 @@ Depending on the Digital Credential type, additional **elementIdentifier** data * - **eu.europa.ec.eudiw.pid.1** - **birth_date** - *full-date (CBORTag 1004)*. See :ref:`PID Claims fields Section `. - * - **eu.europa.ec.eudiw.pid.1** - - **birth_place** - - *tstr (text string)*. See :ref:`PID Claims fields Section `. - * - **eu.europa.ec.eudiw.pid.1** - - **birth_country** - - *tstr (text string)*. See :ref:`PID Claims fields Section `. * - **eu.europa.ec.eudiw.pid.1** - **unique_id** - *tstr (text string)*. See :ref:`PID Claims fields Section `. @@ -830,7 +977,7 @@ A non-normative example of a PID in MDOC-CBOR format is represented below using .. code-block:: text - A366737461747573006776657273696F6E63312E3069646F63756D656E747381A267646F6354797065781865752E6575726F70612E65632E65756469772E7069642E316C6973737565725369676E6564A26A697373756572417574688443A10126A1182159021930820215308201BCA003020102021404AD06A30C1A6DC6E93BE0E2E8F78DCAFA7907C2300A06082A8648CE3D040302305B310B3009060355040613025A45312E302C060355040A0C25465053204D6F62696C69747920616E64205472616E73706F7274206F66205A65746F706961311C301A06035504030C1349414341205A65746573436F6E666964656E73301E170D3231303932393033333034355A170D3232313130333033333034345A3050311A301806035504030C114453205A65746573436F6E666964656E7331253023060355040A0C1C5A65746F70696120436974792044657074206F662054726166666963310B3009060355040613025A453059301306072A8648CE3D020106082A8648CE3D030107034200047C5545E9A0B15F4FF3CE5015121E8AD3257C28D541C1CD0D604FC9D1E352CCC38ADEF5F7902D44B7A6FC1F99F06EEDF7B0018FD9DA716AEC2F1FFAC173356C7DA3693067301F0603551D23041830168014BBA2A53201700D3C97542EF42889556D15B7AC4630150603551D250101FF040B3009060728818C5D050102301D0603551D0E04160414CE5FD758A8E88563E625CF056BFE9F692F4296FD300E0603551D0F0101FF040403020780300A06082A8648CE3D0403020347003044022012B06A3813FFEC5679F3B8CDDB51EAA4B95B0CBB1786B09405E2000E9C46618C02202C1F778AD252285ED05D9B55469F1CB78D773671F30FE7AB815371942328317C59032AD818590325A667646F6354797065781865752E6575726F70612E65632E65756469772E7069642E316776657273696F6E63312E306C76616C6964697479496E666FA3667369676E6564C074323032332D30322D32325430363A32333A35365A6976616C696446726F6DC074323032332D30322D32325430363A32333A35365A6A76616C6964556E74696CC074323032342D30322D32325430303A30303A30305A6C76616C756544696765737473A2781865752E6575726F70612E65632E65756469772E7069642E31AC015820A7FFC6F8BF1ED76651C14756A061D662F580FF4DE43B49FA82D80A4B80F8434A025820CD372FB85148700FA88095E3492D3F9F5BEB43E555E5FF26D95F5A6ADC36F8E6035820E67E72111B363D80C8124D28193926000980E1211C7986CACBD26AACC5528D48045820F7D062D662826ED95869851DB06BB539B402047BAEE53A00E0AA35BFBE98265D0658202A132DBFE4784627B86AA3807CD19CFEFF487AAB3DD7A60D0AB119A72E736936075820BDCA9E8DBCA354E824E67BFE1533FA4A238B9EA832F23FB4271EBEB3A5A8F7200858202C0EAEC2F05B6C7FE7982683E3773B5D8D7A01E33D04DFCB162ADD8BD99BEE9A095820BFE220D85657CCEC3C67E7DB1DF747E9148A152334BB6D4B65B273279BCC36EC0A582018E38144F5044301D6A0B4EC9D5F98D4CD950E6EA2C29B849CBD457DA29B6AD30B58203C71D2F0EFA09D9E3FBBDFFD29204F6B292C9F79570AEF72DD86C91F7A3AA5C50C582065743D58D89D45E52044758F546034FD13A4F994BC270CDFA7844F74EB3F4B6E0D5820B4A8EB5D523BFFA17B41BDA12DDC7DA32AE1E5F7FF3DCC394A35401F16919BBF781B65752E6575726F70612E65632E65756469772E7069642E69742E31A10E58209D6C11644651126C94ACDAF0803E86D4C71D15D3B2712A14295416734EFD514D6D6465766963654B6579496E666FA1696465766963654B6579A401022001215820BA01AEA44EEE1E338EB2F04E279DBD51B34655783EE185150838C9A7A7C4DB7122582025BA0044439A3871A7B975A0994A85E79B705A9AC263B3FE899B0A93412EE8C96F646967657374416C676F726974686D675348412D32353658400813C28FD62F2602CBC14724E5865733C44A0FCA589B55C085EC9D5C725D6CCE25BA0044439A3871A7B975A0994A85E79B705A9AC263B3FE899B0A93412EE8C96A6E616D65537061636573A2781865752E6575726F70612E65632E65756469772E7069642E318DD818586DA4686469676573744944016672616E646F6D5820156DF9227AD341EAA61AABD301106FD21BDC18820E01DFC16BCF5FECC447111B71656C656D656E744964656E7469666965726B6578706972795F646174656C656C656D656E7456616C7565D903EC6A323032342D30322D3232D818586FA4686469676573744944026672616E646F6D5820A3A1F13F05544D03A5B50B5FDB78465808393BCF3B7953A345FE28F820C7BE0D71656C656D656E744964656E7469666965726D69737375616E63655F646174656C656C656D656E7456616C7565D903EC6A323032332D30322D3232D8185866A4686469676573744944036672616E646F6D5820852591F90F2C9DED57A03632E2C1322AB52A082A431E71A4149A6830C8F1AD0C71656C656D656E744964656E7469666965726F69737375696E675F636F756E7472796C656C656D656E7456616C7565624954D818587CA4686469676573744944046672616E646F6D5820D1D587B3512ACCE15C4F6B20944CEB002A464E4A158389788563408873C3FCE571656C656D656E744964656E7469666965727169737375696E675F617574686F726974796C656C656D656E7456616C7565764D696E69737465726F2064656C6C27496E7465726E6FD8185864A4686469676573744944056672616E646F6D582094FDD7609C0E73DC8589B5CAB11E1D9058CF8BFF8A336DA5F81FCBA055396A0F71656C656D656E744964656E7469666965726A676976656E5F6E616D656C656C656D656E7456616C7565654D6172696FD8185865A4686469676573744944066672616E646F6D5820660C0A7BF79E0E0261CA1547A4294FB808AA70738F424B13AB1B9440B566AE1371656C656D656E744964656E7469666965726B66616D696C795F6E616D656C656C656D656E7456616C756565526F737369D818586BA4686469676573744944076672616E646F6D5820315C53491286488FA07F5C2CE67135EF5C9959C3469C99A14E9B6DC924F9EBA571656C656D656E744964656E746966696572696269727468646174656C656C656D656E7456616C7565D903EC6A313935362D30312D3132D818587AA4686469676573744944086672616E646F6D582081C5CC04FBDF78E0F84DF72FDB87028ADE08E66DC5F31084826EBAD7AE70D84671656C656D656E744964656E7469666965726B62697274685F706C6163656C656C656D656E7456616C756581A267636F756E747279624954686C6F63616C69747964526F6D65D818587DA4686469676573744944096672616E646F6D5820764EF39C9D01F3AA6A87F441603CFE853FBA3CEE3BC2C168BCC9E96271D6E06371656C656D656E744964656E74696669657269756E697175655F69646C656C656D656E7456616C7565781E78787878787878782D7878782D787878782D787878787878787878787878D81858E8A46864696765737449440A6672616E646F6D5820AD20B3B9C67AED8089FF33ECDC108781C3B49B81CD7A3F059D2FE236977037B271656C656D656E744964656E74696669657275766572696669636174696F6E2E65766964656E63656C656C656D656E7456616C756581A2647479706571656C656374726F6E69635F7265636F7264667265636F7264A264747970656C65696461732E69742E63696566736F75726365A3716F7267616E697A6174696F6E5F6E616D656C65696461732E69742E6369656F6F7267616E697A6174696F6E5F6964646D5F69746C636F756E7472795F636F6465626974D8185879A46864696765737449440B6672616E646F6D5820C12314B3695D1401505187E2113115E2F7B4A14B135DEE320F5E6DF81275F17671656C656D656E744964656E746966696572667374617475736C656C656D656E7456616C7565781D68747470733A2F2F70696470726F76696465722E69742F737461747573D8185877A46864696765737449440C6672616E646F6D5820A7B6A9027ED97F25DF96DD0EAB8093B264A3BD6A1D5B24228F3FC5B18EF835FB71656C656D656E744964656E746966696572781C766572696669636174696F6E2E74727573745F6672616D65776F726B6C656C656D656E7456616C7565656569646173D8185876A46864696765737449440D6672616E646F6D5820C76CE2AE4E9BE1DB07A5CB397B54ACE3ECCC786D3F85E4348B923DEE059783DB71656C656D656E744964656E746966696572781C766572696669636174696F6E2E6173737572616E63655F6C6576656C6C656C656D656E7456616C75656468696768781B65752E6575726F70612E65632E65756469772E7069642E69742E3181D8185877A46864696765737449440E6672616E646F6D5820717DF3F583B1484366C33A1F869F2B5D201D466A8B589C79AB1A2D85E595432571656C656D656E744964656E7469666965726D7461785F69645F6E756D6265726C656C656D656E7456616C75657554494E49542D585858585858585858585858585858 + a366737461747573006776657273696f6e63312e3069646f63756d656e747381a267646f6354797065781865752e6575726f70612e65632e65756469772e7069642e316c6973737565725369676e6564a26a697373756572417574688443a10126a1182159021930820215308201bca003020102021404ad06a30c1a6dc6e93be0e2e8f78dcafa7907c2300a06082a8648ce3d040302305b310b3009060355040613025a45312e302c060355040a0c25465053204d6f62696c69747920616e64205472616e73706f7274206f66205a65746f706961311c301a06035504030c1349414341205a65746573436f6e666964656e73301e170d3231303932393033333034355a170d3232313130333033333034345a3050311a301806035504030c114453205a65746573436f6e666964656e7331253023060355040a0c1c5a65746f70696120436974792044657074206f662054726166666963310b3009060355040613025a453059301306072a8648ce3d020106082a8648ce3d030107034200047c5545e9a0b15f4ff3ce5015121e8ad3257c28d541c1cd0d604fc9d1e352ccc38adef5f7902d44b7a6fc1f99f06eedf7b0018fd9da716aec2f1ffac173356c7da3693067301f0603551d23041830168014bba2a53201700d3c97542ef42889556d15b7ac4630150603551d250101ff040b3009060728818c5d050102301d0603551d0e04160414ce5fd758a8e88563e625cf056bfe9f692f4296fd300e0603551d0f0101ff040403020780300a06082a8648ce3d0403020347003044022012b06a3813ffec5679f3b8cddb51eaa4b95b0cbb1786b09405e2000e9c46618c02202c1f778ad252285ed05d9b55469f1cb78d773671f30fe7ab815371942328317c59032ad818590325a667646f6354797065781865752e6575726f70612e65632e65756469772e7069642e316776657273696f6e63312e306c76616c6964697479496e666fa3667369676e6564c074323032332d30322d32325430363a32333a35365a6976616c696446726f6dc074323032332d30322d32325430363a32333a35365a6a76616c6964556e74696cc074323032342d30322d32325430303a30303a30305a6c76616c756544696765737473a2781865752e6575726f70612e65632e65756469772e7069642e31ac015820a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a025820cd372fb85148700fa88095e3492d3f9f5beb43e555e5ff26d95f5a6adc36f8e6035820e67e72111b363d80c8124d28193926000980e1211c7986cacbd26aacc5528d48045820f7d062d662826ed95869851db06bb539b402047baee53a00e0aa35bfbe98265d0658202a132dbfe4784627b86aa3807cd19cfeff487aab3dd7a60d0ab119a72e736936075820bdca9e8dbca354e824e67bfe1533fa4a238b9ea832f23fb4271ebeb3a5a8f7200858202c0eaec2f05b6c7fe7982683e3773b5d8d7a01e33d04dfcb162add8bd99bee9a095820bfe220d85657ccec3c67e7db1df747e9148a152334bb6d4b65b273279bcc36ec0a582018e38144f5044301d6a0b4ec9d5f98d4cd950e6ea2c29b849cbd457da29b6ad30b58203c71d2f0efa09d9e3fbbdffd29204f6b292c9f79570aef72dd86c91f7a3aa5c50c582065743d58d89d45e52044758f546034fd13a4f994bc270cdfa7844f74eb3f4b6e0d5820b4a8eb5d523bffa17b41bda12ddc7da32ae1e5f7ff3dcc394a35401f16919bbf781b65752e6575726f70612e65632e65756469772e7069642e69742e31a10e58209d6c11644651126c94acdaf0803e86d4c71d15d3b2712a14295416734efd514d6d6465766963654b6579496e666fa1696465766963654b6579a401022001215820ba01aea44eee1e338eb2f04e279dbd51b34655783ee185150838c9a7a7c4db7122582025ba0044439a3871a7b975a0994a85e79b705a9ac263b3fe899b0a93412ee8c96f646967657374416c676f726974686d675348412d32353658400813c28fd62f2602cbc14724e5865733c44a0fca589b55c085ec9d5c725d6cce25ba0044439a3871a7b975a0994a85e79b705a9ac263b3fe899b0a93412ee8c96a6e616d65537061636573a2781865752e6575726f70612e65632e65756469772e7069642e318cd818586da4686469676573744944016672616e646f6d5820156df9227ad341eaa61aabd301106fd21bdc18820e01dfc16bcf5fecc447111b71656c656d656e744964656e7469666965726b6578706972795f646174656c656c656d656e7456616c7565d903ec6a323032342d30322d3232d818586fa4686469676573744944026672616e646f6d5820a3a1f13f05544d03a5b50b5fdb78465808393bcf3b7953a345fe28f820c7be0d71656c656d656e744964656e7469666965726d69737375616e63655f646174656c656c656d656e7456616c7565d903ec6a323032332d30322d3232d8185866a4686469676573744944036672616e646f6d5820852591f90f2c9ded57a03632e2c1322ab52a082a431e71a4149a6830c8f1ad0c71656c656d656e744964656e7469666965726f69737375696e675f636f756e7472796c656c656d656e7456616c7565624954d818587ca4686469676573744944046672616e646f6d5820d1d587b3512acce15c4f6b20944ceb002a464e4a158389788563408873c3fce571656c656d656e744964656e7469666965727169737375696e675f617574686f726974796c656c656d656e7456616c7565764d696e69737465726f2064656c6c27496e7465726e6fd8185864a4686469676573744944056672616e646f6d582094fdd7609c0e73dc8589b5cab11e1d9058cf8bff8a336da5f81fcba055396a0f71656c656d656e744964656e7469666965726a676976656e5f6e616d656c656c656d656e7456616c7565654d6172696fd8185865a4686469676573744944066672616e646f6d5820660c0a7bf79e0e0261ca1547a4294fb808aa70738f424b13ab1b9440b566ae1371656c656d656e744964656e7469666965726b66616d696c795f6e616d656c656c656d656e7456616c756565526f737369d818586ba4686469676573744944076672616e646f6d5820315c53491286488fa07f5c2ce67135ef5c9959c3469c99a14e9b6dc924f9eba571656c656d656e744964656e746966696572696269727468646174656c656c656d656e7456616c7565d903ec6a313935362d30312d3132d818587da4686469676573744944086672616e646f6d5820764ef39c9d01f3aa6a87f441603cfe853fba3cee3bc2c168bcc9e96271d6e06371656c656d656e744964656e74696669657269756e697175655f69646c656c656d656e7456616c7565781e78787878787878782d7878782d787878782d787878787878787878787878d81858e8a4686469676573744944096672616e646f6d5820ad20b3b9c67aed8089ff33ecdc108781c3b49b81cd7a3f059d2fe236977037b271656c656d656e744964656e74696669657275766572696669636174696f6e2e65766964656e63656c656c656d656e7456616c756581a2647479706571656c656374726f6e69635f7265636f7264667265636f7264a264747970656c65696461732e69742e63696566736f75726365a3716f7267616e697a6174696f6e5f6e616d656c65696461732e69742e6369656f6f7267616e697a6174696f6e5f6964646d5f69746c636f756e7472795f636f6465626974d8185879a46864696765737449440a6672616e646f6d5820c12314b3695d1401505187e2113115e2f7b4a14b135dee320f5e6df81275f17671656c656d656e744964656e746966696572667374617475736c656c656d656e7456616c7565781d68747470733a2f2f70696470726f76696465722e69742f737461747573d8185877a46864696765737449440b6672616e646f6d5820a7b6a9027ed97f25df96dd0eab8093b264a3bd6a1d5b24228f3fc5b18ef835fb71656c656d656e744964656e746966696572781c766572696669636174696f6e2e74727573745f6672616d65776f726b6c656c656d656e7456616c7565656569646173d8185876a46864696765737449440c6672616e646f6d5820c76ce2ae4e9be1db07a5cb397b54ace3eccc786d3f85e4348b923dee059783db71656c656d656e744964656e746966696572781c766572696669636174696f6e2e6173737572616e63655f6c6576656c6c656c656d656e7456616c75656468696768781b65752e6575726f70612e65632e65756469772e7069642e69742e3181d8185877a46864696765737449440d6672616e646f6d5820717df3f583b1484366c33a1f869f2b5d201d466a8b589c79ab1a2d85e595432571656c656d656e744964656e7469666965726d7461785f69645f6e756d6265726c656c656d656e7456616c75657554494e49542d585858585858585858585858585858 The `Diagnostic Notation` of the above MDOC-CBOR is given below: @@ -865,16 +1012,15 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: 3: h'E2382149255AE8E955AF9B8984395…', 4: h'BBC77E6CCA981A3AD0C3E544EDF86…', 6: h'BB6E6C68D1B4B4EC5A2AE9206F5t4…', - 7: h'F8A5966E6DAC9970E0334D8F75E25…', - 8: h'EAD5E8B5E543BD31F3BE57DE4ED45…', - 9: h'DEFDF1AA746718016EF1B94BFE5R6…' + 7: h'F8A5966E6DAC9970E0334D8F75E25…', + 8: h'DEFDF1AA746718016EF1B94BFE5R6…' }, "eu.europa.ec.eudiw.pid.it.1": { - 10: h'AFC5A127BE44753172844B13491D8…', - 11: h'AFC5A127BE44753172844B13492H4…', - 12: h'DJA5A127BE44753172844B13492H4…', - 13: h'KDL5A127BE44753172844B13492H4…', - 14: h'F9EE4D36F67DBD75E23311AC1C29…' + 9: h'AFC5A127BE44753172844B13491D8…', + 10: h'AFC5A127BE44753172844B13492H4…', + 11: h'DJA5A127BE44753172844B13492H4…', + 12: h'KDL5A127BE44753172844B13492H4…', + 13: h'F9EE4D36F67DBD75E23311AC1C29…' } }, "deviceKeyInfo": { @@ -945,27 +1091,14 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: { "digestID": 7, "random": h'6059FF1CE27B4997B4ADE1DE7B01DC60', - "elementIdentifier": "birthdate", + "elementIdentifier": "birth_date", "elementValue": 1004("1956-01-12")% the tag 1004 defines the value is a full date } - >>), - 24(<< - { - "digestID": 8, - "random": h'CAD1F6A38F603451F1FA653F81FF309D', - "elementIdentifier": "birth_place", - "elementValue": [ - { - "country": "IT" , - "locality": "Rome" - } - ] - } - >>), + >>), 24(<< { - "digestID": 9, + "digestID": 8, "random": h'53C15C57B3B076E788795829190220B4', "elementIdentifier": "unique_id", "elementValue": "xxxxxxxx-xxx-xxxx-xxxxxxxxxxxx" @@ -975,7 +1108,7 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: "eu.europa.ec.eudiw.pid.it.1": [ 24(<< { - "digestID": 10, + "digestID": 9, "random": h'CAD1F6A38F603451F1FA653F81FF309D', "elementIdentifier": "verification.evidence", "elementValue": [ @@ -995,7 +1128,7 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: >>), 24(<< { - "digestID": 11, + "digestID": 10, "random": h'CAD1F6A38F603451F1FA653F81FF309D, "elementIdentifier": "status", "elementValue": "https://pidprovider.example.it/status" @@ -1003,7 +1136,7 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: >>), 24(<< { - "digestID": 12, + "digestID": 11, "random": h'564E3C65D46D06FEDEB0E7293A86GF', "elementIdentifier": "verification.trust_framework", "elementValue": "eidas" @@ -1011,7 +1144,7 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: >>), 24(<< { - "digestID": 13, + "digestID": 12, "random": h'D884E5D5EF4CFC93FDB1E4EE8F3923', "elementIdentifier": "verification.assurance_level", "elementValue": "high" @@ -1019,7 +1152,7 @@ The `Diagnostic Notation` of the above MDOC-CBOR is given below: >>) 24(<< { - "digestID": 14, + "digestID": 13, "random": h'11aa7273a2d2daa973f5951f0c34c2fbae', "elementIdentifier": "tax_id_number", "elementValue": "TINIT-XXXXXXXXXXXXXXX" diff --git a/p256/en/_sources/pid-eaa-issuance.rst.txt b/p256/en/_sources/pid-eaa-issuance.rst.txt index 6093ce5c3..5f29acfdb 100644 --- a/p256/en/_sources/pid-eaa-issuance.rst.txt +++ b/p256/en/_sources/pid-eaa-issuance.rst.txt @@ -5,27 +5,26 @@ PID/(Q)EAA Issuance +++++++++++++++++++ -This section describes the PID and (Q)EAAs issuance flow with an high level of security. +This section describes the PID and (Q)EAAs issuance flow with an high level of security. The relevant entities and interfaces involved in the issuance flow are: - - *Wallet Provider*: The entity responsible for releasing an EUDI Wallet Solution. It also issues Wallet Instance Attestations to its Wallet Instances through an Attestation Service. The Wallet Attestation certifies the genuinity and authenticity of the Wallet Instance and its compliance with a Trust Framework in compliance to the security and privacy requirements. - - *Wallet Solution*: Entire product and service owned by a Wallet Provider, offered to all the Users of that solution. The Wallet Solution is certified as EUDI-compliant by a Conformity Assessment Body (CAB). - - *Wallet Instance*: Instance of a Wallet Solution, installed on the User device. It provides interfaces for User interaction with the Wallet Provider, Relying Parties, PID, and (Q)EAA Providers. + - *Wallet Provider*: The entity responsible for releasing an EUDI Wallet Solution. The Wallet Provider issues the Wallet Attestations to its Wallet Instances through an Attestation Service. The Wallet Attestation certifies the genuinity and authenticity of the Wallet Instance and its compliance with the security and privacy requirements. + - *Wallet Solution*: Entire product and service owned by a Wallet Provider, offered to all the Users and certified as EUDI-compliant by a Conformity Assessment Body (CAB). + - *Wallet Instance*: Instance of a Wallet Solution, installed on the User device. The Wallet Instance provides graphical interfaces for User interaction with Relying Parties, PID, (Q)EAA Providers and the Wallet Provider. - *PID Provider*: The entity that issues the eIDAS Person Identification Data (PID). It is composed of: - - OpenID4VCI Component: based on the “OpenID for Verifiable Credential Issuance” specification `[OIDC4VCI. Draft 13] `_ to release PID credentials. - - National eID Relying Party (OpenID Connect or SAML2): It represents the component to authenticate the User with the national Digital Identity Providers. - - National Identity Provider: It represents preexisting identity systems based on SAML2 or OpenID Connect, already in production in each Member State (for Italy SPID and CIE id authentication schemed notified eIDAS with *LoA* **High**, see `SPID/CIE OpenID Connect Specifications `_). - + - OpenID4VCI Component: based on the "OpenID for Verifiable Credential Issuance" specification ` [OIDC4VCI. Draft 13] `_ to release the PID. + - National eID Relying Party: The component to authenticate the User with the national Digital Identity Providers, based on OpenID Connect Core 1.0 or SAML2. + - National Identity Provider: It represents preexisting identity systems based on SAML2 or OpenID Connect Core 1.0, already in production in each Member State (eg: the Italian SPID and CIE id schemes notified eIDAS with *LoA* **High**, see `SPID/CIE OpenID Connect Specifications `_). + - *(Q)EAA Provider*: It represents the Issuer of (Q)EAAs. It is composed of: - - OpenID4VCI Component: based on the “OpenID for Verifiable Credential Issuance” specification `[OIDC4VCI. Draft 13] `_ to release (Q)EAAs. - - Relying Party: It represents the component to authenticate the User with the PID. The (Q)EAA Provider acts as a Verifier and it sends a presentation request to the Wallet Instance according to [`OpenID4VP`_]. The Wallet Instance MUST have a valid PID obtained prior to starting a transaction with the (Q)EAA Provider. - + - OpenID4VCI Component: based on the "OpenID for Verifiable Credential Issuance" specification to release (Q)EAAs. + - Relying Party: Component to authenticate the User with the PID. The (Q)EAA Provider acts as a Verifier by sending a presentation request to the Wallet Instance, according to [`OpenID4VP`_]. The Wallet Instance MUST have a valid PID, obtained in a previous time, to get authenticated with the (Q)EAA Provider. High-Level PID flow ------------------- - + The :numref:`fig_High-Level-Flow-ITWallet-PID-Issuance` shows a general architecture and highlights the main operations involved in the issuance of a PID. .. _fig_High-Level-Flow-ITWallet-PID-Issuance: @@ -33,18 +32,18 @@ The :numref:`fig_High-Level-Flow-ITWallet-PID-Issuance` shows a general architec :figwidth: 100% :align: center - PID Issuance - General architecture and high level flow + PID Issuance - General architecture and high level flow. -Below a detailed description for each step represented in the previous picture: +Below the description of the steps represented in the previous picture: - 0. **Wallet Instance Setup**: the first time the Wallet Instance is started a preliminary setup phase MUST be carried out. It consists of the release of a verifiable proof issued by the Attestation Service provided by the Wallet Provider that asserts the genuineness, the authenticity and the compliance with a trust framework of the Wallet Instance. The verifiable proof binds a public key corresponding to a local private key generated by the Wallet Instance. - 1. **Obtaining the trusted PID Provider**: the Wallet Instance discovers the trusted PID Provider using the Federation API (e.g.: using the Subordinate Listing Endpoint of the Trust Anchor and its Intermediates), and then inspects the metadata looking for the availability of the PID credential. - 2. **Obtaining of PID Provider Metadata**: the Wallet Instance establishes the trust to the PID Provider according to the Trust Model, obtaining the Metadata that discloses the formats of the PID, the algorithms supported, and any other parameter required for interoperability needs. - 3. **PID Request**: following the Authorization Code Flow in `[OIDC4VCI. Draft 13] `_ the Wallet Instance requests a PID to the PID Provider. A fresh key pair that is generated by the Wallet Instance for the purpose of the sender-constrained Access Token will be used by the PID Provider for the Holder Key Binding of the PID. - 4. **User Authentication**: the PID Provider authenticates the User with LoA High, acting as an IAM Proxy to the National eID system. - 5. **PID Issuance**: once the User authentication with LoA High happens, the User gives their consent, and the PID Provider releases a PID bound to the key material held by the requesting Wallet Instance. + 0. **Wallet Instance Setup**: the first time the Wallet Instance is started a preliminary setup phase is carried out. It consists of the release of the Wallet Attestation issued by Wallet Attestation Service asserting the genuineness and the compliance of the Wallet Instance with the shared trust framework. The Wallet Attestation binds the public key provided by the Wallet Instance, related to one of the private keys generated by the Wallet Instance. + 1. **PID/(Q)EAA Provider Discovery**: the Wallet Instance discovers the trusted Digital Credential Issuers using the Federation API (e.g.: using the Subordinate Listing Endpoint of the Trust Anchor and its Intermediates), inspecting the Credential Issuer metadata and Trust Marks for filtering the PID Provider. + 2. **PID Provider Metadata**: the Wallet Instance establishes the trust to the PID Provider according to the Trust Model and obtains the Metadata that discloses the formats of the PID, the algorithms supported, and any other parameter required for interoperability needs. + 3. **PID Request**: using the Authorization Code Flow defined in `[OIDC4VCI. Draft 13] `_ the Wallet Instance requests the PID to the PID Provider. + 4. **User Authentication**: the PID Provider authenticates the User with LoA High, acting as an Identity and Access Management Proxy to the National eID system. + 5. **PID Issuance**: the User is authenticated with LoA High and the PID Provider releases a PID bound to the key material held by the requesting Wallet Instance. -In the following sections the steps from 1 to 5 are further expanded into more technical details. +In the following sections the steps from 1 to 5 are further expanded into more technical details. High-Level (Q)EAA flow ---------------------- @@ -63,20 +62,25 @@ The :numref:`fig_High-Level-Flow-ITWallet-QEAA-Issuance` shows a general archite Below the description of the most relevant operations involved in the (Q)EAA issuance: - 1. **Obtaining the trusted (Q)EAA Issuer**: the Wallet Instance discovers the trusted (Q)EAA Issuer ufing the Federaiton API (e.g.: using the Subordinate Listing Endpoint of the Trust Anchor and its Intermediates), then inspects the metadata looking for the credential capabilities. - 2. **Obtaining of (Q)EAA Provider Metadata**: the Wallet Instance establishes the trust to the (Q)EAA Provider according to the Trust Model, obtaining the Metadata that discloses the formats of the (Q)EAA, the algorithms supported, and any other parameter required for interoperability needs. - 3. **(Q)EAA Request**: according to the Authorization Code Flow in `[OIDC4VCI. Draft 13] `_ the Wallet Instance requests a (Q)EAA to the (Q)EAA Provider. A fresh key pair that is generated by the Wallet Instance for the sender-constrained Access Token TO be used by (Q)EAA Provider for the key binding of the (Q)EAA. The (Q)EAA Provider checks the Wallet Instance by means of the Wallet Instance Attestation and the Trust Chain related to the Wallet Provider. - 4. **User Authentication**: the (Q)EAA Provider, acting as a Verifier (Relying Party), authenticates the User evaluating the presentation of the PID. - 5. **(Q)EAA Issuance**: Once the User has been authenticated with a valid PID, the User gives their consent, then the (Q)EAA Provider releases a (Q)EAA bound to the key material held by the requesting Wallet Instance. + 1. **Discovery of the trusted (Q)EAA Provider**: the Wallet Instance obtains the list of the trusted (Q)EAA Provider using the Federation API (e.g.: using the Subordinate Listing Endpoint of the Trust Anchor and its Intermediates), then inspects the metadata and Trust Mark looking for the Digital Credential capabilities of each (Q)EAA Provider. + 2. **(Q)EAA Provider Metadata**: the Wallet Instance establishes the trust to the (Q)EAA Provider according to the Trust Model, obtaining the Metadata that discloses the formats of the (Q)EAA, the algorithms supported, and any other parameter required for interoperability needs. + 3. **(Q)EAA Request**: using the Authorization Code Flow , defined in `[OIDC4VCI. Draft 13] `_, the Wallet Instance requests a (Q)EAA to the (Q)EAA Provider. + 4. **User Authentication**: the (Q)EAA Provider, acting as a Verifier (Relying Party), authenticates the User evaluating the presentation of the PID. + 5. **(Q)EAA Issuance**: the User is authenticated with a valid PID and the (Q)EAA Provider releases a (Q)EAA bound to the key material held by the requesting Wallet Instance. Detailed Flow ------------- -The PID/(Q)EAA Issuance phase is based on the **Authorization Code Flow** with **Pushed Authorization Requests** (PAR) [:rfc:`9126`] and **PKCE** (Proof Key for Code Exchange, :rfc:`7636`) as recommended in `[OIDC4VCI. Draft 13. Section 3.4] `_. A *Wallet Initiated Flow* is involved and the User receives the PID/(Q)EAA directly in response to the Credential Request (*Immediate Flow*). +The PID/(Q)EAA Issuance phase uses the **Authorization Code Flow** with the following specifications: + +* **Pushed Authorization Requests** (PAR) [:rfc:`9126`]; +* **PKCE** (Proof Key for Code Exchange, :rfc:`7636`) as recommended in `[OIDC4VCI. Draft 13. Section 3.4] `_. + +In this section a *Wallet Initiated Flow* is outlined, where the User receives the PID/(Q)EAA directly in response to the Credential Request. .. warning:: - + All the non-normative examples are referred to the PID Provider issuance flow. .. _fig_Low-Level-Flow-ITWallet-PID-QEAA-Issuance: @@ -85,36 +89,36 @@ The PID/(Q)EAA Issuance phase is based on the **Authorization Code Flow** with * :figwidth: 100% :align: center :target: https://www.plantuml.com/plantuml/svg/bLJVRzis47xdNt587vO0DlPke4MTn6kC5OEHfSXB086HplOj4gcHnwZUm_xs7KLPfkQqQ8C0KSZxyNtVVSUFdhNZqDHA1xOcDC_eb6hbZ4fgjM6u-EBHNO3s49Hwjb_JmIyUV2DHxTuQl81tdsctv-iwu3JtsjbkJDVJkqTTryYmDWB1bDZ7T0fD1TBbVnWswrlOEFjArL2CbFnqCFy0OG7scJKPEDZWG29LWBbST0iue5VA6Si8zXKTTF3kyMxzi5931kyHQl8CTjj_FxZW6Il8s_a8gQyX3USVf5rfpPPSqsTuhB5aiYQMoDEK2W92CDYNAOGPYLhhJtSFd-vNgp_KpHxBbqaca0SXFuBw3ULGzpsqgOvaYJqqoBhIh7E449c3W7Ie6M7p-yrA05S8qfosXAulyhXUpZTsCyIJn6-Mzt2FVmVq39TF1i2XRwtnMF2XnLayAMj2mmLLwJyfMfJxE4IpmpUE2e6tjodOfSfv6UqzkiXgsY2_UIym_nsWFfaho7LyIyNag1yHSaZmj3EQWyCXv5XXoOoUJvf7iLzrJHNn0JAr5IMdZVeboU1ou5i4HpF0hoqvz0MPgsJQw5gzW6KGVHpza_gCufzaXgpCbGgwpwIVJbGJtMRXk0J1HpT8BScYCXNhYFU0wzlbdt0dAzspBoCdm-Uy1T4Pc562Q8OPH1Nb3ta_4kX-9Ybpz0vD71_2hTW1Nl3mpRlMMRlDVGvRwwOxnlO53GYZrf9GonRXGMv6KPCUMT7ByqNOEMquCx6jicquRjstdVy-EBCWvEr2lAeRlx1n98iKEnzZvp5syLV7y-FDoQDI_BkxCwnWHGxBtXDFqOcKn4kCyo7eiaJlYrwYML8gqSkSF8EoCDQKE7uKcStFtw6adlosrdkf7iT-EMJsuTFuNFApsKb85Ishwt60sVnkJhVdGyofzGR9HtkgMrIu9KEzjh5_etcMegxUUeEkFtzPgNlSaUUuKNKTtv8CvjnXBQGgK6HIDIdSyqhsIBltgyDNcpuXVsI6EUNCic4DwB9kFpmQ4VNqgaKnefs2XpA-ZLcSP-joEkgZW0jD_Hy0 - + PID/(Q)EAA Issuance - Detailed flow -**Steps 1-4 (Discovery):** The User selects the PID/(Q)EAA Provider, and the Wallet Instance obtains the Metadata for the selected PID/(Q)EAA Provider. +**Steps 1-4 (Discovery):** The User selects the PID/(Q)EAA Provider using the Wallet Instance, the Metadata for the selected PID/(Q)EAA Provider are processed by the Wallet Instance. .. note:: - **Federation Check:** The Wallet Instance needs to check if the PID/(Q)EAA Provider is part of the Federation, obtaining then its protocol specific Metadata. A non-normative example of a response from the endpoint **.well-known/openid-federation** with the **Entity Configuration** and the **Metadata** of the PID/(Q)EAA Provider is represented within the section `Entity Configuration Credential Issuer`_. + **Federation Check:** The Wallet Instance needs to check if the PID/(Q)EAA Provider is part of the Federation, obtaining its protocol specific Metadata. A non-normative example of a response from the endpoint **.well-known/openid-federation** with the **Entity Configuration** and the **Metadata** of the PID/(Q)EAA Provider is represented within the section `Entity Configuration Credential Issuer`_. **Steps 5-6 (PAR Request):** The Wallet Instance: - * creates a fresh PKCE code verifier, Wallet Instance Attestation Proof of Possession, and ``state`` parameter for the *Pushed Authorization Request*. - * provides to the PID/(Q)EAA Provider PAR endpoint the parameters previously listed above, using the ``request`` parameter (hereafter Request Object) according to :rfc:`9126` Section 3 to prevent Request URI swapping attack. - * MUST create the ``code_verifier`` with enough entropy random string using the unreserved characters with a minimum length of 43 characters and a maximum length of 128 characters, making it impractical for an attacker to guess its value. The value MUST be generated following the recommendation in Section 4.1 of :rfc:`7636`. - * signs this request using the private key that is created during the setup phase to obtain the Wallet Instance Attestation. The related public key that is attested by the Wallet Provider is provided within the Wallet Instance Attestation ``cnf`` claim. - * MUST create the value of the ``client_assertion`` parameter according to OAuth 2.0 Attestation-based Client Authentication [`oauth-attestation-draft `_], since in this flow the Pushed Authorization Endpoint is a protected endpoint. The ``client_assertion`` value MUST NOT contain more or less than precisely two JWTs separated with the ``~`` character. The first JWT MUST be the Wallet Instance Attestation JWT and the second JWT MUST be the Wallet Instance Attestation Proof of Possession. - * specifies the types of the requested credentials using the ``authorization_details`` [RAR :rfc:`9396`] parameter. + * creates a fresh PKCE code verifier, Wallet Attestation Proof of Possession, and ``state`` parameter for the *Pushed Authorization Request*. + * provides to the PID/(Q)EAA Provider PAR endpoint the parameters previously listed above, using the ``request`` parameter (hereafter Request Object) according to :rfc:`9126` Section 3 to prevent Request URI swapping attack. + * MUST create the ``code_verifier`` with enough entropy random string using the unreserved characters with a minimum length of 43 characters and a maximum length of 128 characters, making it impractical for an attacker to guess its value. The value MUST be generated following the recommendation in Section 4.1 of :rfc:`7636`. + * signs this request using the private key that is created during the setup phase to obtain the Wallet Attestation. The related public key that is attested by the Wallet Provider is provided within the Wallet Attestation ``cnf`` claim. + * MUST create the value of the ``client_assertion`` parameter according to OAuth 2.0 Attestation-based Client Authentication [`oauth-attestation-draft `_], since in this flow the Pushed Authorization Endpoint is a protected endpoint. The ``client_assertion`` value MUST NOT contain more or less than precisely two JWTs separated with the ``~`` character. The first JWT MUST be the Wallet Attestation JWT and the second JWT MUST be the Wallet Attestation Proof of Possession. + * specifies the types of the requested credentials using the ``authorization_details`` [RAR :rfc:`9396`] parameter. The PID/(Q)EAA Provider performs the following checks upon the receipt of the PAR request: - - 1. It MUST validate the signature of the Request Object using the algorithm specified in the ``alg`` header parameter (:rfc:`9126`, :rfc:`9101`) and the public key that can be retrieved from the Wallet Instance Attestation (``cnf``) identified using the ``kid`` header of the Request Object. - 2. It MUST check that the used algorithm for signing the request in the ``alg`` header is among the appropriate once reported in Section `Cryptographic Algorithms `_. - 3. It MUST check that the ``client_id`` in the request body of the PAR request matches the ``client_id`` claim in the Request Object. + + 1. It MUST validate the signature of the Request Object using the algorithm specified in the ``alg`` header parameter (:rfc:`9126`, :rfc:`9101`) and the public key retrieved from the Wallet Attestation (``cnf.jwk``) referenced in the Request Object, using the ``kid`` JWS header parameter. + 2. It MUST check that the used algorithm for signing the request in the ``alg`` header is one of the listed within the Section `Cryptographic Algorithms `_. + 3. It MUST check that the ``client_id`` in the request body of the PAR request matches the ``client_id`` claim included in the Request Object. 4. It MUST check that the ``iss`` claim in the Request Object matches the ``client_id`` claim in the Request Object (:rfc:`9126`, :rfc:`9101`). - 5. It MUST check that the ``aud`` claim in the Request Object is equal to the identifier of PID/(Q)EAA Provider (:rfc:`9126`, :rfc:`9101`). + 5. It MUST check that the ``aud`` claim in the Request Object is equal to the PID/(Q)EAA Provider authorization endpoint uri (:rfc:`9126`, :rfc:`9101`). 6. It MUST reject the PAR request, if it contains the ``request_uri`` parameter (:rfc:`9126`). - 7. It MUST check that the Request Object contains all the mandatory parameters and their values are validated according to what we defined in :ref:`Table of the HTTP parameters ` [derived from :rfc:`9126`]. - 8. It MUST check that the Request Object is not expired by checking the ``exp`` claim (:rfc:`9126`). - 9. It MUST check that the Request Object was issued at a time acceptable by the PID/(Q)EAA Provider by checking the ``iat`` claim. For example, basing on the security policies of the PID/(Q)EAA Provider, it might reject the request if the ``iat`` claim is too far away from the current time (:rfc:`9126`). + 7. It MUST check that the Request Object contains all the mandatory parameters which values are validated according to :ref:`Table of the HTTP parameters ` [derived from :rfc:`9126`]. + 8. It MUST check that the Request Object is not expired, checking the ``exp`` claim (:rfc:`9126`). + 9. It MUST check that the Request Object was issued in a previous time than the value exposed in the ``iat`` claim. It SHOULD reject the request if the ``iat`` claim is far from the current time (:rfc:`9126`) of more than `5` minutes. 10. It MUST check that the ``jti`` claim in the Request Object has not been used before by the Wallet Instance identified by the ``client_id``. This allows the PID/(Q)EAA Provider to mitigate replay attacks (:rfc:`7519`). 11. It MUST validate the ``client_assertion`` parameter based on Sections 4.1 and 4.2 of [`oauth-attestation-draft `_]. @@ -125,20 +129,20 @@ Below a non-normative example of the PAR. POST /as/par HTTP/1.1 Host: pid-provider.example.org Content-Type: application/x-www-form-urlencoded - + response_type=code &client_id=$thumprint-of-the-jwk-in-the-cnf-wallet-attestation$ &code_challenge=E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM &code_challenge_method=S256 &request=$SIGNED-JWT &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation - &client_assertion=$WIA~WIA-PoP + &client_assertion=$WIA~WIA-PoP -An example of Wallet Instance Attestation Proof of Possession is as the following: +Below an non-normative example of the Wallet Attestation Proof of Possession without encoding and signature applied: -.. code-block:: +.. code-block:: - { + { "alg": "ES256", "kid": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", "typ": "jwt-client-attestation-pop", @@ -146,13 +150,13 @@ An example of Wallet Instance Attestation Proof of Possession is as the followin . { "iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", - "aud": "https://pid-provider.example.org", + "aud": "https://pid-provider.example.org/par-endpoint", "jti": "ad25868c-8377-479b-8094-46fb1e797625", "iat": 1686645115, "exp": 1686652315 } -The JWS of Request Object is represented below: +Below an non-normative example of the signed Request Object without encoding and signature applied: .. code-block:: @@ -173,13 +177,10 @@ The JWS of Request Object is represented below: "code_challenge":"E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM", "code_challenge_method":"S256", "authorization_details":[ - { - "type":"openid_credential", - "format": "vc+sd-jwt", - "credential_definition": { - "type": "PersonIdentificationData" - } - } + { + "type": "openid_credential", + "credential_configuration_id": "PersonIdentificationData" + } ], "redirect_uri":"eudiw://start.wallet.example.org", } @@ -187,22 +188,30 @@ The JWS of Request Object is represented below: .. note:: - **Federation Check:** The PID/(Q)EAA Provider MUST check that the Wallet Provider is part of the federation and in addition it MUST verify the Wallet Instance Attestation validity by checking its signature and data. + **Federation Check:** The PID/(Q)EAA Provider MUST check that the Wallet Provider is part of the federation. -**Step 7 (PAR Response):** The PID/(Q)EAA Provider MUST issue the ``request_uri`` one-time use and bind it to the client identifier (``client_id``) that is provided in the Request Object. Furthermore, the entropy of the ``request_uri`` MUST be sufficiently large. The adequate shortness of the validity and the entropy of the ``request_uri`` depends on the risk calculation based on the value of the resource being protected. The validity time SHOULD be less than a minute, and the ``request_uri`` MUST include a cryptographic random value of 128 bits or more (:rfc:`9101`). The entire ``request_uri`` SHOULD NOT exceed 512 ASCII characters due to the following two main reasons (:rfc:`9101`): +.. note:: + The PID/(Q)EAA Provider MUST validate the signature of the the Wallet Attestation and that it is not expired. + + +**Step 7 (PAR Response):** The PID/(Q)EAA Provider provides a one-time use ``request_uri`` value. The issued ``request_uri`` value must be bound to the client identifier (``client_id``) that was provided in the Request Object. - 1. Many phones on the market still do not accept large payloads. The restriction is typically either 512 or 1024 ASCII characters. - 2. On a slow connection such as a 2G mobile connection, a large URL would cause a slow response; therefore, the use of such is not advisable from the user-experience point of view. - - The PID/(Q)EAA Provider returns the issued ``request_uri`` to the Wallet Instance. + +.. note:: + The entropy of the ``request_uri`` MUST be sufficiently large. The adequate shortness of the validity and the entropy of the ``request_uri`` depends on the risk calculation based on the value of the resource being protected. The validity time SHOULD be less than a minute, and the ``request_uri`` MUST include a cryptographic random value of 128 bits or more (:rfc:`9101`). The entire ``request_uri`` SHOULD NOT exceed 512 ASCII characters due to the following two main reasons (:rfc:`9101`): + + 1. Many phones on the market still do not accept large payloads. The restriction is typically either 512 or 1024 ASCII characters. + 2. On a slow connection such as a 2G mobile connection, a large URL would cause a slow response; therefore, the use of such is not advisable from the user-experience point of view. + +The PID/(Q)EAA Provider returns the issued ``request_uri`` to the Wallet Instance. A non-normative example of the response is shown below. .. code-block:: http HTTP/1.1 201 Created Cache-Control: no-cache, no-store Content-Type: application/json - + { "request_uri":"urn:ietf:params:oauth:request_uri:bwc4JK-ESC0w8acc191e-Y1LTC2", "expires_in": 60 @@ -213,19 +222,19 @@ The JWS of Request Object is represented below: 1. It MUST treat ``request_uri`` values as one-time use and MUST reject an expired request. However, it MAY allow for duplicate requests due to a user reloading/refreshing their user-agent (derived from :rfc:`9126`). 2. It MUST identify the request as a result of the submitted PAR (derived from :rfc:`9126`). - 3. It MUST reject all the Authorization Requests that do not contain the ``request_uri`` parameter as the PAR is the only way to pass the Authorization Request from the Wallet Instance (derived from :rfc:`9126`). + 3. It MUST reject all the Authorization Requests that do not contain the ``request_uri`` parameter as the PAR is the only way to pass the Authorization Request from the Wallet Instance (derived from :rfc:`9126`). .. code-block:: http GET /authorize?client_id=$thumprint-of-the-jwk-in-the-cnf-wallet-attestation$&request_uri=urn%3Aietf%3Aparams%3Aoauth%3Arequest_uri%3Abwc4JK-ESC0w8acc191e-Y1LTC2 HTTP/1.1 Host: pid-provider.example.org - + .. note:: - **User Authentication and Consent:** The PID Provider performs the User authentication based on the requirements of eIDAS LoA High by means of national notified eIDAS scheme and requires the User consent for the PID issuance. - The (Q)EAA Provider performs the User authentication requesting a valid PID to the Wallet Instance. The (Q)EAA Provider MUST use [`OpenID4VP`_] to dynamically request the presentation of the PID. From a protocol perspective, the (Q)EAA Provider then acts as a Relying Party and provide the presentation request to the Wallet Instance. The Wallet Instance MUST have a valid PID obtained prior to start the transaction with the (Q)EAA Provider. + **User Authentication and Consent:** The PID Provider performs the User authentication based on the requirements of eIDAS LoA High by means of national notified eIDAS scheme and requires the User consent for the PID issuance. + The (Q)EAA Provider performs the User authentication requesting a valid PID to the Wallet Instance. The (Q)EAA Provider MUST use [`OpenID4VP`_] to dynamically request the presentation of the PID. From a protocol perspective, the (Q)EAA Provider acts as a Relying Party, providing the presentation request to the Wallet Instance. The Wallet Instance MUST have a valid PID obtained prior to start the transaction with the (Q)EAA Provider. **Steps 10-11 (Authorization Response):** The PID/(Q)EAA Provider sends an authorization ``code`` together with ``state`` and ``iss`` parameters to the Wallet Instance. The Wallet Instance performs the following checks on the Authorization Response: @@ -237,22 +246,21 @@ The JWS of Request Object is represented below: .. note:: The Wallet Instance redirect URI is a universal or app link registered with the local operating system, so this latter will resolve it and pass the response to the Wallet Instance. - + .. code-block:: http HTTP/1.1 302 Found - Location: eudiw://start.wallet.example.org?code=SplxlOBeZQQYbYS6WxSbIA&state=fyZiOL9Lf2CeKuNT2JzxiLRDink0uPcd&iss=https%3A%2F%2Fpid-provider.example.org + Location: https://start.wallet.example.org?code=SplxlOBeZQQYbYS6WxSbIA&state=fyZiOL9Lf2CeKuNT2JzxiLRDink0uPcd&iss=https%3A%2F%2Fpid-provider.example.org -**Steps 12-13 (DPoP Proof for Token Endpoint)**: The Wallet Instance MUST create a new key pair for the DPoP and a fresh DPoP Proof JWT following the instruction provided in Section 4 of (:rfc:`9449`) for the token request to the PID/(Q)EAA Provider. The DPoP Proof JWT is signed using the created private key for DPoP by Wallet Instance. DPoP provides a way to bind the Access Token to a certain sender (Wallet Instance) (:rfc:`9449`). This mitigates the misuse of leaked or stolen Access Tokens at the Credential Endpoint of PID/(Q)EAA Issuer as the attacker needs to present a valid DPoP Proof JWT. +**Steps 12-13 (DPoP Proof for Token Endpoint)**: The Wallet Instance MUST create a new key pair for the DPoP and a fresh DPoP Proof JWT following the instruction provided in Section 4 of (:rfc:`9449`) for the token request to the PID/(Q)EAA Provider. The DPoP Proof JWT is signed using the private key for DPoP created by Wallet Instance for this scope. DPoP binds the Access Token to a certain Wallet Instance (:rfc:`9449`) and mitigates the misuse of leaked or stolen Access Tokens at the Credential Endpoint. -**Step 14 (Token Request):** The Wallet Instance sends a token request to the PID/(Q)EAA Provider Token Endpoint using the authorization ``code``, ``code_verifier``, *DPoP Proof JWT* and OAuth 2.0 Attestation based Client Authentication parameters (``client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation`` and ``client_assertion=WIA~WIA-PoP``). -The ``client_assertion`` is signed using the private key that is created during the setup phase to obtain the Wallet Instance Attestation. The related public key that is attested by the Wallet Provider is provided within the Wallet Instance Attestation (``cnf`` claim). The PID/(Q)EAA Provider performs the following checks on the Token Request: +**Step 14 (Token Request):** The Wallet Instance sends a token request to the PID/(Q)EAA Provider Token Endpoint with a *DPoP Proof JWT* and the parameters: ``code``, ``code_verifier``, and OAuth 2.0 Attestation based Client Authentication (``client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation`` and ``client_assertion=WIA~WIA-PoP``). +The ``client_assertion`` is signed using the private key that is created during the setup phase to obtain the Wallet Attestation. The related public key that is attested by the Wallet Provider is provided within the Wallet Attestation (``cnf`` claim). The PID/(Q)EAA Provider performs the following checks on the Token Request: - 1. It MUST authenticate the Wallet Instance based on the OAuth 2.0 Attestation based Client Authentication method `oauth-attestation-draft `_. - 2. It MUST ensure that the Authorization ``code`` is issued to the authenticated Wallet Instance (:rfc:`6749`). - 3. It MUST ensure the Authorization ``code`` is valid and has not been previously used (:rfc:`6749`). - 4. It MUST ensure the ``redirect_uri`` is identical to the value that was initially included in the Request Object `OpenID.Core#TokenRequest `_. - 5. It MUST validate the DPoP Proof JWT following the steps in Section 4.3 of (:rfc:`9449`). + 1. It MUST ensure that the Authorization ``code`` is issued to the authenticated Wallet Instance (:rfc:`6749`) and was not replied. + 2. It MUST ensure the Authorization ``code`` is valid and has not been previously used (:rfc:`6749`). + 3. It MUST ensure the ``redirect_uri`` matches the value included in the previous Request Object `OpenID.Core#TokenRequest `_. + 4. It MUST validate the DPoP Proof JWT, according to (:rfc:`9449`) Section 4.3. .. code-block:: http @@ -267,41 +275,54 @@ The ``client_assertion`` is signed using the private key that is created during WF0IjoxNTYyMjYyNjE2fQ.2-GxA6T8lP4vfrg8v-FdWP0A0zdrj8igiMLvqRMUvwnQg 4PtFLbdLXiOSsX0x7NVY-FNyJK70nfbV37xRZT3Lg - client_id=$thumprint-of-the-jwk-in-the-cnf-wallet-attestation$ - &grant_type=authorization_code + grant_type=authorization_code &code=SplxlOBeZQQYbYS6WxSbIA - &redirect_uri=eudiw://start.wallet.example.org &code_verifier=dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk + &redirect_uri=https://start.wallet.example.org/cb &client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation &client_assertion=$WIA~WIA-PoP +**Step 15 (Token Response):** The PID/(Q)EAA Provider validates the request, if successful an *Access Token* (bound to the DPoP key) and a fresh `c_nonce` are provided by the Issuer to the Wallet Instance. The parameter `c_nonce` is a string value, which MUST be unpredictable and is used later by the Wallet Instance in Step 18 to create the proof of possession of the key (*proof* claim) and it is the primary countermeasure against key proof replay attack. Note that, the received `c_nonce` value can be used to create the proof as long as the Issuer provides the Wallet Instance with a new `c_nonce` value. -**Step 15 (Token Response):** The PID/(Q)EAA Provider validates the request and if it is successful, it issues an *Access Token* (bound to the DPoP key) and a fresh ``c_nonce``. - -.. code-block:: http +.. code-block:: HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store - + { - "access_token": "Kz~8mXK1EalYznwH-LC-1fBAo.4Ljp~zsPE_NeO.gxU", - "token_type": "DPoP", - "expires_in": 2677, - "c_nonce": "tZign[...]snFbp", - "c_nonce_expires_in": 86400 + "access_token": "Kz~8mXK1EalYznwH-LC-1fBAo.4Ljp~zsPE_NeO.gxU ...", + "token_type": "DPoP", + "expires_in": 2677, + "c_nonce": "tZign[...]snFbp", + "c_nonce_expires_in": 86400, + "authorization_details": [ + { + "type": "openid_credential", + "credential_configuration_id: "PersonIdentificationData" + } + } + ] } -**Steps 16-17 (DPoP Proof for Credential Endpoint):** The Wallet Instance creates a proof of possession with the DPoP key following the steps in Section 7.2.1 of `OPENID4VCI`_ and the ``c_nonce`` obtained in **Step 15** and it creates a DPoP Proof JWT based on Section 4 of (:rfc:`9449`) for the request to the PID/(Q)EAA credential issuance endpoint. The ``jwk`` value in the proof parameter MUST be equal to the public key generated for the DPoP. +**Steps 16-17 (DPoP Proof for Credential Endpoint):** The Wallet Instance for requesting the Digital Credential creates a proof of possession with ``c_nonce`` obtained in **Step 15** and using the private key used for the DPoP, signing a DPoP Proof JWT according to (:rfc:`9449`) Section 4. The ``jwk`` value in the ``proof`` parameter MUST be equal to the public key referenced in the DPoP. + +**Step 18 (Credential Request):** The Wallet Instance sends a request for the Digital Credential to the PID/(Q)EAA Credential endpoint. This request MUST include the Access Token, DPoP Proof JWT, credential type, proof (which demonstrates possession of the key), and format parameters. The proof parameter MUST be an object that contains evidence of possession of the cryptographic key material to which the issued PID/(Q)EAA Digital Credential will be bound. To verify the proof, the PID/(Q)EAA Provider conducts the following checks at the Credential endpoint: + + 1. the JWT proof MUST include all required claims as specified in the table of Section :ref:`Token Request `; + 2. The key proof MUST be explicitly typed using header parameters as defined for the respective proof type; + 3. The header parameter alg MUST indicate a registered asymmetric digital signature algorithm, and MUST NOT be set to `none`; + 4. The signature on the key proof MUST be verified using the public key specified in the header parameter. + 5. The header parameter MUST NOT contain a private key. + 6. If a `c_nonce` value was previously provided by the server, the nonce claim in the JWT MUST match this `c_nonce` value. Furthermore, the creation time of the JWT, as indicated by the `iat` claim or a server-managed timestamp via the nonce claim, MUST be within an acceptable window of time as determined by the server. -**Step 18 (Credential Request):** The Wallet Instance requests a PID/(Q)EAA issuance to the PID/(Q)EAA credential endpoint. The request MUST contain the *Access Token*, the *DPoP Proof JWT*, and the *credential type*, the ``proof`` (proof of possession of the key) and the ``format`` parameters. .. note:: - **PID/(Q)EAA Credential Schema and Status registration:** The PID/(Q)EAA Provider MUST register all the issued credentials for their later revocation, if needed. + **PID/(Q)EAA Credential Schema and Status registration:** The PID/(Q)EAA Provider MUST register all the issued Credentials for their later revocation, if needed. -.. code-block:: +.. code-block:: POST /credential HTTP/1.1 Host: pid-provider.example.org @@ -327,7 +348,8 @@ The ``client_assertion`` is signed using the private key that is created during } -Where the decoded content of the ``jwt`` parameter is represented below: +Where a non-normative example of the decoded content of the ``jwt`` parameter is represented below, +without encoding and signature. The JWS header: .. code-block:: JSON @@ -343,25 +365,27 @@ Where the decoded content of the ``jwt`` parameter is represented below: } +And the JWS payload: + .. code-block:: JSON { - "iss": "0b434530-e151-4c40-98b7-74c75a5ef760", - "aud": "https://pid-provider.example.org", - "iat": 1504699136, - "nonce": "tZign...snFbp" + "iss": "0b434530-e151-4c40-98b7-74c75a5ef760", + "aud": "https://pid-provider.example.org/credential", + "iat": 1504699136, + "nonce": "tZign...snFbp" } -**Steps 19-21 (Credential Response):** The PID/(Q)EAA Provider MUST validate the *DPoP JWT Proof* based on the steps defined in Section 4.3 of (:rfc:`9449`) and whether the *Access Token* is valid and suitable for the requested PID/(Q)EAA. It also MUST validate the proof of possession for the key material the new credential SHALL be bound to following the steps in Section 7.2.2 of `OPENID4VCI`_. If all checks succeed, the PID/(Q)EAA Provider creates a new credential bound to the key material and provide it to the Wallet Instance. The Wallet Instance MUST perform the following checks before proceeding with the secure storage of the PID/(Q)EAA credential: +**Steps 19-21 (Credential Response):** The PID/(Q)EAA Provider MUST validate the *DPoP JWT Proof* based on the steps defined in Section 4.3 of (:rfc:`9449`) and whether the *Access Token* is valid and suitable for the requested PID/(Q)EAA. It also MUST validate the proof of possession for the key material the new credential SHALL be bound to, according to `OPENID4VCI`_ Section 7.2.2. If all checks succeed, the PID/(Q)EAA Provider creates a new Credential bound to the key material and provide it to the Wallet Instance. The Wallet Instance MUST perform the following checks before proceeding with the secure storage of the PID/(Q)EAA: 1. It MUST check that the PID Credential Response contains all the mandatory parameters and values are validated according to :ref:`Table of the credential response parameters `. 2. It MUST check the PID integrity by verifying the signature using the algorithm specified in the ``alg`` header parameter of SD-JWT (:ref:`PID/(Q)EAA Data Model `) and the public key that is identified using using the ``kid`` header of the SD-JWT. - 3. It MUST check that the received PID credential (in credential claim) contains all the mandatory parameters defined in :ref:`PID/(Q)EAA Data Model `. - 4. It MUST process and verify the PID that is in SD-JWT VC following the steps in Section 6 of `SD.JWT#Verification `_. + 3. It MUST check that the received PID (in credential claim) matches the schema defined in :ref:`PID/(Q)EAA Data Model `. + 4. It MUST process and verify the PID in SD-JWT VC format (according to `SD.JWT#Verification `_ Section 6.) or MDOC CBOR format. 5. It MUST verify the Trust Chain in the header of SD-JWT VC to verify that the PID Provider is trusted. -If the checks defined above are successful the Wallet Instance proceeds with the secure storage of the PID credential. +If the checks defined above are successful the Wallet Instance proceeds with the secure storage of the PID/(Q)EAA. .. code-block:: http @@ -369,12 +393,12 @@ If the checks defined above are successful the Wallet Instance proceeds with the Content-Type: application/json Cache-Control: no-store Pragma: no-cache - + { - "format": "vc+sd-jwt" - "credential" : "LUpixVCWJk0eOt4CXQe1NXK[...]WZwmhmn9OQp6YxX0a2L", - "c_nonce": "fGFF7[...]UkhLa", - "c_nonce_expires_in": 86400 + "format": "vc+sd-jwt" + "credential" : "LUpixVCWJk0eOt4CXQe1NXK[...]WZwmhmn9OQp6YxX0a2L", + "c_nonce": "fGFF7[...]UkhLa", + "c_nonce_expires_in": 86400 } Pushed Authorization Request Endpoint @@ -385,7 +409,7 @@ Pushed Authorization Request (PAR) Request The requests to the PID/(Q)EAA authorization endpoint MUST use the HTTP POST method with the parameters in the message body encoded in ``application/x-www-form-urlencoded`` format. The Pushed Authorization Endpoint is protected with OAuth 2.0 Attestation-based Client Authentication [`oauth-attestation-draft `_] and the following parameters MUST be provided: -.. _table_http_request_claim: +.. _table_http_request_claim: .. list-table:: PAR http request parameters :widths: 20 60 20 :header-rows: 1 @@ -397,7 +421,7 @@ The requests to the PID/(Q)EAA authorization endpoint MUST use the HTTP POST met - MUST be set to ``code``. - :rfc:`6749` * - **client_id** - - MUST be set to the thumbprint of the ``jwk`` value in the ``cnf`` parameter inside the Wallet Instance Attestation. + - MUST be set to the thumbprint of the ``jwk`` value in the ``cnf`` parameter inside the Wallet Attestation. - :rfc:`6749` * - **code_challenge** - A challenge derived from the **code verifier** that is sent in the authorization request. @@ -406,18 +430,18 @@ The requests to the PID/(Q)EAA authorization endpoint MUST use the HTTP POST met - A method that was used to derive **code challenge**. It MUST be set to ``S256``. - :rfc:`7636#section-4.3`. * - **request** - - It MUST be a signed JWT. The private key corresponding to the public one in the ``cnf`` parameter inside the Wallet Instance Attestation MUST be used for signing the Request Object. + - It MUST be a signed JWT. The private key corresponding to the public one in the ``cnf`` parameter inside the Wallet Attestation MUST be used for signing the Request Object. - `OpenID Connect Core. Section 6 `_ * - **client_assertion_type** - It MUST be set to ``urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation``. - `oauth-attestation-draft `_. * - **client_assertion** - - It MUST be set to a value containing the Wallet Instance Attestation JWT and the Proof of Possession, separated with the ``~`` character. + - It MUST be set to a value containing the Wallet Attestation JWT and the Proof of Possession, separated with the ``~`` character. - `oauth-attestation-draft `_. The JWT Request Object has the following JOSE header parameters: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -428,8 +452,8 @@ The JWT Request Object has the following JOSE header parameters: - A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms listed in the Section `Cryptographic Algorithms `_ and MUST NOT be set to ``none`` or any symmetric algorithm (MAC) identifier. - :rfc:`7516#section-4.1.1`. * - **kid** - - Unique identifier of the ``jwk`` inside the ``cnf`` claim of Wallet Instance Attestation as base64url-encoded JWK Thumbprint value. - - :rfc:`7638#section_3`. + - Unique identifier of the ``jwk`` inside the ``cnf`` claim of Wallet Attestation as base64url-encoded JWK Thumbprint value. + - :rfc:`7638#section_3`. .. note:: The parameter **typ**, if omitted, assumes the implicit value **JWT**. @@ -438,7 +462,7 @@ The JWT Request Object has the following JOSE header parameters: The JWT payload is given by the following parameters: .. _table_jwt_request: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -474,10 +498,9 @@ The JWT payload is given by the following parameters: - See :ref:`Table of the HTTP parameters `. * - **authorization_details** - Array of JSON Objects. Each JSON Object MUST include the following claims: - + - **type**: it MUST be set to ``openid_credential``, - - **format**: it MUST be set to ``vc+sd-jwt``, - - **credential_definition**: JSON Object. It MUST have the **type** claim which MUST be set in accordance to the type of the requested PID/(Q)EAA that is obtained from the metadata of the PID/(Q)EAA Issuer. For example, in the case of the PID, it MUST be set to ``PersonIdentificationData``. + - **credential_configuration_id**: JSON String. String specifying a unique identifier of the Credential being described in the `credential_configurations_supported` map in the Credential Issuer Metadata. For example, in the case of the PID, it MUST be set to ``PersonIdentificationData``. - See [RAR :rfc:`9396`] and `[OIDC4VCI. Draft 13] `_. * - **redirect_uri** - Redirection URI to which the response is intended to be sent. It MUST be an universal or app link registered with the local operating system, so this latter will provide the response to the Wallet Instance. @@ -492,10 +515,10 @@ The JWT payload is given by the following parameters: - Unique identifier of the JWT that, together with the value contained in the ``iss`` claim, prevents the reuse of the JWT (replay attack). Since the `jti` value alone is not collision resistant, it MUST be identified uniquely together with its issuer. - [:rfc:`7519`]. -The JOSE header of the Wallet Instance Attestation Proof of Possession MUST contain: +The JOSE header of the Wallet Attestation proof of possession MUST contain: .. _table_jwt_pop: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -506,15 +529,15 @@ The JOSE header of the Wallet Instance Attestation Proof of Possession MUST cont - A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms listed in the Section `Cryptographic Algorithms `_ and MUST NOT be set to ``none`` or any symmetric algorithm (MAC) identifier. - :rfc:`7516#section-4.1.1`. * - **kid** - - Unique identifier of the ``jwk`` inside the ``cnf`` claim of Wallet Instance Attestation as base64url-encoded JWK Thumbprint value. - - :rfc:`7638#section_3`. + - Unique identifier of the ``jwk`` inside the ``cnf`` claim of Wallet Attestation as base64url-encoded JWK Thumbprint value. + - :rfc:`7638#section_3`. * - **typ** - It MUST be set to ``jwt-client-attestation-pop`` - Currently under discussion in [`oauth-attestation-draft `_]. -The body of the Wallet Instance Attestation Proof of Possession JWT MUST contain: +The body of the Wallet Attestation proof of possession JWT MUST contain: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -545,7 +568,7 @@ Pushed Authorization Request (PAR) Response If the verification is successful, the PID/(Q)EAA Issuer MUST provide the response with a *201 HTTP status code*. The following parameters are included as top-level members in the HTTP response message body, using the ``application/json`` media type as defined in [:rfc:`8259`]. .. _table_http_response_claim: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -574,7 +597,7 @@ The Authorization request is issued by the Web Browser in use by the Wallet Inst The mandatory parameters in the HTTP authentication request are specified in the following table. -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -596,7 +619,7 @@ The authentication response is returned by the PID/(Q)EAA authorization endpoint If the authentication is successful the PID/(Q)EAA Issuer redirects the User by adding the following query parameters as required to the *redirect_uri*. The redirect URI MUST be an universal or app link registered with the local operating system, so this latter is able to provide the response to the Wallet Instance. -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -614,32 +637,30 @@ If the authentication is successful the PID/(Q)EAA Issuer redirects the User by - `OAuth 2.0 Authorization Server Issuer Identifier in Authorization Response `_, `[RFC7519, Section 4.1.1] `_. - Token endpoint -------------- -The token endpoint is used by the Wallet Instance to obtain an Access Token by presenting its authorization grant, as +The token endpoint is used by the Wallet Instance to obtain an Access Token by presenting an authorization grant, as defined in :rfc:`6749`. The Token Endpoint is a protected endpoint with a client authentication based on the model defined in OAuth 2.0 Attestation-based Client Authentication [`oauth-attestation-draft `_]. +.. _sec_token_request: + Token Request ^^^^^^^^^^^^^^^ The request to the PID/(Q)EAA Token endpoint MUST be an HTTP request with method POST, with the body message encoded in ``application/x-www-form-urlencoded`` format. The Wallet Instance sends the Token endpoint request with ``client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation`` and ``client_assertion=WIA~WIA-PoP``. -The Token endpoint MUST accept and validate the DPoP proof sent in the DPoP HTTP header. The Token endpoint MUST validate the DPoP proof according to Section 4.3 of the DPoP specifications (:rfc:`9449`). Thus, this mitigates the misuse of leaked or stolen Access Tokens at the credential endpoint. If the DPoP proof is invalid, the Token endpoint returns an error response, according to Section 5.2 of [:rfc:`6749`] with ``invalid_dpop_proof`` as the value of the error parameter. +The Token endpoint MUST accept and validate the DPoP proof sent in the DPoP HTTP header. The Token endpoint MUST validate the DPoP proof according to Section 4.3 of the DPoP specifications (:rfc:`9449`). This mitigates the misuse of leaked or stolen Access Tokens at the credential endpoint. If the DPoP proof is invalid, the Token endpoint returns an error response, according to Section 5.2 of [:rfc:`6749`] with ``invalid_dpop_proof`` as the value of the error parameter. All the parameters listed below are REQUIRED: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 * - **Claim** - **Description** - **Reference** - * - **client_id** - - It MUST be set as in the :ref:`Table of the HTTP parameters `. - - See :ref:`Table of the HTTP parameters `. * - **grant_type** - It MUST be set to ``authorization_code``. - `Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants `_. @@ -656,34 +677,34 @@ All the parameters listed below are REQUIRED: - It MUST be set to ``urn:ietf:params:oauth:client-assertion-type:jwt-client-attestation``. - `oauth-attestation-draft `_. * - **client_assertion** - - It MUST be set to a value containing the Wallet Instance Attestation JWT and the Proof of Possession JWT, separated with the ``~`` character (WIA~WIA-PoP). The Wallet Instance Attestation Proof of Possession MUST contain the claims as defined in :ref:`Table of the JWT Wallet Instance Attestation PoP `, Section :ref:`Pushed Authorization Request (PAR) Response`. + - It MUST be set to a value containing the Wallet Attestation JWT and the Proof of Possession JWT, separated with the ``~`` character (WIA~WIA-PoP). The Wallet Attestation Proof of Possession MUST contain the claims as defined in :ref:`Table of the JWT Wallet Attestation PoP `, Section :ref:`Pushed Authorization Request (PAR) Response`. - `oauth-attestation-draft `_. -A **DPoP Proof JWT** is included in an HTTP request using the ``DPoP`` header parameter containing a DPoP JWS. +A **DPoP Proof JWT** is included in the HTTP request using the ``DPoP`` header parameter containing a DPoP JWS. The JOSE header of a **DPoP JWT** MUST contain at least the following parameters: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 * - **JOSE header** - **Description** - **Reference** - * - **typ** - - It MUST be equal to ``dpop+jwt``. + * - **typ** + - It MUST be equal to ``dpop+jwt``. - [:rfc:`7515`] and [:rfc:`8725`. Section 3.11]. - * - **alg** + * - **alg** - A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms in Section :ref:`Cryptographic Algorithms ` and MUST NOT be set to ``none`` or with a symmetric algorithm (MAC) identifier. - [:rfc:`7515`]. - * - **jwk** - - It represents the public key chosen by the Wallet Instance, in JSON Web Key (JWK) [:rfc:`7517`] format that the Access Token shall be bound to, as defined in Section 4.1.3 of [:rfc:`7515`]. It MUST NOT contain a private key. + * - **jwk** + - It represents the public key chosen by the Wallet Instance, in JSON Web Key (JWK) [:rfc:`7517`] format that the Access Token MUST be bound to, as defined in [:rfc:`7515`] Section 4.1.3. It MUST NOT contain a private key. - [:rfc:`7517`] and [:rfc:`7515`]. The payload of a **DPoP JWT Proof** MUST contain at least the following claims: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -700,7 +721,7 @@ The payload of a **DPoP JWT Proof** MUST contain at least the following claims: - The HTTP target URI, without query and fragment parts, of the request to which the JWT is attached. - [:rfc:`9110`. Section 7.1]. * - **iat** - - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. + - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. - [:rfc:`7519`. Section 4.1.6]. @@ -709,7 +730,7 @@ Token Response Token endpoint response MUST contain the following mandatory claims. -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -726,43 +747,44 @@ Token endpoint response MUST contain the following mandatory claims. - Expiry time of the *Access Token* in seconds. - :rfc:`6749`. * - **c_nonce** - - JSON string containing a ``nonce`` value to be used to create a *proof of possession* of key material when requesting a credential. + - JSON string containing a ``nonce`` value to be used to create a *proof of possession* of key material when requesting a Credential. - `[OIDC4VCI. Draft 13] `_. * - **c_nonce_expires_in** - JSON integer, it represents the lifetime in seconds of the **c_nonce**. - `[OIDC4VCI. Draft 13] `_. + * - **authorization_details** + - JSON object, used to identify Credentials with the same metadata but different claimset/claim values and/or simplify the Credential request even when only one Credential is being issued. + - `[OIDC4VCI. Draft 13] `_. + Access Token ^^^^^^^^^^^^ A DPoP-bound Access Token is provided by the PID/(Q)EAA Token endpoint as a result of a successful token request. The Access Token is encoded in JWT format, according to [:rfc:`7519`]. The Access Token MUST have at least the following mandatory claims and it MUST be bound to the public key that is provided by the DPoP proof. This binding can be accomplished based on the methodology defined in Section 6 of (:rfc:`9449`). -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 * - **Claim** - **Description** - **Reference** - * - **iss** + * - **iss** - It MUST be an HTTPS URL that uniquely identifies the PID/(Q)EAA Issuer. The Wallet Instance MUST verify that this value matches the PID/(Q)EAA Issuer where it has requested the credential. - [:rfc:`9068`], `[RFC7519, Section 4.1.1] `_. - * - **sub** - - It identifies the subject of the JWT. It MUST be set to the value of the ``sub`` field in the PID/(Q)EAA SD-JWT-VC. + * - **sub** + - It identifies the subject of the JWT. It MUST be set to the value of the ``sub`` field in the PID/(Q)EAA SD-JWT-VC. - [:rfc:`9068`], [:rfc:`7519`] and [`OpenID.Core#SubjectIDTypes `_]. - * - **client_id** - - As provided in the Wallet Instance Attestation. - - [:rfc:`9068`]. - * - **aud** - - It Must be Set to the URL of Credential Endpoint of the PID/(Q)EAA Provider. + * - **aud** + - It MUST be set to the URL of Credential Endpoint of the PID/(Q)EAA Provider. - [:rfc:`9068`]. - * - **iat** - - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. + * - **iat** + - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. - [:rfc:`9068`], [:rfc:`7519`. Section 4.1.6]. * - **exp** - UNIX Timestamp with the expiry time of the JWT, coded as NumericDate as indicated in :rfc:`7519`. - [:rfc:`9068`], [:rfc:`7519`]. - * - **jti** + * - **jti** - It MUST be a String in *uuid4* format. Unique Token ID identifier that the RP MAY use to prevent reuse by rejecting the Token ID if already processed. - [:rfc:`9068`], [:rfc:`7519`]. * - **jkt** @@ -773,25 +795,25 @@ A DPoP-bound Access Token is provided by the PID/(Q)EAA Token endpoint as a resu Credential endpoint ------------------- -The Credential Endpoint issues a credential as approved by the End-User upon presentation of a valid Access Token representing this approval, as defined in `OPENID4VCI`_. +The Credential Endpoint issues a Credential upon the presentation of a valid Access Token, as defined in `OPENID4VCI`_. Credential Request ^^^^^^^^^^^^^^^^^^^ -The Wallet Instance when requests the PID/(Q)EAA to the PID/(Q)EAA Credential endpoint, MUST use the following parameters in the entity-body of the HTTP POST request, using the `application/json` media type. +The Wallet Instance when requests the PID/(Q)EAA to the PID/(Q)EAA Credential endpoint, MUST use the following parameters in the message body of the HTTP POST request, using the `application/json` media type. -The Credential endpoint MUST accept and validate the *DPoP proof* sent in the DPoP field of the Header based on the steps defined in Section 4.3 of (:rfc:`9449`). The *DPoP proof* in addition to the values that are defined in the Token Endpoint section MUST contain the following claim: +The Credential endpoint MUST accept and validate the *DPoP proof* sent in the DPoP HTTP Header parameter, according to the steps defined in (:rfc:`9449`) Section 4.3. The *DPoP proof* in addition to the values that are defined in the Token Endpoint section MUST contain the following claim: - - **ath**: hash of the Access Token. The value MUST be the result of a base64url encoding (as defined in Section 2 of :rfc:`7515`) the SHA-256 hash of the ASCII encoding of the associated Access Token's value. + - **ath**: hash value of the Access Token encoded in ASCII. The value MUST use the base64url encoding (as defined in Section 2 of :rfc:`7515`) with the SHA-256 algorithm. -If the *DPoP proof* is invalid, the Credential endpoint returns an error response per Section 5.2 of [:rfc:`6749`] with `invalid_dpop_proof` as the value of the error parameter. +If the *DPoP proof* is invalid, the Credential endpoint returns an error response per Section 5.2 of [:rfc:`6749`] with `invalid_dpop_proof` as the value of the error parameter. .. warning:: - The Wallet Instance MUST create a **new DPoP proof** for the Credential request and MUST NOT use the previously created proof for the Token Endpoint. + The Wallet Instance MUST create a **new DPoP proof** for the Credential request and MUST NOT use the previously created proof for the Token Endpoint. -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -799,16 +821,16 @@ If the *DPoP proof* is invalid, the Credential endpoint returns an error respons - **Description** - **Reference** * - **credential_definition** - - JSON object containing the detailed description of the credential type. It MUST have at least the **type** sub claims which is a JSON array containing the type values the Wallet SHALL request in the Credential Request. It MUST be set in accordance to the type of the requested PID/(Q)EAA that is obtained from the PID/(Q)EAA Issuer metadata. In the case of the PID it MUST be set to ``PersonIdentificationData``. + - JSON object containing the detailed description of the Credential type. It MUST have at least the **type** sub claims which is a JSON array containing the type values the Wallet SHALL request in the Credential Request. It MUST be set in accordance to the type of the requested PID/(Q)EAA that is obtained from the PID/(Q)EAA Issuer metadata. In the case of the PID it MUST be set to ``PersonIdentificationData``. - `[OIDC4VCI. Draft 13] `_. - * - **format** + * - **format** - Format of the Credential to be issued. This MUST be `vc+sd-jwt`. - `[OIDC4VCI. Draft 13] `_. * - **proof** - JSON object containing proof of possession of the key material the issued credential shall be bound to. The proof object MUST contain the following mandatory claims: - **proof_type**: JSON string denoting the proof type. It MUST be `jwt`. - - **jwt**: the JWT used as proof of possession. + - **jwt**: the JWT used as proof of possession. - `[OIDC4VCI. Draft 13] `_. .. note:: @@ -818,7 +840,7 @@ If the *DPoP proof* is invalid, the Credential endpoint returns an error respons The JWT proof type MUST contain the following parameters for the JOSE header and the JWT body: -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -828,14 +850,14 @@ The JWT proof type MUST contain the following parameters for the JOSE header and * - **alg** - A digital signature algorithm identifier such as per IANA "JSON Web Signature and Encryption Algorithms" registry. It MUST be one of the supported algorithms in Section :ref:`Cryptographic Algorithms ` and MUST NOT be set to ``none`` or to a symmetric algorithm (MAC) identifier. - `[OIDC4VCI. Draft 13] `_, [:rfc:`7515`], [:rfc:`7517`]. - * - **typ** + * - **typ** - It MUST be set to `openid4vci-proof+jwt`. - `[OIDC4VCI. Draft 13] `_, [:rfc:`7515`], [:rfc:`7517`]. - * - **jwk** - - Representing the public key chosen by the Wallet Instance, in JSON Web Key (JWK) [:rfc:`7517`] format that the PID/(Q)EAA shall be bound to, as defined in Section 4.1.3 of [:rfc:`7515`]. The ``jwk`` value MUST be equal to the same public key that is generated for the DPoP. + * - **jwk** + - Representing the public key chosen by the Wallet Instance, in JSON Web Key (JWK) [:rfc:`7517`] format that the PID/(Q)EAA shall be bound to, as defined in Section 4.1.3 of [:rfc:`7515`]. The ``jwk`` value MUST be equal to the same public key that is generated for the DPoP. - `[OIDC4VCI. Draft 13] `_, [:rfc:`7515`], [:rfc:`7517`]. -.. list-table:: +.. list-table:: :widths: 20 60 20 :header-rows: 1 @@ -843,13 +865,13 @@ The JWT proof type MUST contain the following parameters for the JOSE header and - **Description** - **Reference** * - **iss** - - The value of this claim MUST be the **client_id** of the Wallet Instance. + - The value of this claim MUST be the **client_id** of the Wallet Instance. - `[OIDC4VCI. Draft 13] `_, `[RFC7519, Section 4.1.1] `_. * - **aud** - The value of this claim MUST be the identifier URL of the PID/(Q)EAA Issuer. - `[OIDC4VCI. Draft 13] `_. * - **iat** - - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. + - UNIX Timestamp with the time of JWT issuance, coded as NumericDate as indicated in :rfc:`7519`. - `[OIDC4VCI. Draft 13] `_, [:rfc:`7519`. Section 4.1.6]. * - **nonce** - The value type of this claim MUST be a string, where the value is a **c_nonce** provided by the PID/(Q)EAA Issuer in the Token response. @@ -859,7 +881,7 @@ The JWT proof type MUST contain the following parameters for the JOSE header and Credential Response ^^^^^^^^^^^^^^^^^^^^ -Credential Response to the Wallet Instance MUST be sent using `application/json` media type. The response MUST contain the following mandatory claims: +Credential Response to the Wallet Instance MUST be sent using `application/json` media type. The response MUST contain the following mandatory claims: .. _table_credential_response_claim: .. list-table:: Credential http response parameters @@ -876,7 +898,7 @@ Credential Response to the Wallet Instance MUST be sent using `application/json` - Contains the issued PID/(Q)EAA. When the credential type is SD-JWT, it MUST be an SD-JWT JSON Object (see Section :ref:`PID/(Q)EAA Data Model `). - Appendix E in `[OIDC4VCI. Draft 13] `_. * - **c_nonce** - - JSON string containing a ``nonce`` value to be used to create a *proof of possession* of the key material when requesting a further credential or for the renewal of a credential. + - JSON string containing a ``nonce`` value to be used to create a *proof of possession* of the key material when requesting a further Credential or for the renewal of a credential. - `[OIDC4VCI. Draft 13] `_. * - **c_nonce_expires_in** - JSON integer corresponding to the **c_nonce** lifetime in seconds. @@ -895,7 +917,7 @@ Entity Configuration Credential Issuer Below is a non-normative example of an Entity Configuration containing an `openid_credential_issuer` metadata. .. code-block:: http - + HTTP/1.1 200 OK Content-Type: application/entity-statement+jwt @@ -922,48 +944,81 @@ Below is a non-normative example of an Entity Configuration containing an `openi "kid": "5t5YYpBhN-EgIEEI5iUzr6r0MR02LnVQ0OmekmNKcjY" } ] + "keys": [{ + "kty": "RSA", + "use": "sig", + "n": "1Ta-sE ...", + "e": "AQAB", + "kid": "FANFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + }] }, "authority_hints": ["https://superior-entity.example.org/federation"], "metadata": { "openid_credential_issuer": { "credential_issuer": "https://pid-provider.example.org", + "authorization_servers": ["https://pid-provider.example.org"], "authorization_endpoint": "https://pid-provider.example.org/connect/authorize", "token_endpoint": "https://pid-provider.example.org/connect/token", "pushed_authorization_request_endpoint": "https://pid-provider.example.org/connect/par", "dpop_signing_alg_values_supported": ["ES256", "ES512"], "credential_endpoint": "https://pid-provider.example.org/credential", - "jwks": { + "display": [ + { + "name": "PID Provider Italiano di esempio", + "locale": "it-IT" + }, + { + "name": "Example PID Provider", + "locale": "en-US", + "logo": { + "url": "https://pid-provider example.org/public/logo.svg", + "alt_text": "logo di questo PID Provider" + }, + } + ], + "jwks": { "keys": [ - { + { "crv": "P-256", "kty": "EC", "x": "newK5qDYMekrCPPO-yEYTdJVWJMTzasMavt2vm1Mb-A", "y": "VizXaLO6dzeesZPxfpGZabTK3cTXtBUbIiQpmiYRtSE", "kid": "ff0bded045fe63fe5d1d64dd83b567e0" - }] - } - "credentials_supported": [ + } + ] + }, + "credential_configurations_supported": [ { "format": "vc+sd-jwt", - "id": "eudiw.pid.it", "cryptographic_binding_methods_supported": ["jwk"], + "cryptographic_suites_supported": ["ES256", "ES512"], + + "credential_signing_alg_values_supported": ["ES256", "ES384", "ES512"], + "proof_types_supported": { + "jwt": { + "proof_signing_alg_values_supported": [ + "ES256" + ] + } + }, + "display": [{ - "name": "PID Provider Italiano di esempio", + "name": "PID Italiano di esempio", "locale": "it-IT", "logo": { "url": "https://pid-provider example.org/public/logo.svg", - "alt_text": "logo di questo PID Provider" + "alt_text": "logo di questa Credenziale" }, "background_color": "#12107c", "text_color": "#FFFFFF" }, { - "name": "Example Italian PID Provider", + "name": "Example Italian PID", "locale": "en-US", "logo": { "url": "https://pid-provider.example.org/public/logo.svg", - "alt_text": "The logo of this PID Provider" + "alt_text": "The logo of this credential" }, "background_color": "#12107c", "text_color": "#FFFFFF" @@ -1047,11 +1102,11 @@ Below is a non-normative example of an Entity Configuration containing an `openi } } } - ] + } }, "federation_entity": { - "organization_name": "Pid Provider Organization Example", + "organization_name": "PID Provider Organization Example", "homepage_uri": "https://pid-provider.example.org", "policy_uri": "https://pid-provider.example.org/privacy_policy", "tos_uri": "https://pid-provider.example.org/info_policy", diff --git a/p256/en/_sources/proximity-flow.rst.txt b/p256/en/_sources/proximity-flow.rst.txt new file mode 100644 index 000000000..4b2246754 --- /dev/null +++ b/p256/en/_sources/proximity-flow.rst.txt @@ -0,0 +1,412 @@ + + +.. _proximity_flow_sec: + +Proximity Flow +============== + +This section describes how a Verifier requests the presentation of an *mDoc-CBOR* Credential to a Wallet Instance according to the *ISO 18013-5 Specification*. Only *Supervised Device Retrieval flow* is supported in this technical implementation profile. + +The presentation phase is divided into three sub-phases: + + 1. **Device Engagement**: This subphase begins when the User is prompted to disclose certain attributes from the mDoc(s). The objective of this subphase is to establish a secure communication channel between the Wallet Instance and the Verifier App, so that the mDoc requests and responses can be exchanged during the communication subphase. + The messages exchanged in this subphase are transmitted through short-range technologies to limit the possibility of interception and eavesdropping. + This technical implementation profile exclusively supports QR code for Device Engagement. + + 2. **Session establishment**: During the session establishment phase, the Verifier App sets up a secure connection. All data transmitted over this connection is encrypted using a session key, which is known to both the Wallet Instance and the Verifier at this stage. + The established session MAY be terminated based on the conditions as detailed in [ISO18013-5#9.1.1.4]. + + 3. **Communication - Device Retrieval**: The Verifier App encrypts the mDoc request with the appropriate session key and sends it to the Wallet Instance together with its public key in a session establishment message. The mDoc uses the data from the session establishment message to derive the session key and decrypt the mDoc request. + During the communication subphase, the Verifier App has the option to request information from the Wallet using mDoc requests and responses. The primary mode of communication is the secure channel established during the session setup. The Wallet Instance encrypts the mDoc response using the session key and transmits it to the Verifier App via a session data message. This technical implementation profile only supports Bluetooth Low Energy (BLE) for the communication sub-phase. + + +The following figure illustrates the flow diagram compliant with ISO 18013-5 for proximity flow. + +.. _fig_High-Level-Flow-ITWallet-Presentation-ISO: +.. figure:: ../../images/High-Level-Flow-ITWallet-Presentation-ISO.svg + :figwidth: 100% + :align: center + :target: https://www.plantuml.com/plantuml/svg/bL9BZnCn3BxFhx3A0H3q3_ImMlOXXBJYqGguzE9ct2RQn0bvJDb_ZoSP3QFI2xab_Xx-xDocZ34NPpiisNDn1ufT1t9GPH_XUw88cA3KjuF_3QlnwNM2dHDYq9vf1Q-Up4ddErkeme9KZ381ESFg9rfB6JwnEB4IiAYTAuou7nN_Al-WQ8xcVzHd2dm8eKeFI-cMfApNDpVd3Nm9n90rmKLBa3s4I8b441dSWrTm7wcNkq7RD3xxJE07CIhlXmqyq624-CWdF94RYQaSWiP4iAweRzjr1vLvRkOVYIcYY32TWO8c9rSBp_GYWKoSe88LzPtsvx5HKO5xtnCSVVpNibA6ATjE8IyfKr7aBgptVDry0WlPXIBOH2aPpoEcbgzDOJTXIEPui2PfrqROZogki56OfNuvcxkdHv5N9H8eZSnaPLRJwUPU95JTn9P-5J60Tn2AcAZQjJ_MiCljxndUN6texN8Dr-ErSjd0roZrNEUjFDSVaJqaZP6gOMpDK0-61UHglkcJjJL75Cx4NHflAKT30xLGH_41wnLQIDb7FD6C7URSAOZCSfCjxyjSWcHEZBb4slCuTQL9FJVsWDRq9akuxfQuByx-0G00 + + High-Level Proximity Flow + +**Step 1-3**: The Verifier requests the User to reveal certain attributes from their mDoc(s) stored in the Wallet Instance. The User initiates the Wallet Instance. The Wallet Instance MUST create a new temporary key pair (EDeviceKey.Priv, EDeviceKey.Pub), and incorporate the cipher suite identifier, the identifier of the elliptic curve for key agreement, and the EDeviceKey public point into the device engagement structure (refer to [ISO18013-5#9.1.1.4]). This key pair is temporary and MUST be invalidated immediately after the secure channel is established. Finally, the Wallet Instance displays the QR Code for Device Engagement. + +Below an example of a device engagement structure that utilizes QR for device engagement and Bluetooth Low Energy (BLE) for data retrieval. + +CBOR data: + +.. code-block:: + + a30063312e30018201d818584ba4010220012158205a88d182bce5f42efa59943f33359d2e8a968ff289d93e5fa444b624343167fe225820b16e8cf858ddc7690407ba61d4c338237a8cfcf3de6aa672fc60a557aa32fc670281830201a300f401f50b5045efef742b2c4837a9a3b0e1d05a6917 + +In diagnostic notation: + +.. code-block:: + + { + 0: "1.0", % Version + + 1: % Security + [ + 1, % defines the cipher suite 1 which contains only EC curves + 24(<< % embedded CBOR data item + { + 1: 2, % kty:EC2 (Elliptic curves with x and y coordinate pairs) + -1: 1, % crv:p256 + -2:h'5A88D182BCE5F42EFA59943F33359D2E8A968FF289D93E5FA444B624343 167FE',% x-coordinate + -3:h'B16E8CF858DDC7690407BA61D4C338237A8CFCF3DE6AA672FC60A557AA32FC67' % y-coordinate + } + >>) + ], + + 2: %DeviceRetrievalMethods(Device engagement using QR code) + [ + [ + 2, %BLE + 1, % Version + { %BLE options + 0: false, % no support for mdoc peripheral server mode + 1: true, % support mdoc central client mode + 11: h'45EFEF742B2C4837A9A3B0E1D05A6917' % UUID of mdoc client central mode + } + ] + ] + } + + + +**Step 4-6**: The Verifier App scans the QR Code and generates its own ephemeral key pair (EReaderKey.Priv, EReaderKey.Pub). It then calculates the session key, using the public key received in the Engagement Structure and its newly-generated private key, as outlined in [ISO18013-5#9.1.1.5]. Finally, it generates its session key, which must be independently derived by both the Wallet Instance and the Verifier App. + +**Step 7**: The Verifier App creates an mDoc request that MUST be encrypted using the relevant session key, and transmits it to the Wallet Instance along with EReaderKey.Pub within a session establishment message. The mDoc request MUST be encoded in CBOR, as demonstrated in the following non-normative example. + +CBOR data: +.. code-block:: + + a26776657273696f6e63312e306b646f63526571756573747381a26c6974656d7352657175657374d818590152a267646f6354797065756f72672e69736f2e31383031332e352e312e6d444c6a6e616d65537061636573a2746f72672e69736f2e31383031332e352e312e4954a375766572696669636174696f6e2e65766964656e6365f4781c766572696669636174696f6e2e6173737572616e63655f6c6576656cf4781c766572696669636174696f6e2e74727573745f6672616d65776f726bf4716f72672e69736f2e31383031332e352e31ab76756e5f64697374696e6775697368696e675f7369676ef47264726976696e675f70726976696c65676573f46f646f63756d656e745f6e756d626572f46a69737375655f64617465f46f69737375696e675f636f756e747279f47169737375696e675f617574686f72697479f46a62697274685f64617465f46b6578706972795f64617465f46a676976656e5f6e616d65f468706f727472616974f46b66616d696c795f6e616d65f46a726561646572417574688443a10126a11821590129308201253081cda00302010202012a300a06082a8648ce3d0403023020311e301c06035504030c15536f6d652052656164657220417574686f72697479301e170d3233313132343130323832325a170d3238313132323130323832325a301a3118301606035504030c0f536f6d6520526561646572204b65793059301306072a8648ce3d020106082a8648ce3d03010703420004aa1092fb59e26ddd182cfdbc85f1aa8217a4f0fae6a6a5536b57c5ef7be2fb6d0dfd319839e6c24d087cd26499ec4f87c8c766200ba4c6218c74de50cd1243b1300a06082a8648ce3d0403020347003044022048466e92226e042add073b8cdc43df5a19401e1d95ab226e142947e435af9db30220043af7a8e7d31646a424e02ea0c853ec9c293791f930bf589bee557370a4c97bf6584058a0d421a7e53b7db0412a196fea50ca6d4c8a530a47dd84d88588ab145374bd0ab2a724cf2ed2facf32c7184591c5969efd53f5aba63194105440bc1904e1b9 + +The above CBOR data is represented in diagnostic notation as follows: +.. code-block:: + + { + "version": "1.0", + "docRequests": [ + { + "itemsRequest": 24(<< { + "docType": "org.iso.18013.5.1.mDL", + "nameSpaces": { + "org.iso.18013.5.1.IT": { + "verification.evidence": false, + "verification.assurance_level": false, + "verification.trust_framework": false + }, + "org.iso.18013.5.1": { + "un_distinguishing_sign": false, + "driving_privileges": false, + "document_number": false, + "issue_date": false, + "issuing_country": false, + "issuing_authority": false, + "birth_date": false, + "expiry_date": false, + "given_name": false, + "portrait": false, + "family_name": false + } + } + } >>), + "readerAuth": [ + h'a10126', + { + 33: h'308201253081cda00302010202012a300a06082a8648ce3d0403023020311e301c06035504030c15536f6d652052656164657220417574686f72697479301e170d3233313132343130323832325a170d3238313132323130323832325a301a3118301606035504030c0f536f6d6520526561646572204b65793059301306072a8648ce3d020106082a8648ce3d03010703420004aa1092fb59e26ddd182cfdbc85f1aa8217a4f0fae6a6a5536b57c5ef7be2fb6d0dfd319839e6c24d087cd26499ec4f87c8c766200ba4c6218c74de50cd1243b1300a06082a8648ce3d0403020347003044022048466e92226e042add073b8cdc43df5a19401e1d95ab226e142947e435af9db30220043af7a8e7d31646a424e02ea0c853ec9c293791f930bf589bee557370a4c97b' + }, + null, + h'58a0d421a7e53b7db0412a196fea50ca6d4c8a530a47dd84d88588ab145374bd0ab2a724cf2ed2facf32c7184591c5969efd53f5aba63194105440bc1904e1b9' + ] + } + ] + } + +**Step 8**: The Wallet Instance uses the session establishment message to derive the session keys and decrypt the mDoc request. It computes the session key using the public key received from the Verifier App and its private key. + +**Step 9-10**: When the Wallet Instance receives the mDoc request, it locates the documents that contain the requested attributes and asks the User for permission to provide this information to the Verifier. If the User agrees, the Wallet generates an mDoc response and transmits it to the Verifier App through the secure channel. + +**Step 11-12**: If the User gives consent, the Wallet Instance creates an mDoc response and transmits it to the Verifier App via the secure channel. The mDoc response MUST be encoded in CBOR, with its structure outlined in [ISO18013-5#8.3.2.1.2.2]. Below is a non-normative example of an mDoc response. + +CBOR Data: +.. code-block:: + + a36776657273696f6e63312e3069646f63756d656e747381a367646f6354797065756f72672e69736f2e31383031332e352e312e6d444c6c6973737565725369676e6564a26a6e616d65537061636573a2746f72672e69736f2e31383031332e352e312e495483d81858f7a46864696765737449440b6672616e646f6d506d44f21ee875f2c1d502b43198e5a15271656c656d656e744964656e74696669657275766572696669636174696f6e2e65766964656e63656c656c656d656e7456616c756581a2647479706571656c656374726f6e69635f7265636f7264667265636f7264bf6474797065781f68747470733a2f2f657564692e77616c6c65742e70646e642e676f762e697466736f75726365bf716f7267616e697a6174696f6e5f6e616d65754d6f746f72697a7a617a696f6e6520436976696c656f6f7267616e697a6174696f6e5f6964656d5f696e666c636f756e7472795f636f6465626974ffffd8185866a4686469676573744944046672616e646f6d50185d84dfb71ce9b173010ddd62174fbe71656c656d656e744964656e746966696572781c766572696669636174696f6e2e74727573745f6672616d65776f726b6c656c656d656e7456616c7565656569646173d8185865a4686469676573744944006672616e646f6d50137f903174253c4585358267aae2ea4e71656c656d656e744964656e746966696572781c766572696669636174696f6e2e6173737572616e63655f6c6576656c6c656c656d656e7456616c75656468696768716f72672e69736f2e31383031332e352e318bd8185852a46864696765737449440c6672616e646f6d5053e29d0ddbbc7d2306a32bdbe2e56e5171656c656d656e744964656e7469666965726b66616d696c795f6e616d656c656c656d656e7456616c756563446f65d8185855a4686469676573744944036672616e646f6d50990cba2069fa1b33b8d6ae910b6549dc71656c656d656e744964656e7469666965726a676976656e5f6e616d656c656c656d656e7456616c756567416e746f6e696fd818585ba46864696765737449440a6672616e646f6d504086c1379975f805f1b1f4975e6a126571656c656d656e744964656e7469666965726a69737375655f646174656c656c656d656e7456616c7565d903ec6a323031392d31302d3230d818585ca4686469676573744944016672616e646f6d50ab4ca30c918dd2fd0bf35242c15fa2d871656c656d656e744964656e7469666965726b6578706972795f646174656c656c656d656e7456616c7565d903ec6a323032342d31302d3230d8185855a4686469676573744944076672616e646f6d508d9066f6c8da16619867cd4e2fab0c8871656c656d656e744964656e7469666965726f69737375696e675f636f756e7472796c656c656d656e7456616c7565624954d818587ea4686469676573744944056672616e646f6d5059fe68db795dee4c20976380ea24770571656c656d656e744964656e7469666965727169737375696e675f617574686f726974796c656c656d656e7456616c75657828497374697475746f20506f6c696772616669636f2065205a656363612064656c6c6f20537461746fd818585ba4686469676573744944026672616e646f6d5008b3f1ca5517019767be3dee3bb0614571656c656d656e744964656e7469666965726a62697274685f646174656c656c656d656e7456616c7565d903ec6a313935362d30312d3230d818585ca4686469676573744944096672616e646f6d50a2395ec214350c26066306e23279b3ae71656c656d656e744964656e7469666965726f646f63756d656e745f6e756d6265726c656c656d656e7456616c756569393837363534333231d8185850a4686469676573744944066672616e646f6d50a25e1a5b915d2d6eafee9674e023293971656c656d656e744964656e74696669657268706f7274726169746c656c656d656e7456616c75654420212223d81858eea46864696765737449440d6672616e646f6d50eeed6a3b856563627589a360939d12f771656c656d656e744964656e7469666965727264726976696e675f70726976696c656765736c656c656d656e7456616c756582a37576656869636c655f63617465676f72795f636f646561416a69737375655f64617465d903ec6a323031382d30382d30396b6578706972795f64617465d903ec6a323032342d31302d3230a37576656869636c655f63617465676f72795f636f646561426a69737375655f64617465d903ec6a323031372d30322d32336b6578706972795f64617465d903ec6a323032342d31302d3230d818585ba4686469676573744944086672616e646f6d50c0ef486b2a194ed3cbf7f354fd40092171656c656d656e744964656e74696669657276756e5f64697374696e6775697368696e675f7369676e6c656c656d656e7456616c756561496a697373756572417574688443a10126a118215901423082013e3081e5a00302010202012a300a06082a8648ce3d040302301a3118301606035504030c0f5374617465204f662055746f706961301e170d3233313132343134353430345a170d3238313132323134353430345a30383136303406035504030c2d5374617465204f662055746f7069612049737375696e6720417574686f72697479205369676e696e67204b65793059301306072a8648ce3d020106082a8648ce3d03010703420004c338ec1000b351ce8bcdfc167450aeceb + +In diagnostic notation: +.. code-block:: + + { + "version": "1.0", + "documents": [ + { + "docType": "org.iso.18013.5.1.mDL", + "issuerSigned": { + "nameSpaces": { + "org.iso.18013.5.1.IT": [ + 24(<< { + "digestID": 11, + "random": h'6d44f21ee875f2c1d502b43198e5a152', + "elementIdentifier": "verification.evidence", + "elementValue": [ + { + "type": "electronic_record", + "record": { + "type": "https://eudi.wallet.pdnd.gov.it", + "source": { + "organization_name": "Motorizzazione Civile", + "organization_id": "m_inf", + "country_code": "it" + } + } + } + ] + } >>), + 24(<< { + "digestID": 4, + "random": h'185d84dfb71ce9b173010ddd62174fbe', + "elementIdentifier": "verification.trust_framework", + "elementValue": "eidas" + } >>), + 24(<< { + "digestID": 0, + "random": h'137f903174253c4585358267aae2ea4e', + "elementIdentifier": "verification.assurance_level", + "elementValue": "high" + } >>) + ], + "org.iso.18013.5.1": [ + 24(<< { + "digestID": 12, + "random": h'53e29d0ddbbc7d2306a32bdbe2e56e51', + "elementIdentifier": "family_name", + "elementValue": "Doe" + } >>), + 24(<< { + "digestID": 3, + "random": h'990cba2069fa1b33b8d6ae910b6549dc', + "elementIdentifier": "given_name", + "elementValue": "Antonio" + } >>), + 24(<< { + "digestID": 10, + "random": h'4086c1379975f805f1b1f4975e6a1265', + "elementIdentifier": "issue_date", + "elementValue": 1004("2019-10-20") + } >>), + 24(<< { + "digestID": 1, + "random": h'ab4ca30c918dd2fd0bf35242c15fa2d8', + "elementIdentifier": "expiry_date", + "elementValue": 1004("2024-10-20") + } >>), + 24(<< { + "digestID": 7, + "random": h'8d9066f6c8da16619867cd4e2fab0c88', + "elementIdentifier": "issuing_country", + "elementValue": "IT" + } >>), + 24(<< { + "digestID": 5, + "random": h'59fe68db795dee4c20976380ea247705', + "elementIdentifier": "issuing_authority", + "elementValue": "Istituto Poligrafico e Zecca dello Stato" + } >>), + 24(<< { + "digestID": 2, + "random": h'08b3f1ca5517019767be3dee3bb06145', + "elementIdentifier": "birth_date", + "elementValue": 1004("1956-01-20") + } >>), + 24(<< { + "digestID": 9, + "random": h'a2395ec214350c26066306e23279b3ae', + "elementIdentifier": "document_number", + "elementValue": "987654321" + } >>), + 24(<< { + "digestID": 6, + "random": h'a25e1a5b915d2d6eafee9674e0232939', + "elementIdentifier": "portrait", + "elementValue": h'20212223' + } >>), + 24(<< { + "digestID": 13, + "random": h'eeed6a3b856563627589a360939d12f7', + "elementIdentifier": "driving_privileges", + "elementValue": [ + { + "vehicle_category_code": "A", + "issue_date": 1004("2018-08-09"), + "expiry_date": 1004("2024-10-20") + }, + { + "vehicle_category_code": "B", + "issue_date": 1004("2017-02-23"), + "expiry_date": 1004("2024-10-20") + } + ] + } >>), + 24(<< { + "digestID": 8, + "random": h'c0ef486b2a194ed3cbf7f354fd400921', + "elementIdentifier": "un_distinguishing_sign", + "elementValue": "I" + } >>) + ] + }, + "issuerAuth": [ + h'a10126', + { + 33: h'3082013e3081e5a00302010202012a300a06082a8648ce3d040302301a3118301606035504030c0f5374617465204f662055746f706961301e170d3233313132343134353430345a170d3238313132323134353430345a30383136303406035504030c2d5374617465204f662055746f7069612049737375696e6720417574686f72697479205369676e696e67204b65793059301306072a8648ce3d020106082a8648ce3d03010703420004c338ec1000b351ce8bcdfc167450aeceb7d518bd9a519583e082d67effff06565804fc09abf0e4a08e699c9dba3796285a15f68e40ac7f9fc7700a15153a4065300a06082a8648ce3d040302034800304502210099b7d62e6bf7b1823db3713df889bf73e70bb4d9c58c21e92c58d2f1beffe932022058d039747a00d70e6d66be4797e6142b3608a014ee09b7b79af2cae2aaf27788' + }, + 24(<< { + "version": "1.0", + "digestAlgorithm": "SHA-256", + "docType": "org.iso.18013.5.1.mDL", + "valueDigests": { + "org.iso.18013.5.1": { + 1: h'0E5F0B6B33418E508740771E82F893372EAF5B2445BC4C84DCF08B005E9493FC', + 2: h'DE21BB62FF2897D8B986D2CDA9F9BC5865C02807F7B4D9DD1FA4A79DF4C0D37F', + 3: h'BC5568239E35CE9FF8798C27FFDCD757B134B679F0FE05729AA3491381912E65', + 5: h'E6048BDC7FD6454296F1E3F54536107C9C5B24C4064DE46A98121E3630EECCA2', + 6: h'73690D92DCAA61B0203870F67C6AA9FDFEA889B6F0C720DE757B4B0A8516A206', + 7: h'E353EA0B0FD92B6BE90C64CC3B2EE1284153A8F0F5066B99AAC599200E6EEEB2', + 8: h'29227872CEB49923D267B5F4BADE6D387B42AC2DC4B2AE26C9013067FEE7018A', + 9: h'A6A119F7CACAC0B8C6AACAC747FD3FE7E50B6D9BB8A507FDA79F0DF6646F285D', + 10: h'6D8025D2F02A5E7E1406FB6AAEB67F9EDE9B07191A53F3E23B77C528223A94E2', + 12: h'B0D43E4E2EA534E4D5304E64BCF7A0F13E2C8EE8304B9CD23ABA4909652A4647', + 13: h'FBF4DE318982F2DBAD43C601CAEB22628B301AC18AA8264C5831B2AAAC89C486' + }, + "org.iso.18013.5.1.IT": { + 0: h'CF57377B675F64F37314739592C1E8A911A7DDAF341CE2902FE877C5A835E4C1', + 4: h'4A4B4CC64EC9299C1A2501EA449F577005E9F7A60408057C07A7C67FB151E5F5', + 11: h'78824FBD6FBBA88A2AAB44DF8B6F5E9759126D87D1F4415995E658FD9239E1FE' + } + }, + "deviceKeyInfo": { + "deviceKey": { + 1: 2, + -1: 1, + -2: h'AFD09E720B918CEDC2B8A881950BAB6A1051E18AE16A814D51E609938663D5E1', + -3: h'61FBC6C8AD24EC86A78BB4E9AC377DD2B7C711D9F2EB9AFD4AA0963662847AED'}}, + "validityInfo": { + "signed": 0("2023-11-24T14:54:05Z"), + "validFrom": 0("2023-11-24T14:54:05Z"), + "validUntil": 0("2024-11-24T14:54:05Z")} + } >>), + h'f2461e4fab69e9f7bcffe552395424514524d1679440036213173101448d1b1ab4a293859b389ffa8b47aeed10e9b0c1545412ac37c51a76482cd9bbbe110152' + ] + }, + "deviceSigned": { + "nameSpaces": 24(<< {} >>), + "deviceAuth": { + "deviceSignature": [ + h'a10126', + {}, + null, + h'1fed7190d2975ab79c072e6f1d9d52436059d1fc959d55baf74f057d89b10fcc0dc77a50d433d4c76ddf26223c5560c4ab123b5cb5eb805a90036aa147493076' + ] + } + } + } + ], + "status": 0 + } + +**Step 13**: The Verifier App is required to validate the signatures in the mDoc's issuerSigned field using the public key of the Credential Issuer specified within the mDoc. Subsequently, the Verifier MUST validate the signature in the deviceSigned field. If these signature checks pass, the Verifier can confidently consider the received information as valid. + +Device Engagement +----------------- + +The Device Engagement structure MUST be have at least the following components: + + - **Version**: *tstr*. Version of the data structure being used. + - **Security**: an array that contains two mandatory values + + - the cipher identifier: see Table 22 of [ISO18013-5] + - the mDL public ephemeral key generated by the Wallet Instance and required by the Verifier App to derive the Session Key. The mDL public ephemeral key MUST be of a type allowed by the indicated cipher suite. + - **transferMethod**: an array that contains one or more transferMethod arrays when performing device engagement using the QR code. This array is for offline data retrieval methods. A transferMethod array holds two mandatory values (type and version). Only the BLE option is supported by this technical implementation profile, then the type value MUST be set to ``2``. + - **BleOptions**: this elements MUST provide options for the BLE connection (support for Peripheral Server or Central Client Mode, and the device UUID). + + +mDoc Request +------------ + +The messages in the mDoc Request MUST be encoded using CBOR. The resulting CBOR byte string for the mDoc Request MUST be encrypted with the Session Key obtained after the Device Engagement phase and MUST be transmitted using the BLE protocol. +The details on the structure of mDoc Request, including identifier and format of the data elements, are provided below. + + - **version**: (tstr). Version of the data structure. + - **docRequests**: Requested DocType, NameSpace and data elements. + + - **itemsRequest**: #6.24(bstr .cbor ItemsRequest). + + - **docType**: (tstr). The DocType element contains the type of document requested. See :ref:`Data Model Section `. + - **nameSpaces**: (tstr). See :ref:`Data Model Section ` for more details. + + - **dataElements**: (tstr). Requested data elements with *Intent to Retain* value for each requested element. + + - **IntentToRetain**: (bool). It indicates that the Verifier App intends to retain the received data element. + - **readerAuth**: *COSE_Sign1*. It is required for the Verifier App authentication. + +.. note:: + + The domestic data elements MUST not be returned unless specifically requested by the Verifier App. + +mDoc Response +------------- + +The messages in the mDoc Response MUST be encoded using CBOR and MUST be encrypted with the Session Key obtained after the Device Engagement phase. +The details on the structure of mDoc Response are provided below. + + - **version**: (tstr). Version of the data structure. + - **documents**: Returned *DocType*, and *ResponseData*. + + - **docType**: (tstr). The DocType element contains the type of document returned. See :ref:`Data Model Section `. + - **ResponseData**: + + - **IssuerSigned**: Responded data elements signed by the issuer. + + - **nameSpaces**: (tstr). See :ref:`Data Model Section ` for more details. + + - **IssuerSignedItemBytes**: #6.24(bstr .cbor). + + - **digestID**: (uint). Reference value to one of the **ValueDigests** provided in the *Mobile Security Object* (`issuerAuth`). + - **random**: (bstr). Random byte value used as salt for the hash function. This value SHALL be different for each *IssuerSignedItem* and it SHALL have a minimum length of 16 bytes. + - **elementIdentifier**: (tstr). Identifier of User attribute name contained in the Credential. + - **elementValue**: (any). User attribute value + - **DeviceSigned**: Responded data elements signed by the Wallet Instance. + + - **NameSpaces**: #6.24(bstr .cbor DeviceNameSpaces). The DeviceNameSpaces structure MAY be an empty structure. DeviceNameSpaces contains the data element identifiers and values. It is returned as part of the corresponding namespace in DeviceNameSpace. + + - **DataItemName**: (tstr). The identifier of the element. + - **DataItemValue**: (any). The value of the element. + - **DeviceAuth**: The DeviceAuth structure MUST contain the DeviceSignature elements. + + - **DeviceSignature**: It MUST contain the device signature for the Wallet Instance authentication. + - **status**: It contains a status code. For detailed description and action required refer to to Table 8 (ResponseStatus) of the [ISO18013-5] + + +Session Termination +------------------- + +The session MUST be terminated if at least one of the following conditions occur. + + - After a time-out of no activity of receiving or sending session establishment or session data messages occurs. The time-out for no activity implemented by the Wallet Instance and the Verifier App SHOULD be no less than 300 seconds. + - When the Wallet Instance doesn't accept any more requests. + - When the Verifier App does not send any further requests. + +If the Wallet Instance and the Verifier App does not send or receive any further requests, the session termination MUST be initiated as follows. + + - Send the status code for session termination, or + - dispatch the "End" command as outlined in [ISO18013-5#8.3.3.1.1.5]. + +When a session is terminated, the Wallet Instance and the Verifier App MUST perform at least the following actions: + + - destruction of session keys and related ephemeral key material; + - closure of the communication channel used for data retrieval. diff --git a/p256/en/_sources/relying-party-solution.rst.txt b/p256/en/_sources/relying-party-solution.rst.txt index 31e4900fb..82cfe274e 100644 --- a/p256/en/_sources/relying-party-solution.rst.txt +++ b/p256/en/_sources/relying-party-solution.rst.txt @@ -1,18 +1,17 @@ -.. include:: ../common/common_definitions.rst -.. _Wallet Instance Attestation: wallet-instance-attestation.html -.. _Trust Model: trust.html + + .. _relying-party-solution: Relying Party Solution +++++++++++++++++++++++ -This section describes how a Relying Party may request to a Wallet Instance the presentation of the PID and the (Q)EAAs, -according to `OpenID for Verifiable Presentations - draft 20 `_. +This section describes how a remote Relying Party or a Verifier App requests to a Wallet Instance the presentation of the PID/EAAs. In this section the following flows are described: +<<< - **Remote Same Device Flow**, where the user-agent and the Wallet Instance are used in the same device. - **Remote Cross Device Flow**, where the user-agent and the Wallet Instance are used in different devices. @@ -737,18 +736,11 @@ The Entity Configuration is a JWS, where its header parameters are defined below .. list-table:: :widths: 25 50 :header-rows: 1 +- :ref:`Remote Flow `, where the User presents a Credential to a remote Relying Party according to `OPENID4VP`_. In this scenario the user-agent and the Wallet Instance may be used in the same device (**Same Device Flow**), or in different devices (**Cross Device Flow**). +- :ref:`Proximity Flow `, where the User presents a Credential to a Verifier App according to ISO 18013-5. The User interacts with a Verifier using proximity connection technologies such as QR Code and Bluetooth Low Energy (BLE). - * - **Name** - - **Description** - * - **alg** - - Algorithm used to sign the JWT - * - **typ** - - Media Type of the JWT - * - **kid** - - Key ID used identifying the key used to sign the JWS +.. include:: remote-flow.rst +.. include:: proximity-flow.rst -.. note: - The Relying Party specific metadata parameter are experimental - and still under discussion `here `_. diff --git a/p256/en/_sources/remote-flow.rst.txt b/p256/en/_sources/remote-flow.rst.txt new file mode 100644 index 000000000..0cd04af47 --- /dev/null +++ b/p256/en/_sources/remote-flow.rst.txt @@ -0,0 +1,731 @@ +.. include:: ../common/common_definitions.rst +.. _Wallet Attestation: wallet-attestation.html +.. _Trust Model: trust.html + +.. _remote_flow_sec: + +Remote Flow +=========== + +In this scenario the Relying Party MUST provide the URL where the signed presentation Request Object is available for download. + +Depending on whether the User is using a mobile device or a workstation, the Relying Party MUST support the following remote flows: + +* **Same Device**, the Relying Party MUST provide a HTTP redirect (302) location to the Wallet Instance; +* **Cross Device**, the Relying Party MUST provide a QR Code which the User frames with the Wallet Instance. + +Once the Wallet Instance establishes the trust with the Relying Party and evaluates the request, the User gives the consent for the disclosure of the Digital Credentials, in the form of a Verifiable Presentation. + +A High-Level description of the remote flow, from the User's perspective, is given below: + + 1. the Wallet Instance scans the QR Code and obtains the URL (Cross Device flow) or obtain directly an URL (Same Device flow); + 2. the Wallet Instance extracts from the payload the ``client_id`` and the `request_uri` parameters; + 3. the Wallet Instance establishes the Trust to the Relying Party by building the Federation Trust Chain. Implementations may evaluate the trust after having obtained the signed Request Object (see point 5); + 4. the Wallet fetches the signed Request Object using an HTTP request with method GET to the endpoint provided in the ``request_uri`` parameter; + 5. the Wallet verifies the signature of the signed Request Object and that its issuer matches the ``client_id`` obtained at the step number 2; + 6. the Wallet checks the presence in the signed Request Object of the parameter `request_uri_method`, if this parameter is present and set with the ``post`` valueThe Wallet transmits its metadata to the request_uri endpoint of the Relying Party using an HTTP POST method and obtains an updated signed Request Object; + 7. The Wallet Instance evaluates the requested PID/EAAs and checks the elegibility of the Relying Party in asking these by applying the policies related to that specific Relying Party; + 8. the Wallet Instance asks User disclosure and consent; + 9. the Wallet Instance presents the requested disclosure of PID/EAAs to the Relying Party, which validates the Wallet Attestation and checks that the Wallet Provider is trusted; + 10. the Wallet Instance informs the User about the successfull authentication with the Relying Party and give a good user experience to let the User continuing its navigation. + +Below a sequence diagram that summarizes the interactions between all the involved parties. + +.. figure:: ../../images/cross_device_auth_seq_diagram.svg + :align: center + :target: https://www.plantuml.com/plantuml/svg/XLNTRkCs4xtdKnpuk_YI84cpspi3AJQRfflijergUpSt1W9Q6jjiQ5BbZvoqwBjtA5goN2GeO1WGEMVcdFaPVl11kX0tMiWOh8cR1JaXn5KPhCFegoStWlI8GYpiSpxulyUFrAYI_0Z_-rcjrk6ZZYHgzgDALKiJC7gGMbF0dM7tfgJMn_RG9BAhCxaY4t84ASXKu2Y7PXFIBygiKF3XIslPa10HPpymP8m7Mc1ABj61aOrQoQ2i4L4cWuR6cD0VaNn0uMoWCb359zv6LxANoqiaGRYAOKs6OxPW71MEF7_dhs8jFHtZybB8CgX61aeC6ke2N3jAPn8d9vuXT7A2Hkf8SxEmaHK5YxrKbDO-gLVWBjDyZ4x1TGGRwcJ-Dhcs5U5-WjlPh609bNAi1aVVNxm_nbQ5DKgjEC2Zgaw7paxHaX8L3TcBlPQj42jdOyr4hEyg2slqoow9SOpfscx1AUferAmbbO1ljsFSrsJQstyL7RAkJw5jAJNaGOR55XawBQLXfqXU-yERv-2OtjpqYkPce6XkfAcoghbPEhj9iNidP2hHUw9K2BRp22xwaFEKh7lFsPJhqENCj_TUhGnLtHdiulUKx3xOi5WSiBRAXBPOEUohQ4wv3b3B8VXnGs5jAoWFJpjwnVrq9WG0zDHgPnjLaUyIp2XPoI0HxDjqaeU-omQP61GgK6bKgaufQxbGMWL5lWTcBR7cI5IzfUcDT1yCBNxf-AR2rLQhakFqg6_arFAb3I13T0Ix7DIWdz_x7B57IQqIi-wUBRyLH_uu6yJzt2-jGsbDckTzqyTzzrvRirHkGzLmH6BV5sqzsWLXdVepRuG9-JfvnDpacZNrOx1FPDxO43Uxl2HPMQwI2qquM3FPGG_g1GuBTXK2-Mn_pi7pvz2Wo9tYc9ZoI7kqo-PFnCSjak-u3gyEB6EC3N3KC9dgVC0cXqhBgafZB3Nkl8_aC4k3bLtkANz-c67QrNFWXUcLv7qUmTwL48wZ4cn3ZituJRdxT3lxDBcv-LMyZXWBNA-fVCAjrImBN-W57vMfkELQ8enYsVmhhFSCPzKCEKFqRD7wgkD2gn9F3CnRMgMyyCrGOh1eskRCXIjoZSw5m6nDfjjJxMMbVAcjfmeo1ASMCP0VSuaoppJsdEf-M1N7G9u8Hv2DL3erH9gcDXLYaBElTTS5-QtQwS5HVacw0Jt6O06bD-AxT-VlyFxY0lTVcCPV8vUVZ7PBZCPOXr1xHATp1xjTIp-MjYByFPo5xU7RqJqNKxcXWzSY3vvanZxJ7KPCqlxheMceV-S-JyUxp1q-77djuoW9x7PH5f2pSPoJa7bSlGPTgOPCXhHEabv_YiXsMeEUwxOsri77CdNUCkgM-mV-Ynlz3m00 + + Remote Protocol Flow + +The details of each step shown in the previous picture are described in the table below. + + +.. list-table:: + :widths: 10 50 + :header-rows: 1 + + * - **Id** + - **Description** + * - **1**, **2** + - The User requests to access to a protected resource, the Relying Party redirects the User to a discovery page in which the User selects the *Login with the Wallet* button. The Authorization flow starts. + * - **3**, **4**, + - The Relying Party provides the Wallet Instance with a URL where a generic signed Request Object can be downloaded. + * - **5**, **6**, **7**, **8**, **9** + - In the **Cross Device Flow**: the Request URI is provided in the form of a QR Code that is shown to the User. The User frames the QRCode with the Wallet Instance and extracts ``client_id``, ``request_uri`` and ``state``. In the **Same Device Flow** the Relying Party provides the same information of the Cross-Device flow but in the form of HTTP Redirect Location (302). + * - **10**, **11**, **12** + - The Wallet Instance obtains the signed Request Object. + * - **13**, **14** and **15** + - The Wallet Instance checks if the Relying Party has provided the ``request_uri_method`` within its signed Request Object. If true, the Wallet provides its metadata in the to the Relying Party. The Relying PArty produces a new signed Request Object compliant to the Wallet technical capabilities. + * - **13**, **14**, **15**, **16**, **17**, **18** + - The Request Object JWS is verified by the Wallet Instance. The Wallet processes the Relying Party metadata and applies the policies related to the Relying Party, attesting whose Digital Credentials and User data the Relying Party is granted to request. + * - **19**, **20** + - The Wallet Instance requests the User's consent for the release of the Credentials. The User authorizes and consents the presentation of the Credentials by selecting/deselecting the personal data to release. + * - **21** + - The Wallet Instance provides the Authorization Response to the Relying Party using an HTTP request with the method POST (response mode "direct_post"). + * - **22**, **23**, **24**, **25** and **26** + - The Relying Party verifies the Authorization Response, extracts the Wallet Attestation to establish the trust with the Wallet Solution. The Relying Party extracts the Digital Credentials and attests the trust to the Credentials Issuer and the proof of possession of the Wallet Instance about the presented Digital Credentials. Finally, the Relying Party verifies the revocation status of the presented Digital Credentials. + * - **27** and **28** + - The Relying Party provides to the Wallet a redirect URI with a response code to be used by the Wallet to finalize the authentication. + * - **29** + - The User is informed by the Wallet Instance that the Autentication succeded, then the protected resource is made available to the User. + + +Request URI with HTTP POST +-------------------------- + +The Relying Party SHOULD provide the POST method with its ``request_uri`` endpoint +allowing the Wallet Instance to inform the Relying Party about its technical capabilities. + +This feature can be useful when, for example, the Wallet Instance supports +a restricted set of features, supported algorithms or a specific url for +its ``authorization_endpoint``, and any other information that it deems necessary to +provide to the Relying Party the parameters necessary for better interoperability. + +.. warning:: + The Wallet Instance, when providing its technical capabilities to the + Relying Party, MUST NOT include any User information or other explicit + information regarding the hardware used or usage preferences of its User. + +If both the Relying Party and the Wallet Instance +supports the ``request_uri_method`` with HTTP POST, +the Wallet Instance capabilities MUST +be provided using an HTTP request to the `request_uri` endpoint of the Relying Party, +with the method POST and content type set to `application/json`. + +A non-normative example of the HTTP request is represented below: + +.. code:: http + + POST /request-uri HTTP/1.1 + HOST: relying-party.example.org + Content-Type: application/json + + { + "authorization_endpoint": "https://wallet-solution.digital-strategy.europa.eu/authorization", + "response_types_supported": [ + "vp_token" + ], + "response_modes_supported": [ + "form_post.jwt" + ], + "vp_formats_supported": { + "vc+sd-jwt": { + "sd-jwt_alg_values": [ + "ES256", + "ES384" + ] + } + }, + "request_object_signing_alg_values_supported": [ + "ES256" + ], + "presentation_definition_uri_supported": false, + } + +The response of the Relying Party is defined in the section below. + + +Authorization Request Details +----------------------------- + +The Relying Party MUST create a Request Object in the form of a signed JWT and +it MUST provide it to the Wallet Instance through an HTTP URL (request URI). +The HTTP URL points to the web resource where the signed request object is +available for download. The URL parameters contained in the Relying Party +response, containing the request URI, are described in the Table below. + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **client_id** + - Unique identifier of the Relying Party. + * - **request_uri** + - The HTTPs URL where the Relying Party provides the signed Request Object to the Wallet Instance. + + + +Below a non-normative example of the response containing the required parameters previously described. + +.. code-block:: javascript + + https://wallet-solution.digital-strategy.europa.eu/authorization?client_id=...&request_uri=... + +The value corresponding to the `request_uri` endpoint SHOULD be randomized, according to `RFC 9101, The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR) `_ Section 5.2.1. + + +In the **Same Device Flow** the Relying Party uses an HTTP response redirect (with status code set to 302) as represented in the following non-normative example: + +.. code:: text + + HTTP/1.1 /authorization Found + Location: https://wallet-solution.digital-strategy.europa.eu? + client_id=https%3A%2F%2Frelying-party.example.org%2Fcb + &request_uri=https%3A%2F%2Frelying-party.example.org%2Frequest_uri + + +In the **Cross Device Flow**, a QR Code is shown by the Relying Party to the User in order to provide the Authorization Request. The User frames the QR Code using their Wallet Instance. + +Below is represented a non-normative example of a QR Code issued by the Relying Party. + +.. figure:: ../../images/verifier_qr_code.svg + :figwidth: 50% + :align: center + + +Below is represented a non-normative example of the QR Code raw payload: + +.. code-block:: text + + https://wallet-solution.digital-strategy.europa.eu/authorization?client_id=https%3A%2F%2Frelying-party.example.org&request_uri=https%3A%2F%2Frelying-party.example.org + +.. note:: + The *error correction level* chosen for the QR Code MUST be Q (Quartily - up to 25%), since it offers a good balance between error correction capability and data density/space. This level of quality and error correction allows the QR Code to remain readable even if it is damaged or partially obscured. + + +Cross Device Flow Status Checks and Security +-------------------------------------------- + +When the flow is Cross Device, the user-agent needs to check the session status to the endpoint made available by Relying Party (status endpoint). This check MAY be implemented in the form of JavaScript code, within the page that shows the QRCode, then the user-agent checks the status with a polling strategy in seconds or a push strategy (eg: web socket). + +Since the QRcode page and the status endpoint are implemented by the Relying Party, it is under its responsability the implementation details of this solution, since it is related to the Relying Party's internal API. + +The Relying Party MUST bind the request of the user-agent, with a Secure and HttpOnly session cookie, with the issued request. The request url SHOULD include a parameter with a random value. The HTTP response returned by this specialized endpoint MAY contain the HTTP status codes listed below: + +* **201 Created**. The signed Request Object was issued by the Relying Party that waits to be downloaded by the Wallet Instance at the **request_uri** endpoint. +* **202 Accepted**. This response is given when the signed Request Object was obtained by the Wallet Instance. +* **200 OK**. The Wallet Instance has provided the presentation to the Relying Party's **response_uri** endpoint and the User authentication is successful. The Relying Party updates the session cookie allowing the user-agent to access to the protected resource. An URL is provided carrying the location where the user-agent is intended to navigate. +* **401 Unauthorized**. The Wallet Instance or its User have rejected the request, or the request is expired. The QRCode page SHOULD be updated with an error message. + +Below a non-normative example of the HTTP Request to this specialized endpoint, where the parameter ``id`` contains an opaque and random value: + +.. code:: + + GET /session-state?id=3be39b69-6ac1-41aa-921b-3e6c07ddcb03 + HTTP/1.1 + HOST: relying-party.example.org + + +Request Object Details +---------------------- + +Below a non-normative example of HTTP request made by the Wallet Instance to the Relying Party. + +.. code-block:: javascript + + GET /request_uri HTTP/1.1 + HOST: relying-party.example.org + + +Request URI response +-------------------- + +The Relying Party issues the signed Request Object, where a non-normative example in the form of decoded header and payload is shown below: + +.. code-block:: text + + { + "alg": "ES256", + "typ": "JWT", + "kid": "e0bbf2f1-8c3a-4eab-a8ac-2e8f34db8a47", + "trust_chain": [ + "MIICajCCAdOgAwIBAgIC...awz", + "MIICajCCAdOgAwIBAgIC...2w3", + "MIICajCCAdOgAwIBAgIC...sf2" + ] + } + . + { + "scope": "eu.europa.ec.eudiw.pid.it.1 tax_id_number", + "client_id_scheme": "entity_id", + "client_id": "https://relying-party.example.org", + "response_mode": "direct_post.jwt", + "response_type": "vp_token", + "response_uri": "https://relying-party.example.org/response_uri", + "nonce": "2c128e4d-fc91-4cd3-86b8-18bdea0988cb", + "state": "3be39b69-6ac1-41aa-921b-3e6c07ddcb03", + "iss": "https://relying-party.example.org", + "iat": 1672418465, + "exp": 1672422065, + "request_uri_method": "post" + } + +The JWS header parameters are described below: + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **alg** + - Algorithm used to sign the JWT, according to [:rfc:`7516#section-4.1.1`]. It MUST be one of the supported algorithms in Section *Cryptographic Algorithms* and MUST NOT be set to ``none`` or to a symmetric algorithm (MAC) identifier. + * - **typ** + - Media Type of the JWT, as defined in [:rfc:`7519`]. + * - **kid** + - Key ID of the public key needed to verify the JWS signature, as defined in [:rfc:`7517`]. REQUIRED when ``trust_chain`` is used. + * - **trust_chain** + - Sequence of Entity Statements that composes the Trust Chain related to the Relying Party, as defined in `OIDC-FED`_ Section *3.2.1. Trust Chain Header Parameter*. + + +The JWS payload parameters are described herein: + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **scope** + - Aliases for well-defined Presentation Definitions IDs. It is used to identify which required credentials and User attributes are requested by the Relying Party, according to the Section "Using scope Parameter to Request Verifiable Credential(s)" of [OID4VP]. + * - **client_id_scheme** + - String identifying the scheme of the value in the ``client_id``. It MUST be set to the value ``entity_id``. + * - **client_id** + - Unique Identifier of the Relying Party. + * - **response_mode** + - It MUST be set to ``direct_post.jwt``. + * - **response_type** + - It MUST be set to``vp_token``. + * - **response_uri** + - The Response URI to which the Wallet Instance MUST send the Authorization Response using an HTTP request using the method POST. + * - **nonce** + - Fresh cryptographically random number with sufficient entropy, which length MUST be at least 32 digits. + * - **state** + - Unique identifier of the Authorization Request. + * - **iss** + - The entity that has issued the JWT. It will be populated with the Relying Party client id. + * - **iat** + - Unix Timestamp, representing the time at which the JWT was issued. + * - **exp** + - Unix Timestamp, representing the expiration time on or after which the JWT MUST NOT be valid anymore. + * - **request_uri_method** + - String determining the HTTP method to be used with the `request_uri` endpoint to provide the Wallet metadata to the Relying Party. The value is case-insensitive and can be set to: `get` or `post`. The GET method, as defined in [@RFC9101], involves the Wallet sending a GET request to retrieve a Request Object. The POST method involves the Wallet requesting the creation of a new Request Object by sending an HTTP POST request, with its metadata, to the request URI of the Relying Party. + +.. warning:: + + Using the parameter ``scope`` requires that the Relying Party Metadata MUST contain the ``presentation_definition``, where a non-normative example of it is given below: + +.. code-block:: JSON + + { + "presentation_definition": { + "id": "presentation definitions", + "input_descriptors": [ + { + "id": "eu.europa.ec.eudiw.pid.it.1", + "name": "Person Identification Data", + "purpose": "User authentication", + "format": "vc+sd-jwt", + "constraints": { + "fields": [ + { + "path": [ + "$.credentialSubject.unique_id", + "$.credentialSubject.given_name", + "$.credentialSubject.family_name", + ] + } + ], + "limit_disclosure": "preferred" + } + } + ] + } + } + + +.. note:: + + The following parameters, even if defined in [OID4VP], are not mentioned in the previous non-normative example, since their usage is conditional and may change in future release of this documentation. + + - ``presentation_definition``: JSON object according to `Presentation Exchange `_. This parameter MUST not be present when ``presentation_definition_uri`` or ``scope`` are present. + - ``presentation_definition_uri``: Not supported. String containing an HTTPS URL pointing to a resource where a Presentation Definition JSON object can be retrieved. This parameter MUST be present when ``presentation_definition`` parameter or a ``scope`` value representing a Presentation Definition is not present. + - ``client_metadata``: A JSON object containing the Relying Party metadata values. The ``client_metadata`` parameter MUST NOT be present when ``client_id_scheme`` is ``entity_id``. Since the ``client_metadata`` is taken from ``trust_chain``, this parameter is intended to not be used. + - ``client_metadata_uri``: string containing an HTTPS URL pointing to a resource where a JSON object with the Relying Party metadata can be retrieved. The ``client_metadata_uri`` parameter MUST NOT be present when ``client_id_scheme`` is ``entity_id``. Since the ``client_metadata`` is taken from ``trust_chain``, this parameter is intended to not be used. + + +Authorization Response Details +------------------------------ + +After getting the User authorization and consent for the presentation of the Credentials, the Wallet sends the Authorization Response to the Relying Party ``response_uri`` endpoint, the content SHOULD be encrypted according `OPENID4VP`_ Section 6.3, using the Relying Party public key. + +.. note:: + **Why the response is encrypted?** + + The response sent from the Wallet Instance to the Relying Party is encrypted to prevent a malicious agent from gaining access to the plaintext information transmitted within the Relying Party's network. This is only possible if the network environment of the Relying Party employs `TLS termination `_. Such technique employs a termination proxy that acts as an intermediary between the client and the webserver and handles all TLS-related operations. In this manner, the proxy deciphers the transmission's content and either forwards it in plaintext or by negotiates an internal TLS session with the actual webserver's intended target. In the first scenario, any malicious actor within the network segment could intercept the transmitted data and obtain sensitive information, such as an unencrypted response, by sniffing the transmitted data. + +Below a non-normative example of the request: + +.. code-block:: http + + POST /response_uri HTTP/1.1 + HOST: relying-party.example.org + Content-Type: application/x-www-form-urlencoded + + response=eyJhbGciOiJFUzI1NiIs...9t2LQ + + +Below is a non-normative example of the decrypted JSON ``response`` content: + +.. code-block:: + + { + "state": "3be39b69-6ac1-41aa-921b-3e6c07ddcb03", + "vp_token": [ + "eyJhbGciOiJFUzI1NiIs...PT0iXX0", + $WalletInstanceAttestation-JWT + ], + "presentation_submission": { + "definition_id": "32f54163-7166-48f1-93d8-ff217bdb0653", + "id": "04a98be3-7fb0-4cf5-af9a-31579c8b0e7d", + "descriptor_map": [ + { + "id": "eu.europa.ec.eudiw.pid.it.1", + "path": "$.vp_token.verified_claims.claims._sd[0]", + "format": "vc+sd-jwt" + } + ] + } + } + +Where the following parameters are used: + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **vp_token** + - JSON Array containing the Verifiable Presentation(s). There MUST be at least two signed presentations in this Array: + - The Requested Digital Credential (one or more, if in format SD-JWT VC or MDOC CBOR) + - The Wallet Instance Attestation + * - **presentation_submission** + - JSON Object containing the mappings between the requested Verifiable Credentials and where to find them within the returned Verifiable Presentation Token. + * - **state** + - Unique identifier provided by the Relying Party within the Authorization Request. + + +Below is a non-normative example of the ``vp_token`` decoded content, represented in the form of JWS header and payload, separated by a period: + +.. code-block:: text + + { + "alg": "ES256", + "typ": "JWT", + "kid": "e0bbf2f1-8c3a-4eab-a8ac-2e8f34db8a47" + } + . + { + "iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "jti": "3978344f-8596-4c3a-a978-8fcaba3903c5", + "aud": "https://relying-party.example.org/response_uri", + "iat": 1541493724, + "exp": 1573029723, + "nonce": "2c128e4d-fc91-4cd3-86b8-18bdea0988cb" + "vp": "~~~...~" + } + +Where the following parameters are used: + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **vp** + - The Digital Credential in its original state. The public key contained in the Digital Credential MUST be used to verify the entire VP JWS as Proof of Possession of the private key which the public key is included in the Digital Credential. Eg: for SD-JWT VC the pblic key is provided within the ``cnf.jwk`` claim. + * - **jti** + - JWS unique identifier. + * - **iat** + - Unix timestamp of the time of issuance of this presentation. + * - **exp** + - Unix timestamp beyond which this presentation will no longer be considered valid. + * - **aud** + - Audience of the VP, corresponding to the ``response_uri`` within the Authorization request issued by the Relying Party. + * - **nonce** + - The nonce value provided by the Relying Party within the Authorization Request. + + +Redirect URI +------------ + +When the Relying Party provides the redirect URI, the Wallet MUST send the user-agent to this redirect URI. The redirect URI allows the Relying Party to continue the interaction with the End-User on the device where the Wallet resides after the Wallet has sent the Authorization Response to the response URI. + +The Relying Party MUST include a response code withing the redirect URI. The response code is a fresh, cryptographically random number used to ensure only the receiver of the redirect can fetch and process the Authorization Response. The number could be added as a path component, as a parameter or as a fragment to the URL. It is RECOMMENDED to use a cryptographic random value of 128 bits or more at the time of the writing of this specification. + +The following is a non-normative example of the response from the Relying Party to the Wallet upon receiving the Authorization Response at the Response Endpoint. + + +.. code-block:: http + + HTTP/1.1 200 OK + Content-Type: application/json;charset=UTF-8 + + { + "redirect_uri": "https://relying-party.example.org/cb#response_code=091535f699ea575c7937fa5f0f454aee" + } + +The ``redirect_uri`` value MUST be used with an HTTP method GET by either the Wallet or the user-agent to redirect the User to the Relying Party in order to complete the authentication process. The specific entity that performs this action depends on whether the flow is Same device or Cross device. + + +Relying Party Entity Configuration +----------------------------------- +According to the `Trust Model`_ section, the Relying Party is a Federation Entity and MUST expose a *well-known* endpoint containing its Entity Configuration. + +Below a non-normative example of the request made by the Wallet Instance to the *openid-federation* well-known endpoint to obtain the Relying Party Entity Configuration: + +.. code-block:: http + + GET /.well-known/openid-federation HTTP/1.1 + HOST: relying-party.example.org + + +Below is a non-normative response example: + +.. code-block:: text + + { + "alg": "RS256", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "typ": "entity-statement+jwt" + } + . + { + "exp": 1649590602, + "iat": 1649417862, + "iss": "https://rp.example.it", + "sub": "https://rp.example.it", + "jwks": { + "keys": [ + { + "kty": "RSA", + "n": "5s4qi ...", + "e": "AQAB", + "kid": "2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs" + } + ] + }, + "metadata": { + "wallet_relying_party": { + "application_type": "web", + "client_id": "https://rp.example.it", + "client_name": "Name of an example organization", + "jwks": { + "keys": [ + { + "kty": "RSA", + "use": "sig", + "n": "1Ta-sE ...", + "e": "AQAB", + "kid": "YhNFS3YnC9tjiCaivhWLVUJ3AxwGGz_98uRFaqMEEs", + "x5c": [ "..." ] + } + ] + }, + + "contacts": [ + "ops@relying-party.example.org" + ], + + "request_uris": [ + "https://relying-party.example.org/request_uri" + ], + "response_uris": [ + "https://relying-party.example.org/response_uri" + ], + "default_acr_values": [ + "https://www.spid.gov.it/SpidL2", + "https://www.spid.gov.it/SpidL3" + ], + "vp_formats": { + "vc+sd-jwt": { + "sd-jwt_alg_values": [ + "ES256", + "ES384" + ], + "kb-jwt_alg_values": [ + "ES256", + "ES384" + ] + } + }, + "presentation_definitions": [ + { + "id": "eu.europa.ec.eudiw.pid.it.1", + "input_descriptors": [ + { + "id": "IdentityCredential", + "format": { + "vc+sd-jwt": {} + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.type" + ], + "filter": { + "type": "string", + "const": "IdentityCredential" + } + }, + { + "path": [ + "$.family_name" + ] + }, + { + "path": [ + "$.given_name" + ] + }, + { + "path": [ + "$.unique_id" + ], + "intent_to_retain": "true" + } + ] + } + } + ] + }, + { + "id": "mDL-sample-req", + "input_descriptors": [ + { + "id": "mDL", + "format": { + "mso_mdoc": { + "alg": [ + "EdDSA", + "ES256" + ] + }, + "constraints": { + "limit_disclosure": "required", + "fields": [ + { + "path": [ + "$.mdoc.doctype" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1.mDL" + } + }, + { + "path": [ + "$.mdoc.namespace" + ], + "filter": { + "type": "string", + "const": "org.iso.18013.5.1" + } + }, + { + "path": [ + "$.mdoc.family_name" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.portrait" + ], + "intent_to_retain": "false" + }, + { + "path": [ + "$.mdoc.driving_privileges" + ], + "intent_to_retain": "false" + } + ] + } + } + } + ] + } + ], + + "default_max_age": 1111, + + // JARM related + "authorization_signed_response_alg": [[ + "ES256" + ], + "authorization_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "authorization_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + + // SIOPv2 related + "subject_type": "pairwise", + "require_auth_time": true, + "id_token_signed_response_alg": [ + "ES256" + ], + "id_token_encrypted_response_alg": [ + "RSA-OAEP", + "RSA-OAEP-256" + ], + "id_token_encrypted_response_enc": [ + "A128CBC-HS256", + "A192CBC-HS384", + "A256CBC-HS512", + "A128GCM", + "A192GCM", + "A256GCM" + ], + }, + "federation_entity": { + "organization_name": "OpenID Wallet Relying Party example", + "homepage_uri": "https://relying-party.example.org/home", + "policy_uri": "https://relying-party.example.org/policy", + "logo_uri": "https://relying-party.example.org/static/logo.svg", + "contacts": [ + "tech@relying-party.example.org" + ] + } + }, + "authority_hints": [ + "https://registry.eudi-wallet.example.it" + ] + } + } + + +The Entity Configuration is a JWS, where its header parameters are defined below: + +.. list-table:: + :widths: 25 50 + :header-rows: 1 + + * - **Name** + - **Description** + * - **alg** + - Algorithm used to sign the JWT + * - **typ** + - Media Type of the JWT + * - **kid** + - Key ID used identifying the key used to sign the JWS + + +.. note: + The Relying Party specific metadata parameter are experimental + and still under discussion `here `_. + diff --git a/p256/en/_sources/trust.rst.txt b/p256/en/_sources/trust.rst.txt index 464c86860..f8d3f4fd9 100644 --- a/p256/en/_sources/trust.rst.txt +++ b/p256/en/_sources/trust.rst.txt @@ -29,7 +29,7 @@ except for Wallet Instances which are End-User's personal devices certified by t .. note:: The Wallet Instance, as a personal device, is certified as reliable through a verifiable attestation issued and signed by a trusted third party. - This is called *Wallet Instance Attestation* and is documented in `the dedicated section `_. + This is called *Wallet Attestation* and is documented in `the dedicated section `_. Below the table with the summary of the Federation Entity roles, mapped on the corresponding EUDI Wallet roles, as defined in the `EIDAS-ARF`_. @@ -80,7 +80,7 @@ OpenID Federation facilitates the building of an infrastructure that is: - **Secure and Tamper-proof**, Entities' attestations of metadata and keys are cryptographically signed in the Trust Chain, comprised of attestations issued by multiple parties. These attestations, called statements, cannot be forged or tampered by an adversary; - **Privacy-preserving**, the infrastructure is public and exposes public data such as public keys and metadata of the participants. It does not require authentication of the consumers and therefore does not track who is assessing trust against whom; - **Guarantor of the non-repudiation of long-lived attestations**, historical keys endpoints and historical Trust Chains are saved for years according to data retention policies. This enables the certification of the validity of historical compliance, even in cases of revocation, expiration, or rotation of the keys used for signature verification; -- **Dynamic and flexible**, any participants have the freedom to modify parts of their metadata autonomously, as these are published within their domains and verified through the Trust Chain. Simultaneously, the Trust Anchor or its Intermediate may publish a metadata policy to dynamically modify the metadata of all participants — such as disabling a vulnerable signature algorithm — and obtain certainty of propagation within a configured period of time within the federation; +- **Dynamic and flexible**, any participants have the freedom to modify parts of their metadata autonomously, as these are published within their domains and verified through the Trust Chain. Simultaneously, the Trust Anchor or its Intermediate may publish a metadata policy to dynamically modify the metadata of all participants - such as disabling a vulnerable signature algorithm - and obtain certainty of propagation within a configured period of time within the federation; - **Developer friendly**, JWT and JSON formats have been adopted on the web for years. They are cost-effective in terms of storage and processing and have a wide range of solutions available, such as libraries and software development kits, which enable rapid implementation of the solution; - **Scalable**, the Trust Model can accommodate more than a single organization by using Intermediates and multiple Trust Anchors where needed. @@ -107,7 +107,7 @@ In the table below is provided the map of the components that the ARF defines wi | | | Entity | | | | Statements | +----------------------------------------------------+--------------+----------------+ -| Relying Parties’ registration and authentication | |check-icon| | | +| Relying Parties' registration and authentication | |check-icon| | | | | | Trust Chains | | | | | | | | Federation | @@ -140,7 +140,7 @@ All the endpoints listed below are defined in the `OIDC-FED`_ specs. | federation metadata | **GET** .well-known/openid-federation |Metadata that an Entity | Intermediate | | | |publishes about itself, | | | | |verifiable with a trusted third | Wallet Provider| -| | |party (Superior Entity). It’s | | +| | |party (Superior Entity). It's | | | | |called Entity Configuration. | Relying Party | | | | | | | | | | Credential | @@ -153,7 +153,7 @@ All the endpoints listed below are defined in the `OIDC-FED`_ specs. | fetch endpoint | **GET** /fetch?sub=https://rp.example.org | | Trust Anchor | | | |Returns a signed document (JWS) | | | | |about a specific subject, its | Intermediate | -| | |Subordinate. It’s called Entity | | +| | |Subordinate. It's called Entity | | | | |Statement. | | +---------------------------+----------------------------------------------+--------------------------------+-----------------+ | trust mark status | **POST** /status?sub=...&trust_mark_id=... | | Trust Anchor | @@ -199,6 +199,7 @@ Below is a non-normative example of a Trust Anchor Entity Configuration, where e "jwks": { "keys": [ { + "kty": "EC", "kid": "X2ZOMHNGSDc4ZlBrcXhMT3MzRmRZOG9Jd3o2QjZDam51cUhhUFRuOWd0WQ", "crv": "P-256", @@ -508,9 +509,9 @@ The concatenation of the statements, through the combination of these signing me The Trust Chains can also be verified offline, using one of the Trust Anchor's public keys. .. note:: - Since the Wallet Instance is not a Federation Entity, the Trust Evaluation Mechanism related to it **requires the presentation of the Wallet Instance Attestation during the credential issuance and presentation phases**. + Since the Wallet Instance is not a Federation Entity, the Trust Evaluation Mechanism related to it **requires the presentation of the Wallet Attestation during the credential issuance and presentation phases**. - The Wallet Instance Attestation conveys all the required information pertaining to the instance, such as its public key and any other technical or administrative information, without any User's personal data. + The Wallet Attestation conveys all the required information pertaining to the instance, such as its public key and any other technical or administrative information, without any User's personal data. Relying Party Attestation @@ -527,14 +528,14 @@ The Trust Chain SHOULD be contained within the signed request in the form of a J In offline flows, Trust Chain verification enables the assessment of the reliability of Trust Marks and Attestations contained within. -Wallet Instance Attestation +Wallet Attestation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Wallet Provider issues the Wallet Instance Attestation, certifying the operational status of its Wallet Instances and including one of their public keys. +The Wallet Provider issues the Wallet Attestation, certifying the operational status of its Wallet Instances and including one of their public keys. -The Wallet Instance Attestation contains the Trust Chain that attests the reliability for its issuer (Wallet Provider) at the time of issuance. +The Wallet Attestation contains the Trust Chain that attests the reliability for its issuer (Wallet Provider) at the time of issuance. -The Wallet Instance provides its Wallet Instance Attestation within the signed request during the PID issuance phase, containing the Trust Chain related to the Wallet Provider. +The Wallet Instance provides its Wallet Attestation within the signed request during the PID issuance phase, containing the Trust Chain related to the Wallet Provider. Trust Chain @@ -564,7 +565,7 @@ Below is a non-normative example of a Trust Chain in its original format (JSON A .. note:: - The entire Trust Chain is verifiable by only possessing the Trust Anchor’s public keys. + The entire Trust Chain is verifiable by only possessing the Trust Anchor's public keys. Offline Trust Attestation Mechanisms @@ -577,7 +578,7 @@ Offline EUDI Wallet Trust Attestation ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Given that the Wallet Instance cannot publish its metadata online at the *.well-known/openid-federation* endpoint, -it MUST obtain a Wallet Instance Attestation issued by its Wallet Provider. The Wallet Instance Attestation MUST contain all the relevant information regarding the security capabilities of the Wallet Instance and its protocol related configuration. It SHOULD contain the Trust Chain related to its issuer (Wallet Provider). +it MUST obtain a Wallet Attestation issued by its Wallet Provider. The Wallet Attestation MUST contain all the relevant information regarding the security capabilities of the Wallet Instance and its protocol related configuration. It SHOULD contain the Trust Chain related to its issuer (Wallet Provider). Offline Relying Party Metadata diff --git a/p256/en/_sources/wallet-attestation.rst.txt b/p256/en/_sources/wallet-attestation.rst.txt new file mode 100644 index 000000000..abfde0b54 --- /dev/null +++ b/p256/en/_sources/wallet-attestation.rst.txt @@ -0,0 +1,351 @@ +.. include:: ../common/common_definitions.rst + +.. _wallet-attestation.rst: + +Wallet Attestation +++++++++++++++++++ + +The Wallet Attestation containing details about the Wallet Instance and the device's security level where the Wallet Instance is installed. It generally attests the **authenticity**, **integrity**, **security**, **privacy**, and **trust** of a specific Wallet Instance. The Wallet Attestation MUST contain a Wallet Instance public key. + +General Properties +------------------ + +The Wallet Attestation: + +- MUST be issued and MUST be signed by Wallet Provider; +- MUST give all the relevant information to attests the **integrity** and **security** of the device where the Wallet Instance is installed. + +It is necessary for each Wallet Instance to obtain a Wallet Attestation before entering the Operational state. + +Requirements +------------ + +The following requirements for the Wallet Attestation are met: + +1. The Wallet Attestation MUST use the signed JSON Web Token (JWT) format. +2. The Wallet Provider MUST offer a RESTful set of services for issuing the Wallet Attestations. +3. The Wallet Attestation MUST be securely bound to the Wallet Instance public key (**Holder Key Binding**). +4. The Wallet Attestation MUST be issued and signed by an accredited and reliable Wallet Provider, thereby providing integrity and authenticity to the attestation. +5. The Wallet Attestation MUST ensure the integrity and authenticity of the Wallet Instance, verifying that it was accurately created and provided by the Wallet Provider. +6. Each Wallet Instance SHOULD be able to request multiple attestations with different public keys associated to them. This requirement provides a privacy-preserving measure, as the public key MAY be used as a tracking tool during the presentation phase (see also the point number 10, listed below). +7. The Wallet Attestation SHOULD be usable multiple times during its validity period, allowing for repeated authentication and authorization without the need to request new attestations with each interaction. +8. The Wallet Attestation SHOULD have an expiration date time, after which it will no longer be considered valid. +9. When the private key associated with the Wallet Instance is lost or deleted, the attestation MUST become invalid to prevent unauthorized use of the Wallet Instance. + + +High-level Design +----------------- + +Static Component View +~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: ../../images/static_view_wallet_instance_attestation.svg + :name: Wallet Solution Schema + :alt: The image illustrates the containment of Wallet Provider and Wallet Instances within the Wallet Solution, managed by the Wallet Provider. + :target: https://www.plantuml.com/plantuml/uml/XP4nJuSm44VtVehBdxbnPp2iRYx6qTHIjR7SaVQ0-EqzaICDgN4ZBxpqzTUXiCkyJCaupvJXzbH2le4hiCW7A7rsAGM6ETCQn-E7RMSloi0OJzDC691FeL1QE1BMWZBeraW2Mbv4wK8VQayPT5yX9TgCQPclpdy676lnGF0ZN93DyVs3xVsrhOU70hCi0_JshwHXFJp-Rg4dIuECo96moD7xeBQbUKBEbE0EPEwuEWx6N2zj_uXqU8wbhVMhD3tjbAX1BYIl_mq0 + +Dynamic Component View +~~~~~~~~~~~~~~~~~~~~~~ + +This section describes the Wallet Attestation format and how the Wallet Provider issues it. + +.. figure:: ../../images/dynamic_view_sequence_wallet_instance_attestation.svg + :name: Sequence Diagram for Wallet Attestation Request + :alt: The figure illustrates the sequence diagram for issuing a Wallet Attestation, with the steps explained below. + :target: https://www.plantuml.com/plantuml/ZP91RzH038NlyojCJwr4n7qFgrOSAf2G409wwSL9h60ryGmUpqRRNuyt6qBJe5MlzlFtx3TpcmtLoj27Tqcn6n2CuZEO5WfOB4ePQj8GagkuuOHYSFKZaru1PYZh-WFsFHby4eTAGvDavFzglceyS3jZndgjkKi9q8mSOnm5tEx0Cy_h8HIezaxUkHKROy_F1A_C7oKgAFqkJlcGb38vkL5gIKuJEOnSxSTw1_S-z6ef6CYmHSCmrfMhtEZBN84cYY4BI_U21dPCbD_34nqdJrOQlECLaZP55flzdFJJrtKIRKnDIpQN_RtjdeJKXHCr8MkUcsYsWs_dqq2Y7nky1DLvRguiVX-Lq3RnmDs_V1VMvuVl0HlZmsbWh5SHuGlzzHjWDwVizZwrlNWPwqWA2mdb3DVJsZUdIwh9rML6dR8TeVb5pHCevTAROy_jXPgv4xIYjBIMv53QgNtf-kMDBuishtT1tD8wHUUNBPwNlzi-YXAsHx08iJPa0Q5nzLjlITeoz7y0 + +- **Message 1**: The User starts the Wallet Instance mobile app and gets authenticated to it. +- **Message 2**: The Wallet Instance verifies the Wallet Provider's trustworthiness by evaluating its Trust Chain. +- **Message 3-4**: The Wallet Instance retrieves the Wallet Provider metadata, including the list of supported algorithms, public keys, and endpoints. +- **Message 5**: The Wallet Instance generates a new key pair. +- **Message 6-7**: The Wallet Instance requests a ``nonce`` from the App Attestation Service. +- **Message 8**: The Wallet Instance creates a Wallet Attestation Request in JWS format, signed with the private key associated with the public key for which it request the attestation. +- **Message 9-13**: The Wallet Instance provides the Wallet Attestation Request to the Wallet Provider, which validates it and returns a signed attestation to the Wallet Instance. +- **Message 13-14**: The Wallet Instance receives the Wallet Attestation signed by the Wallet Provider and performs security and integrity verifications. +- **Message 15**: The Wallet Attestation is now ready for use. + +Detailed Design +--------------- + +The detailed design is explained below. + +Wallet Attestation Request +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +To obtain a Wallet Attestation from the Wallet +Provider it is necessary to send a Wallet Attestation +Request from the Wallet Instance containing the associated public key +, the ``nonce`` value provided by the App Attestation Service and a ``jti`` value. + +The Wallet Instance MUST do an HTTP request to the Wallet Provider's `token endpoint`_, +using the method `POST `__. + +The **token** endpoint (as defined in `RFC 7523 section 4`_) requires the following parameters +encoded in ``application/x-www-form-urlencoded`` format: + +* ``grant_type`` set to ``urn:ietf:params:oauth:grant-type:jwt-bearer``; +* ``assertion`` containing the signed JWT defined in the Section `Wallet Attestation Request`_. + +Below a non-normative example of the HTTP request. + +.. code-block:: http + + POST /token HTTP/1.1 + Host: wallet-provider.example.org + Content-Type: application/x-www-form-urlencoded + + grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer + &assertion=eyJhbGciOiJFUzI1NiIsImtpZCI6ImtoakZWTE9nRjNHeGRxd2xVTl9LWl83NTVUT1ZEbmJIaDg2TW1KcHh2a1UifQ.eyJpc3MiOiAidmJlWEprc000NXhwaHRBTm5DaUc2bUN5dVU0amZHTnpvcEd1S3ZvZ2c5YyIsICJhdWQiOiAiaHR0cHM6Ly93YWxsZXQtcHJvdmlkZXIuZXhhbXBsZS5vcmciLCAianRpIjogImY1NjUyMDcyLWFiZWYtNDU5OS1iODYzLTlhNjkwNjA3MzJjYyIsICJub25jZSI6ICIuLi4uLiIsICJjbmYiOiB7Imp3ayI6IHsiY3J2IjogIlAtMjU2IiwgImt0eSI6ICJFQyIsICJ4IjogIjRITnB0SS14cjJwanlSSktHTW56NFdtZG5RRF91SlNxNFI5NU5qOThiNDQiLCAieSI6ICJMSVpuU0IzOXZGSmhZZ1MzazdqWEU0cjMtQ29HRlF3WnRQQklScXBObHJnIiwgImtpZCI6ICJ2YmVYSmtzTTQ1eHBodEFObkNpRzZtQ3l1VTRqZkdOem9wR3VLdm9nZzljIn19LCAiaWF0IjogMTY5MTQ4ODk2MiwgImV4cCI6IDE2OTE0OTYxNjJ9.Dg_yFaiv6lVftR3FFx0v5JW250mBgXLVP1j0ezZcHRyitqSY7xGmx4y-MGur93FAS85vf_Da-L-REVEltwU2Jw + +The response is the `Wallet Attestation`_ in JWT format: + +.. code-block:: http + + HTTP/1.1 201 OK + Content-Type: application/jwt + + eyJhbGciOiJFUzI1NiIsInR5cCI6IndhbGxldC1hdHRlc3RhdGlvbitqd3QiLCJraWQiOiI1dDVZWXBCaE4tRWdJRUVJNWlVenI2cjBNUjAyTG5WUTBPbWVrbU5LY2pZIiwidHJ1c3RfY2hhaW4iOlsiZXlKaGJHY2lPaUpGVXouLi42UzBBIiwiZXlKaGJHY2lPaUpGVXouLi5qSkxBIiwiZXlKaGJHY2lPaUpGVXouLi5IOWd3Il19.eyJpc3MiOiJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZyIsInN1YiI6InZiZVhKa3NNNDV4cGh0QU5uQ2lHNm1DeXVVNGpmR056b3BHdUt2b2dnOWMiLCJ0eXBlIjoiV2FsbGV0SW5zdGFuY2VBdHRlc3RhdGlvbiIsInBvbGljeV91cmkiOiJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy9wcml2YWN5X3BvbGljeSIsInRvc191cmkiOiJodHRwczovL3dhbGxldC1wcm92aWRlci5leGFtcGxlLm9yZy9pbmZvX3BvbGljeSIsImxvZ29fdXJpIjoiaHR0cHM6Ly93YWxsZXQtcHJvdmlkZXIuZXhhbXBsZS5vcmcvbG9nby5zdmciLCJhdHRlc3RlZF9zZWN1cml0eV9jb250ZXh0IjoiaHR0cHM6Ly93YWxsZXQtcHJvdmlkZXIuZXhhbXBsZS5vcmcvTG9BL2Jhc2ljIiwiY25mIjp7Imp3ayI6eyJjcnYiOiJQLTI1NiIsImt0eSI6IkVDIiwieCI6IjRITnB0SS14cjJwanlSSktHTW56NFdtZG5RRF91SlNxNFI5NU5qOThiNDQiLCJ5IjoiTElablNCMzl2RkpoWWdTM2s3alhFNHIzLUNvR0ZRd1p0UEJJUnFwTmxyZyIsImtpZCI6InZiZVhKa3NNNDV4cGh0QU5uQ2lHNm1DeXVVNGpmR056b3BHdUt2b2dnOWMifX0sImF1dGhvcml6YXRpb25fZW5kcG9pbnQiOiJldWRpdzoiLCJyZXNwb25zZV90eXBlc19zdXBwb3J0ZWQiOlsidnBfdG9rZW4iXSwidnBfZm9ybWF0c19zdXBwb3J0ZWQiOnsiand0X3ZwX2pzb24iOnsiYWxnX3ZhbHVlc19zdXBwb3J0ZWQiOlsiRVMyNTYiXX0sImp3dF92Y19qc29uIjp7ImFsZ192YWx1ZXNfc3VwcG9ydGVkIjpbIkVTMjU2Il19fSwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGdfdmFsdWVzX3N1cHBvcnRlZCI6WyJFUzI1NiJdLCJwcmVzZW50YXRpb25fZGVmaW5pdGlvbl91cmlfc3VwcG9ydGVkIjpmYWxzZSwiaWF0IjoxNjg3MjgxMTk1LCJleHAiOjE2ODcyODgzOTV9.tNvCyFPCL5tUi2NakKwdaG9xbrtWWl4djSRYRfHrF8NdmffdT044U55pRn35J2cl0LZxbesEDrfSAz2pllw2Ug + + +Below are described the JWT headers and the payload claims +of the `assertion` used in the request. + + +Assertion Header +^^^^^^^^^^^^^^^^ ++-----------------------------------+-----------------------------------+ +| **key** | **value** | ++-----------------------------------+-----------------------------------+ +| alg | Algorithm to verify the token | +| | signature (es. ES256). | ++-----------------------------------+-----------------------------------+ +| kid | Key id of the public key | +| | created by the Wallet Instance. | ++-----------------------------------+-----------------------------------+ +| typ | Media type, set to | +| | ``wiar+jwt``. | ++-----------------------------------+-----------------------------------+ + +Assertion Payload +^^^^^^^^^^^^^^^^^ + ++--------+-------------------------------------------------------------+ +| **key**| **value** | ++--------+-------------------------------------------------------------+ +|| iss || Thumbprint value | +|| || of the JWK of the Wallet Instance | +|| || for which the attestation is | +|| || being requested. | ++--------+-------------------------------------------------------------+ +|| aud || The public url of the Wallet | +|| || Provider. | ++--------+-------------------------------------------------------------+ +|| jti || Unique identifier of the request, according to | +|| || `RFC7519 `_.| +|| || | ++--------+-------------------------------------------------------------+ +|| nonce || The nonce value obtained from the | +|| || App Attestation Service. | ++--------+-------------------------------------------------------------+ +|| cnf || JSON object, according to | +|| || `RFC7800 `_ | +|| || containing the public part of an asymmetric key pair owned | +|| || by the Wallet Instance. | ++--------+-------------------------------------------------------------+ +|| iat || Unix timestamp of attestation request | +|| || issuance time. | ++--------+-------------------------------------------------------------+ +|| exp || Unix timestamp regarding the | +|| || expiration date time. | ++--------+-------------------------------------------------------------+ + + +Below a non-normative example of the Wallet Attestation +request where the decoded JWS headers and payload are separated by a comma: + +.. code-block:: javascript + + { + "alg": "ES256", + "kid": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "typ": "wiar+jwt" + } + . + { + "iss": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "aud": "https://wallet-provider.example.org", + "jti": "6ec69324-60a8-4e5b-a697-a766d85790ea", + "nonce" : ".....", + "cnf": { + "jwk": { + "crv": "P-256", + "kty": "EC", + "x": "4HNptI-xr2pjyRJKGMnz4WmdnQD_uJSq4R95Nj98b44", + "y": "LIZnSB39vFJhYgS3k7jXE4r3-CoGFQwZtPBIRqpNlrg", + "kid": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c" + } + }, + "iat": 1686645115, + "exp": 1686652315 + } + +Whose corresponding JWS is verifiable using the public part of an asymmetric +key pair owned by the Wallet Instance that has a key id which is the same +as the `kid` made available in the JWS header. + + +Wallet Attestation +~~~~~~~~~~~~~~~~~~ + +The Wallet Attestation MUST be provisioned in JWT format, with +headers and payload claims are listed below. + +Header +^^^^^^ + ++-----------------------------------+-----------------------------------+ +| **key** | **value** | ++-----------------------------------+-----------------------------------+ +| alg | Algorithm to verify the token | +| | signature (es. ES256). | ++-----------------------------------+-----------------------------------+ +| kid | The key id of the key used by the | +| | Wallet Provider to sign the | +| | attestation. | ++-----------------------------------+-----------------------------------+ +| typ | Media type, set to | +| | `wallet-attestation+jwt`, | +| | according to | +| | [`OPENID4VC-HAIP`_] | ++-----------------------------------+-----------------------------------+ +| x5c | Array containing the X.509 | +| | chain | +| | of certificates used to attest | +| | the public key of the Wallet | +| | Provider. | ++-----------------------------------+-----------------------------------+ +| trust_chain | Array containing the Federation | +| | Trust Chain relating to the | +| | Wallet Provider. | ++-----------------------------------+-----------------------------------+ + +.. note:: + + One of the claims `trust_chain` and `x5c` MUST be provisioned. + If they are both provided, the related public key + MUST be the same in both `trust_chain` and `x5c`. + +Payload +^^^^^^^ + ++---------------------------+------------------------------------------------+ +| **key** | **value** | ++---------------------------+------------------------------------------------+ +|| iss || The public url of the Wallet Provider | ++---------------------------+------------------------------------------------+ +|| sub || Thumbprint value | +|| || of the JWK of the Wallet Instance | +|| || for which the attestation is | +|| || being issued. | ++---------------------------+------------------------------------------------+ +|| iat || Unix timestamp of attestation | +|| || issuance time. | ++---------------------------+------------------------------------------------+ +|| exp || Unix timestamp regarding the | +|| || expiration date time. | +|| || A good practice to avoid security | +|| || problems is to have a limited | +|| || duration of the attestation. | ++---------------------------+------------------------------------------------+ +|| aal || JSON String asserting the authentication level| +|| || of the Wallet and the key as asserted in | +|| || the cnf claim. | ++---------------------------+------------------------------------------------+ +|| cnf || This parameter contains the ``jwk`` | +|| || parameter | +|| || with the public key of the Wallet Instance | +|| || necessary for the Holder Key Binding. | ++---------------------------+------------------------------------------------+ +|| authorization_endpoint || URL of the SIOPv2 | +|| || Authorization Endpoint. | ++---------------------------+------------------------------------------------+ +|| response_types_supported || JSON array containing a list of | +|| || the OAuth 2.0 ``response_type`` values. | ++---------------------------+------------------------------------------------+ +|| response_modes_supported || JSON array containing a list of the OAuth 2.0 | +|| || "response_mode" values that this | +|| || authorization server supports. | +|| || `RFC 8414 section 2`_ | ++---------------------------+------------------------------------------------+ +|| vp_formats_supported || JSON object with name/value pairs, | +|| || identifying a Credential format supported | +|| || by the Wallet. | ++---------------------------+------------------------------------------------+ +|| request_object_signing || JSON array containing a list of the | +|| _alg_values_supported || JWS signing algorithms (alg values) | +|| || supported. | ++---------------------------+------------------------------------------------+ +|| presentation_definition || Boolean value specifying whether the | +|| _uri_supported || Wallet Instance supports the transfer of | +|| || ``presentation_definition`` by | +|| || reference. MUST set to `false`. | ++---------------------------+------------------------------------------------+ + +Below is an example of Wallet Attestation: + +.. code-block:: javascript + + { + "alg": "ES256", + "kid": "5t5YYpBhN-EgIEEI5iUzr6r0MR02LnVQ0OmekmNKcjY", + "trust_chain": [ + "eyJhbGciOiJFUz...6S0A", + "eyJhbGciOiJFUz...jJLA", + "eyJhbGciOiJFUz...H9gw", + ], + "typ": "wallet-attestation+jwt", + } + . + { + "iss": "https://wallet-provider.example.org", + "sub": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c", + "aal": "https://trust-list.eu/aal/high", + "cnf": + { + "jwk": + { + "crv": "P-256", + "kty": "EC", + "x": "4HNptI-xr2pjyRJKGMnz4WmdnQD_uJSq4R95Nj98b44", + "y": "LIZnSB39vFJhYgS3k7jXE4r3-CoGFQwZtPBIRqpNlrg", + "kid": "vbeXJksM45xphtANnCiG6mCyuU4jfGNzopGuKvogg9c" + } + }, + "authorization_endpoint": "eudiw:", + "response_types_supported": [ + "vp_token" + ], + "response_modes_supported": [ + "form_post.jwt" + ], + "vp_formats_supported": { + "vc+sd-jwt": { + "sd-jwt_alg_values": [ + "ES256", + "ES384" + ] + } + }, + "request_object_signing_alg_values_supported": [ + "ES256" + ], + "presentation_definition_uri_supported": false, + "iat": 1687281195, + "exp": 1687288395 + } + + +.. _token endpoint: wallet-solution.html#wallet-attestation +.. _Wallet Attestation Request: wallet-attestation.html#format-of-the-wallet-attestation-request +.. _Wallet Attestation: wallet-attestation.html#format-of-the-wallet-attestation +.. _RFC 7523 section 4: https://www.rfc-editor.org/rfc/rfc7523.html#section-4 +.. _RFC 8414 section 2: https://www.rfc-editor.org/rfc/rfc8414.html#section-2 diff --git a/p256/en/_sources/wallet-solution.rst.txt b/p256/en/_sources/wallet-solution.rst.txt index dfe8ab4ca..4a2036b1f 100644 --- a/p256/en/_sources/wallet-solution.rst.txt +++ b/p256/en/_sources/wallet-solution.rst.txt @@ -9,9 +9,9 @@ The Wallet Solution is a comprehensive product offered by the Wallet Provider to The Wallet Solution is issued by the Wallet Provider in the form of a mobile app, it also consists of services and web interfaces for the exchange of data between the Wallet Provider and its Wallet Instances for the requirements of the trust model and in total respect of the user's privacy, in accordance with national and EU legislation. -The mobile app serves as the primary interface for Users, allowing them to access and interact with their digital assets conveniently. These digital assets, known as Attestations, include Personal Identification Data (PID¹), a set of data that can uniquely identify a natural or a legal person, along with other Qualified and non-qualified Electronic Attestations of Attributes, also known as QEAAs and EAAs respectively, or (Q)EAAs for short¹. Once a User installs the mobile app on their device, it is referred to such an installation as a Wallet Instance for the User. +The mobile app serves as the primary interface for Users, allowing them to access and interact with their digital assets conveniently. These digital assets, known as Attestations, include Personal Identification Data (PID[1]), a set of data that can uniquely identify a natural or a legal person, along with other Qualified and non-qualified Electronic Attestations of Attributes, also known as QEAAs and EAAs respectively, or (Q)EAAs for short[1]. Once a User installs the mobile app on their device, it is referred to such an installation as a Wallet Instance for the User. -By supporting the mobile app, the Wallet Provider plays a vital role in ensuring the security and reliability of the entire Wallet Solution, since it is responsible for issuing the Wallet Instance Attestation, that is a cryptographic proof that allow the evaluation of the authenticity and the integrity of the Wallet Instance. +By supporting the mobile app, the Wallet Provider plays a vital role in ensuring the security and reliability of the entire Wallet Solution, since it is responsible for issuing the Wallet Attestation, that is a cryptographic proof that allow the evaluation of the authenticity and the integrity of the Wallet Instance. Requirements @@ -23,51 +23,51 @@ Requirements - **Verification of device ownership by the User**: the Wallet Instance MUST provide a mechanism to verify the User's actual possession and full control of their personal device. Wallet Instance -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^ The Wallet Instance serves as a unique and secure device for authenticating the User within the Wallet ecosystem. It establishes a strong and reliable identity for the User, enabling them to engage in various digital transactions in a secure and privacy-preserving manner. -The Wallet Instance establishes the trust within the Wallet ecosystem by consistently presenting a Wallet Instance Attestation during interactions with other ecosystem actors such as PID Providers, (Q)EAA Providers, and Relying Parties. These verifiable attestations, provided by the Wallet Provider, reference the public part of the asymmetric cryptographic key owned by the Wallet Instance. Their purpose is to authenticate the Wallet Instance itself, ensuring its realiability when engaging with other ecosystem actors. +The Wallet Instance establishes the trust within the Wallet ecosystem by consistently presenting a Wallet Attestation during interactions with other ecosystem actors such as PID Providers, (Q)EAA Providers, and Relying Parties. These verifiable attestations, provided by the Wallet Provider, reference the public part of the asymmetric cryptographic key owned by the Wallet Instance. Their purpose is to authenticate the Wallet Instance itself, ensuring its realiability when engaging with other ecosystem actors. -To guarantee the utmost security, these cryptographic keys are securely stored within the device's Trusted Execution Environment (TEE)³. This ensures that only the User is allowed to access them, thus preventing unauthorized usage or tampering. For more detailed information, please refer to the `Wallet Instance Attestation section`_ and the `Trust Model section`_ of this document. +To guarantee the utmost security, these cryptographic keys are securely stored within the device's Trusted Execution Environment (TEE)[3]. This ensures that only the User is allowed to access them, thus preventing unauthorized usage or tampering. For more detailed information, please refer to the `Wallet Attestation section`_ and the `Trust Model section`_ of this document. Wallet Instance Lifecycle -^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Wallet Instance has three distinct states: Operational, Valid, and Deactivated. Each state represents a specific functional status and determines the actions that can be performed². +^^^^^^^^^^^^^^^^^^^^^^^^^ +The Wallet Instance has three distinct states: Operational, Valid, and Deactivated. Each state represents a specific functional status and determines the actions that can be performed[2]. Initialization Process -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ To activate the Wallet Instance, the Users MUST install the mobile wallet application on their device and open it. Furthermore, Users will be asked to set their preferred method of unlocking their device; this can be accomplished by entering a personal identification number (PIN) or by utilizing biometric authentication, such as fingerprint or facial recognition, according to their personal preferences and device's capabilities. After completing these steps, the Wallet Instance sets the Operational state. Transition to Valid state -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~ To transition from the Operational state to the Valid state, the Wallet Instance MUST obtain a valid Personal Identification (PID). Once a valid PID is acquired, the Wallet Instance becomes Valid. In order to securely and unambiguously identify Users, the Wallet Instance adopts a Level of Assurance (LoA) 3 authentication, which guarantees a high level of confidence in the User's identity. The authentication method is chosen by the PID Provider from among the notified eID solutions at the national level. Once the Wallet Instance is in the Operational state, Users can: - - Obtain, view, and manage (Q)EAAs from trusted (Q)EAA Providers¹; - - Authenticate to Relying Parties¹; + - Obtain, view, and manage (Q)EAAs from trusted (Q)EAA Providers[1]; + - Authenticate to Relying Parties[1]; - Authorize the presentation of their digital credentials with Relying Parties. Please refer to the relative sections for further information about PID and (Q)EAAs issuance and presentation. Return to Operational state -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ A Valid Wallet Instance may revert to the Operational state under specific circumstances. These circumstances include the expiration or the revocation of the associated PID by its PID Provider. Deactivation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~ Users have the ability to deactivate the Wallet Instance voluntarily. This action removes the operational capabilities of the Wallet Instance and sets it to the Deactivated state. Deactivation provides Users with control over access and usage according to their preferences. Wallet Provider Endpoints ^^^^^^^^^^^^^^^^^^^^^^^^^ -The Wallet Provider that issues the Wallet Instance Attestations MUST +The Wallet Provider that issues the Wallet Attestations MUST made available its APIs in the form of RESTful services, as listed below. Wallet Provider Metadata @@ -133,7 +133,7 @@ Payload +-----------------------------------+-----------------------------------+ `wallet_provider` metadata -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~ +---------------------------------------------+---------------------------------------------------------------------+ | **Key** | **Value** | @@ -254,22 +254,22 @@ Below a non-normative example of the Entity Configuration. } -Wallet Instance Attestation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Wallet Attestation +~~~~~~~~~~~~~~~~~~ -Please refer to the `Wallet Instance Attestation section`_. +Please refer to the `Wallet Attestation section`_. External references ^^^^^^^^^^^^^^^^^^^^ -¹ Definitions are inherited from the EUDI Wallet Architecture and Reference Framework, version 1.1.0 at the time of writing. Please refer to `this page `_ for extended definitions and details. +.. [1] Definitions are inherited from the EUDI Wallet Architecture and Reference Framework, version 1.1.0 at the time of writing. Please refer to `this page `_ for extended definitions and details. -² Wallet Instance states adhere to the EUDI Wallet Architecture and Reference Framework, as defined `here `_. +.. [2] Wallet Instance states adhere to the EUDI Wallet Architecture and Reference Framework, as defined `here `_. -³ Depending on the device operating system, TEE is defined by `Trusty`_ or `Secure Enclave`_ for Android and iOS devices, respectively. +.. [3] Depending on the device operating system, TEE is defined by `Trusty`_ or `Secure Enclave`_ for Android and iOS devices, respectively. .. _Trust Model section: trust.html -.. _Wallet Instance Attestation section: wallet-instance-attestation.html +.. _Wallet Attestation section: wallet-attestation.html .. _Trusty: https://source.android.com/docs/security/features/trusty .. _Secure Enclave: https://support.apple.com/en-gb/guide/security/sec59b0b31ff/web diff --git a/p256/en/algorithms.html b/p256/en/algorithms.html index f022b599d..cd9e8e5b2 100644 --- a/p256/en/algorithms.html +++ b/p256/en/algorithms.html @@ -603,7 +603,7 @@

{{ item.title }}

  • Trust Evaluation Mechanism @@ -631,23 +631,23 @@

    {{ item.title }}

  • Payload
  • External references
  • -
  • Wallet Instance Attestation
  • Xf; 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