„HREF metadata specifikáció” változatai közötti eltérés

Innen: KIFÜ Wiki
(EduGAIN url-ek javítva)
a (Metaadat elérése)
218. sor: 218. sor:
 
* <code>href-test.xml</code>: a HREF föderáció tesztrendszerei. Bármely, 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-test.xml</code>: a HREF föderáció tesztrendszerei. Bármely, 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-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>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>edugain.xml</code>: az [http://edugain.org eduGAIN] konföderáció metaadata, a HREF aláíró kulccsal aláírva.
* <code>edugain-test.xml</code>: az [http://edugain.org EduGAIN] konföderáció teszt metaadata, a HREF aláíró kulccsal aláírva.
+
* <code>edugain-test.xml</code>: az [http://edugain.org eduGAIN] konföderáció teszt metaadata, a HREF aláíró kulccsal aláírva.
 
* intézmény-specifikus metaadat fájlok, melyeket a föderáció kérésre biztosítja, tetszőleges entitások halmazba gyűjtésével.
 
* intézmény-specifikus metaadat fájlok, melyeket a föderáció kérésre biztosítja, tetszőleges entitások halmazba gyűjtésével.
  

A lap 2010. november 15., 15:47-kori változata

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.

Biztonsági megfontolások

Mivel a metadata tartalmazza a föderációban részt vevő tagok és komponensek technikai információit, ezért a benne tárolt információkkal kapcsolatban figyelembe kell venni a következő biztonsági megfontolásokat:

  • 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 (cacheDuration) idejével, amennyiben a támadó nem képes blokkolni a központi metaadatok elérhetőségét (DOS)
  • Amennyiben 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 (validUntil paraméterében meghatározott ideig) tart.
  • Amennyiben a metaadatok érvényességi ideje lejár, az entitás nem képes azonosítani a többi föderációs résztvevőt, ezért nem tud föderációs szolgáltatást (pl. 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.
    • a metaadat visszavonhatóságát a lejárati idő (validUntil) biztosítja, ami jelenleg 3 nap.
    • az egyes rendszerek gyorstárazhatják a metaadatot, de legalább naponta egyszer kötelesek a 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
    • 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 nem tesz különleges megkötést, sőt: ajánlott az ún. self-signed tanúsítvány 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 (Organization illetve ContactPerson elemek)
    • ajánlott megadni egy helpdesk URL-r, ahova hiba esetén a felhasználók fordulhatnak (errorURL attribútum)
    • SP-k esetén további kötelező elemek
      • AttributeConsumingService, ami megadja a kért attribútumokat
        • RequestedAttributes - itt az attribútum informális neve is szerepeljen
        • ServiceName, ServiceDescription az SP szolgáltatás neve és leírása
      • a szolgáltatás elérhetősége, 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
      • logó
      • gps koordináták, 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

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ó ezen a linken (odt formátumban).

A kiegészítő séma névtere: urn:oasis:names:tc:SAML:2.0:metadata:ui. Az alábbi táblázatban ezen névtérben definiált legfontosabb elemeket foglaljuk össze:

element név szemantika értékekre vonatkozó megkötések
GeolocationHint 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
InformationURL az entitásról további információkat (pl. helpdesk) szolgáltató oldal.
PrivacyStatementURL Az SP adatvédelmi nyilatkozátnak elérhetősége (URL) Engedélyezett formátumok: HTML, PDF
Logo Az IdP/SP logójának elérhetősége Formátummal kapcsolatban lásd #Logo
IPHint (Csak az IdP-knél) az intézmény hálózati tartománya(i). IdP felderítés esetén előválasztás lehetséges ennek alapján. CIDR, több érték is megadható
DomainHint (Csak az IdP-knél) az intézmény által felügyelt domain név. IdP felderítés esetén előválasztás lehetséges ennek alapján. Több érték is megadható


  • formátum: URL egy transzparens hátterű PNG, vagy transzparens hátterű GIF képre
  • méretezés
    • javasolt oldalarány 1:1 vagy 16:9
    • maximális méret 200x200px
    • ajánlott egy 16x16px-es verziót is megadni
  • attribútumok
    • xml:lang: lokalizációs információ
    • href: opcionális link
    • height: opcionális magasság érték pixelben
    • width: opcionális szélesség érték pixelben

Egy IdP példa

<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>
   <mdui:GeolocationHint>47.518356,19.055437</mdui:GeolocationHint>
   <mdui:DomainHint>niif.hu</mdui:DomainHint>
   <mdui:DomainHint>iif.hu</mdui:DomainHint>
  </Extensions>
  <KeyDescriptor use="signing">
   <ds:KeyInfo>
    <ds:X509Data>
     <ds:X509Certificate>...</ds:X509Certificate>
    </ds:X509Data>
   </ds:KeyInfo>
  </KeyDescriptor>
  </IDPSSODescriptor>
 <ContactPerson contactType="technical">
  <SurName>NIIF AAI</SurName>
  <EmailAddress>aai@niif.hu</EmailAddress>
 </ContactPerson>
 <ContactPerson contactType="support">
  <SurName>NIIF AAI</SurName>
  <EmailAddress>aai@niif.hu</EmailAddress>
 </ContactPerson>
 <ContactPerson contactType="administrative">
  <SurName>NIIF AAI</SurName>
  <EmailAddress>aai@niif.hu</EmailAddress>
 </ContactPerson>
</EntityDescriptor>

Egy SP példa

<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>
   <mdui:PrivacyStatementURL>https://rr.aai.niif.hu/privacy-policy</mdui:PrivacyStatementURL>
   <mdui:InformationURL>https://rr.aai.niif.hu/about</mdui:InformationURL>
 </Extensions>
 <KeyDescriptor use="signing">
  <ds:KeyInfo>
   <ds:X509Data>
    <ds:X509Certificate>...</ds:X509Certificate>
   </ds:X509Data>
  </ds:KeyInfo>
 </KeyDescriptor>
 <KeyDescriptor use="encryption">
  <ds:KeyInfo>
   <ds:X509Data>
    <ds:X509Certificate>...</ds:X509Certificate>
   </ds:X509Data>
  </ds:KeyInfo>
 </KeyDescriptor>
 <AttributeConsumingService index="1">
  <ServiceName xml:lang="hu">HREF Resource Registry</ServiceName>
  <ServiceName xml:lang="en">HREF Resource Registry</ServiceName>
  <ServiceDescription xml:lang="hu">Resource Registry - a föderáció adminisztrációs alkalmazása http://rr.aai.niif.hu/</ServiceDescription>
  <ServiceDescription xml:lang="en">Resource Registry - federation administration tool http://rr.aai.niif.hu/</ServiceDescription>
  <RequestedAttribute FriendlyName="mail" Name="urn:oid:0.9.2342.19200300.100.1.3" isRequired="true"/>
  <RequestedAttribute FriendlyName="surname" Name="urn:oid:2.5.4.4" isRequired="true"/>
  <RequestedAttribute FriendlyName="givenName" Name="urn:oid:2.5.4.42" isRequired="true"/>
  <RequestedAttribute FriendlyName="eduPersonPrincipalName" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" isRequired="true"/>
  <RequestedAttribute FriendlyName="schacHomeOrganizationType" Name="urn:oid:1.3.6.1.4.1.25178.1.2.10" isRequired="true"/>
  <RequestedAttribute FriendlyName="eduPersonScopedAffiliation" Name="urn:oid:1.3.6.1.4.1.5923.1.1.1.9" isRequired="true"/>
 </AttributeConsumingService>
</SPSSODescriptor>
<Organization>
 <OrganizationName xml:lang="hu">NIIF - Nemzeti Információs Infrastruktúra Fejlesztési Intézet</OrganizationName>
 <OrganizationName xml:lang="en">NIIF Institute - National Information Infrastructure Development</OrganizationName>
 <OrganizationDisplayName xml:lang="hu">NIIF - Nemzeti Információs Infrastruktúra Fejlesztési Intézet</OrganizationDisplayName>
 <OrganizationDisplayName xml:lang="en">NIIF Institute - National Information Infrastructure Development</OrganizationDisplayName>
 <OrganizationURL xml:lang="hu">http://www.niif.hu</OrganizationURL>
 <OrganizationURL xml:lang="en">http://www.niif.hu/en</OrganizationURL>
</Organization>
<ContactPerson contactType="administrative">
 <SurName>NIIF AAI</SurName>
 <EmailAddress>aai@niif.hu</EmailAddress>
</ContactPerson>
<ContactPerson contactType="technical">
 <SurName>NIIF AAI</SurName>
 <EmailAddress>aai@niif.hu</EmailAddress>
</ContactPerson>
<ContactPerson contactType="support">
 <SurName>NIIF AAI</SurName>
 <EmailAddress>aai@niif.hu</EmailAddress>
</ContactPerson>
</EntityDescriptor>

Metaadat aláírásának módja

Aláíró kulcs és tanúsítványok

  • 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).
  • NIIF CA által aláírt tanúsítvány, a teljes lánc beágyazva az aláírásba.
  • PKI ellenőrzés lehetősége.

Aláírási folyamat

  • Aláíratlan metaadat frissítése
    • az aláíratlan metaadat a https://rr.aai.niif.hu oldalról ütemezetten (5 perc) letöltésre kerül. A letöltés során az rr.aai.niif.hu tanúsítványa explicit módon ellenőrzésre kerül.
    • a letöltött metaadat formai ellenőrzése
    • az ellenőrzött entitások egy verziókövető rendszerbe kerülnek, az esetleges változásról e-mail értesítés készül (href-metadata-changes nevű levelezőlistára</code>)
  • Az aláíró szoftver rendszeresen (1-2 percenként) ellenőrzi a metaadatot a verziókövető rendszerben, és változás esetén új aláírt metaadatokat készít
    • amennyiben nincs változás, fix időközönként (naponta legalább egyszer) új aláírt állományok készülnek

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. Ezen ellenőrzéshez az előző pontban említett tanúsítvány használható fel.

  • Az explicit ellenőrzés esetén a http://metadata.eduid.hu/${kulcs_kibocsatas_eve}/ URL-ről kell letölteni a metadata fájlokat, például: http://metadata.eduid.hu/2010/href.xml.
  • A tanúsítvány a https://metadata.eduid.hu oldalról érhető el. A tanúsítvány nevében szereplő 2010-es szám a kulcs generálásának évére vonatkozik.
    • DN-je EMAILADDRESS=aai@niif.hu, CN=HREF Metadata Signer 2010, OU=AAI, O=NIIF Institute, O=NIIF CA, C=HU
    • SHA-1 09:C2:8B:09:AB:9E:C2:9B:A5:71:37:E7:36:C6:10:FF:96:9F:D7:FE
  • Ajánlott a tanúsítvány lejárati idejét figyelmen kívül hagyni.
  • A tanúsítványcsere koordinálása out-of-band módszerrel történik (a href-tech levelezőlista segítségével).

Aláírás ellenőrzése PKI segítségével

  • Mivel az aláíró tanúsítvány és a tanúsítványkiadó hatóság (CA) tanúsítványa is a metadata része, ezért végezhető PKI ellenőrzés is.
  • PKI használata esetén a http://metadata.eduid.hu/current/ URL-ről érdemes letölteni a metadata fájlokat, ott ugyanis mindig az aktuálisan legfrissebb kulccsal aláírt példányok érhetőek el.
  • A Root CA tanúsítvány a következő URL-ről érhető el: http://www.ca.niif.hu/sites/ca.niif.hu/files/niif_ca_root_x509.pem
    • PKI használata esetén a kulccsere automatikus, de a kompromittálódott kulcs visszavonhatósága miatt a visszavonási listák (CRL) használata rendkívül fontos!

Aláíró kulcs cseréje

  • A föderációs metadata aláíró kulcsa 2-3 évente kerül megújításra.
  • A föderációs entitások számára ajánlott a tanúsítvány lejárati idejének figyelmen kívül hagyása.
  • A kulccsere koordinálása a href-tech 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 kulccsere esetén az aláírás párhuzamosan történik a régi és az új kulccsal.
  • Érvényességi megfontolások
    • ha egy entitás egy kulccserénél nem követi le a tanúsítvány változását (és nem használ PKI ellenőrzést), akkor számára a metaadatok a kulccsere lezárulása - a régi kulcs eltávolítása - után elérhetetlenek lesznek. Ilyenkor az utolsó hitelesítésre került metadata validUntil időpontja után az entitás képtelen lesz kommunikálni a föderációval.

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ő: http://metadata.eduid.hu/${alairo_kulcs_kibocsatas_eve}/${metadata_forras}.xml. A metadata források jelenleg a következők lehetnek:

  • href.xml: az éles föderációban részt vevő, és a föderáció kritériumait teljesítő entitások
  • href-test.xml: a HREF föderáció tesztrendszerei. Bármely, 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ó.
  • href-edugain.xml: a HREF föderációból az 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 eduGAIN konföderációval való együttműködésre. Ezen entitások be kell hogy olvassák az eduGAIN metaadatot is.
  • edugain.xml: az eduGAIN konföderáció metaadata, a HREF aláíró kulccsal aláírva.
  • edugain-test.xml: az eduGAIN konföderáció teszt metaadata, a HREF aláíró kulccsal aláírva.
  • intézmény-specifikus metaadat fájlok, melyeket a föderáció kérésre biztosítja, tetszőleges entitások halmazba gyűjtésével.

Metaadat nézetek

A föderációs operátor külön kérésre speciálisan transzformált metaadat nézeteket is szolgáltat. Ezek a nézetek XSLT transzformációval állnak elő a mindig aktuális metadata állományból. A nézetek speciális URL-en keresztül érhetőek el (csak HTTPS felett): https://metadata.eduid.hu/${nezet}/${relativ_metadata_fajl}. Néhány példa: