cs:tech:metadata-sig-verification

Ověřování metadat

Federační metadata jsou podepsána digitálním certifikátem a pro větší bezpečnost je doporučitelné na straně IdP a SP tento podpis ověřovat. K tomu potřebujeme stáhnout ověřovací certifikát a uložit ho na cílovém systému.

:!: Odkaz na ověřovací certifikát najdete na stránce s technickými detaily.

Příklad:

# cd /etc/ssl/certs
# wget http://www.eduid.cz/docs/eduid/metadata/metadata.eduid.cz.crt.pem

Dále je potřeba upravit konfiguraci tak, aby systém při každem stažení metadat ověřoval jejich podpis.

Shibboleth IdP 2.x

V konfiguračním souboru použijeme u příslušného MetadataProvider elementu filtr typu SignatureValidation:

<MetadataProvider id="eduid-metadata" xsi:type="FileBackedHTTPMetadataProvider" 
    xmlns="urn:mace:shibboleth:2.0:metadata" 
    metadataURL="https://metadata.eduid.cz/entities/eduid+sp"
    backingFile="/opt/shibboleth-idp/metadata/backup/eduid+sp"
    cacheDuration="600">
 
    <MetadataFilter xsi:type="SignatureValidation" xmlns="urn:mace:shibboleth:2.0:metadata"
        trustEngineRef="shibboleth.MetadataTrustEngine"
        requireSignedMetadata="true" />
 
</MetadataProvider>

Atribut trustEngineRef musí odkazovat na příslušný element TrustEngine (konkrétně hodnota atributu trustEngineRef odpovída hodnotě atributu id elementu TrustEngine), kde nastavíme cestu k ověřovacímu certifikátu. Předkonfigurovaný element TrustEngine obvykle najdeme zakomentovaný v sekci „Security Configurations“.

<!-- Trust engine used to evaluate the signature on loaded metadata. -->
<security:TrustEngine id="shibboleth.MetadataTrustEngine" xsi:type="security:StaticExplicitKeySignature">
    <security:Credential id="MyFederation1Credentials" xsi:type="security:X509Filesystem">
        <security:Certificate>/etc/ssl/certs/metadata.eduid.cz.crt.pem</security:Certificate>
    </security:Credential>
</security:TrustEngine>

Shibboleth SP 2.x

V konfiguračním souboru shibboleth2.xml do příslušného MetadataProvider elementu přidáme MetadataFilter element typu „Signature“ a do atributu certificate zadáme cestu k ověřovacímu certifikátu:

<MetadataProvider type="XML" uri="https://metadata.eduid.cz/entities/eduid+idp"
    backingFilePath="/etc/shibboleth/backup/eduid+idp" 
    reloadInterval="600">
 
    <MetadataFilter type="Signature" certificate="/etc/ssl/certs/metadata.eduid.cz.crt.pem"/>
</MetadataProvider>
Poslední úprava: 2017/02/10 07:02