WO2020218708A1 - 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말 - Google Patents

홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말 Download PDF

Info

Publication number
WO2020218708A1
WO2020218708A1 PCT/KR2019/018832 KR2019018832W WO2020218708A1 WO 2020218708 A1 WO2020218708 A1 WO 2020218708A1 KR 2019018832 W KR2019018832 W KR 2019018832W WO 2020218708 A1 WO2020218708 A1 WO 2020218708A1
Authority
WO
WIPO (PCT)
Prior art keywords
prescription information
container
terminal
patient
information
Prior art date
Application number
PCT/KR2019/018832
Other languages
English (en)
French (fr)
Inventor
김향중
박형준
류남규
Original Assignee
주식회사 네오펙트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 네오펙트 filed Critical 주식회사 네오펙트
Priority claimed from KR1020190179389A external-priority patent/KR20200125405A/ko
Publication of WO2020218708A1 publication Critical patent/WO2020218708A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/10ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to drugs or medications, e.g. for ensuring correct administration to patients
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H70/00ICT specially adapted for the handling or processing of medical references
    • G16H70/40ICT specially adapted for the handling or processing of medical references relating to drugs, e.g. their side effects or intended usage

Definitions

  • the present invention relates to a method for encrypting and decrypting prescription information for providing a home rehabilitation service, and a doctor terminal.
  • Stroke patients are increasing worldwide. Stroke patients can improve their symptoms through rehabilitation such as exercise therapy, occupational therapy, speech therapy, and cognitive therapy. However, in the case of rehabilitation treatment, as frequent hospital visits are required, the participation rate of stroke patients is very low, and treatment infrastructure is also insufficient.
  • Korean Patent Publication No. 2017-0140705 discloses a cognitive ability rehabilitation training system and method using an association card matching game.
  • the present invention is to solve the above-described problem, selecting at least one container of a movable storage device connected to the pseudo terminal, receiving at least one encryption algorithm and password for the selected at least one container, and receiving the input at least
  • An object of the present invention is to provide a method of encrypting and decrypting prescription information for converting at least one container into an encrypted virtual disk based on one encryption algorithm and password, and a pseudo terminal.
  • a method and doctor of encrypting and decrypting prescription information in which the doctor's terminal receives basic information and diagnosis information of a patient, generates prescription information based on the input basic information and diagnosis information, and stores the generated prescription information in a virtual disk I want to provide a terminal.
  • an object of the present invention is to provide a method and a doctor terminal for encrypting and decrypting prescription information that allows the patient terminal to perform rehabilitation training based on prescription information from a home rehabilitation device linked to the patient terminal.
  • An object of the present invention is to provide a method of encrypting and decrypting prescription information for receiving rehabilitation training data measured through rehabilitation training based on prescription information from a home rehabilitation device and recording the received rehabilitation training data in a storage device, and a doctor terminal.
  • an embodiment of the present invention comprises the steps of selecting at least one container of a movable storage device connected to a pseudo terminal, at least one encryption algorithm for the selected at least one container And receiving a password, converting the at least one container into an encrypted virtual disk based on the input at least one encryption algorithm and password, and generating prescription information based on personal information and diagnostic information for the patient. And storing the generated prescription information in the generated virtual disk, wherein the prescription information stored in the virtual disk is executed by a patient terminal having the password shared. I can.
  • Another embodiment of the present invention is a container selection unit that selects at least one container of a movable storage device connected to a pseudo terminal, an input unit that receives at least one encryption algorithm and a password for the selected at least one container, and the input
  • a conversion unit that converts the at least one container into an encrypted virtual disk based on the at least one encryption algorithm and password
  • a prescription information generation unit that generates prescription information based on personal information and diagnosis information of a patient, and the generation. It may include a storage unit for storing the generated prescription information in the virtual disk, the prescription information stored in the virtual disk can provide a doctor terminal that is executed by a patient terminal with the password shared.
  • a movable storage device including a patient terminal and a virtual disk in which prescription information is stored is connected, loading the virtual disk from the storage device, at least encrypted through the imported virtual disk Selecting an encrypted container from among one container, receiving a password for the selected encrypted container, decrypting the encrypted container using at least one encryption algorithm based on the input password And executing the prescription information through the decrypted container, wherein the prescription information is generated based on personal information and diagnosis information on the patient, and the prescription information stored in the virtual disk is performed by the doctor terminal. It is possible to provide a method of decrypting prescription information in which the generated password is shared.
  • the doctor terminal generates prescription information for home rehabilitation service, stores the generated prescription information in a movable storage device through an encrypted virtual disk, and It is possible to provide a method of decrypting the encrypted prescription information and encrypting and decrypting prescription information for performing rehabilitation training based on the prescription information by using a home rehabilitation device linked to a patient terminal, and a doctor terminal.
  • the patient terminal records and encrypts the rehabilitation training data performed based on the prescription information in a storage device, and the doctor terminal decrypts and analyzes the encrypted rehabilitation training data, stores the analyzed rehabilitation training analysis result in the server, and A method of encrypting and decrypting prescription information for performing data verification based on a key exchange algorithm and a pseudo terminal can be provided.
  • SW smart rehabilitation service software
  • prescription information is encrypted by interlocking with a third-party home rehabilitation device through a portable storage device that is an encryption module (secure USB that protects prescription information safely) to protect prescription information.
  • a method of decoding and a pseudo terminal can be provided.
  • FIG. 1 is a block diagram of a system for providing a home rehabilitation service according to an embodiment of the present invention.
  • FIG. 2 is a configuration diagram of a pseudo terminal according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method of encrypting prescription information for providing a home rehabilitation service performed by a doctor terminal according to an embodiment of the present invention.
  • FIG. 4 is a configuration diagram of a patient terminal according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method of decoding prescription information for providing a home rehabilitation service performed in a patient terminal according to an embodiment of the present invention.
  • 6A to 6E are exemplary diagrams for explaining a process of encrypting and decrypting prescription information using software according to an embodiment of the present invention.
  • 7A to 7D are exemplary diagrams for explaining a process of encrypting and decrypting prescription information by applying an app protection technique according to an embodiment of the present invention.
  • FIG. 8 is an exemplary diagram showing an evaluation result of measurement data according to an embodiment of the present invention.
  • 9A and 9B are exemplary views for explaining a process of generating prescription information and analyzing a rehabilitation training result in a doctor terminal according to an embodiment of the present invention.
  • 10A and 10B are exemplary diagrams illustrating UIs for various services supported by a pseudo terminal according to an embodiment of the present invention.
  • FIG. 11 is an exemplary diagram showing a rehabilitation training result according to an embodiment of the present invention.
  • 12A to 12C are exemplary views for explaining a process of performing rehabilitation training based on prescription information in a patient terminal according to an embodiment of the present invention.
  • FIGS. 13A to 13F are exemplary diagrams for explaining a process of verifying data based on a key exchange algorithm between a pseudo terminal and a server according to an embodiment of the present invention.
  • unit includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware.
  • some of the operations or functions described as being performed by the terminal or device may be performed instead by a server connected to the terminal or device.
  • some of the operations or functions described as being performed by the server may also be performed by a terminal or device connected to the server.
  • a home rehabilitation service providing system 1 may include a doctor terminal 110, a patient terminal 120, a home rehabilitation device 130, a storage device 140, and a server 150.
  • the pseudo terminal 110 may select at least one container of the movable storage device 140 connected to the pseudo terminal 110.
  • the pseudo terminal 110 may receive input of at least one encryption algorithm and password for at least one selected container.
  • the pseudo terminal 110 may receive one of a block encryption algorithm (AES, Advanced Encryption Standard) or SHA algorithm (Secure Hash Algorithm) to encrypt at least one selected container.
  • AES Advanced Encryption Standard
  • SHA algorithm Secure Hash Algorithm
  • the pseudo terminal 110 may convert at least one container into an encrypted virtual disk based on the input at least one encryption algorithm and password. For example, the pseudo terminal 110 receives location information and format type of at least one selected container, selects at least one container selected based on the input location information and format type, and converts it to an encrypted virtual disk. I can.
  • the doctor terminal 110 may receive basic information and diagnosis information of a patient.
  • the basic information of the patient may include, for example, name, date of birth, sex, onset date, diagnosis, disease, occupation, past medical history, and the like.
  • the patient's diagnosis information may include, for example, upper limb exercise evaluation, cognitive-perceptual evaluation, and daily life movement evaluation.
  • the doctor terminal 110 may receive measured data from a hospital rehabilitation device linked with the doctor terminal 110.
  • measurement data for upper limb exercise evaluation include Manual Muscle Testing (MMT), Modified Ashworth Scale (MAS), Manual Functional Test (MFT), Jebsen Taylor hand function test (JHFT), hand grip power, and pinch power.
  • MMT Manual Muscle Testing
  • MAS Modified Ashworth Scale
  • MFT Manual Functional Test
  • JHFT Jebsen Taylor hand function test
  • hand grip power hand grip power
  • pinch power pinch power
  • MMSE-K Mini-Mental State Examination-Korean
  • CDR Clinical Dementia Rating
  • GDS Geriatric Depression Scale
  • MVPT Motor-Free Visual Perception Test
  • LOTCA Liewenstein Occupational Therapy Cognitive Assessment
  • measurement data for daily life behavior evaluation may include MBI (Modified Barthel Index), FIM (Functional Independence Measure), and the like.
  • the doctor terminal 110 may generate at least one training session required for prescription by the doctor terminal 110 based on the diagnosis information, and may generate prescription information based on the generated at least one training session. For example, the doctor terminal 110 receives session information including the type of rehabilitation training content, difficulty level, training time, training weight, and group training for each of the generated at least one training session, and the generated at least You can create a training schedule by combining one training session.
  • the doctor terminal 110 may store the generated prescription information in the generated virtual disk.
  • the prescription information stored in the virtual disk may be executed by the patient terminal 120 having a shared password.
  • prescription information stored in the virtual disk of the storage device 140 may be delivered to the patient through the storage device 140 and an input password by a doctor.
  • the doctor terminal 110 decrypts the rehabilitation training data based on the password when the storage device 140 is connected to the doctor terminal 110 and decrypts the data. Based on the rehabilitation training data, a rehabilitation training analysis result for the patient may be generated.
  • the doctor terminal 110 may store the analysis result of rehabilitation training for the patient in the server 150.
  • the pseudo terminal 110 may verify data transmitted and received with the server 150 based on a key exchange algorithm based on an Elliptic Curve Diffie Hellman (ECDH) and Cryptographically Generated Addresses (CGA).
  • ECDH Elliptic Curve Diffie Hellman
  • CGA Cryptographically Generated Addresses
  • the patient terminal 120 When the patient terminal 120 and the movable storage device 140 including a virtual disk storing prescription information are connected to the patient terminal 120, the patient terminal 120 may load the virtual disk from the storage device 140.
  • the prescription information stored in the virtual disk may be executed by a password generated by the doctor terminal 110.
  • the patient terminal 120 may receive an encrypted container selected from at least one container encrypted through the imported virtual disk.
  • the patient terminal 120 may receive a password for the selected encrypted container, decrypt the container encrypted based on the input password using at least one encryption algorithm, and execute prescription information through the decrypted container.
  • the prescription information may be generated based on personal information and diagnosis information on the patient.
  • the patient terminal 120 may decrypt at least one container by using a block encryption algorithm (AES, Advanced Encryption Standard) or SHA algorithm (Secure Hash Algorithm).
  • AES Advanced Encryption Standard
  • SHA algorithm Secure Hash Algorithm
  • the patient terminal 120 may receive rehabilitation training data measured through rehabilitation training based on the prescription information from the home rehabilitation device 130 linked with the patient terminal 120.
  • the patient terminal 120 may encrypt and record the received rehabilitation training data in the storage device 140 in which prescription information is stored using at least one encryption algorithm.
  • the home rehabilitation device 130 may be interlocked with the patient terminal 120 and may be mounted on the patient's body or used by the patient to measure the reaction rate of the patient.
  • the home rehabilitation device 130 may be equipped with a communication module that controls a communication function based on Bluetooth in order to be linked with the patient terminal 120.
  • the storage device 140 is movable, and when prescription information is stored, it is transmitted from a doctor to a patient, and when rehabilitation training data is recorded, it may be transmitted from a patient to a doctor.
  • the storage device 140 may perform encryption on a partition or container in order to encrypt prescription information.
  • the storage device 140 may encrypt the disk with a specific source code.
  • the storage device 140 may automatically encrypt the entire disk or partition in real time.
  • the storage device 140 selects at least one of a block encryption algorithm (AES, Advanced Encryption Standard) or SHA algorithm (Secure Hash Algorithm), which is an encryption algorithm, and sets the volume size and password. I can.
  • AES Advanced Encryption Standard
  • SHA algorithm Secure Hash Algorithm
  • the storage device 140 may firstly create a volume, select a volume, and input a password to secondly mount the volume.
  • the storage device 140 may store a file through a container encrypted using virtual disk encryption software. Specifically, the storage device 140 may generate an encrypted container and store a file in the container to primarily create a container. Thereafter, the storage device 140 may secondaryly access the volume.
  • the doctor terminal 110 includes a container selection unit 210, an input unit 220, a conversion unit 230, a prescription information generation unit 240, a storage unit 250, and a rehabilitation training analysis result generation unit. It may include 260.
  • the container selection unit 210 may select at least one container of the movable storage device 140 connected to the pseudo terminal 110.
  • the input unit 220 may receive at least one encryption algorithm and a password for at least one selected container.
  • the input unit 220 may receive one of a block encryption algorithm (AES, Advanced Encryption Standard) or a SHA algorithm (Secure Hash Algorithm) to encrypt at least one selected container.
  • AES algorithm is an encryption algorithm that replaces DES (Data Encryption Standard), and is a symmetric key algorithm that uses the same key in the encryption and decryption process, and the key size is free compared to DES.
  • a variable length key can be used.
  • the SHA algorithm refers to a collection of cryptographic hash functions related to each other, and functions belonging to the SHA algorithm include SHA, SHA-0, SHA-1, and SHA-2.
  • the conversion unit 230 may convert at least one container into an encrypted virtual disk based on the input at least one encryption algorithm and password.
  • the converter 230 may receive location information and format type of at least one selected container, select at least one container selected based on the input location information and format type, and convert it into an encrypted virtual disk.
  • the prescription information generator 240 may generate prescription information based on personal information and diagnosis information on a patient. For example, the prescription information generation unit 240 generates at least one training session required for prescription by the doctor terminal 110 based on the diagnosis information, and generates prescription information based on the generated at least one training session. I can.
  • the prescription information generation unit 240 receives session information including the type of rehabilitation training content, difficulty level, training time, training weight and group training for each of the generated at least one training session, and generates at least one You can combine training sessions to create a training schedule.
  • the storage unit 250 may store the generated prescription information in the generated virtual disk.
  • the prescription information stored in the virtual disk may be executed by the patient terminal 120 having a shared password.
  • prescription information stored in the virtual disk of the storage device 140 may be delivered to the patient through the storage device 140 and an input password by a doctor.
  • the rehabilitation training analysis result generation unit 260 decrypts the rehabilitation training data based on the password when the storage device 140 is connected to the doctor terminal 110 after the rehabilitation training data is encrypted and recorded in the storage device 140 And, based on the decoded rehabilitation training data, a rehabilitation training analysis result for the patient may be generated.
  • the storage unit 250 may store the analysis result of rehabilitation training for the patient in the server 150.
  • the storage unit 250 may verify data transmitted and received with the server 150 based on a key exchange algorithm based on an Elliptic Curve Diffie Hellman (ECDH) and Cryptographically Generated Addresses (CGA).
  • ECDH Elliptic Curve Diffie Hellman
  • CGA Cryptographically Generated Addresses
  • FIG. 3 is a flowchart of a method of encrypting prescription information for providing a home rehabilitation service performed by a doctor terminal according to an embodiment of the present invention.
  • a method of encrypting prescription information for providing a home rehabilitation service in the doctor terminal 110 shown in FIG. 3 is a step of being processed in a time series by the doctor terminal 110 according to the embodiment shown in FIGS. 1 to 3 Includes them. Therefore, even if omitted below, it is also applied to a method of encrypting prescription information for providing a home rehabilitation service in the doctor terminal 110 according to the exemplary embodiment illustrated in FIGS. 1 to 3.
  • the pseudo terminal 110 may select at least one container of the movable storage device 140 connected to the pseudo terminal 110.
  • the pseudo terminal 110 may receive at least one encryption algorithm and password for the selected at least one container.
  • the pseudo terminal 110 may convert at least one container into an encrypted virtual disk based on the input at least one encryption algorithm and password.
  • the doctor terminal 110 may generate prescription information based on personal information and diagnosis information on the patient.
  • the doctor terminal 110 may store the generated prescription information in the generated virtual disk.
  • steps S310 to S350 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention.
  • some steps may be omitted as necessary, and the order between steps may be switched.
  • the patient terminal 120 may include a Read unit 410, a container selection unit 420, a prescription information execution unit 430, a rehabilitation training data receiving unit 440 and a recording unit 450. .
  • the read unit 410 may load the virtual disk from the storage device 140 when the patient terminal 120 and the movable storage device 140 including the virtual disk storing prescription information are connected.
  • the prescription information stored in the virtual disk may be executed by a password generated by the doctor terminal 110.
  • the container selection unit 420 may select one encrypted container from among at least one container encrypted through the imported virtual disk.
  • the prescription information execution unit 430 receives a password for the selected encrypted container, decrypts the container encrypted based on the input password using at least one encryption algorithm, and executes prescription information through the decrypted container.
  • the prescription information may be generated based on personal information and diagnosis information on the patient.
  • the prescription information execution unit 430 may decrypt at least one container using an encrypted block encryption algorithm (AES, Advanced Encryption Standard) or SHA algorithm (Secure Hash Algorithm).
  • AES Advanced Encryption Standard
  • SHA algorithm Secure Hash Algorithm
  • the rehabilitation training data receiving unit 440 may receive rehabilitation training data measured through rehabilitation training based on the prescription information from the home rehabilitation device 130 linked to the patient terminal 120.
  • the recording unit 450 may encrypt and record the received rehabilitation training data in the storage device 140 in which prescription information is stored using at least one encryption algorithm.
  • FIG. 5 is a flowchart of a method of decoding prescription information for providing a home rehabilitation service performed in a patient terminal according to an embodiment of the present invention.
  • a method of decoding prescription information for providing a home rehabilitation service in the patient terminal 120 shown in FIG. 5 is a step of being processed in a time series by the patient terminal 120 according to the embodiments shown in FIGS. 1 to 4 Includes them. Therefore, even if omitted below, it is also applied to a method of decoding prescription information for providing a home rehabilitation service in the patient terminal 110 according to the embodiment illustrated in FIGS. 1 to 4.
  • step S510 when the patient terminal 120 and the movable storage device 140 including a virtual disk storing prescription information are connected to the patient terminal 120, the patient terminal 120 may load the virtual disk from the storage device 140.
  • the patient terminal 120 may receive a selection of an encrypted container from among at least one container encrypted through the imported virtual disk.
  • step S530 the patient terminal 120 may receive a password for the selected encrypted container.
  • the patient terminal 120 may decrypt the encrypted container using at least one encryption algorithm based on the input password.
  • steps S510 to S540 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention.
  • some steps may be omitted as necessary, and the order between steps may be switched.
  • 6A to 6E are exemplary diagrams for explaining a process of encrypting and decrypting prescription information using software according to an embodiment of the present invention.
  • the software may be composed of a rehabilitation training software for a doctor terminal and a rehabilitation training software for a patient terminal, and encryption and decryption processes may be performed in each terminal.
  • a portion of creating and registering a virtual disk using software may be configured in the following scenario.
  • the process of creating and registering the virtual disk may be performed by rehabilitation training software for the doctor terminal.
  • the step of decrypting the container using software may consist of the following scenarios.
  • the process of decoding the container may be performed by the rehabilitation training software for the patient terminal.
  • the decrypted container is turned into a usable state.
  • Software used in each terminal can classify functions in units of packages, and each package can perform the following roles.
  • -container package container type, creation and deletion
  • a related scenario may be configured as follows.
  • AddExistingContainerTaskFragment registers the container corresponding to the container format and location set by the user (run background).
  • the classification used for container opening may be configured in the following scenario.
  • EncryptionEngine and Hash algorithm matching the information in the header are called from the crypto class.
  • FileManagerActicity calls FileListDataFragment to load container internal data.
  • Locations package inner class Creates or finds a location when a container is created/opened.
  • VolumeLayout class inside Veracrypt package Volume layout of veracrypt
  • veracrypt is a truecrypt based program.
  • the basic volume layout uses truecrypt's StdLayout.
  • the additional one uses Veracrypt's VolumeLayout.
  • Container package It is used when opening a container as it contains information about the interface of different container formats and container format.
  • Crypto package Contains information on encryption methods such as various types of EncryptionEngine and HashAlgorithm.
  • the main method used for container decryption using software used in each terminal may be configured in the following scenario.
  • the header is read and the data part of the volume is decrypted based on the information stored in the header.
  • writeHeaderData() Writes data to the header.
  • readHeader() calls the following methods in sequence.
  • KeyHolder class Manage key through getKey() or setKey() and close() method.
  • tryHashFunc() Find the hash algorithm and pass it to tryEncryptionEngine.
  • tryEncryptionEngine Finds which engine the header is encrypted, and decrypts and decodes the header through it.
  • 7A to 7D are exemplary diagrams for explaining a process of encrypting and decrypting prescription information by applying an app protection technique according to an embodiment of the present invention.
  • the doctor terminal 110 may generate and encrypt prescription information using an app, and the patient terminal 120 decrypts the prescription information using the app, and the patient performs rehabilitation training based on the prescription information. You can do it.
  • the packer using encryption encrypts and distributes the executable file, and when it is executed, the encrypted executable file can be decrypted and executed, 1) the executable file can be protected from static reverse engineering by developing a packer using encryption, and 2) the packer Is developed for classes.dex, an executable file of an app, and 3) 256 bit-AES algorithm can be applied to encrypt the executable file.
  • the packer will be described in detail with reference to FIGS. 7A to 7D.
  • a packer is a component of an app to which a protection technique is applied, and is composed of a library (libstub.so) that performs a decryption function and Stub classes.dex for calling a decryption library. That is, the packed app has Stub classdes.dex and the decryption library as components.
  • the app to which the packer has been applied may be executed through five steps as follows.
  • the original executable file is called by calling the entry point of the decrypted executable file.
  • gdx-gui is a static reverse engineering tool for apps, and has a function that decompiles an executable file into a source code that the user can see.
  • the present invention may develop and provide a routing detection module for encryption and decryption of prescription information.
  • the rooted device uses a custom image to provide a continuous rooted environment, or 2) installs su binary and busybox
  • the present invention can provide a smart home rehabilitation service by developing a routing detection module that finds features that appear only in a rooted device through the following inspection at the app level based on the above four pieces of information.
  • the present invention can be provided by extending the MultiDex app.
  • the MultiDex app For example, through the modification and development of AOSP's Multi Dex library so that the packer technology can be applied to an app with two or more execution codes, one execution code of an app is limited to have only methods of 64K or less.
  • an app with the above method it has two or more execution codes, and in order to apply the packer technology to an app with two or more execution codes, the application range of the technology can be extended by modifying AOSP's Multi Dex library.
  • FIG. 8 is an exemplary diagram showing an evaluation result of measurement data according to an embodiment of the present invention.
  • the evaluation result 800 of the measurement data may be visualized and output so that a state transition according to a patient's rehabilitation training can be viewed based on basic information and measurement data of a patient.
  • state trends according to rehabilitation training may be output, such as 6% before rehabilitation training and 18% after rehabilitation training.
  • the measurement data may be measurement data measured from a hospital rehabilitation device linked to the doctor terminal 110, or measurement data according to rehabilitation training performed through linkage with a home rehabilitation device through the patient terminal 120. have.
  • rehabilitation training software for a doctor terminal may be installed in the doctor terminal 110 to generate prescription information and support a doctor's web interface to analyze rehabilitation training data according to the prescription information.
  • the rehabilitation training software for a doctor's terminal may be developed by reflecting a result of a survey on the usability of a prescription editor for a plurality of doctors or therapists.
  • the software for the pseudo terminal can provide the functions shown in Table 1 below.
  • the doctor terminal 110 may generate a personal page for a patient in charge of the doctor and select a specific patient from the patient list.
  • the doctor terminal 110 may generate at least one training session required for prescription based on diagnostic information, and may generate prescription information based on the generated at least one training session.
  • the doctor terminal 110 selects the type of rehabilitation training content to be performed by the patient from the rehabilitation training content list 910 through drag & drop for each of the generated at least one training session (912) After receiving, receiving session information including a difficulty level, training time, training weight, group training, etc. for the rehabilitation training content, and combining the generated at least one training session 913 to create a training schedule for each patient.
  • the generated session information can be modified and managed by the pseudo terminal 110.
  • the doctor terminal 110 is selected to export the prescription information for the rehabilitation training software for the doctor terminal installed in the doctor terminal 110 to the storage device 140, thereby encrypting the generated prescription information and storing it in the movable storage device 140.
  • the prescription information may be stored in a virtual disk created by encrypting a partition or container of the storage device 140 through source code.
  • the doctor terminal 110 is the rehabilitation training data recorded in the storage device 140 when the storage device 140 in which the rehabilitation training data for which the patient has performed rehabilitation training at home is connected is connected to the home rehabilitation device 130 It is possible to select the import of and output through the display of the doctor terminal 110.
  • the doctor terminal 110 may analyze rehabilitation training data through software installed in the doctor terminal 110 and generate a rehabilitation training result 920 of a patient based on the analyzed rehabilitation training data.
  • the rehabilitation training result may include a type of rehabilitation training content, a total training time, a motion ratio for each rehabilitation part, an improvement degree for each rehabilitation part according to the rehabilitation training.
  • doctor terminal 110 may support various services through rehabilitation training software for the doctor terminal.
  • 10A and 10B are exemplary diagrams illustrating UIs for various services supported by a pseudo terminal according to an embodiment of the present invention.
  • the doctor terminal 110 may manage a plurality of patients managed by the doctor himself through the patient management page.
  • the doctor terminal 110 may provide a prescription history confirmation function including a patient-specific prescription history confirmation and tracking function through the patient management page.
  • the doctor terminal 110 may output a training schedule created through a combination of at least one training session through a training scheduling page.
  • the doctor terminal 110 may communicate with the patient terminal 120 and adjust the training schedule notification or training schedule through the remote training scheduling page.
  • the doctor terminal 110 may communicate with the patient terminal 120 to perform remote medical treatment for a specific patient or group treatment between multiple patient terminals through a video call through a remote medical treatment and group treatment page. have.
  • a doctor is handed a movable storage device 140 in which rehabilitation training data is recorded through rehabilitation training based on prescription information from a home rehabilitation device from a patient, and the storage device 140 is a doctor terminal 110.
  • the doctor terminal 110 may output the patient's rehabilitation training data.
  • the doctor terminal 110 generates text information 1000 including descriptions of additional prescription information and additional prescription information based on the rehabilitation training result, and provides additional prescription information and text information 1000. It can be stored in the storage device 140.
  • FIG. 11 is an exemplary diagram showing a rehabilitation training result according to an embodiment of the present invention.
  • the doctor terminal 110 checks a prescription list and clicks a specific prescription to move to a rehabilitation training result.
  • the prescription result generated through the analysis of the rehabilitation training data may include patient information, rehabilitation training history according to the prescription period, rehabilitation training effect, and the like.
  • 12A to 12C are exemplary views for explaining a process of performing rehabilitation training based on prescription information in a patient terminal according to an embodiment of the present invention.
  • the patient terminal 120 When the patient terminal 120 is connected to the storage device 140 in which the encrypted prescription information is stored, the patient terminal 120 performs rehabilitation training based on prescription information from the home rehabilitation device 130 linked to the patient terminal 120. It is possible to receive the measured rehabilitation training data. For example, if the patient receives the storage device 140 containing the prescription information from the doctor, the patient can access the prescription information using his/her authority. At this time, when the storage device 140 is connected to the patient terminal 120, the storage device 140 in which prescription information is stored is mounted and mutually recognized, and then automatically executed.
  • the patient terminal 120 may record the received rehabilitation training data in the storage device 140.
  • the rehabilitation training software for the patient terminal that supports the web interface for the patient so that the prescription information is fetched from the storage device 140 and outputted to the patient terminal 120 and the rehabilitation training data performed based on the prescription information is recorded. May be installed.
  • the rehabilitation training software for patient terminals may be developed by reflecting rehabilitation training scenarios and requirements composed of a plurality of patients.
  • the patient terminal software can provide functions as shown in Table 2 below.
  • the patient terminal 120 when a patient is connected to the patient terminal 120 by receiving a movable storage device 140 in which prescription information is stored from a doctor, the patient terminal 120 provides prescription information in which at least one training session is combined. Can be printed.
  • the patient terminal 120 may sequentially output rehabilitation training contents based on a training time and a training difficulty set for each training session.
  • the patient performs rehabilitation training using the home rehabilitation device 130, and the home rehabilitation device 130 measures and measures rehabilitation training data according to the rehabilitation training using a plurality of built-in sensors.
  • the rehabilitation training data may be transmitted to the interlocked patient terminal 120 through Bluetooth communication.
  • the patient terminal 120 may receive rehabilitation training data from the home rehabilitation device 130 linked to the patient terminal 120 and record it in the movable storage device 140.
  • the recorded storage device 140 may be delivered to the doctor by the patient.
  • FIGS. 13A to 13F are exemplary diagrams for explaining a process of verifying data based on a key exchange algorithm between a pseudo terminal and a server according to an embodiment of the present invention.
  • the doctor terminal 110 can perform verification of data transmitted and received with the server 150 based on a key exchange algorithm based on Elliptic Curve Diffie Hellman (ECDH) and Cryptographically Generated Addresses (CGA) based on the rehabilitation training analysis result for the patient. have.
  • ECDH Elliptic Curve Diffie Hellman
  • CGA Cryptographically Generated Addresses
  • the pseudo terminal 110 may verify data through the server 15 and password-based key generation and encryption/decryption.
  • the present invention can provide a smart home rehabilitation service by developing an encryption/decryption module using AES and HMAC-SHA to ensure confidentiality and integrity.
  • confidentiality means that only an authorized user can access data
  • integrity means that an authorized user can change data only by an authorized method.
  • the present invention can generate a patient ID and exchange keys using ECC (Elliptic Curve Cryptography).
  • ECC Elliptic Curve Cryptography
  • ECC Elliptic Curve Cryptography
  • ECC Elliptic Curve Cryptography
  • ECDH Elliptic Curve Diffie Hellman
  • a pair of private and public keys can be expressed as (a x , Q x ).
  • the ECDH private key a x is a random number selected from the range [1, n-1]
  • the safety of ECDH is due to the fact that the ECDH private key a x cannot be derived from the ECDH public key Q x .
  • the session key SK is calculated as follows.
  • the present invention can provide a smart home rehabilitation service by designing a key exchange algorithm to encrypt data exchanged between the pseudo terminal 110 and the server 150 using ECDH and CGA (Cryptographically Generated Addresses).
  • CGA hash the public key to create an ID, so it is difficult for an attacker to obtain a public key that can have the same ID as the hash value, so the safety of mutual authentication is guaranteed.
  • the doctor terminal 110 and the server 150 may provide a smart home rehabilitation service by designing an ECDH and CGA-based algorithm.
  • the pseudo terminal 110 and the server 150 generate their own private key and public key pair, and the server 150 is the ID (ID 1 , ID 2 ) of all the pseudo terminals 110 ,... ID N )
  • the pseudo terminal 110 obtains the ID (ID S ) of the server 150, 2) exchanges public key and ID with each other, and through this, generates a session key by performing EC addition operation
  • 3 Encrypt each generated nonce value with a session key, sign it with its own private key, and exchange with each other.
  • the signature can be verified using the received nonce and the other party's public key.
  • doctor terminal 110 and the server 150 may implement patient ID generation and key exchange using Elliptic Curve Cryptography (ECC).
  • ECC Elliptic Curve Cryptography
  • the ECDH and CGA-based key exchange algorithm can be implemented through two main parts. First, each public key and private key of the server 150 and the pseudo terminal 110 through ECC are generated, an ID generated by applying a cryptographic hash to the public key, and offline distribution are pre-worked, and second, ECDH & CGA-based after the pre-work It can be classified into a key generation part that creates a PSK (Pre-Shared Key) through a key exchange algorithm.
  • PSK Pre-Shared Key
  • Pre-work can be composed of two tasks as shown in Table 4 below. Referring to Table 5, the preliminary work is divided into a work of generating a key using an ECC curve for creating a private key, a public key, and an ID applying a cryptographic hash function, and a work of distributing the generated key value offline.
  • key generation using an ECC curve may be generated through a keygen method.
  • the pre-work is to create a pair of public and private keys of the pseudo terminal 110 and the server 150, apply a hash function to the public key, and apply the result value to the ID (Identification) of the pseudo terminal 110 and the server ( 150), the keygen file can generate a public key and a private key using the ECC curve of prime256v1 in the library of OpenSSL, and then apply the SHA function to the public key to generate the ID.
  • offline distribution may be performed using an ECDH and CGA-based key exchange algorithm.
  • an ECC key in order to use the ECDH & CGA-based key exchange algorithm, there are contents that the server 150 and the pseudo terminal 110 must have before the exchange for the ECDH method key generation. .
  • a private key and public key of the server 150, a hash (server public key), and a hash (public key of a pseudo terminal) are required, and in the case of the pseudo terminal 110, the pseudo terminal 110
  • the private key and public key of, hash (server public key), and hash (public key of pseudo terminal) are required.
  • PSK Pre-Shared Key
  • CGA applies the same cryptographic hash function to the received public key as an ID created by applying the cryptographic hash function to the public key, and proceeds with ECDH for mutual authentication. Safety is guaranteed.
  • PSK generation is performed when the pre-work is completed, and when the actual work is performed, a shared key called PSK is created in each directory.
  • each server 150 and the pseudo terminal 110 may perform mutual authentication by confirming the IDs of the server 150 and the pseudo terminal 110 by applying an encryption hash function to the transmitted public key.
  • a new key can be created and stored.
  • a new key can be generated by performing EC addition operation on the received public key and the private key.
  • the generated key can be stored as a file name of PSK as a key of 32 hexadecimal numbers and a total of 512 bits.
  • the pseudo terminal 110 and the server 150 may use PSK mode TLS communication to verify data using a key exchange algorithm.
  • Authentication and data encryption for the pseudo terminal 110 and the server 150 may be performed on the transport layer. That is, it is a security protocol that plays a role of forming a secure secure channel between the application layer and the TCP transport layer between both ends of the pseudo terminal 110 and the server 150, and is mainly used between a web browser such as HTTPS and a web server. It is used to provide a secure channel.
  • SSL/TLS The main function of SSL/TLS is that it is possible to authenticate the other party between the two applications of the server 150 and the pseudo terminal 110 through mutual authentication, and the integrity of the message is guaranteed through the message integrity. Consistency is guaranteed, and it is developed to perform cryptographic communication using the Diffie-Hellman method through key exchange to generate the encryption session key, and can provide a secure end-to-end connection path encrypted by the generated shared secret key. have.
  • the SSL/TLS feature is a protocol based on the server 150 and the pseudo terminal 110, and can be applied to almost all application programs.
  • SSL/TLS communication is useful for creating various security channels because a secure channel can be established in the manner negotiated between the server 150 and the pseudo terminal 110 in the key exchange method, the symmetric key encryption method, and the hash algorithm. .
  • PSK Pre-Shared Key
  • PSK is an encryption protocol that provides secure communication based on a pre-shared key. The reason for using this protocol is that using PSK does not require public key operation according to ciphersuite. It is useful in environments with limited performance and more convenient from a key management point of view.
  • the ciphersuite includes contents necessary for negotiations such as protocols and encryption methods between the pseudo terminal 110 and the server 150 through the TLS handshake, and the handshake is a connection between the server 150 and the pseudo terminal 110. When it starts, it starts for the first time, and this flow is a part where the negotiation between both ends is made to create a secure channel.
  • a session key that is, a master-secret key, to be used when communicating data is created.
  • a handshake process in PSK mode TLS communication requires a symmetric key or certificate from the counterpart.
  • a session key that is, a master-secret key, is calculated immediately without a key exchange process in the handshake process, so that a fast connection speed can be shown.
  • the present invention can implement TLS communication in the PSK mode using the PSK created in the patient ID generation and key exchange implementation using ECC (Elliptic Curve Cryptography). Through this, it is possible to guarantee the integrity and confidentiality of data by creating a secure channel through TLS using a PSK that has been verified for security, and transmitting files through the secure channel.
  • ECC Elliptic Curve Cryptography
  • Preparation of file transmission for implementation of PSK mode TLS communication is described in Table 10. Referring to Table 9, preparation for file transmission may be performed while the following files are present in the pseudo terminal 110 and the server 150 side.
  • the pseudo terminal 110 may access the server 150 and transmit a file.
  • the present invention implements an ECDH and CGA-based key exchange algorithm between the pseudo terminal 110 and the server 150 using the ECC curve of the Openssl library, and uses the implemented key to create an encrypted communication channel. It is possible to implement the PSK mode and implement encrypted communication of files through the implemented TLS-PSK mode.
  • the method of encrypting and decrypting prescription information for providing a home rehabilitation service described through FIGS. 1 to 13F is in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by a computer. Can also be implemented.
  • the method of encrypting and decrypting prescription information for providing a home rehabilitation service described with reference to FIGS. 1 to 13F may be implemented in the form of a computer program stored in a medium executed by a computer.
  • Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medicinal Chemistry (AREA)
  • Epidemiology (AREA)
  • Chemical & Material Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Pharmacology & Pharmacy (AREA)
  • Toxicology (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

의사 단말에서 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법은 상기 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하는 단계, 상기 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 단계, 상기 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 상기 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 단계, 환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성하는 단계 및 상기 생성된 가상 디스크에 상기 생성된 처방 정보를 저장하는 단계를 포함하고, 상기 가상 디스크에 저장된 처방 정보는 상기 패스워드가 공유된 환자 단말에 의해 실행된다.

Description

홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말
본 발명은 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말에 관한 것이다.
전세계적으로 뇌졸중 환자가 증가하고 있다. 뇌졸중 환자는 운동 치료, 작업 치료, 언어 치료, 인지 치료 등과 같은 재활을 통해 증세가 호전되도록 할 수 있다. 그러나 재활 치료의 경우 잦은 병원 방문이 요구됨에 따라 뇌졸중 환자의 참여율이 매우 저조하며, 치료 인프라 또한 부족한 실정이다.
이러한 문제점을 개선하고자, 최근에는 재활 시장에 디지털(예를 들어, ICT, AI, Big Data 등) 기술이 접목된 홈 재활 훈련을 위한 의료 서비스가 제공되고 있다. 이러한 홈 재활 훈련을 위한 의료 서비스와 관련하여, 한국공개특허인 제2017-0140705호는 연상카드 맞추기 게임을 이용한 인지능력 재활훈련 시스템 및 그 방법을 개시하고 있다.
그러나 홈 재활 서비스의 경우, 홈 재활 서비스에 대한 규제 장벽이 높아 의료진과 연계되기 어렵다는 단점을 가지고 있다. 또한, 홈 재활 서비스를 수행하면서 측정된 훈련 결과는 환자에 대한 개인 정보를 포함하고 있으므로, 보안 문제가 발생될 수 있다는 단점을 가지고 있다.
본 발명은 상술한 문제점을 해결하기 위한 것으로서, 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하고, 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받고, 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공하고자 한다.
의사 단말이 환자의 기본 정보 및 진단 정보를 입력받아, 입력된 기본 정보 및 진단 정보에 기초하여 처방 정보를 생성하고, 생성된 처방 정보를 가상 디스크에 저장하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공하고자 한다.
저장 장치가 환자 단말과 연결된 경우, 환자 단말이 환자 단말과 연동된 홈 재활기기로부터 처방 정보에 기초하여 재활 훈련을 수행하도록 하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공하고자 한다.
홈 재활기기로부터 처방 정보에 기초한 재활 훈련을 통해 측정된 재활 훈련 데이터를 수신하여, 수신한 재활 훈련 데이터를 저장 장치에 기록하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하는 단계, 상기 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 단계, 상기 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 상기 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 단계, 환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성하는 단계 및 상기 생성된 가상 디스크에 상기 생성된 처방 정보를 저장하는 단계를 포함하고, 상기 가상 디스크에 저장된 처방 정보는 상기 패스워드가 공유된 환자 단말에 의해 실행되는 것인 처방 정보 암호화 방법을 제공할 수 있다.
본 발명의 다른 실시예는, 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하는 컨테이너 선택부, 상기 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 입력부, 상기 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 상기 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 변환부, 환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성하는 처방 정보 생성부 및 상기 생성된 가상 디스크에 상기 생성된 처방 정보를 저장하는 저장부를 포함하고, 상기 가상 디스크에 저장된 처방 정보는 상기 비밀 번호가 공유된 환자 단말에 의해 실행되는 것인 의사 단말을 제공할 수 있다.
본 발명의 또 다른 실시예는, 환자 단말과 처방 정보가 저장된 가상 디스크를 포함하는 이동 가능한 저장 장치가 연결된 경우, 상기 저장 장치로부터 상기 가상 디스크를 불러오는 단계, 상기 불러온 가상 디스크를 통해 암호화된 적어도 하나의 컨테이너 중 암호화된 어느 하나의 컨테이너를 선택받는 단계, 상기 선택된 암호화된 컨테이너에 대한 패스워드를 입력받는 단계, 상기 입력된 패스워드에 기초하여 상기 암호화된 컨테이너를 적어도 하나의 암호화 알고리즘을 이용하여 복호화하는 단계 및 상기 복호화된 컨테이너를 통해 상기 처방 정보를 실행하는 단계를 포함하되, 상기 처방 정보는 환자에 대한 개인 정보 및 진단 정보에 기초하여 생성되고, 상기 가상 디스크에 저장된 처방 정보는 상기 의사 단말에 의해 생성된 패스워드가 공유되는 것인 처방 정보 복호화 방법을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 의사 단말에서 홈 재활 서비스를 위한 처방 정보를 생성하고, 생성된 처방 정보를 암호화된 가상 디스크를 통해 이동 가능한 저장 장치에 저장하고, 환자 단말에서 암호화된 처방 정보를 복호화하고, 환자 단말과 연동된 홈 재활기기를 이용하여 처방 정보에 기초한 재활 훈련을 수행하도록 하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공할 수 있다.
환자 단말은 처방 정보에 기초하여 수행된 재활 훈련 데이터를 저장 장치에 기록하여 암호화하고, 의사 단말은 암호화된 재활 훈련 데이터를 복호화하여 분석하고, 분석된 재활 훈련 분석 결과를 서버에 저장하고, 서버와 키 교환 알고리즘에 기초하여 데이터의 검증을 수행하는 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공할 수 있다.
스마트 홈케어 재활과 병원이 효율적으로 연계할 수 있도록 하는 암호화된 처방 정보 기반의 스마트 재활 서비스 소프트웨어(SW)를 통해 써드파티 재활기기와 연동하여 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공할 수 있다.
공개 재활 SDK를 이용한 써드 파티(3rd Party)의 홈 재활기기와의 연동을 통해 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공할 수 있다.
환자 정보의 기밀성 및 무결성을 보장하기 위해 처방정보를 보호하도록 하는 암호화 모듈(처방정보를 안전하게 보호해 주는 보안 USB)인 이동 가능한 저장 장치를 통해 써드파티의 홈 재활기기와 연동하여 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말을 제공할 수 있다.
또한, 역공학·변조 공격을 방어하기 위한 앱 보호 모듈을 개발하여 써드파티 홈 재활기기와 연동하여 스마트 홈 재활 서비스를 제공하는 방법을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 홈 재활 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 의사 단말의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 의사 단말에서 수행되는 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 환자 단말의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 환자 단말에서 수행되는 홈 재활 서비스를 제공하기 위한 처방 정보를 복호화하는 방법의 순서도이다.
도 6a 내지 도 6e는 본 발명의 일 실시예에 따른 소프트웨어를 이용하여 처방 정보를 암호화 및 복호화하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 앱 보호 기법을 적용하여 처방 정보를 암호화 및 복호화하는 과정을 설명하기 위한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 측정 데이터의 평가 결과를 도시한 예시적인 도면이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 의사 단말에서 처방 정보를 생성하고 재활 훈련 결과를 분석하는 과정을 설명하기 위한 예시적인 도면이다.
도 10a 및 도 10b는 본 발명의 일 실시예에 따른 의사 단말에서 지원하는 다양한 서비스에 대한 UI를 도시한 예시적인 도면이다.
도 11은 본 발명의 일 실시예에 따른 재활 훈련 결과를 도시한 예시적인 도면이다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따른 환자 단말에서 처방 정보에 기초하여 재활 훈련을 수행하는 과정을 설명하기 위한 예시적인 도면이다.
도 13a 내지 도 13f는 본 발명의 일 실시예에 따른 의사 단말과 서버 간의 키 교환 알고리즘에 기초하여 데이터의 검증을 수행하는 과정을 설명하기 위한 예시적인 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 홈 재활 서비스 제공 시스템의 구성도이다. 도 1을 참조하면, 홈 재활 서비스 제공 시스템(1)은 의사 단말(110), 환자 단말(120), 홈 재활기기(130), 저장 장치(140) 및 서버(150)를 포함할 수 있다.
의사 단말(110)은 의사 단말(110)과 연결된 이동 가능한 저장 장치(140)의 적어도 하나의 컨테이너를 선택할 수 있다. 의사 단말(110)은 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받을 수 있다. 예를 들어, 의사 단말(110)은 선택된 적어도 하나의 컨테이너를 암호화할 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 중 어느 하나를 입력받을 수 있다.
의사 단말(110)은 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환할 수 있다. 예를 들어, 의사 단말(110)은 선택된 적어도 하나의 컨테이너의 위치 정보 및 포맷 형태를 입력받고, 입력된 위치 정보 및 포맷 형태에 기초하여 선택된 적어도 하나의 컨테이너를 선택하여 암호화된 가상 디스크로 변환할 수 있다.
의사 단말(110)은 환자의 기본 정보 및 진단 정보를 입력받을 수 있다. 환자의 기본 정보는 예를 들어, 성명, 생년월일, 성별, 발병일, 진단명, 환측, 직업, 과거병력 등을 포함할 수 있다. 환자의 진단 정보는 예를 들어, 상지운동평가, 인지-지각평가, 일상생활동작평가 등을 포함할 수 있다.
의사 단말(110)은 의사 단말(110)과 연동된 병원 재활기기로부터 측정된 측정 데이터를 수신할 수 있다. 예를 들어, 상지운동평가에 대한 측정 데이터는 MMT(Manual Muscle Testing), MAS(Modified Ashworth Scale), MFT(Manual Functional Test), JHFT(Jebsen Taylor hand function test), hand grip power, pinch power 등을 포함하고, 인지-지각평가에 대한 측정 데이터는 MMSE-K(Mini-Mental State Examination-Korean), CDR(Clinical Dementia Rating)/ GDS(Geriatric Depression Scale), MVPT(Motor-Free Visual Perception Test), LOTCA(Loewenstein Occupational Therapy Cognitive Assessment) 등을 포함하고, 일상생활동작평가에 대한 측정 데이터는 MBI(Modified Barthel Index), FIM(Functional Independence Measure) 등을 포함할 수 있다.
의사 단말(110)은 의사 단말(110)이 진단 정보에 기초하여 처방에 필요한 적어도 하나의 훈련 세션을 생성하고, 생성된 적어도 하나의 훈련 세션에 기초하여 처방 정보를 생성할 수 있다. 예를 들어, 의사 단말(110)은 생성된 적어도 하나의 훈련 세션 각각에 대해 재활 훈련 컨텐츠의 종류, 난이도, 훈련 시간, 훈련 비중 및 그룹 훈련 여부 등을 포함하는 세션 정보를 입력받고, 생성된 적어도 하나의 훈련 세션을 조합하여 훈련 스케쥴을 작성할 수 있다.
의사 단말(110)은 생성된 가상 디스크에 생성된 처방 정보를 저장할 수 있다. 이 때, 가상 디스크에 저장된 처방 정보는 패스워드가 공유된 환자 단말(120)에 의해 실행될 수 있다. 예를 들어, 저장 장치(140)의 가상 디스크에 저장된 처방 정보는 의사에 의해 저장 장치(140) 및 입력된 패스워드가 환자에게 전달될 수 있다.
의사 단말(110)은 저장 장치(140)에 재활 훈련 데이터가 암호화되어 기록된 후, 의사 단말(110)에 저장 장치(140)가 연결된 경우, 패스워드에 기초하여 재활 훈련 데이터를 복호화하고, 복호화된 재활 훈련 데이터에 기초하여 환자에 대한 재활 훈련 분석 결과를 생성할 수 있다.
의사 단말(110)은 환자에 대한 재활 훈련 분석 결과를 서버(150)에 저장할 수 있다. 이 때, 의사 단말(110)은 ECDH(Elliptic Curve Diffie Hellman) 및 CGA(Cryptographically Generated Addresses) 기반의 키 교환 알고리즘에 기초하여 서버(150)와 송수신하는 데이터의 검증을 수행할 수 있다.
환자 단말(120)은 환자 단말(120)과 처방 정보가 저장된 가상 디스크를 포함하는 이동 가능한 저장 장치(140)가 연결된 경우, 저장 장치(140)로부터 가상 디스크를 불러올 수 있다. 여기서, 가상 디스크에 저장된 처방 정보는 의사 단말(110)에 의해 생성된 패스워드에 의해 실행될 수 있다.
환자 단말(120)은 불러온 가상 디스크를 통해 암호화된 적어도 하나의 컨테이너 중 암호화된 어느 하나의 컨테이너를 선택받을 수 있다.
환자 단말(120)은 선택된 암호화된 컨테이너에 대한 패스워드를 입력받고, 입력된 패스워드에 기초하여 암호화된 컨테이너를 적어도 하나의 암호화 알고리즘을 이용하여 복호화하고, 복호화된 컨테이너를 통해 처방 정보를 실행할 수 있다. 여기서, 처방 정보는 환자에 대한 개인 정보 및 진단 정보에 기초하여 생성된 것일 수 있다. 예를 들어, 환자 단말(120)은 적어도 하나의 컨테이너를 암호화한 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 등을 이용하여 복호화할 수 있다.
환자 단말(120)은 처방 정보가 실행된 경우, 환자 단말(120)과 연동된 홈 재활기기(130)로부터 처방 정보에 기초한 재활 훈련을 통해 측정된 재활 훈련 데이터를 수신할 수 있다.
환자 단말(120)은 수신한 재활 훈련 데이터를 적어도 하나의 암호화 알고리즘을 이용하여 처방 정보가 저장된 저장 장치(140)에 암호화하여 기록할 수 있다.
홈 재활기기(130)는 환자 단말(120)과 연동 가능한 것으로, 환자의 신체에 장착되거나, 환자에 의해 이용됨으로써, 환자의 반응 속도를 측정할 수 있다.
이러한 홈 재활기기(130)는 환자 단말(120)과 연동되기 위해 블루투스 기반으로 통신 기능을 제어하도록 하는 통신모듈이 탑재될 수 있다. 저장 장치(140)는 이동 가능한 것으로, 처방 정보가 저장된 경우, 의사로부터 환자에게 전달되고, 재활 훈련 데이터가 기록된 경우, 환자로부터 의사에게 전달될 수 있다.
이러한 저장 장치(140)는 처방 정보를 암호화하기 위해 파티션 또는 컨테이너에 대해 암호화를 수행할 수 있다.
예를 들어, 저장 장치(140)는 특정 소스코드로 디스크를 암호화할 수 있다. 저장 장치(140)는 실시간으로 디스크 전체 혹은 파티션을 자동 암호화를 진행할 수 있다. 저장 장치(140)는 파티션 혹은 전체를 볼륨으로 선택받고, 암호화 알고리즘인 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm)중 적어도 하나를 선택받고, 볼륨 크기와 비밀번호를 설정받을 수 있다.
이후, 저장 장치(140)는 1차적으로 볼륨을 생성하고, 볼륨을 선택하고 암호를 입력하여 2차적으로 마운트할 수 있다.
다른 예를 들어, 저장 장치(140)는 가상 디스크 암호화 소프트웨어를 이용하여 암호화된 컨테이너를 통하여 파일을 저장할 수 있다. 구체적으로, 저장 장치(140)는 암호화된 컨테이너를 생성하여 컨테이너 내부에 파일을 저장하여 1차적으로 컨테이너를 생성할 수 있다. 이후, 저장 장치(140)는 2차적으로 볼륨에 접근할 수 있다.
도 2는 본 발명의 일 실시예에 따른 의사 단말의 구성도이다. 도 2를 참조하면, 의사 단말(110)은 컨테이너 선택부(210), 입력부(220), 변환부(230), 처방 정보 생성부(240), 저장부(250) 및 재활 훈련 분석 결과 생성부(260)를 포함할 수 있다.
컨테이너 선택부(210)는 의사 단말(110)과 연결된 이동 가능한 저장 장치(140)의 적어도 하나의 컨테이너를 선택할 수 있다.
입력부(220)는 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받을 수 있다. 예를 들어, 입력부(220)는 선택된 적어도 하나의 컨테이너를 암호화할 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 중 어느 하나를 입력받을 수 있다. 여기서, 블록 암호 알고리즘(AES 알고리즘)은 DES(Data Encryption Standard)를 대체한 암호 알고리즘으로, 암호화와 복호화 과정에서 동일한 키를 사용하는 대칭키 알고리즘이며, DES에 비해 키 사이즈가 자유로워서 가변 길이의 블록과 가변 길이의 키 사용이 가능하다는 장점을 갖는다. SHA 알고리즘은 서로 관련된 암호학적 해시 함수들의 모음을 의미하며, SHA 알고리즘에 속하는 함수는 SHA, SHA-0, SHA-1, SHA-2 등을 포함한다.
변환부(230)는 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환할 수 있다.
변환부(230)는 선택된 적어도 하나의 컨테이너의 위치 정보 및 포맷 형태를 입력받고, 입력된 위치 정보 및 포맷 형태에 기초하여 선택된 적어도 하나의 컨테이너를 선택하여 암호화된 가상 디스크로 변환할 수 있다.
처방 정보 생성부(240)는 환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성할 수 있다. 예를 들어, 처방 정보 생성부(240)는 의사 단말(110)이 진단 정보에 기초하여 처방에 필요한 적어도 하나의 훈련 세션을 생성하고, 생성된 적어도 하나의 훈련 세션에 기초하여 처방 정보를 생성할 수 있다.
처방 정보 생성부(240)는 생성된 적어도 하나의 훈련 세션 각각에 대해 재활 훈련 컨텐츠의 종류, 난이도, 훈련 시간, 훈련 비중 및 그룹 훈련 여부 등을 포함하는 세션 정보를 입력받고, 생성된 적어도 하나의 훈련 세션을 조합하여 훈련 스케쥴을 작성할 수 있다.
저장부(250)는 생성된 가상 디스크에 생성된 처방 정보를 저장할 수 있다. 이 때, 가상 디스크에 저장된 처방 정보는 패스워드가 공유된 환자 단말(120)에 의해 실행될 수 있다. 예를 들어, 저장 장치(140)의 가상 디스크에 저장된 처방 정보는 의사에 의해 저장 장치(140) 및 입력된 패스워드가 환자에게 전달될 수 있다.
재활 훈련 분석 결과 생성부(260)는 저장 장치(140)에 재활 훈련 데이터가 암호화되어 기록된 후, 의사 단말(110)에 저장 장치(140)가 연결된 경우, 패스워드에 기초하여 재활 훈련 데이터를 복호화하고, 복호화된 재활 훈련 데이터에 기초하여 환자에 대한 재활 훈련 분석 결과를 생성할 수 있다.
저장부(250)는 환자에 대한 재활 훈련 분석 결과를 서버(150)에 저장할 수 있다. 이 때, 저장부(250)는 ECDH(Elliptic Curve Diffie Hellman) 및 CGA(Cryptographically Generated Addresses) 기반의 키 교환 알고리즘에 기초하여 서버(150)와 송수신하는 데이터의 검증을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 의사 단말에서 수행되는 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법의 순서도이다. 도 3에 도시된 의사 단말(110)에서 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법은 도 1 내지 도 3에 도시된 실시예에 따라 의사 단말(110)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 3에 도시된 실시예에 따른 의사 단말(110)에서 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법에도 적용된다.
단계 S310에서 의사 단말(110)은 의사 단말(110)과 연결된 이동 가능한 저장 장치(140)의 적어도 하나의 컨테이너를 선택할 수 있다.
단계 S320에서 의사 단말(110)은 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받을 수 있다.
단계 S330에서 의사 단말(110)은 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환할 수 있다.
단계 S340에서 의사 단말(110)은 환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성할 수 있다.
단계 S350에서 의사 단말(110)은 생성된 가상 디스크에 생성된 처방 정보를 저장할 수 있다.
상술한 설명에서, 단계 S310 내지 S350은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 환자 단말의 구성도이다. 도 4를 참조하면, 환자 단말(120)은 Read 부(410), 컨테이너 선택부(420), 처방 정보 실행부(430), 재활 훈련 데이터 수신부(440) 및 기록부(450)를 포함할 수 있다.
Read 부(410)는 환자 단말(120)과 처방 정보가 저장된 가상 디스크를 포함하는 이동 가능한 저장 장치(140)가 연결된 경우, 저장 장치(140)로부터 가상 디스크를 불러올 수 있다. 여기서, 가상 디스크에 저장된 처방 정보는 의사 단말(110)에 의해 생성된 패스워드에 의해 실행된 것일 수 있다.
컨테이너 선택부(420)는 불러온 가상 디스크를 통해 암호화된 적어도 하나의 컨테이너 중 암호화된 어느 하나의 컨테이너를 선택받을 수 있다.
처방 정보 실행부(430)는 선택된 암호화된 컨테이너에 대한 패스워드를 입력받고, 입력된 패스워드에 기초하여 암호화된 컨테이너를 적어도 하나의 암호화 알고리즘을 이용하여 복호화하고, 복호화된 컨테이너를 통해 처방 정보를 실행할 수 있다. 여기서, 처방 정보는 환자에 대한 개인 정보 및 진단 정보에 기초하여 생성된 것일 수 있다.
예를 들어, 처방 정보 실행부(430)는 적어도 하나의 컨테이너를 암호화한 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 등을 이용하여 복호화할 수 있다.
재활 훈련 데이터 수신부(440)는 처방 정보가 실행된 경우, 환자 단말(120)과 연동된 홈 재활기기(130)로부터 처방 정보에 기초한 재활 훈련을 통해 측정된 재활 훈련 데이터를 수신할 수 있다.
기록부(450)는 수신한 재활 훈련 데이터를 적어도 하나의 암호화 알고리즘을 이용하여 처방 정보가 저장된 저장 장치(140)에 암호화하여 기록할 수 있다.
도 5는 본 발명의 일 실시예에 따른 환자 단말에서 수행되는 홈 재활 서비스를 제공하기 위한 처방 정보를 복호화하는 방법의 순서도이다. 도 5에 도시된 환자 단말(120)에서 홈 재활 서비스를 제공하기 위한 처방 정보를 복호화하는 방법은 도 1 내지 도 4에 도시된 실시예에 따라 환자 단말(120)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 실시예에 따른 환자 단말(110)에서 홈 재활 서비스를 제공하기 위한 처방 정보를 복호화하는 방법에도 적용된다.
단계 S510에서 환자 단말(120)은 환자 단말(120)과 처방 정보가 저장된 가상 디스크를 포함하는 이동 가능한 저장 장치(140)가 연결된 경우, 저장 장치(140)로부터 가상 디스크를 불러올 수 있다.
단계 S520에서 환자 단말(120)은 불러온 가상 디스크를 통해 암호화된 적어도 하나의 컨테이너 중 암호화된 어느 하나의 컨테이너를 선택받을 수 있다.
단계 S530에서 환자 단말(120)은 선택된 암호화된 컨테이너에 대한 패스워드를 입력받을 수 있다.
단계 S540에서 환자 단말(120)은 입력된 패스워드에 기초하여 상기 암호화된 컨테이너를 적어도 하나의 암호화 알고리즘을 이용하여 복호화할 수 있다.
상술한 설명에서, 단계 S510 내지 S540은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 6a 내지 도 6e는 본 발명의 일 실시예에 따른 소프트웨어를 이용하여 처방 정보를 암호화 및 복호화하는 과정을 설명하기 위한 예시적인 도면이다. 여기서, 소프트웨어는 의사 단말용 재활 훈련 소프트웨어 및 환자 단말용 재활 훈련 소프트웨어로 구성될 수 있으며, 각각 단말에서 암호화 및 복호화 과정이 수행될 수 있다.
도 6a를 참조하면, 소프트웨어를 이용하여 가상 디스크를 생성 및 등록을 진행하는 부분은 다음과 같은 시나리오로 구성될 수 있다. 여기서, 가상 디스크를 생성 및 등록하는 과정은 의사 단말용 재활 훈련 소프트웨어에 의해 수행될 수 있다.
1. 컨테이너 관리 버튼을 눌러 컨테이너 관리 화면으로 넘어간다.
2. 컨테이너 관리 화면 우측 상단의 + 버튼을 선택하면, 컨테이너 생성 및 등록 화면으로 넘어간다.
3. 컨테이너 생성 버튼과 등록 버튼을 통해, 각각생성 옵션 설정 화면, 기존 컨테이너 등록 화면으로 넘어간다.
4. 위) 생성할 컨테이너의 암호 알고리즘, 경로, 비밀번호 등 옵션을 설정한 후, 우측 상단의 체크 버튼을 눌러 컨테이너의 생성을 완료한다.
5. 아래) 등록할 기존 컨테이너의 위치 및 컨테이너포맷을 입력한 후, 우측 상단의 체크 버튼을 눌러 컨테이너의 등록을 완료한다.
6. 컨테이너 관리 화면에서, 생성 및 등록된 컨테이너들이 관리되고 있음을 보여준다.
또한, 소프트웨어를 이용하여 컨테이너를 복호화하는 단계는 다음과 같은 시나리오로 구성될 수 있다. 여기서, 컨테이너를 복호화하는 과정은 환자 단말용 재활 훈련 소프트웨어에 의해 수행될 수 있다.
1. 생성 및 등록된 컨테이너들은 시작화면 사이드 메뉴를 통해 관리된다.
2. 사용할 컨테이너를 누른다.
3. 비밀번호를 입력한다.
4. 컨테이너가 복호화되는 절차이다.
5. 복호화된 컨테이너는 사용 가능상태로 바뀐다.
6. 컨테이너를 관리한다.
3) 가상 디스크 암호화 소스코드 분석
각 단말에서 이용되는 소프트웨어는 패키지(package) 단위로 기능을 분류할 수 있으며, 각 패키지는 다음과 같은 역할을 수행할 수 있다.
- android package : Activity와 fragment
- container package : container의 형식과 생성, 삭제
- crypto : encryption algorithm
- fn(encfs)/ luks / truecrypt / veracrypt : container format에 따른 header의 layout
도 6b를 참조하면, 실제 사용할 의료 컨테이너 생성 및 등록에 사용되는 Activity와 Framnet를 분류할 수 있으며, 이와 관련된 시나리오는 다음과 같이 구성될 수 있다.
1. 시작 시 FileManagerActivity 실행. 이후 관리 버튼을 누르면 LocationListActivity 실행 컨테이너 관리 화면으로 넘어간다.
2. LocationListActivity에서 CreateLocationActivity로 넘어간다.
3. CreateLocationActivity에서 생성 버튼을 누르면 CreateContainerTaskFragment로 추가 버튼을 누르면 AddExistingContainerTaskFragment로 넘어간다.
4. 위) CreateContainerTaskFragment에서는 사용자 설정한 옵션을 Argument 값으로 컨테이너를 생성한다(background 실행).
5. 아래) AddExistingContainerTaskFragment에서는 사용자가 설정한 컨테이너 포맷과 위치에 해당하는 컨테이너를 등록시켜준다(background 실행).
6. 위 과정이 완료되면 LocationActivity로돌아와 컨테이너 관리 화면을 보여주게 된다.
도 6c를 참조하면, 컨테이너 열기(Decryption)에 사용되는 분류는 다음과 같은 시나리오로 구성될 수 있다.
1. FileManagerActivity에서 OpenLocationFragment를 호출하여 container의 위치를 찾는다.
2. Container open을 위해 입력된 argument값들을 TaskFragment로 전달한다.
3. Container format 을 확인하여 veracrypt Volume에 관련된 class를 호출한다.
4. VolumeLayoutBase / VolumeLayout/ StdLayout class에서 Volume의 Header를 해석한다.
5. Header에 있는 정보와 일치하는 EncryptionEngine 과 Hash algorithm을 crypto class에서 호출한다.
6. FileManagerActicity가 FileListDataFragment을 호출하여 container 내부data를 불러온다.
7. Container 내부 data를 화면에 보여주기 위해 FileListViewFragment를 호출한다.
도 6d를 참조하면, 각 단말에서 이용되는 소프트웨어의 주요 패키지 및 클래스는 다음과 같은 역할을 수행할 수 있다.
1. FileManagerActivity: 어플의 main activity. Locations package 내부 class: container가 생성/open시 주소(location)를 생성하거나 찾는다.
2. 각 암호화 모듈에 사용되는 핵심 레이아웃 정리
truecrypt package 내부의 StdLayout class: truecrypt의 Volume layout
Veracrypt package 내부의 VolumeLayout class: veracrypt의 Volume layout
veracrypt 는 truecrypt 기반의 프로그램.
기본적인 Volume layout은 truecrypt의 StdLayout을 사용한다.
추가적인 것은veracrypt의 VolumeLayout을 사용한다.
3. Container package: 각각 다른container format들의 Interface와 container format에 대한 정보가 들어있어서 container를 open 할 때 사용한다.
4. Crypto package: 여러 type의 EncryptionEngine과 HashAlgorithm 등 암호화 방식에 대한 정보가 들어있다.
도 6e를 참조하면, 각 단말에서 이용되는 소프트웨어를 이용한 컨테이너 디크립션에 사용되는 주요 방법은 다음과 같은 시나리오로 구성될 수 있다.
Containerdecryption시에 header를 읽고 header에 저장되어 있는 정보를 바탕으로 volume의 data 부분을 디크립션(decryption)한다.
Header를 읽어오는 method들은 StdLayout class에서 확인할 수 있다.
1. wirteHeader()는 다음과 같은 method를 순차적으로 호출한다.
A. encodeHeader() : header data를 읽는다.
B. encryptAndWriteHeaderData() : update된 부분과 기존의 header를 함께 encrypt한다.
C. writeHeaderData() : Header에 data를 write한다.
2. readHeader()는 다음과 같은 method를 순차적으로 호출한다.
A. getEffectiveHeaderSize() : 유효한 header의 size를 반환한다..
B. getSaltFromHeader() : encryptedHeader에서 salt 값을 반환한다..
C. selectAlgosAndDecodeHeader() :hash func을 찾는다.
3. KeyHolder class : key를 getKey() 또는 setKey() 그리고 close() method를 통해 관리한다.
4. tryHashFunc() : hash algorithm을 찾아서 tryEncryptionEngine에게 전달한다.
5. tryEncryptionEngine () : header가 encryption 되어있는 engine이 무엇인지 찾고, 이를 통해 헤더(header)를 디크립트(decrypt) 및 디코드(decode)한다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 앱 보호 기법을 적용하여 처방 정보를 암호화 및 복호화하는 과정을 설명하기 위한 예시적인 도면이다.
예를 들어, 의사 단말(110)은 앱을 이용하여 처방 정보를 생성하여 암호화할 수 있으며, 환자 단말(120)은 앱을 이용하여 처방 정보를 복호화하여 처방 정보에 기초하여 환자가 재활 훈련을 수행하도록 할 수 있다.
암호화를 이용한 패커는 실행파일을 암호화하여 배포하고, 실행 시 암호화된 실행파일을 복호화하여 실행할 수 있으며, 1) 암호화를 이용한 패커를 개발하여 정적 역공학으로부터 실행파일을 보호할 수 있으며, 2) 패커는 앱의 실행파일인 classes.dex를 대상으로 개발되며, 3) 실행파일 암호화를 위해 256 bit-AES 알고리즘이 적용될 수 있다. 이하, 패커에 대해서는 도 7a 내지 도 7d을 통해 상세히 설명하도록 한다.
도 7a를 참조하면, 패커는 보호 기법이 적용된 앱의 구성 요소로 복호화 기능을 하는 라이브러리(libstub.so)와 복호화 라이브러리를 호출하기 위한 Stub classes.dex로 구성된다. 즉, 패킹된 앱은 Stub classdes.dex 및 복호화 라이브러리를 구성요소로 갖는다.
도 7b를 참조하면, 패커가 적용된 앱은 다음과 같이 5단계를 거쳐 실행될 수 있다.
1) 앱 실행
2) Stub classes.dex가 실행되며 복호화 기능을 갖는 라이브러리를 호출 함
3) 호출된 라이브러리는 암호화된 실행파일을 메모리에 로딩 함
4) 메모리상에 존재하는 암호화된 실행파일을 복호화 함
5) 복호화된 실행파일의 진입점을 호출하여 원본 실행 파일을 호출함
도 7c를 참조하면, jadx-gui를 통한 정적 역공학 시도 결과를 통해, 앱을 대상으로 패커를 적용하여 실행한 결과 정상 실행이 가능하였으나, 역공학 도구인 gdx-gui를 통해 정적 역공학를 시도한 결과 암호화된 실행파일은 gdx-gui에서 포맷을 인식하지 못하기 때문에 코드를 추출하지 못하는 것을 확인하였다. 여기서, gdx-gui는 앱을 대상으로한 정적 역공학 도구로, 실행파일을 사용자가 볼 수 있는 소스코드로 디컴파일 해주는 기능을 가지고 있다.
이외에도, 본 발명은 처방 정보의 암호화 및 복호화를 위해 루팅 탐지 모듈을 개발하여 제공할 수 있다.
루팅을 탐지하기 위해서 루팅된 디바이스에서만 나타나는 특징을 조사 및 정리하면 다음과 같다.
1) 루팅된 디바이스는 지속적으로 루팅된 환경을 제공하기 위해 커스텀 이미지를 사용하거나 2) su 바이너리 및 busybox 등을 설치
3) 취약점을 이용한 루트 권한을 제공하는 루팅 앱 설치
4) 또는 루트 권한의 쉘을 갖기 위해서 시스템 프로퍼티(property)를 수정함
본 발명은 위의 4가지 정보를 기반으로 앱 수준에서 다음과 같은 검사를 거쳐 루팅된 디바이스에서만 나타나는 특징을 찾아내는 루팅 탐지 모듈을 개발하여 스마트 홈 재활 서비스를 제공할 수 있다.
1) 커스텀 이미지 사용 여부 검사
2) su 및 busybox 바이너리 설치 여부 검사
3) 루팅 앱 설치 여부 검사
4) 시스템 프로퍼티 수정 여부 검사
도 7d를 참조하면, 본 발명은 MultiDex 앱을 확장하여 제공할 수 있다. 예를 들어, 두 개 이상의 실행코드를 갖는 앱에 패커 기술을 적용 가능하도록 AOSP의 Multi Dex 라이브러리 수정 및 개발을 통해, 앱의 하나의 실행코드는 64K 이하의 메서드만 가질 수 있도록 제한하고 있으며, 64K 이상의 메서드를 갖는 앱의 경우 두 개 이상의 실행코드를 갖고 있으며, 두 개 이상의 실행코드를 갖는 앱에 패커 기술을 적용하기 위해서 AOSP의 Multi Dex 라이브러리를 수정하여 기술의 적용 범위를 확장할 수 있다.
도 8은 본 발명의 일 실시예에 따른 측정 데이터의 평가 결과를 도시한 예시적인 도면이다. 도 8을 참조하면, 측정 데이터의 평가 결과(800)는 환자의 기본 정보 및 측정 데이터에 기초로 환자의 재활 훈련에 따른 상태 추이 등을 살펴볼 수 있도록 시각화되어 출력될 수 있다.
예를 들어, 측정 데이터의 평가 결과는 손가락 굴곡(finger flextion)의 경우, 재활 훈련 전 6%, 재활 훈련 후 18%와 같이 재활 훈련에 따른 상태 추이가 출력될 수 있다.
여기서, 측정 데이터는 의사 단말(110)과 연동된 병원 재활기기로부터 측정된 측정 데이터일 수 있으며, 환자 단말(120)을 통해 홈 재활기기와의 연동을 통해 수행된 재활 훈련에 따른 측정 데이터일 수도 있다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 의사 단말에서 처방 정보를 생성하고 재활 훈련 결과를 분석하는 과정을 설명하기 위한 예시적인 도면이다. 여기서, 의사 단말(110)에는 처방 정보를 생성하고, 처방 정보에 따른 재활 훈련 데이터의 분석을 위해 의사용 웹 인터페이스를 지원하는 의사 단말용 재활 훈련 소프트웨어가 설치되어 있을 수 있다. 의사 단말용 재활 훈련 소프트웨어는 다수의 의사 또는 치료사를 대상으로 처방 에디터의 사용 편의성에 대한 설문조사 결과를 반영하여 개발된 것일 수 있다. 의사 단말용 소프트웨어는 다음의 표 1과 같은 기능을 제공할 수 있다.
Figure PCTKR2019018832-appb-T000001
Figure PCTKR2019018832-appb-I000001
Figure PCTKR2019018832-appb-I000002
Figure PCTKR2019018832-appb-I000003
의사 단말(110)은 의사가 담당하는 환자에 대한 개인 페이지를 생성하여, 환자 리스트 중 특정 환자를 선택할 수 있다.
도 9a를 참조하면, 의사 단말(110)은 진단 정보에 기초하여 처방에 필요한 적어도 하나의 훈련 세션을 생성하고, 생성된 적어도 하나의 훈련 세션에 기초하여 처방 정보를 생성할 수 있다.
예를 들어, 의사 단말(110)은 생성된 적어도 하나의 훈련 세션 각각에 대해 드래그&드랍(Drag&Drop)을 통해 재활 훈련 컨텐츠 리스트(910) 중 환자가 수행할 재활 훈련 컨텐츠의 종류를 선택(912)받고, 재활 환련 컨텐츠에 대한 난이도, 훈련 시간, 훈련 비중 및 그룹 훈련 여부 등을 포함하는 세션 정보를 입력받고, 생성된 적어도 하나의 훈련 세션을 조합(913)하여 환자별로 훈련 스케쥴을 작성할 수 있다. 여기서, 생성된 세션 정보는 의사 단말(110)에 수정 및 관리가 가능하다.
의사 단말(110)은 의사 단말(110)에 설치된 의사 단말용 재활 훈련 소프트웨어처방 정보의 저장 장치(140)로의 내보내기를 선택받음으로써, 생성된 처방 정보를 암호화하여 이동 가능한 저장 장치(140)에 저장할 수 있다. 여기서, 처방 정보는 저장 장치(140)의 파티션 또는 컨테이너가 소스코드를 통해 암호화됨으로써 생성된 가상 디스크에 저장할 수 있다.
의사 단말(110)은 환자가 홈 재활기기(130)를 이용하여 가정에서 재활 훈련을 수행된 재활 훈련 데이터가 기록된 저장 장치(140)가 연결된 경우, 저장 장치(140)에 기록된 재활 훈련 데이터의 불러오기를 선택받아 의사 단말(110)의 디스플레이를 통해 출력할 수 있다.
도 9b를 참조하면, 의사 단말(110)은 의사 단말(110)에 설치된 소프트웨어를 통해 재활 훈련 데이터를 분석하고, 분석된 재활 훈련 데이터에 기초하여 환자의 재활 훈련 결과(920)를 생성할 수 있다. 여기서, 재활 훈련 결과는 재활 훈련 컨텐츠의 종류, 총 훈련 시간, 재활 부위별 움직임 비율, 상기 재활 훈련에 따른 재활 부위별 개선 정도 등을 포함할 수 있다.
이외에도, 의사 단말(110)은 의사 단말용 재활 훈련 소프트웨어를 통해 다양한 서비스를 지원할 수 있다.
도 10a 및 도 10b는 본 발명의 일 실시예에 따른 의사 단말에서 지원하는 다양한 서비스에 대한 UI를 도시한 예시적인 도면이다.
의사 단말(110)은 환자 관리 페이지를 통해 의사 자신이 관리하는 다수의 환자를 관리할 수 있다. 이 때, 의사 단말(110)은 환자 관리 페이지를 통해 환자별 처방 히스토리 확인 및 추적 기능을 포함하는 처방 내역 확인 기능을 제공할 수 있다.
의사 단말(110)은 적어도 하나의 훈련 세션의 조합을 통해 작성된 훈련 스케쥴을 훈련 스케쥴링 페이지를 통해 출력할 수 있다.
의사 단말(110)은 환자 단말(120)과의 통신을 수행하여 원격 훈련 스케쥴링 페이지를 통해 훈련 스케쥴의 알림 또는 훈련 스케쥴을 조절할 수도 있다.
의사 단말(110)은 환자 단말(120)과의 통신을 수행하여 원격 진료 및 그룹 치료 페이지를 통해 영상 통화(video call)를 통한 특정 환자에 대한 원격 진료 또는 다수의 환자 단말 간의 그룹 치료를 진행할 수도 있다.
도 10a를 참조하면, 의사가 환자로부터 홈 재활기기로부터 처방 정보에 기초한 재활 훈련을 통해 재활 훈련 데이터가 기록된 이동 가능한 저장 장치(140)를 건네받고, 저장 장치(140)가 의사 단말(110)에 연결된 경우, 의사 단말(110)은 환자의 재활 훈련 데이터를 출력할 수 있다.
도 10b를 참조하면, 의사 단말(110)은 재활 훈련 결과에 기초하여 추가 처방 정보 및 추가 처방 정보에 관한 설명을 포함하는 텍스트 정보(1000)를 생성하고, 추가 처방 정보 및 텍스트 정보(1000)를 저장 장치(140)에 저장할 수 있다.
도 11은 본 발명의 일 실시예에 따른 재활 훈련 결과를 도시한 예시적인 도면이다. 도 11을 참조하면, 의사 단말(110)은 처방 리스트를 확인하고, 특정 처방 건을 클릭하면 재활 훈련 결과로 이동할 수 있다.
재활 훈련 데이터의 분석을 통해 생성된 처방 결과는 환자 정보, 처방 기간에 따른 재활 훈련 내역, 재활 훈련 효과 등을 포함할 수 있다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따른 환자 단말에서 처방 정보에 기초하여 재활 훈련을 수행하는 과정을 설명하기 위한 예시적인 도면이다.
환자 단말(120)은 암호화된 처방 정보가 저장된 저장 장치(140)가 연결된 경우, 환자 단말(120)이 환자 단말(120)과 연동된 홈 재활기기(130)로부터 처방 정보에 기초한 재활 훈련을 통해 측정된 재활 훈련 데이터를 수신할 수 있다. 예를 들어, 환자는 처방 정보가 담긴 저장 장치(140)를 의사로부터 전달받으면, 환자는 자신의 권한을 이용해서 처방정보에 접근할 수 있게 된다. 이 때, 환자 단말(120)에 저장 장치(140)가 연결되면, 처방 정보가 저장된 저장 장치(140)를 마운트하여 상호 인식한 후 자동 실행할 수 있다.
환자 단말(120)은 수신한 재활 훈련 데이터를 저장 장치(140)에 기록할 수 있다. 여기서, 환자 단말(120)에는 처방 정보를 저장 장치(140)로부터 불러와서 출력하도록 하고, 처방 정보에 기초하여 수행된 재활 훈련 데이터가 기록되도록 하기 위해 환자용 웹 인터페이스를 지원하는 환자 단말용 재활 훈련 소프트웨어가 설치되어 있을 수 있다. 환자 단말용 재활 훈련 소프트웨어는 다수의 환자를 대상으로 구성된 재활 훈련 시나리오 및 요구사항을 반영하여 개발된 것일 수 있다. 환자 단말용 소프트웨어는 다음의 표 2와 같은 기능을 제공할 수 있다.
Figure PCTKR2019018832-appb-T000002
Figure PCTKR2019018832-appb-I000004
Figure PCTKR2019018832-appb-I000005
Figure PCTKR2019018832-appb-I000006
도 12a를 참조하면, 환자가 의사로부터 처방 정보가 저장된 이동 가능한 저장 장치(140)를 건네받아 환자 단말(120)에 연결한 경우, 환자 단말(120)은 적어도 하나의 훈련 세션이 조합된 처방 정보를 출력할 수 있다.
도 12b를 참조하면, 환자 단말(120)은 각 훈련 세션별로 설정된 훈련 시간 및 훈련 난이도에 기초하여 재활 훈련 컨텐츠를 순차적으로 출력할 수 있다.
이 때, 환자는 홈 재활기기(130)를 이용하여 재활 훈련을 수행하고, 홈 재활기기(130)는 내장된 복수의 센서를 이용하여 재활 훈련의 수행에 따른 재활 훈련 데이터를 측정하고, 측정한 재활 훈련 데이터를 블루투스 통신을 통해 연동된 환자 단말(120)로 전송할 수 있다.
도 12c를 참조하면, 환자 단말(120)은 환자 단말(120)과 연동된 홈 재활기기(130)로부터 재활 훈련 데이터를 수신하여 이동 가능한 저장 장치(140)에 기록할 수 있다. 이 때, 기록된 저장 장치(140)는 환자에 의해 의사에게 전달될 수 있다.
도 13a 내지 도 13f는 본 발명의 일 실시예에 따른 의사 단말과 서버 간의 키 교환 알고리즘에 기초하여 데이터의 검증을 수행하는 과정을 설명하기 위한 예시적인 도면이다.
의사 단말(110)은 환자에 대한 재활 훈련 분석 결과를 ECDH(Elliptic Curve Diffie Hellman) 및 CGA(Cryptographically Generated Addresses) 기반의 키 교환 알고리즘에 기초하여 서버(150)와 송수신하는 데이터의 검증을 수행할 수 있다.
도 13a를 참조하면, 의사 단말(110)은 서버(15)와 패스워드 기반 키 생성 및 암/복호화를 통해 데이터의 검증을 수행할 수 있다.
예를 들어, Salt와 Iteration Counts를 함께 해쉬한 PBE(Password-Based Encryption)를 적용한 경우, 사용자의 패스워드에 Salt와 interation Counts를 함께 해쉬를 하여 생성될 수 있는 키의 개수를 늘리고, 키를 생성하는 시간을 길게 하여 공격자의 계산 소요시간을 늘려 안전성을 향상 시킬 수 있다. 이 때, 사용된 Salt 값은 비밀스럽게 보관될 필요가 없지만 암호화된 데이터와 함께 같이 저장되어서 복호화 시에 다시 사용되어야 하고, 복호화 시 Salt와 패스워드로 키를 생성해서 암호화를 풀 수 있게 된다.
본 발명은 기밀성 보장 및 무결성 보장을 위해 AES와 HMAC-SHA을 이용하여 암복호화 모듈을 개발하여 스마트 홈 재활 서비스를 제공할 수 있다. 여기서, 기밀성은 인가된 사용자만이 데이터에 접근이 가능하며, 무결성은 인가된 사용자가 인가된 방법만으로 데이터를 변경할 수 있는 것을 의미한다.
본 발명은 ECC(Elliptic Curve Cryptography)를 활용한 환자 ID 생성 및 키 교환을 할 수 있다. 이하에서는, Diffe-hellman/elliptic-curve differ-hellman을 기반으로 설명하도록 한다.
ECC(Elliptic Curve Cryptography)는 타원 곡선 이산대수 문제에 기반을 둔 암호로, 유한체(소수) 상의 타원 곡선E(Fa)는 y2=x3+ax+b(mod p)를 만족하는 점들과 무한대 점 o의 집합이다. 타원 곡선 매개 변수는 (p, a, b, G, n)로 나타내며, n은 타원 곡선 E(Fa)의 위수이고, G는 n을 위수로 갖는 베이스 포인트 생성자이다.
ECDH(Elliptic Curve Diffie Hellman)는 ECC를 이용한 Diffie Hellman 키교환 알고리즘으로, 개인키와 공개키 쌍은 (ax,Qx)로 나타낼 수 있다. 여기서, ECDH 개인키 ax는 [1, n-1]범위에서 선택된 난수로, ECDH 공개키 Qx는 Qx=axG로 계산될 수 있다. 여기서, ECDH의 안전성은 ECDH 공개키 Qx로부터 ECDH 개인키 ax는 도출될 수 없다는 것에 기인한다.
ECDH 방식에서 세션키 SK는 아래와 같이 계산된다.
가) 당사자 A, B는 각각 자신의 ECDH 개인키aA, aB를 [1, n-1]범위 내에서 생성하고 ECDH 공개키 QA=aAG, QS=aSG를 계산한다.
나) A, B는 서로의 ECDH 공개키 QA, QS를 교환한 후, 상대방의 ECDH 공개키와 자신의 ECDH 개인키를 EC 덧셈 연산을 하여 세션키 SK=ECDH(QS, aA)=ECDH(QA, aB)를 계산한다.
본 발명은 ECDH와 CGA(Cryptographically Generated Addresses)를 이용하여 의사 단말(110)과 서버(150) 간 주고받는 데이터를 암호화할 키 교환 알고리즘 설계하여 스마트 홈 재활 서비스를 제공할 수 있다. CGA는 공개키를 해쉬하여 ID를 만듬으로써, 공격자가 같은 ID가 해쉬값으로 나올 수 있는 공개키를 구하기 힘들기 때문에 상호인증에 대한 안전성이 보장된다.
도 13b를 참조하면, 의사 단말(110)과 서버(150)는 ECDH 및 CGA 기반의 알고리즘을 설계하여 스마트 홈 재활 서비스를 제공할 수 있다. 이를 위해, 사전에, 1) 의사 단말(110)과 서버(150)는 자신의 개인키와 공개키 쌍을 생성하고, 서버(150)는 모든 의사 단말(110)들의 ID(ID1,ID2, …IDN)를, 의사 단말(110)은 서버(150)의 ID(IDS)를 얻고, 2) 서로 공개키와 ID를 주고받고 이를 통해 EC 덧셈연산을 하여 세션 키를 생성하고, 3) 각자 생성한 nonce 값을 세션 키로 암호화하고 자신의 개인키로 서명한 후 서로 주고 받음. 받은 nonce와 상대방의 공개키를 이용하여 서명을 검증할 수 있다.
또한, 의사 단말(110)과 서버(150)는 ECC(Elliptic Curve Cryptography)를 활용한 환자 ID 생성 및 키 교환을 구현할 수 있다.
1)ECDH와 CGA 기반의 키교환 알고리즘 구현 환경은 표 3과 같다.
Figure PCTKR2019018832-appb-T000003
2) ECDH와 CGA 기반 키교환 알고리즘은 크게 2개의 부분을 통해 구현될 수 있다. 첫째, ECC를 통한 서버(150)와 의사 단말(110)의 각 공개키, 개인키 생성, 공개키에 암호해시 적용한 ID 생성 및 오프라인 배포를 하는 사전 작업, 둘째, 사전 작업 이후 ECDH & CGA 기반 키 교환 알고리즘을 통해 PSK(Pre-Shared Key)를 만드는 Key 생성 부분으로 분류될 수 있다.
3) 사전 작업은 다음의 표 4와 같이 두 가지 작업으로 구성될 수 있다. 표 5를 참조하면, 사전 작업은 ECC 곡선을 이용한 개인키, 공개키, 암호해시 함수 적용한 ID 생성의 Key 생성 작업과, 생성된 Key 값을 오프라인으로 배포하는 작업으로 나누어 진다.
[규칙 제91조에 의한 정정 04.03.2020] 
[표 4]
Figure WO-DOC-FIGURE-4
도 13c를 참조하면, ECC 곡선을 이용한 Key 생성은 keygen 사용방법을 통해 생성될 수 있다. 이를 위해, 사전 작업은 의사 단말(110)과 서버(150)의 공개키, 개인키 쌍을 만들고 공개키에 해시함수를 적용하고 해당 결과값을 의사 단말(110)의 ID(Identification), 서버(150)의 ID로 하는 작업으로, 해당 keygen 파일은 OpenSSL의 라이브러리에서 prime256v1의 ECC곡선을 이용하여 공개키와 개인키를 생성하고, 이후 공개키에 SHA 함수를 적용하여 ID를 생성할 수 있다.
사용 방법에 따라 파일을 실행하는 경우, 표 5와 같은 결과물을 얻을 수 있다.
[규칙 제91조에 의한 정정 04.03.2020] 
[표 5]
Figure WO-DOC-FIGURE-5
도 13d를 참조하면, ECDH와 CGA 기반 키 교환 알고리즘을 이용하여 오프라인 배포를 진행할 수 있다. 예를 들어, ECC Key를 생성한 후, ECDH & CGA 기반 키 교환 알고리즘을 이용하기 위해서는 서버(150)와 의사 단말(110)이 ECDH 방식의 키 생성을 위한 교환 이전에 가지고 있어야 할 내용들이 존재한다. 서버(150)의 경우에는 서버(150)의 개인키 및 공개키, hash(서버 공개키), hash(의사 단말의 공개키)가 필요하고, 의사 단말(110)의 경우에는 의사 단말(110)의 개인키 및 공개키, hash(서버 공개키), hash(의사 단말의 공개키)가 필요하다.
PSK(Pre-Shared Key) 생성은 ECDH의 방식으로 진행되며, CGA는 공개키를 암호화 해시함수를 적용하여 만들어진 ID로 해당 전달 받은 공개키를 동일한 암호화 해시함수를 적용해보고 ECDH를 진행함으로써 상호인증에 대한 안전성이 보장된다.
다음의 표 6을 참조하면, 사전 작업이 완료된 상태에서 PSK 생성을 진행하며, 실제 작업이 이루어지면 각 디렉토리에 PSK 라는 공유키가 생성된다.
Figure PCTKR2019018832-appb-T000006
ECDH 방식에서 키 계산을 구현하기 위해, 가) A, B는 각각 자신의 개인키 생성하고 공개키 QA=aAG, QS=aSG를 계산(=사전작업)하고, 나) A, B는 서로의 공개키QA, QB를 교환한 후, 상대방의 공개키와 자신의 개인키를 EC 덧셈 연산을 하여 키 SK=ECDH(QS, aA)=ECDH(QA, aB)를 계산할 수 있다.
여기서, 가)의 작업은 이미 사전작업을 통해 생성되어 서로 분배되고, 나)를 통해 서로의 공개키 교환될 수 있다. 이하에서는, 표 8을 통해 상세히 설명하도록 한다. 표 7을 참조하면, 의사 단말(110)이 서버(150)에게 자신의 공개키를 전송하면, 서버(150)는 의사 단말(110)로부터 공개키를 받은 후 서버(150)의 공개키를 의사 단말(110)에게 전송할 수 있다. 이 때, 각 서버(150)와 의사 단말(110)은 전달 공개키에 암호화 해시함수를 적용하여 가지고 있는 서버(150)와 의사 단말(110)의 ID를 확인함으로써 상호 인증을 진행할 수 있다.
Figure PCTKR2019018832-appb-T000007
이러한 상호 인증을 통해 새로운 key를 생성하고, 저장할 수 있다. 이와 관련하여, 표 8을 통해 설명하도록 한다. 표 8을 참조하면, 수신한 공개키와 가지고 있는 개인키를 EC 덧셈연산 진행하여 새로운 key 생성할 수 있다. 여기서, 생성된 Key를 16진수 32길이로 총 512bit의 Key로 PSK라는 파일 이름으로 저장될 수 있다.
Figure PCTKR2019018832-appb-T000008
의사 단말(110)과 서버(150)는 키 교환 알고리즘을 이용한 데이터의 검증을수행하기 위해 PSK 모드 TLS 통신을 이용할 수 있다.
SSL / TLS
전송 계층 상에서 의사 단말(110), 서버(150)에 대한 인증 및 데이터 암호화를 수행할 수 있다. 즉, 의사 단말(110)과 서버(150) 양단 간 응용계층 및 TCP 전송계층 사이에서 안전한 보안 채널을 형성해 주는 역할을 수행하는 보안용 프로토콜(Protocol)로, 주로 HTTPS같은 웹 브라우저와 웹 서버 사이의 보안 채널을 제공하기 위해서 사용된다.
1) SSL/TLS 주요 기능은 상호 인증을 통해 서버(150)와 의사 단말(110)의 두 응용 간에 상대방에 대한 인증을 할 수 있으며, 메시지 무결성을 통해 메시지에 대한 무결성을 보장하므로 데이터의 정확성과 일관성을 유지를 보증하며, 암호화용 세션키 생성을 위한 키 교환을 통해 Diffie-Hellman 방식을 사용하여 암호 통신을 하도록 개발하였으며, 생성된 공유 비밀키에 의해 암호화된 종단 간 안전한 연결 통로를 제공할 수 있다.
2) SSL/TLS 특징은 서버(150)와 의사 단말(110) 기반의 프로토콜(Protocol)로, 거의 모든 응용 프로그램에 적용이 가능하다. 또한 SSL/TLS통신은 키 교환방식, 대칭키 암호화 방식과 해쉬 알고리즘을 서버(150)와 의사 단말(110) 간에 협상한 방식대로 보안 채널을 구축할 수 있기 때문에 여러 가지의 보안 채널을 만드는데 유용하다.
PSK모드 TLS 통신
PSK(Pre-Shared Key)는 미리 공유된 키를 기반으로 안전한 통신을 제공하는 암호화 프로토콜(Protocol)로, 이러한 프로토콜(Protocol)을 사용하는 이유는 PSK를 사용하면 ciphersuite에 따라 공개키 작업이 필요하지 않게 되므로 성능이 제한된 환경에서 유용하며, 키 관리 관점에서 더 편리하다. 여기서, Ciphersuite는 TLS handshake를 통해서 의사 단말(110)과 서버(150) 간의 프로토콜, 암호화 방식 등의 협의할 때 필요한 내용들이 포함되어 있고, Handshake는 서버(150)와 의사 단말(110) 간의 연결을 시작할 때 가장 처음으로 시작되며, 이 흐름은 보안 채널을 만들기 위해 양단간의 협의가 이루어지는 부분으로, 이 단계에서 실제 데이터 통신할 때 사용될 세션 키(Session Key), 즉 Master-secret Key가 만들어진다.
도 13e를 참조하면, 일반적으로 PSK 모드 TLS 통신에서의 핸드쉐이크(Handshake) 과정은 상대방에서 대칭키나 인증서가 요구된다. 하지만, 본 발명에서는 PSK 모드에서 이미 양단의 공유된 키가 존재하므로 handshake과정에서 키 교환하는 과정 없이 바로 세션 키(Session Key), 즉 Master-secret Key를 계산하므로, 빠른 연결 속도를 보여줄 수 있다.
본 발명은 ECC(Elliptic Curve Cryptography)를 활용한 환자 ID생성 및 키 교환 구현에서 만들어진 PSK를 이용하여 PSK 모드의 TLS 통신을 구현할 수 있다. 이를 통해, 보안성이 검증된 PSK를 이용하여 TLS를 통해 보안 채널을 만들고, 이 보안 채널을 통해 파일을 전송함으로써 데이터에 대한 무결성과, 기밀성을 보증할 수 있다.
1) 파일 전송 준비
PSK 모드 TLS 통신의 구현을 위한 파일 전송 준비는 표 10을 통해 설명하도록 한다. 표 9를 참조하면, 파일 전송 준비는 의사 단말(110)과 서버(150) 측에 다음과 같은 파일들이 있는 상태에서 진행될 수 있다.
Figure PCTKR2019018832-appb-T000009
2) 파일 전송
파일 전송은 표 10을 통해 설명하도록 한다. 표 10을 참조하면, 의사 단말(110)이 서버(150)에 접속하여 파일을 전송할 수 있다.
Figure PCTKR2019018832-appb-T000010
도 13f를 참조하면, 암호화 전송 확인 화면을 통해 파일이 암호화되어 전송되었음을 확인할 수 있다.
이와 같이, 본 발명은 Openssl 라이브러리의 ECC 곡선을 활용하여 의사 단말(110)과 서버(150) 간의 ECDH와 CGA 기반 키 교환 알고리즘의 구현하고, 구현 된 키를 통해서 암호화 통신 채널을 만들 수 있는 TLS-PSK 모드를 구현하고, 구현된 TLS-PSK 모드를 통하여 파일의 암호화 통신을 구현할 수 있다.
도 1 내지 도 13f를 통해 설명된 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 13f를 통해 설명된 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (13)

  1. 의사 단말에서 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 방법에 있어서,
    상기 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하는 단계;
    상기 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 단계;
    상기 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 상기 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 단계;
    환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성하는 단계; 및
    상기 생성된 가상 디스크에 상기 생성된 처방 정보를 저장하는 단계를 포함하고,
    상기 가상 디스크에 저장된 처방 정보는 상기 패스워드가 공유된 환자 단말에 의해 실행되는 것인, 처방 정보 암호화 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 단계는,
    상기 선택된 적어도 하나의 컨테이너를 암호화할 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 중 어느 하나를 입력받는 단계를 포함하는 것인, 처방 정보 암호화 방법.
  3. 제 1 항에 있어서,
    상기 가상 디스크로 변환하는 단계는,
    상기 선택된 적어도 하나의 컨테이너의 위치 정보 및 포맷 형태를 입력받는 단계; 및
    상기 입력된 위치 정보 및 포맷 형태에 기초하여 상기 선택된 적어도 하나의 컨테이너를 선택하여 상기 암호화된 가상 디스크로 변환하는 단계를 포함하는 것인, 처방 정보 암호화 방법.
  4. 제 1 항에 있어서,
    상기 처방 정보가 저장된 저장 장치는 상기 환자 단말에 의해 재활 훈련 데이터가 암호화되어 기록되는 것인, 처방 정보 암호화 방법.
  5. 제 4 항에 있어서,
    상기 저장 장치에 상기 재활 훈련 데이터가 암호화되어 기록된 후, 상기 의사 단말에 상기 저장 장치가 연결된 경우, 상기 패스워드에 기초하여 상기 재활 훈련 데이터를 복호화하는 단계; 및
    상기 복호화된 재활 훈련 데이터에 기초하여 상기 환자에 대한 재활 훈련 분석 결과를 생성하는 단계를 더 포함하는 것인, 처방 정보 암호화 방법.
  6. 제 1 항에 있어서,
    상기 처방 정보를 생성하는 단계는,
    상기 의사 단말이 상기 진단 정보에 기초하여 처방에 필요한 적어도 하나의 훈련 세션을 생성하는 단계; 및
    상기 의사 단말이 상기 생성된 적어도 하나의 훈련 세션에 기초하여 상기 처방 정보를 생성하는 단계를 포함하는 것인, 처방 정보 암호화 방법.
  7. 제 6 항에 있어서,
    상기 의사 단말이 상기 생성된 적어도 하나의 훈련 세션 각각에 대해 재활 훈련 컨텐츠의 종류, 난이도, 훈련 시간, 훈련 비중 및 그룹 훈련 여부 중 적어도 하나를 포함하는 세션 정보를 입력받는 단계; 및
    상기 의사 단말이 상기 생성된 적어도 하나의 훈련 세션을 조합하여 훈련 스케쥴을 작성하는 단계를 더 포함하는 것인, 처방 정보 암호화 방법.
  8. 제 1 항에 있어서,
    상기 환자에 대한 재활 훈련 분석 결과를 서버에 저장하는 단계를 더 포함하는 것인, 처방 정보 암호화 방법.
  9. 제 8 항에 있어서,
    상기 환자에 대한 재활 훈련 분석 결과를 서버에 저장하는 단계는
    ECDH(Elliptic Curve Diffie Hellman) 및 CGA(Cryptographically Generated Addresses) 기반의 키 교환 알고리즘에 기초하여 상기 서버와 송수신하는 데이터의 검증을 수행하는 단계를 포함하는 것인, 처방 정보 암호화 방법.
  10. 재활 서비스를 제공하기 위한 처방 정보를 암호화하는 의사 단말에 있어서,
    상기 의사 단말과 연결된 이동 가능한 저장 장치의 적어도 하나의 컨테이너를 선택하는 컨테이너 선택부;
    상기 선택된 적어도 하나의 컨테이너에 대해 적어도 하나의 암호화 알고리즘 및 패스워드를 입력받는 입력부;
    상기 입력된 적어도 하나의 암호화 알고리즘 및 패스워드에 기초하여 상기 적어도 하나의 컨테이너를 암호화된 가상 디스크로 변환하는 변환부;
    환자에 대한 개인 정보 및 진단 정보에 기초하여 처방 정보를 생성하는 처방 정보 생성부; 및
    상기 생성된 가상 디스크에 상기 생성된 처방 정보를 저장하는 저장부를 포함하고,
    상기 가상 디스크에 저장된 처방 정보는 상기 비밀 번호가 공유된 환자 단말에 의해 실행되는 것인, 의사 단말.
  11. 환자 단말에서 홈 재활 서비스를 제공하기 위한 처방 정보를 복호화하는 방법에 있어서,
    상기 환자 단말과 상기 처방 정보가 저장된 가상 디스크를 포함하는 이동 가능한 저장 장치가 연결된 경우, 상기 저장 장치로부터 상기 가상 디스크를 불러오는 단계;
    상기 불러온 가상 디스크를 통해 암호화된 적어도 하나의 컨테이너 중 암호화된 어느 하나의 컨테이너를 선택받는 단계;
    상기 선택된 암호화된 컨테이너에 대한 패스워드를 입력받는 단계;
    상기 입력된 패스워드에 기초하여 상기 암호화된 컨테이너를 적어도 하나의 암호화 알고리즘을 이용하여 복호화하는 단계; 및
    상기 복호화된 컨테이너를 통해 상기 처방 정보를 실행하는 단계를 포함하되,
    상기 처방 정보는 환자에 대한 개인 정보 및 진단 정보에 기초하여 생성되고,
    상기 가상 디스크에 저장된 처방 정보는 상기 의사 단말에 의해 생성된 패스워드에 기초하여 실행되는 것인, 처방 정보 복호화 방법.
  12. 제 11 항에 있어서,
    상기 암호화된 컨테이너를 복호화하는 단계는,
    적어도 하나의 컨테이너를 암호화한 블록 암호 알고리즘(AES, Advanced Encryption Standard) 또는 SHA 알고리즘(Secure Hash Algorithm) 중 어느 하나를 이용하여 복호화하는 단계를 포함하는 것인, 처방 정보 복호화 방법.
  13. 제 11 항에 있어서,
    상기 처방 정보가 실행된 경우, 상기 환자 단말과 연동된 홈 재활기기로부터 상기 처방 정보에 기초한 재활 훈련을 통해 측정된 재활 훈련 데이터를 수신하는 단계; 및
    상기 수신한 재활 훈련 데이터를 상기 적어도 하나의 암호화 알고리즘을 이용하여 상기 처방 정보가 저장된 저장 장치에 암호화하여 기록하는 단계를 더 포함하는 것인, 처방 정보 복호화 방법.
PCT/KR2019/018832 2019-04-26 2019-12-31 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말 WO2020218708A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2019-0049378 2019-04-26
KR20190049378 2019-04-26
KR1020190179389A KR20200125405A (ko) 2019-04-26 2019-12-31 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말
KR10-2019-0179389 2019-12-31

Publications (1)

Publication Number Publication Date
WO2020218708A1 true WO2020218708A1 (ko) 2020-10-29

Family

ID=72940730

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/018832 WO2020218708A1 (ko) 2019-04-26 2019-12-31 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말

Country Status (1)

Country Link
WO (1) WO2020218708A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726772A (zh) * 2021-08-30 2021-11-30 平安国际智慧城市科技股份有限公司 实现在线问诊会话的方法、装置、设备及存储介质
CN114707156A (zh) * 2022-04-14 2022-07-05 西安航空学院 一种通信软件安全性的自动化验证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101582967B1 (ko) * 2014-03-04 2016-01-06 (주)엠씨씨 병원정보와 연동하는 개인건강기록관리 서비스 시스템 및 개인건강기록 전달 방법
KR20170070916A (ko) * 2015-12-14 2017-06-23 한국전자통신연구원 텔레 익스피리언스 재활 서비스 플랫폼 장치, 및 그것의 방법
US20180060512A1 (en) * 2016-08-29 2018-03-01 Jeffrey Sorenson System and method for medical imaging informatics peer review system
KR101882207B1 (ko) * 2018-03-23 2018-07-26 주식회사 아이라이즈 블록체인 기반으로 환자 정보를 저장하는 병의원 보안 시스템
US20180233225A1 (en) * 2017-02-15 2018-08-16 Humetrix.Com, Inc. Patient-facing mobile technology to assist physician achieve quality measures for value-based payment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101582967B1 (ko) * 2014-03-04 2016-01-06 (주)엠씨씨 병원정보와 연동하는 개인건강기록관리 서비스 시스템 및 개인건강기록 전달 방법
KR20170070916A (ko) * 2015-12-14 2017-06-23 한국전자통신연구원 텔레 익스피리언스 재활 서비스 플랫폼 장치, 및 그것의 방법
US20180060512A1 (en) * 2016-08-29 2018-03-01 Jeffrey Sorenson System and method for medical imaging informatics peer review system
US20180233225A1 (en) * 2017-02-15 2018-08-16 Humetrix.Com, Inc. Patient-facing mobile technology to assist physician achieve quality measures for value-based payment
KR101882207B1 (ko) * 2018-03-23 2018-07-26 주식회사 아이라이즈 블록체인 기반으로 환자 정보를 저장하는 병의원 보안 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726772A (zh) * 2021-08-30 2021-11-30 平安国际智慧城市科技股份有限公司 实现在线问诊会话的方法、装置、设备及存储介质
CN113726772B (zh) * 2021-08-30 2023-07-07 深圳平安智慧医健科技有限公司 实现在线问诊会话的方法、装置、设备及存储介质
CN114707156A (zh) * 2022-04-14 2022-07-05 西安航空学院 一种通信软件安全性的自动化验证方法
CN114707156B (zh) * 2022-04-14 2024-04-19 西安航空学院 一种通信软件安全性的自动化验证方法

Similar Documents

Publication Publication Date Title
WO2021095998A1 (en) A trusted computing method and system
WO2019194403A1 (ko) 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
WO2020029585A1 (zh) 基于迁移学习的神经网络联邦建模方法、设备及存储介质
WO2020235782A1 (ko) 분산 환경에서의 신원 인증 방법
WO2021075867A1 (ko) 블록체인 기반 시스템을 위한 키의 저장 및 복구 방법과 그 장치
EP4010834A1 (en) Electronic device and method for managing blockchain address using the same
WO2016108468A1 (en) User terminal, service providing apparatus, driving method of user terminal, driving method of service providing apparatus, and encryption indexing-based search system
WO2019208861A1 (ko) 전자 지갑을 이용한 암호화폐의 거래 서비스를 제공하는 장치 및 방법
WO2014069777A1 (en) Transit control for data
WO2020101325A1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
WO2020218708A1 (ko) 홈 재활 서비스를 제공하기 위한 처방 정보를 암호화 및 복호화하는 방법 및 의사 단말
WO2022060149A1 (ko) 탈중앙화 네트워크를 이용하여 권리를 관리하는 전자 장치 및 이의 동작 방법
WO2017105072A1 (ko) 생체 정보 기반 인증 장치 그리고 이의 동작 방법
WO2020166879A1 (en) Apparatus for performing threshold design on secret key and method thereof
WO2014200163A1 (ko) 광학 문자 인식을 이용하는 정보 암호화 시스템 및 정보 암호화 방법
WO2019198846A9 (ko) 가챠 시스템의 확률 정보를 획득하는 방법, 장치 및 컴퓨터 프로그램
CN108667820B (zh) 共享电子白板加密方法、系统、电子设备、存储介质
WO2017016272A1 (zh) 一种虚拟资源数据的处理方法、装置及系统
CN112804560A (zh) 视频加密传输方法、中间件及计算机可读存储介质
WO2022114857A1 (ko) 블록 체인 네트워크를 이용하여 데이터를 공유하는 전자 장치 및 이의 동작 방법
WO2017188497A1 (ko) 무결성 및 보안성이 강화된 사용자 인증방법
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
WO2021071054A1 (ko) 재부팅없이 무한 연산이 가능한 동형 암호 기반의 동적 궤환 제어기의 구성 방법
WO2019160167A1 (ko) 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
WO2023158193A1 (ko) 동형 암호를 기반으로 하는 데이터 처리 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19926326

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19926326

Country of ref document: EP

Kind code of ref document: A1