WO2021181736A1 - 機密データ管理装置、プログラム及び記録媒体 - Google Patents

機密データ管理装置、プログラム及び記録媒体 Download PDF

Info

Publication number
WO2021181736A1
WO2021181736A1 PCT/JP2020/037347 JP2020037347W WO2021181736A1 WO 2021181736 A1 WO2021181736 A1 WO 2021181736A1 JP 2020037347 W JP2020037347 W JP 2020037347W WO 2021181736 A1 WO2021181736 A1 WO 2021181736A1
Authority
WO
WIPO (PCT)
Prior art keywords
confidential data
protection code
data protection
common key
confidential
Prior art date
Application number
PCT/JP2020/037347
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 to US17/266,070 priority Critical patent/US11924337B2/en
Priority to EP20824062.2A priority patent/EP3902197A4/en
Priority to CN202080098452.1A priority patent/CN115280716A/zh
Priority to JP2021539570A priority patent/JP7037705B2/ja
Publication of WO2021181736A1 publication Critical patent/WO2021181736A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Definitions

  • the present invention relates to a confidential data management device, a program and a recording medium.
  • Patent Document 1 a technique relating to a system for encrypting a file using both common key cryptography and public key cryptography has been disclosed (see Patent Document 1).
  • the system encrypts a file using a common key, and encrypts the common key with a public key of a user or an administrator.
  • the encrypted common key is stored with the encrypted file.
  • the system receives a file read request from the user, decrypts the encrypted common key when an appropriate private key is used, and decrypts the encrypted file using the obtained common key. And reply to the user.
  • Patent Document 2 there is a technology for recovering data by sharing and collaborating between a user-side data processing device that stores encrypted data on a storage medium and a recovery processing device that performs recovery work in an emergency when the encrypted data becomes undecryptable. It is disclosed (Patent Document 2).
  • the recovery processing device creates a pair of public key and personal key and passes only the public key to the user side device.
  • the user-side device creates an encryption key for encrypting data, encrypts the encryption key with a public key, and writes it in a predetermined location on a storage medium.
  • the user-side device takes out the encrypted encryption key from the storage medium and passes it to the recovery processing device.
  • the recovery processing device sends back the encryption key decrypted by the personal key to the user-side device. As a result, the user-side device can recover the data.
  • the second device is concerned.
  • a technology that allows only a user who can be authenticated by the user to decrypt the encrypted content protection key using the private key and decrypt and use the content stored in the first device with the obtained content protection key.
  • the first system generates a pair of first public key and first private key, and a pair of second public key and second private key.
  • the second system generates a pair of a third public key and a third private key, and a pair of a fourth public key and a fourth private key.
  • the second and fourth public keys are generated based on the confidential information shared between the first and second systems.
  • the first and second systems exchange their two public keys with each other.
  • the first system generates a master key based on the first and second private keys and the third and fourth public keys.
  • the second system generates a master key based on the first and second public keys and the third and fourth private keys.
  • the master keys generated in the first and second are the same. Therefore, the first and second systems share the master key by exchanging the public key, and exchange messages using this shared key.
  • the present invention has been proposed to solve the problems of the prior art.
  • the confidential data management device is common to a confidential data protection code generator that generates a confidential data protection code having a predetermined data length and a key derivation function that inputs the confidential data protection code.
  • the secret data protection code is encrypted using a common key generation unit that generates a key, a confidential data encryption unit that encrypts confidential data using the common key, and a public key provided by a confidential data access support terminal.
  • the confidential data protection code encryption unit to be encrypted, the deletion unit that deletes the common key and the confidential data after encrypting the confidential data, and deletes the confidential data protection code after encrypting the confidential data protection code. To be equipped with.
  • the confidential data management device uses a confidential data protection code generator that generates a confidential data protection code having a predetermined data length and a key derivation function that inputs the confidential data protection code.
  • a first common key generation unit that generates one common key, a confidential data encryption unit that encrypts confidential data using the first common key, and a predetermined value that has been exchanged in advance with a confidential data access support terminal.
  • a second common key generator that generates a second common key using the information of the above, a confidential data protection code encryption unit that encrypts the confidential data protection code using the second common key, and the above. It includes a deletion unit that deletes the first common key and the confidential data after encrypting the confidential data, and deletes the second common key and the confidential data protection code after encrypting the confidential data protection code. ..
  • the program according to the third aspect of the present invention is a program for making a computer function as each part of the confidential data management device.
  • the recording medium according to the fourth aspect of the present invention is a recording medium on which the program is recorded.
  • the present invention can improve the security of confidential data.
  • FIG. 1 is a schematic diagram showing a confidential data management system which is an example of the first embodiment.
  • FIG. 2 is a block diagram showing an example of a computer used as a confidential data access support terminal and a confidential data management device.
  • FIG. 3 is a flowchart showing an initial encryption routine for confidential data according to the first embodiment.
  • FIG. 4 is a flowchart showing a confidential data encryption subroutine, which is a detailed process of step S13 in the first embodiment.
  • FIG. 5 is a conceptual diagram showing data stored in each of the confidential data access support terminal and the confidential data management device after the confidential data is encrypted in the first embodiment.
  • FIG. 6 is a flowchart showing a decryption routine for confidential data according to the first embodiment.
  • FIG. 1 is a schematic diagram showing a confidential data management system which is an example of the first embodiment.
  • FIG. 2 is a block diagram showing an example of a computer used as a confidential data access support terminal and a confidential data management device.
  • FIG. 3 is a
  • FIG. 7 is a conceptual diagram showing data stored in each of the plurality of confidential data access support terminals and the confidential data management device.
  • FIG. 8 is a flowchart showing a confidential data encryption subroutine according to the second embodiment.
  • FIG. 9 is a conceptual diagram showing data stored in each of the confidential data access support terminal and the confidential data management device after the confidential data is encrypted in the second embodiment.
  • FIG. 10 is a flowchart showing a decryption routine for confidential data according to the second embodiment.
  • FIG. 11 is a flowchart showing an initial encryption routine for confidential data according to the third embodiment.
  • FIG. 12 is a flowchart showing a confidential data encryption subroutine according to the third embodiment.
  • FIG. 13 is a conceptual diagram showing data stored in each of the confidential data access support terminal and the confidential data management device after the confidential data is encrypted in the third embodiment.
  • FIG. 14 is a flowchart showing a decryption routine for confidential data according to the third embodiment.
  • the first case is a case in which confidential data (for example, a PC password or a modified data in which a PC password is encrypted) is temporarily made available when a PC (that is, a computing device) is logged in.
  • confidential data for example, a PC password or a modified data in which a PC password is encrypted
  • a PC that is, a computing device
  • a password-free login process using a smartphone is realized.
  • the second case is a case where the master password for managing the password database that stores multiple passwords is temporarily made available.
  • the master password is used when decrypting the entire encrypted password database, or when decrypting individual encrypted passwords read from the password database.
  • the third case is a case of an entrance / exit management system that temporarily permits access to a secret small room using a smartphone.
  • the fourth case is a case of an engine key that enables the operation of a car temporarily (while riding) using a smartphone.
  • FIG. 1 is a schematic diagram showing a confidential data management system 1 which is an example of the first embodiment.
  • the confidential data management system 1 includes a confidential data access support terminal B and a confidential data management device A.
  • a confidential data access support terminal B and the confidential data management device A for example, a computer is used.
  • FIG. 2 is a block diagram showing an example of a computer 100 used as a confidential data access support terminal B and a confidential data management device A in the present embodiment.
  • the computer 100 includes, for example, an input unit 101 into which user operation information and other information are input, a CPU 102 that performs encryption processing, a storage unit 103 that stores / reads data, a RAM 104 that is a data work area, and a CPU 102. It has a ROM 105 in which the control program of the above is stored, a display unit 106 that displays a user interface, a processing result of the CPU 102, and the like, and a communication unit 107 that performs data communication with an external device via a network.
  • the communication unit 107 can perform data communication using wired, wireless, P2P, and other existing network communication technologies.
  • the function provided by the communication unit 107 can also be embodied by a display that displays a two-dimensional bar code image (image data) and a camera that captures the two-dimensional bar code image, as will be described later. Further, the communication unit 107 can be embodied by a display for displaying the text and a keyboard for the user to recognize and directly input the text.
  • the computer 100 is not limited to the form shown in FIG. 2, and may be a form including hardware, software, or both.
  • the input unit 101 may be a keyboard for inputting the text data described above, a camera for inputting image data, an operation panel, or the like.
  • the computer 100 includes an input unit 101 and a display unit 106 that are independent of each other in FIG. 2, instead of these, a touch panel in which the functions of the input unit 101 and the display unit 106 are integrated may be provided. ..
  • the computer 100 may be a desktop type, a laptop (notebook) type, a tablet type, or a so-called smartphone. That is, the computer 100 can be applied in any form as long as each step of each flowchart such as FIGS. 3 and 4 described later can be executed.
  • the confidential data access support terminal B is, for example, a computer 100 having a size that is portable and easy to carry, and for example, a so-called smartphone is preferable.
  • the confidential data management device A is a computer 100 that handles confidential data and various other data.
  • the form of data transmission / reception is not particularly limited as long as the data is output from one computer 100 and the data is input to the other computer 100.
  • the form of data transmission / reception corresponds to the following cases (1) to (3), for example.
  • a two-dimensional bar code image or a text image is displayed on the display unit 106 of one computer 100, the input unit 101 (for example, a camera) of the other computer 100 captures the image, and the CPU 102 decodes or decodes the image.
  • Case of text recognition (2) Case in which the communication unit 107 of one computer 100 transmits data and the communication unit 107 of the other computer 100 receives the data via network communication (wired or wireless) (3) A text image is displayed on the display unit 106 of one computer 100, and the user recognizes the text data drawn as the image and operates the input unit 101 (for example, a keyboard) of the other computer 100 to operate the other computer. Case where the text data is input to the input unit 101 of 100
  • FIG. 3 is a flowchart showing an initial encryption routine of the confidential data SD according to the first embodiment.
  • the initial encryption routine is executed after the operation of starting the initial encryption is performed on the confidential data management device A or the confidential data access support terminal B.
  • the term "encryption key” or simply “key” indicates a piece of digital information that determines the functional output of the encryption algorithm. That is, the encryption key or key determines the conversion method from plaintext to ciphertext and vice versa.
  • step S1 the confidential data access support terminal B generates a secret key Prik B and public key PubK B corresponding thereto.
  • step S2 the confidential data access support terminal B sends the public key PubK B to sensitive data management apparatus A.
  • step S11 the confidential data managing apparatus A receives and stores the public key PubK B sent from the confidential data access support terminal B.
  • the confidential data management device A prepares a confidential data SD such as a password.
  • the confidential data SD may be transmitted from an external device or may be stored in the confidential data management device A in advance.
  • step S13 the confidential data management device A encrypts the confidential data SD.
  • the details of step S13 will be described later.
  • step S14 the confidential data management device A deletes the confidential data SD.
  • the confidential data management device A does not have the confidential data SD, and only the encrypted confidential data SD is stored.
  • FIG. 4 is a flowchart showing an encryption subroutine of the confidential data SD, which is the detailed process of step S13 in FIG.
  • the confidential data management device A generates the confidential data protection code SDPC.
  • the confidential data protection code SDPC is confidential data that is randomly generated and is configured as a short character string that can be typed by the user.
  • the confidential data protection code SDPC may be, for example, a character string of 256 bytes or less.
  • the confidential data protection code SDPC is most preferably a 16-byte character string, but may be a 4-byte character string in accordance with the custom of a personal identification number of a cash card, for example, which is less than that.
  • the confidential data management device A uses a predefined key derivation function to generate a common key SymK with the confidential data protection code SDPC as an input.
  • the key derivation function is a function that derives an encryption key with a long data length by using a pseudo-random number function such as an encryption hash function with a secret value having a short data length as an input.
  • the length of the common key SymK is such that the security of the encrypted confidential data SD is sufficiently ensured, for example, 256 bits.
  • step S23 the confidential data management device A encrypts the confidential data SD using the common key SymK to generate the encrypted confidential data SymK [SD].
  • the encrypted confidential data SymK [SD] is stored inside the confidential data management device A.
  • step S24 the confidential data management device A deletes the common key SymK.
  • the confidential data managing apparatus A uses the public key PubK B received from the confidential data access support terminal B, and encrypts the sensitive data protection code SDPC generated in step S21, the encrypted sensitive data protection code generating a PubK B [SDPC].
  • the public key PubK B is not limited to those received directly from the confidential data access support terminal B, which sensitive data management apparatus A, sensitive data access support terminal B was obtained as a result of searching the public key database registered It may be.
  • Elliptic curve cryptography which is one of the public key cryptosystems, obtains the same level of encryption strength with a shorter key length than the well-known RSA cryptosystem. Can be done. Generally, in elliptic curve cryptography, a key length of 224 bits or more is recommended. Therefore, in this embodiment, an elliptic curve cryptography having a 224-bit key (hereinafter referred to as ECIES224) is used.
  • step S26 the confidential data management device A deletes the confidential data protection code SDPC generated in step S21.
  • FIG. 5 is a conceptual diagram showing data stored in each of the confidential data access support terminal B and the confidential data management device A after the confidential data SD shown in FIGS. 3 and 4 is encrypted.
  • the secret data management apparatus A After the encryption of sensitive data SD, to confidential data access support terminal B, it is to save the secret key PriK B.
  • the secret data management apparatus A the public key PubK B, encrypted sensitive data protection code PubK B [SDPC], and the encrypted sensitive data SymK [SD] is stored.
  • the confidential data protection code SDPC is not stored as it is. Therefore, a third party cannot access the confidential data SD without performing a legitimate decryption process.
  • Secret data management apparatus A first, the encrypted sensitive data protection code PubK B [SDPC] was transmitted to the sensitive data access support terminal B, then the sensitive data protection code SDPC returned from confidential data access support terminal B Use to regenerate the common key SymK.
  • the confidential data management device A decrypts the encrypted confidential data SymK [SD] using the common key SymK to obtain the confidential data SD. Specifically, the confidential data access support terminal B and the confidential data management device A perform the following processing.
  • FIG. 6 is a flowchart showing a decryption routine of the confidential data SD according to the first embodiment.
  • the decryption routine is executed after the operation to start decryption is performed on the confidential data management device A or the confidential data access support terminal B.
  • the confidential data access support terminal B receives the secret data management apparatus A encrypted security data protection code transmitted from PubK B [SDPC]. Encrypted sensitive data protection code PubK B [SDPC], in step S41 to be described later, it is transmitted from the secret data management apparatus A.
  • step S32 the confidential data access support terminal B authenticates the user. After the authentication is successful, the user can freely operate the confidential data access support terminal B not only in the first embodiment but also in other embodiments.
  • step S33 the confidential data access support terminal B uses the private key Prik B stored sensitive data management device A encrypts sensitive data protection code transmitted from PubK B [SDPC] decodes the confidential Obtain the data protection code SDPC.
  • step S34 the confidential data access support terminal B transmits the confidential data protection code SDPC obtained in step S33 to the confidential data management device A.
  • step S41 the confidential data managing apparatus A reads the encrypted sensitive data protection code PubK B [SDPC] stored therein, and transmits it to the confidential data access support terminal B.
  • the confidential data access support terminal B executes the processes of steps S31 to S34 described above to transmit the confidential data protection code SDPC to the confidential data management device A.
  • step S42 the confidential data management device A receives the confidential data protection code SDPC from the confidential data access support terminal B.
  • step S43 the confidential data management device A takes the confidential data protection code SDPC received in step S42 as an input, and regenerates the common key SymK using the key derivation function used in step S22 of FIG.
  • step S44 the confidential data management device A reads the encrypted confidential data SymK [SD] stored inside, performs decryption processing using the common key SymK regenerated in step S43, and performs the decryption process, and the confidential data SD To get. As a result, the confidential data SD prepared in step S12 of FIG. 3 is completely restored.
  • the confidential data management device A uses the confidential data SD, and after confirming the completion of the processes of steps S47 and S48 described later, deletes the confidential data SD.
  • step S47 the secret data management apparatus A deletes the encrypted sensitive data protection code PubK B [SDPC] and the encrypted sensitive data SymK [SD].
  • step S48 the confidential data management device A executes the subroutine of FIG. 4 to encrypt the confidential data SD again.
  • Process 1 Restoration of confidential data protection code SDPC
  • Process 2 Regeneration process of common key SymK using confidential data protection code
  • SDPC 3 Decryption process using regenerated common key SymK (restoration of confidential data SD)
  • Secret data management apparatus A can encrypt sensitive data protection code SDPC using the public key PubK B provided from confidential data access support terminal B, it is impossible to restore it. That is, the confidential data management device A cannot execute the process 1 only with the data (FIG. 5) stored by itself, and as a result, the confidential data SD cannot be restored. Further, even if all the data in the confidential data management device A is leaked to the outside, the confidential data SD cannot be restored only by the leaked data, so that the security of the confidential data SD is ensured.
  • the confidential data management device A executes the processes 2 and 3 only after causing the confidential data access support terminal B to execute the process 1 and receiving the confidential data protection code SDPC from the confidential data access support terminal B. , Confidential data SD can be restored. As a result, the risk of the confidential data SD leaking to the outside can be suppressed as compared with the case where a single computer 100 performs all the processes 1 to 3.
  • the confidential data management device A has encrypted the confidential data SD using one confidential data access support terminal B, but the present invention is not limited to this embodiment.
  • the confidential data management device A may use a plurality of confidential data access support terminals B to encrypt the confidential data SD.
  • the confidential data management device A first generates a copy of the confidential data SD and prepares the same number of confidential data SDs as the number of the confidential data access support terminals B. Next, the confidential data management device A executes each routine of FIGS. 3 to 4 for each confidential data access support terminal B to encrypt each confidential data SD. As a result, the following data is obtained.
  • FIG. 7 shows a plurality of confidential data access support terminals B1, B2, ... And confidential data management when each confidential data SD is encrypted by a plurality of confidential data access support terminals B1, B2, ... It is a conceptual diagram which shows the data stored in each of the apparatus A.
  • the plurality of confidential data access support terminals B1, B2, ... Each have its own private key PriK B1 , PriK B2 , ..., And the public keys PubK B1 , PubK B2 , ... Corresponding to each of them. To generate. Then, the public keys PubK B1 , PubK B2 , ... Are transmitted to the confidential data management device A.
  • the confidential data management device A uses the received public keys PubK B1 , PubK B2 , ..., And the encrypted confidential data protection code PubK B1 [SDPC], PubK B2 [SDPC], ... , Encrypted confidential data SymK 1 [SD], SymK 2 [SD], ... Is generated.
  • the secret data management apparatus A for each secret data access support terminal B, the data group (public key PubK B, encrypted sensitive data protection code PubK B [SDPC], encrypted security Data SymK [SD]) is saved.
  • the plurality of confidential data access support terminals B are used as spare confidential data access support terminals B in the unlikely event that one of them is lost, and at least one of them manages the confidential data management system 1 (FIG. 1). You may leave it to the administrator who does. In this case, the confidential data access support terminal B entrusted to the administrator becomes a "management terminal" used in an emergency.
  • the confidential data SD cannot be restored because the process 1 described above cannot normally be executed.
  • the process 1 can be executed using the other confidential data access support terminals B. Confidential data SD can be restored and used.
  • the user can execute the process 1 through the administrator even if there is no spare confidential data access support terminal B at hand.
  • the specific method will be described later.
  • the confidential data management device A can use a plurality of confidential data access support terminals B.
  • the confidential data management device A stores a data group (encrypted confidential data protection code SDPC, encrypted confidential data SymK [SD], etc.) for each confidential data access support terminal B.
  • the confidential data protection code SDPC is the key derivation function (KeyDefFunc ()) as shown below. Used as an input value. KeyDefFunk (SDPC) ⁇ SymK
  • the input value is not the original confidential data protection code SDPC itself, but the original confidential data protection code SDPC, unique data separately generated and stored in the confidential data management device A (for example, PIN (Personal Identification Number)), and May be concatenated. In that case, the following modification examples can be considered.
  • the PIN is not recognized by the confidential data access support terminal B. Therefore, even if the confidential data access support terminal B is entrusted to the administrator as a management terminal and the administrator knows the specific contents of the key derivation function, the administrator can use only the confidential data protection code SDPC.
  • the common key SymK cannot be generated. Therefore, this modification is particularly effective in improving the security of confidential data including the administrator when the management terminal is used in an emergency. This variant is applicable to all embodiments.
  • the data length of the confidential data protection code SDPC is short by definition.
  • the data length of the public key PubK encrypted security data protection code generated using B PubK B [SDPC] are each 1008 bits or 2048 bits (Base64 conversion 168 characters or 344 characters), which is too long to be manually entered during the decryption process of the encrypted confidential data SD.
  • the stage of the encryption processing of the confidential data SD so that the input data to the confidential data access support terminal B at the time of the decryption processing is short enough to be manually input. in, it will be to keep transmit the partial data which is most of the encrypted sensitive data protection code PubK B [SDPC] advance to sensitive data access support terminal B.
  • PubK B [SDPC] the encrypted sensitive data protection code PubK B [SDPC] advance to sensitive data access support terminal B.
  • FIG. 8 is a flowchart showing an encryption subroutine of the confidential data SD in the second embodiment. That is, in the second embodiment, the confidential data management device A executes the subroutine shown in FIG. 8 instead of the subroutine shown in FIG.
  • the subroutine of FIG. 8 is configured in substantially the same manner as the subroutine of FIG. 4, but step S25-1 is added between step S25 and step S26 of FIG. 4, and step S50 is further added. be.
  • step S25-1 the confidential data managing apparatus A, the partial data which is most of the encrypted sensitive data protection code PubK B [SDPC] transmitted to sensitive data access support terminal B, then the transmitted partial data remove from the encrypted sensitive data protection code PubK B [SDPC].
  • the secret data management apparatus A, out of the encrypted sensitive data protection code PubK B [SDPC] data after the partial data has been deleted (hereinafter, referred to as the remaining data) is stored.
  • the remaining data may be, for example, 256 bytes or less.
  • the remaining data is most preferably 16 bytes.
  • the confidential data access support terminal B receives and stores the partial data of the secret data management apparatus A encrypted security data protection code transmitted from PubK B [SDPC].
  • FIG. 9 is a conceptual diagram showing data stored in each of the confidential data access support terminal B and the confidential data management device A after the confidential data SD shown in FIGS. 3 and 8 is encrypted.
  • the confidential data access support terminal B After encryption of sensitive data SD, the confidential data access support terminal B, and in addition to the secret key Prik B, partial data of the encrypted sensitive data protection code PubK B [SDPC] is stored.
  • the secret data management apparatus A, the public key PubK B, the remaining data of the encrypted sensitive data protection code PubK B [SDPC], and the encrypted sensitive data SymK [SD] is stored.
  • FIG. 10 is a flowchart showing a decryption routine of the confidential data SD in the second embodiment.
  • the confidential data access support terminal B executes steps S31-1 to S34 of FIG. 10 instead of steps S31 to S34 of FIG.
  • steps S31-1 to S34 in FIG. 10 are configured in substantially the same manner as steps S31 to S34 in FIG. 6, but instead of step S31 in FIG. 6, steps S31-1 and S31- in FIG. 10 2 is added.
  • the confidential data management device A executes steps S41-1 to S48-1 of FIG. 10 instead of the steps S41 to S48 routine of FIG. Steps S41-1 to S48-1 of FIG. 10 are configured in substantially the same manner as steps S41 to S48 of FIG. 6, but instead of steps S41 and S48 of FIG. 6, steps S41-1 and S48 of FIG. -1 is added respectively.
  • step S31-1 the confidential data access support terminal B receives the remaining data of the secret data management apparatus A encrypted security data protection code transmitted from PubK B [SDPC].
  • the remaining data is transmitted from the confidential data management device A in step S41-1 described in detail later.
  • step S31-2 the confidential data access support terminal B is coupled with partial data of the encrypted sensitive data protection code PubK B [SDPC] itself saves, the remaining data transmitted from the secret data management apparatus A, the it is to reconstruct the encrypted sensitive data protection code PubK B [SDPC].
  • the confidential data access support terminal B after the user authentication (step S32), and decrypts the encrypted sensitive data protection code PubK B [SDPC] by using a secret key Prik B (step S33). As a result, the confidential data protection code SDPC is generated. Then, the confidential data access support terminal B transmits the confidential data protection code SDPC to the confidential data management device A (step S34).
  • the confidential data managing apparatus A of the encrypted sensitive data protection code PubK B [SDPC] executes the following processing using the remaining data already transmitted partial data is missing.
  • step S41-1 the confidential data managing apparatus A transmits the remaining data of the encrypted sensitive data protection code PubK B [SDPC] to sensitive data access support terminal B.
  • the confidential data access support terminal B executes steps S31-1 to S34 in FIG. 10 described above to transmit the confidential data protection code SDPC to the confidential data management device A.
  • step S42 when the confidential data management device A receives the confidential data protection code SDPC transmitted from the confidential data access support terminal B (step S42), the confidential data management device A executes the same processing as in the first embodiment (steps S44 to S47). After that, the confidential data SD is encrypted again (step S48-1). In step S48-1, the confidential data management device A executes the subroutine of FIG. 8 described above.
  • the confidential data managing device A of the second embodiment at the stage of encryption of sensitive data SD, previously confidential data partial data which is most of the encrypted sensitive data protection code PubK B [SDPC] Send to access support terminal B.
  • the secret data management apparatus A at the stage of the sensitive data SD of the decoding process, and transmits the remaining data of the encrypted sensitive data protection code PubK B [SDPC] to sensitive data access support terminal B.
  • the transmission of the data since the remaining data after transmission of the partial data which is most of the encrypted sensitive data protection code PubK B is of interest, can also be easily realized manually.
  • the confidential data management device encrypts confidential data protection code PubK the display unit 106 of the A B [SDPC]
  • PubK confidential data protection code
  • the confidential data SD can be used by manually inputting the remaining data directly through the input unit 101 of the confidential data access support terminal B and acquiring the confidential data protection code SDPC. ..
  • the second embodiment can be applied even when another confidential data access support terminal B is added as a management terminal.
  • Any of the data length of the remaining data and the confidential data protection code SDPC encrypted sensitive data protection code PubK B [SDPC] also, as described above, short enough to be entered manually. Therefore, in the decryption process of the confidential data SD, bidirectional data transmission / reception between the management terminal (confidential data access support terminal B) and the confidential data management device A is performed, for example, as follows.
  • the user the remaining data of the secret data management apparatus A of the display unit 106 to display the encrypted sensitive data protection code PubK B [SDPC], notifies verbally administrator.
  • the administrator by a manual operation, to enter the remaining data of the encrypted sensitive data protection code heard from the user PubK B [SDPC] to the management terminal acquires the confidential data protection code SDPC.
  • the administrator verbally notifies the user of the acquired confidential data protection code SDPC.
  • the user manually inputs the confidential data protection code SDPC heard from the administrator into the confidential data management device A.
  • sensitive data management apparatus A for example, for the management terminal in step S25-1 in Fig. 8, instead of the partial data of the encrypted sensitive data protection code PubK B [SDPC], be transmitted in its entirety good.
  • the confidential data managing apparatus A at the stage of sensitive data SD of the decoding process, to the management terminal, it is not necessary to send the remaining data of the encrypted sensitive data protection code PubK B [SDPC] (in FIG. 10 Step S41-1 is unnecessary).
  • the management terminal can omit steps S31-1 and S31-2 in FIG. 10 to obtain the confidential data protection code SDPC immediately after the user authentication.
  • the administrator When the administrator receives a contact from a user who has lost the confidential data access support terminal B, the administrator first confirms the legitimacy of the user (whether the user is the legitimate owner of the confidential data access support terminal B). ..
  • the method for confirming the validity is not particularly limited, and for example, verbal identification may be used.
  • the administrator After confirming the legitimacy of the user, the administrator then obtains the confidential data protection code SDPC using the management terminal entrusted to him / her, and finally informs the user of the confidential data protection code SDPC verbally. ..
  • the user can restore and use the confidential data SD by manually inputting the confidential data protection code SDPC transmitted from the administrator into the confidential data management device A.
  • ECDH elliptic curve Diffie-Hellman
  • DH Diffie-Hellman
  • DH key sharing allows two parties without prior knowledge of each other (eg, Alice and Bob) to share a common key over an insecure channel. This common key is used to encrypt subsequent communications.
  • a specific example of DH key sharing is shown below.
  • step 4 and the calculation result of step 5 have the same value and become a common key shared by the parties concerned.
  • the confidential data access support terminal B and the confidential data management device A have a predetermined elliptic curve (for example, a parameter defining an elliptic curve, a base point G, its order n, etc.) in ECDH key exchange.
  • a predetermined elliptic curve for example, a parameter defining an elliptic curve, a base point G, its order n, etc.
  • the confidential data access support terminal B and the confidential data management device A each generate a private key PriK and a corresponding public key PubK based on the shared elliptic curve.
  • FIG. 11 is a flowchart showing the initial encryption routine of the confidential data SD in the third embodiment.
  • the confidential data access support terminal B executes steps S61 to S63 of FIG. 11 instead of steps S1 to S2 of FIG.
  • the confidential data management device A executes steps S71 to S76 of FIG. 11 instead of steps S11 to S14 of FIG.
  • step S61 the confidential data access support terminal B, based on the elliptic curve shared confidential data management apparatus A, and generates a secret key Prik B and public key PubK B corresponding thereto.
  • the private key Prik B is an integer selected randomly from among [1, n-1].
  • step S62 the confidential data access support terminal B exchanges the public key PubK with the confidential data management device A.
  • step S62 is performed at the same time as step S72, which will be described in detail later.
  • the public key PubK A are those details generated in step S71 to be described later.
  • confidential data access support terminal B has a secret key Prik B selected (corresponding to the number a of chose Alice in the above example secret), and pre-confidential data managing device A the public key PubK B from the shared base point G (corresponding to the prime number g chosen by Alice in the above example) is calculated, with the secret data management apparatus a, to exchange public keys PubK each other (transmission and reception).
  • step S63 the confidential data access support terminal B generates a common key SymK c for encrypting the confidential data protection code SDPC based on the following equation.
  • SymK c PriK B / PubK A
  • the common key SymK c is a secret key Prik B sensitive data access support terminal B, and the relationship between the public key PubK A sensitive data management apparatus A will be described later, the following condition is satisfied.
  • step S71 the confidential data managing apparatus A, based on the elliptic curve shared confidential data access support terminal B, and generates a secret key Prik A and the public key PubK A corresponding thereto.
  • the private key Prik A is an integer selected randomly from among [1, n-1].
  • step S72 the confidential data management device A exchanges the public key PubK with the confidential data access support terminal B.
  • sensitive data management apparatus A the public key PubK A generated in step S71 and sends to the sensitive data access support terminal B, and receives the public key PubK B from secret data access support terminal B.
  • step S73 the confidential data management device A generates a common key SymK c for encrypting the confidential data protection code SDPC based on the following equation.
  • SymK c PriK A ⁇ PubK B
  • the common key SymK c is a secret key Prik A sensitive data management apparatus A, the relationship between the public key PubK B described previously and confidential data access support terminal B, the following condition is satisfied.
  • the confidential data access support terminal B and the confidential data management device A each obtain the same common key SymK c.
  • step S74 the confidential data management device A prepares a confidential data SD such as a password.
  • the confidential data SD may be transmitted from an external device or may be stored in the confidential data management device A in advance.
  • step S75 the confidential data management device A encrypts the confidential data SD.
  • the details of step S75 will be described later.
  • step S76 the confidential data management device A deletes the confidential data SD.
  • the confidential data management device A does not have the confidential data SD, and only the encrypted confidential data SD is stored.
  • FIG. 12 is a flowchart showing an encryption subroutine of the confidential data SD according to the third embodiment.
  • the confidential data management device A executes the subroutine of FIG. 12 instead of the subroutine of FIG.
  • the subroutine of FIG. 12 is configured in substantially the same manner as the subroutine of FIG. 4, but step S25-2 of FIG. 12 is added instead of step S25 of FIG.
  • step S25-2 the confidential data management device A encrypts the confidential data protection code SDPC generated in step S21 using the common key SymK c generated in step S73 of FIG. 11, and encrypts the confidential data. Generate protection code SymK c [SDPC]. Then, the confidential data management device A deletes the confidential data protection code SDPC generated in step S21 (step S26).
  • FIG. 13 is a conceptual diagram showing data stored in each of the confidential data access support terminal B and the confidential data management device A after the confidential data SD shown in FIGS. 11 and 12 is encrypted.
  • the confidential data access support terminal B stores the public key PubKA A of the confidential data management device A, its own private key PriKB B , and the common key SymK c .
  • the secret data management apparatus A, the public key PubK B sensitive data access support terminal B, a private key Prik A itself, the common key SymK c, encrypted sensitive data protection code SymK c [SDPC], and encrypted security The data SymK [SD] is saved.
  • FIG. 14 is a flowchart showing a decryption routine of the confidential data SD in the third embodiment. Steps S31-3 to S34 in FIG. 14 are configured in substantially the same manner as steps S31 to S34 in FIG. 6, but instead of steps S31 and S33 in FIG. 6, steps S31-3 and S33-1 in FIG. 14 Are added respectively.
  • Steps S41-2 to S48-2 of FIG. 14 are configured in substantially the same manner as steps S41 to S48 of FIG. 6, but instead of steps S41, S47, and S48 of FIG. 6, step S41-2 of FIG. , S47-1 and S48-2, respectively, and further, step S44-1 of FIG. 14 is added after step S44 of FIG.
  • step S31-3 the confidential data access support terminal B receives the encrypted confidential data protection code SymK c [SDPC] transmitted from the confidential data management device A.
  • the encrypted confidential data protection code SymK c [SDPC] is transmitted from the confidential data management device A in step S41-2 described later.
  • step S32 the confidential data access support terminal B authenticates the user.
  • step S33-1 the confidential data access support terminal B uses the common key SymK c generated in step S63 of FIG. 11 to transmit the encrypted confidential data protection code SymK c [SDPC] from the confidential data management device A. ] Is decrypted to obtain the confidential data protection code SDPC.
  • step S34 the confidential data access support terminal B transmits the confidential data protection code SDPC obtained in step S33 to the confidential data management device A.
  • step S41-2 the confidential data management device A reads the encrypted confidential data protection code SymK c [SDPC] stored inside and transmits it to the confidential data access support terminal B.
  • the confidential data access support terminal B executes the processes of steps S31-3 to S34 described above, and transmits the confidential data protection code SDPC to the confidential data management device A.
  • the confidential data management device A executes steps S43 to S44 in the same manner as in the first embodiment.
  • step S44-1 the confidential data management device A determines whether or not the decryption of the encrypted confidential data SymK [SD] is successful (whether the confidential data SD is restored). If the decryption is successful, the confidential data management device A deletes the confidential data SD after confirming that the confidential data SD is used and the processing of steps S47-1 and S48-2 described later is completed (the confidential data SD is deleted). Steps S45 to S46). If the decryption is not successful, this routine ends.
  • step S47-1 the confidential data management device A deletes the encrypted confidential data protection code SymK C [SDPC] and the encrypted confidential data SymK [SD].
  • step S48-2 the confidential data management device A executes the subroutine of FIG. 12 to encrypt the confidential data SD again.
  • the confidential data access support terminal B and the confidential data management device A exchange the public key PubK based on the elliptical curve shared with each other, and each of them encrypts the confidential data protection code SDPC. generating a common key SymK C for and decoding. Therefore, the following effects can be obtained.
  • Sensitive data access support terminal B and secret data management apparatus A by using the common key SymK C, each generated in each of the inner, it is possible to perform the encryption and decryption of sensitive data protection code SDPC.
  • the confidential data management device A transmits the encrypted confidential data protection code SymK C [SDPC] to the confidential data access support terminal B.
  • the confidential data access support terminal B returns the confidential data protection code SDPC obtained by decrypting the encrypted confidential data protection code SymK C [SDPC] to the confidential data management device A.
  • the confidential data management device A regenerates the common key SymK using the confidential data protection code SDPC returned from the confidential data access support terminal B, decrypts the encrypted confidential data SymK [SD], and then decrypts the encrypted confidential data SymK [SD]. Obtain confidential data SD.
  • the data length of the encrypted confidential data protection code SymK C [SDPC] is short enough to be manually input, like the data length of the confidential data protection code SDPC. Therefore, when the confidential data access support terminal B is a management terminal, in the decryption of the confidential data SD, in an emergency, transmission / reception between the confidential data management device A and the management terminal is manually performed as in the above-described embodiment. It is possible.
  • a Confidential data management device B Confidential data access support terminal 100 Computer 101 Input unit 102 CPU 106 Display unit 107 Communication unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本発明の一態様は、所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、前記機密データ保護コードを入力とする鍵導出関数を用いて共通鍵を生成する共通鍵生成部と、前記共通鍵を用いて機密データを暗号化する機密データ暗号化部と、機密データアクセス支援端末から提供された公開鍵を用いて前記機密データ保護コードを暗号化する機密データ保護コード暗号化部と、前記機密データの暗号化後に前記共通鍵及び前記機密データを削除し、前記機密データ保護コードの暗号化後に前記機密データ保護コードを削除する削除部と、を備える。

Description

機密データ管理装置、プログラム及び記録媒体
 本発明は、機密データ管理装置、プログラム及び記録媒体に関する。
 従来、共通鍵暗号及び公開鍵暗号の両方の暗号技術を用いてファイルを暗号化するシステムに関する技術が開示されている(特許文献1参照)。当該システムは、共通鍵を用いてファイルを暗号化し、当該共通鍵を、ユーザや管理人の公開鍵によって暗号化する。暗号化された共通鍵は、暗号化されたファイルと共に保存される。
 システムは、ユーザからファイルの読出し要求を受信し、適切な秘密鍵が使用された場合に当該暗号化された共通鍵を復号し、得られた共通鍵を用いて暗号化されたファイルを復号して、ユーザに返信する。
 また、記憶媒体に暗号化データを保存するユーザ側データ処理装置と、その暗号化データが復号不能となる非常時に復旧作業を行う復旧処理装置とが、分担・協業してデータを復旧する技術が開示されている(特許文献2)。
 復旧処理装置は、公開鍵と個人鍵のペアを作成して公開鍵のみをユーザ側装置に渡す。ユーザ側装置は、データを暗号化するための暗号鍵を作成し、公開鍵でその暗号鍵を暗号化して記憶媒体の所定箇所に書き込む。非常時になると、ユーザ側装置は、暗号化された暗号鍵を記憶媒体から取り出して復旧処理装置に渡す。復旧処理装置は、個人鍵によって復号化した暗号鍵をユーザ側装置に送り返す。その結果、ユーザ側装置は、データの復旧が可能になる。
 また、第1のデバイスに格納されたコンテンツを保護するためのコンテンツ保護鍵を、第2のデバイスで管理された秘密鍵/公開鍵対の公開鍵で暗号化することで、当該第2のデバイスで認証可能なユーザだけがその秘密鍵を用いて暗号化コンテンツ保護鍵を復号し、得られたコンテンツ保護鍵で第1のデバイスに格納されたコンテンツを復号、利用できるようにする技術が開示されている(特許文献3)。
 また、第1及び第2のシステムとの間で、マスター鍵を用いて暗号化したメッセージを双方向通信する技術が開示されている(特許文献4参照)。
 第1のシステムは、一対の第1の公開鍵及び第1の秘密鍵と、一対の第2の公開鍵及び第2の秘密鍵とを生成する。第2のシステムは、一対の第3の公開鍵及び第3の秘密鍵と、一対の第4の公開鍵及び第4の秘密鍵とを生成する。但し、第2及び第4の公開鍵は、第1及び第2のシステムの間で共有される機密情報に基づいて生成される。
 第1及び第2のシステムは、互いに自身の2つの公開鍵を交換する。第1のシステムは、第1及び第2の秘密鍵と、第3及び第4の公開鍵と、に基づいてマスター鍵を生成する。第2のシステムは、第1及び第2の公開鍵と、第3及び第4の秘密鍵と、に基づいてマスター鍵を生成する。第1及び第2でそれぞれ生成されるマスター鍵は、同じものである。このため、第1及び第2のシステムは、公開鍵を交換することでマスター鍵を共有して、この共有鍵を用いてメッセージを交換する。
米国特許第6249866号公報 特開2007-13484号公報 米国特許出願公開2007/0300080号明細書 特許第4701238号公報
 本発明は、従来技術の問題を解決するために提案されたものである。
 本発明の第1態様である機密データ管理装置は、所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、前記機密データ保護コードを入力とする鍵導出関数を用いて共通鍵を生成する共通鍵生成部と、前記共通鍵を用いて機密データを暗号化する機密データ暗号化部と、機密データアクセス支援端末から提供された公開鍵を用いて前記機密データ保護コードを暗号化する機密データ保護コード暗号化部と、前記機密データの暗号化後に前記共通鍵及び前記機密データを削除し、前記機密データ保護コードの暗号化後に前記機密データ保護コードを削除する削除部と、を備える。
 本発明の第2態様である機密データ管理装置は、所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、前記機密データ保護コードを入力とする鍵導出関数を用いて第1の共通鍵を生成する第1の共通鍵生成部と、前記第1の共通鍵を用いて機密データを暗号化する機密データ暗号化部と、機密データアクセス支援端末と事前に交換された所定の情報を用いて第2の共通鍵を生成する第2の共通鍵生成部と、前記第2の共通鍵を用いて前記機密データ保護コードを暗号化する機密データ保護コード暗号化部と、前記機密データの暗号化後に前記第1の共通鍵及び前記機密データを削除し、前記機密データ保護コードの暗号化後に前記第2の共通鍵及び前記機密データ保護コードを削除する削除部と、を備える。
 本発明の第3態様であるプログラムは、コンピュータを前記機密データ管理装置の各部として機能させるためのプログラムである。
 本発明の第4態様である記録媒体は、前記プログラムが記録された記録媒体である。
 本発明は、機密データの安全性を向上させることができる。
図1は、第1実施形態の一例である機密データ管理システムを示す概要図である。 図2は、機密データアクセス支援端末及び機密データ管理装置として使用されるコンピュータの一例を示すブロック図である。 図3は、第1実施形態における機密データの初期暗号化ルーチンを示すフローチャートである。 図4は、第1実施形態におけるステップS13の詳細な処理である機密データの暗号化サブルーチンを示すフローチャートである。 図5は、第1実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図6は、第1実施形態における機密データの復号ルーチンを示すフローチャートである。 図7は、複数の機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図8は、第2実施形態における機密データの暗号化サブルーチンを示すフローチャートである。 図9は、第2実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図10は、第2実施形態における機密データの復号ルーチンを示すフローチャートである。 図11は、第3実施形態における機密データの初期暗号化ルーチンを示すフローチャートである。 図12は、第3実施形態における機密データの暗号化サブルーチンを示すフローチャートである。 図13は、第3実施形態における機密データの暗号化後に、機密データアクセス支援端末及び機密データ管理装置のそれぞれにおいて保存されたデータを示す概念図である。 図14は、第3実施形態における機密データの復号ルーチンを示すフローチャートである。
 以下、本発明の実施形態について、添付図面を参照しながら、詳細に説明する。 ここでは、すべてではないが、複数の実施形態が示されている。本発明の実施形態は、他にも多くの様々な形態で具現化される。すなわち本発明の実施形態は本明細書に記載された実施形態に限定されると解釈すべきではない。これらの実施形態は、明細書の記載要件を満たすように提供される。なお、図面全体において、同じ数字は、同じ要素・ステップを指す。本発明の各実施形態は、例えば、次のようなケースに適用可能であるが、その他のケースにも適用可能である。
 第1のケースは、PC(すなわち、コンピューティングデバイス)のログイン時に、機密データ(例えばPCのパスワードまたはPCのパスワードが暗号化された変形データなど)を一時的に利用可能にするケースである。これにより、例えばスマートフォンを利用したパスワード不要のログイン処理が実現される。
 第2のケースは、複数のパスワードを保存するパスワードデータベースを管理するためのマスターパスワードを一時的に利用可能にするケースである。なお、マスターパスワードは、暗号化されたパスワードデータベース全体を復号する場合、またはパスワードデータベースから読み出された個々の暗号化されたパスワードを復号する場合などに、利用される。
 第3のケースは、スマートフォンを用いて、秘密の小部屋への出入りを一時的に許可する入退室管理システムのケースである。第4のケースは、スマートフォンを用いて、自動車の操作を一時的(乗車中)に可能にするエンジンキーのケースである。
[第1実施形態]
 図1は、第1実施形態の一例である機密データ管理システム1を示す概要図である。機密データ管理システム1は、機密データアクセス支援端末Bと、機密データ管理装置Aと、を備えている。機密データアクセス支援端末B及び機密データ管理装置Aとしては、例えばコンピュータが使用される。
 図2は、本実施形態において機密データアクセス支援端末B及び機密データ管理装置Aとして使用されるコンピュータ100の一例を示すブロック図である。
 コンピュータ100は、例えば、ユーザの操作情報やその他の情報が入力される入力部101、暗号化処理などを行うCPU102、データの記憶/読出しを行う記憶部103、データのワークエリアであるRAM104、CPU102の制御プログラムなどが記憶されたROM105、ユーザインターフェースやCPU102の処理結果などを表示する表示部106、ネットワークを介して外部機器とデータ通信を行う通信部107を有する。
 通信部107は、有線、無線、P2P、その他の既存のネットワーク通信技術を用いてデータ通信が可能である。なお、通信部107が提供する機能は、後述するように、2次元バーコード画像(イメージデータ)を表示するディスプレイと、当該2次元バーコード画像を撮影するカメラによっても体現可能である。さらに、通信部107は、テキストを表示するディスプレイと、ユーザが当該テキストを認識して直接入力するためのキーボードによっても体現可能である。
 コンピュータ100は、図2に示した形態に限定されるものではなく、ハードウェア、ソフトウェア、又はそれらの両方を備えた形態でもよい。入力部101は、先述したテキストデータを入力するためのキーボードやイメージデータを入力するためのカメラ、操作パネルなどであってもよい。また、コンピュータ100は、図2では互いに独立した入力部101及び表示部106を備えているが、それらの代わりに、入力部101と表示部106の機能が一体になったタッチパネルを備えてもよい。
 また、コンピュータ100は、デスクトップ型、ラップトップ(ノートブック)型、タブレット型のいずれであってもよいし、いわゆるスマートフォンであってもよい。すなわち、コンピュータ100は、後述する図3及び図4などのそれぞれのフローチャートの各ステップを実行可能であれば、どのような形態であっても適用可能である。
 機密データアクセス支援端末Bは、例えば、携帯可能であり、持ち運びの容易な大きさのコンピュータ100であって、例えばいわゆるスマートフォンが好ましい。機密データ管理装置Aは、機密データその他の様々なデータを取り扱うコンピュータ100である。
[暗号化処理(機密データSDの暗号化)]
 つぎに、機密データ管理装置Aに保存されている機密データSDの最初の暗号化処理について説明する。暗号化処理の際には、機密データアクセス支援端末Bと機密データ管理装置Aとの間でデータの送受信が行われる。
 データの送受信の形態は、一方のコンピュータ100からデータが出力され、他方のコンピュータ100へ当該データが入力されるのであれば、特に限定されるものではない。データの送受信の形態は、例えば次のような(1)~(3)のケースが該当する。
(1)一方のコンピュータ100の表示部106に2次元バーコード画像又はテキスト画像が表示され、他方のコンピュータ100の入力部101(例えばカメラ)がその画像を撮影し、CPU102がその画像を復号又はテキスト認識するケース
(2)ネットワーク通信(有線又は無線)を経由して、一方のコンピュータ100の通信部107がデータを送信し、他方のコンピュータ100の通信部107が当該データを受信するケース
(3)一方のコンピュータ100の表示部106にテキスト画像が表示され、当該画像として描画されたテキストデータをユーザが認識し他方のコンピュータ100の入力部101(例えばキーボード)を操作することによって、他方のコンピュータ100の入力部101に当該テキストデータが入力されるケース
 図3は、第1実施形態における機密データSDの初期暗号化ルーチンを示すフローチャートである。機密データ管理装置A又は機密データアクセス支援端末Bに初期暗号化開始の操作が行われた後に、初期暗号化ルーチンが実行される。
 なお、以下、「暗号鍵」又は単なる「鍵」という用語は、暗号化アルゴリズムの機能出力を決定するデジタル情報の一片を示す。つまり、暗号鍵又は鍵は、平文から暗号文への変換、又はその逆の変換方法を決定する。
 ステップS1では、機密データアクセス支援端末Bは、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。
 ステップS2では、機密データアクセス支援端末Bは、公開鍵PubKを機密データ管理装置Aへ送信する。
 ステップS11では、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された公開鍵PubKを受信して保存する。
 ステップS12では、機密データ管理装置Aは、例えばパスワードなどの機密データSDを準備する。なお、機密データSDは、外部装置から送信されたものでもよいし、予め機密データ管理装置A内に保存されていたものでもよい。
 ステップS13では、機密データ管理装置Aは、機密データSDを暗号化する。なお、ステップS13の詳細は後述する。
 ステップS14では、機密データ管理装置Aは、機密データSDを削除する。これにより、機密データ管理装置Aには、機密データSDは存在しておらず、暗号化された機密データSDのみが記憶される。
 図4は、図3におけるステップS13の詳細な処理である機密データSDの暗号化サブルーチンを示すフローチャートである。
 ステップS21では、機密データ管理装置Aは、機密データ保護コードSDPCを生成する。なお、機密データ保護コードSDPCは、ランダムに生成され、ユーザによるタイプ入力が可能な程度の短い文字列として構成される秘密データである。機密データ保護コードSDPCは、例えば、256バイト又はそれ以下の文字列であればよい。なお、機密データ保護コードSDPCは、16バイトの文字列が最も好ましいが、それ以下の例えばキャッシュカードの暗証番号の慣習に従い、4バイトの文字列の場合もある。
 ステップS22では、機密データ管理装置Aは、予め定義された鍵導出関数を用いて、機密データ保護コードSDPCを入力とした共通鍵SymKを生成する。ここで鍵導出関数とは、短いデータ長の秘密の値を入力として、暗号化ハッシュ関数などの疑似乱数関数を用いて、長いデータ長の暗号化鍵を導出する関数をいう。共通鍵SymKの長さは、暗号化された機密データSDの安全性が十分に担保される程度の長さ、例えば、256ビットである。
 ステップS23では、機密データ管理装置Aは、共通鍵SymKを用いて機密データSDを暗号化して、暗号化機密データSymK[SD]を生成する。暗号化機密データSymK[SD]は、機密データ管理装置Aの内部に保存される。
 ステップS24では、機密データ管理装置Aは、共通鍵SymKを削除する。
 ステップS25では、機密データ管理装置Aは、機密データアクセス支援端末Bから受信した公開鍵PubKを用いて、ステップS21で生成された機密データ保護コードSDPCを暗号化して、暗号化機密データ保護コードPubK[SDPC]を生成する。なお、公開鍵PubKは、機密データアクセス支援端末Bから直接受信したものに限らず、機密データ管理装置Aが、機密データアクセス支援端末Bが登録した公開鍵データベースを検索した結果として入手したものでもよい。
 なお、公開鍵暗号方式の1つである楕円曲線暗号(Elliptic Curve Integrated Encryption Scheme:ECIES)は、よく知られているRSA暗号よりも、短い鍵の長さで同程度の暗号化強度を得ることができる。一般に楕円曲線暗号では、224ビット以上の鍵長が推奨される。そこで本実施形態では、224ビットの鍵を持つ楕円曲線暗号(以下、ECIES224という)を使用する。
 いま、機密データ保護コードSDPCが16バイトであると仮定すると、機密データ保護コード楕円曲線暗号を用いた場合、暗号化機密データ保護コードPubK[SDPC]の長さは、1008ビット(126バイト)となり、これはBase64変換の168文字に相当する。これに対し、同程度の暗号化強度を有するRSA暗号であるRSA2048を使用した場合、暗号化機密データ保護コードPubK[SDPC]の長さは、2048ビット、すなわち楕円曲線暗号を用いた場合と比較して約2倍の長さになってしまう。
 ステップS26では、機密データ管理装置Aは、ステップS21で生成された機密データ保護コードSDPCを削除する。
 図5は、図3及び図4で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
 機密データSDの暗号化後、機密データアクセス支援端末Bには、秘密鍵PriKが保存される。一方、機密データ管理装置Aには、公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]、及び暗号化機密データSymK[SD]が保存される。
 すなわち、機密データ管理装置Aでは、機密データ保護コードSDPCは、そのままの状態では保存されていない。このため、第三者は、正当な復号処理を行わずに機密データSDにアクセスすることができない。
[復号処理(機密データSDの復号と利用)]
 つぎに、暗号化された機密データSDの復号処理について説明する。復号処理の際にも、機密データアクセス支援端末Bと機密データ管理装置Aとの間でデータの送受信が行われる。
 機密データ管理装置Aは、最初に、暗号化機密データ保護コードPubK[SDPC]を機密データアクセス支援端末Bへ送信し、その後、機密データアクセス支援端末Bから返信される機密データ保護コードSDPCを用いて共通鍵SymKを再生成する。機密データ管理装置Aは、当該共通鍵SymKと用いて暗号化機密データSymK[SD]を復号して、機密データSDを得る。具体的には、機密データアクセス支援端末B及び機密データ管理装置Aでは、次の処理が行われる。
 図6は、第1実施形態における機密データSDの復号ルーチンを示すフローチャートである。機密データ管理装置A又は機密データアクセス支援端末Bに復号開始の操作が行われた後に、復号ルーチンが実行される。
 ステップS31では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]を受信する。暗号化機密データ保護コードPubK[SDPC]は、後述するステップS41において、機密データ管理装置Aから送信される。
 ステップS32では、機密データアクセス支援端末Bは、ユーザの認証を行う。認証が成功した後は、ユーザは、第1実施形態だけでなく他の実施形態においても、機密データアクセス支援端末Bを自由に操作することができる。
 ステップS33では、機密データアクセス支援端末Bは、保存されている秘密鍵PriKを用いて、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]を復号して、機密データ保護コードSDPCを得る。
 ステップS34では、機密データアクセス支援端末Bは、ステップS33で得られた機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
 一方、ステップS41では、機密データ管理装置Aは、内部に保存されている暗号化機密データ保護コードPubK[SDPC]を読み出して、それを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述したステップS31~S34の処理を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
 ステップS42では、機密データ管理装置Aは、機密データアクセス支援端末Bから機密データ保護コードSDPCを受信する。
 ステップS43では、機密データ管理装置Aは、ステップS42で受信された機密データ保護コードSDPCを入力とし、図4のステップS22で用いた鍵導出関数を用いて共通鍵SymKを再生成する。
 ステップS44では、機密データ管理装置Aは、内部に保存されている暗号化機密データSymK[SD]を読み出して、ステップS43で再生成された共通鍵SymKを用いて復号処理を行い、機密データSDを得る。これにより、図3のステップS12で用意された機密データSDが完全に復元される。
 ステップS45及びステップS46では、機密データ管理装置Aは、機密データSDを利用し、そして、後述するステップS47及びステップS48の処理の終了を確認後、当該機密データSDを削除する。
 ステップS47では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]及び暗号化機密データSymK[SD]を削除する。
 ステップS48では、機密データ管理装置Aは、図4のサブルーチンを実行して、再び機密データSDを暗号化する。
 以上のように、本実施形態では、暗号化された機密データSDを復元するために、以下に示すプロセス(1)~(3)が必要になる。
プロセス1:機密データ保護コードSDPCの復元
プロセス2:機密データ保護コードSDPCを用いた共通鍵SymKの再生成
プロセス3:再生成された共通鍵SymKを用いた復号処理(機密データSDの復元)
 機密データ管理装置Aは、機密データアクセス支援端末Bから提供される公開鍵PubKを用いて機密データ保護コードSDPCを暗号化できるが、それを復元することができない。つまり、機密データ管理装置Aは、自身が保存するデータ(図5)だけでは、プロセス1を実行することができず、その結果、機密データSDを復元できない。また、機密データ管理装置A内のすべてのデータが外部に漏洩しても、漏洩したデータだけでは機密データSDを復元することができないので、機密データSDの安全性が担保される。
 そこで、機密データ管理装置Aは、機密データアクセス支援端末Bにプロセス1を実行させて、機密データアクセス支援端末Bから機密データ保護コードSDPCを受信することで初めて、プロセス2及び3を実行して、機密データSDを復元することができる。この結果、単一のコンピュータ100がプロセス1~3をすべて行う場合に比べて、機密データSDが外部に漏洩するリスクを抑制することができる。
 ここまでは、機密データ管理装置Aは、1つの機密データアクセス支援端末Bを使用して機密データSDを暗号化したが、この実施形態に限定されるものではない。例えば、機密データ管理装置Aは、複数の機密データアクセス支援端末Bを使用して機密データSDを暗号化してもよい。
 この場合、機密データ管理装置Aは、最初に機密データSDの複製を生成して、機密データアクセス支援端末Bの個数と同じ数の機密データSDを用意する。つぎに、機密データ管理装置Aは、機密データアクセス支援端末B毎に、図3から図4の各ルーチンを実施して、各々の機密データSDを暗号化する。この結果、次のデータが得られる。
 図7は、複数の機密データアクセス支援端末B1、B2、・・・によって各々の機密データSDが暗号化された場合に、複数の機密データアクセス支援端末B1、B2、・・・及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
 複数の機密データアクセス支援端末B1、B2、・・・は、それぞれが固有の秘密鍵PriKB1、PriKB2、・・・と、それらの各々に対応する公開鍵PubKB1、PubKB2、・・・を生成する。そして公開鍵PubKB1、PubKB2、・・・は、機密データ管理装置Aに送信される。
 機密データ管理装置Aは、受信した公開鍵PubKB1、PubKB2、・・・を用いて、それぞれに対応した暗号化機密データ保護コードPubKB1[SDPC]、PubKB2[SDPC]、・・・及び、暗号化機密データSymK[SD]、SymK[SD]、・・・を生成する。
 この結果、図7に示すように、機密データ管理装置Aには、機密データアクセス支援端末B毎に、データ群(公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]、暗号化機密データSymK[SD])が保存される。複数の機密データアクセス支援端末Bは、万一いずれかを紛失した場合に予備の機密データアクセス支援端末Bとして用いられる他、そのうちの少なくとも1つを、機密データ管理システム1(図1)を管理する管理者に預けてもよい。この場合、管理者に預けられた機密データアクセス支援端末Bは、緊急時に使用される「管理端末」となる。
 ユーザは、例えば自身が保有し日常的に使用する機密データアクセス支援端末Bを紛失した場合、通常は、上述したプロセス1を実行できないため、機密データSDを復元できない。しかし、予め複数の機密データアクセス支援端末Bを準備しておくことで、自身が保有する他の機密データアクセス支援端末Bが残っていれば、それを用いてプロセス1を実行することができ、機密データSDを復元して利用することができる。
 さらにユーザは、そのうちの1つを管理端末として管理者に預けることで、手元に予備の機密データアクセス支援端末Bがなかったとしても、当該管理者を通じてプロセス1を実行することができる。その具体的な方法については後述する。
 なお、後述する第2及び第3実施形態においても同様に、機密データ管理装置Aは、複数の機密データアクセス支援端末Bを使用することができる。この場合も、機密データ管理装置Aには、機密データアクセス支援端末B毎に、データ群(暗号化された機密データ保護コードSDPC、暗号化機密データSymK[SD]など)が保存される。
 ところで本実施形態では、機密データ管理装置Aにおける共通鍵SymKの生成時(例えば図4のステップS22)において、機密データ保護コードSDPCは、以下に示すように、鍵導出関数(KeyDefFunc())の入力値として使用される。
KeyDefFunc(SDPC)→SymK
 当該入力値は、オリジナルの機密データ保護コードSDPCそのものではなく、オリジナルの機密データ保護コードSDPCと、機密データ管理装置Aにおいて別途生成、保存された固有データ(例えばPIN(Personal Identification Number))と、を連結したものであってもよい。その場合、以下のような変形例が考えられる。
KeyDefFunc(SDPC+PIN)→ SymK
 この時、PINは、機密データアクセス支援端末Bには認識されない。このため、機密データアクセス支援端末Bが管理端末として管理者に預けられ、仮に管理者が鍵導出関数の具体的な内容を知っていたとしても、管理者は、機密データ保護コードSDPC単体だけでは共通鍵SymKを生成できない。よって、この変形例は、緊急時に管理端末を使用する場合に、対管理者も含めた機密データの安全性を向上させるのに、特に有効である。この変形例は、すべての実施形態に適用可能である。
[第2実施形態]
 つぎに、第2の実施形態について説明する。なお、上述した実施形態と同一の部位については同一の符号を付し、重複する説明は省略する。
 第1実施形態の復号処理において、機密データ保護コードSDPCのデータ長は、その定義上短い。これに対し、通常のECIES224またはRSA2048を用いた場合、公開鍵PubKを使用して生成された暗号化機密データ保護コードPubK[SDPC]のデータ長は、それぞれ1008ビットまたは2048ビット(Base64変換の168文字または344文字に相当)となるが、これは暗号化された機密データSDの復号処理の際に手動で入力するには長すぎる。
 そこで、第2実施形態では、当該復号処理の際の機密データアクセス支援端末Bへの入力データが手動で入力するのに十分な程度に短いものになるよう、機密データSDの暗号化処理の段階で、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを予め機密データアクセス支援端末Bへ送信しておくことにする。これにより、当該復号処理において、機密データアクセス支援端末Bへ入力すべきデータ長が短くなることから、データ通信だけでなく手動操作でも容易に当該復号処理を実施することができる。
 図8は、第2実施形態における機密データSDの暗号化サブルーチンを示すフローチャートである。すなわち、第2実施形態では、機密データ管理装置Aは、図4に示すサブルーチンの代わりに、図8に示すサブルーチンを実行する。なお、図8のサブルーチンは、図4のサブルーチンとほぼ同様に構成されているが、図4のステップS25とステップS26との間にステップS25-1を追加し、さらにステップS50を追加したものである。
 ステップS25-1では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを機密データアクセス支援端末Bへ送信し、その後、送信済みの部分データを暗号化機密データ保護コードPubK[SDPC]から削除する。これにより、機密データ管理装置Aには、暗号化機密データ保護コードPubK[SDPC]のうち、当該部分データが削除された後のデータ(以下、残りデータという)が保存される。当該残りデータは、例えば256バイト以下であればよい。なお、残りデータは、16バイトが最も好ましい。
 ステップS50では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]の部分データを受信して保存する。
 図9は、図3及び図8で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
 機密データSDの暗号化後、機密データアクセス支援端末Bには、秘密鍵PriKに加えて、暗号化機密データ保護コードPubK[SDPC]の部分データが保存される。一方、機密データ管理装置Aには、公開鍵PubK、暗号化機密データ保護コードPubK[SDPC]の残りデータ、及び暗号化機密データSymK[SD]が保存される。
 図10は、第2実施形態における機密データSDの復号ルーチンを示すフローチャートである。第2実施形態では、機密データアクセス支援端末Bは、図6のステップS31~S34の代わりに、図10のステップS31-1~S34を実行する。ここで、図10のステップS31-1~S34は、図6のステップS31~S34とほぼ同様に構成されているが、図6のステップS31の代わりに、図10のステップS31-1,S31-2を追加したものである。
 機密データ管理装置Aは、図6のステップS41~S48ルーチンの代わりに、図10のステップS41-1~S48-1を実行する。図10のステップS41-1~S48-1は、図6のステップS41~S48とほぼ同様に構成されているが、図6のステップS41,S48の代わりに、図10のステップS41-1,S48-1をそれぞれ追加したものである。
 ステップS31-1では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードPubK[SDPC]の残りデータを受信 する。当該残りデータは、詳しくは後述するステップS41-1において、機密データ管理装置Aから送信されたものである。
 ステップS31-2では、機密データアクセス支援端末Bは、自身が保存する暗号化機密データ保護コードPubK[SDPC]の部分データと、機密データ管理装置Aから送信された残りデータと、を結合することで、暗号化機密データ保護コードPubK[SDPC]を再構築する。
 その後、機密データアクセス支援端末Bは、第1実施形態と同様に、ユーザ認証(ステップS32)の後、秘密鍵PriKを用いて暗号化機密データ保護コードPubK[SDPC]を復号する(ステップS33)。その結果、機密データ保護コードSDPCが生成される。そして、機密データアクセス支援端末Bは、機密データ保護コードSDPCを機密データ管理装置Aへ送信する(ステップS34)。
 一方、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]のうち、送信済みの部分データが欠落した残りデータを用いて次の処理を実行する。
 ステップS41-1では、機密データ管理装置Aは、暗号化機密データ保護コードPubK[SDPC]の残りデータを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述した図10のステップS31-1~S34を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
 そして、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された機密データ保護コードSDPCを受信すると(ステップS42)、第1実施形態と同様の処理(ステップS44~ステップS47)を実行した後、再び機密データSDを暗号化する(ステップS48-1)。
 ステップS48-1では、機密データ管理装置Aは、上述した図8のサブルーチンを実行する。
 以上のように、第2実施形態の機密データ管理装置Aは、機密データSDの暗号化処理の段階で、暗号化機密データ保護コードPubK[SDPC]の大部分である部分データを予め機密データアクセス支援端末Bに送信する。
 そして、機密データ管理装置Aは、機密データSDの復号処理の段階では、暗号化機密データ保護コードPubK[SDPC]の残りデータを機密データアクセス支援端末Bへ送信する。このデータの送信は、暗号化機密データ保護コードPubKの大部分である部分データを送信した後の残りデータが対象となるため、手動操作でも容易に実現することができる。
 このように、ユーザは、例えば機密データSDにアクセスしたいもののネットワークが利用できない緊急の場合であっても、機密データ管理装置Aの表示部106に暗号化機密データ保護コードPubK[SDPC]の残りデータが表示されたならば、その残りデータを機密データアクセス支援端末Bの入力部101を通じて手動操作で直接入力し、機密データ保護コードSDPCを取得することで、機密データSDを利用することができる。
 また、第2実施形態は、もう1つの機密データアクセス支援端末Bを管理端末として追加した場合でも適用可能である。暗号化機密データ保護コードPubK[SDPC]の残りデータと機密データ保護コードSDPCのいずれのデータ長も、上述したように、手動操作で入力できるほど短い。よって、機密データSDの復号処理において、管理端末(機密データアクセス支援端末B)と機密データ管理装置Aとの双方向のデータの送受信は、例えば、次のように行われる。
 最初に、ユーザは、機密データ管理装置Aの表示部106に表示された暗号化機密データ保護コードPubK[SDPC]の残りデータを、管理者に口頭で通知する。そして、管理者は、手動操作によって、ユーザから聞いた暗号化機密データ保護コードPubK[SDPC]の残りデータを管理端末に入力し、機密データ保護コードSDPCを取得する。
 つぎに、管理者は、取得した機密データ保護コードSDPCを、ユーザに口頭で通知する。最後に、ユーザは、手動操作によって、管理者から聞いた機密データ保護コードSDPCを機密データ管理装置Aに入力する。
 さらに、機密データ管理装置Aは、例えば管理端末に対しては、図8のステップS25-1において、暗号化機密データ保護コードPubK[SDPC]の部分データではなく、その全部を送信してもよい。この場合、機密データ管理装置Aは、機密データSDの復号処理の段階において、管理端末に対して、暗号化機密データ保護コードPubK[SDPC]の残りデータを送信する必要がない(図10のステップS41-1が不要)。
一方、管理端末は、図10のステップS31-1,S31-2を省略して、ユーザ認証後に、直ちに、機密データ保護コードSDPCを得ることが可能になる。
 このような場合、ユーザが、自身が保有し日常的に使用する機密データアクセス支援端末Bを紛失したとしても、管理端末を預けた管理者に対して電話などで連絡することができれば、当該管理者から機密データ保護コードSDPCを直接聞き出すことで、機密データSDへのアクセスが可能になる。具体的には、次の通りである。
 管理者は、機密データアクセス支援端末Bを紛失したユーザからの連絡を受けた場合、最初に、ユーザの正当性(ユーザが機密データアクセス支援端末Bの正当な所有者であるか)を確認する。正当性の確認方法は特に限定されず、例えば口頭による本人確認でもよい。管理者は、ユーザの正当性を確認した後、つぎに、自身に預けられた管理端末を用いて機密データ保護コードSDPCを得て、最後に、当該機密データ保護コードSDPCをユーザに口頭で伝える。この結果、ユーザは、管理者から伝えられた機密データ保護コードSDPCを機密データ管理装置Aに手動操作で入力すれば、機密データSDを復元して利用することができる。
[第3実施形態]
 つぎに、第3の実施形態について説明する。なお、上述した実施形態と同一の部位については同一の符号を付し、重複する説明は省略する。第3実施形態では、楕円曲線ディフィー・ヘルマン(Elliptic curve Diffie-Hellman:ECDH)鍵共有が使用される。ECDH鍵共有は、楕円曲線を使ったディフィー・ヘルマン(Diffie-Hellman:DH)鍵共有である。
 以下、簡単のため、楕円曲線を使わない一般的なDH鍵共有について説明する。
 DH鍵共有では、お互いに予備知識のない2人の当事者(例えば、アリスとボブ)が、安全でないチャネルを介して、共通鍵を共有することができる。この共通鍵は、後続の通信を暗号化するために使用される。DH鍵共有の具体例を以下に示す。
1.アリスが、2つの素数gとpを選び、それらが何であるかをボブに伝える。
2.ボブは、秘密の数aを選ぶが、誰にも公開しない。
  ボブは、A(=g mod p)を計算し、その計算結果Aをアリスに送信する。
3.アリスは、秘密の数bを選ぶが、誰にも公開しない。
 アリスは B(=g mod p)を計算し,その計算結果Bをボブに送信する。
4.ボブは、計算結果Bを用いて、B mod pを計算する。
5.アリスは、計算結果Aを用いて、A mod pを計算する。
 ステップ4の計算結果とステップ5の計算結果は、同じ値になり、当該当事者で共有される共通鍵となる。その理由は、次の2つの式が成立するからである。
(g mod p) mod p = gab mod p
(g mod p) mod p = gba mod p
 さて、本実施形態では、機密データアクセス支援端末B及び機密データ管理装置Aは、ECDH鍵交換における所定の楕円曲線(例えば、楕円曲線を定義する式、基点G、その位数nなどのパラメータ)を予め共有する。機密データアクセス支援端末B及び機密データ管理装置Aは、共有された楕円曲線に基づいて、それぞれが秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。
 図11は、第3実施形態における機密データSDの初期暗号化ルーチンを示すフローチャートである。第3実施形態では、機密データアクセス支援端末Bは、図3のステップS1~S2の代わりに図11のステップS61~S63を実行する。また、機密データ管理装置Aは、図3のステップS11~S14の代わりに図11のステップS71~S76を実行する。
 ステップS61では、機密データアクセス支援端末Bは、機密データ管理装置Aと共有された楕円曲線に基づいて、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。ここで、秘密鍵PriKは、[1,n-1]の中からランダムに選択された整数である。公開鍵PubKは、次の式に基づいて生成される。
   PubK=PriK・G
 ステップS62では、機密データアクセス支援端末Bは、機密データ管理装置Aと公開鍵PubKを交換する。なお、ステップS62は、詳しくは後述するステップS72と同時に行われる。具体的には、機密データアクセス支援端末Bは、ステップS61で生成された公開鍵PubKを機密データ管理装置Aへ送信し、機密データ管理装置Aから公開鍵PubKを受信する。ここで公開鍵PubKは、詳しくは後述するステップS71で生成されたものである。
 すなわち、上述したステップS61及びS62においては、機密データアクセス支援端末Bは、選択した秘密鍵PriK(上述の例でアリスが選んだ秘密の数 a に相当)と、予め機密データ管理装置Aと共有した基点G(上述の例でアリスが選んだ素数 g に相当)から公開鍵PubKを計算し、機密データ管理装置Aとの間で、互いの公開鍵PubKを交換(送受信)する。
 ステップS63では、機密データアクセス支援端末Bは、機密データ保護コードSDPCを暗号化するための共通鍵SymKを、次の式に基づいて生成する。
   SymK=PriK・PubK
 但し、共通鍵SymKは、機密データアクセス支援端末Bの秘密鍵PriKと、後述する機密データ管理装置Aの公開鍵PubKとの関係から、以下の条件を満たす。
   SymK=PriK・PubK
        =PriK・PriK・G
 ステップS71では、機密データ管理装置Aは、機密データアクセス支援端末Bと共有された楕円曲線に基づいて、秘密鍵PriK及びそれに対応する公開鍵PubKを生成する。ここで、秘密鍵PriKは、[1,n-1]の中からランダムに選択された整数である。公開鍵PubKは、次の式に基づいて生成される。
   PubK=PriK・G
 ステップS72では、機密データ管理装置Aは、機密データアクセス支援端末Bと公開鍵PubKを交換する。具体的には、機密データ管理装置Aは、ステップS71で生成された公開鍵PubKを機密データアクセス支援端末Bへ送信し、機密データアクセス支援端末Bから公開鍵PubKを受信する。
 ステップS73では、機密データ管理装置Aは、機密データ保護コードSDPCを暗号化するための共通鍵SymKを、次の式に基づいて生成する。
   SymK=PriK・PubK
 但し、共通鍵SymKは、機密データ管理装置Aの秘密鍵PriKと、先述した機密データアクセス支援端末Bの公開鍵PubKとの関係から、以下の条件を満たす。
   SymK=PriK・PubK
        =PriK・PriK・G
 ステップS63及びステップS73の結果、機密データアクセス支援端末B及び機密データ管理装置Aは、それぞれが同一の共通鍵SymKを得る。
 ステップS74では、機密データ管理装置Aは、例えばパスワードなどの機密データSDを準備する。なお、機密データSDは、外部装置から送信されたものでもよいし、予め機密データ管理装置A内に保存されていたものでもよい。
 ステップS75では、機密データ管理装置Aは、機密データSDを暗号化する。なお、ステップS75の詳細は後述する。
 ステップS76では、機密データ管理装置Aは、機密データSDを削除する。これにより、機密データ管理装置Aには、機密データSDは存在しておらず、暗号化された機密データSDのみが記憶されている。
 図12は、第3実施形態における機密データSDの暗号化サブルーチンを示すフローチャートである。
ステップS75において、機密データ管理装置Aは、図4のサブルーチンの代わりに、図12のサブルーチンを実行する。なお、図12のサブルーチンは、図4のサブルーチンとほぼ同様に構成されているが、図4のステップS25の代わりに、図12のステップS25-2を追加したものである。
 ステップS25-2では、機密データ管理装置Aは、図11のステップS73で生成された共通鍵SymKを用いて、ステップS21で生成された機密データ保護コードSDPCを暗号化して、暗号化機密データ保護コードSymK[SDPC]を生成する。そして、機密データ管理装置Aは、ステップS21で生成された機密データ保護コードSDPCを削除する(ステップS26)。
 図13は、図11及び図12で示した機密データSDの暗号化後に、機密データアクセス支援端末B及び機密データ管理装置Aのそれぞれにおいて保存されたデータを示す概念図である。
 機密データSDの暗号化後、機密データアクセス支援端末Bには、機密データ管理装置Aの公開鍵PubK、自身の秘密鍵PriK、及び共通鍵SymKが保存される。一方、機密データ管理装置Aには、機密データアクセス支援端末Bの公開鍵PubK、自身の秘密鍵PriK、共通鍵SymK、暗号化機密データ保護コードSymK[SDPC]、及び暗号化機密データSymK[SD]が保存される。
 図14は、第3実施形態における機密データSDの復号ルーチンを示すフローチャートである。図14のステップS31-3~S34は、図6のステップS31~S34とほぼ同様に構成されているが、図6のステップS31,S33の代わりに、図14のステップS31-3,S33-1をそれぞれ追加したものである。
 図14のステップS41-2~S48-2は、図6のステップS41~S48とほぼ同様に構成されているが、図6のステップS41,S47,S48の代わりに、図14のステップS41-2,S47-1,S48-2をそれぞれ追加し、さらに、図6のステップS44の後に図14のステップS44-1を追加したものである。
 ステップS31-3では、機密データアクセス支援端末Bは、機密データ管理装置Aから送信された暗号化機密データ保護コードSymK[SDPC]を受信する。暗号化機密データ保護コードSymK[SDPC]は、後述するステップS41-2において、機密データ管理装置Aから送信されるものである。
 ステップS32では、機密データアクセス支援端末Bは、ユーザの認証を行う。
 ステップS33-1では、機密データアクセス支援端末Bは、図11のステップS63で生成された共通鍵SymKを用いて、機密データ管理装置Aから送信された暗号化機密データ保護コードSymK[SDPC]を復号して、機密データ保護コードSDPCを得る。
 ステップS34では、機密データアクセス支援端末Bは、ステップS33で得られた機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
 一方、ステップS41-2では、機密データ管理装置Aは、内部に保存されている暗号化機密データ保護コードSymK[SDPC]を読み出して、それを機密データアクセス支援端末Bへ送信する。その後、機密データアクセス支援端末Bは、上述したステップS31-3~S34の処理を実行して、機密データ保護コードSDPCを機密データ管理装置Aへ送信する。
 そして、機密データ管理装置Aは、機密データアクセス支援端末Bから送信された機密データ保護コードSDPCを受信すると(図14のステップS42)、第1実施形態と同様にステップS43~S44を実行する。
 ステップS44-1では、機密データ管理装置Aは、暗号化機密データSymK[SD]の復号が成功したか(機密データSDが復元されたか)否かを判定する。復号が成功した場合は、機密データ管理装置Aは、機密データSDが利用し、そして、後述するステップS47-1及びステップS48-2の処理の終了を確認後、当該機密データSDを削除する(ステップS45~S46)。復号が成功しなかった場合は、本ルーチンが終了する。
 ステップS47-1では、機密データ管理装置Aは、暗号化機密データ保護コードSymK[SDPC]及び暗号化機密データSymK[SD]を削除する。
 ステップS48-2では、機密データ管理装置Aは、図12のサブルーチンを実行して、再び機密データSDを暗号化する。
 以上のように、第3実施形態では、機密データアクセス支援端末B及び機密データ管理装置Aは、互いに共有された楕円曲線に基づく公開鍵PubKを交換して、それぞれが機密データ保護コードSDPCの暗号化・復号のための共通鍵SymKを生成する。このため、次の効果が得られる。
 機密データアクセス支援端末B及び機密データ管理装置Aは、それぞれが生成した共通鍵SymKを用いて、それぞれの内部において、機密データ保護コードSDPCの暗号化及び復号を行うことが可能になる。
 すなわち、本実施形態では、機密データ保護コードSDPCを暗号化及び復号するための共通鍵SymKが機密データ管理装置A内に保存されていることから、暗号化機密データ保護コードSymK[SDPC]は、理論上は、機密データアクセス支援端末Bが存在しなくとも、機密データ管理装置Aだけで復号可能である。
 しかし、本実施形態では、いわゆる「チャレンジ&レスポンス」認証を実現するために、機密データ管理装置Aと機密データアクセス支援端末Bの間で、次の(a)~(c)の処理が実施される。
(a)機密データ管理装置Aは、機密データアクセス支援端末Bへ、暗号化機密データ保護コードSymK[SDPC]を送信する。
(b)機密データアクセス支援端末Bは、暗号化機密データ保護コードSymK[SDPC]を復号して得られた機密データ保護コードSDPCを、機密データ管理装置Aに返信する。
(c)機密データ管理装置Aは、機密データアクセス支援端末Bから返信された機密データ保護コードSDPCを用いて共通鍵SymKを再生成の上、暗号化機密データSymK[SD]を復号して、機密データSDを得る。
 この結果、正規の機密データアクセス支援端末Bを所有するユーザのみが、正しい機密データ保護コードSDPCを機密データ管理装置Aへ返信し、機密データ管理装置Aに暗号化機密データSymK[SD]を復号させ、機密データSDを得ることに成功する。したがって、最終的には、第3実施形態では、上述した他の実施形態と同じ効果が得られる。
 ところで、暗号化機密データ保護コードSymK[SDPC]のデータ長は、機密データ保護コードSDPCのデータ長と同様、手動で入力するのに十分な程度に短い。このため、機密データアクセス支援端末Bが管理端末の場合、機密データSDの復号において、緊急時には、上述した実施形態と同様、機密データ管理装置Aと管理端末との間の送受信を手動操作で行うことが可能である。
 さらに、本実施形態では、機密データSDの暗号化の段階(図12)において、機密データ管理装置Aから機密データアクセス支援端末Bへのデータ送信は不要である。
 これに対して、第2実施形態の場合、その機密データSDの復号において、緊急時に暗号化機密データ保護コードPubK[SDPC]の残りデータを手動で入力できるようにするためには、機密データSDの暗号化の段階(図8)において送信される、暗号化機密データ保護コードPubK[SDPC]の部分データのデータ長を十分に長くする必要がある。しかし、その場合、当該部分データを手動で入力するのは甚だ困難になる。この点において、本実施形態は、上述した第2実施形態よりも優れている。
A 機密データ管理装置
B 機密データアクセス支援端末
100 コンピュータ
101 入力部
102 CPU
106 表示部
107 通信部
 

 

Claims (13)

  1.  所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、
     前記機密データ保護コードを入力とする鍵導出関数を用いて、共通鍵を生成する共通鍵生成部と、
     前記共通鍵を用いて、機密データを暗号化する機密データ暗号化部と、
     機密データアクセス支援端末から提供された公開鍵を用いて、前記機密データ保護コードを暗号化する機密データ保護コード暗号化部と、
     前記機密データの暗号化後に前記共通鍵及び前記機密データを削除し、前記機密データ保護コードの暗号化後に前記機密データ保護コードを削除する削除部と、
     を備えた機密データ管理装置。
  2.  復号開始の操作が行われた後に、前記機密データアクセス支援端末へ前記暗号化された機密データ保護コードを送信する送信部と、
     前記機密データアクセス支援端末から、前記暗号化された機密データ保護コードから復号された機密データ保護コードを受信する受信部と、
     前記暗号化された機密データを復号する機密データ復号部と、を更に備え、
     前記共通鍵生成部は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される共通鍵を生成し、
     前記機密データ復号部は、前記共通鍵生成部により生成された前記共通鍵を用いて、前記暗号化された機密データを復号する
     請求項1に記載の機密データ管理装置。
  3.  前記共通鍵生成部は、前記機密データ保護コードと自身が保有する固有情報と、を組み合わせた情報を入力とする前記鍵導出関数を用いて、前記共通鍵を生成する
     請求項2に記載の機密データ管理装置。
  4.  前記送信部は、前記機密データアクセス支援端末へ、前記機密データ保護コードの暗号化の後に、前記暗号化された機密データ保護コードの一部を送信し、前記復号開始の操作が行われた後に、前記暗号化された機密データ保護コードの残りを送信し、
    前記受信部は、前記機密データアクセス支援端末から、前記暗号化された機密データ保護コードの前記一部及び前記残りから復号された機密データ保護コードを受信する
     請求項2又は請求項3に記載の機密データ管理装置。
  5.  前記送信部は、前記機密データアクセス支援端末へ、前記機密データ保護コードの暗号化の後に、前記暗号化された機密データ保護コードの全部を送信し、
     前記受信部は、前記復号開始の操作が行われた後に、前記機密データアクセス支援端末から、前記暗号化された機密データ保護コードの前記全部から復号された機密データ保護コードを受信する、
     請求項2又は請求項3に記載の機密データ管理装置。
  6.  前記機密データ保護コード生成部は、前記機密データ復号部により復号された機密データがユーザにアクセスされた後に、新たに機密データ保護コードを生成し、
     前記共通鍵生成部は、前記新たに生成された機密データ保護コード、又は前記新たに生成された機密データ保護コードと前記自身が保有する固有情報とを組み合わせた情報を入力とする前記鍵導出関数を用いて、新たな共通鍵を生成し、
     前記機密データ暗号化部は、前記新たな共通鍵を用いて、前記復号された機密データを再び暗号化し、
     前記機密データ保護コード暗号化部は、前記公開鍵を用いて、前記新たに生成された機密データ保護コードを再び暗号化し、
     前記削除部は、前記機密データの再暗号化後に前記新たな共通鍵及び前記機密データを削除し、前記新たな機密データ保護コードの再暗号化後に前記新たな機密データ保護コードを削除する
     請求項2から請求項5のいずれか1項に記載の機密データ管理装置
  7.  所定のデータ長の機密データ保護コードを生成する機密データ保護コード生成部と、
     前記機密データ保護コードを入力とする鍵導出関数を用いて、第1の共通鍵を生成する第1の共通鍵生成部と、
     前記第1の共通鍵を用いて、機密データを暗号化する機密データ暗号化部と、
     機密データアクセス支援端末と事前に交換された所定の情報を用いて、第2の共通鍵を生成する第2の共通鍵生成部と、
     前記第2の共通鍵を用いて、前記機密データ保護コードを暗号化する機密データ保護コード暗号化部と、
     前記機密データの暗号化後に前記第1の共通鍵及び前記機密データを削除し、前記機密データ保護コードの暗号化後に前記機密データ保護コードを削除する削除部と、
     を備えた機密データ管理装置。
  8.  復号開始の操作が行われた後に、前記機密データアクセス支援端末へ前記暗号化された機密データ保護コードを送信する送信部と、
     前記機密データアクセス支援端末から、前記暗号化された機密データ保護コードから復号された機密データ保護コードを受信する受信部と、
     前記暗号化された機密データを復号する機密データ復号部と、を更に備え、
     前記第1の共通鍵生成部は、前記受信部により受信された前記機密データ保護コードを入力とする前記鍵導出関数を用いて、前記機密データ復号部で使用される第1の共通鍵を生成し、
     前記機密データ復号部は、前記第1の共通鍵生成部により生成された前記第1の共通鍵を用いて、前記暗号化された機密データを復号する
     請求項7に記載の機密データ管理装置。
  9.  前記第1の共通鍵生成部は、前記機密データ保護コードと自身が保有する固有情報と、を組み合わせた情報を入力とする前記鍵導出関数を用いて、前記第1の共通鍵を生成する
     請求項8に記載の機密データ管理装置。
  10. 前記機密データ復号部による前記暗号化された機密データの復号の成功あるいは失敗を判定する判定部を更に有し、
    前記機密データ保護コード生成部は、前記判定部による判定が成功の場合、前記機密データ復号部により復号された機密データがユーザにアクセスされた後に、新たに機密データ保護コードを生成し、
     前記第1の共通鍵生成部は、前記新たに生成された機密データ保護コード、又は前記新たに生成された機密データ保護コードと前記自身が保有する固有情報とを組み合わせた情報を入力とする前記鍵導出関数を用いて、新たな第1の共通鍵を生成し、
     前記機密データ暗号化部は、前記新たな第1の共通鍵を用いて、前記復号された機密データを再び暗号化し、
     前記機密データ保護コード暗号化部は、前記第2の共通鍵を用いて、前記新たに生成された機密データ保護コードを再び暗号化し、
     前記削除部は、前記機密データの再暗号化後に前記新たな第1の共通鍵及び前記機密データを削除し、前記新たな機密データ保護コードの再暗号化後に前記新たな機密データ保護コードを削除する
     請求項7から請求項9のいずれか1項に記載の機密データ管理装置。
  11.  前記機密データアクセス支援端末が複数設けられている
    請求項1から請求項10のいずれか1項に記載の機密データ管理装置。
  12.  コンピュータを請求項1から請求項11のいずれか1項に記載の機密データ管理装置の各部として機能させるためのプログラム。
  13. 請求項12に記載のプログラムが記録された記録媒体。
     
     

     
PCT/JP2020/037347 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体 WO2021181736A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/266,070 US11924337B2 (en) 2020-03-13 2020-09-30 Sensitive data management system
EP20824062.2A EP3902197A4 (en) 2020-03-13 2020-09-30 DEVICE FOR MANAGEMENT OF SENSITIVE DATA, PROGRAM AND RECORDING MEDIA
CN202080098452.1A CN115280716A (zh) 2020-03-13 2020-09-30 敏感数据管理设备、程序和存储介质
JP2021539570A JP7037705B2 (ja) 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062989473P 2020-03-13 2020-03-13
US62/989,473 2020-03-13

Publications (1)

Publication Number Publication Date
WO2021181736A1 true WO2021181736A1 (ja) 2021-09-16

Family

ID=77671517

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/037347 WO2021181736A1 (ja) 2020-03-13 2020-09-30 機密データ管理装置、プログラム及び記録媒体

Country Status (5)

Country Link
US (1) US11924337B2 (ja)
EP (1) EP3902197A4 (ja)
JP (1) JP7037705B2 (ja)
CN (1) CN115280716A (ja)
WO (1) WO2021181736A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11924337B2 (en) 2020-03-13 2024-03-05 Soliton Systems K.K. Sensitive data management system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
JP2005318299A (ja) * 2004-04-28 2005-11-10 Fuji Electric Holdings Co Ltd 電子データの証拠性を確保しながら同データを保管する電子データ保管システム
JP2007013484A (ja) 2005-06-29 2007-01-18 Suri Kagaku Kenkyusho:Kk 非常時用データ復旧システム、方法およびコンピュータプログラム
US20070300080A1 (en) 2006-06-22 2007-12-27 Research In Motion Limited Two-Factor Content Protection
JP4701238B2 (ja) 2004-04-02 2011-06-15 リサーチ イン モーション リミテッド 双方向通信経路を介した鍵合意および鍵の再生成
JP2015022460A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 情報記憶システム、情報記憶装置、その方法、及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318229A (ja) 2004-04-28 2005-11-10 Matsushita Electric Ind Co Ltd アンテナ装置
US7899186B2 (en) * 2007-09-20 2011-03-01 Seagate Technology Llc Key recovery in encrypting storage devices
JP6319781B1 (ja) 2017-10-20 2018-05-09 株式会社バカン コインロッカーシステム
US10951406B2 (en) * 2018-01-24 2021-03-16 Salesforce.Com, Inc. Preventing encryption key recovery by a cloud provider
JP2019149767A (ja) 2018-02-28 2019-09-05 パナソニック液晶ディスプレイ株式会社 表示装置用校正システム、表示装置、撮影装置、サーバ装置、及び、表示装置の校正方法
US11431498B2 (en) * 2019-02-12 2022-08-30 Nxm Labs, Inc. Quantum-augmentable hybrid encryption system and method
US11614901B2 (en) * 2019-02-13 2023-03-28 Electronics And Telecommunications Research Institute Apparatus and method for processing sensitive data
JP7037705B2 (ja) 2020-03-13 2022-03-16 株式会社ソリトンシステムズ 機密データ管理装置、プログラム及び記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249866B1 (en) 1997-09-16 2001-06-19 Microsoft Corporation Encrypting file system and method
JP4701238B2 (ja) 2004-04-02 2011-06-15 リサーチ イン モーション リミテッド 双方向通信経路を介した鍵合意および鍵の再生成
JP2005318299A (ja) * 2004-04-28 2005-11-10 Fuji Electric Holdings Co Ltd 電子データの証拠性を確保しながら同データを保管する電子データ保管システム
JP2007013484A (ja) 2005-06-29 2007-01-18 Suri Kagaku Kenkyusho:Kk 非常時用データ復旧システム、方法およびコンピュータプログラム
US20070300080A1 (en) 2006-06-22 2007-12-27 Research In Motion Limited Two-Factor Content Protection
JP2015022460A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 情報記憶システム、情報記憶装置、その方法、及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3902197A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11924337B2 (en) 2020-03-13 2024-03-05 Soliton Systems K.K. Sensitive data management system

Also Published As

Publication number Publication date
US20220311605A1 (en) 2022-09-29
EP3902197A4 (en) 2022-06-22
JP7037705B2 (ja) 2022-03-16
EP3902197A1 (en) 2021-10-27
CN115280716A (zh) 2022-11-01
US11924337B2 (en) 2024-03-05
JPWO2021181736A1 (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
US10785019B2 (en) Data transmission method and apparatus
US7895436B2 (en) Authentication system and remotely-distributed storage system
US6535980B1 (en) Keyless encryption of messages using challenge response
US8509449B2 (en) Key protector for a storage volume using multiple keys
TW201733302A (zh) 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
CN109543434B (zh) 区块链信息加密方法、解密方法、存储方法及装置
CN111404664B (zh) 基于秘密共享和多个移动设备的量子保密通信身份认证系统和方法
CN111294203B (zh) 信息传输方法
US20090254749A1 (en) Cooperation method and system of hardware secure units, and application device
CN110635901B (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
CN101515319A (zh) 密钥处理方法、密钥密码学服务系统和密钥协商方法
CN110557248B (zh) 基于无证书密码学的签密的密钥更新方法和系统
US10630466B1 (en) Apparatus and method for exchanging cryptographic information with reduced overhead and latency
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
CN110493124A (zh) 保护数据安全的加密即时通信系统及通信方法
JPH10171717A (ja) Icカードおよびそれを用いた暗号通信システム
WO2021181736A1 (ja) 機密データ管理装置、プログラム及び記録媒体
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
JP2001111539A (ja) 暗号鍵生成装置および暗号鍵伝送方法
JP3984570B2 (ja) 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム
CN111212068B (zh) 一种输入法对文字加解密的方法
JP2023157174A (ja) 暗号通信システム、暗号通信装置および暗号通信方法
JP2721238B2 (ja) 署名機能を持つ鍵配送方式
CN109922042B (zh) 遗失设备的子密钥管理方法和系统

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020824062

Country of ref document: EP

Effective date: 20201222

ENP Entry into the national phase

Ref document number: 2021539570

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE