[go: up one dir, main page]

DE102024002779A1 - System for the protected export/import of structured data and procedures therefor - Google Patents

System for the protected export/import of structured data and procedures therefor Download PDF

Info

Publication number
DE102024002779A1
DE102024002779A1 DE102024002779.3A DE102024002779A DE102024002779A1 DE 102024002779 A1 DE102024002779 A1 DE 102024002779A1 DE 102024002779 A DE102024002779 A DE 102024002779A DE 102024002779 A1 DE102024002779 A1 DE 102024002779A1
Authority
DE
Germany
Prior art keywords
side application
application system
database
provider
consumer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102024002779.3A
Other languages
German (de)
Inventor
Susanta Mandal
Abhiraj Khare
Vijesh Pachatiyan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mercedes Benz Group AG
Original Assignee
Mercedes Benz Group AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mercedes Benz Group AG filed Critical Mercedes Benz Group AG
Publication of DE102024002779A1 publication Critical patent/DE102024002779A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Offenbarung stellt ein System und ein Verfahren zum geschützten und sicheren Export und Import von Daten bereit. Zunächst wird bei 302 der Inhaltsanbieter der Anbieteranwendung 102 erstellt und entsprechend wird bei 304 von der Verbraucheranwendung 104 eine Abfrage bezüglich der Datenbankmigration gestellt. Darüber hinaus wird als Reaktion auf die gestellte Abfrage bei 305 die Abfrage authentifiziert und bei 306 wird die Datenbank unter Verwendung der AES-Verschlüsselungstechnik in der Anbieteranwendung 102 verschlüsselt und anschließend wird bei 308 die verschlüsselte Datenbank von der Anbieteranwendung 102 in einem Medienordner gespeichert. Bei 312 analysiert die Verbraucheranwendung 104 die Antwort auf die von der Anbieteranwendung 102 übermittelte Benachrichtigung und führt bei 314 entsprechend eine Datenbankentschlüsselung unter Verwendung der empfangenen Schlüssel durch. Ferner wird bei 316 die entschlüsselte Datenbank in der Verbraucheranwendung 104 gespeichert und entsprechend bei 318 die Datenbank an die Verbraucheranwendung 104 angehängt.The present disclosure provides a system and method for protected and secure export and import of data. First, at 302, the content provider of the provider application 102 is created, and accordingly, at 304, a query regarding database migration is made by the consumer application 104. Further, in response to the made query, at 305, the query is authenticated, and at 306, the database is encrypted using the AES encryption technique in the provider application 102, and then, at 308, the encrypted database is stored by the provider application 102 in a media folder. At 312, the consumer application 104 analyzes the response to the notification transmitted by the provider application 102 and, at 314, performs database decryption using the received keys, accordingly. Further, at 316, the decrypted database is stored in the consumer application 104, and accordingly, at 318, the database is attached to the consumer application 104.

Description

Die vorliegende Offenbarung bezieht sich auf das Gebiet der Datenübertragung. Insbesondere stellt die vorliegende Offenbarung ein System und ein Verfahren zum geschützten Export/Import strukturierter Daten bereit.The present disclosure relates to the field of data transmission. In particular, the present disclosure provides a system and method for the protected export/import of structured data.

Manchmal wird eine geschützte Datenübertragung zwischen Mobilvorrichtungen zur Herausforderung. Die Datenübertragung zwischen Apps wird auf der Android-Plattform auch zum Hindernis, wenn eine neue Anwendung unter folgenden Bedingungen gestartet wird: a) Die alte Anwendung verfügt nicht über Verbindungen zu Back-End-Diensten; b) alle Benutzerdaten werden in strukturiertem/unstrukturiertem Format lokal im sicheren Anwendungsspeicher der Benutzervorrichtung gespeichert; c) der Benutzer möchte die Anwendungsdaten von der aktuellen Anwendung auf die neue Anwendung übertragen; und d) Die relationale Datenbank ist groß und weist viele Tabellen auf (> 10). Unter solchen Umständen wird der Benutzer in dieser Phase vollständig gesperrt, da keine praktikablen Optionen zum Übertragen der Daten auf die neue Anwendung verfügbar sind. Daher bleibt dem Benutzer nur die Möglichkeit, die Benutzerdaten bei der älteren Version der App zu belassen und diese sicher zu vernichten.Sometimes, securing data transfer between mobile devices becomes a challenge. Data transfer between apps also becomes a hurdle on the Android platform when a new application is launched under the following conditions: a) the old application has no connections to back-end services; b) all user data is stored locally in the user device's secure application storage in structured/unstructured format; c) the user wants to transfer application data from the current application to the new application; and d) the relational database is large and has many tables (> 10). Under such circumstances, the user is completely locked out at this stage because no viable options are available to transfer the data to the new application. Therefore, the user is left with the only option to keep the user data with the older version of the app and securely destroy it.

In einer Instanz kann die Menge strukturierter Daten in einer Anwendung mit verschiedenen Tabellen/Schemata beliebig groß sein. Die maximale Datenbankgröße beträgt ca. 2 Gigabyte, manche Programme unterstützen jedoch große Dateien und erlauben daher auch mehr. Mit zunehmender Nutzung der Anwendung nimmt die Datenbankgröße stets zu. Dies behindert die ordnungsgemäße Übertragung der Benutzerdaten von der älteren Version auf die neue Version.In one instance, the amount of structured data in an application with different tables/schemas can be arbitrarily large. The maximum database size is approximately 2 gigabytes, but some programs support large files and therefore allow larger ones. As application usage increases, the database size continues to grow. This hinders the proper migration of user data from the older version to the newer version.

Insgesamt „n“ verschiedene Tabellen, wobei n = 1 bis GROSSE_ZAHL ist. Alle Tabellen sind intern mit Primär- und Fremdschlüsselbeziehungen verknüpft. Die Übertragung aller verbundenen Tabellen ist ein Muss. Das Fehlen einer einzigen Tabelle in der strukturierten Datenkette führt dazu, dass die gesamte Datenstruktur unbrauchbar wird. Daher wird die Übertragung der Benutzerdaten von der älteren Version auf die neue Version schwierig.A total of "n" different tables, where n = 1 to LARGE_NUMBER. All tables are internally linked with primary and foreign key relationships. Migration of all related tables is a must. The absence of a single table in the structured data chain renders the entire data structure unusable. Therefore, migration of user data from the older version to the new version becomes difficult.

Es wurden viele Techniken entwickelt, um die oben genannten Probleme zu umgehen. Beispielsweise offenbart das Patentdokument US9898355B2 eine Rechenvorrichtung, die eine Broker-Anwendung ausführt. Die Broker-Anwendung führt einen vermittelten Datenaustausch durch, um Daten zwischen einer ersten Sandbox-Anwendung und einer zweiten Anwendung auszutauschen. Beispielsweise kann die Broker-Anwendung Daten aus der zweiten Anwendung in die erste Sandbox-Anwendung importieren, oder die Broker-Anwendung kann Daten aus der ersten Sandbox-Anwendung in die zweite Anwendung exportieren.Many techniques have been developed to circumvent the above-mentioned problems. For example, the patent document US9898355B2 a computing device executing a broker application. The broker application performs a mediated data exchange to exchange data between a first sandbox application and a second application. For example, the broker application can import data from the second application into the first sandbox application, or the broker application can export data from the first sandbox application to the second application.

Das Patentdokument US9059974B2 offenbart einen sicheren Verbindungsbus für mobile Anwendungen. Erste Verschlüsselungsinformationen und eine einem Datenspeicherort auf einer mobilen Vorrichtung zugeordnete Kennung werden von einer ersten Anwendung an eine zweite Anwendung bereitgestellt. Zweite Verschlüsselungsinformationen, die der zweiten mobilen Anwendung zugeordnet sind, werden vom Datenspeicherort abgerufen. Die zweite mobile Anwendung ist so konfiguriert, dass sie Daten an den Datenspeicherort bereitstellt. Daher werden die Daten zwischen der ersten mobilen Anwendung und der zweiten mobilen Anwendung über den Datenspeicherort übertragen.The patent document US9059974B2 discloses a secure connection bus for mobile applications. First encryption information and an identifier associated with a data storage location on a mobile device are provided by a first application to a second application. Second encryption information associated with the second mobile application is retrieved from the data storage location. The second mobile application is configured to provide data to the data storage location. Therefore, the data is transferred between the first mobile application and the second mobile application via the data storage location.

Das Patentdokument US9542247B2 offenbart Anwendungsverwaltungsdaten für die gemeinsame Nutzung von Inhalten zwischen Sandbox-Anwendungen auf einer Vorrichtung. Ein Verfahren schließt das Senden von Anwendungsverwaltungsdaten von einer ersten Sandbox-Anwendung in einer ersten Sandbox auf der Vorrichtung an einen gemeinsamen Nutzungsdienst außerhalb der ersten Sandbox ein. Die Verfahren schließt ferner das Empfangen einer Darstellung der Anwendungsverwaltungsdaten bei einer zweiten Sandbox-Anwendung in einer zweiten Sandbox auf der Vorrichtung ein. Darüber hinaus schließt das Verfahren das Ausführen einer Anwendungsverwaltungsfunktion basierend auf der Darstellung der Anwendungsverwaltungsdaten ein.The patent document US9542247B2 discloses application management data for sharing content between sandboxed applications on a device. A method includes sending application management data from a first sandboxed application in a first sandbox on the device to a sharing service outside the first sandbox. The method further includes receiving a representation of the application management data at a second sandboxed application in a second sandbox on the device. Furthermore, the method includes executing an application management function based on the representation of the application management data.

Das Patentdokument US7539701B2 offenbart eine generische Infrastruktur zur Migration von Daten zwischen Anwendungen. Eine Feldkarte wird auf Elemente in einer Datendarstellung von Daten aus einer Quelldatenbank angewendet, um Schemaelemente in einem Schema zu identifizieren. Hierarchische Beziehungen zwischen Schemaelementen, die im Schema beschrieben sind, werden verwendet, um aus der Datendarstellung eine hierarchische Datendarstellung zu konstruieren. Basierend auf der hierarchischen Beziehung zwischen zwei Elementen in der hierarchischen Datendarstellung wird bestimmt, dass ein erstes Datenbankobjekt vor einem zweiten Datenbankobjekt instanziiert werden muss. Nachdem sichergestellt wurde, dass das erste Datenbankobjekt erstellt und gespeichert wurde, wird das zweite Datenbankobjekt erstellt und gespeichert.The patent document US7539701B2 discloses a generic infrastructure for migrating data between applications. A field map is applied to elements in a data representation of data from a source database to identify schema elements in a schema. Hierarchical relationships between schema elements described in the schema are used to construct a hierarchical data representation from the data representation. Based on the hierarchical relationship between two elements in the hierarchical data representation, it is determined that a first database object must be instantiated before a second database object. After ensuring that the first database object has been created and saved, the second database object is created and saved.

Obwohl die zitierten Dokumente verschiedene Techniken zur Datenübertragung offenbaren, besteht immer noch Spielraum für eine Lösung zum intelligenten und sicheren Export und Import von Daten zwischen alten und neuen Versionen/mobilen Vorrichtungen.Although the cited documents reveal various data transfer techniques, there is still scope for a solution for the intelligent and secure export and import of Data between old and new versions/mobile devices.

Eine allgemeine Aufgabe der vorliegenden Offenbarung besteht darin, ein genaues und effizientes System und Verfahren bereitzustellen, das die oben genannten Einschränkungen herkömmlicher Systeme und Verfahren umgeht und eine sichere Datenübertragung ermöglicht.A general object of the present disclosure is to provide an accurate and efficient system and method that overcomes the above-mentioned limitations of conventional systems and methods and enables secure data transmission.

Eine Aufgabe der vorliegenden Offenbarung besteht darin, ein System und ein Verfahren bereitzustellen, die dem Benutzer den Übergang zu einer neuen Anwendung erleichtern, ohne nach seinen persönlichen Daten oder Anwendungsdaten suchen zu müssen, die im sicheren Speicher der älteren Anwendung gespeichert sind.An object of the present disclosure is to provide a system and method that facilitates the user's transition to a new application without having to search for their personal data or application data stored in the secure storage of the older application.

Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, ein System und ein Verfahren bereitzustellen, die die gesamte Datenübertragung offline durchführen.Another object of the present disclosure is to provide a system and method that performs all data transmission offline.

Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, ein System und ein Verfahren bereitzustellen, die sicher sind, da die alte App-Datenbank sofort aus der temporären Datei gelöscht wird, sobald die Datenbankanfügung auf der Seite der Verbraucher-App abgeschlossen ist.Another object of the present disclosure is to provide a system and method that are secure because the old app database is immediately deleted from the temporary file once the database attachment is completed on the consumer app side.

Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, ein System und ein Verfahren bereitzustellen, die eine sichere Datenübertragung durch verschlüsselte Datenbankübertragung ermöglichen.Another object of the present disclosure is to provide a system and method that enable secure data transmission through encrypted database transmission.

Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, ein System und ein Verfahren bereitzustellen, die die Datenübertragung auch dann ermöglichen, wenn die Anbieter-App nicht ausgeführt wird.Another object of the present disclosure is to provide a system and method that enable data transmission even when the provider app is not running.

Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, ein intelligentes, sicheres, zeit- und kosteneffizientes System und Verfahren zum Importieren und Exportieren von Daten bereitzustellen.Another object of the present disclosure is to provide an intelligent, secure, time and cost efficient system and method for importing and exporting data.

Aspekte der vorliegenden Offenbarung beziehen sich auf die Datenübertragung. Insbesondere stellt die vorliegende Offenbarung ein System und ein Verfahren zum geschützten Export/Import strukturierter Daten bereit.Aspects of the present disclosure relate to data transfer. In particular, the present disclosure provides a system and method for protected export/import of structured data.

Ein Aspekt der vorliegenden Offenbarung bezieht sich auf ein System zum geschützten Export-Import strukturierter Daten. Das System umfasst ein anbieterseitiges Anwendungssystem und ein verbraucherseitiges Anwendungssystem. Das System schließt ferner ein Kommunikationsmodul ein, das kommunikativ mit dem anbieterseitigen Anwendungssystem und dem verbraucherseitigen Anwendungssystem gekoppelt ist, wobei das Kommunikationsmodul einen mit einem Speicher gekoppelten Prozessor umfasst und das Kommunikationsmodul dazu konfiguriert ist, einen sicheren Kommunikationskanal zwischen dem anbieterseitigen Anwendungssystem und dem verbraucherseitigen Anwendungssystem zu erstellen. Das anbieterseitige Anwendungssystem erstellt eindeutige Service-Links; und das verbraucherseitige Anwendungssystem fragt die Inhalts-URI ab, die dem anbieterseitigen Anwendungssystem zugeordnet ist. Das anbieterseitige Anwendungssystem ist konfiguriert zum: Verschlüsseln der zu migrierenden Datenbank und entsprechendes Generieren symmetrischer Schlüssel; und Speichern der verschlüsselten Datenbank in einem ersten Ordner und Übertragen einer Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige mobile Kommunikationssystem. Darüber hinaus ist das verbraucherseitige Anwendungssystem konfiguriert zum: Analysieren der mit der Benachrichtigung verbundenen Antworten; Entschlüsseln der verschlüsselten Datenbank mit dem übertragenen symmetrischen Schlüssel; und Speichern der entschlüsselten Datenbank in einem zweiten Ordner und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem.One aspect of the present disclosure relates to a system for the secure export/import of structured data. The system comprises a provider-side application system and a consumer-side application system. The system further includes a communication module communicatively coupled to the provider-side application system and the consumer-side application system, the communication module comprising a processor coupled to memory, the communication module configured to establish a secure communication channel between the provider-side application system and the consumer-side application system. The provider-side application system establishes unique service links; and the consumer-side application system queries the content URI associated with the provider-side application system. The provider-side application system is configured to: encrypt the database to be migrated and generate symmetric keys accordingly; and storing the encrypted database in a first folder and transmitting a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side mobile communication system. Furthermore, the consumer-side application system is configured to: analyze the responses associated with the notification; decrypt the encrypted database with the transmitted symmetric key; and storing the decrypted database in a second folder and attaching the database to the consumer-side application system.

In einer Ausführungsform kann das anbieterseitige Anwendungssystem die Datenbank aus dem ersten Ordner löschen, sobald die Datenbank entschlüsselt und an das verbraucherseitige Anwendungssystem angehängt wurde.In one embodiment, the provider-side application system may delete the database from the first folder once the database has been decrypted and attached to the consumer-side application system.

In einer anderen Ausführungsform erstellt das verbraucherseitige Anwendungssystem zuerst die dem anbieterseitigen Anwendungssystem zugeordnete Inhalts-URI und fragt dann die erstellte Inhalts-URI ab.In another embodiment, the consumer-side application system first creates the content URI associated with the provider-side application system and then queries the created content URI.

In einer Ausführungsform erstellt das anbieterseitige Anwendungssystem einen Inhaltsanbieter und registriert ihn, um Anfragen von unterschiedlichen verbraucherseitigen Anwendungssystemen zu empfangen.In one embodiment, the provider-side application system creates a content provider and registers it to receive requests from different consumer-side application systems.

In einer anderen Ausführungsform umfasst die Datenbank beliebige oder eine Kombination aus strukturierten und unstrukturierten Daten; und die Datenbank schließt auch mehrere große Tabellen ein.In another embodiment, the database includes any or a combination of structured and unstructured data; and the database also includes multiple large tables.

Ein weiterer Aspekt der vorliegenden Offenbarung betrifft ein Verfahren zum geschützten Export und Import strukturierter Daten. Das Verfahren schließt ein: Erstellen, durch ein Kommunikationsmodul, eines sicheren Kommunikationskanals zwischen einem anbieterseitigen Anwendungssystem und einem verbraucherseitigen Anwendungssystem; Erstellen, im anbieterseitigen Anwendungssystem, eindeutiger Service-Links; Abfragen, im verbraucherseitigen Anwendungssystem, der dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI; Verschlüsseln, im anbieterseitigen Anwendungssystem, einer zu migrierenden Datenbank und entsprechendes Generieren symmetrischer Schlüssel; Speichern, im anbieterseitigen Anwendungssystem, der verschlüsselten Datenbank in einem ersten Ordner und Übertragen einer Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige Anwendungssystem; Analysieren, im verbraucherseitigen Anwendungssystem, der der Benachrichtigung zugeordneten Antworten; Entschlüsseln, im verbraucherseitigen Anwendungssystem, der verschlüsselten Datenbank unter Verwendung des übertragenen symmetrischen Schlüssels; und Speichern, im verbraucherseitigen Anwendungssystem, der entschlüsselten Datenbank in einem zweiten Ordner und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem.Another aspect of the present disclosure relates to a method for the protected export and import of structured data. The method includes: creating, by a communication module, a secure communication channel between between a provider-side application system and a consumer-side application system; creating, in the provider-side application system, unique service links; querying, in the consumer-side application system, the content URI associated with the provider-side application system; encrypting, in the provider-side application system, a database to be migrated and generating symmetric keys accordingly; storing, in the provider-side application system, the encrypted database in a first folder and transmitting a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side application system; analyzing, in the consumer-side application system, the responses associated with the notification; decrypting, in the consumer-side application system, the encrypted database using the transmitted symmetric key; and storing, in the consumer-side application system, the decrypted database in a second folder and attaching the database to the consumer-side application system.

In einer Ausführungsform schließt das Verfahren, nachdem die Datenbank entschlüsselt und an das verbraucherseitige Anwendungssystem angehängt wurde, das Löschen der Datenbank aus dem ersten Ordner des anbieterseitigen Anwendungssystems ein.In one embodiment, after the database is decrypted and attached to the consumer-side application system, the method includes deleting the database from the first folder of the provider-side application system.

In einer anderen Ausführungsform kann das Verfahren zunächst das Erstellen, im verbraucherseitigen Anwendungssystem, der dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI und anschließend das Abfragen der erstellten Inhalts-URI umfassen.In another embodiment, the method may include first creating, in the consumer-side application system, the content URI associated with the provider-side application system and then querying the created content URI.

In einer anderen Ausführungsform kann das Verfahren das Erstellen eines Inhaltsanbieters im anbieterseitigen Anwendungssystem und dann Registrieren desselben zum Empfangen von Anforderungen von unterschiedlichen verbraucherseitigen Anwendungssystemen umfassen.In another embodiment, the method may include creating a content provider in the provider-side application system and then registering it to receive requests from different consumer-side application systems.

In einer anderen Ausführungsform kann die Datenbank beliebige oder eine Kombination aus strukturierten und unstrukturierten Daten umfassen. Die Datenbank kann auch mehrere große Tabellen einschließen.In another embodiment, the database may include any or a combination of structured and unstructured data. The database may also include multiple large tables.

Verschiedene Aufgaben, Merkmale, Aspekte und Vorteile des erfinderischen Gegenstands werden aus der folgenden detaillierten Beschreibung bevorzugter Ausführungsformen zusammen mit den beigefügten Zeichnungsfiguren deutlicher, in denen gleiche Bezugszeichen gleiche Komponenten darstellen.Various objects, features, aspects and advantages of the inventive subject matter will become more apparent from the following detailed description of preferred embodiments together with the accompanying drawing figures, in which like reference numerals represent like components.

Die beigefügten Zeichnungen sind eingeschlossen, um ein weiteres Verständnis der vorliegenden Offenbarung zu vermitteln, und sind Bestandteil dieser Spezifikation. Die Zeichnungen veranschaulichen beispielhafte Ausführungsformen der vorliegenden Offenbarung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der vorliegenden Offenbarung zu erläutern.

  • 1 veranschaulicht ein beispielhaftes Blockdiagramm des vorgeschlagenen Systems zum geschützten Export-Import strukturierter Daten, um seine allgemeine Funktionsweise gemäß einer Ausführungsform der vorliegenden Offenbarung zu veranschaulichen.
  • 2 veranschaulicht ein beispielhaftes Flussdiagramm, das die Funktionsweise des vorgeschlagenen Systems gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung veranschaulicht.
  • 3 veranschaulicht ein Sequenzdiagramm für den Datenexport/-import auf einer mobilen Vorrichtung gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung.
  • 4 veranschaulicht ein Flussdiagramm, das den Erzeugeranwendungsfluss gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
  • 5 veranschaulicht ein Flussdiagramm, das den Verbraucheranwendungsfluss gemäß einer beispielhaften Ausführungsform der vorliegenden Offenbarung darstellt.
  • 6 ist ein Flussdiagramm, das die Schritte des vorgeschlagenen Verfahrens zum geschützten Exportieren und Importieren strukturierter Daten gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
  • 7 veranschaulicht ein beispielhaftes Computersystem, in dem oder mit dem Ausführungsformen der vorliegenden Erfindung gemäß Ausführungsformen der vorliegenden Offenbarung genutzt werden können.
The accompanying drawings are included to provide a further understanding of the present disclosure and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
  • 1 illustrates an exemplary block diagram of the proposed system for protected export-import of structured data to illustrate its general operation according to an embodiment of the present disclosure.
  • 2 illustrates an exemplary flowchart illustrating the operation of the proposed system according to an exemplary embodiment of the present disclosure.
  • 3 illustrates a sequence diagram for data export/import on a mobile device according to an exemplary embodiment of the present disclosure.
  • 4 illustrates a flowchart depicting the producer application flow according to an exemplary embodiment of the present disclosure.
  • 5 illustrates a flowchart depicting consumer application flow according to an exemplary embodiment of the present disclosure.
  • 6 is a flowchart illustrating the steps of the proposed method for protected export and import of structured data according to an embodiment of the present disclosure.
  • 7 illustrates an exemplary computer system in or with which embodiments of the present invention may be used in accordance with embodiments of the present disclosure.

Es folgt eine detaillierte Beschreibung der Ausführungsformen der Offenbarung, die in den beigefügten Zeichnungen dargestellt sind. Die Ausführungsformen sind so detailliert, dass sie die Offenbarung klar vermitteln. Die Menge der gebotenen Details ist jedoch nicht dazu gedacht, die erwarteten Variationen der Ausführungsformen einzuschränken; Vielmehr sollen alle Modifikationen, Äquivalente und Alternativen, die in den Geist und Umfang der vorliegenden Offenbarungen fallen, wie sie in den beigefügten Ansprüchen definiert sind, abgedeckt sein.The following is a detailed description of the embodiments of the disclosure illustrated in the accompanying drawings. The embodiments are detailed enough to clearly convey the disclosure. However, the amount of detail provided is not intended to limit the expected variations of the embodiments; rather, it is intended to cover all modifications, equivalents, and alternatives that fall within the spirit and scope of the present disclosures as defined by the appended claims.

Die hier erläuterten Ausführungsformen beziehen sich auf die Datenübertragung. Insbesondere stellt die vorliegende Offenbarung ein System und ein Verfahren zum geschützten Export/Import strukturierter Daten bereit.The embodiments explained here relate to data transmission. In particular, the present disclosure provides a system and a procedure for the protected export/import of structured data.

Mit Bezug auf 1 ist ein beispielhaftes Blockdiagramm des vorgeschlagenen Systems 100 (im Folgenden austauschbar als System 100 bezeichnet) gezeigt, wobei das System 100 Anwendung_1 102 (im Folgenden auch als Anbieteranwendung 102 bezeichnet), die sich auf ein anbieterseitiges Anwendungssystem beziehen kann, und Anwendung_2 104 (im Folgenden auch als Verbraucheranwendung 104 bezeichnet), die sich auf ein verbraucherseitiges Anwendungssystem beziehen kann, einschließt.With reference to 1 , an exemplary block diagram of the proposed system 100 (hereinafter interchangeably referred to as system 100) is shown, wherein the system 100 includes application_1 102 (hereinafter also referred to as provider application 102), which may refer to a provider-side application system, and application_2 104 (hereinafter also referred to as consumer application 104), which may refer to a consumer-side application system.

Darüber hinaus schließt das System 100 ein Kommunikationsmodul 108 ein, das so konfiguriert sein kann, dass es das anbieterseitige Anwendungssystem 102 und das verbraucherseitige Anwendungssystem 104 kommunikativ miteinander verbindet. Das Kommunikationsmodul 108 kann so konfiguriert werden, dass es einen sicheren Kommunikationskanal zwischen dem anbieterseitigen Anwendungssystem 102 und dem verbraucherseitigen Anwendungssystem 104 erstellt. In einer bevorzugten Ausführungsform kann sich das System 100 auf ein einzelnes mobiles Kommunikationssystem beziehen, wie etwa ein Smartphone, und das Kommunikationsmodul 108 kann Bluetooth-basiert sein, was bei der Erstellung eines Offline-Kommunikationskanals zwischen dem anbieterseitigen Anwendungssystem 102 und dem verbraucherseitigen Anwendungssystem 104 helfen kann.Additionally, system 100 includes a communication module 108 that may be configured to communicatively connect provider-side application system 102 and consumer-side application system 104. Communication module 108 may be configured to establish a secure communication channel between provider-side application system 102 and consumer-side application system 104. In a preferred embodiment, system 100 may relate to a single mobile communication system, such as a smartphone, and communication module 108 may be Bluetooth-based, which may assist in establishing an offline communication channel between provider-side application system 102 and consumer-side application system 104.

In einer Ausführungsform kann das anbieterseitige Anwendungssystem 102 zunächst eindeutige Service-Links erstellen. Darüber hinaus kann das verbraucherseitige Anwendungssystem 104 die dem anbieterseitigen Anwendungssystem 102 zugeordnete Inhalts-URI abfragen. In einer beispielhaften Ausführungsform kann das verbraucherseitige Anwendungssystem 104 zuerst die dem anbieterseitigen Anwendungssystem 102 zugeordnete Inhalts-URI erstellen und dann die erstellte Inhalts-URI abfragen.In one embodiment, the provider-side application system 102 may first create unique service links. Furthermore, the consumer-side application system 104 may query the content URI associated with the provider-side application system 102. In an exemplary embodiment, the consumer-side application system 104 may first create the content URI associated with the provider-side application system 102 and then query the created content URI.

In einer anderen Ausführungsform kann das anbieterseitige Anwendungssystem 102 so konfiguriert sein, dass es die zu migrierende Datenbank verschlüsselt und entsprechend symmetrische Schlüssel generiert. Ferner kann das anbieterseitige Anwendungssystem 102 die verschlüsselte Datenbank in einem ersten Ordner speichern und eine Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige Anwendungssystem 104 übertragen.In another embodiment, the provider-side application system 102 may be configured to encrypt the database to be migrated and generate corresponding symmetric keys. Furthermore, the provider-side application system 102 may store the encrypted database in a first folder and transmit a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side application system 104.

In einer beispielhaften Ausführungsform kann die Datenbank beliebige oder eine Kombination aus strukturierten und unstrukturierten Daten einschließen. Die Datenbank kann auch mehrere große Tabellen einschließen.In an exemplary embodiment, the database may include any or a combination of structured and unstructured data. The database may also include multiple large tables.

In einer anderen Ausführungsform kann das verbraucherseitige Anwendungssystem 104 die mit der Benachrichtigung verbundenen Antworten analysieren und die verschlüsselte Datenbank mithilfe des übertragenen symmetrischen Schlüssels entschlüsseln. Darüber hinaus kann das verbraucherseitige Anwendungssystem 104 die entschlüsselte Datenbank in einem zweiten Ordner speichern und die Datenbank an das verbraucherseitige Anwendungssystem 104 anhängen.In another embodiment, the consumer-side application system 104 may analyze the responses associated with the notification and decrypt the encrypted database using the transmitted symmetric key. Furthermore, the consumer-side application system 104 may save the decrypted database in a second folder and attach the database to the consumer-side application system 104.

Gemäß einer Ausführungsform kann das System 100 einen externen Speicher 106 einschließen, in dem alle Daten, Datenbanken, Dateien und Ordner gespeichert werden können. Der externe Speicher 106 kann ein integraler Bestandteil des Systems 100 sein, oder ein externes Speichermodul kann auch als externer Speicher 106 fungieren.According to one embodiment, system 100 may include external storage 106 in which all data, databases, files, and folders may be stored. External storage 106 may be an integral part of system 100, or an external storage module may also function as external storage 106.

In einer Ausführungsform kann das anbieterseitige Anwendungssystem 102 die Datenbank aus dem ersten Ordner löschen, sobald die Datenbank entschlüsselt und an das verbraucherseitige Anwendungssystem 104 angehängt wurde.In one embodiment, the provider-side application system 102 may delete the database from the first folder once the database has been decrypted and attached to the consumer-side application system 104.

In einer anderen Ausführungsform kann das anbieterseitige Anwendungssystem 102 so konfiguriert sein, dass es einen Inhaltsanbieter erstellt und ihn für den Empfang von Anforderungen von unterschiedlichen verbraucherseitigen Anwendungssystemen registriert. In einer Ausführungsform kann das System 100 auch die Offline-Übertragung von Inhalten/Daten zwischen dem verbraucherseitigen Anwendungssystem 104 und dem anbieterseitigen Anwendungssystem 102 erleichtern. In einer Implementierung kann das System 100 eine optionale Übertragung der Daten ermöglichen, d. h. eine vollständige Übertragung der Daten und eine selektive Übertragung der Daten.In another embodiment, the provider-side application system 102 may be configured to create a content provider and register it to receive requests from different consumer-side application systems. In one embodiment, the system 100 may also facilitate offline transfer of content/data between the consumer-side application system 104 and the provider-side application system 102. In one implementation, the system 100 may enable optional transfer of the data, i.e., a full transfer of the data and a selective transfer of the data.

Mit Bezug auf 2 ermöglicht das vorgeschlagene System 100 die Erstellung geschützter strukturierter Daten-Export-/Import-Service-Kanäle zwischen zwei Anwendungen, beispielsweise einer Verbraucheranwendung (im Folgenden hierin auch als neue Anwendung bezeichnet) und einer Anbieteranwendung (im Folgenden hierin auch als alte Anwendung bezeichnet), wobei beide Anwendungen einem eindeutigen Protokoll folgen können. In einer Ausführungsform, wie in Diagramm 200 veranschaulicht, kann zunächst der Inhaltsanbieter 202 der Anbieteranwendung 102 Daten vom Inhaltsauflöser 208 der Verbraucheranwendung 104 übernehmen. Ferner werden die Daten in Block 204 mithilfe einer Geschäftslogik verarbeitet und dann in Block 206 der Anbieteranwendung 102 in der Datenbank und im externen Speicher 106 gespeichert. Darüber hinaus werden die im Block 204 verarbeiteten Daten auch erneut dem Inhaltsanbieter 202 zugeführt, der sie dann an den Inhaltsauflöser 208 übermittelt. Vom Inhaltsauflöser 208 werden die Daten in Block 210 eingespeist, wo sie mithilfe von Geschäftstechniken verarbeitet werden. Ferner werden sie in der Datenbank im Block 212 der Verbraucheranwendung 104 und im externen Speicher 106 gespeichert.With reference to 2 The proposed system 100 enables the creation of protected structured data export/import service channels between two applications, for example, a consumer application (hereinafter also referred to as a new application) and a provider application (hereinafter also referred to as an old application), where both applications can follow a unique protocol. In one embodiment, as illustrated in diagram 200, first, the content provider 202 of the provider application 102 can acquire data from the content resolver 208 of the consumer application 104. Further, in block 204, the data is processed using a Business logic is processed and then stored in the database and external storage 106 in block 206 of the provider application 102. Furthermore, the data processed in block 204 is also fed back to the content provider 202, which then transmits it to the content resolver 208. From the content resolver 208, the data is fed to block 210, where it is processed using business techniques. It is further stored in the database in block 212 of the consumer application 104 and in the external storage 106.

In einer Ausführungsform erhält das System 100 zunächst die Anwendungs-IDs der neuen Anwendung 104 und der alten Anwendung 102. Anschließend kann die alte Anwendung 102 eindeutige lokale Service-Links für die Migration und Löschung von Daten erstellen. Ferner kann am Ende der neuen Anwendung 104 die Datenbank der alten Anwendung 102 überprüft und angehängt werden.In one embodiment, system 100 first obtains the application IDs of the new application 104 and the old application 102. The old application 102 can then create unique local service links for data migration and deletion. Furthermore, at the end of the new application 104, the database of the old application 102 can be verified and attached.

In einer Ausführungsform kann auf der Seite der neuen Anwendung 104 der „Universal Resource Identifier“ (URI) des Inhaltsanbieters der alten Anwendung 102 erstellt werden, die sich auf die Migration von Daten beziehen kann. Ferner kann die erstellte URI abgefragt werden. Ferner kann die Antwort der URI analysiert werden. In einer Implementierung kann die URI durch Lesen der Cursordaten/-informationen analysiert werden, was die Validierung des geheimen Schlüssels, des Datenbankpfads, der Datenbank-URI, des Namens und dergleichen einschließen kann.In one embodiment, on the side of the new application 104, the Universal Resource Identifier (URI) of the content provider of the old application 102 may be created, which may relate to the migration of data. Further, the created URI may be queried. Further, the response of the URI may be analyzed. In one implementation, the URI may be analyzed by reading the cursor data/information, which may include validating the secret key, database path, database URI, name, and the like.

Ferner wird am Ende der neuen Anwendung 104 die entsprechende Datenbankdatei (DB-Datei) entschlüsselt. Falls der Pfad der entschlüsselten Datei nicht leer ist, handelt es sich um einen Erfolg, d. h., die Validierung der DB-Datei wurde erfolgreich durchgeführt. Danach wird die DB-Datei an einen angegebenen Ordner/eine angegebene Datenbank angehängt, um die Migration zu erleichtern. Danach kann die der DB-Datei zugeordnete externe Datei gelöscht werden.Furthermore, at the end of the new application 104, the corresponding database file (DB file) is decrypted. If the path of the decrypted file is not empty, this is a success, i.e., the DB file validation was successfully performed. The DB file is then attached to a specified folder/database to facilitate migration. The external file associated with the DB file can then be deleted.

In einer Ausführungsform kann die alte Anwendung 102 der neuen Anwendung eine lokale DB-Datei bereitstellen und die DB-Datei dann löschen, sobald alle der DB-Datei entsprechenden Vorgänge erfolgreich ausgeführt wurden. In einer beispielhaften Ausführungsform wird bei der anbieterseitigen Anwendung 102 zuerst ein Name für den Inhaltsanbieter erstellt und anschließend der Inhaltsanbieter registriert, um Anforderungen von verschiedenen Anwendungen zu empfangen. Der Inhaltsanbieter sollte für alle anderen Anwendungen auf derselben oder einer anderen Vorrichtung sichtbar sein. Darüber hinaus können „Universal Resource Locators“ (URLs) für DB-Anfragen definiert und entsprechend Inhalte des Content Providers in andere Anwendungen kopiert und anschließend DB-Operationen aus dem Content Provider gelöscht werden.In one embodiment, the old application 102 may provide a local DB file to the new application and then delete the DB file once all operations corresponding to the DB file have been successfully performed. In an exemplary embodiment, the provider-side application 102 first creates a name for the content provider and then registers the content provider to receive requests from various applications. The content provider should be visible to all other applications on the same or a different device. Furthermore, "Universal Resource Locators" (URLs) for DB requests may be defined and, accordingly, content from the content provider may be copied to other applications and then DB operations may be deleted from the content provider.

In einer Ausführungsform kann die alte Anwendung 102 Anfragen von den neuen Anwendungen mit spezifischer URI empfangen. Falls die URI der Anforderung mit der URI für die Migration identisch ist, kann das System 100 zunächst die Datenbank verschlüsseln; anschließend kann der Pfad der Datenbank innerhalb des Anwendungspakets abgerufen und die DB-Datei verschlüsselt werden, vorzugsweise mit der Verschlüsselungstechnik „Advanced Encryption Standard“ (AES). Bei einer Implementierung wird ein symmetrischer Schlüssel generiert, der zum Verschlüsseln der DB-Datei verwendet wird. Ferner wird der symmetrische Schlüssel über den Inhaltsanbieter an die neue Anwendung 104 weitergegeben.In one embodiment, the old application 102 can receive requests from the new applications with a specific URI. If the URI of the request is identical to the URI for migration, the system 100 can first encrypt the database; then, the path to the database within the application package can be retrieved and the DB file can be encrypted, preferably using the Advanced Encryption Standard (AES) encryption technique. In one implementation, a symmetric key is generated, which is used to encrypt the DB file. Further, the symmetric key is passed to the new application 104 via the content provider.

In anderen Ausführungsformen kann die alte Anwendung 102 Anfragen von den neuen Anwendungen mit spezifischen URIs empfangen. Wenn die URI der Anforderung mit der URI-Generierung für die Migration/Löschung identisch ist. Anschließend kann die DB-Datei vom Speicherort gelöscht werden. Dann wird die verschlüsselte DB-Datei in einem Medienordner gespeichert, vorzugsweise mit der Erweiterung „.png". Sobald die Verschlüsselung und Speicherung abgeschlossen sind, benachrichtigt der Inhaltsanbieter die neue Anwendung 104 über verschiedene Parameter, darunter symmetrischen Schlüssel, verschlüsselten Datenbankpfad, verschlüsselten Datenbanknamen und dergleichen.In other embodiments, the old application 102 may receive requests from the new applications with specific URIs. If the request URI is identical to the URI generation for migration/deletion, the DB file may then be deleted from the storage location. The encrypted DB file is then saved to a media folder, preferably with a ".png" extension. Once encryption and storage are complete, the content provider notifies the new application 104 of various parameters, including the symmetric key, encrypted database path, encrypted database name, and the like.

Gemäß einer Ausführungsform kann das System 100 einen oder mehrere Prozessor(en) einschließen, die als ein oder mehrere Mikroprozessoren, Mikrocomputer, Mikrocontroller, digitale Signalprozessoren, zentrale Verarbeitungseinheiten, logische Schaltungsanordnungen und/oder beliebige Vorrichtungen, die Daten auf der Grundlage von Betriebsanweisungen manipulieren, implementiert sein können. Unter anderen Fähigkeiten sind der eine oder die mehreren Prozessor(en) so konfiguriert, dass sie computerlesbare Anweisungen, die in einem Speicher des Systems 100 gespeichert sind, abrufen und ausführen können. Der Speicher kann eine oder mehrere computerlesbare Anweisungen oder Routinen speichern, die abgerufen und ausgeführt werden können, um die Dateneinheiten über einen Service im Netzwerk zu erstellen oder freizugeben. Der Speicher kann eine beliebige nicht-transitorische Speichervorrichtung einschließen, einschließlich beispielsweise flüchtigen Speicher wie RAM, oder nichtflüchtigen Speicher wie EPROM, Flash-Speicher und dergleichen.According to one embodiment, system 100 may include one or more processors, which may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitry, and/or any device that manipulates data based on operating instructions. Among other capabilities, the one or more processors are configured to retrieve and execute computer-readable instructions stored in a memory of system 100. The memory may store one or more computer-readable instructions or routines that can be retrieved and executed to create or release the data units via a service on the network. The memory may include any non-transitory storage device, including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.

In einer Ausführungsform kann das System 100 auch eine oder mehrere Schnittstelle(n) einschließen, die eine Vielzahl von Schnittstellen einschließen können, zum Beispiel Schnittstellen für Dateneingabe- und -ausgabevorrichtungen, so genannte E/A-Vorrichtungen, Speichervorrichtungen und dergleichen. Die Schnittstelle(n) können die Kommunikation des Systems 100 mit verschiedenen daran gekoppelten Vorrichtungen erleichtern. Die Schnittstelle(n) können auch einen Kommunikationspfad für eine oder mehrere Komponenten des Systems 100 bereitstellen. Zu solchen Komponenten zählen beispielsweise (jedoch nicht ausschließlich) Verarbeitungs-Engine(s) und Datenbanken.In one embodiment, the system 100 may also include one or more interfaces which may include a variety of interfaces, for example, interfaces for data input and output devices, so-called I/O devices, storage devices, and the like. The interface(s) may facilitate communication of the system 100 with various devices coupled thereto. The interface(s) may also provide a communication path for one or more components of the system 100. Such components include, for example (but not limited to), processing engine(s) and databases.

In einer Ausführungsform können die Verarbeitungs-Engine(s) als eine Kombination aus Hardware und Programmierung (z. B. programmierbare Anweisungen) implementiert werden, um eine oder mehrere Funktionalitäten der Verarbeitungs-Engine(s) zu implementieren. In den hier beschriebenen Beispielen können solche Kombinationen aus Hardware und Programmierung auf verschiedene Arten implementiert werden. Beispielsweise kann die Programmierung für die Verarbeitungs-Engine(s) aus prozessorausführbaren Anweisungen bestehen, die auf einem nicht-transitorischen, maschinenlesbaren Speichermedium gespeichert sind, und die Hardware für die Verarbeitungs-Engine(s) kann eine Verarbeitungsressource (beispielsweise einen oder mehrere Prozessoren) zum Ausführen solcher Anweisungen einschließen. In den vorliegenden Beispielen kann das maschinenlesbare Speichermedium Anweisungen speichern, die, wenn sie von der Verarbeitungsressource ausgeführt werden, die Verarbeitungs-Engine(s) implementieren. In solchen Beispielen kann das System 100 das maschinenlesbare Speichermedium einschließen, auf dem die Anweisungen gespeichert sind, und die Verarbeitungsressource zum Ausführen der Anweisungen, oder das maschinenlesbare Speichermedium kann separat sein, aber für das System 100 und die Verarbeitungsressource zugänglich sein. In anderen Beispielen können die Verarbeitungs-Engine(s) durch elektronische Schaltlogiken implementiert sein. Die Datenbank kann Daten einschließen, die entweder gespeichert oder als Ergebnis von Funktionalitäten erzeugt wurden, die von einer der Komponenten der Verarbeitungs-Engine(s) implementiert sind.In one embodiment, the processing engine(s) may be implemented as a combination of hardware and programming (e.g., programmable instructions) to implement one or more functionalities of the processing engine(s). In the examples described herein, such combinations of hardware and programming may be implemented in various ways. For example, the programming for the processing engine(s) may consist of processor-executable instructions stored on a non-transitory, machine-readable storage medium, and the hardware for the processing engine(s) may include a processing resource (e.g., one or more processors) for executing such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s). In such examples, system 100 may include the machine-readable storage medium on which the instructions are stored and the processing resource for executing the instructions, or the machine-readable storage medium may be separate but accessible to system 100 and the processing resource. In other examples, the processing engine(s) may be implemented by electronic circuitry. The database may include data either stored or generated as a result of functionality implemented by one of the components of the processing engine(s).

Mit Bezug auf 3 wird, wie aus dem Sequenzdiagramm 300 ersichtlich, zunächst bei 302 der Inhaltsanbieter der Anbieteranwendung 102 erstellt und bei 304 entsprechend eine Abfrage zur Datenbankmigration durch die Verbraucheranwendung 104 ausgelöst. Ferner wird als Antwort auf die gestellte Abfrage die Abfrage (Verbraucheranforderung) bei 305 authentifiziert und ferner wird bei 306 die Datenbank mithilfe der AES-Verschlüsselungstechnik in der Anbieteranwendung 102 verschlüsselt und dann wird bei 308 die verschlüsselte Datenbank von der Anbieteranwendung 102 in einem Medienordner (der ein externer Ordner sein kann) gespeichert.With reference to 3 As can be seen from the sequence diagram 300, first, at 302, the content provider of the provider application 102 is created, and at 304, a query for database migration is triggered by the consumer application 104. Further, in response to the query submitted, the query (consumer request) is authenticated at 305, and further, at 306, the database is encrypted using the AES encryption technique in the provider application 102, and then, at 308, the encrypted database is saved by the provider application 102 in a media folder (which may be an external folder).

In einer Ausführungsform wird bei 310 eine Benachrichtigung über die Anbieteranwendung 102 an die Verbraucheranwendung 104 übermittelt, wobei die Benachrichtigung einen symmetrischen Schlüssel, einen Datenbankpfad und einen Namen einschließen kann.In one embodiment, at 310, a notification is transmitted via the provider application 102 to the consumer application 104, where the notification may include a symmetric key, a database path, and a name.

In einer anderen Ausführungsform kann die Verbraucheranwendung 104 bei 312 die Antwort aus der Benachrichtigung analysieren und entsprechend bei 314 eine Datenbankentschlüsselung unter Verwendung empfangener Schlüssel durchführen. Ferner kann bei 316 die entschlüsselte Datenbank in einem Ordner der Verbraucheranwendung 104 gespeichert werden, und entsprechend wird die Datenbank bei 318 an die Verbraucheranwendung 104 angehängt.In another embodiment, the consumer application 104 may analyze the response from the notification at 312 and, accordingly, perform database decryption using received keys at 314. Further, at 316, the decrypted database may be stored in a folder of the consumer application 104, and, accordingly, the database is attached to the consumer application 104 at 318.

Darüber hinaus kann die Verbraucheranwendung 104 bei 320 eine weitere Abfrage bezüglich der Löschung der migrierten Datenbank stellen. Ferner kann das System 100 als Reaktion auf die gestellte Abfrage bei 322 die Datenbank aus dem Ordner der Anbieteranwendung 102 löschen.Furthermore, at 320, the consumer application 104 may issue another query regarding the deletion of the migrated database. Further, in response to the issued query, at 322, the system 100 may delete the database from the folder of the provider application 102.

In einer Ausführungsform kann das System 100 dem Benutzer den Übergang zu einer neuen Anwendung erleichtern, ohne dass er seine persönlichen Daten oder Anwendungsdaten einsehen muss, die im sicheren Speicher der älteren Anwendung gespeichert sind. Darüber hinaus ist das vorgeschlagene System 100 eine überaus optimistische Lösung, da es weniger als 1 Sekunde dauert, 5 MB Daten von einer alten Anwendung (App) auf eine neue App zu übertragen.In one embodiment, system 100 can facilitate the user's transition to a new application without requiring them to view their personal or application data stored in the older application's secure storage. Furthermore, the proposed system 100 is a highly optimistic solution, as it takes less than 1 second to transfer 5 MB of data from an old application (app) to a new app.

Darüber hinaus entstehen dem Benutzer keine Kosten für Internetdaten, da die gesamte Übertragung offline erfolgt. Darüber hinaus ist der gesamte Prozess sicher und geschützt. Der Prozess ist sicher, da die alte App-Datenbank sofort aus der temporären Datei gelöscht wird, sobald die DB-Anfügung auf der Seite der Verbraucher-App abgeschlossen ist. Der Prozess ist sicher, da die Datenbank verschlüsselt übertragen wird.Additionally, the user incurs no internet data charges because the entire transfer occurs offline. Furthermore, the entire process is safe and secure. The process is secure because the old app database is immediately deleted from the temporary file once the DB attachment is completed on the consumer app side. The process is safe because the database is transferred encrypted.

Darüber hinaus ist die Datenübertragung auch dann möglich, wenn die Anbieter-App nicht läuft. Außerdem ist im Vergleich zur zeilenweisen Übertragung mithilfe des Inhaltsanbieters ein sehr geringer Aufwand in der Anbieteranwendung (alte App) erforderlich. Denn unabhängig von der Datenbankgröße in der Anbieteranwendung (alte App) funktioniert ein einzelner Aufruf des Lösungsdienstes.Furthermore, data transfer is possible even when the provider app is not running. Furthermore, compared to line-by-line transfer using the content provider, very little effort is required in the provider application (old app). A single call to the solution service works regardless of the database size in the provider application (old app).

Unter Bezugnahme auf 4 kann die schrittweise Funktionsweise 400 der Erzeugeranwendung 102 beobachtet werden. In Block 402 wird ein Inhaltsanbieter erstellt, sodass der Inhaltsanbieter zwei Servicelinks akzeptieren kann - einen zur Migration und einen zum Löschen. Darüber hinaus kann in Block 404 der Inhaltsanbieter im Erzeuger registriert werden, sodass er oben in anderen Anwendungen sichtbar wird. In Block 406 wird die Signatur der Schutzstufe aktiviert und anschließend in Block 408 geprüft, ob eine Migrations- oder Löschanforderung vorliegt.With reference to 4 The step-by-step operation 400 of the producer application 102 can be observed. In block 402, a content provider is created so that the content provider can accept two service links—one for migration and one for deletion. Furthermore, in block 404, the content provider can be registered in the producer so that it becomes visible at the top of other applications. In block 406, the protection level signature is activated, and then, in block 408, it is checked whether a migration or deletion request exists.

In einer Ausführungsform wird, wenn eine Löschanforderung vorliegt, in Block 410 die verschlüsselte Datenbank, die im Medienordner gespeichert sein kann, gelöscht.In one embodiment, if there is a deletion request, in block 410 the encrypted database that may be stored in the media folder is deleted.

In einer anderen Ausführungsform wird die Datenbank bei einer Migrationsanforderung in Block 412 mit symmetrischen Schlüsseln verschlüsselt. Ferner wird in Block 414 die verschlüsselte Datenbank im Medienordner gespeichert, vorzugsweise mit der Erweiterung „.png". Anschließend wird in Block 416 eine Benachrichtigung an die Verbraucheranwendung 104 gesendet, wobei die Benachrichtigung mindestens einen der folgenden Schlüssel, den Datenbankpfad und den Namen einschließen kann.In another embodiment, upon a migration request, the database is encrypted with symmetric keys at block 412. Further, at block 414, the encrypted database is saved to the media folder, preferably with the extension ".png." Subsequently, at block 416, a notification is sent to the consumer application 104, where the notification may include at least one of the following keys: the database path, and the name.

Unter Bezugnahme auf 5 kann die schrittweise Funktionsweise 500 der Verbraucheranwendung 104 beobachtet werden. In Block 502 wird eine Inhaltsanbieter-URI erstellt, um den Anbieter abzufragen, und in Block 504 wird eine Schutzstufensignatur aktiviert. In Block 506 wird der Abfrageanbieter der URI zugeordnet, vorzugsweise der Datenbankmigrations-URI. Darüber hinaus können in Block 508 Daten, einschließlich symmetrischer Schlüssel, Datenbankpfad und -name, bei der Verbraucheranwendung 104 empfangen werden, wo die empfangenen Daten in Block 510 analysiert und validiert werden können.With reference to 5 The step-by-step operation 500 of the consumer application 104 can be observed. In block 502, a content provider URI is created to query the provider, and in block 504, a protection level signature is activated. In block 506, the query provider is associated with the URI, preferably the database migration URI. Furthermore, in block 508, data, including symmetric keys, database path, and name, may be received at the consumer application 104, where the received data may be analyzed and validated in block 510.

In einer Ausführungsform wird, wenn die Daten in Block 512 validiert werden, die Datenbank aus dem Datenbankpfad in einen bestimmten Ordner der Verbraucheranwendung 104 kopiert. Anschließend wird in Block 514 die Datenbank mithilfe eines symmetrischen Schlüssels entschlüsselt und in Block 516 an die Verbraucheranwendung 104 angehängt. Ferner wird in Block 518 eine Löschabfragebenachrichtigung von der Verbraucheranwendung 104 an die Anbieteranwendung 102 gesendet. Darüber hinaus werden in Block 520 Datenbankoperationen ausgeführt.In one embodiment, when the data is validated in block 512, the database is copied from the database path to a specific folder of the consumer application 104. Then, in block 514, the database is decrypted using a symmetric key and attached to the consumer application 104 in block 516. Furthermore, in block 518, a delete request notification is sent from the consumer application 104 to the provider application 102. Furthermore, in block 520, database operations are performed.

In einer beispielhaften Ausführungsform ist das System 100 so konfiguriert, dass es drei weitere Wiederholungsversuche für die Validierung ermöglicht, falls die Daten in Block 510 nicht validiert werden. Andernfalls nimmt das System 100 seinen Betrieb wieder auf. Im Block 502 wird eine Inhaltsanbieter-URI erstellt, um den Anbieter abzufragen.In an exemplary embodiment, system 100 is configured to allow three additional validation retries if the data is not validated in block 510. Otherwise, system 100 resumes operation. In block 502, a content provider URI is created to query the provider.

Mit Bezug auf 6 kann das vorgeschlagene Verfahren 600 zum geschützten Export-Import strukturierter Daten (im Folgenden auch als Verfahren 600 bezeichnet) den Schritt 602 des Erstellens, durch ein Kommunikationsmodul, eines sicheren Kommunikationskanals zwischen einem anbieterseitigen Anwendungssystem und einem verbraucherseitigen Anwendungssystem einschließen.With reference to 6 the proposed method 600 for protected export-import of structured data (hereinafter also referred to as method 600) may include the step 602 of creating, by a communication module, a secure communication channel between a provider-side application system and a consumer-side application system.

In einer anderen Ausführungsform kann das Verfahren 600 den Schritt 604 des Erstellens eindeutiger Service-Links im anbieterseitigen Anwendungssystem einschließen. Darüber hinaus kann das Verfahren 600 den Schritt 606 des Abfragens, im verbraucherseitigen Anwendungssystem, der dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI, einschließen.In another embodiment, method 600 may include the step 604 of creating unique service links in the provider-side application system. Furthermore, method 600 may include the step 606 of querying, in the consumer-side application system, the content URI associated with the provider-side application system.

In einer anderen Ausführungsform kann das Verfahren 600 den Schritt 608 des Verschlüsselns, in dem anbieterseitigen Anwendungssystem, einer zu migrierenden Datenbank und des entsprechenden Generierens symmetrischer Schlüssel einschließen.In another embodiment, the method 600 may include the step 608 of encrypting, in the provider-side application system, a database to be migrated and generating symmetric keys accordingly.

In einer anderen Ausführungsform kann das Verfahren 600 Schritt 610 des Speicherns, im anbieterseitigen Anwendungssystem, der verschlüsselten Datenbank in einem ersten Ordner und des Übertragens einer Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige Anwendungssystem einschließen.In another embodiment, method 600 may include step 610 of storing, in the provider-side application system, the encrypted database in a first folder and transmitting a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side application system.

In einer anderen Ausführungsform kann das Verfahren 600 Schritt 612, in dem die der Benachrichtigung zugeordneten Antworten im verbraucherseitigen Anwendungssystem analysiert werden; und Schritt 614 des Entschlüsselns der verschlüsselten Datenbank im verbraucherseitigen Anwendungssystem unter Verwendung des übertragenen symmetrischen Schlüssels einschließen.In another embodiment, method 600 may include step 612 of analyzing the responses associated with the notification at the consumer-side application system; and step 614 of decrypting the encrypted database at the consumer-side application system using the transmitted symmetric key.

In einer weiteren Ausführungsform kann das Verfahren 600 Schritt 616 des Speicherns, im verbraucherseitigen Anwendungssystem, der entschlüsselten Datenbank in einem zweiten Ordner und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem einschließen.In another embodiment, method 600 may include step 616 of storing, in the consumer application system, the decrypted database in a second folder and attaching the database to the consumer application system.

In einer anderen Ausführungsform kann das Verfahren 600, nachdem die Datenbank entschlüsselt und an das verbraucherseitige Anwendungssystem angehängt wurde, das Löschen der Datenbank aus dem ersten Ordner des anbieterseitigen Anwendungssystems einschließen.In another embodiment, after the database has been decrypted and attached to the consumer application system, the method 600 may perform the deletion of the database from the first folder of the provider's application system.

In einer anderen Ausführungsform kann das Verfahren 600 den Schritt zunächst des Erstellens, im verbraucherseitigen Anwendungssystem, der dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI und anschließend des Abfragens der erstellten Inhalts-URI einschließen.In another embodiment, the method 600 may include the step of first creating, in the consumer-side application system, the content URI associated with the provider-side application system and then querying the created content URI.

In einer weiteren Ausführungsform kann das Verfahren 600 den Schritt des Erstellens eines Inhaltsanbieters im anbieterseitigen Anwendungssystem und dann des Registrierens desselben zum Empfangen von Anforderungen von unterschiedlichen verbraucherseitigen Anwendungssystemen einschließen.In another embodiment, method 600 may include the step of creating a content provider in the provider-side application system and then registering it to receive requests from different consumer-side application systems.

Mit Bezug auf 7 stellt das Blockdiagramm 700 ein Computersystem dar, das eine externe Speichervorrichtung 710, einen Bus 720, einen Hauptspeicher 730, einen Nur-Lese-Speicher 740, eine Massenspeichervorrichtung 750, einen Kommunikationsanschluss 760 und einen Prozessor 770 einschließt. Einem Fachmann ist klar, dass ein Computersystem mehr als einen Prozessor und mehr als einen Kommunikationsanschluss einschließen kann. Beispiele für Prozessor 770 schließen ein, sind jedoch nicht beschränkt auf einen Intel® Itanium®- oder Itanium 2-Prozessor(en), einen AMD® Opteron®- oder Athlon MP®-Prozessor(en), Motorola®-Prozessorreihen, FortiSOC™-System-on-a-Chip-Prozessoren oder andere zukünftige Prozessoren. Der Prozessor 770 kann verschiedene Module einschließen, die mit Ausführungsformen der vorliegenden Erfindung verbunden sind. Der Kommunikationsanschluss 760 kann ein RS-232-Anschluss zur Verwendung mit einer modembasierten DFÜ-Verbindung, ein 10/100-Ethernet-Anschluss, ein Gigabit- oder 10-Gigabit-Anschluss mit Kupfer- oder Glasfaserkabel, ein serieller Anschluss, ein paralleler Anschluss oder ein anderer vorhandener oder zukünftiger Anschluss sein. Der Kommunikationsport 760 kann je nach Netzwerk ausgewählt werden, beispielsweise einem lokalen Netzwerk (LAN), einem Weitverkehrsnetzwerk (WAN) oder jedem anderen Netzwerk, mit dem ein Computersystem verbunden ist.With reference to 7 Block diagram 700 illustrates a computer system including an external storage device 710, a bus 720, a main memory 730, a read-only memory 740, a mass storage device 750, a communications port 760, and a processor 770. One of ordinary skill in the art will appreciate that a computer system may include more than one processor and more than one communications port. Examples of processor 770 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), an AMD® Opteron® or Athlon MP® processor(s), Motorola® processor families, FortiSOC™ system-on-a-chip processors, or other future processors. Processor 770 may include various modules associated with embodiments of the present invention. Communications port 760 can be an RS-232 port for use with a modem-based dial-up connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber optic cabling, a serial port, a parallel port, or another existing or future port. Communications port 760 can be selected depending on the network, such as a local area network (LAN), a wide area network (WAN), or any other network to which a computer system is connected.

In einer Ausführungsform kann der Speicher 730 ein Direktzugriffsspeicher (RAM) oder eine beliebige andere in der Technik allgemein bekannte dynamische Speichervorrichtung sein. Bei dem Nur-Lese-Speicher 740 kann es sich um beliebige statische Speichervorrichtungen handeln, z. B., jedoch nicht beschränkt auf einen programmierbaren Nur-Lese-Speicherchip (PROM) zum Speichern statischer Informationen, z. B. Start- oder BIOS-Anweisungen für den Prozessor 770. Massenspeicher 760 kann jede aktuelle oder zukünftige Massenspeicherlösung sein, die zum Speichern von Informationen und/oder Anweisungen verwendet werden kann. Zu beispielhaften Massenspeicherlösungen gehören unter anderem PATA- („Parallel Advanced Technology Attachment“) oder SATA- („Serial Advanced Technology Attachment“) Festplattenlaufwerke oder Solid-State-Laufwerke (intern oder extern, z. B. mit USB- („Universal Serial Bus“) und/oder „Firewire“-Schnittstellen), z. B. die von Seagate (z. B. die Seagate Barracuda 7102-Familie) oder Hitachi (z. B. Hitachi Deskstar 7K1000) erhältlichen, eine oder mehrere optische Datenträger, RAID-Speicher („Redundant Array of Independent Disks“), z. B. ein Array von Datenträgern (z. B. SATA-Arrays), die von verschiedenen Anbietern erhältlich sind, einschließlich Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. und Enhance Technology, Inc.In one embodiment, memory 730 may be random access memory (RAM) or any other dynamic storage device well known in the art. Read-only memory 740 may be any static storage device, such as, but not limited to, a programmable read-only memory (PROM) chip for storing static information, such as boot or BIOS instructions for processor 770. Mass storage 760 may be any current or future mass storage solution that can be used to store information and/or instructions. Example mass storage solutions include, but are not limited to, PATA (Parallel Advanced Technology Attachment) or SATA (Serial Advanced Technology Attachment) hard disk drives or solid-state drives (internal or external, e.g., with USB (Universal Serial Bus) and/or Firewire interfaces), e.g., a B. those available from Seagate (e.g., the Seagate Barracuda 7102 family) or Hitachi (e.g., Hitachi Deskstar 7K1000), one or more optical disks, RAID ("Redundant Array of Independent Disks") storage, e.g., an array of disks (e.g., SATA arrays), available from various vendors, including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc., and Enhance Technology, Inc.

In einer Ausführungsform verbindet der Bus 720 den/die Prozessor(en) 770 kommunikativ mit den anderen Speicher-, Datenspeicher- und Kommunikationsblöcken. Der Bus 720 kann beispielsweise ein „Peripheral Component Interconnect“ (PCI) / „PCI-Extended“ (PCI-X)-Bus, „Small Computer System Interface“ (SCSI), USB oder dergleichen zum Verbinden von Erweiterungskarten, Laufwerken und anderen Subsystemen sowie andere Busse sein, wie etwa ein „Front Side Bus“ (FSB), der den Prozessor 770 mit dem Softwaresystem verbindet.In one embodiment, bus 720 communicatively connects processor(s) 770 to the other memory, storage, and communication blocks. Bus 720 may be, for example, a Peripheral Component Interconnect (PCI)/PCI-Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB, or the like for connecting expansion cards, drives, and other subsystems, as well as other buses, such as a Front Side Bus (FSB), that connects processor 770 to the software system.

In einer anderen Ausführungsform können Bediener- und Verwaltungsschnittstellen, z. B. ein Display, eine Tastatur und eine Cursor-Steuervorrichtung, ebenfalls mit dem Bus 720 gekoppelt werden, um die direkte Interaktion des Bedieners mit dem Computersystem zu unterstützen. Andere Bediener- und Verwaltungsschnittstellen können über Netzwerkverbindungen bereitgestellt werden, die über den Kommunikationsport 760 verbunden sind. Die externe Speichervorrichtung 710 kann jede Art externer Festplatten, Diskettenlaufwerke, IOMEGA® Zip-Laufwerke, Compact Discs - Nur-Lese-Speicher (CD-ROM), Compact Discs - Wiederbeschreibbar (CD-RW) oder Digital Video Disks - Nur-Lese-Speicher (DVD-ROM) sein. Die oben beschriebenen Komponenten dienen lediglich zur Veranschaulichung verschiedener Möglichkeiten. Das oben genannte beispielhafte Computersystem soll den Umfang der vorliegenden Offenbarung in keiner Weise einschränken.In another embodiment, operator and management interfaces, such as a display, keyboard, and cursor control device, may also be coupled to bus 720 to support direct operator interaction with the computer system. Other operator and management interfaces may be provided via network connections connected via communication port 760. External storage device 710 may be any type of external hard drive, floppy disk drive, IOMEGA® Zip drive, Compact Disc Read-Only Memory (CD-ROM), Compact Disc Rewritable (CD-RW), or Digital Video Disc Read-Only Memory (DVD-ROM). The components described above are merely illustrative of various possibilities. The above exemplary computer system is not intended to limit the scope of the present disclosure in any way.

Während im Vorstehenden verschiedene Ausführungsformen der Erfindung beschrieben sind, können andere und weitere Ausführungsformen der Erfindung erdacht werden, ohne von deren grundlegendem Umfang abzuweichen. Der Schutzumfang der Erfindung ist durch die folgenden Ansprüche bestimmt. Die Erfindung ist nicht auf die beschriebenen Ausführungsformen, Versionen oder Beispiele beschränkt, die eingeschlossen wurden, um einem Durchschnittsfachmann auf diesem Gebiet die Herstellung und Verwendung der Erfindung in Kombination mit dem Durchschnittsfachmann auf diesem Gebiet zur Verfügung stehenden Informationen und Kenntnissen zu ermöglichen.While various embodiments of the invention have been described above, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the following claims. The invention is not limited to the described embodiments, versions, or examples included. to enable a person of ordinary skill in the art to make and use the invention in combination with information and knowledge available to the person of ordinary skill in the art.

Die vorliegende Offenbarung stellt ein System und ein Verfahren bereit, die dem Benutzer den Übergang zu einer neuen Anwendung erleichtern, ohne auf seine persönlichen Daten oder Anwendungsdaten zugreifen zu müssen, die im sicheren Speicher der älteren Anwendung gespeichert sind.The present disclosure provides a system and method that facilitates the user's transition to a new application without having to access their personal data or application data stored in the older application's secure storage.

Die vorliegende Offenbarung stellt ein System und ein Verfahren bereit, die die gesamte Datenübertragung offline durchführt.The present disclosure provides a system and method that performs all data transmission offline.

Die vorliegende Offenbarung stellt ein System und ein Verfahren bereit, die sicher sind, da die alte App-Datenbank sofort aus der temporären Datei gelöscht wird, sobald die Datenbankanlage auf der Seite der Verbraucher-App abgeschlossen ist.The present disclosure provides a system and method that are secure because the old app database is immediately deleted from the temporary file once the database creation on the consumer app side is completed.

Die vorliegende Offenbarung stellt ein System und ein Verfahren bereit, die eine sichere Datenübertragung ermöglichen, da die Datenbank in einem verschlüsselten Format übertragen wird.The present disclosure provides a system and method that enables secure data transmission because the database is transmitted in an encrypted format.

Die vorliegende Offenbarung stellt ein System und ein Verfahren bereit, die die Datenübertragung auch dann ermöglichen, wenn die Anbieter-App nicht ausgeführt wird. Die vorliegende Offenbarung stellt weiterhin ein intelligentes, sicheres, zeit- und kosteneffizientes System und Verfahren zum Importieren und Exportieren von Daten bereit.The present disclosure provides a system and method that enable data transfer even when the provider app is not running. The present disclosure further provides an intelligent, secure, time- and cost-efficient system and method for importing and exporting data.

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES CONTAINED IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 9898355B2 [0005]US 9898355B2 [0005]
  • US 9059974B2 [0006]US 9059974B2 [0006]
  • US 9542247B2 [0007]US 9542247B2 [0007]
  • US 7539701B2 [0008]US 7539701B2 [0008]

Claims (10)

System (100) für den geschützten Export/Import strukturierter Daten, wobei das System (100) umfasst: ein anbieterseitiges Anwendungssystem (102); ein verbraucherseitiges Anwendungssystem (104); und ein Kommunikationsmodul (108), das dazu konfiguriert ist, das anbieterseitige Anwendungssystem (102) und das verbraucherseitige Anwendungssystem (104) kommunikativ zu koppeln, wobei das Kommunikationsmodul (108) einen mit einem Speicher gekoppelten Prozessor umfasst, wobei das Kommunikationsmodul (108) dazu konfiguriert ist, einen sicheren Kommunikationskanal zwischen dem anbieterseitigen Anwendungssystem (102) und dem verbraucherseitigen Anwendungssystem (104) zu erstellen; das anbieterseitige Anwendungssystem (102) eindeutige Service-Links erstellt; das verbraucherseitige Anwendungssystem (104) die dem anbieterseitigen Anwendungssystem (102) zugeordnete Inhalts-URI abfragt; das anbieterseitige Anwendungssystem (102) konfiguriert ist zum: Verschlüsseln einer zu migrierenden Datenbank und entsprechendes Generieren von symmetrischen Schlüsseln; und Speichern der verschlüsselten Datenbank in einem ersten Ordner und Übertragen einer Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige Anwendungssystem (104); das verbraucherseitige Anwendungssystem (104) konfiguriert ist zum: Analysieren von der Benachrichtigung zugeordneten Antworten; Entschlüsseln der verschlüsselten Datenbank mit dem übertragenen symmetrischen Schlüssel; und Speichern der entschlüsselten Datenbank in einem zweiten Ordner und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem (104).A system (100) for the secure export/import of structured data, the system (100) comprising: a provider-side application system (102); a consumer-side application system (104); and a communication module (108) configured to communicatively couple the provider-side application system (102) and the consumer-side application system (104), the communication module (108) comprising a processor coupled to a memory, the communication module (108) configured to establish a secure communication channel between the provider-side application system (102) and the consumer-side application system (104); the provider-side application system (102) creates unique service links; the consumer-side application system (104) queries the content URI associated with the provider-side application system (102); the provider-side application system (102) is configured to: encrypt a database to be migrated and generate corresponding symmetric keys; and store the encrypted database in a first folder and transmit a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side application system (104); the consumer-side application system (104) is configured to: analyze responses associated with the notification; decrypt the encrypted database with the transmitted symmetric key; and store the decrypted database in a second folder and attach the database to the consumer-side application system (104). System (100) nach Anspruch 1, wobei das anbieterseitige Anwendungssystem (102) die Datenbank aus dem ersten Ordner löscht, sobald die Datenbank entschlüsselt und an das verbraucherseitige Anwendungssystem (104) angehängt ist.System (100) according to Claim 1 , wherein the provider-side application system (102) deletes the database from the first folder once the database is decrypted and attached to the consumer-side application system (104). System (100) nach Anspruch 1, wobei das verbraucherseitige Anwendungssystem (104) zuerst die dem anbieterseitigen Anwendungssystem (102) zugeordnete Inhalts-URI erstellt und dann die erstellte Inhalts-URI abfragt.System (100) according to Claim 1 , wherein the consumer-side application system (104) first creates the content URI associated with the provider-side application system (102) and then queries the created content URI. System (100) nach Anspruch 1, wobei das anbieterseitige Anwendungssystem (102) einen Inhaltsanbieter erstellt und ihn registriert, um Anfragen von unterschiedlichen verbraucherseitigen Anwendungssystemen zu empfangen.System (100) according to Claim 1 , wherein the provider-side application system (102) creates a content provider and registers it to receive requests from different consumer-side application systems. System (100) nach Anspruch 1, wobei die Datenbank beliebige oder eine Kombination aus strukturierten und unstrukturierten Daten umfasst; und wobei die Datenbank mehrere große Tabellen einschließt.System (100) according to Claim 1 , wherein the database comprises any or a combination of structured and unstructured data; and wherein the database includes multiple large tables. Verfahren (600) zum geschützten Exportieren und Importieren strukturierter Daten, wobei das Verfahren (600) umfasst: Erstellen (602) eines sicheren Kommunikationskanals zwischen einem anbieterseitigen Anwendungssystem und einem verbraucherseitigen Anwendungssystem durch ein Kommunikationsmodul; Erstellen (604), im anbieterseitigen Anwendungssystem, eindeutiger Service-Links; Abfragen (606), im verbraucherseitigen Anwendungssystem, von dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI; Verschlüsseln (608), im anbieterseitigen Anwendungssystem, einer zu migrierenden Datenbank und entsprechendes Generieren symmetrischer Schlüssel; Speichern (610), im anbieterseitigen Anwendungssystem, der verschlüsselten Datenbank in einem ersten Ordner und Übertragen einer Benachrichtigung, die mindestens einen der generierten symmetrischen Schlüssel, den Pfad und den Namen der verschlüsselten Datenbank einschließt, an das verbraucherseitige Anwendungssystem; Analysieren (612), im verbraucherseitigen Anwendungssystem, der der Benachrichtigung zugeordneten Antworten; Entschlüsseln (614), im verbraucherseitigen Anwendungssystem, der verschlüsselten Datenbank unter Verwendung des übertragenen symmetrischen Schlüssels; und Speichern (616), im verbraucherseitigen Anwendungssystem, der entschlüsselten Datenbank in einem zweiten Ordner und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem.A method (600) for securely exporting and importing structured data, the method (600) comprising: Creating (602) a secure communication channel between a provider-side application system and a consumer-side application system by a communication module; Creating (604) unique service links in the provider-side application system; Querying (606) in the consumer-side application system for a content URI assigned to the provider-side application system; Encrypting (608) in the provider-side application system a database to be migrated and generating symmetric keys accordingly; Saving (610) in the provider-side application system the encrypted database in a first folder and transmitting a notification including at least one of the generated symmetric keys, the path, and the name of the encrypted database to the consumer-side application system; Analyzing (612), in the consumer-side application system, the responses associated with the notification; Decrypting (614), in the consumer-side application system, the encrypted database using the transmitted symmetric key; and Saving (616), in the consumer-side application system, the decrypted database in a second folder and attaching the database to the consumer-side application system. Verfahren (600) nach Anspruch 6, wobei das Verfahren (600) nach der Entschlüsselung und Anhängen der Datenbank an das verbraucherseitige Anwendungssystem das Löschen der Datenbank aus dem ersten Ordner des anbieterseitigen Anwendungssystems umfasst.Procedure (600) according to Claim 6 wherein the method (600) comprises, after decrypting and attaching the database to the consumer-side application system, deleting the database from the first folder of the provider-side application system. Verfahren (600) nach Anspruch 6, wobei das Verfahren (600) zunächst das Erstellen der dem anbieterseitigen Anwendungssystem zugeordneten Inhalts-URI im verbraucherseitigen Anwendungssystem und dann das Abfragen der erstellten Inhalts-URI umfasst.Procedure (600) according to Claim 6 , wherein the method (600) first comprises creating the content URI associated with the provider-side application system in the consumer-side application system and then querying the created content URI. Verfahren (600) nach Anspruch 6, wobei das Verfahren (600) das Erstellen eines Inhaltsanbieters im anbieterseitigen Anwendungssystem und dann Registrieren desselben zum Empfangen von Anforderungen von unterschiedlichen verbraucherseitigen Anwendungssystemen umfasst.Procedure (600) according to Claim 6 , wherein the method (600) comprises creating a content provider in the provider-side application system and then registering it to receive requests from different consumer-side application systems. Verfahren (600) nach Anspruch 6, wobei die Datenbank beliebige oder eine Kombination aus strukturierten und unstrukturierten Daten umfasst; und wobei die Datenbank mehrere große Tabellen einschließt.Procedure (600) according to Claim 6 , wherein the database comprises any or a combination of structured and unstructured data; and wherein the database includes multiple large tables.
DE102024002779.3A 2023-09-08 2024-08-29 System for the protected export/import of structured data and procedures therefor Pending DE102024002779A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202311060534 2023-09-08
IN202311060534 2023-09-08

Publications (1)

Publication Number Publication Date
DE102024002779A1 true DE102024002779A1 (en) 2025-03-13

Family

ID=94691795

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102024002779.3A Pending DE102024002779A1 (en) 2023-09-08 2024-08-29 System for the protected export/import of structured data and procedures therefor

Country Status (1)

Country Link
DE (1) DE102024002779A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539701B2 (en) 2006-11-20 2009-05-26 Microsoft Corporation Generic infrastructure for migrating data between applications
US9059974B2 (en) 2012-12-21 2015-06-16 Mobile Iron, Inc. Secure mobile app connection bus
US9542247B2 (en) 2014-09-19 2017-01-10 Microsoft Technology Licensing, Llc Content sharing between sandboxed apps
US9898355B2 (en) 2013-09-12 2018-02-20 Apple Inc. Mediated data exchange for sandboxed applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539701B2 (en) 2006-11-20 2009-05-26 Microsoft Corporation Generic infrastructure for migrating data between applications
US9059974B2 (en) 2012-12-21 2015-06-16 Mobile Iron, Inc. Secure mobile app connection bus
US9898355B2 (en) 2013-09-12 2018-02-20 Apple Inc. Mediated data exchange for sandboxed applications
US9542247B2 (en) 2014-09-19 2017-01-10 Microsoft Technology Licensing, Llc Content sharing between sandboxed apps

Similar Documents

Publication Publication Date Title
DE60029567T2 (en) DIGITAL DATA MANAGEMENT AND IMAGE MANUFACTURING SYSTEM AND METHOD WITH SECURED DATA MARKING
DE112013002542B4 (en) Cloud-based application resource files
DE102021126869B4 (en) Permissions for backup-related operations
DE202018006561U1 (en) Common use or sharing of data in a multi-tenant database system
DE112021001413T5 (en) ADMINISTRATION OF PRIVILEGED ACCESS WITH LOW TRUST
DE102016100494A1 (en) Secure identity authentication in an electronic transaction
DE102010043265A1 (en) Systems and methods for processing and managing object-related data for use by multiple applications
DE10148357A1 (en) System and method for sharing digital literary works with protection against illegal copies through communication networks
DE202021102309U1 (en) Application delivery framework for database platforms
EP3889806B1 (en) Bit sequence-based data classification system
US8620911B2 (en) Document registry system
CN111104680B (en) Safe and intelligent experimental data management system and method
CN115793608A (en) ODX (optical distribution network) diagnosis data management method, device, medium and equipment based on micro-service
EP3552140A1 (en) Database index comprising multiple fields
EP3552141B1 (en) Server computer system for providing datasets
DE69704304T2 (en) Flexible mounting and unmounting of user-exchangeable media
DE102021106261A1 (en) Method for authorizing a first participant in a communication network, processing device, motor vehicle and infrastructure device
DE102021129179B4 (en) SECURE INTELLIGENT CONTAINERS TO CONTROL ACCESS TO DATA
DE102024002779A1 (en) System for the protected export/import of structured data and procedures therefor
WO2014068051A1 (en) Method for the protected deposit of event protocol data of a computer system, computer programme product and computer system
DE102024106558A1 (en) SYSTEM, METHOD AND DEVICE FOR INFORMATION PROCESSING
DE102012201431A1 (en) System and method for licensing a variety of software components
DE102007047613A1 (en) Sign management system
CN113094376B (en) Data main body request processing method and system based on distributed machine learning
US20130294647A1 (en) Visual monitoring

Legal Events

Date Code Title Description
R012 Request for examination validly filed