<- 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}}