- de:shibidp:config-sealer|Secret Key-Management ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:production|Produktivbetrieb ->
~~NOTOC~~
====== Konfiguration des Verschlüsselungsalgorithmus ======
{{INLINETOC 2}}
Ab Shibboleth IdP 3.4 wurde eine Einstellung aufgenommen, mit der der Algorithmus eingestellt werden kann, mit dem die Assertions verschlüsselt werden. Der alte Standard-Algorithmus AES-CBC gilt nicht mehr als sicher, daher ist bei neu installierten IdPs ab Version 4.x die Voreinstellung AES-GCM.
Einige Nicht-Shibboleth-Service Provider können mit dem aktuell als sicher betrachteten Algorithmus AES-GCM noch nicht umgehen.
Als IdP-Betreiber*in müssen Sie sich daher überlegen, welchen Weg Sie beschreiten wollen:
- Sie können - unabhängig von dem globalen Setting Ihres IdPs - verschiedene SAML-Profile anlegen, in denen Sie den jeweiligen Algorithmus explizit mitgeben. Dies geht in beide Richtungen:
* __Bei globaler Verwendung des sicheren Algorithmus können Sie Ausnahmen für SPs konfigurieren, bei denen noch AES-CBC verwendet werden soll__**(empfohlen)**.
* Bei globaler Verwendung des unsicheren Algorithmus können Sie Ausnahmen für solche SPs definieren, die bereits AES-GCM sprechen.
- Grundsätzlich könnten die jeweils unterstützten Verschlüsselungsalgorithmen auch in den IdP-/SP-Metadaten über ein entsprechendes Element ('''') deklariert werden. Der Shibboleth IdP ist z.B. anhand dieser Angabe in der Lage, eine Assertion gemäß AES-CBC zu verschlüsseln, auch wenn AES-GCM als Default gesetzt ist. Bislang wird dieses Element **noch nicht von der DFN-AAI Metadatenverwaltung unterstützt**. Wir arbeiten daran, die Metadatenverwaltung entsprechend zu erweitern. In den von der DFN-AAI verteilten eduGAIN-Metadaten ist das Element '''' bereits fallweise enthalten und wird von IdPs dann auch ausgewertet (z.B. bei cat.eduroam.org).
- Sie können global auf den unsicheren Algorithmus zurückgehen, in dem Bewusstsein, dass die Verschlüsselung angreifbar ist **(nicht empfohlen)**.
===== Liste betroffener Service Provider =====
Wir bemühen uns, die Liste der diesbezüglichen Entity IDs möglichst aktuell zu halten. Hinweise an [[hotline@aai.dfn.de|]] sind sehr willkommen!
* ACS Publications: [[https://pubs.acs.org/shibboleth|https://pubs.acs.org/shibboleth]]
* AIP Scitation: [[https://scitation.aip.org/shibboleth|https://scitation.aip.org/shibboleth]]
* Atypon (Proxy für verschiedene Verlage): [[https://iam.atypon.com/shibboleth|https://iam.atypon.com/shibboleth]]
* Brill Online Books and Journals: [[https://booksandjournals.brillonline.com/shibboleth|https://booksandjournals.brillonline.com/shibboleth]]
* Brockhaus https://auth.brockhaus.de/samlauth und https://auth.brockhaus.at/samlauth
* Cambridge Journals Online: [[https://shibboleth.cambridge.org/shibboleth-sp|https://shibboleth.cambridge.org/shibboleth-sp]]
* Canto Tenant SPs
* Cisco Webex Tenant SPs
* Citavi Web: [[https://citaviweb.citavi.com/shibboleth|https://citaviweb.citavi.com/shibboleth]]
* De Gruyter: [[https://www.degruyter.com/shibboleth|https://www.degruyter.com/shibboleth]] und https://www.degruyter.com/ssp
* Dropbox: https://dropbox.com/sp
* Elsevier: [[https://sdauth.sciencedirect.com/|https://sdauth.sciencedirect.com/]]
* Emerald Insight: [[https://sp.emerald.com/sp|https://sp.emerald.com/sp]]
* Fiori: https://fiori.fhhrz.net (und wahrscheinlich https://test-fiori.fhhrz.net)
* GÉANT SP Proxy: [[https://terena.org/sp|https://terena.org/sp]]
* Hanser E-Library: [[https://www.hanser-elibrary.com/shibboleth|https://www.hanser-elibrary.com/shibboleth]]
* Highwire (Proxy für verschiedene Verlage): [[https://shibboleth.highwire.org/entity/secure-sp|https://shibboleth.highwire.org/entity/secure-sp]]
* Hirzel: https://elibrary.hirzel.de
* Hogrefe E-Library: [[https://elibrary.hogrefe.de|https://elibrary.hogrefe.de]]
* IOPScience Online Services: [[https://ticket.iop.org/shibboleth|https://ticket.iop.org/shibboleth]]
* Jobteaser-SPs (alle Tenant-SPs)
* Karger Publishers: [[https://www.karger.com/oa/entity|https://www.karger.com/oa/entity]]
* Landesnetz Rheinland-Pfalz: https://login.rlp.net/adfs/services/trust
* Meiner E-Library: [[https://meiner-elibrary.de|https://meiner-elibrary.de]]
* Narr eLibrary: [[https://elibrary.narr.digital|https://elibrary.narr.digital]]
* Nature Publishing: [[https://secure.nature.com/shibboleth|https://secure.nature.com/shibboleth]]
* Ovid: https://shibboleth.ovid.com/entity
* Rosetta Stone - https://sp.rosettastone.com/platform
* SOP Hilmbauer & Mauberger GmbH & Co KG, Amstetten: https://www.service4mobility.com/europe
* Springer Nature: [[https://fsso.springer.com|https://fsso.springer.com]]
* Steiner E-Library: [[https://elibrary.steiner-verlag.de|https://elibrary.steiner-verlag.de]]
* Thieme: https://prd.thieme.de/shibboleth-sp
* Thomson Reuters - Web of Knowledge and EndNote Web: [[https://sp.tshhosting.com/shibboleth|https://sp.tshhosting.com/shibboleth]]
* Tivian GmbH (alle Tenant SPs)
* Toolbox Lehrerbildung: https://toolbox-edx.edu.tum.de/shibboleth
* Wiley Online Library: [[https://sp.onlinelibrary.wiley.com/shibboleth|https://sp.onlinelibrary.wiley.com/shibboleth]]
===== Standard-Algorithmen in den Versionen ab 3.4 =====
* **IdP 3.4:** alter Standard ''shibboleth.EncryptionConfiguration.CBC''
* **upgegradeter IdP 4.x:** alter Standard, wenn der Algorithmus nicht manuell hochgesetzt wird
* **neu installierter IdP 4.x/5.x:** neuer Standard ''shibboleth.EncryptionConfiguration.GCM''
===== Algorithmus global setzen =====
In der Datei ''./conf/idp.properties'' gibt es eine neue Einstellung, um global, also für alle Service Provider, die Verwendung eines einheitlichen Verschlüsselungsalgorithmus festzulegen. (Verwenden Sie nur //eine// der beiden Zeilen!)
# alter Algorithmus AES-CBC:
idp.encryption.config=shibboleth.EncryptionConfiguration.CBC
# oder neuer Algorithmus AES-GCM:
idp.encryption.config=shibboleth.EncryptionConfiguration.GCM
===== Algorithmus pro Profil setzen =====
Die folgenden zwei Beispiele zeigen, wie Sie für einen oder mehrere SPs den alten Algorithmus erlauben (Quelle: [[https://shibboleth.atlassian.net/wiki/spaces/IDP5/pages/3199508797/SecurityConfiguration | Shibboleth Wiki]]).
==== Entity IDs ====
==== Entity Category ====
Hier ein Beispiel, bei dem die abweichende Profil-Konfiguration über die [[http://aai.dfn.de/category/no-aes-gcm-support|Entity Category http://aai.dfn.de/category/no-aes-gcm-support]] gesteuert wird. Die Zuordnung zu dieser Entity Category wird zentral über eine Liste gesteuert, die die [[#liste_betroffener_service_provider|o.g. Entity IDs]] enthält. Hierbei werden auch SPs erfasst, die über die [[de:edugain#konfiguration_idp_sp_aa|eduGAIN Downstream-Metadaten]] in die DFN-AAI kommen. \\
**Die sonstigen Einstellungen/Parameter müssen den lokalen Bedürfnissen bzw. Gegebenheiten angepasst werden!**
===== Algorithmus pro Profil setzen, Variante =====
Der Algorithmus kann im IDP 5.x auch in der metadata-providers.xml Datei gesetzt werden. In manchen Konfigurationen kann das zur Übersichtlichkeit beitragen, z.B. wenn die relying-party.xml sowieso schon umfangreich ist.
https://auth.brockhaus.de/samlauth
https://auth.brockhaus.at/samlauth
https://citaviweb.citavi.com/shibboleth
https://www.degruyter.com/shibboleth
https://dropbox.com/sp
https://fiori.fhhrz.net
https://test-fiori.fhhrz.net
https://shibboleth.highwire.org/entity/secure-sp
https://elibrary.hirzel.de
https://elibrary.hogrefe.de
https://ticket.iop.org/shibboleth
https://login.rlp.net/adfs/services/trust
https://meiner-elibrary.de
https://secure.nature.com/shibboleth
https://www.service4mobility.com/europe
https://elibrary.steiner-verlag.de
https://prd.thieme.de/shibboleth-sp
https://sp.tshhosting.com/shibboleth
https://sp.onlinelibrary.wiley.com/shibboleth
Die Reihenfolge der ist hierbei wichtig. vom Typ "SignatureValidation" müssen immer vor vom Typ "Algorithm" definiert werden.
===== Verwendeten Algorithmus im IdP-Log nachvollziehen =====
Ein neu installierter IdP 5.x loggt den verwendeten Algorithmus ins ''idp-audit.log'':
127.0.0.2|2020-11-25T09:18:42.067973Z|2020-11-25T09:18:53.319425Z|pingel|https://sp2.local/shibboleth|_f3f9070c525b2e7898b61e4a9c0e3a4b|password|2020-11-25T09:18:47.055896Z|eduPersonEntitlement,samlSubjectID,samlPairwiseID,mail,eduPersonScopedAffiliation|||false|false|AES128-GCM|Redirect|POST||Success||759afa9ead212d7d7f928be18669ff55af4009d6309491145bfcd8c74c5200d8|Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0
Um dieses Logging-Verhalten auch in einem von 3.x aktualisierten IdP zu bekommen, können Sie die Datei ''conf/audit.xml'' durch die Datei ''dist/conf/audit.xml'' ersetzen.
Außerdem loggt der IdP im Loglevel DEBUG für ''idp.loglevel.messages'' die verschlüsselten Assertions. Dort finden Sie den verwendeten Algorithmus (Ausschnitt gekürzt):
[...]
===== Unterstützte Algorithmen am SP prüfen =====
Bei **Shibboleth SPs** finden Sie die Liste der unterstützten Verschlüsselungsalgorithmen über den Metadata Handler (/Shibboleth.sso/Metadata) in den Elementen namens .
Bei **anderen SP-Implementierungen** existieren i.d.R. ähnliche Mechanismen. Ansonsten hilft ein Blick in die Dokumentation der betreffenden SP-Software oder eine Anfrage beim Customer Support des Herstellers bzw. Plattformbetreibers.
{{tag>idp4 tutorial aes-gcm algorithmus verschlüsselung included-in-ansible}}