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

Innen: KIFÜ Wiki
(biztonsági megfontolasok)
(átnevezés, figyelmeztetések eltávolítása)
1. sor: 1. sor:
= Metaadat specifikáció =
+
= Jelen dokumentum célja =
 
+
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.
{{ATTENTION|A specifikáció kidolgozása folyamatban van, lényeges változások is belekerülhetnek figyelmeztetés nélkül. Amíg ez a figyelmeztetés itt szerepel, addig munkaverziónak tekintendő! }}
 
 
 
A föderációs metaadat specifikáció 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.
 
  
 
== Metaadatban tárolt információk ==
 
== Metaadatban tárolt információk ==

A lap 2010. május 26., 12:07-kori változata

Jelen dokumentum célja

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.

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 maximum a benne megjelölt ideig (cacheDuration).
    • 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

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.

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ó


Entity tagek

A metaadatban tárolt entitásokhoz kapcsolódó ún. 'tagek' tárolását a urn:geant:niif.hu:eduid.hu:entity-attributes:tags névtérben elhelyezkedő XML elementekkel valósítjuk meg. Ez a koncepció megegyezik a UKFederation által használt 'label' kiterjesztéssel.

Az általánosan használt tagek a következők:

  • 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>
   <Testing xmlns="urn:geant:niif.hu:eduid.hu:entity-attributes:tags" />
  </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>
   <Public xmlns="urn:geant:niif.hu:eduid.hu:entity-attributes:tags" />
 </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

HREF (régi)

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

  • Az aláíró kulcs nem titkosított, az aláírás on-line történik.
  • A tanúsítványt az NIIF CA írta alá, de nem használatos PKI ellenőrzésre.
  • A metadata aláíró tanúsítvány jelenleg a https://idp.niif.hu/href_signer.crt címen érhető el.

Aláírások ütemezése

  • Az aláírást egy óránként, feltétel nélkül lefutó szkript végzi.


eduID-HREF (új, tervezett)

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ó kulcs cseréje 2 évente.
    • Az aláíró kulcs cseréjekor a régi és az új aláíró kulcs párhuzamosan dolgozik, külön metaadat fájlokba (a fájl neve tartalmazza a kulcsra vonatkozó információt).

Metaadat fájlok

  • A http://metadata.eduid.hu/metadata.xml URL mindig az aktuálisan legfrissebb metaadat fájlra mutat.
    • Ez a metaadat fájl csak PKI ellenőrzéssel együtt használható, hiszen az aláíró kulcs cseréjekor megváltozik a tanúsítvány.
  • Jelenleg a http://metadata.eduid.hu/metadata-2010.xml URL-en érhető el a legfrissebb aláíró kulccsal készülő metaadat.
    • A CA ellenőrzést nem végző rendszerek számára ajánlott a sorozatszámmal (évszámmal) ellátott metaadat URL használata.

Aláírási folyamat

Az alábbi aláírási folyamatot az idp1 illetve idp2 gépek végzik, de egyszerre csak az egyik, szerepük kézi konfigurálással megfordítható.

  • 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ányát explicit módon ellenőrzni kell.
    • A letöltött metaadat formai ellenőrzése.
    • Az ellenőrzött metaadat egy verziókövető rendszerbe kerül.
  • Metaadat aláírás
    • Az aláíró szoftver rendszeresen (5 percenként) ellenőrzi az aláíratlan metaadat repositoryt, és változás esetén új aláírt metaadatot készít.
    • Amennyiben nincs változás, fix időközönként új aláírt metaadat készül (8 óránként).