WO2019082526A1 - 携帯可能電子装置、及びicモジュール - Google Patents

携帯可能電子装置、及びicモジュール

Info

Publication number
WO2019082526A1
WO2019082526A1 PCT/JP2018/033396 JP2018033396W WO2019082526A1 WO 2019082526 A1 WO2019082526 A1 WO 2019082526A1 JP 2018033396 W JP2018033396 W JP 2018033396W WO 2019082526 A1 WO2019082526 A1 WO 2019082526A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
decryption key
read
start position
Prior art date
Application number
PCT/JP2018/033396
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 EP18869786.6A priority Critical patent/EP3703308A1/en
Priority to SG11202002074XA priority patent/SG11202002074XA/en
Publication of WO2019082526A1 publication Critical patent/WO2019082526A1/ja
Priority to US16/809,716 priority patent/US20200204339A1/en

Links

Images

Classifications

    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Definitions

  • Embodiments of the present invention relate to portable electronic devices and IC modules.
  • genomic information will be included in personal information as information that requires special attention for handling, and portable electronic devices such as IC cards are also used to manage such genomic information. It is being considered. Genomic information should not be all public, and it has the property that even for private use, the required information is limited to a part. For example, in drug prescription, it may be sufficient if there is some information related to the drug prescription among genomic information.
  • the access right is set for each specific file, and it is possible to read out the entire file using the read command if the defined conditions such as the authentication success are satisfied. . Therefore, in the conventional portable electronic device, there is a possibility that information other than a part of information necessary for utilization of genome information may be read out, which may lower security.
  • the problem to be solved by the present invention is to provide a portable electronic device and an IC module which can read necessary data while securing security.
  • the portable electronic device of the embodiment has a data storage unit and a processing unit.
  • the data storage unit stores data that is decipherably encrypted based on different decryption key information corresponding to the read start position.
  • the processing unit is at least a read request received from an external device, offset information indicating a read start position of the encrypted data stored in the data storage unit, and decryption key information corresponding to the offset information. Data of a predetermined length from the read start position indicated by the offset information among the encrypted data is decrypted based on the decryption key information in response to the read request including the data Are sent to the external device.
  • FIG. 2 is a diagram showing an example of the hardware configuration of an IC card according to the first embodiment.
  • FIG. 2 is a block diagram showing an example of the functional configuration of an IC card according to the first embodiment.
  • FIG. 7 is a view showing an example of the data format of a partial read command according to the first embodiment.
  • the figure which shows an example of the encryption process of the genome information of 1st Embodiment. 6 is a flowchart illustrating an example of processing of a partial read command according to the first embodiment.
  • FIG. 7 is a view for explaining an example of processing of a partial read command according to the first embodiment;
  • FIG. 7 is a view for explaining an example of processing of a partial read command according to the first embodiment;
  • FIG. 8 is a view showing an example of the data format of a partial read command according to the second embodiment.
  • the flowchart which shows an example of a process of the partial read-out command of 2nd Embodiment. A figure explaining an example of processing of a partial read command of a 2nd embodiment.
  • the figure which shows an example of the encryption process of the genome information of 3rd Embodiment.
  • the flowchart which shows an example of a process of the partial read-out command of 3rd Embodiment.
  • FIG. 1 is an external view showing an example of the IC card 1 of the first embodiment. Moreover, FIG. 1 has shown the structural example of IC card system 150 of 1st Embodiment. As shown in FIG. 1, the IC card system 150 includes an IC card 1, an external device 2, and a key management device 9. The IC card 1 includes an IC module 10. The IC module 10 includes the contact portion 3 and the IC chip 100 inside.
  • the IC card 1 is formed, for example, by mounting an IC module 10 on a plastic card base PT (an example of a card body). That is, the IC card 1 includes an IC module 10 and a card base PT in which the IC module 10 is embedded. In addition, the IC card 1 can communicate with the external device 2 through the contact portion 3. In the present embodiment, an IC card 1 will be described as an example of a portable electronic device.
  • the IC card 1 electrically receives a command (processing request) transmitted by the external device 2 through the contact unit 3 and executes processing (command processing) corresponding to the received command. Then, the IC card 1 electrically transmits a response (processing response), which is the execution result of the command processing, to the external device 2 through the contact unit 3.
  • the IC card 1 also has a function of storing genome information as personal information (secret information), and reading out a part of the genome information by command processing (processing of a partial read command).
  • the external device 2 is a device that communicates with the IC card 1 and is, for example, a terminal device including a reader / writer device.
  • genome information is data which shows the user's base sequence (genome data), and is a part of information which has meaning in genome sequence data.
  • genomic data is, for example, data in which a base sequence is represented by a character string, and genomic information is, for example, information obtained by adding interpretation to genomic data.
  • the key management device 9 is a device that manages the encryption key and the decryption key, and generates, for example, an encryption key that encrypts the above-described genome information and a decryption key that decrypts the encrypted genome information. Holds the key and the decryption key.
  • the genome information is encrypted so as to be decodable on the basis of different decryption key information corresponding to the read start position, and stored in the IC card 1. Therefore, the key management device 9 associates and stores, for example, identification information for identifying genome information or genome information, and decryption key information for decrypting encrypted genome information.
  • the key management device 9 provides the external device 2 with decryption key information corresponding to the offset information when the above-mentioned external device 2 reads partial data of genome information from the IC card 1.
  • the IC module 10 includes a contact portion 3 and an IC chip 100.
  • the IC module 10 is a module traded in the form of COT (Chip On Tape) or the like in which a plurality of IC modules 10 are disposed on a tape.
  • COT Chip On Tape
  • the single IC module 10 that is separated and separated from the tape may be referred to as COT.
  • the contact portion 3 has terminals for various signals necessary for the IC card 1 to operate.
  • terminals of various signals include terminals for receiving power supply voltage, clock signals, reset signals and the like from the external device 2, and serial data input / output terminals (SIO terminals) for communicating with the external device 2. included.
  • the IC chip 100 is, for example, a large scale integration (LSI) such as a one-chip microprocessor.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the IC card 1 of the present embodiment.
  • the IC card 1 is provided with an IC module 10 provided with a contact portion 3 and an IC chip 100.
  • the IC chip 100 includes a Universal Asynchronous Receiver Transmitter (UART) 4, a CPU 5, a Read Only Memory (ROM) 6, a Random Access Memory (RAM) 7, and an Electrically Erasable Programmable ROM (EEPROM) 8. There is.
  • UART Universal Asynchronous Receiver Transmitter
  • CPU 5 Read Only Memory
  • RAM Random Access Memory
  • EEPROM Electrically Erasable Programmable ROM
  • Each configuration (4 to 8) is connected via an internal bus BS1.
  • the UART 4 performs serial data communication with the external device 2 through the above-described SIO terminal.
  • the UART 4 outputs data (for example, 1-byte data) obtained by parallel converting a serial data signal received through the SIO terminal to the internal bus BS1.
  • the UART 4 serial-converts the data acquired via the internal bus BS 1 and outputs the data to the external device 2 via the SIO terminal.
  • the UART 4 receives a command from the external device 2 via, for example, the SIO terminal.
  • the UART 4 also transmits a response to the external device 2 via the SIO terminal.
  • the CPU 5 executes programs stored in the ROM 6 or the EEPROM 8 to perform various processes of the IC card 1.
  • the CPU 5 executes, for example, command processing corresponding to the command received by the UART 4 through the contact unit 3.
  • the ROM 6 is, for example, a non-volatile memory such as a mask ROM, and stores a program for executing various processes of the IC card 1 and data such as a command table.
  • the RAM 7 is, for example, a volatile memory such as a static RAM (SRAM), and temporarily stores data used when various processes of the IC card 1 are performed.
  • SRAM static RAM
  • the EEPROM 8 is, for example, an electrically rewritable non-volatile memory.
  • the EEPROM 8 stores various data used by the IC card 1.
  • the EEPROM 8 stores, for example, information used for various services (applications) using the IC card 1.
  • FIG. 3 is a block diagram showing an example of a functional configuration of the IC card 1 of the present embodiment.
  • the IC card 1 includes a communication unit 40, a control unit 50, a file management information storage unit 81, and an AP data storage unit 82.
  • each part of the IC card 1 shown in FIG. 3 is realized using the hardware of the IC card 1 shown in FIG.
  • the communication unit 40 is realized by, for example, the UART 4, the CPU 5, and the program stored in the ROM 6, and transmits and receives commands and responses with the external device 2 via the contact unit 3, for example. That is, the communication unit 40 receives a command (process request) for requesting a predetermined process from the external device 2 and transmits a response (process response) to the command to the external device 2.
  • the file management information storage unit 81 is, for example, a storage unit configured by the EEPROM 8 and stores management information (for example, directory information) for managing various files storing data.
  • the file management information storage unit 81 stores, for example, file identification information such as a file name and a file ID in association with an address at the head of the file (hereinafter referred to as the head address of the file).
  • the top address of the file is, for example, the physical address of the EEPROM 8.
  • the access processing is processing such as reading, writing, and updating of data.
  • the AP (application) data storage unit 82 (an example of a data storage unit) is, for example, a storage unit configured by the EEPROM 8 and stores application data.
  • the AP data storage unit 82 stores files such as a master file (MF), a dedicated file (DF), and an elementary file (EF) in a hierarchical structure.
  • MF master file
  • DF dedicated file
  • EF elementary file
  • the AP data storage unit 82 has a file (for example, an EF) for storing the above-described genome information, and the file is encoded and stored with the genome information.
  • a file for example, an EF
  • different decryption key information corresponding to the reading start position so that a person (for example, a user who uses genome information, etc.) who permits reading reads necessary partial data and can not read unnecessary data. It is decipherably encrypted based on.
  • the AP data storage unit 82 stores encrypted genome information in file units.
  • a random number sequence equal in size to the genome information is used as an encryption key and a decryption key, and the random number sequence and the genome information are XORed (exclusive OR). Encrypt Further, details of the encoding process and the decoding process of the genome information will be described later.
  • the control unit 50 is realized by, for example, the CPU 5, the RAM 7, and the ROM 6 or the EEPROM 8, and controls the IC card 1 in an integrated manner.
  • the control unit 50 includes a file management unit 51 and a command processing unit 52.
  • the file management unit 51 manages the files in the AP data storage unit 82 based on management information (for example, directory information) stored in the file management information storage unit 81.
  • the file management unit 51 manages, for example, the access right to each file in the AP data storage unit 82. For example, when executing file access processing, the file management unit 51 searches for management information stored in the file management information storage unit 81, and specifies the storage location of the file.
  • the command processing unit 52 executes processing (command processing) of various commands in response to a command (processing request) transmitted from the external device 2 to the IC card 1.
  • the command processing unit 52 executes command processing, for example, in accordance with a command received from the external device 2 via the communication unit 40. Also, the command processing unit 52 transmits a response, which is the result of the command processing, to the external device 2 via the communication unit 40.
  • the command processing unit 52 executes a partial read command (an example of a read request) that reads a part of data in a file as genome information or the like.
  • the partial read command includes offset information and decryption key information.
  • FIG. 4 is a diagram showing an example of a data format of a partial read command according to the present embodiment.
  • the command message of the read command includes a header and a body.
  • the header portion includes “CLA” and “INS” which are identification information of the command, and “P1” and “P2” of the command parameter.
  • the body portion includes “Lc”, “offset information”, “decryption key information”, and “Le”.
  • Lc indicates the size of input data in a command
  • Le indicates the maximum size of output data output by the command.
  • offset information indicates a reading start position of encrypted data (for example, encrypted genomic information) in a designated file.
  • decryption key information indicates decryption key information corresponding to the offset information. That is, “decryption key information” indicates decryption key information used for decryption processing when data of a predetermined unit size (unit length, for example, 1 byte) is read out from the reading start position indicated by the offset information. Also, in the example shown in FIG. 4, a plurality of “offset information” (OF1, OF2,%) are included in the command telegram of the partial read command so that data of a plurality of positions can be read by one command processing. And “decryption key information” (KEY11, KEY12,).
  • the command processing unit 52 responds to the partial read command received from the external device 2, for example, from the encoded genome information, a predetermined one from the reading start position indicated by the offset information.
  • the data of length (for example, 1 byte) is decrypted based on the decryption key information, and the decrypted data is transmitted to the external device 2 as a response (processing response).
  • the command processing unit 52 performs XOR operation processing on 1-byte data (encryption data) at the read start position indicated by the offset information and 1-byte decryption key information, and decodes the data (a part of genome information Data) as a response to the external device 2 via the communication unit 40.
  • the command processing unit 52 determines the data of a predetermined length (for example, 1 byte) from the read start position based on the decryption key information which is different for each predetermined unit size (for example, 1 byte).
  • the unit data is decoded per unit size (for example, 1 byte), and the decoded data is transmitted to the external device 2.
  • FIG. 5 is a diagram showing an example of the encoding process of genome information of the present embodiment.
  • genome information GD1 is data in which a base sequence is represented by a character string, and is a data string in which each character is encoded.
  • the encryption key KEY1 is a random number sequence generated by the key management device 9.
  • the encryption key KEY1 is equal in size to genome information, and is also used as a decryption key.
  • each encoded data is written in hexadecimal (hexadecimal).
  • the external device 2 When registering the genomic information GD1 of the user in the IC card 1, the external device 2 which is an issuing device operates the encryption key KEY1 generated by the key management device 9 and the genomic information GD1 in 1-bit units (or 1-byte units). XOR processing with) to generate encrypted genome information EGD1.
  • the external device 2 stores the generated encoded genome information EGD1 in a predetermined file (for example, EF) of the AP data storage unit 82 using a write command, an issuance command, and the like.
  • FIG. 6 is a flowchart showing an example of processing of a partial read command according to the present embodiment.
  • the encoded genome information EGD1 as shown in FIG. 5 is stored in a predetermined file (for example, EF) of the AP data storage unit 82 of the IC card 1.
  • the external device 2 here is, for example, a terminal device of a user of genome information, and it is assumed that decryption key information corresponding to partial data of genome information to be used is acquired from the key management device 9. .
  • step S101 determines whether or not a command has been received. That is, the communication unit 40 of the IC card 1 determines whether a command has been received from the external device 2 through the UART 4. If the communication unit 40 receives a command (step S101: YES), the process proceeds to step S102. When the communication unit 40 does not receive the command (step S101: NO), the process returns to step S101, and the process of step S101 is repeated.
  • step S102 the command processing unit 52 of the IC card 1 determines whether the received command is a partial read command.
  • the command processing unit 52 determines whether or not it is a partial read command based on, for example, “CLA” and “INS” of the received command telegram. If the received command is a partial read command (step S102: YES), the command processing unit 52 advances the process to step S103. Also, if the received command is not a partial read command (step S102: NO), the command processing unit 52 advances the process to step S107.
  • step S103 the command processing unit 52 acquires data of the read start position indicating the offset information of the designated file.
  • the command processing unit 52 causes the file management unit 51 to specify the storage location of the designated file based on the management information (for example, directory information) stored in the file management information storage unit 81, and acquires the storage location.
  • the command processing unit 52 specifies the reading start position from the storage position of the acquired file based on the offset information.
  • the command processing unit 52 reads and acquires, for example, 1-byte data of the reading start position (1-byte data of a predetermined position of the encoded genome information) from the AP data storage unit 82.
  • the command processing unit 52 decrypts the acquired data with the decryption key information (step S104).
  • the command processing unit 52 performs an XOR operation on decryption key information (for example, 1 byte) corresponding to the read start position included in the received partial read command and the acquired data (for example, 1 byte) to encrypt Decode the genome information that has been
  • step S105 determines whether there is the next offset information.
  • the command processing unit 52 confirms the received partial read command, and determines whether there is the next offset information. If there is the next offset information (step S105: YES), the command processing unit 52 returns the process to step S103, and repeats the process from step S103 to step S105. Also, if there is no next offset information (step S105: NO), the command processing unit 52 advances the process to step S106.
  • step S106 the command processing unit 52 transmits a response including the decoded data (partial data of genome information) to the external device 2.
  • the command processing unit 52 transmits, for example, a response including the decoded data (partial data of genome information) and the result information (status information SW1 and SW2) to the external device 2 via the communication unit 40.
  • the command processing unit 52 returns the process to step S101.
  • step S107 the command processing unit 52 executes another command process.
  • step S108 the command processing unit 52 transmits, for example, a response including result information of another command processing to the external device 2 via the communication unit 40.
  • step S108 the command processing unit 52 returns the process to step S101.
  • FIG. 7 is a diagram for explaining an example of processing of a partial read command according to the present embodiment.
  • “02” of the offset information (OF1) and “07” of the offset information (OF2) are designated in the partial read command CD1.
  • the decryption key information (KEY11) corresponding to the offset information (OF1) is "11”
  • the decryption key information (KEY12) corresponding to the offset information (OF2) is "94".
  • each data is represented in hexadecimal.
  • EGD1 is stored in the file FD1.
  • the command processing unit 52 When the command processing unit 52 receives the partial read command CD1 described above, the command processing unit 52 reads data “45” of the second byte of the encoded genome information EGD1 based on “02” of the offset information (OF1). The data is XOR-processed with "11" of the decryption key information (KEY 11) and decrypted to generate partial data "54" of genome information. Also, the command processing unit 52 reads out the data “D5” of the seventh byte of the encoded genome information EGD1 based on “07” of the offset information (OF2), and “94” of the decryption key information (KEY12). And XOR processing and decoding to generate partial data “41” of genome information.
  • the command processing unit 52 puts the decoded partial data “54” and “41” together into partial data GD11 of genome information, and transmits a response including the partial data GD11 to the external device 2.
  • the IC card 1 (portable electronic device) according to the present embodiment includes the AP data storage unit 82 (data storage unit) and the command processing unit 52 (processing unit).
  • the AP data storage unit 82 stores data (for example, genome information) that is decipherably encrypted based on different decryption key information corresponding to the read start position.
  • the command processing unit 52 decrypts data of a predetermined length from the reading start position indicated by the offset information among the encrypted data in response to the read request (partial read command) received from the external device 2 It decrypts based on the key information and transmits the decrypted data to the external device 2.
  • the read request (partial read command) includes at least offset information indicating a read start position of the encrypted data stored in the AP data storage unit 82, and decryption key information corresponding to the offset information.
  • the IC card 1 according to the present embodiment decrypts and reads out the necessary partial data by using the decryption key information corresponding to the offset information, so that, for example, the partial information necessary for using the genomic information can be read appropriately. It is not possible to read out information other than necessary information. Therefore, the IC card 1 according to the present embodiment can read out necessary partial data (for example, partial data of secret information such as genome information) while securing security.
  • necessary partial data for example, partial data of secret information such as genome information
  • part of information related to drug prescription of genomic information for example, SNP (Single Nucleotide Polymorphism, single nucleotide polymorphism, slight difference in genetic information between individuals)can be read out without disclosing other information.
  • the AP data storage unit 82 stores data that is decipherably encrypted based on different decryption key information for each predetermined unit size (for example, 1 byte).
  • the command processing unit 52 in response to the partial read command, sets data of a predetermined length from the read start position to a predetermined unit size based on different decryption key information for each predetermined unit size (for example, 1 byte).
  • the data is decoded every (for example, 1 byte), and the decoded data is transmitted to the external device 2.
  • the IC card 1 according to the present embodiment can easily decode partial data with a predetermined unit size.
  • the AP data storage unit 82 stores encrypted data in file units (for example, in EF units).
  • the command processing unit 52 in response to the partial read command, data of a predetermined length from the reading start position indicated by the offset information among the encrypted data (for example, genome information) corresponding to the designated file. Are decrypted based on the decryption key information, and the decrypted data is transmitted to the external device 2.
  • the IC card 1 according to the present embodiment facilitates management of encrypted data (for example, genome information) and data encrypted by changing the file format (for example, genome information) Other information than the above can be easily stored. Therefore, the IC card 1 according to the present embodiment can improve convenience while securing security.
  • the AP data storage unit 82 stores, as encrypted data, data obtained by encrypting genomic information including data indicating the base sequence of the user.
  • the IC card 1 can read partial data of genome information while securing security.
  • the IC card 1 according to the present embodiment includes an IC module 10 and a card base PT (card main body) in which the IC module 10 is embedded.
  • the IC module 10 according to the present embodiment includes the AP data storage unit 82 (data storage unit) described above and a command processing unit 52 (processing unit).
  • the IC module 10 according to the present embodiment has the same effect as the above-described IC card 1 and can read necessary partial data while securing security.
  • the IC card system 150 includes the IC card 1 described above, the external device 2 and the key management device 9.
  • the external device 2 acquires decryption key information corresponding to the offset information from the key management device 9, transmits a partial read command including the offset information and the acquired decryption key information to the IC card 1, and, for example, genome information Read out the partial data of.
  • the IC card system 150 according to the present embodiment has the same effect as the above-described IC card 1 and can read necessary partial data (for example, partial data of genome information) while securing security. it can.
  • an IC card 1 according to a second embodiment will be described with reference to the drawings.
  • a modification of the partial read command including the data length will be described.
  • the basic configuration of the IC card 1 according to the present embodiment is the same as that of the first embodiment shown in FIGS. 1 to 3, and the processing relating to the partial read command is different.
  • the command processing unit 52 in the present embodiment executes a partial read command (an example of a read request) that reads a part of data in a file as genome information or the like.
  • the command processing unit 52 decrypts the data of the data length from the read start position according to the partial read command including the offset information, the decryption key information, and the data length indicating the length of the data read from the read start position.
  • the data is decoded based on the information, and the decoded data is transmitted to the external device 2.
  • the partial read command includes offset information, a data length, and decryption key information.
  • FIG. 8 is a diagram showing an example of a data format of a partial read command according to the present embodiment.
  • the command message of the read command of this embodiment includes a header portion and a body portion, and the header portion is the same as that of the first embodiment described above.
  • the body portion includes “Lc”, “offset information”, “data length”, “decryption key information”, and “Le”.
  • data length indicates the data length read out from the read start position.
  • the other “Lc” “offset information”, “decryption key information”, and “Le” are the same as those in the first embodiment described above. In the present embodiment, it is possible to specify a plurality of pieces of “decryption key information” for one piece of “offset information” according to the value of “data length”.
  • one “offset information” is included in the command message of the partial read command so that data of “data length” corresponding to a plurality of “decryption key information” can be read by one command processing. It includes OF1), “data length”, and a plurality of “decryption key information” (KEY11, KEY12,).
  • the coding process of the genome information in the present embodiment is the same as that of the first embodiment shown in FIG. 5 described above, and thus the description thereof is omitted here.
  • FIG. 9 is a flowchart showing an example of processing of a partial read command according to the present embodiment.
  • the encoded genome information EGD1 as shown in FIG. 5 is stored in a predetermined file (for example, EF) of the AP data storage unit 82 of the IC card 1.
  • the external device 2 here is, for example, a terminal device of a user of genome information, and it is assumed that decryption key information corresponding to partial data of genome information to be used is acquired from the key management device 9. .
  • step S201 determines whether or not a command has been received.
  • step S202 since the process of step S201 and step S202 is the same as the process of step S101 shown in FIG. 6 mentioned above and step S102, the description is abbreviate
  • step S202 if the received command is not a partial read command (step S202: NO), the command processing unit 52 advances the process to step S206.
  • step S203 the command processing unit 52 acquires data of a data length from the reading start position indicating the offset information of the designated file.
  • the command processing unit 52 causes the file management unit 51 to specify the storage location of the designated file based on the management information (for example, directory information) stored in the file management information storage unit 81, and acquires the storage location.
  • the command processing unit 52 specifies the reading start position from the storage position of the acquired file from the offset information.
  • the command processing unit 52 reads and acquires, for example, data corresponding to the data length (data corresponding to the data length of the predetermined position of the encoded genome information) from the AP data storage unit 82 from the read start position.
  • the command processing unit 52 decrypts the acquired data with the decryption key information (step S204).
  • the command processing unit 52 performs an XOR operation on the decryption key information corresponding to the data length from the read start position included in the received partial read command, and the data for the acquired data length to encrypt the encoded genomic information Decrypt
  • the command processing unit 52 transmits a response including the decoded data (partial data of genome information) to the external device 2 (step S205).
  • the command processing unit 52 transmits, for example, a response including the decoded data (partial data of genome information) and the result information (status information SW1 and SW2) to the external device 2 via the communication unit 40.
  • the command processing unit 52 returns the process to step S201.
  • step S206 and step S207 are the same as the processes of step S107 and step S108 shown in FIG. 6 described above, the description thereof is omitted here.
  • FIG. 10 is a diagram for explaining an example of processing of a partial read command according to the present embodiment.
  • the partial read command CD2 in the partial read command CD2, "02" of the offset information (OF1) and a data length of "02" (2 bytes) are designated.
  • the decryption key information corresponding to 2 bytes from the offset information (OF1) is “11” in the decryption key information (KEY11) and “94” in the decryption key information (KEY12).
  • each data is represented in hexadecimal. Further, it is assumed that the encoded genome information EGD1 is stored in the file FD1.
  • the command processing unit 52 When the command processing unit 52 receives the partial read command CD2 described above, it starts from the second byte of the encoded genome information EGD1 based on "02" of the offset information (OF1) and "02" of the data length.
  • the two-byte data “4578” is read out, XORed with “113 F” of the decryption key information (KEY11 and KEY12), and decrypted to generate partial data “5447” of genome information.
  • the command processing unit 52 sets 2 bytes of the decoded partial data “5447” as partial data GD12 of genome information, and transmits a response including the partial data GD12 to the external device 2.
  • the command processing unit 52 includes a partial read command including offset information, decryption key information, and a data length indicating the length of data read from the read start position ( In response to the read request, the data of the data length from the read start position is decrypted based on the decryption key information, and the decrypted data is transmitted to the external device 2.
  • the IC card 1 according to the present embodiment can efficiently read necessary data by one command process while securing security for partial data continuous from the reading start position indicated by the offset information. Therefore, the IC card 1 according to the present embodiment can improve convenience while securing security.
  • the command processing unit 52 based on the decryption key information that differs for each predetermined unit size (for example, 1 byte), for the data length from the read start position according to the partial read command. Then, the data is decoded for each predetermined unit size (for example, 1 byte), and the decoded data is transmitted to the external device 2.
  • the IC card 1 according to the present embodiment can easily decode partial data with a predetermined unit size.
  • an IC card 1 according to a third embodiment will be described with reference to the drawings.
  • a modification of the partial read command corresponding to the block encryption will be described.
  • the basic configuration of the IC card 1 according to the present embodiment is the same as that of the first embodiment shown in FIGS. 1 to 3, and the processing relating to the partial read command is different.
  • genome information is encrypted by block encryption such as AES (Advanced Encryption Standard) or DES (Data Encryption Standard), for example, and stored in the AP data storage unit 82.
  • the command processing unit 52 responds to the partial read command received from the external device 2, for example, a predetermined length from the read start position indicated by the offset information in the encoded genomic information (for example, The data of 16 bytes is decrypted based on the decryption key information, and the decrypted data is transmitted as a response (process response) to the external device 2.
  • the command processing unit 52 executes decryption of the AES encryption in block units using 16-byte data (encryption data) of the read start position indicated by the offset information and A partial data of information is transmitted as a response to the external device 2 via the communication unit 40.
  • the block unit of AES is 16 bytes.
  • the command processing unit 52 determines data of a predetermined length (for example, 1 byte) from the read start position based on decryption key information different for each predetermined unit size (for example, 1 block).
  • the unit data is decoded per unit size (for example, one block), and the decoded data is transmitted to the external device 2.
  • FIG. 11 is a diagram showing an example of the encoding process of genomic information according to the present embodiment.
  • genome information GD2 is data in which a base sequence is represented by a character string, and is a data string in which each character is encoded.
  • the encryption key BK1 and the encryption key BK2 are block encryption key (which also serves as a decryption key for common key encryption).
  • the encryption key BK1 and the encryption key BK2 have a size equal to the block length, and are also used as a decryption key.
  • the external device 2 When registering the genomic information GD2 of the user in the IC card 1, the external device 2 which is the issuing device blocks the genomic information GD2 using the encryption key (BK1, BK2,%) Generated by the key management device 9 Genomic information EGD2 including encrypted blocks (EB1, EB2,%) Obtained by encrypting (B1, B2,7) Is generated.
  • the external device 2 stores the generated encoded genome information EGD2 in a predetermined file (for example, EF) of the AP data storage unit 82 using a write command, an issuance command, and the like.
  • a predetermined file for example, EF
  • FIG. 12 is a flowchart showing an example of processing of a partial read command according to the present embodiment.
  • the encoded genome information EGD2 as shown in FIG. 11 is stored in a predetermined file (for example, EF) of the AP data storage unit 82 of the IC card 1.
  • the external device 2 here is, for example, a terminal device of a user of genome information, and it is assumed that decryption key information corresponding to partial data of genome information to be used is acquired from the key management device 9. .
  • step S301 in the state where external device 2 and IC card 1 are connected through contact portion 3 and IC card 1 is activated, IC card 1 determines whether or not a command has been received (step S301).
  • step S301 and step S302 since the process of step S301 and step S302 is the same as the process of step S101 shown in FIG. 6 mentioned above and step S102, the description is abbreviate
  • step S302 if the received command is not a partial read command (step S302: NO), the command processing unit 52 advances the process to step S307.
  • step S303 the command processing unit 52 acquires data of the read start position indicating the offset information of the designated file in block units.
  • the command processing unit 52 causes the file management unit 51 to specify the storage location of the designated file based on the management information (for example, directory information) stored in the file management information storage unit 81, and acquires the storage location.
  • the command processing unit 52 specifies the reading start position from the storage position of the acquired file based on the offset information. For example, the command processing unit 52 reads and acquires data in block units of the read start position from the AP data storage unit 82.
  • the command processing unit 52 decrypts the acquired data in block units using decryption key information (step S304).
  • the command processing unit 52 executes block cipher decryption processing of acquired data (for example, one block) by using decryption key information (for example, one block) corresponding to the read start position included in the received partial read command. And decrypt the encrypted genomic information.
  • step S305 determines whether there is the next offset information. If there is the next offset information (step S305: YES), the command processing unit 52 returns the process to step S303, and repeats the process from step S303 to step S305. Also, if there is no next offset information (step S305: NO), the command processing unit 52 advances the process to step S306.
  • step S306 to step S308 are similar to the processes of step S106 to step S108 shown in FIG. 6, and thus the description thereof is omitted here.
  • FIG. 13 is a diagram for explaining an example of processing of a partial read command according to the present embodiment.
  • “01” of the offset information (OF1) and “11” of the offset information (OF2) are designated in the partial read command CD3.
  • the decryption key information (BK1) corresponding to the offset information (OF1) is "XXXX "
  • the decryption key information (BK2) corresponding to the offset information (OF2) is "YYYY " is there.
  • each data except the decryption key information (BK1 and BK2) of the body portion is represented in hexadecimal.
  • genome information EGD2 including encrypted encrypted blocks (EB1, EB2,...) Is stored in the file FD1.
  • the command processing unit 52 reads the encrypted block EB1 from the first byte of the encoded genome information EGD2 based on “01” of the offset information (OF1) when the partial read command CD3 described above is received,
  • the decryption key information BK1 is decrypted in block units to generate a block B1 which is partial data of genome information.
  • the command processing unit 52 reads the encrypted block EB2 from the 17th byte of the encoded genome information EGD2 based on "11" of the offset information (OF2), and decrypts the block unit by the decryption key information BK2. And generate block B2, which is partial data of genomic information.
  • the command processing unit 52 puts the block B1 and the block B2 which are the decoded partial data together into partial data GD21 of genome information, and transmits a response including the partial data GD21 to the external device 2.
  • the partial read command when the partial data to be read spans two (plural) cryptographic blocks, the partial read command includes two (plural) decryptions corresponding to the two (plural) cryptographic blocks. Key information is included.
  • the command processing unit 52 decrypts in block units according to the corresponding decryption key information, and transmits partial data from the read start position to the external device 2.
  • the command processing unit 52 sets data of a data length from the read start position to a predetermined unit size (for example, 1 block) according to the partial read command. Based on different decryption key information, decryption is performed for each predetermined unit size (for example, one block), and the decrypted data is transmitted to the external device 2.
  • the IC card 1 according to the present embodiment can easily decode partial data with a predetermined unit size (block). Further, since the IC card 1 according to the present embodiment can decrypt encrypted data, for example, in block units, it can efficiently encrypt or decrypt when the amount of data to be encrypted or decrypted is large.
  • the IC card 1 reads partial data of genome information by a partial read command, but the present invention is not limited to this.
  • the IC card 1 indicates predetermined information by a sequence of characters, and if it is information (personal information, secret information, etc.) that requires acquisition of a required partial data
  • the processing of the partial read command may be applied to other information.
  • the common key encryption method in which the encryption key and the decryption key use a common key is described.
  • the present invention is not limited thereto, and public key encryption in which the encryption key and the decryption key are different A scheme may be used.
  • a plurality of offset information may be included in the partial read command as in the first and third embodiments.
  • the data length may be applied to the partial read command.
  • the partial read command may be executed after performing authentication processing such as password authentication or mutual authentication.
  • authentication processing such as password authentication or mutual authentication.
  • data encrypted using secure messaging may be used as the partial data read by the partial read command.
  • the offset information is specified as the reading start position in byte units, but may be specified in bit units or word units such as 16 bits and 32 bits.
  • the command processing unit 52 performs XOR operation processing in units of 1 byte and transmits partial data of integral multiples of 1 byte to the external device 2.
  • the partial data of an integer multiple of 1 bit or 1 word may be transmitted to the external device 2 by performing an XOR operation in 1 bit unit or 1 word unit.
  • encryption and decryption are performed block by block using different encryption keys (decryption keys) for each block, but a plurality of encryption keys (decryption keys) are used to generate a plurality of blocks.
  • the block may be encrypted and decrypted by applying a cryptographic usage mode such as CBC (Cipher Block Chaining) mode.
  • CBC Cipher Block Chaining
  • the key management device 9 manages the decryption key (common to all blocks), the initialization vector for the CBC mode, and the genome information (cipher block) encrypted in the CBC mode. Do.
  • the key management device 9 transmits, to the external device 2 as the decryption key information, the encryption block immediately before the reading start position indicated by the offset information and the decryption key.
  • the key management device 9 transmits the initialization vector and the decryption key to the external device 2 as decryption key information.
  • the external device 2 transmits to the IC card 1 a partial read command including the immediately preceding cipher block (or initialization vector) and the decryption key as decryption key information.
  • the command processing unit 52 of the IC card 1 decrypts the encrypted block at the reading start position indicated by the offset information with the immediately preceding encrypted block (or initialization vector) and the decryption key. Specifically, the command processing unit 52 decrypts the encrypted block at the start position with the decryption key, and then performs an XOR operation with the immediately preceding encrypted block (or an initialization vector) to decrypt the encrypted block.
  • the decryption key information includes the decryption key and additional information such as an initialization vector or preceding and following encrypted blocks, as in the above-described CBC mode.
  • the IC card 1 communicates with the external device 2 through the contact portion 3.
  • the IC card 1 communicates with the external device 2 through a contactless interface using a coil or the like. You may configure it.
  • the IC card 1 is configured to include the EEPROM 8 as a rewritable non-volatile memory, but the present invention is not limited to this.
  • the IC card 1 may be provided with a flash memory, a FeRAM (Ferroelectric Random Access Memory), or the like instead of the EEPROM 8.
  • the portable electronic device may be, for example, an electronic device such as an IC tag that is not card shaped.
  • the AP data storage unit 82 that stores data that is decodably encrypted based on different decryption key information corresponding to the read start position, and read of the encrypted data Of the encrypted data according to the partial read command including at least offset information indicating the start position and decryption key information corresponding to the offset information, a predetermined length of the encoded data from the read start position indicated by the offset information
  • a data storage unit for storing data that is decipherably encrypted based on different decryption key information corresponding to the read start position;
  • a storage unit for storing information;
  • a hardware processor that executes a program stored in the storage unit;
  • the hardware processor executes the program to A read request received from an external device, the read request including at least offset information indicating a read start position of the encrypted data stored in the data storage unit, and decryption key information corresponding to the offset information. Accordingly, data of a predetermined length from the read start position indicated by the offset information among the encrypted data is decrypted based on the decryption key information.
  • Portable electronic devices which are configured as follows.
  • a program for realizing the function of each component provided in the IC card 1 and the IC card system 150 in the embodiment is recorded in a computer readable recording medium, and the program recorded in the recording medium is read into the computer system.
  • the processing in each configuration provided in the IC card 1 and the IC card system 150 described above may be performed by executing and executing.
  • "to read and execute the program recorded on the recording medium into the computer system” includes installing the program on the computer system.
  • the “computer system” mentioned here includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” means a portable medium such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built in a computer system.

Abstract

実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。

Description

携帯可能電子装置、及びICモジュール
 本発明の実施形態は、携帯可能電子装置、及びICモジュールに関する。
 近年、IC(Integrated Circuit)チップを内蔵したICカードなどの携帯可能電子装置が広く使用されている。例えば、改正個人情報保護法によって、取扱いに特別な留意が必要な情報として、ゲノム情報が個人情報に含まれることになり、そういったゲノム情報の管理にも、ICカードなどの携帯可能電子装置を活用することが検討されている。ゲノム情報は、すべてを公にすべきではなく、また、民間利用にあたっても、必要とされる情報は一部に限られるという性質を有している。例えば、薬剤処方には、ゲノム情報のうちの、当該薬剤処方に関連する一部の情報があれば十分である場合もある。しかしながら、従来の携帯可能電子装置では、特定のファイルごとにアクセス権が設定されており、認証成功などの定められた条件を満たせば、読み出しコマンドを使用してファイル全体を読み出すことが可能である。そのため、従来の携帯可能電子装置では、ゲノム情報の利用に必要な一部の情報以外の情報も読み出せてしまう可能性があり、セキュリティが低下する場合があった。
特開2005-122402号公報
 本発明が解決しようとする課題は、セキュリティを確保しつつ、必要なデータを読み出すことができる携帯可能電子装置、及びICモジュールを提供することである。
 実施形態の携帯可能電子装置は、データ記憶部と、処理部とを持つ。データ記憶部は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。処理部は、外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する。
第1の実施形態のICカードの一例を示す外観図。 第1の実施形態のICカードのハードウェア構成例を示す図。 第1の実施形態のICカードの機能構成例を示すブロック図。 第1の実施形態の部分読み出しコマンドのデータフォーマット例を示す図。 第1の実施形態のゲノム情報の暗号化処理の一例を示す図。 第1の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。 第1の実施形態の部分読み出しコマンドの処理の一例を説明する図。 第2の実施形態の部分読み出しコマンドのデータフォーマット例を示す図。 第2の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。 第2の実施形態の部分読み出しコマンドの処理の一例を説明する図。 第3の実施形態のゲノム情報の暗号化処理の一例を示す図。 第3の実施形態の部分読み出しコマンドの処理の一例を示すフローチャート。 第3の実施形態の部分読み出しコマンドの処理の一例を説明する図。
 以下、実施形態の携帯可能電子装置、及びICモジュールを、図面を参照して説明する。
 (第1の実施形態)
 図1は、第1の実施形態のICカード1の一例を示す外観図である。また、図1は、第1の実施形態のICカードシステム150の構成例を示している。
 図1に示すように、ICカードシステム150は、ICカード1と、外部装置2と、鍵管理装置9とを備える。
 ICカード1は、ICモジュール10を備える。ICモジュール10は、コンタクト部3と、内部にICチップ100とを備える。
 ICカード1は、例えば、プラスチックのカード基材PT(カード本体の一例)に、ICモジュール10を実装して形成されている。すなわち、ICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PTとを備える。また、ICカード1は、コンタクト部3を介して外部装置2と通信可能である。
 なお、本実施形態では、携帯可能電子装置の一例として、ICカード1について説明する。
 ICカード1は、例えば、外部装置2が送信したコマンド(処理要求)を、コンタクト部3を介して電気的に受信し、受信したコマンドに応じた処理(コマンド処理)を実行する。そして、ICカード1は、コマンド処理の実行結果であるレスポンス(処理応答)を外部装置2にコンタクト部3を介して電気的に送信する。また、ICカード1は、ゲノム情報を個人情報(秘密情報)として記憶し、コマンド処理(部分読み出しコマンドの処理)によって、ゲノム情報のうちの一部を読み出す機能を有している。
 ここで、外部装置2は、ICカード1と通信する装置であり、例えば、リーダ/ライタ装置を含む端末装置などである。また、ゲノム情報は、利用者の塩基配列を示すデータ(ゲノムデータ)を含み、ゲノムの配列データの中で意味を有する一部の情報である。また、ゲノムデータは、例えば、塩基配列を文字列で表記したデータであり、ゲノム情報は、例えば、ゲノムデータに解釈を付加した情報である。
 鍵管理装置9は、暗号鍵及び復号鍵を管理する装置であり、例えば、上述したゲノム情報を暗号化する暗号鍵、及び暗号化されたゲノム情報を復号する復号鍵を生成し、生成した暗号鍵及び復号鍵を保持する。なお、ゲノム情報は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号できるように暗号化されてICカード1に記憶される。そのため、鍵管理装置9は、例えば、ゲノム情報又はゲノム情報を識別する識別情報と、暗号化されたゲノム情報を復号する復号鍵情報とを対応付けて記憶する。鍵管理装置9は、上述した外部装置2が、ICカード1からゲノム情報の部分データを読み出す際に、オフセット情報に対応する復号鍵情報を外部装置2に提供する。
 ICモジュール10は、コンタクト部3と、ICチップ100とを備え、例えば、テープ上にICモジュール10が複数配置されたCOT(Chip On Tape)などの形態で取引されるモジュールである。なお、テープから個片抜きして切り離した単体のICモジュール10をCOTという場合がある。
 コンタクト部3は、ICカード1が動作するために必要な各種信号の端子を有している。ここで、各種信号の端子には、電源電圧、クロック信号、リセット信号などを外部装置2から供給を受ける端子、及び、外部装置2と通信するためのシリアルデ―タ入出力端子(SIO端子)が含まれる。
 ICチップ100は、例えば、1チップのマイクロプロセッサなどのLSI(Large Scale Integration)である。
 次に、図2を参照して、本実施形態のICカード1のハードウェア構成について説明する。
 図2は、本実施形態のICカード1のハードウェア構成例を示す図である。
 図2に示すように、ICカード1は、コンタクト部3と、ICチップ100とを備えたICモジュール10を備えている。そして、ICチップ100は、UART(Universal Asynchronous Receiver Transmitter)4と、CPU5と、ROM(Read Only Memory)6と、RAM(Random Access Memory)7と、EEPROM(Electrically Erasable Programmable ROM)8とを備えている。また、各構成(4から8)は、内部バスBS1を介して接続されている。
 UART4は、上述したSIO端子を介して、外部装置2とシリアルデータ通信を行う。UART4は、SIO端子を介して受信したシリアルデータ信号をパラレル変換したデータ(例えば、1バイトのデータ)を内部バスBS1に出力する。また、UART4は、内部バスBS1を介して取得したデータをシリアル変換して、SIO端子を介して外部装置2に出力する。UART4は、例えば、SIO端子を介してコマンドを外部装置2から受信する。また、UART4は、SIO端子を介してレスポンスを外部装置2に送信する。
 CPU5は、ROM6又はEEPROM8に記憶されているプログラムを実行して、ICカード1の各種処理を行う。CPU5は、例えば、コンタクト部3を介して、UART4が受信したコマンドに応じたコマンド処理を実行する。
 ROM6は、例えば、マスクROMなどの不揮発性メモリであり、ICカード1の各種処理を実行するためのプログラム、及びコマンドテーブルなどのデータを記憶する。
 RAM7は、例えば、SRAM(Static RAM)などの揮発性メモリであり、ICカード1の各種処理を行う際に利用されるデータを一時記憶する。
 EEPROM8は、例えば、電気的に書き換え可能な不揮発性メモリである。EEPROM8は、ICカード1が利用する各種データを記憶する。EEPROM8は、例えば、ICカード1を利用した各種サービス(アプリケーション)に使用される情報を記憶する。
 次に、図3を参照して、本実施形態によるICカード1の機能構成例について説明する。
 図3は、本実施形態のICカード1の機能構成例を示すブロック図である。
 図3に示すように、ICカード1は、通信部40と、制御部50と、ファイル管理情報記憶部81と、APデータ記憶部82とを備える。
 ここで、図3に示されるICカード1の各部は、図2に示されるICカード1のハードウェアを用いて実現される。
 通信部40は、例えば、UART4と、CPU5と、ROM6に記憶されているプログラムとにより実現され、コンタクト部3を介して、例えば、外部装置2との間でコマンド及びレスポンスの送受信を行う。すなわち、通信部40は、所定の処理を要求するコマンド(処理要求)を外部装置2から受信するとともに、コマンドに対するレスポンス(処理応答)を外部装置2に送信する。
 ファイル管理情報記憶部81は、例えば、EEPROM8により構成された記憶部であり、データを記憶する各種ファイルを管理する管理情報(例えば、ディレクトリ情報)を記憶する。ファイル管理情報記憶部81は、例えば、ファイル名、ファイルIDなどのファイル識別情報と、ファイルの先頭のアドレス(以下、ファイルの先頭アドレスという)とを対応付けて記憶する。ここで、ファイルの先頭アドレスは、例えば、EEPROM8の物理アドレスである。ICカード1において、各ファイルの選択、又は、各ファイルにアクセス処理を実行する場合には、ファイル管理情報記憶部81が記憶するファイル管理情報に基づいて、各ファイルの選択、又は、各ファイルにアクセス処理を実行する。ここで、アクセス処理とは、データの読み出し、書き込み、更新などの処理のことである。
 AP(アプリケーション)データ記憶部82(データ記憶部の一例)は、例えば、EEPROM8により構成された記憶部であり、アプリケーションデータを記憶する。APデータ記憶部82は、MF(Master File)、DF(Dedicated File)、EF(Elementary File)などのファイルが階層構造になって記憶されている。
 また、APデータ記憶部82は、上述したゲノム情報を記憶するファイル(例えば、EF)を有しており、当該ファイルには、ゲノム情報が暗号化されて記憶される。なお、ゲノム情報は、読み出しを許可した者(例えば、ゲノム情報の利用業者など)が必要な部分データを読み出し、必要以外のデータを読み出せないように、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されている。このように、APデータ記憶部82は、暗号化されたゲノム情報をファイル単位で記憶している。また、本実施形態では、ゲノム情報は、例えば、ゲノム情報と等しいサイズの乱数列を暗号鍵及び復号鍵とし、当該乱数列と、ゲノム情報とをXOR(排他的論理和)演算処理して、暗号化する。また、ゲノム情報の暗号化処理及び復号処理の詳細については後述する。
 制御部50は、例えば、CPU5と、RAM7と、ROM6又はEEPROM8とにより実現され、ICカード1を統括的に制御する。制御部50は、ファイル管理部51と、コマンド処理部52とを備える。
 ファイル管理部51は、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、APデータ記憶部82内のファイルを管理する。ファイル管理部51は、例えば、APデータ記憶部82内の各ファイルへのアクセス権を管理する。ファイル管理部51は、例えば、ファイルへのアクセス処理を実行する際に、ファイル管理情報記憶部81が記憶する管理情報を検索して、ファイルの記憶場所を特定する。
 コマンド処理部52(処理部の一例)は、外部装置2からICカード1に送信されたコマンド(処理要求)に応じて、各種コマンドの処理(コマンド処理)を実行する。コマンド処理部52は、例えば、通信部40を介して外部装置2から受信したコマンドに応じて、コマンド処理を実行する。また、コマンド処理部52は、コマンド処理の結果であるレスポンスを、通信部40を介して外部装置2に送信する。
 また、コマンド処理部52は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド(読み出し要求の一例)を実行する。ここで、部分読み出しコマンドには、図4に示すように、オフセット情報と、復号鍵情報とを含んでいる。
 図4は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
 図4に示すように、読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含んでいる。また、ヘッダ部には、コマンドの識別情報である「CLA」及び「INS」と、コマンドパラメータの「P1」及び「P2」とが含まれる。
 また、ボディ部には、「Lc」と、「オフセット情報」と、「復号鍵情報」と、「Le」とが含まれる。ここで、「Lc」は、コマンドにおける入力データのサイズを示し、「Le」は、コマンドにより出力される出力データの最大サイズを示す。また、「オフセット情報」は、指定したファイル内の暗号化されたデータ(例えば、暗号化されたゲノム情報)の読み出し開始位置を示す。
 また、「復号鍵情報」は、オフセット情報に対応する復号鍵情報を示す。すなわち、「復号鍵情報」は、オフセット情報が示す読み出し開始位置から所定の単位サイズ(単位長さ、例えば、1バイト)のデータを読み出す際に、復号処理に用いる復号鍵情報を示している。
 また、図4に示す例では、複数の位置のデータを1回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、複数の「オフセット情報」(OF1、OF2、・・・)及び「復号鍵情報」(KEY11、KEY12、・・・)が含まれている。
 図3の説明に戻り、コマンド処理部52は、外部装置2から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス(処理応答)として、外部装置2に送信する。
 例えば、コマンド処理部52は、オフセット情報が示す読み出し開始位置の1バイトのデータ(暗号データ)と、1バイトの復号鍵情報とをXOR演算処理して復号し、復号したデータ(ゲノム情報の部分データ)をレスポンスとして、通信部40を介して、外部装置2に送信する。このように、コマンド処理部52は、読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
 次に、図面を参照して本実施形態によるICカード1及びICカードシステム150の動作について説明する。
 まず、図5を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
 図5は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
 図5において、ゲノム情報GD1は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵KEY1は、鍵管理装置9が生成した乱数列である。暗号鍵KEY1は、ゲノム情報と等しいサイズであり、復号鍵としても使用される。なお、この図において、コード化された各データは、16進数(ヘキサデシマル)で表記されている。
 ICカード1に利用者のゲノム情報GD1を登録する際に、発行機である外部装置2は、鍵管理装置9が生成した暗号鍵KEY1と、ゲノム情報GD1とを1ビット単位(又は1バイト単位)でXOR処理して、暗号化されたゲノム情報EGD1を生成する。外部装置2は、生成した暗号化されたゲノム情報EGD1を、書き込みコマンドや、発行用コマンドなどを使用して、APデータ記憶部82の所定のファイル(例えば、EF)に記憶させる。
 次に、図6及び図7を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
 図6は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
 図6において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
 図6において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS101)。すなわち、ICカード1の通信部40は、UART4を介して、外部装置2からコマンドを受信したか否かを判定する。通信部40は、コマンドを受信した場合(ステップS101:YES)に、処理をステップS102に進める。また、通信部40は、コマンドを受信していない場合(ステップS101:NO)に、処理をステップS101に戻し、ステップS101の処理を繰り返す。
 ステップS102において、ICカード1のコマンド処理部52は、受信したコマンドが部分読み出しコマンドであるか否かを判定する。コマンド処理部52は、例えば、受信したコマンド電文のうちの「CLA」及び「INS」に基づいて、部分読み出しコマンドであるか否かを判定する。コマンド処理部52は、受信したコマンドが部分読み出しコマンドである場合(ステップS102:YES)に、処理をステップS103に進める。また、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS102:NO)に、処理をステップS107に進める。
 ステップS103において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置のデータを取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置の1バイトのデータ(暗号化されたゲノム情報の所定の位置の1バイトのデータ)をAPデータ記憶部82から読み出して取得する。
 次に、コマンド処理部52は、所得したデータを復号鍵情報で復号する(ステップS104)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報(例えば、1バイト)と、所得したデータ(例えば、1バイト)とをXOR演算処理して、暗号化されたゲノム情報を復号する。
 次に、コマンド処理部52は、次のオフセット情報があるか否かを判定する(ステップS105)。コマンド処理部52は、受信した部分読み出しコマンドを確認し、次のオフセット情報があるか否かを判定する。コマンド処理部52は、次のオフセット情報がある場合(ステップS105:YES)に、処理をステップS103に戻して、ステップS103からステップS105の処理を繰り返す。また、コマンド処理部52は、次のオフセット情報がない場合(ステップS105:NO)に、処理をステップS106に進める。
 ステップS106において、コマンド処理部52は、復号したデータ(ゲノム情報の部分データ)を含むレスポンスを外部装置2に送信する。コマンド処理部52は、例えば、復号したデータ(ゲノム情報の部分データ)及び結果情報(ステータス情報SW1及びSW2)を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS106の処理後に、コマンド処理部52は、処理をステップS101に戻す。
 また、ステップS107において、コマンド処理部52は、他のコマンド処理を実行する。
 次に、コマンド処理部52は、レスポンスを送信する(ステップS108)。コマンド処理部52は、例えば、他のコマンド処理の結果情報を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS108の処理後に、コマンド処理部52は、処理をステップS101に戻す。
 また、図7は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
 図7に示す例では、部分読み出しコマンドCD1において、オフセット情報(OF1)の“02”及びオフセット情報(OF2)の“07”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(KEY11)は、“11”であり、オフセット情報(OF2)に対応する復号鍵情報(KEY12)は、“94”である。なお、図7において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
 コマンド処理部52は、上述した部分読み出しコマンドCD1を受信した場合に、オフセット情報(OF1)の“02”に基づいて、暗号化されたゲノム情報EGD1の2バイト目のデータ“45”を読み出し、復号鍵情報(KEY11)の“11”とXOR処理して復号し、ゲノム情報の部分データ“54”を生成する。また、コマンド処理部52は、オフセット情報(OF2)の“07”に基づいて、暗号化されたゲノム情報EGD1の7バイト目のデータ“D5”を読み出し、復号鍵情報(KEY12)の“94”とXOR処理して復号し、ゲノム情報の部分データ“41”を生成する。
 コマンド処理部52は、復号した部分データ“54”及び“41”をまとめて、ゲノム情報の部分データGD11とし、部分データGD11を含むレスポンスを、外部装置2に送信する。
 以上説明したように、本実施形態によるICカード1(携帯可能電子装置)は、APデータ記憶部82(データ記憶部)と、コマンド処理部52(処理部)とを備える。APデータ記憶部82は、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータ(例えば、ゲノム情報)を記憶する。コマンド処理部52は、外部装置2から受信した読み出し要求(部分読み出しコマンド)に応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。ここで、読み出し要求(部分読み出しコマンド)は、APデータ記憶部82が記憶する暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む。
 これにより、本実施形態によるICカード1は、オフセット情報に対応する復号鍵情報により必要な部分データを復号して読み出すため、例えば、ゲノム情報の利用に必要な一部の情報を適切に読み出すことができ、必要な一部の情報以外の情報を読み出すことがでない。よって、本実施形態によるICカード1は、セキュリティを確保しつつ、必要な部分データ(例えば、ゲノム情報などの秘密情報の部分データ)を読み出すことができる。
 例えば、本実施形態によるICカード1では、ゲノム情報の薬剤処方に関連する一部の情報(例えば、SNP(Single Nucleotide Polymorphism、一塩基多型、個人間の遺伝情報のわずかな違いのこと))を、他の情報を開示させずに、読み出すことが可能になる。
 また、本実施形態では、APデータ記憶部82は、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶する。コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からの所定の長さのデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
 これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
 また、本実施形態では、APデータ記憶部82は、暗号化されたデータをファイル単位(例えば、EF単位)に記憶する。コマンド処理部52は、部分読み出しコマンドに応じて、指定されたファイルに対応する暗号化されたデータ(例えば、ゲノム情報)のうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。
 これにより、本実施形態によるICカード1は、暗号化されたデータ(例えば、ゲノム情報)の管理が容易になるとともに、ファイルの形式を変更することで暗号化されたデータ(例えば、ゲノム情報)以外の他の情報を容易に記憶させることができる。そのため、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
 また、本実施形態では、APデータ記憶部82は、暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する。
 これにより、本実施形態によるICカード1は、セキュリティを確保しつつ、ゲノム情報の部分データを読み出すことができる。
 また、本実施形態によるICカード1は、ICモジュール10と、ICモジュール10が埋め込まれたカード基材PT(カード本体)とを備える。そして、本実施形態によるICモジュール10は、上述したAPデータ記憶部82(データ記憶部)と、コマンド処理部52(処理部)とを備える。
 これにより、本実施形態によるICモジュール10は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データを読み出すことができる。
 また、本実施形態によるICカードシステム150は、上述したICカード1と、外部装置2と、鍵管理装置9とを備える。外部装置2は、鍵管理装置9からオフセット情報に対応する復号鍵情報を取得し、オフセット情報と、取得した復号鍵情報とを含む部分読み出しコマンドをICカード1に送信して、例えば、ゲノム情報の部分データを読み出す。
 これにより、本実施形態によるICカードシステム150は、上述したICカード1と同様の効果を奏し、セキュリティを確保しつつ、必要な部分データ(例えば、ゲノム情報の部分データ)を読み出すことができることができる。
 (第2の実施形態)
 次に、図面を参照して、第2の実施形態によるICカード1について説明する。
 なお、本実施形態によるICカード1では、データ長を含む部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1~図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
 本実施形態におけるコマンド処理部52は、例えば、ゲノム情報などの秘密情報を読み出す際に、ゲノム情報などにファイル内のデータの一部を読み出す、部分読み出しコマンド(読み出し要求の一例)を実行する。コマンド処理部52は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンドに応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。ここで、部分読み出しコマンドには、図8に示すように、オフセット情報と、データ長と、復号鍵情報とを含んでいる。
 図8は、本実施形態の部分読み出しコマンドのデータフォーマット例を示す図である。
 図8に示すように、本実施形態の読み出しコマンドのコマンド電文には、ヘッダ部と、ボディ部とを含み、ヘッダ部には、上述した第1の実施形態と同様である。
 また、ボディ部には、「Lc」と、「オフセット情報」と、「データ長」と、「復号鍵情報」と、「Le」とが含まれる。ここで、「データ長」は、読み出し開始位置から読み出すデータ長を示している。また、他の「Lc」「オフセット情報」、「復号鍵情報」、及び「Le」は、上述した第1の実施形態と同様である。
 なお、本実施形態では、1つの「オフセット情報」に対して、「データ長」の値に応じて、複数の「復号鍵情報」を指定することが可能である。
 図8に示す例では、複数「復号鍵情報」に対応する「データ長」のデータを1回のコマンド処理で読み出しできるように、部分読み出しコマンドのコマンド電文には、1つの「オフセット情報」(OF1)及び「データ長」と、複数の「復号鍵情報」(KEY11、KEY12、・・・)が含まれている。
 次に、図面を参照して本実施形態によるICカード1の動作について説明する。
 本実施形態におけるゲノム情報の暗号化処理は、上述した図5に示す第1の実施形態と同様であるため、ここではその説明を省略する。
 次に、図9及び図10を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
 図9は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
 図9において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図5に示すような暗号化されたゲノム情報EGD1が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
 図9において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS201)。なお、図9において、ステップS201及びステップS202の処理は、上述した図6に示すステップS101及びステップS102の処理と同様であるため、ここではその説明を省略する。但し、ステップS202において、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS202:NO)に、処理をステップS206に進める。
 ステップS203において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置からデータ長分のデータを取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報から、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置からデータ長分のデータ(暗号化されたゲノム情報の所定の位置のデータ長分のデータ)をAPデータ記憶部82から読み出して取得する。
 次に、コマンド処理部52は、所得したデータを復号鍵情報で復号する(ステップS204)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置からデータ長分に対応する復号鍵情報と、所得したデータ長分のデータとをXOR演算処理して、暗号化されたゲノム情報を復号する。
 次に、コマンド処理部52は、復号したデータ(ゲノム情報の部分データ)を含むレスポンスを外部装置2に送信する(ステップS205)。コマンド処理部52は、例えば、復号したデータ(ゲノム情報の部分データ)及び結果情報(ステータス情報SW1及びSW2)を含むレスポンスを、通信部40を介して、外部装置2へ送信させる。ステップS205の処理後に、コマンド処理部52は、処理をステップS201に戻す。
 また、ステップS206及びステップS207の処理は、上述した図6に示すステップS107及びステップS108の処理と同様であるため、ここではその説明を省略する。
 また、図10は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
 図10に示す例では、部分読み出しコマンドCD2において、オフセット情報(OF1)の“02”と、データ長が“02”(2バイト)が指定されている。また、オフセット情報(OF1)からの2バイトに対応する復号鍵情報は、復号鍵情報(KEY11)が“11”であり、復号鍵情報(KEY12)は、“94”である。なお、図10において、各データは、16進数で表記されている。また、ファイルFD1には、暗号化されたゲノム情報EGD1が記憶されているものとする。
 コマンド処理部52は、上述した部分読み出しコマンドCD2を受信した場合に、オフセット情報(OF1)の“02”及びデータ長の“02”に基づいて、暗号化されたゲノム情報EGD1の2バイト目からの2バイトデータ“4578”を読み出し、復号鍵情報(KEY11及びKEY12)の“113F”とXOR処理して復号し、ゲノム情報の部分データ“5447”を生成する。
 コマンド処理部52は、復号した部分データ“5447”の2バイトを、ゲノム情報の部分データGD12とし、部分データGD12を含むレスポンスを、外部装置2に送信する。
 以上説明したように、本実施形態によるICカード1では、コマンド処理部52は、オフセット情報と、復号鍵情報と、読み出し開始位置から読み出すデータの長さを示すデータ長とを含む部分読み出しコマンド(読み出し要求)に応じて、読み出し開始位置からデータ長のデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信する。
 これにより、本実施形態によるICカード1は、オフセット情報が示す読み出し開始位置から連続した部分データを、セキュリティを確保しつつ、1回のコマンド処理により効率良く必要なデータを読み出すことができる。よって、本実施形態によるICカード1は、セキュリティを確保しつつ、利便性を向上させることができる。
 また、本実施形態では、コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ(例えば、1バイト)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1バイト)ごとに復号し、復号した当該データを外部装置2に送信する。
 これにより、本実施形態によるICカード1は、所定の単位サイズにより部分データを容易に復号することができる。
 (第3の実施形態)
 次に、図面を参照して、第3の実施形態によるICカード1について説明する。
 なお、本実施形態によるICカード1では、ブロック暗号に対応した部分読み出しコマンドの変形例について説明する。なお、本実施形態によるICカード1の基本的な構成は、図1~図3に示す第1の実施形態と同様であり、部分読み出しコマンドに関する処理が異なる。
 本実施形態では、ゲノム情報は、例えば、AES(Advanced Encryption Standard)やDES(Data Encryption Standard)などのブロック暗号により暗号化されて、APデータ記憶部82に記憶されている。
 また、コマンド処理部52は、外部装置2から受信した一部読み出しコマンドに応じて、例えば、暗号化されたゲノム情報のうちの、オフセット情報が示す読み出し開始位置からの所定の長さ(例えば、16バイト)のデータを、復号鍵情報に基づいて復号し、復号した当該データをレスポンス(処理応答)として、外部装置2に送信する。
 例えば、コマンド処理部52は、オフセット情報が示す読み出し開始位置の16バイトのデータ(暗号データ)と、16バイトの復号鍵情報とによりブロック単位でAES暗号の復号を実行し、復号したデータ(ゲノム情報の部分データ)をレスポンスとして、通信部40を介して、外部装置2に送信する。ここで、AESのブロック単位は、16バイトである。このように、コマンド処理部52は、読み出し開始位置からの所定の長さ(例えば、1バイト)のデータを、所定の単位サイズ(例えば、1ブロック)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1ブロック)ごとに復号し、復号した当該データを外部装置2に送信する。
 次に、図面を参照して本実施形態によるICカード1及びICカードシステム150の動作について説明する。
 まず、図11を参照して、本実施形態におけるゲノム情報の暗号化処理の詳細について説明する。
 図11は、本実施形態のゲノム情報の暗号化処理の一例を示す図である。
 図11において、ゲノム情報GD2は、塩基配列を文字列で表記したデータであり、各文字をコード化したデータ列になっている。また、暗号鍵BK1及び暗号鍵BK2は、ブロック暗号の暗号鍵(共通鍵暗号のため復号鍵を兼ねる)である。暗号鍵BK1及び暗号鍵BK2は、ブロック長に等しいサイズであり、復号鍵としても使用される。
 ICカード1に利用者のゲノム情報GD2を登録する際に、発行機である外部装置2は、鍵管理装置9が生成した暗号鍵(BK1、BK2、・・・)により、ゲノム情報GD2のブロック(B1、B2、・・・)を暗号化した暗号ブロック(EB1、EB2、・・・)を含むゲノム情報EGD2を生成する。外部装置2は、生成した暗号化されたゲノム情報EGD2を、書き込みコマンドや、発行用コマンドなどを使用して、APデータ記憶部82の所定のファイル(例えば、EF)に記憶させる。
 次に、図12及び図13を参照して、本実施形態の部分読み出しコマンドの処理について説明する。
 図12は、本実施形態の部分読み出しコマンドの処理の一例を示すフローチャートである。
 図12において、ICカード1のAPデータ記憶部82の所定のファイル(例えば、EF)に、図11に示すような暗号化されたゲノム情報EGD2が記憶されているものとする。また、ここでの外部装置2は、例えば、ゲノム情報の利用業者の端末装置であり、鍵管理装置9から利用するゲノム情報の一部データに対応する復号鍵情報を取得しているものとする。
 図12において、外部装置2とICカード1とがコンタクト部3を介して接続され、ICカード1が活性化された状態において、ICカード1は、コマンドを受信したか否かを判定する(ステップS301)。なお、図12において、ステップS301及びステップS302の処理は、上述した図6に示すステップS101及びステップS102の処理と同様であるため、ここではその説明を省略する。但し、ステップS302において、コマンド処理部52は、受信したコマンドが部分読み出しコマンドでない場合(ステップS302:NO)に、処理をステップS307に進める。
 ステップS303において、コマンド処理部52は、指定ファイルのオフセット情報を示す読み出し開始位置のデータをブロック単位で取得する。コマンド処理部52は、ファイル管理部51に、ファイル管理情報記憶部81が記憶する管理情報(例えば、ディレクトリ情報)に基づいて、指定ファイルの記憶場所を特定させて、当該記憶位置を取得する。コマンド処理部52は、オフセット情報により、取得したファイルの記憶位置から読み出し開始位置を特定する。コマンド処理部52は、例えば、当該読み出し開始位置のブロック単位のデータをAPデータ記憶部82から読み出して取得する。
 次に、コマンド処理部52は、所得したデータを復号鍵情報にてブロック単位で復号する(ステップS304)。コマンド処理部52は、受信した部分読み出しコマンドに含まれる読み出し開始位置に対応する復号鍵情報(例えば、1ブロック分)により、所得したデータ(例えば、1ブロック分)をブロック暗号の復号処理を実行して、暗号化されたゲノム情報を復号する。
 次に、コマンド処理部52は、次のオフセット情報があるか否かを判定する(ステップS305)。コマンド処理部52は、次のオフセット情報がある場合(ステップS305:YES)に、処理をステップS303に戻して、ステップS303からステップS305の処理を繰り返す。また、コマンド処理部52は、次のオフセット情報がない場合(ステップS305:NO)に、処理をステップS306に進める。
 ステップS306からステップS308の処理は、図6に示すステップS106からステップS108の処理と同様であるため、ここではその説明を省略する。
 また、図13は、本実施形態の部分読み出しコマンドの処理の一例を説明する図である。
 図13に示す例では、部分読み出しコマンドCD3において、オフセット情報(OF1)の“01”及びオフセット情報(OF2)の“11”が指定されている。また、オフセット情報(OF1)に対応する復号鍵情報(BK1)は、“XXXX・・・”であり、オフセット情報(OF2)に対応する復号鍵情報(BK2)は、“YYYY・・・”である。なお、図13において、ボディ部の復号鍵情報(BK1及びBK2)を除く各データは、16進数で表記されている。また、ファイルFD1には、暗号化された暗号ブロック(EB1、EB2、・・・)を含むゲノム情報EGD2が記憶されているものとする。
 コマンド処理部52は、上述した部分読み出しコマンドCD3を受信した場合に、オフセット情報(OF1)の“01”に基づいて、暗号化されたゲノム情報EGD2の1バイト目からの暗号ブロックEB1を読み出し、復号鍵情報BK1により、ブロック単位に復号し、ゲノム情報の部分データであるブロックB1を生成する。また、コマンド処理部52は、オフセット情報(OF2)の“11”に基づいて、暗号化されたゲノム情報EGD2の17バイト目からの暗号ブロックEB2を読み出し、復号鍵情報BK2により、ブロック単位に復号し、ゲノム情報の部分データであるブロックB2を生成する。
 コマンド処理部52は、復号した部分データであるブロックB1及びブロックB2をまとめて、ゲノム情報の部分データGD21とし、部分データGD21を含むレスポンスを、外部装置2に送信する。
 なお、本実施形態において、読み出す部分データが、2つ(複数)の暗号ブロックにまたがる場合には、部分読み出しコマンドには、2つ(複数)の暗号ブロックに対応する2つ(複数)の復号鍵情報が含まれる。この場合、コマンド処理部52は、対応する復号鍵情報によりブロック単位で復号し、読み出し開始位置からの部分データを外部装置2に送信する。
 以上説明したように、本実施形態によるICカード1では、コマンド処理部52は、部分読み出しコマンドに応じて、読み出し開始位置からのデータ長分のデータを、所定の単位サイズ(例えば、1ブロック)ごとに異なる復号鍵情報に基づいて、所定の単位サイズ(例えば、1ブロック)ごとに復号し、復号した当該データを外部装置2に送信する。
 これにより、本実施形態によるICカード1は、所定の単位サイズ(ブロック)により部分データを容易に復号することができる。また、本実施形態によるICカード1は、暗号化されたデータを、例えば、ブロック単位で復号できるため、暗号化又は復号するデータ量が多い場合に、効率良く暗号化又は復号することができる。
 上記の各実施形態において、ICカード1は、部分読み出しコマンドにより、ゲノム情報の一部データを読み出す例を説明したが、これに限定されるものではない。ICカード1は、例えば、ゲノム情報のように、文字の羅列により所定の情報を示し、必要な一部の部分データを取得する必要があるような情報(個人情報、秘密情報など)であれば、他の情報に対して、部分読み出しコマンドの処理を適用してもよい。
 また、上記の各実施形態において、暗号鍵と復号鍵とが共通の共通鍵暗号方式を用いる例を説明したが、これに限定されるものではなく、暗号鍵と復号鍵とが異なる公開鍵暗号方式を用いてもよい。
 また、上記の各実施形態において、各実施形態を単独で実施する例を説明したが、各実施形態の一部又は全部を組み合わせて実施してもよい。例えば、第2及の実施形態において、第1及び第3の実施形態のように、部分読み出しコマンドに複数のオフセット情報を含めるようにしてもよい。また、例えば、第3の実施形態において、第2の実施形態のように、部分読み出しコマンドにデータ長を適用してもよい。
 また、上記の各実施形態において、部分読み出しコマンドは、パスワード認証や相互認証などの認証処理を行った上で実行できるようにしてもよい。また、部分読み出しコマンドにより読み出した部分データは、ICカード1と外部装置2との間の通信において、例えば、セキュアメッセージングを利用して暗号化されたデータを用いてもよい。
 また、上記の各実施形態において、オフセット情報をバイト単位の読み出し開始位置として指定する例を説明したが、ビット単位、又は16ビット、32ビットなどのワード単位に指定するようにしてもよい。
 また、上記の第1及び第2の実施形態において、コマンド処理部52は、1バイト単位でXOR演算処理して、1バイトの整数倍の部分データを外部装置2に送信する例を説明したが、例えば、1ビット単位や1ワード単位でXOR演算処理して、1ビットや1ワードの整数倍の部分データを外部装置2に送信するにしてもよい。
 また、上記の第3の実施形態において、ブロックごとに異なる暗号鍵(復号鍵)を用いてブロックごと暗号化及び復号する例を説明したが、1つの暗号鍵(復号鍵)を用いて複数のブロックを、CBC(Cipher Block Chaining)モードなどの暗号利用モードを適用して、暗号化及び復号してもよい。
 例えば、CBCモードを適用した場合には、鍵管理装置9は、復号鍵(全ブロック共通)と、CBCモードのための初期化ベクトル及びCBCモードで暗号化したゲノム情報(暗号ブロック)とを管理する。鍵管理装置9は、オフセット情報の示す読み出し開始位置の1つ前の暗号ブロック及び復号鍵を復号鍵情報として、外部装置2に送信する。なお、読み出し開始位置がゲノム情報の最初のブロックである場合には、鍵管理装置9は、初期化ベクトル及び復号鍵を復号鍵情報として、外部装置2に送信する。
 外部装置2は、1つ前の暗号ブロック(又は初期化ベクトル)と復号鍵とを復号鍵情報として含む部分読み出しコマンドをICカード1に送信する。ICカード1のコマンド処理部52は、オフセット情報の示す読み出し開始位置の暗号ブロックを、1つ前の暗号ブロック(又は初期化ベクトル)と復号鍵とにより復号する。具体的に、コマンド処理部52は、開始位置の暗号ブロックを復号鍵により復号処理を実行した後、1つ前の暗号ブロック(又は初期化ベクトル)とXOR演算処理して暗号ブロックを復号する。
 また、この例では、暗号利用モードにCBCモードを適用した例を説明したが、例えば、PCBC(Propagating Cipher Block Chaining)モード、CFB(Cipher Feedback)モード、OFB(Output Feedback)モードなどの暗号利用モードを適用してもよい。この場合には、復号鍵情報には、上述したCBCモードと同様に、復号鍵と、初期化ベクトル又は前後の暗号ブロックなどの付加情報とが含まれる。
 また、上記の各実施形態において、ICカード1は、コンタクト部3を介して外部装置2と通信する例を説明したが、コイルなどを用いたコンタクトレスインターフェースを介して外部装置2と通信するように構成してもよい。
 また、上記の各実施形態において、ICカード1は、書き換え可能な不揮発性メモリとして、EEPROM8を備える構成としたが、これに限定されるものではない。例えば、ICカード1は、EEPROM8の代わりに、フラッシュメモリ、FeRAM(Ferroelectric Random Access Memory:強誘電体メモリ)などを備えてもよい。
 また、上記の各実施形態において、携帯可能電子装置の一例として、ICカード1を用いる例を説明したが、これに限定されるものではない。携帯可能電子装置は、例えば、カード形状ではないICタグなどの電子装置であってもよい。
 以上説明した少なくともひとつの実施形態によれば、読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するAPデータ記憶部82と、暗号化されたデータの読み出し開始位置を示すオフセット情報と、オフセット情報に対応する復号鍵情報とを少なくとも含む部分読み出しコマンドに応じて、暗号化されたデータのうちの、オフセット情報が示す読み出し開始位置からの所定の長さのデータを、復号鍵情報に基づいて復号し、復号した当該データを外部装置2に送信するコマンド処理部52とを持つことにより、セキュリティを確保しつつ、必要なデータを読み出すことができる。
 上記実施形態は、以下のように表現することができる。
 読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
 情報を記憶する記憶部と、
 前記記憶部に記憶されたプログラムを実行するハードウェアプロセッサと、を備え、
 前記ハードウェアプロセッサは、前記プログラムを実行することにより、
 外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、
 復号した当該データを前記外部装置に送信する、
 ように構成されている、携帯可能電子装置。
 なお、実施形態におけるICカード1及びICカードシステム150が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したICカード1及びICカードシステム150が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。

Claims (6)

  1.  読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
     外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
     を備える携帯可能電子装置。
  2.  前記処理部は、前記オフセット情報と、前記復号鍵情報と、前記読み出し開始位置から読み出すデータの長さを示すデータ長とを含む前記読み出し要求に応じて、前記読み出し開始位置から前記データ長のデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
     請求項1に記載の携帯可能電子装置。
  3.  前記データ記憶部は、所定の単位サイズごとに異なる前記復号鍵情報に基づいて復号可能に前記暗号化されたデータを記憶し、
     前記処理部は、前記読み出し要求に応じて、前記読み出し開始位置からの所定の長さのデータを、前記所定の単位サイズごとに異なる前記復号鍵情報に基づいて、前記所定の単位サイズごとに復号し、復号した当該データを前記外部装置に送信する
     請求項1又は請求項2に記載の携帯可能電子装置。
  4.  前記データ記憶部は、前記暗号化されたデータをファイル単位で記憶し、
     前記処理部は、前記読み出し要求に応じて、指定されたファイルに対応する前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する
     請求項1から請求項3のいずれか一項に記載の携帯可能電子装置。
  5.  前記データ記憶部は、前記暗号化されたデータとして、利用者の塩基配列を示すデータを含むゲノム情報を暗号化したデータを記憶する
     請求項1から請求項4のいずれか一項に記載の携帯可能電子装置。
  6.  読み出し開始位置に対応した異なる復号鍵情報に基づいて復号可能に暗号化されたデータを記憶するデータ記憶部と、
     外部装置から受信した読み出し要求であって、前記データ記憶部が記憶する前記暗号化されたデータの読み出し開始位置を示すオフセット情報と、前記オフセット情報に対応する復号鍵情報とを少なくとも含む読み出し要求に応じて、前記暗号化されたデータのうちの、前記オフセット情報が示す前記読み出し開始位置からの所定の長さのデータを、前記復号鍵情報に基づいて復号し、復号した当該データを前記外部装置に送信する処理部と
     を備えるICモジュール。
PCT/JP2018/033396 2017-10-25 2018-09-10 携帯可能電子装置、及びicモジュール WO2019082526A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP18869786.6A EP3703308A1 (en) 2017-10-25 2018-09-10 Portable electronic device and ic module
SG11202002074XA SG11202002074XA (en) 2017-10-25 2018-09-10 Portable electronic device and ic module
US16/809,716 US20200204339A1 (en) 2017-10-25 2020-03-05 Portable electronic device and ic module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-206507 2017-10-25
JP2017206507A JP2019080207A (ja) 2017-10-25 2017-10-25 携帯可能電子装置、及びicモジュール

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/809,716 Continuation US20200204339A1 (en) 2017-10-25 2020-03-05 Portable electronic device and ic module

Publications (1)

Publication Number Publication Date
WO2019082526A1 true WO2019082526A1 (ja) 2019-05-02

Family

ID=66247854

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/033396 WO2019082526A1 (ja) 2017-10-25 2018-09-10 携帯可能電子装置、及びicモジュール

Country Status (5)

Country Link
US (1) US20200204339A1 (ja)
EP (1) EP3703308A1 (ja)
JP (1) JP2019080207A (ja)
SG (1) SG11202002074XA (ja)
WO (1) WO2019082526A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048127A (ja) * 2002-07-09 2004-02-12 Hitachi Ltd デジタル信号記録再生装置、送受信装置及びその方法
WO2004086274A1 (ja) * 2003-03-24 2004-10-07 Teijin Limited ゲノム情報を使用した健康情報提供システムおよび方法
JP2005122402A (ja) 2003-10-15 2005-05-12 Systemneeds Inc Icカードシステム
US20110029786A1 (en) * 2008-03-31 2011-02-03 France Telecom Method for accessing and transferring data linked to an application installed on a security module associated with a mobile terminal, and associated security module, management server and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004048127A (ja) * 2002-07-09 2004-02-12 Hitachi Ltd デジタル信号記録再生装置、送受信装置及びその方法
WO2004086274A1 (ja) * 2003-03-24 2004-10-07 Teijin Limited ゲノム情報を使用した健康情報提供システムおよび方法
JP2005122402A (ja) 2003-10-15 2005-05-12 Systemneeds Inc Icカードシステム
US20110029786A1 (en) * 2008-03-31 2011-02-03 France Telecom Method for accessing and transferring data linked to an application installed on a security module associated with a mobile terminal, and associated security module, management server and system

Also Published As

Publication number Publication date
JP2019080207A (ja) 2019-05-23
EP3703308A1 (en) 2020-09-02
US20200204339A1 (en) 2020-06-25
SG11202002074XA (en) 2020-04-29

Similar Documents

Publication Publication Date Title
CN101551784B (zh) 一种usb接口的ata类存储设备中数据的加密方法及装置
CN101196855B (zh) 移动加密存储设备及密文存储区数据加解密处理方法
US8990571B2 (en) Host device, semiconductor memory device, and authentication method
KR100676087B1 (ko) 유에스비 인터페이스를 구비한 보안 데이터 저장 장치 및방법
CN101685425A (zh) 移动存储设备及实现移动存储设备加密的方法
CN103824032A (zh) 在微控制器中用于数据安全性处理的方法和装置
WO2005109740A1 (ja) Icカード
US20040117639A1 (en) Secure driver
JP2007108833A (ja) 複数パスワード記憶装置及びパスワード管理方法
JP2005196730A (ja) 携帯可能電子装置
EP2065830B1 (en) System and method of controlling access to a device
JP2004362516A (ja) Usb暗号化装置及びプログラム
JP5471904B2 (ja) Icカードリーダライタおよびそれに内蔵するsam
JP2943924B2 (ja) 携帯可能電子装置
JP2009032003A (ja) 携帯可能電子装置、端末装置、認証システム、及び認証方法
JP2004139242A (ja) Icカード、icカード発行システム及びicカード発行方法
JP2003158513A (ja) Icカード、その書き込み方法及び書き込み装置並びにicカードシステム
WO2019082526A1 (ja) 携帯可能電子装置、及びicモジュール
CN113645183B (zh) 数据加密传输方法、系统、计算机设备及存储介质
JP2007249263A (ja) 持ち運び可能なデータストレージデバイスおよびデータの書き込みおよび読み出し制御方法
KR20070076848A (ko) 카드 인증 시스템의 보안레벨을 향상시키는 장치 및 방법
CN113158203A (zh) 一种soc芯片、电路和soc芯片的外部数据读写方法
CN102129535A (zh) 基于硬件的非易失性计算机系统的加密方法及计算机
JPH10143441A (ja) 機密保持機能を備えた半導体装置、符号処理方法及びそのソフトウエアを記憶した記憶媒体
JP2003091240A (ja) 暗号化された情報の管理方法

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: 18869786

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018869786

Country of ref document: EP

Effective date: 20200525