DEBUG OUTPUT: TABLE OF CONTENTS 01. ELEMENT TREE 02. RAW SOURCE TEXT 03. CHAPTERS 04. TABLE COMPOSITION DETAILS 05. MODEL ATTRIBUTES 06. MODEL IMAGES 07. MODEL TABLES 08. MODEL REQUIREMENTS 09. MODEL LINKS 10. MODEL PLACEHOLDERS 11. MODEL METADATA 12. DOKUMENT TYPE 13. ERRORS AND WARNINGS ======================================================================================================================== 01. ELEMENT TREE ======================================================================================================================== #document HTML (&94488153593000) HEAD (&94488153593184) text "\n " STYLE (&94488153593488) text "\n\n#toc_container {\n background: #f9f9f9 none repeat scroll 0 0;\n border: 1px solid #aaa;\n display: table;\n font-size: 95%;\n margin-bottom: 1em;\n padding: 20px;\n width: 100%;\n}\n\n.toc_title {\n font-weight: 700;\n text-align: center;\n}\n\n#toc_container li, #toc_container ul, #toc_container ul li{\n list-style: outside none none !important;\n}\n\nbody {\n font-family: Arial, Helvetica, sans-serif;\n font-size: 14px;\n}\n\n.target-element {\n scroll-margin-top: 60px; \n}\n\n.polarion-rte-caption-paragraph {\n scroll-margin-top: 60px; \n}\n\n/* ol {\n list-style-type: none;\n Remove default numbering\n}\n\nol > li:before {\n counter-increment: mycounter;\n content: counter(mycounter) ". ";\n}\n\nol:first-of-type {\n counter-reset: mycounter;\n} */\n\n@media print { h1, h2 { break-before: page; } }\n\n\n" text "\n " META (&94488153593920) attr charset "utf-8" text "\n " text "\n " BODY (&94488153594520) text "\n " P (&94488153594824) attr id "polarion_1" BR (&94488153595184) text "\n " P (&94488153595488) attr id "polarion_3" BR (&94488153595848) text "\n " P (&94488153596152) attr id "polarion_4" BR (&94488153596512) text "\n " P (&94488153596816) attr id "polarion_5" BR (&94488153597176) text "\n " P (&94488153597480) attr id "polarion_6" SPAN (&94488153597840) attr style "font-weight: bold;text-decoration: underline;font-size: 12pt;line-height: 1.5;" text "Elektronische Gesundheitskarte und Telematikinfrastruktur" text "\n " P (&94488153598440) attr id "polarion_7" BR (&94488153598800) text "\n " P (&94488153599104) attr id "polarion_8" BR (&94488153599464) text "\n " P (&94488153599768) attr id "polarion_9" BR (&94488153600128) text "\n " P (&94488153600432) attr id "polarion_10" BR (&94488153600792) text "\n " P (&94488153601096) attr style "text-align: center;" attr id "polarion_11" SPAN (&94488153601632) attr style "font-weight: bold;font-size: 28pt;line-height: 1.2;" text "Spezifikation" text "\n " P (&94488153602232) attr style "text-align: center;" attr id "polarion_12" SPAN (&94488153602768) attr style "font-weight: bold;font-size: 28pt;line-height: 1.2;" text "Schlüsselgenerierungsdienst" text "\n " P (&94488153603368) attr style "text-align: center;" attr id "polarion_129" SPAN (&94488153603904) attr style "font-weight: bold;font-size: 28pt;line-height: 1.2;" text "ePA" text "\n " P (&94488153604504) attr id "polarion_13" BR (&94488153604864) text "\n " P (&94488153605168) attr id "polarion_14" BR (&94488153605528) text "\n " P (&94488153605832) attr id "polarion_15" BR (&94488153606192) text "\n " DIV (&94488153606496) attr class "polarion-dle-wiki-block" attr id "polarion_editor_html_block1" text "\n " DIV (&94488153607152) attr contenteditable "false" attr id "polarion_editor_html_block_content" text "\n " PRE (&94488153607808) attr contenteditable "false" attr class "polarion-dle-wiki-block-source" attr id "polarion_editor_html_block_source" text " " TABLE (&94488153608640) text "\n " TBODY (&94488153608944) TR (&94488153609128) text "\n " TD (&94488153609432) text "Version" text "\n " TD (&94488153609856) text "1.1.0" text "\n " text "\n " TR (&94488153610400) text "\n " TD (&94488153610704) text "Revision" text "\n " TD (&94488153611128) text "548770" text "\n " text "\n " TR (&94488153611672) text "\n " TD (&94488153611976) text "Stand" text "\n " TD (&94488153612400) text "28.06.2019" text "\n " text "\n " TR (&94488153612944) text "\n " TD (&94488153613248) text "Status" text "\n " TD (&94488153613672) text "freigegeben" text "\n " text "\n " TR (&94488153614216) text "\n " TD (&94488153614520) text "Klassifizierung" text "\n " TD (&94488153614944) text "öffentlich" text "\n " text "\n " TR (&94488153615488) text "\n " TD (&94488153615792) text "Referenzierung" text "\n " TD (&94488153616216) text "gemSpec_SGD_ePA" text "\n " text "\n " text "\n " text "\n " P (&94488153617000) attr id "polarion_16" BR (&94488153617360) text "\n " H1 (&94488153617664) attr id "polarion_wiki macro name=module-workitem;params=id=OPB311-46522" attr class "target-element" text "Dokumentinformationen" text "\n " P (&94488153618440) attr id "polarion_21" SPAN (&94488153618800) attr style "font-weight: bold;" text "Änderungen zur Vorversion" text "\n " P (&94488153619400) attr id "polarion_22" text "Anpassungen des vorliegenden Dokumentes im Vergleich zur Vorversion können Sie der nachfolgenden Tabelle entnehmen." text "\n " P (&94488153620000) attr id "polarion_23" SPAN (&94488153620360) attr style "font-style: italic;color: #0000FF;" text " " text "\n " P (&94488153620960) attr data-keep-next "true" attr id "polarion_24" SPAN (&94488153621496) attr style "font-weight: bold;" text "Dokumentenhistorie" text "\n " TABLE (&94488153622096) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=99.87%|uid=1" text "\n " TBODY (&94488153622752) text "\n " TR (&94488153623056) text "\n " TH (&94488153623360) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 53pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488153623720) attr style "font-size: 10pt;line-height: 1.5;" text "Version" BR (&94488153624200) text "\n " TH (&94488153624504) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 44pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488153624864) attr style "font-size: 10pt;line-height: 1.5;" text "Stand" BR (&94488153625344) text "\n " TH (&94488160075192) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 77pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160075528) attr style "font-size: 10pt;line-height: 1.5;" text "Kap./Seite" BR (&94488160076008) text "\n " TH (&94488160076312) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 280pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160076672) attr style "font-size: 10pt;line-height: 1.5;" text "Grund der Änderung, besondere Hinweise" BR (&94488160077152) text "\n " TH (&94488160077456) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 70pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160077816) attr style "font-size: 10pt;line-height: 1.5;" text "Bearbeitung" BR (&94488160078296) text "\n " text "\n " TR (&94488160078720) text "\n " TD (&94488160079024) attr style "vertical-align: top;width: 53pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160079384) attr style "font-size: 10pt;line-height: 1.5;" text "0.5.0" BR (&94488160079864) text "\n " TD (&94488160080168) attr style "vertical-align: top;width: 44pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160080528) attr style "font-size: 10pt;line-height: 1.5;" text "15.03.19" BR (&94488160081008) text "\n " TD (&94488160081312) attr style "vertical-align: top;width: 77pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160081792) attr style "vertical-align: top;width: 280pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160082152) attr style "font-size: 10pt;line-height: 1.5;" text "initiale Erstellung" BR (&94488160082632) text "\n " TD (&94488160082936) attr style "vertical-align: top;width: 70pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160083296) attr style "font-size: 10pt;line-height: 1.5;" text "gematik" BR (&94488160083776) text "\n " text "\n " TR (&94488160084200) text "\n " TD (&94488160084504) attr style "vertical-align: top;width: 53pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160084864) attr style "font-size: 10pt;line-height: 1.5;" text "1.0.0" BR (&94488160085344) text "\n " TD (&94488160085648) attr style "vertical-align: top;width: 44pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160086008) attr style "font-size: 10pt;line-height: 1.5;" text "15.05.19" BR (&94488160086488) text "\n " TD (&94488160086792) attr style "vertical-align: top;width: 77pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160087272) attr style "vertical-align: top;width: 280pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160087632) attr style "font-size: 10pt;line-height: 1.5;" text "freigegeben" BR (&94488160088112) text "\n " TD (&94488160088416) attr style "vertical-align: top;width: 70pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160088776) attr style "font-size: 10pt;line-height: 1.5;" text "gematik" BR (&94488160089256) text "\n " text "\n " TR (&94488160089680) text "\n " TD (&94488160089984) attr style "vertical-align: top;width: 53pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160090464) attr style "vertical-align: top;width: 44pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160090944) attr style "vertical-align: top;width: 77pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160091424) attr style "vertical-align: top;width: 280pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160091784) attr style "font-size: 10pt;line-height: 1.5;" text "Einarbeitung P19.1" text "\n " TD (&94488160092384) attr style "vertical-align: top;width: 70pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160092744) attr style "font-size: 10pt;line-height: 1.5;" text "gematik" text "\n " text "\n " TR (&94488160093464) text "\n " TD (&94488160093768) attr style "vertical-align: top;width: 53pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160094128) attr style "font-size: 10pt;line-height: 1.5;" text "1.1.0" text "\n " TD (&94488160094728) attr style "vertical-align: top;width: 44pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160095088) attr style "font-size: 10pt;line-height: 1.5;" text "28.06.19" text "\n " TD (&94488160095688) attr style "vertical-align: top;width: 77pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488160096168) attr style "vertical-align: top;width: 280pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160096528) attr style "font-size: 10pt;line-height: 1.5;" text "freigegeben" text "\n " TD (&94488160097128) attr style "vertical-align: top;width: 70pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160097488) attr style "font-size: 10pt;line-height: 1.5;" text "gematik" text "\n " text "\n " text "\n " text "\n " P (&94488160098448) attr id "polarion_26" text "\n " H1 (&94488160098928) attr id "polarion_wiki macro name=module-workitem;params=id=OPB311-46523" attr class "target-element" text "Inhaltsverzeichnis" text "\n " DIV (&94488160099704) attr id "polarion_wiki macro name=toc" text "\n " DIV (&94488160100184) attr id "toc_container" text "\n " P (&94488160100664) attr class "toc_title" H1 (&94488160101024) P (&94488160101208) text "\n " UL (&94488160101512) text "\n " LI (&94488160101816) text "\n " DIV (&94488160102120) attr style "text-indent:10px;" text "\n " A (&94488160102600) attr href "#polarion_wiki macro name=module-workitem;params=id=OPB311-46522" text "Dokumentinformationen" text "\n " text "\n " LI (&94488160103320) text "\n " DIV (&94488160103624) attr style "text-indent:10px;" text "\n " A (&94488160104104) attr href "#polarion_wiki macro name=module-workitem;params=id=OPB311-46523" text "Inhaltsverzeichnis" text "\n " text "\n " LI (&94488160104824) text "\n " DIV (&94488160105128) attr style "text-indent:20px;" text "\n " A (&94488160105608) attr href "#1" text "1 Einordnung des Dokuments" text "\n " text "\n " LI (&94488160106328) text "\n " DIV (&94488160106632) attr style "text-indent:30px;" text "\n " A (&94488160107112) attr href "#1.1" text "1.1 Zielsetzung" text "\n " text "\n " LI (&94488236576520) text "\n " DIV (&94488236576704) attr style "text-indent:30px;" text "\n " A (&94488236577184) attr href "#1.2" text "1.2 Zielgruppe" text "\n " text "\n " LI (&94488236577904) text "\n " DIV (&94488236578208) attr style "text-indent:30px;" text "\n " A (&94488236578688) attr href "#1.3" text "1.3 Geltungsbereich" text "\n " text "\n " LI (&94488236579408) text "\n " DIV (&94488236579712) attr style "text-indent:30px;" text "\n " A (&94488236580192) attr href "#1.4" text "1.4 Abgrenzungen" text "\n " text "\n " LI (&94488236580912) text "\n " DIV (&94488236581216) attr style "text-indent:30px;" text "\n " A (&94488236581696) attr href "#1.5" text "1.5 Methodik" text "\n " text "\n " LI (&94488236582416) text "\n " DIV (&94488236582720) attr style "text-indent:20px;" text "\n " A (&94488236583200) attr href "#2" text "2 Überblick" text "\n " text "\n " LI (&94488236583920) text "\n " DIV (&94488236584224) attr style "text-indent:30px;" text "\n " A (&94488236584704) attr href "#2.1" text "2.1 Grundlage und Kernidee" text "\n " text "\n " LI (&94488236585424) text "\n " DIV (&94488236585728) attr style "text-indent:30px;" text "\n " A (&94488236586208) attr href "#2.2" text "2.2 Akteure und Komponenten" text "\n " text "\n " LI (&94488236586928) text "\n " DIV (&94488236587232) attr style "text-indent:30px;" text "\n " A (&94488236587712) attr href "#2.3" text "2.3 Basisablauf Kommunikation SGD-Client und SGD" text "\n " text "\n " LI (&94488236588432) text "\n " DIV (&94488236588736) attr style "text-indent:30px;" text "\n " A (&94488236589216) attr href "#2.4" text "2.4 Initiale Schlüsselableitung für den Kontoinhaber" text "\n " text "\n " LI (&94488236589936) text "\n " DIV (&94488236590240) attr style "text-indent:30px;" text "\n " A (&94488236590720) attr href "#2.5" text "2.5 Schlüsselableitung durch den Kontoinhaber" text "\n " text "\n " LI (&94488236591440) text "\n " DIV (&94488236591744) attr style "text-indent:30px;" text "\n " A (&94488236592224) attr href "#2.6" text "2.6 Schlüsselableitung für einen Berechtigungsempfänger" text "\n " text "\n " LI (&94488236592944) text "\n " DIV (&94488236593248) attr style "text-indent:30px;" text "\n " A (&94488236593728) attr href "#2.7" text "2.7 Schlüsselableitung durch einen Berechtigten" text "\n " text "\n " LI (&94488236594448) text "\n " DIV (&94488236594752) attr style "text-indent:30px;" text "\n " A (&94488236595232) attr href "#2.8" text "2.8 Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter" text "\n " text "\n " LI (&94488236595952) text "\n " DIV (&94488236596256) attr style "text-indent:30px;" text "\n " A (&94488236596736) attr href "#2.9" text "2.9 Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten" text "\n " text "\n " LI (&94488236597456) text "\n " DIV (&94488236597760) attr style "text-indent:30px;" text "\n " A (&94488236598240) attr href "#2.10" text "2.10 Nichtspeicherung von Versichertendaten" text "\n " text "\n " LI (&94488236598960) text "\n " DIV (&94488236599264) attr style "text-indent:30px;" text "\n " A (&94488236599744) attr href "#2.11" text "2.11 Besondere Rolle SGD-HSM" text "\n " text "\n " LI (&94488236600464) text "\n " DIV (&94488236600768) attr style "text-indent:20px;" text "\n " A (&94488236601248) attr href "#3" text "3 Übergreifende Festlegungen" text "\n " text "\n " LI (&94488236601968) text "\n " DIV (&94488236602272) attr style "text-indent:30px;" text "\n " A (&94488236602752) attr href "#3.1" text "3.1 Beziehung zwischen ePA-Aktensystem und SGD" text "\n " text "\n " LI (&94488236603472) text "\n " DIV (&94488236603776) attr style "text-indent:30px;" text "\n " A (&94488236604256) attr href "#3.2" text "3.2 Verfügbarkeit und Performanz" text "\n " text "\n " LI (&94488236604976) text "\n " DIV (&94488236605280) attr style "text-indent:30px;" text "\n " A (&94488236605760) attr href "#3.3" text "3.3 Sichere Betreiberumgebung" text "\n " text "\n " LI (&94488236606480) text "\n " DIV (&94488236606784) attr style "text-indent:30px;" text "\n " A (&94488236607264) attr href "#3.4" text "3.4 Verschiedenes" text "\n " text "\n " LI (&94488236607984) text "\n " DIV (&94488236608288) attr style "text-indent:20px;" text "\n " A (&94488236608768) attr href "#4" text "4 Bestandteile eines SGD" text "\n " text "\n " LI (&94488221892888) text "\n " DIV (&94488221893192) attr style "text-indent:30px;" text "\n " A (&94488221893648) attr href "#4.1" text "4.1 Request-Verarbeitung in einem SGD" text "\n " text "\n " LI (&94488221894368) text "\n " DIV (&94488221894672) attr style "text-indent:30px;" text "\n " A (&94488221895152) attr href "#4.2" text "4.2 SGD-HSM" text "\n " text "\n " LI (&94488221895872) text "\n " DIV (&94488221896176) attr style "text-indent:30px;" text "\n " A (&94488221896656) attr href "#4.3" text "4.3 Schlüssel im SGD-HSM" text "\n " text "\n " LI (&94488221897376) text "\n " DIV (&94488221897680) attr style "text-indent:30px;" text "\n " A (&94488221898160) attr href "#4.4" text "4.4 Pflege der Prüfschlüssel (S2) im SGD-HSM" text "\n " text "\n " LI (&94488221898880) text "\n " DIV (&94488221899184) attr style "text-indent:30px;" text "\n " A (&94488221899664) attr href "#4.5" text "4.5 Funktionsablauf Firmware-Modul SGD-HSM" text "\n " text "\n " LI (&94488221900384) text "\n " DIV (&94488221900688) attr style "text-indent:40px;" text "\n " A (&94488221901168) attr href "#4.5.1" text "4.5.1 Zertifikats- und Schlüsselprüfung im SGD-HSM" text "\n " text "\n " LI (&94488221901888) text "\n " DIV (&94488221902192) attr style "text-indent:40px;" text "\n " A (&94488221902672) attr href "#4.5.2" text "4.5.2 Authentisierungstoken im SGD-HSM" text "\n " text "\n " LI (&94488221903392) text "\n " DIV (&94488221903696) attr style "text-indent:40px;" text "\n " A (&94488221904176) attr href "#4.5.3" text "4.5.3 Schlüsselableitung im SGD-HSM" text "\n " text "\n " LI (&94488221904896) text "\n " DIV (&94488221905200) attr style "text-indent:40px;" text "\n " A (&94488221905680) attr href "#4.5.4" text "4.5.4 Kommando-Abarbeitung KeyDerivation im SGD-HSM" text "\n " text "\n " LI (&94488221906400) text "\n " DIV (&94488221906704) attr style "text-indent:20px;" text "\n " A (&94488221907184) attr href "#5" text "5 Kodierung von Schlüsseln und Nachrichten" text "\n " text "\n " LI (&94488221907904) text "\n " DIV (&94488221908208) attr style "text-indent:30px;" text "\n " A (&94488221908688) attr href "#5.1" text "5.1 Kodierung von Schlüsseln" text "\n " text "\n " LI (&94488221909408) text "\n " DIV (&94488221909712) attr style "text-indent:40px;" text "\n " A (&94488221910192) attr href "#5.1.1" text "5.1.1 ECIES-Schlüssel eines SGD-HSM" text "\n " text "\n " LI (&94488221910912) text "\n " DIV (&94488221911216) attr style "text-indent:40px;" text "\n " A (&94488221911696) attr href "#5.1.2" text "5.1.2 ECIES-Schlüssel eines Clients" text "\n " text "\n " LI (&94488221912416) text "\n " DIV (&94488221912720) attr style "text-indent:30px;" text "\n " A (&94488221913200) attr href "#5.2" text "5.2 Kodierung von Chiffraten" text "\n " text "\n " LI (&94488221913920) text "\n " DIV (&94488221914224) attr style "text-indent:20px;" text "\n " A (&94488221914704) attr href "#6" text "6 Schnittstellen und Operationen" text "\n " text "\n " LI (&94488221915424) text "\n " DIV (&94488221915728) attr style "text-indent:30px;" text "\n " A (&94488221916208) attr href "#6.1" text "6.1 Innenschnittstellen" text "\n " text "\n " LI (&94488221916928) text "\n " DIV (&94488221917232) attr style "text-indent:30px;" text "\n " A (&94488221917712) attr href "#6.2" text "6.2 HTTPS-Schnittstellen und HTTP-Kommunikation" text "\n " text "\n " LI (&94488221918432) text "\n " DIV (&94488221918736) attr style "text-indent:30px;" text "\n " A (&94488221919216) attr href "#6.3" text "6.3 Anforderungen an die JSON-Requests und -Responses" text "\n " text "\n " LI (&94488221919936) text "\n " DIV (&94488221920240) attr style "text-indent:30px;" text "\n " A (&94488221920720) attr href "#6.4" text "6.4 Operation GetPublicKey" text "\n " text "\n " LI (&94488221921440) text "\n " DIV (&94488221921744) attr style "text-indent:30px;" text "\n " A (&94488221922224) attr href "#6.5" text "6.5 Operation GetAuthenticationToken" text "\n " text "\n " LI (&94488221922944) text "\n " DIV (&94488221923248) attr style "text-indent:30px;" text "\n " A (&94488221923728) attr href "#6.6" text "6.6 Operation KeyDerivation" text "\n " text "\n " LI (&94488221924448) text "\n " DIV (&94488221924752) attr style "text-indent:30px;" text "\n " A (&94488221925232) attr href "#6.7" text "6.7 Fehlermeldungen" text "\n " text "\n " LI (&94488205028720) text "\n " DIV (&94488205029024) attr style "text-indent:20px;" text "\n " A (&94488205029504) attr href "#7" text "7 Clientspezifische Festlegungen" text "\n " text "\n " LI (&94488205030224) text "\n " DIV (&94488205030528) attr style "text-indent:20px;" text "\n " A (&94488205031008) attr href "#8" text "8 Interoperables Austauschformat" text "\n " text "\n " LI (&94488205031728) text "\n " DIV (&94488205032032) attr style "text-indent:20px;" text "\n " A (&94488205032512) attr href "#9" text "9 Datenkanal zwischen Client und SGD (informativ)" text "\n " text "\n " LI (&94488205033232) text "\n " DIV (&94488205033536) attr style "text-indent:30px;" text "\n " A (&94488205034016) attr href "#9.1" text "9.1 Ablauf Kommunikation zwischen Client und SGD-HSM" text "\n " text "\n " LI (&94488205034736) text "\n " DIV (&94488205035040) attr style "text-indent:30px;" text "\n " A (&94488205035520) attr href "#9.2" text "9.2 ECIES-Verfahren" text "\n " text "\n " LI (&94488205036240) text "\n " DIV (&94488205036544) attr style "text-indent:20px;" text "\n " A (&94488205037024) attr href "#10" text "10 Anhang – Verzeichnisse" text "\n " text "\n " LI (&94488205037744) text "\n " DIV (&94488205038048) attr style "text-indent:30px;" text "\n " A (&94488205038528) attr href "#10.1" text "10.1 Abkürzungen" text "\n " text "\n " LI (&94488205039248) text "\n " DIV (&94488205039552) attr style "text-indent:30px;" text "\n " A (&94488205040032) attr href "#10.2" text "10.2 Glossar" text "\n " text "\n " LI (&94488205040752) text "\n " DIV (&94488205041056) attr style "text-indent:30px;" text "\n " A (&94488205041536) attr href "#10.3" text "10.3 Abbildungsverzeichnis" text "\n " text "\n " LI (&94488205042256) text "\n " DIV (&94488205042560) attr style "text-indent:30px;" text "\n " A (&94488205043040) attr href "#10.4" text "10.4 Tabellenverzeichnis" text "\n " text "\n " LI (&94488205043760) text "\n " DIV (&94488205044064) attr style "text-indent:30px;" text "\n " A (&94488205044544) attr href "#10.5" text "10.5 Referenzierte Dokumente" text "\n " text "\n " LI (&94488205045264) text "\n " DIV (&94488205045568) attr style "text-indent:40px;" text "\n " A (&94488205046048) attr href "#10.5.1" text "10.5.1 – Dokumente der gematik" text "\n " text "\n " LI (&94488205046768) text "\n " DIV (&94488205047072) attr style "text-indent:40px;" text "\n " A (&94488205047552) attr href "#10.5.2" text "10.5.2 – Weitere Dokumente" text "\n " text "\n " text "\n " text "\n " P (&94488205048512) attr id "polarion_36" text "\n " H2 (&94488205048992) attr id "1" attr class "target-element" text "1 Einordnung des Dokuments" text "\n " H3 (&94488205049768) attr id "1.1" attr class "target-element" text "1.1 Zielsetzung" text "\n " P (&94488205050544) attr id "polarion_38" text "Die vorliegende Spezifikation definiert Anforderungen an den Produkttyp "Schlüsselgenerierungsdienst ePA" (SGD) und beschreibt die Funktionsweise der Schlüsselgenerierung, die die Basis für die Ver- und Entschlüsselung von Akten- und Kontextschlüssel innerhalb eines Clients (ePA-FdV etc.) ist. " text "\n " H3 (&94488205051144) attr id "1.2" attr class "target-element" text "1.2 Zielgruppe" text "\n " P (&94488205051920) attr id "polarion_18" text "Das Dokument richtet sich an Hersteller und Anbieter des Produkts "Schlüsselgenerierungsdienst ePA" und des Produktes "ePA-Aktensystem". Weiterhin unterstützt das Dokument Hersteller von "ePA-Frontends des Versicherten" und Hersteller eines "Fachmodul ePA" bei der Entwicklung, da diese Produkte mit mehreren SGD kommunizieren müssen." text "\n " H3 (&94488205052520) attr id "1.3" attr class "target-element" text "1.3 Geltungsbereich" text "\n " P (&94488205053296) attr id "polarion_53" text "Dieses Dokument enthält normative Festlegungen zur Telematikinfrastruktur des deutschen Gesundheitswesens. Der Gültigkeitszeitraum der vorliegenden Version und deren Anwendung in Zulassungsverfahren wird durch die gematik GmbH in gesonderten Dokumenten (z. B. Dokumentenlandkarte, Produkttypsteckbrief, Leistungsbeschreibung) festgelegt und bekannt gegeben." text "\n " P (&94488205053896) attr id "polarion_54" text "\n " P (&94488205054376) attr data-keep-next "true" attr id "polarion_55" SPAN (&94488205054912) attr style "font-weight: bold;" text "Wichtiger Schutzrechts-/Patentrechtshinweis" text "\n " P (&94488205055512) attr data-keep-next "true" attr id "polarion_56" SPAN (&94488205056048) attr style "font-style: italic;font-size: 10pt;line-height: 1.5;" text "Die nachfolgende Spezifikation ist von der gematik allein unter technischen Gesichtspunkten erstellt worden. Im Einzelfall kann nicht ausgeschlossen werden, dass die Implementierung der Spezifikation in technische Schutzrechte Dritter eingreift. Es ist allein Sache des Anbieters oder Herstellers, durch geeignete Maßnahmen dafür Sorge zu tragen, dass von ihm aufgrund der Spezifikation angebotene Produkte und/oder Leistungen nicht gegen Schutzrechte Dritter verstoßen und sich ggf. die erforderlichen Erlaubnisse/Lizenzen von den betroffenen Schutzrechtsinhabern einzuholen. Die gematik GmbH übernimmt insofern keinerlei Gewährleistungen." text "\n " H3 (&94488205056648) attr id "1.4" attr class "target-element" text "1.4 Abgrenzungen" text "\n " P (&94488205057424) attr id "polarion_57" text "Es ist keine Abgrenzung gegenüber anderen Spezifikationen/Konzepten oder im Kontext derzeit nicht relevanten Themen erforderlich." text "\n " H3 (&94488205058024) attr id "1.5" attr class "target-element" text "1.5 Methodik" text "\n " P (&94488205058800) attr id "polarion_17" text "Anforderungen als Ausdruck normativer Festlegungen werden durch eine eindeutige ID sowie die dem RFC 2119 [RFC2119] entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN gekennzeichnet." BR (&94488205059280) BR (&94488205059464) text " Sie werden im Dokument wie folgt dargestellt:" BR (&94488205059768) text " - " BR (&94488205060072) text " Text / Beschreibung" BR (&94488205060376) text " [<=]" BR (&94488205060680) BR (&94488162059560) text " Dabei umfasst die Anforderung sämtliche zwischen Afo-ID und der Textmarke [<=] angeführten Inhalte." BR (&94488162059864) text "\n " H2 (&94488162060168) attr id "2" attr class "target-element" text "2 Überblick" text "\n " P (&94488162060920) attr id "polarion_46" text "Ein Schlüsselgenerierungsdienst (SGD) generiert AES-256-Bit-Schlüssel für eine Entität, die sich mittels" text "\n " UL (&94488162061520) attr id "polarion_109" text "\n " LI (&94488162062000) text "einer eGK," text "\n " LI (&94488162062424) text "einer alternativen Versichertenidentität," text "\n " LI (&94488162062848) text "einer SMC-B, oder" text "\n " LI (&94488162063272) text "einer SMC-KTR " text "\n " text "\n " P (&94488162063816) attr id "polarion_164" text "gegenüber dem SGD authentisiert hat. Diese Generierung erfolgt über eine Schlüsselableitung auf Grundlage von geheimen SGD-spezifischen Ableitungsschlüsseln (Masterkeys) und Ableitungsvektoren. Diese Ableitungsvektoren enthalten konstante Merkmale, entweder die KVNR oder die Telematik-ID. Jeweils fließt notwendigerweise solch ein konstantes Merkmal aus der erfolgreichen Authentisierung und dem dabei verwendeten EE-Client-Zertifikat mit in die Ableitung ein. Damit werden nur für Berechtigte (erfolgreich Authentifizierte) diese Schlüssel abgeleitet und die jeweils generierten Schlüssel sind spezifisch – unterschiedliche Ableitungsvektoren erzeugen jeweils unterschiedliche abgeleitete Schlüssel." text "\n " P (&94488162064416) attr id "polarion_117" text "Die Sicherung der medizinischen Daten bei der elektronischen Patientenakte [gemSysL_ePA] ist ein Zusammenspiel aus Zugriffskontrolle und Schlüsselmanagement (Verschlüsselung). Aus diesem Hybridmodell folgt: Auch wenn ein Client über mehrere SGD Schlüssel ableiten lassen kann, heißt dies noch nicht, dass für diese Schlüssel überhaupt ein passendes Chiffrat existiert oder dass ein Client auf solch ein Chiffrat Zugriff besitzt." text "\n " P (&94488162065016) attr id "polarion_167" text "Die Schlüsselableitung wird in einem SGD innerhalb eines HSM mit einem SGD-spezifischen Firmware-Modul durchgeführt (SGD-HSM genannt). Durch technische Maßnahmen wird ausgeschlossen, dass ein Betreiber eines SGD die Schlüsselableitung selbst durchführen kann oder Zugriff auf die unverschlüsselten versichertenindividuellen Schlüssel erhalten kann. Nur das SGD-HSM kann die geheimen Ableitungsschlüssel verwenden. Es prüft dabei zuvor die erfolgreiche Authentisierung des Anfragenden und verwendet u. a. die darin authentisierten Angaben als Ableitungsvektoren. Es gibt aus der Perspektive eines Client (des ePA-Frontend des Versicherten (ePA-FdV), eines Konnektor-Fachmodul ePA (FM ePA) etc.) immer genau zwei SGD, die ein Client aufgrund der verwendeten SGD-HSM-Zertifikate sicher unterscheiden kann. Der Client fordert eine Schlüsselgenerierung jeweils bei den beiden SGD an und erhält damit zwei unabhängige AES-256-Schlüssel. Nach erfolgreicher Authentifizierung und Autorisierung durch das Aktensystem verwendet der Client diese zwei Schlüssel, um das vom ePA-Aktensystem erhaltene Chiffrat im "Zwiebelschalenprinzip" zu entschlüsseln. So erhält der Client den Akten- und den Kontextschlüssel im Klartext. Diese beiden Schlüssel sind dabei bezüglich der Ver- und Entschlüsselung durch eine gemeinsame Datenstruktur (vgl. Abschnitt " A (&94488162065496) attr href "#8" text "8" text ") fest miteinander verbunden. Die zwei SGD sind technisch, organisatorisch und wirtschaftlich unabhängig voneinander (vgl. Abschnitt " A (&94488162066096) attr href "#3.1" text "3.1" text "  ). Ein SGD kommt niemals mit dem Akten- und Kontextschlüssel eines Versicherten in Berührung." text "\n " P (&94488162066816) attr id "polarion_61" text "Verliert der Versicherte seine eGK oder sein mobiles Endgerät mit seiner alternativen Versichertenidentität, kann er sich mit seiner neuen Identität (Folge-eGK oder einer anderen alternativen Versichertenidentität) am ePA-Aktensystem authentisieren. Da die Merkmale für die Schlüsselableitung in der Folgeidentität gleich sind (gleichbleibende KVNR)  und kodiert ist, welcher Ableitungsschlüssel verwendet worden ist, kann ein Client mittels beider SGD die gleichen Schlüssel erhalten und die Entschlüsselung der Akten- und Kontextschlüssel wieder vornehmen. Der Verlust einer eGK eines Versicherten führt also nicht zum Verlust der Akte des Versicherten." text "\n " P (&94488162067416) attr id "polarion_173" text "Analog ist in einer Folge-SMC-B die Telematik-ID konstant. Somit kann eine Leistungserbringerinstitution (LEI) bereits vergebene Berechtigungen und vorher von einem Versicherten für die LEI erzeugte Chiffrate weiterhin nutzen." text "\n " H3 (&94488162068016) attr id "2.1" attr class "target-element" text "2.1 Grundlage und Kernidee" text "\n " P (&94488162068792) attr id "polarion_50" text "Notwendige Grundlage der Idee der Schlüsselableitung mittels der SGD ist, dass bei einem Kartenwechsel der eGK oder einem Wechsel der alternativen Versichertenidentität die KVNR eines Versicherten in den Zertifikaten der Folgekarte bzw. bei der Folgeidentität korrekt und konstant bleibt. Die Korrektheit der Kartenherausgabeprozesse ist – wie bei nahezu allen digitalen Prozessen in der TI – notwendige Voraussetzung. Analog bleibt bei einem Kartenwechsel einer SMC-B oder einer SMC-KTR die Telematik-ID konstant." text "\n " P (&94488162069392) attr id "polarion_48" text "Es muss sichergestellt sein, dass nur erfolgreich authentifizierte Clients eine Schlüsselableitung durchführen können und dabei notwendigerweise die die Clients identifizierenden (konstanten) Merkmale in die Schlüsselableitung als Ableitungsvektor mit einfließen. Die Authentifizierung durch die SGD-HSMs der beiden SGD erfolgt unabhängig vom Aktensystem." text "\n " P (&94488162069992) attr id "polarion_59" text "Ziele für die Schlüsselableitung:" text "\n " OL (&94488162070592) attr id "polarion_60" text "\n " LI (&94488162071072) text "Die Akten- und Kontextschlüssel dürfen sich unverschlüsselt nur in Clients (ePA-FdV, FM ePA etc.) befinden (bzw. der Kontextschlüssel ebenfalls in der VAU). Dort liegen die Schlüssel nur temporär während der Verwendung der Akte vor und werden dort anschließend sicher gelöscht." text "\n " LI (&94488162071496) text "Die Akten- und Kontextschlüssel dürfen nur durch das Zusammenwirken mehrerer unabhängiger Teilnehmer entschlüsselbar sein." text "\n " LI (&94488162071920) text "Alle Ver- und Entschlüsselungen dürfen nur authentisierte Daten verwenden." text "\n " LI (&94488162072344) text "Die Akten- und Kontextschlüssel müssen mit versichertenindividuellen Schlüsseln geschützt sein (Schlüsseldiversifizierung)." text "\n " LI (&94488162072768) text "Da ausreichend geprüfte symmetrische Verschlüsselungsverfahren (bspw. Finalisten des öffentlichen Auswahlverfahrens für AES) in ihrer Sicherheitseignung deutlich stabiler über längere Zeiträume sind als asymmetrische Verschlüsselungsverfahren (Eignung der Schlüssellängen, vgl. notwendige Anpassung der Schlüssellängen bspw. bei RSA), soll die Lösung möglichst viel auf symmetrischen Verfahren beruhen." text "\n " LI (&94488162073192) text "Die Verwendung von symmetrischen Verschlüsselungsverfahren ermöglicht eine eventuell zukünftig notwendige Reaktion auf das Thema Quantencomputer-Resistenz." text "\n " text "\n " P (&94488162073736) attr id "polarion_84" text "Wenn die KVNR bzw. die Telematik-ID in einer Folgekarte oder Folgeidentität immer konstant ist, so kann diese (1) als eindeutiges Identifikationsmerkmal bspw. innerhalb einer Authentifizierung und Autorisierung verwendet werden und (2) als Basis für eine eindeutige Schlüsselableitung. Die Schlüsselableitung berechnet aus einem geheimen Ableitungsschlüssel (Mastersecret) und einer KVNR plus anderen Angaben (vgl. Abschnitte " A (&94488162074216) attr href "#2.4" text "2.4" text " ff) deterministisch einen spezifischen AES-256-Schlüssel. Diese Schlüsselableitung wird in einem HSM mit einem speziellen Firmware-Modul durchgeführt, das verhindert, dass der Betreiber des HSMs (vgl. Abschnitt " SPAN (&94488162074816) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94516" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) in den Ableitungsprozess Einblick erhält – er kennt den geheimen Ableitungsschlüssel nicht, und er kann die Authentifizierungs- und Autorisierungsfunktion im HSM nicht beeinflussen. Ein solcher abgeleiteter versicherten- und zugriffsregelindividueller AES-256-Schlüssel wird dem Client über einen beidseitig authentisierten Ende-zu-Ende-verschlüsselten Kanal zwischen SGD-HSM und dem Client zur Verfügung gestellt. Ein Versicherter verwendet solche abgeleiteten versichertenindividuellen AES-256-Schlüssel aus mehreren voneinander unabhängigen SGD. Ein Client (ein ePA-FdV, ein FM ePA etc.) kann die verschiedenen SGD voneinander unterscheiden. Die Erzeugung der abgeleiteten versichertenindividuellen AES-256-Schlüssel kann auf beliebig viele unabhängige SGD verteilt werden. Das Verfahren skaliert linear – es ist technisch leicht möglich, mehrere SGD zu verwenden." text "\n " P (&94488162076296) attr id "polarion_144" text "Die Schlüsselableitungsfunktionalität ePA basiert aktuell auf genau zwei SGD pro Aktensystem (vgl. Abschnitt " SPAN (&94488162076776) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94490" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und Abschnitt " SPAN (&94488162078136) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94498" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") gemäß " A (&94488162079496) attr href "#ML-94626" text "[gemKPT_Arch_TIP#4.7 Langfristige Verschlüsselung]" text " . Im Folgenden wird derjenige SGD, den ein Anbieter eines Fachanwendungsspezifischen Dienstes (FAD) bereitstellen muss, als "SGD 1" bzw. "SGD FAD" bezeichnet. Derjenige SGD, der von einem von SGD 1 unabhängigen Dritten in der TI-Plattform (TIP) betrieben wird, wird im Folgenden als "SGD 2" bzw. "SGD TIP" bezeichnet. Mittels der beiden erhaltenen AES-256-Schlüssel verschlüsselt ein Client den Akten- und Kontextschlüssel (vgl. Abschnitt "" SPAN (&94488162080096) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-92802" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ") im "Zwiebelschalenprinzip". Das entstandene Chiffrat wird dem ePA-Aktensystem zur Einlagerung übergeben. " text "\n " P (&94488162081576) attr id "polarion_99" text "Nach einer erfolgreichen Anmeldung am Aktensystem kann ein Versicherter Folgendes tun:" text "\n " OL (&94488162082176) attr id "polarion_134" text "\n " LI (&94488162082656) text "Der Versicherte authentisiert sich jeweils bei den verschiedenen, unabhängigen Schlüsselableitungsdiensten (beidseitig authentisierter verschlüsselter Datenkanal zwischen SGD-HSM und Client, vgl. Abschnitt " A (&94488162082960) attr href "#9" text "9" text " )." text "\n " LI (&94488162083680) text "Der Versicherte erhält aufgrund der Konstanz der KVNR  und des im Ableitungsvektor benannten geheimen Ableitungsschlüssel jeweils den gleichen abgeleiteten versichertenindividuellen AES-256-Schlüssel wie zuvor." text "\n " LI (&94488162084104) text "Der Versicherte kann anschließend im Zwiebelschalenprinzip den Akten- und den Kontextschlüssel entschlüsseln." text "\n " text "\n " P (&94488162084648) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_20" IMG (&94488162085360) attr style "width: 582px;height: 380px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0AAAAIfCAYAAABZzLzUAAAgAElEQVR4Aey9D5AU9bn3+10VjiIqZin+qISF2kELWIUQLZk9ceVNQHdRo1IvJ5JbYbVeZ3Oild3Dyd7jLXmTqxcrpjaH7KY0ZsdTCqn3YMJ5UTRhN4q5sOTdwSuHgCxwldkSCOquXDYiIhIwzq2nu38zPTPdPd0zPbPz59tVw/R0//48v0/PDv3086..." text "\n " P (&94488162086016) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_27" text "Abbildung " SPAN (&94488162086848) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "1" text ": Überblick Zwiebelschalenprinzip bei der Ver- und Entschlüsselung" text "\n " P (&94488162087744) attr id "polarion_131" text "Ein wichtiger Aspekt: Das   kryptographische Verfahren für die Generierung der spezifischen Schlüssel in den Schlüsselgenerierungsdiensten ist unabhängig von dem aktuell verwendeten Authentisierungsverfahren. Wenn bei der Authentisierung also zukünftig eine elliptische Kurve  mit 512-Bit anstatt aktuell einer elliptischen Kurve mit 256-Bit verwendet werden soll (oder ein Quanten-Computing-resistentes Signatur-Verfahren), so ist dies ist für das grundsätzliche Verfahren nicht entscheidend. Die Schlüsselableitungsfunktionalität ist diesbezüglich unabhängig." text "\n " P (&94488162088344) attr id "polarion_152" text "Der geheime Ableitungsschlüssel eines Schlüsselgenerierungsdienstes (SGD) wird regelmäßig neu erzeugt, so dass auch dort eine Schlüsseldiversifizierung vorhanden ist. Alte Ableitungsschlüssel müssen in den SGD weiter vorgehalten werden, solange sie potentiell benötigt werden. In einem späteren Release wird die (regelmäßige) Umschlüsselung einer ePA-Akte spezifikatorisch bearbeitet. Bei den SGD gibt es dafür jetzt schon vorbereitende Maßnahmen (vgl. Abschnitt " A (&94488162088824) attr href "#2.4" text "2.4" text ", RND-Zufallswert). Bei einem Schlüsselwechsel bei der jeweiligen Akte (Umschlüsselung) muss auch eine neue Einlagerung (Schlüsselableitungsfunktionalität) vorgenommen werden (im Normalfall mittels eines neuen Ableitungsschlüssels). Das sichere Löschen von nicht mehr benötigten Ableitungsschlüsseln (Masterkeys) wird dann in diesem späteren Release ebenfalls spezifikatorisch bearbeitet. Die Ableitungsschlüssel besitzen eindeutige Bezeichner (" SPAN (&94488162089424) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94723" attr data-custom-label "A_17920" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und sind unterscheidbar." text "\n " H3 (&94488162091080) attr id "2.2" attr class "target-element" text "2.2 Akteure und Komponenten" text "\n " P (&94488162091856) attr id "polarion_74" text "Die beteiligten Akteure sind:" text "\n " P (&94488152683360) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_51" text "Tabelle " SPAN (&94488152684192) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "1" text ": beteiligte Akteure im Kontext Schlüsselableitungsfunktionalität" text "\n " TABLE (&94488152685088) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=5" text "\n " TBODY (&94488152685744) text "\n " TR (&94488152686048) text "\n " TH (&94488152686352) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 215px;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152686712) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488152687072) attr style "font-weight: bold;" text "Rolle" text "\n " TH (&94488152687672) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 512px;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152688032) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488152688392) attr style "font-weight: bold;" text "Beschreibung" text "\n " text "\n " TR (&94488152689112) text "\n " TD (&94488152689416) attr style "vertical-align: top;width: 215px;height: 69pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152689776) attr style "font-size: 10pt;line-height: 1.5;" text "der Versicherte (Kontoinhaber)" text "\n " TD (&94488152690376) attr style "vertical-align: top;width: 512px;height: 69pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152690736) attr style "font-size: 10pt;line-height: 1.5;" text "Der Versicherte nutzt das von seiner Krankenkasse für ihn bereitgestellte ePA-Aktensystem. Er ist Kontoinhaber. Er verwendet entweder ein ePA-FdV (s. u.) für den Aktenzugriff oder berechtigt eine LEI (bzw. in einem späteren Release einen LE) via ad-hoc-Autorisierung über ein FM ePA (s. u.). Dabei verwendet er entweder eine eGK- basierte AUT-Identität oder eine alternative Versichertenidentität zur Authentisierung jeweils am Aktensystem, am SGD 1 (s. u.) und am SGD 2 (s. u.)." text "\n " text "\n " TR (&94488152691456) text "\n " TD (&94488152691760) attr style "vertical-align: top;width: 215px;height: 73px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152692120) attr style "font-size: 10pt;line-height: 1.5;" text "ein Vertreter" text "\n " TD (&94488152692720) attr style "vertical-align: top;width: 512px;height: 73px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152693080) attr style "font-size: 10pt;line-height: 1.5;" text "Ein Vertreter ist ein Versicherter (besitzt also eine eGK oder einen alternative Versichertenidentität) und wurde vom Versicherten (Kontoinhaber) berechtigt, für diesen Handlungen in Bezug auf die ePA vorzunehmen (bspw. LEI im Namen des Kontoinhabers zu berechtigen)." text "\n " text "\n " TR (&94488152693800) text "\n " TD (&94488152694104) attr style "vertical-align: top;width: 215px;height: 83pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152694464) attr style "font-size: 10pt;line-height: 1.5;" text "eine Leistungserbringerinstitution (LEI)" text "\n " TD (&94488152695064) attr style "vertical-align: top;width: 512px;height: 83pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152695424) attr style "font-size: 10pt;line-height: 1.5;" text "Eine LEI ist von einem Versicherten berechtigt worden, auf dessen Akte zuzugreifen. Nach Anmeldung am Aktensystem und nach der Prüfung der Autorisierung durch das Aktensystem wird an die LEI ein "doppeltes" Chiffrat übergeben, das den Akten- und Kontextschlüssel der Akte des Versicherten enthält. Durch Zugriff auf die beiden SGD (s. u.) inkl. Authentifizierung der LEI erhält diese jeweils einen AES-256-Schlüssel und kann dann im "Zwiebelschalenprinzip" den Akten- und den Kontextschlüssel entschlüsseln." text "\n " text "\n " TR (&94488152696144) text "\n " TD (&94488152696448) attr style "vertical-align: top;width: 215px;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152696808) attr style "font-size: 10pt;line-height: 1.5;" text "ein Kostenträger (KTR)" text "\n " TD (&94488152697408) attr style "vertical-align: top;width: 512px;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152697768) attr style "font-size: 10pt;line-height: 1.5;" text "Ein Kostenträger wird durch einen Versicherten (Kontoinhaber oder Vertreter) berechtigt, auf ein Aktenkonto zuzugreifen." BR (&94488152698248) text " Nach Anmeldung am Aktensystem und nach der Prüfung der Autorisierung durch das Aktensystem wird an den Client ein "doppeltes" Chiffrat übergeben, das den Akten- und Kontextschlüssel der Akte des Versicherten enthält. Durch Zugriff auf die beiden SGD (s. u.) inkl. Authentifizierung des KTR erhält diese jeweils einen AES-256-Schlüssel und kann dann im "Zwiebelschalenprinzip" den Akten- und den Kontextschlüssel entschlüsseln." text "\n " text "\n " TR (&94488152698792) text "\n " TD (&94488152699096) attr style "vertical-align: top;width: 215px;height: 62px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152699456) attr style "font-size: 10pt;line-height: 1.5;" text "Anbieter ePA-Aktensystem" text "\n " TD (&94488152700056) attr style "vertical-align: top;width: 512px;height: 62px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152700416) attr style "font-size: 10pt;line-height: 1.5;" text "Ein Anbieter ePA-Aktensystem bietet ein ePA-Aktensystem im Auftrag einer Krankenversicherung deren Versicherten (Kontoinhaber) an. Der Anbieter verantwortet den sicheren Betrieb und die Verfügbarkeit des von ihm angebotenen ePA-Aktensystems." text "\n " text "\n " TR (&94488152701136) text "\n " TD (&94488152701440) attr style "vertical-align: top;width: 215px;height: 102pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152701800) attr style "font-size: 10pt;line-height: 1.5;" text "Anbieter Schlüsselgenerierungsdienst ePA (SGD)" text "\n " TD (&94488152702400) attr style "vertical-align: top;width: 512px;height: 102pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152702760) attr style "font-size: 10pt;line-height: 1.5;" text "Ein Anbieter Schlüsselgenerierungsdienst ePA bietet die Nutzung der Schlüsselableitungsfunktionalität an. Für einen Versicherten müssen zwei SGD zur Verfügung stehen: ein SGD, der dem Aktensystem beigestellt ist, und ein SGD außerhalb des Aktensystems. Beide SGD sind technisch, organisatorisch und wirtschaftlich getrennt (Rollenausschluss). Beide SGD sind bis auf die unterschiedlichen jeweils zufällig erzeugten Ableitungsschlüssel technisch identisch, für beide SGD gilt dieselbe Spezifikation." text " Die beteiligten Komponenten und Dienste sind:" text "\n " text "\n " text "\n " text "\n " P (&94488152703840) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_62" text "Tabelle " SPAN (&94488152704672) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "2" text ": beteiligte Komponenten und Dienste im Kontext Schlüsselableitungsfunktionalität" text "\n " TABLE (&94488152705568) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=6" text "\n " TBODY (&94488152706224) text "\n " TR (&94488152706528) text "\n " TH (&94488152706832) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 210px;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152707192) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488152707552) attr style "font-weight: bold;" text "Komponente oder Dienst" text "\n " TH (&94488152708152) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 517px;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152708512) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488152708872) attr style "font-weight: bold;" text "Beschreibung" text "\n " text "\n " TR (&94488152709592) text "\n " TD (&94488152709896) attr style "vertical-align: top;width: 210px;height: 125px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152710256) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-Frontend des Versicherten (ePA-FdV)" text "\n " TD (&94488152710856) attr style "vertical-align: top;width: 517px;height: 125px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152711216) attr style "font-size: 10pt;line-height: 1.5;" text "Das ePA-FdV tritt als Client gegenüber den beiden SGD (s. u.) auf. Von diesen beiden erhält es jeweils einen versichertenindividuellen geheimen Schlüssel (AES-256). Mit diesen beiden Schlüsseln werden nach der initialen zufälligen Erzeugung von Akten- und Kontextschlüssel im Client diese in ein interoperables Austauschformat kodiert und anschließend zwei Mal hintereinander verschlüsselt. Das "doppelte" Chiffrat übergibt das ePA-FdV an das ePA-Aktensystem (Komponente Autorisierung) zur Einlagerung." text "\n " text "\n " TR (&94488152711936) text "\n " TD (&94488152712240) attr style "vertical-align: top;width: 210px;height: 29px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152712600) attr style "font-size: 10pt;line-height: 1.5;" text "Fachmodul ePA (FM ePA) im Konnektor einer LEI oder eines LE" text "\n " TD (&94488152713200) attr style "vertical-align: top;width: 517px;height: 29px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152713560) attr style "font-size: 10pt;line-height: 1.5;" text "Das FM ePA tritt als Client gegenüber den beiden SGD (s. u.) auf." text "\n " text "\n " TR (&94488152714280) text "\n " TD (&94488152714584) attr style "vertical-align: top;width: 210px;height: 26px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152714944) attr style "font-size: 10pt;line-height: 1.5;" text "Fachmodul ePA im KTR-Consumer (FM ePA KTR)" text "\n " TD (&94488152715544) attr style "vertical-align: top;width: 517px;height: 26px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147781304) attr style "font-size: 10pt;line-height: 1.5;" text "Das FM ePA tritt als Client gegenüber den beiden SGD (s. u.) auf." text "\n " text "\n " TR (&94488147782000) text "\n " TD (&94488147782304) attr style "vertical-align: top;width: 210px;height: 10px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147782664) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-Aktensystem" text "\n " TD (&94488147783264) attr style "vertical-align: top;width: 517px;height: 10px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147783624) attr style "font-size: 10pt;line-height: 1.5;" text "Das ePA-Aktensystem stellt dem Versicherten eine ePA zur Verfügung." text "\n " text "\n " TR (&94488147784344) text "\n " TD (&94488147784648) attr style "vertical-align: top;width: 210px;height: 92px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147785008) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-Aktensystem, Zugangsgateway des Versicherten (ZGdV)" text "\n " TD (&94488147785608) attr style "vertical-align: top;width: 517px;height: 92px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147785968) attr style "font-size: 10pt;line-height: 1.5;" text "Das ZGdV nimmt Anfragen von ePA-FdV über seine HTTPS-Schnittstelle an und leitet diese Anfragen für bestimmte Pfadnamen, nämlich /SGD1 und /SGD2, im HTTP-Request jeweils an den SGD 1 oder den SGD 2 weiter. Welchen SGD welcher Anbieter verwendet, wird initial bei der Inbetriebnahme des Aktensystems festgelegt (vgl. Abschnitt " SPAN (&94488147786448) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94498" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " text "\n " TR (&94488147788048) text "\n " TD (&94488147788352) attr style "vertical-align: top;width: 210px;height: 50px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147788712) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-Aktensystem, Komponente Autorisierung" text "\n " TD (&94488147789312) attr style "vertical-align: top;width: 517px;height: 50px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147789672) attr style "font-size: 10pt;line-height: 1.5;" text "Die "Komponente Autorisierung" bewahrt den "doppelt" verschlüsselten Akten- und Kontextschlüssel (AuthorizationKey-Datenstruktur) auf. Sie übergibt diese Datenstruktur nach erfolgreicher Anmeldung eines Client an diesen." text "\n " text "\n " TR (&94488147790392) text "\n " TD (&94488147790696) attr style "vertical-align: top;width: 210px;height: 83pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147791056) attr style "font-size: 10pt;line-height: 1.5;" text "SGD 1" BR (&94488147791536) text " als FAD" text "\n " TD (&94488147791960) attr style "vertical-align: top;width: 517px;height: 83pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147792320) attr style "font-size: 10pt;line-height: 1.5;" text "Dem ePA-Aktensystem beigestellt gibt es einen SGD. Dieser ist unter dem Pfadnamen /SGD1 über das ZGdV für alle Clients ansprechbar. Der SGD generiert auf Nutzeranfrage verschiedene versichertenindividuelle AES-256-Schlüssel." BR (&94488147792800) BR (&94488147792984) text " Durch technische Maßnahmen wird dabei mit hoher Sicherheit ausgeschlossen, dass ein Betreiber eines SGD diese Schlüssel ermitteln kann." text "\n " text "\n " TR (&94488147793528) text "\n " TD (&94488147793832) attr style "vertical-align: top;width: 210px;height: 26px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147794192) attr style "font-size: 10pt;line-height: 1.5;" text "SGD 2" BR (&94488147794672) text " der TIP" text "\n " TD (&94488147795096) attr style "vertical-align: top;width: 517px;height: 26px;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488147795456) attr style "font-size: 10pt;line-height: 1.5;" text "Als Teil der zentralen TI ist dieser SGD unter dem Pfadnamen /SGD2 über das ZGdV für alle Clients ansprechbar. Für beide SGD (1 und 2) gilt dieselbe Spezifikation." text "\n " text "\n " text "\n " text "\n " P (&94488147796416) attr id "polarion_107" text "Die folgende Grafik gibt einen Überblick über die beteiligten Komponenten und Dienste." text "\n " P (&94488147797016) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_63" IMG (&94488147797728) attr style "width: 582px;height: 503px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvkAAAKRCAYAAADOG7ZPAAAgAElEQVR4Aey9DXhV1bnv+1+Iki1+xKoItUi0ScAIEkq1sHJawmn9SFAayz4ROM/ewL63K3pvb7Ok5VTbPAd4Di31YnWl1/vUrN6nkHvuBpu91YiSgO4+hN2ThUeLoNCIWamkpQpSLfGzgMC6zzvmnGvNuT7n+v76z/1krznnGON93/Eb0/LOMd/xDk..." text "\n " P (&94488147798384) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_64" text "Abbildung " SPAN (&94488147799216) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "2" text ": beteiligte Komponenten und Dienste im Kontext der Schlüsselableitungsfunktionalität ePA" text "\n " P (&94488147800112) attr id "polarion_69" text "Ein SGD 1 und ein SGD 2 sind fachlich gesehen baugleich – bis auf die eingesetzten geheimen und privaten Schlüssel (" SPAN (&94488147800592) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S1), (S3), (S4) und (S5)) und ihre Identität (" SPAN (&94488147802128) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94622" attr data-custom-label "A_17848" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) unterscheiden sie sich nicht. Insbesondere benötigt ein SGD keine Informationen aus dem ePA-Aktensystem." text "\n " H3 (&94488147803784) attr id "2.3" attr class "target-element" text "2.3 Basisablauf Kommunikation SGD-Client und SGD" text "\n " P (&94488147804560) attr id "polarion_105" text "Ein Client aus dem Internet (also ein ePA-FdV) erreicht einen SGD über das ZGdV des ePA-Aktensystems (vgl. " SPAN (&94488147805040) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Zugangsgateway_Vers?selection=ML-93876" attr data-custom-label "[gemSpec_Zugangsgateway_Vers#Proxy Schlüsselgenerierungsdienst]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "). Solch ein Client verwendet die auch für die Kommunikation mit dem Aktensystem verwendete HTTPS-Schnittstelle des ZGdV. Das ZGdV leitet HTTP-Requests mit dem Pfadname /SGD1 an die HTTPS-Schnittstelle des SGD 1 weiter (eigenständige TLS-Verbindung zwischen ZGdV und SGD). Analog tut das ZGdV dies für Requests mit dem Pfadnamen /SGD2 in Bezug auf den SGD 2. Auf Applikationsebene gibt es eine Ende-zu-Ende-Verschlüsselung zwischen den Clients und den SGD-HSMs der SGDs (vgl. Abschnitt " A (&94488147806400) attr href "#9" text "9" text " )." text "\n " P (&94488147807120) attr id "polarion_285" text "Ein Client aus der TI (FM ePA etc.) spricht die beiden SGD über deren HTTPS-Schnittstellen (" SPAN (&94488147807600) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94687" attr data-custom-label "A_17889" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") direkt an. Die IP-Adressen erfahren solche Clients über DNS-Service-Discovery. " text "\n " P (&94488147809256) attr id "polarion_39" text "Der grundsätzliche Ablauf einer Anfrage (vgl. Abschnitt " A (&94488147809736) attr href "#2.4" text "2.4" text " ff) ist in Bezug auf das Kommunikationsmuster bezüglich der beiden SGD immer gleich und wird im Folgenden beschrieben. Zur Vereinfachung der Darstellung ist der Ablauf sequenziell dargestellt. Für eine Performanzsteigerung muss ein Client die Anfragen an die beiden SGD parallelisieren (" SPAN (&94488147810336) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94728" attr data-custom-label "A_17925" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), was bis auf Schritt 6 leicht möglich ist. Eine noch detaillierte Erläuterung zu den kryptographischen Grundlagen der Kommunikation befindet sich in Abschnitt "" SPAN (&94488147811872) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94770" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ""." text "\n " P (&94488147813352) attr id "polarion_70" SPAN (&94488147813712) attr style "font-weight: bold;" text "Schritt 1:" text "\n " P (&94488151812648) attr id "polarion_119" text "Der Client verwendet die HTTPS-Schnittstelle des ZGdV, oder falls er aus Netzwerksicht Teil der TI ist (FM ePA etc.) die HTTPS-Schnittstelle eines SGD direkt, um den aktuellen öffentlichen ECIES-Schlüssel des SGD 1 zu erhalten (Pfadname der URL ist "/SGD1") (vgl. Schnittstelle "" SPAN (&94488151813128) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-93990" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " "). Das ZGdV leitet den HTTP-Request (HTTPS) an den SGD 1 weiter." text "\n " P (&94488151814608) attr id "polarion_120" SPAN (&94488151814968) attr style "font-weight: bold;" text "Schritt 2:" text "\n " P (&94488151815568) attr id "polarion_121" text "Der SGD 1 antwortet mit dem aktuellen authentisierten öffentlichen ECIES-Schlüssel des für den Nutzer (AUT-Zertifikat) avisierten SGD-HSM innerhalb des SGD 1 (vgl. " SPAN (&94488151816048) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Dieser Schlüssel ändert sich alle 15 Minuten und ist dann jeweils für 30 Minuten für alle anfragenden Clients verwendbar. Der ECIES-Schlüssel des SGD-HSM ist durch das SGD-HSM signiert (" SPAN (&94488151817584) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S1))." text "\n " P (&94488151819240) attr id "polarion_122" SPAN (&94488151819600) attr style "font-weight: bold;" text "Schritt 3:" text "\n " P (&94488151820200) attr id "polarion_201" text "Der Client prüft das Zertifikat, die Signatur und den ECIES-Schlüssel des SGD-HSM von SGD 1 (" SPAN (&94488151820680) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96280" attr data-custom-label "A_18024" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Er prüft dabei u. a., dass die Antwort von einem SGD-1-SGD-HSM kam." text "\n " P (&94488151822336) attr id "polarion_305" SPAN (&94488151822696) attr style "font-weight: bold;" text "Schritt 4:" text "\n " P (&94488151823296) attr id "polarion_29" text "Der Client erfragt analog zu Schritt 1 den aktuellen authentisierten öffentlichen ECIES-Schlüssel von SGD 2 (Pfadname der URL ist "/SGD2")." text "\n " P (&94488151823896) attr id "polarion_30" SPAN (&94488151824256) attr style "font-weight: bold;" text "Schritt 5:" text "\n " P (&94488151824856) attr id "polarion_31" text "Der SGD 2 antwortet analog zu Schritt 2 mit dem signierten ECIES-Schlüssel des für den Nutzer vorgesehenen SGD-HSM innerhalb von SGD 2 (vgl. " SPAN (&94488151825336) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " P (&94488151826992) attr id "polarion_32" SPAN (&94488151827352) attr style "font-weight: bold;" text "Schritt 6:" text "\n " P (&94488151827952) attr id "polarion_306" text "Der Client prüft das Zertifikat, die Signatur und den ECIES-Schlüssel des SGD-HSM von SGD 2 (" SPAN (&94488151828432) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96280" attr data-custom-label "A_18024" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Er prüft dabei u. a., dass die Antwort von einem SGD-2-SGD-HSM kam." text "\n " P (&94488151830088) attr id "polarion_308" SPAN (&94488151830448) attr style "font-weight: bold;" text "Schritt 7:" text "\n " P (&94488151831048) attr id "polarion_309" text "Der Client berechnet die Hashwert der erhaltenen ECIES-Schlüsselwerte der beiden SGD-HSM aus Schritt 3 und Schritt 6." text "\n " P (&94488151831648) attr id "polarion_310" SPAN (&94488151832008) attr style "font-weight: bold;" text "Schritt 8:" text "\n " P (&94488151832608) attr id "polarion_33" text "Der Client erzeugt ein kurzlebiges ECIES-Schlüsselpaar ( [gemSpec_Krypt#" SPAN (&94488151833088) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94671" attr data-custom-label "A_17874" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]), was der Client später für die Request an SGD 1 und SGD 2 verwenden wird. Der Client führt den öffentlichen Client-ECIES-Schlüssel zusammen mit den Hashwerten aus Schritt 7 in ein Kodierung gemäß " SPAN (&94488151834448) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " auf und signiert diese Kodierung mittels des AUT-Materials der eGK, der SMC-B, der SMC-KTR oder der alternativen Authentisierung." text "\n " P (&94488151836104) attr id "polarion_166" SPAN (&94488151836464) attr style "font-weight: bold;" text "Schritt 9:" text "\n " P (&94488151837064) attr id "polarion_311" text "Der Client verwendet die Operation GetAuthenticationToken bei SGD 1 um ein Authentisierungstoken zu erhalten. Dafür erzeugt der Client einen Zufallswert (Challenge) und sendet diesen verschlüsselt an das für ihn vorgesehene SGD-HSM bei SGD 1." text "\n " P (&94488151837664) attr id "polarion_312" SPAN (&94488151838024) attr style "font-weight: bold;" text "Schritt 10:" text "\n " P (&94488151838624) attr id "polarion_313" text "Die RVE innerhalb von SGD 1 prüft das AUT-Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel. Falls alle Prüfungen ein OK liefern, bereitet die RVE den Request auf (OCSP-Responses, Umkodierung für die Innenschnittstelle zum den SGD-HSM etc.) und übergibt die verschlüsselte Nachricht an das SGD-HSM. Das SGD-HSM prüft ebenfalls das AUT-Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel und erstellt ein Authentisierungstoken. Das SGD-HSM erstellt eine Nachricht, die die Challenge des Client, einen Hashwert (des Client-Schlüssels und des AUT-Zertifikats) und das erzeugte Authentisierungstoken enthält. Diese Nachricht verschlüsselt das SGD-HSM für den Client-ECIES-Schlüssel und übergibt das Chiffrat an die RVE. Diese kodiert die Nachricht um und antwortet dem Client." text "\n " P (&94488151839224) attr id "polarion_315" SPAN (&94488151839584) attr style "font-weight: bold;" text "Schritt 11:" text "\n " P (&94488151840184) attr id "polarion_316" text "Der Client entschlüsselt die Nachricht des SGD-HSM von SGD 1. In der entschlüsselten Nachricht prüft, es ob seine Challenge enthalten ist. Falls ja, kann es davon ausgehen, dass die Antwort wirklich vom SGD-HSM stammt. Es prüft den Hashwert (des Client-Schlüssels und des AUT-Zertifikats) und speichert das Authentisierungstoken für die folgende Verwendung innerhalb der Operation KeyDerivation." text "\n " P (&94488151840784) attr id "polarion_317" SPAN (&94488151841144) attr style "font-weight: bold;" text "Schritt 12:" text "\n " P (&94488151841744) attr id "polarion_318" text "Der Client erzeugt zufällig eine Request-ID. Dann einen Nachricht. Diese enthält das Authentisierungstoken, die Request-ID und die je nach Anwendungsfall (vgl. Abschnitt " A (&94488151842224) attr href "#2.4" text "2.4" text " ff) unterschiedliche Ableitungsregel. Diese Nachricht verschlüsselt der Client für das SGD-HSM und verwendet die Operation KeyDerivation von SGD 1." text "\n " P (&94488151842944) attr id "polarion_319" SPAN (&94488151843304) attr style "font-weight: bold;" text "Schritt 13:" text "\n " P (&94488151843904) attr id "polarion_320" text "Die RVE innerhalb von SGD 1 prüft das AUT-Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel. (Hinweis: die RVE cacht die Prüfergebnisse (" SPAN (&94488151844384) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ").) Falls alle Prüfungen ein OK liefern, bereitet die RVE den Request auf (OCSP-Responses, Umkodierung für die Innenschnittstelle zum den SGD-HSM etc.) und übergibt die verschlüsselte Nachricht an das SGD-HSM. Das SGD-HSM entschlüsselt die Nachricht des Client und überprüft, ob das Authentisierungstoken konsistent mit dem Client-ECIES-Schlüssel und dem AUT-Zertifikat des Client ist. Falls ja überprüft es die Ableitungsregel und führt, falls der Client berechtigt ist, die Schlüsselableitung durch. Das Ergebnis verschlüsselt inkl. Authentisierungstoken, Request-ID und Ableitungsvektor das SGD-HSM für den Client. Das Chiffrat übergibt das SGD-HSM an die RVE, die es nach Umkodierung an den Client als Response weiterleitet." text "\n " P (&94488211382816) attr id "polarion_124" text "Die Schritte 14 bis 20 (siehe folgende Tabelle) sind analog zu den Schritten 9 bis 13, nur findet die Kommunikation zwischen Client und SGD 2 statt." text "\n " P (&94488211383416) attr id "polarion_128" text "\n " P (&94488211383896) attr class "polarion-rte-caption-paragraph" attr id "polarion_71" text "Tabelle " SPAN (&94488211384552) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "3" text ": Tab_Übersicht_der_Kommunikationsschritte_eines_SGD-Clients" text "\n " TABLE (&94488211385448) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=305" text "\n " TBODY (&94488211386104) text "\n " TR (&94488211386408) text "\n " TH (&94488211386712) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211387072) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211387432) attr style "font-weight: bold;" text "Nr." text "\n " TH (&94488211388032) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211388392) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211388752) attr style "font-weight: bold;" text "SDG-Client" text "\n " TH (&94488211389352) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211389712) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211390072) attr style "font-weight: bold;" text "SGD 1" text "\n " TH (&94488211390672) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211391032) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211391392) attr style "font-weight: bold;" text "SGD 2" text "\n " text "\n " TR (&94488211392112) text "\n " TD (&94488211392416) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211392776) attr style "font-size: 10pt;line-height: 1.5;" text "1" text "\n " TD (&94488211393376) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211393736) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetPublicKey bei SGD 1 aufrufen" BR (&94488211394216) text " Eingabe:" BR (&94488211394520) text " AUT-Zertifikat des Nutzers" text "\n " TD (&94488211394944) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211395424) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488211396024) text "\n " TD (&94488211396328) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211396688) attr style "font-size: 10pt;line-height: 1.5;" text "2" text "\n " TD (&94488211397288) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211397768) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211398128) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetPublicKey" BR (&94488211398608) text " Aktion:" BR (&94488211398912) text " Prüfung des AUT-Zertifikats des Nutzers" BR (&94488211399216) text " Ausgabe:" BR (&94488211399520) text " aktueller signierter öffentlicher ECIES-Schlüssel des für den Nutzer avisierten SGD-HSM innerhalb des SGD 1" text "\n " TD (&94488211399944) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488211400544) text "\n " TD (&94488211400848) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211401208) attr style "font-size: 10pt;line-height: 1.5;" text "3" BR (&94488211401688) text "\n " TD (&94488211401992) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211402352) attr style "font-size: 10pt;line-height: 1.5;" text "Prüfung des Zertifikats, der Signatur und des öffentlichen Schlüssels des SGD-HSM von SGD 1" text "\n " TD (&94488211402952) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211403432) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488211404032) text "\n " TD (&94488211404336) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211404696) attr style "font-size: 10pt;line-height: 1.5;" text "4" BR (&94488211405176) text "\n " TD (&94488211405480) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211405840) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetPublicKey bei SGD 2 aufrufen" BR (&94488211406320) text " Eingabe:" BR (&94488211406624) text " AUT-Zertifikat des Nutzers" text "\n " TD (&94488211407048) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211407528) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488211408128) text "\n " TD (&94488211408432) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211408792) attr style "font-size: 10pt;line-height: 1.5;" text "5" text "\n " TD (&94488211409392) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211409872) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488211410352) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211410712) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetPublicKey" BR (&94488211411192) text " Ausgabe:" BR (&94488211411496) text " aktueller signierter öffentlicher ECIES-Schlüssel des für den Nutzer avisierten SGD-HSM innerhalb des SGD 2" text "\n " text "\n " TR (&94488211412040) text "\n " TD (&94488211412344) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211412704) attr style "font-size: 10pt;line-height: 1.5;" text "6" BR (&94488211413184) text "\n " TD (&94488211413488) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211413848) attr style "font-size: 10pt;line-height: 1.5;" text "Prüfung des Zertifikats, der Signatur und des öffentlichen Schlüssels des SGD-HSM von SGD 2" text "\n " TD (&94488211414448) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207763704) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207764304) text "\n " TD (&94488207764608) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207764968) attr style "font-size: 10pt;line-height: 1.5;" text "7" BR (&94488207765448) text "\n " TD (&94488207765752) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207766112) attr style "font-size: 10pt;line-height: 1.5;" text "Berechnung der Hashwerte der öffentlichen ECIES-Schlüssel der beiden SGD-HSMs" text "\n " TD (&94488207766712) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207767192) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207767792) text "\n " TD (&94488207768096) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207768456) attr style "font-size: 10pt;line-height: 1.5;" text "8" BR (&94488207768936) text "\n " TD (&94488207769240) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207769600) attr style "font-size: 10pt;line-height: 1.5;" text "Erzeugung des Client-ECIES-Schlüsselpaars und Signatur des öffentlichen Schlüssel inkl. der Hashwerte aus Schritt 7 mittels eGK, SMC-B, SMC-KTR oder alternativer Authentisierung." text "\n " TD (&94488207770200) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207770680) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207771280) text "\n " TD (&94488207771584) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207771944) attr style "font-size: 10pt;line-height: 1.5;" text "9" BR (&94488207772424) text "\n " TD (&94488207772728) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207773088) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetAuthenticationToken bei SGD 1" BR (&94488207773568) text " Eingabe:" BR (&94488207773872) text " für SGD-HSM verschlüsselte Challenge (Zufallswert)," BR (&94488207774176) text " AUT-Zertifikat, signierte Schlüssel aus Schritt 8" text "\n " TD (&94488207774600) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207775080) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207775680) text "\n " TD (&94488207775984) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207776344) attr style "font-size: 10pt;line-height: 1.5;" text "10" BR (&94488207776824) text "\n " TD (&94488207777128) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207777608) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207777968) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetAuthenticationToken" BR (&94488207778448) text " Aktion:" BR (&94488207778752) text " Prüfung des AUT-Zertifikats," BR (&94488207779056) text " Prüfung des Client-Signatur," BR (&94488207779360) text " Prüfung des Client-ECIES-Schlüssels," BR (&94488207779664) text " Entschlüsselung der Nachricht" BR (&94488207779968) text " Ausgabe:" BR (&94488207780272) text " Für den öffentlichen Client-ECIES-Schlüssel verschlüsselte Response." BR (&94488207780576) text " Innerhalb der Response befinden sich die Challenge des Clients (Zufallswert), das erzeugte Authentisierungstoken und der Hashwert des öffentlichen Client und des AUT-Zertifikats des Client." text "\n " TD (&94488207781000) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207781600) text "\n " TD (&94488207781904) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207782264) attr style "font-size: 10pt;line-height: 1.5;" text "11" BR (&94488207782744) text "\n " TD (&94488207783048) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207783408) attr style "font-size: 10pt;line-height: 1.5;" text "Entschlüsselung der Antwort." BR (&94488207783888) text " Vergleich Challenge (Zufallswert) mit dem Wert aus der Response," BR (&94488207784192) text " Vergleich des Hashwerts mit dem selbst erzeugten Hashwert," BR (&94488207784496) text " Authentisierungstoken für SGD 1 lokal für die folgende Operation KeyDerivation zwischenspeichern" text "\n " TD (&94488207784920) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207785400) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207786000) text "\n " TD (&94488207786304) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207786664) attr style "font-size: 10pt;line-height: 1.5;" text "12" BR (&94488207787144) text "\n " TD (&94488207787448) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207787808) attr style "font-size: 10pt;line-height: 1.5;" text "Operation KeyDerivation bei SGD 1 aufrufen" BR (&94488207788288) text " Eingabe:" BR (&94488207788592) text " für SGD-HSM verschlüsselte Nachricht:" BR (&94488207788896) text " Authentisierungstoken, zufällige Request-ID des Client, Ableitungsregel" text "\n " TD (&94488207789320) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207789800) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207790400) text "\n " TD (&94488207790704) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207791064) attr style "font-size: 10pt;line-height: 1.5;" text "13" BR (&94488207791544) text "\n " TD (&94488207791848) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488207792328) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488207792688) attr style "font-size: 10pt;line-height: 1.5;" text "Operation KeyDerivation" BR (&94488207793168) text " Aktion:" BR (&94488207793472) text " Prüfung Authentisierungstoken" BR (&94488207793776) text " Ergebnis der Schlüsselableitung (vgl. Abschnitt " A (&94488207794080) attr href "#2.4" text "2.4" text " ff) inkl. Prüfung der Berechtigung für die angeforderte Schlüsselableitung berechnen" BR (&94488207794680) text " Ausgabe:" BR (&94488207794984) text " für den öffentlichen Client-ECIES-Schlüssel verschlüsseltes Ergebnis der Schlüsselableitung" text "\n " TD (&94488207795408) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488207796008) text "\n " TD (&94488190729696) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190730056) attr style "font-size: 10pt;line-height: 1.5;" text "14" BR (&94488190730536) text "\n " TD (&94488190730840) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190731200) attr style "font-size: 10pt;line-height: 1.5;" text "Entschlüsselung der Antwort." BR (&94488190731680) text " Vergleich des Authentisierungstokens und der Request-ID in der Antwort mit den Werten aus dem Request," BR (&94488190731984) text " Auslesen des abgeleiteten AES-256-Schlüsselwerts der vom SGD-HSM für den Client abgeleitet wurde, ggf. Auslesen des Ableitungsvektors" text "\n " TD (&94488190732408) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190732888) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488190733488) text "\n " TD (&94488190733792) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190734152) attr style "font-size: 10pt;line-height: 1.5;" text "15" BR (&94488190734632) text "\n " TD (&94488190734936) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190735296) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetAuthenticationToken bei SGD 2 aufrufen, analog zu Schritt 9" text "\n " TD (&94488190735896) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190736376) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488190736976) text "\n " TD (&94488190737280) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190737640) attr style "font-size: 10pt;line-height: 1.5;" text "16" BR (&94488190738120) text "\n " TD (&94488190738424) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190738904) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190739384) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190739744) attr style "font-size: 10pt;line-height: 1.5;" text "Operation GetAuthenticationToken" BR (&94488190740224) text " analog zu Schritt 10 bei SGD 1" text "\n " text "\n " TR (&94488190740768) text "\n " TD (&94488190741072) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190741432) attr style "font-size: 10pt;line-height: 1.5;" text "17" BR (&94488190741912) text "\n " TD (&94488190742216) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190742576) attr style "font-size: 10pt;line-height: 1.5;" text "Entschlüsselung der Antwort." BR (&94488190743056) text " Prüfungen analog zu Schritt 11" text "\n " TD (&94488190743480) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190743960) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488190744560) text "\n " TD (&94488190744864) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190745224) attr style "font-size: 10pt;line-height: 1.5;" text "18" BR (&94488190745704) text "\n " TD (&94488190746008) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190746368) attr style "font-size: 10pt;line-height: 1.5;" text "Operation KeyDerivation bei SGD 2 aufrufen" text "\n " TD (&94488190746968) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190747448) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488190748048) text "\n " TD (&94488190748352) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190748712) attr style "font-size: 10pt;line-height: 1.5;" text "19" BR (&94488190749192) text "\n " TD (&94488190749496) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190749976) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190750456) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190750816) attr style "font-size: 10pt;line-height: 1.5;" text "Operation KeyDerivation" BR (&94488190751296) text " analog zu Schritt 13 bei SGD 1" text "\n " text "\n " TR (&94488190751840) text "\n " TD (&94488190752144) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190752504) attr style "font-size: 10pt;line-height: 1.5;" text "20" BR (&94488190752984) text "\n " TD (&94488190753288) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488190753648) attr style "font-size: 10pt;line-height: 1.5;" text "Entschlüsselung der Antwort." BR (&94488190754128) text " Prüfungen analog zu Schritt 14" text "\n " TD (&94488190754552) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488190755032) attr style "vertical-align: top;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " text "\n " text "\n " P (&94488190755872) attr id "polarion_322" text "Der Client verwendet die erhaltenen beiden AES-256-Schlüssel je nach Anwendungsfall entweder für die Ver- oder die Entschlüsselung des Akten- und des Kontextschlüssels unter Verwendung des interoperablen Austauschformats nach Abschnitt " SPAN (&94488190756352) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94583" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " . Dabei befinden sich die verwendeten Ableitungsvektoren innerhalb der "associated data" (AD), so dass später die ausgeführte Aktion durch einen autorisierten Client reproduzierbar ist." text "\n " H3 (&94488190757832) attr id "2.4" attr class "target-element" text "2.4 Initiale Schlüsselableitung für den Kontoinhaber" text "\n " P (&94488190758608) attr id "polarion_158" text "Ein Versicherter (Kontoinhaber) eröffnet ein Konto und der verwendete Client (entweder das ePA-FdV oder das FM ePA) erzeugt den Akten- und Kontextschlüssel. Anschließend durchläuft der Client die Schritte 1 bis 20 aus Abschnitt " SPAN (&94488190759088) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94491" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " . Als Nachricht (verschlüsselte "EncryptedMessage" in  " SPAN (&94488190760448) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898, Tab_KeyDerivation-Request" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) an die beiden SGD sendet der Client dabei jeweils eine Nachricht der Form" text "\n " P (&94488190762104) attr style "margin-left: 40px;" attr id "polarion_139" SPAN (&94488201638112) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r1:" text "\n " P (&94488201638712) attr id "polarion_187" text "und erhält jeweils eine Antwort der Form" text "\n " P (&94488201639312) attr style "margin-left: 40px;" attr id "polarion_140" SPAN (&94488201639848) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r1:<256-Bit-RND-in-Hexform>::" text "\n " P (&94488201640448) attr id "polarion_154" text "Die beiden nun erhaltenen AES-256-Schlüssel verwendet der Client zur zweifachen Verschlüsselung des von ihm erzeugten Akten- und Kontextschlüssel im "Zwiebelschalenprinzip" unter Verwendung des interoperablen Austauschformats nach Abschnitt " SPAN (&94488201640928) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94583" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " . Dabei verwendet der Client jeweils die beiden von den SGD erhaltenen Teilzeichenketten der Form " SPAN (&94488201642288) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1:<256-Bit-RND-in-Hexform>::"" text " als "associated data" (AD) bei der Kodierung. Dieses entsprechend erzeugte und kodierte Chiffrat schickt der Client an die "Komponente Autorisierung" zur Einlagerung im Aktensystem." text "\n " P (&94488201643008) attr id "polarion_179" text "Bei einer Umschlüsselung des Akten- und Kontextschlüssels bei einem späteren ePA-Release (vgl. Ende von Abschnitt " SPAN (&94488201643488) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94489" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) wird aufgrund des Einflusses der  jeweils vom SGD gewählten RND-Daten ein anderer Schlüssel generiert. Damit ist ein SGD nach aktueller Spezifikation schon jetzt auf diese Umschlüsselungsfunktionalität in Bezug auf die Client-Schnittstelle vorbereitet." text "\n " P (&94488201644968) attr id "polarion_243" text "Hinweis: in den folgenden Sequenzdiagrammen wird auf die Aufführung des Authentisierungstokens und der Request-ID in der Nachricht (Message) an die SGD verzichtet." text "\n " P (&94488201645568) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_244" IMG (&94488201646280) attr style "width: 582px;height: 628px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjAAAAJHCAIAAAABtPtBAAAgAElEQVR4nOzdeZwT9f0/8Pf4FRaUW63V2iowWTVEqz0QEw9EQZMtsD2MWm3XKs3UM/FYrXaroKtU1yOpeCSidatWTT0iuBkFi3hsoNqfbTWsdTOwUg9qLadYRX10fn/MkTmT7G52Mzv7ej54aHaOz7znk8m85zNJ3mFEUSQAAICaQ0ICAAAn2F36H9..." attr data-keep-next "true" text "\n " P (&94488201647112) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_80" text "Abbildung " SPAN (&94488201647944) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "3" text ": Initiale Schlüsselableitung für den Kontoinhaber" text "\n " H3 (&94488201648840) attr id "2.5" attr class "target-element" text "2.5 Schlüsselableitung durch den Kontoinhaber" text "\n " P (&94488201649616) attr id "polarion_210" text "Der Versicherte (Kontoinhaber) meldet sich beim Aktensystem an und erhält nach erfolgreicher Authentifizierung und Autorisierung die "AuthorizationKey"-Datenstruktur vom Aktensystem. Darin befindet sich das zweifach verschlüsselte Chiffrat aus Abschnitt " A (&94488201650096) attr href "#2.4" text "2.4" text ". Dort kann der Client aus den AD, durch Leerzeichen getrennt, jeweils den Ableitungsvektor für den SGD 1 und für den SGD 2 auslesen. Diese haben jeweils folgende Form:" text "\n " P (&94488201650816) attr style "margin-left: 40px;" attr id "polarion_199" SPAN (&94488201651352) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "r1:<256-Bit-RND-in-Hexform>::" text "\n " P (&94488201651952) attr id "polarion_268" text "Der Client sendet eine Nachricht der Form" text "\n " P (&94488201652552) attr style "margin-left: 40px;" attr id "polarion_155" SPAN (&94488201653088) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r1:<256-Bit-RND-in-Hexform>::" text "\n " P (&94488201653688) attr id "polarion_156" text "einmal an den SGD 1 und einmal an den SGD 2, jeweils mit den SGD-spezifischen Ableitungsvektoren. Nach " SPAN (&94488201654168) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94728" attr data-custom-label "A_17925" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " müssen die Abfragen zur Generierung der beiden Schlüssel durch den Client parallelisiert werden. Das SGD-HSM prüft die Authentizität der Nachricht und verwendet u. a.  die KVNR des Versicherten bei der Schlüsselableitung (versichertenindividuelle Schlüsselableitung). Der Client erhält die beiden gleichen AES-256-Schlüssel, die er wie zuvor in Abschnitt " A (&94488201655704) attr href "#2.4" text "2.4" text " erhalten hat. Die Antwort der SGD ist dabei analog zu Abschnitt " A (&94488201656304) attr href "#2.4" text "2.4" text " der folgenden" text "\n " P (&94488201657024) attr style "margin-left: 40px;" attr id "polarion_40" SPAN (&94488201657560) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r1:<256-Bit-RND-in-Hexform>::" text "\n " P (&94488201658160) attr id "polarion_136" text "Nachdem beide Schlüssel (je einer aus SGD 1 und aus SGD 2) vorliegen, entschlüsselt der Client " SPAN (&94488201658640) attr style "font-size: 10pt;line-height: 1.5;" text "(vgl. " SPAN (&94488201659120) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94669" attr data-custom-label "[gemSpec_Krypt#A_17872]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" SPAN (&94488201660360) attr style "font-size: 10pt;line-height: 1.5;" text " )" text " das zweifach verschlüsselte Chiffrat im "Zwiebelschalenprinzip" mittels AES-GCM. Dabei prüft es die Authentizität der Chiffrats und der AD (Authenticated Encryption with Associated Data (AEAD)) bzw. damit auch die Authentizität des erhaltenen Klartextes. " text "\n " P (&94488201661080) attr id "polarion_180" text "Im Nicht-Fehlerfall liegen danach der Akten- und Kontext-Schlüssel in der Kodierung nach " SPAN (&94488201661560) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94737" attr data-custom-label "A_17930" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " vor." text "\n " P (&94488201663216) attr id "polarion_220" text "Dieses Vorgehen funktioniert unabhängig davon, ob der Versicherte seine eGK (oder alternative Versichertenidentität) wie bei der Aktenkontoeröffnung oder eine Folgekarte (oder "Folge"-Identität) verwendet." text "\n " P (&94488201663816) attr id "polarion_234" text "\n " P (&94488201664296) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_235" IMG (&94488201665008) attr style "width: 582px;height: 453px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAAGlCAIAAAA+sbgLAAAgAElEQVR4nO3de5wT1fk/8Of4FRFdYBe0CloBmWx1jbZqq5h4wQtosgXXqrFadK3QTFU0sbJY7SpQ1+uiJvWaqOh6N94CuBlFpXjZiLZf/VbDajcDC16Kl8ICQnXRX+f3x1wySSbZ7O7sJpn9vF+WZudy5jlnJvPMmUlOmCRJBAAAYAokFQAAMMuu8v..." attr data-keep-next "true" text "\n " P (&94488201665840) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_87" text "Abbildung " SPAN (&94488201666672) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "4" text ": Schlüsselableitung durch den Kontoinhaber" text "\n " H3 (&94488201667568) attr id "2.6" attr class "target-element" text "2.6 Schlüsselableitung für einen Berechtigungsempfänger" text "\n " P (&94488201668344) attr id "polarion_37" text "Für das Berechtigen eines Vertreters, einer LEI oder eines KTR durch den Kontoinhaber muss der Client des Kontoinhabers den Akten- und Kontextschlüssel für einen Berechtigungsempfänger verschlüsselten im Aktensystem hinterlegen. Hierfür liegen der Akten- und Kontextschlüssel temporär im Client des Kontoinhabers im Klartext vor. Der Client fragt jeweils SGD 1 und SDG 2 für eine für diesen Anwendungsfall spezifische Schlüsselableitung (r2) an." text "\n " P (&94488201668944) attr id "polarion_115" text "Der Client sendet jeweils eine Nachricht der Form" text "\n " P (&94488201669544) attr style "margin-left: 40px;" attr id "polarion_213" SPAN (&94488201670080) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r2:" text "\n " P (&94488236249344) attr id "polarion_214" text "an beide SGD und erhält jeweils eine Antwort der Form" text "\n " P (&94488236249944) attr style "margin-left: 40px;" attr id "polarion_219" SPAN (&94488236250480) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r2:<256-Bit-RND-in-Hexform>:::" text "\n " P (&94488236251080) attr id "polarion_222" text "Mit beiden erhaltenen Schlüsseln verschlüsselt der Client den Akten- und Kontextschlüssel und kodiert nach " SPAN (&94488236251560) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94737" attr data-custom-label "A_17930" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " das zweifach verschlüsselte Chiffrat. Dabei werden die Ableitungsinformationen ebenfalls authentitäts- und integritätsgeschützt (AEAD). Die vom Client erzeugte Datenstruktur wird im Aktensystem für den Berechtigungsempfänger hinterlegt." text "\n " P (&94488236253216) attr id "polarion_246" text "\n " P (&94488236253696) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_247" IMG (&94488236254408) attr style "width: 582px;height: 642px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjoAAAJ1CAIAAABfJM0uAAAgAElEQVR4nOy9e5wT1fn4/4wfYUG5LKC2YCsCk1Vj9OOtiokKIlCTFdh+q9G2tmuVZj4qmlRdrXarYtfrok0qXhLxslVbjVojdDMIikLdQG0/ttWw1s3AStUP9bos4mXVn/P7Y25nrplkc9lMnvfL0tmZc57znOecnGfOOTPPUDzPA4IgCIKMcNBdIQ..." attr data-keep-next "true" text "\n " P (&94488236255240) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_90" text "Abbildung " SPAN (&94488236256072) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "5" text ": Schlüsselableitung für einen Berechtigungsempfänger" text "\n " H3 (&94488236256968) attr id "2.7" attr class "target-element" text "2.7 Schlüsselableitung durch einen Berechtigten" text "\n " P (&94488236257744) attr id "polarion_228" text "Ein Vertreter, eine LEI bzw. ein KTR meldet sich am Aktensystem an und erhält die AuthorizationKeys-Datenstruktur. Dort befindet sich das zuvor vom Versicherten hinterlegte zweifach verschlüsselte Chiffrat mit dem verschlüsselten Akten- und Kontextschlüssel. In den AD sind die Ableitungsinformationen enthaltenen, die ein Client für die Anfragen an die beiden SGD benötigt. Der Client sendet jeweils an die SGD eine Nachricht der folgenden Form" text "\n " P (&94488236258344) attr style "margin-left: 40px;" attr id "polarion_229" SPAN (&94488236258880) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r2:<256-Bit-RND-in-Hexform>:::" text "\n " P (&94488236259480) attr id "polarion_230" text "und erhält jeweils eine Antwort der Form" text "\n " P (&94488236260080) attr style "margin-left: 40px;" attr id "polarion_231" SPAN (&94488236260616) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r2:<256-Bit-RND-in-Hexform>:::" text "\n " P (&94488236261216) attr id "polarion_232" text "Das SGD-HSM prüft, ob im vierten Feld der Ableitungsinformationen "" SPAN (&94488236261696) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" text "" zu den authentischen Angaben passt, die im Zertifikat der Anfrage stehen (plus Signaturprüfung, Sperrstatus u. v. m.). Bei erfolgreicher Prüfung führt das SGD-HSM die Ableitung durch und übergibt dem Client die generierten Schlüssel über den verschlüsselten und beidseitig authentisierten Datenkanal zwischen Client und SGD-HSM." text "\n " P (&94488236262416) attr id "polarion_233" text "Der Client kann nun das zweifach verschlüsselte Chiffrat entschlüsseln und ihm stehen der Akten- und der Kontextschlüssel zur Verfügung." text "\n " P (&94488236263016) attr id "polarion_249" text "\n " P (&94488236263496) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_250" IMG (&94488236264208) attr style "width: 582px;height: 574px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAAISCAIAAAAIloFbAAAgAElEQVR4nOyde5wT1dn4n2OFBVz2AmiFUhCYbDVGXy+tQoICCmiyBeNbjbZV1wrNvCqaeFmsuirqel20Sb0mgnW9VI2XBuhmEBAB3UBtq60NS90MLIgWb7CAKK76c35/zCUzmUk2uztJJpPn+6E2O+ec5zznmZPzzHMm8wzhOA4QBEEQRBfQqSAIgi..." attr data-keep-next "true" text "\n " P (&94488236265040) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_91" text "Abbildung " SPAN (&94488236265872) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "6" text ": Schlüsselableitung durch einen Berechtigten" text "\n " H3 (&94488236266768) attr id "2.8" attr class "target-element" text "2.8 Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter" text "\n " P (&94488236267544) attr id "polarion_223" text "Der Vertreter ist am Aktensystem angemeldet und möchte im Rahmen seiner Vertretungstätigkeit im Aktensystem eine LEI oder einen KTR berechtigen. Dafür muss der Client des Vertreters den Akten- und den Kontextschlüssel der Akte des Kontoinhabers für den Berechtigungsempfänger verschlüsselt hinterlegen." text "\n " P (&94488236268144) attr id "polarion_236" text "Der Client sendet jeweils die Nachricht" text "\n " P (&94488236268744) attr style "margin-left: 40px;" attr id "polarion_224" SPAN (&94488236269280) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r3::" text "\n " P (&94488236269880) attr id "polarion_225" text "und erhält jeweils eine Antwort der Form" text "\n " P (&94488236270480) attr style "margin-left: 40px;" attr id "polarion_226" SPAN (&94488236271016) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r3:<256-Bit-RND-in-Hexform>::::" text "\n " P (&94488236271616) attr id "polarion_227" text "Mit den beiden von den SGD erhaltenen Schlüsseln verschlüsselt der Client den Akten- und Kontextschlüssel und bildet eine Datenstruktur gemäß " SPAN (&94488236272096) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94737" attr data-custom-label "A_17930" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ". Diese wird für den Berechtigungsempfänger im Aktensystem hinterlegt." text "\n " P (&94488236273752) attr id "polarion_252" text "\n " P (&94488236274232) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_253" IMG (&94488236274944) attr style "width: 582px;height: 668px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkoAAAKgCAIAAADrnsUqAAAgAElEQVR4nOy9e5wT1fn4/4wfYUG5LHhpQVsEJqvGaL3VQoICCtRkC2y/1ai9rRea+ahoUnW12q3XtVYXbVLxkojWrVo11Rqhm0FQFOoGPtaPbTXEuhlYqfqhXnBZxMuqP+f3x9zOXDPJZjfJ5Hm/LM3OnPOc5zznzDzznJl5huJ5HhAEQRDEYaB7Qx..." attr data-keep-next "true" text "\n " P (&94488236275776) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_92" text "Abbildung " SPAN (&94488236276608) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "7" text ": Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter" text "\n " H3 (&94488236277504) attr id "2.9" attr class "target-element" text "2.9 Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten" text "\n " P (&94488236278280) attr id "polarion_157" text "Analog zu Abschnitt " A (&94488236278760) attr href "#2.7" text "2.7" text " verwendet der Client der LEI die AuthorizationKeys-Datenstruktur und die darin befindlichen AD. Der Client verwendet die Ableitungsvektoren aus den AD (diese werden mit "r3:" beginnen). Mit diesen beiden Ableitungsvektoren fragt der Client parallel jeweils SGD  1 und SGD 2 an, jeweils mit einer Nachricht der Form" text "\n " P (&94488236279480) attr style "margin-left: 40px;" attr id "polarion_2" SPAN (&94488236280016) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r3:<256-Bit-RND-in-Hexform>::::" text "\n " P (&94488236280616) attr id "polarion_76" text "und erhält jeweils eine Antwort der Form" text "\n " P (&94488236281216) attr style "margin-left: 40px;" attr id "polarion_111" SPAN (&94488236281752) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r3:<256-Bit-RND-in-Hexform>::::" text "\n " P (&94488156116960) attr id "polarion_237" text "Dabei prüft das SGD-HSM innerhalb eines SGD zuvor, ob das Datenfeld " SPAN (&94488156117440) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " in den Ableitungsinformationen zu den authentischen Angaben passt, die im Zertifikat der Anfrage stehen (plus Signaturprüfung, Sperrstatus u. v. m.). Bei erfolgreicher Prüfung führt das SGD-HSM die Ableitung durch und übergibt dem Client die generierten Schlüssel über den verschlüsselten und beidseitig authentisierten Datenkanal." text "\n " P (&94488156118160) attr id "polarion_241" text "Der Client kann nun das zweifach verschlüsselte Chiffrat entschlüsseln und ihm stehen der Akten- und der Kontextschlüssel zur Verfügung." text "\n " P (&94488156118760) attr id "polarion_255" text "\n " P (&94488156119240) attr data-keep-next "true" attr style "text-align: center;" attr id "polarion_256" IMG (&94488156119952) attr style "width: 582px;height: 552px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAigAAAIMCAIAAABQUsDyAAAgAElEQVR4nOydeZwTRfbAX/mTGcBhDsADluXszEqI/rxWIUEBOTSZBeKuRtdrXGG7fyqaeAyuOgroeA5q4p0IruOxajw2wk4aARHQCazrquuGYZ00jHixHjAwojjqx/790Ue6051MksnkfN/PiJ2uqlevXlfqdVV3XhGe5wFBEARBsgY6HgRBECSbHC..." attr data-keep-next "true" text "\n " P (&94488156120784) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_96" text "Abbildung " SPAN (&94488156121616) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "8" text ": Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten" text "\n " P (&94488156122512) attr class "polarion-rte-caption-paragraph" attr id "polarion_110" text "\n " H3 (&94488156123168) attr id "2.10" attr class "target-element" text "2.10 Nichtspeicherung von Versichertendaten" text "\n " P (&94488156123944) attr id "polarion_159" text "Ein SGD speichert keine versichertenspezifischen Daten. Die Berechnung der versichertenindividuellen Schlüssel ist eine kryptographische Berechnung (Schlüsselableitung) auf Grundlage des jeweiligen SGD-spezifischen Ableitungsschlüssels und vom Client authentisiert übergebener Ableitungsvektoren. Ein solcher versichertenindividueller Schlüssel wird nur nach erfolgreicher Authentifizierung eines anfragenden Versicherten berechnet und nach der verschlüsselten Übertragung an den Versicherten sofort wieder im SGD-HSM gelöscht. Für den Aufbau des beidseitig authentisierten verschlüsselten Datenkanals zwischen SGD-HSM und Client wird das AUT-Zertifikat des Nutzes (bspw. des Versicherten) kurzzeitig benötigt. Dieses Zertifikat wird vom SGD nicht persistent gespeichert (" SPAN (&94488156124424) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94843" attr data-custom-label "A_17965" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " H3 (&94488156126080) attr id "2.11" attr class "target-element" text "2.11 Besondere Rolle SGD-HSM" text "\n " P (&94488156126856) attr id "polarion_185" text "Das SGD-HSM mit seinem speziellen HSM-Firmware-Modul und den begleitenden technischen und organisatorischen Prozessen ermöglicht es mit hoher Sicherheit, eine durch den Betreiber bestimmte Schlüsselableitung innerhalb des SGD auszuschließen. Das SGD-HSM entscheidet, ob eine ausreichende Authentifizierung stattgefunden hat und führt erst danach die Schlüsselableitung durch. Anschließend überträgt es die abgeleiteten spezifischen Schlüssel über einen beidseitig authentisierten und verschlüsselten Datenkanal (Ende-zu-Ende-Sicherheit) zum Client." text "\n " P (&94488156127456) attr id "polarion_186" text "Damit dies möglich wird, muss man auf die Einschränkungen der Embedded-Umgebung, in dem das SGD-HSM-Firmware arbeitet, eingehen:" text "\n " OL (&94488156128056) attr id "polarion_189" text "\n " LI (&94488156128536) text "Die Performanzvorgaben verbieten ähnlich wie in einer Chipkarte die Verwendung eines Ende-zu-Ende geführten TLS-Kanals. Bei Chipkarten verwendet man anstatt eines TLS-Kanals ein Secure-Messaging (Anwendung VSDM).  Die Ende-zu-Ende-verschlüsselte Datenverbindung zwischen Client und SGD-HSM verwendet das ECIES-Verfahren (vgl. Abschnitt " SPAN (&94488156128840) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94770" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") für das es einen kryptographischen Sicherheitsbeweis gibt." BR (&94488156130200) text " Zusammen mit den alle 15 Minuten wechselnden ECIES-Verbindungsschlüsseln eines SGD-HSM ermöglicht dieses Vorgehen die in Bezug auf die Clients zustandslose Abarbeitung von Requests innerhalb des SGD-HSMs." text "\n " LI (&94488156130624) text "Ähnlich wie die Zertifikatsprüfung in einer Chipkarte kann die Zertifikatsprüfung im SGD-HSM nicht auf der relativ komplexen TSL-Auswertung basieren. Anstatt der TSL-Auswertung wird u. a. die Rückführbarkeit zur X.509-Root der TI und weiteren im SGD-HSM sicher gespeicherten CA-Zertifikaten der TI bei der Zertifikatsprüfung verwendet (vgl. Abschnitt " SPAN (&94488156130928) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94534" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " text "\n " H2 (&94488156132528) attr id "3" attr class "target-element" text "3 Übergreifende Festlegungen" text "\n " H3 (&94488156133304) attr id "3.1" attr class "target-element" text "3.1 Beziehung zwischen ePA-Aktensystem und SGD" text "\n " P (&94488156134080) attr id "polarion_67" text "Für einen Versicherten müssen zwei unabhängige SGD-Instanzen zur parallelen Nutzung für die zweifache Schlüsselgenerierung zur Verfügung stehen. Beide SGD müssen dabei technisch, organisatorisch und wirtschaftlich unabhängig sein. Um dies sicherzustellen, gibt es einen SGD, den alle Aktensysteme als SGD 2 verwenden (" SPAN (&94488156134560) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94679" attr data-custom-label "A_17881" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). " text "\n " DIV (&94488156136216) attr id "A_17881" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156137048) B (&94488156137232) text "A_17881 - Anbieter SGD - Rollenausschluss für Anbieter des SGD der zentralen TI-Plattform" text "\n " P (&94488156137656) text "Der Anbieter des Schlüsselgenerierungsdienstes der zentralen TI-Plattform MUSS unabhängig von Anbietern von ePA-Aktensystemen sein, d. h. es sind mindestens jeweils eigenständige Rechtspersönlichkeiten mit eigenständigen operativen Geschäfts- und Betriebsführungen und es ist eine strikte Vermeidung von Personenidentitäten bzw. Doppelrollen in den Funktionen Geschäftsführung, leitende Mitarbeiter und Zugangsberechtigte zum Betriebsort des Schlüsselgenerierungsdienstes bzw. ePA-Aktensystems gewährleistet. " B (&94488156137960) text "[<=]" text "\n " text "\n " DIV (&94488156138504) attr id "A_17883" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156139336) B (&94488156139520) text "A_17883 - Weiterführung der Schlüsselableitungsfunktionalität bei SGD-Instanzwechsel" text "\n " P (&94488156139944) text "Ein Anbieter eines ePA-Aktensystems und ein Anbieter eines SGD ePA MÜSSEN beim Wechsel ihrer jeweiligen SGD-Instanz die Weiterführung der Schlüsselableitungsfunktionalität ePA sicherstellen. " B (&94488156140248) text "[<=]" text "\n " text "\n " DIV (&94488156140792) attr id "A_17884" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156141624) B (&94488156141808) text "A_17884 - Migrationskonzept bei SGD-Instanzwechsel" text "\n " P (&94488156142232) text "Ein Anbieter eines ePA-Aktensystems und Anbieter eines SGD ePA MÜSSEN ein Migrationskonzept erstellen und pflegen, worin festgelegt wird, wie beim Wechsel ihrer SGD-Instanz die für deren Kunden verwendeten Ableitungsschlüssel sicher an die SGD-Folgeinstanz übergeben werden. " B (&94488156142536) text "[<=]" text "\n " text "\n " DIV (&94488156143080) attr id "A_17885" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156143912) B (&94488156144096) text "A_17885 - ePA-Aktensystem-spezifische Ableitungsschlüssel eines SGD-Instanz" text "\n " P (&94488156144520) text "Ein Anbieter eines ePA-Aktensystems MUSS sicherstellen, dass die von ihm verwendete SGD-Instanz (d. h. technisch formuliert "SGD 1") ePA-Aktensystemanbieter-spezifische Ableitungsschlüssel (Schlüsselableitungsfunktionalität ePA) verwendet. " B (&94488156144824) text "[<=]" text "\n " text "\n " DIV (&94488156145368) attr id "A_17886" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156146200) B (&94488156146384) text "A_17886 - Migration SGD-Instanz" text "\n " P (&94488156146808) text "Ein Anbieter eines ePA-Aktensystems MUSS beim Wechsel der SGD-Instanz (vgl. " SPAN (&94488156147112) attr data-option-id "custom" attr data-item-id "ML-94682" attr data-custom-label "A_17884" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " alle Ableitungsschlüssel sicher an die SGD-Folgeinstanz übergeben und anschließend sicher in der alten SGD-Instanz löschen. " B (&94488156148472) text "[<=]" text "\n " text "\n " H3 (&94488156149016) attr id "3.2" attr class "target-element" text "3.2 Verfügbarkeit und Performanz" text "\n " P (&94488156321280) attr id "polarion_42" text "Verfügbarkeits- und Performanzanforderungen für einen SGD befinden sich in " SPAN (&94488156321760) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Perf?selection=ML-94477" attr data-custom-label "[gemSpec_Perf#Produkttyp Schlüsselgenerierungsdienst]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " und sind dem Produkttypsteckbrief SGD zugewiesen." text "\n " H3 (&94488156323240) attr id "3.3" attr class "target-element" text "3.3 Sichere Betreiberumgebung" text "\n " P (&94488156324016) attr id "polarion_94" text "Ähnlich wie einem TSP werden an den Betreiber eines SGD ePA Anforderungen u. a. an die sichere Betreiberumgebung aus [gemSpec_DS_Anbieter] gestellt (vgl. Zuordnung im Produkttypsteckbrief). Die zugeordneten Module sind "Basis-IS", "Basis-ISMS", "Erweitertes ISMS", "TI-Sicherheitsbericht" und "„Erweiterter TI-Sicherheitsbericht“." text "\n " H3 (&94488156324616) attr id "3.4" attr class "target-element" text "3.4 Verschiedenes" text "\n " DIV (&94488156325392) attr id "A_17880" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156326224) B (&94488156326408) text "A_17880 - Zeitsynchronität mit der TI" text "\n " P (&94488156326832) text "Ein SGD ePA MUSS mit den Stratum-1-NTP-Servern der TI synchronisieren. " B (&94488156327136) text "[<=]" text "\n " text "\n " H2 (&94488156327680) attr id "4" attr class "target-element" text "4 Bestandteile eines SGD" text "\n " P (&94488156328456) attr id "polarion_44" text "Ein SGD besteht aus" text "\n " OL (&94488156329056) attr id "polarion_72" text "\n " LI (&94488156329536) text "einer HTTPS-Schnittstelle (vgl. " SPAN (&94488156329840) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94687" attr data-custom-label "A_17887" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) innerhalb der TI," text "\n " LI (&94488156331496) text "einer Request verarbeitenden Einheit ( " SPAN (&94488156331800) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94519" attr data-custom-label "RVE" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") für die eingehenden HTTP-Requests, und" text "\n " LI (&94488156333456) text "einem (oder mehreren) HSM (SGD-HSM genannt), das den wesentlichen Teil der Sicherheitsleistung des SGD erbringt." text "\n " text "\n " P (&94488156334000) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_118" IMG (&94488156334712) attr style "width: 400px;height: 317px;" attr src "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiQAAAGzCAYAAAAfeAwWAAAgAElEQVR4Ae3dDWwe9Z3g8V+6tGVLdzElF+LLhRjW7ma7dYKF4CA+Nli3PkiqC2mi2xJXe4mRGoIUHWA1AoR10DsjiHLnJKtIJFkpdrSqQ1dySCM1L+fTGS9r2oKQSdxts7WXGqLIIZcKd3fbor2qPv1mnnmemXlmnmee55l5nnn5Wor8PPPyf/n8HT..." text "\n " P (&94488156335368) attr class "polarion-rte-caption-paragraph" attr style "text-align: center;" attr id "polarion_123" text "Abbildung " SPAN (&94488156336200) attr class "polarion-rte-caption" attr data-sequence "Abbildung" text "9" text ": Strukturelemente eines SGD" text "\n " P (&94488156337096) attr id "polarion_97" text "\n " H3 (&94488156337576) attr id "4.1" attr class "target-element" text "4.1 Request-Verarbeitung in einem SGD" text "\n " P (&94488156338352) attr id "polarion_112" text "Eingehende Requests eines Clients werden von der Request verarbeitenden Einheit (RVE) an der HTTPS-Außenschnittstelle (vgl. " SPAN (&94488156338832) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94687" attr data-custom-label "A_17889" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) entgegengenommen. Dort werden sie entweder direkt beantwortet (Operation GetPublicKey, " SPAN (&94488156340368) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") oder aufbereitet und danach an das SGD-HSM gesendet. Abhängig von der Antwort des SGD-HSM erzeugt die RVE eine Antwort für den Client (" SPAN (&94488156341904) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) und sendet diese an ihn. Die RVE hat keinen Einblick in den beidseitig authentisierten und verschlüsselten Datenkanal zwischen Client und SGD-HSM (vgl. Abschnitt " A (&94488156343440) attr href "#9" text "9" text "). Die RVE stellt nur in Bezug auf die Verfügbarkeit (DoS-Gegenmaßnahmen, Einholen von signierten OCSP-Responses, Umkodieren von Requests etc.) des SGD eine kritische Komponente dar. In Bezug auf die Vertraulichkeit der Schlüssel erbringt sie keine Sicherheitsleistung." text "\n " P (&94488156344160) attr id "polarion_113" text "Die Schnittstelle zwischen RVE und SGD-HSM ist eine Innenschnittstelle (vgl. Abschnitt " SPAN (&94488156344640) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94070" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und wird deshalb nicht ausspezifiziert beschrieben. Es werden nur notwendige Festlegungen getroffen." text "\n " DIV (&94488156346120) attr id "A_17908" attr severity "MUSS" attr class "target-element" text "\n " P (&94488156346952) B (&94488156347136) text "A_17908 - Request-Verarbeitung in der SGD" text "\n " P (&94488156347560) text "Die Request verarbeitende Einheit (RVE) eines SGD ePA MUSS alle Informationen, die ein SGD-HSM für die Zertifikatsprüfung nach " SPAN (&94488156347864) attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " benötigt, bereitstellen und dem SGD-HSM bei der Weiterleitung des Requests übergeben." BR (&94488156349224) text "Wenn die RVE erkennt, dass die Informationen dem SGD-HSM nicht ausreichen werden, so MUSS die RVE die Weiterleitung an die SGD-HSM abbrechen (i. S. v. gar nicht erst durchführen) und den Request mit einer Fehlermeldung, so wie in den Außenschnittstellen beschrieben, beantworten." BR (&94488156349528) text " " B (&94488156349832) text "[<=]" text "\n " text "\n " P (&94488156350376) attr id "polarion_197" text "Ein SGD-HSM wird auf einen von der RVE weitergeleiteten Request in fünf Weisen antworten:" text "\n " OL (&94488156350976) attr id "polarion_178" text "\n " LI (&94488156351456) text "Die Authentizität des Requests ist nicht gegeben (bspw. AES-GCM meldet FAIL oder das Authentisierungstoken ist ungültig), das SGD-HSM meldet FAIL. Die RVE muss, so wie in den Außenschnittstellen beschrieben, eine Fehlermeldung an den Client senden." text "\n " LI (&94488156351880) text "Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde durchgeführt. Übergeben wird der RVE das Chiffrat für den Client. Die RVE muss die Antwort-Datenstruktur, so wie bei der Operation KeyDerivation (" SPAN (&94488156352184) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) beschrieben, kodieren und dem Client diese als Response senden." text "\n " LI (&94488163365616) text "Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde nicht durchgeführt, weil der Klartext-Request des Client falsch formatiert ist. Das SGD-HSM erzeugt ein Chiffrat mit entsprechende Fehlermeldung für den Client. Übergeben wird der RVE (1) das Chiffrat für den Client und (2) die Information über die Fehlformatierung. Die RVE muss die Antwort-Datenstruktur, so wie in den Außenschnittstellen beschrieben, kodieren und dem Client diese als Response senden." BR (&94488163365920) text " Wenn die Fehlformatierung häufig vorkommt, liegt hier evtl. ein systematischer Fehler vor. Der SGD-Betreiber sollte davon wissen und bspw. mit Unterstützung der gematik eine Fehleranalyse unter Verwendung der TI-ITSM-Prozesse starten." text "\n " LI (&94488163366344) text "Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde nicht durchgeführt, weil kein Ableitungsschlüssel vorhanden war mit dem vom Client übergebenen Ableitungsschlüsselbezeichner. Das SGD-HSM erzeugt ein Chiffrat mit entsprechender Fehlermeldung für den Client. Übergeben wird der RVE (1) das Chiffrat für den Client und (2) die Information über den Fehler. Die RVE muss die Antwort-Datenstruktur, so wie in den Außenschnittstellen beschrieben, kodieren und dem Client diese als Response senden." BR (&94488163366648) text " Wenn dieser Fehlerfall häufig vorkommt, liegt hier evtl. ein systematischer Fehler vor. Der SGD-Betreiber sollte davon wissen und eine Fehleranalyse starten." text "\n " LI (&94488163367072) text "Die Zertifikatsprüfung im SGD-HSM ergab FAIL. D. h., die RVE hat die eigene Zertifikatsprüfung (" SPAN (&94488163367376) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") nicht korrekt ausgeführt. Die RVE muss, so wie in den Außenschnittstellen bzw. in Abschnitt " SPAN (&94488163368912) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94577" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " beschrieben, eine Fehlermeldung an den Client senden." text "\n " text "\n " P (&94488163370512) attr id "polarion_106" text "\n " H3 (&94488163370992) attr id "4.2" attr class "target-element" text "4.2 SGD-HSM" text "\n " P (&94488163371768) attr id "polarion_192" text "Den wesentlichen Teil der Sicherheitsleistung eines SGD erbringt das SGD-HSM. Das SGD-HSM entscheidet, ob eine ausreichende Authentifizierung stattgefunden hat und führt erst danach eine Schlüsselableitung durch. Anschließend überträgt es die abgeleiteten spezifischen Schlüssel über einen beidseitig authentisierten und Ende-zu-Ende-verschlüsselten Datenkanal an den Client." text "\n " P (&94488163372368) attr id "polarion_198" text "Ein SGD-HSM" text "\n " OL (&94488163372968) attr id "polarion_193" text "\n " LI (&94488163373448) text "erzeugt mindestens alle 15 Minuten ein neues ECIES-Schlüsselpaar," BR (&94488163373752) text " (Ein ECIES-Schlüsselpaar ist 30 Minuten für jeden Client nutzbar und wird danach im SGD-HSM sicher gelöscht)" text "\n " LI (&94488163374176) text "enthält den privaten Signaturschlüssel (" SPAN (&94488163374480) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S1)), der für die Signatur (Authentisierung) des jeweils neu erzeugten öffentlichen ECIES-Schlüssels (" SPAN (&94488163376016) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S4)) notwendig ist," text "\n " LI (&94488163377672) text "erzeugt halbjährlich einen neuen Ableitungsschlüssel und hält zuvor erzeugte Ableitungsschlüssel im HSM vor," text "\n " LI (&94488163378096) text "prüft bei eingehenden Anfragen für eine Schlüsselableitung das Zertifikat des Anfragenden," text "\n " LI (&94488163378520) text "führt bei positivem Prüfergebnis eine Schlüsselableitung entsprechend den Ableitungsregeln durch," text "\n " LI (&94488163378944) text "verschlüsselt die abgeleiteten Schlüssel für den Anfragenden." text "\n " text "\n " P (&94488163379488) attr id "polarion_206" text "Das SGD-HSM muss ein besonderes Firmware-Modul enthalten, das diese Funktionalität abbildet. Dieses hat einen sehr begrenzten Funktionsumfang (ECC- und AES-Schlüssel erzeugen, Signaturen prüfen, aus einem AUT-Zertifikat die KVNR bzw. Telematik-ID auslesen, eine Hashfunktion (HKDF) berechnen, ECIES Ver- und Entschlüsselung durchführen und AES-GCM ausführen). Die Mehrzahl der Funktionen sind schon standardmäßig im HSM vorhanden." text "\n " DIV (&94488163380088) attr id "A_17907" attr severity "MUSS" attr class "target-element" text "\n " P (&94488163380920) B (&94488163381104) text "A_17907 - SGD, Sicherheitsbegutachtung SGD-HSM" text "\n " P (&94488163381528) text "Ein SGD ePA MUSS Folgendes sicherstellen:" BR (&94488163381832) text " \n " OL (&94488163382136) text " \n " LI (&94488163382440) text "Er MUSS mindestens ein HSM, SGD-HSM genannt, einsetzen." text " \n " LI (&94488163382864) text "Solch ein SGD-HSM MUSS auf einer Plattform (Hardware und Software) basieren, das zuvor bereits erfolgreich eine Zertifizierung nach FIPS 140-2 [FIPS-140-2] mindestens Level 3 durchlaufen hat." text " \n " LI (&94488163383288) text "Ein solches SGD-HSM MUSS mit spezieller Firmware ausgestattet sein." text " \n " LI (&94488163383712) text "Diese Firmware MUSS die Ablauflogik aus [gemSpec_SGD_ePA#" SPAN (&94488163384016) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94533" attr data-option-id "longoutline" text "] ausführen." text " \n " LI (&94488163385320) text "Im SGD-HSM MÜSSEN, neben dem speziellen Firmware-Modul, ausschließlich Standard-Firmware-Module verwendet werden (also keine anderen speziellen selbstprogrammierten Firmware-Module)." text " \n " LI (&94488163385744) text "Das Firmware-Modul MUSS eine Sicherheitsbegutachtung durch eine durch die gematik anerkannte unabhängige Instanz (Penetration-Tester etc.) haben. Die gematik nimmt das Gutachten ab und prüft, ob die Anforderung aus dem Produkttypsteckbrief bezogen auf die Schlüsselableitungsfunktionalität ausreichend betrachtet worden sind." text " \n " LI (&94488163386168) text "Bei der Sicherheitsbegutachtung MUSS sichergestellt sein, dass die unabhängige Instanz aus Punkt 6 mit der gematik Informationen (Frage/Antwort) bezüglich der Sicherheitsbegutachtung austauschen darf." text " \n " text " " B (&94488163386712) text "[<=]" P (&94488163387016) text "\n " text "\n " P (&94488163387440) attr id "polarion_215" text "Hinweis zu Punkt 7:" text "\n " P (&94488163388040) attr id "polarion_218" text "Analog zu den CC-Evaluierungen der TI-Komponenten muss es möglich sein, ohne dass Verschwiegenheitsregelungen die Klärung von fachlichen Punkten während der Sicherheitsbegutachtung behindern, die notwendige Dauer der Sicherheitsbegutachtung zu minimieren." text "\n " H3 (&94488163388640) attr id "4.3" attr class "target-element" text "4.3 Schlüssel im SGD-HSM" text "\n " P (&94488163389416) attr id "polarion_43" text "In einem SGD müssen verschiedene Schlüssel verfügbar sein, die durch ein SGD-HSM geschützt werden müssen." text "\n " DIV (&94488163390016) attr id "A_17910" attr severity "MUSS" attr class "target-element" text "\n " P (&94488163390848) B (&94488163391032) text "A_17910 - Schlüssel in einem SGD-HSM" text "\n " P (&94488163391456) text "Ein SGD ePA MUSS sicherstellen, dass in seinem (oder seinen) SGD-HSM folgende Schlüssel existieren und durch das (die) SGD-HSM geschützt werden:" BR (&94488163391760) text " \n " OL (&94488163392064) text " \n " LI (&94488163392368) text "Schlüsselbestätigungsschlüsselpaar ECC brainpoolP256r1 (S1)," text " \n " LI (&94488163392792) text "Eine geordnete Liste von Zertifikatssignaturprüfschlüsseln (darunter der aktuelle öffentliche RSA-Root-Schlüssel der X.509-Root der TI und der aktuelle ECC-Root-Schlüssel der X.509-Root der TI) (S2)," text " \n " LI (&94488163393216) text "alle aktuell benötigten Ableitungsschlüssel (S3)," text " \n " LI (&94488163393640) text "zwei mittels des privaten Schlüsselbestätigungsschlüssels (S1) authentisierte (vgl. Signatur in " SPAN (&94488163393944) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text ") kurzlebige (" SPAN (&94488163395304) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17914" attr data-item-id "ML-94721" attr data-option-id "custom" text ") ECIES-Schlüsselpaare (S4), und" text " \n " LI (&94488163396784) text "zwei Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstoken (je ein Ableitungsschlüssel zugeordnet zu genau einem ECIES-Schlüsselpaar (S4))." text " \n " text " " B (&94488163397328) text "[<=]" P (&94488163397632) text "\n " text "\n " DIV (&94488159464512) attr id "A_17911" attr severity "MUSS" attr class "target-element" text "\n " P (&94488159465320) B (&94488159465504) text "A_17911 - SGD-HSM: Schlüsselerstellung und Veränderung im Mehr-Augen-Prinzip" text "\n " P (&94488159465928) text "Ein SGD ePA MUSS sicherstellen, dass die Schlüssel (S1) bis (S5) aus " SPAN (&94488159466232) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text " ausschließlich im Mehr-Augen-Prinzip erstellbar und änderbar sind (bzw. (S4) und (S5) autonom durch das SGD-HSM-Firmware-Modul). " B (&94488159467592) text "[<=]" text "\n " text "\n " DIV (&94488159468136) attr id "A_17912" attr severity "MUSS" attr class "target-element" text "\n " P (&94488159468968) B (&94488159469152) text "A_17912 - SGD-HSM: Root-Schlüssel sind Teil des Firmware-Moduls" text "\n " P (&94488159469576) text "Ein SGD ePA MUSS sicherstellen, dass die Schlüssel (S2) aus " SPAN (&94488159469880) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " Teil des SGD-HSM-Firmware-Moduls sind. " B (&94488159471240) text "[<=]" text "\n " text "\n " DIV (&94488159471784) attr id "A_17913" attr severity "MUSS" attr class "target-element" text "\n " P (&94488159472616) B (&94488159472800) text "A_17913 - SGD-HSM: Exklusive Nutzungsrechte der Schlüssel für das Firmware-Modul" text "\n " P (&94488159473224) text "Ein SGD ePA MUSS technisch sicherstellen, dass" BR (&94488159473528) text " \n " OL (&94488159473832) text "\n " LI (&94488159474136) text "der private Schlüsselbestätigungsschlüssel bei (S1) (vgl. jeweils " SPAN (&94488159474440) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")," text "\n " LI (&94488159475920) text "die Ableitungsschlüssel (S3)," text "\n " LI (&94488159476344) text "die privaten ECIES-Schlüssel (S4), und" text "\n " LI (&94488159476768) text "die zu den (S4) 1:1-zugeordneten Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstoken" text "\n " text "ausschließlich durch das SGD-HSM-Firmware-Modul nutzbar sind." BR (&94488159477312) text " " B (&94488159477616) text "[<=]" P (&94488159477920) text "\n " text "\n " DIV (&94488159478344) attr id "A_17914" attr severity "MUSS" attr class "target-element" text "\n " P (&94488159479176) B (&94488159479360) text "A_17914 - SGD-HSM: kurzlebige ECIES-Schlüssel" text "\n " P (&94488159479784) text "Ein SGD ePA MUSS Folgendes sicherstellen: " BR (&94488159480088) text " \n " OL (&94488159480392) text " \n " LI (&94488159480696) text "Die beiden ECIES-Schlüsselpaare (S4) (vgl.  " SPAN (&94488159481000) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text "), MÜSSEN jeweils 30 Minuten verwendbar sein und MÜSSEN anschließend sicher gelöscht werden." text " \n " LI (&94488159482480) text "Initial MUSS ein ECIES-Schlüsselpaar erzeugt werden und 15 Minuten später das zweite." text " \n " LI (&94488159482904) text "Jeweils im 15-Minuten-Intervall MUSS ein neues Paar erzeugt werden." text " \n " LI (&94488159483328) text "Der öffentliche Schlüssel dieses neu erzeugten Paares MUSS mittels (S1) signiert und Schlüssel mit Signatur nach " SPAN (&94488159483632) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text " kodiert werden und die erzeugte Kodierung der RVE übergeben werden." text " \n " text " " B (&94488159485232) text "[<=]" P (&94488159485536) text "\n " text "\n " P (&94488159485960) attr id "polarion_58" text "Hinweis zu " SPAN (&94488159486440) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94721" attr data-custom-label "A_17914" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " : Alle 15 Minuten wird nach " SPAN (&94488159487976) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94721" attr data-custom-label "A_17914" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ein neues ECIES -Schlüsselpaar (vgl. auch [gemSpec_Krypt#" SPAN (&94488159489512) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94670" attr data-custom-label "A_17873" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " ]) erzeugt werden. Wenn kurz zuvor ein Client (ePA-FdV oder FM ePA) jedoch den öffentliche Schlüssel des alten Schlüsselpaares über die Schnittstelle GetPublicKey (" SPAN (&94488159490872) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) erhalten hat, kann er das alte Schlüsselpaar maximal 15 Minuten weiter nutzen. Die Lebensdauer eines solchen ECIES-Schlüsselpaars in einem SGD-HSM ist also 30 Minuten." text "\n " DIV (&94488159492528) attr id "A_18022" attr severity "MUSS" attr class "target-element" text "\n " P (&94488159493360) B (&94488159493544) text "A_18022 - SGD-HSM: Ableitungsschlüssel Authentisierungstoken (S5) pro ECIES-Schlüssel (S4)" text "\n " P (&94488159493968) text "Ein SGD ePA MUSS Folgendes sicherstellen:" BR (&94488159494272) text " \n " OL (&94488159494576) text " \n " LI (&94488159494880) text " Jedem ECIES-Schlüsselpaar (S4) (vgl.  " SPAN (&94488159495184) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text "), MUSS genau ein Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstoken zugeordnet sein." text " \n " LI (&94488159496664) text "Wenn ein ECIES-Schlüsselpaar (S4) erzeugt wird (vgl. " SPAN (&94488159496968) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17914" attr data-item-id "ML-94721" attr data-option-id "custom" text ") MUSS ein Ableitungsschlüssel (S5) gemäß Spiegelstrich 1 erzeugt werden." text " \n " LI (&94488152434680) text "Wenn ein ECIES-Schlüsselpaar (S4) sicher gelöscht wird (vgl. " SPAN (&94488152434984) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17914" attr data-item-id "ML-94721" attr data-option-id "custom" text "), so MUSS auch der zugeordnete Ableitungsschlüssel (S5) sicher gelöscht werden." text " \n " text " " B (&94488152436584) text "[<=]" P (&94488152436888) text "\n " text "\n " DIV (&94488152437312) attr id "A_17915" attr severity "DARF NICHT" attr class "target-element" text "\n " P (&94488152438144) B (&94488152438328) text "A_17915 - SGD: Nicht-Synchronisation der ECIES-Schlüssel (S4) und zugordnete Ableitungsschlüssel (S5)" text "\n " P (&94488152438752) text "Ein SGD ePA DARF die kurzlebigen privaten ECIES -Schlüssel ( " SPAN (&94488152439056) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (S4)) und die mit diesen 1:1-zugeordneten Ableitungsschlüssel (" SPAN (&94488152440416) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S5)) (Erstellung der Authentisierungstoken) NICHT über mehrere SGD-HSM synchronisieren." BR (&94488152441776) text " " B (&94488152442080) text "[<=]" text "\n " text "\n " DIV (&94488152442624) attr id "A_17916" attr severity "MUSS" attr class "target-element" text "\n " P (&94488152443456) B (&94488152443640) text "A_17916 - Verfügbarkeit der Schlüssel in einem SGD-HSM" text "\n " P (&94488152444064) text "Ein SGD ePA MUSS technisch sicherstellen, dass der private Schlüsselbestätigungsschlüssel (" SPAN (&94488152444368) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text " (S1)) und die geheimen Ableitungsschlüssel (" SPAN (&94488152445728) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text " (S3)) in dessen SGD-HSM ausschließlich verschlüsselt und im Mehr-Augen-Prinzip importierbar und exportierbar sind (Ziel: Sicherstellung der Verfügbarkeit dieser Schlüssel). Der SGD ePA MUSS technisch sicherstellen, dass beim Import und Export dieser Schlüssel notwendiger Weise ein Mitarbeiter der gematik beteiligt ist." BR (&94488152447088) text " " B (&94488152447392) text "[<=]" text "\n " text "\n " DIV (&94488152447936) attr id "A_17917" attr severity "MUSS" attr class "target-element" text "\n " P (&94488152448768) B (&94488152448952) text "A_17917 - Schutz des SGD-HSM-Firmware-Moduls" text "\n " P (&94488152449376) text "Ein SGD ePA MUSS durch technische Maßnahmen sicherstellen, dass" BR (&94488152449680) text " \n " OL (&94488152449984) text "\n " LI (&94488152450288) text "das Einbringen und das Update des speziellen Firmware-Moduls in ihrem (oder ihren) SGD-HSM nur im Mehr-Augen-Prinzip möglich ist," text "\n " LI (&94488152450712) text "ein Mitarbeiter der gematik an diesem Vorgang beteiligt ist (durch das SGD-HSM durchgesetzt)." text "\n " text " " B (&94488152451256) text "[<=]" P (&94488152451560) text "\n " text "\n " P (&94488152451984) attr id "polarion_95" text "Verständnishinweis zu " SPAN (&94488152452464) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94719" attr data-custom-label "A_17916" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488152454000) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94716" attr data-custom-label "A_17917" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ": Dies ist analog zu den Vorgaben, wie seit 2014 die CVC-Root der TI betrieben wird. Damit wird der Betreiber eines SGD vom Verdacht befreit es könnte die geheimen Ableitungsschlüssel " SPAN (&94488152455536) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (S3) missbrauchen. Er ist technisch aufgrund der zwei Anforderungen nicht in der Lage dies zu tun." text "\n " P (&94488152457192) attr id "polarion_221" text "Aufgrund der Bedeutung der Schlüsselbestätigungsschlüssel für die Sicherheitsleistung werden diese innerhalb eines Clients nicht über die üblichen Zertifikatsprüfverfahren überprüft, sondern die Zertifikate, die die Schlüsselbestätigungsschlüssel enthalten, sind direkt (explizit) in der TSL aufgeführt (vgl. " SPAN (&94488152457672) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94621" attr data-custom-label "A_17847" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (Prüfung eines SGD-HSM-Zertifikats) und " SPAN (&94488152459208) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_PKI?selection=ML-94225" attr data-custom-label "[gemSpec_PKI#A_17700]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "). Dadurch wirken etwaige Probleme bspw. in der Komponenten-PKI nicht auf die Sicherung der Authentizität der Schlüsselbestätigungsschlüssel (risikominimierende Maßnahme)." text "\n " DIV (&94488152460688) attr id "A_17846" attr severity "MUSS" attr class "target-element" text "\n " P (&94488152461520) B (&94488152461704) text "A_17846 - Prüfbarkeit des Schlüsselbestätigungsschlüssels eines nicht-zentralen SGD" text "\n " P (&94488152462128) text "Ein SGD ePA, der nicht der SGD der zentralen TI-Plattform ist, MUSS folgende Vorgaben durchsetzen. " BR (&94488152462432) text " \n " OL (&94488152462736) text "\n " LI (&94488152463040) text "Der öffentlichen Schlüsselbestätigungsschlüssel (" SPAN (&94488152463344) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (S1)) MUSS in einem EE-Zertifikat nach dem Zertifikatsprofil [gemSpec_PKI#Tab_PKI_296] C.SGD-HSM.AUT aufgeführt werden." text "\n " LI (&94488152464824) text "Dabei MUSS das Zertifikat vom ePA-Aktensystem für dessen SGD genau nur die OID oid_sgd1_hsm [gemSpec_OID#3.5.4 OID-Vergabe für technische Rollen] als technische Rolle aufführen." text "\n " LI (&94488152465248) text "Das Zertifikat MUSS in die TSL(ECC-RSA) der TI gebracht werden und zwar aufgeführt als TSPService mit dem ServiceTypeIdentifier "http://uri.etsi.org/TrstSvc/Svctype/unspecified"." text "\n " text " " B (&94488152465792) text "[<=]" P (&94488221765992) text "\n " text "\n " P (&94488221766416) attr id "polarion_177" text "Hinweis: vgl. auch [gemSpec_PKI#Abschnitt " SPAN (&94488221766872) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_PKI?selection=ML-94617" attr data-custom-label "SGD-HSM – Schlüsselgenerierungsdienst-HSM" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]. " text "\n " DIV (&94488221768352) attr id "A_17918" attr severity "MUSS" attr class "target-element" text "\n " P (&94488221769184) B (&94488221769368) text "A_17918 - Prüfbarkeit des Schlüsselbestätigungsschlüssels des SGD der zentralen TI-Plattform" text "\n " P (&94488221769792) text "Ein SGD ePA der zentralen TI-Plattform MUSS folgende Vorgaben durchsetzen. " BR (&94488221770096) text " \n " OL (&94488221770400) text "\n " LI (&94488221770704) text "Der öffentlichen Schlüsselbestätigungsschlüssel (" SPAN (&94488221771008) attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (S1)) MUSS in einem EE-Zertifikat nach dem Zertifikatsprofil [gemSpec_PKI#Tab_PKI_296] C.SGD-HSM.AUT aufgeführt werden." text "\n " LI (&94488221772488) text "Dabei MUSS das Zertifikat vom ePA-Aktensystem für dessen SGD genau nur die OID oid_sgd2_hsm [gemSpec_OID#3.5.4 OID-Vergabe für technische Rollen] als technische Rolle aufführen." text "\n " LI (&94488221772912) text "Das Zertifikat MUSS in die TSL(ECC-RSA) der TI gebracht werden und zwar aufgeführt als TSPService mit dem ServiceTypeIdentifier "http://uri.etsi.org/TrstSvc/Svctype/unspecified"." text "\n " text " " B (&94488221773456) text "[<=]" P (&94488221773760) text "\n " text "\n " P (&94488221774184) attr id "polarion_174" text "Hinweis: Die gematik stellt sicher, dass sich in der TSL nur SGD-HSM-Zertifikate nach " SPAN (&94488221774664) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94620" attr data-custom-label "A_17846" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "#(1) und nach " SPAN (&94488221776200) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94717" attr data-custom-label "A_17918" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " #(1) befinden, die zugehörig sind zu SGD-HSMs von zugelassenen SGD. Vergleiche auch  " SPAN (&94488221777736) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94621" attr data-custom-label "A_17847" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (Prüfung eines SGD-HSM-Zertifikats)." text "\n " H3 (&94488221779392) attr id "4.4" attr class "target-element" text "4.4 Pflege der Prüfschlüssel (S2) im SGD-HSM" text "\n " P (&94488221780168) attr id "polarion_142" text "In " SPAN (&94488221780648) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (Schlüssel in einem SGD-HSM) wird mit (S2) eine geordnete Liste von Zertifikatssignaturprüfschlüsseln eingeführt. Diese Schlüssel bildet die Grundlage für die Zertifikatsprüfung in einem SGD-HSM (" SPAN (&94488221782184) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Einerseits handelt es sich um den RSA-Schlüssel der aktuellen X.509-Root-Version (RCA2) und analog den ECC-Schlüssel (RCA3) und andererseits um nicht von der TI-X.509-Root bestätigte X.509-eGK-CA-Zertifikate, die in der TSL der TI aufgeführt sind. Diese Schlüssel sind fester Bestandteil des SGD-HSM-Firmwaremoduls (" SPAN (&94488221783720) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94714" attr data-custom-label "A_17912" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Alle zukünftig erzeugten CA-Zertifikate der TI werden durch die X.509-Root bestätigt werden [gemSpec_X.509_TSP#" SPAN (&94488221785256) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_X_509_TSP?selection=ML-10037" attr data-custom-label "TIP1-A_3894" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]. " text "\n " DIV (&94488221786736) attr id "A_17952" attr severity "MUSS" attr class "target-element" text "\n " P (&94488221787568) B (&94488221787752) text "A_17952 - SGD-HSM, geordnete Liste von Signaturprüfschlüsseln" text "\n " P (&94488221788176) text "Der SGD ePA MUSS Folgendes sicherstellen." BR (&94488221788480) text " \n " OL (&94488221788784) text " \n " LI (&94488221789088) text "Die RVE MUSS vom SGD-HSM eine nummerierte Liste von im SGD-HSM gespeicherten (und damit verwendbaren/adressierbaren) Zertifikatssignaturprüfschlüsseln erhalten können (vgl. " SPAN (&94488221789392) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17920 (S2)" attr data-item-id "ML-94715" attr data-option-id "custom" text ")." text " \n " LI (&94488221790872) text "In dieser Liste MÜSSEN der RSA-Schlüssel der RCA2 (X.509-Root der TI) und der ECC-Schlüssel der RCA3 enthalten sein." text " \n " LI (&94488221791296) text "In dieser Liste MÜSSEN die Bestätigungsschlüssel aller (bez. der Gültigkeitszeit noch relevanten) nicht-TI-X.509-Root-signierten eGK-CA-Zertifikate inkl. Gültigkeitszeitinformationen enthalten sein, die sich aktuell in der TSL der TI befinden." text " \n " LI (&94488221791720) text "Es MUSS der RVE möglich sein, in das SGD-HSM durch CA-Zertifikatsprüfung auf Grundlage der Root-Schlüssel (RCA2, RCA3 etc.) neue eGK-CA-Schlüssel inkl. Gültigkeitszeitinformationen in das SGD-HSM zu importieren und als neue Elemente in die nummerierte Liste aufzunehmen." text " \n " LI (&94488221792144) text "Es MUSS der RVE möglich sein, durch Übergabe von X.509-Cross-Zertifikaten neue Root-Schlüssel (neue X.509-Root-Versionen der TI) in das SGD-HSM zu importieren." text " \n " LI (&94488221792568) text "Es MUSS der RVE möglich sein, alle Zertifikatssignaturprüfschlüssel außer den Root-Schlüsseln (RCA2 und RCA3) zu löschen indem dem SGD-HSM eine entsprechende OCSP-Response der X.509-Root der TI präsentiert wird. " text " \n " LI (&94488221792992) text "Es MUSS der RVE möglich sein OCSP-Signer-Zertifikate in das SGD-HSM zu importieren, wobei diese durch das SGD-HSM beim Import geprüft werden MÜSSEN." text " \n " LI (&94488221793416) text "Das SGD-HSM MUSS für die Prüfung von Zertifikatssignaturen ausschließlich CA-Schlüssel verwenden." text " \n " LI (&94488221793840) text "Das SGD-HSM MUSS für die Prüfung von OCSP-Response-Signaturen ausschließlich OCSP-Signer-Schlüssel verwenden." text " \n " text " " B (&94488221794384) text "[<=]" P (&94488221794688) text "\n " text "\n " P (&94488221795112) attr id "polarion_184" text "Aus Performanzgründen müssen für die Zertifikatsprüfung die CA-Zertifikate schon geprüft im SGD-HSM vorliegen. Ansatzpunkt der Prüfung von EE-Zertifikaten ist im SGD-HSM immer einen solcher CA-Schlüssel. Die RVE kennt die aktuelle Liste im SGD-HSM (" SPAN (&94488221795592) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " Punkt 1) und teilt dem SGD-HSM bei einer Requestweitergabe mit welcher Prüfschlüssel im SGD-HSM für die Zertifikatsprüfung der Richtige ist (vgl. " SPAN (&94488221797128) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), also vom SGD-HSM zu verwenden ist. Wie ein SGD-HSM erkennen kann, ob ein importiertes Zertifikat ein CA-Zertifikat oder ein OCSP-Signer-Zertifikat ist, ist in [gemSpec_PKI] definiert." text "\n " DIV (&94488205664176) attr id "A_17953" attr severity "MUSS" attr class "target-element" text "\n " P (&94488205664984) B (&94488205665168) text "A_17953 - SGD, täglicher Abgleich CA-Zertifikate TSL und Liste im SGD-HSM" text "\n " P (&94488205665592) text "Der SGD ePA MUSS Folgendes sicherstellen." BR (&94488205665896) text " \n " OL (&94488205666200) text "\n " LI (&94488205666504) text "Die RVE MUSS täglich eine aktuelle TSL vom TSL-Download-Punkt (TSL(ECC-RSA)) beziehen." text "\n " LI (&94488205666928) text "Aus dieser TSL MUSS die RVE eine Liste von CA-Zertifikaten erzeugen, die in TSPService-Einträgen stehen, die eine ServiceInformationExtensions oid_egk_aut, oid_egk_aut_alt oder oid_smc_b_aut beinhalten." text "\n " LI (&94488205667352) text "Die Schlüssel der CAs aus dieser Liste MUSS die RVE mit der Liste der Zertifikatssignaturprüfschlüssel im SGD-HSM abgleichen." text "\n " LI (&94488205667776) text "Sofern Schlüssel im SGD-HSM fehlen, so MUSS die RVE diese in das SGD-HSM durch Zertifikatssignaturprüfung auf Basis eines Root-Schlüssels (RCA2, RCA3 etc.) inkl. Gültigkeitszeitinformationen einbringen (vgl. " SPAN (&94488205668080) attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952 Punkt 4" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " LI (&94488205669560) text "Falls in der in der Liste CA-Schlüssel enthalten sind, die in der TSL nun nicht mehr enthalten sind, so MUSS die der SGD ePA die CA-Schlüssel gemäß " SPAN (&94488205669864) attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " Punkt 6 zu entfernen." text "\n " LI (&94488205671344) text "Analog MUSS die RVE mit OCSP-Zertifikatsschlüsseln in der TSL vorgehen. Diese MUSS die RVE durch Zertifikatssignaturprüfung auf Basis der RCA2 oder RCA3 inkl. Gültigkeitszeitinformationen einbringen. Das SGD-HSM MUSS nach Prüfung des OCSP-Zertifikats ebenfalls die Information speichern, dass es sich um OCSP-Schlüssel handelt und für welche CA Sperrstatusaussagen getroffen werden dürfen über diesen OCSP-Signer-Schlüssel." text "\n " text " " B (&94488205671888) text "[<=]" P (&94488205672192) text "\n " text "\n " P (&94488205672616) attr id "polarion_200" text "\n " DIV (&94488205673096) attr id "A_17954" attr severity "MUSS" attr class "target-element" text "\n " P (&94488205673928) B (&94488205674112) text "A_17954 - SGD, Aktualisieren von X.509-Root-Schlüsseln" text "\n " P (&94488205674536) text "Der SGD ePA MUSS wöchentlich überprüfen, ob neue X.509-Root-CA-Versionen existieren und entsprechende Cross-Zertifikate verfügbar sind. Falls dies der Fall ist, so MUSS der SGD ePA diese neue Root-Versionen in seinen SGD-HSMs importieren (vgl.  " SPAN (&94488205674840) attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " Punkt 5)." BR (&94488205676200) text " " B (&94488205676504) text "[<=]" text "\n " text "\n " P (&94488205677048) attr id "polarion_286" text "Hinweis: Nach der Erzeugung einer neuen Root-Version der X.509-Root-CA der TI werden dessen selbstsigniertes Zertifikat und Crosszertifikate auf den Download-Punkt  " A (&94488205677528) attr class "descriptionLink" attr target "_blank" attr href "https://download.tsl.ti-dienste.de/" text "https://download.tsl.ti-dienste.de/" text " abgelegt. Automatisiert kann der SGD ePA von dort die Verfügbarkeit neuer Versionen überwachen. Im Regelfall wird alle zwei Jahre eine neue Root-Version erzeugt." text "\n " H3 (&94488205678600) attr id "4.5" attr class "target-element" text "4.5 Funktionsablauf Firmware-Modul SGD-HSM" text "\n " P (&94488205679376) attr id "polarion_79" text "In diesem Abschnitt wird die Ablauflogik im speziellen HSM-Firmware-Modul beschrieben. Diese Beschreibung ist Grundlage der für die Zulassung notwendigen Sicherheitsüberprüfung (vgl. " SPAN (&94488205679856) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94708" attr data-custom-label "A_17907" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " H4 (&94488205681512) attr id "4.5.1" attr class "target-element" text "4.5.1 Zertifikats- und Schlüsselprüfung im SGD-HSM" text "\n " P (&94488205682288) attr id "polarion_101" text "Damit im SGD-HSM nur für den jeweils Berechtigten eine Schlüsselableitung durchgeführt wird, muss dessen Request auf Authentizität geprüft werden. Dafür muss dessen AUT-Zertifikat innerhalb des SGD-HSMs überprüft werden." text "\n " P (&94488205682888) attr id "polarion_45" text "Eine Standard-TI-Prüfung auf Basis der TSL ist technisch relativ komplex und ist insbesondere in beschränkten  Laufzeitumgebungen wie Chipkarten oder HSM-Firmware-Modulen nur schwer umsetzbar. Damit diese Prüfung technisch praktikabel ist,  wird bei der Prüfung des AUT-Zertifikats die Signaturkette auf die X.509-Root der TI geprüft. Es werden ebenfalls OCSP-Antworten notwendigerweise ausgewertet." text "\n " DIV (&94488205683488) attr id "A_17919" attr severity "MUSS" attr class "target-element" text "\n " P (&94488205684320) B (&94488205684504) text "A_17919 - Zertifikatsprüfung in einem SGD-HSM" text "\n " P (&94488205684928) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen:" BR (&94488205685232) text " \n " OL (&94488205685536) text "\n " LI (&94488205685840) text "(K1) Die RVE MUSS dem SGD-HSM mitteilen über welchen Prüfschlüssel (" SPAN (&94488205686144) attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ", also CA-Schlüssel) die Zertifikatssignatur prüfbar ist. " text "\n " LI (&94488205687624) text "(O1) Die RVE MUSS eine OCSP-Response, die nicht älter als 4 Stunden ist, für das zu prüfende AUT-Zertifikat dem SGD-HSM übergeben." text "\n " LI (&94488205688048) text "(O2) Die RVE MUSS dem SGD-HSM mitteilen über welchen Prüfschlüssel (" SPAN (&94488205688352) attr data-option-id "custom" attr data-item-id "ML-94789" attr data-custom-label "A_17952" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ", also OCSP-Zertifikatsschlüssel) die OCSP-Response-Signatur prüfbar ist. " text "\n " text "Im Rahmen der Prüfung eines kurzlebigen öffentlichen ECIES-Schlüssels eines Client MUSS das SGD-HSM das vom Client verwendete AUT-Zertifikat (oder AUT_ALT-Zertifikat bei einer alternativen Versichertenidentität) wie folgt prüfen:" BR (&94488205689952) text " \n " OL (&94488205690256) text "\n " LI (&94488205690560) text "Ist das Zertifikat zeitlich gültig, falls nein dann FAIL." text "\n " LI (&94488205690984) text "Ist die Zertifikatssignatur über den Schlüssel (K1) prüfbar (Signaturprüfung), falls nein dann FAIL." text "\n " LI (&94488205691408) text "Ist die OCSP-Response (O1)  maximal 4 Stunden alt , falls nein dann FAIL." text "\n " LI (&94488205691832) text "Ist der Schlüssel (O2) berechtigt Sperraussagen bezüglich über (K1) bestätigte Zertifikate zu tätigen, falls nein dann FAIL." text "\n " LI (&94488205692256) text "Ist die OCSP-Response (O1) über den Schlüssel (O2) prüfbar (Signaturprüfung), falls nein dann FAIL." text "\n " LI (&94488205692680) text "Enthält das Zertifikat eine KVNR oder einen Telematik-ID, falls nein dann FAIL. (vgl. [gemSpec_SGD_ePA#Hinweis zu A_17919]) " text "\n " text " Wenn keine Prüfung aus (1) bis (5) ein FAIL liefert, so MUSS das Prüfergebnis für das AUT-Zertifikat "OK" sein. " B (&94488205693224) text "[<=]" P (&94488205693528) text "\n " text "\n " P (&94488205693952) attr id "polarion_34" text "Hinweis zu " SPAN (&94488205694432) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " :" text "\n " P (&94488205696088) attr id "polarion_47" text "Das SGD-HSM kann davon ausgehen, dass die X.509-Root-CA und alle in der PKI-Hierarchie folgenden CAs korrekt formatierte Zertifikate ausgeben. Es muss also vom SGD-HSM nicht die vollständige Konformität der erhaltenen Zertifikate zu den in [gemSpec_PKI] definierten Zertifikatsprofilen geprüft werden, was technisch in einer beschränkten Laufzeitumgebung schwierig ist." text "\n " DIV (&94488147312840) attr id "A_18010" attr severity "MUSS" attr class "target-element" text "\n " P (&94488147313648) B (&94488147313832) text "A_18010 - SGD-HSM, Entfernen von abgelaufenen Prüfschlüsseln/Zertifikaten" text "\n " P (&94488147314256) text "Ein SGD ePA MUSS sicherstellen, dass dessen SGD-HSM mindestens alle 24 Stunden die Schlüssel aus der Prüfschlüsselliste gemäß " SPAN (&94488147314560) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17952" attr data-item-id "ML-94789" attr data-option-id "custom" text " auf zeitliche Gültigkeit hin überprüft. Ist eine solcher Prüfschlüssel nur noch weniger als 24 Stunden gültig, so MUSS das SGD-HSM diesen Schlüssel aus seiner Prüfschlüsselliste löschen. Ausgenommen davon sind die Root-Schlüssel aus " SPAN (&94488147315920) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17952" attr data-item-id "ML-94789" attr data-option-id "custom" text " Punkt 2. " B (&94488147317280) text "[<=]" text "\n " text "\n " DIV (&94488147317824) attr id "A_18027" attr severity "MUSS" attr class "target-element" text "\n " P (&94488147318656) B (&94488147318840) text "A_18027 - SGD-HSM, Prüfung von Client-ECIES-Schlüssel und Client-ECIES-Schlüssel-Signatur" text "\n " P (&94488147319264) text "Ein SGD ePA MUSS sicherstellen, dass dessen SGD-HSM den Client-ECIES-Schlüssel und dessen Signatur wie folgt prüft." BR (&94488147319568) text " \n " OL (&94488147319872) text " \n " LI (&94488147320176) text "Ist der öffentliche ECIES-Schlüssel des Client nach " SPAN (&94488147320480) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text " korrekt kodiert?" text " \n " LI (&94488147321960) text "Ist in der Kodierung ein Hashwert eines aktuellen öffentlichen ECIES-Schlüssels des SGD-HSM nach " SPAN (&94488147322264) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text " vorhanden?" text " \n " LI (&94488147323744) text "Liegt der öffentliche ECIES-Schlüssel des Clients auf der korrekten Kurve (vgl. " SPAN (&94488147324048) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "[gemSpec_Krypt#A_17874]" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94671" text ")?" text " \n " LI (&94488147325352) text "Ist das Zertifikat des Clients gültig nach " SPAN (&94488147325656) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17919" attr data-item-id "ML-94722" attr data-option-id "custom" text " (Zertifikatsprüfung in einer SGD-HSM)?" text " \n " LI (&94488147327136) text "Ist die Signatur auf des ECIES-Schlüssels des Client korrekt (valide) in Bezug auf das Zertifikat des Clients (bzw. des dort bestätigten EE-Schlüssels)?" text " \n " text " Liefert eine der Prüfungen ein nicht-positives Ergebnis, so MUSS das SGD-HSM die Verarbeitung mit einer entsprechenden Fehlermeldung an die RVE abbrechen. " B (&94488147327680) text "[<=]" P (&94488147327984) text "\n " text "\n " H4 (&94488147328408) attr id "4.5.2" attr class "target-element" text "4.5.2 Authentisierungstoken im SGD-HSM" text "\n " DIV (&94488147329184) attr id "A_18026" attr severity "MUSS" attr class "target-element" text "\n " P (&94488147330016) B (&94488147330200) text "A_18026 - SGD-HSM, Ausstellen von Authentisierungstoken für SGD-Clients" text "\n " P (&94488147330624) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen:" BR (&94488147330928) text " Bei der Umsetzung von GetAuthenticationToken (" SPAN (&94488147331232) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18021" attr data-item-id "ML-96275" attr data-option-id "custom" text ") MUSS die RVE dem SGD-HSM (das für den " SPAN (&94488147332592) attr style "text-decoration: line-through;background-color: #FFFF99;" text "Client bestimmt ist)" BR (&94488147333072) text " \n " OL (&94488147333376) text " \n " LI (&94488147333680) text "das Chiffrat und die für die Entschlüsselung notwendigen Informationen," text " \n " LI (&94488147334104) text "und das Client-Zertifikat inkl. der für die Zertifikatsprüfung im SGD-HSM gemäß " SPAN (&94488147334408) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17919" attr data-item-id "ML-94722" attr data-option-id "custom" text " notwendigen Informationen" text " \n " text " übergeben. " BR (&94488147336008) text " Das SGD-HSM MUSS das Client-Zertifikat gemäß " SPAN (&94488147336312) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17919" attr data-item-id "ML-94722" attr data-option-id "custom" text " prüfen und bei negativen Prüfergebnis abbrechen." BR (&94488147337672) text " Das SGD-HSM MUSS die Signatur des Client-ECIES-Schlüssel und den ECIES-Schlüssel an sich gemäß " SPAN (&94488147337976) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18027" attr data-item-id "ML-96284" attr data-option-id "custom" text " prüfen und bei negativen Prüfergebnis abbrechen." BR (&94488147339336) text " Das SGD-HSM MUSS das Chiffrat entschlüsseln und dabei im Fehlerfall abbrechen." BR (&94488147339640) text " Das SGD-HSM MUSS prüfen, ob der entschlüsselte Klartext der Form" BR (&94488147339944) text " " SPAN (&94488147340248) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    Challenge <256-Bit-hexadezimal-kodiert>" BR (&94488147340728) text " (Beispiel: " BR (&94488147341032) text " " SPAN (&94488147341336) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    Challenge " SPAN (&94488147341816) attr style "font-size: 10pt;line-height: 1.5;" text "f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d" BR (&94488147342296) text " ) ist. Falls nein, dann MUSS das SGD-HSM mit einer entsprechenden Fehlermeldung abbrechen." BR (&94488147342600) text " Das SGD-HSM MUSS die Zeichenkette A als Aneinanderführung von " BR (&94488147342904) text " \n " OL (&94488147343208) text " \n " LI (&94488147343512) text "signierten Client-ECIES-Schlüssel in der Kodierung gemäß " SPAN (&94488147343816) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text " , und" text " \n " LI (&94488147345296) text "Client-AUT-Zertifikat" text " \n " text " bilden. " BR (&94488158465800) text " Anschließend MUSS das SGD-HSM eine Schlüsselableitung mit dem Schlüssel (S5), der mit dem ECIES-SGD-HSM-Schlüssel (S4) verbunden ist, für den die Verschlüsselung durch den Client vorgenommen wurde, und dem erzeugten Ableitungsvektor A (info-Parameter) gemäß [gemSpec_Krypt#" SPAN (&94488158466104) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_18023" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-96279" text "] durchführen." BR (&94488158467288) text " Aus der Ableitung MUSS das SGD-HSM einen 256-Bit-Wert erhalten und diesen Hexadezimal kodieren und davor die Zeichenkette "AT" setzen. Das Ergebnis ist der Authentisierungstoken." BR (&94488158467592) text " Beispiel:" BR (&94488158467896) text " " SPAN (&94488158468200) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa" BR (&94488158468680) text " Das SGD-HSM MUSS H als SHA-256-Hashwert von A berechnen." BR (&94488158468984) text " Anschließend MUSS das SGD-HSM eine Zeichenkette der folgenden Form bilden:" BR (&94488158469288) text " " SPAN (&94488158469592) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    Response " BR (&94488158470072) text " Diese Zeichenkette muss das SGD-HSM mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#" SPAN (&94488158470376) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "] für den Client-ECIES-Schlüssel verschlüsseln und das Chiffrat an die RVE übergeben." BR (&94488158471560) text " " B (&94488158471864) text "[<=]" P (&94488158472168) text "\n " text "\n " H4 (&94488158472592) attr id "4.5.3" attr class "target-element" text "4.5.3 Schlüsselableitung im SGD-HSM" text "\n " DIV (&94488158473368) attr id "A_17926" attr severity "MUSS" attr class "target-element" text "\n " P (&94488158474200) B (&94488158474384) text "A_17926 - SGD-HSM, Schlüsselableitung im SGD-HSM" text "\n " P (&94488158474808) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen:" BR (&94488158475112) text " \n " OL (&94488158475416) text "\n " LI (&94488158475720) text "Wenn von einer Schlüsselableitung bei einer Ableitungsregel von der Variable " SPAN (&94488158476024) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "KVNR" text " ("" SPAN (&94488158476624) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" text "") gesprochen wird, so MUSS der SGD ePA aus dem AUT-Zertifikat einer eGK oder einer alternativen Versichertenidentität nur den Wert  aus den "organizationalUnitName"-Datenfeldern verwenden, der den unveränderlichen Teil der KVNR bezeichnet („annnnnnnnn“) (vgl. [gemSpec_PKI#C.CH.AUT und C.CH.AUT_ALT – Authentisierung eGK]). D. h., die Institutionskennzeichen werden nicht verwendet." text "\n " LI (&94488158477344) text "Wenn von einer Schlüsselableitung mit einem Ableitungsvektor "" SPAN (&94488158477648) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" text "" gesprochen wird, so MUSS die Zeichenkette mit dem konkreten Wert der Variable " SPAN (&94488158478248) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "X" text " als "info"-Parameter nach [RFC-5869] (HKDF) verwendet werden (vgl. "Beispiel zu A_17926")." text "\n " text " " B (&94488158479088) text "[<=]" P (&94488158479392) text "\n " text "\n " P (&94488158479816) attr id "polarion_292" text "Beispiel zu A_17926:" text "\n " P (&94488158480416) attr id "polarion_293" text "Sei RND="123" und KVNR="a4b5c6". Wenn im Algorithmus in Tabelle 3 a="r1::" gesetzt wird, und a als Ableitungsvektor verwendet werden soll, so müssen die Werte der Variablen RND und KVNR interpoliert werden. Es entsteht damit die Zeichenkette a="r1:123:4a5b6c". Dieser Wert von a muss dann als Wert des Ableitungsvektor bei der Schlüsselableitung verwendet werden." text "\n " DIV (&94488158481016) attr id "A_17920" attr severity "MUSS" attr class "target-element" text "\n " P (&94488158481848) B (&94488158482032) text "A_17920 - SGD-HSM, Schlüsselableitungsschlüssel und Schlüsselableitung im SGD-HSM" text "\n " P (&94488158482456) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen:" BR (&94488158482760) text " \n " OL (&94488158483064) text " \n " LI (&94488158483368) text "Es MUSS initial ein Ableitungsschlüssel (vgl. auch [gemSpec_Krypt#" SPAN (&94488158483672) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17876" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" text "]  und " SPAN (&94488158484856) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text "  (3)) für die Schlüsselableitung der versichertenindividuellen Schlüssel vorhanden sein." text " \n " LI (&94488158486336) text "Mindestens halbjährlich MUSS solch ein Ableitungsschlüssel neu erzeugt werden." text " \n " LI (&94488158486760) text "Jeder Ableitungsschlüssel MUSS einen innerhalb eines SGD eindeutigen Bezeichner besitzen." BR (&94488158487064) text " Solch ein Ableitungsschlüsselbezeichner MUSS maximal 7 KiB groß sein und auf den PCRE [PCRE]" BR (&94488158487368) text " " SPAN (&94488158487672) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "^\w[\w -]{1,7167}$" BR (&94488158488152) text " matchen." text " \n " LI (&94488158488576) text "Alle Ableitungsschlüssel MÜSSEN in allen SGD-HSM eines SGD zur Verfügung stehen." text " \n " LI (&94488158489000) text "Es MUSS, sofern kein Ableitungsschlüsselbezeichner beim Aufruf der Operation KeyDerivation (vgl. " SPAN (&94488158489304) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text ") angegeben wurde, immer der jüngste Ableitungsschlüssel bei der Schlüsselableitung der versichertenindividuellen Schlüssel verwendet werden." text " \n " text " " B (&94488158490904) text "[<=]" P (&94488158491208) text "\n " text "\n " P (&94488158491632) attr id "polarion_102" text "Hinweis: nach " SPAN (&94488158492112) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "[gemSpec_Krypt#A_17876]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "wird für die Schlüssel als Schlüsselableitungsfunktion die HKDF nach [RFC-5869] auf Basis von SHA-256 verwendet. Ebenso befinden sich in [gemSpec_Krypt#" SPAN (&94488158493472) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] die Vorgaben zur Mindestentropie." text "\n " P (&94488158494952) attr id "polarion_114" text "Man beachte, dass absichtlich keine Doppelpunkte im Bezeichner zugelassen sind." text "\n " P (&94488158495552) attr id "polarion_78" text "Beispiele für gültige Ableitungsschlüsselbezeichner: " text "\n " UL (&94488158496152) attr id "polarion_181" text "\n " LI (&94488158496632) SPAN (&94488158496816) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "ACME 2019-1" text "\n " LI (&94488158497416) SPAN (&94488158497600) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "AB AbCdEfGhI 12 jklmn" text "\n " text "\n " P (&94488189974328) attr id "polarion_116" text "Testmöglichkeit:" text "\n " P (&94488189974928) attr id "polarion_149" SPAN (&94488189975288) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "echo 'Bezeichner 2021-Test 1' | \" BR (&94488189975768) text " " SPAN (&94488189976072) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "perl -ne 'print /^\w[\w -]{1,7167}$/ ? "OK: " : "UNGÜLTIG: ", $_;'" text "\n " H4 (&94488189976672) attr id "4.5.4" attr class "target-element" text "4.5.4 Kommando-Abarbeitung KeyDerivation im SGD-HSM" text "\n " DIV (&94488189977448) attr id "A_18030" attr severity "MUSS" attr class "target-element" text "\n " P (&94488189978280) B (&94488189978464) text "A_18030 - SGD-HSM, Empfang einer Ableitungsanforderung (KeyDerivation)" text "\n " P (&94488189978888) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen:" BR (&94488189979192) text " Bei der Umsetzung von KeyDerivation (" SPAN (&94488189979496) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text ") MUSS die RVE dem SGD-HSM (das für den " SPAN (&94488189980856) attr style "text-decoration: line-through;background-color: #FFFF99;" text "Client bestimmt ist) " BR (&94488189981336) text " \n " OL (&94488189981640) text " \n " LI (&94488189981944) text "das Chiffrat und die für die Entschlüsselung notwendigen Informationen, und" text " \n " LI (&94488189982368) text "das Client-AUT-Zertifikat" text " \n " text " übergeben. " BR (&94488189982912) text " Das SGD-HSM MUSS das Chiffrat mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#" SPAN (&94488189983216) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "] entschlüsseln und dabei im Fehlerfall abbrechen." BR (&94488189984400) text " Das SGD-HSM MUSS prüfen, ob der erhaltene Klartext wie folgt beginnt" BR (&94488189984704) text " " SPAN (&94488189985008) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    "AT<256-Bit-Hexadezimal-kodierter-Wert>" + " " + "<256-Bit-Hexadezimal-kodierte-Zeichenkette (Request-ID)>" + " "" BR (&94488189985488) text " und falls nein abbricht." BR (&94488189985792) text " " BR (&94488189986096) text " Das SGD-HSM MUSS die Zeichenkette A als Aneinanderführung von " BR (&94488189986400) text " \n " OL (&94488189986704) text " \n " LI (&94488189987008) text "signierten Client-ECIES-Schlüssel in der Kodierung gemäß " SPAN (&94488189987312) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text ", und" text " \n " LI (&94488189988792) text "Client-AUT-Zertifikat" text " \n " text " bilden. Anschließend MUSS das SGD-HSM eine Schlüsselableitung mit dem Schlüssel (S5), der mit dem ECIES-SGD-HSM Schlüssel (S4) verbunden ist für den die Verschlüsselung durch den Client vorgenommen wurde, und dem erzeugten Ableitungsvektor A (info-Parameter) gemäß [gemSpec_Krypt#" SPAN (&94488189989336) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_18023" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-96279" text "] durchführen." BR (&94488189990520) text " Aus der Ableitung MUSS das SGD-HSM einen 256-Bit-Wert erhalten und diesen Hexadezimal kodieren und davor die Zeichenkette "AT" setzen. Das Ergebnis ist das Authentisierungstoken." BR (&94488189990824) text " Beispiel:" BR (&94488189991128) text " " SPAN (&94488189991432) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa" BR (&94488189991912) text " " BR (&94488189992216) text " Das SGD-HSM MUSS prüfen, ob der Authentisierungstoken mit dem Anfangswert des Klartextes übereinstimmt." BR (&94488189992520) text " Falls nein, so MUSS das SGD-HSM mit entsprechender Fehlermeldung abbrechen." BR (&94488189992824) text " " BR (&94488189993128) text " Das SGD-HSM MUSS mit der Kommando-Abarbeitung der Operation KeyDerivation gemäß " SPAN (&94488189993432) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17922" attr data-item-id "ML-94727" attr data-option-id "custom" text " fortfahren. " B (&94488189994792) text "[<=]" P (&94488189995096) text "\n " text "\n " DIV (&94488189995520) attr id "A_17922" attr severity "MUSS" attr class "target-element" text "\n " P (&94488189996352) B (&94488189996536) text "A_17922 - SGD-HSM, Kommando-Abarbeitung der Operation KeyDerivation im SGD-HSM" text "\n " P (&94488189996960) text "Ein SGD ePA MUSS folgende Vorgaben durchsetzen: Nachdem das SGD-HSM erfolgreich die Authentizität der Anfrage mittels  " SPAN (&94488189997264) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18030" attr data-item-id "ML-96287" attr data-option-id "custom" text " überprüft hat und den Klartext erhalten hat, MUSS es den erhaltenen Klartext analysieren. " BR (&94488189998624) text " Es entfernt den Authentisierungstoken und die Request-ID inkl. folgenden Leerzeichen vom Anfang der Nachricht des Clients und speichert das Authentisierungstoken und die Request-ID für die Erzeugung der Antwort." BR (&94488189998928) text " (Beispiel:" BR (&94488189999232) text " " SPAN (&94488189999536) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text " "AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa " SPAN (&94488190000016) attr style "font-size: 10pt;line-height: 1.5;" text "7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a01fae7930340c " text "KeyDerivation r2:7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2-20a1201-001:Bezeichner ACME Q1 2020"" BR (&94488190000616) text " " text " " SPAN (&94488190001040) attr style "font-family: Arial, Helvetica;" text "Das Authentisierungstoken ist gleich" text " " SPAN (&94488190001640) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""AT1c...efa"" SPAN (&94488190002120) attr style "font-family: Arial, Helvetica;" text ", die Request-ID ist gleich" text " " SPAN (&94488190002720) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""7522..340c"" SPAN (&94488190003200) attr style "font-family: Arial, Helvetica;" text ". Die restliche Zeichenkette des Klartexts ist die Eingabe für den Algorithmus in [gemSpec_SDG_ePA#Tab_Kommandoabarbeitung_im_SGD-HSM]." BR (&94488190003680) text " )" BR (&94488190003984) text " Das SGD-HSM MUSS den in [gemSpec_SDG_ePA#Tab_Kommandoabarbeitung_im_SGD-HSM] aufgeführten Algorithmus implementieren und verwenden. Wenn der Algorithmus mit einem FAIL abbricht, so MUSS das SGD-HSM dies mit einem entsprechender Fehlermeldung an das RVE weitergeben. " BR (&94488190004288) text " Anderenfalls MUSS das SGD-HSM die durch den Algorithmus erzeugte Antwort-Zeichenkette erweitern, indem es das gespeicherte Authentisierungstoken und die Request-ID inkl. folgenden Leerzeichen vor die Antwort-Zeichenkette stellt. Diese erhaltene Zeichenkette ist der Klartext, der den Client erreichen solle. Diesen Klartext MUSS das SGD-HSM gemäß den Vorgaben aus [gemSpec_Krypt#" SPAN (&94488190004592) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "] verschlüsseln (ECIES-Verfahren mit Authenticated Encryption) und mit einer positiven Rückmeldung (OK) an die RVE das erzeugte Chiffrat im Format gemäß " SPAN (&94488190005776) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text " übergeben." BR (&94488211271232) text " " B (&94488211271536) text "[<=]" text "\n " text "\n " P (&94488211272080) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_132" text "Tabelle " SPAN (&94488211272888) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "4" text ": Tab_Kommandoabarbeitung_im_SGD-HSM" text "\n " TABLE (&94488211273784) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=1" text "\n " TBODY (&94488211274616) text "\n " TR (&94488211274920) text "\n " TD (&94488211275224) attr style "text-align: left;vertical-align: top;width: 748px;height: 560px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488211275584) attr style "font-size: 10pt;line-height: 1.5;" text "Sei mit "Nachricht" die authentifizierte Nachricht des Clients, ohne das Authentisierungstoken und die Request-ID (inkl. folgendem Leerzeichen) am Anfang der Nachricht, bezeichnet. Sei IKM das "input key material" und info das "info"-Feld beides gemäß [RFC-5869]. Mit "<>" sei die Variableninterpolation bezeichnet, bspw. mit a="ax1y2z3" und s="a" folgt s gleich "ax1y2z3"." BR (&94488211276064) BR (&94488211276248) text " (1) Prüfe ob die Nachricht mit " SPAN (&94488211276552) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""KeyDerivation "" text " (14 Zeichen) beginnt, ansonsten FAIL." BR (&94488211277152) text " (2) Sei s gleich die Nachricht ohne die ersten 14 Zeichen (also ohne " SPAN (&94488211277456) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""KeyDerivation "" text ")." BR (&94488211278056) text " (3) Prüfe ob s entweder mit " SPAN (&94488211278360) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1"" text ", " SPAN (&94488211278960) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2"" text " oder mit " SPAN (&94488211279560) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3"" text " beginnt, ansonsten FAIL." BR (&94488211280160) text " (4) Sei KVNR die authentifizierte KVNR gemäß " SPAN (&94488211280464) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94729" attr data-custom-label "A_17926" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " aus dem geprüften (" SPAN (&94488211282000) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") AUT-Zertifikat. Falls das AUT-Zertifikat ein nicht-eGK-Zertifikat ist, dann sei KVNR="" (leere Zeichenkette)." BR (&94488211283536) text " (5) Sei TELEMATIK_ID die authentifizierte Telematik-ID aus dem geprüften (" SPAN (&94488211283840) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") AUT-Zertifikat. Falls das AUT-Zertifikat ein eGK-Zertifikat ist, dann sei TELEMATIK_ID=" SPAN (&94488211285376) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette)." BR (&94488211285976) text " (6) Sei BEZ der Schlüsselbezeichner (" SPAN (&94488211286280) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94723" attr data-custom-label "A_17920" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) des aktuellen (also jüngsten) Ableitungsschlüssel (" SPAN (&94488211287816) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S3))." BR (&94488211289352) text " (7) Sei s[0] bis s[n] die Teilzeichenketten von s, die durch ":" getrennt werden." BR (&94488211289656) text " (8) Wenn n gleich 0, dann FAIL." BR (&94488211289960) BR (&94488211290144) text " (Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488211290448) attr href "#2.4" text "2.4" text "]" BR (&94488211291048) text " " SPAN (&94488211291352) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1:"" BR (&94488211291832) text " )" BR (&94488211292136) text " (9) Wenn s[0] gleich " SPAN (&94488211292440) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1"" text " und n gleich 1 ist:" BR (&94488211293040) text " (9.1) Wenn KVNR gleich "" (leere Zeichenkette) ist, dann FAIL." BR (&94488211293344) text " (9.2) Wenn s[1] ungleich KVNR, dann FAIL." BR (&94488211293648) text " (9.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488211293952) text " (9.3) Erzeuge a=" SPAN (&94488211294256) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1:::"" text ". " BR (&94488211294856) text " (9.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#" SPAN (&94488211295160) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit IKM der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488211296520) text " (9.5) Die Antwort ist gleich " SPAN (&94488211296824) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488211297424) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + a. " BR (&94488211298024) text " (9.6) ENDE" BR (&94488211298328) BR (&94488211298512) text "\n " text "\n " TR (&94488211298936) text "\n " TD (&94488211299240) attr style "text-align: left;vertical-align: top;width: 748px;height: 26px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488211299600) attr style "font-size: 10pt;line-height: 1.5;" text "(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488211300080) attr href "#2.5" text "2.5" text "]" BR (&94488211300680) text " " SPAN (&94488211300984) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1:<256-Bit-RND-in-Hexform>::"" BR (&94488211301464) text " )" BR (&94488211301768) text " (10) Wenn s mit " SPAN (&94488211302072) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r1:"" text " beginnt:" BR (&94488211302672) text " (10.2) Wenn n ungleich 3 ist, dann FAIL." BR (&94488211302976) text " (10.3) Wenn s[3] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL." BR (&94488211303280) text " (10.4) Wenn die Länge von s[1] ungleich 64 ist, dann FAIL." BR (&94488211303584) text " (10.4) Wenn KVNR gleich " SPAN (&94488144774248) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette), dann FAIL." BR (&94488144774848) text " (10.5) Wenn s[2] ungleich KVNR ist, dann FAIL." BR (&94488144775152) text " (10.6) Führe die Schlüsselableitung nach [gemSpec_Krypt#" SPAN (&94488144775456) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit dem durch s[3] bezeichneten Ableitungsschlüssels (IKM) und info gleich s durch. Sei Key der abgeleitete 256-Bit Schlüssel in Hexadezimalschreibweise kodiert (ohne "0x")." BR (&94488144776816) text " (10.7) Die Antwort ist gleich " SPAN (&94488144777120) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488144777720) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + s. " BR (&94488144778320) text " (10.8) ENDE" BR (&94488144778624) BR (&94488144778808) text " (Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488144779112) attr href "#2.6" text "2.6" text "]" BR (&94488144779712) text " " SPAN (&94488144780016) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2:"" BR (&94488144780496) text " )" BR (&94488144780800) text " (11) Wenn s[0] gleich " SPAN (&94488144781104) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2"" text " ist und n gleich 1:" BR (&94488144781704) text " (11.1) Wenn KVNR gleich " SPAN (&94488144782008) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette), dann FAIL." BR (&94488144782608) text " (11.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488144782912) text " (11.3) Erzeuge a=" SPAN (&94488144783216) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2:::"" text " + s[1] + " SPAN (&94488144783816) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "":"" BR (&94488144784296) text " (11.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#" SPAN (&94488144784600) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit IKM der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488144785960) text " (11.5) Die Antwort ist gleich " SPAN (&94488144786264) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488144786864) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + a. " BR (&94488144787464) text " (11.6) ENDE" BR (&94488144787768) BR (&94488144787952) text " (Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488144788256) attr href "#2.7" text "2.7" text "]" BR (&94488144788856) text " " SPAN (&94488144789160) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2:<256-Bit-RND-in-Hexform>:::"" BR (&94488144789640) text " )" BR (&94488144789944) text " (12) Wenn s[0] gleich " SPAN (&94488144790248) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r2"" text " ist:" BR (&94488144790848) text " (12.1) Wenn n ungleich 4 ist, dann FAIL." BR (&94488144791152) text " (12.2) Wenn die Länge von s[1] ungleich 64 ist, dann FAIL." BR (&94488144791456) text " (12.3) Wenn s[4] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL." BR (&94488144791760) text " (12.4) Wenn KVNR gleich " SPAN (&94488144792064) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette) und (logisches und) TELEMATIK_ID gleich " SPAN (&94488144792664) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette), dann FAIL." BR (&94488144793264) text " (12.5) Führe für die Variable TELEMATIK_ID die Prüfung und ggf. Umkodierung nach " SPAN (&94488144793568) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-95024" attr data-custom-label "A_18003" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " durch." BR (&94488144795104) text " (12.6) Wenn (s[3] ungleich TELEMATIK_ID) und (logisches und) (s[3] ungleich KVNR), dann FAIL." BR (&94488144795408) text " (12.7) Führe die Schlüsselableitung nach [gemSpec_Krypt#" SPAN (&94488144795712) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit dem durch s[4] bezeichneten Ableitungsschlüssels (IKM) und info gleich s durch. Sei Key der abgeleitete 256-Bit Schlüssel in Hexadezimalschreibweise kodiert (ohne "0x")." BR (&94488144797072) text " (12.8) Die Antwort ist gleich " SPAN (&94488144797376) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488144797976) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + s. " BR (&94488144798576) text " (12.9) ENDE" BR (&94488144798880) BR (&94488144799064) text " (Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488144799368) attr href "#2.8" text "2.8" text " ]" BR (&94488144799968) text " " SPAN (&94488144800272) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3::"" BR (&94488144800752) text " )" BR (&94488144801056) text " (13) Wenn s[0] gleich " SPAN (&94488144801360) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3"" text " und n gleich 2:" BR (&94488144801960) text " (13.1) Wenn KVNR gleich " SPAN (&94488144802264) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " (leere Zeichenkette) ist, dann FAIL." BR (&94488144802864) text " (13.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488144803168) text " (13.3) Erzeuge a=" SPAN (&94488144803472) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3::" + s[2] + "::" + s[1] + ":"" BR (&94488144803952) text " (13.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#" SPAN (&94488144804256) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit IKM gleich der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488144805616) text " (13.5) Die Antwort ist gleich " SPAN (&94488144805920) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488144806520) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + a. " BR (&94488202424704) text " (13.6) ENDE" BR (&94488202425008) BR (&94488202425192) text " (Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#" A (&94488202425496) attr href "#2.9" text "2.9" text "]" BR (&94488202426072) text " " SPAN (&94488202426376) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3:<256-Bit-RND-in-Hexform>::::"" BR (&94488202426856) text " )" BR (&94488202427160) text " (14) Wenn s[0] gleich " SPAN (&94488202427464) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""r3"" text " ist:" BR (&94488202428064) text " (14.1) Wenn n ungleich 5 ist, dann FAIL." BR (&94488202428368) text " (14.2) Wenn die Länge von s[1] ungleich 64 ist, dann FAIL." BR (&94488202428672) text " (14.3) Wenn s[5] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL." BR (&94488202428976) text " (14.4) Führe für die Variable TELEMATIK_ID die Prüfung und ggf. Umkodierung nach " SPAN (&94488202429280) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-95024" attr data-custom-label "A_18003" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " durch." BR (&94488202430816) text " (14.5) Wenn s[4] ungleich TELEMATIK_ID, dann FAIL." BR (&94488202431120) text " (14.6) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#" SPAN (&94488202431424) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673" attr data-custom-label "A_17876" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] mit IKM gleich der aktuelle Ableitungsschlüssel und info gleich s. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang." BR (&94488202432784) text " (14.7) Die Antwort ist gleich " SPAN (&94488202433088) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-KeyDerivation "" text " + Key + " SPAN (&94488202433688) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" text " + s. " BR (&94488202434288) text " (14.8) ENDE" BR (&94488202434592) BR (&94488202434776) text " (15) FAIL" text "\n " text "\n " text "\n " text "\n " P (&94488202435560) attr id "polarion_73" text "\n " DIV (&94488202436040) attr id "A_17924" attr severity "MUSS" attr class "target-element" text "\n " P (&94488202436872) B (&94488202437056) text "A_17924 - Anfragen an das SGD-HSM (Client)" text "\n " P (&94488202437480) text "Ein Client eines SGD ePA MUSS für die Anfragen an das SGD-HSM die Syntax der Kommandos und der Antworten des SGD-HSMs (für die Kommandos im verschlüsselten "EncryptedMessage"-Feld in " SPAN (&94488202437784) attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und die Auswertung der entschlüsselten Antwort (" SPAN (&94488202439144) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" OK-Derivation ..."" text ")) gemäß " SPAN (&94488202439744) attr data-option-id "custom" attr data-item-id "ML-94727" attr data-custom-label "A_17922" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " verwenden und auswerten können. " B (&94488202441104) text "[<=]" text "\n " text "\n " H2 (&94488202441648) attr id "5" attr class "target-element" text "5 Kodierung von Schlüsseln und Nachrichten" text "\n " P (&94488202442424) attr id "polarion_202" text "Im Rahmen des SGD-Protokolls müssen verschiedene Zahlenwerte (Koordinaten von Kurvenpunkten) und Hashwerte(Hashwerte von Schlüsselwerten) kodiert werden. Diese Kodierungen fließen an mehreren Stellen in eine Hashwerterzeugung mit ein. Dabei ist es wichtig, ob bspw. die Zahl 10 als "0xa" oder "0xA" kodiert wird. Analog bei Hashwerten in Hexadezimalform, die in eine Hashwerterzeugung mit einfließen." text "\n " DIV (&94488202443024) attr id "A_18249" attr severity "MUSS" attr class "target-element" text "\n " P (&94488202443856) B (&94488202444040) text "A_18249 - Groß- und Kleinschreibung von Daten in Hexadezimalform" text "\n " P (&94488202444464) text "Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass, wenn sie Datenfeld in Hexadezimalform kodieren, sie stets kleine Buchstaben bei der Hexadezimal-Kodierung verwenden (a-f und nicht A-F). " B (&94488202444768) text "[<=]" text "\n " text "\n " P (&94488202445312) attr id "polarion_170" text "Gut-Beispiel (vgl. " SPAN (&94488202445792) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ):" text "\n " P (&94488202447448) attr id "polarion_175" SPAN (&94488202447808) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1 " +" BR (&94488202448288) text " " SPAN (&94488202448592) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x3672030bace787aa319e21d40645b2999006beec437fd084dd3fc592f5fcd77c" + " " +" BR (&94488202449072) text " " SPAN (&94488202449376) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x335b226ce5fac0c36a18ce42e95f43c9eed3e256bdd0c98e55a069595515d15b" + " " +" BR (&94488202449856) text " " SPAN (&94488202450160) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7" + " " +" BR (&94488202450640) text " " SPAN (&94488202450944) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a"" text "\n " DIV (&94488202451544) attr id "A_18250" attr severity "MUSS" attr class "target-element" text "\n " P (&94488202452376) B (&94488202452560) text "A_18250 - keine führenden Nullen bei Punktkoordinaten" text "\n " P (&94488202452984) text "Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass wenn sie Koordinaten von Kurvenpunkten in Hexadezimalform kodieren, keine führende(n) Null(en) verwenden:" BR (&94488202453288) text " OK: "0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d"" BR (&94488202453592) text " Falsch: "0x0a8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d"" BR (&94488202453896) text " Falsch: "0x00a8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d" " B (&94488202454200) text "[<=]" text "\n " text "\n " P (&94488202454744) attr id "polarion_205" text "Bei der Kodierung der ECIES-Schlüssel (vgl. " SPAN (&94488202455224) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488202456760) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") müssen X- und Y-Koordinaten als Zahlenwerte in Hexadezimalform in einer menschenlesbaren Zeichenkette (string) kodiert werden. Es gibt Kryptographie-Softwarebibliotheken, die falls die Koordinatenwerte mit einer 1 im most-significant Byte beginnen, ein Nullbyte vor den Koordinatenwert setzen. Dies kommt aus einer Konvention aus der ASN.1-Kodierungsweise, die im SGD-Kontext keine Rolle spielt (Ausnahme im DER-kodierten Zertifikat selbst). Beispiel: Die Zahl 128 muss Hexadezimal als "0x80" und nicht als "0x0080" kodiert werden." text "\n " H3 (&94488142417600) attr id "5.1" attr class "target-element" text "5.1 Kodierung von Schlüsseln" text "\n " H4 (&94488142418376) attr id "5.1.1" attr class "target-element" text "5.1.1 ECIES-Schlüssel eines SGD-HSM" text "\n " P (&94488142419152) attr id "polarion_216" text "Bei der Operation GetPublicKey (" SPAN (&94488142419632) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") muss der aktuelle öffentliche ECIES-Schlüssel (" SPAN (&94488142421168) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S4)) des SGD-HSMs an einen Client versendet werden." text "\n " DIV (&94488142422824) attr id "A_17894" attr severity "MUSS" attr class "target-element" text "\n " P (&94488142423656) B (&94488142423840) text "A_17894 - SGD, Kodierung des öffentlichen ECIES-Schlüssels + Signatur + Zertifikat" text "\n " P (&94488142424264) text "Ein SGD ePA MUSS sicherstellen, dass der signierte öffentliche ECIES-Schlüssel inkl. Zertifikat eines SGD-HSMs in folgender Kodierung übertragen (vgl. Operation GetPublicKey, " SPAN (&94488142424568) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17895" attr data-item-id "ML-94693" attr data-option-id "custom" text ") wird." BR (&94488142425928) text " " BR (&94488142426232) text " " SPAN (&94488142426536) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "PublicKeyECIES" : " 0x 0x"," BR (&94488142427016) text " " SPAN (&94488142427320) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "Signature" : "... Base64-kodierte-ECDSA-Signatur ..."," BR (&94488142427800) text " " SPAN (&94488142428104) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "Certificate" : "... Base64-kodiertes Zertifikat vgl." SPAN (&94488142428584) attr style "font-size: 10pt;line-height: 1.5;" text " " SPAN (&94488142429064) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17846" attr data-item-id "ML-94620" attr data-option-id "custom" SPAN (&94488142430304) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text " und " SPAN (&94488142430784) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488142431144) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17918" attr data-item-id "ML-94717" attr data-option-id "custom" SPAN (&94488142432384) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text " " SPAN (&94488142432864) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text " ..." }" BR (&94488142433344) text " " SPAN (&94488142433648) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "}" BR (&94488142434128) text " " BR (&94488142434432) text " " B (&94488142434736) text "[<=]" text "\n " text "\n " P (&94488142435280) attr id "polarion_204" text "Hinweis zum besseren Verständnis: Da das Zertifikat im "Certificate"-Datenfeld direkt in der TSL aufgeführt ist (vgl." SPAN (&94488142435760) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94621" attr data-custom-label "A_17847" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und die TSL eine Positivliste ist, gibt es keine Aufführung (" SPAN (&94488142437296) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") oder Einholung von OCSP-Responses." text "\n " P (&94488142438952) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_133" text "Tabelle " SPAN (&94488142439784) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "5" text ": Beispiel zu A_17894" text "\n " TABLE (&94488142440680) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|uid=2" text "\n " TBODY (&94488142441512) text "\n " TR (&94488142441816) text "\n " TD (&94488142442120) attr style "text-align: left;vertical-align: top;width: 742px;height: 194px;border: 1px solid #CCCCCC;padding: 5px;" SPAN (&94488142442480) attr style "font-size: 10pt;line-height: 1.5;" text "Sei der aktuelle private ECIES-Schlüssel eines SGD-HSM d=2, dann ist der öffentliche Punkt 2*G [RFC-5639] aufgrund von [gemSpec_Krypt#" SPAN (&94488142442960) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94215" attr data-custom-label "A_17694" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]. Damit ist das "PubKeyECIES"-Datenfeld nach " SPAN (&94488142444320) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " folgende Zeichenkette:" BR (&94488142445856) text " " SPAN (&94488142446160) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1" + " " + " BR (&94488142446640) text " " SPAN (&94488142446944) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +" BR (&94488142447424) text " " SPAN (&94488142447728) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4"" BR (&94488142448208) BR (&94488142448392) text " " SPAN (&94488142448696) attr style "font-size: 10pt;line-height: 1.5;" text "Für die bitgenaue Aufführung wird nachfolgend das Datenfeld auch noch einmal Base64-kodiert angegeben:" BR (&94488207516232) text " " SPAN (&94488207516536) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "YnJhaW5wb29sUDI1NnIxIDB4NzQzY2YxYjhiNWNkNGYyZWI1NWY4YWEzNjk1OTNhYzQzNmVmMDQ0" BR (&94488207516992) text " " SPAN (&94488207517296) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "MTY2Njk5ZTM3ZDUxYTE0YzJjZTEzZWEwZSAweDM2ZWQxNjMzMzdkZWJhOWM5NDZmZTBiYjc3NjUy" BR (&94488207517776) text " " SPAN (&94488207518080) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "OWRhMzhkZjA1OWY2OTI0OTQwNjg5MmFkYTA5N2VlYjdjZDQK" text "\n " text "\n " text "\n " text "\n " P (&94488207519040) attr id "polarion_209" text "\n " DIV (&94488207519520) attr id "A_17899" attr severity "MUSS" attr class "target-element" text "\n " P (&94488207520352) B (&94488207520536) text "A_17899 - SGD-Clients, Auswertung der Kodierung des öffentlichen ECIES-Schlüssels eines SGD-HSMs" text "\n " P (&94488207520960) text "Ein Client eines SGD ePA MUSS als Antwort auf einen GetPublicKey-Request (" SPAN (&94488207521264) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17895" attr data-item-id "ML-94693" attr data-option-id "custom" text ") die Kodierung nach " SPAN (&94488207522624) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text " des öffentlichen ECIES-Schlüssels eines SGD-HSMs auswerten können. " B (&94488207523984) text "[<=]" text "\n " text "\n " H4 (&94488207524528) attr id "5.1.2" attr class "target-element" text "5.1.2 ECIES-Schlüssel eines Clients" text "\n " P (&94488207525304) attr id "polarion_207" text "Das kurzlebige ECIES-Schlüsselpaar eines Clients (ePA-FdV, FM EPA etc.) muss an die aktuellen öffentlichen ECDH-Schlüssel des nun angefragten SGD-HSM "gebunden" werden. Dies geschieht über die Signatur durch die eGK, die alternative Versichertenidentität, die SMC-B oder eine SMC-KTR." text "\n " DIV (&94488207525904) attr id "A_17900" attr severity "MUSS" attr class "target-element" text "\n " P (&94488207526736) B (&94488207526920) text "A_17900 - SGD-Clients, Kodierung des eigenen kurzlebigen ECIES-Schlüssels" text "\n " P (&94488207527344) text "Ein Client eines SGD ePA MUSS für die Kodierung des "PublicKeyECIES"-Feldes folgende Kodierung verwenden (vgl. " SPAN (&94488207527648) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "Operation KeyDerivation" attr data-item-id "ML-94693" attr data-option-id "custom" text " ):" BR (&94488207529008) text " " BR (&94488207529312) text " "" SPAN (&94488207529616) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" + " " + "0x" + "0x" + " " + "" + " " + "" " BR (&94488207530096) text " (vgl. [gemSpec_SGD_ePA#Hinweis zu A_17900]). " B (&94488207530400) text "[<=]" text "\n " text "\n " P (&94488207530944) attr id "polarion_217" text "Hinweis zu A_17900: vor den SHA-256-Hashwerten steht kein "0x"-Präfix, weil es sich bei SHA-256-Hashwerten nicht um Zahlen handelt, sondern um 256-Bit große Bitfelder." text "\n " P (&94488207531544) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_143" text "Tabelle " SPAN (&94488207532376) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "6" text ": Beispiel zu A_17900" text "\n " TABLE (&94488207533272) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=2" text "\n " TBODY (&94488207534104) text "\n " TR (&94488207534408) text "\n " TD (&94488207534712) attr style "text-align: left;vertical-align: top;width: 742px;height: 96.6667px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488207535072) attr style "font-size: 10pt;line-height: 1.5;" text "Im Beispiel wird zunächst ein ECIES-Schlüssel für SGD 1 erzeugt (Schritt 1) und dann für SGD 2 (Schritt 2)." BR (&94488207535552) text " " SPAN (&94488207535856) attr style "font-size: 10pt;line-height: 1.5;" text "Danach wird ein ECIES-Schlüssel vom Client erzeugt und die Hashwerte der beiden SGD-Schlüssel (aus Schritt 1 und Schritt 2) werden in die Kodierung des öffentlichen Client-Schlüssels mit aufgenommen (Schritt 3)." BR (&94488207536336) text " " SPAN (&94488207536640) attr style "font-size: 10pt;line-height: 1.5;" BR (&94488207537000) text " " SPAN (&94488207537304) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Schritt 1, aktueller Schlüssel SGD 1:" BR (&94488207537784) text "\n " text "\n " TR (&94488207538208) text "\n " TD (&94488207538512) attr style "text-align: left;vertical-align: top;width: 742px;height: 174px;border: 1px solid #CCCCCC;padding: 2px;" text "Sei als Beispiel der aktuelle private ECIES-Schlüssel eines SGD-HSM vom SGD 1:" BR (&94488207538992) text " \n " DIV (&94488207539296) attr style "margin-left: 40px;" text "\n d=2.\n " text "Dann ist der öffentliche Punkt d*G=2*G [RFC-5639] aufgrund von [gemSpec_Krypt#" SPAN (&94488207539896) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94215" attr data-custom-label "A_17694" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]. Somit ist das "PubKeyECIES"-Datenfeld nach " SPAN (&94488207541256) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " folgende Zeichenkette:" BR (&94488207542792) text " " SPAN (&94488207543096) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1" + " " + " BR (&94488207543576) text " " SPAN (&94488207543880) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +" BR (&94488207544360) text " " SPAN (&94488207544664) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4" BR (&94488207545144) text " dessen SHA-256-Hashwert ist folglich" BR (&94488207545448) text " " SPAN (&94488207545752) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7" BR (&94488207546232) text "\n " text "\n " TR (&94488207546656) text "\n " TD (&94488207546960) attr style "text-align: left;vertical-align: top;width: 742px;height: 18.4444px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488207547320) attr style "font-weight: bold;" text "Schritt 2, aktueller Schlüssel SGD 2:" BR (&94488207547800) text "\n " text "\n " TR (&94488207548224) text "\n " TD (&94488207548528) attr style "text-align: left;vertical-align: top;width: 742px;height: 117.111px;border: 1px solid #CCCCCC;padding: 2px;" text "Analog der aktuelle Schlüssel des verwendeten SGD-HSM vom SGD 2 mit d=3:" BR (&94488152267576) text " " SPAN (&94488152267880) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1 " +" BR (&94488152268360) text " " SPAN (&94488152268664) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d" + " " +" BR (&94488152269144) text " " SPAN (&94488152269448) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x4b49cafc7dac26bb0aa2a6850a1b40f5fac10e4589348fb77e65cc5602b74f9d"" BR (&94488152269928) text " dessen SHA-256-Hashwert ist damit" BR (&94488152270232) text " " SPAN (&94488152270536) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a" BR (&94488152271016) text "\n " text "\n " TR (&94488152271440) text "\n " TD (&94488152271744) attr style "text-align: left;vertical-align: top;width: 742px;height: 37.1111px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488152272104) attr style "font-weight: bold;" text "Schritt 3, an die beiden Schlüssel über die Hashwerte und die folgende Signatur gebundener ephemerer ECIES-Schlüsselwert des Clients:" BR (&94488152272584) text "\n " text "\n " TR (&94488152273008) text "\n " TD (&94488152273312) attr style "text-align: left;vertical-align: top;width: 742px;height: 174.889px;border: 1px solid #CCCCCC;padding: 2px;" text "Dessen privater Schlüssel sei als Beispiel d=4. Damit ergibt sich mit den Schritten 1 und 2 zusammen folgende Zeichenkette." BR (&94488152273792) text " " SPAN (&94488152274096) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1 " +" BR (&94488152274576) text " " SPAN (&94488152274880) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x3672030bace787aa319e21d40645b2999006beec437fd084dd3fc592f5fcd77c" + " " +" BR (&94488152275360) text " " SPAN (&94488152275664) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x335b226ce5fac0c36a18ce42e95f43c9eed3e256bdd0c98e55a069595515d15b" + " " +" BR (&94488152276144) text " " SPAN (&94488152276448) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7" + " " +" BR (&94488152276928) text " " SPAN (&94488152277232) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a"" BR (&94488152277712) BR (&94488152277896) text " Diese Zeichenkette würde dann als Wert im Value-Feld beim "PublicKeyECIES"-Feld in einem Request bei " SPAN (&94488152278200) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898 (KeyDerivation)" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " stehen." BR (&94488152279736) text "\n " text "\n " text "\n " text "\n " DIV (&94488152280400) attr id "A_17901" attr severity "MUSS" attr class "target-element" text "\n " P (&94488152281232) B (&94488152281416) text "A_17901 - SGD-Clients, Kodierung der Signatur des eigenen ECIES-Schlüssels" text "\n " P (&94488152281840) text "Ein Client eines SGD ePA MUSS die Kodierung des eigenen kurzlebigen ECIES-Schlüssels nach " SPAN (&94488152282144) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text " signieren (mittels des AUT- oder AUT_ALT-Materials). Diese Signatur MUSS von ihm Base64-kodiert in den Value-Teil des "Signature"-Felds bei der Operation GetAuthenticationToken (" SPAN (&94488152283504) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18025" attr data-item-id "ML-96281" attr data-option-id "custom" text ") und KeyDerivation " SPAN (&94488152284864) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text "  für einen Request eingetragen werden." BR (&94488152286224) text " " B (&94488152286528) text "[<=]" text "\n " text "\n " H3 (&94488152287072) attr id "5.2" attr class "target-element" text "5.2 Kodierung von Chiffraten" text "\n " DIV (&94488152287848) attr id "A_17902" attr severity "MUSS" attr class "target-element" text "\n " P (&94488152288680) B (&94488152288864) text "A_17902 - Kontext SGD, Chiffrat-Kodierung beim Nachrichtentransport" text "\n " P (&94488152289288) text "Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass die in den "EncryptedMessage"-Feldern bei " SPAN (&94488152289592) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18021" attr data-item-id "ML-94692" attr data-option-id "custom" text " (GetAuthenticationToken) und bei " SPAN (&94488152290952) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898 (KeyDerivation)" attr data-item-id "ML-94696" attr data-option-id "custom" text " kodierten Chiffrate (jeweils bei dem Request und bei der Response) folgendes Format aufweisen:" BR (&94488152292312) text " " BR (&94488152292616) text " Hilfsdefinitionen:" BR (&94488152292920) text " \n " OL (&94488152293224) text " \n " LI (&94488152293528) text "Sei "ECC-Punkt-Empfänger" der öffentliche Empfängerschlüssel in der Kodierung nach [" SPAN (&94488152293832) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text " #"PublicKeyECIES"-Datenfeld] (" SPAN (&94488152295192) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" 0x 0x"" text ")." BR (&94488152295792) text " " text " \n " LI (&94488152296216) text "Sei "ephemer-Sender-ECC-Punkt" der pro ECIES-Verschlüsselung vom Sender ephemer zu erzeugende öffentlichen ECC-Punkt. Dieser ist in der Kodierung" SPAN (&94488152296520) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""0x 0x"" text " kodiert." BR (&94488152297120) text " " text " \n " LI (&94488152297544) text "Sei "Base64-Ciphertext-AES-GCM" das Base64-kodierte AES-GCM-Chiffrat, wobei das AES-GCM-Chiffrat aus der Aneinanderreihung folgender Bestandteile besteht:" BR (&94488152297848) text " 12 Byte IV + AES-GCM-Ciphertext + 16 Byte AuthTag (ICV). (vgl. auch [gemSpec_Krypt#" SPAN (&94488152298152) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "])" BR (&94488152299336) text " " text " \n " text " Das Format MUSS folgende Form besitzen:" BR (&94488152299880) text " " SPAN (&94488215362808) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "" "" BR (&94488215363136) text " " BR (&94488215363440) text " (vgl. auch "Beispiel zu " SPAN (&94488215363744) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text "")" BR (&94488215365104) text " " B (&94488215365408) text "[<=]" P (&94488215365712) text "\n " text "\n " P (&94488215366136) attr id "polarion_141" text "Hinweise zu " SPAN (&94488215366616) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ":" text "\n " OL (&94488215368272) attr id "polarion_100" text "\n " LI (&94488215368752) text "Der bei den Requests bei " SPAN (&94488215369056) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (GetAuthenticationToken) und bei " SPAN (&94488215370592) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898 (KeyDerivation)" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " übergebene ECIES-Schlüssel hat nach " SPAN (&94488215372128) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " die beiden Hashwerte der SGD-HSMs Schlüssel von SGD 1 und SGD 2 beigefügt (durch die Signatur des Client mit authentisiert). Beim der Chiffratkodierung nach " SPAN (&94488215373664) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " sind die beiden Hashwerte kein Teil des Chiffrats, weil sie dort fachlich nicht notwendig sind." text "\n " LI (&94488215375320) text "Beim pro ECIES-Verschlüsselung vom Sender zu erzeugende ephemeren ECC-Punkt ("ephemer-Sender-ECC-Punkt") wird der Kurvenidentifikator (KurvenID) nicht mit aufgeführt, da der ECC-Punkt auf der gleichen Kurve wie der Empfänger ECC-Punkt liegen muss (vgl." SPAN (&94488215375624) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94702" attr data-custom-label "A_17903" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " text "\n " P (&94488215377400) attr id "polarion_146" text "Beispiel zu " SPAN (&94488215377880) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ":" text "\n " P (&94488215379536) attr id "polarion_260" text "Sei durch den Client folgender Klartext im Rahmen der Operation KeyDerivation (" SPAN (&94488215380016) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96286" attr data-custom-label "A_18029" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") vom Client an ein SGD-HSM zu übertragen:" text "\n " P (&94488215381672) attr id "polarion_151" SPAN (&94488215382032) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa " SPAN (&94488215382512) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a01fae7930340c " SPAN (&94488215382992) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "KeyDerivation r2:7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2-20a1201-001:Bezeichner ACME Q1 2020"" text "\n " P (&94488215383592) attr id "polarion_160" text "Dann hat das für den Request vom Client zu erzeugende Chiffrat ("EncryptedMessage"-Feld im Request) folgende Form" text "\n " P (&94488215384192) attr id "polarion_169" SPAN (&94488215384552) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""brainpoolP256r1" + " " + " BR (&94488215385032) text " " SPAN (&94488215385336) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +" BR (&94488215385816) text " " SPAN (&94488215386120) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4" + " " +" BR (&94488215386600) text " " SPAN (&94488215386904) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d" + " " +" BR (&94488215387384) text " " SPAN (&94488215387688) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""0x4b49cafc7dac26bb0aa2a6850a1b40f5fac10e4589348fb77e65cc5602b74f9d" + " " +" BR (&94488215388168) text " " SPAN (&94488215388472) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""pvUazQKriCfuE5wUX74yj5lvnzygbaUgtP/gAY1aPs1NjXCiWseV4GquSKdMozNoYsfIf0LbdpLwKdUSFYz2dySspGLTUBpmalYz/6G/B5M19y6Ce+TyoLJehTB0TzzAD9pwzVSJFsUiYCUG1KU6SohSjAIxHrebyo7+MYuQAd4uPnZ3ZiDukWglDr/7fTUafAEiF5gS0T+LRcaKimfSmPQjtjomgjn6jfl5u9gSyrAwOTCuVkZpSY6yjI1LjEy2jKRpMov4DiYTCMMbY8fLG1PmBp4SDvoLd7p+2ay9cyx1qYU43/zbxQGfK3nzBtFKMggS+73rHJpCL+0FPYoqTRkSAN17vxRUHCBESUfd9aAar3ZrhMrQwSj/QKnyG6Gg43WHYMjT6znsHxA="" text "\n " DIV (&94488215389072) attr id "A_17903" attr severity "MUSS" attr class "target-element" text "\n " P (&94488215389904) B (&94488215390088) text "A_17903 - Kontext SGD, Prüfung der ephemeren ECC-Schlüssel des Senders beim ECIES-Verfahren" text "\n " P (&94488215390512) text "Ein SGD ePA und ein Client eines SGD-ePA MÜSSEN sicherstellen, dass sie die beim Empfang einer über das ECIES-Verfahren verschlüsselten Nachricht den vom Sender erzeugten ephemeren ECC-Punkt überprüfen:" BR (&94488215390816) text " \n " OL (&94488215391120) text " \n " LI (&94488215391424) text "Dieser ECC-Punkt MUSS auf der gleichen elliptischen Kurve wie der Empfänger-ECC-Punkt liegen." text " \n " text " (Hinweis: der Punkt im Unendlichen ist ebenfalls ein ungültiger Punkt. Dieser Punkt kann aufgrund des Kodierungsformats aus " SPAN (&94488215391968) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text " hier nicht auftreten.)" BR (&94488215393328) text " " B (&94488215393632) text "[<=]" P (&94488215393936) text "\n " text "\n " P (&94488215394360) attr id "polarion_264" text "Verständnishinweis zu " SPAN (&94488215394840) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94702" attr data-custom-label "A_17903" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " : Da dies ein häufig auftretender sicherheitskritischer Implementierungsfehler ist, wird auf diesen Punkt explizit hingewiesen und damit eine gesonderte Stellungnahme diesbezüglich im Produktsicherheitsgutachten gefordert." text "\n " H2 (&94488237274160) attr id "6" attr class "target-element" text "6 Schnittstellen und Operationen" text "\n " P (&94488237274936) attr id "polarion_103" text "Der SGD ePA bietet innerhalb der TI eine HTTPS-Schnittstelle als Kommunikationsschnittstelle an." text "\n " P (&94488237275536) attr id "polarion_104" text "Die gematik stellt auf Anfrage eine Beispiel-Implementierung für die Außenschnittstellen eines SGD bereit." text "\n " H3 (&94488237276136) attr id "6.1" attr class "target-element" text "6.1 Innenschnittstellen" text "\n " P (&94488237276912) attr id "polarion_148" text "Die Innenschnittstellen zwischen der Request verarbeitende Einheit (RVE) für die eingehenden HTTP-Request und dem SGD-HSM sind SGD-intern. Deren Ausgestaltung bleibt dem Betreiber überlassen." text "\n " H3 (&94488237277512) attr id "6.2" attr class "target-element" text "6.2 HTTPS-Schnittstellen und HTTP-Kommunikation" text "\n " DIV (&94488237278288) attr id "A_17889" attr severity "MUSS" attr class "target-element" text "\n " P (&94488237279120) B (&94488237279304) text "A_17889 - HTTPS-Schnittstelle SGD" text "\n " P (&94488237279728) text "Ein SGD ePA MUSS Folgendes sicherstellen:" SPAN (&94488237280032) attr style "font-size: 10pt;line-height: 1.5;" BR (&94488237280392) text " \n " OL (&94488237280696) text "\n " LI (&94488237281000) text "Der SGD MUSS über eine HTTPS-Außenschnittstelle in der TI verfügbar sein" SPAN (&94488237281304) attr style "font-size: 10pt;line-height: 1.5;" text "." text "\n " LI (&94488237281904) text "Für diese HTTPS-Schnittstelle MUSS der SGD ein TLS-Fachdienst Zertifikat (inkl. privatem Schlüssel) mit dem Profil C.FD.TLS-S (vgl. [gemSpec_PKI#C.FD.TLS-S Server-Authentisierung] und OID "oid_sgd" [gemSpec_OID]) aus der Komponenten-PKI der TI besitzen und verwenden." BR (&94488237282208) text "\n " LI (&94488237282512) text "Der SGD MUSS bei der HTTPS-Schnittstelle HTTP Version 1.1 unterstützen." text "\n " LI (&94488237282936) text "Über diese HTTPS-Schnittstelle MUSS der SGD HTTP-POST-Request mit dem Content-Type 'application/json' entgegennehmen." text "\n " LI (&94488237283360) text "Antworten MUSS der SGD auf einen solchen HTTP-POST-Request immer mit einen HTTP-Response mit dem Content-Type 'application/json'." text "\n " text " " B (&94488237283904) text "[<=]" P (&94488237284208) text "\n " text "\n " P (&94488237284632) attr id "polarion_188" text "Genaue Vorgaben für die Verwendung des TLS-Protokolls bei der HTTPS-Schnittstelle befinden sich in [gemSpec_Krypt] und die entsprechenden Anforderungen sind den Produkttypen (Produkttypsteckbrief) zugewiesen." text "\n " DIV (&94488237285232) attr id "A_17890" attr severity "KANN" attr class "target-element" text "\n " P (&94488237286064) B (&94488237286248) text "A_17890 - HTTPS-Schnittstelle SGD, KANN HTTP/2" text "\n " P (&94488237286672) text "\n " META (&94488237286976) attr http-equiv "Content-Type" attr content "text/html; charset=UTF-8" text "\n " META (&94488237287632) attr content "HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org" attr name "generator" TITLE (&94488237288168) P (&94488237288360) SPAN (&94488237288544) text "Ein SGD ePA KANN auf dessen HTTPS-Schnittstelle nach " SPAN (&94488237288848) SPAN (&94488237289032) SPAN (&94488237289216) attr linkid "189" attr data-type "crossReference" attr data-option-id "custom" attr data-item-id "ML-94687" attr data-custom-label "A_17889" attr class "polarion-rte-link" SPAN (&94488237290456) SPAN (&94488237290640) attr style "text-decoration: underline;" SPAN (&94488237291000) attr style "text-decoration: underline;" SPAN (&94488237291360) text " zusätzlich HTTP " SPAN (&94488237291664) text "Version 2 (HTTP/2) anbieten." text " " B (&94488237292088) text "[<=]" P (&94488237292392) text "\n " text "\n " P (&94488237292816) attr id "polarion_108" text "Das ZGdV (vgl." SPAN (&94488237293296) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Zugangsgateway_Vers?selection=ML-93876" attr data-custom-label "[gemSpec_Zugangsgateway_Vers#Proxy Schlüsselgenerierungsdienst]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text ") ist im Vergleich zu einem SGD in einer besseren Position, Gegenmaßnahmen gegen DoS-Angriffe aus dem Internet zu ergreifen. Ein SGD kennt nicht die IP-Adresse des Clients – alle Requests kommen von einer IP-Adresse des ZGdV. Deswegen kann ein SGD nur schlecht auf IP-Ebene DoS-Gegenmaßnahmen ergreifen. Es kann jedoch die kryptographische Identität des Anfragenden mit hoher Sicherheit schon in der RVE feststellen und bei DoS-Angriffen auf dieser Grundlage Client-spezifische DoS-Gegenmaßnahmen ergreifen." text "\n " DIV (&94488237294776) attr id "A_17891" attr severity "MUSS" attr class "target-element" text "\n " P (&94488237295608) B (&94488237295792) text "A_17891 - HTTPS-Schnittstelle SGD, DoS-Schutz" text "\n " P (&94488237296216) text "Ein SGD ePA MUSS bei seiner HTTPS-Schnittstelle in der Request verarbeitenden Einheit (RVE) Maßnahmen gegen DoS-Angriffe auf Applikation-Ebene umsetzen (vgl. [gemSpec_SGD_ePA#Hinweise zu A_17891]). " B (&94488237296520) text "[<=]" text "\n " text "\n " P (&94488237297064) attr id "polarion_86" text "Hinweise zu A_17891:" text "\n " P (&94488237297664) attr id "polarion_190" text "In Bezug auf DoS-Gegenmaßnahmen auf Applikation-Ebene steht die Operation " SPAN (&94488237298144) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94567" attr data-custom-label "KeyDerivation" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ( " SPAN (&94488237299680) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) im Fokus, also die Operation, die unmittelbaren Zugriff auf die SGD-HSM verlangt." text "\n " P (&94488237301336) attr id "polarion_28" text "Bei der Operation " SPAN (&94488237301816) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94563" attr data-custom-label "GetPublicKey" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (" SPAN (&94488237303352) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") wird nur eine Datenstruktur nach " SPAN (&94488237304888) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (aktueller ECIES-Schlüssel des avisierten SGD-HSM) quasi semistatisch zurückgeliefert. Eine RVE muss die ECIES-Schlüssel alle 15 Minuten vom jeweiligen SGD-HSM erfragen und in eine  Datenstruktur nach " SPAN (&94488173249656) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94692" attr data-custom-label "A_17894" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " überführen. Diese Datenstruktur liefert die RVE dann statisch 15 Minuten lang aus. Damit steht dort der DoS-Schutz auf Anwendungsebene nicht im Fokus." text "\n " P (&94488173251312) attr id "polarion_183" text "Bei der Operation " SPAN (&94488173251792) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94567" attr data-custom-label "KeyDerivation" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (" SPAN (&94488173253328) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) muss die RVE die Signatur und das Zertifikat des Clients prüfen (vgl. bspw. " SPAN (&94488173254864) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) und bei nicht-positivem Prüfergebnis verwerfen (" SPAN (&94488173256400) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Wenn ein Client zu oft Anfragen stellt, so kann die RVE dessen Anfragen herunter priorisieren. Effizient kann man dies mittels "counting bloom filter" implementieren. Dafür erzeugt der SGD ein ausreichend großes 64-bit-Zählerfeld. Bspw. die letzten 256 Bits der Signatur des AUT-Zertifikats werden beim Eintreffen der schon geprüften Requests über eine (nicht-notwendigerweise kryptographisch sichere, d. h. sehr performante) Hashfunktion auf einen Index des Feldes überführt. Dort wird der Zähler mit dem entsprechenden Index im Feld erhöht. Falls dieser Zählerwert über einem festgelegten Limit ist, wird der Request abgelehnt. Periodisch werden alle Zähler des Zählerfeldes, die größer als null sind, verringert." text "\n " P (&94488173258056) attr id "polarion_195" text "Bei der Requestverarbeitung (vgl. Abschnitt " SPAN (&94488173258536) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-93580" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") meldet das SGD-HSM der RVE verschiedene Fehlerfälle. Treten bei Requests mit bestimmten "Certificate"-Inhalten besonders häufig Fehler auf, so kann die RVE solche Requests für eine gewisse Zeit sperren oder ein Rate-Limiting für solche Requests durchsetzen." text "\n " P (&94488173260016) attr id "polarion_196" text "Bei bestimmten Arten von DoS-Angriffen kann nur das ZGdV effektiv Gegenmaßnahmen ergreifen (vgl. Kommentar vor " SPAN (&94488173260496) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94689" attr data-custom-label "A_17891" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " H3 (&94488173262152) attr id "6.3" attr class "target-element" text "6.3 Anforderungen an die JSON-Requests und -Responses" text "\n " DIV (&94488173262928) attr id "A_17892" attr severity "MUSS" attr class "target-element" text "\n " P (&94488173263760) B (&94488173263944) text "A_17892 - Aufwärtskompatibilität JSON-Requests und -Responses" text "\n " P (&94488173264368) text "Alle an einer Kommunikation mit einer SGD beteiligten Parteien (Client, ZGdV, SGD selbst) MÜSSEN sicherstellen, dass die JSON-Datenstrukturen, die bei der Kommunikation übermittelt werden, zusätzliche Key-Value-Paare enthalten können, d. h. ein Beteiligter MUSS ihm unbekannte Key-Value-Paare ignorieren. " B (&94488173264672) text "[<=]" text "\n " text "\n " DIV (&94488173265216) attr id "A_17893" attr severity "MUSS" attr class "target-element" text "\n " P (&94488173266048) B (&94488173266232) text "A_17893 - Maximale Größe der JSON-Requests und -Responses" text "\n " P (&94488173266656) text "Ein SGD ePA und ein Client eines SGD ePA MÜSSEN JSON-Requests und -Responses auf den SGD (GetPublicKey, KeyDerivation) ablehnen, wenn diese größer als 2 MiB sind. " B (&94488173266960) text "[<=]" text "\n " text "\n " P (&94488173267504) attr id "polarion_68" text "Hinweis zu A_17893:" text "\n " P (&94488173268104) attr id "polarion_93" text "Bei einer Sicherheitsüberprüfung muss u. a. die Validierung von Daten an der Außenschnittstelle betrachtet werden. Dabei unterstützt " SPAN (&94488173268584) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94690" attr data-custom-label "A_17893" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ." text "\n " H3 (&94488173270240) attr id "6.4" attr class "target-element" text "6.4 Operation GetPublicKey" text "\n " DIV (&94488173271016) attr id "A_17895" attr severity "MUSS" attr class "target-element" text "\n " P (&94488173271848) B (&94488173272032) text "A_17895 - SGD, Operation GetPublicKey" text "\n " P (&94488173272456) text "Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. " SPAN (&94488173272760) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17889" attr data-item-id "ML-94687" attr data-option-id "custom" text ") ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_GetPublicKey-Request] eintrifft, so MUSS die RVE das Zertifikat im Datenfeld "Certificate" des Requests asynchron prüfen (Prüfung gegen die TSL inkl. Sperrinformationen über OCSP) (vgl. auch [gemSpec_SGD_ePA#Hinweis zu A_17895). Unabhängig vom Prüfergebnis MUSS der SGD eines seiner SGD-HSMs auswählen, an das er den zu erwartenden Folgerequest (im Normalfall KeyDerivation) senden möchte. In Bezug auf dieses avisierte SGD-HSM MUSS der SGD den aktuellen signierten öffentlichen ECIES-Schlüssel des SGD-HSMs + Zertifikat nach der in " SPAN (&94488173274120) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text " angegebenen Kodierung als Antwort senden." BR (&94488173275480) text " " B (&94488173275784) text "[<=]" text "\n " text "\n " P (&94488173276328) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_145" text "Tabelle " SPAN (&94488173277160) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "7" text ": Tab_GetPublicKey-Request" text "\n " TABLE (&94488173278056) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=3" text "\n " TBODY (&94488173278888) text "\n " TR (&94488173279192) text "\n " TD (&94488173279496) attr style "text-align: left;vertical-align: top;width: 748px;height: 217px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488173279856) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "{ "Command"      : "GetPublicKey"," BR (&94488173280336) text " " SPAN (&94488173280640) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "Certificate"  : "... Base64-kodiertes Client-Zertifikat ... "," BR (&94488173281120) text " " SPAN (&94488173281424) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "OCSPResponse" : "... Base64-kodierte OCSP-Response ..."" BR (&94488141674584) text " " SPAN (&94488141674888) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "}" BR (&94488141675344) BR (&94488141675528) text " " SPAN (&94488141675832) attr style "font-size: 10pt;line-height: 1.5;" text "oder" BR (&94488141676312) BR (&94488141676496) text " " SPAN (&94488141676800) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{" text " " SPAN (&94488141677400) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text ""Command"      : "GetPublicKey"," BR (&94488141677880) text " " SPAN (&94488141678184) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "Certificate"  : " ... Base64-kodiertes Client-Zertifikat ... "," BR (&94488141678664) text " " SPAN (&94488141678968) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "OCSPResponse" : """ BR (&94488141679448) text " " SPAN (&94488141679752) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "}" BR (&94488141680232) text "\n " text "\n " text "\n " text "\n " P (&94488141680896) attr id "polarion_126" text "\n " P (&94488141681376) attr id "polarion_19" text "Hinweis zu A_17895:" text "\n " P (&94488141681976) attr id "polarion_25" text "In " SPAN (&94488141682456) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  steht die Zertifikatsprüfung des im Request enthaltenen Zertifikats nicht in Bezug zu einer Signaturprüfung einer Challenge oder eines durch den Client zu authentisierenden Datums. Damit findet hier keine Authentifizierung statt. Das Aufführen des Zertifikats hat die zwei folgenden Ziele:" text "\n " OL (&94488141684112) attr id "polarion_41" text "\n " LI (&94488141684592) text "Es wird damit einem SGD ermöglicht, gutartige (nicht-manipulierte) Requests auf mehrere SGD-HSM bspw. in verschiedenen geographischen Orten (Verfügbarkeitsanforderung) zu verteilen. Denn die in den verschiedenen SGD-HSMs erzeugten ECIES-Schlüsselpaare müssen damit nicht synchronisiert werden." BR (&94488141684896) text " Sollte ein Angreifer ein falsches AUT-Zertifikat schicken, so entsteht dadurch kein Sicherheitsproblem." text "\n " LI (&94488141685320) text "Es wird außerdem einem SGD ermöglicht, vorab eine Zertifikatsprüfung (Einholen der OCSP-Antworten) durchzuführen (diese OCSP-Antworten werden von dem SGD-HSM benötigt). Diese Zertifikatsprüfung muss die RVE asynchron durchführen, d. h. der SGD darf den Client in Bezug auf die Antwort (der aktuelle signierte ECIES-Schlüssel des für den Client "vorgesehenen" SGD-HSMs) nicht warten lassen." text "\n " text "\n " DIV (&94488141685864) attr id "A_17896" attr severity "MUSS" attr class "target-element" text "\n " P (&94488141686696) B (&94488141686880) text "A_17896 - SGD: Vorhalten (caching) von Zertifikatsprüfungen in der RVE" text "\n " P (&94488141687304) text "Eine SGD ePA MUSS das Ergebnis einer Zertifikatsprüfung (inkl. OCSP-Response) innerhalb der RVE 4 Stunden vorhalten (cachen) und, falls ein vorgehaltenes Prüfergebnis vorliegt, dieses anstatt einer neuen Zertifikatsprüfung verwenden. Prüfergebnisse, die älter als 4 Stunden sind, MÜSSEN verworfen und gelöscht werden. Falls der Client eine OCSP-Response mit übergeben hat, so MUSS der SGD zunächst diese nutzen. Wenn die OCSP-Response ungültig oder älter als 4 Stunden ist, so MUSS der SGD selbst eine OCSP-Response einholen. " B (&94488141687608) text "[<=]" text "\n " text "\n " P (&94488141688152) attr id "polarion_98" text "Wie in Abschnitt " A (&94488141688632) attr href "#2.10" text "2.10" text " beschrieben, benötigt ein SGD in Bezug auf die Schlüsselableitungsfunktionalität das AUT-Zertifikat des Nutzers und eine OCSP-Response für dieses Zertifikat. Dies bildet die Grundlage des beidseitig authentisierten verschlüsselten Datenkanals zwischen SGD-HSM und Client (vgl. Abschnitt " A (&94488141689232) attr href "#9" text "9" text "). Ein SGD darf diese beiden Daten nicht längerfristig speichern (" SPAN (&94488141689832) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94843" attr data-custom-label "A_17965" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Andere personenbezogenen Daten fallen bei einem SGD nicht an. Da ein Versicherter immer über das ZGdV eine Datenverbindung zu den beiden SGD aufbaut, erfahren beide SGD nicht die vom Versicherten verwendete IP-Adresse." text "\n " DIV (&94488141691488) attr id "A_17965" attr severity "DARF NICHT" attr class "target-element" text "\n " P (&94488141692320) B (&94488141692504) text "A_17965 - SGD: Löschen der Client-AUT-Zertifikate und OCSP-Responses" text "\n " P (&94488141692928) text "Ein SGD ePA DARF NICHT Client-spezifische Daten (also das Client-AUT-Zertifikat oder OCSP-Responses dafür) persistent (also außerhalb des Zeitraums aus " SPAN (&94488141693232) attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") speichern. " B (&94488141694592) text "[<=]" text "\n " text "\n " DIV (&94488141695136) attr id "A_17897" attr severity "MUSS" attr class "target-element" text "\n " P (&94488141695968) B (&94488141696152) text "A_17897 - SGD-Client, Anfrage GetPublicKey (Client)" text "\n " P (&94488141696576) text "Ein Client eines SGD ePA MUSS den aktuellen signierten öffentlichen ECIES-Schlüssel eines SGD-HSMs über die Operation GetPublicKey gemäß " SPAN (&94488141696880) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17895" attr data-item-id "ML-94693" attr data-option-id "custom" text " erfragen. " B (&94488141698240) text "[<=]" text "\n " text "\n " DIV (&94488141698784) attr id "A_18024" attr severity "MUSS" attr class "target-element" text "\n " P (&94488141699616) B (&94488141699800) text "A_18024 - SGD-Client, Prüfung SGD-HSM-ECIES-Schlüssel" text "\n " P (&94488141700224) text "Ein Client eines SGD ePA MUSS den über die Operation GetPublicKey (" SPAN (&94488141700528) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17895" attr data-item-id "ML-94693" attr data-option-id "custom" text ") erhaltenen signierten öffentlichen ECIES-Schlüssel eines SGD-HSMs (vgl. " SPAN (&94488141701888) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text ") wie folgt prüfen." BR (&94488141703248) text " \n " OL (&94488141703552) text " \n " LI (&94488141703856) text "Ist das erhaltene Zertifikat des SGD-HSMs (vgl. " SPAN (&94488141704160) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text ")  gemäß " SPAN (&94488141705520) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17847" attr data-item-id "ML-94621" attr data-option-id "custom" text " gültig? Falls nein, dann FAIL." text " \n " LI (&94488141707000) text "Ist das Zertifikat so wie vom Client erwartet entweder von einem SGD 1 oder von einem SGD 2 gemäß " SPAN (&94488158609960) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17848" attr data-item-id "ML-94622" attr data-option-id "custom" text "? Falls nein, dann FAIL." text " \n " LI (&94488158611416) text "Ist das erhaltene Zertifikat zeitlich gültig? Falls nein, dann FAIL." text " \n " LI (&94488158611840) text "Ist die Signatur (vgl. "Signature"-Feld bei Kodierung gemäß " SPAN (&94488158612144) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17894" attr data-item-id "ML-94692" attr data-option-id "custom" text ") korrekt ("valid"), also eine kryptographisch korrekte Signatur (ECDSA-Signatur gemäß [gemSpec_Krypt#" SPAN (&94488158613504) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17873" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94670" text "]), die auf den EE-Schlüssel aus dem in (1) bis (3) geprüften Zertifikat rückführbar ist? Falls nein, dann FAIL." text " \n " text " Wenn einer der Prüfschritte ein FAIL liefert, so MUSS der Client die Verwendung des erhalten Schlüssel (" SPAN (&94488158614928) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17895" attr data-item-id "ML-94693" attr data-option-id "custom" text ") abbrechen. " B (&94488158616288) text "[<=]" P (&94488158616592) text "\n " text "\n " H3 (&94488158617016) attr id "6.5" attr class "target-element" text "6.5 Operation GetAuthenticationToken" text "\n " DIV (&94488158617792) attr id "A_18025" attr severity "MUSS" attr class "target-element" text "\n " P (&94488158618624) B (&94488158618808) text "A_18025 - SGD-Client, Anfrage GetAuthenticationToken" text "\n " P (&94488158619232) text "Ein Client eines SGD-ePA MUSS, nachdem er den  jeweiligen aktuellen öffentlichen SGD-HSM-Schlüssel (" SPAN (&94488158619536) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17910" attr data-item-id "ML-94715" attr data-option-id "custom" text "  (S4)) für die Nachrichtenübermittelung mittels des ECIES-Verfahrens (vgl. Abschnitt " SPAN (&94488158620896) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94770" attr data-option-id "shortoutline" text " ) erfragt (" SPAN (&94488158622080) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17897" attr data-item-id "ML-94694" attr data-option-id "custom" text ") und geprüft (" SPAN (&94488158623440) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18024" attr data-item-id "ML-96280" attr data-option-id "custom" text ") hat, ein Authentisierungstoken über die Operation GetAuthenticationToken (" SPAN (&94488158624800) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18025" attr data-item-id "ML-96275" attr data-option-id "custom" text ") anfordern. " BR (&94488158626160) text " Dafür MUSS der Client eine 256-Bit-Zufallszahl als Challenge erzeugen (RND-Client) und in Hexadezimalform kodieren." BR (&94488158626464) text " Anschließend MUSS der Client die Zeichenkette "Challenge " erzeugen. " BR (&94488158626768) text " Beispiel: " BR (&94488158627072) text " " SPAN (&94488158627376) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    Challenge " SPAN (&94488158627856) attr style "font-size: 10pt;line-height: 1.5;" text "f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d" BR (&94488158628336) text " Diese Zeichenkette MUSS der Client über das ECIES-Verfahren gemäß [gemSpec_Krypt#" SPAN (&94488158628640) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "] für das SGD-HSM verschlüsseln. Das erhaltene Chiffrat MUSS der Client gemäß " SPAN (&94488158629824) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text " kodieren und die Kodierung als "EncryptedMessage" bei Operation GetAuthenticationToken (" SPAN (&94488158631184) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18201" attr data-item-id "ML-96275" attr data-option-id "custom" text ") verwenden. " B (&94488158632544) text "[<=]" text "\n " text "\n " DIV (&94488158633088) attr id "A_18021" attr severity "MUSS" attr class "target-element" text "\n " P (&94488158633920) B (&94488158634104) text "A_18021 - SGD, GetAuthenticationToken" text "\n " P (&94488158634528) text "Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. " SPAN (&94488158634832) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17889" attr data-item-id "ML-94687" attr data-option-id "custom" text ") ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_GetAuthenticationTolken-Request] eintrifft, so MUSS die RVE des SGD" SPAN (&94488158636192) attr style "font-family: Arial, Helvetica;" BR (&94488158636552) text " " text " \n " OL (&94488158636976) text " \n " LI (&94488158637280) SPAN (&94488158637464) attr style "font-family: Arial, Helvetica;" text "das Zertifikat im Datenfeld "Certificate" gemäß TUC_PKI_018 prüfen und dabei Ergebnisse nach  " SPAN (&94488158637944) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17896" attr data-item-id "ML-94695" attr data-option-id "custom" text " berücksichtigen." text " \n " LI (&94488158639424) text "die Kodierung und die Signatur der "PublicKeyECIES" prüfen (vgl. " SPAN (&94488158639728) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text " und " SPAN (&94488158641088) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17901" attr data-item-id "ML-94701" attr data-option-id "custom" text "). " text " \n " text " Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#" SPAN (&94488163483528) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94577" attr data-option-id "longoutline" text "] dem Client antworten und die weitere Requestverarbeitung abbrechen." BR (&94488163484688) text " Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl. " SPAN (&94488163484992) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18026" attr data-item-id "ML-96282" attr data-option-id "custom" text ")." BR (&94488163486352) text " Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:" BR (&94488163486656) text " " SPAN (&94488163486960) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{" BR (&94488163487440) text "   "Status" : "OK"," BR (&94488163487744) text "   "EncryptedMessage" : "... Base64-kodiertes Chiffrat gemäß" SPAN (&94488163488048) attr style "font-size: 10pt;line-height: 1.5;" text " " SPAN (&94488163488528) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text " ..."" BR (&94488163489888) text " }" BR (&94488163490192) text " " text " " SPAN (&94488163490616) attr style "font-family: Arial, Helvetica;" text "Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#" SPAN (&94488163491096) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94577" attr data-option-id "longoutline" text "]  dem Client antworten." text " " B (&94488163492400) text "[<=]" P (&94488163492704) text "\n " text "\n " P (&94488163493128) attr id "polarion_290" text "\n " P (&94488163493608) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_150" text "Tabelle " SPAN (&94488163494440) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "8" text ": Tab_GetAuthenticationToken-Request" text "\n " TABLE (&94488163495336) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=4" text "\n " TBODY (&94488163496168) text "\n " TR (&94488163496472) text "\n " TD (&94488163496776) attr style "text-align: left;vertical-align: top;width: 742px;height: 121.556px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488163497136) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "{" SPAN (&94488163497616) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488163497976) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""Command"          : "GetAuthenticationToken"," BR (&94488163498456) text " " SPAN (&94488163498760) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "PublicKeyECIES"   : " ... Kodierung nach " SPAN (&94488163499240) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488163500656) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  ..."," BR (&94488163501136) text " " SPAN (&94488163501440) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "Signature"        : " ... Base64-kodierte Signatur des PublicKeyECIES nach" SPAN (&94488163501920) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488163503336) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text " ..."," BR (&94488163503816) text " " SPAN (&94488163504120) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "Certificate"      : " ... Base64-kodiertes Client-Zertifikat ... "," BR (&94488163504600) text " " SPAN (&94488163504904) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  "EncryptedMessage" : " ... Base64-kodiertes Chiffrat nach" SPAN (&94488163505384) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488163506800) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "  ..."" BR (&94488163507280) text " " SPAN (&94488163507584) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "}" BR (&94488163508064) text "\n " text "\n " text "\n " text "\n " DIV (&94488163508728) attr id "A_18028" attr severity "MUSS" attr class "target-element" text "\n " P (&94488163509560) B (&94488163509744) text "A_18028 - SGD-Client, Auswertung der Anfrage GetAuthenticationToken" text "\n " P (&94488163510168) text "Ein Client eines SGD-ePA MUSS, nachdem er über die Operation GetAuthenticationToken (" SPAN (&94488163510472) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18025" attr data-item-id "ML-96275" attr data-option-id "custom" text " ) ein Authentisierungstoken angefordert hat, die Antwort in "EncryptedMessage" mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#" SPAN (&94488163511832) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text " ] entschlüsseln." BR (&94488163513016) text " Der Client MUSS prüfen, ob die Antwort folgender Form entspricht:" BR (&94488163513320) text " " SPAN (&94488163513624) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    Response <256-Bit-Wert-H-in-Hexform> AT<256-Bit-Hexadezimal-kodiert>" BR (&94488163514104) text " Beispiel:" BR (&94488163514408) text " " SPAN (&94488163514712) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    Response f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d c4d0613a597826cfdca992d0a02d0ea26667829345033dee158a578cc8524cab AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa" BR (&94488163515192) text " " BR (&94488163515496) text " Der Client MUSS prüfen, ob der erste Wert (256-Bit Zufallswert aus der Clientanfrage) genau der Wert aus der Anfrage des Client gemäß " SPAN (&94488163515800) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18025" attr data-item-id "ML-96281" attr data-option-id "custom" text " ist. Falls nein, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. " BR (&94488141424264) text " " BR (&94488141424568) text " Der Client MUSS prüfen, ob der zweite Wert H der SHA-256-Wert aus der Aneinanderreihung seines Client-spezifischen ECIES-Schlüssels in der Kodierung nach " SPAN (&94488141424872) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17900" attr data-item-id "ML-94700" attr data-option-id "custom" text " und des für dessen Signatur verwendeten AUT-Zertifikats (DER-kodiert) ist." BR (&94488141426232) text " Falls nein, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. " BR (&94488141426536) text " " BR (&94488141426840) text " Der Client MUSS den zweiten Wert (das Authentisierungstoken) wie folgt prüfen: \n " OL (&94488141427144) text " \n " LI (&94488141427448) text "Beginnt das Authentisierungstoken mit der Zeichenkette "AT"? Falls nein, dann FAIL." text " \n " LI (&94488141427872) text "Ist die Teilzeichenkette des Authentisierungstokens nach "AT" ein 256-Bit Hexadezimal kodierter Wert? Falls nein, dann FAIL." text " \n " text " Falls eine der Prüfungen ein FAIL liefert, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. " BR (&94488141428416) text " Der Client MUSS den Authentisierungstoken für die im Protokollablauf folgenden Aufruf der Operation KeyDerivation (" SPAN (&94488141428720) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text " ) speichern. " BR (&94488141430080) text " " B (&94488141430384) text "[<=]" P (&94488141430688) text "\n " text "\n " H3 (&94488141431112) attr id "6.6" attr class "target-element" text "6.6 Operation KeyDerivation" text "\n " DIV (&94488141431888) attr id "A_18029" attr severity "MUSS" attr class "target-element" text "\n " P (&94488141432720) B (&94488141432904) text "A_18029 - SGD-Client, Anfrage KeyDerivation" text "\n " P (&94488141433328) text "Ein Client eines SGD-ePA MUSS, nachdem er über erfolgreich über die Operation GetAuthenticationToken (" SPAN (&94488141433632) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18025" attr data-item-id "ML-96275" attr data-option-id "custom" text " ) ein Authentisierungstoken vom SGD-HSM erhalten hat (vgl. " SPAN (&94488141434992) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18028" attr data-item-id "ML-96285" attr data-option-id "custom" text " ), eine Zeichenkette der folgenden Form bilden:" BR (&94488141436352) text " " SPAN (&94488141436656) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    KeyDerivation " BR (&94488141437136) text " " BR (&94488141437440) text " Die Request-ID MUSS ein 256-Bit Zufallswert in Hexadezimalform sein (ohne führendes "0x"), den der Client pro Request (KeyDerivation) zufällig erzeugen MUSS. Diese Request-ID MUSS der Client zwischenspeichern (vgl. Prüfung in " SPAN (&94488141437744) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18031" attr data-item-id "ML-96288" attr data-option-id "custom" text " )." BR (&94488141439104) text " " BR (&94488141439408) text " Die Ableitungsregeln MUSS der Client je nach Anwendungsfall (vgl. [gemSpec_SGD_ePA#Abschnitt " SPAN (&94488141439712) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94493" attr data-option-id "shortoutline" text " ff]) gemäß " SPAN (&94488141440896) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17924" attr data-item-id "ML-94726" attr data-option-id "custom" text " erzeugen." BR (&94488141442256) text " " BR (&94488141442560) text " Diese erzeugte Zeichenkette MUSS der Client über das ECIES-Verfahren gemäß [gemSpec_Krypt#" SPAN (&94488141442864) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text "] für das SGD-HSM verschlüsseln. Das erhaltene Chiffrat MUSS der Client gemäß " SPAN (&94488141444048) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17902" attr data-item-id "ML-94703" attr data-option-id "custom" text " kodieren und die Kodierung als "EncryptedMessage" bei Operation KeyDerivation (" SPAN (&94488141445408) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text " ) verwenden. " B (&94488141446768) text "[<=]" text "\n " text "\n " DIV (&94488141447312) attr id "A_17898" attr severity "MUSS" attr class "target-element" text "\n " P (&94488141448144) B (&94488141448328) text "A_17898 - SGD, KeyDerivation" text "\n " P (&94488141448752) text "Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. " SPAN (&94488141449056) attr data-option-id "custom" attr data-item-id "ML-94687" attr data-custom-label "A_17889" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] eintrifft, so MUSS die RVE des SGD" SPAN (&94488141450416) attr style "font-family: Arial, Helvetica;" BR (&94488141450776) text " \n " OL (&94488141451080) text "\n " LI (&94488141451384) SPAN (&94488141451568) attr style "font-family: Arial, Helvetica;" text "das Zertifikat im Datenfeld "Certificate" gemäß TUC_PKI_018 prüfen und dabei Ergebnisse nach  " SPAN (&94488141452048) attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " berücksichtigen." text "\n " LI (&94488141453528) text "die Kodierung und die Signatur der "PublicKeyECIES" prüfen (vgl. " SPAN (&94488141453832) attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488141455192) attr data-option-id "custom" attr data-item-id "ML-94701" attr data-custom-label "A_17901" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). " text "\n " text "Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#" SPAN (&94488201879736) attr data-option-id "longoutline" attr data-item-id "ML-94577" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "] dem Client antworten und die weitere Requestverarbeitung abbrechen." BR (&94488201880920) text " Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl. " SPAN (&94488201881224) attr data-option-id "custom" attr data-item-id "ML-96287" attr data-custom-label "A_18030" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:" BR (&94488201882584) text " " SPAN (&94488201882888) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{" BR (&94488201883368) text "   "Status" : "OK"," BR (&94488201883672) text "   "EncryptedMessage" : "... Base64-kodiertes Chiffrat. Das Chiffrat wurde vom SGD-HSM erzeugt ..."" BR (&94488201883976) text " }" BR (&94488201884280) text " " SPAN (&94488201884584) attr style "font-family: Arial, Helvetica;" text "Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#" SPAN (&94488201885064) attr data-option-id "longoutline" attr data-item-id "ML-94577" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "]  dem Client antworten." text " " B (&94488201886368) text "[<=]" P (&94488201886672) text "\n " text "\n " P (&94488201887096) attr id "polarion_208" text "\n " P (&94488201887576) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_153" text "Tabelle " SPAN (&94488201888408) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "9" text ": Tab_KeyDerivation-Request" text "\n " TABLE (&94488201889304) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=5" text "\n " TBODY (&94488201890136) text "\n " TR (&94488201890440) text "\n " TD (&94488201890744) attr style "text-align: left;vertical-align: top;width: 742px;height: 121.556px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488201891104) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "{ "Command"          : "KeyDerivation"," BR (&94488201891584) text " " SPAN (&94488201891888) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "PublicKeyECIES"    : " ... Kodierung nach " SPAN (&94488201892368) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488201893784) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  ..."," BR (&94488201894264) text " " SPAN (&94488201894568) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "Signature"        : " ... Base64-kodierte Signatur des PublicKeyECIES nach" SPAN (&94488201895048) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488201896464) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text " ..."," BR (&94488201896944) text " " SPAN (&94488201897248) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "Certificate"      : " ... Base64-kodiertes Client-Zertifikat ... "," BR (&94488201897728) text " " SPAN (&94488201898032) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  "EncryptedMessage" : " ... Base64-kodiertes Chiffrat nach " SPAN (&94488201898512) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" SPAN (&94488201899928) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  ..."" BR (&94488201900408) text " " SPAN (&94488201900712) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "}" BR (&94488201901192) text "\n " text "\n " text "\n " text "\n " P (&94488201901856) attr id "polarion_211" text "\n " DIV (&94488201902336) attr id "A_17888" attr severity "MUSS" attr class "target-element" text "\n " P (&94488201903168) B (&94488201903352) text "A_17888 - SGD, KeyDerivation (Client)" text "\n " P (&94488201903776) text "Ein Client eines SGD ePA MUSS die Operation KeyDerivation gemäß " SPAN (&94488201904080) attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " umsetzen. " B (&94488201905440) text "[<=]" text "\n " text "\n " DIV (&94488201905984) attr id "A_18031" attr severity "MUSS" attr class "target-element" text "\n " P (&94488201906816) B (&94488201907000) text "A_18031 - SGD-Client, Auswertung der Anfrage KeyDerivation" text "\n " P (&94488201907424) text "Ein Client eines SGD-ePA MUSS, nachdem er über die Operation KeyDerivation ( " SPAN (&94488201907728) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17898" attr data-item-id "ML-94696" attr data-option-id "custom" text " ) die Durchführung einer Schlüsselableitung angefordert hat, die Antwort in "EncryptedMessage" mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#" SPAN (&94488201909088) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17875" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" text " ] entschlüsseln." BR (&94488201910272) text " " BR (&94488201910576) text " Der Client MUSS prüfen, ob die Antwort folgender Form entspricht:" BR (&94488201910880) text " " SPAN (&94488201911184) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "    OK-Derivation <256-Bit-AES-Schlüssel-in-Hexform> " BR (&94488211234824) text " Beispiel:" BR (&94488211235128) text " " SPAN (&94488211235432) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa 7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a01fae7930340c OK-KeyDerivation 4a76068ed4796ac5d513ee05c9ff7d007271499f8bd8e04e8146031af576b4dd r2:7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2-20a1201-001:Bezeichner ACME Q1 2020" BR (&94488211235888) text " " BR (&94488211236192) text " Der Client MUSS prüfen, ob der Authentisierungstoken genau der Token ist, den der Client im Request für KeyDerivation verwendet hat. Falls nein, so MUSS er die erhaltene Antwort verwerfen (i. S. v. er darf insbesondere die erhaltenen Schlüssel nicht nutzen). " BR (&94488211236496) text " " BR (&94488211236800) text " Der Client MUSS prüfen, ob die Request-ID genau die ist, die der Client für Request für KeyDerivation verwendet hat (zufällig erzeugt hat vgl. " SPAN (&94488211237104) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_18029" attr data-item-id "ML-96286" attr data-option-id "custom" text "). Falls nein, so MUSS er die erhaltene Antwort verwerfen (i. S. v. er darf insbesondere die erhaltenen Schlüssel nicht nutzen).   " B (&94488211238464) text "[<=]" text "\n " text "\n " H3 (&94488211239008) attr id "6.7" attr class "target-element" text "6.7 Fehlermeldungen" text "\n " P (&94488211239784) attr id "polarion_171" text "Die RVE muss bei Fehlerfällen folgende Fehlermeldungen an einen Client senden." text "\n " P (&94488211240384) attr class "polarion-rte-caption-paragraph" attr id "polarion_161" text "Tabelle " SPAN (&94488211241040) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "10" text ": Tab_Fehlerfälle_und_Fehlermeldungen" text "\n " TABLE (&94488211241936) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=99.87%|uid=112" text "\n " TBODY (&94488211242592) text "\n " TR (&94488211242896) text "\n " TH (&94488211243200) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211243560) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Fehlerfall" BR (&94488211244040) text "\n " TH (&94488211244344) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211244704) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "an den Client zu sendende Fehlernachricht" BR (&94488211245184) text "\n " text "\n " TR (&94488211245608) text "\n " TD (&94488211245912) attr style "vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211246272) attr style "font-size: 10pt;line-height: 1.5;" text "Die Authentizität des Requests ist nicht gegeben (bspw. AES-GCM meldet FAIL) das SGD-HSM meldet FAIL." BR (&94488211246752) text "\n " TD (&94488211247056) attr style "vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211247416) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211247776) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "Status" : "decryption FAIL" }" BR (&94488211248256) text "\n " text "\n " TR (&94488211248680) text "\n " TD (&94488211248984) attr style "vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211249344) attr style "font-size: 10pt;line-height: 1.5;" text "Die Zertifikatsprüfung in der RVE oder im SGD-HSM ergab FAIL." BR (&94488211249824) text "\n " TD (&94488211250128) attr style "vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211250488) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211250848) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "Status" : "certificate not valid" }" BR (&94488211251328) text "\n " text "\n " TR (&94488211251752) text "\n " TD (&94488211252056) attr style "vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211252416) attr style "font-size: 10pt;line-height: 1.5;" text "Die Signatur des öffentlichen ephemeren ECIES-Client-Schlüssel ist nicht valide." BR (&94488211252896) text "\n " TD (&94488211253200) attr style "vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211253560) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211253920) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "Status" : "signature not valid" }" BR (&94488211254400) text "\n " text "\n " TR (&94488211254824) text "\n " TD (&94488211255128) attr style "vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211255488) attr style "font-size: 10pt;line-height: 1.5;" text "Datenfelder im Request fehlen." BR (&94488211255968) text "\n " TD (&94488211256272) attr style "vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211256632) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211256992) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "Status" : "request not valid" }" BR (&94488211257472) text "\n " text "\n " TR (&94488211257896) text "\n " TD (&94488211258200) attr style "vertical-align: top;width: 285pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211258560) attr style "font-size: 10pt;line-height: 1.5;" text "Der Request ist größer als 2 MiB (" SPAN (&94488211259040) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94690" attr data-custom-label "A_17839" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." BR (&94488211260576) text "\n " TD (&94488211260880) attr style "vertical-align: top;width: 263pt;height: 9pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211261240) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488211261600) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "{ "Status" : "request not valid" }" BR (&94488211262080) text "\n " text "\n " text "\n " text "\n " H2 (&94488211262744) attr id "7" attr class "target-element" text "7 Clientspezifische Festlegungen" text "\n " P (&94488211263520) attr id "polarion_75" text "Ein ePA-FdV, ein FM ePA und ein KTR-Consumer sind Clients eines SGD." text "\n " DIV (&94488211264120) attr id "A_17847" attr severity "MUSS" attr class "target-element" text "\n " P (&94488211264952) B (&94488211265136) text "A_17847 - Prüfung eines SGD-HSM-Zertifikats (1/2)" text "\n " P (&94488211265560) text "Ein Client eines SGD MUSS bei Prüfung eines SGD-HSM-Zertifikats bei bzw. vor der Erzeugung eines Requests an den SGD prüfen, ob das Zertifikat in der TSL innerhalb eines "TSPService"-Eintrags mit dem ServiceTypeIdentifier "http://uri.etsi.org/TrstSvc/Svctype/unspecified" aufgeführt ist und dieses zeitlich aktuell gültig ist." BR (&94488211265864) text " Falls nein, so MUSS das Zertifikat abgelehnt werden und die Verarbeitung des Zertifikats abgebrochen werden. " B (&94488211266168) text "[<=]" text "\n " text "\n " DIV (&94488211266712) attr id "A_17848" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228198040) B (&94488228198224) text "A_17848 - Prüfung eines SGD-HSM-Zertifikats (2/2)" text "\n " P (&94488228198648) text "Ein Client eines SGD ePA MUSS, falls bei der Prüfung eines SGD-HSM-Zertifikats ein SGD-1-Zertifikat erwartet wird, prüfen, ob die OID oid_sgd1_hsm [gemSpec_OID] im SGD-HSM-Zertifikat (Kontext Prüfung der Signatur der aktuellen SGD-HSM-ECIES-Schlüssel) aufgeführt ist. " BR (&94488228198952) text "Falls nicht, so MUSS das Zertifikat abgelehnt werden." BR (&94488228199256) text "Analog SGD-2-Zertifikat und OID oid_sgd2_hsm. " B (&94488228199560) text "[<=]" text "\n " text "\n " P (&94488228200104) attr id "polarion_130" text "Verständnishinweis: In " SPAN (&94488228200560) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_PKI?selection=ML-94225" attr data-custom-label "[gemSpec_PKI#A_17700]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " wird die generelle Auswertbarkeit solcher TSL-Einträge auch thematisiert." text "\n " DIV (&94488228202040) attr id "A_17925" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228202872) B (&94488228203056) text "A_17925 - SGD-Client, Parallele Anfrage SGD1 und SGD2" text "\n " P (&94488228203480) text "Ein Client eines SGD MUSS, um eine höhere Performanz zu erreichen, im Rahmen der Schlüsselableitungsfunktionalität den SGD 1 und den SGD 2 parallel anfragen." BR (&94488228203784) text " " B (&94488228204088) text "[<=]" text "\n " text "\n " DIV (&94488228204632) attr id "A_17990" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228205464) B (&94488228205648) text "A_17990 - ePA-FdV: Parallele Anfrage SGD1 und SGD2" text "\n " P (&94488228206072) text "Ein ePA-FdV MUSS bei der Umsetzung von " SPAN (&94488228206376) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-custom-label "A_17925" attr data-item-id "ML-94728" attr data-option-id "custom" text " die aktuell bestehende TLS-Verbindung zum Zugangsgateway des Versicherten per TLS-Resumption "clonen" (vgl. „third option“ [RFC-5246, S. 40, erster Abschnitt]). Auf einer TLS-Verbindung MUSS das ePA-FdV den SGD 1 anfragen auf der anderen den SGD 2." BR (&94488228207736) text " Sollte das Zugangsgateway eine TLS-Resumption ablehnen, so MUSS der Client, so wie im TLS-Protokoll vorgesehen, einen "full handshake" für den Aufbau der zusätzlichen TLS-Verbindung durchführen. " B (&94488228208040) text "[<=]" text "\n " text "\n " P (&94488228208584) attr id "polarion_194" text "Hinweis: Für die Vereinfachung der Parallelisierung für ein ePA-FdV gibt es " SPAN (&94488228209064) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Zugangsgateway_Vers?selection=ML-93901" attr data-custom-label "[gemSpec_Zugangsgateway_Vers#A_17495]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " ." text "\n " DIV (&94488228210544) attr id "A_18003" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228211376) B (&94488228211560) text "A_18003 - SGD-Client, Prüfung der Telematik-ID bei Berechtigungsvergabe" text "\n " P (&94488228211984) text "Ein Client eines SGD ePA MUSS folgende Vorgaben umsetzen." BR (&94488228212288) text " Im Rahmen einer Berechtigungsvergabe (vgl. [gemSpec_SGD_ePA#Abschnitt " SPAN (&94488228212592) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94494" attr data-option-id "shortoutline" text " und " SPAN (&94488228213776) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94738" attr data-option-id "shortoutline" text "]) kann ein Versicherter oder ein Vertreter eine LEI berechtigen. Dabei muss der Client einen Ableitungsvektor erzeugen, bei dem die Telematik-ID der LEI in den Ableitungsvektor mit einfließen. Dabei MUSS der Client die Telematik-ID der LEI wie folgt prüfen." BR (&94488228214960) text " Falls in der Telematik-ID ein Doppelpunkt (" SPAN (&94488228215264) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text "":"" text ", Character 58) enthalten ist, so MUSS der Client die Telematik-ID in Hexadezimalschreibweise (ohne führendes "0x") kodieren und davor ein " SPAN (&94488228215864) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""*"" text " (Character 42) setzen. " BR (&94488228216464) text " Beispiel:" BR (&94488228216768) text " " SPAN (&94488228217072) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""2-20a1201-001:AAB::112"" text " wird zu " SPAN (&94488228217672) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""*" SPAN (&94488228218152) attr style "font-size: 10pt;line-height: 1.5;" text "322d323061313230312d3030313a4141423a3a313132"" BR (&94488228218632) text " Diese Kodierung MUSS der Client bei der Erzeugung der Ableitungsvektoren jeweils bei " SPAN (&94488228218936) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text """" text " verwenden. " B (&94488228219536) text "[<=]" text "\n " text "\n " P (&94488228220080) attr id "polarion_262" text "Verständnishinweis: Die Vergabe der Telematik-IDs erfolgt durch die LE- und LEI-Organisationen. Nur die ersten drei Zeichen werden durch die Vorgaben aus [gemSpec_PKI#" SPAN (&94488228220560) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_PKI?selection=ML-6894" attr data-custom-label "Telematik-ID" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "] festgelegt. Damit kann es theoretisch vorkommen, dass dort nach der 3-ten Stelle der Telematik-ID ein ":" vorkommen könnte, was i. d. R. nicht der Fall ist." text "\n " DIV (&94488228222040) attr id "A_18032" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228222872) B (&94488228223056) text "A_18032 - SGD-Client, kurzlebigen ECIES-Client-Schlüsselpaar" text "\n " P (&94488228223480) text "Ein Client eines SGD MUSS für die parallele Anfrage an beide SGD ein kurzlebiges ECIES-Client-Schlüsselpaar gemäß [gemSpec_Krypt#" SPAN (&94488228223784) attr class "polarion-rte-link" attr data-type "polarion" attr id "fake" attr data-custom-label "A_17874" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94671" text "] erzeugen. (Der Client verwendet dasselbe Schlüsselpaar für beide SGD). " B (&94488228224968) text "[<=]" text "\n " text "\n " DIV (&94488228225512) attr id "A_18005" attr severity "DARF NICHT" attr class "target-element" text "\n " P (&94488228226344) B (&94488228226528) text "A_18005 - SGD-Client, nur Einmalverwendung des kurzlebigen ECIES-Client-Schlüsselpaars" text "\n " P (&94488228226952) text "Ein Client eines SGD DARF sein kurzlebiges ECIES-Client-Schlüsselpaar NICHT für mehr als eine Nutzung der Schlüsselableitungsfunktionalität ePA, also die parallele Anfrage an SGD 1 und SGD 2, nutzen. Für die nächste Nutzung MUSS der Client ein neues ECIES-Client-Schlüsselpaar erzeugen. " B (&94488228227256) text "[<=]" text "\n " text "\n " P (&94488228227800) attr id "polarion_284" text "Verständnishinweis: sollte der Client keine Antwort (timeout) bspw. vom ZdGV bekommen u. Ä. so darf er die Anfrage mit dem gleichen Schlüsselpaar noch einmal wiederholen. Es geht um die kryptographische Nutzung des Schlüsselpaars, diese darf nur einmal innerhalb eines Protokollablaufs erfolgen. Bei einem folgenden Protokolldurchlauf muss der Client ein neues ECIES-Client-Schlüsselpaar verwenden." text "\n " DIV (&94488228228400) attr id "A_18006" attr severity "MUSS" attr class "target-element" text "\n " P (&94488228229232) B (&94488228229416) text "A_18006 - SGD-Client, KVNR" text "\n " P (&94488228229840) text "Ein Client eines SGD ePA MUSS bei einer Erstellung einer Anfrage für eine Schlüsselableitung (vgl. Abschnitte " SPAN (&94488228230144) attr data-option-id "shortoutline" attr data-item-id "ML-94494" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488228798360) attr data-option-id "shortoutline" attr data-item-id "ML-94738" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), im Falle dass dort vom Client initial eine KVNR eingetragen wird (KVNR eines Vertreters, KVNR eines Kontoinhabers im Vertretungsfall), die Variable KVNR bei der Konstruktion der Anfrage gemäß " SPAN (&94488228799544) attr data-option-id "custom" attr data-item-id "ML-94729" attr data-custom-label "A_17926" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " verstehen. " B (&94488228800904) text "[<=]" text "\n " text "\n " H2 (&94488228801448) attr id "8" attr class "target-element" text "8 Interoperables Austauschformat" text "\n " P (&94488228802224) attr id "polarion_49" text "Damit die Interoperabilität zwischen Clienten eines SGD (ePA-FdV, FM ePA etc.) sichergestellt ist, wird nachfolgend ein interoperables Austauschformat definiert. Zunächst wird mit PHRKey [PHR_Common.xsd] eine Datenstruktur für die Klartextrepräsentation von Kontextschlüssel (ContentKey) und Aktenschlüssel (RecordKey) definiert. Daran folgt die Definition der Datenstruktur EncryptedKeyContainer [AuthorizationService.xsd]." text "\n " P (&94488228802824) attr class "polarion-rte-caption-paragraph" attr id "polarion_165" text "Tabelle " SPAN (&94488228803480) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "11" text ": Tab_Austauschformat_Akten-_und_Kontextschlüssel" text "\n " TABLE (&94488228804376) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=6" text "\n " TBODY (&94488228805208) text "\n " TR (&94488228805512) text "\n " TD (&94488228805816) attr style "text-align: left;vertical-align: top;width: 742px;height: 178.444px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488228806176) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text " " BR (&94488228806656) text " " SPAN (&94488228806960) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228807440) text " " SPAN (&94488228807744) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    " BR (&94488228808224) text " " SPAN (&94488228808528) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "        S2V5MS0yNTZCaXQtQUVTLUdDTS0xMjM0NTY3ODkwYWI=" BR (&94488228809008) text " " SPAN (&94488228809312) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    " BR (&94488228809792) text " " SPAN (&94488228810096) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    " BR (&94488228810576) text " " SPAN (&94488228810880) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "        S2V5Mi0yNTZCaXQtQUVTLUdDTS1iYTA5ODc2NTQzMjE=    " BR (&94488228811360) text " " SPAN (&94488228811664) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "    " BR (&94488228812144) text " " SPAN (&94488228812448) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228812928) text "\n " text "\n " text "\n " text "\n " P (&94488228813592) attr id "polarion_65" text "Vergleiche auch [PHR_Common.xsd]" text "\n " P (&94488228814192) attr id "polarion_137" text "Diese XML-Datenstruktur muss nun mittels des vom SGD 1 abgeleiteten spezifischen Schlüssels verschlüsselt werden (vgl. " SPAN (&94488228814672) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94669" attr data-custom-label "[gemSpec_Krypt#A_17872]" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " ) und zusätzlich muss noch der Rückgabewert nach " SPAN (&94488228816032) attr style "font-family: 'Courier New', Courier, monospace, HanWangKanTan;" text ""OK-Derivation "" text " als "associated data" mit in die MAC-Berechnung bei der AES-GCM-Verschlüsselung und GMAC-Berechnung einfließen. Das Ergebnis muss in einer EncryptedKeyContainer-XML-Datenstruktur kodiert werden, die folgende Form besitzt (vgl. auch Schemadatei  [AuthorizationService.xsd]):" text "\n " P (&94488228816752) attr class "polarion-rte-caption-paragraph" attr data-keep-next "true" attr id "polarion_168" text "Tabelle " SPAN (&94488228817584) attr class "polarion-rte-caption" attr data-sequence "Tabelle" text "12" text ": Tab_erste_Verschlüsselungsschicht" text "\n " TABLE (&94488228818480) attr style "width: 100%;margin-left: auto;margin-right: auto;border: 1px solid #CCCCCC;empty-cells: show;border-collapse: collapse;" attr class "polarion-Document-table" attr id "polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=7" text "\n " TBODY (&94488228819312) text "\n " TR (&94488228819616) text "\n " TD (&94488228819920) attr style "text-align: left;vertical-align: top;width: 742px;height: 198.889px;border: 1px solid #CCCCCC;padding: 2px;" SPAN (&94488228820280) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228820760) text " " SPAN (&94488228821064) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228821544) text " " SPAN (&94488228821848) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228822328) text " " SPAN (&94488228822632) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text " " BR (&94488228824832) text " " SPAN (&94488228825136) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228825616) text " " SPAN (&94488228825920) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228826400) text " " SPAN (&94488228826704) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228827184) text " " SPAN (&94488228827488) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228827968) text " " SPAN (&94488228828272) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488228828752) text "\n " text "\n " text "\n " text "\n " P (&94488228829416) attr id "polarion_240" text "Diese Daten werden dann mit dem zweiten AES-256-Schlüssel (erhalten von SGD 2) verschlüsselt und es muss wieder eine derartige Datenstruktur erzeugt werden. Jedoch müssen bei den AD nun die AD aus der ersten Verschlüsselungsschicht  (AD1) mit einbezogen werden. Dafür werden die AD1 (Base64-dekodiert) vor die Ableitungsinformationen, die durch SGD 2 hinzukommen, vorangestellt und damit zusammengefügt. Die MAC-Berechnung basiert dann auf dieser zusammengesetzten Zeichenkette. Im ""-Feld werden die beiden Teile (Ableitungsinformationen von SGD 1 und Ableitungsinformationen von SGD 2) jeweils einzeln Base64-kodiert und durch Leerzeichen getrennt aufgeführt." text "\n " P (&94488228830016) attr id "polarion_138" text "Beispiel für ein AssociatedData einer zweiten Verschlüsselungsschicht:" text "\n " P (&94488231878832) attr id "polarion_269" SPAN (&94488231879192) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231879672) text " " SPAN (&94488231879976) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "cjI6N2Y4Zjc3MDAzZGJhYjQ5YzNhNGUzMmY0NDcyNmY5MjMyNGQyOTJmYTY2OGZkZTVlYmMzNDI0Mzk3OTg2YmU5OToxMDcyOTkwMDVBMTEyMTAyNjQ3OjItMjBhMTIwMS0wMDE6QmV6ZWljaG5lciBBQ01FIFExIDIwMjAK " BR (&94488231880456) text " " SPAN (&94488231880760) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "cjI6NWQ2MWQyZTExNTJiNjcxMWJlOTg0OTZjZDZmMGM5YWJkZTRjYzNiMzIwYjRiYWYxMjc2ZTU1MmFhZGU4OjEwNzI5OTAwNUExMTIxMDI2NDc6Mi0yMGExMjAxLTAwMTpTR0QyIFhZWiBRMSAyMDIwCg==" BR (&94488231881240) text " " SPAN (&94488231881544) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" text "\n " P (&94488231882144) attr id "polarion_270" text "Damit kann ein Client die Ableitungsinformationen von SGD 1 (erster Teil) und von SGD 2 (zweiter Teil) unterscheiden." text "\n " DIV (&94488231882744) attr id "A_17930" attr severity "MUSS" attr class "target-element" text "\n " P (&94488231883576) B (&94488231883760) text "A_17930 - interoperables Austauschformat Schlüsselableitungsfunktionalität ePA" text "\n " P (&94488231884184) text "Ein Client eines SGD ePA MUSS bei einer Kodierung von Akten- und Kontextschlüssel bzw. der Ver-und Entschlüsselung dieses im Kontext der Schlüsselableitungsfunktionalität ePA die in [gemSpec_SGD_ePA#" SPAN (&94488231884488) attr class "polarion-rte-link" attr data-type "crossReference" attr id "fake" attr data-item-id "ML-94583" attr data-option-id "longoutline" text " ] spezifizierten Formate epa:PHRKey [PHR_Common.xsd] und epa:EncryptedKeyContainer [AuthorizationService.xsd] verwenden. " BR (&94488231885672) text " Der Client MUSS bei der zweiten Verschlüsselungsschicht die AD der ersten Schicht (AD 1) im AD der zweiten Schicht (AD 2) mit aufnehmen. Der Client MUSS zunächst AD 1 und dann AD 2 aufführen und beide durch mindestens ein Leerzeichen trennen. Die GMAC-Berechnung MUSS bei der zweiten Verschlüsselung über beide AD (AD1 und AD2) erfolgen (AD1 + AD2 bilden die AD für den AES-GCM). " B (&94488231885976) text "[<=]" text "\n " text "\n " P (&94488231886520) attr id "polarion_163" text "Beispiel: Schritt 1, Akten- und Kontextschlüssel kodiert in einer PHRKey-Datenstruktur" text "\n " P (&94488231887120) attr id "polarion_182" SPAN (&94488231887480) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231887960) text " " SPAN (&94488231888264) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231888744) text " " SPAN (&94488231889048) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231889528) text " " SPAN (&94488231889832) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "S2V5MS0yNTZCaXQtQUVTLUdDTS0xMjM0NTY3ODkwYWI=" BR (&94488231890312) text " " SPAN (&94488231890616) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231891096) text " " SPAN (&94488231891400) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231891880) text " " SPAN (&94488231892184) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "S2V5Mi0yNTZCaXQtQUVTLUdDTS1iYTA5ODc2NTQzMjE=" BR (&94488231892664) text " " SPAN (&94488231892968) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231893448) text " " SPAN (&94488231893752) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" text "\n " P (&94488231894352) attr id "polarion_271" SPAN (&94488231894712) attr style "font-size: 10pt;line-height: 1.5;" text "Beispiel: Schritt 2, Erzeugung der ersten Verschlüsselungsschicht" text "\n " P (&94488231895312) attr id "polarion_272" SPAN (&94488231895672) attr style "font-size: 10pt;line-height: 1.5;" text "Sei" text "\n " P (&94488231896272) attr id "polarion_85" SPAN (&94488231896632) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "6162636465666768696a6b6c6d6e6f707172737475767778797a313233343536" text "\n " P (&94488231897232) attr id "polarion_191" SPAN (&94488231897592) attr style "font-size: 10pt;line-height: 1.5;" text "der von dem SGD 1 erhaltene hexadezimal-kodierte 256-Bit AES/GCM-Schlüssel und der verwendete Ableitungsvektor des SGD 1 sei "" SPAN (&94488231898072) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "r1:0102030405060708090001020304050607080900010203040506070809000102:107299005A112102647:ACME Q1-2019"," text " " SPAN (&94488231898672) attr style "font-size: 10pt;line-height: 1.5;" text "dann würde folgende EncryptedKeyContainer-Datenstruktur entstehen." text "\n " P (&94488231899272) attr id "polarion_162" SPAN (&94488231899632) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231900112) text " " SPAN (&94488231900416) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231900896) text " " SPAN (&94488231901200) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "  MTIzNDU2Nzg5MDEys8SWvua/wM0Yhge+xFQ012wkGc6OmPEppHpC+3P7K+pBvl0EBIP2ZX1sCcpCTqnRXhi0vPS1fRj7s0RAJfOLnrQWhUhrm7/hFLs6OE06+3nzCWTZ814BiNbz5PgD2TxVlZ4HOKzYswNwIHIK2fgdvJsg3TmhLhcuUgS7dgyBsqpZYqGCzKpslwSTPAyKQcedxbiLUa85PfUFgZG9zQRh7COlCau1Xp2/8IcPzklNy1n1GgBf7rwCgxVEoXnUJq04FfpmKknZkuM5iz9pFTjGRh0yXvwYZZ58kUZGyuV+Batr2VAg3MrA7m5w6GXI3S34evhxaXyrNVotfbcjaHWc7rIIVGbh6sT1S4BDxaf2QVMmeY9mQNg+LAP51tdy/18QxwZRuon1t4VPi/z/Tqw/ZhkkH1GnRdNgKcx8d2ygXiP1BtRGIbLlFJfvziftGQ1z45UpsWdK7VpAGY0oDaxbXGqcWfdu" BR (&94488231901680) text " " SPAN (&94488231901984) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231902464) text " " SPAN (&94488231902768) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231903248) text " " SPAN (&94488231903552) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "cjE6MDEwMjAzMDQwNTA2MDcwODA5MDAwMTAyMDMwNDA1MDYwNzA4MDkwMDAxMDIwMzA0MDUwNjA3MDgwOTAwMDEwMjoxMDcyOTkwMDVBMTEyMTAyNjQ3OkFDTUUgUTEtMjAxOQ==" BR (&94488231904032) text " " SPAN (&94488231904336) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231904816) text " " SPAN (&94488231905120) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" text "\n " P (&94488231905720) attr id "polarion_125" text "Beispiel: Schritt 3, Erzeugung der zweiten Verschlüsselungsschicht" text "\n " P (&94488231906320) attr id "polarion_273" text "Sei" text "\n " P (&94488231906920) attr id "polarion_287" SPAN (&94488231907280) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "6162636465666768696a6162636465666768696a6162636465666768696a6162" text "\n " P (&94488231907880) attr id "polarion_288" text "der v" SPAN (&94488231908360) attr style "font-size: 10pt;line-height: 1.5;" text "on dem SGD 2 erhaltene hexadezimal-kodierte 256-Bit AES/GCM-Schlüssel und der verwendete Ableitungsvektor des SGD 2 sei "" SPAN (&94488231908840) attr style "font-size: 10pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "r1:c14d9403d887cb9a91cab9ab5c087ee86f76cad71729e2f467c887eac8c9:107299005A112102647:SGD-2 MasterKey-1-2019"," text " " SPAN (&94488231909440) attr style "font-size: 10pt;line-height: 1.5;" text "dann würde folgende EncryptedKeyContainer-Datenstruktur der zweiten Verschlüsselungsschicht entstehen." text "\n " P (&94488231910040) attr id "polarion_52" SPAN (&94488231910400) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488231910880) text " " SPAN (&94488231911184) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488240717528) text " " SPAN (&94488240717832) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text " MTIzNDU2Nzg5MDEys8SWvua/wM0Yhge+xFQ012wkGc6OmPEppHpC+3P7K+pBvl0EBIPcZX1sCcpXaJjoQhHgsP6NbRPZsl4JZsGqjKhTtm9aup/VQu1dOT037GLxVwCT/QkXysavuP4F1n5ah8ZCY+zWs1RqO2BKzehStpp1xz28eU1sCFf3LweS4qE5arSZm+0u3xuEbw75H93V3cmTMNE6FJQShrWc70hj7gOEJNGmV/m1qJgnj3w71D2dGzhwwqhtmzEp7jWLPLgYUbtSVmeL3KtzpGBCIxTuAAwPFq86aolQt15c8NArTvNp/XMrlbfdrmpuzRes1BDTO7gQDi3RJUUsL/YoHwjMuZg+VmX89M3sZfUplcz1IyQCXt1lO9wDK1D1//VP8D0MxBhPp67RyJtfl/SBM447MCE6PUzZe/s1b5gwQVapeXHpFeZhK/2fcuH7+QWtAjVSxIcD2z1FHAD+jHgaaLg403lqoQnQCnWtO8L7rVfAK8lqZuCWDgVcY2V0aEFLxU787PaLVpQ74ymxJpgTjpJS1hDcczUa8GDCDoCHOtLaO1pkgfULf2CYeksHWz0mX/gPv5Zo1e/eo1tkG+kDr5wfqzk8g5d9zRIpkR1JcOeg2ZaVJc7FAY+vZeuwmE9iIk7co47Y+0ElPCnN0d3+wfzqjQGwQGyaTgn0UnHI1Ex9R7h5w4qxH2UPKYVQ66Nd7am8kO8oTiQ27ogYSFQtlwUtzoWHiH6sQlcPJfySuP8Q1RfcT4gOiHSwAdqCYaYG/jtEcOuUBKemBbi25dyUzonUta6n4YuZAYJEdA07dQ0zcGW4gYqvXkXm3eVDfbJmtj2VEVEJ0/N918fxxReCr4ym1/m6wFS2LtymDSoEfz55ZbRDYQ7/DaBPJV2k+HUKaeevdyiWWsS6lOq6xI1iV1Sz5OIO93Db4R0EzUkzCz9sA8UKyMfc7JejHRhbOwfDUPEiS8rBh+JBSuGu3zLbPcfWQDyYBnRacl8hL2d2aTY1O70PAElNIYc+8A3+oXCDFZi7Sx/O5VRM/d7Y+3MAkewo0yf+bWz/0cIeuMS5flYXDht987ohP2gss/n22AA0/FNrhNs2A3eOMk2517lbyp9JXvPAonJlUnB7dOhsh42qwRzLNcTh3om9ZQ8PeHjfOn9yoqda0pTWse07G2Q=" BR (&94488240718312) text " " SPAN (&94488240718616) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488240719096) text " " SPAN (&94488240719400) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text " cjE6MDEwMjAzMDQwNTA2MDcwODA5MDAwMTAyMDMwNDA1MDYwNzA4MDkwMDAxMDIwMzA0MDUwNjA3MDgwOTAwMDEwMjoxMDcyOTkwMDVBMTEyMTAyNjQ3OkFDTUUgUTEtMjAxOQ== cjE6YzE0ZDk0MDNkODg3Y2I5YTkxY2FiOWFiNWMwODdlZTg2Zjc2Y2FkNzE3MjllMmY0NjdjODg3ZWFjOGM5OjEwNzI5OTAwNUExMTIxMDI2NDc6U0dELTIgTWFzdGVyS2V5LTEtMjAxOQ==" BR (&94488240719880) text " " SPAN (&94488240720184) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" BR (&94488240720664) text " " SPAN (&94488240720968) attr style "font-size: 9pt;font-family: 'Courier New', Courier, monospace, HanWangKanTan;line-height: 1.5;" text "" text "\n " P (&94488240721568) attr id "polarion_289" text "Hinweis: in der Beispiel-Implementierung der Außenschnittstelle (vgl. Abschnitt " A (&94488240722048) attr href "#6" text "6" text ") gibt es auch Beispiel-Code für das interoperable Austauschformat." text "\n " H2 (&94488240722768) attr id "9" attr class "target-element" text "9 Datenkanal zwischen Client und SGD (informativ)" text "\n " P (&94488240723544) attr id "polarion_176" text "Wie in Abschnitt "" SPAN (&94488240724024) attr data-scope "Mainline_OPB1" attr data-option-id "longoutline" attr data-item-id "ML-94707" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "" erwähnt, ist es notwendig, die fachlichen Abläufe für das SGD-HSM so einfach wie möglich zu gestalten. Einerseits kann man so die notwendige Performanz erreichen und andererseits wird damit der zeitliche Aufwand für die Entwicklung und Sicherheitsüberprüfung (" SPAN (&94488240725384) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94708" attr data-custom-label "A_17907" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") des SGD-HSM-Firmwaremoduls deutlich reduziert." text "\n " P (&94488240727040) attr id "polarion_274" text "Das SGD-HSM erbringt den Hauptteil der Sicherheitsleistung, wobei eine unbemerkte Manipulation des Betreibers mit hoher Sicherheit ausgeschlossen werden kann. " text "\n " P (&94488240727640) attr id "polarion_275" text "Ziel der Datenübertragung zwischen Client und SGD ist es, einen beidseitig authentisierten Ende-zu-Ende-verschlüsselten Kanal zwischen Client und SGD-HSM zu erzeugen. Auf diesem Kanal wird dann die authentisierte Anfrage nach einer Schlüsselableitung vom Client an das SGD-HSM gesendet." text "\n " P (&94488240728240) attr id "polarion_203" text "Weil ein SGD-HSM alle 15 Minuten ein neues ECIES-Schlüsselpaar erzeugt (und per Signatur bestätigt " SPAN (&94488240728720) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S1)) und der Hashwert des öffentlichen Schlüssels des ECIES-Schlüssels des SGD-HSMs in die Client-Signatur für den öffentlichen ECIES-Client-Schlüssel nach " SPAN (&94488240730256) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " mit eingeht, kann ein SGD-HSM sich über eine ausreichende Frische (vgl. [Boyd-Mathuria-2003#Abschnitt "1.5 Freshness"]) der Client-Anfrage sicher sein. Insbesondere kann ein SGD-HSM davon ausgehen, dass die für die Signatur mittels des AUT-Materials beim Client notwendige Kontrolle über den privaten AUT-Schlüssel im Client vorhanden war." text "\n " P (&94488240731912) attr id "polarion_127" text "\n " H3 (&94488240732392) attr id "9.1" attr class "target-element" text "9.1 Ablauf Kommunikation zwischen Client und SGD-HSM" text "\n " P (&94488240733168) attr id "polarion_212" text "Ein Client sendet über das HTTPS-Interface des SGD Requests an einen SGD. Falls der Client ein ePA-FdV ist, werden die (in den wesentlichen Teilen verschlüsselten) Request über das ZGdV getunnelt. Zwischen Client und SGD-HSM gibt es auf Applikationsebene eine beidseitig authentisierte und verschlüsselte Datenverbindung. Um dies zu erreichen, führt ein Client die in diesem Abschnitt aufgeführten Schritte durch." text "\n " P (&94488240733768) attr id "polarion_295" text "Zunächst erfragt der Client den aktuellen signierten öffentlichen ECIES-Schlüssel bei SGD 1." text "\n " P (&94488240734368) attr id "polarion_296" text "Ein SGD-HSM generiert unabhängig vom konkreten Request alle 15 Minuten ein neues ECIES-Schlüsselpaar (" SPAN (&94488240734848) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94721" attr data-custom-label "A_17914" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") für die Absicherung der späteren Transportverschlüsselung zwischen Client und SGD-HSM. Der öffentliche ECIES-Schlüssel wird vom SGD-HSM signiert (" SPAN (&94488240736384) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94721" attr data-custom-label "A_17914" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und an die RVE übergeben (" SPAN (&94488240737920) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94721" attr data-custom-label "A_17914" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " TABLE (&94488240739576) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=295" text "\n " TBODY (&94488240740232) text "\n " TR (&94488240740536) text "\n " TH (&94488240740840) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 14pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240741200) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Nr." text "\n " TH (&94488240741800) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 172pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240742160) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Client" text "\n " TH (&94488240742760) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 323pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240743120) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "RVE des SGD" text "\n " TH (&94488240743720) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 25pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240744080) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "SGD-HSM" BR (&94488240744560) text "\n " text "\n " TR (&94488240744984) text "\n " TD (&94488240745288) attr style "vertical-align: top;width: 14pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240745648) attr style "font-size: 10pt;line-height: 1.5;" text "1" text "\n " TD (&94488240746248) attr style "vertical-align: top;width: 172pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240746608) attr style "font-size: 10pt;line-height: 1.5;" text "Aufruf von Operation GetPublicKey bei dem der Client das AUT-Zertifikats des Nutzers mitliefert (" SPAN (&94488240747088) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94694" attr data-custom-label "A_17897" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). " BR (&94488240748624) text "\n " TD (&94488240748928) attr style "vertical-align: top;width: 323pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488240749288) attr style "font-size: 10pt;line-height: 1.5;" text "Die RVE wählt ein SGD-HSM für den Client/Nutzer aus und liefert dafür den aktuellen signierten SGD-HSM-ECIES-Schlüssel (" SPAN (&94488240749768) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94693" attr data-custom-label "A_17895" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Die RVE prüft unabhängig davon das AUT-Zertifikat des Nutzers (" SPAN (&94488172515320) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), das Ergebnis wird später verwendet." BR (&94488172516856) text "\n " TD (&94488172517160) attr style "vertical-align: top;width: 25pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488172517760) text "\n " TD (&94488172518064) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172518424) attr style "font-size: 10pt;line-height: 1.5;" text "2" text "\n " TD (&94488172519024) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172519384) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client prüft den erhaltenen signierten SGD-HSM-ECIES-Schlüssel: Zertifikatsprüfung und Signaturprüfung (" SPAN (&94488172519864) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96280" attr data-custom-label "A_18024" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")" text "\n " TD (&94488172521520) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488172522000) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " text "\n " text "\n " P (&94488172522840) attr id "polarion_297" text "Der Client erfragt parallel (" SPAN (&94488172523320) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94728" attr data-custom-label "A_17925" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") analog bei SDG 2 den aktuellen ECIES-Schlüssel des für ihn avisierten SGD-HSMs innerhalb von SGD 2. Sind beide ECIES-Schlüssel erfolgreich geprüft (" SPAN (&94488172524856) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96280" attr data-custom-label "A_18024" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), kann der Client fortfahren. Er fragt beide SGD, parallel (" SPAN (&94488172526392) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94728" attr data-custom-label "A_17925" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") wie folgt an." text "\n " P (&94488172528048) attr id "polarion_294" text "Der Client erzeugt ein ECIES-Schlüsselpaar, das er für die Request an beide SDG verwendet (" SPAN (&94488172528528) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96291" attr data-custom-label "A_18032" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " TABLE (&94488172530184) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=298" text "\n " TBODY (&94488172530840) text "\n " TR (&94488172531144) text "\n " TH (&94488172531448) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 14pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172531808) attr style "font-size: 10pt;line-height: 1.5;" text "Nr." text "\n " TH (&94488172532408) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 172pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172532768) attr style "font-size: 10pt;line-height: 1.5;" text "Client" text "\n " TH (&94488172533368) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 323pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172533728) attr style "font-size: 10pt;line-height: 1.5;" text "RVE SGD" text "\n " TH (&94488172534328) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 25pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172534688) attr style "font-size: 10pt;line-height: 1.5;" text "SGD-HSM" text "\n " text "\n " TR (&94488172535408) text "\n " TD (&94488172535712) attr style "vertical-align: top;width: 14pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172536072) attr style "font-size: 10pt;line-height: 1.5;" text "3" BR (&94488172536552) text "\n " TD (&94488172536856) attr style "vertical-align: top;width: 172pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172537216) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client berechnet die Hashwerte der beiden öffentlichen SGD-HSM-Schlüssel (notwendig für " SPAN (&94488172537696) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94728" attr data-custom-label "A_17901" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und  " SPAN (&94488172539232) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." BR (&94488172540768) text "\n " TD (&94488172541072) attr style "vertical-align: top;width: 323pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488172541552) attr style "vertical-align: top;width: 25pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488172542152) text "\n " TD (&94488172542456) attr style "vertical-align: top;width: 14pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172542816) attr style "font-size: 10pt;line-height: 1.5;" text "4" BR (&94488172543296) text "\n " TD (&94488172543600) attr style "vertical-align: top;width: 172pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488172543960) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client erzeugt mittels des öffentlichen Schlüssels seines Client-ECIES-Schlüsselpaares (" SPAN (&94488172544440) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96291" attr data-custom-label "A_18032" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) und den zwei Hashwerten aus Schritt 3 eine Kodierung nach " SPAN (&94488172545976) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und signiert diese Kodierung (" SPAN (&94488152336040) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94701" attr data-custom-label "A_17901" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." BR (&94488152337576) text "\n " TD (&94488152337880) attr style "vertical-align: top;width: 323pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488152338360) attr style "vertical-align: top;width: 25pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488152338960) text "\n " TD (&94488152339264) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152339624) attr style "font-size: 10pt;line-height: 1.5;" text "5" BR (&94488152340104) text "\n " TD (&94488152340408) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152340768) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client erzeugt einen Request (" SPAN (&94488152341248) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96281" attr data-custom-label "A_18025" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) für die Operation GetAuthenticationToken (" SPAN (&94488152342784) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." BR (&94488152344320) text " Dafür muss der Client einen 256-Zufallswert (als Challenge für das SGD-HSM) erzeugen (" SPAN (&94488152344624) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96281" attr data-custom-label "A_18025" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " TD (&94488152346280) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152346640) attr style "font-size: 10pt;line-height: 1.5;" text "Die RVE nimmt den Request entgehen (" SPAN (&94488152347120) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "), prüft das Client-Zertifikat (" SPAN (&94488152348656) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")  und den ECIES-Clientschlüssel (inkl. Signaturprüfung) (" SPAN (&94488152350192) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und verwendet ggf. Ergebnisse aus der Zertifikatsprüfung aus dem GetPublicKey-Request (" SPAN (&94488152351728) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Die RVE prüft die Client-Signatur (" SPAN (&94488152353264) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")  und bereitet den Request für das SGD-HSM (Innenschnittstelle) auf (" SPAN (&94488152354800) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ) und übergibt den Request an das SGD-HSM (" SPAN (&94488152356336) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488152357872) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." BR (&94488152359408) text " Weil die RVE den Client-ECIES-Schlüssel, inkl. Signatur und das AUT-Zertifikat im Klartext sieht, kann die RVE DoS-Gegenmaßnahmen umsetzen (" SPAN (&94488152359712) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94689" attr data-custom-label "A_17891" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." text "\n " TD (&94488152361368) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488152361728) attr style "font-size: 10pt;line-height: 1.5;" text "Das SGD-HSM prüft den Request (" SPAN (&94488152362208) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Dann das Client-Zertifikat (" SPAN (&94488152363744) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488152365280) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94722" attr data-custom-label "A_17919" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." BR (&94488152366816) text " Dann die Signatur des öffentlichen ECIES-Schlüssels des Clients (" SPAN (&94488152367120) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96284" attr data-custom-label "A_18027" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " )." BR (&94488156177440) text " Es entschlüsselt das Chiffrat. Dort prüft es, ob eine Challenge vorliegt, also ein 256-Bit Wert vom Client." text "\n " text "\n " text "\n " text "\n " P (&94488156178224) attr id "polarion_299" text "Ein Client kann sich sicher sein, dass nur das angefragte SGD-HSM seine Nachricht und damit die Challenge entschlüsseln kann (gemeinsames Geheimnis). Das SGD-HSM entschlüsselt die Nachricht. An dieser Stelle weiß das SGD-HSM noch nicht, ob die Challenge auch von dem im Request (dort im AUT-Zertifikat) behaupteten Kommunikationspartner kommt – mit wem er genau also dieses gemeinsame Geheimnis teilt. Das SGD-HSM nimmt zunächst an, dass die Angaben stimmen. Es erzeugt ein Authentisierungstoken (" SPAN (&94488156178704) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18027" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Das Authentisierungstoken ist spezifisch für das AUT-Zertifikat und den öffentlichen Client-ECIES-Schlüssel inkl. Hashwerte (Kodierung nach " SPAN (&94488156180240) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ). Das SGD-HSM bildet den Hashwert aus der Kodierung und dem präsentierten AUT-Zertifikat. Das SGD-HSM bildet die Antwort gemäß " SPAN (&94488156181776) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  " text "\n " OL (&94488156183432) attr id "polarion_66" text "\n " LI (&94488156183912) text "mit dem Challenge-Wert (gemeinsames Geheimnis)," text "\n " LI (&94488156184336) text "dem eben erzeugten Hashwert und" text "\n " LI (&94488156184760) text "dem Authentisierungstoken." text "\n " text "\n " P (&94488156185304) attr id "polarion_172" text "Diese Antwort verschlüsselt das SGD-HSM für den Client-ECIES-Schlüssel. Das SGD-HSM kann sich sicher sein, dass nur der Empfänger, also derjenige der privaten Client-ECIES-Schlüssel besitzt, die Nachricht entschlüsseln kann." text "\n " P (&94488156185904) attr id "polarion_135" text "Der Client kann als einziger diese Antwort entschlüsseln. Er prüft, ob seine Challenge (gemeinsames Geheimnis) in der Antwort enthalten ist. Falls ja kann die Antwort nur vom SGD-HSM kommen. Der Client fügt den kodierten Client-ECIES-Schlüssel (vgl. in der Antwort aufgeführten Wert übereinstimmt (Hashwert,   ). Falls alle Prüfungen erfolgreich waren, kann der Client das in der Antwort aufgeführte Authentisierungstoken verwenden." text "\n " P (&94488156186504) attr id "polarion_302" text "\n " TABLE (&94488156186984) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=302" text "\n " TBODY (&94488156187640) text "\n " TR (&94488156187944) text "\n " TH (&94488156188248) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 14pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156188608) attr style "font-size: 10pt;line-height: 1.5;" text "Nr." BR (&94488156189088) text "\n " TH (&94488156189392) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 172pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156189752) attr style "font-size: 10pt;line-height: 1.5;" text "Client" BR (&94488156190232) text "\n " TH (&94488156190536) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 323pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156190896) attr style "font-size: 10pt;line-height: 1.5;" text "RVE SGD" BR (&94488156191376) text "\n " TH (&94488156191680) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 25pt;height: 28pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156192040) attr style "font-size: 10pt;line-height: 1.5;" text "SGD-HSM" BR (&94488156192520) text "\n " text "\n " TR (&94488156192944) text "\n " TD (&94488156193248) attr style "vertical-align: top;width: 14pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156193608) attr style "font-size: 10pt;line-height: 1.5;" text "6" BR (&94488156194088) text "\n " TD (&94488156194392) attr style "vertical-align: top;width: 172pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488156194872) attr style "vertical-align: top;width: 323pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488156195352) attr style "vertical-align: top;width: 25pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156195712) attr style "font-size: 10pt;line-height: 1.5;" text "(Fortsetzung von Schritt 5)" BR (&94488156196192) text " Das SGD-HSM erzeugt den Hashwert aus dem öffentlichen Client-ECIES-Schlüssel (Kodierung nach " SPAN (&94488156196496) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und dem AUT-Zertifikat des Nutzers des Clients. Das SGD-HSM erzeugt ein Authentisierungstoken, das für den Client-Schlüssel und das AUT-Zertifikat spezifisch ist." BR (&94488156198032) text "\n " text "\n " TR (&94488156198456) text "\n " TD (&94488156198760) attr style "vertical-align: top;width: 14pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156199120) attr style "font-size: 10pt;line-height: 1.5;" text "7" BR (&94488156199600) text "\n " TD (&94488156199904) attr style "vertical-align: top;width: 172pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488156200384) attr style "vertical-align: top;width: 323pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488156200864) attr style "vertical-align: top;width: 25pt;height: 38pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156201224) attr style "font-size: 10pt;line-height: 1.5;" text "Das SGD-HSM erzeugt eine Antwort mit dem Zufallswert (Challenge) des Clients, mit Hashwert aus Client-ECIES-Schlüssel und AUT-Zertifikat und Authentisierungstoken. Es verschlüsselt diese Antwort für den öffentlichen Client-ECIES-Schlüssel ( " SPAN (&94488156201704) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ", [gemSpec_Krypt#" SPAN (&94488156203240) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "]) und übergibt das Chiffrat an die RVE zur Weiterleitung." BR (&94488156204600) text "\n " text "\n " TR (&94488156205024) text "\n " TD (&94488156205328) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156205688) attr style "font-size: 10pt;line-height: 1.5;" text "8" BR (&94488156206168) text "\n " TD (&94488156206472) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488156206952) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488156207312) attr style "font-size: 10pt;line-height: 1.5;" text "Die RVE nimmt die Antwort vom SGD-HSM entgegen und kodiert das Chiffrat gemäß " SPAN (&94488156207792) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (" SPAN (&94488156209328) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und schickt es als Response an den Client." BR (&94488226480680) text "\n " TD (&94488226480984) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488226481584) text "\n " TD (&94488226481888) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226482248) attr style "font-size: 10pt;line-height: 1.5;" text "9" BR (&94488226482728) text "\n " TD (&94488226483032) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226483392) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client nimmt die Response entgegen und entschlüsselt die verschlüsselte Nachricht vom SGD-HSM (" SPAN (&94488226483872) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96285" attr data-custom-label "A_18028" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ", [gemSpec_Krypt#" SPAN (&94488226485408) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text "])." BR (&94488226486768) text " Er prüft, ob in der entschlüsselten Response sein Zufallswert (Challenge) aufgeführt ist. Falls ja kann sich der Client nun sicher sein, dass die Antwort vom SGD-HSM kommt." BR (&94488226487072) text " Er prüft, ob der in der Nachricht aufgeführter Hashwert aus öffentlichen Client-ECIES-Schlüssel gemäß " SPAN (&94488226487376) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94700" attr data-custom-label "A_17900" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  und AUT-Zertifikat mit seinen lokal selbst erzeugten Hashwert übereinstimmt." BR (&94488226488912) text " Falls alle Prüfungen erfolgreich waren kann er das in der Nachricht aufgeführte Authentisierungstoken weiter verwenden (" SPAN (&94488226489216) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96285" attr data-custom-label "A_18028" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." BR (&94488226490752) text "\n " TD (&94488226491056) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488226491536) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488226492136) text "\n " TD (&94488226492440) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226492800) attr style "font-size: 10pt;line-height: 1.5;" text "10" BR (&94488226493280) text "\n " TD (&94488226493584) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226493944) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client erzeugt eine Anfrage für eine Schlüsselableitung und verwendet dabei das erhaltene Authentisierungstoken (" SPAN (&94488226494424) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96286" attr data-custom-label "A_18029" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und eine pro Anfrage zufällig erzeugte Request-ID. Er sendet diese Anfrage an den SGD." text "\n " TD (&94488226496080) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226496440) attr style "font-size: 10pt;line-height: 1.5;" text "Die RVE nimmt den Request entgehen (" SPAN (&94488226496920) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " ), prüft das Client-Zertifikat (" SPAN (&94488226498456) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und den Client-ECIES-Schlüssel inkl. Signaturprüfung (" SPAN (&94488226499992) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und verwendet ggf. Ergebnisse aus der Zertifikatsprüfung aus dem GetPublicKey-Request (" SPAN (&94488226501528) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94695" attr data-custom-label "A_17896" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Die RVE prüft die Client-Signatur (" SPAN (&94488226503064) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")  und bereitet den Request für das SGD-HSM (Innenschnittstelle) auf (" SPAN (&94488226504600) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94710" attr data-custom-label "A_17908" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und übergibt den Request an das SGD-HSM (" SPAN (&94488226506136) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96275" attr data-custom-label "A_18021" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488226507672) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." BR (&94488226509208) text " Weil die RVE den Client-ECIES-Schlüssel, inkl. Signatur und das AUT-Zertifikat im Klartext sieht, kann die RVE DoS-Gegenmaßnahmen umsetzen (" SPAN (&94488226509512) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94689" attr data-custom-label "A_17891" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " TD (&94488226511168) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488226511528) attr style "font-size: 10pt;line-height: 1.5;" text "Das SGD-HSM führt Client-ECIES-Schlüssel und AUT-Zertifikat in einer Schlüsselableitung mit seinem aktuellen spezifischen geheimen Ableitungsschlüssel (" SPAN (&94488219590568) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94715" attr data-custom-label "A_17910" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "  (S5)) zusammen (" SPAN (&94488219592080) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96287" attr data-custom-label "A_18030" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und prüft (" SPAN (&94488219593616) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96287" attr data-custom-label "A_18030" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "), ob der in der Nachricht des Clients präsentierte Authentisierungstoken korrekt ist." text "\n " text "\n " TR (&94488219595392) text "\n " TD (&94488219595696) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219596056) attr style "font-size: 10pt;line-height: 1.5;" text "11" BR (&94488219596536) text "\n " TD (&94488219596840) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488219597320) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488219597800) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219598160) attr style "font-size: 10pt;line-height: 1.5;" text "Wenn das Authentisierungstoken korrekt ist, dann analysiert das SGD-HSM die Ableitungsanfrage (" SPAN (&94488219598640) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94727" attr data-custom-label "A_17922" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und führt sie je nach Ableitungsregel aus (ggf. auch nicht)." BR (&94488219600176) text " Im Positivfall erzeugt das SGD-HSM eine für den Client verschlüsselte Nachricht mit dem Ergebnis der Ableitung (" SPAN (&94488219600480) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94727" attr data-custom-label "A_17922" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "), inkl. Authentisierungstoken und Request-ID." text "\n " text "\n " TR (&94488219602256) text "\n " TD (&94488219602560) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219602920) attr style "font-size: 10pt;line-height: 1.5;" text "12" BR (&94488219603400) text "\n " TD (&94488219603704) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488219604184) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219604544) attr style "font-size: 10pt;line-height: 1.5;" text "Die RVE nimmt die Antwort vom SGD-HSM entgegen und kodiert das Chiffrat gemäß " SPAN (&94488219605024) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94703" attr data-custom-label "A_17902" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " (" SPAN (&94488219606560) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-94696" attr data-custom-label "A_17898" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ") und schickt es als Response an den Client." text "\n " TD (&94488219608216) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " TR (&94488219608816) text "\n " TD (&94488219609120) attr style "vertical-align: top;width: 14pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219609480) attr style "font-size: 10pt;line-height: 1.5;" text "13" BR (&94488219609960) text "\n " TD (&94488219610264) attr style "vertical-align: top;width: 172pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488219610624) attr style "font-size: 10pt;line-height: 1.5;" text "Der Client entschlüsselt die Antwort (" SPAN (&94488219611104) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96288" attr data-custom-label "A_18031" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Er prüft, ob der in das Antwort aufgeführte Authentisierungstoken und die Request-ID mit beiden in dem Request verwendeten Werten übereinstimmt. Falls nein, so muss der Client die erhaltenen Schlüssel verwerfen (" SPAN (&94488219612640) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96288" attr data-custom-label "A_18031" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text ")." text "\n " TD (&94488219614296) attr style "vertical-align: top;width: 323pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " TD (&94488219614776) attr style "vertical-align: top;width: 25pt;height: 12pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" text "\n " text "\n " text "\n " text "\n " P (&94488219615616) attr id "polarion_303" text "Die Schritte 3 bis 13 führt ein Client dann parallel für beide SGD aus." text "\n " H3 (&94488219616216) attr id "9.2" attr class "target-element" text "9.2 ECIES-Verfahren" text "\n " P (&94488219616992) attr id "polarion_147" text "Das "Elliptic Curve Integrated Encryption Scheme (ECIES)" ist ein auf [ABR-1999] basierendes hybrides Verschlüsselungsverfahren (vgl. auch [SEC1-2009], [TR-02102-1]). Das Verfahren liefert eine einseitig authentisierte Verschlüsselung. Eine Änderung am Chiffrat wird vom Empfänger sicher erkannt (CCA2-sicher). Der Empfänger kann auf Grundlage des ECIES-Verfahrens allein nicht erkennen von wem das Chiffrat erzeugt wurde, nur dass es beim Transport nicht verändert wurde. Der Sender kann sich sicher sein, dass nur der Empfänger das Chiffrat entschlüsseln kann. Für das ECIES-Verfahren gilt die kryptographische Sicherheitsbetrachtung (Sicherheitsbeweis) aus [ABR-1999]." text "\n " P (&94488219617592) attr id "polarion_300" text "Der Sender muss ein ECC-Schlüsselpaar besitzen, dessen Authentizität der Empfänger prüfen kann (" SPAN (&94488219618072) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96280" attr data-custom-label "A_18024" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text " und " SPAN (&94488219619608) attr data-scope "Mainline_OPB1" attr data-option-id "custom" attr data-item-id "ML-96282" attr data-custom-label "A_18026" attr id "fake" attr data-type "crossReference" attr class "polarion-rte-link" text "). Der Empfänger erzeugt für jede Nachricht ein ephemeres ECC-Schlüsselpaar ([gemSpec_Krypt#" SPAN (&94488219621144) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " Punkt 1]) . Mit dem Schlüsselpaar und den authentischen öffentlichen ECC-Punkts des Empfänger führt der Sender einen einseitig authentisierten ECDH durch [gemSpec_Krypt#" SPAN (&94488219622504) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " Punkt 2]. Aus dem erzeugten ECDH-Geheimnis leitet der Sender über eine KDF gemäß [gemSpec_Krypt#" SPAN (&94488160563592) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " Punkt 3] einen 256-Schlüssel ab. Diesen Schlüssel verwendet der Sender mittels AES-GCM gemäß [gemSpec_Krypt#" SPAN (&94488160564952) attr data-scope "Mainline_OPB1" attr data-url "/wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672" attr data-custom-label "A_17875" attr id "fake" attr data-type "polarion" attr class "polarion-rte-link" text " Punkt 4] um die Nachricht zu verschlüsseln. Da AES-GCM ein authentisiertes Verschlüsselungsverfahren ist, kann man Änderungen beim Transport des Chiffrats (ICV-Wert) sicher erkennen. Ob ein aktiver Angreifer auf der Transportstrecken das Chiffrat verworfen und selbst ein neues erzeugt hat, kann das Verfahren nicht feststellen." text "\n " P (&94488160566432) attr id "polarion_301" text "Das ECIES-Verfahren wird üblicherweise bei der ECC-basierten E-Mail-Verschlüsselung eingesetzt, so dass man aus kryptographischer Sicht formulieren könnte: Client und SGD-HSM senden sich im Rahmen der Schlüsselableitungsfunktionalität ePA vier verschlüsselte E-Mails pro Schlüsselableitung." text "\n " H2 (&94488160567032) attr id "10" attr class "target-element" text "10 Anhang – Verzeichnisse" text "\n " H3 (&94488160567808) attr id "10.1" attr class "target-element" text "10.1 Abkürzungen" text "\n " TABLE (&94488160568584) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=1" text "\n " TBODY (&94488160569240) text "\n " TR (&94488160569544) text "\n " TH (&94488160569848) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 71pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160570208) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Kürzel" text "\n " TH (&94488160570808) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 365pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160571168) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Erläuterung" text "\n " text "\n " TR (&94488160571888) text "\n " TD (&94488160572192) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160572552) attr style "font-size: 10pt;line-height: 1.5;" text "AD" BR (&94488160573032) text "\n " TD (&94488160573336) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160573696) attr style "font-size: 10pt;line-height: 1.5;" text "Associated Data (vgl. [RFC-5116])" BR (&94488160574176) text "\n " text "\n " TR (&94488160574600) text "\n " TD (&94488160574904) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160575264) attr style "font-size: 10pt;line-height: 1.5;" text "AAD" BR (&94488160575744) text "\n " TD (&94488160576048) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160576408) attr style "font-size: 10pt;line-height: 1.5;" text "Additional Authenticated Data (vgl. [NIST-SP-800-38D]), fachlich identisch zu "AD" (s. o.)" BR (&94488160576888) text "\n " text "\n " TR (&94488160577312) text "\n " TD (&94488160577616) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160577976) attr style "font-size: 10pt;line-height: 1.5;" text "AEAD" BR (&94488160578456) text "\n " TD (&94488160578760) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160579120) attr style "font-size: 10pt;line-height: 1.5;" text "Authenticated Encryption with Associated Data (AEAD)" BR (&94488160579600) text "\n " text "\n " TR (&94488160580024) text "\n " TD (&94488160580328) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160580688) attr style "font-size: 10pt;line-height: 1.5;" text "AES" BR (&94488160581168) text "\n " TD (&94488160581472) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160581832) attr style "font-size: 10pt;line-height: 1.5;" text "Advanced Encryption Standard" BR (&94488160582312) text "\n " text "\n " TR (&94488160582736) text "\n " TD (&94488160583040) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160583400) attr style "font-size: 10pt;line-height: 1.5;" text "AES-256" BR (&94488160583880) text "\n " TD (&94488160584184) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160584544) attr style "font-size: 10pt;line-height: 1.5;" text "AES mit 256 Bit Schlüssellänge" BR (&94488160585024) text "\n " text "\n " TR (&94488160585448) text "\n " TD (&94488160585752) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160586112) attr style "font-size: 10pt;line-height: 1.5;" text "ECC" BR (&94488160586592) text "\n " TD (&94488160586896) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160587256) attr style "font-size: 10pt;line-height: 1.5;" text "Elliptic Curve Cryptography" BR (&94488160587736) text "\n " text "\n " TR (&94488160588160) text "\n " TD (&94488160588464) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160588824) attr style "font-size: 10pt;line-height: 1.5;" text "ECDH" BR (&94488160589304) text "\n " TD (&94488160589608) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160589968) attr style "font-size: 10pt;line-height: 1.5;" text "Elliptic Curve Diffie Hellman (key exchange)" BR (&94488160590448) text "\n " text "\n " TR (&94488160590872) text "\n " TD (&94488160591176) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160591536) attr style "font-size: 10pt;line-height: 1.5;" text "ePA" BR (&94488160592016) text "\n " TD (&94488160592320) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160592680) attr style "font-size: 10pt;line-height: 1.5;" text "elektronische Patientenakte" BR (&94488160593160) text "\n " text "\n " TR (&94488160593584) text "\n " TD (&94488160593888) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160594248) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-FdV" BR (&94488160594728) text "\n " TD (&94488160595032) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488160595392) attr style "font-size: 10pt;line-height: 1.5;" text "ePA-Frontend des Versicherten" BR (&94488155929608) text "\n " text "\n " TR (&94488155930032) text "\n " TD (&94488155930336) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155930696) attr style "font-size: 10pt;line-height: 1.5;" text "FAD" BR (&94488155931176) text "\n " TD (&94488155931480) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155931840) attr style "font-size: 10pt;line-height: 1.5;" text "Fachanwendungsspezifischer Dienst" BR (&94488155932320) text "\n " text "\n " TR (&94488155932744) text "\n " TD (&94488155933048) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155933408) attr style "font-size: 10pt;line-height: 1.5;" text "FM ePA" BR (&94488155933888) text "\n " TD (&94488155934192) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155934552) attr style "font-size: 10pt;line-height: 1.5;" text "Fachmodul ePA" BR (&94488155935032) text "\n " text "\n " TR (&94488155935456) text "\n " TD (&94488155935760) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155936120) attr style "font-size: 10pt;line-height: 1.5;" text "GCM" BR (&94488155936600) text "\n " TD (&94488155936904) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155937264) attr style "font-size: 10pt;line-height: 1.5;" text "Galois/Counter Mode" BR (&94488155937744) text "\n " text "\n " TR (&94488155938168) text "\n " TD (&94488155938472) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155938832) attr style "font-size: 10pt;line-height: 1.5;" text "HKDF" BR (&94488155939312) text "\n " TD (&94488155939616) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155939976) attr style "font-size: 10pt;line-height: 1.5;" text "HMAC-based Key Derivation Function" BR (&94488155940456) text "\n " text "\n " TR (&94488155940880) text "\n " TD (&94488155941184) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155941544) attr style "font-size: 10pt;line-height: 1.5;" text "HMAC" BR (&94488155942024) text "\n " TD (&94488155942328) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155942688) attr style "font-size: 10pt;line-height: 1.5;" text "Hash-based Message Authentication Code" BR (&94488155943168) text "\n " text "\n " TR (&94488155943592) text "\n " TD (&94488155943896) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155944256) attr style "font-size: 10pt;line-height: 1.5;" text "HSM" BR (&94488155944736) text "\n " TD (&94488155945040) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155945400) attr style "font-size: 10pt;line-height: 1.5;" text "Hardware Security Module" BR (&94488155945880) text "\n " text "\n " TR (&94488155946304) text "\n " TD (&94488155946608) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155946968) attr style "font-size: 10pt;line-height: 1.5;" text "HTTPS" BR (&94488155947448) text "\n " TD (&94488155947752) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155948112) attr style "font-size: 10pt;line-height: 1.5;" text "Hypertext Transfer Protocol Secure (HTTP über TLS)" BR (&94488155948592) text "\n " text "\n " TR (&94488155949016) text "\n " TD (&94488155949320) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155949680) attr style "font-size: 10pt;line-height: 1.5;" text "ICV" BR (&94488155950160) text "\n " TD (&94488155950464) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155950824) attr style "font-size: 10pt;line-height: 1.5;" text "Integrity Check Value" BR (&94488155951304) text "\n " text "\n " TR (&94488155951728) text "\n " TD (&94488155952032) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155952392) attr style "font-size: 10pt;line-height: 1.5;" text "IV" BR (&94488155952872) text "\n " TD (&94488155953176) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155953536) attr style "font-size: 10pt;line-height: 1.5;" text "Initialization Vector" BR (&94488155954016) text "\n " text "\n " TR (&94488155954440) text "\n " TD (&94488155954744) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155955104) attr style "font-size: 10pt;line-height: 1.5;" text "KVNR" BR (&94488155955584) text "\n " TD (&94488155955888) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155956248) attr style "font-size: 10pt;line-height: 1.5;" text "Krankenversichertennummer" BR (&94488155956728) text "\n " text "\n " TR (&94488155957152) text "\n " TD (&94488155957456) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155957816) attr style "font-size: 10pt;line-height: 1.5;" text "LEI" BR (&94488155958296) text "\n " TD (&94488155958600) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155958960) attr style "font-size: 10pt;line-height: 1.5;" text "Leistungserbringerinstitution" BR (&94488155959440) text "\n " text "\n " TR (&94488155959864) text "\n " TD (&94488155960168) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155960528) attr style "font-size: 10pt;line-height: 1.5;" text "PCRE" BR (&94488155961008) text "\n " TD (&94488155961312) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488155961672) attr style "font-size: 10pt;line-height: 1.5;" text "Perl Compatible Regular Expressions" BR (&94488211499176) text "\n " text "\n " TR (&94488211499600) text "\n " TD (&94488211499904) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211500240) attr style "font-size: 10pt;line-height: 1.5;" text "RSA" BR (&94488211500720) text "\n " TD (&94488211501024) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211501384) attr style "font-size: 10pt;line-height: 1.5;" text "Rivest-Shamir-Adleman (asymmetrisches Kryptoverfahren)" BR (&94488211501864) text "\n " text "\n " TR (&94488211502288) text "\n " TD (&94488211502592) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211502952) attr style "font-size: 10pt;line-height: 1.5;" text "RVE" BR (&94488211503432) text "\n " TD (&94488211503736) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211504096) attr style "font-size: 10pt;line-height: 1.5;" text "Request verarbeitende Einheit" BR (&94488211504576) text "\n " text "\n " TR (&94488211505000) text "\n " TD (&94488211505304) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211505664) attr style "font-size: 10pt;line-height: 1.5;" text "SGD" BR (&94488211506144) text "\n " TD (&94488211506448) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211506808) attr style "font-size: 10pt;line-height: 1.5;" text "Schlüsselgenerierungsdienst" BR (&94488211507288) text "\n " text "\n " TR (&94488211507712) text "\n " TD (&94488211508016) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211508376) attr style "font-size: 10pt;line-height: 1.5;" text "SHA" BR (&94488211508856) text "\n " TD (&94488211509160) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211509520) attr style "font-size: 10pt;line-height: 1.5;" text "Secure Hash Algorithm" BR (&94488211510000) text "\n " text "\n " TR (&94488211510424) text "\n " TD (&94488211510728) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211511088) attr style "font-size: 10pt;line-height: 1.5;" text "SHA-256" BR (&94488211511568) text "\n " TD (&94488211511872) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211512232) attr style "font-size: 10pt;line-height: 1.5;" text "SHA mit 256 Bit Hashwert" BR (&94488211512712) text "\n " text "\n " TR (&94488211513136) text "\n " TD (&94488211513440) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211513800) attr style "font-size: 10pt;line-height: 1.5;" text "TI" BR (&94488211514280) text "\n " TD (&94488211514584) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211514944) attr style "font-size: 10pt;line-height: 1.5;" text "Telematikinfrastruktur" BR (&94488211515424) text "\n " text "\n " TR (&94488211515848) text "\n " TD (&94488211516152) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211516512) attr style "font-size: 10pt;line-height: 1.5;" text "TIP" BR (&94488211516992) text "\n " TD (&94488211517296) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211517656) attr style "font-size: 10pt;line-height: 1.5;" text "Telematikinfrastruktur-Plattform" BR (&94488211518136) text "\n " text "\n " TR (&94488211518560) text "\n " TD (&94488211518864) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211519224) attr style "font-size: 10pt;line-height: 1.5;" text "TLS" BR (&94488211519704) text "\n " TD (&94488211520008) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211520368) attr style "font-size: 10pt;line-height: 1.5;" text "Transport Layer Security" BR (&94488211520848) text "\n " text "\n " TR (&94488211521272) text "\n " TD (&94488211521576) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211521936) attr style "font-size: 10pt;line-height: 1.5;" text "TSL" BR (&94488211522416) text "\n " TD (&94488211522720) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211523080) attr style "font-size: 10pt;line-height: 1.5;" text "Trust-service Status List" BR (&94488211523560) text "\n " text "\n " TR (&94488211523984) text "\n " TD (&94488211524288) attr style "vertical-align: top;width: 71pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211524648) attr style "font-size: 10pt;line-height: 1.5;" text "ZGdV" BR (&94488211525128) text "\n " TD (&94488211525432) attr style "vertical-align: top;width: 365pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211525792) attr style "font-size: 10pt;line-height: 1.5;" text "Zugangsgateway des Versicherten" BR (&94488211526272) text "\n " text "\n " text "\n " text "\n " H3 (&94488211526936) attr id "10.2" attr class "target-element" text "10.2 Glossar" text "\n " TABLE (&94488211527712) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=2" text "\n " TBODY (&94488211528368) text "\n " TR (&94488211528672) text "\n " TH (&94488211528976) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 116pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211529336) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Begriff" text "\n " TH (&94488211529936) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 320pt;height: 15pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211530296) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Erläuterung" text "\n " text "\n " TR (&94488211531016) text "\n " TD (&94488211531320) attr style "vertical-align: top;width: 116pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488211531680) attr style "font-size: 10pt;line-height: 1.5;" text "Schlüsselableitungsfunktionalität ePA" BR (&94488153721992) text "\n " TD (&94488153722296) attr style "vertical-align: top;width: 320pt;height: 16pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488153722656) attr style "font-size: 10pt;line-height: 1.5;" text "Als Schlüsselableitungsfunktionalität wird die Gesamtheit des Ablaufs der Ver- und Entschlüsselung des Akten- und Kontextschlüssels durch einen Client verstanden. Dies beinhaltet als die parallele Anfrage an beide SGD." text "\n " text "\n " text "\n " text "\n " P (&94488153723616) attr id "polarion_77" text "Das Glossar wird als eigenständiges Dokument (vgl. [gemGlossar]) zur Verfügung gestellt." text "\n " H3 (&94488153724216) attr id "10.3" attr class "target-element" text "10.3 Abbildungsverzeichnis" text "\n " DIV (&94488153724992) attr id "polarion_wiki macro name=tof;params=uid=1" attr data-sequence "Abbildung" text "\n " DIV (&94488153725648) attr id "toc_container" text "\n " P (&94488153726128) attr class "toc_title" H1 (&94488153726488) P (&94488153726672) text "\n " UL (&94488153726976) text "\n " LI (&94488153727280) A (&94488153727464) attr href "#polarion_27" text "Abbildung 1: Überblick Zwiebelschalenprinzip bei der Ver- und Entschlüsselung" text "\n " LI (&94488153728064) A (&94488153728248) attr href "#polarion_64" text "Abbildung 2: beteiligte Komponenten und Dienste im Kontext der Schlüsselableitungsfunktionalität ePA" text "\n " LI (&94488153728848) A (&94488153729032) attr href "#polarion_80" text "Abbildung 3: Initiale Schlüsselableitung für den Kontoinhaber" text "\n " LI (&94488153729632) A (&94488153729816) attr href "#polarion_87" text "Abbildung 4: Schlüsselableitung durch den Kontoinhaber" text "\n " LI (&94488153730416) A (&94488153730600) attr href "#polarion_90" text "Abbildung 5: Schlüsselableitung für einen Berechtigungsempfänger" text "\n " LI (&94488153731200) A (&94488153731384) attr href "#polarion_91" text "Abbildung 6: Schlüsselableitung durch einen Berechtigten" text "\n " LI (&94488153731984) A (&94488153732168) attr href "#polarion_92" text "Abbildung 7: Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter" text "\n " LI (&94488153732768) A (&94488153732952) attr href "#polarion_96" text "Abbildung 8: Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten" text "\n " LI (&94488153733552) A (&94488153733736) attr href "#polarion_123" text "Abbildung 9: Strukturelemente eines SGD" text "\n " text "\n " text "\n " H3 (&94488153734576) attr id "10.4" attr class "target-element" text "10.4 Tabellenverzeichnis" text "\n " DIV (&94488153735352) attr id "polarion_wiki macro name=tof;params=uid=2" attr data-sequence "Tabelle" text "\n " DIV (&94488153736008) attr id "toc_container" text "\n " P (&94488153736488) attr class "toc_title" H1 (&94488153736848) P (&94488153737032) text "\n " UL (&94488153737336) text "\n " LI (&94488153737640) A (&94488153737824) attr href "#polarion_51" text "Tabelle 1: beteiligte Akteure im Kontext Schlüsselableitungsfunktionalität" text "\n " LI (&94488153738424) A (&94488153738608) attr href "#polarion_62" text "Tabelle 2: beteiligte Komponenten und Dienste im Kontext Schlüsselableitungsfunktionalität" text "\n " LI (&94488153739208) A (&94488153739392) attr href "#polarion_71" text "Tabelle 3: Tab_Übersicht_der_Kommunikationsschritte_eines_SGD-Clients" text "\n " LI (&94488153739992) A (&94488153740176) attr href "#polarion_132" text "Tabelle 4: Tab_Kommandoabarbeitung_im_SGD-HSM" text "\n " LI (&94488153740776) A (&94488153740960) attr href "#polarion_133" text "Tabelle 5: Beispiel zu A_17894" text "\n " LI (&94488153741560) A (&94488153741744) attr href "#polarion_143" text "Tabelle 6: Beispiel zu A_17900" text "\n " LI (&94488153742344) A (&94488153742528) attr href "#polarion_145" text "Tabelle 7: Tab_GetPublicKey-Request" text "\n " LI (&94488153743128) A (&94488153743312) attr href "#polarion_150" text "Tabelle 8: Tab_GetAuthenticationToken-Request" text "\n " LI (&94488153743912) A (&94488153744096) attr href "#polarion_153" text "Tabelle 9: Tab_KeyDerivation-Request" text "\n " LI (&94488153744696) A (&94488153744880) attr href "#polarion_161" text "Tabelle 10: Tab_Fehlerfälle_und_Fehlermeldungen" text "\n " LI (&94488153745480) A (&94488153745664) attr href "#polarion_165" text "Tabelle 11: Tab_Austauschformat_Akten-_und_Kontextschlüssel" text "\n " LI (&94488153746264) A (&94488153746448) attr href "#polarion_168" text "Tabelle 12: Tab_erste_Verschlüsselungsschicht" text "\n " text "\n " text "\n " H3 (&94488153747288) attr id "10.5" attr class "target-element" text "10.5 Referenzierte Dokumente" text "\n " H4 (&94488153748064) attr id "10.5.1" attr class "target-element" text "10.5.1 – Dokumente der gematik" text "\n " P (&94488153748840) attr id "polarion_82" text "Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur. Der mit der vorliegenden Version korrelierende Entwicklungsstand dieser Konzepte und Spezifikationen wird pro Release in einer Dokumentenlandkarte definiert; Version und Stand der referenzierten Dokumente sind daher in der nachfolgenden Tabelle nicht aufgeführt. Deren zu diesem Dokument jeweils gültige Versionsnummern sind in der aktuellen, von der gematik veröffentlichten Dokumentenlandkarte enthalten, in der die vorliegende Version aufgeführt wird." text "\n " P (&94488153749440) attr id "polarion_83" text "\n " TABLE (&94488153749920) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=3" text "\n " TBODY (&94488153750576) text "\n " TR (&94488153750880) text "\n " TH (&94488153751184) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 111pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488153751544) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "[Quelle]" text " " SPAN (&94488153752144) attr style "font-weight: bold;" text "\n " TH (&94488153752624) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 449pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488153752984) attr style "font-weight: bold;font-size: 10pt;line-height: 1.5;" text "Herausgeber: Titel" text "\n " text "\n " TR (&94488153753704) text "\n " TD (&94488153754008) attr style "vertical-align: top;width: 111pt;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154817144) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_DS_Anbieter]" BR (&94488154817600) text "\n " TD (&94488154817904) attr style "vertical-align: top;width: 449pt;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154818264) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Spezifikation Datenschutz- und Sicherheitsanforderungen der TI an Anbieter" BR (&94488154818744) text "\n " text "\n " TR (&94488154819168) text "\n " TD (&94488154819472) attr style "vertical-align: top;width: 111pt;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154819832) attr style "font-size: 10pt;line-height: 1.5;" text "[gemGlossar]" BR (&94488154820312) text "\n " TD (&94488154820616) attr style "vertical-align: top;width: 449pt;height: 29pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154820976) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Einführung der Gesundheitskarte - Glossar" BR (&94488154821456) text "\n " text "\n " TR (&94488154821880) text "\n " TD (&94488154822184) attr style "vertical-align: top;width: 159pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154822544) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_Krypt]" BR (&94488154823024) text "\n " TD (&94488154823328) attr style "vertical-align: top;width: 276pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154823688) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Übergreifende Spezifikation, Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur" BR (&94488154824168) text "\n " text "\n " TR (&94488154824592) text "\n " TD (&94488154824896) attr style "vertical-align: top;width: 159pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154825256) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_OID]" BR (&94488154825736) text "\n " TD (&94488154826040) attr style "vertical-align: top;width: 276pt;height: 14pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154826400) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Spezifikation Festlegung von OIDs" BR (&94488154826880) text "\n " text "\n " TR (&94488154827304) text "\n " TD (&94488154827608) attr style "vertical-align: top;width: 159pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154827968) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_Perf]" BR (&94488154828448) text "\n " TD (&94488154828752) attr style "vertical-align: top;width: 276pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154829112) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Übergreifende Spezifikation, Performance und Mengengerüst TI-Plattform" BR (&94488154829592) text "\n " text "\n " TR (&94488154830016) text "\n " TD (&94488154830320) attr style "vertical-align: top;width: 159pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154830680) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_PKI]" BR (&94488154831160) text "\n " TD (&94488154831464) attr style "vertical-align: top;width: 276pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154831824) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Übergreifende Spezifikation, Spezifikation PKI" BR (&94488154832304) text "\n " text "\n " TR (&94488154832728) text "\n " TD (&94488154833032) attr style "vertical-align: top;width: 159pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154833392) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_Zugangsgateway_Vers]" BR (&94488154833872) text "\n " TD (&94488154834176) attr style "vertical-align: top;width: 276pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154834536) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Spezifikation Zugangsgateway des Versicherten ePA" BR (&94488154835016) text "\n " text "\n " TR (&94488154835440) text "\n " TD (&94488154835744) attr style "vertical-align: top;width: 159pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154836104) attr style "font-size: 10pt;line-height: 1.5;" text "[gemSpec_X.509_TSP]" BR (&94488154836584) text "\n " TD (&94488154836888) attr style "vertical-align: top;width: 276pt;height: 26pt;border: 1px solid #CCCCCC;border-top: 1px solid #CCCCCC;border-bottom: 1px solid #CCCCCC;border-right: 1px solid #CCCCCC;border-left: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154837248) attr style "font-size: 10pt;line-height: 1.5;" text "gematik: Spezifikation Trust Service Provider X.509" BR (&94488154837728) text "\n " text "\n " text "\n " text "\n " H4 (&94488154838392) attr id "10.5.2" attr class "target-element" text "10.5.2 – Weitere Dokumente" text "\n " TABLE (&94488154839168) attr style "width: 100%;margin-left: auto;margin-right: auto;empty-cells: show;border-collapse: collapse;" attr id "polarion_wiki macro name=table;params=width=100%|uid=4" text "\n " TBODY (&94488154839824) text "\n " TR (&94488154840128) text "\n " TH (&94488154840432) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154840792) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488154841152) attr style "font-weight: bold;" text "[Quelle]" text "\n " TH (&94488154841752) attr style "background-color: #F0F0F0;text-align: left;vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154842112) attr style "font-size: 10pt;line-height: 1.5;" SPAN (&94488154842472) attr style "font-weight: bold;" text "Herausgeber (Erscheinungsdatum): Titel" text "\n " text "\n " TR (&94488154843192) text "\n " TD (&94488154843496) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154843856) attr style "font-size: 10pt;line-height: 1.5;" text "[ABR-1999]" text "\n " TD (&94488154844456) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154844816) attr style "font-size: 10pt;line-height: 1.5;" text "DHIES: An Encryption Scheme Based on the Diffie–Hellman Problem" BR (&94488154845296) text " " SPAN (&94488154845600) attr style "color: #222222;" text "Abdalla, Michel and Bellare, Mihir and Rogaway, Phillip, 1999" BR (&94488154846080) text " " A (&94488154846384) attr class "descriptionLink" attr target "_blank" attr href "http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf" text "http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf" text " " text "\n " text "\n " TR (&94488154847576) text "\n " TD (&94488154847880) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154848240) attr style "font-size: 10pt;line-height: 1.5;" text "[Boyd-Mathuria-2003]" BR (&94488154848720) text "\n " TD (&94488154849024) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488154849384) attr style "font-size: 10pt;line-height: 1.5;" text "Protocols for Authentication and Key Establishment, Colin Boyd and Anish Mathuria, 2003" BR (&94488249318312) text "\n " text "\n " TR (&94488249318736) text "\n " TD (&94488249319040) attr style "vertical-align: top;width: 164px;height: 75px;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249319376) attr style "font-size: 10pt;line-height: 1.5;" text "[BSI-TR-02102-1]" text "\n " TD (&94488249319976) attr style "vertical-align: top;width: 563px;height: 75px;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249320336) attr style "font-size: 10pt;line-height: 1.5;" text "BSI TR-02102-1 Technische Richtlinie „Kryptographische Verfahren:" BR (&94488249320816) text " Empfehlungen und Schlüssellängen“" BR (&94488249321120) text " Version 2019-01, Stand 22.02.2019" BR (&94488249321424) text " " A (&94488249321728) attr class "descriptionLink" attr target "_blank" attr href "https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html" text "https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html" BR (&94488249322560) text "\n " text "\n " TR (&94488249322984) text "\n " TD (&94488249323288) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249323648) attr style "font-size: 10pt;line-height: 1.5;" text "[ETSI_TS_102_231_v3.1.2]" text "\n " TD (&94488249324248) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249324608) attr style "font-size: 10pt;line-height: 1.5;" text "ETSI (Dezember 2009): ETSI Technical Specification TS 102 231 (‘Provision of harmonized Trust Service Provider (TSP) status information’) – Version 3.1.2" text "\n " text "\n " TR (&94488249325328) text "\n " TD (&94488249325632) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249325992) attr style "font-size: 10pt;line-height: 1.5;" text "[FIPS-140-2]" text "\n " TD (&94488249326592) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249326952) attr style "font-size: 10pt;line-height: 1.5;" text "NIST: Security Requirements for Cryptographic Modules, May 25, 2001 (Change Notice 2, 12/3/2002), " A (&94488249327432) attr class "descriptionLink" attr target "_blank" attr href "https://csrc.nist.gov/publications/detail/fips/140/2/final" text "https://csrc.nist.gov/publications/detail/fips/140/2/final" text " " text "\n " text "\n " TR (&94488249328624) text "\n " TD (&94488249328928) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249329288) attr style "font-size: 10pt;line-height: 1.5;" text "[NIST-SP-800-38D]" text "\n " TD (&94488249329888) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249330248) attr style "font-size: 10pt;line-height: 1.5;" text "NIST SP 800-38D, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, November 2007" BR (&94488249330728) text " " A (&94488249331032) attr class "descriptionLink" attr target "_blank" attr href "https://csrc.nist.gov/publications/detail/sp/800-38d/final" text "https://csrc.nist.gov/publications/detail/sp/800-38d/final" text "\n " text "\n " TR (&94488249332104) text "\n " TD (&94488249332408) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249332768) attr style "font-size: 10pt;line-height: 1.5;" text "[PCRE]" text "\n " TD (&94488249333368) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249333728) attr style "font-size: 10pt;line-height: 1.5;" text "PCRE - Perl Compatible Regular Expressions, " A (&94488249334208) attr class "descriptionLink" attr target "_blank" attr href "https://www.pcre.org/" text "https://www.pcre.org/" text " " text "\n " text "\n " TR (&94488249335400) text "\n " TD (&94488249335704) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249336064) attr style "font-size: 10pt;line-height: 1.5;" text "[RFC-5116]" text "\n " TD (&94488249336664) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249337024) attr style "font-size: 10pt;line-height: 1.5;" text "RFC-5116: An Interface and Algorithms for Authenticated Encryption, January 2008, " BR (&94488249337504) text " " A (&94488249337808) attr class "descriptionLink" attr target "_blank" attr href "https://tools.ietf.org/html/rfc5116" text "https://tools.ietf.org/html/rfc5116" text " " text "\n " text "\n " TR (&94488249339000) text "\n " TD (&94488249339304) attr style "vertical-align: top;width: 164px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249339664) attr style "font-size: 10pt;line-height: 1.5;" text "[SEC1-2009]" text "\n " TD (&94488249340264) attr style "vertical-align: top;width: 563px;height: 14pt;border: 1px solid #CCCCCC;padding: 4pt;" SPAN (&94488249340624) attr style "font-size: 10pt;line-height: 1.5;" text "Standards for Efficient Cryptography, SEC 1: Elliptic Curve Cryptography, Certicom Research, Contact: Daniel R. L. Brown (dbrown@certicom.com), May 21, 2009, Version 2.0" BR (&94488249341104) text " " A (&94488249341408) attr class "descriptionLink" attr target "_blank" attr href "https://www.secg.org/sec1-v2.pdf" text "https://www.secg.org/sec1-v2.pdf" text " " text "\n " text "\n " text "\n " text "\n " P (&94488249342840) attr id "polarion_89" text "\n \n" ======================================================================================================================== 02. RAW SOURCE TEXT ======================================================================================================================== #toc_container { background: #f9f9f9 none repeat scroll 0 0; border: 1px solid #aaa; display: table; font-size: 95%; margin-bottom: 1em; padding: 20px; width: 100%; } .toc_title { font-weight: 700; text-align: center; } #toc_container li, #toc_container ul, #toc_container ul li{ list-style: outside none none ! important; } body { font-family: Arial, Helvetica, sans-serif; font-size: 14px; } .target-element { scroll- margin-top: 60px; } .polarion-rte-caption-paragraph { scroll-margin-top: 60px; } /* ol { list-style- type: none; Remove default numbering } ol > li:before { counter-increment: mycounter; content: counter(mycounter) ". "; } ol:first-of-type { counter-reset: mycounter; } */ @media print { h1, h2 { break-before: page; } }



Elektronische Gesundheitskarte und Telematikinfrastruktur



Spezifikation Schlüsselgenerierungsdienst ePA


    Version1.1.0Revision548770Stand28.06. 2019StatusfreigegebenKlassifizierungöffentlichReferenzierunggemSpec_SGD_ePA
Dokumentinformationen Änderungen zur Vorversion Anpassungen des vorliegenden Dokumentes im Vergleich zur Vorversion können Sie der nachfolgenden Tabelle entnehmen.   Dokumentenhistorie Version
Stand
Kap./Seite
Grund der Änderung, besondere Hinweise
Bearbeitung
0.5.0
15.03.19
initiale Erstellung
gematik
1.0.0
15.05.19
freigegeben
gematik
Einarbeitung P19.1gematik1.1.028.06.19freigegebengematik Inhaltsverzeichnis 1 Einordnung des Dokuments 1.1 Zielsetzung Die vorliegende Spezifikation definiert Anforderungen an den Produkttyp "Schlüsselgenerierungsdienst ePA" (SGD) und beschreibt die Funktionsweise der Schlüsselgenerierung, die die Basis für die Ver- und Entschlüsselung von Akten- und Kontextschlüssel innerhalb eines Clients (ePA-FdV etc.) ist.  1.2 Zielgruppe Das Dokument richtet sich an Hersteller und Anbieter des Produkts "Schlüsselgenerierungsdienst ePA" und des Produktes "ePA-Aktensystem". Weiterhin unterstützt das Dokument Hersteller von "ePA-Frontends des Versicherten" und Hersteller eines "Fachmodul ePA" bei der Entwicklung, da diese Produkte mit mehreren SGD kommunizieren müssen. 1.3 Geltungsbereich Dieses Dokument enthält normative Festlegungen zur Telematikinfrastruktur des deutschen Gesundheitswesens. Der Gültigkeitszeitraum der vorliegenden Version und deren Anwendung in Zulassungsverfahren wird durch die gematik GmbH in gesonderten Dokumenten (z. B. Dokumentenlandkarte, Produkttypsteckbrief, Leistungsbeschreibung) festgelegt und bekannt gegeben. Wichtiger Schutzrechts-/Patentrechtshinweis Die nachfolgende Spezifikation ist von der gematik allein unter technischen Gesichtspunkten erstellt worden. Im Einzelfall kann nicht ausgeschlossen werden, dass die Implementierung der Spezifikation in technische Schutzrechte Dritter eingreift. Es ist allein Sache des Anbieters oder Herstellers, durch geeignete Maßnahmen dafür Sorge zu tragen, dass von ihm aufgrund der Spezifikation angebotene Produkte und/oder Leistungen nicht gegen Schutzrechte Dritter verstoßen und sich ggf. die erforderlichen Erlaubnisse/Lizenzen von den betroffenen Schutzrechtsinhabern einzuholen. Die gematik GmbH übernimmt insofern keinerlei Gewährleistungen. 1.4 Abgrenzungen Es ist keine Abgrenzung gegenüber anderen Spezifikationen/Konzepten oder im Kontext derzeit nicht relevanten Themen erforderlich. 1.5 Methodik Anforderungen als Ausdruck normativer Festlegungen werden durch eine eindeutige ID sowie die dem RFC 2119 [RFC2119] entsprechenden, in Großbuchstaben geschriebenen deutschen Schlüsselworte MUSS, DARF NICHT, SOLL, SOLL NICHT, KANN gekennzeichnet.

Sie werden im Dokument wie folgt dargestellt:
-
Text / Beschreibung
[<=]

Dabei umfasst die Anforderung sämtliche zwischen Afo-ID und der Textmarke [<=] angeführten Inhalte.
2 Überblick Ein Schlüsselgenerierungsdienst (SGD) generiert AES-256-Bit-Schlüssel für eine Entität, die sich mittels einer eGK,einer alternativen Versichertenidentität,einer SMC-B, odereiner SMC-KTR  gegenüber dem SGD authentisiert hat. Diese Generierung erfolgt über eine Schlüsselableitung auf Grundlage von geheimen SGD-spezifischen Ableitungsschlüsseln (Masterkeys) und Ableitungsvektoren. Diese Ableitungsvektoren enthalten konstante Merkmale, entweder die KVNR oder die Telematik-ID. Jeweils fließt notwendigerweise solch ein konstantes Merkmal aus der erfolgreichen Authentisierung und dem dabei verwendeten EE-Client-Zertifikat mit in die Ableitung ein. Damit werden nur für Berechtigte (erfolgreich Authentifizierte) diese Schlüssel abgeleitet und die jeweils generierten Schlüssel sind spezifisch – unterschiedliche Ableitungsvektoren erzeugen jeweils unterschiedliche abgeleitete Schlüssel. Die Sicherung der medizinischen Daten bei der elektronischen Patientenakte [gemSysL_ePA] ist ein Zusammenspiel aus Zugriffskontrolle und Schlüsselmanagement (Verschlüsselung). Aus diesem Hybridmodell folgt: Auch wenn ein Client über mehrere SGD Schlüssel ableiten lassen kann, heißt dies noch nicht, dass für diese Schlüssel überhaupt ein passendes Chiffrat existiert oder dass ein Client auf solch ein Chiffrat Zugriff besitzt. Die Schlüsselableitung wird in einem SGD innerhalb eines HSM mit einem SGD- spezifischen Firmware-Modul durchgeführt (SGD-HSM genannt). Durch technische Maßnahmen wird ausgeschlossen, dass ein Betreiber eines SGD die Schlüsselableitung selbst durchführen kann oder Zugriff auf die unverschlüsselten versichertenindividuellen Schlüssel erhalten kann. Nur das SGD-HSM kann die geheimen Ableitungsschlüssel verwenden. Es prüft dabei zuvor die erfolgreiche Authentisierung des Anfragenden und verwendet u. a. die darin authentisierten Angaben als Ableitungsvektoren. Es gibt aus der Perspektive eines Client (des ePA-Frontend des Versicherten (ePA-FdV), eines Konnektor-Fachmodul ePA (FM ePA) etc.) immer genau zwei SGD, die ein Client aufgrund der verwendeten SGD-HSM-Zertifikate sicher unterscheiden kann. Der Client fordert eine Schlüsselgenerierung jeweils bei den beiden SGD an und erhält damit zwei unabhängige AES-256-Schlüssel. Nach erfolgreicher Authentifizierung und Autorisierung durch das Aktensystem verwendet der Client diese zwei Schlüssel, um das vom ePA-Aktensystem erhaltene Chiffrat im "Zwiebelschalenprinzip" zu entschlüsseln. So erhält der Client den Akten- und den Kontextschlüssel im Klartext. Diese beiden Schlüssel sind dabei bezüglich der Ver- und Entschlüsselung durch eine gemeinsame Datenstruktur (vgl. Abschnitt 8) fest miteinander verbunden. Die zwei SGD sind technisch, organisatorisch und wirtschaftlich unabhängig voneinander (vgl. Abschnitt 3.1  ) . Ein SGD kommt niemals mit dem Akten- und Kontextschlüssel eines Versicherten in Berührung. Verliert der Versicherte seine eGK oder sein mobiles Endgerät mit seiner alternativen Versichertenidentität, kann er sich mit seiner neuen Identität (Folge-eGK oder einer anderen alternativen Versichertenidentität) am ePA-Aktensystem authentisieren. Da die Merkmale für die Schlüsselableitung in der Folgeidentität gleich sind (gleichbleibende KVNR)  und kodiert ist, welcher Ableitungsschlüssel verwendet worden ist, kann ein Client mittels beider SGD die gleichen Schlüssel erhalten und die Entschlüsselung der Akten- und Kontextschlüssel wieder vornehmen. Der Verlust einer eGK eines Versicherten führt also nicht zum Verlust der Akte des Versicherten. Analog ist in einer Folge-SMC-B die Telematik-ID konstant. Somit kann eine Leistungserbringerinstitution (LEI) bereits vergebene Berechtigungen und vorher von einem Versicherten für die LEI erzeugte Chiffrate weiterhin nutzen. 2.1 Grundlage und Kernidee Notwendige Grundlage der Idee der Schlüsselableitung mittels der SGD ist, dass bei einem Kartenwechsel der eGK oder einem Wechsel der alternativen Versichertenidentität die KVNR eines Versicherten in den Zertifikaten der Folgekarte bzw. bei der Folgeidentität korrekt und konstant bleibt. Die Korrektheit der Kartenherausgabeprozesse ist – wie bei nahezu allen digitalen Prozessen in der TI – notwendige Voraussetzung. Analog bleibt bei einem Kartenwechsel einer SMC-B oder einer SMC-KTR die Telematik-ID konstant. Es muss sichergestellt sein, dass nur erfolgreich authentifizierte Clients eine Schlüsselableitung durchführen können und dabei notwendigerweise die die Clients identifizierenden (konstanten) Merkmale in die Schlüsselableitung als Ableitungsvektor mit einfließen. Die Authentifizierung durch die SGD-HSMs der beiden SGD erfolgt unabhängig vom Aktensystem. Ziele für die Schlüsselableitung: Die Akten- und Kontextschlüssel dürfen sich unverschlüsselt nur in Clients (ePA-FdV, FM ePA etc. ) befinden (bzw. der Kontextschlüssel ebenfalls in der VAU). Dort liegen die Schlüssel nur temporär während der Verwendung der Akte vor und werden dort anschließend sicher gelöscht.Die Akten- und Kontextschlüssel dürfen nur durch das Zusammenwirken mehrerer unabhängiger Teilnehmer entschlüsselbar sein.Alle Ver- und Entschlüsselungen dürfen nur authentisierte Daten verwenden.Die Akten- und Kontextschlüssel müssen mit versichertenindividuellen Schlüsseln geschützt sein (Schlüsseldiversifizierung).Da ausreichend geprüfte symmetrische Verschlüsselungsverfahren (bspw. Finalisten des öffentlichen Auswahlverfahrens für AES) in ihrer Sicherheitseignung deutlich stabiler über längere Zeiträume sind als asymmetrische Verschlüsselungsverfahren (Eignung der Schlüssellängen, vgl. notwendige Anpassung der Schlüssellängen bspw. bei RSA), soll die Lösung möglichst viel auf symmetrischen Verfahren beruhen.Die Verwendung von symmetrischen Verschlüsselungsverfahren ermöglicht eine eventuell zukünftig notwendige Reaktion auf das Thema Quantencomputer- Resistenz. Wenn die KVNR bzw. die Telematik-ID in einer Folgekarte oder Folgeidentität immer konstant ist, so kann diese (1) als eindeutiges Identifikationsmerkmal bspw. innerhalb einer Authentifizierung und Autorisierung verwendet werden und (2) als Basis für eine eindeutige Schlüsselableitung. Die Schlüsselableitung berechnet aus einem geheimen Ableitungsschlüssel (Mastersecret) und einer KVNR plus anderen Angaben (vgl. Abschnitte 2.4 ff) deterministisch einen spezifischen AES-256-Schlüssel. Diese Schlüsselableitung wird in einem HSM mit einem speziellen Firmware-Modul durchgeführt, das verhindert, dass der Betreiber des HSMs (vgl. Abschnitt  ) in den Ableitungsprozess Einblick erhält – er kennt den geheimen Ableitungsschlüssel nicht, und er kann die Authentifizierungs- und Autorisierungsfunktion im HSM nicht beeinflussen. Ein solcher abgeleiteter versicherten- und zugriffsregelindividueller AES-256-Schlüssel wird dem Client über einen beidseitig authentisierten Ende-zu-Ende-verschlüsselten Kanal zwischen SGD-HSM und dem Client zur Verfügung gestellt. Ein Versicherter verwendet solche abgeleiteten versichertenindividuellen AES-256-Schlüssel aus mehreren voneinander unabhängigen SGD. Ein Client (ein ePA-FdV, ein FM ePA etc.) kann die verschiedenen SGD voneinander unterscheiden. Die Erzeugung der abgeleiteten versichertenindividuellen AES-256-Schlüssel kann auf beliebig viele unabhängige SGD verteilt werden. Das Verfahren skaliert linear – es ist technisch leicht möglich, mehrere SGD zu verwenden. Die Schlüsselableitungsfunktionalität ePA basiert aktuell auf genau zwei SGD pro Aktensystem (vgl. Abschnitt  und Abschnitt ) gemäß [gemKPT_Arch_TIP#4.7 Langfristige Verschlüsselung] . Im Folgenden wird derjenige SGD, den ein Anbieter eines Fachanwendungsspezifischen Dienstes (FAD) bereitstellen muss, als "SGD 1" bzw. "SGD FAD" bezeichnet. Derjenige SGD, der von einem von SGD 1 unabhängigen Dritten in der TI-Plattform (TIP) betrieben wird, wird im Folgenden als "SGD 2" bzw. "SGD TIP" bezeichnet. Mittels der beiden erhaltenen AES-256-Schlüssel verschlüsselt ein Client den Akten- und Kontextschlüssel (vgl. Abschnitt " ") im "Zwiebelschalenprinzip". Das entstandene Chiffrat wird dem ePA-Aktensystem zur Einlagerung übergeben.  Nach einer erfolgreichen Anmeldung am Aktensystem kann ein Versicherter Folgendes tun: Der Versicherte authentisiert sich jeweils bei den verschiedenen, unabhängigen Schlüsselableitungsdiensten (beidseitig authentisierter verschlüsselter Datenkanal zwischen SGD-HSM und Client, vgl. Abschnitt 9 ).Der Versicherte erhält aufgrund der Konstanz der KVNR  und des im Ableitungsvektor benannten geheimen Ableitungsschlüssel jeweils den gleichen abgeleiteten versichertenindividuellen AES-256-Schlüssel wie zuvor.Der Versicherte kann anschließend im Zwiebelschalenprinzip den Akten- und den Kontextschlüssel entschlüsseln. Abbildung 1: Überblick Zwiebelschalenprinzip bei der Ver- und Entschlüsselung Ein wichtiger Aspekt: Das   kryptographische Verfahren für die Generierung der spezifischen Schlüssel in den Schlüsselgenerierungsdiensten ist unabhängig von dem aktuell verwendeten Authentisierungsverfahren. Wenn bei der Authentisierung also zukünftig eine elliptische Kurve  mit 512-Bit anstatt aktuell einer elliptischen Kurve mit 256-Bit verwendet werden soll (oder ein Quanten-Computing-resistentes Signatur-Verfahren), so ist dies ist für das grundsätzliche Verfahren nicht entscheidend. Die Schlüsselableitungsfunktionalität ist diesbezüglich unabhängig. Der geheime Ableitungsschlüssel eines Schlüsselgenerierungsdienstes (SGD) wird regelmäßig neu erzeugt, so dass auch dort eine Schlüsseldiversifizierung vorhanden ist. Alte Ableitungsschlüssel müssen in den SGD weiter vorgehalten werden, solange sie potentiell benötigt werden. In einem späteren Release wird die (regelmäßige) Umschlüsselung einer ePA-Akte spezifikatorisch bearbeitet. Bei den SGD gibt es dafür jetzt schon vorbereitende Maßnahmen (vgl. Abschnitt 2.4, RND-Zufallswert). Bei einem Schlüsselwechsel bei der jeweiligen Akte (Umschlüsselung) muss auch eine neue Einlagerung (Schlüsselableitungsfunktionalität) vorgenommen werden (im Normalfall mittels eines neuen Ableitungsschlüssels). Das sichere Löschen von nicht mehr benötigten Ableitungsschlüsseln (Masterkeys) wird dann in diesem späteren Release ebenfalls spezifikatorisch bearbeitet. Die Ableitungsschlüssel besitzen eindeutige Bezeichner () und sind unterscheidbar. 2.2 Akteure und Komponenten Die beteiligten Akteure sind: Tabelle 1: beteiligte Akteure im Kontext Schlüsselableitungsfunktionalität RolleBeschreibungder Versicherte (Kontoinhaber)Der Versicherte nutzt das von seiner Krankenkasse für ihn bereitgestellte ePA-Aktensystem. Er ist Kontoinhaber. Er verwendet entweder ein ePA-FdV (s. u.) für den Aktenzugriff oder berechtigt eine LEI (bzw. in einem späteren Release einen LE) via ad-hoc-Autorisierung über ein FM ePA (s. u.). Dabei verwendet er entweder eine eGK- basierte AUT-Identität oder eine alternative Versichertenidentität zur Authentisierung jeweils am Aktensystem, am SGD 1 (s. u.) und am SGD 2 (s. u.).ein VertreterEin Vertreter ist ein Versicherter (besitzt also eine eGK oder einen alternative Versichertenidentität) und wurde vom Versicherten (Kontoinhaber) berechtigt, für diesen Handlungen in Bezug auf die ePA vorzunehmen (bspw. LEI im Namen des Kontoinhabers zu berechtigen).eine Leistungserbringerinstitution (LEI)Eine LEI ist von einem Versicherten berechtigt worden, auf dessen Akte zuzugreifen. Nach Anmeldung am Aktensystem und nach der Prüfung der Autorisierung durch das Aktensystem wird an die LEI ein "doppeltes" Chiffrat übergeben, das den Akten- und Kontextschlüssel der Akte des Versicherten enthält. Durch Zugriff auf die beiden SGD (s. u.) inkl. Authentifizierung der LEI erhält diese jeweils einen AES-256-Schlüssel und kann dann im "Zwiebelschalenprinzip" den Akten- und den Kontextschlüssel entschlüsseln.ein Kostenträger (KTR)Ein Kostenträger wird durch einen Versicherten (Kontoinhaber oder Vertreter) berechtigt, auf ein Aktenkonto zuzugreifen.
Nach Anmeldung am Aktensystem und nach der Prüfung der Autorisierung durch das Aktensystem wird an den Client ein "doppeltes" Chiffrat übergeben, das den Akten- und Kontextschlüssel der Akte des Versicherten enthält. Durch Zugriff auf die beiden SGD (s. u.) inkl. Authentifizierung des KTR erhält diese jeweils einen AES-256-Schlüssel und kann dann im "Zwiebelschalenprinzip" den Akten- und den Kontextschlüssel entschlüsseln.Anbieter ePA-AktensystemEin Anbieter ePA- Aktensystem bietet ein ePA-Aktensystem im Auftrag einer Krankenversicherung deren Versicherten (Kontoinhaber) an. Der Anbieter verantwortet den sicheren Betrieb und die Verfügbarkeit des von ihm angebotenen ePA-Aktensystems.Anbieter Schlüsselgenerierungsdienst ePA (SGD)Ein Anbieter Schlüsselgenerierungsdienst ePA bietet die Nutzung der Schlüsselableitungsfunktionalität an. Für einen Versicherten müssen zwei SGD zur Verfügung stehen: ein SGD, der dem Aktensystem beigestellt ist, und ein SGD außerhalb des Aktensystems. Beide SGD sind technisch, organisatorisch und wirtschaftlich getrennt (Rollenausschluss). Beide SGD sind bis auf die unterschiedlichen jeweils zufällig erzeugten Ableitungsschlüssel technisch identisch, für beide SGD gilt dieselbe Spezifikation. Die beteiligten Komponenten und Dienste sind: Tabelle 2: beteiligte Komponenten und Dienste im Kontext Schlüsselableitungsfunktionalität Komponente oder DienstBeschreibungePA-Frontend des Versicherten (ePA-FdV)Das ePA-FdV tritt als Client gegenüber den beiden SGD (s. u.) auf. Von diesen beiden erhält es jeweils einen versichertenindividuellen geheimen Schlüssel (AES-256). Mit diesen beiden Schlüsseln werden nach der initialen zufälligen Erzeugung von Akten- und Kontextschlüssel im Client diese in ein interoperables Austauschformat kodiert und anschließend zwei Mal hintereinander verschlüsselt. Das "doppelte" Chiffrat übergibt das ePA-FdV an das ePA-Aktensystem (Komponente Autorisierung) zur Einlagerung.Fachmodul ePA (FM ePA) im Konnektor einer LEI oder eines LEDas FM ePA tritt als Client gegenüber den beiden SGD (s. u.) auf.Fachmodul ePA im KTR- Consumer (FM ePA KTR)Das FM ePA tritt als Client gegenüber den beiden SGD (s. u.) auf.ePA-AktensystemDas ePA-Aktensystem stellt dem Versicherten eine ePA zur Verfügung.ePA-Aktensystem, Zugangsgateway des Versicherten (ZGdV)Das ZGdV nimmt Anfragen von ePA-FdV über seine HTTPS-Schnittstelle an und leitet diese Anfragen für bestimmte Pfadnamen, nämlich /SGD1 und /SGD2, im HTTP-Request jeweils an den SGD 1 oder den SGD 2 weiter. Welchen SGD welcher Anbieter verwendet, wird initial bei der Inbetriebnahme des Aktensystems festgelegt (vgl. Abschnitt ).ePA-Aktensystem, Komponente AutorisierungDie "Komponente Autorisierung" bewahrt den "doppelt" verschlüsselten Akten- und Kontextschlüssel (AuthorizationKey-Datenstruktur) auf. Sie übergibt diese Datenstruktur nach erfolgreicher Anmeldung eines Client an diesen.SGD 1
als FADDem ePA-Aktensystem beigestellt gibt es einen SGD. Dieser ist unter dem Pfadnamen /SGD1 über das ZGdV für alle Clients ansprechbar. Der SGD generiert auf Nutzeranfrage verschiedene versichertenindividuelle AES-256- Schlüssel.

Durch technische Maßnahmen wird dabei mit hoher Sicherheit ausgeschlossen, dass ein Betreiber eines SGD diese Schlüssel ermitteln kann.SGD 2
der TIPAls Teil der zentralen TI ist dieser SGD unter dem Pfadnamen /SGD2 über das ZGdV für alle Clients ansprechbar. Für beide SGD (1 und 2) gilt dieselbe Spezifikation. Die folgende Grafik gibt einen Überblick über die beteiligten Komponenten und Dienste. Abbildung 2: beteiligte Komponenten und Dienste im Kontext der Schlüsselableitungsfunktionalität ePA Ein SGD 1 und ein SGD 2 sind fachlich gesehen baugleich – bis auf die eingesetzten geheimen und privaten Schlüssel (  (S1), (S3), (S4) und (S5)) und ihre Identität ( ) unterscheiden sie sich nicht. Insbesondere benötigt ein SGD keine Informationen aus dem ePA-Aktensystem. 2.3 Basisablauf Kommunikation SGD- Client und SGD Ein Client aus dem Internet (also ein ePA-FdV) erreicht einen SGD über das ZGdV des ePA-Aktensystems (vgl. ). Solch ein Client verwendet die auch für die Kommunikation mit dem Aktensystem verwendete HTTPS-Schnittstelle des ZGdV. Das ZGdV leitet HTTP-Requests mit dem Pfadname /SGD1 an die HTTPS-Schnittstelle des SGD 1 weiter (eigenständige TLS-Verbindung zwischen ZGdV und SGD). Analog tut das ZGdV dies für Requests mit dem Pfadnamen /SGD2 in Bezug auf den SGD 2. Auf Applikationsebene gibt es eine Ende-zu-Ende-Verschlüsselung zwischen den Clients und den SGD- HSMs der SGDs (vgl. Abschnitt 9 ). Ein Client aus der TI (FM ePA etc.) spricht die beiden SGD über deren HTTPS- Schnittstellen () direkt an. Die IP-Adressen erfahren solche Clients über DNS-Service-Discovery.  Der grundsätzliche Ablauf einer Anfrage (vgl. Abschnitt 2.4 ff) ist in Bezug auf das Kommunikationsmuster bezüglich der beiden SGD immer gleich und wird im Folgenden beschrieben. Zur Vereinfachung der Darstellung ist der Ablauf sequenziell dargestellt. Für eine Performanzsteigerung muss ein Client die Anfragen an die beiden SGD parallelisieren ( ), was bis auf Schritt 6 leicht möglich ist. Eine noch detaillierte Erläuterung zu den kryptographischen Grundlagen der Kommunikation befindet sich in Abschnitt "". Schritt 1: Der Client verwendet die HTTPS-Schnittstelle des ZGdV, oder falls er aus Netzwerksicht Teil der TI ist (FM ePA etc.) die HTTPS-Schnittstelle eines SGD direkt, um den aktuellen öffentlichen ECIES-Schlüssel des SGD 1 zu erhalten (Pfadname der URL ist "/SGD1") (vgl. Schnittstelle " "). Das ZGdV leitet den HTTP-Request (HTTPS) an den SGD 1 weiter. Schritt 2: Der SGD 1 antwortet mit dem aktuellen authentisierten öffentlichen ECIES-Schlüssel des für den Nutzer (AUT-Zertifikat) avisierten SGD-HSM innerhalb des SGD 1 (vgl.  ). Dieser Schlüssel ändert sich alle 15 Minuten und ist dann jeweils für 30 Minuten für alle anfragenden Clients verwendbar. Der ECIES-Schlüssel des SGD-HSM ist durch das SGD-HSM signiert (  (S1)). Schritt 3: Der Client prüft das Zertifikat, die Signatur und den ECIES-Schlüssel des SGD-HSM von SGD 1 (). Er prüft dabei u. a., dass die Antwort von einem SGD-1-SGD-HSM kam. Schritt 4: Der Client erfragt analog zu Schritt 1 den aktuellen authentisierten öffentlichen ECIES-Schlüssel von SGD 2 (Pfadname der URL ist "/SGD2"). Schritt 5: Der SGD 2 antwortet analog zu Schritt 2 mit dem signierten ECIES-Schlüssel des für den Nutzer vorgesehenen SGD-HSM innerhalb von SGD 2 (vgl.  ). Schritt 6: Der Client prüft das Zertifikat, die Signatur und den ECIES-Schlüssel des SGD-HSM von SGD 2 (). Er prüft dabei u. a., dass die Antwort von einem SGD-2-SGD-HSM kam. Schritt 7: Der Client berechnet die Hashwert der erhaltenen ECIES-Schlüsselwerte der beiden SGD-HSM aus Schritt 3 und Schritt 6. Schritt 8: Der Client erzeugt ein kurzlebiges ECIES-Schlüsselpaar ( [gemSpec_Krypt#]), was der Client später für die Request an SGD 1 und SGD 2 verwenden wird. Der Client führt den öffentlichen Client-ECIES-Schlüssel zusammen mit den Hashwerten aus Schritt 7 in ein Kodierung gemäß  auf und signiert diese Kodierung mittels des AUT-Materials der eGK, der SMC-B, der SMC-KTR oder der alternativen Authentisierung. Schritt 9: Der Client verwendet die Operation GetAuthenticationToken bei SGD 1 um ein Authentisierungstoken zu erhalten. Dafür erzeugt der Client einen Zufallswert (Challenge) und sendet diesen verschlüsselt an das für ihn vorgesehene SGD-HSM bei SGD 1. Schritt 10: Die RVE innerhalb von SGD 1 prüft das AUT-Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel. Falls alle Prüfungen ein OK liefern, bereitet die RVE den Request auf (OCSP-Responses, Umkodierung für die Innenschnittstelle zum den SGD-HSM etc.) und übergibt die verschlüsselte Nachricht an das SGD-HSM. Das SGD-HSM prüft ebenfalls das AUT-Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel und erstellt ein Authentisierungstoken. Das SGD-HSM erstellt eine Nachricht, die die Challenge des Client, einen Hashwert (des Client-Schlüssels und des AUT-Zertifikats) und das erzeugte Authentisierungstoken enthält. Diese Nachricht verschlüsselt das SGD-HSM für den Client-ECIES-Schlüssel und übergibt das Chiffrat an die RVE. Diese kodiert die Nachricht um und antwortet dem Client. Schritt 11: Der Client entschlüsselt die Nachricht des SGD-HSM von SGD 1. In der entschlüsselten Nachricht prüft, es ob seine Challenge enthalten ist. Falls ja, kann es davon ausgehen, dass die Antwort wirklich vom SGD-HSM stammt. Es prüft den Hashwert (des Client-Schlüssels und des AUT-Zertifikats) und speichert das Authentisierungstoken für die folgende Verwendung innerhalb der Operation KeyDerivation. Schritt 12: Der Client erzeugt zufällig eine Request-ID. Dann einen Nachricht. Diese enthält das Authentisierungstoken, die Request-ID und die je nach Anwendungsfall (vgl. Abschnitt 2.4 ff) unterschiedliche Ableitungsregel. Diese Nachricht verschlüsselt der Client für das SGD-HSM und verwendet die Operation KeyDerivation von SGD 1. Schritt 13: Die RVE innerhalb von SGD 1 prüft das AUT- Zertifikat, die Client-Signatur des Client-ECIES-Schlüssels und den Client-ECIES-Schlüssel. (Hinweis: die RVE cacht die Prüfergebnisse ().) Falls alle Prüfungen ein OK liefern, bereitet die RVE den Request auf (OCSP-Responses, Umkodierung für die Innenschnittstelle zum den SGD-HSM etc.) und übergibt die verschlüsselte Nachricht an das SGD-HSM. Das SGD-HSM entschlüsselt die Nachricht des Client und überprüft, ob das Authentisierungstoken konsistent mit dem Client-ECIES- Schlüssel und dem AUT-Zertifikat des Client ist. Falls ja überprüft es die Ableitungsregel und führt, falls der Client berechtigt ist, die Schlüsselableitung durch. Das Ergebnis verschlüsselt inkl. Authentisierungstoken, Request-ID und Ableitungsvektor das SGD-HSM für den Client. Das Chiffrat übergibt das SGD-HSM an die RVE, die es nach Umkodierung an den Client als Response weiterleitet. Die Schritte 14 bis 20 (siehe folgende Tabelle) sind analog zu den Schritten 9 bis 13, nur findet die Kommunikation zwischen Client und SGD 2 statt. Tabelle 3: Tab_Übersicht_der_Kommunikationsschritte_eines_SGD-Clients Nr.SDG-ClientSGD 1SGD 21Operation GetPublicKey bei SGD 1 aufrufen
Eingabe:
AUT-Zertifikat des Nutzers2Operation GetPublicKey
Aktion:
Prüfung des AUT-Zertifikats des Nutzers
Ausgabe:
aktueller signierter öffentlicher ECIES-Schlüssel des für den Nutzer avisierten SGD-HSM innerhalb des SGD 13
Prüfung des Zertifikats, der Signatur und des öffentlichen Schlüssels des SGD-HSM von SGD 14
Operation GetPublicKey bei SGD 2 aufrufen
Eingabe:
AUT-Zertifikat des Nutzers5Operation GetPublicKey
Ausgabe:
aktueller signierter öffentlicher ECIES-Schlüssel des für den Nutzer avisierten SGD-HSM innerhalb des SGD 26
Prüfung des Zertifikats, der Signatur und des öffentlichen Schlüssels des SGD-HSM von SGD 27
Berechnung der Hashwerte der öffentlichen ECIES-Schlüssel der beiden SGD-HSMs8
Erzeugung des Client-ECIES-Schlüsselpaars und Signatur des öffentlichen Schlüssel inkl. der Hashwerte aus Schritt 7 mittels eGK, SMC-B, SMC-KTR oder alternativer Authentisierung.9
Operation GetAuthenticationToken bei SGD 1
Eingabe:
für SGD-HSM verschlüsselte Challenge (Zufallswert),
AUT-Zertifikat, signierte Schlüssel aus Schritt 810
Operation GetAuthenticationToken
Aktion:
Prüfung des AUT- Zertifikats,
Prüfung des Client-Signatur,
Prüfung des Client-ECIES-Schlüssels,
Entschlüsselung der Nachricht
Ausgabe:
Für den öffentlichen Client-ECIES-Schlüssel verschlüsselte Response.
Innerhalb der Response befinden sich die Challenge des Clients (Zufallswert), das erzeugte Authentisierungstoken und der Hashwert des öffentlichen Client und des AUT-Zertifikats des Client.11
Entschlüsselung der Antwort.
Vergleich Challenge (Zufallswert) mit dem Wert aus der Response,
Vergleich des Hashwerts mit dem selbst erzeugten Hashwert,
Authentisierungstoken für SGD 1 lokal für die folgende Operation KeyDerivation zwischenspeichern12
Operation KeyDerivation bei SGD 1 aufrufen
Eingabe:
für SGD-HSM verschlüsselte Nachricht:
Authentisierungstoken, zufällige Request-ID des Client, Ableitungsregel13
Operation KeyDerivation
Aktion:
Prüfung Authentisierungstoken
Ergebnis der Schlüsselableitung (vgl. Abschnitt2.4 ff) inkl. Prüfung der Berechtigung für die angeforderte Schlüsselableitung berechnen
Ausgabe:
für den öffentlichen Client-ECIES-Schlüssel verschlüsseltes Ergebnis der Schlüsselableitung14
Entschlüsselung der Antwort.
Vergleich des Authentisierungstokens und der Request-ID in der Antwort mit den Werten aus dem Request,
Auslesen des abgeleiteten AES-256-Schlüsselwerts der vom SGD-HSM für den Client abgeleitet wurde, ggf. Auslesen des Ableitungsvektors15
Operation GetAuthenticationToken bei SGD 2 aufrufen, analog zu Schritt 916
Operation GetAuthenticationToken
analog zu Schritt 10 bei SGD 117
Entschlüsselung der Antwort.
Prüfungen analog zu Schritt 1118
Operation KeyDerivation bei SGD 2 aufrufen19
Operation KeyDerivation
analog zu Schritt 13 bei SGD 120
Entschlüsselung der Antwort.
Prüfungen analog zu Schritt 14 Der Client verwendet die erhaltenen beiden AES-256-Schlüssel je nach Anwendungsfall entweder für die Ver- oder die Entschlüsselung des Akten- und des Kontextschlüssels unter Verwendung des interoperablen Austauschformats nach Abschnitt  . Dabei befinden sich die verwendeten Ableitungsvektoren innerhalb der "associated data" (AD), so dass später die ausgeführte Aktion durch einen autorisierten Client reproduzierbar ist. 2.4 Initiale Schlüsselableitung für den Kontoinhaber Ein Versicherter (Kontoinhaber) eröffnet ein Konto und der verwendete Client (entweder das ePA-FdV oder das FM ePA) erzeugt den Akten- und Kontextschlüssel. Anschließend durchläuft der Client die Schritte 1 bis 20 aus Abschnitt  . Als Nachricht (verschlüsselte "EncryptedMessage" in   ) an die beiden SGD sendet der Client dabei jeweils eine Nachricht der Form AT <256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r1: und erhält jeweils eine Antwort der Form AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r1:<256-Bit-RND-in-Hexform>:: Die beiden nun erhaltenen AES-256-Schlüssel verwendet der Client zur zweifachen Verschlüsselung des von ihm erzeugten Akten- und Kontextschlüssel im "Zwiebelschalenprinzip" unter Verwendung des interoperablen Austauschformats nach Abschnitt  . Dabei verwendet der Client jeweils die beiden von den SGD erhaltenen Teilzeichenketten der Form "r1:<256-Bit-RND-in-Hexform>:: " als "associated data" (AD) bei der Kodierung. Dieses entsprechend erzeugte und kodierte Chiffrat schickt der Client an die "Komponente Autorisierung" zur Einlagerung im Aktensystem. Bei einer Umschlüsselung des Akten- und Kontextschlüssels bei einem späteren ePA-Release (vgl. Ende von Abschnitt  ) wird aufgrund des Einflusses der  jeweils vom SGD gewählten RND-Daten ein anderer Schlüssel generiert. Damit ist ein SGD nach aktueller Spezifikation schon jetzt auf diese Umschlüsselungsfunktionalität in Bezug auf die Client-Schnittstelle vorbereitet. Hinweis: in den folgenden Sequenzdiagrammen wird auf die Aufführung des Authentisierungstokens und der Request-ID in der Nachricht (Message) an die SGD verzichtet. Abbildung 3: Initiale Schlüsselableitung für den Kontoinhaber 2.5 Schlüsselableitung durch den Kontoinhaber Der Versicherte (Kontoinhaber) meldet sich beim Aktensystem an und erhält nach erfolgreicher Authentifizierung und Autorisierung die "AuthorizationKey"-Datenstruktur vom Aktensystem. Darin befindet sich das zweifach verschlüsselte Chiffrat aus Abschnitt 2.4. Dort kann der Client aus den AD, durch Leerzeichen getrennt, jeweils den Ableitungsvektor für den SGD 1 und für den SGD 2 auslesen. Diese haben jeweils folgende Form: r1:<256-Bit-RND-in- Hexform>:: Der Client sendet eine Nachricht der Form AT<256-Bit- Authentisierungstokenwert-in-Hexform>  KeyDerivation r1:<256-Bit-RND-in-Hexform>:: einmal an den SGD 1 und einmal an den SGD 2, jeweils mit den SGD-spezifischen Ableitungsvektoren. Nach  müssen die Abfragen zur Generierung der beiden Schlüssel durch den Client parallelisiert werden. Das SGD-HSM prüft die Authentizität der Nachricht und verwendet u. a.  die KVNR des Versicherten bei der Schlüsselableitung (versichertenindividuelle Schlüsselableitung). Der Client erhält die beiden gleichen AES-256- Schlüssel, die er wie zuvor in Abschnitt 2.4 erhalten hat. Die Antwort der SGD ist dabei analog zu Abschnitt 2.4 der folgenden AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r1:<256-Bit-RND-in-Hexform>:: Nachdem beide Schlüssel (je einer aus SGD 1 und aus SGD 2) vorliegen, entschlüsselt der Client (vgl.  ) das zweifach verschlüsselte Chiffrat im "Zwiebelschalenprinzip" mittels AES-GCM. Dabei prüft es die Authentizität der Chiffrats und der AD (Authenticated Encryption with Associated Data (AEAD)) bzw. damit auch die Authentizität des erhaltenen Klartextes.  Im Nicht- Fehlerfall liegen danach der Akten- und Kontext-Schlüssel in der Kodierung nach  vor. Dieses Vorgehen funktioniert unabhängig davon, ob der Versicherte seine eGK (oder alternative Versichertenidentität) wie bei der Aktenkontoeröffnung oder eine Folgekarte (oder "Folge"-Identität) verwendet. Abbildung 4: Schlüsselableitung durch den Kontoinhaber 2.6 Schlüsselableitung für einen Berechtigungsempfänger Für das Berechtigen eines Vertreters, einer LEI oder eines KTR durch den Kontoinhaber muss der Client des Kontoinhabers den Akten- und Kontextschlüssel für einen Berechtigungsempfänger verschlüsselten im Aktensystem hinterlegen. Hierfür liegen der Akten- und Kontextschlüssel temporär im Client des Kontoinhabers im Klartext vor. Der Client fragt jeweils SGD 1 und SDG 2 für eine für diesen Anwendungsfall spezifische Schlüsselableitung (r2) an. Der Client sendet jeweils eine Nachricht der Form AT<256-Bit-Authentisierungstokenwert-in- Hexform>  KeyDerivation r2: an beide SGD und erhält jeweils eine Antwort der Form AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r2:<256-Bit-RND-in-Hexform>::: Mit beiden erhaltenen Schlüsseln verschlüsselt der Client den Akten- und Kontextschlüssel und kodiert nach  das zweifach verschlüsselte Chiffrat. Dabei werden die Ableitungsinformationen ebenfalls authentitäts- und integritätsgeschützt (AEAD). Die vom Client erzeugte Datenstruktur wird im Aktensystem für den Berechtigungsempfänger hinterlegt. Abbildung 5: Schlüsselableitung für einen Berechtigungsempfänger 2.7 Schlüsselableitung durch einen Berechtigten Ein Vertreter, eine LEI bzw. ein KTR meldet sich am Aktensystem an und erhält die AuthorizationKeys-Datenstruktur. Dort befindet sich das zuvor vom Versicherten hinterlegte zweifach verschlüsselte Chiffrat mit dem verschlüsselten Akten- und Kontextschlüssel. In den AD sind die Ableitungsinformationen enthaltenen, die ein Client für die Anfragen an die beiden SGD benötigt. Der Client sendet jeweils an die SGD eine Nachricht der folgenden Form AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r2:<256-Bit- RND-in-Hexform>::: und erhält jeweils eine Antwort der Form AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r2:<256-Bit-RND-in-Hexform>::: Das SGD-HSM prüft, ob im vierten Feld der Ableitungsinformationen "" zu den authentischen Angaben passt, die im Zertifikat der Anfrage stehen (plus Signaturprüfung, Sperrstatus u. v. m.). Bei erfolgreicher Prüfung führt das SGD-HSM die Ableitung durch und übergibt dem Client die generierten Schlüssel über den verschlüsselten und beidseitig authentisierten Datenkanal zwischen Client und SGD-HSM. Der Client kann nun das zweifach verschlüsselte Chiffrat entschlüsseln und ihm stehen der Akten- und der Kontextschlüssel zur Verfügung. Abbildung 6: Schlüsselableitung durch einen Berechtigten 2.8 Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter Der Vertreter ist am Aktensystem angemeldet und möchte im Rahmen seiner Vertretungstätigkeit im Aktensystem eine LEI oder einen KTR berechtigen. Dafür muss der Client des Vertreters den Akten- und den Kontextschlüssel der Akte des Kontoinhabers für den Berechtigungsempfänger verschlüsselt hinterlegen. Der Client sendet jeweils die Nachricht AT<256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r3: : und erhält jeweils eine Antwort der Form AT<256-Bit-Authentisierungstokenwert-in- Hexform>  OK-KeyDerivation r3:<256-Bit-RND-in-Hexform>:::: Mit den beiden von den SGD erhaltenen Schlüsseln verschlüsselt der Client den Akten- und Kontextschlüssel und bildet eine Datenstruktur gemäß . Diese wird für den Berechtigungsempfänger im Aktensystem hinterlegt. Abbildung 7: Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter 2.9 Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten Analog zu Abschnitt 2.7 verwendet der Client der LEI die AuthorizationKeys-Datenstruktur und die darin befindlichen AD. Der Client verwendet die Ableitungsvektoren aus den AD (diese werden mit "r3:" beginnen). Mit diesen beiden Ableitungsvektoren fragt der Client parallel jeweils SGD  1 und SGD 2 an, jeweils mit einer Nachricht der Form AT <256-Bit-Authentisierungstokenwert-in-Hexform>  KeyDerivation r3:<256-Bit-RND-in-Hexform>:::: und erhält jeweils eine Antwort der Form AT<256-Bit-Authentisierungstokenwert-in-Hexform>  OK-KeyDerivation r3:<256-Bit-RND-in-Hexform>:::: Dabei prüft das SGD-HSM innerhalb eines SGD zuvor, ob das Datenfeld "" in den Ableitungsinformationen zu den authentischen Angaben passt, die im Zertifikat der Anfrage stehen (plus Signaturprüfung, Sperrstatus u. v. m.). Bei erfolgreicher Prüfung führt das SGD-HSM die Ableitung durch und übergibt dem Client die generierten Schlüssel über den verschlüsselten und beidseitig authentisierten Datenkanal. Der Client kann nun das zweifach verschlüsselte Chiffrat entschlüsseln und ihm stehen der Akten- und der Kontextschlüssel zur Verfügung. Abbildung 8: Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten 2.10 Nichtspeicherung von Versichertendaten Ein SGD speichert keine versichertenspezifischen Daten. Die Berechnung der versichertenindividuellen Schlüssel ist eine kryptographische Berechnung (Schlüsselableitung) auf Grundlage des jeweiligen SGD-spezifischen Ableitungsschlüssels und vom Client authentisiert übergebener Ableitungsvektoren. Ein solcher versichertenindividueller Schlüssel wird nur nach erfolgreicher Authentifizierung eines anfragenden Versicherten berechnet und nach der verschlüsselten Übertragung an den Versicherten sofort wieder im SGD-HSM gelöscht. Für den Aufbau des beidseitig authentisierten verschlüsselten Datenkanals zwischen SGD-HSM und Client wird das AUT-Zertifikat des Nutzes (bspw. des Versicherten) kurzzeitig benötigt. Dieses Zertifikat wird vom SGD nicht persistent gespeichert ( ). 2.11 Besondere Rolle SGD-HSM Das SGD-HSM mit seinem speziellen HSM-Firmware-Modul und den begleitenden technischen und organisatorischen Prozessen ermöglicht es mit hoher Sicherheit, eine durch den Betreiber bestimmte Schlüsselableitung innerhalb des SGD auszuschließen. Das SGD-HSM entscheidet, ob eine ausreichende Authentifizierung stattgefunden hat und führt erst danach die Schlüsselableitung durch. Anschließend überträgt es die abgeleiteten spezifischen Schlüssel über einen beidseitig authentisierten und verschlüsselten Datenkanal (Ende-zu-Ende-Sicherheit) zum Client. Damit dies möglich wird, muss man auf die Einschränkungen der Embedded-Umgebung, in dem das SGD-HSM-Firmware arbeitet, eingehen: Die Performanzvorgaben verbieten ähnlich wie in einer Chipkarte die Verwendung eines Ende-zu-Ende geführten TLS-Kanals. Bei Chipkarten verwendet man anstatt eines TLS-Kanals ein Secure-Messaging (Anwendung VSDM).  Die Ende-zu-Ende-verschlüsselte Datenverbindung zwischen Client und SGD-HSM verwendet das ECIES-Verfahren (vgl. Abschnitt ) für das es einen kryptographischen Sicherheitsbeweis gibt.
Zusammen mit den alle 15 Minuten wechselnden ECIES-Verbindungsschlüsseln eines SGD-HSM ermöglicht dieses Vorgehen die in Bezug auf die Clients zustandslose Abarbeitung von Requests innerhalb des SGD-HSMs.Ähnlich wie die Zertifikatsprüfung in einer Chipkarte kann die Zertifikatsprüfung im SGD-HSM nicht auf der relativ komplexen TSL-Auswertung basieren. Anstatt der TSL-Auswertung wird u. a. die Rückführbarkeit zur X.509-Root der TI und weiteren im SGD-HSM sicher gespeicherten CA-Zertifikaten der TI bei der Zertifikatsprüfung verwendet (vgl. Abschnitt  ). 3 Übergreifende Festlegungen 3.1 Beziehung zwischen ePA-Aktensystem und SGD Für einen Versicherten müssen zwei unabhängige SGD-Instanzen zur parallelen Nutzung für die zweifache Schlüsselgenerierung zur Verfügung stehen. Beide SGD müssen dabei technisch, organisatorisch und wirtschaftlich unabhängig sein. Um dies sicherzustellen, gibt es einen SGD, den alle Aktensysteme als SGD 2 verwenden ().  A_17881 - Anbieter SGD - Rollenausschluss für Anbieter des SGD der zentralen TI-Plattform Der Anbieter des Schlüsselgenerierungsdienstes der zentralen TI-Plattform MUSS unabhängig von Anbietern von ePA-Aktensystemen sein, d. h. es sind mindestens jeweils eigenständige Rechtspersönlichkeiten mit eigenständigen operativen Geschäfts- und Betriebsführungen und es ist eine strikte Vermeidung von Personenidentitäten bzw. Doppelrollen in den Funktionen Geschäftsführung, leitende Mitarbeiter und Zugangsberechtigte zum Betriebsort des Schlüsselgenerierungsdienstes bzw. ePA-Aktensystems gewährleistet. [<=] A_17883 - Weiterführung der Schlüsselableitungsfunktionalität bei SGD-Instanzwechsel Ein Anbieter eines ePA-Aktensystems und ein Anbieter eines SGD ePA MÜSSEN beim Wechsel ihrer jeweiligen SGD-Instanz die Weiterführung der Schlüsselableitungsfunktionalität ePA sicherstellen. [<=] A_17884 - Migrationskonzept bei SGD-Instanzwechsel Ein Anbieter eines ePA-Aktensystems und Anbieter eines SGD ePA MÜSSEN ein Migrationskonzept erstellen und pflegen, worin festgelegt wird, wie beim Wechsel ihrer SGD- Instanz die für deren Kunden verwendeten Ableitungsschlüssel sicher an die SGD-Folgeinstanz übergeben werden. [<=] A_17885 - ePA-Aktensystem-spezifische Ableitungsschlüssel eines SGD-Instanz Ein Anbieter eines ePA-Aktensystems MUSS sicherstellen, dass die von ihm verwendete SGD-Instanz (d. h. technisch formuliert "SGD 1") ePA-Aktensystemanbieter- spezifische Ableitungsschlüssel (Schlüsselableitungsfunktionalität ePA) verwendet. [<=] A_17886 - Migration SGD-Instanz Ein Anbieter eines ePA-Aktensystems MUSS beim Wechsel der SGD-Instanz (vgl. alle Ableitungsschlüssel sicher an die SGD- Folgeinstanz übergeben und anschließend sicher in der alten SGD-Instanz löschen.[<=] 3.2 Verfügbarkeit und Performanz Verfügbarkeits- und Performanzanforderungen für einen SGD befinden sich in  und sind dem Produkttypsteckbrief SGD zugewiesen. 3.3 Sichere Betreiberumgebung Ähnlich wie einem TSP werden an den Betreiber eines SGD ePA Anforderungen u. a. an die sichere Betreiberumgebung aus [gemSpec_DS_Anbieter] gestellt (vgl. Zuordnung im Produkttypsteckbrief). Die zugeordneten Module sind "Basis-IS", "Basis-ISMS", "Erweitertes ISMS", "TI-Sicherheitsbericht" und "„Erweiterter TI- Sicherheitsbericht“. 3.4 Verschiedenes A_17880 - Zeitsynchronität mit der TI Ein SGD ePA MUSS mit den Stratum-1-NTP- Servern der TI synchronisieren. [<=] 4 Bestandteile eines SGD Ein SGD besteht aus einer HTTPS-Schnittstelle (vgl.  ) innerhalb der TI,einer Request verarbeitenden Einheit ( ) für die eingehenden HTTP-Requests, undeinem (oder mehreren) HSM (SGD-HSM genannt), das den wesentlichen Teil der Sicherheitsleistung des SGD erbringt. Abbildung 9: Strukturelemente eines SGD 4.1 Request-Verarbeitung in einem SGD Eingehende Requests eines Clients werden von der Request verarbeitenden Einheit (RVE) an der HTTPS-Außenschnittstelle (vgl.  ) entgegengenommen. Dort werden sie entweder direkt beantwortet (Operation GetPublicKey, ) oder aufbereitet und danach an das SGD-HSM gesendet. Abhängig von der Antwort des SGD-HSM erzeugt die RVE eine Antwort für den Client ( ) und sendet diese an ihn. Die RVE hat keinen Einblick in den beidseitig authentisierten und verschlüsselten Datenkanal zwischen Client und SGD-HSM (vgl. Abschnitt 9). Die RVE stellt nur in Bezug auf die Verfügbarkeit (DoS-Gegenmaßnahmen, Einholen von signierten OCSP-Responses, Umkodieren von Requests etc.) des SGD eine kritische Komponente dar. In Bezug auf die Vertraulichkeit der Schlüssel erbringt sie keine Sicherheitsleistung. Die Schnittstelle zwischen RVE und SGD-HSM ist eine Innenschnittstelle (vgl. Abschnitt ) und wird deshalb nicht ausspezifiziert beschrieben. Es werden nur notwendige Festlegungen getroffen. A_17908 - Request- Verarbeitung in der SGD Die Request verarbeitende Einheit (RVE) eines SGD ePA MUSS alle Informationen, die ein SGD-HSM für die Zertifikatsprüfung nach benötigt, bereitstellen und dem SGD-HSM bei der Weiterleitung des Requests übergeben.
Wenn die RVE erkennt, dass die Informationen dem SGD-HSM nicht ausreichen werden, so MUSS die RVE die Weiterleitung an die SGD-HSM abbrechen (i. S. v. gar nicht erst durchführen) und den Request mit einer Fehlermeldung, so wie in den Außenschnittstellen beschrieben, beantworten.
[<=] Ein SGD-HSM wird auf einen von der RVE weitergeleiteten Request in fünf Weisen antworten: Die Authentizität des Requests ist nicht gegeben (bspw. AES-GCM meldet FAIL oder das Authentisierungstoken ist ungültig), das SGD-HSM meldet FAIL. Die RVE muss, so wie in den Außenschnittstellen beschrieben, eine Fehlermeldung an den Client senden.Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde durchgeführt. Übergeben wird der RVE das Chiffrat für den Client. Die RVE muss die Antwort-Datenstruktur, so wie bei der Operation KeyDerivation ( ) beschrieben, kodieren und dem Client diese als Response senden.Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde nicht durchgeführt, weil der Klartext-Request des Client falsch formatiert ist. Das SGD-HSM erzeugt ein Chiffrat mit entsprechende Fehlermeldung für den Client. Übergeben wird der RVE (1) das Chiffrat für den Client und (2) die Information über die Fehlformatierung. Die RVE muss die Antwort- Datenstruktur, so wie in den Außenschnittstellen beschrieben, kodieren und dem Client diese als Response senden.
Wenn die Fehlformatierung häufig vorkommt, liegt hier evtl. ein systematischer Fehler vor. Der SGD-Betreiber sollte davon wissen und bspw. mit Unterstützung der gematik eine Fehleranalyse unter Verwendung der TI-ITSM-Prozesse starten.Die Authentifizierung war erfolgreich und die Schlüsselableitung wurde nicht durchgeführt, weil kein Ableitungsschlüssel vorhanden war mit dem vom Client übergebenen Ableitungsschlüsselbezeichner. Das SGD-HSM erzeugt ein Chiffrat mit entsprechender Fehlermeldung für den Client. Übergeben wird der RVE (1) das Chiffrat für den Client und (2) die Information über den Fehler. Die RVE muss die Antwort-Datenstruktur, so wie in den Außenschnittstellen beschrieben, kodieren und dem Client diese als Response senden.
Wenn dieser Fehlerfall häufig vorkommt, liegt hier evtl. ein systematischer Fehler vor. Der SGD-Betreiber sollte davon wissen und eine Fehleranalyse starten.Die Zertifikatsprüfung im SGD-HSM ergab FAIL. D. h., die RVE hat die eigene Zertifikatsprüfung () nicht korrekt ausgeführt. Die RVE muss, so wie in den Außenschnittstellen bzw. in Abschnitt  beschrieben, eine Fehlermeldung an den Client senden. 4.2 SGD-HSM Den wesentlichen Teil der Sicherheitsleistung eines SGD erbringt das SGD-HSM. Das SGD-HSM entscheidet, ob eine ausreichende Authentifizierung stattgefunden hat und führt erst danach eine Schlüsselableitung durch. Anschließend überträgt es die abgeleiteten spezifischen Schlüssel über einen beidseitig authentisierten und Ende-zu-Ende-verschlüsselten Datenkanal an den Client. Ein SGD-HSM erzeugt mindestens alle 15 Minuten ein neues ECIES-Schlüsselpaar,
(Ein ECIES-Schlüsselpaar ist 30 Minuten für jeden Client nutzbar und wird danach im SGD-HSM sicher gelöscht)enthält den privaten Signaturschlüssel (  (S1)), der für die Signatur (Authentisierung) des jeweils neu erzeugten öffentlichen ECIES- Schlüssels (  (S4)) notwendig ist,erzeugt halbjährlich einen neuen Ableitungsschlüssel und hält zuvor erzeugte Ableitungsschlüssel im HSM vor,prüft bei eingehenden Anfragen für eine Schlüsselableitung das Zertifikat des Anfragenden,führt bei positivem Prüfergebnis eine Schlüsselableitung entsprechend den Ableitungsregeln durch, verschlüsselt die abgeleiteten Schlüssel für den Anfragenden. Das SGD-HSM muss ein besonderes Firmware-Modul enthalten, das diese Funktionalität abbildet. Dieses hat einen sehr begrenzten Funktionsumfang (ECC- und AES-Schlüssel erzeugen, Signaturen prüfen, aus einem AUT-Zertifikat die KVNR bzw. Telematik-ID auslesen, eine Hashfunktion (HKDF) berechnen, ECIES Ver- und Entschlüsselung durchführen und AES-GCM ausführen). Die Mehrzahl der Funktionen sind schon standardmäßig im HSM vorhanden. A_17907 - SGD, Sicherheitsbegutachtung SGD-HSM Ein SGD ePA MUSS Folgendes sicherstellen:
Er MUSS mindestens ein HSM, SGD-HSM genannt, einsetzen.Solch ein SGD-HSM MUSS auf einer Plattform (Hardware und Software) basieren, das zuvor bereits erfolgreich eine Zertifizierung nach FIPS 140-2 [FIPS-140-2] mindestens Level 3 durchlaufen hat.Ein solches SGD-HSM MUSS mit spezieller Firmware ausgestattet sein.Diese Firmware MUSS die Ablauflogik aus [gemSpec_SGD_ePA#] ausführen.Im SGD-HSM MÜSSEN, neben dem speziellen Firmware-Modul, ausschließlich Standard-Firmware- Module verwendet werden (also keine anderen speziellen selbstprogrammierten Firmware-Module).Das Firmware-Modul MUSS eine Sicherheitsbegutachtung durch eine durch die gematik anerkannte unabhängige Instanz (Penetration-Tester etc.) haben. Die gematik nimmt das Gutachten ab und prüft, ob die Anforderung aus dem Produkttypsteckbrief bezogen auf die Schlüsselableitungsfunktionalität ausreichend betrachtet worden sind.Bei der Sicherheitsbegutachtung MUSS sichergestellt sein, dass die unabhängige Instanz aus Punkt 6 mit der gematik Informationen (Frage/Antwort) bezüglich der Sicherheitsbegutachtung austauschen darf. [<=] Hinweis zu Punkt 7: Analog zu den CC-Evaluierungen der TI-Komponenten muss es möglich sein, ohne dass Verschwiegenheitsregelungen die Klärung von fachlichen Punkten während der Sicherheitsbegutachtung behindern, die notwendige Dauer der Sicherheitsbegutachtung zu minimieren. 4.3 Schlüssel im SGD-HSM In einem SGD müssen verschiedene Schlüssel verfügbar sein, die durch ein SGD-HSM geschützt werden müssen. A_17910 - Schlüssel in einem SGD-HSM Ein SGD ePA MUSS sicherstellen, dass in seinem (oder seinen) SGD-HSM folgende Schlüssel existieren und durch das (die) SGD-HSM geschützt werden:
Schlüsselbestätigungsschlüsselpaar ECC brainpoolP256r1 (S1),Eine geordnete Liste von Zertifikatssignaturprüfschlüsseln (darunter der aktuelle öffentliche RSA- Root-Schlüssel der X.509-Root der TI und der aktuelle ECC-Root-Schlüssel der X.509-Root der TI) (S2),alle aktuell benötigten Ableitungsschlüssel (S3),zwei mittels des privaten Schlüsselbestätigungsschlüssels (S1) authentisierte (vgl. Signatur in ) kurzlebige () ECIES-Schlüsselpaare (S4), undzwei Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstoken (je ein Ableitungsschlüssel zugeordnet zu genau einem ECIES-Schlüsselpaar (S4)). [<=] A_17911 - SGD-HSM: Schlüsselerstellung und Veränderung im Mehr-Augen-Prinzip Ein SGD ePA MUSS sicherstellen, dass die Schlüssel (S1) bis (S5) aus ausschließlich im Mehr-Augen-Prinzip erstellbar und änderbar sind (bzw. (S4) und (S5) autonom durch das SGD-HSM-Firmware-Modul).[<=] A_17912 - SGD-HSM: Root-Schlüssel sind Teil des Firmware-Moduls Ein SGD ePA MUSS sicherstellen, dass die Schlüssel (S2) aus Teil des SGD-HSM-Firmware-Moduls sind.[<=] A_17913 - SGD-HSM: Exklusive Nutzungsrechte der Schlüssel für das Firmware-Modul Ein SGD ePA MUSS technisch sicherstellen, dass
der private Schlüsselbestätigungsschlüssel bei (S1) (vgl. jeweils ),die Ableitungsschlüssel (S3),die privaten ECIES-Schlüssel (S4), unddie zu den (S4) 1:1-zugeordneten Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstokenausschließlich durch das SGD-HSM-Firmware-Modul nutzbar sind.
[<=] A_17914 - SGD-HSM: kurzlebige ECIES-Schlüssel Ein SGD ePA MUSS Folgendes sicherstellen:
Die beiden ECIES-Schlüsselpaare (S4) (vgl.  ), MÜSSEN jeweils 30 Minuten verwendbar sein und MÜSSEN anschließend sicher gelöscht werden.Initial MUSS ein ECIES-Schlüsselpaar erzeugt werden und 15 Minuten später das zweite.Jeweils im 15-Minuten-Intervall MUSS ein neues Paar erzeugt werden.Der öffentliche Schlüssel dieses neu erzeugten Paares MUSS mittels (S1) signiert und Schlüssel mit Signatur nach  kodiert werden und die erzeugte Kodierung der RVE übergeben werden. [<=] Hinweis zu  : Alle 15 Minuten wird nach  ein neues ECIES -Schlüsselpaar (vgl. auch [gemSpec_Krypt# ]) erzeugt werden. Wenn kurz zuvor ein Client (ePA-FdV oder FM ePA) jedoch den öffentliche Schlüssel des alten Schlüsselpaares über die Schnittstelle GetPublicKey ( ) erhalten hat, kann er das alte Schlüsselpaar maximal 15 Minuten weiter nutzen. Die Lebensdauer eines solchen ECIES-Schlüsselpaars in einem SGD-HSM ist also 30 Minuten. A_18022 - SGD-HSM: Ableitungsschlüssel Authentisierungstoken (S5) pro ECIES-Schlüssel (S4) Ein SGD ePA MUSS Folgendes sicherstellen:
Jedem ECIES-Schlüsselpaar (S4) (vgl.  ), MUSS genau ein Ableitungsschlüssel (S5) für die Erstellung der Authentisierungstoken zugeordnet sein.Wenn ein ECIES-Schlüsselpaar (S4) erzeugt wird (vgl. ) MUSS ein Ableitungsschlüssel (S5) gemäß Spiegelstrich 1 erzeugt werden.Wenn ein ECIES-Schlüsselpaar (S4) sicher gelöscht wird (vgl. ), so MUSS auch der zugeordnete Ableitungsschlüssel (S5) sicher gelöscht werden. [<=] A_17915 - SGD: Nicht- Synchronisation der ECIES-Schlüssel (S4) und zugordnete Ableitungsschlüssel (S5) Ein SGD ePA DARF die kurzlebigen privaten ECIES -Schlüssel (  (S4)) und die mit diesen 1:1-zugeordneten Ableitungsschlüssel (  (S5)) (Erstellung der Authentisierungstoken) NICHT über mehrere SGD-HSM synchronisieren.
[<=] A_17916 - Verfügbarkeit der Schlüssel in einem SGD-HSM Ein SGD ePA MUSS technisch sicherstellen, dass der private Schlüsselbestätigungsschlüssel ( (S1)) und die geheimen Ableitungsschlüssel ( (S3)) in dessen SGD-HSM ausschließlich verschlüsselt und im Mehr-Augen-Prinzip importierbar und exportierbar sind (Ziel: Sicherstellung der Verfügbarkeit dieser Schlüssel). Der SGD ePA MUSS technisch sicherstellen, dass beim Import und Export dieser Schlüssel notwendiger Weise ein Mitarbeiter der gematik beteiligt ist.
[<=] A_17917 - Schutz des SGD-HSM-Firmware-Moduls Ein SGD ePA MUSS durch technische Maßnahmen sicherstellen, dass
das Einbringen und das Update des speziellen Firmware-Moduls in ihrem (oder ihren) SGD-HSM nur im Mehr-Augen-Prinzip möglich ist,ein Mitarbeiter der gematik an diesem Vorgang beteiligt ist (durch das SGD-HSM durchgesetzt). [<=] Verständnishinweis zu  und : Dies ist analog zu den Vorgaben, wie seit 2014 die CVC-Root der TI betrieben wird. Damit wird der Betreiber eines SGD vom Verdacht befreit es könnte die geheimen Ableitungsschlüssel (S3) missbrauchen. Er ist technisch aufgrund der zwei Anforderungen nicht in der Lage dies zu tun. Aufgrund der Bedeutung der Schlüsselbestätigungsschlüssel für die Sicherheitsleistung werden diese innerhalb eines Clients nicht über die üblichen Zertifikatsprüfverfahren überprüft, sondern die Zertifikate, die die Schlüsselbestätigungsschlüssel enthalten, sind direkt (explizit) in der TSL aufgeführt (vgl.  (Prüfung eines SGD-HSM-Zertifikats) und ). Dadurch wirken etwaige Probleme bspw. in der Komponenten-PKI nicht auf die Sicherung der Authentizität der Schlüsselbestätigungsschlüssel (risikominimierende Maßnahme). A_17846 - Prüfbarkeit des Schlüsselbestätigungsschlüssels eines nicht-zentralen SGD Ein SGD ePA, der nicht der SGD der zentralen TI-Plattform ist, MUSS folgende Vorgaben durchsetzen.
Der öffentlichen Schlüsselbestätigungsschlüssel ( (S1)) MUSS in einem EE-Zertifikat nach dem Zertifikatsprofil [gemSpec_PKI#Tab_PKI_296] C.SGD-HSM.AUT aufgeführt werden.Dabei MUSS das Zertifikat vom ePA-Aktensystem für dessen SGD genau nur die OID oid_sgd1_hsm [gemSpec_OID#3.5.4 OID-Vergabe für technische Rollen] als technische Rolle aufführen.Das Zertifikat MUSS in die TSL(ECC-RSA) der TI gebracht werden und zwar aufgeführt als TSPService mit dem ServiceTypeIdentifier "http://uri. etsi.org/TrstSvc/Svctype/unspecified". [<=] Hinweis: vgl. auch [gemSpec_PKI#Abschnitt ].  A_17918 - Prüfbarkeit des Schlüsselbestätigungsschlüssels des SGD der zentralen TI-Plattform Ein SGD ePA der zentralen TI-Plattform MUSS folgende Vorgaben durchsetzen.
Der öffentlichen Schlüsselbestätigungsschlüssel ( (S1)) MUSS in einem EE-Zertifikat nach dem Zertifikatsprofil [gemSpec_PKI#Tab_PKI_296] C.SGD-HSM.AUT aufgeführt werden.Dabei MUSS das Zertifikat vom ePA- Aktensystem für dessen SGD genau nur die OID oid_sgd2_hsm [gemSpec_OID#3.5.4 OID-Vergabe für technische Rollen] als technische Rolle aufführen.Das Zertifikat MUSS in die TSL(ECC-RSA) der TI gebracht werden und zwar aufgeführt als TSPService mit dem ServiceTypeIdentifier "http://uri.etsi.org/TrstSvc/Svctype/unspecified". [<=] Hinweis: Die gematik stellt sicher, dass sich in der TSL nur SGD-HSM-Zertifikate nach #(1) und nach  #(1) befinden, die zugehörig sind zu SGD-HSMs von zugelassenen SGD. Vergleiche auch   (Prüfung eines SGD-HSM-Zertifikats). 4.4 Pflege der Prüfschlüssel (S2) im SGD-HSM In  (Schlüssel in einem SGD-HSM) wird mit (S2) eine geordnete Liste von Zertifikatssignaturprüfschlüsseln eingeführt. Diese Schlüssel bildet die Grundlage für die Zertifikatsprüfung in einem SGD-HSM ( ). Einerseits handelt es sich um den RSA-Schlüssel der aktuellen X.509-Root-Version (RCA2) und analog den ECC-Schlüssel (RCA3) und andererseits um nicht von der TI-X.509-Root bestätigte X.509-eGK-CA-Zertifikate, die in der TSL der TI aufgeführt sind. Diese Schlüssel sind fester Bestandteil des SGD-HSM-Firmwaremoduls (). Alle zukünftig erzeugten CA-Zertifikate der TI werden durch die X.509-Root bestätigt werden [gemSpec_X.509_TSP#].  A_17952 - SGD-HSM, geordnete Liste von Signaturprüfschlüsseln Der SGD ePA MUSS Folgendes sicherstellen.
Die RVE MUSS vom SGD-HSM eine nummerierte Liste von im SGD-HSM gespeicherten (und damit verwendbaren/adressierbaren) Zertifikatssignaturprüfschlüsseln erhalten können (vgl. ).In dieser Liste MÜSSEN der RSA-Schlüssel der RCA2 (X.509-Root der TI) und der ECC-Schlüssel der RCA3 enthalten sein.In dieser Liste MÜSSEN die Bestätigungsschlüssel aller (bez. der Gültigkeitszeit noch relevanten) nicht-TI-X.509-Root- signierten eGK-CA-Zertifikate inkl. Gültigkeitszeitinformationen enthalten sein, die sich aktuell in der TSL der TI befinden.Es MUSS der RVE möglich sein, in das SGD-HSM durch CA-Zertifikatsprüfung auf Grundlage der Root-Schlüssel (RCA2, RCA3 etc.) neue eGK-CA-Schlüssel inkl. Gültigkeitszeitinformationen in das SGD-HSM zu importieren und als neue Elemente in die nummerierte Liste aufzunehmen.Es MUSS der RVE möglich sein, durch Übergabe von X.509-Cross-Zertifikaten neue Root-Schlüssel (neue X.509-Root-Versionen der TI) in das SGD-HSM zu importieren.Es MUSS der RVE möglich sein, alle Zertifikatssignaturprüfschlüssel außer den Root-Schlüsseln (RCA2 und RCA3) zu löschen indem dem SGD-HSM eine entsprechende OCSP-Response der X.509-Root der TI präsentiert wird. Es MUSS der RVE möglich sein OCSP-Signer-Zertifikate in das SGD-HSM zu importieren, wobei diese durch das SGD-HSM beim Import geprüft werden MÜSSEN.Das SGD-HSM MUSS für die Prüfung von Zertifikatssignaturen ausschließlich CA-Schlüssel verwenden.Das SGD-HSM MUSS für die Prüfung von OCSP- Response-Signaturen ausschließlich OCSP-Signer-Schlüssel verwenden. [<=] Aus Performanzgründen müssen für die Zertifikatsprüfung die CA-Zertifikate schon geprüft im SGD-HSM vorliegen. Ansatzpunkt der Prüfung von EE-Zertifikaten ist im SGD-HSM immer einen solcher CA-Schlüssel. Die RVE kennt die aktuelle Liste im SGD-HSM ( Punkt 1) und teilt dem SGD-HSM bei einer Requestweitergabe mit welcher Prüfschlüssel im SGD-HSM für die Zertifikatsprüfung der Richtige ist (vgl.  ), also vom SGD-HSM zu verwenden ist. Wie ein SGD-HSM erkennen kann, ob ein importiertes Zertifikat ein CA- Zertifikat oder ein OCSP-Signer-Zertifikat ist, ist in [gemSpec_PKI] definiert. A_17953 - SGD, täglicher Abgleich CA- Zertifikate TSL und Liste im SGD-HSM Der SGD ePA MUSS Folgendes sicherstellen.
Die RVE MUSS täglich eine aktuelle TSL vom TSL-Download-Punkt (TSL(ECC-RSA)) beziehen.Aus dieser TSL MUSS die RVE eine Liste von CA-Zertifikaten erzeugen, die in TSPService-Einträgen stehen, die eine ServiceInformationExtensions oid_egk_aut, oid_egk_aut_alt oder oid_smc_b_aut beinhalten.Die Schlüssel der CAs aus dieser Liste MUSS die RVE mit der Liste der Zertifikatssignaturprüfschlüssel im SGD-HSM abgleichen.Sofern Schlüssel im SGD-HSM fehlen, so MUSS die RVE diese in das SGD-HSM durch Zertifikatssignaturprüfung auf Basis eines Root-Schlüssels (RCA2, RCA3 etc.) inkl. Gültigkeitszeitinformationen einbringen (vgl.  ).Falls in der in der Liste CA-Schlüssel enthalten sind, die in der TSL nun nicht mehr enthalten sind, so MUSS die der SGD ePA die CA-Schlüssel gemäß  Punkt 6 zu entfernen.Analog MUSS die RVE mit OCSP-Zertifikatsschlüsseln in der TSL vorgehen. Diese MUSS die RVE durch Zertifikatssignaturprüfung auf Basis der RCA2 oder RCA3 inkl. Gültigkeitszeitinformationen einbringen. Das SGD-HSM MUSS nach Prüfung des OCSP-Zertifikats ebenfalls die Information speichern, dass es sich um OCSP-Schlüssel handelt und für welche CA Sperrstatusaussagen getroffen werden dürfen über diesen OCSP-Signer-Schlüssel. [<=] A_17954 - SGD, Aktualisieren von X.509-Root-Schlüsseln Der SGD ePA MUSS wöchentlich überprüfen, ob neue X.509-Root-CA-Versionen existieren und entsprechende Cross-Zertifikate verfügbar sind. Falls dies der Fall ist, so MUSS der SGD ePA diese neue Root-Versionen in seinen SGD-HSMs importieren (vgl.   Punkt 5).
[<=] Hinweis: Nach der Erzeugung einer neuen Root-Version der X.509-Root-CA der TI werden dessen selbstsigniertes Zertifikat und Crosszertifikate auf den Download-Punkt  https://download.tsl.ti-dienste.de/ abgelegt. Automatisiert kann der SGD ePA von dort die Verfügbarkeit neuer Versionen überwachen. Im Regelfall wird alle zwei Jahre eine neue Root-Version erzeugt. 4.5 Funktionsablauf Firmware-Modul SGD-HSM In diesem Abschnitt wird die Ablauflogik im speziellen HSM-Firmware- Modul beschrieben. Diese Beschreibung ist Grundlage der für die Zulassung notwendigen Sicherheitsüberprüfung (vgl.  ). 4.5.1 Zertifikats- und Schlüsselprüfung im SGD-HSM Damit im SGD-HSM nur für den jeweils Berechtigten eine Schlüsselableitung durchgeführt wird, muss dessen Request auf Authentizität geprüft werden. Dafür muss dessen AUT- Zertifikat innerhalb des SGD-HSMs überprüft werden. Eine Standard-TI-Prüfung auf Basis der TSL ist technisch relativ komplex und ist insbesondere in beschränkten  Laufzeitumgebungen wie Chipkarten oder HSM-Firmware-Modulen nur schwer umsetzbar. Damit diese Prüfung technisch praktikabel ist,  wird bei der Prüfung des AUT-Zertifikats die Signaturkette auf die X.509-Root der TI geprüft. Es werden ebenfalls OCSP-Antworten notwendigerweise ausgewertet. A_17919 - Zertifikatsprüfung in einem SGD-HSM Ein SGD ePA MUSS folgende Vorgaben durchsetzen:
(K1) Die RVE MUSS dem SGD-HSM mitteilen über welchen Prüfschlüssel (, also CA-Schlüssel) die Zertifikatssignatur prüfbar ist. (O1) Die RVE MUSS eine OCSP-Response, die nicht älter als 4 Stunden ist, für das zu prüfende AUT-Zertifikat dem SGD-HSM übergeben.(O2) Die RVE MUSS dem SGD-HSM mitteilen über welchen Prüfschlüssel (, also OCSP-Zertifikatsschlüssel) die OCSP-Response-Signatur prüfbar ist. Im Rahmen der Prüfung eines kurzlebigen öffentlichen ECIES-Schlüssels eines Client MUSS das SGD-HSM das vom Client verwendete AUT-Zertifikat (oder AUT_ALT-Zertifikat bei einer alternativen Versichertenidentität) wie folgt prüfen:
Ist das Zertifikat zeitlich gültig, falls nein dann FAIL.Ist die Zertifikatssignatur über den Schlüssel (K1) prüfbar (Signaturprüfung), falls nein dann FAIL.Ist die OCSP-Response (O1)  maximal 4 Stunden alt , falls nein dann FAIL.Ist der Schlüssel (O2) berechtigt Sperraussagen bezüglich über (K1) bestätigte Zertifikate zu tätigen, falls nein dann FAIL.Ist die OCSP-Response (O1) über den Schlüssel (O2) prüfbar (Signaturprüfung), falls nein dann FAIL.Enthält das Zertifikat eine KVNR oder einen Telematik-ID, falls nein dann FAIL. (vgl. [gemSpec_SGD_ePA#Hinweis zu A_17919])  Wenn keine Prüfung aus (1) bis (5) ein FAIL liefert, so MUSS das Prüfergebnis für das AUT-Zertifikat "OK" sein. [<=] Hinweis zu  : Das SGD-HSM kann davon ausgehen, dass die X.509-Root-CA und alle in der PKI-Hierarchie folgenden CAs korrekt formatierte Zertifikate ausgeben. Es muss also vom SGD-HSM nicht die vollständige Konformität der erhaltenen Zertifikate zu den in [gemSpec_PKI] definierten Zertifikatsprofilen geprüft werden, was technisch in einer beschränkten Laufzeitumgebung schwierig ist. A_18010 - SGD-HSM, Entfernen von abgelaufenen Prüfschlüsseln/Zertifikaten Ein SGD ePA MUSS sicherstellen, dass dessen SGD-HSM mindestens alle 24 Stunden die Schlüssel aus der Prüfschlüsselliste gemäß  auf zeitliche Gültigkeit hin überprüft. Ist eine solcher Prüfschlüssel nur noch weniger als 24 Stunden gültig, so MUSS das SGD-HSM diesen Schlüssel aus seiner Prüfschlüsselliste löschen. Ausgenommen davon sind die Root-Schlüssel aus  Punkt 2. [<=] A_18027 - SGD-HSM, Prüfung von Client-ECIES-Schlüssel und Client-ECIES-Schlüssel-Signatur Ein SGD ePA MUSS sicherstellen, dass dessen SGD-HSM den Client-ECIES-Schlüssel und dessen Signatur wie folgt prüft.
Ist der öffentliche ECIES-Schlüssel des Client nach korrekt kodiert?Ist in der Kodierung ein Hashwert eines aktuellen öffentlichen ECIES-Schlüssels des SGD-HSM nach  vorhanden?Liegt der öffentliche ECIES-Schlüssel des Clients auf der korrekten Kurve (vgl. )?Ist das Zertifikat des Clients gültig nach  (Zertifikatsprüfung in einer SGD-HSM)?Ist die Signatur auf des ECIES-Schlüssels des Client korrekt (valide) in Bezug auf das Zertifikat des Clients (bzw. des dort bestätigten EE-Schlüssels)? Liefert eine der Prüfungen ein nicht-positives Ergebnis, so MUSS das SGD-HSM die Verarbeitung mit einer entsprechenden Fehlermeldung an die RVE abbrechen.[<=] 4.5.2 Authentisierungstoken im SGD-HSM A_18026 - SGD-HSM, Ausstellen von Authentisierungstoken für SGD-Clients Ein SGD ePA MUSS folgende Vorgaben durchsetzen:
Bei der Umsetzung von GetAuthenticationToken () MUSS die RVE dem SGD-HSM (das für den Client bestimmt ist)
das Chiffrat und die für die Entschlüsselung notwendigen Informationen,und das Client-Zertifikat inkl. der für die Zertifikatsprüfung im SGD-HSM gemäß  notwendigen Informationen übergeben.
Das SGD-HSM MUSS das Client-Zertifikat gemäß  prüfen und bei negativen Prüfergebnis abbrechen.
Das SGD-HSM MUSS die Signatur des Client-ECIES-Schlüssel und den ECIES-Schlüssel an sich gemäß prüfen und bei negativen Prüfergebnis abbrechen.
Das SGD-HSM MUSS das Chiffrat entschlüsseln und dabei im Fehlerfall abbrechen.
Das SGD-HSM MUSS prüfen, ob der entschlüsselte Klartext der Form
    Challenge <256-Bit-hexadezimal-kodiert>
(Beispiel:
    Challenge f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d
) ist. Falls nein, dann MUSS das SGD-HSM mit einer entsprechenden Fehlermeldung abbrechen.
Das SGD-HSM MUSS die Zeichenkette A als Aneinanderführung von
signierten Client-ECIES-Schlüssel in der Kodierung gemäß  , undClient-AUT-Zertifikat bilden.
Anschließend MUSS das SGD-HSM eine Schlüsselableitung mit dem Schlüssel (S5), der mit dem ECIES-SGD-HSM-Schlüssel (S4) verbunden ist, für den die Verschlüsselung durch den Client vorgenommen wurde, und dem erzeugten Ableitungsvektor A (info-Parameter) gemäß [gemSpec_Krypt#] durchführen.
Aus der Ableitung MUSS das SGD-HSM einen 256-Bit-Wert erhalten und diesen Hexadezimal kodieren und davor die Zeichenkette "AT" setzen. Das Ergebnis ist der Authentisierungstoken.
Beispiel:
    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa
Das SGD-HSM MUSS H als SHA-256-Hashwert von A berechnen.
Anschließend MUSS das SGD-HSM eine Zeichenkette der folgenden Form bilden:
    Response
Diese Zeichenkette muss das SGD-HSM mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#] für den Client-ECIES-Schlüssel verschlüsseln und das Chiffrat an die RVE übergeben.
[<=] 4.5.3 Schlüsselableitung im SGD-HSM A_17926 - SGD-HSM, Schlüsselableitung im SGD-HSM Ein SGD ePA MUSS folgende Vorgaben durchsetzen:
Wenn von einer Schlüsselableitung bei einer Ableitungsregel von der Variable KVNR ("") gesprochen wird, so MUSS der SGD ePA aus dem AUT-Zertifikat einer eGK oder einer alternativen Versichertenidentität nur den Wert  aus den "organizationalUnitName"-Datenfeldern verwenden, der den unveränderlichen Teil der KVNR bezeichnet („annnnnnnnn“) (vgl. [gemSpec_PKI#C.CH.AUT und C.CH.AUT_ALT – Authentisierung eGK]). D. h., die Institutionskennzeichen werden nicht verwendet.Wenn von einer Schlüsselableitung mit einem Ableitungsvektor "" gesprochen wird, so MUSS die Zeichenkette mit dem konkreten Wert der Variable X als "info"-Parameter nach [RFC-5869] (HKDF) verwendet werden (vgl. "Beispiel zu A_17926"). [<=] Beispiel zu A_17926: Sei RND="123" und KVNR="a4b5c6". Wenn im Algorithmus in Tabelle 3 a="r1::" gesetzt wird, und a als Ableitungsvektor verwendet werden soll, so müssen die Werte der Variablen RND und KVNR interpoliert werden. Es entsteht damit die Zeichenkette a="r1:123:4a5b6c". Dieser Wert von a muss dann als Wert des Ableitungsvektor bei der Schlüsselableitung verwendet werden. A_17920 - SGD-HSM, Schlüsselableitungsschlüssel und Schlüsselableitung im SGD-HSM Ein SGD ePA MUSS folgende Vorgaben durchsetzen:
Es MUSS initial ein Ableitungsschlüssel (vgl. auch [gemSpec_Krypt#]  und   (3)) für die Schlüsselableitung der versichertenindividuellen Schlüssel vorhanden sein.Mindestens halbjährlich MUSS solch ein Ableitungsschlüssel neu erzeugt werden.Jeder Ableitungsschlüssel MUSS einen innerhalb eines SGD eindeutigen Bezeichner besitzen.
Solch ein Ableitungsschlüsselbezeichner MUSS maximal 7 KiB groß sein und auf den PCRE [PCRE]
^\w[\w -]{1,7167}$
matchen.Alle Ableitungsschlüssel MÜSSEN in allen SGD-HSM eines SGD zur Verfügung stehen.Es MUSS, sofern kein Ableitungsschlüsselbezeichner beim Aufruf der Operation KeyDerivation (vgl. ) angegeben wurde, immer der jüngste Ableitungsschlüssel bei der Schlüsselableitung der versichertenindividuellen Schlüssel verwendet werden. [<=] Hinweis: nach wird für die Schlüssel als Schlüsselableitungsfunktion die HKDF nach [RFC-5869] auf Basis von SHA-256 verwendet. Ebenso befinden sich in [gemSpec_Krypt#] die Vorgaben zur Mindestentropie. Man beachte, dass absichtlich keine Doppelpunkte im Bezeichner zugelassen sind. Beispiele für gültige Ableitungsschlüsselbezeichner:  ACME 2019-1AB AbCdEfGhI 12 jklmn Testmöglichkeit: echo 'Bezeichner 2021-Test 1' | \
perl -ne 'print /^\w[\w -]{1,7167}$/ ? "OK: " : "UNGÜLTIG: ", $_;' 4.5.4 Kommando-Abarbeitung KeyDerivation im SGD-HSM A_18030 - SGD-HSM, Empfang einer Ableitungsanforderung (KeyDerivation) Ein SGD ePA MUSS folgende Vorgaben durchsetzen:
Bei der Umsetzung von KeyDerivation () MUSS die RVE dem SGD-HSM (das für den Client bestimmt ist)
das Chiffrat und die für die Entschlüsselung notwendigen Informationen, unddas Client-AUT-Zertifikat übergeben.
Das SGD-HSM MUSS das Chiffrat mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt#] entschlüsseln und dabei im Fehlerfall abbrechen.
Das SGD-HSM MUSS prüfen, ob der erhaltene Klartext wie folgt beginnt
    "AT<256-Bit-Hexadezimal-kodierter-Wert>" + " " + "<256-Bit- Hexadezimal-kodierte-Zeichenkette (Request-ID)>" + " "
und falls nein abbricht.

Das SGD-HSM MUSS die Zeichenkette A als Aneinanderführung von
signierten Client-ECIES-Schlüssel in der Kodierung gemäß , undClient-AUT- Zertifikat bilden. Anschließend MUSS das SGD-HSM eine Schlüsselableitung mit dem Schlüssel (S5), der mit dem ECIES-SGD- HSM Schlüssel (S4) verbunden ist für den die Verschlüsselung durch den Client vorgenommen wurde, und dem erzeugten Ableitungsvektor A (info-Parameter) gemäß [gemSpec_Krypt#] durchführen.
Aus der Ableitung MUSS das SGD-HSM einen 256- Bit-Wert erhalten und diesen Hexadezimal kodieren und davor die Zeichenkette "AT" setzen. Das Ergebnis ist das Authentisierungstoken.
Beispiel:
    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa

Das SGD-HSM MUSS prüfen, ob der Authentisierungstoken mit dem Anfangswert des Klartextes übereinstimmt.
Falls nein, so MUSS das SGD-HSM mit entsprechender Fehlermeldung abbrechen.

Das SGD-HSM MUSS mit der Kommando-Abarbeitung der Operation KeyDerivation gemäß  fortfahren. [<=] A_17922 - SGD-HSM, Kommando-Abarbeitung der Operation KeyDerivation im SGD-HSM Ein SGD ePA MUSS folgende Vorgaben durchsetzen: Nachdem das SGD-HSM erfolgreich die Authentizität der Anfrage mittels   überprüft hat und den Klartext erhalten hat, MUSS es den erhaltenen Klartext analysieren.
Es entfernt den Authentisierungstoken und die Request-ID inkl. folgenden Leerzeichen vom Anfang der Nachricht des Clients und speichert das Authentisierungstoken und die Request-ID für die Erzeugung der Antwort.
(Beispiel:
 "AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa 7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a 01fae7930340c KeyDerivation r2:7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2- 20a1201-001:Bezeichner ACME Q1 2020"
Das Authentisierungstoken ist gleich "AT1c...efa", die Request-ID ist gleich "7522..340c". Die restliche Zeichenkette des Klartexts ist die Eingabe für den Algorithmus in  [gemSpec_SDG_ePA#Tab_Kommandoabarbeitung_im_SGD-HSM].
)
Das SGD-HSM MUSS den in [gemSpec_SDG_ePA#Tab_Kommandoabarbeitung_im_SGD-HSM] aufgeführten Algorithmus implementieren und verwenden. Wenn der Algorithmus mit einem FAIL abbricht, so MUSS das SGD-HSM dies mit einem entsprechender Fehlermeldung an das RVE weitergeben.
Anderenfalls MUSS das SGD-HSM die durch den Algorithmus erzeugte Antwort-Zeichenkette erweitern, indem es das gespeicherte Authentisierungstoken und die Request-ID inkl. folgenden Leerzeichen vor die Antwort-Zeichenkette stellt. Diese erhaltene Zeichenkette ist der Klartext, der den Client erreichen solle. Diesen Klartext MUSS das SGD- HSM gemäß den Vorgaben aus [gemSpec_Krypt#] verschlüsseln (ECIES-Verfahren mit Authenticated Encryption) und mit einer positiven Rückmeldung (OK) an die RVE das erzeugte Chiffrat im Format gemäß  übergeben.
[<=] Tabelle 4: Tab_Kommandoabarbeitung_im_SGD-HSM Sei mit "Nachricht" die authentifizierte Nachricht des Clients, ohne das Authentisierungstoken und die Request-ID (inkl. folgendem Leerzeichen) am Anfang der Nachricht, bezeichnet. Sei IKM das "input key material" und info das "info"-Feld beides gemäß [RFC-5869]. Mit "<>" sei die Variableninterpolation bezeichnet, bspw. mit a="ax1y2z3" und s="a
" folgt s gleich "ax1y2z3".

(1) Prüfe ob die Nachricht mit"KeyDerivation " (14 Zeichen) beginnt, ansonsten FAIL.
(2) Sei s gleich die Nachricht ohne die ersten 14 Zeichen (also ohne"KeyDerivation ").
(3) Prüfe ob s entweder mit"r1", "r2" oder mit"r3" beginnt, ansonsten FAIL.
(4) Sei KVNR die authentifizierte KVNR gemäß  aus dem geprüften () AUT-Zertifikat. Falls das AUT-Zertifikat ein nicht-eGK- Zertifikat ist, dann sei KVNR="" (leere Zeichenkette).
(5) Sei TELEMATIK_ID die authentifizierte Telematik-ID aus dem geprüften () AUT-Zertifikat. Falls das AUT-Zertifikat ein eGK-Zertifikat ist, dann sei TELEMATIK_ID="" (leere Zeichenkette).
(6) Sei BEZ der Schlüsselbezeichner ( ) des aktuellen (also jüngsten) Ableitungsschlüssel (  (S3)).
(7) Sei s[0] bis s[n] die Teilzeichenketten von s, die durch ":" getrennt werden.
(8) Wenn n gleich 0, dann FAIL.

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.4]
"r1:"
)
(9) Wenn s[0] gleich"r1" und n gleich 1 ist:
(9.1) Wenn KVNR gleich "" (leere Zeichenkette) ist, dann FAIL.
(9.2) Wenn s[1] ungleich KVNR, dann FAIL.
(9.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(9.3) Erzeuge a="r1:::". 
(9.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#] mit IKM der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(9.5) Die Antwort ist gleich"OK-KeyDerivation " + Key +" " + a. 
(9.6) ENDE

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.5]
"r1:<256-Bit-RND-in-Hexform>:: "
)
(10) Wenn s mit"r1:" beginnt:
(10.2) Wenn n ungleich 3 ist, dann FAIL.
(10.3) Wenn s[3] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL.
(10.4) Wenn die Länge von s [1] ungleich 64 ist, dann FAIL.
(10.4) Wenn KVNR gleich"" (leere Zeichenkette), dann FAIL.
(10.5) Wenn s[2] ungleich KVNR ist, dann FAIL.
(10.6) Führe die Schlüsselableitung nach [gemSpec_Krypt#] mit dem durch s[3] bezeichneten Ableitungsschlüssels (IKM) und info gleich s durch. Sei Key der abgeleitete 256-Bit Schlüssel in Hexadezimalschreibweise kodiert (ohne "0x").
(10.7) Die Antwort ist gleich"OK-KeyDerivation " + Key +" " + s. 
(10.8) ENDE

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.6]
"r2:"
)
(11) Wenn s[0] gleich"r2" ist und n gleich 1:
(11.1) Wenn KVNR gleich"" (leere Zeichenkette), dann FAIL.
(11.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(11. 3) Erzeuge a="r2:::" + s[1] +":"
(11.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#] mit IKM der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(11.5) Die Antwort ist gleich"OK-KeyDerivation " + Key + " " + a. 
(11.6) ENDE

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.7]
"r2:<256-Bit-RND-in-Hexform>:::"
)
(12) Wenn s[0] gleich"r2" ist:
(12.1) Wenn n ungleich 4 ist, dann FAIL.
(12.2) Wenn die Länge von s[1] ungleich 64 ist, dann FAIL.
(12.3) Wenn s[4] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL.
(12.4) Wenn KVNR gleich"" (leere Zeichenkette) und (logisches und) TELEMATIK_ID gleich"" (leere Zeichenkette), dann FAIL.
(12.5) Führe für die Variable TELEMATIK_ID die Prüfung und ggf. Umkodierung nach  durch.
(12.6) Wenn (s[3] ungleich TELEMATIK_ID) und (logisches und) (s[3] ungleich KVNR), dann FAIL.
(12.7) Führe die Schlüsselableitung nach [gemSpec_Krypt#] mit dem durch s[4] bezeichneten Ableitungsschlüssels (IKM) und info gleich s durch. Sei Key der abgeleitete 256-Bit Schlüssel in Hexadezimalschreibweise kodiert (ohne "0x").
(12.8) Die Antwort ist gleich"OK-KeyDerivation " + Key +" " + s. 
(12.9) ENDE

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.8 ]
"r3::"
)
(13) Wenn s[0] gleich"r3" und n gleich 2:
(13.1) Wenn KVNR gleich"" (leere Zeichenkette) ist, dann FAIL.
(13.2) Erzeuge RND gleich ein 256 Bit langer Zufallswert in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(13.3) Erzeuge a="r3: :" + s[2] + "::" + s[1] + ":"
(13.4) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#] mit IKM gleich der aktuelle Ableitungsschlüssel und info=a. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(13.5) Die Antwort ist gleich"OK-KeyDerivation " + Key +" " + a. 
(13.6) ENDE

(Verständnishinweis: vgl. Abschnitt [gemSpec_SGD_ePA#2.9]
"r3:<256-Bit-RND-in-Hexform>::::"
)
(14) Wenn s[0] gleich"r3" ist:
(14.1) Wenn n ungleich 5 ist, dann FAIL.
(14.2) Wenn die Länge von s[1] ungleich 64 ist, dann FAIL.
(14.3) Wenn s[5] keinen im SGD-HSM verfügbaren Ableitungsschlüssel bezeichnet, dann FAIL.
(14.4) Führe für die Variable TELEMATIK_ID die Prüfung und ggf. Umkodierung nach  durch.
(14.5) Wenn s[4] ungleich TELEMATIK_ID, dann FAIL.
(14.6) Sei Key die ersten 256 Bits der Schlüsselableitungsfunktion nach [gemSpec_Krypt#] mit IKM gleich der aktuelle Ableitungsschlüssel und info gleich s. Sei Key in Hexadezimalschreibweise kodiert ohne "0x" am Anfang.
(14.7) Die Antwort ist gleich"OK-KeyDerivation " + Key +" " + s. 
(14.8) ENDE

(15) FAIL A_17924 - Anfragen an das SGD-HSM (Client) Ein Client eines SGD ePA MUSS für die Anfragen an das SGD-HSM die Syntax der Kommandos und der Antworten des SGD-HSMs (für die Kommandos im verschlüsselten "EncryptedMessage"-Feld in  und die Auswertung der entschlüsselten Antwort (" OK-Derivation ...")) gemäß  verwenden und auswerten können. [<=] 5 Kodierung von Schlüsseln und Nachrichten Im Rahmen des SGD-Protokolls müssen verschiedene Zahlenwerte (Koordinaten von Kurvenpunkten) und Hashwerte(Hashwerte von Schlüsselwerten) kodiert werden. Diese Kodierungen fließen an mehreren Stellen in eine Hashwerterzeugung mit ein. Dabei ist es wichtig, ob bspw. die Zahl 10 als "0xa" oder "0xA" kodiert wird. Analog bei Hashwerten in Hexadezimalform, die in eine Hashwerterzeugung mit einfließen. A_18249 - Groß- und Kleinschreibung von Daten in Hexadezimalform Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass, wenn sie Datenfeld in Hexadezimalform kodieren, sie stets kleine Buchstaben bei der Hexadezimal-Kodierung verwenden (a-f und nicht A-F). [<=] Gut-Beispiel (vgl.  ): "brainpoolP256r1 " +
"0x3672030bace787aa319e21d40645b2999006beec437fd084dd3fc592f5fcd77c" + " " +
"0x335b226ce5fac0c36a18ce42e95f43c9eed3e256bdd0c98e55a069595515d15b" + " " +
"a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7" + " " +
"8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a" A_18250 - keine führenden Nullen bei Punktkoordinaten Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass wenn sie Koordinaten von Kurvenpunkten in Hexadezimalform kodieren, keine führende(n) Null(en) verwenden:
OK: "0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d"
Falsch: "0x0a8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d"
Falsch: "0x00a8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d"[<=] Bei der Kodierung der ECIES-Schlüssel (vgl.  und ) müssen X- und Y-Koordinaten als Zahlenwerte in Hexadezimalform in einer menschenlesbaren Zeichenkette (string) kodiert werden. Es gibt Kryptographie-Softwarebibliotheken, die falls die Koordinatenwerte mit einer 1 im most- significant Byte beginnen, ein Nullbyte vor den Koordinatenwert setzen. Dies kommt aus einer Konvention aus der ASN.1- Kodierungsweise, die im SGD-Kontext keine Rolle spielt (Ausnahme im DER-kodierten Zertifikat selbst). Beispiel: Die Zahl 128 muss Hexadezimal als "0x80" und nicht als "0x0080" kodiert werden. 5.1 Kodierung von Schlüsseln 5.1.1 ECIES- Schlüssel eines SGD-HSM Bei der Operation GetPublicKey () muss der aktuelle öffentliche ECIES-Schlüssel (  (S4)) des SGD-HSMs an einen Client versendet werden. A_17894 - SGD, Kodierung des öffentlichen ECIES-Schlüssels + Signatur + Zertifikat Ein SGD ePA MUSS sicherstellen, dass der signierte öffentliche ECIES-Schlüssel inkl. Zertifikat eines SGD- HSMs in folgender Kodierung übertragen (vgl. Operation GetPublicKey, ) wird.

{ "PublicKeyECIES" : " 0x 0x",
  "Signature" : "... Base64-kodierte-ECDSA-Signatur ...",
  "Certificate" : "... Base64-kodiertes Zertifikat vgl.  und   ..." }
}

[<=] Hinweis zum besseren Verständnis: Da das Zertifikat im "Certificate"-Datenfeld direkt in der TSL aufgeführt ist (vgl.) und die TSL eine Positivliste ist, gibt es keine Aufführung () oder Einholung von OCSP-Responses. Tabelle 5: Beispiel zu A_17894 Sei der aktuelle private ECIES-Schlüssel eines SGD-HSM d=2, dann ist der öffentliche Punkt 2*G [RFC-5639] aufgrund von [gemSpec_Krypt#]. Damit ist das "PubKeyECIES"-Datenfeld nach  folgende Zeichenkette:
"brainpoolP256r1" + " " + 
"0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +
"0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4"

Für die bitgenaue Aufführung wird nachfolgend das Datenfeld auch noch einmal Base64-kodiert angegeben:
YnJhaW5wb29sUDI1NnIxIDB4NzQzY2YxYjhiNWNkNGYyZWI1NWY4YWEzNjk1OTNhYzQzNmVmMDQ0
MTY2Njk5ZTM3ZDUxYTE0YzJjZTEzZWEwZSAweDM2ZWQxNjMzMzdkZWJhOWM5NDZmZTBiYjc3NjUy
OWRhMzhkZjA1OWY2OTI0OTQwNjg5MmFkYTA5N2VlYjdjZDQK A_17899 - SGD-Clients, Auswertung der Kodierung des öffentlichen ECIES- Schlüssels eines SGD-HSMs Ein Client eines SGD ePA MUSS als Antwort auf einen GetPublicKey-Request () die Kodierung nach  des öffentlichen ECIES-Schlüssels eines SGD-HSMs auswerten können.[<=] 5.1.2 ECIES-Schlüssel eines Clients Das kurzlebige ECIES-Schlüsselpaar eines Clients (ePA-FdV, FM EPA etc.) muss an die aktuellen öffentlichen ECDH-Schlüssel des nun angefragten SGD-HSM "gebunden" werden. Dies geschieht über die Signatur durch die eGK, die alternative Versichertenidentität, die SMC-B oder eine SMC-KTR. A_17900 - SGD-Clients, Kodierung des eigenen kurzlebigen ECIES- Schlüssels Ein Client eines SGD ePA MUSS für die Kodierung des "PublicKeyECIES"-Feldes folgende Kodierung verwenden (vgl.  ):

"" + " " + "0x" + "0x" + " " + "" + " " + ""
(vgl. [gemSpec_SGD_ePA#Hinweis zu A_17900]).[<=] Hinweis zu A_17900: vor den SHA-256-Hashwerten steht kein "0x"-Präfix, weil es sich bei SHA-256- Hashwerten nicht um Zahlen handelt, sondern um 256-Bit große Bitfelder. Tabelle 6: Beispiel zu A_17900 Im Beispiel wird zunächst ein ECIES-Schlüssel für SGD 1 erzeugt (Schritt 1) und dann für SGD 2 (Schritt 2).
Danach wird ein ECIES- Schlüssel vom Client erzeugt und die Hashwerte der beiden SGD-Schlüssel (aus Schritt 1 und Schritt 2) werden in die Kodierung des öffentlichen Client-Schlüssels mit aufgenommen (Schritt 3).

Schritt 1, aktueller Schlüssel SGD 1:
Sei als Beispiel der aktuelle private ECIES-Schlüssel eines SGD-HSM vom SGD 1:
d=2.Dann ist der öffentliche Punkt d*G=2*G [RFC-5639] aufgrund von [gemSpec_Krypt#]. Somit ist das "PubKeyECIES"-Datenfeld nach  folgende Zeichenkette:
"brainpoolP256r1" + " " + 
"0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +
"0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4
dessen SHA-256-Hashwert ist folglich
a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7
Schritt 2, aktueller Schlüssel SGD 2:
Analog der aktuelle Schlüssel des verwendeten SGD-HSM vom SGD 2 mit d=3:
"brainpoolP256r1 " +
"0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d" + " " +
"0x4b49cafc7dac26bb0aa2a6850a1b40f5fac10e4589348fb77e65cc5602b74f9d"
dessen SHA-256-Hashwert ist damit
8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a
Schritt 3, an die beiden Schlüssel über die Hashwerte und die folgende Signatur gebundener ephemerer ECIES-Schlüsselwert des Clients:
Dessen privater Schlüssel sei als Beispiel d=4. Damit ergibt sich mit den Schritten 1 und 2 zusammen folgende Zeichenkette.
"brainpoolP256r1 " +
"0x3672030bace787aa319e21d40645b2999006beec437fd084dd3fc592f5fcd77c" + " " +
"0x335b226ce5fac0c36a18ce42e95f43c9eed3e256bdd0c98e55a069595515d15b" + " " +
"a3a56e51377c1de0bea0522eba3ec6277e3355edb67d48b9852ab7d7e536feb7" + " " +
"8b2405f41cebaf44d10b2c9025484515b005be5ba785d0c898eae0739a67eb5a"

Diese Zeichenkette würde dann als Wert im Value-Feld beim "PublicKeyECIES"-Feld in einem Request bei  stehen.
A_17901 - SGD-Clients, Kodierung der Signatur des eigenen ECIES-Schlüssels Ein Client eines SGD ePA MUSS die Kodierung des eigenen kurzlebigen ECIES-Schlüssels nach  signieren (mittels des AUT- oder AUT_ALT-Materials). Diese Signatur MUSS von ihm Base64-kodiert in den Value-Teil des "Signature"-Felds bei der Operation GetAuthenticationToken () und KeyDerivation   für einen Request eingetragen werden.
[<=] 5.2 Kodierung von Chiffraten A_17902 - Kontext SGD, Chiffrat-Kodierung beim Nachrichtentransport Ein SGD ePA und ein Client eines SGD ePA MÜSSEN sicherstellen, dass die in den "EncryptedMessage"-Feldern bei   (GetAuthenticationToken) und bei  kodierten Chiffrate (jeweils bei dem Request und bei der Response) folgendes Format aufweisen:

Hilfsdefinitionen:
Sei "ECC-Punkt-Empfänger" der öffentliche Empfängerschlüssel in der Kodierung nach [ #"PublicKeyECIES"-Datenfeld] (" 0x 0x").
Sei "ephemer-Sender-ECC-Punkt" der pro ECIES-Verschlüsselung vom Sender ephemer zu erzeugende öffentlichen ECC-Punkt. Dieser ist in der Kodierung"0x 0x" kodiert.
Sei "Base64-Ciphertext-AES-GCM" das Base64-kodierte AES-GCM-Chiffrat, wobei das AES-GCM-Chiffrat aus der Aneinanderreihung folgender Bestandteile besteht:
12 Byte IV + AES-GCM-Ciphertext + 16 Byte AuthTag (ICV). (vgl. auch [gemSpec_Krypt#])
Das Format MUSS folgende Form besitzen:
" "

(vgl. auch "Beispiel zu ")
[<=] Hinweise zu : Der bei den Requests bei  (GetAuthenticationToken) und bei übergebene ECIES-Schlüssel hat nach die beiden Hashwerte der SGD-HSMs Schlüssel von SGD 1 und SGD 2 beigefügt (durch die Signatur des Client mit authentisiert). Beim der Chiffratkodierung nach  sind die beiden Hashwerte kein Teil des Chiffrats, weil sie dort fachlich nicht notwendig sind.Beim pro ECIES- Verschlüsselung vom Sender zu erzeugende ephemeren ECC-Punkt ("ephemer-Sender-ECC-Punkt") wird der Kurvenidentifikator (KurvenID) nicht mit aufgeführt, da der ECC-Punkt auf der gleichen Kurve wie der Empfänger ECC-Punkt liegen muss (vgl.). Beispiel zu : Sei durch den Client folgender Klartext im Rahmen der Operation KeyDerivation () vom Client an ein SGD-HSM zu übertragen: "AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa 7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a0 1fae7930340c KeyDerivation r2:7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2- 20a1201-001:Bezeichner ACME Q1 2020" Dann hat das für den Request vom Client zu erzeugende Chiffrat ("EncryptedMessage"- Feld im Request) folgende Form "brainpoolP256r1" + " " + 
"0x743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e" + " " +
"0x36ed163337deba9c946fe0bb776529da38df059f69249406892ada097eeb7cd4" + " " +
"0xa8f217b77338f1d4d6624c3ab4f6cc16d2aa843d0c0fca016b91e2ad25cae39d" + " " +
"0x4b49cafc7dac26bb0aa2a6850a1b40f5fac10e4589348fb77e65cc5602b74f9d" + " " +
"pvUazQKriCfuE5wUX74yj5lvnzygbaUgtP/gAY1aPs1NjXCiWseV4GquSKdMozNoYsfIf0LbdpLwKdUSFYz2dySspGLTUBpmalYz/6G/B5M19y6Ce+ TyoLJehTB0TzzAD9pwzVSJFsUiYCUG1KU6SohSjAIxHrebyo7+MYuQAd4uPnZ3ZiDukWglDr/7fTUafAEiF5gS0T+ LRcaKimfSmPQjtjomgjn6jfl5u9gSyrAwOTCuVkZpSY6yjI1LjEy2jKRpMov4DiYTCMMbY8fLG1PmBp4SDvoLd7p+ 2ay9cyx1qYU43/zbxQGfK3nzBtFKMggS+73rHJpCL+0FPYoqTRkSAN17vxRUHCBESUfd9aAar3ZrhMrQwSj/QKnyG6Gg43WHYMjT6znsHxA=" A_17903 - Kontext SGD, Prüfung der ephemeren ECC-Schlüssel des Senders beim ECIES-Verfahren Ein SGD ePA und ein Client eines SGD- ePA MÜSSEN sicherstellen, dass sie die beim Empfang einer über das ECIES-Verfahren verschlüsselten Nachricht den vom Sender erzeugten ephemeren ECC-Punkt überprüfen:
Dieser ECC-Punkt MUSS auf der gleichen elliptischen Kurve wie der Empfänger-ECC-Punkt liegen. (Hinweis: der Punkt im Unendlichen ist ebenfalls ein ungültiger Punkt. Dieser Punkt kann aufgrund des Kodierungsformats aus hier nicht auftreten.)
[<=] Verständnishinweis zu  : Da dies ein häufig auftretender sicherheitskritischer Implementierungsfehler ist, wird auf diesen Punkt explizit hingewiesen und damit eine gesonderte Stellungnahme diesbezüglich im Produktsicherheitsgutachten gefordert. 6 Schnittstellen und Operationen Der SGD ePA bietet innerhalb der TI eine HTTPS-Schnittstelle als Kommunikationsschnittstelle an. Die gematik stellt auf Anfrage eine Beispiel-Implementierung für die Außenschnittstellen eines SGD bereit. 6.1 Innenschnittstellen Die Innenschnittstellen zwischen der Request verarbeitende Einheit (RVE) für die eingehenden HTTP-Request und dem SGD-HSM sind SGD-intern. Deren Ausgestaltung bleibt dem Betreiber überlassen. 6.2 HTTPS-Schnittstellen und HTTP-Kommunikation A_17889 - HTTPS-Schnittstelle SGD Ein SGD ePA MUSS Folgendes sicherstellen:
Der SGD MUSS über eine HTTPS- Außenschnittstelle in der TI verfügbar sein.Für diese HTTPS-Schnittstelle MUSS der SGD ein TLS-Fachdienst Zertifikat (inkl. privatem Schlüssel) mit dem Profil C.FD.TLS-S (vgl. [gemSpec_PKI#C.FD.TLS-S Server-Authentisierung] und OID "oid_sgd" [gemSpec_OID]) aus der Komponenten-PKI der TI besitzen und verwenden.
Der SGD MUSS bei der HTTPS- Schnittstelle HTTP Version 1.1 unterstützen.Über diese HTTPS-Schnittstelle MUSS der SGD HTTP-POST-Request mit dem Content-Type 'application/json' entgegennehmen.Antworten MUSS der SGD auf einen solchen HTTP-POST-Request immer mit einen HTTP-Response mit dem Content-Type 'application/json'. [<=] Genaue Vorgaben für die Verwendung des TLS-Protokolls bei der HTTPS-Schnittstelle befinden sich in [gemSpec_Krypt] und die entsprechenden Anforderungen sind den Produkttypen (Produkttypsteckbrief) zugewiesen. A_17890 - HTTPS-Schnittstelle SGD, KANN HTTP/2 Ein SGD ePA KANN auf dessen HTTPS- Schnittstelle nach  zusätzlich HTTP Version 2 (HTTP/2) anbieten. [<=] Das ZGdV (vgl.) ist im Vergleich zu einem SGD in einer besseren Position, Gegenmaßnahmen gegen DoS-Angriffe aus dem Internet zu ergreifen. Ein SGD kennt nicht die IP- Adresse des Clients – alle Requests kommen von einer IP-Adresse des ZGdV. Deswegen kann ein SGD nur schlecht auf IP- Ebene DoS-Gegenmaßnahmen ergreifen. Es kann jedoch die kryptographische Identität des Anfragenden mit hoher Sicherheit schon in der RVE feststellen und bei DoS-Angriffen auf dieser Grundlage Client-spezifische DoS-Gegenmaßnahmen ergreifen. A_17891 - HTTPS-Schnittstelle SGD, DoS-Schutz Ein SGD ePA MUSS bei seiner HTTPS-Schnittstelle in der Request verarbeitenden Einheit (RVE) Maßnahmen gegen DoS-Angriffe auf Applikation-Ebene umsetzen (vgl. [gemSpec_SGD_ePA#Hinweise zu A_17891]). [<=] Hinweise zu A_17891: In Bezug auf DoS-Gegenmaßnahmen auf Applikation-Ebene steht die Operation  ( )  im Fokus, also die Operation, die unmittelbaren Zugriff auf die SGD-HSM verlangt. Bei der Operation  () wird nur eine Datenstruktur nach  (aktueller ECIES-Schlüssel des avisierten SGD-HSM) quasi semistatisch zurückgeliefert. Eine RVE muss die ECIES-Schlüssel alle 15 Minuten vom jeweiligen SGD-HSM erfragen und in eine  Datenstruktur nach  überführen. Diese Datenstruktur liefert die RVE dann statisch 15 Minuten lang aus. Damit steht dort der DoS-Schutz auf Anwendungsebene nicht im Fokus. Bei der Operation  ( ) muss die RVE die Signatur und das Zertifikat des Clients prüfen (vgl. bspw.  ) und bei nicht-positivem Prüfergebnis verwerfen (). Wenn ein Client zu oft Anfragen stellt, so kann die RVE dessen Anfragen herunter priorisieren. Effizient kann man dies mittels "counting bloom filter" implementieren. Dafür erzeugt der SGD ein ausreichend großes 64-bit-Zählerfeld. Bspw. die letzten 256 Bits der Signatur des AUT-Zertifikats werden beim Eintreffen der schon geprüften Requests über eine (nicht-notwendigerweise kryptographisch sichere, d. h. sehr performante) Hashfunktion auf einen Index des Feldes überführt. Dort wird der Zähler mit dem entsprechenden Index im Feld erhöht. Falls dieser Zählerwert über einem festgelegten Limit ist, wird der Request abgelehnt. Periodisch werden alle Zähler des Zählerfeldes, die größer als null sind, verringert. Bei der Requestverarbeitung (vgl. Abschnitt ) meldet das SGD-HSM der RVE verschiedene Fehlerfälle. Treten bei Requests mit bestimmten "Certificate"-Inhalten besonders häufig Fehler auf, so kann die RVE solche Requests für eine gewisse Zeit sperren oder ein Rate-Limiting für solche Requests durchsetzen. Bei bestimmten Arten von DoS-Angriffen kann nur das ZGdV effektiv Gegenmaßnahmen ergreifen (vgl. Kommentar vor ). 6.3 Anforderungen an die JSON-Requests und -Responses A_17892 - Aufwärtskompatibilität JSON-Requests und - Responses Alle an einer Kommunikation mit einer SGD beteiligten Parteien (Client, ZGdV, SGD selbst) MÜSSEN sicherstellen, dass die JSON-Datenstrukturen, die bei der Kommunikation übermittelt werden, zusätzliche Key-Value-Paare enthalten können, d. h. ein Beteiligter MUSS ihm unbekannte Key-Value-Paare ignorieren. [<=] A_17893 - Maximale Größe der JSON-Requests und -Responses Ein SGD ePA und ein Client eines SGD ePA MÜSSEN JSON-Requests und -Responses auf den SGD (GetPublicKey, KeyDerivation) ablehnen, wenn diese größer als 2 MiB sind. [<=] Hinweis zu A_17893: Bei einer Sicherheitsüberprüfung muss u. a. die Validierung von Daten an der Außenschnittstelle betrachtet werden. Dabei unterstützt  . 6.4 Operation GetPublicKey A_17895 - SGD, Operation GetPublicKey Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. ) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_GetPublicKey-Request] eintrifft, so MUSS die RVE das Zertifikat im Datenfeld "Certificate" des Requests asynchron prüfen (Prüfung gegen die TSL inkl. Sperrinformationen über OCSP) (vgl. auch [gemSpec_SGD_ePA#Hinweis zu A_17895). Unabhängig vom Prüfergebnis MUSS der SGD eines seiner SGD-HSMs auswählen, an das er den zu erwartenden Folgerequest (im Normalfall KeyDerivation) senden möchte. In Bezug auf dieses avisierte SGD-HSM MUSS der SGD den aktuellen signierten öffentlichen ECIES-Schlüssel des SGD-HSMs + Zertifikat nach der in angegebenen Kodierung als Antwort senden.
[<=] Tabelle 7: Tab_GetPublicKey-Request { "Command"      : "GetPublicKey",
  "Certificate"  : ".. . Base64-kodiertes Client-Zertifikat ... ",
  "OCSPResponse" : "... Base64-kodierte OCSP-Response ..."
}

oder

{ "Command"      : "GetPublicKey",
  "Certificate"  : " ... Base64-kodiertes Client-Zertifikat ... ",
  "OCSPResponse" : ""
}
Hinweis zu A_17895: In   steht die Zertifikatsprüfung des im Request enthaltenen Zertifikats nicht in Bezug zu einer Signaturprüfung einer Challenge oder eines durch den Client zu authentisierenden Datums. Damit findet hier keine Authentifizierung statt. Das Aufführen des Zertifikats hat die zwei folgenden Ziele: Es wird damit einem SGD ermöglicht, gutartige (nicht-manipulierte) Requests auf mehrere SGD-HSM bspw. in verschiedenen geographischen Orten (Verfügbarkeitsanforderung) zu verteilen. Denn die in den verschiedenen SGD-HSMs erzeugten ECIES- Schlüsselpaare müssen damit nicht synchronisiert werden.
Sollte ein Angreifer ein falsches AUT-Zertifikat schicken, so entsteht dadurch kein Sicherheitsproblem.Es wird außerdem einem SGD ermöglicht, vorab eine Zertifikatsprüfung (Einholen der OCSP-Antworten) durchzuführen (diese OCSP-Antworten werden von dem SGD-HSM benötigt). Diese Zertifikatsprüfung muss die RVE asynchron durchführen, d. h. der SGD darf den Client in Bezug auf die Antwort (der aktuelle signierte ECIES-Schlüssel des für den Client "vorgesehenen" SGD-HSMs) nicht warten lassen. A_17896 - SGD: Vorhalten (caching) von Zertifikatsprüfungen in der RVE Eine SGD ePA MUSS das Ergebnis einer Zertifikatsprüfung (inkl. OCSP-Response) innerhalb der RVE 4 Stunden vorhalten (cachen) und, falls ein vorgehaltenes Prüfergebnis vorliegt, dieses anstatt einer neuen Zertifikatsprüfung verwenden. Prüfergebnisse, die älter als 4 Stunden sind, MÜSSEN verworfen und gelöscht werden. Falls der Client eine OCSP-Response mit übergeben hat, so MUSS der SGD zunächst diese nutzen. Wenn die OCSP-Response ungültig oder älter als 4 Stunden ist, so MUSS der SGD selbst eine OCSP-Response einholen. [<=] Wie in Abschnitt 2.10 beschrieben, benötigt ein SGD in Bezug auf die Schlüsselableitungsfunktionalität das AUT-Zertifikat des Nutzers und eine OCSP-Response für dieses Zertifikat. Dies bildet die Grundlage des beidseitig authentisierten verschlüsselten Datenkanals zwischen SGD-HSM und Client (vgl. Abschnitt 9). Ein SGD darf diese beiden Daten nicht längerfristig speichern (). Andere personenbezogenen Daten fallen bei einem SGD nicht an. Da ein Versicherter immer über das ZGdV eine Datenverbindung zu den beiden SGD aufbaut, erfahren beide SGD nicht die vom Versicherten verwendete IP- Adresse. A_17965 - SGD: Löschen der Client-AUT-Zertifikate und OCSP-Responses Ein SGD ePA DARF NICHT Client-spezifische Daten (also das Client-AUT-Zertifikat oder OCSP-Responses dafür) persistent (also außerhalb des Zeitraums aus )  speichern. [<=] A_17897 - SGD-Client, Anfrage GetPublicKey (Client) Ein Client eines SGD ePA MUSS den aktuellen signierten öffentlichen ECIES-Schlüssel eines SGD-HSMs über die Operation GetPublicKey gemäß  erfragen.[<=] A_18024 - SGD-Client, Prüfung SGD-HSM-ECIES-Schlüssel Ein Client eines SGD ePA MUSS den über die Operation GetPublicKey () erhaltenen signierten öffentlichen ECIES-Schlüssel eines SGD-HSMs (vgl. ) wie folgt prüfen.
Ist das erhaltene Zertifikat des SGD-HSMs (vgl. )  gemäß  gültig? Falls nein, dann FAIL.Ist das Zertifikat so wie vom Client erwartet entweder von einem SGD 1 oder von einem SGD 2 gemäß ? Falls nein, dann FAIL.Ist das erhaltene Zertifikat zeitlich gültig? Falls nein, dann FAIL.Ist die Signatur (vgl. "Signature"-Feld bei Kodierung gemäß ) korrekt ("valid"), also eine kryptographisch korrekte Signatur (ECDSA-Signatur gemäß [gemSpec_Krypt#]), die auf den EE-Schlüssel aus dem in (1) bis (3) geprüften Zertifikat rückführbar ist? Falls nein, dann FAIL. Wenn einer der Prüfschritte ein FAIL liefert, so MUSS der Client die Verwendung des erhalten Schlüssel () abbrechen. [<=] 6.5 Operation GetAuthenticationToken A_18025 - SGD- Client, Anfrage GetAuthenticationToken Ein Client eines SGD-ePA MUSS, nachdem er den  jeweiligen aktuellen öffentlichen SGD-HSM-Schlüssel (  (S4)) für die Nachrichtenübermittelung mittels des ECIES-Verfahrens (vgl. Abschnitt  ) erfragt () und geprüft () hat, ein Authentisierungstoken über die Operation GetAuthenticationToken () anfordern.
Dafür MUSS der Client eine 256-Bit-Zufallszahl als Challenge erzeugen (RND-Client) und in Hexadezimalform kodieren.
Anschließend MUSS der Client die Zeichenkette "Challenge " erzeugen.
Beispiel:
    Challenge f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d
Diese Zeichenkette MUSS der Client über das ECIES-Verfahren gemäß [gemSpec_Krypt#] für das SGD-HSM verschlüsseln. Das erhaltene Chiffrat MUSS der Client gemäß  kodieren und die Kodierung als "EncryptedMessage" bei Operation GetAuthenticationToken () verwenden. [<=] A_18021 - SGD, GetAuthenticationToken Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl. ) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_GetAuthenticationTolken-Request] eintrifft, so MUSS die RVE des SGD
das Zertifikat im Datenfeld "Certificate" gemäß TUC_PKI_018 prüfen und dabei Ergebnisse nach   berücksichtigen.die Kodierung und die Signatur der "PublicKeyECIES" prüfen (vgl.  und ).  Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus  [gemSpec_SGD_ePA#] dem Client antworten und die weitere Requestverarbeitung abbrechen.
Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl.).
Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:
{
  "Status" : "OK",
  "EncryptedMessage" : "... Base64-kodiertes Chiffrat gemäß ..."
}
Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#]  dem Client antworten. [<=] Tabelle 8: Tab_GetAuthenticationToken-Request {"Command"          : "GetAuthenticationToken",
  "PublicKeyECIES"   : " ... Kodierung nach   ...",
  "Signature"        : " ... Base64-kodierte Signatur des PublicKeyECIES nach ...",
  "Certificate"      : " ... Base64-kodiertes Client-Zertifikat ... ",
  "EncryptedMessage" : " ... Base64-kodiertes Chiffrat nach  ..."
}
A_18028 - SGD-Client, Auswertung der Anfrage GetAuthenticationToken Ein Client eines SGD-ePA MUSS, nachdem er über die Operation GetAuthenticationToken ( ) ein Authentisierungstoken angefordert hat, die Antwort in "EncryptedMessage" mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt# ] entschlüsseln.
Der Client MUSS prüfen, ob die Antwort folgender Form entspricht:
    Response <256-Bit-Wert- H-in-Hexform> AT<256-Bit-Hexadezimal-kodiert>
Beispiel:
    Response f97cbc538b020d705a960a7e8fa5912c8e202fcf7d6516da3818eff68ce7e00d c4d0613a597826cfdca992d0a02d0ea26667829345033dee158a578cc8524cab AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc584 0dd8f8f4efa

Der Client MUSS prüfen, ob der erste Wert (256-Bit Zufallswert aus der Clientanfrage) genau der Wert aus der Anfrage des Client gemäß  ist. Falls nein, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. 

Der Client MUSS prüfen, ob der zweite Wert H der SHA-256-Wert aus der Aneinanderreihung seines Client-spezifischen ECIES-Schlüssels in der Kodierung nach  und des für dessen Signatur verwendeten AUT-Zertifikats (DER-kodiert) ist.
Falls nein, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. 

Der Client MUSS den zweiten Wert (das Authentisierungstoken) wie folgt prüfen: Beginnt das Authentisierungstoken mit der Zeichenkette "AT"? Falls nein, dann FAIL.Ist die Teilzeichenkette des Authentisierungstokens nach "AT" ein 256-Bit Hexadezimal kodierter Wert? Falls nein, dann FAIL. Falls eine der Prüfungen ein FAIL liefert, so MUSS der Client mit einem Fehler abbrechen und ggf. mit dem Protokollablauf neu starten. 
Der Client MUSS den Authentisierungstoken für die im Protokollablauf folgenden Aufruf der Operation KeyDerivation ( ) speichern.
[<=] 6.6 Operation KeyDerivation A_18029 - SGD-Client, Anfrage KeyDerivation Ein Client eines SGD-ePA MUSS, nachdem er über erfolgreich über die Operation GetAuthenticationToken ( ) ein Authentisierungstoken vom SGD-HSM erhalten hat (vgl.  ), eine Zeichenkette der folgenden Form bilden:
    KeyDerivation

Die Request-ID MUSS ein 256-Bit Zufallswert in Hexadezimalform sein (ohne führendes "0x"), den der Client pro Request (KeyDerivation) zufällig erzeugen MUSS. Diese Request-ID MUSS der Client zwischenspeichern (vgl. Prüfung in  ).

Die Ableitungsregeln MUSS der Client je nach Anwendungsfall (vgl. [gemSpec_SGD_ePA#Abschnitt ff]) gemäß  erzeugen.

Diese erzeugte Zeichenkette MUSS der Client über das ECIES- Verfahren gemäß [gemSpec_Krypt#] für das SGD-HSM verschlüsseln. Das erhaltene Chiffrat MUSS der Client gemäß  kodieren und die Kodierung als "EncryptedMessage" bei Operation KeyDerivation ( ) verwenden. [<=] A_17898 - SGD, KeyDerivation Ein SGD ePA MUSS Folgendes sicherstellen: Wenn über dessen HTTPS-SGD-Schnittstelle (vgl.  ) ein POST-Request mit dem Request-Body nach [gem_SGD_ePA#Tab_KeyDerivation-Request] eintrifft, so MUSS die RVE des SGD
das Zertifikat im Datenfeld "Certificate" gemäß TUC_PKI_018 prüfen und dabei Ergebnisse nach   berücksichtigen.die Kodierung und die Signatur der "PublicKeyECIES" prüfen (vgl.  und ). Falls eine der Prüfungen ein nicht-positives Ergebnis liefert, so MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#] dem Client antworten und die weitere Requestverarbeitung abbrechen.
Die RVE des SGD MUSS die Informationen aufbereiten und an das für den Request avisierte SGD-HSM übergeben (vgl.). Liefert das SGD-HSM ein OK, so MUSS die SGD die Antwort den HTTP-POST-Request mit folgender Nachricht beantworten:
{
  "Status" : "OK",
  "EncryptedMessage" : "... Base64-kodiertes Chiffrat. Das Chiffrat wurde vom SGD-HSM erzeugt ..."
}
Anderenfalls (SGD-HSM meldet einen Fehler) MUSS die RVE des SGD mit einer entsprechenden Fehlermeldung aus [gemSpec_SGD_ePA#]  dem Client antworten. [<=] Tabelle 9: Tab_KeyDerivation- Request { "Command"          : "KeyDerivation",
  "PublicKeyECIES"    : " ... Kodierung nach   ...",
  "Signature"        : " ... Base64-kodierte Signatur des PublicKeyECIES nach ...",
  "Certificate"      : " ... Base64-kodiertes Client-Zertifikat ... ",
  "EncryptedMessage" : " ... Base64-kodiertes Chiffrat nach   ..."
}
A_17888 - SGD, KeyDerivation (Client) Ein Client eines SGD ePA MUSS die Operation KeyDerivation gemäß  umsetzen. [<=] A_18031 - SGD-Client, Auswertung der Anfrage KeyDerivation Ein Client eines SGD-ePA MUSS, nachdem er über die Operation KeyDerivation (  ) die Durchführung einer Schlüsselableitung angefordert hat, die Antwort in "EncryptedMessage" mittels des ECIES-Verfahrens gemäß [gemSpec_Krypt# ] entschlüsseln.

Der Client MUSS prüfen, ob die Antwort folgender Form entspricht:
    OK-Derivation <256-Bit-AES-Schlüssel-in-Hexform>
Beispiel:
    AT1ce627dd5e4c6536ca0dd93f896744d42c6580537953a49fcc5840dd8f8f4efa 7522d04ca28f2c6d3f5a53b2a31aebe1f91f2cfb75145b35c9a01fae7930340c OK-KeyDerivation 4a76068ed4796ac5d513ee05c9ff7d007271499f8bd8e04e8146031af576b4dd r2: 7f8f77003dbab49c3a4e32f44726f92324d292fa668fde5ebc3424397986be99:107299005A112102647:2-20a1201-001:Bezeichner ACME Q1 2020

Der Client MUSS prüfen, ob der Authentisierungstoken genau der Token ist, den der Client im Request für KeyDerivation verwendet hat. Falls nein, so MUSS er die erhaltene Antwort verwerfen (i. S. v. er darf insbesondere die erhaltenen Schlüssel nicht nutzen). 

Der Client MUSS prüfen, ob die Request-ID genau die ist, die der Client für Request für KeyDerivation verwendet hat (zufällig erzeugt hat vgl.). Falls nein, so MUSS er die erhaltene Antwort verwerfen (i. S. v. er darf insbesondere die erhaltenen Schlüssel nicht nutzen).   [<=] 6.7 Fehlermeldungen Die RVE muss bei Fehlerfällen folgende Fehlermeldungen an einen Client senden. Tabelle 10: Tab_Fehlerfälle_und_Fehlermeldungen Fehlerfall
an den Client zu sendende Fehlernachricht
Die Authentizität des Requests ist nicht gegeben (bspw. AES- GCM meldet FAIL) das SGD-HSM meldet FAIL.
{ "Status" : "decryption FAIL" }
Die Zertifikatsprüfung in der RVE oder im SGD-HSM ergab FAIL.
{ "Status" : "certificate not valid" }
Die Signatur des öffentlichen ephemeren ECIES- Client-Schlüssel ist nicht valide.
{ "Status" : "signature not valid" }
Datenfelder im Request fehlen.
{ "Status" : "request not valid" }
Der Request ist größer als 2 MiB ( ).
{ "Status" : "request not valid" }
7 Clientspezifische Festlegungen Ein ePA-FdV, ein FM ePA und ein KTR-Consumer sind Clients eines SGD. A_17847 - Prüfung eines SGD-HSM-Zertifikats (1/2) Ein Client eines SGD MUSS bei Prüfung eines SGD-HSM-Zertifikats bei bzw. vor der Erzeugung eines Requests an den SGD prüfen, ob das Zertifikat in der TSL innerhalb eines "TSPService"-Eintrags mit dem ServiceTypeIdentifier "http://uri.etsi.org/TrstSvc/Svctype/unspecified" aufgeführt ist und dieses zeitlich aktuell gültig ist.
Falls nein, so MUSS das Zertifikat abgelehnt werden und die Verarbeitung des Zertifikats abgebrochen werden.[<=] A_17848 - Prüfung eines SGD-HSM-Zertifikats (2/2) Ein Client eines SGD ePA MUSS, falls bei der Prüfung eines SGD-HSM-Zertifikats ein SGD-1-Zertifikat erwartet wird, prüfen, ob die OID oid_sgd1_hsm [gemSpec_OID] im SGD-HSM- Zertifikat (Kontext Prüfung der Signatur der aktuellen SGD-HSM-ECIES-Schlüssel) aufgeführt ist.
Falls nicht, so MUSS das Zertifikat abgelehnt werden.
Analog SGD-2-Zertifikat und OID oid_sgd2_hsm. [<=] Verständnishinweis: In  wird die generelle Auswertbarkeit solcher TSL-Einträge auch thematisiert. A_17925 - SGD-Client, Parallele Anfrage SGD1 und SGD2 Ein Client eines SGD MUSS, um eine höhere Performanz zu erreichen, im Rahmen der Schlüsselableitungsfunktionalität den SGD 1 und den SGD 2 parallel anfragen.
[<=] A_17990 - ePA-FdV: Parallele Anfrage SGD1 und SGD2 Ein ePA-FdV MUSS bei der Umsetzung von  die aktuell bestehende TLS-Verbindung zum Zugangsgateway des Versicherten per TLS-Resumption "clonen" (vgl. „third option“ [RFC-5246, S. 40, erster Abschnitt]). Auf einer TLS-Verbindung MUSS das ePA-FdV den SGD 1 anfragen auf der anderen den SGD 2.
Sollte das Zugangsgateway eine TLS-Resumption ablehnen, so MUSS der Client, so wie im TLS- Protokoll vorgesehen, einen "full handshake" für den Aufbau der zusätzlichen TLS-Verbindung durchführen.[<=] Hinweis: Für die Vereinfachung der Parallelisierung für ein ePA-FdV gibt es  . A_18003 - SGD-Client, Prüfung der Telematik-ID bei Berechtigungsvergabe Ein Client eines SGD ePA MUSS folgende Vorgaben umsetzen.
Im Rahmen einer Berechtigungsvergabe (vgl. [gemSpec_SGD_ePA#Abschnitt und ]) kann ein Versicherter oder ein Vertreter eine LEI berechtigen. Dabei muss der Client einen Ableitungsvektor erzeugen, bei dem die Telematik-ID der LEI in den Ableitungsvektor mit einfließen. Dabei MUSS der Client die Telematik-ID der LEI wie folgt prüfen.
Falls in der Telematik-ID ein Doppelpunkt (":", Character 58) enthalten ist, so MUSS der Client die Telematik-ID in Hexadezimalschreibweise (ohne führendes "0x") kodieren und davor ein "*" (Character 42) setzen.
Beispiel:
"2-20a1201-001:AAB::112" wird zu "* 322d323061313230312d3030313a4141423a3a313132"
Diese Kodierung MUSS der Client bei der Erzeugung der Ableitungsvektoren jeweils bei"" verwenden.[<=] Verständnishinweis: Die Vergabe der Telematik-IDs erfolgt durch die LE- und LEI-Organisationen. Nur die ersten drei Zeichen werden durch die Vorgaben aus [gemSpec_PKI#] festgelegt. Damit kann es theoretisch vorkommen, dass dort nach der 3-ten Stelle der Telematik-ID ein ":" vorkommen könnte, was i. d. R. nicht der Fall ist. A_18032 - SGD-Client, kurzlebigen ECIES-Client-Schlüsselpaar Ein Client eines SGD MUSS für die parallele Anfrage an beide SGD ein kurzlebiges ECIES-Client-Schlüsselpaar gemäß [gemSpec_Krypt#] erzeugen. (Der Client verwendet dasselbe Schlüsselpaar für beide SGD). [<=] A_18005 - SGD-Client, nur Einmalverwendung des kurzlebigen ECIES-Client-Schlüsselpaars Ein Client eines SGD DARF sein kurzlebiges ECIES-Client-Schlüsselpaar NICHT für mehr als eine Nutzung der Schlüsselableitungsfunktionalität ePA, also die parallele Anfrage an SGD 1 und SGD 2, nutzen. Für die nächste Nutzung MUSS der Client ein neues ECIES-Client-Schlüsselpaar erzeugen. [<=] Verständnishinweis: sollte der Client keine Antwort (timeout) bspw. vom ZdGV bekommen u. Ä. so darf er die Anfrage mit dem gleichen Schlüsselpaar noch einmal wiederholen. Es geht um die kryptographische Nutzung des Schlüsselpaars, diese darf nur einmal innerhalb eines Protokollablaufs erfolgen. Bei einem folgenden Protokolldurchlauf muss der Client ein neues ECIES- Client-Schlüsselpaar verwenden. A_18006 - SGD-Client, KVNR Ein Client eines SGD ePA MUSS bei einer Erstellung einer Anfrage für eine Schlüsselableitung (vgl. Abschnitte  und  ), im Falle dass dort vom Client initial eine KVNR eingetragen wird (KVNR eines Vertreters, KVNR eines Kontoinhabers im Vertretungsfall), die Variable KVNR bei der Konstruktion der Anfrage gemäß  verstehen. [<=] 8 Interoperables Austauschformat Damit die Interoperabilität zwischen Clienten eines SGD (ePA-FdV, FM ePA etc.) sichergestellt ist, wird nachfolgend ein interoperables Austauschformat definiert. Zunächst wird mit PHRKey [PHR_Common.xsd] eine Datenstruktur für die Klartextrepräsentation von Kontextschlüssel (ContentKey) und Aktenschlüssel (RecordKey) definiert. Daran folgt die Definition der Datenstruktur EncryptedKeyContainer [AuthorizationService.xsd]. Tabelle 11: Tab_Austauschformat_Akten-_und_Kontextschlüssel  

   
        S2V5MS0yNTZCaXQtQUVTLUdDTS0xMjM0NTY3ODkwYWI=
   

   
        S2V5Mi0yNTZCaXQtQUVTLUdDTS1iYTA5ODc2NTQzMjE=    
   


Vergleiche auch [PHR_Common. xsd] Diese XML-Datenstruktur muss nun mittels des vom SGD 1 abgeleiteten spezifischen Schlüssels verschlüsselt werden (vgl.  ) und zusätzlich muss noch der Rückgabewert nach "OK-Derivation " als "associated data" mit in die MAC-Berechnung bei der AES-GCM-Verschlüsselung und GMAC-Berechnung einfließen. Das Ergebnis muss in einer EncryptedKeyContainer-XML- Datenstruktur kodiert werden, die folgende Form besitzt (vgl. auch Schemadatei  [AuthorizationService.xsd]): Tabelle 12: Tab_erste_Verschlüsselungsschicht


 





Diese Daten werden dann mit dem zweiten AES-256-Schlüssel (erhalten von SGD 2) verschlüsselt und es muss wieder eine derartige Datenstruktur erzeugt werden. Jedoch müssen bei den AD nun die AD aus der ersten Verschlüsselungsschicht  (AD1) mit einbezogen werden. Dafür werden die AD1 (Base64-dekodiert) vor die Ableitungsinformationen, die durch SGD 2 hinzukommen, vorangestellt und damit zusammengefügt. Die MAC-Berechnung basiert dann auf dieser zusammengesetzten Zeichenkette. Im ""-Feld werden die beiden Teile (Ableitungsinformationen von SGD 1 und Ableitungsinformationen von SGD 2) jeweils einzeln Base64-kodiert und durch Leerzeichen getrennt aufgeführt. Beispiel für ein AssociatedData einer zweiten Verschlüsselungsschicht:
cjI6N2Y4Zjc3MDAzZGJhYjQ5YzNhNGUzMmY0NDcyNmY5MjMyNGQyOTJmYTY2OGZkZTVlYmMzNDI0Mzk3OTg2YmU5OToxMDcyOTkwMDVBMTEyMTAyNjQ3OjIt MjBhMTIwMS0wMDE6QmV6ZWljaG5lciBBQ01FIFExIDIwMjAK 
cjI6NWQ2MWQyZTExNTJiNjcxMWJlOTg0OTZjZDZmMGM5YWJkZTRjYzNiMzIwYjRiYWYxMjc2ZTU1MmFhZGU4OjEwNzI5OTAwNUExMTIxMDI2NDc6Mi0yMGEx MjAxLTAwMTpTR0QyIFhZWiBRMSAyMDIwCg==
Damit kann ein Client die Ableitungsinformationen von SGD 1 (erster Teil) und von SGD 2 (zweiter Teil) unterscheiden. A_17930 - interoperables Austauschformat Schlüsselableitungsfunktionalität ePA Ein Client eines SGD ePA MUSS bei einer Kodierung von Akten- und Kontextschlüssel bzw. der Ver-und Entschlüsselung dieses im Kontext der Schlüsselableitungsfunktionalität ePA die in [gemSpec_SGD_ePA# ] spezifizierten Formate epa:PHRKey [PHR_Common.xsd] und epa:EncryptedKeyContainer [AuthorizationService.xsd] verwenden.
Der Client MUSS bei der zweiten Verschlüsselungsschicht die AD der ersten Schicht (AD 1) im AD der zweiten Schicht (AD 2) mit aufnehmen. Der Client MUSS zunächst AD 1 und dann AD 2 aufführen und beide durch mindestens ein Leerzeichen trennen. Die GMAC-Berechnung MUSS bei der zweiten Verschlüsselung über beide AD (AD1 und AD2) erfolgen (AD1 + AD2 bilden die AD für den AES-GCM).[<=] Beispiel: Schritt 1, Akten- und Kontextschlüssel kodiert in einer PHRKey-Datenstruktur


S2V5MS0yNTZCaXQtQUVTLUdDTS0xMjM0NTY3ODkwYWI=


S2V5Mi0yNTZCaXQtQUVTLUdDTS1iYTA5ODc2NTQzMjE=

Beispiel: Schritt 2, Erzeugung der ersten Verschlüsselungsschicht Sei 6162636465666768696a6b6c6d6e6f707172737475767778797a313233343536 der von dem SGD 1 erhaltene hexadezimal-kodierte 256- Bit AES/GCM-Schlüssel und der verwendete Ableitungsvektor des SGD 1 sei "r1: 0102030405060708090001020304050607080900010203040506070809000102:107299005A112102647:ACME Q1-2019", dann würde folgende EncryptedKeyContainer-Datenstruktur entstehen.

  MTIzNDU2Nzg5MDEys8SWvua/wM0Yhge+xFQ012wkGc6OmPEppHpC+3P7K+ pBvl0EBIP2ZX1sCcpCTqnRXhi0vPS1fRj7s0RAJfOLnrQWhUhrm7/hFLs6OE06+ 3nzCWTZ814BiNbz5PgD2TxVlZ4HOKzYswNwIHIK2fgdvJsg3TmhLhcuUgS7dgyBsqpZYqGCzKpslwSTPAyKQcedxbiLUa85PfUFgZG9zQRh7COlCau1Xp2/8 IcPzklNy1n1GgBf7rwCgxVEoXnUJq04FfpmKknZkuM5iz9pFTjGRh0yXvwYZZ58kUZGyuV+ Batr2VAg3MrA7m5w6GXI3S34evhxaXyrNVotfbcjaHWc7rIIVGbh6sT1S4BDxaf2QVMmeY9mQNg+ LAP51tdy/18QxwZRuon1t4VPi/z/Tqw/ZhkkH1GnRdNgKcx8d2ygXiP1BtRGIbLlFJfvziftGQ1z45UpsWdK7VpAGY0oDaxbXGqcWfdu


cjE6MDEwMjAzMDQwNTA2MDcwODA5MDAwMTAyMDMwNDA1MDYwNzA4MDkwMDAxMDIwMzA0MDUwNjA3MDgwOTAwMDEwMjoxMDcyOTkwMDVBMTEyMTAyNjQ3OkFD TUUgUTEtMjAxOQ==

Beispiel: Schritt 3, Erzeugung der zweiten Verschlüsselungsschicht Sei 6162636465666768696a6162636465666768696a6162636465666768696a6162 der von dem SGD 2 erhaltene hexadezimal-kodierte 256-Bit AES/GCM-Schlüssel und der verwendete Ableitungsvektor des SGD 2 sei "r1: c14d9403d887cb9a91cab9ab5c087ee86f76cad71729e2f467c887eac8c9:107299005A112102647:SGD-2 MasterKey-1-2019", dann würde folgende EncryptedKeyContainer-Datenstruktur der zweiten Verschlüsselungsschicht entstehen.

MTIzNDU2Nzg5MDEys8SWvua/wM0Yhge+xFQ012wkGc6OmPEppHpC+3P7K+ pBvl0EBIPcZX1sCcpXaJjoQhHgsP6NbRPZsl4JZsGqjKhTtm9aup/VQu1dOT037GLxVwCT/QkXysavuP4F1n5ah8ZCY+ zWs1RqO2BKzehStpp1xz28eU1sCFf3LweS4qE5arSZm+ 0u3xuEbw75H93V3cmTMNE6FJQShrWc70hj7gOEJNGmV/m1qJgnj3w71D2dGzhwwqhtmzEp7jWLPLgYUbtSVmeL3KtzpGBCIxTuAAwPFq86aolQt15c8NArTv Np/XMrlbfdrmpuzRes1BDTO7gQDi3RJUUsL/YoHwjMuZg+ VmX89M3sZfUplcz1IyQCXt1lO9wDK1D1//VP8D0MxBhPp67RyJtfl/SBM447MCE6PUzZe/s1b5gwQVapeXHpFeZhK/2fcuH7+QWtAjVSxIcD2z1FHAD+ jHgaaLg403lqoQnQCnWtO8L7rVfAK8lqZuCWDgVcY2V0aEFLxU787PaLVpQ74ymxJpgTjpJS1hDcczUa8GDCDoCHOtLaO1pkgfULf2CYeksHWz0mX/gPv5Zo 1e/eo1tkG+kDr5wfqzk8g5d9zRIpkR1JcOeg2ZaVJc7FAY+vZeuwmE9iIk7co47Y+0ElPCnN0d3+ wfzqjQGwQGyaTgn0UnHI1Ex9R7h5w4qxH2UPKYVQ66Nd7am8kO8oTiQ27ogYSFQtlwUtzoWHiH6sQlcPJfySuP8Q1RfcT4gOiHSwAdqCYaYG/jtEcOuUBKem Bbi25dyUzonUta6n4YuZAYJEdA07dQ0zcGW4gYqvXkXm3eVDfbJmtj2VEVEJ0/N918fxxReCr4ym1/m6wFS2LtymDSoEfz55ZbRDYQ7/DaBPJV2k+ HUKaeevdyiWWsS6lOq6xI1iV1Sz5OIO93Db4R0EzUkzCz9sA8UKyMfc7JejHRhbOwfDUPEiS8rBh+ JBSuGu3zLbPcfWQDyYBnRacl8hL2d2aTY1O70PAElNIYc+8A3+oXCDFZi7Sx/O5VRM/d7Y+3MAkewo0yf+ bWz/0cIeuMS5flYXDht987ohP2gss/n22AA0/FNrhNs2A3eOMk2517lbyp9JXvPAonJlUnB7dOhsh42qwRzLNcTh3om9ZQ8PeHjfOn9yoqda0pTWse07G2Q=

cjE6MDEwMjAzMDQwNTA2MDcwODA5MDAwMTAyMDMwNDA1MDYwNzA4MDkwMDAxMDIwMzA0MDUwNjA3MDgwOTAwMDEwMjoxMDcyOTkwMDVBMTEyMTAyNjQ3OkFD TUUgUTEtMjAxOQ== cjE6YzE0ZDk0MDNkODg3Y2I5YTkxY2FiOWFiNWMwODdlZTg2Zjc2Y2FkNzE3MjllMmY0NjdjODg3ZWFjOGM5OjEwNzI5OTAwNUExMTIxMDI2NDc6U0dELTIg TWFzdGVyS2V5LTEtMjAxOQ==

Hinweis: in der Beispiel- Implementierung der Außenschnittstelle (vgl. Abschnitt 6) gibt es auch Beispiel-Code für das interoperable Austauschformat. 9 Datenkanal zwischen Client und SGD (informativ) Wie in Abschnitt "" erwähnt, ist es notwendig, die fachlichen Abläufe für das SGD-HSM so einfach wie möglich zu gestalten. Einerseits kann man so die notwendige Performanz erreichen und andererseits wird damit der zeitliche Aufwand für die Entwicklung und Sicherheitsüberprüfung () des SGD- HSM-Firmwaremoduls deutlich reduziert. Das SGD-HSM erbringt den Hauptteil der Sicherheitsleistung, wobei eine unbemerkte Manipulation des Betreibers mit hoher Sicherheit ausgeschlossen werden kann.  Ziel der Datenübertragung zwischen Client und SGD ist es, einen beidseitig authentisierten Ende-zu-Ende-verschlüsselten Kanal zwischen Client und SGD-HSM zu erzeugen. Auf diesem Kanal wird dann die authentisierte Anfrage nach einer Schlüsselableitung vom Client an das SGD-HSM gesendet. Weil ein SGD-HSM alle 15 Minuten ein neues ECIES-Schlüsselpaar erzeugt (und per Signatur bestätigt   (S1)) und der Hashwert des öffentlichen Schlüssels des ECIES-Schlüssels des SGD-HSMs in die Client-Signatur für den öffentlichen ECIES-Client-Schlüssel nach  mit eingeht, kann ein SGD-HSM sich über eine ausreichende Frische (vgl. [Boyd-Mathuria- 2003#Abschnitt "1.5 Freshness"]) der Client-Anfrage sicher sein. Insbesondere kann ein SGD-HSM davon ausgehen, dass die für die Signatur mittels des AUT-Materials beim Client notwendige Kontrolle über den privaten AUT-Schlüssel im Client vorhanden war. 9.1 Ablauf Kommunikation zwischen Client und SGD-HSM Ein Client sendet über das HTTPS-Interface des SGD Requests an einen SGD. Falls der Client ein ePA-FdV ist, werden die (in den wesentlichen Teilen verschlüsselten) Request über das ZGdV getunnelt. Zwischen Client und SGD-HSM gibt es auf Applikationsebene eine beidseitig authentisierte und verschlüsselte Datenverbindung. Um dies zu erreichen, führt ein Client die in diesem Abschnitt aufgeführten Schritte durch. Zunächst erfragt der Client den aktuellen signierten öffentlichen ECIES-Schlüssel bei SGD 1. Ein SGD- HSM generiert unabhängig vom konkreten Request alle 15 Minuten ein neues ECIES-Schlüsselpaar () für die Absicherung der späteren Transportverschlüsselung zwischen Client und SGD-HSM. Der öffentliche ECIES-Schlüssel wird vom SGD-HSM signiert () und an die RVE übergeben (). Nr.ClientRVE des SGDSGD-HSM
1Aufruf von Operation GetPublicKey bei dem der Client das AUT-Zertifikats des Nutzers mitliefert ( ). 
Die RVE wählt ein SGD-HSM für den Client/Nutzer aus und liefert dafür den aktuellen signierten SGD-HSM-ECIES-Schlüssel ( ). Die RVE prüft unabhängig davon das AUT-Zertifikat des Nutzers ( ), das Ergebnis wird später verwendet.
2Der Client prüft den erhaltenen signierten SGD-HSM-ECIES-Schlüssel: Zertifikatsprüfung und Signaturprüfung () Der Client erfragt parallel () analog bei SDG 2 den aktuellen ECIES-Schlüssel des für ihn avisierten SGD-HSMs innerhalb von SGD 2. Sind beide ECIES-Schlüssel erfolgreich geprüft ( ), kann der Client fortfahren. Er fragt beide SGD, parallel () wie folgt an. Der Client erzeugt ein ECIES-Schlüsselpaar, das er für die Request an beide SDG verwendet ( ). Nr.ClientRVE SGDSGD-HSM3
Der Client berechnet die Hashwerte der beiden öffentlichen SGD-HSM-Schlüssel (notwendig für  und   ).
4
Der Client erzeugt mittels des öffentlichen Schlüssels seines Client-ECIES-Schlüsselpaares ( ) und den zwei Hashwerten aus Schritt 3 eine Kodierung nach  und signiert diese Kodierung ( ).
5
Der Client erzeugt einen Request ( ) für die Operation GetAuthenticationToken ().
Dafür muss der Client einen 256-Zufallswert (als Challenge für das SGD-HSM) erzeugen ( ).Die RVE nimmt den Request entgehen (), prüft das Client-Zertifikat ()  und den ECIES-Clientschlüssel (inkl. Signaturprüfung) () und verwendet ggf. Ergebnisse aus der Zertifikatsprüfung aus dem GetPublicKey-Request ( ). Die RVE prüft die Client-Signatur ()  und bereitet den Request für das SGD-HSM (Innenschnittstelle) auf ( ) und übergibt den Request an das SGD-HSM ( und ).
Weil die RVE den Client-ECIES-Schlüssel, inkl. Signatur und das AUT-Zertifikat im Klartext sieht, kann die RVE DoS-Gegenmaßnahmen umsetzen ( ).Das SGD-HSM prüft den Request ( ). Dann das Client-Zertifikat ( und ).
Dann die Signatur des öffentlichen ECIES-Schlüssels des Clients ( ).
Es entschlüsselt das Chiffrat. Dort prüft es, ob eine Challenge vorliegt, also ein 256-Bit Wert vom Client. Ein Client kann sich sicher sein, dass nur das angefragte SGD-HSM seine Nachricht und damit die Challenge entschlüsseln kann (gemeinsames Geheimnis). Das SGD-HSM entschlüsselt die Nachricht. An dieser Stelle weiß das SGD-HSM noch nicht, ob die Challenge auch von dem im Request (dort im AUT-Zertifikat) behaupteten Kommunikationspartner kommt – mit wem er genau also dieses gemeinsame Geheimnis teilt. Das SGD-HSM nimmt zunächst an, dass die Angaben stimmen. Es erzeugt ein Authentisierungstoken ( ). Das Authentisierungstoken ist spezifisch für das AUT-Zertifikat und den öffentlichen Client-ECIES-Schlüssel inkl. Hashwerte (Kodierung nach  ). Das SGD-HSM bildet den Hashwert aus der Kodierung und dem präsentierten AUT-Zertifikat. Das SGD-HSM bildet die Antwort gemäß    mit dem Challenge-Wert (gemeinsames Geheimnis),dem eben erzeugten Hashwert unddem Authentisierungstoken. Diese Antwort verschlüsselt das SGD-HSM für den Client-ECIES-Schlüssel. Das SGD-HSM kann sich sicher sein, dass nur der Empfänger, also derjenige der privaten Client-ECIES-Schlüssel besitzt, die Nachricht entschlüsseln kann. Der Client kann als einziger diese Antwort entschlüsseln. Er prüft, ob seine Challenge (gemeinsames Geheimnis) in der Antwort enthalten ist. Falls ja kann die Antwort nur vom SGD-HSM kommen. Der Client fügt den kodierten Client-ECIES-Schlüssel (vgl. in der Antwort aufgeführten Wert übereinstimmt (Hashwert,   ). Falls alle Prüfungen erfolgreich waren, kann der Client das in der Antwort aufgeführte Authentisierungstoken verwenden. Nr.
Client
RVE SGD
SGD-HSM
6
(Fortsetzung von Schritt 5)
Das SGD-HSM erzeugt den Hashwert aus dem öffentlichen Client-ECIES-Schlüssel (Kodierung nach ) und dem AUT-Zertifikat des Nutzers des Clients. Das SGD-HSM erzeugt ein Authentisierungstoken, das für den Client-Schlüssel und das AUT-Zertifikat spezifisch ist.
7
Das SGD-HSM erzeugt eine Antwort mit dem Zufallswert (Challenge) des Clients, mit Hashwert aus Client-ECIES-Schlüssel und AUT-Zertifikat und Authentisierungstoken. Es verschlüsselt diese Antwort für den öffentlichen Client-ECIES-Schlüssel ( , [gemSpec_Krypt#]) und übergibt das Chiffrat an die RVE zur Weiterleitung.
8
Die RVE nimmt die Antwort vom SGD-HSM entgegen und kodiert das Chiffrat gemäß  () und schickt es als Response an den Client.
9
Der Client nimmt die Response entgegen und entschlüsselt die verschlüsselte Nachricht vom SGD-HSM (, [gemSpec_Krypt#]).
Er prüft, ob in der entschlüsselten Response sein Zufallswert (Challenge) aufgeführt ist. Falls ja kann sich der Client nun sicher sein, dass die Antwort vom SGD-HSM kommt.
Er prüft, ob der in der Nachricht aufgeführter Hashwert aus öffentlichen Client-ECIES-Schlüssel gemäß   und AUT-Zertifikat mit seinen lokal selbst erzeugten Hashwert übereinstimmt.
Falls alle Prüfungen erfolgreich waren kann er das in der Nachricht aufgeführte Authentisierungstoken weiter verwenden ().
10
Der Client erzeugt eine Anfrage für eine Schlüsselableitung und verwendet dabei das erhaltene Authentisierungstoken () und eine pro Anfrage zufällig erzeugte Request-ID. Er sendet diese Anfrage an den SGD.Die RVE nimmt den Request entgehen ( ), prüft das Client-Zertifikat () und den Client-ECIES- Schlüssel inkl. Signaturprüfung () und verwendet ggf. Ergebnisse aus der Zertifikatsprüfung aus dem GetPublicKey-Request (). Die RVE prüft die Client-Signatur ()  und bereitet den Request für das SGD-HSM (Innenschnittstelle) auf () und übergibt den Request an das SGD-HSM ( und).
Weil die RVE den Client-ECIES-Schlüssel, inkl. Signatur und das AUT- Zertifikat im Klartext sieht, kann die RVE DoS-Gegenmaßnahmen umsetzen ().Das SGD-HSM führt Client-ECIES-Schlüssel und AUT-Zertifikat in einer Schlüsselableitung mit seinem aktuellen spezifischen geheimen Ableitungsschlüssel (  (S5)) zusammen () und prüft (), ob der in der Nachricht des Clients präsentierte Authentisierungstoken korrekt ist.11
Wenn das Authentisierungstoken korrekt ist, dann analysiert das SGD-HSM die Ableitungsanfrage () und führt sie je nach Ableitungsregel aus (ggf. auch nicht).
Im Positivfall erzeugt das SGD-HSM eine für den Client verschlüsselte Nachricht mit dem Ergebnis der Ableitung (), inkl. Authentisierungstoken und Request-ID.12
Die RVE nimmt die Antwort vom SGD-HSM entgegen und kodiert das Chiffrat gemäß  () und schickt es als Response an den Client.13
Der Client entschlüsselt die Antwort (). Er prüft, ob der in das Antwort aufgeführte Authentisierungstoken und die Request-ID mit beiden in dem Request verwendeten Werten übereinstimmt. Falls nein, so muss der Client die erhaltenen Schlüssel verwerfen (). Die Schritte 3 bis 13 führt ein Client dann parallel für beide SGD aus. 9.2 ECIES-Verfahren Das "Elliptic Curve Integrated Encryption Scheme (ECIES)" ist ein auf [ABR-1999] basierendes hybrides Verschlüsselungsverfahren (vgl. auch [SEC1-2009], [TR-02102-1]). Das Verfahren liefert eine einseitig authentisierte Verschlüsselung. Eine Änderung am Chiffrat wird vom Empfänger sicher erkannt (CCA2-sicher). Der Empfänger kann auf Grundlage des ECIES-Verfahrens allein nicht erkennen von wem das Chiffrat erzeugt wurde, nur dass es beim Transport nicht verändert wurde. Der Sender kann sich sicher sein, dass nur der Empfänger das Chiffrat entschlüsseln kann. Für das ECIES-Verfahren gilt die kryptographische Sicherheitsbetrachtung (Sicherheitsbeweis) aus [ABR-1999]. Der Sender muss ein ECC-Schlüsselpaar besitzen, dessen Authentizität der Empfänger prüfen kann ( und ). Der Empfänger erzeugt für jede Nachricht ein ephemeres ECC-Schlüsselpaar ([gemSpec_Krypt# Punkt 1]) . Mit dem Schlüsselpaar und den authentischen öffentlichen ECC-Punkts des Empfänger führt der Sender einen einseitig authentisierten ECDH durch [gemSpec_Krypt# Punkt 2]. Aus dem erzeugten ECDH- Geheimnis leitet der Sender über eine KDF gemäß [gemSpec_Krypt# Punkt 3] einen 256-Schlüssel ab. Diesen Schlüssel verwendet der Sender mittels AES-GCM gemäß [gemSpec_Krypt# Punkt 4] um die Nachricht zu verschlüsseln. Da AES-GCM ein authentisiertes Verschlüsselungsverfahren ist, kann man Änderungen beim Transport des Chiffrats (ICV-Wert) sicher erkennen. Ob ein aktiver Angreifer auf der Transportstrecken das Chiffrat verworfen und selbst ein neues erzeugt hat, kann das Verfahren nicht feststellen. Das ECIES-Verfahren wird üblicherweise bei der ECC-basierten E-Mail- Verschlüsselung eingesetzt, so dass man aus kryptographischer Sicht formulieren könnte: Client und SGD-HSM senden sich im Rahmen der Schlüsselableitungsfunktionalität ePA vier verschlüsselte E-Mails pro Schlüsselableitung. 10 Anhang – Verzeichnisse 10.1 Abkürzungen KürzelErläuterungAD
Associated Data (vgl. [RFC-5116])
AAD
Additional Authenticated Data (vgl. [NIST-SP-800-38D]), fachlich identisch zu "AD" (s. o.)
AEAD
Authenticated Encryption with Associated Data (AEAD)
AES
Advanced Encryption Standard
AES-256
AES mit 256 Bit Schlüssellänge
ECC
Elliptic Curve Cryptography
ECDH
Elliptic Curve Diffie Hellman (key exchange)
ePA
elektronische Patientenakte
ePA-FdV
ePA-Frontend des Versicherten
FAD
Fachanwendungsspezifischer Dienst
FM ePA
Fachmodul ePA
GCM
Galois/Counter Mode
HKDF
HMAC-based Key Derivation Function
HMAC
Hash-based Message Authentication Code
HSM
Hardware Security Module
HTTPS
Hypertext Transfer Protocol Secure (HTTP über TLS)
ICV
Integrity Check Value
IV
Initialization Vector
KVNR
Krankenversichertennummer
LEI
Leistungserbringerinstitution
PCRE
Perl Compatible Regular Expressions
RSA
Rivest-Shamir-Adleman (asymmetrisches Kryptoverfahren)
RVE
Request verarbeitende Einheit
SGD
Schlüsselgenerierungsdienst
SHA
Secure Hash Algorithm
SHA-256
SHA mit 256 Bit Hashwert
TI
Telematikinfrastruktur
TIP
Telematikinfrastruktur-Plattform
TLS
Transport Layer Security
TSL
Trust-service Status List
ZGdV
Zugangsgateway des Versicherten
10.2 Glossar BegriffErläuterungSchlüsselableitungsfunktionalität ePA
Als Schlüsselableitungsfunktionalität wird die Gesamtheit des Ablaufs der Ver- und Entschlüsselung des Akten- und Kontextschlüssels durch einen Client verstanden. Dies beinhaltet als die parallele Anfrage an beide SGD. Das Glossar wird als eigenständiges Dokument (vgl. [gemGlossar]) zur Verfügung gestellt. 10.3 Abbildungsverzeichnis 10.4 Tabellenverzeichnis 10.5 Referenzierte Dokumente 10.5.1 – Dokumente der gematik Die nachfolgende Tabelle enthält die Bezeichnung der in dem vorliegenden Dokument referenzierten Dokumente der gematik zur Telematikinfrastruktur. Der mit der vorliegenden Version korrelierende Entwicklungsstand dieser Konzepte und Spezifikationen wird pro Release in einer Dokumentenlandkarte definiert; Version und Stand der referenzierten Dokumente sind daher in der nachfolgenden Tabelle nicht aufgeführt. Deren zu diesem Dokument jeweils gültige Versionsnummern sind in der aktuellen, von der gematik veröffentlichten Dokumentenlandkarte enthalten, in der die vorliegende Version aufgeführt wird. [Quelle] Herausgeber: Titel[gemSpec_DS_Anbieter]
gematik: Spezifikation Datenschutz- und Sicherheitsanforderungen der TI an Anbieter
[gemGlossar]
gematik: Einführung der Gesundheitskarte - Glossar
[gemSpec_Krypt]
gematik: Übergreifende Spezifikation, Verwendung kryptographischer Algorithmen in der Telematikinfrastruktur
[gemSpec_OID]
gematik: Spezifikation Festlegung von OIDs
[gemSpec_Perf]
gematik: Übergreifende Spezifikation, Performance und Mengengerüst TI-Plattform
[gemSpec_PKI]
gematik: Übergreifende Spezifikation, Spezifikation PKI
[gemSpec_Zugangsgateway_Vers]
gematik: Spezifikation Zugangsgateway des Versicherten ePA
[gemSpec_X.509_TSP]
gematik: Spezifikation Trust Service Provider X.509
10.5.2 – Weitere Dokumente [Quelle]Herausgeber (Erscheinungsdatum): Titel[ABR-1999]DHIES: An Encryption Scheme Based on the Diffie–Hellman Problem
Abdalla, Michel and Bellare, Mihir and Rogaway, Phillip, 1999
http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf [Boyd-Mathuria- 2003]
Protocols for Authentication and Key Establishment, Colin Boyd and Anish Mathuria, 2003
[BSI-TR-02102-1]BSI TR-02102-1 Technische Richtlinie „Kryptographische Verfahren:
Empfehlungen und Schlüssellängen“
Version 2019-01, Stand 22.02.2019
https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html
[ETSI_TS_102_231_v3.1.2]ETSI (Dezember 2009): ETSI Technical Specification TS 102 231 (‘Provision of harmonized Trust Service Provider (TSP) status information’) – Version 3.1.2[FIPS-140-2]NIST: Security Requirements for Cryptographic Modules, May 25, 2001 (Change Notice 2, 12/3/2002), https://csrc.nist.gov/publications/detail/fips/140/2/final [NIST-SP- 800-38D]NIST SP 800-38D, Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC, November 2007
https://csrc.nist.gov/publications/detail/sp/800-38d/final[PCRE]PCRE - Perl Compatible Regular Expressions, https://www.pcre.org/ [RFC-5116]RFC-5116: An Interface and Algorithms for Authenticated Encryption, January 2008, 
https://tools.ietf.org/html/rfc5116 [SEC1-2009]Standards for Efficient Cryptography, SEC 1: Elliptic Curve Cryptography, Certicom Research, Contact: Daniel R. L. Brown (dbrown@certicom.com), May 21, 2009, Version 2.0
https: //www.secg.org/sec1-v2.pdf ======================================================================================================================== 03. CHAPTERS ======================================================================================================================== Dokumentinformationen (&94488153617664) Inhaltsverzeichnis (&94488160098928) 1 Einordnung des Dokuments (&94488205048992) 1.1 Zielsetzung (&94488205049768) 1.2 Zielgruppe (&94488205051144) 1.3 Geltungsbereich (&94488205052520) 1.4 Abgrenzungen (&94488205056648) 1.5 Methodik (&94488205058024) 2 Überblick (&94488162060168) 2.1 Grundlage und Kernidee (&94488162068016) 2.2 Akteure und Komponenten (&94488162091080) 2.3 Basisablauf Kommunikation SGD-Client und SGD (&94488147803784) 2.4 Initiale Schlüsselableitung für den Kontoinhaber (&94488190757832) 2.5 Schlüsselableitung durch den Kontoinhaber (&94488201648840) 2.6 Schlüsselableitung für einen Berechtigungsempfänger (&94488201667568) 2.7 Schlüsselableitung durch einen Berechtigten (&94488236256968) 2.8 Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter (&94488236266768) 2.9 Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten (&94488236277504) 2.10 Nichtspeicherung von Versichertendaten (&94488156123168) 2.11 Besondere Rolle SGD-HSM (&94488156126080) 3 Übergreifende Festlegungen (&94488156132528) 3.1 Beziehung zwischen ePA-Aktensystem und SGD (&94488156133304) 3.2 Verfügbarkeit und Performanz (&94488156149016) 3.3 Sichere Betreiberumgebung (&94488156323240) 3.4 Verschiedenes (&94488156324616) 4 Bestandteile eines SGD (&94488156327680) 4.1 Request-Verarbeitung in einem SGD (&94488156337576) 4.2 SGD-HSM (&94488163370992) 4.3 Schlüssel im SGD-HSM (&94488163388640) 4.4 Pflege der Prüfschlüssel (S2) im SGD-HSM (&94488221779392) 4.5 Funktionsablauf Firmware-Modul SGD-HSM (&94488205678600) 4.5.1 Zertifikats- und Schlüsselprüfung im SGD-HSM (&94488205681512) 4.5.2 Authentisierungstoken im SGD-HSM (&94488147328408) 4.5.3 Schlüsselableitung im SGD-HSM (&94488158472592) 4.5.4 Kommando-Abarbeitung KeyDerivation im SGD-HSM (&94488189976672) 5 Kodierung von Schlüsseln und Nachrichten (&94488202441648) 5.1 Kodierung von Schlüsseln (&94488142417600) 5.1.1 ECIES-Schlüssel eines SGD-HSM (&94488142418376) 5.1.2 ECIES-Schlüssel eines Clients (&94488207524528) 5.2 Kodierung von Chiffraten (&94488152287072) 6 Schnittstellen und Operationen (&94488237274160) 6.1 Innenschnittstellen (&94488237276136) 6.2 HTTPS-Schnittstellen und HTTP-Kommunikation (&94488237277512) 6.3 Anforderungen an die JSON-Requests und -Responses (&94488173262152) 6.4 Operation GetPublicKey (&94488173270240) 6.5 Operation GetAuthenticationToken (&94488158617016) 6.6 Operation KeyDerivation (&94488141431112) 6.7 Fehlermeldungen (&94488211239008) 7 Clientspezifische Festlegungen (&94488211262744) 8 Interoperables Austauschformat (&94488228801448) 9 Datenkanal zwischen Client und SGD (informativ) (&94488240722768) 9.1 Ablauf Kommunikation zwischen Client und SGD-HSM (&94488240732392) 9.2 ECIES-Verfahren (&94488219616216) 10 Anhang – Verzeichnisse (&94488160567032) 10.1 Abkürzungen (&94488160567808) 10.2 Glossar (&94488211526936) 10.3 Abbildungsverzeichnis (&94488153724216) 10.4 Tabellenverzeichnis (&94488153734576) 10.5 Referenzierte Dokumente (&94488153747288) 10.5.1 – Dokumente der gematik (&94488153748064) 10.5.2 – Weitere Dokumente (&94488154838392) ======================================================================================================================== 04. TABLE COMPOSITION DETAILS ======================================================================================================================== TABLE WITH NO TITLE (&94488153608640) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| TABLE WITH NO TITLE (&94488153622096) ___________________ ROW: |___|___|___|___|___| ROW: |___|___|___|___|___| ROW: |___|___|___|___|___| ROW: |___|___|___|___|___| ROW: |___|___|___|___|___| Tabelle 1: beteiligte Akteure im Kontext Schlüsselableitungsfunktionalität (&94488152685088) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| Tabelle 2: beteiligte Komponenten und Dienste im Kontext Schlüsselableitungsfunktionalität (&94488152705568) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| Tabelle 3: Tab_Übersicht_der_Kommunikationsschritte_eines_SGD-Clients (&94488211385448) _______________ ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| Tabelle 4: Tab_Kommandoabarbeitung_im_SGD-HSM (&94488211273784) ___ ROW: |___| ROW: |___| Tabelle 5: Beispiel zu A_17894 (&94488142440680) ___ ROW: |___| Tabelle 6: Beispiel zu A_17900 (&94488207533272) ___ ROW: |___| ROW: |___| ROW: |___| ROW: |___| ROW: |___| ROW: |___| Tabelle 7: Tab_GetPublicKey-Request (&94488173278056) ___ ROW: |___| Tabelle 8: Tab_GetAuthenticationToken-Request (&94488163495336) ___ ROW: |___| Tabelle 9: Tab_KeyDerivation-Request (&94488201889304) ___ ROW: |___| Tabelle 10: Tab_Fehlerfälle_und_Fehlermeldungen (&94488211241936) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| Tabelle 11: Tab_Austauschformat_Akten-_und_Kontextschlüssel (&94488228804376) ___ ROW: |___| Tabelle 12: Tab_erste_Verschlüsselungsschicht (&94488228818480) ___ ROW: |___| TABLE WITH NO TITLE (&94488240739576) _______________ ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| TABLE WITH NO TITLE (&94488172530184) _______________ ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| TABLE WITH NO TITLE (&94488156186984) _______________ ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| ROW: |___|___|___|___| TABLE WITH NO TITLE (&94488160568584) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| TABLE WITH NO TITLE (&94488211527712) _______ ROW: |___|___| ROW: |___|___| TABLE WITH NO TITLE (&94488153749920) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| TABLE WITH NO TITLE (&94488154839168) _______ ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ROW: |___|___| ======================================================================================================================== 05. MODEL ATTRIBUTES ======================================================================================================================== charset: utf-8 class: descriptionLink class: polarion-Document-table class: polarion-dle-wiki-block class: polarion-dle-wiki-block-source class: polarion-rte-caption class: polarion-rte-caption-paragraph class: polarion-rte-link class: target-element content: HTML Tidy for Java (vers. 26 Sep 2004), see www.w3.org content: text/html; charset=UTF-8 contenteditable: false data-custom-label: A_17694 data-custom-label: A_17839 data-custom-label: A_17846 data-custom-label: A_17847 data-custom-label: A_17848 data-custom-label: A_17872 data-custom-label: A_17873 data-custom-label: A_17874 data-custom-label: A_17875 data-custom-label: A_17876 data-custom-label: A_17881 data-custom-label: A_17884 data-custom-label: A_17887 data-custom-label: A_17889 data-custom-label: A_17891 data-custom-label: A_17893 data-custom-label: A_17894 data-custom-label: A_17895 data-custom-label: A_17896 data-custom-label: A_17897 data-custom-label: A_17898 data-custom-label: A_17898 (KeyDerivation) data-custom-label: A_17898, Tab_KeyDerivation-Request data-custom-label: A_17900 data-custom-label: A_17901 data-custom-label: A_17902 data-custom-label: A_17903 data-custom-label: A_17907 data-custom-label: A_17908 data-custom-label: A_17910 data-custom-label: A_17912 data-custom-label: A_17914 data-custom-label: A_17916 data-custom-label: A_17917 data-custom-label: A_17918 data-custom-label: A_17919 data-custom-label: A_17920 data-custom-label: A_17920 (S2) data-custom-label: A_17922 data-custom-label: A_17924 data-custom-label: A_17925 data-custom-label: A_17926 data-custom-label: A_17930 data-custom-label: A_17952 data-custom-label: A_17952 Punkt 4 data-custom-label: A_17965 data-custom-label: A_18003 data-custom-label: A_18021 data-custom-label: A_18023 data-custom-label: A_18024 data-custom-label: A_18025 data-custom-label: A_18026 data-custom-label: A_18027 data-custom-label: A_18028 data-custom-label: A_18029 data-custom-label: A_18030 data-custom-label: A_18031 data-custom-label: A_18032 data-custom-label: A_18201 data-custom-label: GetPublicKey data-custom-label: KeyDerivation data-custom-label: Operation KeyDerivation data-custom-label: RVE data-custom-label: SGD-HSM – Schlüsselgenerierungsdienst-HSM data-custom-label: TIP1-A_3894 data-custom-label: Telematik-ID data-custom-label: [gemSpec_Krypt#A_17872] data-custom-label: [gemSpec_Krypt#A_17874] data-custom-label: [gemSpec_Krypt#A_17876] data-custom-label: [gemSpec_PKI#A_17700] data-custom-label: [gemSpec_Perf#Produkttyp Schlüsselgenerierungsdienst] data-custom-label: [gemSpec_Zugangsgateway_Vers#A_17495] data-custom-label: [gemSpec_Zugangsgateway_Vers#Proxy Schlüsselgenerierungsdienst] data-item-id: ML-92802 data-item-id: ML-93580 data-item-id: ML-93990 data-item-id: ML-94070 data-item-id: ML-94489 data-item-id: ML-94490 data-item-id: ML-94491 data-item-id: ML-94493 data-item-id: ML-94494 data-item-id: ML-94498 data-item-id: ML-94516 data-item-id: ML-94519 data-item-id: ML-94533 data-item-id: ML-94534 data-item-id: ML-94563 data-item-id: ML-94567 data-item-id: ML-94577 data-item-id: ML-94583 data-item-id: ML-94620 data-item-id: ML-94621 data-item-id: ML-94622 data-item-id: ML-94679 data-item-id: ML-94682 data-item-id: ML-94687 data-item-id: ML-94689 data-item-id: ML-94690 data-item-id: ML-94692 data-item-id: ML-94693 data-item-id: ML-94694 data-item-id: ML-94695 data-item-id: ML-94696 data-item-id: ML-94700 data-item-id: ML-94701 data-item-id: ML-94702 data-item-id: ML-94703 data-item-id: ML-94707 data-item-id: ML-94708 data-item-id: ML-94710 data-item-id: ML-94714 data-item-id: ML-94715 data-item-id: ML-94716 data-item-id: ML-94717 data-item-id: ML-94719 data-item-id: ML-94721 data-item-id: ML-94722 data-item-id: ML-94723 data-item-id: ML-94726 data-item-id: ML-94727 data-item-id: ML-94728 data-item-id: ML-94729 data-item-id: ML-94737 data-item-id: ML-94738 data-item-id: ML-94770 data-item-id: ML-94789 data-item-id: ML-94843 data-item-id: ML-95024 data-item-id: ML-96275 data-item-id: ML-96280 data-item-id: ML-96281 data-item-id: ML-96282 data-item-id: ML-96284 data-item-id: ML-96285 data-item-id: ML-96286 data-item-id: ML-96287 data-item-id: ML-96288 data-item-id: ML-96291 data-keep-next: true data-option-id: custom data-option-id: longoutline data-option-id: shortoutline data-scope: Mainline_OPB1 data-sequence: Abbildung data-sequence: Tabelle data-type: crossReference data-type: polarion data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94215 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94669 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94670 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94671 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94672 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-94673 data-url: /wiki/Spezifikation/gemSpec_Krypt?selection=ML-96279 data-url: /wiki/Spezifikation/gemSpec_PKI?selection=ML-6894 data-url: /wiki/Spezifikation/gemSpec_PKI?selection=ML-94225 data-url: /wiki/Spezifikation/gemSpec_PKI?selection=ML-94617 data-url: /wiki/Spezifikation/gemSpec_Perf?selection=ML-94477 data-url: /wiki/Spezifikation/gemSpec_X_509_TSP?selection=ML-10037 data-url: /wiki/Spezifikation/gemSpec_Zugangsgateway_Vers?selection=ML-93876 data-url: /wiki/Spezifikation/gemSpec_Zugangsgateway_Vers?selection=ML-93901 href: #2.10 href: #2.4 href: #2.5 href: #2.6 href: #2.7 href: #2.8 href: #2.9 href: #3.1 href: #6 href: #8 href: #9 href: #ML-94626 href: http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf href: https://csrc.nist.gov/publications/detail/fips/140/2/final href: https://csrc.nist.gov/publications/detail/sp/800-38d/final href: https://download.tsl.ti-dienste.de/ href: https://tools.ietf.org/html/rfc5116 href: https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html href: https://www.pcre.org/ href: https://www.secg.org/sec1-v2.pdf http-equiv: Content-Type id: 1 id: 1.1 id: 1.2 id: 1.3 id: 1.4 id: 1.5 id: 10 id: 10.1 id: 10.2 id: 10.3 id: 10.4 id: 10.5 id: 10.5.1 id: 10.5.2 id: 2 id: 2.1 id: 2.10 id: 2.11 id: 2.2 id: 2.3 id: 2.4 id: 2.5 id: 2.6 id: 2.7 id: 2.8 id: 2.9 id: 3 id: 3.1 id: 3.2 id: 3.3 id: 3.4 id: 4 id: 4.1 id: 4.2 id: 4.3 id: 4.4 id: 4.5 id: 4.5.1 id: 4.5.2 id: 4.5.3 id: 4.5.4 id: 5 id: 5.1 id: 5.1.1 id: 5.1.2 id: 5.2 id: 6 id: 6.1 id: 6.2 id: 6.3 id: 6.4 id: 6.5 id: 6.6 id: 6.7 id: 7 id: 8 id: 9 id: 9.1 id: 9.2 id: A_17846 id: A_17847 id: A_17848 id: A_17880 id: A_17881 id: A_17883 id: A_17884 id: A_17885 id: A_17886 id: A_17888 id: A_17889 id: A_17890 id: A_17891 id: A_17892 id: A_17893 id: A_17894 id: A_17895 id: A_17896 id: A_17897 id: A_17898 id: A_17899 id: A_17900 id: A_17901 id: A_17902 id: A_17903 id: A_17907 id: A_17908 id: A_17910 id: A_17911 id: A_17912 id: A_17913 id: A_17914 id: A_17915 id: A_17916 id: A_17917 id: A_17918 id: A_17919 id: A_17920 id: A_17922 id: A_17924 id: A_17925 id: A_17926 id: A_17930 id: A_17952 id: A_17953 id: A_17954 id: A_17965 id: A_17990 id: A_18003 id: A_18005 id: A_18006 id: A_18010 id: A_18021 id: A_18022 id: A_18024 id: A_18025 id: A_18026 id: A_18027 id: A_18028 id: A_18029 id: A_18030 id: A_18031 id: A_18032 id: A_18249 id: A_18250 id: fake id: polarion_1 id: polarion_10 id: polarion_100 id: polarion_101 id: polarion_102 id: polarion_103 id: polarion_104 id: polarion_105 id: polarion_106 id: polarion_107 id: polarion_108 id: polarion_109 id: polarion_11 id: polarion_110 id: polarion_111 id: polarion_112 id: polarion_113 id: polarion_114 id: polarion_115 id: polarion_116 id: polarion_117 id: polarion_118 id: polarion_119 id: polarion_12 id: polarion_120 id: polarion_121 id: polarion_122 id: polarion_123 id: polarion_124 id: polarion_125 id: polarion_126 id: polarion_127 id: polarion_128 id: polarion_129 id: polarion_13 id: polarion_130 id: polarion_131 id: polarion_132 id: polarion_133 id: polarion_134 id: polarion_135 id: polarion_136 id: polarion_137 id: polarion_138 id: polarion_139 id: polarion_14 id: polarion_140 id: polarion_141 id: polarion_142 id: polarion_143 id: polarion_144 id: polarion_145 id: polarion_146 id: polarion_147 id: polarion_148 id: polarion_149 id: polarion_15 id: polarion_150 id: polarion_151 id: polarion_152 id: polarion_153 id: polarion_154 id: polarion_155 id: polarion_156 id: polarion_157 id: polarion_158 id: polarion_159 id: polarion_16 id: polarion_160 id: polarion_161 id: polarion_162 id: polarion_163 id: polarion_164 id: polarion_165 id: polarion_166 id: polarion_167 id: polarion_168 id: polarion_169 id: polarion_17 id: polarion_170 id: polarion_171 id: polarion_172 id: polarion_173 id: polarion_174 id: polarion_175 id: polarion_176 id: polarion_177 id: polarion_178 id: polarion_179 id: polarion_18 id: polarion_180 id: polarion_181 id: polarion_182 id: polarion_183 id: polarion_184 id: polarion_185 id: polarion_186 id: polarion_187 id: polarion_188 id: polarion_189 id: polarion_19 id: polarion_190 id: polarion_191 id: polarion_192 id: polarion_193 id: polarion_194 id: polarion_195 id: polarion_196 id: polarion_197 id: polarion_198 id: polarion_199 id: polarion_2 id: polarion_20 id: polarion_200 id: polarion_201 id: polarion_202 id: polarion_203 id: polarion_204 id: polarion_205 id: polarion_206 id: polarion_207 id: polarion_208 id: polarion_209 id: polarion_21 id: polarion_210 id: polarion_211 id: polarion_212 id: polarion_213 id: polarion_214 id: polarion_215 id: polarion_216 id: polarion_217 id: polarion_218 id: polarion_219 id: polarion_22 id: polarion_220 id: polarion_221 id: polarion_222 id: polarion_223 id: polarion_224 id: polarion_225 id: polarion_226 id: polarion_227 id: polarion_228 id: polarion_229 id: polarion_23 id: polarion_230 id: polarion_231 id: polarion_232 id: polarion_233 id: polarion_234 id: polarion_235 id: polarion_236 id: polarion_237 id: polarion_24 id: polarion_240 id: polarion_241 id: polarion_243 id: polarion_244 id: polarion_246 id: polarion_247 id: polarion_249 id: polarion_25 id: polarion_250 id: polarion_252 id: polarion_253 id: polarion_255 id: polarion_256 id: polarion_26 id: polarion_260 id: polarion_262 id: polarion_264 id: polarion_268 id: polarion_269 id: polarion_27 id: polarion_270 id: polarion_271 id: polarion_272 id: polarion_273 id: polarion_274 id: polarion_275 id: polarion_28 id: polarion_284 id: polarion_285 id: polarion_286 id: polarion_287 id: polarion_288 id: polarion_289 id: polarion_29 id: polarion_290 id: polarion_292 id: polarion_293 id: polarion_294 id: polarion_295 id: polarion_296 id: polarion_297 id: polarion_299 id: polarion_3 id: polarion_30 id: polarion_300 id: polarion_301 id: polarion_302 id: polarion_303 id: polarion_305 id: polarion_306 id: polarion_308 id: polarion_309 id: polarion_31 id: polarion_310 id: polarion_311 id: polarion_312 id: polarion_313 id: polarion_315 id: polarion_316 id: polarion_317 id: polarion_318 id: polarion_319 id: polarion_32 id: polarion_320 id: polarion_322 id: polarion_33 id: polarion_34 id: polarion_36 id: polarion_37 id: polarion_38 id: polarion_39 id: polarion_4 id: polarion_40 id: polarion_41 id: polarion_42 id: polarion_43 id: polarion_44 id: polarion_45 id: polarion_46 id: polarion_47 id: polarion_48 id: polarion_49 id: polarion_5 id: polarion_50 id: polarion_51 id: polarion_52 id: polarion_53 id: polarion_54 id: polarion_55 id: polarion_56 id: polarion_57 id: polarion_58 id: polarion_59 id: polarion_6 id: polarion_60 id: polarion_61 id: polarion_62 id: polarion_63 id: polarion_64 id: polarion_65 id: polarion_66 id: polarion_67 id: polarion_68 id: polarion_69 id: polarion_7 id: polarion_70 id: polarion_71 id: polarion_72 id: polarion_73 id: polarion_74 id: polarion_75 id: polarion_76 id: polarion_77 id: polarion_78 id: polarion_79 id: polarion_8 id: polarion_80 id: polarion_82 id: polarion_83 id: polarion_84 id: polarion_85 id: polarion_86 id: polarion_87 id: polarion_89 id: polarion_9 id: polarion_90 id: polarion_91 id: polarion_92 id: polarion_93 id: polarion_94 id: polarion_95 id: polarion_96 id: polarion_97 id: polarion_98 id: polarion_99 id: polarion_editor_html_block1 id: polarion_editor_html_block_content id: polarion_editor_html_block_source id: polarion_wiki macro name=module-workitem;params=id=OPB311-46522 id: polarion_wiki macro name=module-workitem;params=id=OPB311-46523 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=1 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=2 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=3 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=4 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=5 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=6 id: polarion_wiki macro name=table;params=header=no|width=100%|padding=2px|uid=7 id: polarion_wiki macro name=table;params=header=no|width=100%|uid=2 id: polarion_wiki macro name=table;params=width=100%|uid=1 id: polarion_wiki macro name=table;params=width=100%|uid=2 id: polarion_wiki macro name=table;params=width=100%|uid=295 id: polarion_wiki macro name=table;params=width=100%|uid=298 id: polarion_wiki macro name=table;params=width=100%|uid=3 id: polarion_wiki macro name=table;params=width=100%|uid=302 id: polarion_wiki macro name=table;params=width=100%|uid=305 id: polarion_wiki macro name=table;params=width=100%|uid=4 id: polarion_wiki macro name=table;params=width=100%|uid=5 id: polarion_wiki macro name=table;params=width=100%|uid=6 id: polarion_wiki macro name=table;params=width=99.87%|uid=1 id: polarion_wiki macro name=table;params=width=99.87%|uid=112 id: polarion_wiki macro name=toc id: polarion_wiki macro name=tof;params=uid=1 id: polarion_wiki macro name=tof;params=uid=2 id: toc_container linkid: 189 name: generator severity: DARF NICHT severity: KANN severity: MUSS src: data:image/png;base64,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 src: data:image/png;base64,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uXR7x+XKXL3UlEFS6erq2rZt2/ffJgd0K8NG2NZ2vF7IklnfMMg+BxWwgNTTAgWUqQukDyWoU3IWUmgJahh9rEX6yz7GoLySerlRwykGSaXQMrdt23H1dfc333xV6IHnfvSjH2WtVRCHp7bfF5+cr03y5ZnvbZTPtFy1nToodSVN5I0R52upcTLm9sakkK0jEffbmPxVa291Q426qq3GQdFmfzxMTF6RnDXJxnaben3e0JHw1sndJ1edt6mDSEwvKlRLFHY3BZLKOT21vLyCKFJmCbLMcqozWyxzAdJmCtFwPByW53iFkMulq6krvdaZwXRE7I1tWfslrd1yBdCQoyL65R01DblKyz29RJXBM5V169YVOwSAgowateftt1zy6l//d+3atUUNRAw6Wb4nwYkOeYoQDdurOTHYJD8nSSrPRjhfmyQla5p4gXQ3/6WQi6u2h6MCEVGynWoaQsqMZMDhjck3+NXHLaklSexIKJvVF0VE5I21UL0cnW55JSrDEozLyWK8gBBNaA8yAomokFHT1Ou8wehbOaPdjAPIUxEiIoG3+clTm70Xet5KaSqDpPL1118XOwSAQg0fvltV5UgTPu8v8IwxdzjsZozxgvxxo+x/c6zM+dqkFIP77pF6xhhjboopCcDNGGPyLTMlI9n89joX52vxRGypj3u5QjFyM8ZYU01L/rv5roZAws0YY6w+osSUXpQaaGO7jTmDolayGlV2CZS7HCIirtaTcDPGJ3MsIEQTWpeGq/UkooK+pvrXZBBMakoq+PR2yxmAYUXifpu2AanNx+UuLWN6ySuDYVoEQXC73YNw+6vATeD2V44wcPtLUX3orFD4YVfum98l/o6D0ibwPIXSHtin/90njLHOzk4imjhxYj/LKYOeyiB4e/V7I0fuWewoAAAKEHZrtzRTz1tKhiWTyusXj7ANG2E7/q4NhSz9jw8+OuucS556/M6BDgsAoN9cId0tTVco95OlIimDT3/12trONXT4bYnI5ZN7XlZcu2HmGb8L3H7d9GnHDXxkAAAWV549lZevHTbCNmyEbdiIa18iemmu/Frummz4y5wb3qb3r7R7/tLTB3A+//wL9y9/23jN3LPPdA9K3AAAFleeSYWIiOZEk99/ez13l2fGg79e/m3y+28fOKThlItfnnD5A386poCeyqZNXe4Zv50z+5zfzf71YIUM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 src: data:image/png;base64,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 src: data:image/png;base64,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 src: data:image/png;base64,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 src: data:image/png;base64,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 src: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjoAAAJ1CAIAAABfJM0uAAAgAElEQVR4nOy9e5wT1fn4/4wfYUG5LKC2YCsCk1Vj9OOtiokKIlCTFdh+q9G2tmuVZj4qmlRdrXarYtfrok0qXhLxslVbjVojdDMIikLdQG0/ttWw1s3AStUP9bos4mXVn/P7Y25nrplkc9lMnvfL0tmZc57znOecnGfOOTPPUDzPA4IgCIKMcNBdIQiCICOfvYX/Q6eFIDUNRVH4K0YcDEVRe1VbBwRBEATJD7orBEEQpAZAd4UgCILUAOiuEKTmyWQy++yzT7W1QJDyUqi7YhmKYljyDBfzUSLqC4UJpSiKonwxzjyF+iIX88lnWIbyxThgmaI10Ag0KF1faZPExCWWMa1QIYjmEatYRE0ttC1GESpfaxUhVitLNF2pNC8jSutwMZ8vxsEw+2Hh/POf//ze9773xz/+sYJlIkg1EJ4m4u2SDgGE0srfuahXOqG9ZJdc1AveaE4Q4I3mzIpVX5JzlQoLgfqa2SndojqlUqzCqOxQbHMbi1VXsFSmqwDVbp1cLjdt2rTHH3+8ahogSEUAk9mVfsIknfF1ZNVJ6XAPz8f9qnPETbjdO+NMspsDf5zne8K0WgPiPjXZajSJU6Y+8pG5/kRu8ymdof7ZDl+e1OIVcULAxToSAJmIyxeL6TRkGYpiGIZUSLawz6eqIRdrjWSs5BjYxEQlw3J1iY3SGMD1yT3BSIKSXW/nfI1LmI6VZ1c6++jb3ZZV8/cELuYTM1AUxcRiZLuzjHLJF+PI1uF03cZeK1tbz5p33nln4cKF1113XTAYzJcWQWofXj+7km8Yc+l0Tjoh3EkTkylel0d7wfY9ci7qldQJpVUZpVv4dIi8Fkpr5mTq6Z1Of6sa6XPp9Vfr443m5MRWclTZ1WnkS1J+Kwtb1FQxi2FLmKukL9dcN7VBCLT6GmhlJd+icVU6qO0sHxVnVRs9IRf1Eg0n5zJQnuwJVt3GXB9r61nzwQcfuN3uW265JX9SBKl9wHh2RYfbQ5mIi6JcgYBLusXzul0AQDd5DDKwDOVKBnPyLEu8QQwkNOnEe0vdBIUO9/C88BtOdMQ4ri8L3mAzDQD+uDJ3EzSwgV5/3ZlcbwYgEZC0zPapNDLS39NEA4C/JQSZ3px81lqOJZ4mWm1PKwtboDVLPpVU5Zok1ummIA+kuWg24ItxJhJErfRXi29cW/bJZ1W7PUFobkPFjHsCWHQbc32srWfBnj17AoFAc3PzVVddlScpgjgF40ct/HFhSEqHIJES/JXw0ySWgCRYhgpkozlxFU/+m9fdjMtuSU4KAKIPE5xKkwfA00TTTR5hddD2Vnu2j1Ppptdfc8blVt0TkxqZ6C/IYVMJ1VhiIcdaQwNMLVyYHNsqFZy4CAn6q4U3roSBfYqxqv2eYIJxT7Do9hb6FGf/oaGhlpaWI4444tZbb7WTHkGcgfXeVSDhjbb5gQ53Rb2JAEVRrUlNUpYJCPsM8nK7vyUk/t2R9WpvQA1QhEvFgT+ei0LERVGUKwLRLuvfsFyeoptWf+MagaS0esg00d+b7RCzk/pYyAGX2yvsarj0GpobobPXdPZgUFMTUWYqDS8xAEhTAYqiXJFMqD1MW0swuGqncWXT5Qg5GvvYsIaRVQvoCSaEIGXQE+x0e70+hZcOX3311Q9/+MNJkybF43GKomzkQBCHQPE8T2G0sREEy1ABSGsfX0EkirNPiaxassYpUhDP80uXLn3rrbfWrFnT0NAwXC0QpHagKGrvauuAAAAAF/O5Ihnh2BvNoa/SUJx9RppVh6cPz/NtbW1bt2597rnn0FchdQjOrhCkNrj55pt///vfb9y4cfLkydXWBUEqDc6uEKQ2iMfj991330svvYS+Cqlb0F0hyEjn8ccfv+GGGzZt2jRt2rRq64IgVQMXAxFkRLN27drW1tb169cfeeSR1dYFQaqGshiIT8QiyMhk7Nixzz33HPoqBBHdFc6uEARBkJEMfu8KQRAEqQHQXSEIgiA1ALorBEEQpAZAd4UgCILUAOiuEARBkBoA3RWCIAhSA6C7QhAEQWoAdFcIgiBIDYDuCkEQBKkB0F0hCIIgNQC6KwRBEKQGQHeFIAiC1ACO/d4Vz/OZTCaXywFAU1OT1+uttkbVBK1RNAMDA7t37662FmVkypQp48aNq7YWNYnj+8ZwKEe/cub3rrZs2XLF5T9/d+f/nXjcEQCw+W+vfXPagZ0r7pg9e3a1VasCaI3iGBgY+H8/+cnLL744oXGSvRy8+L9iKSIvb3BUWEGfDO463Otb99gfJk2yWU0EBgYGLrjgB+vXvzR5cuMwxAyrwUdkQUregYE9p5561EMP/alU/Ur53pWT6OvrW7zojJt/yZyz5LS9994bAL766qvHnnl+8aIzXurJNDU1VVvBioLWKJolPzp3ygEHPMttHzV6tJ30wj2f8CvnlZPSP+QlXjjmjU6K/y9K4EmBkhxeLQ14o5NKIdrSpe8FCWc+/fjj3/16uf/cH2/p/pOdaiIAcN55Z3/zm/t/+OHfR9vrG2p49YH1v/ZPFpFsOAny5N29+5Mrrrh36dLFTz31ZygRTptdff3110ce4bnox80X/GiR5tJ9j66+53fdr2W37rVXvezYoTWKZs+ePd+YNm3Na1v3nTDBZpYadVcA8MXQ0PlHuHe+/XZj43DmCvXCnj17pk2b+vbbmydMGF+UgLpwVwAwNDS0337ff+ut/ytJv6IoymlDVW9v79Bnn+hHZwBY+sNFn326569//WvltaoWaI2i+fDDDydMbLTvq2qaUQ0N4xonvfXWW19++WW1dakBPvzww0mTJhbrq+qIhobRkyePL2G/cpq7ymQywg6NHoqiTjzOs2HDhs8//7zCWlULtAZin8HBwZ07d6LHQkpLCfuV09yVHT7++ONqqzCCQGsgMl9//TX2B6TklKpfOc1deb3ezX97zfASz/Ob/5Y99thjhz4fqrBW1QKtUVbevnfh7MmNwn+3Pief7n/89Em+KeJ/twnnt9974X6TT9lv8in7TZ6z3+QVz6sFbb/3kv2nzDtgymkHTDntgCnh+HZJ0r3hb1ymLNf2xy/7xv6nf2N//zf3939z/zs36BTqj9+V6Jf+eP7uqVe8IhxuuOKq+/p1qY35+uuvbaZEioF7wOd7kJP+YpmZFPNiFdXRwMYe5/KnKoaS9CunuSu3290wdt/7H12jv7Tq0TWjG8bQNF15raoFWqOM9N+z/OnvPfnRri0f7dry0SsHdy58vB8A+h8//ZgdVwz0fCj8l4RzFiYF7/OT5KYPPtr0wUcbP0jCOd99crta2k8e3/Deh8+/9+Hz730YY2YK516+q33Gj+HRBJH0x4+tffd99j/vs/95DH4YSL2pUuiZS3OzQzMAADZcsXjqD56Vr8y7+KQ1d71SehMgw4JlZqZatvPxudVWRGZzKlltFSxxmrvaa6+9/vh06vrbH3zkqWe/+uor4eRXX331yFPPLr/9gXvuTey1114NYxqqq2TFQGuUl78+3SNOWmae/ey6s2cAPPfbmDt55Xw5xYIrP1gXnKnJNv8HHfDC+rzTnecyvR3BFYGDf7XS6HmY0868ATatIzxZ/7o/H+o/FgCgfzXnX73zL0uPk6/NOG7R63/Rz8aQ6sEyM1It2+N++U+aomiKclHMRgAArsvHXMtQh1DUIb7YDpY5lKIOo3y/4wCAe9jHXM9Qh1PU4RTzZyn7ERR1JEUdSTEvAQBwj/p8P/FRR1HU0ZTv95yY5liKOpaijvPF3gIA4P7g853vo46nqOMp32McAMv8PJH5jYvZDAAs46UoL0V5fbG3K2sYK5zmrgCgqalp9Zo/PZB8/sh5511w2S0XXHbLkfPOS/z+2cR998+YMQMAxo+vo0d60BrlYsaF933U9uax4mLg7J+vF057moQJa3/y9Em+KZNO2k9aDyQ4kHZrT/3ubGkx8LKXAQDg/+K3w+X/Mw3mB3/9eo+Rp5lKH6b6uz8HLsExzlgcOk2beP6SHWvRX40UupkZgQTxN9segPt5nuP5XBqWMiwAACSghX+D5+/zRL6bavkXz7+e9tzcqVzayvNb03AhwwKwNwTgbp5/ledfTcPFYnb4bhf/D55fHYVnuzkA9sYA/Jbn/5fn/9YF10lpFnTxL/P8H6PwXDcH/vhvQt6f5+InAntrAG7n+QzPZ7rg11Li6uPA14QBYPbs2T2ZLevXr//nP/+5YsWKu+6669hjjxUuTZ48ecyYMdVVr8KgNcrGgqs+2nUVAABs/nlj6N5XEjRk+ziAGQAzgmsHggBv3bPw97ps73C9M+gZxPsrAD95fMOK+cT7Us8lf/XXbtivW7h63L1nzvufA9VCdnKvz6BnEn/2HkzPKG31kLKQuaG3vZ+P74j5fsn6b/QDcH1vhFp+LVz0t5zT0bcDXACh+X4AgOlu79lNfrWE0Gl+MfFZHX3/5iAXarlW6E7+ljM7+v4NLgDPdBoA4NtNHugD4PpykHiKknykN/o2keZbQhoZrm8bJFKqxH5N76sODpxdySxYsOCSSy559913TzjhhL333nufffaZOnXqhPp4k0YPWqPEPBeZ/d17yIWSWfQMmH9puDcYulde6OvPPKNfyXvuD+3uk7XzHzXPp7t/8tj69z5Y/+4H69794MbD2p/UTo2ef/Law2bPU/6eSrvf5MwXGPv73rAsEKkc3mvb/AAwPdyzIOV7kAOgmw5JpDYKF9nUY56m6XkkJJ5nxcRPeJoOoptciZS0Kph60tN0kD4H3eTyRlPC7Irn/9YT/paFeLppljeaFGZXPN9jnbiSOHN2JdPQ0AAA3/rWSDF3dUFrlJL50Se5hWdOvlr464ibXknMB4AZZ68dOOiySb4pYqrFjw1cOZ/ntwP8LnjK78STix776AQr0dv/ePvrF951h/z3dwI/+eXt9565EuDhc05/WDzp//373yEnaDNcwG4HMJ5g7dz2+sLTVxRRS6SczI23r6d8D+V6OtKpWRQFAAChVbwfwPr5vBCkqMMDABC6h/cDwLXp1BFS9ruMs/t/2Z46RkwDEEr/Ne4ykpz5jcvH53quak+dSCTuifuNElccpwVh0uPs2hUKWsMmO3bsmH3SyalXjV8DMKTaQZj6n1l014FrVhxrEISpf83iu6atXnGMSRAmHuDC4497+rE/fOtb3xo3btx+++1nv9Z1yI4dO045xbdjR0+xAoYXSIl72Nd5cE/8pGLyljKBrbzTp//w0UefKkm/cmAQJgSpV2Ys+a1ri/LeFcGGu15adPExFVcIQUqLA92Vx+OhCACA/NPj8VRbwYqC1qgjZjAXh4wWA+etuPVn+BSGU6B/3BM/udpKVAcH7l1ls1nyzzpf/kJrIAjiDBw4u0IQBEGcB7orBEEQpAZAd4UgxWMW5TYpRblVolpsv/ciKcTtnP11UW6fv0wOcTv/gP3mH7Bf9HkAeC4qhLjtv/fn39jvu9/Y/3QhxO0Z8f/T6PFmfGWiH6B/9aIDFk09YPHUAxYviu+EwoLbIpWDe9BHXWMdLIKNdeWLNvtnhlquE/ISQ/16xIShKDEOd1c7d+4EgP/85z/VVmREgNYoMZootyuUKLf9UpTblz5IwjnffYKIcrvxg482vq+LcnvaHRve+/D59x5vhtab3vvgufc+iGjeIz6u44F331/77vtr333//sXP3E7GvYX+Z5blZodmwIa77jv0D2t2vrd653vXH/qrpzdgcNsRCtt5gycEHbEd5kk22Yg2e3Kcv073QtRJcf5XI+MtqdLjcHd12223yf8iaI3SQ0a5XatEub1KFeX22bOKjHJrjzfXbTrMfxwAzFuxplP0clNdQoDbGccten0LBgscWbyYyl7bFl/oiSTEaRD3kI+RolowwRgHLLM0kbnJxWwCAJY5lKIOpajDhIC2XOxHPt+PKOp6Vp5dsTdQ1BEUdSTDAjm7YpmjKOpoijpaiGnLxX7q8/2Uom5iuT/4mIxU3AUxDoB7zOdb6qNmU9Rsyid8Q+TtmE+IcnsrwzCxMn1WpECc7K527tz5u9/97pVXXunq6sIpBVqj9Kij3J54mUGU25P2m3TSfpM77US5teZv7edLi4EXrF5yeYhwgNvl4LYSG65gcpdfNA8Ag9uOPLjYndD+UxrmtkXfSJks2/njq0Lea3LxU4C9NgAJnv8Xz7+ehpAQbTbj+R+ev16eQrGpXDT3Gs+/2ub6tyKC7QjASp7/O8//vQt+JWVcyvPXmMy95nfxW3j+ySg8380BF7shGRTiMM2BhHGGyuNkd3Xbbbe1trYeffTRP/nJT3BKgdYoDwuuEhcDd90BYrTAbJ9wLzojuHbgpQ8GHuv4jj6bFOXWNsRiIPsnZhpxRRPc9n/bDljM+ld3WgclRKrFC52RVxKBGRQ1wxV5JdHxoPW8hevrC7WcIhz7W4LZvn8DgNetCirob/tu0nUERR3Z2q3KCIllwuzKFXk12/cWAHjdBuEERYhwtwCQ6816moRobbNbQgVXskw41l0Jk4krr7wSAK688so6n1KgNcqCeZRbZvhRbm1DBLftX73ogC3+91S+CoPbjijY9YnQgzzfz/P9PL897fm1+E2QbD8HALAxpZ7K0E1NidQmMWsqaRi+Fuhze/jX+NyVkNzEERm90TXC7IrnX+kJf1uVJbuDAwDIpExmTi63J9sndO0tZmkqj2PdlTCZ+OY3vwkAU6dOrfMpBVqjLMyPPvm9p8+Ungx8sOmVq6Qotz/tO0Z6MvCYNy//qE3YyvpdUHoyMAiP/cYyym0hzHRBbjsA/K3thPv+Bmt/dMDiqQcsnnrAVYl+EIPbzssnAqkMO2Id/4q2zZX/9rf8INHxEEefGoQOF0VT1HMgT2UyN7l8XZz/hjSEhL2rACQMQ82yzBEUdQTlus3Tfq7ydXB/e3vvImF2RVHHqL5ZRZ8UhDtc1HcoaiOYzJzo8LXBZJCivBZpKo8zQ9zu3LnT4/Fs3bpVGKANz9QPaI0iqKkQt9ufOeOuaWtWHKeNM8oD9K9ZRAa3xRC3JaDKIW6Hm9dWAi72s1a4tif8LYDNDLWxhb/SX5RwDHGbH3IyIVDPUwq0htOZsWQlBrdFSgkxu7o8G/3RCHky3oGzK7OpQ31OKdAaxVFTsyve6CT5ARFtepxdDYd6mF3hB0QqhH4yIVCfUwq0BoIgzsCBEdl7enpWr15teOnKK69csmRJhfWpLmgNBEGcgQPd1csvv2x2aerUqRZXHQlaA0EQZ+DAxUAEQRDEeaC7QhAEQWoAdFcIgiBIDYDuCkEQBKkB0F0hCIIgNQC6KwRBEKQGKLO7YhmKhLH8KDMX8xFpfcP/IhgX8+lKZGOCXJbJo41dWKYEmhrBxXxqFVmmEKOYVNDIJlZSYiPkw2wIgtQ7ZXZX/jgvkg6BN9qWL/SUN5oT0+eCydYyjJSs9Elpf5w3jG48cqDD7aEE8fk2NpUItYdpixwqSlJB1sYXuBEEQSpBZRYDuZgvAOmeMK26u88zL/EEm2khmWq+xcV8Pp9PmKlpLgE5QxNPpRjiT5YJJDIRl5hV0EPOwTCSPlqxUpFkSVIaJiXpa6FnkfjbotkOsTwu1pEV3b1pQbJOLJCzK2ubWAhkFHOVoXYIgiCFUAl3xTKuZDBn61Y/E3GJo6IrkujNAQDLBCAtTLi6oFX6hHM7z8f9+ktcrDUZzMmzs85eSEALz/N8LgrJbg788XTIGyVVIXK0iN94NioRINhFyCHSWOUS9SzecnRzUCgPuO4kCO7bvCBIZYXJaZuLuAvIZxMLgXHZXGWpHYIgSAGU3V0REysbKIuBfDqUSLHA9WUhEZA8WEb4rLjX7QIwupTrFcd0ADrc09PmhlCLHwCAFr7orCfXm/E0CTn8wjeeDUsEMZEoh+vLioItcwl6DgfJX3HdSY+wEGhRkL8tmHRRFEWR38DOaxM7mpepdgiCIPYp+6MWrt527S246AFYO99Upps8hAvjSbdncMnlFicjAMAyVGv+jReX2yuqI+ljUSJZtLSrxPVl7eYqBjrc7kl2xzojHtE9WhVEh3uIWZNcQ2ub2KxvWWqHIAhim7K6Ky7WkZDvysV9D7o5CMKKX8rgm8rKYiAVgHTcD+CPt/fK59RbJfpLdLhLnGBQVADSXUEDpTIRF7FlRuSQ9LEokSg6DUK9WuVHN/LnKgp/iycSySpPqZgXJG4vuSIe8omMvDax1lwwV9lqhyAIYhMHfp6xILiYrxW6esI0AMtQqRbcjEEAAD/PiJiDn2e0n7e0n2d04AdECoIOdwV9LioCAOCN5uLV1gdBEAQxpN7dlbDhE662EshIY8KECbt3DXwxNDS6oaHaupSdT3bv/mRw16RJk6qtSG0wYcKEjz7aNTQ01FAHfWM4DA7uGRjYU8J+5fwgTNdff321VRhBoDVsMmnSpOPnzr3jF1d9snt3tXUpL18ODT3SccPhXt++++5bbV1qg0mTJi1YcNKlly7fvfvjausychka+qKtLXHqqUeVsF85f+/K2bUrFLSGfQYGBpb86Nz/fenPEyY22stB7DkVRRF5eYOjwgras2vgv+fMjd9048SJEwEA967sMDAwcN55Z7/wwuZJkyYOQ8ywGnxEFqTk/eijjxcuPPbaa1eWql9RwuDl7CHM2bUrFLRGoezZs2fbtm0ff1y5++gHHnjg/PPPr1hxEyZMmDBhgvxnY2NjY6NN91zvVL5vWFPhnmNNyfsVuqu6A61RBF9++eXOnTu//vrryhQ3Y8aM/v7+ypSlYa+99po6deqoUaOqUnotUuG+YU0Ve441JelX+GQgguRn1KhRU6dO/eSTT7766qvKlDhu3LjKFESy1157jR8/Hn1VQVS+b1hTlZ5jTQn7Fc6u6gu0xsgH2wgpDmf3HIqinP9kIIIgCOIAnO+urrvuumqrMIJAayAIUqM4fzEQQWoL/D0ixeHsnoOLgQgy4sAZMFIcju85OLtCEARBRjp1MbvCsEMkaA0EQWoU58+unF27QkFrIAhSi9TF7ApBagucASPF4fieg7Or+gKtMfLBNkKKw9k9B2dXCIIgSG2A7gpBEASpAdBdIQiCIDWA892V41+dKwi0BoIgNYrzH7VAkNoCf49IcTi75+CjFggy4sAZMFIcju85OLtCEARBRjo4u0IQBEFqA2e5Ky7m88U46S+WoSgmFvNRDEukYRnKF+M41WmWoRgWgIv5KAJVNs5YjqU6bCxPAptp7MAy+bQhklJqVPVSpTO5UqhuYh0VMxvJlYpTt0IhGigKy1Y1N6+cuMBqcjEmxhVibgRBSoOz3BUBy1CpFp6Ph8PtoURKGY7YVCLUHqYBwJvt0A9ToTQvkotmO4gRiTaVY65CKplfTRtpSo0/zvM8z6dDUm3j/rKWJ9fRH7dZlNIKaQjY9wuyfLlEC/PaVkYFF2vtbQnT4G8LJjtL4sv1OD6UDlImHN9znOmuBF8ljkb+NsXxcLGObLRNOO9p73IbOCxTTOTIcxVhWOViPp/PR1EMwwQSmYiLYeUzrC4xK6WxkKOZ0WkmHdIZJqVLYyHHzGhkRqtLXMzHMIx0hmVU2TRKEnVUzWN001Uzo0Oym9DHqmhRvlyihXkNJ1UG1fT5fCprdic9LX4AALo5mE2Vx18tX768LHIRp+P4nuNAd9XNUIEEeYJuDopDHtedhGCzPCWiw+0QUI9ZiYA01roiHs3syUgOywRAnAp0QasgK+Np5/l4PJ4OeaO5uF8+49cl9stpzOUoMwAiTVrQWznTAgltGlM5hhhltLqUgBae5/m0J+JKSUedLAAX6xATi9NTP2EHhb5Ya2+7nekN3eTRnjIrWkIu0dq89iwQ7BLqIrR8rhfcLlGx8vkrBEGMcJy7ykR6W3iez5ETJ8nPcN1JjQvyx9NqhyUuQykjrHjHzbCGcri+rOzhXJFMto8DAK80oskIZwwTC9iRw/VlQy3i+O5vCWX7OOKMvyVkV44hheoGYsEut1dWSrB1uMvdIaU1LS4RES+S5jVTzNOkXnM1K7qo2uVJI5YtOk0DZRAEqRSOc1deYY2ODve0pORVLTrc7kl2xzojHt345o+nIaCejQGAP97eKywiiRs9wjxAJ4du8nijOWmjhe+x3MyySGxHDt3kkTfP2FTC00QTZ7i+bMH6lFA3GS7ma4UucXblNU0WSvNpEOZe1rtnrFGbFYxN89pJo7i6XK+5O0YQpPQ4zl0p+OPtvS7JY/lbPJGIvG2lSZcOGZ412uXXyvHH23tdpo+xZSIuXyyn1kibOBNx+WKctRxCJSFBANJxP3mmNWlRhB0sMhYik24OQkRI3Nrrgd4cUUdNgW3BZKvJUxTKkqxY0YKRSyzEvPnTuNxSlVSTXQRBKgC+Jowg9uFivs6mnrhfOSg9+HtEisPZPYfC14QRpBDocJc7FeOA7UwGjabqpcDxoXSQMuH4noOzKwRBEGSkUxezKwe/OnfcccctXrz4kUceGRwctJnFwdZAEMTZOH925eDaDQ4Orlmz5oknnnjxxRfnzJkTDAYXLVo0ceJEiywOtgaCIA6mLmZXDmbixInnnnvuM8888+9//zsYDD7xxBMHHXRQofMtZKSBM2CkOBzfcxw7uxoYGNi9ezcAHHzwwW+++eaUKVPGjRtXbaXKjtl8qz6tUaM48veIVABn9xxKqJ7DKjkwMHDB+T9d/9xzkxsnAsCePXvGjRs3MLj71LlzHup6+OSTT966dWu1dawo32tZYmaNSZMmVVs7RIvDfo9IxXB2z3Gmu1qy+Iz9J/zXb5ZfOnr0KPnk7o8/+cWN9+76bK+n/vh0FXUrN8LsKplMbty4ce7cuWedddbvH3142pQx9WmNGsVhv0ekYji75zjQXe3Zs2fatKnbtiQnjN9Xc2lo6IsDj2556623Gxsbq6Jb+dB7KWENsD6tUes46feIVBJn9xyKovautg4l5sMPP5w0cYJ+dAaAhrUzZVQAACAASURBVIbRkxsnDg4OOmaA1nipYDD48MMPk08G1pU1EARxNk5zV3XFaaedduCBB+q9FIIgiPNAd1XD/O1vf6u2CkjpcXwoHaRMOL7n4HtXCDKycPzbM0iZcHzPcZq7mjBhwke7BoeGvtBfGty9Z2Bw95QpUyqvFYIgCDJMnOauJk2atGD+/Muuv3P3x5+Q54eGvrj6pvipc+fg67EIgiC1iNPcFQDc/8CD7+/+/2bNDjZ5f9Dk/cG0Ixc1eX9w4NEtuz7b66Guh6utHYLkwfFLOkiZcHzPcdp7VzJ79uz58MMPQQo7NHHixDp8YnvHjh2nnOTty/zB8GqT9webXspMnz69wloh1jjy94hUAGf3HAe+dyUzbtw4ed0PR2QEQZBax4GLgQiCIIjzQHeFIAiC1ADOd1eOf3UOQRCkHnC+u3L80zIIgiD1gPPdFYLUFrgegBSH43sOuisEGVngegBSHI7vOc53V45vQgRBkHrA+e5q+fLl1VYBQRAEGS7Od1cIUlvgegBSHI7vOeiuEGRkgesBSHE4vuegu0IQBEFqAHRXCIIgSA3g2IjsMjVau/fee4/juMHBweEI+fTTT198YcPp804wvLp2w1/mnjpvn332GU4RSMl54oknzjrrrGprUcPsv//+M2fOnDRpEkVR1dalotToWGcTSqiesyt5/fXX19YOJM/zjY2Nu3fvLmspo0aNmvrN/ctaRLHURFcc4UqWV72ySC/dELRrcM+ck/776vYVXq+3VDJrAmeP5HXhrmqOjz76aMqUKV9+litrKaPGukpShFHPMexLhZzUnh62QO1gOEyB0vlSytQoWQJp6sPSCRT1LKVAWai9vHlk7t79ydXX3vfRR7vjq5464IADTCQ4EGeP5BRF4d7ViGP79u3VVgGRqa/VpJFHMfafMGHfO2696LkX/nfbtm0lV2gkg0GYkErz/vvvV1sFBKltGhpGT2ocv2vXrmorUlFqa9ejCJzvrhzfhAiCIPWA892V41+dK4LNW14ZP37famuBIAhSAM53V3XAxgvHukaNdZ2ycoed1P989fUzz77osUfvLLdaCIJUEsevJKG7qn229W+Fo2/P5jYtm543Lbdtx+Lv/Sx6x7ULF5xcAdUQBKkYjl9JQndVCzz7q1FjXaPGukaN/dVagLXLhGNhOrXjt0tv3Ax/v9wT/G2+x6Deeec/gTN+2n7NsrO+H6iI3giCICUD3VXNsDSV+/KzX9Mrg4vuP2fNZ7kvP1t1eNv8C5+dfumqX54IR9+eTV46yyr7hx8OBBb9dOkFZ//sgnMqpTKCIEjJ2LvaCiA2OfowGgCA+9ffAf6+aOxjwtkTczuAzp95z55PFn3vZ/7T57ZdHiqnkgiCIOXC+e7KYa/O0YceDbMDr79wnuKk8q0BDg198f3gRUcc3nTzjVfWWxQ1BEEcg/MXAx32tAy9rPN2uPEwYSvr1Ie4fOm/+uqrH5932aRJE+5e+Wv0VQiC1C7On105ge/++svP5D+mX/pC7lLy6qzzNn12nmE+nucvWvarjz/ek3oq8V//9V9l1RFBkOrisJUkPeiuHAvP81ddfevW13PPdnc1NIyutjoIgpQXh60k6cHFQMdy24r4+uf+vObpVePGYQALBEFqHue7K8e/OmfIfav+cP8Dye7VD0ye3FikCOVlL7v7ZCLbuubsc86dNmNhr7tu9D7XrVVlf3jOvj+ymx3+fNG+ntH7eubc9W+bGfKw/dE5445qGHdUw7ij5tz1FgDA9t/PGdd653biwB5rL/2p/cQ6Nl884YSL15ldmm1yyZz1t46ZeOuz1mm2J+dO/J+VKp23XDzx5IvXF1gWAAA8G5k7tnHu2Ma5p97zjnTuL8saTx0r/neJWND6O8Y2zhvbOG/spNPGTjptWVFlIXWC891VHZJ8srvj5rvY7oemTfvG8CQJL3jlvvxs1dItN96eZ7STmNW68dPHLrF8CaxkbHtzKxx1+6vZjRcfVAJp2x+dc2Sn54//GNrzj6FX2+CqRSqvMPOHG/d0XTLTnqj1Ny55sAQaVZSZwRcH711ms4LWbH/ylocO73zlxc+eOGPL1Tev3A4Af1nW+IutNz/y2a4XPtv1QvZmaDvmDqlDnZHateGzgec/e+WircFLV/aXQoG6xPErSeiunMaz6zb9/PJfr0mtmjWzFCO4wLb+reKRGJ+QmG/tuHNe0+h9mkbv0zR62SYAcna14855h4ze55DR+xwiXoJNF+1z6Gjhv3m/k6ZruZvnHTZ6n8OIMwJ/vmhf9+h93aP3PXz0aQ9zALDu+tH7Xr9WvOS5aN2/7wzduhn+cfmR5yqzsXU3jN73COG/i9b9+87Tjhh9yUvC+YZxRwruZ+2l/90w71H9/G0b++yW49suWwgAADN/tHHPP+5aSFwmZldrLz2mYdwxDeOPmXP3WwAA629sGH/jxZce2zD+2IbxN66Ft+685Y8Ar17x3+crE6z1NzWMv2ktAEDm4vHfuXg9wPqbG8bffPGl32kY/52G8TevBQB4e+X848dMOH7M/Pu3goa3V86fPWbC7DHzH5AvPRuePWbCiWMmnDhXUGPdrWMm3Hpx+MQxE7xjJtymu7vYfvMC35iJvjELktvE7CeNmXjSmIknzb37bQBydvXOygUnj5l48pgFXURZp4yZeMqYiafMvfsdAID1K8Y2rlgWmTO2cc7YxhVGdzJbn3r2HVhwxWe7Vi6bCdvuefh+OOMXFx4oXJt14Z2f7brsu5ocM2Z//ztbn1r7jk4UYgvHryShuxqJjBo1SrUQV8h/P/xx+MnH7z7yiENLochjiwSxnhs3X7Dqnu8CwJx7hPlW6hzYkk5vA9j24pNbjr79tb4vXlu1+uenqHKLl9744rX7pEun3P3pv7749F9fpM6GLSwreYwz73v9i08TS7fcfMFKck3v5Ls/6f3ik94vnj4LtqxlDZYHD7okcdWJcNTtrz6iTOYWXvvFJ6/13nYUzL7qsoUHXXLVWfDAhrUAa//05NLzz1z1p5cAXlrzAMz+/sn66V/ujVftGGXbXa1LHvj+M3teGfr4t56rlkhrZdyhkf8d+ufls+GPa9Z/+5Jf/D+AI1f884F8s7HcoZG/Dv3zstnw9Jr1sO3u6654+XvP7H758/h8baF3X3/Fy997ZvcW+dK2u3+25MHvPbN78+e77zj8F0FpIrjtsEs3f/738GxIrdYtGJ4Z7/l88PYLXo5dcPfb2+5mljy0+JnBlz4fXHH41eeQK37b7u644uXFzwz++fP4POnMRUseWvTM4KbPBzsPv/oH0pJd/6GXbvzslUtmw5o1mkW8mWeuuvnwLVf/aGzj3LGN0rT8+Ok0AMA7KxeeKiwAGi79belDd4UYg08GjkSmfnP/bX0bq60FAJyz5rNfnw4AsOO3p84/ZeVzm5ZNX7vMteh+4erRAACzWq8+/8bFRzRdDgBw9upPhfQgXbpp8RGHSJeWnw6wdtmhix8gsgMAuFyzAODkxefDqn/tAL9S/NpL3FLiowrQetsjF1wJt796Lg0AC09dChetXnfeodmjDl01b+nSN7dthyycebXR4qHrkCMhm1987o1XAV5dMu4p4c/ZubfABQC0ayYATPcUoCgAuLS5jp9BA8Cs6Yfr0x5/MA0Asw4SLnFvvAbw2pIJT4tqcG8BDQCzXLMA4CCD7DDTNRMAZi8+D+5/420OsgDZJRNXS7V4G0gHLpQ189tSWULiNVJZ7wANADNcMwHg20ZlwawL7/rsQoDtT556zMpb7jnnBXoGvLyDA5gFBy5b98Iy2LKs8WpDi8xuOtDwPILg7AopgLXLXIu2/vJ1YXYlcfrKvi8+7fvi01VL4XHNHf3pK9/44tM3vvj0PuHS2mWHLu69pleYXSkkV68DgD+vfgBOPFQJKr/2Evfi3qt7hdmVQi63TdiyMlcyeuvm80PSfOvkxefD1jUPPQkLAzMPOhTW3RFdt+X8U083yjjL/93ZL3feIVRh+6Nzxh1l+ESD65Aj4fgreve8MvTxK0Mfv7Lxom+b66KBy20H2L7Dyie+3M8BwLYdBhV8+U0OALb9W7hEH3IEHP/zrbs3f7578+e7N7+YX43Vq9cDwJbVD8HsQ75FH+KB4y/dOvjS54MvfT740osXfcugrO1vSWV54PhLtg5u+nxw0+eDm164MI9H2XbPxeIK4cxvHw5wOH0gLDjpAvhTS+QvUoJH7tdn69/y1F8P//7p6K4QY5zvrhz/6lw5kRYDx86/fMs51yybfvqic2DLjYeNdY265Y0T4e+vc0DsXS1dNfuXl5GbPcre1c9Wzb7msoVw+uKzYctN7n0OHX1L34nw99fF9b2jt95y2Oh9QqtmX33/MmXSc/qiIGy52b2ve/StuRPhH69vA1h42lL4x+VHHj46pHqWUMW6GxY/APDARaP3PWL0aY9wAKdHroQHntziOXgWHBT4Pqx64B9LzzgJQHBI6if9Zv5o46tt2f93VMO4oxqO7IRb16j2riRmXdyxAla4xx3TMP6YhtN+b/wM46wZszV7VwvmLIVXr/jv4xp+Zvr026yLlq84/uklE44fwzynu3T9iuOfXjJhtnxp1kXXrYDfHD7hxDETThwz/3Ebj1J6tt7mGzPx8vuPD99/0bdmXfSrFfDbwyeeNGbiSfJuliS5fcXxq5dMPHkMs0E688sVcOfhE08ZM/GUMQueyFvWrAuv6Tz+Ty2Nc8c2XnX/8Rf/fAEAnLBy1yOdvb8Qngz0XL0Vzrt55QIh+Z9ahCcDj7n78ORvl83IXxOkPqF4nqcoiuf5amuCiLAs+z/M0pGxGJgfo55j2JcKOak9PWyBAGo17ee1TFykTDtKlkCa+rB0AkU9SylQFlpCmU1HnBtPPOT3+41SOhNnj+QURTl/doUgCFIPOH4lCd0VgiCIE8D3rmoexzchgiBIPeB8d+X4V+cQBEHqAee7KwRBkHrA8StJ6K4QBEGcgONXktBdIQiCIDUAuisEQRCkBkB3hSAIgtQAzndXjn91DkEQpB5wvrty/NMyCIIg9YDz3RWCIEg94PiVJHRXCIIgTsDxK0nOd1c114QTJ078aGBwaOiLaiuCILXK4OAnuwb37L///tVWBCklzv+ASM3V7r333mNCP95vv8m33nTVhAnjqq1OHpz+ARHLr1rgB0RKJFAWai9vHplDQ19cdtXd77030PXInyZPnmwiAakxKGEor7kBvSBqsXaZTOaWm699ceOWSY0Tq61L5amJxhrhSpZXvbJIL92PdGDXx/NPPbbtF7eeeOKJFEWVSuzI5/rrr6+5xST7oLsaofA8PzAwsH379vfff384cj799NMXX9hw+rwTDK+u3fCXuafO22effYZTBFJynnjiibPOOqvaWtQwjY2NNE3X4UpgLY519kF35XB27NhxyknevswfDK82eX+w6aXM9OnTK6wVYk0991hkODi75+DXhBEEQZDaAN0VgiAIUgM43105/tU5BEGQesD57srBj8ogCILUD853VwhSW+B6AFIcju856K4QZGSB6wFIcTi+5zjfXTm+CREEQeoB57ur5cuXV1sFBEEQB/Liiy9Wsjh8TbiM5Va+UARBkIpBUdQdd9wRiUQqU9beFSimbnHwTQCCIAhFUddccw0AVMZjobtCEARBimTVqlVLly6FingsdFcIgiBIkZxwwgkV81jorhAEQZDiqZjHcr67cvyrcwiCINWlMh7L+U8GVgu0KoIgzoaiKI7j5D//8pe/LF269KabbiqHx8InAxEEQZDSUO45FrorBEEQpDSU1WM5P6oFBmFCEASpGILHuuaaa6LRaGklO3/vqopRLRxsVQRBEM3eFUnJ97Fw7wpBEAQpPeVYFcTZldPKRRAEqQx2IqNSFLVhw4a5c+cOvyx0V04rF0EQZORAUdTAwEBjY+Pw5Tj/UQsEQRCkiuzatWvXrl3Dl4PuCkEQBCkv6K5sgUGYEARBHIDz3VUdvHfFMpQvRj5NysV8FMNWTR9jWIYSkHTlYj6KUp2TkxCptPkLrBcX8zEsF/MxLACwjCSVZexIstRHV06eFMUmNsis1GiYWYgmsCOOZaSELENRlI9hfGRO4WSME6VK5zW5KLMShWw6aXk1sqG5zWT54WK+/EoRSa3qKyYZpl5K1WSDWYmVtPLFOOvW0GQqtMuVB+e7q7rAC8lOpSuxnUnwVlEbI1gmAGme53me7wnTACxDuZLBHM8T5wDAGxVP5YJJl/on5I/zPJ8OlUAXLubrcOf4uD9/Ugt91NDhHqkOlgUzrN3ElSAHQhOkQ5AI2B+MWCaQgFC6Jx5vDwEkUkJGNpUACLXLFUt0GA3rgkVzUa/uOh22kmasSCphS197yUoLHe4RKwqhNM/ztvpbwRBV88eJH5K5Vu0hIAwrqJYOQSIw8u5w9QhPr/FIqdFZNRcVXIg8ApaMdCiUTodkuelQKBr1Cv1QHt9DaY0KKnVkL6DNFZLEquSQRYNafihqXM1c1EvmTYe0koSzRC5NDqWqxRlJkp+OeknViHrliCuCJsb6qEyRDnlDIS8IDUDIFoWR9iGOJcFSI0h2tTCgLXLRUL5cisMnLCkNqoI+WhOnQ6Iy6ZDQJ4g0afkPZWAWjkIhsnPJliMqrm9KI2kaIyn6e71eoiqqepFZlGMIpc2lqZQhChHsSQgRz9mSo6uoOpfGZCpp3lBIOCXYG3QJvdGcumqyNPWBtiPJNk5r21Gu13B+Y3oAoL+/v7+/f/hynD+7GiGLgVysNZIBAIBMpLMMdzH+Fk+ymwMALpZytzWLZ1mmwy383NypGMd1Jz1pnuf5njBNHos3Zjyfi2ZTLDkTaoGEgRyyWFVGAEgkoYvn+VwUBHUk6HBPzt0hLTpwfVmv2yWKNlmLoJs89qquXnWxXqnJRALJYJd8B6qqF4TbZRt2gO6+XtRHZ4pM1t0l3jm7FAndSU97mFbZxx/PCXcR0m02y7h624WfYhqkyY2ZAUuKN5oj7va5WGsk44226e7+xbYJQJq4aU8kEqAk9reIMyKuO5mBUIsioyWeDmUirdrmyERcFCXMrPXTDQNpXKw1khFHV3k+5o3meL6np0cacSVJQr1cqizdzUQyc2mKMlzMF0hI/jkTaY1xooEIJ2VHjh7DXCbnM1l3F58OASSybuG2J5FipTkbn4t6M5HOXFhnAVXruSKZUDrvhAsAAFxuL2R6cwB0uCcNgWLW3SuA893V8uXLq61CRfC3BZOdLLCdSXez1D25vqwwOlCuSKI3R4e7ZI9BHsvjkiuSEXJJw46/JWQghyhVlRFAXmWgm4OgSgjiLy3n7hDKzIiX/XHNvasE4dKsEX/BItY/Tm80197rkn6H2nqJPp/rTnpadD9/QR+9KbzBZqVEWUJvsM1vZB+1QHl497eEsn0cgKUBrRB8tiuSiLhsbPl4mhSVxVGtJ0xLpoz7RYGiY1aPhaFo1Eu4IdHDxLTeCgD8gsPqyJInxTmnLEHaQRHaRC8t15sBSAQoKpBQOg2pv75ehlkE7EjL9Wakc+IgnuvNqJu5MK2sc5mcV8rzNNHgcou/EKsOpSIRCCQglBaaTm1kM9Wkn5t0j+XusLlNVzGc765GCHS4SxyTpS5U+hLaIcWkNNMCZSUg7lc8BsOSx1ysA4hlF7rJI20gcH1ZQzkimoy2tGzyQLYPwu0h680SlnFFQDVCmFLI7AoA/HHZZYK2Xv62YG83K/kaE30MTSFLbwsmOxnxnsHaPoSdgU0l8g52lkg7JcJioN2dMS7mowLZqDzRIZ52oMM9fHuvy8CmTeF2wt2IHiYS0XkrEB1WRjey+uOKwxLHRkkDY2ny6pT9n45FljzSXG4vgHDzIA7iLrcXMsluTnQsw9DKIpcdaVysIwGqRWaLYnJRbyIgNJ3GyDpYJpBQHKTkEnvbbXekSsE7fe+qWrWrYLnyho68I5ST9q5Ua+LyH5pjsvOrF8i9Xq/xJotcsiqjXKzqUJOS2B8CzTnyR2iwbWVx0a6hiK0l1Q6eLFK6YF6kdptB1p3Y5lDt7OgMq+xdabc8LAxoC7t7V9rOoe4VefaulP079U6n2kLyX0RSZe9KPG20P6eVxqt3aFQ7LkRi1XnNfhUp00qaVgddFYX9Ms3elYUci70r1W6TgTT1tp96c1HUQ1M1s70rlV7ElrXK5akab8TuXWEQJqeVW1JYhkq1lOeRphFK/dUYQcoKRVH9/f0AcPDBBw9TDi4GIjqU1bUAlGnlciTCxXx1VmMEqSlwduW0chEEQUYOOLsqAAzChCAI4gCcP7uqFmhVBEEQnF0hWoYVhq6CjIDIgYaFQr6IgrUcb7DYmG/qspQaadpJr4/FJdDrIZuWZSiGFf+1j9IymuKH2UkMU0gmsCXbKCqfWUBF+xH8bJRZtriOVQbdlTNgO5NgFQah6PiUpQ1sOSIiB6oLzQWTLtVwZx1RsJ7iDeo6VYhoO21TkvnML1njj/Nxv/jvcChdeEk1xYRYNImRaBxQsYQR/MoT17HKON9djZAgTKpYyCWXzaaywa6uoBTnlov5mBhRHMu4IplEgKIYhpHv8aRbZCEqknzfKIW5EG/LpIzSb4e44ZYOtXm1pRO43F75zVgAYFOJUNpqRKPDXVFVjiKhwz1xPx3uift1hdLhLiLeUS7ma4UuM5U0V4lYAeQ8RHe3T9RCFV5ANDLDsowvxuoMK9/nMizRgqwkvgCzk9XXwsUYkw6p6VQaNE1peUlWVepGfQZ6EmYTD8lfjPrXkz9KgxUmVTa0kjLZYFjwh4Wml2JMaGLIK1mMf+PKi+ChkFF8Kgl/PB0SX1Q2+LaCrUJTjBLTQo5sJb72r7x/ba0GobNtNcqM893VCAnCVNaYgWwqG2ym6eZgVh4lVKHnlGh1be5sigXgunsBenMAbCrrdhkGr8tk3YIAVZg7oLVh8QoKfDcCIgfqYzvRTR4x8I0moqCGOos3aNSpAopx1U2prq36EhdrlSazovb29DQNcWkawbJcDCfEonGMRJOAihIFRPCrSFzHkRJI0Pnuqg5gU4lMxCXMhKShxST0nDD6cN297q52SLFcHwSbacPgdV6zCEjqsHgFB76rduRAxTnpi1BHFNTewzst3qB1mEHDTpVWGZdsSo2tiEuS9yWwp6dZiEvzCJbDrLIpwwmxqI2RKGEYUFHCKoJfFeI65lGjcqC7qhBljBnIprLyLkk0m2fljG4OQqqz191Mu9ziQaHB61Rh8YoLfFfNyIH+lpAUSk0qghhOyYiC+khrjoo3aBlm0HanEpqSM4pKJ7YyoaoVLrc015K/4WQc4hLymLHYKuenqBCLoI6RqD5rEFAxXwS/KsR1zKNG5UB3VTGk2/9S35AIizZiGeTSjarw5mBW2IKim93ZrLuZVg4A/HFpqq+L6qBkVJ9LSCteFnkNdJV2AgLZaJew3iXnplxJaaQXb54pKgDa7x+wDEVRgUQioP2t2I/L7o/zaY9UAhUAzdcXxKUsE4cnX4VwVzDpIqcUdLM7GSDi4etqQeuyaIUThqWbPMLamzi70jREQWYvHONOJS4GUqqdNbEpyczqS4SqVqMb3RwEwWIpEL4DINyAuCKeFj95nNeM5p1kWIjr+VKz6gWLLjvt0S+vmTssVTLBwIGE/NkPLuaTHlsxaWOzQsUSXUSkewADb2Wkhk7n/GpUBue/d1Wt2jnbqogBGG+warAMFZA+q+uN5kZaIPG6hsL3rhBkJIHxBquLtBaZb2aN1DR7V1uBsoNBmJDyQ4d7+HC1lUAQZ+P8xcBqgVZFEATBxUAEQRCkvkB35VDKGzpM8xSrJC2vRjYe07KZLD9czGf31Rr1Q/CGT31xMd+w9VKqJhvMSiwRyKGkgdw0bQ4so7WTmVZEO5esmaxROqSBbqLiev2tkSUUmtFIN4P8ep2HT7FRHx2G893ViAnCVB3KEzqMDltJM1ZEepkmj772kpUW6XUc+TvlZXligqiaP27jkQDByIphSxRQju0UnowvIraVonZVmslInZ4wLf5fVYrH5zoqivPd1QgJwlQhyhs6jMBYmjqOHRHC2+cLJADEgVYVh43MwsXIZKbSVGO1Nk64nEuJBmFLjg5tTD7j8ywjT10pimHI2A5KQmEaS1RNP30REtu41x9uQDk2lQBvNB31qv1VstXQJurKimqr6qJMYtWzFskm2gCHlOa1LbI/GIavBMh2+PS6mZRrKNOsKfUVV6VUzWnJwIUqa+jNpNPZ0iC6PmnQrJZRH+sJ4XEA3rlUq3YVLld60U8Kmi2/+KcEABDOhdLkNEI6TIcAvNGclEIVz5qQoCtRJU0+IqVJuRXRPHFem4VIZilNJBf1SufEVMoZ6ciOHEWYZD9tLulvU2nqA0mMVpLG7NKBNo/GxGqZpJ7aZhdCYMiStJcVOxNC1I1OXjQzAq9tJsXgsrayHFWjiJfSSruRbcjzWuvpRKl1I8vNmck0rYWu4rreqFfBWo6JzsYGseiT+narYQCgv7+/v79/+HKcP7uqAyoVOkwdF04vLdebEV7MDySUaIBm8YGE84ZZBOxIy/VmpHNiVNBcb0YT7rAgraxzmZxXyvM00XK4bsuYfyoSAWUObCPY+HACyrGphBCXwRXJkOuBgjw5smoeI9jAGxSieykaB5tpOZa5S4gR5KIoiskRx6xm3i/gaaJthDqmzWRa1kJVcYOUQkCkaFeYNrWGPZ11BrHqk9pmRQTQXTmASoUO08SFM5Ym3xDaX7ewyJJHmsvtFRfGpEHc5fZCJtnNiUPCMLSyyGVHGhfrSCi31nmKyUW9UhxDo+B7JMMKKCfsMgraq/YkM705EAJ26wIK2zadyuAqDBpF/iRVIsUSx90ABe+q5ZOZsqqFvuJESmHVU/WNGzM5RewEWhhW26yICI+LgU4qNx0i1sbIZT314pH8S1EtgJFJDZdDDEpTSSPDsYorjLqFq1NawwAAIABJREFUKe15dRaVTCtpWh10VQSvV7ValE+O1haaXJolT5U0ZZmLWN+T03m9Xl3VtIuBslRSL1mAuFikqaeQQFMRzWKguldoLkorU6RwzRKtqRHIZlIZXL2UpraO0ihpWaz6OMdrGtR8oVJXbs5cpkkt9BVXpYyqYgsrBjS3hpnOBgax6JMGzVrTQOkWA53/mnC1audsqyJIMbAMFchiTL+6girda8IYhAlBkDLDxXzSFl4ozaOvQorD+bOraoFWRRAEKeHsCh+1QBAEQWoAdFcIgiBIDeB8d1XnQZgQBEGcgfP3rvDJQARBkGqBe1cIgiBIfYHuCkEQBKkB0F0hCIIgNQC6KwRBEKQGQHeFIAiC1ADOd1cYhAlBEMQBOP9B9mqBVkUQBMEH2REEQZD6At0VgiAIUgM4311hECYEQRAH4Hx3tXz58mqrUG5YRvPNey7mEz6APpIQP+itfIld+FA7eU5OQqRSkNMXUjUu5mNYLuZjWABgGfkr8IwdMdb6aMvJk6LYxAaZlRoNMwvRBHbEsYyUkGUoivIxjI/MKZyMcaJU6bwmF2VWopBNJy2vRjY0t5ksP1zMl18pIqlVfcUkw9RLqZpsMCuxkla+GGfdGppMhXa58uB8d1UXeCHZqXQltjMJXovU1YBlAiB+0LsnTAOwDOVKBnPSh62lz8uK3yDn+Vww6VL/hLhuaOd5ns9Fsx1Fj/WCpJivw53j4/78SS30UUOHe/J/Ilf6xdtKXAlyIDRBOgSJgP3BiGUCCQile+Lx9hBAIiVkZFMJgFC7XLGEYTMJFs1FvbrrdNhKmrEiqYQtfe0lKy10uEesqPgpezv9rWCIqvnjxA/JXKv2EBCGFVRLhyARGHl3uHqEp9d451Kt2unKzUUFFyKPgCUjHQql0yFZbjoUika9Qj/k0yGhnUNpjQoqdaRUoM0VksSq5JBFg1p+KGpczVzUS+ZNh7SShLNELk0OUpLRaTukQ95oOuolVSPqlSOuCJoY66MyRTrkDYW8IDQAIVsURtqHOJYES40g2dXCgLbIRUP5cslakMaVBlVBH6150yFRmXRI6BNEmrT8hzIwC0ehENm5ZMsRFdc3o5E0jZEU/b1eL1EVVb3ILMoxhNLm0lTKEIUI9iSEiOdsydFVVJ1LYzKVNG8oJJwS7A26hN5oTl01WZr6QNuRZBunte0o16vY35cxANDf39/f3z98OTi7qhBcrFX8+ncm0lmGuxh/iyfZzQEAF0u525rFsyzT4RZ+bu5UjOO6k540z/N8T5gmj8UbM57PRbMplpwJtUDCQA5ZrCojACSS0MXzfC4KgjoSdLgn5+6QFh24vqzX7RJFm6xF0E0eo4qynclgm+o+Vb3qYr1Sk4kEksEu+Q5UVS8It8s27ADdfb2oj84Umay7S7xzdikSupOe9jCtso8/Lnpa6TabZVy97cJPMQ3S5MbMgCXFG80Rd/tcrDWS8UbbdHf/YtsEIE3ctCcSCVAS+1vEGRHXncxAqEWR0RJPhzKRVm1zZCIuihJm1vrphoE0LtYayYijqzwf80ZzPN/T0yONuJIkoV4uVZbuZiKZuTRFGS7mCyQk/5yJtMY40UCEk7IjR49hLpPzmay7i0+HABJZt3Dbk0ix0pyNz0W9mUhnLqyzgKr1XJFMKJ13wgUAAC63FzK9OQA63JOGQMGL7pUB3ZVT8LcFk50ssJ1Jd7PUPbm+rDA6UK5IojdHh7tkj0Eey+OSK5IRcknDjr8lZCCHKFWVEUBeZaCbg6BKCOIvLefuEMrMiJf9cc29qwTh0sjiUi3an5/4Cxax/nF6o7n2Xpf0O9TWS/T5XHfS06L7+Qv66E3hDTYrJcoSegWfqrOPWqA8vPtbQtk+DsDSgFYIPtsVSURcNrZ8PE2KyuKo1hOmJVPG/aJA0TGrx8JQNOol3JDoYWJabwUAfsFhdWTJk+KcU5Yg7aAIbaKXluvNACQCFBVIKJ2G1F9fL8MsAnak5Xoz0jlxEM/1ZtTNXJhW1rlMzivleZpocLnFX4hVh1KRCAQSEEoLTac2splq0s9Nusdyd9jcpqsY6K4qBB3uEsdkqQuVvoR2SDEpzbRAWQmI+xWPwbDkMRfrAGLZhW7ySBsIXF/WUI6IJqMtLZs8kO2DcHvIerOEZVwRUI0Qgq8yuI0sZHYFAP647DJ19fK3BXu7WcnXmOhjaApZelsw2cmI9wzW9iHsDGwqkXews0TaKREWA+3ujHExHxXIRuWJDvG0Ax3u4dt7XQY2bQq3E+5G9DCRiM5bgeiwMrqR1R9XHJY4NkoaGEuTV6fs/3QssuSR5nJ7AYSbB3EQd7m9kEl2c6JjGYZWFrnsSONiHQlQLTJbFJOLehMBoek0RtbBMoGE4iAll9jbbrsjVQre6XtX1113XVXKraBV0yFly0nZA9Gv+8t/aI7Jzq9eIPd6vcabLHLJqozEtpJ2h0m3G6DKrNkg05XDq0f8Yrf/lL2oXNSr2sGTy5MuaDVU9NFuM8i6E9scqp0dnWGVvSvtloeFAW1hd+9K2znUvSLP3pWyf6fe6VRbSP6LSKrsXYmnjRpSK41UU9qj0gjXndfsV5EyraRpddBVUdgv0+xdWcix2LtS7TYZSFNv+6k3F0U9NFUz27tS6UVsWatcnqrxRuzeFQZhKheOsKrZhMa51F+NEaSsUBiECSkjyupaAMq0cjkS4WK+OqsxgtQUOLsqF2hVBEEQnF0VAAZhQhAEcQDOn11Vq3bOtiqCIIgdcHaFaBlWGLoKMgIiBxoWCvkiCtZyvMFiY76py1JqpGknvT4Wl0Cvh2xalqEYVvzXPkrLkGUMv5MYppBMYEuwUVQ+s4CK9iP42SizbHEdqwy6K2fAdibBKgxC0fEpSxvYckREDlQXmgsmXarhzjqiYD3FG9R1qhDRdtqmJPOZX7LGH+fjfvHf4VC68JJqigmxaBIj0TigYgkj+JUnrmOVQXdVMYhYyCWXzaaywa6uoBTnlov5mBhRHMu4IplEgKIYhpHv8aRbZCEqknzfKIW5EG/LpIzSb4e44ZYOtXm1pRO43F75zVgAYFOJUNpqRKPDXVFVDqDDYWkoK+C9WjrcE/fT4Z64X1coHe4i4h3lYr5W6DJTSXOViBVAzkN0d/tELVThBUQjMyzL+GKszrDyfS7DEi3ISuILMDtZfS1cjDHpkJpOpUHTlJaXdJOdPgM9CbOJh+QvRv3ryROlIU8nMamyoZWUyQbDgj8sNL0UY0ITQ17JYvwbV3QJhYziU0n44+mQ+KKywbcVbBWaYpSYFnJkK/G1f+X9a2s1CJ1tq1Fm0F1ViLLGDGRT2WAzTTcHs/IooQo9p0Sra3NnUywA190L0JsDYFNZt8sweF0m6xYEqMLcAa0Ni1dQ4LsREDlQH9uJbvKIgW80EQU11Fm8QaNOFVCMq25KdW3Vl7hYqzSZFbW3p6dpiEvTCJbaGug6SZEMJ8SicYxEk4CKEgVE8KtIXMeREkgQ3ZUDYFOJTMQlzISkocUk9Jww+nDdve6udkixXB8Em2nD4HXqGGkE6rB4BQe+q3bkQMU56YtQRxTU3sM7Ld6gdZhBw06VVhmXbEqNrYhLkvclsKenWYhL8wiWKv2NOklhkRVlhhNiURsjUcIwoKKEVQS/KsR1zKNG5XC+u7ruuuuqrQJAWWMGsqmsvEsSzZos0Mh6NAch1dnrbqZdbvGg0OB1qrB4xQW+q2bkQH9LSAqlJhVBDKdkREF9pDVHxRu0DDNou1MJTckZRaUTW5lQ1QqXW5pryd9wMg5xCXnMCOadpLjIijJFhVgEdYxE9VmDgIr5IvhVIa5jHjUqh/Pd1Yh570q6/S/1DYmwaCOWQS7dqApvDmaFLSi62Z3Nuptp5QDAH5em+rqoDkpG9bmEtOJlkddAV2knIJCNdgnrXXJuyiUv3Yg3zxQVAM33D7hYR0K1JqUoZTsuuz/Opz1SCVQANF9fEJeyTByefBXCXcGki5xS0M3uZICIh6+rBa3LohVOGJZu8gj1FGdXmoYoyOyFY9ypRMNTqp01sSnJzOpLhKpWoxvdHATBYikQvgMg3IC4Ip4WP3mc14zmnWRYiOv5UrPqixZddtqjX14zd1iqZILSgYT82Q8u5pMeWzFpY7NCxRJdRKR7AANvZaSGTuf8alQG5793VS3QqnUHxhusGixDBaTP6nqjuZEWSLyuofC9KwQZSWC8weoirUXmm1kjNY3z3dWIWQxEHExVNp4RpL5w/mJgtWrnbKsiCILYARcDEQRBkPoC3ZVDKW/oMM1TrJK0vBrZeO7VZrL8cDGf3QfD1A/BGz71xcV8w9ZLqZpsMCuxRCCHkgZy07Q5sIzWTmZaEe1csmayRumQBrqJiuv1t0aWUGhGI90M8ut1Hj7FRn10GOiuHE55QofRYStpxopIL9Pk0ddestIivY4jf6e8LJtQRNX8cRuPBAhGVgxbooBybKfwZLytl6HUKGpXpZmM1OkJ0+L/VaV4fK6joqC7chblDR1GYCxNHceOCOHt8wUSAOJAq4rDRmbhYmQyU2mqsVobJ1zOpUSDsCVHhzYmn/F5lpGnrhTFMGRsByWhMI0lqqafvgiJbdzrDzegHJtKgDeajnrV/irZamgTdWVFtVV1USax6lmLZBNtgENK89oW2R8Mw1cCZDt8et1MyjWUadaU+oqrUqrmtGTgQpU19GbS6WxpEF2fNGhWy6iP9YTwOADvXKpVuwqXK73oJwXNll/8UwIACOdCaXIaIR2mQwDeaE5KQeRXSdCVqJImH5HSpNyKaJ44r81CJLOUJpKLeqVzYirljHRkR44iTLKfNpf0t6k09YEkRitJY3bpQJtHY2K1TFJPbbMLITBkSdrLip0JIepGJy+aGYHXNpNicFlbWY6qUcRLaaXdyDbkea31dKLUupHl5sxkmtZCV3Fdb9SrYC3HRGdjg1j0SX271TAA0N/f39/fP3w5zp9djZAgTOWkUqHD1HHh9NJyvRnhxfxAQokGaBYfSDhvmEXAjrRcb0Y6J0YFzfVmNOEOC9LKOpfJeaU8TxMth+u2jPmnIhFQ5sD5go3D8ALKsamEEJfBFcmQ64GCPDmyah4j2MAbFKJ7KRoHm2k5lrlLiBHkoiiKyRHHrGbeL+Bpos1CHRPQZjIta6GquEFKISBStCtMm1rDns46g1j1SW2zIgLOd1d18N5VpUKHaeLCGUuTbwjtr1tYZMkjzeX2igtj0iDucnshk+zmxCFhGFpZ5LIjjYt1JJRb6zzF5KJeKY6hUfA9kmEFlBN2GQXtVXuSmd4cCAG7dQGFbZtOZXAVBo3ij/PCJCKRYonjboCCd9XyyUxZ1UJfcSKlsOqp+saNmZwidgItDKttVkSEd/piYLWojlXTIWJtjFzWUy8eyb8U1QIYmdRwOcSgNJU0MhyruMKoW5jSnldnUcm0kqbVQVdF8HpVq0X55GhtocmlWfJUSVOWuYj1PTmd1+vVVU27GChLJfWSBYiLRZp6Cgk0FdEsBqp7heaitDJFCtcs0ZoagWwmlcHVS2lq6yiNkpbFqo9zvKZBzRcqdeXmzGWa1EJfcVXKqCq2sGJAc2uY6WxgEIs+adCsNQ2UbjHQ+a8JVwu0KoJoYRkqkMWYfnUFha8J26cOFgMRZGQjPwcXyPP5aASxwPmzq2rVztlWRRAEsQPOrhAEQZD6At0VgiAIUgOgu0IQBEFqAHRXCIIgSA2wd7UVcDIURVVbBQRBEIfgfHdVrSBM8mOBb775ZlUUAIDBXYMPPnD/JRd83/Dqnfc/9dPzL5jYOLHCWiHWLL9++XXXOz5yGFJ6HN9znL8YiO9dIQiCOADnz66qzjDfNhgOO3bsePrpp25tO9Pw6tNPP/Xzyy+fPn16hbVCrJl+8PQq9hmkdnF8z3H+7ApBagtcD0CKw/E9x/nuyvFNiCAIUg84310tX7682iogCIIgw8X57gpBagtcD0CKw/E9B90VgowscD0AKQ7H9xx0VwiCIEgNgO4KQRAEqQHQXSEIgiA1gPPdVbWCMCEIgiAlxPnuyvFPyyAIgtQDzndXCFJb4HoAUhyO7znorhBkZIHrAUhxOL7nON9dOb4JEQRB6gHnuyvHvzqHIAhSDzjfXSFIbYHrAUhxOL7noLtCkJEFrgcgxeH4noPuCkFGFjzPV1sFpCZxfM9Bd1XXLFy4kKoGY8aMqXbVEQSpMfautgJINVm3bt306dMrXy5FUZUvFEGQmsb5syvHvzpX23Axn3rixbAlLoGNxbi8aRhfjAPgYj6fkphlbGtD1MKXvzQ7urFM6S0xAlGqaWwKLuYj7WDSW8jTeqtZXxVTaC8Q9mcZX4xTd42Ca1cSTCqiMop4Xm0oEyVqr4853105/mmZmscbzfEKcX9ppbOpZFHZGCrVYlMblnElg2IdcsGky/YYYKGbP15yS4xE5Goam4LtjHhC0EH6CX1v4WKtsvn5nLtD7Vasr9rTsSdM0+GenjBdcP1KiHFFuJjP1dsu2yMNAamCobTBSRmWoahAovK1GB7Od1dI7cHFfD6fTz1bUe4XfTFWvM4wDHE7ybDAxXwMwxC3lCwTSGQiLvFYOwGSzjApdfmCr5LdhSYjqy6Ui3Vko13SUEaHe6QBWMqlTAHUlTLUTZ5siIUYmUKjj5RE5SXN0sSI2265OirxxFRDnHQqtmcY8YxRLp2eSmtKjeKLcSxDphGrSZqCrEQqG22Lt3ginXluADLJbk62v86tGF0luxMHAJBiTJVXW4Ml+hd5bNTBNEj2VObxeTtJnoqwnRFPmriv8cd5vVf1t0VBzikW39fC87mo11DNkQu6K6TaZCIug3WLYBfP83xO/KERt5a5YDIQyWQ87Twfj7dFsykWALjupKfFDwCQgBbplpJhwR9Ph7zRXNwPLBMA8X6zC1rFMVI80wLEfWY3o77t1GX06wr1NOnuu4lcgib6Sim6cbEOMXEumu3QjVJqU+grAiBYw29UuiZNONwjCPN6o11h2jClBsL2kqGMc6n1JBEbJe2JuFLSEemCFFOoyu2A9jCt2BsAjHoLHe7h23tduh4kYHhV3Z1aO3slDY2U1zRsKivM79pcHHlsx5J+yfNy3UlPe5i20UnyVATA63aJ1vIZGwAA6CaP5kQ4XJNTd+e7K1wMHOmolnekEUv0ANIPLdcLwWbBJ9DhnlzUK/5K6eZgNsUC2xkRvRWExP/3t4SyfcrPnevLQiIg/J5dkUy2j+P6skRaKV0m0tsiLLZIMyhdRk2hdJOHLAg4luWAEE5ooqmUDB3ucndIJejso85loI8yZplWVpWGi/laoasnTJuk1JDrzUj+WDSUcS6z2imN4nJ7Zavkhe2MZIRCXJFMQnbihr0F/HH1ypc4axHbUHtV05162tyShkbKq/G3BZMuiqKo1m7VsR1Lgr8llFB6TmGdxLAiAJnenFQP8T5En43ryxrcUdUgzndXjn91ri5wuZV7TZYhBnW6OZhNMalstE383SfEG3E2lSB/onSThxzoesI03eSR0nJ9WSmdVxBEh3taUr4YZ5RRW6i/xRNplUZTLtYa6OjmCOFaTfQI7oM3HW1UGOlTSBrCV5mmFAdONpUAAHC5vdLgK56xo8NwYVMJZfdFOxtTp2Q062aeJloc1+N+w6ua7kS1Wm5vqq0h+gVh8kMcgy2b+NuiSs8pqJMYV8TfFs2SG1Ncd1J/v0PczNU4zndXyEhHtbxjsu5Ph7vEG1mKCkCUGNTpcDskstK9MkAIUmIqaU0/E3H5Ypw/TqykUAwL4I+nQbgdNhyu/PH2XuOM2kL98ZysnCsZzPWEaUI4oYlh3X0xaA6CaIPWXg+It8tmGOljOw0Xa41kZIMzrEFKWtYmBSGN7cUztnQoFKGZZD07lDsQEKYlwgRL31tI81NUh1u9pmh4Vd2d0l1BU6101hDnba6Ipz2cI45pezahm4NZuefY7CQWFdEuEbp626UppzTVsyO7VqB4nqcoinfu69DOrp01O3bsOOUkb1/mD4ZXm7w/2PRSplrvXZWsUcjpAhfzdTb1VOC3qZ6jOBuirppnUBCkclAUha8JIzUMF/O5IhDN9VTSbVSl0CpCh7uCPhcVAQDwRnPxauuD1C04u3IyJZxdDQ4Orlmz5v777//Pf/7z+uuvD1Oxem4UBEGKAGdXSB5kL7V58+ZRo0bt2bOn2ho5H/TlSHE4vuc4311hEKYiMPRSQ0ND1dYLQZD6xfnuCt+70jOw6+Pdez756quv3n77bQCYMmXKuHHjAL0UgiAjGHyQvb4Y2PXx2aF214lnLTjr0qEvhs45+8xTTvJOmzZ1yeIzBgYGvv3tb//4xz9+8cUXh4aGLNb9qGHT0NBQyVrXFtr1AC7GxDhtdFc5OhLxxLQY0UiTUonuU1T0XkkHGyFTAewFFC4uoyYObf6ClJBH9YLjV5LQXdUXP7v85v0mN/7fP9f0bU6+84/V3ObH+zJ/2LYlud/4/1p6wflvvfXWww8/fOqppzY0NAjzLUP4YfP5559Xsta1hXo9gIu19rYID8wTr6HmgslWi7FYecHWIKpTIdF7DWUahUyVZBcXULjwjDbS+9uCyXzBBp2F41eSnO+uHN+E9tnzyacbN//95l9eOHr0KPL8hPH7/mb5JevWr+d5/txzz92wYcO77757zz335PVbSNlRgiGWhoKi95rIUEKmaiK0WgUU1gdv/f/bu/sYR877PuC/cS2d5du73dU5UJwqPhWdWUgEEaioC8GkImlhnwByY5VIY6YGTtjAljlVAJu0nG0bZQGdgK3VdgGbE/+hkJAME77GMaUUVJTlFHKtnFWRaoGiqQGCDpYTWGupQQT0tC+352gvLqZ/zNszb3xb7nLm4ffzz/HImWee55mH85vnIflbJj+svaOTrjcg065ZjCCrzoF8mzEJf81kWcAN/sMVkjDZru8eLM6fO3/urP+lM2duv3Nhfn9/3/jv/Pw84lYk9Lpk5/pjEjpI9byZBN5JXsBk5nWeNDIumE+Pkb03kJW+0JuZt19CYSJP8lY2Pyyb4tabrpe1rax21/VKJjAlrs0uAfGKM/yHKzgOf9y69957p10pzrHrAa7kpIE56djEenaiXvNJ9zV99Oy97kSxDrNW4Zl5h8mBy+aHZXnS9bKqpYAMwH59SuAb9ytJCFcwFDtuHf83wtAfux7gTfc+mkxlvev8EanRs/c6iWJdrITi4Zl5h8qBy+aKDay+J7csUaGpN8n3B1Z8mzl63WHCGze4X0lCuAKIMCkxKOVtX5lK0Pcihs/ey/ClTBUDM/OGJRT2YXPFitaOTlN9uWXNqq9ZXzIxDhSymYH9Cx3AASRh4pknCdPOu3976XNf2X4r+DtVU8x4Cyz3iD21rL3MATnJ3nvqXTdtfF/rBEHA7GqGnJ87+/7ewdHRLf9L+weHu/sHFy5cOP1aQV9isZZonNbvhzQlzXyLI+bUzXp+bXZi1Szgf3Z15coV7j+BDONPcfvbhfWP3bnw3B88yX4/8Ojo1lef+db/vfH/XvmzP59GNcGF7/cjnBy+R45gNI/vRs4yf7ja3bvxpa8996O3/nJx/tzNv/vgjjvu+JDwoff39h+9dOmFF7+9uLg4xdqCAe9HGA/fI0dARvZZs7hw7uUXv3548+fXdw+Wf/PLf/L9l+++++75+fmFhYVpVw1M3KfSgRPC/cjB7Ipnkf1rwgAAI5mJr1rM7AdXAAA84T9ccf/TOQCAsV27dm3aVRgWPruC6RMEYdpVAJhRgiB84xvfKJVK067IYAhXEAn49BRgKgRBePrpp4ko+hEL4QoAYKa98MILTzzxBEU+YiFcAQDMtAceeCAWEQvhCgBg1sUiYvEfrrj/6RwAwPFFP2LxH67wuysAgGFEPGLxH64AAGBIUY5YCFcAAOCIbMTiP6sFFgMBAEZiRKynn366XC5Puy4O/sMVkjABAIwqghELi4EAABAgaquCCFcAADNNFMX+Gzz11FP333//I488cirVCYVwBQAwu4ZJ1ykIwv33338KlemP/8+uAADgmPb29vb29qZbB4QrAAAYDOHqxCEJEwAAB/gPV/jdVUxpSjqtaNMqRJWN/VRZsB2/OkE0JS2r4+9uVdApQ5XZ/41xFKPtE+l/9uhBVdCUtNW7w3dCaGnj1+5kTu2EMWPRri/TgcaT7IAN6VRNSY/S3RHCf7iCeFI360T1rWNeRcRiq1X0fetppEtdqtzTdV3X9V6+LgW9yyd44RyZKmepqeu6rlcyVmUaiXJqAkUHd51tMq3uUb6n67reLFA1O6VeHDTSxm7pRAeGpqSzVXssGmdGlQWplDTOv/0kEVGhaXeqe8RqSloQpFJ7UrU6ZQhXEElqo5Ov1fL1TePNZt1Emrf9zB2mc3tpvS/tZ2TVniXZ95yySqosldrVrPW6a2f7vw1/lcRirZyqNtTw0tjnR7LtapKnHHd7XRVWG50CbThH1JTV7nplpV+/yp5Sncp62+6dYBpHlNOynBYEIawP3bW1u65VyYjFViXD3v7LKmWKxiVWSqSYczeg+9jS3C1z1dOqgPkwsGIUNNJkhdnUOb+ybHVy2uqYwJ4M6iJy7eg89O7rPbpHm42qmrJRpULT3QusTKVZIOpsu0+ErjcLfbs3wvgPV1gMjCO10cmviOJKvtNQiUjbqhs3ka2iyD4mVZa668a9ZZOyskqkKat1445dZ97ImYoxQSp3Gmqm0iunCk1dr2RUeSPR03Vd7yUaisbMVXJUDaiVuJTsV5rreXY/dsUm6DJUrVPNnL+tKpq7fPK0l62wtt1pdxI1q/FGsAq9ehGpstDI6XolE9BvYW33dBGRecSQPnTVNlyq3GPOj6asltqp8lqfqg8W1vnWMUIq5hlpRPbp6JWpvqU553ct0WmoRNpWl6jbI1IbnYQU0JP+LjLLFYvrSSPeaFv15HpRDNrXfXSnnmKa1dOIAAAgAElEQVSx1SxQuyTZsa3XbVvdlw4ZWVIiRe1u7zjdGin8hyskYYohtVFtlyTj/rShEonFWmLDfJuyj7XtTiFnXg0yuUJnWzMvBL4CjVtvzzKItt0x3/9SqdrtMaVlckF3oNp2J5WQwkoLf14stnSH/0JeMGtshUNXOZ72shV2dpUSKWpsGnfzxl19WtE8M8dqdiPRM66dAf0W0nb/EVP5Fbb+ng3Y2vaRXHLKUGWp1C40W0XR6ql+ITdUWOebQirmHWlEdp+KK3liL/VGSNO2uonaOjVUbZvyK6K/J8nXRY5MLlnf0kjb6ubXMgFnoc/RyQrIvXLKWDi1ZqR9pky9bptSCSmsy2KH/3AF8aM2OvYHRubNslhs6XovsWEELOuxuJS0LzJqo5pcEtlnbJqyYcwcer5PdexPA/RKhtlX2+74ayVLJcqviGGlhR9l0OzKWq8xmuArh217SIV7XUqsVXSrz1KFZqsomvMN6+pfaNZo1Th4337ztp09oq9T/Bu4ajuIpqSFbKfcYz56E5gVxuAHwQW5O01KWJMTtWFOFoMqFjDSwokreWpsdhMropQwHwT0ZN8iMmv5+qa8WU+siEFnoe++Ti1SzoN+n/ipcrYaHjrjCOEKIsdYnzEem7e0xvVeKiVzGfYxZSpNyhpRIEvNSobYZ+w3sriUrGaZW29xJd/JCoLcK9bydcnZOLNW7hj7rtbt2phzB0HIUlNvFcXw0jzPOwbNrqi+yjTBUz7bXtFbYauxG4la38U3ux7rXUlIK1pAvwW1nch7ROeF4D50nZ1BNGW11HZ6+DjfSwg4KWQU26CCcayAivlHWlDRZktVElcSnU5iRXQeUMAIDNjR/VyVzNl0n319nFseqdQ2PrESi61eOWU0W8hWmTmr8Vy2Wmj61j5lY1OqemsWB4Ku64Ig6EPk4YgpvlvX387OzkMPprbb3wt8dSn1+TfebF+8ePGUa+U3y+cIIPoEQfjpT39KRPfcc88U64DZFQAAxADCFQAAxAD/4QpJmAAAOMB/uMLvrgAAOMB/uAIAAA4gXAEAQAzwH66wGAgAwAH+wxWSMAEAcID/cAUAABxAuAIAgBhAuAIAgBhAuAIAgBhAuAIAgBjgP1whCRMAAAf4D1f43RUAAAc+PO0KABARCYIw7SoAQKQhXMH02X+b8e23355qRQAgurAYCAAAMcD/7OrZZ59FxIqLKf5pbQCIOP5nVwDxgrsrGA/3IwfhCiBakJQZxsP9yEG4AgCAGEC4AgCAGEC4AgCAGOA/XCEJEwAAB/gPV9x/WwYAYBbwH64A4gXrATAe7kcOwhVAtGA9AMbD/cjhP1xxfwoBAGYB/+GK+5/OAQDMAv7DFUC8YD0AxsP9yEG4AogWrAfAeLgfOQhXM+3RRx8VpuEjH/nItJsOADHD/x8QgT5ee+21ixcvnv5x8beDAWBUmF0BRIv9t5UBRsL9yOE/XHH/0zkAgFnAf7ji/tsyAACzgP9wBVGnKWn3FzFkdcJHUBVFG7iNnFY0Ik1Jp52NVXno2jCtSA8+2jB1U+XJ90QEOc0M7gpNSbP9EDJa2Kf9vdb/VXML7wtM/6tyWtHcQ2Pk1k1ESENcnWI+7+4oXyXGHa9ThXAFEZAq93RHJTPZ0tVGfazdZKGRG7I2qizV82Ybevm6NPQlqk/dMpWJ90QU2c0M7gp1s5Qs0AZ7RfWPFk1Ztbtf7yU23Bfg/q8OV8dWURSLrVZRHLl9ExTcEE1JS911uz+alLUaWGgGPGlQN0tJ89VmsrQZk9si/sMVFgNjSVPS6XTafffn3BCmFdV8XZZl5nZSVklT0rIsM7eUqpyttkuS+dh7Q2k9IzfcxzdilR0uPDuq7oNqykanXLMuZWKxZV2Arb2cKYC7UYF1sycb5kGCusJTH2sTV5QM20Zhbrvt5riKZ6Ya5qTT6XtZNp8J2stXT+dsWiclrWiqzG5jNpPtCrYRjU55rZIbfEVt17c0u/99YSXoVXY4aUREDTm08u7eUJnxxT4OGmAeVn868/iBg2RAQ9TNUrLJ3NdkKro/qmbWymTvaW5l7SMlUoFVjSD+wxX3P53jQbsk2VdQ55qbr+m6rvfMNxpza9nL17Oldju5ruuVylq501CJSNuqJ3MZIqIq5axbSlmlTKVZSJV7lQypcpbMO8oarZrXSPOZHFWd6mzJQpb5r3/HjO+gySXffTezl1ETf6OcumnKhrlxr9zZ8F2l3F3hbwiR0RuZoKN7tikWW0ZhqVS5VhQDt/Rg+t7qqOC93PVkmSelmSxJDesRG4KcrnAdd4PWi6LT30QUNFrEYktf70q+EWQIfNU9nFY3u1YNgyrvObGNjjG/W5M09vEwPZmxIq+2VU+uF8UhBsmAhhClEpLZW+ngDiAicSkZ0hhZ6q7HZRbPf7iCGHAt71jvHTMCWG+0XpfyK0ZMEIutXjllvkvFlXynoZK6WTKjFRXMfzO5Qmfbebtr2x2qZo33s1Rqd7Y1bbvDbGtt1y51c8ZiizWD8u3oOai4lGQPRJqqasQUztTE0yibWKwlNqwj+PrHvVdAfZxrVmhjXdtoSnqVaq2iGLKlR6/btuKx2VHBe4W1zjkpUiJl98pA6mapbRxEKrWrdhAPHC2UqbhXvsxZi3kOva96hlNrLWHVMPTCbsus5euSIAjC6pbr8TA9SZlcoeqMnNEGSWBDiNrdntUO8z7Ev5u23fHfUamy4FpDiDyEK4gJKeHca6oyc1EXV/KdhtzolNfMt13VvBFXG1X2LSouJdkLXasoiktJa1ttu2NtlzIKEoutXCOtaEE7eg+aySVLq9bVVFNWsxtbGlO4tyZ+RvjQQ682LkH1GWUbJlaFbmleONVGlYhISqSsi6/5zDB1OC61UXU+fen7EYsqe9bNkkuieV2vZAJf9QwnYbXvx5vu3jDjgjH5YR7TUH2SWSs7I2ekQRLckMxaucN+MKVt1f33O8zNnLWZkh7+o9moQLiCoezv71+9enV5efm+++6bfOmu5Z2QdX+xWDNvZAUhS2Xmoi4W16nase6ViQrUMLey1vTbJSmtaJkKs5IiyCpRptIk43Y48HKVqax3g3f0HjRT6dmVk+r5XqsoMoUzNQlse1qhlTyZfbDaTZJ5uxwmqD5Db6Mpq6W23eGyGrClaNemQQVP35vPDFWHURmnya7nhnMHQsa0xJhg+UcL2/2CsJFwrykGvuoeTs1aPrRWvt4w521SKble7DGPxeH6RFzJd+yRM+Qg6dMQ7xKh1F23YpA11fOXbdzv2a/H5buBgq7rgiDo/P4cmu/W9bezs/PQg6nt9vcCX11Kff6NN9v9kzDt7++/+uqrL7744ltvvXXbbbcdHh7SJH48P+GTwk4XNCW9udQ6hXtG9xyFb0xbPd9BATglgiAgZyAECIxSR0dH065XAE1JSyUq91qnGTamctApEou1fFoSSkREqXKvMu36wGziP1whCZPf7t6Ng8Obv/jFL959910iunDhwtzcHMUqStnEYksvuv9/8ldT70H5N3sthujhfzFwlvkXA3f3bvyrf/0ffvjf/uedC+dv/t0Hd9xxx4eED+3uHyw/8vB3at+9ePHijRs3TqFiZ86c+eCDD07hQACzg+8rORYDZ86XvvbcXb9059/8+NXbb7/NfvLgxs1/++/+6IkvfuGdd9559dVXv/3tb7fbbXt25cfxWwIgvrhfScLsimee2dXhzZ//o3/2L/76f7x8/txZz5ZHR7f+4T/JvfPOuwsLC2StCobFLYwWADhlgiDw/0V2JGGyXd89WJw/549VRHTmzO13Lszv7+8b/52fn798+fLrr7/+3nvvPf/888vLy2fOnDE+35o5miIrGvLwRi0P71hZa20BeXWH6f8xOZmX4Fj4D1dIwnQc/rh17733TrtSp0lTVrs548vqyMMbYEp5eI+btdafV3fM/h/uaGv5elyyyEYa/+EKJsKOWz/5yU+mXZdT5CQiDHwVeXgnlofXOXqffLKs0bPWMhXw5tX1J9jVPImAfRUbmKyWOZyZs+ukcb+ShHAFEK7XJTvPHvLwTjwP74ACidz5ZJ1nx81a66mA3TR/gl3RkwjYZ5hktfbhTidecb+ShHAFEMqVGBR5eCedh3dAgUatmByynlfGyFrrrUB//ROXDJGsdrTDwSAIVzPk/NzZ9/cOjo5u+V/aPzjc3T+4cOHC6dcqyryX+IGQhze8IcMW2CefrL3n8bPWDuSPVZ6KjZSsttcNCccwAoSrGbK4cO7Tv/7Jp575w4MbN9nnj45u/f7XK8uPPDyj3/3rQ0o46WaRh3fSeXhFf4F988mKTOHHylrra5pGvgS7nkTAvorRKMlq2bkXjI3/311duXKF+08gwwRmtfjS15770Vt/uTh/zs5q8f7e/qOXLr3w4rcXFxenWNtImlzGXOThnV2ndL75vpILs5DVYmZjVaDFhXMvv/j1w5s/v757sPybX/6T77989913z8/PG78OBh+xWEvIipY53gUfeXhnmrpZz6+1pl0LDvA/u5plx/8DIgAQF3yvJAmzkNUCAGAWcByrDPyHK+5PIQDALOA/XHH/0zkAgFnAf7gCiBesB8B4uB85CFcA0YL1ABjPSYyca9euTbzMsfH/RXaIPkEQpl2FaEGHwHgmPnIEQfjGN75RKpUmW+x4EK4gEvBTCoAIEgTh6aefJqIoRCyEKwAACPXCCy888cQTFIGIxX+4euaZZ6ZdBQCAuHrggQciErH4D1fcf1sGAOBERSRi8R+uAADgmKIQsRCuAABgsKlHLP5/d4XFQACAiTAi1tNPP10ul0//6PyHK/zoEgBgUqYYsbAYCAAAI5jWqiDCFQAAjGYqEQvhCgAARnb6EQvhCgAAQomi2H+Dp5566v7773/kkUdOuiYIVwAAEGyYZJ6CINx///2nUBn+vxmIJEwAACdqb29vb2/vpI/Cf7jC764AAE4awhUAAAARwhVElqak04o2rUJU2dhPlQXbqCWZ+8qqWROzGFl1/mu8NiRNSY+0fXB1mGOqckANRjmK0UsTOVPs0YOq4PTfCJ0WWtr4tZtYS08SM2rt+jIdaDzJDu2QTtWU9Ihj9GTxH66wGBhP6madqL51zGuDWGy1ir7vNY10AUuVe7qu67rey9eloPdu39IKTb2SIdKU1VK70NT1ZoGqWVklsdjqlVNDt+P4VDlLTV3Xdb2SISIiTUk3EhOpQnAn2yYTLnqU7+m604HTMGhMjt3SCUZUIk1JZ6v2qDXOjCoLUilpnH/7SSKiQtPuVPfY1pS0IEil9qRqNRH8hyskYYoltdHJ12r5+qbxFrJuDc2beea+0TNrYZ+RVXuWZN9JyiqpslRqV7PW666d7f82/FUSi7VyqtpQw0tjn3fRtuptKuQyRJlcgaizPXYU3nY13nNEd8+4mqY2OgXaYCd7q931ykq/MyB7SnWa5e0l71TUOKKcluW0IAhhve2urd3JrUpGLLYqGfb2X1YpUzQusVLCiLDG3gMu8mxp7pa56mlVwHwYWDEKGpOywmzqjARZtmfUVscE9mRQF5FrR+ehd1/v0T3abFTVlI0qFZruXmBlKk3vsBSLLV1vFvp276njP1xBHKmNTn5FFFfynYZKRNpW3bg1bBVF9jGpstRdN+4Ym5SVVSJNWa0b9+E68/bMVIwJUrnTUDOVXjlVaOp6JaPKG4merut6L9FQNGYGkqNqQK3EpWS/0lzP92tdu9sLeYVdsQm6DFXrVDNnequK5q4JeXqGbZq23Wl3EjWrm4xgFXr1IlJloZHT9UomoIfDesnTmUTmEUN621XbcKlyjzmTmrJaaqfKa32qPtiA0xRWMc+YJLJPR69M9S3NGQlriU5DJdK2ukTdHpHa6CSkgJ70d5FZrlhcTxrxRtuqJ9eLYtC+7qM79RSLrWaB2iXJjm29btvqvnTIyJISqT7DMioQriCC1Ea1XZKMu86GSiQWa4kN883HPta2O4Wc+R7P5Aqdbc18e/sKNG6oPYsb2nbHfFdLpWq3x5SWyQXdV2rbnVRCCist/HmvVEIKeUUstnSH/0JeMNtmBU7XET09wzbN2VVKpKixadzNG3f1aUXzzDGr2Y1Ez7h2BvRwSC/5j5jKr7D192zA1raP5JJThipLpXah2SqKVk/1C7mhBpymkIp5xySR3afiSp7YS70R0rStbqK2Tg1V26b8iujvSfJ1kSOTS9a3NNK2uvm1TMBZ6HN0sgJyr5wyFk6tGWmfKVOv2+4zLKMC4QqiR2107A+MzFtgsdjS9V5iwwhY1mNxKWlfOtRGNbkkss/YNGXDmA/4Py6y1/j1SobZV9vu+GslSyXKr4hhpfU5iriUJDLWERtV9yXYW9P+sytrvcZorO+IbC+FNK3XpcRaRbd6N1VotoqiOd+wrv6FZo1WjYP37WFvL7FHDGyeewNXbQfRlLSQ7ZR7zEdvArPCGPwguCB3p0kJa3KiNszJYlDFAsZkOHElT43NbmJFlBLmg4Ce7FtEZi1f35Q364kVMegs9N3XqUXKedDvEz9VzlbDQ2d0IFxB5BirLsZj80bVuIpLpWQuwz6mTKVJWePanqVmJUPsM/bbU1xKVrPMDbW4ku9kBUHuFWv5uuRsnFkrd4x9V+t2bcwZgSBkqam3imJ4aZ7nWZmK8Wm2kK2myr3wOcGg2RXVV5nGemrC9ozobZrVLRuJWt/FN7se611JSCtaQA8H9RKR94jOC8G97TqPg2jKaqntnIvjfC8h4PSRUWyDCsaxAirmH5NBRZstVUlcSXQ6iRXReUABYzVgR/dzVTJn03329XFueaRS2/jEyvhij9FsIcveMBnPZauFpm/tUzY2paq3ZtMj6LouCII+RKaNmOK7df3t7Ow89GBqu/29wFeXUp9/4832xYsXT7lWfpyeI1UWstQMXbDSlLTUXR9vPQsgOgRB+OlPf0pE99xzz4kehf/ZFZIwwRR5vx9s0ZR01L4lDBBx/Ke4xe+uYEoyFV2vhLwmFlt68VRrAxB3/M+uAACAAwhXAAAQA/yHKywGxhRnOQPJnYENOQODIWfgJEwiZ+BYHX7C+A9XSMIUT7zlDPRkYEPOwBEhZ+AIhU0gZ2AkOtyL/3AFscRXzsDJZWBDzkDkDDyVnIG+Do8ChCuIIr5zBoZDzkAv5Aycas7AiXT4xCBcQQRxnjMwHHIGeiFn4BRzBrIdHgUIVxA93OUMHBpyBvbrGeQMHG5fpxbHyBno7fAoQLiCyOEwZ+CwGdiQMzAYcgaecs7ACXb4BPGfM/DKlSsz+1125AycKuQMhJkgIGfgpMxsrIIoQM5AgEnhP2cgwJQgZyDAJPE/uwIAAA7wH66wGAgAwAH+wxWSMAEAcID/cAUAABxAuAIAgBhAuAIAgBhAuAIAgBhAuAIAgBjgP1w988wz064CAAAcF//hCr+7AgDgAP/hCgAAOICcgRAJgiBMuwoAEGn8h6tZ/gMicWH/9ZC33357qhUBgOjifzEQSZgAADjA/+wKYuRE/7xbXGA9AMbD/cjhf3YFEC9YD4DxcD9yEK4AACAGEK4AACAGEK4AACAG+A9XSMIEAMAB/sMV31+VAQCYEfyHK4B4wXoAjIf7kYNwBRAtWA+A8XA/cvgPV9yfQgCAWcB/uOL+p3MAALOA/3AFAAAcQLiaaY8++qhw6pzDa0pakNW+NVQVRTO2HLChayd5ULHe8o9RAmlKOu0UosrC8LvGnSqnXd2nKWn3uZ54T4Scr6BajX1emFakBx9tmLqNMpwmij0hwTXo985yqm03bZj+PzkIVzPttdde00+dfXR1s5Qs0Ea/8a826mM0K1PRK5mhtgwrf/gS3MXJQiOnj7UrL1LlHnOuJ90T442Hkc6LKkv1vNmGXr4uDR1n+tRtzOF0XJqyajdF7yU2Rgq+xFTbbtqY/T8pCFcwLWqjU16r5JKlTfOCwNzoGTfIqpyttkvWBaMhu+94Vdl136gp6XQ6LQiyat0VsreWxk6eXezyfVsy95XuXezD+O+9jWuifVmyd7QPbZbou5/1bGk3RAmvv3lkX48xjZZla+oTsFdIEwIKDNrYKlBuDHOeg0pwOjytqFZ7ZU8XaUpalq1Duc5XQKPCazXSedGUjU65VhSNbcViy7pgDxoGgXVjBpFrjAYOY8/ZZ4dIwNE9p0mVXQe0tetbmt2WltEutvM1Is87y/8+spvmfj9OAcIVTIembNB6UaTMWrnTCBn/mUqzkCr3jAtGlXK6ruu9MtW3jMsDNY37xiZljXdQO7nO3kKLxZaxRypVrhVF0pQNc5deubOhaE753i1tQUchytfYmhAR0ZYsZKsUuGONVmXVaae2VU/mMn22tBtS9NQqaEtfr9r30zmqhpYf2IRw7o2dAq1DsNolyY6xzsXTXQJTy16+ni21jfZW/F1knnSz853x4G9USK3GOC/JJWYA+PYKGwZO3XzDbLjO9J59Z4gMKJDIuPXr6bqur0nMy2Kxpa93JW+oYzt/dbPrfWf5KmA3zfV+nAb+wxX3P52LJ3Wz1K5mBUEQpFK72ndB0FQwLmDiUpKISNvuFKyLfiZX6GxrRJRKSN69NCW9SjXjtlIs1hIbgnlMX/nslvZzQUexrmdmTYiI2qVuzlhvse7UtztkNE8QpFK7s62RuJLvNFRSN0uuaBWwJdsQplaBW3r0um3rapvJFULLD2hCH+6NmT4xD+HiWgy0Lmyew/W6lF8xaikWW71yymyvv4uYI7Ht9TcquFajnxdxKenqWE1VtaGHAZlN6jfMfJ3Z7+wPU6BRq7V8XRIEQVjd8r5SsU5Gk7JpRfN0fmst4XlnBVQgMvgPV/jdVRSpjWqhaV/VmvaCoHklUBv+23Y3cSlZtSZlaqMacEdM3ghk/M+8S03123K0oxBRqryWISKx2Mo10opGJC4l2et2qyiaF2O50TG2ZQ7h2zK4VsFbuntMSqSsq635TL/yAw06BUyfaNudAYUFkxLOpE6VmWuwr4usI3k639+o4FqNcV4yuWRp1bp70pTV7MaWNuwwMPcJH2Y+w5yd4AI9p8lYH/DMllXZs9ibXBI9nS+sTvXDqBHxH64gejRlw3XRzuQK1Q1FE1fyZCwlNYi5QZYCPyHOVJpk3pZmqRm0PqEpq6W2vTYlq07xwmo3Sd2eXb4su7cc5Si+aq13pbSiZSrMKoxZpFhcp2rHurV17eFfPvPXP2BLX4+JxZp5m233YWj5QQJPga+JVp8EXepci4Eh36xjailkqcxc1L1dVKCGp/ON8eBvVP9ajXBeMpWeXTmpnu+1iuKww6BdktIKBQ6zMEOcnYBx6ztN5kdXUim5zkQ8timCsJHoVTLezm/W8n3r52qaRuHvx1Mh6LouCILOfF8LuLGzs/PQg6nt9vcCX11Kff6NN9sXL1485VrNrpA53MkcwfMNg5hgu0hT0ptLrVNowcmfFzg+QRD4n11hMRCiQFPSglTP1072msjcOmc9q47RdzpdFIWDwnj4n13x3br+MLsCAD7MxOwKIkhgc1uAG9YDYDzcjxyEKxjK/v7+1atXl5eX77vvvmnXhXNIygzj4X7kfHjaFYBI29/ff/XVV1988cW33nrrtttuOzw8nHaNAGBGYXYFAey51F133fXkk09eu3bt6OgIsQrChWdxHS498ZhJVDVFVjRfql3gE8LVLNrdu7Hz7t/+4he/ePfdd3d2duw4hCgF4zpmFtfxkqhqymo3VxQps5avbw4OiRBz/IcrJGFi7e7d+O3CuvSpz1363FeObh39y9/+rYceTP3Kr3z8nz/2G7u7u7/6q7/6+OOPD4xSwrGdOXPmNFs9y7zZewPyCDN5Z13pUv25gx2+DLP9srg6SVSdQ7t2D0yiOjgzr5Nb0MykBHzjP1xx/22ZkXzpa8997M6Fv/nxq9tv1f/P//4z7a3vb7e/99f/vf6xc//giS9+4Z133vnud7+7vLx85syZubm5sEL0Y/vggw9Os9WzLDR7ryVj5cTXturJ9aI4RO7gQcl2fflz3ZlqA/LM+pOoDpOZt9clK7sd4tUs4D9cge3w5s9/9NZfPvcHT95++23s8+fPnf3ms19+7Qc/0HX98uXLr7/++nvvvff8888PjFtwEia/HtA/a0MmV6g6OV6HyR08INmuL/dr0vrBslHgMLl6h8nMq213+qfvmzXcryQhXM2Q67sHi/Pnzp8763/pzJnb71yY39/fN/47Pz+PuDUtE14P8McqbxLbzFrZyfE6TDrXUdPmdqxZllHgMLsPuY0T6nrdkGTlM4T7lST+wxX3p/BE+ePWvffeO+1KwfB8eXKDktiKK/mOneN1mHSuI6XNJSKqr7IFBu7uSaI6zCGkhJ1Blp0UAq+QhIlnniRMO+/+7aXPfWX7reCvXiEnE8SNnQT31LLhwtQISMIEEDVYDxiaWKwlGopG6mY9H7N8vieB+5GD2RXPMLuKo1kesXAcfI8czK5my/m5s+/vHRwd3fK/tH9wuLt/cOHChdOvFQDAMBCuZsjiwrlP//onn3rmDw9u3GSfPzq69ftfryw/8jC++wcAkYUUt7Plj/7jv/nS1577xw/81uL8uZt/98Edd9zxIeFD7+/tP3rp0ndq35l27QAAQvEfrrj/6dxIFhfOvfzi1w9v/vz67sHyb375T77/8t133z0/P7+wsDDtqgEA9MN/uOL+2zJjmDv70bmzH/3whz98991347sVABAL+OwKIFqwHgDj4X7kIFwBRAvWA2A83I8c/sMV96cQAGAW8B+unn322WlXAQAAjov/cAUQL1gPgPFwP3IQrgCiBesBMB7uRw7CFQAAxADCFUC0cJylFOA4EK4AACAG+A9X3P90DgBgFvAfrrj/tkx8qHL/v5OuKelBf0hdVRTN2HKIv7g+7HH95Y+ySwBNSQuC8ZfcnSq4n4ggq+2T2D2mp1JT0sxZUmVh2F01RQNzH9IAAAmbSURBVFY0UuWon+OY4z9cQVyom6VkgTb6veHVRvCfluwvU9GH/LPodvnD7xIiVUjWN+1LndropFLHKe4UjNe3wbtzcCpVWWjk9OF21ZTVbq4oUmYtz5z008f9ShLCFUSE2uiU1yq5ZMl6wzP33cZtqypnq+2SZD7ZkAVBEJxJi2r+37wj1pR0Op0WBFm17q81JW1tYe7k2YUp37kl92xjl8seOkgil+80VLMhjcR63m7nEAV6t3HqLsvWHby9jfl/TUnLsmw9o8rBBTobuw/qart9hLQ9ATJLdurc79TE/lQascoOVZ7ec0o02qVt1ZO5DBGRuGKf9GngfiWJ/3DF/Snkg6Zs0HpRpMxaOfQNn6k0C6lyz7iKVCmn67reK1N9y7jcUlPXdV3Xm5Q1ribt5Dp7eywWW8YeqVS5VhRJUzbMXXrlzoaiucs3BBVLlK+xhw4hWZcubaubWJGYdroOGlCgbxtNWa3ne7qu63qOqt6K1WjVrJjZJ81kSWpYjzbVkI3dB2Xanqm0iqLR3+YDu2S2E0JPTdxP5ZYsZKsUuKPRe3bDzDjV61LCPL9Tjle84z9ccf/TOS6om6V2NSsIgiCV2tW+q0imgnk/u5QkItK2O+YTRJlcobOtEVHKuog4NCW9SjXjKiwWa4kNwTxm8EECi6XkksgcOpR56dK2uokV0X4y6KCeAn3b9LptcxPK5ApmxcjoL0GQSm2zYmZdpUTKrnX4xkO2wmCV53RCqJifynapm9N1vZfYsGZQ/t4zz6y6WUrmMqRtd6yzAyeL/3AFMaA2qgXzBtaZExCReVFRG9W+uxOJS8mqdVerNqrBlw/2Amf9z7wlD/lgaahiwyu1ku80FFe0Guag/m2kRMoKEmZXiEvJVLln95g9CwprxfAbB7N6wemEsFMT91OZKq9liEgstnKNtKIF9564ku805EanvJYhEpeSTgjvdUPC5WngfiUJ4QqmTlM2jDe+KZMrVDcUTVzJU0kSBEFoUMF6rV2SAj8xylSaZN4CZ6kZ9AG5pqyW2m2jQEGQVad4YbWbpG4vqPzBxfYjruQ7pToTrSj4oL69PNuIxVq+bjxjdUWmst6V7M9vBnx/bciNzbb7PrsiogI12E4IPTWyzM+pzFTWu1Ja0YJ6TyyuU7WTN86slLBPJDuHO33cryQJuq4LgsDxD+n5bl1/Ozs7Dz2Y2m5/L/DVpdTn33izjb8mHH3MXMLzJYDTOvzmUut0jxl1rumd3UGT7Kn77rvvl3/5l7/4xS9+9rOfnZ+fH2YXvq91giBgdgWni/1Sl+v7VvF0Ks1hZldZ1+QFpkFT0oJUz9fsRVWxWEs0FI3UzXp+Ymfnr/7qr65du/bkk0/eddddy8vLV69e3d/fn1DZcYXZFc8wuwKIKUEQ2P/Ozc39/d///ac+9ak+8y2+r3UzMbvi/qdzwBnPdQqAiA4PD4+OjgLnW7u7uzs7Ozs7O0S0s7NzeHg47cqeFP5nV7Ns4OzqIx+d297ePuVaAcBEzM3NXbr0mR/84L/eeecCEd28eXj27Nzu7v7y8iPf+U5tcXFx2hWcJEEQPjztOsA0vfbaa1gMjJorV65w/41kGChskm2sCqZSqS984Qt//Mf/6Zd+6aPXr/+v22+/3d7g4ODG7/3ec0888cU//dP/fFqVPSUIVwDRglgFfmyUMj67Ojw8/N3f/d13322zsYqIzp8/961vPfOxj/3Tvb29hYWFaVX4JPD/2RXe/AAQU3Nzc2fOnFleXn7++effe++9119//fLly8b3LK5fv764OH/+/Dn/XmfOnLnzzgX+vknI/+zq2WefRcQCgHi59957P/7xj9tzqWlXJxL4D1cA8YLProCIfvKTn0y7CpHD/2IgQLxwn0oHYDwIVwAAEAMIVwAAEAMIVwAAEAP8hyskYQIA4AD/4QpfsgIA4AD/4QogXrAeABAI4QqC7e/vX7169bHHHvvkJz857brMFqwHAATiP1zhzT8SO0p94hOfeOmll/L5/A9/+MNpVwoAYAbCFX50OQx/lPrZz372yiuv2AnKAACmi/9wBX0cHBwgSkUN1gMAAiFczbRf+7Vfe/zxx2/dutXpdF555RVN0xYWFgQ39up55coVwQcbTHYDYz0g4pXEBlPf4J577tnfP6BZwv9fE+a7df0N/GvCf978Lz/+8Y9feumla9euPfzww/l8Humfp26WRywMb2dn56GHHtzZeTPw1YsXH3zjjTd5+uOrgiBgdjXTzp8/f/ny5VdeeeVnP/tZPp9/6aWXPvGJTzz22GNXr17l74/lAECsIVwBEdH8/DziFgBEGf/hCj+6HIk/bn3605+edqUAAGbgzzPie1bjMeLW5cuXp10RAACiWZhdAcQL1gMAAiFcAUQL1gMAAvEfrvDmBwDgAP/hCkmYAAA4wH+4AogXrAcABEK4AogWrAcABEK44tn58+ff39s/Orrlf2n/4HB3/+DChQunXysAOL7z58+///7e0dGR/6X9/YPd3X3+3t0IVzxbXFy89JnPPHXlWwc3brLPHx3d+v2vV5YfeXhubm5adQOA41hcXLx06TNf+cqzBwc32OePjo7W1v798vIj/L27keKWc7u7u7+z+vhfXPvR4vx5Ijo8PJybm3t/b//RS5deePHbi4uL064geM34iIXh7e7u/s7vrP7FX1xbXJwnops3D8+enXv//b1HH730wgsvcvbuFow3Bt9vjytXruCz68PDw+vXrxPRN7/5za9+9avz8/MLCwvTrhQE4/v9CBNnv7vvueeet99+m9d390yEK4B4wfsRxsP3yMEfEAGIHCRhgvFwP3IwuwIAgKibidkVPrhioTcAIKb4n13x3bpRoTcAII5mYnYFEC+YAcN4uB85mF3NFvRG9OEcwXj4HjmYXQEAQDwgXAEAQAwgXAEAQAzwH664/+ncSNAbABBT/H/VAiBe8H6E8fA9cvBVC4DIwQwYxsP9yMHsCgAAom4mZlfc/3RuJOgNAIgp/mdXfLduVOgNAIijmZhdAcQLZsAwHu5HDmZXswW9EX04RzAevkfOTMyuuP+2zEjQG9GHcwTj4X7k8D+7AgCAuJuJ2RUAAHAA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAGIA4QoAAOJA1/VpVwEAAGCA/w9cZuw5475oYQAAAABJRU5ErkJggg== src: data:image/png;base64,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 src: data:image/png;base64,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ABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIAESIIFSI0Anv9RGlP0hARIgARIgARIgARIoewJ08sv+ESAAEiABEiABEiABEiCBUiNAJ7/URpT9IQESIAESIAESIAESKHsCdPLL/hEgABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIAESIIFSI0Anv9RGlP0hARIgARIgARIgARIoewJ08sv+ESAAEiABEiABEiABEiCBUiNAJ7/URpT9IQESIAESIAESIAESKHsCdPLL/hEgABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIAESIIFSI0Anv9RGlP0hARIgARIgARIgARIoewJ08sv+ESAAEiABEiABEiABEiCBUiNAJ7/URpT9IQESIAESIAESIAESKHsCdPLL/hEgABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIAESIIFSI0Anv9RGlP0hARIgARIgARIgARIoewJ08sv+ESAAEiABEiABEiABEiCBUiNAJ7/URpT9IQESIAESIAESIAESKHsCdPLL/hEgABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIAESIIFSI0Anv9RGlP0hARIgARIgARIgARIoewJ08sv+ESAAEiABEiABEiABEiCBUiNAJ7/URpT9IQESIAESIAESIAESKHsCdPLL/hEgABIgARIgARIgARIggVIjQCe/1EaU/SEBEiABEiABEiABEih7AnTyy/4RIAASIAESIAESIIF8ERgZGcmXauotcQJ08kt8gNk9EiABEiABEigJAv1tcDgc6q+hM7pjPNLZoMrb+jPd4360ORqgqQ0/dyA1fSPobHBgxQ7DVrNc414+fsWOVPuUDXs1e4yxt/62IeWhVs9TGu2z0dUMyxyfYXkURwIkQAIkQAIkQAIZJ9Df6wVcfQh0NcWQ3Y9Nbh+cTie8Gzqxpqkd1TFqpne7CV2BWDakIzlbctOxqXDauvoCiDn0hWNmQVnCmfyCGg4aQwIkQAIkQAIlSmCkEw36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CZAACZBAbgnQyc8t74xps5MqU2b6Ky64KCWdDzzwgEp/mahxfX29msVPVI/lJEACJEACJEACJEACuSPAcJ3csc6YJonDX/XyOjWLHy5U0mge/nBU3U7VwV+3bp0tB1+USKx+otn+cBt5TQIkQAIkQAIkQAIkkF0CnMnPLt+sSF840IaNs76DeVfOsshf9cp6TL9kWlq714rDLmE6yRySJlNSatrZICsZuaxLAiRAAiRAAiRAAiSQGgE6+alxy2uraOkyZQa/6uIpWHn93SnbJjnum5qaUmovOfHlCwAPEiABEiABEiABEiCB/BOgk5//MbBtgexUe2DsTUs6zHTi7s2KBwYGlIMvWXPsHFVVVZgxYwa+8pWvYN68eepc7vEgARIgARIgARIgARLIPwE6+fkfA1sWiDM/58Xl6P/qz4PZcrQUmj/E2ptcqK+stSUnWiWJq1+4cCFk06tohyyulb/p06crh16ceobmRCPFeyRAAiRAAiRAAiRQGATo5BfGOCS0YudxH8bOfIyl190erCsx+Auu+lJaITqjo6Mq1/3x48eV4y4OvDj0s2fPVrPzcs2DBEiABEiABEiABEiguAjQyS+C8YoWgy/3JHzH7PSn0hVZaFtZWakcegm/4UECJEACJEACJEACJFD8BOjkF8EYznlhObbN+wlmXKbFvItz3zhpbhFYThNJgARIgARIgARIgATyQYB58vNBPQmdnuGtaJz05aCDL7vcrh/yQuLxeZAACZAACZAACZAACZBANAKcyY9GpYDuiVNfXzld7VwrITr3DH4fzzQ8gskVVxaQlTSFBEiABEiABEiABEigkAjQyS+k0Qiz5Yk/PIWVVXcrB98oihafb5TxlwRIgARIgARIgARIgASEAMN1CvQ5ODA2jK4/PBV08J/80wuQDDucwS/QAaNZJEACJEACJEACJFBABOjkF9BgmE3p9G/DY/XfU7dk9v6hg4+j8eovm6vwnARIgARIgARIgARIgASiEmC4TlQshXVzy5Hn1AZYzKhTWONCa0iABEiABEiABEigUAnQyS/AkVk40KYW11ZeeCnGPvsIFeMmBMN2CtBcmkQCJEACJEACJEACJFBgBBiuU2AD0vv2AMS5lz85Vr28HgN/+V2BWUlzSIAESIAESIAESIAECpkAnfwCG52xMx/hsfrVyipZfDv6yTu4c7KzwKyk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 style/background-color: #F0F0F0 style/background-color: #FFFF99 style/border-bottom: 1px solid #CCCCCC style/border-collapse: collapse style/border-left: 1px solid #CCCCCC style/border-right: 1px solid #CCCCCC style/border-top: 1px solid #CCCCCC style/border: 1px solid #CCCCCC style/color: #0000FF style/color: #222222 style/empty-cells: show style/font-family: 'Courier New', Courier, monospace, HanWangKanTan style/font-family: Arial, Helvetica style/font-size: 10pt style/font-size: 12pt style/font-size: 28pt style/font-size: 9pt style/font-style: italic style/font-weight: bold style/height: 102pt style/height: 10px style/height: 117.111px style/height: 121.556px style/height: 125px style/height: 12pt style/height: 14pt style/height: 15pt style/height: 16pt style/height: 174.889px style/height: 174px style/height: 178.444px style/height: 18.4444px style/height: 194px style/height: 198.889px style/height: 217px style/height: 26pt style/height: 26px style/height: 28pt style/height: 29pt style/height: 29px style/height: 317px style/height: 37.1111px style/height: 380px style/height: 38pt style/height: 453px style/height: 503px style/height: 50px style/height: 552px style/height: 560px style/height: 574px style/height: 628px style/height: 62px style/height: 642px style/height: 668px style/height: 69pt style/height: 73px style/height: 75px style/height: 83pt style/height: 92px style/height: 96.6667px style/height: 9pt style/line-height: 1.2 style/line-height: 1.5 style/margin-left: 40px style/margin-left: auto style/margin-right: auto style/padding: 2px style/padding: 4pt style/padding: 5px style/text-align: center style/text-align: left style/text-decoration: line-through style/text-decoration: underline style/vertical-align: top style/width: 100% style/width: 111pt style/width: 116pt style/width: 14pt style/width: 159pt style/width: 164px style/width: 172pt style/width: 210px style/width: 215px style/width: 25pt style/width: 263pt style/width: 276pt style/width: 280pt style/width: 285pt style/width: 320pt style/width: 323pt style/width: 365pt style/width: 400px style/width: 449pt style/width: 44pt style/width: 512px style/width: 517px style/width: 53pt style/width: 563px style/width: 582px style/width: 70pt style/width: 71pt style/width: 742px style/width: 748px style/width: 77pt style: "font-family: monospace, monospace" style: "font-weight: bold" style: font-family: monospace, monospace style: font-weight: bold target: _blank ======================================================================================================================== 06. MODEL IMAGES ======================================================================================================================== (&94488162086016)(&94488162085360) Abbildung 1: Überblick Zwiebelschalenprinzip bei der Ver- und Entschlüsselung (&94488147798384)(&94488147797728) Abbildung 2: beteiligte Komponenten und Dienste im Kontext der Schlüsselableitungsfunktionalität ePA (&94488201647112)(&94488201646280) Abbildung 3: Initiale Schlüsselableitung für den Kontoinhaber (&94488201665840)(&94488201665008) Abbildung 4: Schlüsselableitung durch den Kontoinhaber (&94488236255240)(&94488236254408) Abbildung 5: Schlüsselableitung für einen Berechtigungsempfänger (&94488236265040)(&94488236264208) Abbildung 6: Schlüsselableitung durch einen Berechtigten (&94488236275776)(&94488236274944) Abbildung 7: Schlüsselableitung für einen Berechtigungsempfänger durch einen Vertreter (&94488156120784)(&94488156119952) Abbildung 8: Schlüsselableitung für einen durch einen Vertreter berechtigten Berechtigten (&94488156335368)(&94488156334712) Abbildung 9: Strukturelemente eines SGD ======================================================================================================================== 07. MODEL TABLES ======================================================================================================================== (&00000000)(&94488153608640) (&00000000)(&94488153622096) (&94488152683360)(&94488152685088) Tabelle 1: beteiligte Akteure im Kontext Schlüsselableitungsfunktionalität (&94488152703840)(&94488152705568) Tabelle 2: beteiligte Komponenten und Dienste im Kontext Schlüsselableitungsfunktionalität (&94488211383896)(&94488211385448) Tabelle 3: Tab_Übersicht_der_Kommunikationsschritte_eines_SGD-Clients (&94488211272080)(&94488211273784) Tabelle 4: Tab_Kommandoabarbeitung_im_SGD-HSM (&94488142438952)(&94488142440680) Tabelle 5: Beispiel zu A_17894 (&94488207531544)(&94488207533272) Tabelle 6: Beispiel zu A_17900 (&94488173276328)(&94488173278056) Tabelle 7: Tab_GetPublicKey-Request (&94488163493608)(&94488163495336) Tabelle 8: Tab_GetAuthenticationToken-Request (&94488201887576)(&94488201889304) Tabelle 9: Tab_KeyDerivation-Request (&94488211240384)(&94488211241936) Tabelle 10: Tab_Fehlerfälle_und_Fehlermeldungen (&94488228802824)(&94488228804376) Tabelle 11: Tab_Austauschformat_Akten-_und_Kontextschlüssel (&94488228816752)(&94488228818480) Tabelle 12: Tab_erste_Verschlüsselungsschicht (&00000000)(&94488240739576) (&00000000)(&94488172530184) (&00000000)(&94488156186984) (&00000000)(&94488160568584) (&00000000)(&94488211527712) (&00000000)(&94488153749920) (&00000000)(&94488154839168) ======================================================================================================================== 08. MODEL REQUIREMENTS ======================================================================================================================== (&94488156136216)(&94488156137960) A_17881 (&94488156138504)(&94488156140248) A_17883 (&94488156140792)(&94488156142536) A_17884 (&94488156143080)(&94488156144824) A_17885 (&94488156145368)(&94488156148472) A_17886 (&94488156325392)(&94488156327136) A_17880 (&94488156346120)(&94488156349832) A_17908 (&94488163380088)(&94488163386712) A_17907 (&94488163390016)(&94488163397328) A_17910 (&94488159464512)(&94488159467592) A_17911 (&94488159468136)(&94488159471240) A_17912 (&94488159471784)(&94488159477616) A_17913 (&94488159478344)(&94488159485232) A_17914 (&94488159492528)(&94488152436584) A_18022 (&94488152437312)(&94488152442080) A_17915 (&94488152442624)(&94488152447392) A_17916 (&94488152447936)(&94488152451256) A_17917 (&94488152460688)(&94488152465792) A_17846 (&94488221768352)(&94488221773456) A_17918 (&94488221786736)(&94488221794384) A_17952 (&94488205664176)(&94488205671888) A_17953 (&94488205673096)(&94488205676504) A_17954 (&94488205683488)(&94488205693224) A_17919 (&94488147312840)(&94488147317280) A_18010 (&94488147317824)(&94488147327680) A_18027 (&94488147329184)(&94488158471864) A_18026 (&94488158473368)(&94488158479088) A_17926 (&94488158481016)(&94488158490904) A_17920 (&94488189977448)(&94488189994792) A_18030 (&94488189995520)(&94488211271536) A_17922 (&94488202436040)(&94488202441104) A_17924 (&94488202443024)(&94488202444768) A_18249 (&94488202451544)(&94488202454200) A_18250 (&94488142422824)(&94488142434736) A_17894 (&94488207519520)(&94488207523984) A_17899 (&94488207525904)(&94488207530400) A_17900 (&94488152280400)(&94488152286528) A_17901 (&94488152287848)(&94488215365408) A_17902 (&94488215389072)(&94488215393632) A_17903 (&94488237278288)(&94488237283904) A_17889 (&94488237285232)(&94488237292088) A_17890 (&94488237294776)(&94488237296520) A_17891 (&94488173262928)(&94488173264672) A_17892 (&94488173265216)(&94488173266960) A_17893 (&94488173271016)(&94488173275784) A_17895 (&94488141685864)(&94488141687608) A_17896 (&94488141691488)(&94488141694592) A_17965 (&94488141695136)(&94488141698240) A_17897 (&94488141698784)(&94488158616288) A_18024 (&94488158617792)(&94488158632544) A_18025 (&94488158633088)(&94488163492400) A_18021 (&94488163508728)(&94488141430384) A_18028 (&94488141431888)(&94488141446768) A_18029 (&94488141447312)(&94488201886368) A_17898 (&94488201902336)(&94488201905440) A_17888 (&94488201905984)(&94488211238464) A_18031 (&94488211264120)(&94488211266168) A_17847 (&94488211266712)(&94488228199560) A_17848 (&94488228202040)(&94488228204088) A_17925 (&94488228204632)(&94488228208040) A_17990 (&94488228210544)(&94488228219536) A_18003 (&94488228222040)(&94488228224968) A_18032 (&94488228225512)(&94488228227256) A_18005 (&94488228228400)(&94488228800904) A_18006 (&94488231882744)(&94488231885976) A_17930 ======================================================================================================================== 09. MODEL LINKS ======================================================================================================================== [http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf]: http://web.cs.ucdavis.edu/~rogaway/papers/dhies.pdf [https://csrc.nist.gov/publications/detail/fips/140/2/final]: https://csrc.nist.gov/publications/detail/fips/140/2/final [https://csrc.nist.gov/publications/detail/sp/800-38d/final]: https://csrc.nist.gov/publications/detail/sp/800-38d/final [https://download.tsl.ti-dienste.de/]: https://download.tsl.ti-dienste.de/ [https://tools.ietf.org/html/rfc5116]: https://tools.ietf.org/html/rfc5116 [https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html]: https://www.bsi.bund.de/DE/Publikationen/TechnischeRichtlinien/tr02102/index_htm.html [https://www.pcre.org/]: https://www.pcre.org/ [https://www.secg.org/sec1-v2.pdf]: https://www.secg.org/sec1-v2.pdf ======================================================================================================================== 10. MODEL PLACEHOLDERS ======================================================================================================================== Table of contents: (&94488160098928) List of tables: (&94488153734576) List of images: (&94488153724216) ======================================================================================================================== 11. MODEL METADATA ======================================================================================================================== Klassifizierung = öffentlich Referenzierung = gemSpec_SGD_ePA Revision = 548770 Stand = 28.06.2019 Status = freigegeben Version = 1.1.0 ======================================================================================================================== 12. DOKUMENT TYPE ======================================================================================================================== Spezifikation ======================================================================================================================== 13. ERRORS AND WARNINGS ========================================================================================================================