Electronic device for transmitting and receiving end-to-end encrypted data on basis of credentials of electronic device in wireless communication system, and operation method thereof

The method employs a fabric key system within a fabric network to securely transmit and receive encrypted data, ensuring data integrity by using end-to-end encryption and hierarchical key structures, addressing vulnerabilities in existing cloud-based encryption methods.

WO2025023541A1PCT designated stage expired Publication Date: 2025-01-30SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/009229
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-04
Filing Date
2024-07-01
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

In wireless communication systems, existing methods for transmitting and receiving encrypted data through cloud servers are vulnerable to external attacks, where if the cloud server's encryption key is compromised, the encrypted data can be restored and accessed by external devices, compromising security.

Method used

Implementing a method that uses a fabric key generated from device keys within a fabric network, where the fabric key is shared among member entities to encrypt and decrypt service data, ensuring that even if the service server is attacked, the security of the data remains intact by using end-to-end encryption (E2EE) and hierarchical key structures.

Benefits of technology

This approach enhances the security of data transmission by ensuring that only authorized entities can decrypt the data, maintaining data integrity even if the service server is compromised, thus providing robust end-to-end encryption within the fabric network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024009229_30012025_PF_FP_ABST
    Figure KR2024009229_30012025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a method for a first electronic device connected to a fabric network supporting end-to-end encryption (E2EE) in a wireless communication system. The method comprises the operations of: generating a fabric key on the basis of a pre-stored first device key and a second member key received from a second electronic device; transmitting the fabric key to the second electronic device through a fabric server managing the fabric network and a service server managing service data; encrypting the service data on the basis of the fabric key; and transmitting the encrypted data to the second electronic device through the service server, wherein the fabric key is shared between the fabric server, which is a member entity of the fabric network, and the second electronic device, and the encrypted data may be decrypted by the member entity of the fabric network that shares the fabric key.
Need to check novelty before this filing date? Find Prior Art

Description

Electronic device for transmitting and receiving end-to-end encrypted data based on credentials of electronic device in wireless communication system and method of operating the same

[0001] The present disclosure relates to an electronic device. In particular, the present disclosure relates to an electronic device and a method of operating the same for transmitting and receiving end-to-end encrypted data based on credentials of the electronic device.

[0002] Multiple electronic devices connected to a cloud server can transmit and receive encrypted data to each other through the cloud server. For example, a first electronic device can encrypt data and transmit it to the cloud server through a secure channel using an encryption communication protocol such as SSL (Secure Sockets Layer) or TLS (Transport Layer Security). The cloud server can decrypt the encrypted data received from the first electronic device through the secure channel, encrypt it using the cloud server's encryption key, and store it. When a second electronic device requests transmission of the encrypted data, the cloud server can decrypt the encrypted data using the cloud server's encryption key, encrypt the data using a secure channel with the second electronic device, and transmit the data to the second electronic device. The second electronic device can decrypt and store the encrypted data received from the cloud server.

[0003] Even though the method of transmitting and receiving the encrypted data provides a high level of security, if the cloud server is attacked by an external electronic device and the encryption key of the cloud server is hacked, the encrypted data can be restored by the external electronic device.

[0004] The above information is provided solely as background information to assist in the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above is applicable as prior art in connection with the present disclosure.

[0005] An aspect of the present disclosure addresses at least the problems and / or disadvantages described above, and provides at least the advantages described below. Accordingly, an aspect of the present disclosure provides a method for encrypting service data between electronic devices connected to a fabric network supporting end-to-end encryption (E2EE) in a wireless communication system without exposing the key for encrypting the service data to a service server managing the service data.

[0006] Additional aspects will be partly described in the following description, will become apparent from the partial description, or may be learned by practice of the presented embodiments.

[0007] According to an aspect of the present disclosure, a method of a first electronic device connected to a fabric network supporting end-to-end encryption (E2EE) in a wireless communication system is provided. The method includes: generating a fabric key based on a first device key stored in advance and a second member key received from a second electronic device; transmitting the fabric key to the second electronic device through a fabric server managing the fabric network and a service server managing the service data; encrypting service data based on the fabric key; and transmitting the encrypted data to the second electronic device through the service server; wherein the fabric key is shared with the fabric server and the second electronic device, which are member entities of the fabric network, and the encrypted data can be decrypted by a member entity of the fabric network that shares the fabric key.

[0008] According to another aspect of the present disclosure, a method of a second electronic device connected to a fabric network supporting end-to-end encryption (E2EE) in a wireless communication system is provided. The method may include: generating a second member key based on a pre-stored second device key; transmitting the second member key to the first electronic device through a fabric server managing the fabric network and a service server managing service data; receiving a fabric key generated based on the second member key and the first member key of the first electronic device from the first electronic device through the fabric server and the service server; receiving service data encrypted based on the fabric key from the first electronic device through the service server; and decrypting the encrypted service data based on the fabric key.

[0009] According to another aspect of the present disclosure, a method of operating one or more non-transitory computer-readable storage media storing computer-executable instructions that, when executed by one or more processors of a first electronic device, cause the first electronic device to perform operations is provided. The method includes generating a fabric key based on a pre-stored first device key and a second member key received from a second electronic device; transmitting the fabric key to the second electronic device through a fabric server that manages a fabric network and a service server that manages service data and encrypts the service data based on the fabric key; and transmitting the encrypted data to the second electronic device through the service server, wherein the fabric key is shared with the fabric server, which is a member entity of the fabric network, and the first electronic device, and the encrypted data can be decrypted by a member entity of the fabric network that shares the fabric key.

[0010] The present disclosure provides a method for encrypting service data between electronic devices connected to a fabric network supporting end-to-end encryption (E2EE) in a wireless communication system without exposing the key for encrypting the service data to a service server managing the service data, thereby having the effect of maintaining the security of the service data even if the service server is attacked.

[0011] Other aspects, advantages, and salient features of the present disclosure will become apparent to those skilled in the art from the following detailed description of various embodiments of the present disclosure taken in conjunction with the accompanying drawings.

[0012] The above and other aspects, features, and advantages of specific embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings, in which:

[0013] FIG. 1 is a block diagram of an electronic device within a network environment according to an embodiment of the present disclosure.

[0014] FIG. 2 is a conceptual diagram illustrating a method for transmitting and receiving end-to-end encrypted data in a wireless communication system according to an embodiment of the present disclosure.

[0015] FIG. 3 is a conceptual diagram illustrating a hierarchical structure of encryption keys of each of a plurality of electronic devices in a wireless communication system according to an embodiment of the present disclosure.

[0016] FIG. 4 is a conceptual diagram illustrating a fabric network including a first electronic device, a plurality of service servers, and a fabric server in a wireless communication system according to an embodiment of the present disclosure.

[0017] FIG. 5 is a conceptual diagram illustrating an operation for registering a first electronic device in an E2EE member list in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0018] FIG. 6 is a conceptual diagram illustrating an operation for adding a second electronic device to an E2EE member list in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0019] FIG. 7 is a conceptual diagram illustrating an operation for generating a link key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0020] FIG. 8 is a conceptual diagram illustrating an operation for generating and sharing a fabric key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0021] FIG. 9 is a conceptual diagram illustrating an operation for generating and sharing a service key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0022] FIG. 10 is a conceptual diagram illustrating operations for backing up, recovering, and synchronizing data in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0023] FIG. 11 is a conceptual diagram illustrating an operation for recovering an E2EE key from data in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0024] FIG. 12 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0025] FIG. 13 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0026] FIG. 14 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0027] FIGS. 15, 16, and 17 are conceptual diagrams illustrating a user interface of a first electronic device (200) for setting up an E2EE function in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0028] FIGS. 18, 19, and 20 are conceptual diagrams illustrating a user interface of a first electronic device for encrypting backup data among E2EE functions in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0029] FIGS. 21, 22, 23, and 24 are conceptual diagrams illustrating a user interface of a first electronic device for setting up a recovery code among E2EE functions in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0030] FIG. 25 is a flowchart illustrating the operation of a first electronic device in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0031] The same reference numbers are used throughout the drawings to indicate the same construction elements.

[0032] The following description, with reference to the attached drawings, is provided to facilitate a comprehensive understanding of various embodiments of the present disclosure, as defined by the claims and their equivalents. While it includes numerous specific details to aid understanding, these are to be considered merely illustrative. Accordingly, those skilled in the art will recognize that various modifications and variations can be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. Furthermore, descriptions of well-known functions and structures may be omitted for clarity and brevity.

[0033] The terms and words used in the following description and claims are not to be construed as limited to their bibliographic meanings, but rather have been used by the inventors solely to facilitate a clear and consistent understanding of the present disclosure. Accordingly, it will be apparent to those skilled in the art that the following description of various embodiments of the present disclosure is provided for illustrative purposes only and is not intended to limit the present disclosure as defined by the appended claims and their equivalents.

[0034] A singular description should be understood to include the plural, unless the context clearly dictates otherwise. Thus, for example, the description "part surface" should be understood to include a description of one or more of those surfaces.

[0035] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.

[0036] It should be understood that each flowchart and combination of flowcharts can be performed by one or more computer programs containing computer-executable instructions. The entirety of one or more computer programs may be stored in a single memory device, or the one or more computer programs may be divided into different parts stored in different memory devices.

[0037] Any function or operation described herein may be performed by a single processor or a combination of processors. A single processor or a combination of processors is a circuit that performs processing and includes an application processor (AP, e.g., a central processing unit (CPU)), a communication processor (CP, e.g., a modem), a graphics processing unit (GPU), a neural processing unit (NPU) (e.g., an artificial intelligence (AI) chip), a wireless-fidelity (Wi-Fi) chip, a Bluetooth ™ chip, a global positioning system (GPS) chip, a near-field communication (NFC) chip, a connection chip, a sensor controller, a touch controller, a fingerprint sensor controller, a display driver integrated circuit (IC), an audio codec (CODEC) chip, a universal serial bus (USB) controller, a camera controller, an image processing IC, a microprocessor unit (MPU), a system on chip (SoC), an IC, and the like.

[0038] FIG. 1 is a block diagram of an electronic device within a network environment according to an embodiment of the present disclosure.

[0039] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an external electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with an external electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment of the present disclosure, the electronic device (101) may communicate with an external electronic device (104) via a server (108). According to one embodiment of the present disclosure, an electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In various embodiments of the present disclosure, at least one of these components (e.g., the connection terminal (178)) may be omitted, or one or more other components may be added to the electronic device (101). In various embodiments of the present disclosure, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

[0040] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or operations. According to one embodiment of the present disclosure, as at least a part of the data processing or operations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment of the present disclosure, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). For example, when the electronic device (101) includes the main processor (121) and the auxiliary processor (123), the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a given function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

[0041] The auxiliary processor (123) may control at least a part of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment of the present disclosure, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). According to one embodiment of the present disclosure, the auxiliary processor (123) (e.g., a neural network processing device) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.

[0042] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).

[0043] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

[0044] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

[0045] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. According to one embodiment of the present disclosure, the receiver can be implemented separately from the speaker or as part of the speaker.

[0046] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment of the present disclosure, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

[0047] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment of the present disclosure, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., an external electronic device (102)) (e.g., a speaker or headphone) directly or wirelessly connected to the electronic device (101).

[0048] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment of the present disclosure, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

[0049] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the external electronic device (102)). According to one embodiment of the present disclosure, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

[0050] The connection terminal (178) may include a connector through which the electronic device (101) may be connected to an external electronic device (e.g., an external electronic device (102)). According to one embodiment of the present disclosure, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

[0051] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. According to one embodiment of the present disclosure, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

[0052] The camera module (180) can capture still images and moving images. According to one embodiment of the present disclosure, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.

[0053] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment of the present disclosure, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).

[0054] A battery (189) may power at least one component of the electronic device (101). According to one embodiment of the present disclosure, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

[0055] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., external electronic device (102), external electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment of the present disclosure, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).

[0056] The wireless communication module (192) can support a fifth generation (5G) network and next-generation communication technologies following a fourth generation (4G) network, such as new radio access technology (NR). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., millimeter wave (mmWave) band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., an external electronic device (104)), or a network system (e.g., a second network (199)). According to one embodiment of the present disclosure, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for realizing eMBB, a loss coverage (e.g., 164 dB or less) for realizing mMTC, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for realizing URLLC.

[0057] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). According to one embodiment of the present disclosure, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment of the present disclosure, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas, for example, by the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device via the at least one selected antenna. According to an embodiment of the present disclosure, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).

[0058] According to various embodiments of the present disclosure, the antenna module (197) may form a mmWave antenna module. According to one embodiment of the present disclosure, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., a bottom surface) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent to a second surface (e.g., a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high-frequency band.

[0059] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).

[0060] According to one embodiment of the present disclosure, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment of the present disclosure, all or part of operations executed in the electronic device (101) may be executed in one or more external electronic devices (102, 104) or the server (108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service by itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In an embodiment of the present disclosure, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment of the present disclosure, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

[0061] FIG. 2 is a conceptual diagram illustrating a method for transmitting and receiving end-to-end encrypted data in a wireless communication system according to an embodiment of the present disclosure.

[0062] Referring to FIG. 2, device A (i.e., the first electronic device (200)) using an E2EE (end-to-end encryption) service can encrypt data 2 using an E2EE encryption key. The first electronic device (200) may be the electronic device (101) of FIG. 1. The first electronic device (200) may transmit encrypted data to the first service server (411). The first service server (411) may be the server (108) of FIG. 1. The first service server (411) may be a cloud server. The first service server (411) may transmit the encrypted data received from the first electronic device (200) to device B (i.e., the second electronic device (300)) without separate processing of the encrypted data. The second electronic device (300) may be the external electronic device (102 or 104) of FIG. 1. The second electronic device (300) can receive encrypted data from the first service server (411). The second electronic device (300) can decrypt the encrypted data using a pre-shared E2EE encryption key.

[0063] For example, a first electronic device (200) and a second electronic device (300) may be linked with the same account. The first electronic device (200) and the second electronic device (300) linked with the same account may use the E2EE service. For example, the first electronic device (200) and the second electronic device (300) may each be one of multiple electronic devices used by user A. For example, the first electronic device (200) may be a smartphone, and the second electronic device (300) may be a smart TV or tablet. For example, data encrypted in a smartphone may only be decrypted in the smartphone and the smart TV or tablet used by user A of the smartphone. For example, the first service server (411) that receives encrypted data from the first electronic device (200) and transmits it to the second electronic device (300) cannot decrypt the encrypted data.

[0064] The first electronic device (200) and the second electronic device (300) according to the present disclosure can support E2EE services using a hierarchical encryption key structure. The reliability of the hierarchical encryption keys can be improved through verification using pre-stored device keys of each of the first electronic device (200) and the second electronic device (300).

[0065] A network composed of multiple electronic devices used by user A may be referred to as a fabric network. For example, the fabric network may be managed by a fabric server. In the fabric network according to the present disclosure, an E2EE service may include a step of initially registering a first electronic device (200) in the fabric network, a step of additionally registering a second electronic device (300) in the fabric network, a step of backing up and restoring data for each service, a step of sharing data between the first electronic device (200) and the second electronic device (300) for each service, and a step of restoring an E2EE key.

[0066] FIG. 3 is a conceptual diagram illustrating a hierarchical structure of encryption keys of each of a plurality of electronic devices in a wireless communication system according to an embodiment of the present disclosure.

[0067] Referring to FIG. 3, an operation method of a first electronic device (200) for generating encrypted data based on E2EE using a hierarchical key structure in a fabric network according to the present disclosure may include an operation (1101) of generating a root key, an operation (1111) of generating a device key A of the first electronic device (200), an operation (1112) of generating a member key A of the first electronic device (200), an operation (1113) of generating a link key AB of the first electronic device (200), an operation (1114) of generating a fabric key of the first electronic device (200), an operation (1115) of generating a service key of the first electronic device (200), and an operation (1116) of generating encrypted data based on E2EE.

[0068] An operation method of a second electronic device (300) for decrypting encrypted data based on E2EE using a hierarchical key structure in a fabric network according to the present disclosure may include an operation of generating a root key (1101), an operation of generating a device key B of the second electronic device (300) (1121), an operation of generating a member key B of the second electronic device (300) (1122), an operation of generating a link key AB of the second electronic device (300) (1123), an operation of generating a fabric key of the second electronic device (300) (1124), an operation of generating a service key (1125), and an operation of decrypting encrypted data based on E2EE (1126).

[0069] The root key may be a top-level asymmetric key held by each manufacturer manufacturing the first electronic device (200) or the second electronic device (300). For example, the root key may be pre-stored in each of the first electronic device (200) and the second electronic device (300). The root key is signed with a private key, and the signature may be verified with a public key.

[0070] Device key A and device key B can be verified through the private key of the root key through the certificate chain. The device keys may be asymmetric keys (e.g., public key, private key) individually generated in each of the first electronic device (200) and the second electronic device (300). For example, device key A may be stored in the first electronic device (200) by the manufacturer of the first electronic device (200) during the manufacturing process of the first electronic device (200). Device key A may be verified with a root certificate of the manufacturer of the first electronic device (200). Device key A may be used to verify the validity of member key A. Device key A may be a key that can verify the integrity of the first electronic device (200). Device key A may be composed of a key pair of a signing key, which is a secret key, and a verification key, which is a public key. In addition, the device key B may be a key that can verify the integrity of the second electronic device (300). The device key B may be composed of a key pair of a signing key, which is a secret key, and a verification key, which is a public key. The device key B may be stored in the second electronic device (300) by the manufacturer of the second electronic device (300) during the manufacturing stage of the second electronic device (300). The device key B may be verified with a root certificate of the manufacturer of the second electronic device (300). The device key B may be used to verify the validity of the member key B. The member key A and the member key B may be asymmetric keys randomly generated for each of the first electronic device (200) and the second electronic device (300) for the E2EE service. The member key A may be signed with the device key A. The member key B may be signed with the device key B. The legitimacy of the member key A and the member key B may be verified through verification of the corresponding signature.

[0071] Link key AB may be a pairwise key or symmetric key that is shared by performing a key agreement protocol between the first electronic device (200) and the second electronic device (300) based on member keys A and B. The first electronic device (200) and the second electronic device (300) may share the same link key AB. Meanwhile, a third electronic device (not shown) may share a link key that is different from the link key AB shared between the first electronic device (200) and the second electronic device (300). For example, link key AB may be used to encrypt a fabric key, which is a symmetric key, and to share the fabric key between the first electronic device (200) and the second electronic device (300).

[0072] The fabric key may be a group key shared equally by all electronic devices connected to a fabric network including the first electronic device (200) and the second electronic device (300). For example, the fabric key may be used to encrypt a service key, which is a symmetric key, and share the service key between the first electronic device (200) and the second electronic device (300).

[0073] Service keys can be generated differently for each service, such as health, the Internet, and memo, or for different purposes. Service keys can be used to encrypt and decrypt data corresponding to the corresponding service. For example, the first electronic device (200) and the second electronic device (300) can share and use the same service key for each service.

[0074] FIG. 4 is a conceptual diagram illustrating a fabric network including a first electronic device, a plurality of service servers, and a fabric server in a wireless communication system according to an embodiment of the present disclosure.

[0075] Referring to FIG. 4, the fabric network may include a first electronic device (200), a plurality of service servers (411, 412, 413), and a fabric server (410).

[0076] The plurality of service servers (411, 412, 413) are remote servers for managing their respective service data, and can perform operations for storing and sharing encrypted service data. For example, the first service server (411) can retrieve or store service data through the first service database (DB) (411a). The first service server (411) can be wirelessly connected to the first electronic device (200). The first service server (411) can transmit the first service data to the first electronic device (200). The first electronic device (200) can receive the first service data from the first service server (411). The first electronic device (200) can provide the first service to the user based on the first service data.

[0077] The second service server (412) can retrieve or store service data through the second service DB (412a). The second service server (412) can be wirelessly connected to the first electronic device (200). The second service server (412) can transmit second service data to the first electronic device (200). The first electronic device (200) can receive second service data from the second service server (412). The first electronic device (200) can provide a second service to the user based on the second service data.

[0078] The third service server (413) can retrieve or store service data through the third service DB (413a). The third service server (413) can be wirelessly connected to the first electronic device (200). The third service server (413) can transmit third service data to the first electronic device (200). The first electronic device (200) can receive third service data from the third service server (413). The first electronic device (200) can provide a third service to the user based on the third service data.

[0079] The first electronic device (200) may include a fabric manager (220), a connection manager (230), a fabric key storage (240), a fabric crypto CA (Client Application) (250), and a fabric crypto TA (Trusted Application) (260).

[0080] The fabric manager (220) may perform a management function of registering, adding, and deleting at least one electronic device that is linked with the first electronic device (200) for the E2EE service, and a function of controlling access for each service. For example, when the fabric manager (220) registers the first electronic device (200) in the E2EE member list of the fabric network, the fabric manager (220) may transmit the member key of the first electronic device (200) to the fabric server (110) for registration. When the fabric manager (220) adds the second electronic device (300) to the E2EE member list of the fabric network, the fabric manager (220) may receive the member key from the second electronic device (104). The fabric manager (220) may delete the first electronic device (104) or the second electronic device (104) from the member list of the fabric network. When encryption or decryption of data related to at least one of the plurality of services (211, 212, 213) is required, the fabric manager (220) can check access rights corresponding to the data related to at least one of the plurality of services (211, 212, 213) and identify a service key available for the data related to at least one of the plurality of services (211, 212, 213).

[0081] The fabric key storage (240) can perform key management such as generation, verification, deletion, and storage of E2EE keys such as member keys, link keys, fabric keys, and service keys. The fabric key storage (240) can transmit a request message requesting encryption or decryption of data related to at least one of a plurality of services (211, 212, 213) to the fabric crypto CA (250) and the fabric crypto TA (260).

[0082] The Fabric Crypto CA (250) can operate in the Rich Execution Environment (REE) of the first electronic device (200). The Fabric Crypto CA (250) can transmit a request message received from the Fabric Key Store (240) to the Fabric Crypto TA (260). In the Rich Execution Environment, processing operations for E2EE keys may not be performed.

[0083] The fabric crypto TA (260) can operate in a secure execution environment (Trusted Execution Environment, TEE) of the first electronic device (200). The fabric crypto TA (260) can receive a request message transmitted from the fabric key storage (240) via the fabric crypto CA (250). The fabric crypto TA (260) can perform at least one of operations for generating, verifying, deleting, and storing an E2EE key based on the request message in the secure execution environment.

[0084] A general execution environment can be used in a general operating system and can be an environment where applications that do not require separate security can be executed. A secure execution environment can be used in an operating system that requires security to provide a secure area and can be an environment that provides applications and resources that require security. For example, the general execution environment and the secure execution environment can be physically or logically distinct environments. For example, the secure execution environment can be implemented using a TrustZone structure. For example, the secure execution environment can be implemented in a secure processor or an embedded Secure Element (eSE).

[0085] The connection manager (230) can receive a public key (member key) and an encrypted symmetric key (encrypted fabric key and encrypted service keys) from the fabric server (410). In addition, the connection manager (230) can transmit the public key (member key) and an encrypted symmetric key (encrypted fabric key and encrypted service keys) to the fabric server (410).

[0086] The fabric server (410) may transmit a public key (member key) and an encrypted symmetric key (encrypted fabric key and encrypted service keys) stored in an E2EE key storage to the connection manager (230) based on a request message received from the connection manager (230). In addition, the fabric server (410) may receive a public key (member key) and an encrypted symmetric key (encrypted fabric key and encrypted service keys) from the connection manager (230). The fabric server (410) may store the public key (member key) and the encrypted symmetric key (encrypted fabric key and encrypted service keys) in an E2EE key storage (E2EE Key Storages) (410a) based on a request message received from the connection manager (230).

[0087] FIG. 5 is a conceptual diagram illustrating an operation for registering a first electronic device in an E2EE member list in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0088] Referring to FIG. 5, when a first electronic device (Device A, 200) is instructed to turn on E2EE application after logging in with a user's account, the first electronic device (200) can register itself in the E2EE member list. The first electronic device (200) may be referred to as A.

[0089] The fabric manager (220) can verify from the account server (not shown) whether the user's account login was performed with 2FA (2 Factor Authentication). If the user's account login was not performed with 2FA, the fabric manager (220) can send a message requesting 2FA authentication to the account server. After authentication of the first electronic device (200) is completed through 2FA authentication, the fabric manager (220) can perform an operation to generate a member key A (262).

[0090] The fabric manager (220) can transmit the fabricID and memberID to the fabric key store (240). The fabricID corresponds to a single user account and is an identifier for identifying the user account. The memberID is an identifier for identifying a member (electronic device) connected to the fabric network.

[0091] The fabric key store (240) may receive fabricID and memberID from the fabric manager (220). The fabric key store (240) may generate a request message requesting the generation of a random key pair based on the fabricID and memberID. The fabric key store (240) may transmit the request message to the fabric crypto CA (250).

[0092] The Fabric Crypto CA (250) can receive a request message from the Fabric Key Store (240). The Fabric Crypto CA (250) can transmit the request message to the Fabric Crypto TA (260). The Fabric Crypto TA (260) can receive the request message from the Fabric Key Store (240) through the Fabric Crypto CA (250).

[0093] In operation 1201, the fabric crypto TA (260) may generate a member key A (262) based on a device key A (261) previously stored during the manufacturing process of the first electronic device (200). The member key A (262) may include a member public-key (MPK) and a member secret-key (MSK) generated based on Keygen(param) (Mem). Here, param may include cryptographic parameters for asymmetric key generation, such as elliptic-curve (EC) parameters and a key size. The MSK may be stored in the fabric crypto TA (260), and the MPK may be returned.

[0094] In operation 1202, the fabric key store (240) may request the fabric crypto TA (260) through the fabric crypto CA (250) to sign msg based on the device signing key (DSK) included in the device key A (261). Here, sig=Sign(DSK, msg) and msg=(fabricID, memberID, MPK). The signature value sig and the certificate chain (certs) of the DPK for verifying the signature may be returned.

[0095] The fabric manager (220) can send a request message to the connection manager (230) requesting that the sig and certs be sent to the fabric server (410). The connection manager (230) can receive a request message from the fabric manager (220) requesting that the sig and certs be sent to the fabric server (410).

[0096] In operation 1203, the connection manager (230) may transmit a signed MPK A (signed MPK A = (msg, sig, certs)) (263) to the fabric server (410) based on the request message. The fabric server (410) may receive the signed MPK A (263) from the connection manager (230).

[0097] FIG. 6 is a conceptual diagram illustrating an operation for adding a second electronic device to an E2EE member list in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0098] Referring to FIG. 6, when a second electronic device (Device B, 300) is logged in with the same user account as the user of the first electronic device (200) and E2EE application is turned on, the second electronic device (300) can be added to the E2EE member list. The second electronic device (300) may be referred to as B.

[0099] The fabric manager (320) can check with an account server (not shown) whether the user's account login was performed with 2FA. If the user's account login was not performed with 2FA, the fabric manager (320) can send a message to the account server requesting 2FA authentication. After authentication of the second electronic device (300) is completed through 2FA authentication, the fabric manager (320) can perform an operation to generate a member key B (362).

[0100] The fabric manager (320) can transmit the fabricID and memberID to the fabric key store (340). The fabricID corresponds to a single user account and is an identifier for identifying the user account. The memberID is an identifier for identifying a member (electronic device) connected to the fabric network.

[0101] The fabric key store (340) may receive fabricID and memberID from the fabric manager (320). The fabric key store (340) may generate a request message requesting the generation of a random key pair based on the fabricID and memberID. The fabric key store (340) may transmit the request message to the fabric crypto CA (350).

[0102] The Fabric Crypto CA (350) can receive a request message from the Fabric Key Store (340). The Fabric Crypto CA (350) can transmit the request message to the Fabric Crypto TA (360). The Fabric Crypto TA (360) can receive the request message from the Fabric Key Store (340) through the Fabric Crypto CA (350).

[0103] In operation 1301, the fabric crypto TA (360) may generate a member key B (362) based on a device key B (361) previously stored during the manufacturing process of the second electronic device (300). The member key B (362) may include a member public-key (MPK) and a member secret-key (MSK) generated based on Keygen(param). Here, param may include cryptographic parameters for asymmetric key generation, such as elliptic-curve (EC) parameters and a key size. The MSK may be stored in the fabric crypto TA (360), and the MPK may be returned.

[0104] In operation 1302, the fabric key store (340) may request the fabric crypto TA (360) through the fabric crypto CA (350) to sign msg based on the device signing key (DSK) included in the device key B (361). Here, sig=Sign(DSK, msg) and msg=(fabricID, memberID, MPK). The signature value sig and the certificate chain (certs) of the DPK for verifying the signature may be returned.

[0105] The fabric manager (320) may send a request message to the connection manager (330) requesting that the sig and certs be sent to the fabric server (109). The connection manager (330) may receive a request message from the fabric manager (320) requesting that the sig and certs be sent to the fabric server (410).

[0106] At operation 1303, the connection manager (330) may transmit a signed MPK B (signed MPK B = (msg, sig, certs)) (363) to the fabric server (410) based on the request message.

[0107] The fabric server (410) can receive a signed MPK B (363) from the connection manager (230). The fabric crypto TA (360) can generate and store a service key 1, which is a random symmetric key for encrypting and decrypting data related to the first service function (service 1) (311). For a number of other services, including the second service (service 2) (312) and the third service (service 3) (313), the fabric crypto TA (360) can generate respective service keys for data related to each service.

[0108] FIG. 7 is a conceptual diagram illustrating an operation for generating a link key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0109] Referring to FIG. 7, the first electronic device (200) and the second electronic device (300) can perform operations to generate the same link key. In operation 1204, the connection manager (230) can receive a signed MPK B (363) from the fabric server (410).

[0110] In operation 1205, the fabric manager (220) of the first electronic device (200) may transmit a request message to the fabric key store (240) requesting the creation of a link key AB (264) that is linked to the second electronic device (300) based on the signed MPK B (363).

[0111] The fabric key store (240) can transmit a request message requesting the fabric crypto TA (260) to perform an operation for key agreement through the fabric crypto CA (250) based on the request message. The fabric crypto TA (260) can receive a request message requesting the fabric key store (240) to perform an operation for key agreement through the fabric crypto CA (250).

[0112] At operation 1206, the fabric crypto TA (260) may perform an operation for key approval based on the request message. The fabric crypto TA (260) may verify the device key B (361) based on the root key (271). At operation 1207, the fabric crypto TA (260) may verify the member key B (362) based on the verified device key B (361). The fabric crypto TA (260) may generate a shared secret consensus (shared_secret = ECDK(MSK A, MSK B)) through an Elliptic Curve Diffie-Hellman (ECDH) algorithm. At operation 1208, the fabric crypto TA (260) may generate a link key AB (Link Key AB = KDF(shared_secret, salt)) (264) based on the shared secret consensus.

[0113] At operation 1204, the connection manager (330) of the second electronic device (300) may receive a signed MPK A (263) from the fabric server (410).

[0114] In operation 1305, the fabric manager (320) of the second electronic device (300) may transmit a request message to the fabric key store (340) requesting the generation of a link key AB (264) that is linked to the first electronic device (200) based on the signed MPK A (263).

[0115] The fabric key store (340) can transmit a request message requesting the fabric crypto TA (360) to perform an operation for key agreement through the fabric crypto CA (350) based on the request message. The fabric crypto TA (360) can receive a request message requesting the fabric key store (340) to perform an operation for key agreement through the fabric crypto CA (350).

[0116] At operation 1306, the fabric crypto TA (360) may perform an operation for key approval based on the request message. The fabric crypto TA (360) may verify the device key A (261) based on the root key (371). At operation 1307, the fabric crypto TA (360) may verify the member key A (262) based on the verified device key A (261). The fabric crypto TA (360) may generate a shared secret consensus (shared_secret = ECDK(MSK A, MSK B)) through an Elliptic Curve Diffie-Hellman (ECDH) algorithm. At operation 1308, the fabric crypto TA (360) may generate a link key AB (Link Key AB = KDF(shared_secret, salt)) (364) based on the shared secret consensus.

[0117] FIG. 8 is a conceptual diagram illustrating an operation for generating and sharing a fabric key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0118] Referring to FIG. 8, the fabric key storage (240) of the first electronic device (200) can transmit a request message requesting to generate a fabric key (265) to the fabric crypto TA (260) through the fabric crypto CA (250). The fabric crypto TA (260) can receive a request message requesting to generate a fabric key (264) from the fabric key storage (240) through the fabric crypto CA (250). The fabric crypto TA (260) can generate a fabric key (265), which is a random symmetric key, based on the request message.

[0119] The fabric manager (220) can send a message requesting the transmission of a fabric key (265) to the fabric key store (240). The fabric key store (240) can receive the message requesting the transmission of a fabric key (265) from the fabric manager (220).

[0120] The fabric key store (240) can send a message requesting the fabric crypto TA (260) to generate a random key (e.g., Advanced Encryption Standard (AES)) through the fabric crypto CA (250). The fabric crypto TA (260) can receive a message requesting the fabric key store (240) to generate a random key through the fabric crypto CA (250). The fabric crypto TA (260) can generate a fabric key (265) that is a random key (randomAESkey()).

[0121] The fabric key store (240) can send a message to the fabric crypto TA (260) via the fabric crypto CA (250) requesting to encrypt the fabric key (265) based on the link key AB (264). The fabric crypto TA (260) can receive a message from the fabric key store (240) via the fabric crypto CA (250) requesting to encrypt the fabric key (265) based on the link key AB (264).

[0122] At operation 1209, the fabric crypto TA (260) may encrypt the fabric key (265) based on the link key AB (264). The fabric crypto TA (260) may return an encrypted fabric key (envelopedFabricKey = Enc(linkKey, fabricKey)) (266).

[0123] At operation 1210, the fabric manager (220) may send a message to the connection manager (230) requesting that the encrypted fabric key (266) be transmitted to the fabric server (109). The connection manager (230) may receive a message from the fabric manager (220) requesting that the encrypted fabric key (266) be transmitted to the fabric server (109).

[0124] In operation 1211, the connection manager (230) may transmit an encrypted fabric key (266) to the fabric server (109). The fabric server (410) may receive the encrypted fabric key (266) from the connection manager (230).

[0125] At operation 1309, the fabric server (410) may transmit an encrypted fabric key (266) to the second electronic device (300). The second electronic device (300) may receive the encrypted fabric key (266) from the fabric server (410) via the connection manager (330).

[0126] At operation 1310, the fabric key store (340) may send a message to the fabric crypto TA (360) via the fabric crypto CA (350) requesting to decrypt the fabric key (266) encrypted with the link key AB (264). The fabric crypto TA (360) may receive a message from the fabric key store (340) via the fabric crypto CA (350) requesting to decrypt the fabric key (266) encrypted with the link key AB (264).

[0127] In operation 1311, the fabric crypto TA (360) can decrypt the encrypted fabric key (266) based on the same link key AB (364) as the link key AB (264). The fabric crypto TA (360) can store the decrypted fabric key (fabricKey = Dec(linkKey, envelopedFabricKey)) (265).

[0128] FIG. 9 is a conceptual diagram illustrating an operation for generating and sharing a service key in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0129] Referring to FIG. 9, when E2EE is applied to data related to the first service function (Service 1) (211), the fabric key store (240) can transmit a message requesting the generation of a service key 1 (267) for data related to the first service function (211) to the fabric crypto TA (260) through the fabric crypto CA (250). The fabric crypto TA (260) can receive a message requesting the generation of a service key 1 (service 1 key) (267) for data related to the first service function (211) from the fabric key store (240) through the fabric crypto CA (250). The fabric crypto TA (260) can generate and store the service key 1 (267), which is a random symmetric key for encrypting and decrypting data related to the first service function (211). When E2EE is applied to data related to at least one of a plurality of other services including a second service function (Service 2) (212) and a third service function (213), the fabric crypto TA (260) can generate a respective service key for the data related to each service.

[0130] At operation 1212, the fabric crypto TA (260) may encrypt the service key 1 (267) based on the fabric key (265).

[0131] At operation 1213, the fabric key store (240) can individually encrypt each service key for data associated with each service based on the fabric key (265) via the fabric crypto TA (260).

[0132] At operation 1214, the connection manager (230) may transmit an encrypted service key 1 (envelopedServiceKey) (268) to the fabric server (410). Here, envelopedServiceKey = Enc(fabricKey, serviceKey).

[0133] In operation 1312, the fabric server (410) can transmit an encrypted service key 1 (268) to the second electronic device (300) via the first service server (111). The connection manager (330) of the second electronic device (300) can receive the encrypted service key 1 (268) from the fabric server (410) via the first service server (111).

[0134] At operation 1313, the fabric key store (340) may send a message to the fabric crypto TA (260) via the fabric crypto CA (250) requesting to decrypt the encrypted service key 1 (268) based on the fabric key (265). The fabric crypto TA (260) may receive a message from the fabric key store (340) via the fabric crypto CA (250) requesting to decrypt the encrypted service key 1 (268) based on the fabric key (265).

[0135] In operation 1314, the fabric crypto TA (260) can decrypt the encrypted service key 1 (268) based on the fabric key (265). The fabric crypto TA (260) can store the decrypted service key 1 (serviceKey = Dec(fabricKey, envelopedServiceKey)) (267).

[0136] Although the above-described embodiment exemplifies a first electronic device (200) and a second electronic device (300) in a fabric network, the above-described embodiment can be equally applied to not only the first electronic device (200) and the second electronic device (300), but also a third electronic device or other electronic devices.

[0137] FIG. 10 is a conceptual diagram illustrating operations for backing up, recovering, and synchronizing data in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0138] Referring to FIG. 10, when encrypting each service data corresponding to each service for backup and synchronization, the first electronic device (200) can encrypt each service data based on a service key corresponding to each service and transmit the encrypted service data to each service server (411, 412, 413). The second electronic device (300) can receive encrypted service data from a plurality of service servers (411, 412, 413) and recover the encrypted service data based on a service key identical to the service key.

[0139] In operation 1215, the first service function (211) of the first electronic device (200) may transmit a message requesting encryption of data (401) related to the first service function (211) to the fabric manager (220). The fabric manager (220) may receive the message requesting encryption of data (401) related to the first service function (211) from the first service function (211). The fabric manager (220) may determine whether service key 1 (267) for the first service function (211) is stored to encrypt the data (401). If service key 1 (267) is not stored, the fabric manager (220) may transmit a fail message to the first service function (211).

[0140] The fabric manager (220) can send a message requesting encryption of data (401) to the fabric key store (240) when service key 1 (267) is stored. The fabric key store (240) can receive a message requesting encryption of data (401) from the fabric manager (220).

[0141] The fabric key store (240) can send a message requesting encryption of data (401) to the fabric crypto TA (260) via the fabric crypto CA (250). The fabric crypto TA (260) can receive a message requesting encryption of data (401) from the fabric key store (240) via the fabric crypto CA (250).

[0142] In operation 1216, the fabric crypto TA (260) can encrypt data (401) based on service key 1 (267). In operation 1217, the fabric manager (220) can transmit encrypted data (encryptedData = Enc(serviceKey, data)) (402) to the first service function (211). The first service function (211) can receive the encrypted data (402) from the fabric manager (220). In operation 1218, the first service function (211) can transmit the encrypted data (402) to the first service server (411). The first service server (411) can receive the encrypted data (402) from the first service function (211). The first service server (411) can store the encrypted data (402) in the service DB.

[0143] In operation 1315, the first service function (311) of the second electronic device (300) may receive encrypted data (402) from the first service server (411). In operation 1316, the first service function (311) may transmit a message requesting decryption of the encrypted data (402) to the fabric manager (320). The fabric manager (320) may receive the message requesting decryption of the encrypted data (402) from the first service function (311).

[0144] The fabric manager (320) can determine whether service key 1 (267) for the first service function (311) is stored to decrypt data (401). If service key 1 (267) is not stored, the fabric manager (330) can send a fail message to the first service function (311).

[0145] The fabric manager (320) can send a message requesting decryption of data (402) to the fabric key store (340) when service key 1 (267) is stored. The fabric key store (340) can receive a message requesting decryption of data (402) from the fabric manager (330).

[0146] The fabric key store (340) can send a message requesting decryption of data (402) to the fabric crypto TA (360) via the fabric crypto CA (350). The fabric crypto TA (260) can receive a message requesting decryption of data (402) from the fabric key store (340) via the fabric crypto CA (250).

[0147] At operation 1317, the fabric crypto TA (260) can decrypt data (402) based on service key 1 (267). At operation 1318, the fabric manager (230) can transmit the decrypted data (data = Dec(serviceKey, encryptedData)) (402) to the first service function (311). The first service function (311) can receive the decrypted data (401) from the fabric manager (320).

[0148] FIG. 11 is a conceptual diagram illustrating an operation for recovering an E2EE key from data in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0149] Referring to FIG. 11, the first electronic device (200) can receive a passcode (511) from a user. For example, the passcode (511) can be 28 characters. In operation 1219, the passcode (511) can be securely transmitted to the fabric crypto TA (260) via a text-based user interface (TUI). The fabric crypto TA (260) can receive the passcode (511) via the TUI. The fabric crypto TA (260) can generate a recovery key (512) based on the passcode (511). For example, recoveryKey = KDF(passcode, salt).

[0150] In operation 1220, the fabric crypto TA (260) may encrypt the fabric key (265) based on the recovery key (512). The encrypted fabric key may be referred to as escrow data (513). For example, escrowData = Enc(recoveryKey, FabricKey).

[0151] In operation 1221, the fabric crypto TA (260) may transmit escrow data (513) to the connection manager (230). The connection manager (230) may receive the escrow data (513) from the fabric crypto TA (260).

[0152] In operation 1222, the connection manager (230) may transmit escrow data (513) to the fabric server (110). The fabric server (410) may receive the escrow data (513) from the connection manager (230).

[0153] In operation 1319, the connection manager (320) of the second electronic device (300) may receive escrow data (513) and encrypted service key 1 (268) from the fabric server (410) via the first service server (111). The external electronic device (104) may receive a passcode (521) from the user. For example, the passcode (521) may be 28 characters long. The passcode (521) may be the same as the passcode (511).

[0154] In operation 1320, the fabric crypto TA (360) may generate a recovery key (522) based on the passcode (521). For example, recoveryKey = KDF(passcode, salt). In operation 1321, the fabric crypto TA (360) may recover the fabric key (265) based on the recovery key (522). For example, fabricKey = Enc(recoveryKey, escrowData). In operation 1322, the fabric crypto TA (360) may recover the escrow data (513) to the fabric key (265) based on the recovery key (522). In operations 1323 and 1324, the fabric crypto TA (360) may recover the encrypted service key 1 (268) to the service key 1 (267) based on the fabric key (265). For example, serviceKey = Enc(fabricKey, envelopedServiceKey) .

[0155] The second electronic device (300) can recover the escrow data (513) received from the fabric server (410) using the fabric key (265) based on the passcode (521) even if the first electronic device (200) is lost.

[0156] FIG. 12 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0157] Referring to FIG. 12, the first electronic device (200) can display a user interface (400) on the display. The user interface (400) can display a settings (1411) menu. The settings (1411) menu can display various items related to settings, including an enhanced data protection (1412) item. The enhanced data protection item (1412) can correspond to an E2EE function according to the present disclosure. The first electronic device (200) can turn on the E2EE function when a selection input for the enhanced data protection item (1412) is detected on the display. Alternatively, the first electronic device (200) can display a user interface for setting the E2EE function when a selection input for the enhanced data protection item (1412) is detected through the display module. For example, the user interface for setting the E2EE function can be as shown in FIGS. 15 to 17.

[0158] FIG. 13 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0159] Referring to FIG. 13, the first electronic device (200) may display a user interface (1400) on the display. The user interface (1400) may display a security and privacy (1421) menu. The security and privacy (1421) menu may display various items related to security and privacy, including an enhanced data protection item (1422). The enhanced data protection item (1412) may correspond to an E2EE function according to the present disclosure. The first electronic device (200) may turn on the E2EE function when a selection input for the enhanced data protection item (422) is detected on the display. Alternatively, the first electronic device (200) may display a user interface for setting the E2EE function when a selection input for the enhanced data protection item (1412) is detected through the display module. For example, the user interface for setting the E2EE function may be as shown in FIGS. 15 to 17.

[0160] FIG. 14 is a conceptual diagram illustrating a user interface of a first electronic device for turning on / off an E2EE function in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0161] Referring to FIG. 14, the first electronic device (200) can display a user interface (1400) on the display. The user interface (1400) can display a user account (1431) menu. The user account (1431) menu can display various items related to a user account, including an enhanced data protection item (1432). The enhanced data protection item (1432) can correspond to an E2EE function according to the present disclosure. The first electronic device (200) can turn on the E2EE function when a selection input for the enhanced data protection item (1432) is detected on the display. Alternatively, the first electronic device (200) can display a user interface for setting the E2EE function when a selection input for the enhanced data protection item (1432) is detected on the display. For example, the user interface for setting the E2EE function may be as shown in FIGS. 15 to 17.

[0162] FIGS. 15, 16, and 17 are conceptual diagrams illustrating a user interface of a first electronic device for setting up an E2EE function in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0163] Referring to FIG. 15, the first electronic device (200) may display a user interface (1400) on the display. The user interface (1400) may display an interface (1511) for settings related to enhanced data protection. Enhanced data protection may correspond to the E2EE function according to the present disclosure.

[0164] For example, the first electronic device (200) may display an interface (1511) for settings related to enhanced data protection when a selection input for the enhanced data protection item (1412) of FIG. 12 is detected, or when a selection input for the enhanced data protection item (1422) of FIG. 13 is detected, or when a selection input for the enhanced data protection item (1432) of FIG. 14 is detected.

[0165] An interface (1511) for settings related to enhanced data protection may include an encrypt backup data item (1521). The backup data encryption item (1521) may include an enable / disable indicator (1521a). For example, when the interface (1511) for settings related to enhanced data protection is first displayed, the enable / disable indicator (1521a) may display a disabled state. When a selection input for the backup data encryption item (1521) is detected, the first electronic device (200) may control the enable / disable indicator (1521a) to display an enabled state.

[0166] Referring to FIG. 16, when a selection input for a backup data encryption item (1522) is detected, the first electronic device (200) can control the activation / deactivation indicator (1522a) to display an activation state. When a selection input for a backup data encryption item (1522) is detected, the first electronic device (200) can display a change recovery code item (1532). When a selection input for a change recovery code item (1532) is detected, the first electronic device (200) can display a user interface for changing the recovery code.

[0167] Referring to FIG. 17, when a deselection input for the backup data encryption item (1522) is detected, the first electronic device (200) can control the activation / deactivation indicator (1522a) to display a deactivated state. When a deselection input for the backup data encryption item (1522) is detected, the first electronic device (200) can shade the recovery code change item (1533). When a deselection input for the backup data encryption item (1522) is detected, the first electronic device (200) can control the recovery code change item (1533) to be deactivated.

[0168] FIGS. 18, 19, and 20 are conceptual diagrams illustrating a user interface of a first electronic device for encrypting backup data among E2EE functions in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0169] Referring to FIG. 18, the first electronic device (200) can display a user interface (1400) on the display. The user interface (1400) can display an interface (1611) for settings related to backup data encryption.

[0170] For example, the first electronic device (200) may display an interface (1611) for settings related to backup data encryption when a selection input for a backup data encryption item (1521) of FIG. 15 is detected, or when a selection input for a backup data encryption item (1522) of FIG. 16 is detected, or when a selection input for a backup data encryption item (1523) of FIG. 17 is detected.

[0171] An interface (1611) for settings related to backup data encryption may include an on / off display item (1621), a description link (1631), an encryptable data item (1641), and a trusted device list (1651).

[0172] The on / off indicator item (1621) can indicate whether the backup data encryption function is on or off. The on / off indicator item (1621) can include an on / off indicator (1621a). The on / off indicator (1621a) can indicate an activation state when the backup data encryption function is on.

[0173] The manual link (1631) may be linked to a manual related to backup data encryption. For example, when a selection input for the manual link (1631) is detected, the first electronic device (200) may display a manual related to backup data encryption on the display.

[0174] An encryptable data item (1641) may include a name and icon associated with at least one piece of data that can be encrypted. For example, the encryptable data may include call logs, messages, clocks, settings, and applications.

[0175] The trusted device list (1651) may include a name and icon associated with at least one trusted device. For example, the at least one trusted device may be a device that shares an E2EE service according to the present disclosure with the first electronic device (200) via a fabric network.

[0176] Referring to FIG. 19, when an input for deselecting the on / off display item (1621) of FIG. 18 is detected, the first electronic device (200) may display the on / off display item (1622) indicating that the backup data encryption function is off. The on / off display item (1622) may include an on / off indicator (1622a). The on / off indicator (1622a) may indicate a deactivated state when the backup data encryption function is off.

[0177] An interface (1611) for settings related to backup data encryption may include a description (1632) related to backup data encryption and an encryptable data link (1642).

[0178] Description related to backup data encryption (1632) may display a description related to backup data encryption.

[0179] An encryptable data link (1642) may be linked to a list of data that can be encrypted. For example, when a selection input for an encryptable data link (1642) is detected, the first electronic device (200) may display a list of data that can be encrypted (1643) of FIG. 20.

[0180] Referring to FIG. 20, when a selection input for the encryptable data link (1642) of FIG. 19 is detected, the first electronic device (200) may display a list (1643) related to data capable of encryption. The list (1643) related to data capable of encryption may include at least one item and details related to data capable of encryption.

[0181] FIGS. 21, 22, 23, and 24 are conceptual diagrams illustrating a user interface of a first electronic device for setting up a recovery code among E2EE functions in a fabric network of a wireless communication system according to various embodiments of the present disclosure.

[0182] Referring to FIG. 21, the first electronic device (200) may display a user interface (1711) for setting up a recovery code using a display module. The user interface (1711) for setting up a recovery code may display a description related to the recovery code. The user interface (1711) for setting up a recovery code may include a button (1721) for generating a recovery code. The first electronic device (200) may detect a selection input for the button (1721) for generating multiple codes. When a selection input for the button (1721) for generating a recovery code is detected, the first electronic device (200) may display a user interface (1712) for generating a recovery code as shown in FIG. 22.

[0183] Referring to FIG. 22, a user interface (1712) for generating a recovery code may include a recovery code (1731), a recovery code copy completion indication item (1741), and a button (1722) for proceeding to the next step.

[0184] The recovery code (1731) may include multiple letters and multiple numbers. For example, the recovery code (1731) may be 28 letters and / or numbers. The recovery code copy completion display item (1741) may indicate whether copying of the recovery code (1731) is completed. For example, when a selection input for the recovery code copy completion display item (1741) is detected, the first electronic device (200) may display that copying of the recovery code (1731) is completed in the recovery code copy completion display item (1741). When the first electronic device (200) detects a selection input for the recovery code copy completion display item (1741), the button (1722) for proceeding to the next step may be activated.

[0185] The button (1722) for proceeding to the next step may be activated when a selection input for the recovery code copy completion display item (1741) is detected. When a selection input for the button (1722) for proceeding to the next step is detected, the first electronic device (200) may display a user interface (1713) for confirming the recovery code, as shown in FIG. 23.

[0186] Referring to FIG. 23, a user interface (1713) for verifying a recovery code may include a recovery code verification input window (732) and a next step button (1723) for proceeding to the next step. The recovery code verification input window (1732) may be an interface for entering a code corresponding to the recovery code (1731). The next step button (1723) may be activated when a code is entered into the recovery code verification input window (1732). The first electronic device (200) may detect a selection input for the next step button (1723). When a selection input for the next step button (1723) is detected and a code matching the recovery code (1731) is entered into the recovery code verification input window (1732), the first electronic device (200) may perform the operation of FIG. 11. The recovery code (1731) may correspond to the passcode (511) of FIG. 11.

[0187] The first electronic device (200) detects a selection input for the next step button (1723), but when a code that does not match the recovery code (1731) is entered in the recovery code confirmation input window (1732), the first electronic device (200) may display a user interface (1714) indicating that the entered recovery code is an error, as shown in FIG. 24.

[0188] Referring to FIG. 24, a user interface (1714) indicating that an entered recovery code is erroneous may include a recovery code reconfirmation input window (1733) and a next step button (1724) for proceeding to the next step. The recovery code reconfirmation input window (1733) may be displayed with a message indicating that the code entered in the recovery code confirmation input window (1732) of FIG. 23 does not match the recovery code (1731) and guiding re-entry. The next step button (1724) may be activated when a code is entered in the recovery code reconfirmation input window (1733). The first electronic device (200) may detect a selection input for the next step button (1724). The first electronic device (200) can perform the operation of FIG. 11 when a selection input for the next step button (1724) is detected and a code matching the recovery code (1731) is entered in the recovery code reconfirmation input window (1733). The recovery code (1731) can correspond to the passcode (511) of FIG. 11.

[0189] The first electronic device (200) detects a selection input for the next step button (1723), but if a code that does not match the recovery code (1731) is entered in the recovery code confirmation input window (1732), the first electronic device (200) may terminate the verification of the recovery code and terminate the user interface (1714) indicating that the entered recovery code is an error.

[0190] FIG. 25 is a flowchart illustrating the operation of a first electronic device in a fabric network of a wireless communication system according to an embodiment of the present disclosure.

[0191] Referring to FIG. 25, the first electronic device (200) may generate a fabric key based on a pre-stored first device key and a second member key received from the second electronic device (300) in operation 1801. The first electronic device (200) may transmit the fabric key to the second electronic device (300) through a fabric server (410) managing the fabric network and a first service server (411) managing the service data in operation 1802. The first electronic device (200) may encrypt service data based on the fabric key in operation 1803. The first electronic device (200) may transmit the encrypted data to the second electronic device (300) through the service server in operation 1804. The fabric key may be shared with the fabric server (410), which is a member entity of the fabric network, and the second electronic device (300). The encrypted data may be decrypted by a member entity of the fabric network that shares the fabric key.

[0192] The first electronic device (200) can generate a first member key indicating that the first electronic device (200) is a member receiving E2EE service based on the first device key.

[0193] The above first member key can be transmitted to the fabric server (410).

[0194] The first member key can be transmitted to the second electronic device (300) through the fabric server (410) and the first service server (411).

[0195] The first electronic device (200) can generate a link key based on the first member key and the second member key.

[0196] The above fabric key can be generated based on the above link key.

[0197] The first electronic device (200) can generate a service key associated with the service data based on the fabric key.

[0198] The above service key can be transmitted to the second electronic device (300) through the fabric server (410) and the first service server (411).

[0199] The above service key may be stored in the fabric server (410).

[0200] The above service data may be encrypted based on the above service key.

[0201] The operation of the second electronic device (300) corresponding to the first electronic device (200) may be as follows.

[0202] The second electronic device (300) can generate a second member key based on a pre-stored second device key. The second electronic device (300) can transmit the second member key to the first electronic device (200) through a fabric server (410) that manages the fabric network and a first service server (411) that manages service data. The second electronic device (300) can receive a fabric key generated based on the second member key and the first member key of the first electronic device (200) from the first electronic device (200) through the fabric server (410) and the first service server (411). The second electronic device (300) can receive service data encrypted based on the fabric key from the first electronic device (200) through the first service server (411). The second electronic device (300) can decrypt the encrypted service data based on the fabric key.

[0203] The above fabric key may be stored in the fabric server (410) and the second electronic device (300), which are member entities of the fabric network.

[0204] The encrypted data may be decrypted by a member entity of the fabric network that shares the fabric key.

[0205] The second member key may be generated based on a previously stored second device key.

[0206] The above second member key may indicate that the second electronic device (300) is a member entity that receives E2EE service.

[0207] A second electronic device that controls to generate a link key based on the first member key and the second member key.

[0208] The above fabric key can be decrypted into the above link key.

[0209] The second electronic device (300) can receive a service key associated with the service data generated by the first electronic device (200) based on the fabric key from the first electronic device (200).

[0210] The above service key can be received from the first electronic device (200) through the fabric server (410) and the first service server (411).

[0211] The above service key may be stored in the fabric server (410).

[0212] The above service data can be decrypted based on the above service key.

[0213] It will be appreciated that the various embodiments of the present disclosure, in accordance with the description and claims of the specification, may be realized in the form of hardware, software, or a combination of hardware and software.

[0214] Any such software may be stored in a non-transitory computer-readable storage medium. The non-transitory computer-readable storage medium stores one or more computer programs (software modules), and the one or more computer programs include computer-executable instructions that, when executed by one or more processors of the electronic device, cause the electronic device to perform the methods of the present disclosure.

[0215] Any such software may be stored in the form of volatile or non-volatile storage, such as, for example, a storage device such as read only memory (ROM), whether erasable or rewritable, or in the form of memory such as, for example, random access memory (RAM), a memory chip, device, or integrated circuit, or in an optically or magnetically readable medium such as, for example, a compact disk (CD), a digital versatile disc (DVD), a magnetic disk, or a magnetic tape. It will be appreciated that the storage device and the storage medium are various embodiments of a computer program or non-transitory machine-readable storage suitable for storing a computer program including instructions that, when executed, implement various embodiments of the present disclosure. Accordingly, various embodiments provide a program including code for implementing an apparatus or method as recited in any of the claims of the present specification and a non-transitory machine-readable storage storing such a program.

[0216] While the present disclosure has been illustrated and described with reference to various embodiments, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.

[0217] The present disclosure can be used in the electronics industry and the information and communication industry.

Claims

1. A method of a first electronic device connected to a fabric network supporting E2EE (end-to-end encryption) in a wireless communication system, An operation of generating a fabric key based on a first device key stored in advance and a second member key received from a second electronic device; An action of transmitting the fabric key to the second electronic device through a fabric server managing the fabric network and a service server managing service data; An operation of encrypting service data based on the above fabric key; and An operation of transmitting the encrypted data to the second electronic device through the service server; The above fabric key is shared between the fabric server and the second electronic device, which are member entities of the fabric network, and A method wherein the encrypted data can be decrypted by a member entity of the fabric network that shares the fabric key.

2. In paragraph 1, A method further comprising the action of generating a first member key indicating that the first electronic device is a member receiving an E2EE service based on the first device key.

3. In paragraph 2, A method wherein the first member key is transmitted to the fabric server.

4. In paragraph 2, A method wherein the first member key is transmitted to the second electronic device through the fabric server and the service server.

5. In paragraph 2, A method further comprising the action of generating a link key based on the first member key and the second member key.

6. In paragraph 5, A method wherein the above fabric key is generated based on the above link key.

7. In paragraph 6, A method further comprising the action of generating a service key associated with the service data based on the fabric key.

8. In paragraph 7, The above service key is transmitted to the second electronic device through the fabric server and the service server, A method wherein the above service key is stored in the fabric server.

9. In paragraph 7, A method in which the above service data is encrypted based on the above service key.

10. A method of a second electronic device connected to a fabric network supporting E2EE (end-to-end encryption) in a wireless communication system, An operation of generating a second member key based on a previously stored second device key; An action of transmitting the second member key to the first electronic device through a fabric server managing the fabric network and a service server managing service data; An operation of receiving a fabric key generated based on the second member key and the first member key of the first electronic device from the first electronic device through the fabric server and the service server; An operation of receiving encrypted service data from the first electronic device through the service server based on the fabric key; and A method comprising: an operation of decrypting the encrypted service data based on the fabric key.

11. In clause 10, The above fabric key is stored in the fabric server and the second electronic device, which are member entities of the fabric network, and A method wherein the encrypted data can be decrypted by a member entity of the fabric network that shares the fabric key.

12. In paragraph 10, A method wherein the second member key is generated based on a previously stored second device key.

13. In paragraph 10, A method wherein the second member key indicates that the second electronic device is a member receiving E2EE service.

14. In paragraph 12, A method further comprising the action of generating a link key based on the first member key and the second member key.

15. In paragraph 14, A method wherein the above fabric key is decrypted into the above link key.

Citation Information

Patent Citations

  • Fire Suppression Sprinkler With Swash Plate

    KR1020220052551A

  • Scroll compressor

    KR1020240064307A

  • Eco-friendly organic-inorganic composite flame retardant and manufacturing method thereof

    KR102739635B1

  • System for and method of cryptographic provisioning

    US20170300720A1

  • KR20220036202A