Módosítások

HREF metadata specifikáció

3 663 bájt hozzáadva, 2021. március 29., 19:01
nincs szerkesztési összefoglaló
= Metaadat specifikáció =A föderációs metaadat célja, hogy a föderációban részt vevő intézmények illetve entitások technikai, bizalmi és adminisztratív adatait egy helyre gyűjtse. A metaadatok formátuma megfelel a SAML2 metaadat szabványnak.
A föderációs metaadat specifikáció célja, hogy = Biztonsági megfontolások =Mivel a metadata tartalmazza a föderációban részt vevő intézmények illetve entitások tagok és komponensek technikaiinformációit, bizalmi és adminisztratív adatait egy helyre gyűjtse. A metaadatok formátuma megfelel ezért a benne tárolt információkkal kapcsolatban figyelembe kell venni a SAML2 metaadat szabványnak.következő biztonsági megfontolásokat:
== Metaadatban tárolt információk ==* Téves vagy kompromittálódott adatok eltávolítása esetén a sérülékenységi ablak megegyezik a metadata gyorstárazhatósági (<code>cacheDuration</code>) idejével, '''amennyiben a támadó nem képes blokkolni a központi metaadatok elérhetőségét (DOS)'''* Az entitások csoportosítása az őket üzemeltető szervezetek szerint történikAmennyiben a támadó képes blokkolni a központi metaadatok elérhetőségét, a sérülékenységi ablak a legutolsó letöltött metadata állomány érvényességéig (<code>validUntil</code> paraméterében meghatározott ideig) tart. A föderációs metaadat tartalmaz egy 'partners' csoportot is* Amennyiben a metaadatok érvényességi ideje lejár, amiben az entitás nem képes azonosítani a föderáció olyan SP-i szerepelnektöbbi föderációs résztvevőt, melyek ezért nem köthetők konkrét intézményhez tud föderációs szolgáltatást (ilyen lehet például egy üzleti céllal üzemeltetett SPpl. IdP esetén azonosítási szolgáltatást)nyújtani= Metaadatban tárolt információk =
* Bizalom a metaadatban
** a metaadat integritásvédelmét és hitelességét egy digitális aláírás biztosítja, aminek az aláíró tanúsítványa jelenleg a https://idp.niif.hu/href_signer.crt címen érhető el.
** a metaadat visszavonhatóságát a lejárati idő (<code>validUntil</code>) biztosítja, ami jelenleg 3 nap.
** az egyes rendszerek gyorstárazhatják a metaadatot, de maximum legalább naponta egyszer kötelesek a benne megjelölt ideig (<code>cacheDuration</code>)hiteles állományt frissíteni.** az aláírási procedúrát a [[#Metaadat_aláírásának_módja]] fejezet írja le.
* Tanúsítványok
** kötelező legalább 1024 bites kulcspárt használni** az entitások által használt tanúsítvánnyal kapcsolatban a föderációs metaadat-specifikáció a lejárati időn kívül föderáció nem tesz különleges megkötést, sőt: ajánlott az ún. hosszú lejáratú self-signed tanúsítvány tanúsítványok használata
* További információk
** minden szöveges mezőt legalább két nyelven: magyarul és angolul ki kell tölteni
** kötelezően kitöltendőek az intézményi, adminisztratív információk (<code>Organization</code> illetve <code>ContactPerson</code> elemek)
** ajánlott megadni egy helpdesk URL-r, ahova hiba esetén a felhasználók fordulhatnak (<code>errorURL</code> attribútum)
** SP-k esetén további kötelező elemek
*** <code>AttributeConsumingService</code>, ami megadja a kért attribútumokat (**** <code>RequestedAttributes</code> - itt az attribútum informális neve is szerepeljen) illetve a **** <code>ServiceName</code>, <code>ServiceDescription</code> az SP szolgáltatás nevét neve és leírása*** a szolgáltatás elérhetősége (egy URL, amin a szolgáltatás bemutatkozik(extension)*** adatkezelési szabályzatra mutató URL(extension)
** IdP-k esetén
*** a scope csak az adott intézmény kezelésében levő domain név lehet(Shibboleth extension)**lehetőség van további adatok megadására is* helpdesk URL, ahova hiba esetén a felhasználók fordulhatnak** egyéblogó*** lehetőség van logó illetve gps koordináták tárolására is, IP cím tartomány*** különböző tagek, például a szolgáltatás publikus-e, vagy épp bevezetés alatt áll-e
== Metaadat kiterjesztések használata ==
A metaadatban tárolt egyéb információkat Ezen kiegészítő adatok tárolására az internet2 szabványtervezetet készít, ennek a sémának a jelenlegi verziója megtalálható [http://docswiki.oasis-open.org/security/saml/Post2SAML2MetadataUI itt].0/sstc-metadata-attr-cd-01.html specifikáció ('entity attributes') alapján tároljuk. Ez a  A kiegészítő séma lehetőséget ad névtere: <code>urn:oasis:names:tc:SAML attribútumok használatára:2.0:metadata:ui</code>. Az alábbi táblázatban ezen névtérben definiált legfontosabb elemeket foglaljuk össze:
{| class="wikitable"
|-
! informális element név! urn
! szemantika
! értékekre vonatkozó megkötések
|-
| tagek| :tags| | néhány példa: edugain, public, for-profit, ...|-| geográfiai koordináták| :geographical-coordinatesGeolocationHint
| szélesség és hosszúság érték, a + előjel az északi szélességet illetve keleti hosszúságot jelöli
| 47.47359,19.052891
|-
| nyitóoldal urlInformationURL| :frontpageaz entitásról további információkat (pl. helpdesk) szolgáltató oldal.| |-| PrivacyStatementURL| az Az SP szolgáltatásának nyitóoldalaadatvédelmi nyilatkozátnak elérhetősége (URL)| URL kell legyenEngedélyezett formátumok: HTML, PDF
|-
| adatvédelmi nyilatkozatLogo| :privacy-policy| az Az IdP/SP adatvédelmi nyilatkozátnak logójának elérhetősége| URL kell legyenFormátummal kapcsolatban lásd [[#Logo]]
|-
| logó| :logoIPHint| (Csak az IdP-knél) az intézmény hálózati tartománya(i). IdP/SP logójának elérhetőségefelderítés esetén előválasztás lehetséges ennek alapján.| URL kell legyen (képformátum? min/max méret?)CIDR, több érték is megadható
|-
| ip cím tartomány| :network-addressesDomainHint| (csak Csak az IdP-nélknél) az intézmény által üzemeltetett hálózatfelügyelt domain név. Ez csak az IdP felderítéshez kellfelderítés esetén előválasztás lehetséges ennek alapján.| CIDR(ek)Több érték is megadható
|}
Egy példa SP kiterjesztései lehetnek a következőek=== Logo ===* formátum:URL egy transzparens hátterű PNG, vagy transzparens hátterű GIF képre* méretezés <Extensions xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> <mdattr:EntityAttributes xmlns:mdattr="urn** javasolt oldalarány 1:oasis1 vagy 16:names:tc:SAML:metadata:attribute">9 <saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ** maximális méret 200x200px Name="urn:geant:niif.hu:eduid.hu:entity** ajánlott egy 16x16px-attributes:tags">es verziót is megadni <saml:AttributeValue>edugain</saml:AttributeValue>* attribútumok ** <saml:AttributeValuecode>public</samlxml:AttributeValue> lang</saml:Attributecode> <saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Name="urn:geant:niif.hu:eduid.hu:entity-attributes:geographical-coordinates">lokalizációs információ ** <saml:AttributeValuecode>47.47359,19.052891href</saml:AttributeValuecode> </saml:Attribute> <saml:Attribute xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Name="urn:geant:niif.hu:eduid.hu:entity-attributes:frontpage">opcionális link ** <saml:AttributeValuecode>https://sp.example.hu/foderacios-belepesheight</saml:AttributeValuecode> </saml:Attribute>opcionális magasság érték pixelben ** </mdattr:EntityAttributescode> width</Extensionscode>: opcionális szélesség érték pixelben
== Egy IdP példa ==
<source lang="xml"> <EntityDescriptor entityID="https://idp.niif.hu/shibboleth" xmlns:mdui="urn:oasis:names:tc:SAML:2.0:metadata:ui">
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0">
<Extensions>
<shibmd:Scope>niif.hu</shibmd:Scope>
<mdattrmdui:EntityAttributes DiscoHints xmlns:mdattrxsi="urnhttp:oasis:names:tc:SAML:metadata:attributes" xmlns:saml="urn:oasis:names:tc:SAML:2//www.0:assertion"> <saml:Attribute Name="urn:geant:niifw3.hu:eduid.hu:entityorg/2001/XMLSchema-attributes:tagsinstance"> <samlmdui:AttributeValueGeolocationHint>edugain47.518356,19.055437</samlmdui:AttributeValueGeolocationHint> </samlmdui:AttributeDomainHint> <saml:Attribute Name="urn:geant:niif.hu</mdui:eduid.hu:entity-attributes:geographical-coordinates"DomainHint> <samlmdui:AttributeValueDomainHint>47iif.518356,19.055437</saml:AttributeValue> hu</samlmdui:AttributeDomainHint> </mdattrmdui:EntityAttributesDiscoHints>
</Extensions>
<KeyDescriptor use="signing">
</ds:KeyInfo>
</KeyDescriptor>
<ArtifactResolutionService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.niif.hu:8443/idp/profile/SAML2/SOAP/ArtifactResolution" index="1"/> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP!-POST" Location="https://idp.niif.hu/idp/profile/SAML2/POST/SLO"/> <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.niif.hu/idp/profile/SAML2/Redirect/SLO"/> <NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat> <NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameidendpoints, nameidformats -format:transient</NameIDFormat> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://idp.niif.hu/idp/profile/SAML2/Redirect/SSO"/> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://idp.niif.hu/idp/profile/SAML2/POST/SSO"/> <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign" Location="https://idp.niif.hu/idp/profile/SAML2/POST-SimpleSign/SSO"/>
</IDPSSODescriptor>
<AttributeAuthorityDescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<Extensions>
<shibmd:Scope>niif.hu</shibmd:Scope>
</Extensions>
<KeyDescriptor use="signing">
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>...</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<AttributeService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://idp.niif.hu:8443/idp/profile/SAML2/SOAP/AttributeQuery"/>
<NameIDFormat>urn:mace:shibboleth:1.0:nameIdentifier</NameIDFormat>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat>
</AttributeAuthorityDescriptor>
<Organization>
<OrganizationName xml:lang="hu">NIIF Intézet</OrganizationName>
<OrganizationName xml:lang="en">NIIF Institute</OrganizationName>
<OrganizationDisplayName xml:lang="hu">NIIF Intézet</OrganizationDisplayName>
<OrganizationDisplayName xml:lang="en">NIIF Institute</OrganizationDisplayName>
<OrganizationURL xml:lang="hu">http://www.niif.hu</OrganizationURL>
<OrganizationURL xml:lang="en">http://www.niif.hu</OrganizationURL>
</Organization>
<ContactPerson contactType="technical">
<SurName>NIIF AAI</SurName>
</ContactPerson>
</EntityDescriptor>
</source>
== Egy SP példa ==
<source lang="xml"> <EntityDescriptor entityID="https://rr.aai.niif.hu/shibboleth" xmlns:mdui="urn:oasis:names:tc:SAML:2.0:metadata:ui">
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol">
<Extensions>
<mdattr:EntityAttributes xmlns:mdattr="urn:oasis:namesmdui:tc:SAML:metadata:attribute" UIInfo xmlns:samlxsi="urn:oasis:names:tc:SAML:2.0:assertion"> <saml:Attribute Name="urn:geant:niif.hu:eduid.hu:entity-attributes:tags"> <samlhttp:AttributeValue>administrative-use-only</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="urn:geant:niifwww.hu:eduidw3.hu:entity-attributes:geographical-coordinates"> <saml:AttributeValue>47.47359,19.052891<org/saml:AttributeValue> <2001/saml:Attribute> <saml:Attribute Name="urn:geant:niif.hu:eduid.hu:entityXMLSchema-attributes:privacy-policyinstance"> <samlmdui:AttributeValuePrivacyStatementURL>https://rr.aai.niif.hu/privacy-policy</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="urn:geantmdui:niif.hu:eduid.hu:entity-attributes:frontpage"PrivacyStatementURL> <samlmdui:AttributeValueInformationURL>https://rr.aai.niif.hu/about</samlmdui:AttributeValueInformationURL> </saml:Attribute> </mdattrmdui:EntityAttributesUIInfo>
</Extensions>
<KeyDescriptor use="signing">
</ContactPerson>
</EntityDescriptor>
</source>
 
= Metaadat aláírásának módja =
== Aláíró kulcs és tanúsítványok ==
 
=== HREF-2011 ===
 
* Az aláíró kulcsot smart cardon, pin kóddal védve tároljuk.
* Az aláírás on-line történik, a kártya pin kódját az aláíró szoftver indításakor az AAI adminisztrátor adja meg, a jelszó nem kerül tárolásra az aláírást végző rendszeren (sem másutt).
 
=== HREF-2020 ===
 
* 4096 bites, SHA-384 RSA aláíró kulcs.
* Az aláírás on-line történik, több telephelyes tartalékolt infrastruktúrával.
 
== Aláírási folyamat ==
 
Az aláíratlan metaadat frissítése:
 
# Az aláíratlan metaadat a https://rr.eduid.hu oldalról ütemezetten, minden óra 15. és 45. percében letöltésre kerül.
# A letöltött metaadat XML séma ellenőrzése ellenőrzése.
# A metadat feltöltése az objektum tárolóba.
 
== Aláírás ellenőrzése explicit tanúsítvánnyal ==
 
A föderáció entitásai a föderációs metaadat hitelességéről a digitális aláírás ellenőrzésével győződhetnek meg. Az explicit ellenőrzés esetén a <code>http://metadata.eduid.hu/current/</code> URL-ről kell letölteni a metadata fájlokat.
 
'''Ajánlott a tanúsítvány lejárati idejét figyelmen kívül hagyni.'''
 
=== HREF-2011 ===
 
* A HREF-2011 tanúsítvány a https://metadata.eduid.hu oldalról érhető el.
 
{| class="wikitable"
|-
| SHA-1 || <code>FE:AE:0B:E8:FB:59:ED:F7:CB:7F:69:DF:19:4F:8B:6D:C7:F6:96:66</code>
|-
| Serial Number || 1
|-
| Version || 3
|-
| C || HU
|-
| O || NIIF Institute
|-
| OU || eduID Federation Operator
|-
| CN || Metadata Signer
|-
| emailAddress || aai@niif.hu
|-
| Érvényesség kezdete || 2011.10.05.
|-
| Érvényesség vége || 2031.09.30.
|}
 
=== HREF-2020 ===
 
* A HREF-2020 tanúsítvány a https://metadata.eduid.hu oldalról érhető el.
 
{| class="wikitable"
|-
| SHA-1 || <code>C3:72:DC:75:4C:FA:BA:65:63:52:D9:6B:47:5B:44:7E:AA:F6:45:61</code>
|-
| Serial Number || 80:21:EF:F0:BA:16:04:BD
|-
| Version || 1
|-
| C || HU
|-
| ST || Budapest
|-
| L || Budapest
|-
| O || Governmental Agency for IT Development
|-
| OU || eduID Federation Operator
|-
| CN || Metadata Signer
|-
| emailAddress || info@eduid.hu
|-
| Érvényesség kezdete || 2020.06.13.
|-
| Érvényesség vége || 2025.06.14.
|}
 
== Aláíró kulcs cseréje ==
 
* A kulccsere koordinálása a <code>href-tech</code> levelezőlistán keresztül történik.
* Kulcs visszavonásakor (kompromittálódás gyanúja esetén) a régi aláíró kulcs azonnal eltávolításra kerül, kontrollált kulcscsere esetén az aláírás párhuzamosan történik a régi és az új kulccsal.
 
= Metaadat elérése =
A HREF föderációban többféle metaadat-forrás áll rendelkezésre, melyeket a http://metadata.eduid.hu -ról lehet elérni. Fontos megemlíteni, hogy a metadata letöltésénél nem indokolt az SSL használata, ezért - amennyiben lehetséges -, érdemes a metadata URL-eket nem titkosított HTTP protokoll segítségével letölteni.
 
A metadata elérés URL-je a következő: <code>http://metadata.eduid.hu/${alairo_kulcs_kibocsatas_eve}/${metadata_forras}.xml</code>.
 
A metadata források jelenleg a következők lehetnek:
 
{| class="wikitable"
|-
| <code>href.xml</code> || Az éles föderációban részt vevő, és a föderáció kritériumait teljesítő entitások.
|-
| <code>href-test.xml</code> || A HREF föderáció tesztrendszerei. Bármely, a föderációban részt vevő intézmény tehet be teszt-entitást ebbe a halmazba, ezért ezen metaadat-forrás csak tesztelési célra használható.
|-
| <code>href-pending.xml</code> || A HREF föderáció "előszobája". Az újonnan csatlakozó intézmények IdP-je először itt lesz elérhető.
|-
| <code>href-edugain.xml</code> || A HREF föderációból az [http://edugain.org eduGAIN] konföderációba kiajánlott entitások. Ide csak olyan entitások kerülhetnek be, melyek megfelelnek a föderációs kritériumoknak, és képesek az [http://edugain.org eduGAIN] konföderációval való együttműködésre. Ezen entitások be kell hogy olvassák az eduGAIN metaadatot is.
|-
| <code>edugain.xml</code> || Az [http://edugain.org eduGAIN] konföderáció metaadata, a HREF aláíró kulccsal aláírva.
|-
| <code>intézmény-specifikus</code> || Az intézmény-specifikus metaadat fájlok (pl.: bme.xml, ceu.xml, stb.), melyeket a föderáció kérésre biztosítja, tetszőleges entitások halmazba gyűjtésével.
|}
 
== MDX-alapú elérés ==
Az MDX, azaz MetaDataeXchange protokolt erőforrás optimalizálás céljából találták ki, hogy ne kelljen egyes IdP-knek és SP-knek indokolatlanul nagy XML fájlokat feldolgozniuk és tárolniuk, mikor a felhasználóiknak jó eséllyel a fájlokban tárolt entitások töredékére van csak szükségük. Ezért az egyes entitásokat be lehet úgy állítani, hogy csak akkor töltsék le az adott entitás metaadatát, mikor arra szükség van (az első letöltés után természetesen helyben tároldóik a metaadat a <code>cacheDuration</code>-ben megadott ideig).
 
A HREF föderációban teszt jelleggel működik és elérhető MDX-kiszolgáló: <code>http://mdx.eduid.hu</code>. A megfelelő beállításokhoz [[MDX|itt]] érhető el segédlet.
 
'''Az MDX kiszolgáló eltérő kulcsot és tanúsítványt használ. Jelenleg az MDX elérés még csak teszt jelleggel működik, az élesüzemre váltáskor a HREF-2020 tanúsítvánnyal fog működni.'''
 
A jelenlegi tanúsítvány innen tölthető le: <code>http://metadata.eduid.hu/current/mdx-test-signer-2015.crt</code>
 
=== HREF-2015 ===
 
{| class="wikitable"
|-
| SHA-1 || <code>91:81:AD:2B:F1:C1:4E:47:93:A2:9D:49:34:B7:77:62:4F:2F:98:43</code>
|-
| Serial Number || AA:90:7C:D9:0C:D5:64:8D
|-
| Version || 3
|-
| C || HU
|-
| ST || -
|-
| L || Budapest
|-
| O || NIIFI
|-
| OU || AAI
|-
| CN || eduID MDX metadata signer
|-
| emailAddress || aai@niif.hu
|-
| Érvényesség kezdete || 2015.10.13.
|-
| Érvényesség vége || 2034.12.12.
|}

Navigációs menü