Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SECURITY UNIT, IN PARTICULAR A SECURITY UNIT FOR AN IOT DEVICE, AND METHOD FOR RUNNING ONE OR MORE APPLICATIONS FOR A SECURE DATA EXCHANGE WITH ONE OR MORE SERVERS WHICH PROVIDE WEB SERVICES
Document Type and Number:
WIPO Patent Application WO/2018/162109
Kind Code:
A1
Abstract:
The invention relates to a security unit (SE) which is suitable for a device (IOT), in particular an IOT device, for running one or more applications (A1, A2, A3) for a secure data exchange with one or more servers which provide web services. The security unit is designed with the following: - means (R, SE) for imaging original data onto corresponding replacement data and/or vice versa, wherein the original and/or replacement data forms a respective original (O1, O2, O3, O4) and/or replacement key (T1, T2, T3, T4) and/or can be used to form same - means for detecting a replacement key which is supplied by an application (A1) being ran and which corresponds to an original key, and - means (SE, R) for providing a required original key which corresponds to the replacement key using said imaging means in order to allow the original key to be used for the secure data exchange with the server.

Inventors:
FALK RAINER (DE)
Application Number:
PCT/EP2017/083453
Publication Date:
September 13, 2018
Filing Date:
December 19, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
H04L29/06; H04W12/04; H04L29/08; H04W4/00
Foreign References:
US6735627B22004-05-11
US6735627B22004-05-11
Other References:
AKI-PETTERI LEINONEN ET AL: "Implementing Open Authentication for Web Services with a Secure Memory Card", NEAR FIELD COMMUNICATION (NFC), 2012 4TH INTERNATIONAL WORKSHOP ON, IEEE, 13 March 2012 (2012-03-13), pages 31 - 35, XP032155322, ISBN: 978-1-4673-1209-7, DOI: 10.1109/NFC.2012.15
ANONYMOUS: "Tokenization (data security) - Wikipedia", 24 February 2017 (2017-02-24), XP055369766, Retrieved from the Internet [retrieved on 20170505]
"Information Supplement: PCI DSS Tokenization Guidelines Standard: PCI Data Security Standard (PCI DSS)", 1 August 2011 (2011-08-01), XP055219868, Retrieved from the Internet [retrieved on 20151009]
ANONYMOUS: "JSON Web Token - Wikipedia", 7 February 2017 (2017-02-07), XP055369783, Retrieved from the Internet [retrieved on 20170505]
Download PDF:
Claims:
Patentansprüche

1. Sicherheitseinheit (SE) geeignet für ein Gerät (IOT), ins¬ besondere einem IOT-Gerät, zur Ausführung einer oder mehrerer Applikationen (AI, A2, A3) zum gesicherten Datenaustausch mit einem oder mehrere Web-dienste bereitstellenden Servern, wobei die Sicherheitseinheit ausgebildet ist mit:

- Mitteln (R, SE) zum Abbilden von Originaldaten auf korrespondierende Ersatzdaten und/oder umgekehrt, wobei die Origi- nal- und/oder Ersatzdaten jeweils ein Original- (Ol, 02, 03, 04) und/oder Ersatzschlüssel (Tl, T2, T3, T4) bilden und/oder zu deren Bildung verwendbar sind,

- Mittel zum Erkennen eines von einer in Ausführung gebrachten Applikation (AI) gelieferten, mit einem Originalschlüssel korrespondierenden Ersatzschlüssels und

- Mittel (SE, R) zum Bereitstellen eines zum Ersatzschlüssel korrespondierenden, angeforderten Originalschlüssels mit Hilfe der genannten Mittel zum Abbilden, um den Originalschlüssel für den gesicherten Datenaustausch zum Server verwenden zu können.

2. Sicherheitseinheit nach Anspruch 1, gekennzeichnet durch Mittel (R) zum transparenten Weiterleiten des Originalschlüssels auf der zum gesicherten Datenaustausch verwendbaren Kom- munikationsprotokollebene .

3. Sicherheitseinheit nach einem der vorhergehenden Ansprü¬ che, dadurch gekennzeichnet, dass in der Kommunikationsproto¬ kollebene die Transportschichtsicherheit-Verschlüsselung, ab- gekürzt TLS oder DTLS, verwendet wird.

4. Sicherheitseinheit nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein als Ersatzschlüssel ge¬ setzter Platzhalter im Kommunikationsprotokoll zum gesicher- ten Datenaustausch durch den bereitgestellten Originalschlüssel ersetzbar ist.

5. IoT-Gerät (IOT) umfassend eine Sicherheitseinheit (SE) nach einem der vorhergehenden Ansprüche, wobei das IoT-Gerät

- ein oder mehrere Applikationen (AI, A2, A3) ausgebildet zum Datenaustausch mit einem oder mehrere Web-Dienste bereitstel- lenden Servern und

- zumindest eine Ausführungseinheit (R) aufweist, welche zum Ausführen der einen oder mehreren Applikationen ausgebildet ist . 6. IoT-Gerät nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass die eine oder mehrere Applikationen zu ih¬ rer Ausführung einen solchen Ersatzschlüsseln verwenden kann.

7. IoT-Gerät nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Ersatzschlüssel durch den angefor¬ derten und von der Sicherheitseinheit bereitgestellten Originalschlüssel mittels der Ausführungseinheit ersetzt wird.

8. IoT-Gerät nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Ersatzschlüssel durch den angefor¬ derten und von der Sicherheitseinheit bereitgestellten Originalschlüssel mittels der Sicherheitseinheit ersetzt wird.

9. Verfahren zur Ausführung einer oder mehrere Applikationen (AI, A2, A3) zum gesicherten Datenaustausch zwischen einem

Gerät, insbesondere einem IoT-Gerät (IOT), und einem oder mehreren Web-Dienste bereitstellenden Servern, wobei folgende Schritte ausgeführt werden:

- Übertragen (21, 31) einer Nachricht zum Datenaustausch durch eine in Ausführung gebrachte Applikation, wobei die

Nachricht durch Abbildung von Originaldaten auf korrespondierende Ersatzdaten, welche jeweils einen Original- (Ol, 02, 03, 04) und/oder Ersatzschlüssel (Tl, T2, T3, T4) bilden und/oder zu deren Bildung verwendet werden, modifiziert wird, - Erkennen (22, 33) des von der in Ausführung gebrachten Applikation gelieferten, mit dem Originalschlüssel korrespondierenden Ersatzschlüssels und - Bereitstellen eines zum Ersatzschlüssel korrespondierenden, angeforderten Originalschlüssels mit Hilfe einer Rückabbil- dung (25, 33) der genannten Abbildung, um den Originalschlüssel für den durch die genannte Nachricht eingeleiteten, gesi- cherten Datenaustausch zum Server (26, 36) zu verwenden.

10. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass in der Kommunikationsprotokollebene die Transportschichtsicherheit-Verschlüsselung, abgekürzt TLS oder DTLS, verwendet wird.

11. Verfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass ein als Ersatzschlüssel ge¬ setzter Platzhalter im Kommunikationsprotokoll zum gesicher- ten Datenaustausch durch den bereitgestellten Originalschlüssel ersetzt wird.

12. Verfahren nach einem der vorhergehenden Verfahrensansprüche, dadurch gekennzeichnet, dass in die genannte Nachricht ein Authentifizierungs-Kode und/oder eine -prüfsumme einge¬ fügt ist.

13. Computerprogrammprodukt mit mindestens einem Computerpro¬ gramm, das Mittel zur Durchführung des Verfahrens nach einem der vorstehenden Verfahrensansprüche aufweist, wenn das min¬ destens eine Computerprogramm im IoT-Gerät nach einem der vorstehenden Geräteansprüche zur Ausführung gebracht wird.

Description:
Beschreibung

Sicherheitseinheit insbesondere ein für IoT-Gerät und Verfah ¬ ren zur Ausführung einer oder mehrerer Applikationen zum ge- sicherten Datenaustausch mit einem oder mehrere Web-dienste bereitstellenden Servern

Die vorliegende Erfindung betrifft ein Sicherheitseinheit insbesondere für ein IoT-Gerät und Verfahren zur Ausführung einer oder mehrerer Applikationen zum gesicherten Datenaustausch mit einem oder mehrere Web-dienste bereitstellenden Servern sowie ein zugehöriges Computerprogramm (-produkt) .

Hintergrund der Erfindung

Ein Trust Anchor (Vertrauensanker) wird für Computersysteme, unter anderem auch für eingebettete Systeme und IoT- Devices verwendet, um Security-Funktionen vertrauenswürdig und an ¬ griffsresistent zu realisieren. Ein herkömmlicher Trust An- chor (z.B. Crypto Controller, Secure Element) dient im We ¬ sentlichen nur der Speicherung von kryptographischen Schlüsseln und der Ausführung von elementaren kryptographischen Operationen (z.B. Verschlüsselung, Entschlüsselung unter Verwendung des lokal gespeicherten Schlüssels) . Der Trust Anchor wird von einem Applikationsprozessor angesprochen, der eine

Software bzw. Applikation ausführt. Der Applikationsprozessor kann jedoch auch manipulierte Software ausführen (z.B. wenn Schwachstellen von einem Angreifer ausgenutzt werden) und dann damit die von einem Trust Anchor bereitgestellten kryp- tographischen Dienste nutzen. Daher besteht ein Bedarf, sensible Applikationslogik zur Nutzung von kryptographischen Basisoperationen zu schützen. Es besteht zudem ein Bedarf für einen besseren Schutz der Behandlung von JSON Web Tokens (JWT) , die bei Internet-basierten Web-Diensten und IoT- Diensten intensiv genutzt werden.

Als ein eingebettetes System (auch englisch „embedded System" genannt) bezeichnet man einen elektronischen Rechner oder auch Computer, der in einen technischen Kontext eingebunden (eingebettet) ist. Dabei übernimmt der Rechner in der Regel entweder Überwachungs- , Steuerungs- oder Regelfunktionen oder ist für eine Form der Daten- bzw. Signalverarbeitung zustän- dig, beispielsweise beim Ver- bzw. Entschlüsseln, Codieren bzw. Decodieren oder Filtern. In die Kategorie „embedded System" kann auch ein Feldgerät, kurz FG, engl. Field Device (FD), einsortiert werden. Der Begriff Internet der Dinge (IdD) (auch: „Allesnetz"; englisch Internet of Things, Kurzform: IoT) beschreibt, dass der (Personal-) Computer in der digitalen Welt zunehmend von „intelligenten Gegenständen" bis hin zu „KI", künstlicher Intelligenz ergänzt wird. Das „Internet der Dinge", oft realisiert mit immer kleineren eingebetteten Systemen, soll den Anwender bei seinen Tätigkeiten unmerklich unterstützen, ohne abzulenken oder überhaupt aufzufallen.

Der Einsatz von Crypto Controllern oder Hardware Secure Ele- ments (Chipkartenprozessor, Trusted Platform Module, Security Module) ist möglich. Dabei handelt es sich um speziell ge ¬ schützte Mikroprozessoren. Es gibt weiterhin allgemeine Mik- rocontroller / Applikationsprozessoren mit integriertem

Schlüsselspeicher (Fuses) und Hardware Crypto Engine (perfor- mance, Stromverbrauch) .

Aus der Patentschrift US6735627 ist ein System und eine Me ¬ thode für sogenannte Smart Cards bekannt, die die Übertragung von Multimedia Daten über ein IP-basiertes Netzwerk ermögli- chen. Dabei wird das TLS-Kommunikationsprotokoll auf einem

Secure Element (Smart Card Chip) realisiert. Bei Kreditkarten sind spezielle Dienste bzw. Anwendungen zum Ersetzen der Kreditkartennummer durch ein Pseudonym bekannt, sodass im kaufmännischen Abrechnungssystem nicht die tatsächlichen Kredit- kartennummern vorliegen. Dies wird als Tokenization bezeichnet. Siehe z.B. https://en.wikipedia.org/wiki/Tokenization (data security) und

https : / /www . cisecuritystandards . org/documents /Tokenization G uieis11inGs IΓΊfo Su^p^p1sniGmt # cif ·

Viele Web-Dienste werden auf Basis von OAUTH (Authentisie- rungsprotokoll , siehe https://en.wikipedia.org/wiki/OAuth , https://tools.ietf.org/html/rfc6749) geschützt (d.h. unter Verwendung von JSON Web Token) . Die Token werden heute auf Client-Plattform durch die Applikation gespeichert.

Einen Überblick über JSON Web Tokens (JWT) gibt z.B.

https://en.wikipedia.org/wiki/JSON Web Token.

JWT sind im Internet-Standard RFC 7519 standardisiert

(h.11 s · / /tööls * iθtf * özrcj/h.tin1 /zrfc7513) ·

Es ist bekannt, dass ein Client sein JWT selbst generiert, siehe z.B. http : //blog . keycloak . org/2015/10 /authentication-o -clients- with-signed . tml . Die Sicherheit innerhalb solch einer Infrastruktur sowie das Verhindern von absichtlichen Angriffen spielt eine zunehmend wichtigere Rolle. Bei einer erfolgreichen Manipulation kann es zu einer Fehlfunktion in Steuerungsfunktionen der oben genannten Geräte kommen.

Durch kryptographische Schutzfunktionen können Ziele wie Integrität, Vertraulichkeit oder Authentizität der Gegenstände erreicht werden. Dadurch werden absichtliche, zielgerichtete Angriffe abgewehrt.

Der Begriff „Sicherheit" bezieht sich im Wesentlichen auf die Sicherheit, Vertraulichkeit und/oder Integrität von Daten so ¬ wie deren Übertragung und auch Sicherheit, Vertraulichkeit und/oder Integrität beim Zugriff auf entsprechende Daten. Auch die Authentifizierung bei Datenübertragungen beziehungsweise beim Datenzugriff gehört unter anderem zum Begriff „Sicherheit. Unter einer kryptografischen Funktionalität wird allgemein beispielsweise eine Funktion zur Verschlüsselung, zum Schutz der Vertraulichkeit, zum Integritätsschutz und/oder zur Authentifikation von Daten (z.B. Nutzerdaten, Steuerdaten, Konfigurationsdaten oder administrative Daten) verstanden. Die kryptografische Schutzfunktionalität kann da- bei beispielsweise eine oder mehrere der nachfolgend aufge ¬ führten Funktionalitäten umfassen:

Schlüsselspeicherung

System- und/oder Nutzer-Authentisierung

Attestierung

Verschlüsselung

Entschlüsselung

Berechnen einer kryptografischen Prüfsumme (z.B. Signatur)

Prüfen einer kryptografischen Prüfsumme (z.B. Signatur) SchlüsselVereinbarung

Schlüsselerzeugung

Erzeugen von Zufallszahlen (z.B. Seed-Generierung) Lizenzierung

Unterstützung von systemischen Überwachungsfunktionen (z.B. Tamper-Schutz , Systemintegrität, Security Incident and Event Management SIEM)

Überwachen oder Überwachung von Daten

Validierung von Daten

Filterung von Daten

Die aufgezählten kryptografischen Funktionalitäten können dabei jeweils wieder mit anderen/weiteren Verfahren oder Kombinationen dieser Verfahren ausgeführt sein.

Weiterhin ist es möglich, dass ein Nutzer als Teil einer HTTP-Anfrage ein Autorisierungstoken als Datenstruktur (s.o. JWT, JSON Web Token) vom Nutzer (Web-Browser) an den Web- Server überträgt. Das JWT-Autorisierungstoken wird normalerweise von einem „Single Sign On"-Dienst ausgestellt.

Weiterhin ist es möglich, dass das HTTP-Protokoll (HTTP, CoAP) über eine kryptographisch geschützte Kommunikationsver- bindung (TLS, DTLS) übertragen wird. Dabei wird meist nur der Server mittels eines digitalen Zertifikats authentisiert . Es ist jedoch auch möglich, dass auch der Client sich mit seinem Client-Zertifikat authentisiert. Es ist Aufgabe der Erfindung, die Sicherheits- bzw. Schutz ¬ maßnahmen für Geräte, die zur Ausführung einer oder mehrere Applikationen zum Datenaustausch mit einem oder mehrere Webdienste bereitstellenden Servern ausgebildet sind, zu verbes ¬ sern .

Darstellung der Erfindung

Diese Aufgabe wird durch die unabhängigen Patentansprüche ge ¬ löst. Vorteilhafte Weiterbildungen sind Gegenstand der abhän- gigen Ansprüche.

Die Erfindung beansprucht eine Sicherheitseinheit geeignet für ein Gerät, insbesondere einem IOT-Gerät, zur Ausführung einer oder mehrerer Applikationen zum gesicherten Datenaus- tausch mit einem oder mehrere Web-dienste bereitstellenden Servern, wobei die Sicherheitseinheit ausgebildet ist mit:

- Mitteln zum Abbilden von Originaldaten auf korrespondierende Ersatzdaten und/oder umgekehrt, wobei die Original- und/oder Ersatzdaten jeweils ein Original- und/oder Ersatzschlüssel bilden und/oder zu deren Bildung verwendbar sind,

- Mittel zum Erkennen eines von einer in Ausführung gebrachten Applikation gelieferten, mit einem Originalschlüssel korrespondierenden Ersatzschlüssels und

- Mittel zum Bereitstellen eines zum Ersatzschlüssel korres ¬ pondierenden, angeforderten Originalschlüssels mit Hilfe der genannten Mittel zum Abbilden, um den Originalschlüssel für den gesicherten Datenaustausch zum Server verwenden zu können .

Das Abbilden von Originaldaten auf Ersatzdaten bzw. von Er- satzdaten auf Originaldaten (Rückabbildung) kann durch eine Zuordnungstabelle umgesetzt bzw. durchgeführt werden.

Um den Datenaustausch möglich zu machen, kann der Originalschlüssel nur bei einem Verbindungsaufbau, sondern evtl. all- gemein beim Übertragen einer Anfragenachricht zu einem Server verwendet werden. Die Anfragenachricht kann z.B. eine Verbin ¬ dungsaufbau-Anfragenachricht, eine Anfragenachricht zum Da ¬ tenaustausch (z.B. MQTT, XMPP) oder eine Web-Dienst- Anfragenachricht sein (HTTP, CoAP) .

Eine Weiterbildung der Erfindung sieht zum transparenten Weiterleiten des Originalschlüssels auf der zum gesicherten Da ¬ tenaustausch verwendbaren Kommunikationsprotokollebene vor. Eine Weiterbildung der Erfindung sieht vor, dass in der Kommunikationsprotokollebene die Transportschichtsicherheit- Verschlüsselung, abgekürzt TLS oder DTLS, verwendet wird.

Eine Weiterbildung der Erfindung sieht vor, dass ein als Er- satzschlüssel gesetzter Platzhalter im Kommunikationsproto ¬ koll zum gesicherten Datenaustausch durch den bereitgestellten Originalschlüssel ersetzbar ist.

Eine Nutzung eines Trust Anchors / Secure Elements bzw. der Sicherheitseinheit durch Anwendungsprogrammierer wird dadurch vereinfacht, dass im Internet übliche Technologien (JSON Web Token) verwendet werden. Eine fehleranfällige und ggf. mani ¬ pulierbare direkte Nutzung kryptographischer Operationen ist nicht erforderlich. JSON Web Token als Sicherheits-kritische Daten müssen dabei nicht im normalen Applikationscode verwen ¬ det werden. Dadurch wird das Ausnutzen von Schwachstellen im Applikationscode erschwert. Ein weiterer Aspekt der Erfindung ist ein IoT-Gerät umfassend eine Sicherheitseinheit der oben genannten Art, wobei das IoT-Gerät

- ein oder mehrere Applikationen ausgebildet zum Datenaus- tausch mit einem oder mehrere Web-Dienste bereitstellenden

Servern und

- zumindest eine Ausführungseinheit aufweist, welche zum Aus ¬ führen der einen oder mehreren Applikationen ausgebildet ist. Eine Weiterbildung des Geräts sieht vor, dass die eine oder mehrere Applikationen zu ihrer Ausführung einen solchen Ersatzschlüssel verwenden kann.

Eine Weiterbildung des Geräts sieht vor, dass der Ersatz- Schlüssel durch den angeforderten und von der Sicherheitseinheit bereitgestellten Originalschlüssel mittels der Ausfüh ¬ rungseinheit ersetzt wird.

Eine Weiterbildung des Geräts sieht vor, dass der Ersatz- Schlüssel durch den angeforderten und von der Sicherheitseinheit bereitgestellten Originalschlüssel mittels der Sicher ¬ heitseinheit ersetzt wird.

Ein weiterer Aspekt der Erfindung ist ein Verfahren zur Aus- führung einer oder mehrere Applikationen zum gesicherten Datenaustausch zwischen einem Gerät, insbesondere einem IoT- Gerät, und einem oder mehreren Web-Dienste bereitstellenden Servern, wobei folgende Schritte ausgeführt werden: - Übertragen einer Nachricht zum Datenaustausch durch eine in Ausführung gebrachte Applikation, wobei die Nachricht durch Abbildung von Originaldaten auf korrespondierende Ersatzda ¬ ten, welche jeweils einen Original- und/oder Ersatzschlüssel bilden und/oder zu deren Bildung verwendet werden, modifi- ziert wird,

- Erkennen des von der in Ausführung gebrachten Applikation gelieferten, mit dem Originalschlüssel korrespondierenden Ersatzschlüssels und - Bereitstellen eines zum Ersatzschlüssel korrespondierenden, angeforderten Originalschlüssels mit Hilfe einer Rückabbil- dung der genannten Abbildung, um den Originalschlüssel für den durch die genannte Nachricht eingeleiteten, gesicherten Datenaustausch zum Server zu verwenden.

In die genannte Nachricht kann ein Authentifizierungs-Kode und/oder eine -prüfsumme eingefügt sein. Die vorstehend genannten Funktionen/Schritte können in Soft ¬ ware, Firmware und/oder Hardware implementiert sein. Sie kön ¬ nen als eine Art Funktionseinheiten verstanden werden, die auch in Ihrer Funktion in beliebiger Kombination in eine einzige Einheit (Komponente bzw. Server bzw. Gerät) integriert sein können.

Ein weiterer Aspekt der Erfindung kann ein Computerprogramm bzw. ein Computerprogrammprodukt mit mindestens einem Compu ¬ terprogramm mit Mitteln zur Durchführung des Verfahrens und dessen genannte Ausgestaltungen sein, wenn das Computerprogramm (-produkt) bzw. das mindestens eine Computerprogramm im IoT-Gerät nach oben beschriebener Art zur Ausführung gebracht wird . Obige Geräte und Verfahren und gegebenenfalls das Computer ¬ programm (produkt ) können im Wesentlichen analog wie die

Sicherheitseinheit und deren Ausgestaltungen bzw. Weiterbil ¬ dungen entsprechend aus- bzw. weitergebildet werden. Ausführungsbeispiel (e) :

Weitere Vorteile, Einzelheiten und Weiterbildungen der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen in Verbindung mit den Zeichnungen.

Dabei zeigen: die Figur 1 eine mögliche Ausführungsform des eingebette ¬ ten Systems,

die Figur 2 ein Ablaufdiagramm bei der die Rückabbildung des Ersatzschlüssels auf den Originalschlüs- sels durch die Ausführungseinheit durchgeführt wird und

die Figur 3 ein Ablaufdiagramm bei der die Rückabbildung des Ersatzschlüssels auf den Originalschlüs ¬ sels durch die Sicherheitseinheit durchgeführt wird,

Figur 1 zeigt ein Beispiel für ein eingebettetes System in Form eines IoT-Geräts mit einer Recheneinheit CPU (Applikati ¬ onsprozessor) mit einem Linux-basierten Betriebssystem, einer Ausführungseinheit in Form einer Applikations- bzw. App- Laufzeitumgebung R und mehreren Apps AI, A2, A3 (Applikationen) . Die Recheneinheit CPU führt über die Ausführungseinheit R durch den Linux-Kernel K nacheinander oder parallel die Apps AI, A2, A3 aus. Die Apps kommunizieren (nicht darge- stellt) über ein Protokoll, insbesondere HTTP, CoAP, REST, MQTT, XMPP, mit einem Web-Dienste zur Verfügung stellenden Server .

Das IoT-Gerät IOT verfügt über eine Sicherheitseinheit SE für JSON Web Token oder andere Schlüssel, die aus entsprechenden Daten ableitbar sind. Die Sicherheitseinheit SE umfasst hier eine Abbildungs- bzw. Zuordnungstabelle zwischen sogenannten tokenized JWT Tl, T2, T3, T4 (Ersatz-JWT bzw. -Schlüssel, die innerhalb des IoT-Gerätes durch die Apps verwendet werden) und den originalen JWT Ol, 02, 03, 04 (Originalschlüssel), die gegenüber den externen Web-Services verwendet werden. Die App-Laufzeitumgebung ersetzt hier z.B. einen HTTP/REST- Requestnachricht , die von einer App an die App Runtime über ¬ tragen wird, das darin enthaltene „Tokenized JWT" durch das reale JWT. In einer Ausführung wird die HTTP/REST-

Requestnachricht RQ dazu an die Sicherheitseinheit SE über ¬ tragen und dort, nach Ersetzen des JWT, mittels eines TLS- Protokolls geschützt (verschlüsselt) , und die verschlüsselte Nachricht wird zurück an die Ausführungseinheit R übertragen, um diese dann z.B. über eine TCP-Verbindung oder als UDP- Paket über eine Netzwerkschnittstelle zu einem nicht darge ¬ stellten Server zu übertragen. Weiterhin verfügt hier die Sicherheitseinheit SE über einen JWT Client Key CK. Damit kann die Sicherheitseinheit SE mit Hilfe eine Generierungs- einheit C beispielsweise ein Client-signiertes JWT Token in einer geschützten Ausführungseinheit - bzw. App- Laufzeitumgebung generieren. Weiterhin kann die Sicherheits- einheit eine geschützte JWT-Requestnachricht RQ generieren, mit der von einem Web-Dienst, bereitgestellt von dem Server, insbesondere von einem sogenannten IAM-Web-Dienst unter Nut ¬ zung eines Refresh-JWT-Tokens ein Session-JWT-Token (Access Token) geschützt angefordert werden kann.

Die Sicherheitseinheit kann in Hardware, als Firmware, oder als durch einen Hypervisor separierten Software-Prozess realisiert sein. Die Sicherheitseinheit kann insbesondere auf einem Client-System, insbesondere auf einem IoT-Gerät oder auf einem anderen eingebetteten Gerät bzw. Mobilgerät realisiert sein. Sie kann jedoch grundsätzlich auch auf einem Server, insbesondere einem Cloud-basiertem Web-Dienst-System realisiert sein. Die Sicherheitseinheit kann über folgende (Teil-) Funktiona ¬ litäten bzw. Mittel vollständig oder teilweise aufweisen bzw. bereitstellen :

- Lokales Ausstellen eines Client JWT (client signed JWT un- ter Verwendung eines lokal gespeicherten kryptographischen

Schlüssels )

- Ausstellen einer geschützten Anforderungsnachricht zum Anfordern eines neuen Access-Tokens mittels eines auf der

Sicherheitseinheit SE hinterlegten Refresh Tokens

- Bereitstellen eines Ersatz-JWT (eingangs erwähnte

Tokenization des JSON Web Tokens) . In einer Applikation kann das Ersatz-JWT anstatt des originalen (tatsächlichen) JWT- Tokens verwendet werden. Mit anderen Worten ausgedrückt, es gibt eine bijektive Abbildung bzw. Zuordnungstabelle von Ori ¬ ginaldaten auf korrespondierende Ersatzdaten, welche jeweils einen Original-JWT (Ol, 02, 03, 04) und/oder Ersatz-JWT (Tl, T2, T3, T4) bilden und/oder zu deren Bildung verwendet wer- den .

Dadurch kann eine manipulierte Anwendungssoftware, z.B. ein Web Service Client, den originalen JWT beispielsweise nicht direkt weitergeben. Das von der Applikation verwendete Er- satz-JWT wird durch die Sicherheitseinheit transparent er ¬ setzt (z.B. überträgt die Applikation eine HTTP/REST- Nachricht an die Sicherheitseinheit SE, welche das Ersatz-JWT durch das zugeordnete tatsächliche JWT-Token ersetzt (Rückab- bildung) und über eine TLS-geschützte Kommunikationsverbin- dung überträgt;

- Einfügen eines JWT in einen TLS/DTLS-Datenstrom (in Verschlüsselungspfad Modifikation des

Klartexts, um JWT zu ergänzen; Die Applikation z.B. AI setzt dabei einen Identifier bzw. Platzhalter, das durch das echte Token ersetzt wird) . Hier erfolgt also keine echte

okenization, sondern es wird in ein Formatfeld (z.B:

„##JSONWEBTOKEN##") das JWT eingetragen. - Ausstellen einer Eigentümer-Prüfsumme zur Nutzung eines JWT mit bestimmten Nutzdaten (z.B. Message Authentication Code)

Die Figur 2 zeigt einen möglichen Ablauf, der mit einzelnen Schritten 21 bis 26 gekennzeichnet ist, auf dem IoT-Gerät, bei dem eine Applikation (App) z.B. hier AI eine Request- Nachricht senden möchte. Dazu überträgt in Schritt 21 die Ap ¬ plikation AI die Nachricht an eine nicht dargestellte Anwen ¬ dungsprogrammierschnittstelle, abgekürzt API, der Ausfüh ¬ rungseinheit R. Die Nachricht enthält einen Ersatzschlüssel in Form eines tokenisierten JWT. Basierend auf der Nachricht wird eine Anfrage an die Sicherheitseinheit SE gestellt, um das tokenisierte JWT durch das originale bzw. reale, extern gültige JWT zu ersetzen. Die Ausführungseinheit R prüft in Schritt 22, ob ein tokenisiertes Ersatz-JWT vorliegt und bil ¬ det in den Schritten 23 und 24, 25 (Rückabbildung) eine modifizierte Anfrage-Nachricht, die anstatt des tokenisierten Er ¬ satz-JWT das originale JWT enthält. Diese wird in Schritt 26 an einen TLS-Kommunikationsstapel (Stack) TLS übergeben, um sie an den angegebenen Server zu übertragen.

Dies hat den Vorteil, dass die Applikation (App) , hier z.B. AI das eigentliche JWT, das extern gültig ist, nicht kennt. Daher kann selbst eine manipulierte Applikation das JWT nicht preisgeben .

Figur 3 zeigt eine Ausführungsform eines Ablaufs, der mit einzelnen Schritten 31 bis 36 gekennzeichnet ist, bei der auf der Sicherheitseinheit die JWT-Tokenbehandlung erfolgt und das TLS-Protokoll realisiert ist. TLS ist eine Transport ¬ schichtsicherheit-Verschlüsselung, die mit TLS für eine darunterliegende TCP-basierten Übertragung oder mit DTLS für eine darunterliegende UDP-basierten Übertragung) , abgekürzt wird.

Hierbei wird läuft Schritt 31 wie Schritt 21 ab. In Schritt 32 wird die die oben genannte Nachricht transparent (= getun- neltes Weiterleiten bzw. nach außen nicht sichtbar) zur

Sicherheitseinheit durchgereicht, wobei die Ausführungsein ¬ heit R die Sicherheitseinheit SE beispielsweise mit dem Be ¬ fehl „runTLS" dazu auffordert, das TLS-Protokoll zur Übertra ¬ gung der Nachricht zu verwenden. In Schritt 33 wird dann das tokenisierten Ersatz-JWT durch das originale JWT ersetzt und in das TLS-Protokoll eingebunden (Schritt 34) an die Ausfüh ¬ rungseinheit übermittelt (Schritt 35) . Diese wird in Schritt 36 an einen TCP/IP-Kommunikationsstapel (Stack) TCP/IP über ¬ geben, um sie an den angegebenen Server zu übertragen. Es ist möglich, dass in den obigen Ausführungsformen ein Platzhalter im Kommunikationsprotokoll (HTTP, CoAP, MQTT, TLS, TCP/IP) mit dem Ersatzschlüssel besetzt wird. In die oben genannte Nachricht kann ein Authentifizierungs- code und/oder eine -prüfsumme eingefügt sein.

Obwohl die Erfindung im Detail durch das bevorzugte Ausfüh- rungsbeispiel näher illustriert und beschrieben wurde, so ist die Erfindung nicht durch die offenbarten Beispiele einge ¬ schränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen .

Die Implementierung der vorstehend beschriebenen Prozesse oder Verfahrensabläufe kann anhand von Instruktionen erfol ¬ gen, die auf computerlesbaren Speichermedien oder in flüchtigen Computerspeichern (im Folgenden zusammenfassend als com- puterlesbare Speicher bezeichnet) vorliegen. Computerlesbare Speicher sind beispielsweise flüchtige Speicher wie Caches, Puffer oder RAM sowie nichtflüchtige Speicher wie Wechselda ¬ tenträger, Festplatten, usw. Die vorstehend beschriebenen Funktionen oder Schritte können dabei in Form zumindest eines Instruktionssatzes in/auf einem computerlesbaren Speicher vorliegen. Die Funktionen oder Schritte sind dabei nicht an einen bestimmten Instruktions ¬ satz oder an eine bestimmte Form von Instruktionssätzen oder an ein bestimmtes Speichermedium oder an einen bestimmten

Prozessor oder an bestimmte Ausführungsschemata gebunden und können durch Software, Firmware, Microcode, Hardware, Prozes ¬ soren, integrierte Schaltungen usw. im Alleinbetrieb oder in beliebiger Kombination ausgeführt werden. Dabei können ver- schiedenste Verarbeitungsstrategien zum Einsatz kommen, beispielsweise serielle Verarbeitung durch einen einzelnen Prozessor oder Multiprocessing oder Multitasking oder Parallelverarbeitung usw. Die Instruktionen können in lokalen Speichern abgelegt sein, es ist aber auch möglich, die Instruktionen auf einem entfernten System abzulegen und darauf via Netzwerk zuzugreifen. Der Begriff "Prozessor", "zentrale Signalverarbeitung", "Steuereinheit" oder "Datenauswertemittel " , wie hier verwen ¬ det, umfasst Verarbeitungsmittel im weitesten Sinne, also beispielsweise Server, Universalprozessoren, Grafikprozesso- ren, digitale Signalprozessoren, anwendungsspezifische inte ¬ grierte Schaltungen (ASICs) , programmierbare Logikschaltungen wie FPGAs, diskrete analoge oder digitale Schaltungen und be ¬ liebige Kombinationen davon, einschließlich aller anderen dem Fachmann bekannten oder in Zukunft entwickelten Verarbei- tungsmittel. Prozessoren können dabei aus einer oder mehreren Vorrichtungen bzw. Einrichtungen bzw. Einheiten bestehen. Besteht ein Prozessor aus mehreren Vorrichtungen, können diese zur parallelen oder sequentiellen Verarbeitung bzw. Ausführung von Instruktionen ausgelegt bzw. konfiguriert sein.