WO2021070701A1 - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
WO2021070701A1
WO2021070701A1 PCT/JP2020/037117 JP2020037117W WO2021070701A1 WO 2021070701 A1 WO2021070701 A1 WO 2021070701A1 JP 2020037117 W JP2020037117 W JP 2020037117W WO 2021070701 A1 WO2021070701 A1 WO 2021070701A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
information processing
output value
output values
processing device
Prior art date
Application number
PCT/JP2020/037117
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 JP2021551364A priority Critical patent/JP7312267B2/ja
Publication of WO2021070701A1 publication Critical patent/WO2021070701A1/ja

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/10Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls

Definitions

  • the present invention relates to an information processing device and an information processing method.
  • the present application claims priority to Japanese Patent Application No. 2019-185686 filed in Japan on October 9, 2019, the contents of which are incorporated herein by reference.
  • PUF Physical replication difficulty function
  • Patent Document 1 describes an example of an information processing device that generates an eigenvalue from PUF.
  • the output data acquisition unit acquires output data from pixels in the optical black region a plurality of times.
  • the average value calculation unit calculates the average value of the read output data a plurality of times for each pixel in the optical black region.
  • the median value calculation unit calculates the median value from the set of average values calculated by the average value calculation unit.
  • the eigenvalue generation unit generates eigenvalues by comparing the median value with the average value.
  • An information processing device that generates eigenvalues from PUF is required to be able to stably generate eigenvalues regardless of conditions such as temperature.
  • the main purpose of the present disclosure is to provide an information processing device and an information processing method capable of stably generating eigenvalues.
  • the gradation of the output value from the unit element included in the multi-valued device is 2 bits or more
  • the output value acquisition unit for acquiring the output value and the acquisition time Generates a unique value based on a calculation unit that calculates a plurality of first element output values corresponding to a period based on the output values different from each other, the plurality of first element output values, and predetermined input information. It has a generator.
  • the gradation of the output value from the unit element included in the multi-valued device is 2 bits or more, and the step of acquiring the output value and the acquisition time are different. It includes a step of calculating a plurality of first element output values corresponding to a period based on the output value, and a step of generating an eigenvalue based on the plurality of first element output values and predetermined input information. ..
  • step S400 it is a flowchart which shows the authentication process (step S400) in 1st Embodiment. It is a block diagram of the external device of the modification of 1st Embodiment. It is a flowchart which shows the response generation process in the modification of 1st Embodiment. It is a flowchart which shows the authentication response generation process in the modification of 1st Embodiment. It is a block diagram of the information processing apparatus which concerns on 2nd Embodiment. It is a block diagram of the information processing apparatus which concerns on 3rd Embodiment. It is a block diagram of the information processing apparatus which concerns on 4th Embodiment. It is a block diagram of the information processing apparatus which concerns on 5th Embodiment.
  • step S200 This is an example of a calculation when determining the degree of coincidence using the Hamming distance. It is a flowchart which shows the generation process (step S200) of the unique key in 6th Embodiment. It is a figure for demonstrating the calculation method of the unique key in 6th Embodiment. It is a block diagram of the information processing apparatus which concerns on 7th Embodiment. It is a flowchart which shows the generation process (step S200) of the unique key in 8th Embodiment. It is a flowchart which shows the generation process (step S200) of the unique key in 9th Embodiment. It is a flowchart which shows the generation process (step S200) of the unique key in tenth embodiment.
  • step S200 generation process
  • step S400 authentication process
  • step S400 authentication process
  • FIG. 1 is a block diagram of an authentication system according to the first embodiment.
  • the authentication system according to the first embodiment generates a unique key which is an example of an eigenvalue based on individual information of a device having a plurality of charge generating elements such as an image sensor, and authenticates the device using the unique key. It is a system that performs.
  • a physically unique function PUF
  • PUF physically unique function
  • the authentication system includes an information processing device 1 and an external device 2.
  • the information processing device 1 and the external device 2 can communicate with each other (specifically, mutual data communication is possible).
  • the information processing device 1 and the external device 2 may be capable of wireless communication or may be capable of wired communication by electrical wiring (LAN cable, electronic circuit, etc.).
  • the information processing device 1 and the external device 2 may be capable of wireless communication via a network, for example.
  • the information processing device 1 and the external device 2 are, for example, a mobile communication system, a short-range radio such as Wi-Fi (registered trademark), Bluetooth (registered trademark), LPWA (Low Power, Wide Area), LPWAN (Low-Power). Wireless communication may be possible by Wide-Area Network) or the like.
  • Wi-Fi registered trademark
  • Bluetooth registered trademark
  • LPWA Low Power, Wide Area
  • LPWAN Low-Power
  • Wireless communication may be possible by Wide-Area Network
  • the information processing device 1 in response to the challenge 200 (input information) input from the external device 2, the information processing device 1 generates a response 201 (unique key) corresponding to the challenge and transmits it to the external device 2.
  • the external device 2 stores the response corresponding to the challenge 200 transmitted to the external device 2, and the information processing device 2 compares the stored response with the response 201 transmitted from the information processing device 1.
  • the challenge 200 is data including conditions for performing authentication
  • the response 201 is data unique to the information processing device 1 generated based on the challenge 200. Details of Challenge 200 and Response 201 will be described later.
  • FIG. 2 is a block diagram of the information processing device 1 according to the first embodiment. Next, the information processing apparatus 1 will be described with reference to FIG. 2.
  • the information processing device 1 includes, for example, an imaging device such as a digital still camera or a digital video camera, an information terminal having an imaging mechanism such as a smartphone or a tablet-type personal computer, an image processing device such as a copier or a scanner, a wristwatch, or a wearable terminal (a wristwatch). Earphones, rings, bracelets, etc.), vending machines, refrigerators, air conditioners, cookers (rice cookers, microwave ovens, pan-bakers, etc.), network recorders, telephones, voice search / operation devices, lighting, electronic locks, conversations, etc. Information devices such as robots and credit cards equipped with IC (Integrated Circuit) chips.
  • the information processing device 1 is a digital video camera will be described. More specifically, the information processing device 1 of the present embodiment is a network video camera for monitoring.
  • the information processing device 1 includes an image sensor 10, a processing unit 20, a storage unit 30, a display unit 40, an operation unit 50, and a communication unit 60.
  • the image sensor 10, the processing unit 20, the storage unit 30, the display unit 40, the operation unit 50, and the communication unit 60 are connected via the bus line 70 and can communicate with each other.
  • the image sensor 10 is a device that captures a still image or a moving image.
  • the image sensor 10 outputs the captured image as an image signal 221. Further, the image sensor 10 further outputs a signal (dark current signal 213, which will be described later) necessary for calculating the PUF. The details of the image sensor 10 will be described later.
  • the processing unit 20 can be configured by, for example, various processors such as a Central Processing Unit (CPU).
  • CPU Central Processing Unit
  • the processing unit 20 performs various information processing in the information processing device 1. Specifically, the processing unit 20 forms, for example, image data based on the image signal 221 and stores it in the storage unit 30, and causes the display unit 40 to display an image based on the image data. For example, the processing unit 20 causes the communication unit 60 to transmit the formed image data to the external device 2. The processing unit 20 causes the communication unit 60 to transmit the formed image data to the external device 2 as needed. The processing unit 20 generates a response 201 based on, for example, a dark current signal 213, a challenge 200 from the external device 2, and the like, and transmits the response 201 to the communication unit 60. The details of the configuration of the processing unit 20 will be described later.
  • the storage unit 30 can be configured by, for example, a memory such as a RAM (Random Access Memory), a solid state drive (Sold State Drive: SSD), a hard disk, or the like.
  • a memory such as a RAM (Random Access Memory), a solid state drive (Sold State Drive: SSD), a hard disk, or the like.
  • the storage unit 30 stores data input from the processing unit 20, data received from the outside via the communication unit 60, commands, and the like.
  • the display unit 40 can be composed of various displays such as a liquid crystal display and an electroluminescence display, for example.
  • the display unit 40 displays an image based on the image data output from the processing unit 20 and an image showing various information such as the authentication result by the external device 2.
  • the operation unit 50 is a part for inputting an instruction to the information processing device 1 by being operated by the user of the information processing device 1.
  • the user can input an instruction to perform imaging or the like to the information processing device 1 from the operation unit 50.
  • the communication unit 60 communicates with the external device 2 and the like. For example, the communication unit 60 receives the challenge 200 from the external device 2 and transmits the response 201 to the external device 2. The communication unit 60 transmits image data to, for example, the external device 2. The communication unit 60 can communicate with a device other than the external device 2 via the network. In the case of wired communication, the communication unit 60 may be an electrical wiring (LAN cable, electronic circuit, etc.) having only a data transmission function.
  • the image sensor 10 has an imaging unit 11 and a control unit 12.
  • the control unit 12 controls the imaging unit 11.
  • the control unit 12 instructs the image pickup unit 11 to take an image, generates image (moving image) data based on the pixel signals 211 and 212 input from the image pickup unit 11, and outputs the image (moving image) data as the image signal 221.
  • the imaging unit 11 takes an image based on a command from the control unit 12, and outputs the pixel signals 211 and 212 and the dark current signal 213 of each pixel to the control unit 12.
  • the image pickup unit 11 includes a plurality of image pickup elements 11a.
  • Each of the plurality of image pickup devices 11a constitutes a pixel.
  • Each image sensor 11a has a photodiode.
  • Each image sensor 11a can be configured by, for example, CMOS (Complementary Metal-Oxide Semiconductor device), CCD (Charge Coupled Device), or the like.
  • the image sensor 11a generates an electric charge according to the amount of received light, converts it into an electric signal, and outputs it as pixel signals 211 and 212.
  • the image pickup device 11a generates an electric charge according to the amount of incident light imaged on the image pickup surface by the optical system, converts it into an electric signal, and outputs it as pixel signals 211 and 212. Therefore, each of the plurality of image pickup devices 11a constitutes a charge generation element. That is, the image sensor 10 has a plurality of charge generating elements.
  • charge generating element means an element that generates an electric charge.
  • the charge generating element also includes an element that generates an electric charge and stores the generated electric charge.
  • each image sensor 11a has a photodiode. Therefore, for example, a surface leakage current or the like flows due to the interface level generated at the interface between the photodiode and the insulating film made of silicon oxide or the like, so that the image pickup element 11a is not irradiated with light. Even so, there is a flowing current (dark current). Therefore, each image sensor 11a also converts the dark current into an electric signal and outputs it as a dark current signal 213. In the present embodiment, the dark current signal 213 and the pixel signal 212 are substantially equal signals.
  • FIG. 3 is a schematic plan view of the imaging unit 11 according to the first embodiment. As shown in FIG. 3, the plurality of image pickup devices 11a, each of which constitutes a pixel, are arranged in a matrix on the light receiving surface 11A of the image pickup unit 11 at intervals.
  • the light receiving surface 11A includes an effective region 11A1 located in the central portion and a light shielding region 11A2 located in the peripheral portion.
  • the effective region 11A1 can receive light from the outside.
  • the effective domain 11A1 is a region in which an image to be captured is formed.
  • a light-shielding member (not shown) is arranged on the light-shielding region 11A2. Therefore, the light-shielding region 11A2 is shielded from light by a light-shielding member. Light from the outside does not substantially reach the light-shielding region 11A2.
  • the plurality of image pickup devices 11a are arranged in the effective region 11A1 and the light-shielding region 11A2.
  • the image pickup element located in the effective region 11A1 is referred to as the effective image pickup element 11a1.
  • the image pickup element located in the light shielding region 11A2 is referred to as the light shielding image pickup element 11a2.
  • the control unit 12 forms an image signal 220 from the pixel signal 211 output from the effective image sensor 11a1, and is based on the pixel signal 212 (substantially equal to the dark current signal 213) output from the light-shielding image sensor 11a2.
  • the image signal 220 is corrected.
  • the control unit 12 outputs this corrected image signal 221.
  • the light-shielding image sensor 11a2 is shielded from light by a light-shielding member (not shown). Light is substantially not incident on the light-shielding image sensor 11a2. Therefore, the pixel signal 212 output from the light-shielding image sensor 11a2 is, for example, a signal corresponding to the magnitude of the dark current. Therefore, the pixel signal 212 output from the light-shielding image sensor 11a2 can be used, for example, to remove noise based on dark current or the like.
  • the control unit 12 determines the black reference level based on the pixel signal 212 output from the light-shielding image sensor 11a2, and corrects the image signal 220 based on the black reference level. By this correction, it is possible to obtain an image signal 221 from which noise generated due to a dark current or the like is removed.
  • the signal from the light-shielding image sensor 11a2 when used for correcting the image signal 220 is referred to as a pixel signal 212
  • the signal from the light-shielding image sensor 11a2 when used for generating the unique key 240 described later is referred to as a pixel signal 212. It will be referred to as a dark current signal 213.
  • the positional relationship between the effective region and the light-shielding region is not limited to the positional relationship of the present embodiment.
  • the light-shielding region may have any positional relationship with respect to the effective region, and may be only the light-shielding region.
  • the processing unit 20 includes a calculation unit 21, a generation unit 22, and an output value acquisition unit 210.
  • the output value acquisition unit 210 acquires an output value generated from a unit element (for example, a charge generating element) included in the device (for example, the image sensor 10).
  • the output value is, for example, a dark current signal 213 output from a plurality of light-shielding image pickup elements 11a2 according to the generated electric charge.
  • the calculation unit 21 calculates a plurality of first element output values (hereinafter, also simply referred to as output values) corresponding to periods in which the times are different from each other, based on the output values acquired by the output value acquisition unit 210.
  • the calculation unit 21 calculates the correlation function 230.
  • the calculation unit 21 has a plurality of output values whose charge generation periods are different from each other based on the dark current signal 213 which is an output value corresponding to the generated charge output from the plurality of light-shielding image pickup elements 11a2. To get.
  • the calculation unit 21 calculates the correlation function 230 between the charge generation period and the output value from a plurality of output values having different charge generation periods. Therefore, the correlation function 230 is a correlation function between the charge generation period and the output value.
  • the output value is, in detail, a cumulative output value.
  • a plurality of output values having different charge generation periods can be calculated by, for example, four arithmetic operations such as addition and multiplication of output values. Further, a plurality of output values having the same charge generation period or different from each other may be directly acquired.
  • the generation unit 22 generates an eigenvalue (unique key 240) based on a plurality of output values calculated by the calculation unit 21 and predetermined input information.
  • the generation unit 22 generates the unique key 240 based on the correlation function 230.
  • the generation unit 22 generates a unique value as the unique key 240.
  • the generation unit 22 calculates the output value in one charge generation period based on the correlation function 230, and generates the unique key 240 based on the calculated output value. ..
  • the details of the method of generating the unique key 240 based on the correlation function 230 will be described later.
  • the unique key is information used for authentication.
  • the unique key 240 is information uniquely generated for the information processing device 1, and therefore is information uniquely determined by the challenge 200, which is a generation condition.
  • FIG. 4 is a block diagram of the external device 2 according to the first embodiment.
  • the external device 2 can be configured by, for example, an external server or the like capable of communicating with the information processing device 1 via a network.
  • the external device 2 includes a storage unit 81, an instruction unit 82, an authentication unit 84, and a communication unit 83.
  • the storage unit 81, the instruction unit 82, the authentication unit 84, and the communication unit 83 are connected to each other via the bus line 85, and can communicate with each other.
  • the storage unit 81 can be configured by, for example, a memory such as a RAM (Random Access Memory), a solid state drive (Sold State Drive: SSD), a hard disk, or the like.
  • a RAM Random Access Memory
  • SSD Solid State Drive
  • the challenge and response is a set of one challenge 200 and a response 201 generated when the challenge 200 is input to the information processing device 1. Therefore, the challenge and response is data unique to the information processing device 1 having the information processing device 1 as a black box. Therefore, it is practically difficult to generate a challenge and response without the information processing device 1.
  • the challenge and response can be obtained by actually inputting the challenge 200 and causing the information processing apparatus 1 to generate the response 201. Therefore, it is necessary to create a challenge and response using the information processing device 1 and store the created challenge and response in the storage unit 81 of the external device 2.
  • the storage unit 81 stores a plurality of challenge-and-response set information or data related to the correlation function acquired for each unit element of the device as a database.
  • the challenge-and-response set information and the data related to the correlation function are not acquired from the device, and the database for each device is used as an actual sample, and a hostile generation network (GAN: Generative Adversarial Network) that outputs data different from the actual sample is used. ) Or other machine learning data.
  • GAN Generative Adversarial Network
  • the storage unit 81 further stores data input from the authentication unit 84, image data transmitted from the information processing device 1 via the communication unit 83, and the like.
  • the instruction unit 82 provides the challenge 200 as input information to the processing unit 20, specifically, the calculation unit 21 and the generation unit 22 of the information processing device 1 via the communication unit 83, and the challenge 200 provided. Instructs the processing unit 20 to generate the unique key 240 based on the above. Specifically, the instruction unit 82 refers to at least one of the plurality of challenge and responses stored in the storage unit 81. The instruction unit 82 selects one challenge and response from the referenced challenge and response. The instruction unit 82 provides the processing unit 20 with the selected challenge and response challenge 200, and instructs the processing unit 20 to generate the unique key 240 based on the challenge 200.
  • the authentication unit 84 receives the unique key 240 generated by the processing unit 20 as a response 201 via the communication unit 83.
  • the authentication unit 84 authenticates the information processing device 1 by comparing the received response 201 with the response 201 corresponding to the provided challenge 200 (the response 201 constituting the challenge and response used). Further, based on the values constituting the correlation function 230 stored in the storage unit 81, the response 201 corresponding to the provided challenge 200 (the response 201 constituting the challenge and response used) is calculated, and the received response is calculated.
  • the information processing apparatus 1 may be authenticated by comparing with 201. Details of the response generation method based on the correlation function 230 will be described later.
  • the communication unit 83 can communicate with the communication unit 60 of the information processing device 1 via the network.
  • the communication unit 83 transmits the challenge 200 from the instruction unit 82 to the communication unit 60.
  • the communication unit 83 receives the response 201 transmitted from the communication unit 60.
  • the communication unit 83 receives the image data transmitted from the information processing device 1d via the communication unit 60.
  • the communication unit 60 may be an electrical wiring (LAN cable, electronic circuit, etc.) having only a data transmission function.
  • the external device 2 outputs a challenge 200 for authentication to the information processing device 1, and authenticates the information processing device 1 based on the response 201 transmitted from the information processing device 1.
  • the authentication of the information processing device 1 means that the information processing device 1 determines whether or not the information processing device 1 is an information processing device assumed by the external device 2.
  • the external device 2 transmits and receives the challenge 200 and the response 201 to and from the information processing device 1, and receives image data from the information processing device 1.
  • the external device 2 first authenticates the information processing device 1, determines that the communication destination is the information processing device 1, and then receives the image data. Therefore, the external device 2 can receive only the image data from the information processing device 1.
  • the external device 2 refuses to receive image data from devices other than the information processing device 1. For example, even if a surveillance camera other than the information processing device 1 accesses the external device 2 and transmits image data, image data from another surveillance camera or another spoofing device (for example, counterfeit image data) is authenticated.
  • FIG. 5 is a flowchart of authentication in the first embodiment.
  • step S100 an instruction is given to transmit the challenge 200 and generate a response.
  • the external device 2 transmits the challenge 200 to the information processing device 1.
  • the external device 2 instructs the information processing device 1 to generate the response 201.
  • step S300 the information processing device 1 transmits a response 201 based on the generated unique key 240.
  • step S400 the external device 2 authenticates the information processing device 1 based on the transmitted response 201. Specifically, the external device 2 compares the transmitted response 201 with the transmitted challenge 200 and the response constituting the challenge and response (hereinafter, may be referred to as “authentication response”). When the external device 2 determines that the response 201 and the authentication response match, the information processing device 1 authenticates that the information processing device 1 is true. When the external device 2 determines that the response 201 and the authentication response are different, the external device 2 authenticates that the information processing device 1 is false.
  • the external device 2 accepts the image data from the information processing device 1.
  • the external device 2 rejects the image data from the information processing device 1.
  • step S100, step S200, step S300 and step S400 will be described in detail.
  • FIG. 6 is a flowchart showing a challenge transmission and response generation instruction step (step S100) in the first embodiment.
  • step S101 the challenge and response is selected.
  • the instruction unit 82 shown in FIG. 4 selects one challenge and response from the plurality of challenge and responses stored in the storage unit 81.
  • the instruction unit 82 adds information to the effect that the selected challenge and response has been selected to the challenge and response database stored in the storage unit 81.
  • one of the plurality of challenge and responses stored in the storage unit 81 is one of the challenge and responses to which the information that the information has been selected is not attached. Be selected. Therefore, in the present embodiment, each of the plurality of challenge and responses stored in the storage unit 81 is used only for one-time authentication.
  • the challenge 200 includes information that can generate a specific response 201 in the information processing device 1. Therefore, when the challenge 200 is specified, the response 201 generated by the information processing device 1 is also specified.
  • the specific content of the challenge 200 can be appropriately set depending on how the information processing apparatus 1 generates the response 201 (unique key) based on the challenge 200.
  • the challenge 200 may include at least the following information (1) to (4).
  • Position information (coordinates) of the image sensor 11a constituting the pixel (2) Unit time and number of detections for detecting an output value corresponding to the amount of charge generated in the image sensor 11a (When light is incident on the image sensor 11a and exposure is performed, the unit time is the exposure of the image pickup. It may be the same as the time.) (3) Charge generation period (T pm ) set to create data used to generate the unique key 240. (4) Threshold (L th ) The position information (coordinates) of the image sensor 11a constituting the pixel indicates information regarding the position of each of the plurality of unit elements (image sensor 11a) arranged in a matrix.
  • the challenge 200 does not necessarily have to include the threshold value (L th).
  • step S102 is performed following step S101.
  • the instruction unit 82 of the external device 2 shown in FIG. 4 transmits the challenge 200 selected in step S101 to the information processing device 1 via the communication unit 83, and responds based on the challenge 200. Instruct the information processing apparatus 1 to generate 201. As a result, the process of generating the unique key 240 (step S200) starts.
  • FIG. 7 is a flowchart showing the generation step (step S200) of the unique key 240 in the first embodiment.
  • FIG. 8 is a diagram for explaining a calculation method of the unique key 240 in the first embodiment.
  • the information processing apparatus 1 starts the generation of the unique key 240 in step S200.
  • the calculation unit 21 receives the challenge 200 from the information processing device 1 via the communication unit 60.
  • the challenge 200 includes the position information (coordinates) of the image sensor 11a constituting the pixel.
  • calculator 21, at each of a plurality of pixels P m reads the output value corresponding to the charge generated per unit time n times.
  • the calculation unit 21 the output value from the pixel P 1 in the period t 1 a 11, the output values a 12 from the pixel P 2 during the period t 2, ⁇ ⁇ ⁇ , period t pixels in n P 1 output values a 1n from loading, ..., an output value a mn from the pixel P m in the period t n from the imaging unit 11.
  • step S203 shown in FIG. 7, as shown in FIG. 8, the calculation unit 21 receives the first element output value A mn (hereinafter, output value A mn) corresponding to each period T n from each pixel P m. (Called) is calculated.
  • the period Tn is defined by the following equation (1).
  • the output value A mn is an output value in the pixel P m .
  • the output value A mn is defined by the following equation (2).
  • the periods t n (t 1 , t 2 , ..., T n ) are all periods of the same length.
  • the period T 2 are twice the length period of time T 1
  • T n becomes n times the length period of T 1. Therefore, the plurality of output values A mn are output values having different charge generation periods.
  • the periods t n (t 1 , t 2 , ..., T n ) do not necessarily have to be the same length as each other.
  • the time of each period of the period t n (t 1 , t 2 , ..., T n ) can be read out after the fact, the period t n (t 1 , t 2 , ... ⁇ , T n ) may be different periods from each other.
  • the output value A e.g., A 1n, etc.
  • step S203 shown in FIG. 7, the calculating unit 21, each period T n from each pixel P m, giving a charge generation period T pm given the challenge 200 may calculate the output value L m ..
  • step S206 shown in FIG. 7, as shown in FIG. 8, the generation unit 22 generates the unique key 240 based on the output value L m (m 1 to m) and the threshold value L th.
  • the generation unit 22 generates the unique key 240 by the following procedure.
  • a predetermined charge generation period T pm is stored in the storage unit 30 (see FIG. 2).
  • the generation unit 22 sets a predetermined charge generation period T pm stored in the storage unit 30.
  • the generation unit 22 is a digital numerical value based on the magnitude (whether the threshold value L th or more or the threshold value L th or less) with respect to the respective threshold value L th of the plurality of calculated output values L m.
  • the challenge 200 is changed each time it is transmitted.
  • the storage unit 30 stores a predetermined threshold value L th.
  • Generator 22 based on the challenge 200, sets a predetermined threshold value L th stored in the storage unit 30.
  • the generation unit 22 determines the magnitude relationship (whether it is equal to or more than one selected threshold value L th or less than the threshold value L th ) with respect to the set threshold value L th of the plurality of output values L m. For example, when the output value L m is equal to or greater than the threshold value L th , the generation unit 22 sets “1”, and when the output value L m is less than the threshold value L th , sets “0”, and m output values L m are composed of m elements. Convert to unique key 240.
  • Step S206 may be a step of converting the unique key 240 with the magnitude relationship threshold L th set for a plurality of output values L m.
  • the unique key 240 may be a highly predictable (less secure) sequence. Therefore, it is preferable to exclude the challenge 200 in which the unique key 240 having low security is calculated in advance.
  • the output value L m (L 1 , L 2 , ..., L m ) is calculated in step 205, and then the output value is calculated.
  • normalization may be performed to convert L m into a numerical value having an average of 0 and a variance of 1.
  • the value Z m after normalizing the output values L m may convert the output values L m by the formula defined by equation (3).
  • L min and L max indicate the maximum and minimum values of the output values L m (L 1 , L 2 , ..., L m).
  • the threshold value L th step S206 for example, may be a fixed value such as 0.5.
  • the output value L m may be divided by the median or mode, or the median or mode may be subtracted from the output value L m.
  • the threshold value L th used in step S206 may be a fixed value such as 0.5.
  • the normalization of the output value L m can be performed by, for example, a method of converting to a numerical value having a root mean square of 1 or another method using statistics.
  • the output value L m (L 1 , L 2 , ..., L m ) is calculated in step S205, and then the output value. based on the average value of L m and the variance, it may convert the output values L m by the formula defined by equation (4).
  • Step S300 Transmission step of response 201
  • the processing unit 20 uses the generated unique key 240 as a response 201 and passes through the communication unit 60 to the external device 2 (see FIG. 1). See).
  • Step S400 Certification process
  • the external device 2 authenticates the information processing device 1.
  • FIG. 9 is a flowchart showing the authentication step (step S400) in the first embodiment.
  • the authentication unit 84 acquires the response 201 transmitted from the information processing device 1 via the communication unit 83. .. Further, in step S401, the authentication unit 84 acquires the response corresponding to the transmitted challenge 200 stored in the storage unit 81 as the authentication response.
  • the response 201 generated by the information processing device 1 for the challenge 200 is fixed. Therefore, if the information processing device 1 is true, the response 201 and the authentication response match.
  • step S402 the authentication unit 84 authenticates by comparing the response 201 with the authentication response. If the response 201 matches the authentication response, the authentication unit 84 determines that the information processing device 1 is true. If the response 201 does not match the authentication response, the authentication unit 84 determines that the information processing device 1 is false (another device impersonates the information processing device 1).
  • the degree of coincidence can be determined by using, for example, the Hamming distance indicating the error rate of the digital signal.
  • the Hamming distance is the ratio of the number of bits whose values are different when comparing bits corresponding to each other (for example, exclusive OR may be used for comparison) between any two codes. is there.
  • FIG. 15 shows a specific calculation example.
  • the number that makes up the response is predetermined.
  • the unique key generated when the temperature of the information processing apparatus 1 changes may change. That is, when the unique key is directly generated from the actual output value a mn and the output value A mn, it is difficult to stably generate the unique key. In other words, it is difficult to ensure that the same unique key is generated for a specific challenge even when each condition such as the temperature condition of the information processing device changes.
  • By generating the unique key 240 using this output value L m it is possible to reduce the influence of noise and stably generate the unique key 240.
  • a plurality of output values A mn having different charge generation periods are acquired based on the pixel signals 211 output from the light-shielding image sensor 11a2 that is shielded from light.
  • the light-shielding image sensor 11a2 is light-shielded and does not substantially receive light. Therefore, the light-shielding image sensor 11a2 does not generate the optical shot noise generated in the effective image sensor 11a1. Therefore, the output value from the light-shielding image sensor 11a2 has little disturbance. Therefore, by generating a unique key 240 using the output value A mn based on the pixel signals 211 from shielding the imaging device 11a2, it can realize stable production of unique key 240.
  • the exposure time is minimized from the effective image sensor 11a1 because the exposure condition is dull (the dark current generation rate is determined by the device process). It is not always good (for example, the exposure time is 1 ⁇ sec), and it is possible to acquire an output value substantially equal to the output value from the light-shielding image sensor 11a2 and generate the unique key 240.
  • the predetermined threshold L th to be used to generate the unique key 240 can generate a plurality of unique key 240. That is, the number of unique keys 240 that can be generated can be increased. Therefore, the predictability of the unique key 240 (response 201) can be reduced.
  • the output value A mn is acquired based on the output value a mn output from some of the image pickup elements 11a of the plurality of image pickup elements 11a included in the image sensor 10, and the unique key 240 is generated. Therefore, a plurality of unique keys 240 can be generated by changing the image sensor 11a used for generating the unique key 240. That is, the number of unique keys 240 that can be generated can be increased. Therefore, the predictability of the unique key 240 (response 201) can be reduced.
  • the charge generating element is an image pickup device having a photodiode.
  • the charge generating element is not particularly limited as long as it is an element that generates an electric charge.
  • the charge generating element may be, for example, an organic image sensor having a photoelectric conversion film.
  • the charge generating element may be, for example, an element having a floating diffusion layer, a memory for holding an electric charge, or the like.
  • the floating diffusion layer is a diffusion layer containing impurities provided on a semiconductor substrate such as a silicon substrate. Examples of the device having the floating diffusion layer include a charge storage node and the like. Specific examples of the memory that retains (stores) the charge include DRAM (Dynamic Random Access Memory), flash memory (Flash Memory), SRAM (Static Random Access Memory), and the like.
  • the information processing device 1 is a camera (specifically, a digital video camera) has been described.
  • the information processing device is not limited to the camera.
  • the information processing device is not particularly limited as long as it is a device having a charge generating element.
  • the information processing device may be, for example, a copier, a multifunction device having a copy function, a personal computer, an information terminal such as a smartphone or a tablet-type personal computer.
  • the present disclosure is not limited to this configuration.
  • the light incident on the image sensor 10 may be shielded by a mechanical shutter, a mold resin, or the like, and the unique key 240 may be generated based on the pixel signal 211 from the effective image sensor 11a1.
  • the unique key 240 may be generated based on the pixel signals 211 and 212 from the effective image sensor 11a1 and the light-shielding image sensor 11a2.
  • the unique key 240 may be generated based on the pixel signals 211 and 212 from all of the plurality of image pickup devices 11a provided in the image pickup unit 11.
  • the information processing device 1 may have only one of the effective image sensor 11a1 and the light-shielding image sensor 11a2.
  • Examples of the information processing device 1 having only the light-shielding image pickup element 11a2 include a wristwatch, a wearable terminal (earphone, ring, bracelet, etc.), a vending machine, a refrigerator, an air conditioner, a cooker (rice cooker, microwave oven, bread machine, etc.). , Network recorders, telephones, voice search / operation devices, lighting, electronic locks, robots for conversation, information devices connected to networks such as credit cards equipped with IC (Integrated Circuit) chips, and the like.
  • IC Integrated Circuit
  • the calculation unit 21 and the generation unit 22 are drawn, but it is not always necessary to physically provide the calculation unit 21 and the generation unit 22. ..
  • it is composed of an LSI (Large Scale Integration), a microcomputer (MicroControl), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Strategy), an FPGA (Field-Programmable Gate Strategy), a step 300 unit, and a process. ) May be stored.
  • a program for executing the process of generating the unique key 240 (step S300) may be stored in the storage medium.
  • a program for executing the unique key 240 generation step (step S300) may be distributed via the Internet or the like.
  • the generation unit 22 may generate the eigenkey 240 by adding further data to the eigenvalues from the PUF, for example.
  • the other data to be added to the eigenvalues from the PUF is not particularly limited. Specific examples of other data to be added to the PUF include data related to the shooting date and time of the image output from the image sensor 10. Other data such as the shooting date and time may be embedded in the header or footer of the unique key 240, or may be embedded as a file name.
  • the information processing device may encrypt the unique key 240 and transmit the encrypted unique key 240 to the external device 2.
  • the external device 2 may generate a challenge 200 including a random number, and may generate a response 201 based on the generated challenge 200.
  • FIG. 10A is a block diagram of the external device 2 according to this modified example.
  • the instruction unit 82 of the external device 2 according to this modification includes a random number generation unit 1001
  • the authentication unit 84 includes a calculation unit 1002 and a generation unit 1003.
  • the random number generation unit 1001 generates a random number.
  • the instruction unit 82 generates a challenge including a random number generated by the random number generation unit 1001.
  • the calculation unit 1002 has substantially the same function as the calculation unit 21. Therefore, as the explanation of the calculation unit 1002, the explanation of the calculation unit 21 included in the information processing apparatus 1 is used.
  • the generation unit 1003 has substantially the same function as the generation unit 22. Therefore, as the explanation of the generation unit 1003, the explanation of the generation unit 22 included in the information processing apparatus 1 is incorporated.
  • FIG. 10B is a flowchart of the calculation process of the response 201 in this modification.
  • step S403 shown in FIG. 10B the instruction unit 82 generates a challenge 200 including a random number generated by the random number generation unit 1001.
  • the challenge 200 generated by the indicator 82 includes at least the position information (coordinates) of each of m unit elements (for example, pixels P m) and the charge generation period T pm .
  • step S404 the calculation unit 1002 reads the position information included in the challenge 200 generated in step S403.
  • the generation unit 1003 generates a unique key (response 201) based on the output value L m calculated in S406.
  • the processing of S406 and S407 is the same as the processing of S205 and S206, and detailed description thereof will be omitted.
  • the external device 2 generates the response 201 corresponding to the generated challenge 200.
  • the present disclosure is not limited to this configuration.
  • the authentication unit 84 of the external device 2 includes the calculation unit 1002 and the generation unit 1003, the external device 2 responds to the authentication at the stage when the authentication step (S400) is started. May be generated.
  • FIG. 10C is a flowchart of the authentication response generation process in this modified example.
  • the authentication step (S400) is started, the process of S1101 shown in FIG. 10C is started.
  • calculation unit 1002 reads the position information included in the challenge 200.
  • the output value L m is calculated based on.
  • the generation unit 1003 generates a unique key (authentication response) based on the output value Lm calculated in S1103.
  • the processing of S1103 and S1104 is the same as the processing of S205 and S206, and detailed description thereof will be omitted.
  • the external device 2 challenges and challenges the set of the challenge 200 and the unique key (authentication response) generated by the generation unit 1003. Generate as a response.
  • FIG. 11 is a block diagram of the information processing device 1a according to the second embodiment.
  • the information processing device 1 includes the image sensor 10
  • the present disclosure is not limited to this configuration.
  • the information processing device may not have, for example, an image sensor.
  • the information processing device 1a according to the second embodiment does not include the image sensor 10 unlike the information processing device 1 according to the first embodiment.
  • the information processing device 1a includes a connection unit 90 connected to the bus line 70.
  • An image pickup device 3 including an image sensor 10 can be connected to the connection portion 90. Even when the image pickup device 3 provided with the image sensor 10 can be connected as in the information processing device 1a, each part of the information processing device 1a and the image sensor 10 can be connected via the connection section 90 and the bus line 70. Is. Therefore, similarly to the first embodiment, it is possible to generate the unique key 240 based on the pixel signal 211 from the image sensor 10.
  • the image pickup device 3 may be, for example, a camera module in which the image sensor 10 is modularized.
  • the header or footer of the authentication data generated by the image pickup device 3 or the authentication data itself is used to prevent counterfeit authentication data to the information processing device.
  • the unique key 240 may be embedded in the image and used for determining the forgery of the photographing device and the authentication data in biometric authentication.
  • the information processing device 1a may be connectable to the image pickup device 3 via a network.
  • the communication unit 60 may also be provided in the image pickup apparatus 3.
  • the information processing device may be composed of, for example, only the processing unit 20.
  • FIG. 12 is a block diagram of the information processing device 1b according to the third embodiment.
  • the information processing device 1 according to the first embodiment uses the unique key 240 to authenticate the information processing device 1.
  • the usage of the unique key is not limited to the authentication of the information processing device.
  • a unique key may be used to encrypt information.
  • the information processing device 1b uses the unique key 240 not only for authentication of the information processing device 1b but also for information encryption as in the first embodiment. Specifically, the unique key 240 is also used for encrypting the image data captured by the imaging unit 11.
  • the processing unit 20 of the information processing device 1b further includes an encryption unit 23.
  • the encryption unit 23 encrypts the image data output from the image sensor 10 using the unique key 240 generated by the generation unit 22.
  • the encryption unit 23 stores the encrypted image data in the storage unit 30 or transmits the encrypted image data to the external device 2 or the like via the communication unit 60.
  • the method of encrypting the image data using the unique key 240 is not particularly limited.
  • Specific examples of the method of encrypting image data using the unique key 240 include an RSA cipher used in public key cryptography and an elliptic curve, such as AES (Advanced Encryption Standard) used in shared key cryptography.
  • Examples thereof include cryptographic algorithms such as elliptic curve DSA (Elliptic Curve Digital Signature Algorithm) used in digital signatures such as cryptography (Elliptic Curve Cryptography).
  • the unique key 240 may be used to generate a disposable random value (nonce) used in encrypted communication or a random value (salt) given when encrypting a password.
  • the data encrypted using the unique key 240 is not limited to image data, but watches, wearable terminals (earphones, rings, bracelets, etc.), vending machines, refrigerators, air conditioners, automatic cookers (rice cookers, microwave ovens, baking bread, etc.)
  • Data non-image) of information devices connected to networks such as machines), network recorders, telephones, voice search / operation machines, lighting, electronic keys, robots for conversation, credit cards equipped with IC (Integrated Circuit) chips, etc. Data) is also acceptable.
  • the unique key 240 is used for both the encryption of the image data and the authentication of the information processing device 1b has been described.
  • the information processing device may use, for example, the unique key 240 only for encrypting image data.
  • a unique key 240 is used as the seed value (initial value) of a random number generation algorithm (for example, a cryptographically secure security pseudo-random number generator) that generates random numbers used in an algorithm for encrypting data such as an image. May be good.
  • a random number generation algorithm for example, a cryptographically secure security pseudo-random number generator
  • FIG. 13 is a block diagram of the information processing device 1c according to the fourth embodiment.
  • the processing unit 20 of the information processing device 1c further includes an embedded unit 24.
  • the built-in unit 24 incorporates and integrates the unique key 240 generated by the generation unit 22 into the image (still image or moving image) data output from the image sensor 10.
  • the embedding unit 24 has at least apparent differences in images (for example, resolution, brightness, contrast, etc.) before and after embedding for each of the one-shot or a plurality of frames constituting the image data.
  • the unique key 240 is incorporated so as not to be understood. That is, the embedding unit 24 incorporates the unique key 240 into the image data by the information hinding technique.
  • the method of incorporating the unique key 240 into the image data is not limited to the information hinding technique, and may be a method of adding to the header, footer, or a part of the metadata part or the media data part of the image data.
  • the processing unit 20 of the information processing device 1c according to the fourth embodiment has an embedded unit 24 and an encryption unit 23, and the unique key 240 is a unique key for image data incorporated by an information hiding technique.
  • An example of transmitting the encrypted data encrypted using the 240 to the external device 2 has been described.
  • the information processing apparatus may transmit, for example, image data in which the unique key 240 is incorporated by the information hiding technique.
  • FIG. 14 is a block diagram of the information processing device 1d according to the fifth embodiment.
  • the information processing device 1 does not include the instruction unit 82 and the authentication unit 84 has been described.
  • the present disclosure is not limited to this configuration.
  • the processing unit 20 of the information processing device 1d according to the fifth embodiment further includes an instruction unit 82 and an authentication unit 84.
  • the instruction unit 82 included in the processing unit 20 has substantially the same function as the instruction unit 82 included in the external device 2. Therefore, as the explanation of the instruction unit 82 included in the processing unit 20, the explanation of the instruction unit 82 included in the external device 2 of the first embodiment is incorporated.
  • the authentication unit 84 included in the processing unit 20 has substantially the same function as the authentication unit 84 included in the external device 2. Therefore, as the explanation of the authentication unit 84 included in the processing unit 20, the explanation of the authentication unit 84 included in the external device 2 of the first embodiment is incorporated.
  • the storage unit 30 also has the function of the storage unit 81 included in the external device 2.
  • the information processing device may be provided with a mechanism for self-authentication.
  • the information processing device 1d according to the fifth embodiment includes an instruction unit 82 and an authentication unit 84. Therefore, the information processing device 1d can perform self-authentication. For example, if the internal hardware (operating system, etc.) of the information processing device 1d or the external hardware (recorded data, etc. of a surveillance camera, etc.) such as a semiconductor memory card is physically stolen, the internal hard disk or the external hard disk Can be unlocked based on the result of self-authentication of the information processing device 1d, and the unique key 240 can be used to prevent physical information leakage.
  • the internal hardware operating system, etc.
  • the external hardware recorded data, etc. of a surveillance camera, etc.
  • the unique key 240 can be used to prevent physical information leakage.
  • a unique key may be generated based on a parameter related to the correlation between the period and the output value.
  • the "parameter related to the correlation between the period and the output value” means all the parameters related to the correlation between the period and the output value.
  • the "parameter relating to the correlation between the period and the output value” is preferably a parameter capable of calculating the output value for a predetermined period by using the parameter.
  • the "parameter relating to the correlation between the period and the output value” may be, for example, a coefficient constituting the correlation function between the period and the output value, but is a parameter having nothing to do with the correlation function between the period and the output value. You may.
  • the storage unit 30 stores the basic formula of the correlation function and "the period and the output value".
  • the correlation function may be determined by giving the "parameters relating to the correlation with”.
  • the parameter related to the correlation between the period and the output value is a coefficient constituting the correlation function between the period and the output value
  • the parameter may be calculated via the correlation function, but via the correlation function. It may be calculated without. That is, in the present disclosure, it is not always necessary to calculate the correlation function.
  • the parameters related to the correlation may be calculated without calculating the correlation function.
  • a plurality of challenges may be input to the information processing device, and a unique key may be generated for each of the plurality of challenges.
  • the generated plurality of unique keys may be logically operated (for example, OR, exclusive OR XOR), and a response may be generated based on the operation result.
  • FIG. 16 is a flowchart showing the unique key generation step (step S200) in the sixth embodiment.
  • FIG. 17 is a diagram for explaining a method of calculating a unique key in the sixth embodiment.
  • the calculation unit 21 passes through the communication unit 60 to the information processing device, as in the first embodiment.
  • Receive Challenge 200 from 1.
  • the challenge 200 includes position information (coordinates) of the image sensor 11a constituting the pixel.
  • the challenge 200 may include the same information as in the first embodiment, and may include at least the information of the above (1) to (4).
  • calculator 21, at each of a plurality of pixels P m reads the output value corresponding to the charge generated per unit time n times.
  • the calculation unit 21 the output value from the pixel P 1 in the period t 1 a 11, the output values a 12 from the pixel P 2 during the period t 2, ⁇ ⁇ ⁇ , period t pixels in n P 1 output values a 1n from loading, ..., an output value a mn from the pixel P m in the period t n from the imaging unit 11.
  • the plurality of periods t n have the same length as each other.
  • the period t n may be, for example, a period corresponding to one frame constituting the moving image.
  • periods t n are arranged at equal intervals on the horizontal axis.
  • correlation function A f m (t) is ideally considered to be a horizontal function slope is zero. Therefore, the gradation of the output value from the pixel P m of this embodiment may be a 1-bit.
  • Correlation function A f m (t), as described above, for example, it can be calculated by an adaptive filter or the like for self-adaptive according to the minimum square method and robust regression or optimization algorithms.
  • the conditions for calculating the output value once are calculated without directly generating the unique key from the output value output from each charge generating element, and the conditions are calculated. Generate a unique key based on the conditions. Therefore, even if the output value output from each charge generating element contains noise or the like, it is possible to stably generate the unique key.
  • FIG. 18 is a diagram showing an example of the configuration of the information processing apparatus 1700. As shown in FIG. 18, the information processing apparatus 1700 includes a multi-valued device 1710.
  • the multi-valued device (also simply referred to as a device) 1710 includes a unit element 1711 that outputs an output value having a gradation of 2 bits or more.
  • the unit element 1711 is assumed to be one element or a set of two or more elements.
  • the unit element 1711 stores, for example, a photodiode, a charge generating element having a floating diffusion layer or a charge holding layer, or charges, and the distribution of electrical or optical characteristics is not uniform (ie, 2 bits). It may be an arithmetic storage element (flash memory, resistance change type memory) that outputs the output value of the above gradation. Further, in the present disclosure, the unit element 1711 may indicate data having two or more bits of gradation stored in the storage element.
  • the information processing apparatus 1700 includes an output value acquisition unit 1701, a calculation unit 1702, and a generation unit 1703.
  • the output value acquisition unit 1701 acquires the output value output from the unit element 1711. Specifically, the output value acquisition unit 1701 acquires a predetermined output value output from the unit element 1711 based on the predetermined input information.
  • the output value acquisition unit 1701 may acquire the data stored in the unit element 1711 as an output value.
  • the calculation unit 1702 calculates a plurality of first element output values corresponding to a predetermined period based on predetermined input information based on the output values output from the unit element 1711 having different acquisition times.
  • the generation unit 1703 generates an eigenvalue based on a plurality of first element output values and predetermined input information.
  • the information processing apparatus 1700 generates an eigenvalue corresponding to the unit element 1711 unique to the multi-value device 1710 and predetermined input information. Therefore, the information processing apparatus 1700 can generate eigenvalues according to the characteristics of the unit element 1711 included in the multi-value device 1710.
  • the information processing apparatus 1700 does not directly generate an eigenvalue from the output value output from the unit element, but once calculates the first element output value based on the output value, and sets it as the first element output value. , The eigenvalue is calculated based on the predetermined input information. Therefore, the information processing apparatus 1700 can reduce the influence of noise included in the output value output from the unit element and stably generate an eigenvalue.
  • the information processing apparatus 1700 uses the data related to the challenge and response set information or the correlation function of the multi-valued device 1710 as an actual sample, and outputs data different from the actual sample.
  • Generative Adversarial (GAN) It may include a device that stores data generated by machine learning, such as Network). In that case, the device shall store a set of a plurality of data composed of data having two or more bits of gradation. Further, in this modification, the unit element 1711 shows data having a gradation of 2 bits or more.
  • the output value acquisition unit 1701 acquires the data corresponding to the unit element 1711 from the device that stores the data as the output value.
  • the calculation unit 1702 calculates a plurality of first element output values corresponding to a predetermined period based on predetermined input information based on the acquired output value (that is, data corresponding to the unit element 1711).
  • the generation unit 1703 generates an eigenvalue based on a plurality of first element output values and predetermined input information.
  • the information processing device 1700 generates an eigenvalue corresponding to the data stored in the multi-value device 1710 and the predetermined input information. Therefore, the information processing apparatus 1700 can generate an eigenvalue corresponding to the data stored in the multi-value device 1710.
  • FIG. 19 is a flowchart showing the generation process (step S200) of the unique key 240 in the eighth embodiment. Since the processing from step S201 to step S204 shown in FIG. 19 is the same as the processing from step S201 to step S204 shown in FIG. 7, detailed description thereof will be omitted.
  • the correlation function A f m (T)
  • the output values A m normalizes the average dispersion zero is converted to a numerical value, a threshold binarized with 0, to calculate the A_NORMAL m.
  • step S1804 calculation unit 21, and the calculated value A_NORMAL m, calculated the value T_normal pm calculated by a logic function (e.g., exclusive OR), and calculates the output value L m.
  • a logic function e.g., exclusive OR
  • the information processing apparatus 1 makes it difficult to estimate the correlation function, and the output value A m based on each pixel P m, by normalizing the charge generation period T pm , "0" and "1" are evenly mixed, and it is possible to generate a unique key 240 with low predictability (high security).
  • FIG. 20 is a flowchart showing the generation process (step S200) of the unique key 240 in the ninth embodiment. Since the processing from step S201 to step S204 shown in FIG. 20 is the same as the processing from step S201 to step S204 shown in FIG. 7, detailed description thereof will be omitted. Further, since the process of step S1901 shown in FIG. 20 is the same as the process of step S1801 shown in FIG. 19, detailed description thereof will be omitted.
  • a charge generation period is set based on the challenge 200 T pm (hereinafter, also set values of the charge generation period T pm to referred), the output value A m of the correlation function calculated The magnitude relationship with is determined, and the remainder obtained by dividing the larger value by the smaller value is calculated as the output value L m.
  • calculator 21 the set value of the charge generation period T pm is greater than the output value A m, an expression that is defined by equation (5), the output value A m the set value of the charge generation period T pm The divided remainder is calculated as the output value L m.
  • the calculation unit 21 when the set value of the charge generation period T pm is less than or equal to the output value A m, an expression that is defined by equation (6), the output value A m in the set value of the charge generation period T pm The divided remainder is calculated as the output value L m.
  • the information processing apparatus 1 has low predictability (high security) by standardizing the remainder of the output value Am , the charge generation period, and T pm based on each pixel P m. )
  • the unique key 240 can be generated.
  • FIG. 21 is a flowchart showing the generation process (step S200) of the unique key 240 in the tenth embodiment. Since the processing from step S201 to step S204 shown in FIG. 21 is the same as the processing from step S201 to step S204 shown in FIG. 7, detailed description thereof will be omitted. Further, since the process of step S2001 shown in FIG. 21 is the same as the process of step S1801 shown in FIG. 19, detailed description thereof will be omitted.
  • the set value of the charge generation period T pm is greater than the output value A m, an expression that is defined by the equation (7), the output value A m the set value of the charge generation period T pm The sum of the divided remainder and the output value Am + 1 is calculated as the output value L m.
  • the calculation unit 21 when not calculate the output value A m + 1 based on the pixel P m + 1, calculating unit 21, an output value A m based on the pixel P m, based on the output value A 1 based on the pixels P 1 , The output value L m is calculated.
  • the method for standardizing the output value L m is as described above, and detailed description thereof will be omitted.
  • the information processing apparatus 1 the output value A m based on the pixel P m, based on the output value A m + 1 based on the pixel P m + 1, the output value L m corresponding to the pixel P m
  • the information processing apparatus 1 the output value A m based on the pixel P m, based on the output value A m + 1 based on the pixel P m + 1, the output value L m corresponding to the pixel P m
  • FIG. 22 is a flowchart showing the generation process (step S200) of the unique key 240 in the eleventh embodiment. Since the processing from step S201 to step S204 shown in FIG. 22 is the same as the processing from step S201 to step S204 shown in FIG. 7, detailed description thereof will be omitted. Further, since the process of step S2101 shown in FIG. 22 is the same as the process of step S1801 shown in FIG. 19, detailed description thereof will be omitted.
  • step S2103 the calculation unit 21 calculates an output value L 2 m based on the charge generation period T pm and the calculated output value L 1 m by the equations defined by the equations (11) and (12). To do. Specifically, the calculation unit 21 determines the magnitude relationship between the charge generation period T pm set based on the challenge 200 and the calculated output value L 1 m, and sets the larger value as the smaller value. The divided remainder is calculated as the output value L 2m.
  • the set value of the charge generation period T pm is greater than the output value L 1 m, by the formula defined by equation (11), the output value L 1 m the set value of the charge generation period T pm The divided remainder is calculated as the output value L 2m.
  • the calculation unit 21 uses the formula defined by the equation (12) to set the output value L 1 m as the set value of the charge generation period T pm.
  • the divided remainder is calculated as the output value L 2m.
  • the method of standardizing the output value L 2 m is the same as the method of standardizing the output value L m , and the method of standardizing the output value L m is as described above. Therefore, detailed description thereof will be omitted.
  • the information processing apparatus 1 normalizes the remainder between the output value L 1 m and the charge generation period T pm, and generates the unique key 240 based on the standardized output value L 2 m. , It is possible to generate a unique key 240 with even lower predictability (high security).
  • the information processing device 1 according to the twelfth embodiment will be described in detail with reference to FIGS. 23 to 25.
  • the generation unit 22 determines a threshold L th of the plurality of output values L m, based on the magnitude relationship between the respective output values L m, the distribution position information corresponding to each of a plurality of output values L m ..
  • the generation unit 22 generates the unique key 240 of the multi-valued code including the determined distribution position information.
  • the threshold value L th is a value corresponding to a plurality of output values L m.
  • the threshold L th is the median value of a plurality of output values L m.
  • the generation unit 22 has an output value that is less than the threshold L th and less than the second threshold L th1 (second threshold L th1 ⁇ threshold L th ) in the distribution of the output value L m.
  • the distribution position information with L m as "00" is determined. Further, the generation unit 22 determines the distribution position information in which the output value L m which is equal to or more than the second threshold value L th1 and is less than the threshold value L th is set to “01”.
  • the challenge 200 further includes the following information (5) in addition to the above information (1) to (4).
  • Update eigenvalue information indicating the magnitude (Y size ) of the update eigenvalue (hereinafter, also referred to as update response).
  • the update eigenvalue (update response) is a value based on the unique key 240 of the multi-valued code generated by the generation unit 22.
  • the number m of the plurality of element position information exceeds the magnitude Y size of the update response indicated by the update eigenvalue information.
  • the number m of unit element positions indicated by the plurality of element position information (that is, the total number of unit elements) is larger than the magnitude Y size of the update response given by the challenge 200.
  • the element position information is, for example, the number of position information (coordinates) of the image sensor 11a constituting the pixel.
  • the generation unit 22 determines the second threshold value L th1 so that the number of output values L m corresponding to the distribution position information “00” is the size Y size / 2 of the update response given by the challenge 200. .. Similarly, the generation unit 22 has a third threshold value L th2 so that the number of output values L m corresponding to the distribution position information “11” is the magnitude Y size / 2 of the update response given by the challenge 200. To determine.
  • the total of the number of output values L m corresponding to the distribution position information "00" and the number of output values L m corresponding to the distribution position information "11” is the same as the size Y size of the update response.
  • the third threshold value L th2 is determined.
  • generating unit 22 generates as the number of output values L m corresponding to the distribution position information "00", and the number of output values L m corresponding to the distribution position information "11" is the same number.
  • the generation unit 22 generates a unique key 240 composed of m elements by converting each of the plurality of output values L m into the determined corresponding distribution position information. As a result, the generation unit 22 can generate the unique key 240 of the multi-valued code including the distribution position information.
  • the output value L m corresponding to the distribution position information “01” or the distribution position information “10” has a threshold value L higher than the output value L m corresponding to the distribution position information “00” or the distribution position information “11”. Close to th. Therefore, the distribution position information "01", the value of the unique key 240 based on the output value L m which corresponds to the distribution position information "10” ( "1” or "0"), there is a risk of bit inversion, Reproducibility is relatively low.
  • the bit inversion means that the sign changes when the output value L m crosses the threshold value due to the reproduction variation.
  • the generation unit 22 generates the unique key 240 of the multi-valued code including the distribution position information, and the generated unique key 240 of the multi-valued code provides information on the reproducibility of the output value L m.
  • the storage unit 81 stores a set of the response 201 (authentication response) including the output values L m corresponding to the challenge 200, at least one, as a challenge and response.
  • the authentication unit 84 generates an update eigenvalue (update response) based on the unique key 240 of the multi-valued code including the distribution position information generated by the generation unit 22.
  • FIG. 24 is a flowchart showing the authentication process (step S400) in the twelfth embodiment.
  • FIG. 25 is a diagram showing an example of the response 201 and the update response of the multi-valued code.
  • step S300 the processing unit 20 transmits the unique key 240 of the multi-valued code including the distribution position information as the response 201 to the external device 2 via the communication unit 60.
  • step S2201 the authentication unit 84 acquires the unique key 240 of the multi-valued code transmitted from the information processing device 1 via the communication unit 83 as the response 201.
  • step S2202 the authentication unit 84 generates an update response based on the acquired response 201.
  • the total number m of pixels corresponding to the response 201 is 24, the response 201, and corresponds to the output value L m, based on the pixel P 1 to P 24.
  • the response 201 is composed of an element of a multi-valued code composed of any one of the values "00", “01", “10”, and "11".
  • the distribution position information "01” the value of the unique key 240 based on the output value L m which corresponds to the distribution position information "10”
  • the authentication unit 84 generates an update response from the response 201 by removing the values corresponding to the distribution position information “01” and the distribution position information “10”. Accordingly, the authentication unit 84, the response 201, it generates an update response reproducibility is based on a relatively high output value L m.
  • the distribution position information corresponding to the pixels P 2 , P 5 , P 9 , P 12 , P 20 , and P 24 is “01” or “10”. Therefore, the authentication unit 84, except from the pixel P 2, P 5, P 9 , P 12, P 20, P response 201 a value indicating the distribution position information corresponding to 24, binarized, and generates an update response (See FIG. 25).
  • the sum of the number of values corresponding to the distribution position information "00" and the number of values corresponding to the distribution position information "11" is the magnitude Y size of the update response given by the challenge 200.
  • the magnitude (code length) of the update response is the magnitude Y size indicated by the update eigenvalue information included in the challenge 200. That is, by specifying the code length of the update response by the challenge 200, the authentication unit 84 generates the update response of the specified code length.
  • the authentication unit 84 when acquiring the response 201 illustrated in FIG. 25, the authentication unit 84 of the authentication response including the output values L m which is stored in the storage unit 81, the pixel P 2, P 5, Pixels other than P 9 , P 12 , P 20 , and P 24 (ie, P 1 , P 3 to P 4 , P 6 to P 8 , P 10 to P 11 , P 13 to P 19 , P 21 to P 23 ).
  • the output value L m corresponding to is binarized and an update response for authentication is generated.
  • the authentication update response is composed of an output value L m based on the unit element at the same position as the unit element corresponding to the update response.
  • step S2204 the authentication unit 84 authenticates by comparing the update response with the authentication update response. Since the process of step S2204 is the same as the process of step S402, detailed description thereof will be omitted.
  • the update response has a relatively low risk of bit inversion and a relatively high reproducibility.
  • the update response and the authentication update response are composed of an output value L m based on a unit element at the same position. Therefore, the authentication unit 84 can prevent the values based on different unit elements from being compared when comparing the update response and the authentication update response. As a result, in the present embodiment, when the information processing device 1 is true, the authentication accuracy can be improved by comparing the update response with the authentication update response.
  • the threshold value L th of the output value L m based on the magnitude relation between each of the plurality of output values L m, for example to determine the distribution position information corresponding to each of a plurality of output values L m explained.
  • the present disclosure is not limited to this.
  • the unique key 240 of the multi-valued code including the distribution position information is generated.
  • Generator 22 among the output values L m, determine the distribution position information "1" and Y size / 2 pieces of output values L m from a maximum value in descending order. Further, the generation unit 22 determines the distribution position information in which Y size / 2 output values L m are set to “0” in ascending order from the minimum value. Further, the generation unit 22 determines the distribution position information in which the other output value L m is “2”.
  • generator 22 among the output values L m, the maximum value in descending order 64 output values L m determine the distribution position information to "1". Further, the generation unit 22 determines the distribution position information in which 64 output values L m are set to “0” in ascending order from the minimum value.
  • the generation unit 22 generates a unique key 240 composed of m elements by converting each of the plurality of output values L m into the determined corresponding distribution position information. As a result, the generation unit 22 can generate the unique key 240 of the multi-valued code including the distribution position information. Then, the generation unit 22 rearranges the generated unique key 240 in the order of the element position information from the order of the magnitude of the output value L m. As a result, the generation unit 22 can generate the unique key 240 of the multi-valued code including the distribution position information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Processing (AREA)

Abstract

情報処理装置は、多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、出力値を取得する出力値取得部と、取得される時間が異なる出力値に基づいて、期間に対応する複数の第1素子出力値を算出する算出部と、複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する生成部と、を備える。

Description

情報処理装置及び情報処理方法
 本発明は、情報処理装置及び情報処理方法に関する。本願は、2019年10月9日に、日本に出願された特願2019-185686に優先権を主張し、その内容をここに援用する。
 近年、暗号化処理に物理複製困難関数(Physically Unclonable Function; PUF)を用いることが提案されている(例えば、特許文献1を参照。)。PUFは、発生パターンが予測困難であり、かつ、特性が劣化し難い。このため、PUFを用いることにより、情報の安全性を大きく向上し得る。PUFの設計が複製可能なものであっても、製造されたものが、物理的に複製できない値を出力するものであれば、ここでは、PUFを有するものになる。
 例えば特許文献1には、PUFから固有値を生成する情報処理装置の一例が記載されている。特許文献1に記載の情報処理装置では、出力データ取得部が、オプティカルブラック領域の画素からの出力データを複数回取得する。平均値算出部は、オプティカルブラック領域の画素毎に、読み出された複数回の出力データの平均値を算出する。中央値算出部は、平均値算出部で算出された平均値の集合から中央値を算出する。固有値生成部は、中央値と平均値とを比較することにより固有値を生成する。
特開2017-118229号公報
 PUFから固有値を生成する情報処理装置には、温度等の条件に依存せずに安定して固有値を生成可能であることが求められる。
 本開示の主な目的は、安定して固有値を生成し得る情報処理装置、情報処理方法を提供することにある。
 本開示の一態様に係る情報処理装置は、多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、前記出力値を取得する出力値取得部と、取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出する算出部と、前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する生成部とを備える。
 本開示の一態様に係る情報処理方法では、多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、前記出力値を取得するステップと、取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出するステップと、前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成するステップとを備える。
第1実施形態に係る認証システムのブロック図である。 第1実施形態における情報処理装置のブロック図である。 第1実施形態における撮像部の模式的平面図である。 第1実施形態における外部装置のブロック図である。 第1実施形態における認証のフローチャートである。 第1実施形態におけるチャレンジの送信及びレスポンス生成指示工程(ステップS100)を表すフローチャートである。 第1実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第1実施形態における固有鍵の演算方法を説明するための図である。 第1実施形態における認証工程(ステップS400)を表すフローチャートである。 第1の実施形態の変形例の外部装置のブロック図である。 第1実施形態の変形例におけるレスポンス生成工程を表すフローチャートである。 第1実施形態の変形例における認証用レスポンス生成工程を表すフローチャートである。 第2実施形態に係る情報処理装置のブロック図である。 第3実施形態に係る情報処理装置のブロック図である。 第4実施形態に係る情報処理装置のブロック図である。 第5実施形態に係る情報処理装置のブロック図である。 ハミング距離を用いて一致度の判断を行う際の演算の一例である。 第6実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第6実施形態における固有鍵の演算方法を説明するための図である。 第7実施形態に係る情報処理装置のブロック図である。 第8実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第9実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第10実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第11実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。 第12実施形態における固有鍵の生成方法を説明するための図である。 第12実施形態における認証工程(ステップS400)を表すフローチャートである。 第12実施形態における更新レスポンスの一例である。 出力値のヒストグラムの一例を示す図である。 分布位置情報の決定方法を説明するための図である。
 以下、本開示を実施した好ましい形態の一例について説明する。但し、下記の実施形態は、単なる例示である。本開示は、下記の実施形態に何ら限定されない。
 (第1実施形態)
 (情報処理システム)
 図1は、第1実施形態に係る認証システムのブロック図である。第1実施形態では、図1に示す認証システムについて説明する。第1実施形態に係る認証システムは、例えば、イメージセンサ等の複数の電荷発生素子を有するデバイスの個体情報に基づいて固有値の一例である固有鍵を生成し、その固有鍵を用いてデバイスの認証を行うシステムである。特に、本実施形態では、デバイスの複数の電荷発生素子が有する個体情報に基づいて物理複製困難関数(Physically Unclonable Function;PUF)を算出し、算出したPUFに基づいて固有鍵を生成する例について説明する。
 図1に示すように、認証システムは、情報処理装置1と、外部装置2とを含む。
 情報処理装置1と、外部装置2とは、通信可能(詳細には、相互データ通信可能)である。本実施形態では、情報処理装置1と外部装置2とは、無線通信可能であってもよいし、電気的配線(LANケーブルや電子回路など)による有線通信可能であってもよい。情報処理装置1と外部装置2とは、例えば、ネットワークを介して無線通信可能であってもよい。情報処理装置1と外部装置2とは、例えば、移動通信システム、Wi-Fi(登録商標)、Bluetooth(登録商標)などの近距離無線、LPWA(Low Power, Wide Area)、LPWAN(Low-Power Wide-Area Network)等により無線通信可能であってもよい。以下、本実施形態では、情報処理装置1と外部装置2とがネットワークを介して無線通信可能である例について説明する。
 認証システムでは、外部装置2から入力されたチャレンジ200(入力情報)に対して、情報処理装置1は、チャレンジに応じたレスポンス201(固有鍵)を生成し、外部装置2に送信する。外部装置2は、外部装置2に送信したチャレンジ200に対応したレスポンスを記憶しており、その記憶しているレスポンスと、情報処理装置1から送信されたレスポンス201とを比較することにより情報処理装置1の認証を行う。
 なお、チャレンジ200は、認証を行うための条件を含むデータであり、レスポンス201とは、チャレンジ200に基づいて生成される情報処理装置1に固有のデータである。チャレンジ200及びレスポンス201の詳細については、後述する。
 (情報処理装置1)
 図2は、第1実施形態における情報処理装置1のブロック図である。次に、主として図2を参照しながら、情報処理装置1について説明する。
 情報処理装置1は、例えば、デジタルスチルカメラ、デジタルビデオカメラ等の撮像装置、スマートフォン、タブレット型パーソナルコンピュータ等の撮像機構を有する情報端末、複写機やスキャナ等の画像処理装置、腕時計、ウエアラブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子ロック、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等の情報機器等である。本実施形態では、情報処理装置1がデジタルビデオカメラである例について説明する。より具体的には、本実施形態の情報処理装置1は監視用のネットワークビデオカメラである。
 図2に示すように、情報処理装置1は、イメージセンサ10と、処理部20と、記憶部30と、表示部40と、操作部50と、通信部60とを備えている。イメージセンサ10と、処理部20と、記憶部30と、表示部40と、操作部50と、通信部60とは、バスライン70を介して接続されており、相互に通信可能である。
 イメージセンサ10は、静止画像や動画像を撮像するデバイスである。イメージセンサ10は、撮像した画像を画像信号221として出力する。また、イメージセンサ10は、さらに、PUFの算出に必要な信号(後述する暗電流信号213)を出力する。なお、イメージセンサ10の詳細については後述する。
 処理部20は、例えば、Central Processing Unit(CPU)などの各種プロセッサにより構成することができる。
 処理部20は、情報処理装置1における各種情報処理を行う。具体的には、処理部20は、例えば、画像信号221に基づいて画像データを形成し、記憶部30に記憶させると共に、画像データに基づく画像を表示部40に表示させる。処理部20は、例えば、形成した画像データを通信部60に外部装置2に対して送信させる。処理部20は、必要に応じて、形成した画像データを通信部60に外部装置2に対して送信させる。処理部20は、例えば、暗電流信号213や、外部装置2からのチャレンジ200等に基づいてレスポンス201を生成し、通信部60に送信する。なお、処理部20の構成の詳細については後述する。
 記憶部30は、例えば、RAM(Random Access Memory)等のメモリや、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスク等により構成することができる。
 記憶部30は、処理部20から入力されたデータや、通信部60を介して外部から受信したデータや指令等を記憶する。
 表示部40は、例えば、液晶ディスプレイ、エレクトロルミネッセンスディスプレイ等の各種ディスプレイにより構成することができる。
 表示部40は、処理部20から出力された画像データに基づく画像や、外部装置2による認証結果等の各種情報を示す画像を表示する。
 操作部50は、情報処理装置1のユーザが操作することで、情報処理装置1に対する指示を入力する部分である。ユーザは、例えば、操作部50から、撮像等を行う指示を情報処理装置1に対して入力することができる。
 なお、例えば、情報処理装置1が処理内容を記憶している場合などにおいては、操作部50を設ける必要は必ずしもない。操作部50は、例えば、パーソナルコンピュータ等との間で信号を授受する信号端子により構成されていてもよい。すなわち、情報処理装置1は、操作部50を介して接続されたパーソナルコンピュータ等により操作可能であってもよい。
 通信部60は、外部装置2等と通信する。通信部60は、例えば、外部装置2からチャレンジ200を受け取り、外部装置2に対してレスポンス201を送信する。通信部60は、例えば、外部装置2に対して画像データを送信する。通信部60は、ネットワークを経由して外部装置2以外の装置と通信可能である。有線通信の場合、通信部60はデータの伝送機能のみを有する電気的配線(LANケーブル、電子回路など)であってもよい。
 (イメージセンサ10)
 イメージセンサ10は、撮像部11と、制御部12とを有する。制御部12は、撮像部11を制御する。制御部12は、撮像部11に対して撮像を指示し、撮像部11から入力される画素信号211、212に基づいて画像(動画像)データを生成し、画像信号221として出力する。
 撮像部11は、制御部12からの指令に基づいて撮像し、制御部12に対して各画素の画素信号211、212及び暗電流信号213を出力する。
 具体的には、撮像部11は、複数の撮像素子11aを含む。複数の撮像素子11aのそれぞれは、画素を構成している。各撮像素子11aは、フォトダイオードを有する。各撮像素子11aは、例えば、CMOS(Complementary Metal-Oxide Semiconductor device)やCCD(Charge Coupled Device)等により構成することができる。
 撮像素子11aは、受光した光の光量に応じた電荷を発生させて電気信号に変換し、画素信号211、212として出力する。詳細には、撮像素子11aは、光学系により撮像面上に結像された入射光の光量に応じた電荷を発生させて電気信号に変換し、画素信号211、212として出力する。このため、複数の撮像素子11aのそれぞれは、電荷発生素子を構成している。すなわち、イメージセンサ10は、複数の電荷発生素子を有している。
 ここで、「電荷発生素子」とは、電荷を発生させる素子のことを意味する。電荷発生素子には、電荷を発生させ、かつ、発生させた電荷を蓄積する素子も含まれる。
 上述のように、各撮像素子11aはフォトダイオードを有している。このため、例えば、フォトダイオードと酸化ケイ素等により構成された絶縁膜との間の界面で生じる界面準位に起因して表面リーク電流等が流れるため、撮像素子11aに光が照射されていない状態であっても、流れる電流(暗電流)が存在する。このため、各撮像素子11aは、暗電流も電気信号に変換し、暗電流信号213として出力する。なお、本実施形態では、暗電流信号213と画素信号212とは実質的に等しい信号である。
 図3は、第1実施形態における撮像部11の模式的平面図である。図3に示すように、それぞれ画素を構成している複数の撮像素子11aは、撮像部11の受光面11A上に間隔をおいてマトリクス状に配列されている。
 図3に示すように、受光面11Aは、中央部に位置する有効領域11A1と、周縁部に位置する遮光領域11A2とを含む。有効領域11A1は、外部からの光を受光可能である。有効領域11A1は、撮像する画像が結像する領域である。一方、遮光領域11A2の上には、遮光部材(図示せず。)が配置されている。このため、遮光領域11A2は、遮光部材により遮光されている。遮光領域11A2には、外部からの光が実質的に到達しない。
 複数の撮像素子11aは、有効領域11A1及び遮光領域11A2に配置されている。複数の撮像素子11aのうち、有効領域11A1に位置する撮像素子を有効撮像素子11a1とする。一方、複数の撮像素子11aのうち、遮光領域11A2に位置する撮像素子を遮光撮像素子11a2とする。
 制御部12は、有効撮像素子11a1から出力された画素信号211から画像信号220を形成し、遮光撮像素子11a2から出力された画素信号212(暗電流信号213と実質的に等しい。)に基づいて画像信号220を補正する。制御部12は、この補正された画像信号221を出力する。
 遮光撮像素子11a2は、図示しない遮光部材により遮光されている。遮光撮像素子11a2には光が実質的に入射しない。このため、遮光撮像素子11a2から出力される画素信号212は、例えば、暗電流の大きさに応じた信号である。このため、遮光撮像素子11a2から出力された画素信号212は、例えば、暗電流等に基づくノイズを除去するために用いることができる。制御部12は、例えば、遮光撮像素子11a2から出力された画素信号212に基づいて、黒基準レベルを決定し、その黒基準レベルに基づいて画像信号220を補正する。この補正により、暗電流等に起因して発生するノイズが除去された画像信号221を得ることができる。
 本実施形態では、画像信号220の補正に使用する場合の遮光撮像素子11a2からの信号を画素信号212と称呼し、後述する固有鍵240の生成に使用する場合の遮光撮像素子11a2からの信号を暗電流信号213と称呼することとする。
 なお、本実施形態では、有効領域11A1が中央部に位置しており、遮光撮像素子11a2が有効領域11A1を包囲するように周縁部に設けられている例について説明した。但し、本開示において、有効領域と遮光領域との位置関係は、本実施形態の位置関係に限定されない。本開示において、遮光領域は有効領域に対してどのような位置関係を有していてもよく、遮光領域のみでもよい。
 (処理部20)
 図2に示すように、処理部20は、算出部21と、生成部22と、出力値取得部210とを備えている。
 出力値取得部210は、デバイス(例えば、イメージセンサ10)に含まれる単位素子(例えば、電荷発生素子)から発生する出力値を取得する。当該出力値は、例えば、複数の遮光撮像素子11a2から出力された、発生した電荷に応じた暗電流信号213である。
 算出部21は、出力値取得部210により取得される出力値に基づいて、互いに時間が異なる期間に対応する複数の第1素子出力値(以下、単に出力値とも称呼する)を算出する。本実施形態では、算出部21は、相関関数230を算出する。具体的には、算出部21は、複数の遮光撮像素子11a2から出力された、発生した電荷に応じた出力値である暗電流信号213に基づいて、電荷発生期間が相互に異なる複数の出力値を取得する。算出部21は、その電荷発生期間が異なる複数の出力値から、電荷発生期間と出力値との相関関数230を算出する。従って、相関関数230は、電荷発生期間と出力値との相関関数である。
 なお、本実施形態では、後に詳述するように、電荷発生期間が相互に異なる複数の出力値を累積や演算により求める。従って、本実施形態では、出力値は、詳細には、累積出力値である。なお、電荷発生期間が相互に異なる複数の出力値は、例えば、出力値の加算、乗算等の四則演算により算出することも可能である。また、電荷発生期間が同じまたは相互に異なる複数の出力値を直接取得してもよい。
 生成部22は、算出部21により算出される複数の出力値と、所定の入力情報とに基づいて、固有値(固有鍵240)を生成する。本実施形態では、生成部22は、相関関数230に基づいて、固有鍵240を生成する。具体的には、生成部22は、固有鍵240として、固有の値を生成する。本実施形態では、より具体的には、生成部22は、相関関数230に基づいて、一の電荷発生期間における出力値を計算し、その計算された出力値に基づいて固有鍵240を生成する。相関関数230に基づく固有鍵240の生成方法の詳細については後述する。
 なお、固有鍵とは、認証に用いられる情報である。固有鍵240は、情報処理装置1に対して固有に生成される情報であり、従って、生成条件であるチャレンジ200により一義的に決定される情報である。
 (外部装置2)
 図4は、第1実施形態における外部装置2のブロック図である。外部装置2は、例えば、ネットワークを介して情報処理装置1と通信可能な外部サーバ等により構成することができる。
 図4に示すように、外部装置2は、記憶部81と、指示部82と、認証部84と、通信部83とを備えている。記憶部81と、指示部82と、認証部84と、通信部83とは、バスライン85を介して接続されており、相互に通信可能である。
 記憶部81は、例えば、RAM(Random Access Memory)等のメモリや、ソリッドステートドライブ(Solid State Drive:SSD)、ハードディスク等により構成することができる。
 記憶部81は、入力情報としてのチャレンジ200と、そのチャレンジ200に対応した固有鍵240としてのレスポンス201との組、またはチャレンジ200とレスポンス201の組を出力する相関係数を構成する値を少なくともひとつ記憶している。以下、チャレンジ200と、そのチャレンジ200に対応したレスポンス201の組を「チャレンジアンドレスポンス」と称呼することがある。
 チャレンジアンドレスポンスは、一のチャレンジ200と、そのチャレンジ200を情報処理装置1に対して入力したときに生成されるレスポンス201の組のことである。このため、チャレンジアンドレスポンスは、情報処理装置1をブラックボックスとする情報処理装置1に固有のデータである。従って、チャレンジアンドレスポンスは、情報処理装置1なくして生成することは実際上困難である。チャレンジアンドレスポンスは、実際にチャレンジ200を入力して情報処理装置1にレスポンス201を生成させることにより得ることができる。よって、情報処理装置1を用いてチャレンジアンドレスポンスを作成し、その作成したチャレンジアンドレスポンスを外部装置2の記憶部81に記憶させておく必要がある。本実施形態においては、記憶部81は、複数のチャレンジアンドレスポンスの組情報、または上記デバイスの単位素子毎に取得した相関関数に関するデータをデータベースとして記憶している。前記チャレンジアンドレスポンスの組情報と前記相関関数に関するデータは、上記デバイスから取得されず、上記デバイス毎のデータベースを実サンプルとし、実サンプルと異なるデータを出力する敵対的生成ネットワーク(GAN:Generative Adversarial Network)などの機械学習により生成されたデータであってもよい。
 記憶部81は、さらに、認証部84から入力されるデータ、通信部83を経由して情報処理装置1から送信された画像データ等を記憶する。
 指示部82は、入力情報としてのチャレンジ200を、通信部83を経由して情報処理装置1の処理部20、具体的には、算出部21及び生成部22に提供すると共に、提供したチャレンジ200に基づいた固有鍵240の生成を処理部20に指示する。詳細には、指示部82は、記憶部81に記憶された複数のチャレンジアンドレスポンスのうちの少なくともひとつを参照する。指示部82は、参照したチャレンジアンドレスポンスのなかから一のチャレンジアンドレスポンスを選択する。指示部82は、選択したチャレンジアンドレスポンスのチャレンジ200を処理部20に対して提供すると共に、そのチャレンジ200に基づいた固有鍵240の生成を処理部20に対して指示する。
 認証部84は、処理部20が生成した固有鍵240を、通信部83を経由してレスポンス201として受け取る。認証部84は、受け取ったレスポンス201と、提供したチャレンジ200に対応したレスポンス201(使用したチャレンジアンドレスポンスを構成しているレスポンス201)とを比較することにより情報処理装置1の認証を行う。また、記憶部81に保管された相関関数230を構成する値に基づいて、提供したチャレンジ200に対応したレスポンス201(使用したチャレンジアンドレスポンスを構成しているレスポンス201)を算出し、受け取ったレスポンス201と比較することにより、情報処理装置1の認証を行っても良い。相関関数230に基づくレスポンスの生成方法の詳細については後述する。
 通信部83は、情報処理装置1の通信部60とネットワークを経由して通信可能である。通信部83は、指示部82からのチャレンジ200を通信部60に対して送信する。通信部83は、通信部60から送信されたレスポンス201を受信する。また、通信部83は、通信部60を介して情報処理装置1dはから送信された画像データを受信する。通信部83が有線通信で送受信する場合、通信部60は、データの伝送機能のみを有する電気的配線(LANケーブル、電子回路など)であってもよい。
 外部装置2は、情報処理装置1に対して認証のためのチャレンジ200を出力し、情報処理装置1から送信されるレスポンス201に基づいて情報処理装置1の認証を行う。ここで、情報処理装置1の認証とは、情報処理装置1が、外部装置2が想定している情報処理装置であるか否かを判定することを意味する。
 例えば、情報処理装置1が監視カメラである場合、外部装置2は、情報処理装置1との間でチャレンジ200及びレスポンス201の送受信を行うと共に、情報処理装置1から画像データを受け付ける。外部装置2は、画像を受け付ける際に、まず、情報処理装置1の認証を行い、通信先が情報処理装置1であることを確定してから、画像データを受信する。このため、外部装置2は、情報処理装置1からの画像データのみを受信することができる。外部装置2は、情報処理装置1以外の装置からの画像データの受信を拒否する。例えば、情報処理装置1以外の監視カメラが外部装置2にアクセスし、画像データの送信を行ったとしても、認証により他の監視カメラや他のなりすまし装置からの画像データ(例えば、偽造画像データ)の送信であることが判定できるため、誤った画像データを受信することを抑制することができる。また、外部装置2に対して、情報処理装置1以外の認証されていない装置がアクセスすることを好適に規制することができる。従って、外部装置2に対する情報処理装置1を経由したサイバー攻撃を好適に規制することができる。
 (情報処理装置1の認証)
 次に、情報処理装置1の認証について、主として図5~図9を参照しながら、詳細に説明する。
 図5は、第1実施形態における認証のフローチャートである。
 情報処理装置1の認証に際しては、図5に示すように、まず、ステップS100において、チャレンジ200の送信及びレスポンスを生成する旨の指示が行われる。具体的には、図1に示すように、外部装置2がチャレンジ200を情報処理装置1に対して送信する。それと共に、外部装置2は、情報処理装置1に対してレスポンス201の生成指示を行う。
 次に、図5に示すステップS200において、情報処理装置1は、送信されたチャレンジ200に基づいて固有鍵240(図2を参照。)を生成する。
 次に、ステップS300において、情報処理装置1は、生成した固有鍵240に基づくレスポンス201を送信する。
 次に、ステップS400において、外部装置2は、送信されたレスポンス201に基づいて情報処理装置1の認証を行う。具体的には、外部装置2は、送信されたレスポンス201と、送信したチャレンジ200とチャレンジアンドレスポンスを構成するレスポンス(以下、「認証用レスポンス」ということがある。)とを比較する。外部装置2は、レスポンス201と認証用レスポンスとが一致していると判断したときに、情報処理装置1が真であると認証する。外部装置2は、レスポンス201と認証用レスポンスとが異なっていると判断したときに、情報処理装置1が偽であると認証する。
 外部装置2により情報処理装置1が真であると認証された場合、外部装置2は、情報処理装置1からの画像データを受け入れる。外部装置2により情報処理装置1が偽であると認証された場合、外部装置2は、情報処理装置1からの画像データを拒絶する。
 以下、ステップS100、ステップS200、ステップS300及びステップS400について詳細に説明する。
 (ステップS100:チャレンジの送信及びレスポンス生成指示工程)
 図6は、第1実施形態におけるチャレンジの送信及びレスポンス生成指示工程(ステップS100)を表すフローチャートである。
 図6に示すように、まず、ステップS101において、チャレンジアンドレスポンスの選択が行われる。具体的には、図4に示す指示部82は、記憶部81に記憶されている複数のチャレンジアンドレスポンスのなかから、一のチャレンジアンドレスポンスを選択する。指示部82は、記憶部81に記憶されたチャレンジアンドレスポンスのデータベースに対して、選択したチャレンジアンドレスポンスに選択済みである旨の情報を付与する。その後のチャレンジアンドレスポンスの選択工程においては、記憶部81に記憶された複数のチャレンジアンドレスポンスのうち、選択済みである旨の情報が附されていないチャレンジアンドレスポンスのなかから一のチャレンジアンドレスポンスが選択される。このため、本実施形態においては、記憶部81に記憶されている複数のチャレンジアンドレスポンスのそれぞれは、一度の認証にのみ用いられる。
 チャレンジ200には、情報処理装置1において特定のレスポンス201が生成可能な情報が含まれている。このため、チャレンジ200が特定されると、情報処理装置1において生成されるレスポンス201も特定される。チャレンジ200の具体的な内容は、情報処理装置1がチャレンジ200に基づいてどのようにレスポンス201(固有鍵)を生成するかによって適宜設定することができる。本実施形態においては、具体的には、チャレンジ200は、以下の(1)~(4)の情報を少なくとも含んでいてもよい。
 (1)画素を構成している撮像素子11aの位置情報(座標)
 (2)撮像素子11aにおいて発生する電荷量に対応した出力値を検出する単位時間及び検出回数(撮像素子11aに光が入射し、露光が行われることにより撮像する場合、単位時間は撮像の露光時間と同一でもよい。)
 (3)固有鍵240の生成に用いるデータを作成するために設定する電荷発生期間(Tpm
 (4)閾値(Lth
 画素を構成している撮像素子11aの位置情報(座標)は、マトリクス状に配列された、複数の単位素子(撮像素子11a)のそれぞれの位置に関する情報を示す。
 なお、閾値(Lth)を固定値とする場合は、チャレンジ200は、閾値(Lth)を含む必要は必ずしもない。
 図6に示すように、ステップS101に続いて、ステップS102が行われる。ステップS102においては、図4に示す外部装置2の指示部82が、通信部83を経由して、ステップS101において選択したチャレンジ200を情報処理装置1に送信すると共に、そのチャレンジ200に基づいてレスポンス201を生成することを情報処理装置1に対して指示する。これにより固有鍵240の生成工程(ステップS200)が開始する。
 (ステップS200:固有鍵240の生成工程)
 図7は、第1実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図8は、第1実施形態における固有鍵240の演算方法を説明するための図である。
 ステップS102においてレスポンス201の生成指示が行われると、ステップS200において、情報処理装置1は、固有鍵240の生成を開始する。具体的には、図7に示すように、まず、ステップS201において、算出部21は、通信部60を経由して、情報処理装置1からチャレンジ200を受信する。上述の通り、チャレンジ200は、画素を構成している撮像素子11aの位置情報(座標)を含む。本実施形態では、チャレンジ200には、m個の画素P(m=1~m)のそれぞれの座標が含まれている。
 次に、算出部21は、ステップS202において、チャレンジ200に基づいて、複数の画素Pのそれぞれにおける単位時間あたりに発生した電荷に応じた出力値を読み込む。詳細には、算出部21は、複数の画素Pのそれぞれにおいて、単位時間あたりに発生した電荷に応じた出力値をn回読み込む。具体的には、図8に示すように、算出部21は、それぞれ同様の単位時間を有する期間t(n=1~n)あたりに各画素Pから出力される出力値amnを読み込む。さらに具体的には、算出部21は、期間tにおける画素Pからの出力値a11、期間tにおける画素Pからの出力値a12、・・・、期間tにおける画素Pからの出力値a1n、・・・、期間tにおける画素Pからの出力値amnを撮像部11から読み込む。
 次に、図7に示すステップS203において、図8に示すように、算出部21は、各画素Pからの各期間Tに対応する第1素子出力値Amn(以下、出力値Amnと称呼する)を算出する。
 なお、期間Tは、下記の式(1)によって定義される。出力値Amnは、画素Pにおける出力値である。出力値Amnは、下記の式(2)によって定義される。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 ここで、本実施形態では、期間t(t、t、・・・、t)は、すべて同じ長さの期間である。このため、例えば、期間Tは、期間Tの2倍の長さの期間、Tは、Tのn倍の長さの期間となる。このため、複数の出力値Amnは、電荷発生期間が相互に異なる出力値である。
 なお、期間t(t、t、・・・、t)は、相互に同じ長さである必要は必ずしもない。例えば、期間t(t、t、・・・、t)の各期間の時間が事後的に読み出し可能であるような場合には、期間t(t、t、・・・、t)は、相互に異なる期間であってもよい。
 次に、図7に示すステップS204において、算出部21は、複数の出力値Amnから、画素P毎に、電荷発生期間Tと出力値Aとの相関関数A=f(T)(図8を参照。)を算出する。算出部21は、算出した相関関数A=f(T)を生成部22(図2を参照。)に出力する。
 なお、相関関数A=f(T)の算出方法は、特に限定されない。相関関数A=f(T)は、例えば、種々の近似法を用いて算出することができる。相関関数A=f(T)は、例えば、最小二乗法等を用いて算出することができる。詳細には、相関関数A=f(T)は、例えば、実際の出力値と、相関関数Aを用いて算出される出力値との差の二乗和が最小となるように最小二乗法を用いて算出することができる。
 相関関数A=f(T)は、例えば、ロバスト回帰また適応フィルタ等を用いて算出することもできる。詳細には、相関関数A=f(T)は、例えば、実際の出力値と、相関関数Aを用いて算出される出力値との差の一乗和が最小となるようにロバスト回帰を用いて算出することもできる。また、期間tに出力される出力値A(例えば、A1nなど)間の最適化アルゴリズムに従ってその伝達関数を自己適応させるフィルタ(適応フィルタ)を用い、相関関数A=f(T)を算出してもよい。また、相関関数A=f(T)は、出力値から算出された相関関数と、既に情報処理装置1に設定された関数(例えば、擬似乱数生成アルゴリズムの数式など)と組み合わされた関数であってもよい。
 次に、図7に示すステップS205において、図8に示すように、生成部22は、相関関数A=f(T)に基づいて、複数の所定の期間(電荷発生期間Tpm(m=1~m))における複数の第2素子出力値L(以下、出力値Lと称呼する)(m=1~m)を算出する。電荷発生期間Tpm(m=1~m)は、各画素Pで同一であってもよいし、異なっていてもよい。また、図7に示すステップS203において、算出部21は、各画素Pからの各期間Tに、チャレンジ200で与えられる電荷発生期間Tpmを与え、出力値Lを算出してもよい。
 次に、図7に示すステップS206において、図8に示すように、生成部22は、出力値L(m=1~m)と閾値Lthとに基づいて固有鍵240を生成する。
 詳細には、生成部22は、以下の手順で固有鍵240を生成する。
 まず、ステップS205において、生成部22は、相関関数A=f(T)に基づいて少なくとも一の電荷発生期間における出力値を計算し、ステップS206において、計算された出力値に基づいて固有鍵240を生成する。
 記憶部30(図2を参照。)には、所定の電荷発生期間Tpmが記憶されている。生成部22は、記憶部30に記憶された所定の電荷発生期間Tpmを設定する。生成部22は、複数の画素Pのそれぞれについて、設定した電荷発生期間Tpmにおける出力値L(m=1~m)を相関関数A=f(T)に基づいて計算する(ステップS205)。
 本実施形態では、具体的には、記憶部30には、所定の電荷発生期間Tpmとして、n個の期間T(n=1~n)が記憶されている。生成部22は、チャレンジ200に基づいて、所定の電荷発生期間Tpmを設定する。次に、生成部22は、設定した電荷発生期間Tpmを相関関数A=f(T)に代入することにより、設定した電荷発生期間Tpmにおける出力値L(L、L、・・・、L)を計算する。
 次に、ステップS206において、生成部22は、計算された複数の出力値Lのそれぞれの閾値Lthに対する大小(閾値Lth以上か、若しくは、閾値Lth未満か)に基づいて、デジタル数値の要素からなる固有鍵240(具体的には、PUFからの固有値)を生成する。閾値Lthは、それぞれの出力値L(m=1~m)間で同一であってもよいし、異なっていてもよい。
 本実施形態では、チャレンジ200は送信されるたびに変更される。チャレンジ200に含まれる画素P(m=1~m)の座標、電荷発生期間Tpm(m=1~m)閾値Lth等のうちの少なくともひとつが変更されることにより、画素Pが同一であっても複数の異なる固有鍵240の生成が可能となる。
 本実施形態では、詳細には、記憶部30は、所定の閾値Lthを記憶している。生成部22は、チャレンジ200に基づいて、記憶部30に記憶された所定の閾値Lthを設定する。生成部22は、複数の出力値Lの設定された閾値Lthに対する大小関係(選択された一の閾値Lth以上か、若しくは、閾値Lth未満か)を判定する。生成部22は、例えば、出力値Lが閾値Lth以上のときを「1」とし、閾値Lth未満のときを「0」として、m個の出力値Lをm個の要素からなる固有鍵240に変換する。
 ステップS206は、複数の出力値Lに対して設定された閾値Lthに対する大小関係で固有鍵240に変換するステップであってもよい。その場合、チャレンジ200に含まれる閾値Lth次第では、固有鍵240を構成する要素のすべてが0または1になる可能性がある。その場合、固有鍵240が、予測可能性の高い(セキュリティの低い)数列になる可能性がある。そのため、予め、セキュリティの低い固有鍵240が算出されるチャレンジ200は除いておくことが好ましい。または、固有鍵240を0と1の個数に偏りの少ない数列にするために、ステップ205で、出力値L(L、L、・・・、L)を計算した後、出力値Lに対して、平均が0で分散が1の数値に変換する正規化を行ってもよい。例えば、出力値Lを規格化した後の値Zを式(3)によって定義される式で出力値Lを変換してもよい。なお、LminとLmaxは、出力値L(L、L、・・・、L)の最大値と最小値を示す。この場合、ステップS206の閾値Lthは、例えば、0.5のような固定値であってもよい。
Figure JPOXMLDOC01-appb-M000003
 出力値Lを中央値または最頻値で除算してもよいし、出力値Lから中央値または最頻値を減算してもよい。出力値Lを中央値または最頻値で除算する場合、ステップS206において使用する閾値Lth、例えば、0.5のような固定値であってもよい。
 出力値Lの正規化は、例えば、二乗平均平方根が1になる数値に変換する方法や統計学を用いたその他の方法を用いて行うことができる。
 または、固有鍵240を0と1の個数に偏りの少ない数列にするために、ステップS205で、出力値L(L、L、・・・、L)を計算した後、出力値Lの平均値と分散値とに基づいて、式(4)によって定義される式で出力値Lを変換してもよい。
Figure JPOXMLDOC01-appb-M000004
 (ステップS300:レスポンス201の送信工程)
 次に、ステップS300(図5を参照。)において、処理部20(図2を参照。)は、生成された固有鍵240をレスポンス201として、通信部60を経由して外部装置2(図1を参照。)に送信する。
 (ステップS400:認証工程)
 次に、ステップS400(図5を参照。)において、外部装置2は、情報処理装置1の認証を行う。
 図9は、第1実施形態における認証工程(ステップS400)を表すフローチャートである。図9に示すように、認証工程では、まず、ステップS401において、認証部84(図4を参照。)が、通信部83を経由して、情報処理装置1から送信されたレスポンス201を取得する。また、ステップS401において、認証部84は、記憶部81に記憶されている、送信したチャレンジ200に対応するレスポンスを認証用レスポンスとして取得する。
上述の通り、チャレンジ200に対して情報処理装置1により生成されるレスポンス201は確定する。このため、情報処理装置1が真であるならば、レスポンス201と認証用レスポンスとは一致する。
 次に、ステップS402において、認証部84は、レスポンス201と認証用レスポンスとを対比することにより認証を行う。レスポンス201が認証用レスポンスと一致している場合には、認証部84は、情報処理装置1を真と判断する。レスポンス201が認証用レスポンスと一致していない場合には、認証部84は、情報処理装置1を偽(他の装置が情報処理装置1になりすましている。)と判断する。
 なお、一致度の判断は、例えば、デジタル信号の誤り率を示すハミング距離を用いて行うことができる。ハミング距離とは、任意の2つのコード間において、互いに対応したビット同士を比較(比較に、例えば排他的論理和を使用してもよい。)した時の値が異なっているビット数の割合である。図15に具体的な演算例を示す。
 なお、レスポンスを構成している数のすべてが完全に一致している場合に、レスポンス201と認証用レスポンスとが一致していると判断してもよいし、レスポンスを構成している数が所定のハミング距離以下(例えば、m=128でハミング距離0.1以下、0.2以下等)で一致している場合に、レスポンス201と認証用レスポンスとが一致していると判断してもよい。また、連続した複数回の認証結果(例えば、m=128でハミング距離が4回連続0.4以下)をもって判断してもよい。
 ところで、例えば、相関関数A=f(T)を求めることなく、実際の出力値amn、出力値Amnから固有鍵を直接生成することも考えられる。しかしながら、暗電流値等のイメージセンサ10から得られる出力値は、温度等の条件に依存して変化する。このため、実際の出力値amn、出力値Amnから固有鍵を直接生成すると、情報処理装置1の温度が変化した場合に生成される固有鍵が変化する可能性がある。すなわち、実際の出力値amn、出力値Amnから固有鍵を直接生成した場合、安定して固有鍵を生成することが困難である。換言すれば、情報処理装置の温度条件等の各条件が変化した場合であっても、特定のチャレンジに対して同じ固有鍵が生成されるようにすることは困難である。
 それに対して、本実施形態では、電荷発生期間が異なる複数の出力値Amnから、電荷発生期間と出力値との相関関数A=f(T)を算出する。そして、算出した相関関数A=f(T)に基づいて固有鍵240を生成する。このように、相関関数A=f(T)を求めることにより、温度条件等の各種条件の変化に伴って発生するノイズを低減することができる。ノイズが低減された相関関数A=f(T)に基づいて固有鍵240を生成することにより、ノイズの影響を低減して安定して固有鍵240を生成することが可能となる。
 具体的には、本実施形態では、相関関数A=f(T)に基づいて、所定の電荷発生期間Tpmにおける出力値Lを算出する。この出力値Lは、相関関数A=f(T)に基づいて算出されたものであるため、温度条件等の各種条件が変化することに起因して発生したノイズの影響が低減された出力値である。この出力値Lを用いて固有鍵240を生成することにより、ノイズの影響を低減して安定して固有鍵240を生成することが可能となる。
 本実施形態では、遮光されている遮光撮像素子11a2から出力された画素信号211に基づいて、電荷発生期間が相互に異なる複数の出力値Amnを取得する。遮光撮像素子11a2は、有効撮像素子11a1とは異なり、遮光されており、実質的に受光しない。このため、遮光撮像素子11a2においては、有効撮像素子11a1において発生する光ショットノイズが発生しない。よって、遮光撮像素子11a2からの出力値には、外乱が少ない。従って、遮光撮像素子11a2からの画素信号211に基づく出力値Amnを用いて固有鍵240を生成させることにより、固有鍵240の安定した生成を実現し得る。また、遮光撮像素子11a2からの出力値を取得するためには、デバイスの仕様変更などのような容易にできないことが生じる(必要になる)場合がある。しかし、遮光撮像素子11a2からの出力値を取得することが困難である場合、有効撮像素子11a1から、感光の鈍い露光条件(暗電流の生成速度はデバイスのプロセスで決まるため、感光時間は最小が良いとは限らない(例えば、露光時間1μsec))で、遮光撮像素子11a2からの出力値と実質的に同等な出力値を取得し、固有鍵240を生成させることも実現し得る。
 本実施形態では、複数の所定の電荷発生期間Tpmから選択した一の電荷発生期間Tpmにおける各画素Pからの出力値L(m=1~m)に基づいて固有鍵240を生成する。このため、固有鍵240の生成に使用する所定の電荷発生期間Tpmを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
 本実施形態では、所定の閾値Lthを用いて固有鍵240を生成する。このため、固有鍵240の生成に使用する所定の閾値Lthを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
 本実施形態では、イメージセンサ10が有する複数の撮像素子11aのうちの一部の撮像素子から出力された出力値amnに基づいて出力値Amnを取得して固有鍵240を生成する。このため、固有鍵240の生成に使用する撮像素子11aを変更することにより、複数の固有鍵240を生成することができる。すなわち、固有鍵240の生成可能数を多くすることができる。このため、固有鍵240(レスポンス201)の予測可能性を低下させることができる。
 以下、本開示における好ましい実施形態の他の例及び変形例について説明する。以下の説明において、上記第1実施形態と実質的に共通の機能を有する部材を共通の符号で参照し、説明を省略する。
 (第1変形例)
 第1実施形態では、電荷発生素子がフォトダイオードを有する撮像素子である例について説明した。但し、本開示において、電荷発生素子は、電荷を発生させる素子である限りにおいて特に限定されない。
 電荷発生素子は、例えば、光電変換膜を有する有機イメージセンサであってもよい。電荷発生素子は、例えば、浮遊拡散層または電荷を保持するメモリ等を有する素子であってもよい。浮遊拡散(Floating Diffusion)層とは、シリコン基板等の半導体基板上に設けられた、不純物を含んだ拡散層のことである。浮遊拡散層を有する素子としては、例えば、電荷蓄積ノード等が挙げられる。電荷を保持(蓄積)するメモリの具体例としては、DRAM(Dynamic Random Access Memory)、フラッシュメモリ(Flash Memory)、SRAM(Static Random Access Memory)等が挙げられる。
 (第2変形例)
 第1実施形態では、情報処理装置1がカメラ(具体的には、デジタルビデオカメラ)である例について説明した。但し、本開示において、情報処理装置は、カメラに限定されない。本開示において、情報処理装置は、電荷発生素子を有する装置である限りにおいて特に限定されない。情報処理装置は、例えば、コピー機、コピー機能を有する複合機、パーソナルコンピュータ、スマートフォンやタブレット型パーソナルコンピュータ等の情報端末等であってもよい。
 (第3変形例)
 第1実施形態では、遮光撮像素子11a2からの暗電流信号213(=画素信号212)に基づいて固有鍵240を生成する例について説明した。但し、本開示は、この構成に限定されない。例えば、メカニカルシャッターやモールド樹脂などによりイメージセンサ10に入射する光を遮光し、有効撮像素子11a1からの画素信号211に基づいて固有鍵240を生成してもよい。例えば、有効撮像素子11a1及び遮光撮像素子11a2からの画素信号211、212に基づいて固有鍵240を生成してもよい。例えば、撮像部11に設けられた複数の撮像素子11aのすべてからの画素信号211、212に基づいて固有鍵240を生成してもよい。
 例えば、情報処理装置1が有効撮像素子11a1及び遮光撮像素子11a2のうちの一方のみを有していてもよい。遮光撮像素子11a2のみを有する情報処理装置1の例としては、腕時計、ウエアブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子ロック、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等のネットワークに接続する情報機器等が挙げられる。
 (第4変形例)
 図2に示す、第1実施形態に係る情報処理装置1のブロック図では、算出部21及び生成部22を描画しているが、算出部21及び生成部22を物理的に設ける必要は必ずしもない。例えば、LSI(Large Scale Integration)、マイコン(Micro Controller)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等により構成された処理部20に、固有鍵240の生成工程(ステップS300)を実行させるプログラムが格納されていてもよい。また、固有鍵240の生成工程(ステップS300)を実行させるためのプログラムが、記憶媒体に記憶されていてもよい。さらには、固有鍵240の生成工程(ステップS300)を実行させるためのプログラムが、インターネット等を経由して配信されてもよい。
 (第5変形例)
 第1実施形態では、出力値Lと閾値Lthとを比較することにより生成した固有値を固有鍵240として生成する例について説明した。但し、本開示はこの構成に限定されない。生成部22は、例えば、PUFからの固有値に対して、さらに別のデータを追加して固有鍵240を生成してもよい。PUFからの固有値に対して追加する別のデータは、特に限定されない。PUFに対して追加する別のデータの具体例としては、例えば、イメージセンサ10から出力される画像の撮影日時に関するデータ等が挙げられる。撮影日時等の別のデータは、例えば、固有鍵240のヘッダやフッタに埋め混まれていてもよいし、ファイル名として埋め混まれていてもよい。
 (第6変形例)
 第1実施形態では、情報処理装置1から固有鍵240を外部装置2に対して送信する例について説明した。但し、本開示は、これに限定されない。例えば、情報処理装置は、固有鍵240を暗号化し、暗号化した固有鍵240を外部装置2に対して送信してもよい。
 (第7変形例)
 第1の実施形態では、情報処理装置1がレスポンス201を生成する例について説明した。但し、本開示は、この構成に限定されない。外部装置2が、乱数を含むチャレンジ200を生成し、生成したチャレンジ200に基づいて、レスポンス201を生成してもよい。
 図10Aは、本変形例に係る外部装置2のブロック図である。図10Aに示すように、本変形例に係る外部装置2の指示部82は、乱数生成部1001を備え、認証部84は、算出部1002と、生成部1003とを備える。
 乱数生成部1001は、乱数を生成する。指示部82は、乱数生成部1001が生成した乱数を含むチャレンジを生成する。算出部1002は、乱数生成部1001が生成したチャレンジに対応する相関関数A=f(T)を算出する。算出部1002は、算出部21と実質的に同様の機能を有する。このため、算出部1002の説明として、情報処理装置1に含まれる算出部21の説明を援用する。
 生成部1003は、算出部1002が算出した相関関数A=f(T)を構成する値に基づいて、固有鍵(レスポンス201)を生成する。生成部1003は、生成部22と実質的に同様の機能を有する。このため、生成部1003の説明として、情報処理装置1に含まれる生成部22の説明を援用する。
 図10Bは、本変形例におけるレスポンス201の算出処理のフローチャートである。なお、記憶部81は、指示部82によって生成されるチャレンジ200に対応する、各画素Pの相関関数A=f(T)を構成する値を予め記憶するものとする。
 図10Bに示すステップS403において、指示部82は、乱数生成部1001によって生成された乱数を含むチャレンジ200を生成する。指示部82によって生成されるチャレンジ200は、少なくとも、m個の単位素子(例えば、画素P)のそれぞれの位置情報(座標)と、電荷発生期間Tpmとを含む。
 ステップS404において、算出部1002は、ステップS403で生成されたチャレンジ200に含まれる位置情報を読み込む。ステップ405において、算出部1002は、ステップS403で生成されたチャレンジ200に対応する、記憶部81に記憶される各画素Pの相関関数A=f(T)を構成する値を読み込む。
 S406において、生成部1003は、S405で読み込まれた各画素Pの相関関数A=f(T)を構成する値と、S403で生成されたチャレンジ200に含まれる電荷発生期間Tpmとに基づいて、出力値Lを算出する。
 S407において、生成部1003は、S406で算出した出力値Lに基づいて、固有鍵(レスポンス201)を生成する。S406及びS407の処理は、S205及びS206の処理と同様であり、詳細な説明は省略する。
 以上より、本変形例においては、外部装置2が、生成したチャレンジ200に対応するレスポンス201を生成する。
 (第8変形例)
 第1の実施形態では、認証工程(S400)を開始する時点において、外部装置2の記憶部81に、チャレンジアンドレスポンスが記憶されている例について説明した。但し、本開示は、この構成に限定されない。図10Aに例示するように、外部装置2の認証部84が、算出部1002と、生成部1003とを含む場合、認証工程(S400)が開始される段階で、外部装置2が、認証用レスポンスを生成してもよい。
 図10Cは、本変形例における認証用レスポンス生成処理のフローチャートである。認証工程(S400)が開始される段階で、図10Cに示すS1101の処理が開始される。なお、記憶部81は、指示部82によって生成されるチャレンジ200に対応する、各画素Pの相関関数A=f(T)を構成する値を予め記憶するものとする。
 S1101において、算出部1002は、チャレンジ200に含まれる位置情報を読み込む。S1102において、算出部1002は、チャレンジ200に対応する、記憶部81に記憶される各画素Pの相関関数A=f(T)を構成する値を読み込む。
 S1103において、生成部1003は、S1101で読み込まれた、各画素Pの相関関数A=f(T)を構成する値と、S403で生成されたチャレンジ200に含まれる電荷発生期間Tpmとに基づいて、出力値Lを算出する。S1104において、生成部1003は、S1103で算出した出力値Lmに基づいて、固有鍵(認証用レスポンス)を生成する。S1103及びS1104の処理は、S205及びS206の処理と同様であり、詳細な説明は省略する。
 以上より、本変形例においては、認証工程(S400)が開始される段階で、外部装置2が、チャレンジ200と、生成部1003が生成した固有鍵(認証用レスポンス)との組を、チャレンジアンドレスポンスとして生成する。
 (第2実施形態)
 図11は、第2実施形態に係る情報処理装置1aのブロック図である。
 第1実施形態では、情報処理装置1がイメージセンサ10を備えている例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、イメージセンサを有していなくてもよい。
 図11に示すように、第2実施形態に係る情報処理装置1aは、第1実施形態に係る情報処理装置1とは異なり、イメージセンサ10を備えていない。情報処理装置1aは、バスライン70に接続された接続部90を備えている。接続部90には、イメージセンサ10を備える撮像装置3が接続可能に構成されている。情報処理装置1aのように、イメージセンサ10を備える撮像装置3が接続可能である場合においても、情報処理装置1aの各部と、イメージセンサ10とが接続部90及びバスライン70を介して接続可能である。従って、第1実施形態と同様に、イメージセンサ10からの画素信号211に基づいて固有鍵240を生成することが可能である。
 撮像装置3は、例えば、イメージセンサ10をモジュール化したカメラモジュール等であってもよい。例えば、スマートフォンまたはタブレット型パーソナルコンピュータ等の情報端末において生体認証を行う場合、情報処理装置への偽造認証データを防止すために、撮像装置3で生成させた認証データのヘッダやフッタまたは認証データ自体に、固有鍵240を埋め込み、生体認証における撮影装置および認証データの偽造判断に用いてもよい。
 情報処理装置1aは、撮像装置3にネットワークを介して接続可能であってもよい。
 また、通信部60も撮像装置3に設けられていてもよい。情報処理装置は、例えば、処理部20のみにより構成されていてもよい。
 (第3実施形態)
 図12は、第3実施形態に係る情報処理装置1bのブロック図である。第1実施形態に係る情報処理装置1は、情報処理装置1を認証するために固有鍵240を使用する。但し、本開示において、固有鍵の使用用途は、情報処理装置の認証に限定されない。例えば、固有鍵を情報の暗号化に用いてもよい。
 第3実施形態に係る情報処理装置1bは、第1実施形態と同様に固有鍵240を情報処理装置1bの認証に用いるのみならず、情報の暗号化にも用いる。具体的には、撮像部11により撮像された画像データの暗号化にも固有鍵240を用いる。
 図12に示すように、情報処理装置1bの処理部20は、暗号化部23をさらに有する。暗号化部23は、イメージセンサ10から出力された画像データを、生成部22により生成された固有鍵240を用いて暗号化する。暗号化部23は、暗号化した画像データを、記憶部30に記憶させたり、通信部60を介して外部装置2等に送信したりする。
 なお、固有鍵240を用いて画像データを暗号化する方法は、特に限定されない。固有鍵240を用いて画像データを暗号化する方法の具体例としては、例えば、共有鍵暗号で用いられているAES(Advanced Encryption Standard)など、公開鍵暗号で用いられているRSA暗号、楕円曲線暗号(Elliptic Curve Cryptography)など、デジタル署名で用いられる楕円曲線DSA(Elliptic Curve Digital Signature Algorithm)などの暗号アルゴリズムが挙げられる。
 また、暗号通信で使用される使い捨てのランダムな値(ノンス)、またはパスワードを暗号化する際に付与されるランダムな値(ソルト)の生成に固有鍵240を用いても構わない。
 固有鍵240を用いて暗号化するデータは、画像データに限らず、腕時計、ウエアブル端末(イヤホン、指輪、ブレスレットなど)、自動販売機、冷蔵庫、エアコン、自動調理器(炊飯器、電子レンジ、パン焼き機など)、ネットワークレコーダー、電話機、音声検索/操作機、照明、電子鍵、会話などをするロボット、IC(Integrated Circuit)チップ搭載のクレジットカード等のネットワークに接続する情報機器等のデータ(非画像データ)でも構わない。
 (第9変形例)
 第3実施形態では、固有鍵240を画像データの暗号化と、情報処理装置1bの認証との両方に使用する例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、固有鍵240を画像データの暗号化のみに使用してもよい。
 (第10変形例)
 画像などのデータの暗号化におけるアルゴリズムで用いる乱数を発生する乱数発生アルゴリズム(例えば、暗号論的擬似乱数生成器(cryptographically secure pseudo random number generator)のシード値(初期値)に固有鍵240を用いてもよい。
 (第4実施形態)
 図13は、第4実施形態に係る情報処理装置1cのブロック図である。図13に示すように、情報処理装置1cの処理部20は、組込部24を更に有する。組込部24は、生成部22が生成した固有鍵240を、イメージセンサ10から出力された画像(静止画像でもよいし、動画像でもよい。)データに対して組み込んで一体化する。詳細には、組込部24は、画像データを構成しているワンショットまたは複数フレームのそれぞれに対して、組み込み前後での画像の違い(例えば、解像度、明るさ、コントラストなど)が少なくとも見た目ではわからないように固有鍵240を組み込んでいく。すなわち、組込部24は、情報ハインディング技術により画像データに固有鍵240を組み込む。固有鍵240を画像データに情報ハインディングすることにより画像データが改ざんされたときに、改ざんされた痕跡が残るようにすることができる。すなわち、画像データの改ざんをトレース可能にできる。画像データへの固有鍵240の組み込み方法は、情報ハインディング技術に限らず、画像データのヘッダ、フッタ、またはメタデータ部かメディアデータ部の一部に追記する方法でもよい。
 (第11変形例)
 第4実施形態に係る情報処理装置1cの処理部20は、組込部24と暗号化部23とを有しており、固有鍵240が情報ハインディング技術により組み込まれた画像データを、固有鍵240を用いて暗号化した暗号化データを外部装置2に対して送信する例について説明した。但し、本開示は、この構成に限定されない。情報処理装置は、例えば、固有鍵240を情報ハインディング技術により組み込まれた画像データを送信してもよい。
 (第5実施形態)
 図14は、第5実施形態に係る情報処理装置1dのブロック図である。第1実施形態では、情報処理装置1が指示部82及び認証部84を備えていない例について説明した。但し、本開示は、この構成に限定されない。
 図14に示すように、第5実施形態に係る情報処理装置1dの処理部20は、指示部82と認証部84とをさらに有する。処理部20に含まれる指示部82は、外部装置2に含まれる指示部82と実質的に同様の機能を有する。このため、処理部20に含まれる指示部82の説明として、第1実施形態の外部装置2に含まれる指示部82の説明を援用する。処理部20に含まれる認証部84は、外部装置2に含まれる認証部84と実質的に同様の機能を有する。このため、処理部20に含まれる認証部84の説明として、第1実施形態の外部装置2に含まれる認証部84の説明を援用する。第5実施形態においては、記憶部30が、外部装置2に含まれる記憶部81の機能を兼ね備えている。
 第5実施形態に係る情報処理装置1dのように、情報処理装置は、自己認証するための機構を備えていてもよい。第5実施形態に係る情報処理装置1dは、指示部82と認証部84とを備えている。このため、情報処理装置1dは、自己認証を行うことが可能である。例えば、情報処理装置1dの内部ハードウェア(オペレーティングシステム等)または半導体メモリカードのような外付けハードウェア(監視カメラなどの記録データ等)が物理的に奪われた場合、内部ハードディスクまたは外付けハードディスクのロック解除を、情報処理装置1dの自己認証の結果を受けて行うこともでき、固有鍵240を物理的な情報漏洩の防止に使用することもできる。
 (第12変形例)
 上記実施形態及び変形例では、期間と出力値との相関関数に基づいて固有鍵を生成する例について説明した。但し、本開示は、これに限定されない。
 例えば、期間と出力値との相関に関するパラメータに基づいて固有鍵を生成してもよい。ここで、「期間と出力値との相関に関するパラメータ」とは、期間と出力値との相関関係に関わるパラメータ全般を意味する。「期間と出力値との相関に関するパラメータ」は、そのパラメータを用いることにより、所定の期間に対して出力値を算出可能なパラメータであることが好ましい。「期間と出力値との相関に関するパラメータ」は、例えば、期間と出力値との相関関数を構成する係数等であってもよいが、期間と出力値との相関関数と全く関係しないパラメータであってもよい。
 例えば、「期間と出力値との相関に関するパラメータ」が期間と出力値との相関関数を構成する係数である場合、記憶部30に相関関数の基本式が記憶されており、「期間と出力値との相関に関するパラメータ」が与えられることにより、相関関数が決定されてもよい。
 例えば、「期間と出力値との相関に関するパラメータ」が期間と出力値との相関関数を構成する係数である場合、パラメータは、相関関数を経由して算出されてもよいが、相関関数を経由せずに算出されてもよい。すなわち、本開示において、相関関数が算出される必要性は必ずしもない。例えば、相関関数が算出されることなく、相関に関するパラメータが算出されてもよい。
 (第13変形例)
 上記実施形態及び変形例では、一定の電荷発生期間(フレーム)に対する出力値が取得され、その出力値を累積することにより、電荷発生期間が相互に異なる複数の出力値を算出する例について説明した。但し、本開示は、これに限定されない。例えば、期間が相互に異なる複数の出力値を直接取得してもよい。
 (第14変形例)
 上記実施形態及び変形例では、複数の電荷発生素子から出力される、発生した電荷に応じた出力値から相関関数等を算出する例について説明した。但し、本開示は、これに限定されない。例えば、デバイスがひとつの電荷発生素子を有していてもよい。その場合、図8に示す相関関数等は、ひとつのみ与えられることになるが、例えば、図8の電荷発生期間(T)を複数与えることにより、固有鍵の生成が可能となる。従って、本開示において、デバイスが複数の電荷発生素子を有している必要は必ずしもない。本開示において、デバイスは、ひとつの電荷発生素子を有していてもよい。
 (第15変形例)
 上記実施形態及び変形例では、外部装置2がチャレンジ200を送信する例について説明した。但し、本開示は、これに限定されない。例えば、情報処理装置の操作者がチャレンジを入力してもよい。
 (第16変形例)
 上記実施形態及び変形例では、ひとつのチャレンジ200が入力され、それに対してひとつのレスポンス201が出力される例について説明した。但し、本開示は、これに限定されない。
 例えば、情報処理装置に対して複数のチャレンジが入力され、複数のチャレンジのそれぞれに対して固有鍵が生成されてもよい。その場合、生成された複数の固有鍵を論理演算(例えば、論理和OR、排他的論理和XOR)し、その演算結果に基づいてレスポンスを生成させてもよい。
 (第6実施形態)
 図16は、第6実施形態における固有鍵の生成工程(ステップS200)を表すフローチャートである。図17は、第6実施形態における固有鍵の演算方法を説明するための図である。
 上記実施形態等では、期間と出力値との相関関数または期間との出力値との相関に関するパラメータに基づいて固有鍵を生成する例について説明した。但し、本開示は、これに限定されない。例えば、本実施形態では、デバイスの複数の電荷発生素子のそれぞれから出力される、発生した電荷に応じた複数の出力値に基づいて、複数の電荷発生素子のそれぞれにおける、単位時間あたりに発生する電荷に関する出力値を算出するための条件を取得し、その条件に基づいて固有鍵を生成する。以下、本実施形態における固有鍵の生成処理について、図16及び図17を参照しながら詳細に説明する。それ以外については、上記実施形態と共通するため、上記実施形態の記載を援用するものとする。
 情報処理装置が固有鍵240の生成を開始すると、図16に示すように、まず、第1実施形態と同様に、ステップS201において、算出部21は、通信部60を経由して、情報処理装置1からチャレンジ200を受信する。チャレンジ200は、画素を構成している撮像素子11aの位置情報(座標)を含む。本実施形態では、チャレンジ200には、m個の画素P(m=1~m)のそれぞれの座標が含まれている。または、チャレンジ200には、第1実施形態と同様の情報を含み、上記(1)~(4)の情報を少なくとも含んでいてもよい。
 次に、算出部21は、ステップS202において、チャレンジ200に基づいて、複数の画素Pのそれぞれにおける単位時間あたりに発生した電荷に応じた出力値を読み込む。詳細には、算出部21は、複数の画素Pのそれぞれにおいて、単位時間あたりに発生した電荷に応じた出力値をn回読み込む。具体的には、図17に示すように、算出部21は、それぞれ同様の単位時間を有する期間t(n=1~n)あたりに各画素Pから出力される出力値amnを読み込む。さらに具体的には、算出部21は、期間tにおける画素Pからの出力値a11、期間tにおける画素Pからの出力値a12、・・・、期間tにおける画素Pからの出力値a1n、・・・、期間tにおける画素Pからの出力値amnを撮像部11から読み込む。
 なお、本実施形態において、複数の期間tは、相互に同じ長さである。期間tは、例えば、動画像を構成する1フレームに対応する期間であってもよい。
 次に、図16に示すステップS204において、算出部21は、画素P毎における、単位時間あたりに発生する電荷に関する出力値を算出するための条件として、図17に示す相関関数A=f(t)を算出する。算出部21は、算出した相関関数A=f(t)を生成部22(図2を参照。)に出力する。
 図17に示すグラフにおいては、横軸に、期間tが等間隔に配置されている。本実施形態では、期間tが相互に等しいため、相関関数A=f(t)は、理想的には、傾きが0である水平な関数になると考えられる。そのため、本実施形態の画素Pからの出力値の階調が、1ビットであってもよい。
 相関関数A=f(t)は、上述の通り、例えば、最小二乗法やロバスト回帰または最適化アルゴリズムに従って自己適応させる適応フィルタ等により算出することができる。本実施形態では、相関関数A=f(t)は、互いに時間が異なる複数の期間tの各出力値の累積出力値、または当該累積出力値をnまたはnを整数で割った値(例えば、n/2)で除算または剰余であってもよい。
 次に、図16に示すステップS205において、図17に示すように、生成部22は、画素P毎に算出された相関関数A=f(t)に基づいて、画素P毎に単位時間(t)あたりの出力値に相当する出力値L(m=1~m)を算出する。または、生成部22は、算出した出力値L(m=1~m)と、チャレンジ200で与えられる電荷発生期間Tpm(m=1~m)とを四則演算した値を、画素P毎に単位時間(t)あたりの出力値に相当する出力値L(m=1~m)として算出してもよい。
 次に、図16に示すステップS206において、図17に示すように、生成部22は、出力値L(m=1~m)と閾値Lthとに基づいて固有鍵240を生成する。
 本実施形態においても、第1実施形態等と同様に、各電荷発生素子から出力された出力値から直接的に固有鍵を生成せず、一旦出力値を算出するための条件を算出し、その条件に基づいて固有鍵を生成する。このため、仮に、各電荷発生素子から出力された出力値にノイズ等が含まれている場合であっても、固有鍵を安定して生成することが可能である。
 (第7実施形態)
 第7実施形態に係る情報処理装置1700について、図18を参照しながら、詳細に説明する。図18は、情報処理装置1700の構成の一例を示す図である。図18に示す通り、情報処理装置1700は、多値デバイス1710を含む。
 多値デバイス(単に、デバイスとも称呼する)1710は、2ビット以上の階調の出力値を出力する単位素子1711を含む。ここで、本開示において、単位素子1711は、1の素子又は2以上の素子の集合であるものとする。
 単位素子1711は、例えば、フォトダイオード、浮遊拡散層または電荷を保持する層を有する電荷発生素子、または電荷を蓄積(保持)し、電気または光学特性の分布が一様ではない(即ち、2ビット以上の階調の出力値を出力する演算記憶素子(フラッシュメモリ、抵抗変化型メモリ))であってもよい。さらに、本開示において、単位素子1711は、記憶素子に記憶される2ビット以上の階調のデータを示してもよい。
 さらに、情報処理装置1700は、出力値取得部1701と、算出部1702と、生成部1703とを備える。出力値取得部1701は、単位素子1711から出力される出力値を取得する。具体的には、出力値取得部1701は、所定の入力情報に基づいて、単位素子1711から出力される所定の出力値を取得する。ここで、単位素子1711が、2以上の記憶素子を含んで構成される場合、出力値取得部1701は、当該単位素子1711が記憶するデータを、出力値として取得してもよい。
 算出部1702は、取得される時間が異なる、単位素子1711から出力される出力値に基づいて、所定の入力情報に基づく所定の期間に対応する複数の第1素子出力値を算出する。生成部1703は、複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する。
 これにより、情報処理装置1700は、多値デバイス1710に固有の単位素子1711と、所定の入力情報とに応じた固有値を生成する。このため、情報処理装置1700は、多値デバイス1710に含まれる単位素子1711の特性に応じた固有値を生成できる。
 また、情報処理装置1700は、単位素子から出力された出力値から直接的に固有値を生成せず、一旦、当該出力値に基づいて第1素子出力値を算出し、当該第1素子出力値と、所定の入力情報とに基づいて、固有値を算出する。このため、情報処理装置1700は、単位素子から出力された出力値に含まれるノイズの影響を低減して安定して固有値を生成することが可能になる。
(第17変形例)
 本変形例においては、情報処理装置1700は、多値デバイス1710のチャレンジアンドレスポンスの組情報または相関関数に関するデータを実サンプルとし、実サンプルと異なるデータを出力する敵対的生成ネットワーク(GAN:Generative Adversarial Network)などの機械学習により生成されたデータを保存するデバイスを含んでもよい。その場合、当該デバイスは、2ビット以上の階調のデータから構成される、複数のデータの集合を記憶するものとする。さらに、本変形例において、単位素子1711は、2ビット以上の階調のデータを示すものである。
 本変形例において、出力値取得部1701は、データを保存するデバイスから単位素子1711に対応するデータを、出力値として取得する。算出部1702は、取得した出力値(即ち、単位素子1711に対応するデータ)に基づいて、所定の入力情報に基づく所定の期間に対応する複数の第1素子出力値を算出する。生成部1703は、複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する。
 これにより、本変形例においては、情報処理装置1700は、多値デバイス1710に記憶されるデータと、所定の入力情報とに応じた固有値を生成する。このため、情報処理装置1700は、多値デバイス1710に記憶されるデータに応じた固有値を生成できる。
 (第8実施形態)
 第8実施形態に係る情報処理装置1について、図19を参照しながら、詳細に説明する。
 図19は、第8実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図19に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。
 算出部21は、複数の出力値Amnから、画素P毎に、電荷発生期間Tと出力値Aとの相関関数A=f(T)を算出した場合(ステップS204)、画素Pに対応する、所定の期間T=K(Kは定数、例えば、K=1)における相関関数A=f(T=K)の出力値Aを算出する(ステップS1801)。具体的には、算出部21は、所定の期間T=Kを相関関数A=f(T)に代入することにより、相関関数A=f(T=K)の出力値Aを算出する。
 相関関数A=f(T)に、チャレンジ200に基づいて設定された電荷発生期間Tpmを代入した場合、代入された複数の電荷発生期間Tpmと、相関関数A=f(T)の複数の出力値とに基づいて、相関関数A=f(T)を推測されるおそれがある。しかし、算出部21が、所定の期間T=Kにおける各画素Pに対応する相関関数A=f(T=K)の出力値Aを算出することで、電荷発生期間Tpmに基づいて、相関関数を推測することを困難にできる。
 ステップS1802において、算出部21は、算出された出力値Aを規格化して二値化した値A_normal(m=1~m)を算出する。例えば、算出部21は、出力値Aに対して、平均が0で分散が1の数値に変換する正規化を行い、閾値を0で二値化し、A_normalを算出する。
 ステップS1803において、算出部21は、電荷発生期間Tpmを規格化して二値化した値T_normalpm(m=1~m)を算出する。例えば、算出部21は、電荷発生期間Tpmに対して、平均が0で分散が1の数値に変換する正規化を行い、閾値を0で二値化し、T_normalpmを算出する。
 ステップS1804において、算出部21は、算出された値A_normalと、算出された値T_normalpmとを論理関数(例えば、排他的論理和)により演算し、出力値Lを算出する。
 ステップS1805において、生成部22は、算出された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS1805の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
 以上により、本実施形態では、情報処理装置1は、相関関数を推測することを困難にし、且つ、各画素Pに基づく出力値Aと、電荷発生期間Tpmとを規格化することにより、「0」と、「1」とが均等に混ざり合った、予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
 (第9実施形態)
 第9実施形態に係る情報処理装置1について、図20を参照しながら、詳細に説明する。
 図20は、第9実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図20に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図20に示すステップS1901の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
 算出部21は、相関関数A=f(T=K)(Kは定数、例えば、K=1)の出力値Aを算出した場合(ステップS1901)、算出部21は、式(5)及び式(6)によって定義される式で、チャレンジ200で与えられる電荷発生期間Tpmと、算出された相関関数の出力値Aとの剰余を規格化し、出力値Lを算出する(ステップS1902)。具体的には、算出部21は、チャレンジ200に基づいて設定された電荷発生期間Tpm(以下、電荷発生期間Tpmの設定値とも称呼する)と、算出された相関関数の出力値Aとの大小関係を判定し、大きい方の値を小さい方の値で除算した剰余を、出力値Lとして算出する。
 例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値Aより大きい場合、式(5)によって定義される式で、電荷発生期間Tpmの設定値を出力値Aで除算した剰余を、出力値Lとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値A以下である場合、式(6)によって定義される式で、出力値Aを電荷発生期間Tpmの設定値で除算した剰余を、出力値Lとして算出する。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 ステップS1903において、生成部22は、算出された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS1903の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
 以上により、本実施形態では、情報処理装置1は、各画素Pに基づく出力値Aと電荷発生期間とTpmとの剰余を規格化することで、予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
 (第10実施形態)
 第10実施形態に係る情報処理装置1について、図21を参照しながら、詳細に説明する。
 図21は、第10実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図21に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図21に示すステップS2001の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
 算出部21は、相関関数A=f(T=K)の出力値Aを算出した場合(ステップS2001)、式(7)及び式(8)によって定義される式で、チャレンジ200に基づいて設定された電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値Lを算出する(ステップS2002)。つまり、本実施形態では、算出部21は、電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値Lを算出する。
 例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値Aより大きい場合、式(7)によって定義される式で、電荷発生期間Tpmの設定値を出力値Aで除算した剰余と、出力値Am+1との和を、出力値Lとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値A以下である場合、式(8)によって定義される式で、出力値Aを電荷発生期間Tpmの設定値で除算した剰余と、出力値Am+1との和を、出力値L(m=1~m)として算出する。なお、算出部21は、画素Pm+1に基づく出力値Am+1を算出しない場合、算出部21は、画素Pに基づく出力値Aと、画素Pに基づく出力値Aとに基づいて、出力値Lを算出する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 ステップS2003において、算出部21は、算出された出力値L(m=1~m)を規格化する。出力値Lを規格化する方法は、上記の通りであり、詳細な説明は省略する。
 ステップS2004において、生成部22は、規格化された出力値L(m=1~m)に基づいて、固有鍵240を生成する。ステップS2004の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
 以上により、本実施形態では、情報処理装置1は、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、画素Pに対応する出力値Lを算出し、規格化することで、より一層予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
 (第11実施形態)
 第11実施形態に係る情報処理装置1について、図22を参照しながら、詳細に説明する。
 図22は、第11実施形態における固有鍵240の生成工程(ステップS200)を表すフローチャートである。図22に示すステップS201からステップS204までの処理は、図7に示すステップS201からステップS204までの処理と同様であるため、詳細な説明は省略する。また、図22に示すステップS2101の処理は、図19に示すステップS1801の処理と同様であるため、詳細な説明は省略する。
 算出部21は、相関関数A=f(T=K)の出力値Aを算出した場合(ステップS2101)、式(9)及び式(10)によって定義される式で、チャレンジ200に基づいて設定された電荷発生期間Tpmと、画素Pに基づく出力値Aと、画素Pm+1に基づく出力値Am+1とに基づいて、出力値L1mを算出する(ステップS2102)。ステップS2102における出力値L1mを算出する方法は、ステップS2002における出力値Lを算出する方法と同様であるため、詳細な説明は省略する。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
 ステップS2103において、算出部21は、式(11)及び式(12)によって定義される式で、電荷発生期間Tpmと、算出された出力値L1mとに基づいて、出力値L2mを算出する。具体的には、算出部21は、チャレンジ200に基づいて設定された電荷発生期間Tpmと、算出された出力値L1mとの大小関係を判定し、大きい方の値を小さい方の値で除算した剰余を、出力値L2mとして算出する。
 例えば、算出部21は、電荷発生期間Tpmの設定値が、出力値L1mより大きい場合、式(11)によって定義される式で、電荷発生期間Tpmの設定値を出力値L1mで除算した剰余を、出力値L2mとして算出する。一方、算出部21は、電荷発生期間Tpmの設定値が出力値L1m以下である場合、式(12)によって定義される式で、出力値L1mを電荷発生期間Tpmの設定値で除算した剰余を、出力値L2mとして算出する。
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 ステップS2104において、算出部21は、算出された出力値L2m(m=1~m)を規格化する。出力値L2mを規格化する方法は、出力値Lを規格化する方法と同様であり、出力値Lを規格化する方法は上記の通りであるため、詳細な説明は省略する。
 ステップS2105において、生成部22は、規格化された出力値L2m(m=1~m)に基づいて、固有鍵240を生成する。ステップS2105の処理は、他の実施形態における固有鍵240を生成する処理と同様であるため、詳細な説明は省略する。
 以上により、本実施形態では、情報処理装置1は、出力値L1mと電荷発生期間Tpmとの剰余を規格化し、規格化された出力値L2mに基づいて固有鍵240を生成することで、より一層予測可能性の低い(セキュリティの高い)固有鍵240を生成できる。
 (第12実施形態)
 第12実施形態に係る情報処理装置1について、図23~図25を参照しながら、詳細に説明する。
 第12実施形態に係る生成部22は、出力値L(m=1~m)の分布に応じた分布位置情報を含む、多値化符号の固有鍵240を生成する。ここで、図23に示すように、出力値Lは、素子の製造ばらつきに起因するため、出力値Lの分布は、正規分布で示すことができる。そこで、生成部22は、複数の出力値Lの閾値Lthと、出力値Lのそれぞれとの大小関係に基づいて、複数の出力値Lのそれぞれに対応する分布位置情報を決定する。生成部22は、決定した分布位置情報を含む、多値化符号の固有鍵240を生成する。なお、本実施形態では、閾値Lthは、複数の出力値Lに応じた値である。例えば、閾値Lthは、複数の出力値Lの中央値である。
 例えば、図23に示すように、生成部22は、出力値Lの分布において、閾値Lth未満であり、且つ第2閾値Lth1(第2閾値Lth1<閾値Lth)未満の出力値Lを「00」とする分布位置情報を決定する。さらに、生成部22は、第2閾値Lth1以上であり、且つ閾値Lth未満の出力値Lを「01」とする分布位置情報を決定する。さらに、生成部22は、閾値Lth以上であり、且つ第3閾値Lth2(第3閾値Lth2>閾値Lth)未満の出力値Lを「10」とする分布位置情報を決定する。さらに、生成部22は、第3閾値Lth2以上を「11」とし、複数の出力値Lのそれぞれに対応する分布位置情報を決定する。これにより、決定される分布位置情報「00」、「01」、「10」、「11」はそれぞれ、出力値L(m=1~m)の分布に応じた値となる。
 本実施形態においては、チャレンジ200は、上記(1)~(4)の情報とともに、以下の(5)の情報をさらに含む。
(5)更新固有値(以下、更新レスポンスとも称呼する)の大きさ(Ysize)を示す更新固有値情報
 更新固有値(更新レスポンス)は、生成部22により生成される多値化符号の固有鍵240に基づく値である。更新レスポンスの大きさYsizeは、更新レスポンスとして出力されるコード長(ビット数)を示す。例えば、更新固有値情報が、Ysize=16を示す場合、更新レスポンスのコード長は、16ビットであることを示す。つまり、更新固有値情報がYsize=16を示す場合、更新レスポンスが、0又は1から構成される16個の要素からなることを示す。
 複数の素子位置情報の個数mは、更新固有値情報により示される更新レスポンスの大きさYsizeを超える。換言すると、複数の素子位置情報により示される単位素子の位置の個数m(即ち、単位素子の総数)は、チャレンジ200により与えられる更新レスポンスの大きさYsizeより大きい。素子位置情報は、例えば、画素を構成する撮像素子11aの位置情報(座標)の数である。
 生成部22は、分布位置情報「00」に対応する出力値Lの個数が、チャレンジ200により与えられる更新レスポンスの大きさYsize/2個となるように、第2閾値Lth1を決定する。同様に、生成部22は、分布位置情報「11」に対応する出力値Lの個数が、チャレンジ200により与えられる更新レスポンスの大きさYsize/2個となるように、第3閾値Lth2を決定する。
 つまり、分布位置情報「00」に対応する出力値Lの個数と、分布位置情報「11」に対応する出力値Lの個数との合計が、更新レスポンスの大きさYsizeと同数であるように、第3閾値Lth2を決定する。さらに、生成部22は、分布位置情報「00」に対応する出力値Lの個数と、分布位置情報「11」に対応する出力値Lの個数とが同数になるように生成する。
 例えば、チャレンジ200により与えられる、出力値Lに対応する単位素子の総数mが400であり、且つ更新レスポンスの大きさYsizeが128であるとする。その場合、生成部22は、分布位置情報「00」に対応する出力値Lmの個数が64個となるように、第2閾値Lth1を決定する。同様に、生成部22は、分布位置情報「11」に対応する出力値Lの個数が64個となるように、第3閾値Lth2を決定する。なお、その場合、分布位置情報「01」に対応する出力値Lの個数と、分布位置情報「10」に対応する出力値Lの個数との合計は、272(=400-128)個となる。
 そして、生成部22は、複数の出力値Lのそれぞれを、決定された対応する分布位置情報に変換することで、m個の要素からなる固有鍵240を生成する。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。
 ここで、分布位置情報「01」または分布位置情報「10」に対応する出力値Lは、分布位置情報「00」または分布位置情報「11」に対応する出力値Lよりも、閾値Lthに近い。そのため、分布位置情報「01」と、分布位置情報「10」とに対応する出力値Lに基づく固有鍵240の値(「1」、または「0」)は、ビット反転するおそれがあり、再現性が相対的に低い。なお、ここでビット反転とは、再現ばらつきで出力値Lが閾値を跨ぐことにより、符号が変わることを示す。一方、分布位置情報「00」と、分布位置情報「11」とに対応する出力値Lに基づく固有鍵240の値は、ビット反転するおそれが相対的に低く、再現性が相対的に高い。そのため、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成することで、生成される多値化符号の固有鍵240は、出力値Lの再現性に関する情報を含むことができる。
 本実施形態では、記憶部81は、チャレンジ200と、そのチャレンジ200に対応した出力値Lを含むレスポンス201(認証用レスポンス)との組を少なくともひとつ、チャレンジアンドレスポンスとして記憶している。
 認証部84は、生成部22にて生成された分布位置情報を含む多値化符号の固有鍵240に基づいて、更新固有値(更新レスポンス)を生成する。
 次に、第12実施形態に係る情報処理装置1の認証について、主として図24、図25を参照しながら、詳細に説明する。
 図24は、第12実施形態における認証工程(ステップS400)を表すフローチャートである。図25は、多値化符号のレスポンス201及び更新レスポンスの一例を示す図である。
 ステップS300において、処理部20は、分布位置情報を含む多値化符号の固有鍵240をレスポンス201として、通信部60を経由して外部装置2に送信する。
 ステップS2201において、認証部84は、通信部83を経由して、情報処理装置1から送信された、多値化符号の固有鍵240を、レスポンス201として取得する。
 ステップS2202において、認証部84は、取得されたレスポンス201に基づいて、更新レスポンスを生成する。
 例えば、図25に示すように、レスポンス201に対応する画素の総数mが24個であり、レスポンス201が、画素PからP24までに基づく出力値Lに対応するとする。さらに、レスポンス201が、「00」、「01」、「10」、「11」のいずれかの値から構成される、多値化符号の要素からなるとする。ここで、上記の通り、分布位置情報「01」と、分布位置情報「10」とに対応する出力値Lに基づく固有鍵240の値は、ビット反転するおそれがあり、再現性が相対的に低い。
 そのため、認証部84は、レスポンス201から、分布位置情報「01」と、分布位置情報「10」とに対応する値を除いて、更新レスポンスを生成する。これにより、認証部84は、レスポンス201から、再現性が相対的に高い出力値Lに基づく更新レスポンスを生成できる。
 例えば、図25に例示するレスポンス201において、画素P、P、P、P12、P20、P24に対応する分布位置情報は、「01」又は「10」である。そのため、認証部84は、画素P、P、P、P12、P20、P24に対応する分布位置情報を示す値をレスポンス201から除いて、二値化し、更新レスポンスを生成する(図25参照)。
 ここで、レスポンス201において、分布位置情報「00」に対応する値の個数と、分布位置情報「11」に対応する値の個数との合計が、チャレンジ200により与えられる更新レスポンスの大きさYsizeと同数である。つまり、更新レスポンスの大きさ(コード長)は、チャレンジ200に含まれる更新固有値情報により示される大きさYsizeである。つまり、チャレンジ200により更新レスポンスのコード長を指定することにより、認証部84は指定されたコード長の更新レスポンスを生成する。
 ステップS2203において、認証部84は、チャレンジ200に対応する、記憶部81に記憶される出力値L(m=1~m)のうち、更新レスポンスに対応する素子位置情報に対応する値に基づいて、認証用更新レスポンスを生成する。具体的には、認証部84は、記憶部81に記憶される、出力値Lを含む認証用レスポンスのうち、生成された更新レスポンスに対応する素子位置情報に対応する出力値Lを二値化し、認証用更新レスポンスを生成する。ここで、認証部84は、「0」の個数と、「1」の個数とが同数になるように認証用更新レスポンスを生成する。
 例えば、認証部84は、図25に例示するレスポンス201を取得した場合、認証部84は、記憶部81に記憶される出力値Lを含む認証用レスポンスのうち、画素P、P、P、P12、P20、P24以外の画素(即ち、P、P~P、P~P、P10~P11、P13~P19、P21~P23)に対応する出力値Lを二値化し、認証用更新レスポンスを生成する。これにより、認証用更新レスポンスは、更新レスポンスに対応する単位素子と同一の位置である単位素子に基づく出力値Lから構成されることになる。
 ステップS2204において、認証部84は、更新レスポンスと、認証用更新レスポンスとを対比することにより認証を行う。ステップS2204の処理は、ステップS402の処理と同様であるため、詳細な説明は省略する。
 上記の通り、本実施形態では、更新レスポンスは、ビット反転するおそれが相対的に低く、再現性が相対的に高い。さらに、本実施形態では、上記の通り、更新レスポンスと、認証用更新レスポンスとは、同一の位置である単位素子に基づく出力値Lから構成される。そのため、認証部84は、更新レスポンスと、認証用更新レスポンスとを対比する際に、異なる単位素子に基づく値を対比することを防止できる。その結果、本実施形態では、情報処理装置1が真である場合において更新レスポンスと認証用更新レスポンスとを対比することによる認証精度を向上できる。
 (第18変形例)
 上記実施形態では、出力値Lの閾値Lthと、複数の出力値Lのそれぞれとの大小関係に基づいて、複数の出力値Lのそれぞれに対応する分布位置情報を決定する例について説明した。但し、本開示は、これに限定されない。
 例えば、生成部22は、複数の出力値L(m=1~m)の大きさの順番に基づいて、当該複数の出力値Lのそれぞれに対応する分布位置情報を決定し、決定した分布位置情報を含む、多値化符号の固有鍵240を生成する。
 具体的には、生成部22は、算出された出力値L(L、L、・・・、L)を、素子位置情報の順(m=1~m)から、当該出力値Lの大きさの順に並び替える。生成部22は、出力値Lのうち、最大値から降順にYsize/2個の出力値Lを「1」とする分布位置情報を決定する。さらに、生成部22は、最小値から昇順にYsize/2個の出力値Lを「0」とする分布位置情報を決定する。さらに、生成部22は、他の出力値Lを「2」とする分布位置情報を決定する。
 例えば、チャレンジ200により与えられる、出力値Lに対応する単位素子の総数mが400であり、且つ更新レスポンスの大きさYsizeが128であるとする。ここで総数400の出力値のヒストグラムを図26Aに示す。次に、生成部22は、出力値L(L、L、・・・、L)を、素子位置情報の順(m=1~400)から、当該出力値Lの大きさの順に並び替える。そして、図26Bに示すように、生成部22は、出力値Lのうち、最大値から降順に64個の出力値Lを「1」とする分布位置情報を決定する。さらに、生成部22は、最小値から昇順に64個の出力値Lを「0」とする分布位置情報を決定する。
 生成部22は、複数の出力値Lのそれぞれを、決定された対応する分布位置情報に変換することで、m個の要素からなる固有鍵240を生成する。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。そして、生成部22は、生成された固有鍵240を、出力値Lの大きさの順から、素子位置情報の順に並び替える。これにより、生成部22は、分布位置情報を含む、多値化符号の固有鍵240を生成できる。
(第19変形例)
 デバイスに含まれる単位素子が、2ビット以上の出力値を出力する演算記憶素子(フラッシュメモリ、抵抗変化型メモリ)である場合、情報処理装置1は、電荷発生期間Tpmに替えて、チャレンジ200により、固有鍵240の生成に用いるデータを作成するために設定する所定の期間Tpmが与えられてもよい。さらに、出力値Amn、出力値A、及び出力値L(m=1~m)は、演算記憶素子に含まれるm個のメモリセルのそれぞれに対応する出力値であってもよい。

Claims (20)

  1.  多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、
     前記出力値を取得する出力値取得部と、
     取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出する算出部と、
     前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する生成部と、
     を備える情報処理装置。
  2.  デバイスに含まれる電荷発生素子から発生する出力値を取得する出力値取得部と、
     取得される前記出力値に基づいて、互いに時間が異なる期間に対応する複数の第1素子出力値を算出する算出部と、
     前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成する生成部と、
     を備える請求項1に記載の情報処理装置。
  3.  前記生成部は、前記複数の期間と前記複数の第1素子出力値との相関関数、または前記複数の期間と前記複数の第1素子出力値との相関に関するパラメータに基づいて、前記固有値を生成する、請求項2に記載の情報処理装置。
  4.  前記算出部は、前記デバイスに含まれる複数の電荷発生素子のそれぞれから発生する前記出力値に基づいて、前記複数の電荷発生素子のそれぞれにおける、単位時間あたりに発生する電荷に関する前記複数の第1素子出力値を算出するための条件を取得し、
     前記生成部は、前記条件に基づいて前記固有値を生成する、請求項2に記載の情報処理装置。
  5.  前記算出部は、前記相関関数または前記相関に関するパラメータに基づいて、所定の期間における複数の第2素子出力値を計算し、
     前記生成部は、前記所定の期間における前記複数の第2素子出力値に基づいて前記固有値を生成する、請求項3に記載の情報処理装置。
  6.  複数の所定の期間を記憶している記憶部を備え、
     前記算出部は、前記複数の所定の期間から一の期間を選択し、前記選択した一の期間における前記複数の第2素子出力値を、前記相関関数または前記相関に関するパラメータに基づいて計算する、請求項5に記載の情報処理装置。
  7.  前記生成部は、規格化された前記相関関数、規格化された前記期間、規格化された前記相関に関するパラメータ、または規格化された前記複数の第2素子出力値のいずれかに基づいて前記固有値を生成する、請求項5または6に記載の情報処理装置。
  8.  前記生成部は、前記電荷に応じた出力値、または前記複数の第2素子出力値の閾値に対する大小に基づいて前記固有値を生成する、請求項3~7のいずれか1項に記載の情報処理装置。
  9.  前記記憶部は、複数の所定の閾値をさらに記憶し、
     前記生成部は、前記複数の所定の閾値から所望の閾値を選択し、前記算出部が取得した前記複数の第2素子出力値の前記選択された閾値に対する大小に基づいて前記固有値を生成する、請求項8に記載の情報処理装置。
  10.  前記多値デバイスは、マトリクス状に配列された前記複数の単位素子を含み、
     前記入力情報は、
      前記マトリクス状に配列された、前記複数の単位素子のそれぞれの位置に関する複数の素子位置情報と、
      前記固有値に基づく更新固有値の大きさを示す更新固有値情報と、を少なくとも含み、
     前記素子位置情報の数は、前記更新固有値情報により示される前記更新固有値の大きさを超え、
     前記生成部は、前記素子出力値の分布に応じた分布位置情報を含む、多値化符号の前記固有値を生成し、
     前記分布位置情報と、前記分布位置情報を含む前記固有値とに基づいて、前記更新固有値を生成する認証部をさらに備える、請求項1~9のいずれか一項に記載の情報処理装置。
  11.  前記生成部は、前記複数の第2素子出力値の閾値と、前記複数の第2素子出力値のそれぞれとの大小関係に基づいて、前記複数の第2素子出力値のそれぞれに対応する分布位置情報を決定し、決定した前記分布位置情報を含む、多値化符号の前記固有値を生成する、請求項10に記載の情報処理装置。
  12.  前記生成部は、前記複数の第2素子出力値の大きさの順番に基づいて、前記複数の第2素子出力値のそれぞれに対応する分布位置情報を決定し、決定した前記分布位置情報を含む、多値化符号の前記固有値を生成する、請求項10に記載の情報処理装置。
  13.  前記認証部は、前記入力情報に対応する前記複数の第2素子出力値のうち、前記更新固有値に対応する前記複数の素子位置情報に対応する前記複数の第2素子出力値に基づいて、認証用更新固有値を生成し、前記更新固有値と前記認証用更新固有値とを比較することにより認証を行う、請求項10~12のいずれか一項に記載の情報処理装置。
  14.  前記生成部は、前記固有値を複数生成し、生成した複数の固有値の演算をもって一の前記固有値を生成する、請求項1~3のいずれか一項に記載の情報処理装置。
  15.  前記固有値を生成する前記生成部は、PUF(Physically Unclonable Function)を有する、請求項1~14のいずれか一項に記載の情報処理装置。
  16.  前記多値デバイスは、フォトダイオード、浮遊拡散層または電荷を保持する層を有する前記電荷発生素子、または電荷を蓄積、電気または光学特性にバラつきのある層を有する演算記憶素子のどちらかから構成され、請求項2~15のいずれか一項に記載の情報処理装置。
  17.  前記多値デバイスは、前記単位素子を複数有し、
     前記生成部は、前記多値デバイスに含まれる、前記複数の単位素子のうちの一部の単位素子のそれぞれから出力する前記複数の第1素子出力値と前記入力情報とに基づいて前記固有値を生成する、請求項1~16のいずれか一項に記載の情報処理装置。
  18.  前記多値デバイスの前記複数の単位素子の少なくとも一部が遮光されており、
     前記生成部は、単位素子から出力される、発生した電荷に関する前記複数の第1素子出力値と前記入力情報とに基づいて、前記固有値を生成する、請求項17に記載の情報処理装置。
  19.  前記入力情報と、前記入力情報に対応した前記認証用固有値との組を複数記憶している記憶部と、
     前記入力情報を前記情報処理装置に対して提供すると共に前記提供した前記入力情報に基づいた前記固有値の生成を指示する指示部と、
     前記生成された固有値と、前記提供した入力情報に対応する前記認証用固有値とを比較することにより認証を行う認証部と、
    を備える外部装置と接続可能である、請求項1~18のいずれか一項に記載の情報処理装置。
  20.  多値デバイスに含まれる単位素子からの出力値の階調は2ビット以上であり、
     前記出力値を取得するステップと、
     取得される時間が異なる前記出力値に基づいて、期間に対応する複数の第1素子出力値を算出するステップと、
     前記複数の第1素子出力値と、所定の入力情報とに基づいて、固有値を生成するステップと、
     を備える情報処理方法。
PCT/JP2020/037117 2019-10-09 2020-09-30 情報処理装置及び情報処理方法 WO2021070701A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021551364A JP7312267B2 (ja) 2019-10-09 2020-09-30 情報処理装置及び情報処理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019185686 2019-10-09
JP2019-185686 2019-10-09

Publications (1)

Publication Number Publication Date
WO2021070701A1 true WO2021070701A1 (ja) 2021-04-15

Family

ID=75437892

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/037117 WO2021070701A1 (ja) 2019-10-09 2020-09-30 情報処理装置及び情報処理方法

Country Status (2)

Country Link
JP (1) JP7312267B2 (ja)
WO (1) WO2021070701A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126221A (ja) * 2011-12-16 2013-06-24 Toshiba Corp 暗号化鍵生成装置およびプログラム
JP2015139010A (ja) * 2014-01-20 2015-07-30 富士通株式会社 半導体集積回路、認証システム、及び認証方法
JP2017118229A (ja) * 2015-12-22 2017-06-29 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP2017130759A (ja) * 2016-01-19 2017-07-27 株式会社東芝 情報処理システムおよび半導体素子

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
KR101419745B1 (ko) * 2012-08-07 2014-07-17 한국전자통신연구원 물리적 복제 방지 기능을 기반으로 하는 인증 요청 장치, 인증 처리 장치 및 인증 수행 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126221A (ja) * 2011-12-16 2013-06-24 Toshiba Corp 暗号化鍵生成装置およびプログラム
JP2015139010A (ja) * 2014-01-20 2015-07-30 富士通株式会社 半導体集積回路、認証システム、及び認証方法
JP2017118229A (ja) * 2015-12-22 2017-06-29 ソニー株式会社 情報処理装置、情報処理方法、プログラム
JP2017130759A (ja) * 2016-01-19 2017-07-27 株式会社東芝 情報処理システムおよび半導体素子

Also Published As

Publication number Publication date
JPWO2021070701A1 (ja) 2021-04-15
JP7312267B2 (ja) 2023-07-20

Similar Documents

Publication Publication Date Title
Baldini et al. A survey of techniques for the identification of mobile phones using the physical fingerprints of the built-in components
JP2022179760A (ja) 公開キー/プライベートキーバイオメトリック認証システム
US9438590B2 (en) Privacy preserving biometric authentication based on error correcting codes
CN103999442B (zh) 用于产生数字图像的装置和方法
US20110047377A1 (en) Secure digital communications via biometric key generation
KR102449720B1 (ko) 이미지 센서를 이용한 인증 방법 및 장치
JP2016131335A (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
CN110321103B (zh) 一种基于物理设备的真随机数生成方法及设备
US9853955B2 (en) Techniques for securing delivery of an audio message
CN109698742B (zh) 用于操作传感器的方法和系统及相关的计算机可读介质
US10652033B2 (en) Synthetic physically unclonable function derived from an imaging sensor
US20200382308A1 (en) User Apparatus and Method for the Protection of Confidential Data
CA3128348C (en) Biometric public key system providing revocable credentials
CN101877639A (zh) 信息处理设备、密钥更新方法和程序
Khayyat et al. Blockchain enabled optimal Hopfield Chaotic Neural network based secure encryption technique for industrial internet of things environment
WO2021070701A1 (ja) 情報処理装置及び情報処理方法
Silvério et al. Functional mobile-based two-factor authentication by photonic physical unclonable functions
JP6954084B2 (ja) デバイス、セキュアエレメント、プログラム、情報処理方法及び情報処理システム
CN114004345A (zh) 数据处理系统和方法
CN113098938A (zh) 一种共享视频的方法、装置及电子设备
KR20220023992A (ko) 암호키 생성 장치 및 암호키 생성 방법
WO2019188411A1 (ja) 固体撮像装置、固体撮像装置の駆動方法、および電子機器
KR101966929B1 (ko) 광 파장을 이용한 디지털 키 운영 방법 및 이를 실행하는 시스템
CN108021815B (zh) 图像加密方法、装置及电子设备
US20160050073A1 (en) Robust mac aggregation with short mac tags

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021551364

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20873405

Country of ref document: EP

Kind code of ref document: A1