WO2023282274A1 - 熱画像認証装置 - Google Patents

熱画像認証装置 Download PDF

Info

Publication number
WO2023282274A1
WO2023282274A1 PCT/JP2022/026775 JP2022026775W WO2023282274A1 WO 2023282274 A1 WO2023282274 A1 WO 2023282274A1 JP 2022026775 W JP2022026775 W JP 2022026775W WO 2023282274 A1 WO2023282274 A1 WO 2023282274A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
otp
authentication
biometric authentication
information
Prior art date
Application number
PCT/JP2022/026775
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 克弥 西沢
Publication of WO2023282274A1 publication Critical patent/WO2023282274A1/ja

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/01Measuring temperature of body parts ; Diagnostic temperature sensing, e.g. for malignant or inflamed tissue
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/117Identification of persons
    • A61B5/1171Identification of persons based on the shapes or appearances of their bodies or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer

Definitions

  • the content of this application is based on Japanese Patent Application No. 2021-111232.
  • the specification and drawings described in this invention are based on the earlier application.
  • This application is incorporated by reference with reference to Japanese Patent Application No. 2021-111232 as another document.
  • This application cites the specification and drawings of Japanese Patent Application No. 2021-111232 as other documents.
  • the present invention relates to an image authentication system, an access control system, and an authentication device.
  • an example of application to a distributed ledger system will be described as an embodiment of the method.
  • the content of this application is based on Japanese Patent Application No. 2021-111232.
  • the drawings described in the present invention are as in the previous application.
  • the present invention is similar to face recognition technology that uses face images captured by known visible light cameras, and uses distributed ledger technology to grant usage rights to contents such as audio/video and e-books, and uses such content as head-mounted displays with usage rights. It is intended to use information about the eyes of the wearer of the head-mounted display for biometric authentication when viewing is limited to the field of view of a person.
  • the user wears a goggle-type head-mounted display, the user's eyes are hidden by the device and dark, so there is a risk that it may interfere with the photographing of the face using visible light.
  • By detecting and shooting with the element it is possible to sense that the living body is wearing it.
  • the present invention intends to record the infrared radiation distribution image of the human body as a unique physical feature of the wearer and use it for biometric authentication in the same manner as known face authentication.
  • the present invention is similar to face authentication technology using a camera using visible light, and detects a person's physical or biological characteristics based on temperature distribution or image information of temperature distribution using an infrared temperature sensor, an infrared camera, or a thermography device. Authenticate.
  • ⁇ Overview of the invention> ⁇ Problem to be solved by the invention> It is used to confirm the presence of the wearer, and should be considered for privacy. To check whether a real living body is wearing it.
  • the biometric authentication sensor 1443A is a sensor when the terminal 1A has an image sensor such as a camera or a thermography and uses the image sensor to perform authentication derived from the structure of the face, or a fingerprint sensor for performing fingerprint authentication using a scanner. Also, it is a sensor for authentication derived from the structure of the ear, and a sensor for authentication using the motion and pressure signals that the worn terminal feels when walking. A known method can be used for biometric authentication.
  • the sensor 4530A of the head mounted display 453A is used for biometric authentication functions such as face authentication, iris authentication, authentication derived from the structure of the ear, illuminance sensor or light sensor, and thermographic image of body temperature distribution. you can go
  • the primary purpose of the authentication function is to confirm whether or not a real living body is wearing the 453A. Accompanying this, it is also possible to acquire personal biometric information and perform biometric authentication.
  • Biometric authentication device 4530A may measure body temperature using a temperature sensor. Point-like, one-dimensional, and two-dimensional thermography is obtained from the head and eyes of the wearer of 453A to detect the presence of the wearer and the characteristics of the wearer.
  • 4530A measures multiple biological information of the wearer (facial structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, eye vein pattern, etc.), confirms the presence of the wearer and biometrics Authenticate.
  • 4530A may share functionality with the sensor described in 4443A.
  • the sensor of 4530A is an input device that assists 453A.
  • thermographic image is used for the purpose of confirming the presence of the wearer, not for the authentication purpose, in consideration of privacy.
  • an infrared temperature sensor is installed inside the HMD to measure the temperature of the eyes and the skin around the eyes of the vehicle.
  • the measurement point of the sensor may be one point, or the sensors may be arranged two-dimensionally and measured in the form of a line or an image.
  • the sensor of the 4530A measures the temperature distribution around the wearer's eyes and the thermography of the wearer's face around the eyes and uses it as simple biometric authentication information and presence confirmation information in consideration of privacy.
  • the temperature detected by the sensor of the HMD and its hash value may be notified to the service server in order to detect unauthorized access to the private key if the wearer allows it.
  • ⁇ Effect of invention> It is also possible to confirm whether a living body is wearing the device and obtain personal biometric information, which can lead to biometric authentication.
  • FIG. 3 is an explanatory diagram of a terminal; ⁇ FIG.
  • FIG. 3 is an explanatory diagram of a terminal; It is the same as the explanatory diagram of the form used as the access control technology to contents and services described in the original application.
  • FIG. 4A An example of viewing by an authorized individual while controlling access with the present invention. It is the same as the explanatory diagram of the form used as the access control technology using the HMD described in the original application.
  • Biometric authentication device 4530A may measure body temperature using a temperature sensor. Point-like, one-dimensional, and two-dimensional thermography is obtained from the head and eyes of the wearer of 453A to detect the presence of the wearer and the characteristics of the wearer.
  • the primary purpose of the authentication function is to confirm whether or not a real living body is wearing the 453A. Accompanying this, it is also possible to acquire personal biometric information and perform biometric authentication.
  • the measurement of the body temperature around the eyes of the HMD wearer and the thermographic image are used for the purpose of confirming the presence of the wearer, not for authentication purposes, in consideration of privacy.
  • an infrared temperature sensor is installed inside the HMD to measure the temperature of the eyes and the skin around the eyes of the vehicle.
  • the measurement point of the sensor may be one point, or the sensors may be arranged two-dimensionally and measured in the form of a line or an image.
  • Embodiment 1 has an authentication sensor 1443A in FIGS. 1 and 2AA or 4443A in FIG. 4A.
  • the output device head-mounted display 453A has a biometric sensor 4530A.
  • 1443A in FIGS. 1 and 2AA or FIG. 4 is an explanatory diagram of a form used as an access control technology to contents and services described in Japanese Patent Application No. 2021-004788.
  • 4530A measures multiple biological information of the wearer (facial structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, eye vein pattern, etc.), confirms the presence of the wearer and biometrics Authenticate. 4530A may share functionality with the sensor described in 4443A. (Here, the sensor of 4530A is an input device that assists 453A.
  • thermography device 4530A is used to detect a person's physical or biometric characteristics based on temperature distribution or temperature distribution image information. Perform biometric authentication.
  • a function of requesting consent from the owner of the terminal may be used in an embodiment when the value of the sensor 444A of the input device 44A of the personal terminal is held in the terminal.
  • the value of the sensor on the terminal is anonymized (prevents identification irreversibly. Hashing, cutting off part of the hash value after hashing, etc.) processing) or pseudonymization (when reversibly pseudonymized data and a key to decrypt it are used.
  • Personal information is encrypted and stored) to record and use information.
  • biometric authentication is performed by detecting a person's physical or biometric characteristics based on temperature distribution or temperature distribution image information using an infrared temperature sensor and an infrared camera or thermography device.
  • a face image including temperature distribution of the face due to body temperature can be obtained and used as image data for authentication.
  • personal number cards, driver's licenses, etc. have a face photograph printed under visible light, and there are cases where the face of the card is scanned and used for identity verification and the data is stored by the organization.
  • a face photo under visible light is the person himself/herself, and it is necessary to manage the face photo data so that it is not leaked illegally.
  • the temperature distribution based on the body temperature of the human body instead of the visible light, is used for authentication.
  • a person with a specific access right wears the head-mounted display and is authenticated by the distribution of the body temperature of the face, and if the authentication result is correct, the content or service is provided.
  • Visible light face By obtaining a face photo from the user's body temperature distribution instead of a photograph, the face data of the registered individual in the temperature range of the body temperature is collated and the individual is authenticated.
  • the head-mounted display 453A is provided with a biometric authentication function 4530A, and when the encrypted data is decrypted and viewed, the biometric data of the person viewing the encrypted data is directly or hashed. It can be obtained indirectly by performing authentication and can be browsed by simple authentication.
  • the head-mounted display 453A has a smaller screen than a mobile terminal, a tablet computer, or a television viewing display. make it difficult. It is also possible to program the software CRHN 403A in the terminal 4A to operate only when the software CRHN 453A is connected, and to provide an authentication system and an encrypted data decryption viewing system that prevent shooting of content obtained by decrypting encrypted data. .
  • Biometric authentication device 4530A may measure body temperature using a temperature sensor. Point-like, one-dimensional, and two-dimensional thermography is obtained from the head and eyes of the wearer of 453A to detect the presence of the wearer and the features of the wearer. Further, authentication related to the facial shape of the head, biometric authentication related to the eyes, biometric authentication derived from the ear structure, biometric authentication derived from the shape of the head, and biometric authentication related to blinking may be used. ⁇ Description of symbols> 1443A Biometric sensor 4530A Biometric sensor attached to head mounted display
  • biometric authentication uses information possessed by the user, the information that serves as the authentication key stays with the user as long as the user's body is in good health, and is less likely to be lost than a metal key. This characteristic is used for simple login in software such as computer terminal equipment. On the other hand, changing biometric information is difficult. When biometric information is leaked, it is difficult to change like a metal key or password. It is also conceivable to copy fake biometric features based on biometric data, which is the key to biometric authentication, and break through by misidentifying the authentication sensing device that serves as a lock. Fingerprints and the like can unlock the device even if the user does not want to log in.
  • biometric authentication it can be seen that the person's data has been transmitted to the authenticating device, and further factors are required to determine whether it was the person's will. Therefore, when biometric features are used for authentication, multi-factor authentication is preferably combined with authentication based on knowledge or possession. When dealing with assets such as Internet banking services provided by banks, biometric authentication is used instead of a login password, and a method (password generator) that uses the person's possessions for authentication is also used for multi-factor, multi-stage. are authenticated to enhance security.
  • a hardware-type dynamic password generator can be mentioned as one of the means of using the property owned by the person for authentication.
  • the RFC6238 standard is known as a dynamic password generation algorithm.
  • the RFC6238 standard uses a dynamically changing password (password VP) that is generated based on time.
  • Password VP dynamically changing password
  • Such time-varying, one-time-use passwords are called TOTPs and are available in both hardware and software one-time password (OTP) indicators.
  • existing hardware-type OTP generators had problems. For example, in the existing hardware-type one-time password indicator (hardware-type TOTP token) that provides services such as Internet banking, it is necessary to synchronize the time between the server terminal of the bank and the password indicator.
  • Non-Patent Document 3 the hash value of the password is calculated using time T as an argument of the hash function and key information K (seed value K or secret variable K) that must be kept secret. , K is compromised, the user's hardware TOTP token needs to be updated.
  • Non-Patent Document 1 and Non-Patent Property 2 it has a block chain type or directed acyclic graph type data structure, and uses a distributed ledger system DLS that is difficult to tamper between distributed terminals.
  • a technology called a smart contract (contract) is now available that records issuance and transfer transactions, records program code in transactions on DLS, and stores and operates it in a data structure that is difficult to tamper with, such as a blockchain.
  • a major feature of the present invention is that a dynamic password can be generated by changing K and T in a distributed ledger system such as a blockchain in the generation of TOTP by the administrator of the smart contract. It is a necessary element in the present invention because the contract manager manually changes and updates K by sending transactions to the distributed ledger system, which leads to updating K in the TOTP token.
  • the present invention focuses on the block number of the blockchain. For the sake of explanation, the block number is called block number Bn in the present invention.
  • the present invention has devised to use the block number Bn for the time-based numerical value T used in TOTP. In the present invention, this method and the one-time password are called BnTOTP.
  • Bn is a number that is the basis of the calculation of BnTOTP
  • BnTOTP may be generated using a processed value (a variable that changes according to Bn by obtaining a hash value using a hash function based on Bn).
  • OTP dynamic one-time password
  • FIG. 9A illustrates the operation of the inventive contract on the blockchain.
  • FIG. 9B is an explanatory diagram of the operation of the present invention in a directed acyclic graph type distributed ledger system.
  • OWP password behavior is enabled from smart contracts. Since there is information derived from the block number of the latest data block and block data in the block chain of FIG. 9A, it can be used to calculate TOTP, but also in FIG. Hash values and timestamps are entered in each data block (chunk), and if time information can be obtained from the latest data chunk or if time information can be given to a distributed ledger system, BnTOTP type or TOTP type password can be generated.
  • the main feature of the present invention is to use an OWP type password.
  • the present invention is characterized by using either or both of the BnTOTP type and the OWP type.
  • the present invention can forcibly cancel the correspondence relationship between the token of the user who violates the service provider's terms and the identifier on the user's blockchain and remove the one-time password token from the user.
  • this function is a function that can be realized in the ERC721 standard of Ethereum.
  • this OTP token removal function can forcibly remove an OTP token with a certain token number having a user identifier calculated from a user's secret key by the contract administrator, so that the user, service provider, and OTP token contract can be forcibly removed. Assume that it requires agreement with the administrator and is not normally used.
  • the user can generate OTPs of the present invention using OTP tokens and authenticate the OTPs, while the OTP tokens are substantially It is possible to store and transfer OTP tokens in which ownership, management and circulation are performed by the contract manager. It is assumed to be used for OTP token custody transfer by a third party who is qualified to custody OTP tokens, such as OTP token custody transfer.
  • the authentication system of the present invention makes it difficult for an attacker to tamper with the one-time password program (contract), tamper with the correspondence between the OTP token belonging to the contract and the user identifier for the token number of the OTP token, and the ownership status of the OTP token. has the advantage of being In addition, it is difficult to lose OTP tokens as long as there is a private key that the user and the user terminal use for access and the node terminal of the blockchain (the network to which the node terminal is connected). Hardware tokens require a battery to synchronize the time and date, and when the battery level is low, the time shifts and the user has to adjust the time.
  • the blockchain used in the present invention has the advantage that servers distributed around the world act as nodes and are driven while synchronizing the time, and time synchronization is unnecessary.
  • the password generator using the blockchain of the present invention has the advantage that K can be updated. If you send a transaction to update K to the blockchain, you can rewrite and update the K value of the OTP tokens involved in that K. By updating K, the seed value used for OTP calculation is changed, and the appearance of future OTP calculation results is renewed.
  • the present invention allows for the transfer of OTP tokens if permitted by the OTP token and the corresponding service provider. It is also possible to prohibit or allow the transfer of OTP tokens included in the contract between users.
  • the secret key is lost or leaked and the token cannot be used normally, the user reports to the token manager and the token is assigned to the user identifier calculated from the new user's secret key.
  • FIG. 1 is an explanatory diagram showing a method of generating and authenticating a one-time password using a blockchain.
  • FIG. 1A is an explanatory diagram showing the concept of applying the one-time password (OTP) generation and authentication method using the blockchain of the present invention to a server terminal.
  • FIG. 1B is an explanatory diagram showing the concept of a method of decrypting encrypted data through the OTP authentication system using blockchain of the present invention.
  • FIG. 2A is an explanatory diagram of a terminal DA of a user UA that authenticates using the authentication system of the present invention.
  • FIG. 2AA is an explanatory diagram of a storage unit (storage device), a control unit (control device), an input/output device, etc.
  • FIG. 2B is an explanatory diagram of the terminal DB of the user UB different from FIG. 2A.
  • the functions of terminal DA and terminal DB are equivalent.
  • Private key information is different.
  • FIG. 2C is an explanatory diagram of the terminal DC of the user UC that deploys and manages the contract in the blockchain unit.
  • the functions of terminals DA and DC are equivalent. Private key information is different.
  • FIG. 3A is an explanatory diagram of a server terminal 3A, which is a block chain node connected to a network 20 and has a block chain unit that constitutes the distributed ledger system DLS.
  • FIG. 3AA is an explanatory diagram of the control unit and storage unit of the terminal 3A in FIG.
  • FIG. 3AB is one of explanatory diagrams of the contract of the block chain unit recorded in the storage unit of the terminal 3A of FIG. 3A.
  • FIG. 3AC is an explanatory diagram of a specific example of a contract of a block chain unit that can change the transfer restriction function, the number of characters/digits of OTP, and the authentication standby time of OTP recorded in the storage unit of terminal 3A of FIG. 3A.
  • FIG. 3B is an explanatory diagram of a terminal 3B that has the same block chain unit as the server P (3A) in FIG. FIG.
  • FIG. 3C is an explanatory diagram of a server terminal 3C that performs a service when performing authentication according to the present invention by logging in to a website (web page, web application) or the like.
  • FIG. 3D is an explanatory diagram of a terminal 3D that performs authentication by reading printed matter, a display screen, valuable paper sheets and keys on which the authentication information of the present invention recorded on NFC tags is recorded, and providing services.
  • FIG. 3DA is an explanatory diagram relating to the storage unit (storage device, 30D) and input/output devices (34D, 35D) of the server SVLog (terminal 3D) shown in FIG. 3D.
  • FIG. 3E is an explanatory diagram of a server terminal 3E that performs a service of purchasing OTP tokens or outputting OTP authentication information to paper and NFC tags to issue tickets, valuable paper sheets, keys, and the like.
  • FIG. 3F is an explanatory diagram of a server terminal 3F that searches, monitors, and notifies a user terminal of transaction information and OTP token information from block chain information recorded in the server P (3A).
  • FIG. 4A is an explanatory diagram of a terminal (4A) that decrypts encrypted data using the authentication system of the present invention for browsing, viewing, or using.
  • FIG. 4B is an explanatory diagram (embodiment) relating to the storage device of the terminal (4A) that decrypts the encrypted data using the authentication system of the present invention and browses, views, or uses the data.
  • FIG. 4C is an explanatory diagram when plaintext data 4035A is encrypted or obfuscated in the storage device of terminal 4A in FIG. 4B and incorporated in 4030A of software 403A.
  • FIG. 5A is an explanatory diagram of a server terminal that decrypts encrypted data using the authentication system of the present invention and distributes an advertisement to a terminal (4A) that browses, views, or uses the data.
  • FIG. 5B is an explanatory diagram of a server terminal 5B that decrypts encrypted data using the authentication system of the present invention and distributes the encrypted data to a terminal (4A) that browses/views or uses the encrypted data through a network.
  • FIG. 5C is an explanatory diagram of a server terminal 5C that decrypts encrypted data using the authentication system of the present invention and sends the encrypted data by broadcasting to a terminal (4A) that browses, views, or uses the data.
  • FIG. 6A is a flow chart diagram illustrating the processing of a function that generates an OTP for an OTP token holder in the present invention. Basic OTP generation function.
  • FIG. 6B is a flow chart diagram showing processing of a function for generating an OTP having a function of recording the number of OTP generations for the holder of the OTP token in the present invention.
  • FIG. 6C is a flow chart diagram of a function for authenticating OTP in the case of limiting the accessor to be authenticated to the user identifier of the token owner with the function of recording the number of times of OTP authentication in the present invention.
  • FIG. 6D is a flow chart diagram of a function for authenticating OTP in the case of not limiting an accessor to be authenticated with a recording function such as the number of times of OTP authentication in the present invention.
  • FIG. 6E is a flowchart of a function for authenticating an OTP when the OTP authentication count recording function is removed from FIG.
  • FIG. 6F is a flow chart diagram of a function for authenticating an OTP when the authenticated accessor is not limited in the present invention.
  • Basic OTP authentication function FIG. 6G is a flow chart showing processing of a function for determining whether an access is made by an owner of an OTP token having a function of recording the number of times of OTP authentication, etc., and authenticating the OTP in the present invention.
  • FIG. 6H is a flow chart diagram showing processing of a function for determining whether an access is made by an OTP token owner and authenticating the OTP in the present invention.
  • FIG. 6I shows a data structure recorded when a user terminal (1A or 4A) accesses a server terminal (3C, 3D, 3E, 3F, 5A, 5B) that provides services using the authentication system of the present invention. It is a chart.
  • FIG. 7A is one of sequence diagrams explaining the authentication system of the present invention (TB mainly uses block number Bn. It is also an explanatory diagram of BnTOTP type password).
  • FIG. 7B is an explanatory diagram of the authentication sequence when the contract manager can change the contract internal variables KC and BC, which are the seed values for calculating the password OWP in the present invention, using the function fscb.
  • FIG. 7A is one of sequence diagrams explaining the authentication system of the present invention (TB mainly uses block number Bn. It is also an explanatory diagram of BnTOTP type password).
  • FIG. 7B is an explanatory diagram of the authentication sequence when the contract manager can change the contract internal variables KC and BC, which are the seed values for calculating the
  • FIG. 7CA is a sequence diagram when the encrypted data is decrypted and the decrypted plaintext data is browsed/viewed/executed as a program in the present invention.
  • FIG. 7CB is a sequence explanatory diagram for encrypting plaintext data and distributing/distributing the encrypted data in the present invention.
  • FIG. 7CC is a sequence explanatory diagram for decrypting browsed encrypted data in an off-line state not connected to a network and browsing as plaintext data in the present invention.
  • FIG. 7D is a sequence diagram illustrating the operation of the authentication system when logging into a web-based service such as a website/web application in the present invention.
  • FIG. 7E is a sequence diagram for explaining how a valuable paper or NFC tag is used as an example in the present invention to authenticate with a password OWP and to enter, unlock, and start a service.
  • FIG. 8A is a diagram for explaining connection of terminals when logging in to a website.
  • FIG. 8B is a diagram illustrating connection of terminals when using valuable paper sheets or keys using printed matter and NFC tags.
  • FIG. 8C is a diagram for explaining connection of terminals using software 403A in the case of distributing (distributing) encrypted data through a communication network.
  • Example 3, Embodiment 3 FIG.
  • FIG. 8D is a diagram for explaining connection of terminals using software 403A when encrypted data is broadcast by data broadcasting.
  • FIG. 1 is a diagram illustrating an overview of an OTP token-based authentication system that uses a blockchain-type data structure for DLS;
  • FIG. 1 is a diagram illustrating an overview of an authentication system using an OTP token using a directed acyclic graph type data structure for DLS;
  • FIG. 8A, 8B, 8C, and 8D are explanatory diagrams of connection of terminals used in FIG.
  • a computer terminal such as a server terminal or a user terminal used in the present invention comprises a control arithmetic device (control device, arithmetic device), a storage device, an input device, and an output device as five major computer devices.
  • the control arithmetic device, the storage device, the input device and the output device are connected by wiring such as a patterned conductor circuit or an electric wire.
  • connection between the control arithmetic device (control device, arithmetic device), the storage device, the input device and the output device may be by wire (electrical cable or optical fiber) or wirelessly.
  • the terminal includes a wireless or wired communication control device (communication device) and is connected to the network 20, an external terminal, etc., and may also be connected to an external storage device and an input/output device.
  • the terminal is equipped with a power supply and supplies power to drive the computer terminal.
  • Terminal DA (terminal 1A) of user UA a user UA equipped with a computer terminal DA or terminal 1A (terminal 1A in FIGS. 1, 2A, and 2AA) that uses the OTP token of the present invention to display or authenticate the OTP The terminal 1A.
  • the terminal 1A stores a program for accessing a block chain server 3A, etc., a URI indicating a server P to be accessed (server 3A in FIG. 3A), etc., a private key PRVA (in FIG. 2AA Private key information 101A) is provided.
  • a terminal 1A has a communication device 12A and accesses a server 3A via a network 20.
  • FIG. When accessing the server 3A to request OTP generation, the present invention assigned to the user identifier A calculated from the private keys PRVA101A and PRVA101A as described in the flow chart of the OTP generation function in FIGS. 6A and 6B.
  • OTP token with a token number TIDA of An OTP token with a token number TIDA of the present invention assigned to user identifier A calculated from private keys PRVA101A and 101A may also be required when requesting authentication of the OTP (FIGS. 6C, 6E, FIG. 6G, FIG. 6H), and the flow chart of the OTP authentication function in FIGS. 6F and 6D may not require the process of determining whether User Identifier A or an OTP token is assigned to User Identifier A and possesses it. can.
  • the user UA of the terminal 1A there are also a user UB of the terminal 1B, a user UC of the terminal 1C, and a user UP of the terminal 4A.
  • the terminal 4A is one type of user terminal that performs this authentication system.
  • user UP and user UA are the same person, and secret key 101A and secret key 401A are the same, but symbols are sometimes changed for explanation.
  • Server P server 3A: In the present invention, as shown in FIG. 1, a server P (3A), a server B (3B), etc., which are nodes equipped with a block chain unit that constitutes a distributed ledger system DLS such as a block chain, are encrypted. are connected to each other through a network 20 that can also be integrated. Ethereum was used for distributed ledger system DLS such as blockchain.
  • control unit (31A) and storage unit (30A) of the server P (3A) are equipped with equipment capable of forming and processing Ethereum, which is one of the blockchain infrastructures, in the blockchain unit.
  • all the elements that implement the blockchain system using Ethereum are not described, but in the present invention, user terminals (1A and 4A in FIGS. 1A and 1B) and server terminals 3A, 3B, 3C, 3D, 3E, 3F, 5A, 5B, 5C, etc. may have blockchain controllers and blockchain data recorders that can become Ethereum nodes.
  • the block chain unit detects a contract with many users, and accesses the contract if it can be placed in a storage device that can perform the fastest reading and rewriting in the computer terminal, such as the RAM of the main storage device in the storage unit of the server 3A. This allows users to speed up the OTP generation and authentication process.
  • the server group (3A, 3B, etc.) having the blockchain part and the terminal (1A, 1C, etc.) connected to the blockchain part
  • a smart contract (contract) in which a token conforming to the ERC721 standard is provided with a one-time password (OTP) program is used as the OTP token contract for the authentication system of the present invention.
  • OTP token or an OTP generation token/OTP generation contract indicates a contract that performs processing such as ownership of a token that generates an OTP, token issuance processing, token transmission processing, and display of information such as the name of the token.
  • the OTP authentication contract or the OTP authentication function inside the OTP authentication contract has variables and a processing unit for calculating an OTP that matches the OTP generation function of the OTP generation contract, and can perform OTP generation and authentication processing.
  • FIG. 3AC are explanatory diagrams of the contract
  • FIG. 3DA shows an example when the terminal 3D has the authentication function instead of the terminal 3A.
  • an ERC721-standard token is provided with an OTP generation function
  • a contract (OTP generation contract) that can issue an ERC721-type OTP generation token is used.
  • the OTP generation contract is provided with an OTP authentication function that can be set to the same value as the seed value used for OTP generation in the OTP generation contract, or an OTP authentication contract is created separately and the OTP authentication contract is provided with the OTP authentication function.
  • An issue function (3042A in FIG. 3AC) inside the contract is used for token issuance.
  • 3042A cannot operate token issuance unless it is the contract administrator's private key PRVC (101C in FIG. 1C).
  • the token (OTP token) that generates the OTP of the present invention is provided with a transfer restriction processing unit 3041A. The process can be changed so that the transfer can be restricted.
  • one-time password tokens are issued to users on the blockchain (token allocation, correspondence) and token transmission (token users transfer), rating information, token name information, token URI information, and the like.
  • the secret value KC, a variable TB that changes with time (the block number Bn is used as TB in the present invention), the token number TIDA, and the seed value S generated based on the user identifier A are used as arguments of the hash function fh.
  • 6A and 6B are flowcharts illustrating the processing of the one-time password OTP generation function 3009A. Flowcharts illustrating the processing of the one-time password OTP authentication function 3018A are shown in FIGS.
  • the OTP authentication function may be embedded in the OTP generation contract containing the OTP generation function, or the OTP authentication function may be embedded in the OTP authentication contract in order to store the OTP generation contract and the OTP authentication function separately.
  • the OTP authentication contract may be separated and recorded in block data with the same block number or different block numbers on the blockchain.
  • the terminal 3D which is not connected to the network, may have the OTP authentication function and the terminal 3A on the network may have the OTP generation function, and the terminal 1A may use the OTP obtained at the terminal 3A for authentication at the terminal 3D.
  • a system may be used in which contracts are recorded in other blockchains with different authentication functions and generation functions, and OTP generation and authentication are shared between the two blockchains.
  • the terminal 3A performs processing according to access from the terminal DA (terminal 1A) of the user UA.
  • a user identifier A is calculated from the private key PRVA (private key 101A) recorded in the storage device of the terminal 1A.
  • the public key is calculated from the private key
  • the hash value of the public key is calculated using a hash function
  • the hash value is cut off and used as a user identifier (anonymized identifier).
  • the OTP generation function is contracted by the user identifier A who is the executor of the function.
  • OTP token the issued one-time password token
  • the token holder receives the token number TIDA and the KC value 3011A of the secret variable of the contract (the internal A variable KC 3011A) and a variable TB that fluctuates on the blockchain at a certain time T are used as a key value (key value, seed value) for password generation, and a hash function fh (hash function fh described in FIGS. 3AA, 3AB, and 3AC 3010A).
  • a one-time password BnTOTP fh (A, TIDA, KC, Bn) based on the block number using the latest block number Bn (3001A shown in FIG. 3AA is the block number Bn) is used for the TB.
  • the user identifier A (and the private key 101A for calculating the user identifier A) is also intended to be used for monitoring unauthorized use of the private key for logging into web services, etc.
  • the internal variable BC value 3013A (internal variable BC3013A described in FIGS. 3AA, 3AB, and 3AC) of the contract of the OTP generation token is used for the TB, and the secret key 101C of the administrator terminal 1C of the contract is used for the 3013A.
  • the present invention uses an OTP token using an OTP calculation method, which is characterized in that the password can be changed according to the BC value.
  • OTP OTP fh (A, TIDA, KC, BC)
  • OTP unique to the user identifier and token number is generated.
  • it is suitable and was preferably used in the embodiment of the present invention.
  • ⁇ Calculation of a one-time password consisting of an n-digit integer> Encode the information BnTOTP calculated by a hash function to obtain a 7- to 6-digit integer password used in bank transactions such as Internet banking using the Internet.
  • n may take a value of 6 to 7. If the contract has a function fOTPN where variable n is a setter that can only be overwritten by the administrator of the contract (if variable n and function fOTPN are recorded in 3031A), then set n as 6. After recording and deploying the contract on the blockchain with , it is possible to increase n from 6 to 12, resulting in a 12-digit password, in order to increase the computational power required for a brute force attack. This is a difficult method to implement with a hardware TOTP token.
  • n can be changed from 6 to 3 after the contract is created, and the number of digits of the OTP to be displayed can be set to 3 digits.
  • the same 3031A is set in the generation contract and authentication contract (or authentication function) so that the OTP authentication function and OTP generation function have the same seed value, and the value of 3030A is changed after deploying the contract to the blockchain.
  • the terminal 1C which is the contract manager, needs to send a setting change transaction to 3A and rewrite variables and the like.
  • a one-time password OTP token issuing unit in the form of a smart contract that adds the OTP authentication part of the present invention to the ERC721 standard, which is an embodiment of the Ethereum testnet
  • the block chain contract has an OTP token and user ownership record section, an OTP generation section, and an authentication section that verifies and authenticates the generated password.
  • a block number Bn can be used in the block chain part.
  • voting on the GasLimit value (BlockGasLimit value) is performed between the nodes that make up the blockchain. Ethereum has the feature that the block size is variable depending on the GasLimit value.
  • the V value 3004A and the block size BSZ value 3005A determined by this voting are also used as seed values for the block chain in the present invention.
  • the OTP can be regarded as a pseudo-random number and used as a pseudo-random number generator.
  • the pseudorandom number generator is applied to an OTP authentication system.
  • a token number TIDA or a mapping variable VU of a voting value on the user side which will be described later, may be used as a seed value.
  • Network It is preferable that communication between the computer DA (terminal 1A) of the user UA and the server P (terminal 3A) be encrypted in the network 20, which is a communication path.
  • Two-way communication is required when using the token of the present invention in generating and authenticating one-time passwords.
  • a terminal 3D the form of use of 3D is shown in FIG. 8B
  • FIG. 8A shows a connection diagram of the terminals.
  • a terminal 1A, a terminal 3A, and a terminal 3C are connected via a network 20.
  • the server terminal 3C may be a real server terminal 3C, a virtual server terminal 3C, or a virtual machine terminal 3C.
  • the storage device data of the server terminal 3C is stored in the terminal 1A, and the server terminal 3C is constructed in the terminal 1A as a virtual machine. By connecting, it becomes possible to log in to the virtual machine terminal 3C constructed in the terminal 1A.
  • Website and web application data after login are sent from the terminal 3C to the terminal 1A.
  • the server terminal SVLogin terminal 3C records through the network the values input by the user using the input device of the terminal 1A on the page after login, and the user data is manipulated according to the input values. Specific examples include transfer processing after login in Internet banking, processing such as data recording/change and voting in member sites, voting processing in online shareholders' meetings, and processing in online games.
  • the user and the user terminal 1A are accessed by the blockchain, and when the processing is performed, the OTP generation function is executed to obtain the OTP, and then the obtained OTP is used as an argument by the authentication function. is executed, variables such as 3017A and 3017AA are changed. 3021A, 3022A, and 3023A in FIG.
  • IP address of the logged-in user (hashed or processed value of IP address), location information (hashed or processed value of location information), or computer device ID (or hash value), token number, and user identifier in the data structure or data format shown in FIG.
  • the terminal 3C has a function of judging at any time whether a certain token number or user identifier is being accessed from a different IP address, different location information, or a different device ID, and notifying the user if different, and further blocking access.
  • processing units 3110C, 3111C, 3112C, and 3113C in FIG. 3C.
  • the device ID of the computer in addition to the computer manufacturing ID such as the device ID, the operating software ID, the web browser ID, the acceleration sensor, the magnetic sensor, the pressure sensor (atmospheric pressure sensor), the temperature IPV value (data structure shown in FIG.
  • sensor 144A sensors shown in 1440A, 1441A, 1442A, and 1443A in FIG. 144A
  • This method is used in another application of the invention, 4B. 4C.
  • the terminal 1A is a smartphone equipped with a magnetic sensor in the position sensor 1441A of 144A and capable of detecting magnetism in three-dimensional directions capable of measuring geomagnetism
  • the orientation of the magnetic sensor built into the smartphone is determined by the user terminal.
  • the access is normal, there is only one access information from the user terminal corresponding to the value of the magnetic sensor, but if another user illegally obtains the private key and tries to log in, the attacker is on a distant earth Spoofing is difficult because it must match the value of the magnetic sensor of the user's computer at a certain location.
  • a plurality of sensors can be used. For example, it is possible to combine a geomagnetic sensor and a temperature sensor, or a temperature and an atmospheric pressure sensor (temperature and pressure sensor). It is preferable to be able to use IP addresses (and hash or anonymized values of IP addresses) and sensor values.
  • IP addresses and hash or anonymized values of IP addresses
  • the environmental sensors of 1440A include a temperature sensor, an air pressure sensor (pressure sensor), a humidity sensor, and an illuminance sensor, and the measured values of the above four sensors can be individually input to the terminal 1A.
  • the position sensor of 1441A includes a magnetic sensor that detects magnetism and an accelerometer that detects acceleration, and is a sensor capable of detecting the position of the terminal. Measured values of magnetic sensors and accelerometer sensors can be individually input to the terminal 1A.
  • the 1442A's motion sensor includes an accelerometer and a gyro sensor that detects angular velocity, a sensor that can detect the movement of the terminal.
  • Measured values of the accelerometer (acceleration sensor) and the gyro sensor can be individually input to the terminal 1A.
  • the biometric sensor of 1443A for example, the camera 142A is used for face and blink information, the fingerprint scanner is used for fingerprints, and the vein pattern iris, ear structure, etc. are detected by sensors that detect them. If it is information related to walking, it may be measured using a motion sensor device such as a shoe last corresponding to an acceleration sensor of an external terminal that can communicate with the 1442A of the terminal 1A or the communication device 12A of the terminal 1A, or a group of motion sensors attached to clothes. .
  • a terminal equipped with a microphone/sound sensor 143A for voice authentication it is also possible to hash the acoustic information as unique acoustic information that allows the terminal to perceive sounds around the terminal and use it as an IPV value while protecting individual privacy. sell.
  • biometrics or privacy-related information it may be preferable to hash, process, and anonymize the information acquired by the sensor.
  • the biometric authentication sensor 1443A is a sensor when the terminal 1A has an image sensor such as a camera or a thermography and uses the image sensor to perform authentication derived from the structure of the face, or a fingerprint sensor for performing fingerprint authentication using a scanner. Also, it is a sensor for authentication derived from the structure of the ear, and a sensor for authentication using the motion and pressure signals that the worn terminal feels when walking. A known method can be used for biometric authentication. 4B. Use as paper or IC admission tickets, use tickets, and unlock keys for entrances and building facilities: When used for locking and unlocking tickets, admission tickets, and building facilities, the server SVLog (see Fig. 8B and Fig. 3D) The described server terminal 3D) is used. FIG.
  • the terminal 3D may be a built-in terminal that operates a building lock, a car lock, or a prime mover starter.
  • a communication function such as NFC.
  • 19A is a contactless NFC tag or an IC card with a contact terminal, and the user may set a PIN or the like as a password to 19A to prevent unauthorized use by a user other than the user of 19A.
  • PIN is an abbreviation for personal identification number
  • PIN is a four-digit integer password, for example.
  • the PIN of 19A is used as the final means of confirming the intention of use when using the service using 19A. Since 19A communicates wirelessly, a PIN may be used to prevent the information of 19A from being transmitted to terminal 3D without the knowledge of the user who owns 19A. 19A may encrypt the content of communication when performing wireless or wired communication with 3D.
  • the PIN or the like may be used to encrypt the authentication information using the OWP recorded in 19A (the OWP may be encrypted using means such as common key encryption using the PIN as a key).
  • the paper ticket 18A is manufactured by printing the OWP information acquired using the one-time password OWP generation function 3009A of the present invention on paper or the like.
  • the information described in 18A can be displayed at 1500A.
  • a device such as a camera that reads 18A or 1500A is provided in the service providing terminal 3D, in addition to valuable paper sheets such as tickets, safes/vaults that can be locked and unlocked, doors of buildings, entrances and exits, vehicles such as automobiles or a computer terminal to read the authentication information, allowing entrance/exit and locking/unlocking.
  • the NFC tag 19 can be manufactured by storing authentication information including a user identifier A, a token number TIDA, and a password OWP possessed by the terminal 1A in the terminal 1A via the communication device 12A of the terminal 1A, and can be manufactured using valuable paper such as a ticket. It is used as a leaf, an entrance/exit tag, a lock/unlock key, or a device for unlocking access control.
  • the NFC tag 19A on which A, TIDA and OWP are recorded, the display screen 1500A of the terminal 1A displaying A, TIDA and OWP, and the paper ticket 18A on which the screen 1500A is printed may be used. As shown in FIG.
  • 18A and 1500A are read by terminal 3D's camera/scanner 340D.
  • 18A and 1500A may display character string information connecting A, TIDA, and OWP, or may display bar code information (one-dimensional and two-dimensional bar codes).
  • 19A may communicate with 32D of terminal 3D and transmit string information concatenating A, TIDA, and OWP. It is assumed that NFC is used for communication between 19A and 32D.
  • the password OWP authentication function 3018DA (3018DA in FIG. 3DA) provided in the control unit and storage unit (31D and 30D) of the terminal 3D that received A, TIDA, and OWP from 1500A, 18A, and 19A is shown in FIGS.
  • VeriOWP fh (A, TIDA, KC, BC) calculated using the KC and BC values recorded in the terminal 3D according to the flow chart regarding the processing of the OTP authentication function in
  • the terminal 3D operates the opening/closing device 350D, locking device 350D (locking/unlocking device 350D), starting device 350D, or access control device 350D of the device in which the terminal 3D is incorporated. Then, it performs entry processing at ticket gates and entrances, unlocks vehicles such as locked buildings and automobiles, and containers such as safes, and starts vehicles, computers, machines, and equipment.
  • the administrator of the contract and the administrator of the service and the terminal 3D must match and synchronize the OWP type OTP calculation method and the variables used for the calculation in the terminals 3A and 3D.
  • the terminal 3D is a terminal incorporated in a building door or a safe that manages locking, when the secret values KC and BC are changed, the user of the door, safe, etc. in which the terminal 3D is incorporated is locked.
  • Wired or wireless communication device 32D of lock management terminal 3D provided at a position that can be accessed after unlocking the equipment (specific examples are the back side of the door of the safe, the back side of the door of the building, the indoor side of the door of the building) and update the 32D KC value 3011DA and BC value 3013DA according to software provided by the terminal 3D manufacturer.
  • the administrator of terminal 3D updates the information to be the lock to the latest information, or the OWP type password of terminal 1A, user identifier A and token It is required to set information that can authenticate the number TIDA with 1500A, 18A, or 19A.
  • the user enters the ticket in the execution count recording part 3017A or 3017AA (or 3017DA) of the authentication function 3018A (or 3018DA) at the terminal 3D or the contract on the blockchain.
  • the OTP authentication is performed, the authentication function is executed, and whether or not the authentication is successful and the service is used, a true/false value indicating whether or not the ticket is valid, or an integer value of the number of times the ticket is used may be recorded, and 3017A or 3017AG (or 3017DA) is charged with points or a currency balance that can be used for ticket services, and when the information of the electronic ticket 19A, paper ticket 18A, or screen display type ticket 1500A of the present invention is presented at the time of service provision, The balance may be deducted by the amount of points or currency corresponding to the service.
  • one-time password generation and authentication are not performed by the same function of the contract.
  • variable and a processing unit that count and increment (increase) the number of executions of each OTP generation function and OTP authentication function at the time of generation and authentication. less likely to be tampered with.
  • Software CRHN (software 403A) is available to decrypt encrypted data using the blockchain-based OTP authentication system of the present invention.
  • software CRHN is software 403A in FIG. 4B.
  • FIG. 8C shows a connection diagram of the terminals.
  • the server terminal 3A is accessed using the computer DP (terminal 4A in FIG. 4A) used by the user UP, and the secret of the terminal 4A is accessed.
  • BnTOTP is generated and authenticated using the OTP token assigned to the key 401A, and the return value CTAU4031A of the OTP authentication function 3018A is obtained.
  • Private key CRKY 40302A and software 403A Generate common key TTKY 4033A that can encrypt and decrypt files based on the calculation method, software 403A that encrypts and decrypts files, and viewing, viewing, and printing information using software 403A
  • an authentication system capable of decrypting and using the encrypted data that performs the above can be used.
  • 403A can output contents according to the permission of the content right holder of encrypted data and files.
  • the content obtained by decrypting the encrypted data displayed on the display screen of the terminal 4A may be copied as an image or moving image using a terminal such as a digital camera using a film camera or image sensor, or a smartphone equipped with a digital camera. unknown. Therefore, the content obtained by decrypting the encrypted data displayed on the display screen of the terminal 4A can be simply prevented from being copied as an image or a moving image using a terminal such as a smartphone equipped with a silver-salt camera or an image pickup device equipped with a digital camera. uses a head-mounted display 453A (head-mounted display 453A).
  • the present invention does not necessarily use the head-mounted display 453A, but may use the display 450A mounted on conventional desktop terminals, laptops, notebook terminals, mobile phones, and smart phone terminals.
  • the sensor 4530A of the head mounted display 453A is used to perform biometric authentication functions such as face authentication, iris authentication, authentication derived from the structure of the ear, illuminance sensor or optical sensor, and thermographic image of body temperature distribution.
  • the primary purpose of the authentication function is to confirm whether or not a real living body is wearing the 453A. Accompanying this, it is also possible to acquire personal biometric information and perform biometric authentication.
  • Software 403A may define output device 45A that outputs the decoded data.
  • 453A is used to simply prevent the display screen from being copied as an image or moving image using a film camera or digital camera.
  • the 450A is used.
  • FIG. 8D shows a connection diagram of the terminals. 5.
  • token manager A user UA who is qualified to provide services (for example, a bank account holder who has signed an OTP token contract with the right to log in to a website/web application that performs internet banking) ) and the user identifier A calculated from the block chain unit of the terminal 3A from the private key 101A toward the terminal 1A, the administrator UC transmits from the terminal 1C (terminal DC) through the network 20 (network NT) to the block chain node is issued to the server P (terminal 3A).
  • ⁇ Time-Based Generation and Calling of One-Time Password Using Block Number Bn> The basic operation of generation and authentication of a one-time password according to the present invention will now be described.
  • the user terminal 1A, the server terminal 3A, and the network 20 are used to generate and authenticate the OTP.
  • a secret key 101A, a URI or the like in the network 20 of the server terminal 3A as a designated block chain node a contract identifier 3019A of an OTP token that generates a designated OTP, and a block chain unit from the secret key 101A.
  • the blockchain part of the server 3A is accessed through the network 20 and the function is called.
  • the terminal 1A accesses the block chain part of the terminal 3A and performs processing according to the program of the OTP generation function 3009A of the contract recorded in the block chain part.
  • 3009A notifies terminal 1A of BnTOTP as the return value of function 3009A.
  • Hash function fh is, for example, SHA256.
  • the two arguments of the user identifier A and the token number TIDA are received as argument inputs of the OTP generation function 3009A. It should be noted that a plurality of arguments such as the third and fourth arguments may be used depending on the application.
  • BnTOTP generated in F104 is not used as a return value, as shown in F107, BnTOTP is type-converted as an unsigned integer, and the n-digit password is divided by 10 to the power of n, and the remainder is the n-digit password.
  • OTP authentication function should be programmed to verify the In the embodiment, an OTP generation function that generates a 32-byte OTP using the processes from F100 to F105 and an OTP generation function that generates an n-digit unsigned integer OTP that uses the processes from F100 to F107 are provided in the same contract.
  • OTP token contract that generates an OTP, and usually authenticates with an OTP generation function of n digits (at least the number of digits is good) and an OTP authentication function corresponding to it, and when performing a highly important operation, data Authentication can also be performed using a larger 32-byte OTP generation function and a corresponding OTP authentication function.
  • Ethereum is used as the blockchain base
  • the SHA256 function that outputs a return value with a hash value of 32 bytes is used as the hash function fh
  • BnTOTP is used without providing the option of F104 in the processing program of the OTP generation function.
  • an OTP generation function that calculates a 32-byte OTP (in FIG. 6A, the function operates through the flowchart in the order of F100, F101, F102, F103, F104, and F105; or 6B, a function that operates through the flowchart in the order of F100, F108, F101, F102, F103, F104, and F105), and 7 digits that are the remainder obtained by converting the BnTOTP as an unsigned integer and dividing it by 10 to the 7th power.
  • An OTP generation function that calculates a numeric OTP (a function that operates through the flowchart in the order of F100, F101, F102, F103, F104, and F107 in FIG. 6A; or F100, F108, F101, F102, F103, F104, A function that operates through the flowchart in the order of F107.) were implemented in the form of preparing for the contract of the OTP generation token.
  • the difference between FIGS. 6A and 6B is that the variables 3017A and 3017AG that store the number of times of execution of the OTP generation function 3009A are stored, and the number of times of execution of the function 3009A is recorded or increased, or It is the presence or absence of change processing F108 such as increase/decrease of numerical balance.
  • the user identifier of the function executor (function executor, message sender, msg.sender user identifier) that executes the OTP generation function 3009A of the OTP token from the input argument is associated with the OTP token of token number TIDA. It is determined whether it matches the identifier of the user who owns it (here, user identifier A). Without this process F101, a user who is not the owner of the OTP token can execute the OTP function, so when the message sender executes 3009A, the process of determining whether the message sender is the owner of the OTP token. is required.
  • Hash function fh may be any cryptographic hash function.
  • the OTP generation terminal and the OTP authentication terminal can be operated by the same terminal 1A. Also, the OTP generation terminal and the OTP authentication terminal can be used separately.
  • a communicable hardware-type OTP generating mobile terminal 1A having an output device capable of generating and displaying an OTP and a login authentication terminal 4A having an OTP input device for website login.
  • a conditional expression such as an IF statement determines whether ArgBnTOTP matches VeriBnTOTP, and if they match, the return value when OTP authentication is successful Return to terminal 1A. It is also possible to perform processing when authentication is successful.
  • the flow chart of authentication function 3018A shown in FIGS. 6C-6H will now be described.
  • process F110 of the flowchart three arguments of user identifier A, token number TIDA, and password ArgOTP are received as argument inputs of OTP authentication function 3018A.
  • the OTP authentication function may take a plurality of arguments such as the fourth or fifth argument depending on the application.
  • 6F is one embodiment of the authentication function 3018A, which is a basic processing example. Authentication using the process shown in FIG. 6F can be used for terminal 3C or terminal 3D and decryption of encrypted data.
  • the user identifier A and the token number TIDA are received as arguments of the authentication function, and VeriOTP is calculated from the arguments at F113.
  • the block number Bn and secret variable KC value are used.
  • FIGS. 8A, 8B, 8C, and 8D Connection examples of terminals using FIG. 6F are shown in FIGS. 8A, 8B, 8C, and 8D.
  • the OTP authentication function form of FIG. 6F can be used in terminal 3C or terminal 3D.
  • FIG. 6D shows a process F115 added to rewrite the variables 3017A, 3017AA, and 3017DA such as true/false values and integers used in the process of FIG. 6F after execution of the OTP authentication function 3018A. is.
  • 3017A, 3017AA, and 3017DA are data such as truth values, integers, and character strings.
  • 3017A, 3017AA, and 3017DA are mapping variables having data types such as true/false value type, unsigned integer type, and character string type with the token number as a key.
  • a mapping variable is just one example, and it is sufficient to record data associated with a token number as a key. Examples of connection of terminals using FIG. 6D are shown in FIGS. 8A, 8B, 8C, and 8D.
  • FIG. 6C is an example of processing that is assumed to be used for decrypting encrypted data or for logging into a website.
  • FIG. 6C is obtained by adding the processing of F111 to the processing of FIG. 6D.
  • FIG. 6E is a flowchart from which processing F115 of FIG. 6C is removed. Examples of terminal connections using FIGS. 6E and 6C are FIGS. 8A, 8C, and 8D, and FIG.
  • terminal 3D can connect to network 20 and can connect to terminal 3A. Since the processing method shown in FIGS. 6C and 6E uses the owner information 3014A in the contract related to the OTP token of 3A, if the terminal on the block chain such as 3A and 3D are connected and the information of 3014A is not synchronized and shared, the information of FIG. 6C and the authentication method described in FIG. 6E are not available on terminal 3D. If the terminal 3D is a processing terminal such as a ticket gate or an entrance of a station and is connected to the terminal 3A via the network 20 or has the same block chain recording unit and control unit as the terminal 3A, then FIG. 6C and FIG. The processes of 6E, 6G and 6H are available.
  • FIGS. 6C and 6E uses the owner information 3014A in the contract related to the OTP token of 3A, if the terminal on the block chain such as 3A and 3D are connected and the information of 3014A is not synchronized and shared, the information of FIG. 6C and the authentication method
  • the terminal 3D is a container such as a safe or an automobile, and the network 20 is restricted due to restrictions on power supply devices such as batteries installed in the terminal, and restrictions on communication devices due to the environment where the mobile body equipped with the terminal is in an environment where radio waves do not reach. If the connection cannot be made, it is difficult to perform the processes of FIGS. 6C, 6E, 6G and 6H. Depending on the application of terminal 3D, FIGS. 6C, 6E, 6G, and 6H may or may not be used. 6C, 6E, 6G, and 6H are examples of usage patterns. 6C and 6E have a process F111 for determining whether the user identifier A is the executor (msg.sender) of the authentication function 3018A.
  • FIGS. 6C and 6E it is determined whether the user identifier A calculated by the private key 101A possessed by the user at the time of login process to the website is transmitting and executing the message, and the executor of the authentication function without the private key suspends function execution by
  • FIGS. 6C and 6E is the presence or absence of processing F115 for changing 3017A, 3017AA, and 3017DA when authentication is successful.
  • FIG. 6C has F115 and FIG. 6E does not have F115.
  • FIGS. 6G and 6H have a process F119 for determining whether the executor of the authentication function 3018A is the holder of the OTP token. This process is similar to the process F101 described in the flowcharts of FIGS. 6A and 6B for the OTP generation function.
  • the contract used in the present invention may be completed with only one smart contract recorded in a certain block number, or may be completed with another contract identifier recorded in the same block number.
  • the processing content may be separately described in the smart contract or the smart contract with another contract identifier recorded in another block number.
  • a function of contract Y may be called from contract X and used.
  • BnTOTP is used as an OTP using a contract 3008AG with an OTP generation function and a contract 3008AA with an OTP authentication function as shown in FIG. 3AB.
  • a login process is performed using the server terminal 3C.
  • the service inside 3C is provided to browse and operate the contents. As an example, Internet banking, membership site, etc. are assumed. If the authentication result is incorrect, login is not allowed.
  • the OTP (BnTOTP and OWP) of the present invention When the OTP (BnTOTP and OWP) of the present invention is generated or authenticated, the number of times the OTP generation function and authentication function are executed is stored in the internal variable 3017A or 3017AG 3017AA can be recorded.
  • the internal variable 3017A, 3017AG or 3017AA is a variable having a value corresponding to the token number.
  • the variable 3017A is a mapping type variable with a token number as a key. Any variable that is associated with a token number in a data type such as a structure or a class can be used in the present invention in addition to the mapping type. can.
  • a method of recording the number of executions of the OTP authentication function while not recording the number of executions of the OTP generation function was examined.
  • F115 in FIGS. 6C, 6D, and 6G is a process performed when the OTP authentication function is executed and the authentication result is correct, and F108 in FIG.
  • 6B is a function for recording the number of times the OTP generation function is executed. It would be good if the number of times the OTP generation function and the OTP authentication function were executed could be recorded on the blockchain in a tamper-resistant and immutable manner.
  • Terminal 3D may not be able to access network 20 .
  • 3017A and 3017AG executed when the attacker's terminal accesses the terminal 3A and generates the OWP by the OTP generation function changes, so by notifying the user UA of the change in the variable, the OTP can be attacked. It can be seen that there is a possibility that the information is obtained by a person and recorded on paper or an NFC tag.
  • the number of authentication records stored in the terminal 3D is also immutable because it is possible to detect tampering by assigning a hash value to each transaction and concatenating and saving the history of user access and authentication to the terminal 3D like a blockchain.
  • a recording part may be preferred.
  • the contract administrator can rewrite the variable that can be used to determine whether the contract is valid or invalid corresponding to the user's token number.
  • Users may be able to indicate their willingness to use tokens.
  • OTP of the contract identifier belonging to the user identifier A is generated using the user's private key 101A.
  • a field for expressing the intention corresponding to the token number TIDA of the token can be displayed by setting the intention in the mapping type variable NOTE[TIDA].
  • NOTE[TIDA] is changed by a setter function that can be accessed and changed only by the user with the user identifier A who records the private key 101A and is assigned the OTP token with the token number TIDA to 101A.
  • ⁇ Use as voting rights for member sites, etc.> For example, when voting, the token of the present invention is used to log in to a certain website or web application using the token of the present invention and the one-time password authentication system, and the computer You can vote on the screen for the identifier of the candidate you want to vote for and record your vote in a variable in the token contract that generates and authenticates one-time passwords on the blockchain.
  • ⁇ Seed value VU [TIDA] based on voting that can be set by the user> Use the seed value VU [TIDA] based on voting that can be set by the user as a method of using BnTOTP generated by the OTP token to generate pseudo-random numbers in the login destination service. can also ⁇ 4B.
  • FIG. 8B shows a connection example of terminals and devices. 8B, 3AA, 3AB, 3AC, 3D, and 3DA are mainly used for explanation here.
  • Password OWP can also be authenticated in the same way as BnTOTP used for login processing at a website.
  • the user terminal 1A accesses the contract including the OTP generation function of the OWP type OTP token of the terminal 3A and causes the OWP type OTP to be generated by the generation function. Then, access the 3D (access control terminal 3D) that provides the service with the OWP generated by the generation function, the user identifier A, and the token number TIDA, and input them as arguments of the OTP authentication function 3018DA.
  • TIDA, KC, BC, and A are hashed inside the OTP authentication function 3018A from A, TIDA input as arguments of the OTP authentication function, and ArgOWP (or n-digit integer password ArgOWP-n) input as arguments.
  • VeriOWP or n-digit integer password VeriOWP-n
  • VeriOWP is obtained using function fh, and a conditional expression such as an IF statement determines whether ArgOWP (or ArgOWP-n) matches VeriOWP (or VeriOWP-n). , and if they match, it is also possible to carry out processing when authentication is successful. If they do not match, perform the processing for when the authentication failed.
  • This process is similar to when using BnTOTP to log in to a website distributed by terminal 3C, but when using BnTOTP to log in to a website distributed by terminal 3C connected to the network, although the OTP authentication functions 3018A and 3018AA are used, there is a difference that the OTP authentication function 3018DA is used when presenting the OWP to the terminal 3D that can be disconnected from the network 20.
  • FIG. (3018A and 3018AA can also be used when the terminal 3D is connected to the network 20 and can be connected to the node 3A.
  • Authentication by Digital Device> A password OWP is generated from the OTP generation contract on the block chain using the terminal 1A and the server 3A through the network 20 from the OTP generation function 3009A.
  • the generated password OWP, user identifier A, and token number TIDA are printed as a character string or bar code or both on paper or the like using a printer or the like to manufacture a paper ticket or valuable paper leaf 18A.
  • part or all of the barcode data may be encrypted in such a way that only the service provider who authenticates knows the encryption key.
  • the variables OWP, A, and TIDA included in the valuable paper sheet 18A are displayed and printed as barcodes, they are preferably two-dimensional barcodes, and may be one or more one-dimensional barcodes. It suffices if the element 430D can read the bar code printed or printed on the 18A used for authentication and the numerical value and character string information included in the bar code.
  • the display contents of 1500A may be printed and used as 18A.
  • the display screen of 1500A and 18A that printed the display screen of 1500A may transmit the user identifier A, the token number TIDA and the password OWP to the terminal 3D by having the barcode (or character string) read by the terminal 340D.
  • the information of the user identifier A, the token number TIDA, and the password OWP recorded on the valuable paper sheet 18A may be recorded in the recording device of the NFC tag 19A (IC tag/IC card 19A).
  • 19A may communicate with the terminal 3D via the communication device 32D or 341D of the terminal 3D that provides the service, and transmit the user identifier A, the token number TIDA, and the password OWP to the terminal 3D.
  • the terminal 3D reads the information of the password OWP, passes the variables as the argument TIDA, the user identifier A, and the password ArgOWP of the authentication function 3018DA (3018DA in FIG. 3DA) of the storage device 30D of the terminal 3D. According to the process of FIG.
  • VeriOWP is calculated using the seed value of the secret variable such as KC recorded in the terminal 3D for ArgOWP and the user identifier A and token number TIDA which are arguments of 3018DA, and ArgOWP input to 3018DA and VeriOWP match, and if they match, the return value 3021DA when the OTP authentication succeeds is returned as the return value CTAU of the function, and if 3022DA is executed before returning 3021DA, it is executed.
  • the terminal 3D obtains 3021DA when the OTP authentication is successful according to the return values 3021DA and 3022DA of the function of 3018DA, the terminal 3D presents the valuable paper sheet 18A to the camera 340D or presents the NFC tag 19A to 341D and 32D.
  • an access control device a starting device, an opening/closing device, or a locking/unlocking device 350D for locking and unlocking is operated.
  • the terminal 3D can unlock the locked portion 350D and can unlock the surroundings of the user UA and the terminal 3D by light and sound using 351D and 352D. can let you know.
  • 3C and 3D can become nodes of the blockchain like 3A and 3B when equipped with a device as a terminal that becomes a node when connected to the network 20, and at that time, a recording unit related to the blockchain and control units (300D, 300C and 310D, 310C).
  • the NFC tag 19A is a contact IC card or non-contact IC tag (RFID tag) capable of writing a user identifier, token number, and password OWP as a near field communication device (NFC device). , contactless IC cards (RFID cards) can be used.
  • the NFC tag 19A can be used in automobiles and the like.
  • the terminal 3D may be a terminal that unlocks the door of an electric vehicle and controls a motor drive circuit that operates the motor of the electric vehicle, or a terminal that unlocks the door of an engine vehicle (a vehicle that uses a heat engine) and uses an electric motor such as a starter motor.
  • It may be a control terminal for a device that starts the engine by means of a control terminal, or it may be a computer terminal that can control the deceleration or gradual stop of the engine.
  • a terminal 3D that controls a motor or an engine according to the cruising distance or speed may be able to eliminate restrictions such as the cruising distance or the upper speed limit when the authentication system of the present invention can be used for authentication.
  • a configuration in which the NFC tag 19A does not include a battery or an input/output device is also conceivable.
  • 19A may be an ISO 14443 type B compliant card-type device or tag-type device.
  • the NFC 19A may have additional necessary information in addition to the OTP authentication of the present invention.
  • the NFC tag 19A has a secret key 101A2, OWP type OTP authentication is performed, communication is performed by NFC when the motor is started after the door of the vehicle is unlocked, and the terminal 3D connects to the internetwork 20 using 101A2,
  • At block chain node 3A perform TOTP authentication using the BnTOTP type OTP token assigned to 101A2, and log in to the operating system of the car in the same way as logging in to the website to start and start the car. You may let When the automobile performs BnTOTP type authentication to start the prime mover, it is necessary for the user UA to be able to move the automobile using the NFC tag 19A even when the network 20 cannot be used (in the event of a communication failure, disaster, etc.). be.
  • the NFC 19A may include a device and a processing unit that are separately required in addition to the OTP authentication of the present invention.
  • a device that operates as ISO 14443 type B a wireless communication device for realizing a keyless entry system for automobiles, and processing such as encryption of wireless signals are separately added and used depending on the application.
  • the radio frequency used by the short-range wireless communication device in the present invention is not particularly limited in the present invention.
  • An NFC tag 19A may be included in a Wearable Computer terminal. Alternatively, it may be a wearable computer terminal having the function of 19A.
  • the type (usage and shape) of the wearable computer used in the present invention is not limited, but mainly bracelet type, wristwatch type, ring type, belt type, clothing type, shoe last (NFC tag on the surface of footwear) 19A, or the NFC tag 19A is attached to the insole portion of the shoe).
  • Examples include hat-type, helmet-type, eyeglass-type, head-mounted display-type, hearing aid/earphone-type, mask-type, and accessory-type (pendant, necklace, pocket watch-type, etc.) related to the human head.
  • bracelet-type, wrist-watch-type, and glove/glove-type 19A related to human hands.
  • the NFC tag 19A may be a seal or tape type NFC tag 19A that is attached to the bare skin of the body or clothes.
  • a smartphone-type or tablet-type portable computer terminal 4A equipped with an NFC tag 19A may be used, or the NFC tag 19A, which is also an employee ID card, or a wallet-type NFC.
  • a tag 19A or a bag-type NFC tag 19A may be used.
  • 19A can be used for authentication by installing it inside a certain device or object.
  • the NFC tag 19A provided with adhesive tape or adhesive can be used as the NFC tag 19A attached to the surface of a certain device or object.
  • the character string data before conversion into the barcode may be printed on the paper in a readable state together with the barcode.
  • the contents of the bar code may be encrypted in such a way that only the service provider knows the decryption key.
  • a two-dimensional bar code described in Japanese Patent No. 2938338 and the like was used to form a bar code portion of a paper ticket, which was printed with a laser printer or an inkjet printer to produce a paper ticket.
  • the OTP authentication system of the present invention shown in FIGS. terminal 4A connects to terminal 3A through network 20, acquires authentication return value 4031A using the OTP authentication system using the block chain of the present invention
  • software 403A (403A and 403A described in FIG. 4B are software CRHN ) uses at least 4031A, preferably based on a plurality of key information such as 4032A and 40302A to calculate a common key (symmetric key) 4033A for decrypting encrypted data and encrypting plaintext data according to the processing of the software 403A program. Decrypt encrypted data and make plaintext data available. ⁇ 4T.
  • Broadcast station terminal 5C can be used instead of terminal 5B. Broadcast the positioning signal from the GNSS satellite 5C to the terminal 1A or the terminal 4A by radio for positioning, and in addition to the time information etc. necessary for positioning the known position information, the block number Bn and the time of the block number Bn
  • a positioning system that performs positioning by a plurality of broadcasting station satellites 5C, equipped with means capable of confirming the authenticity of GNSS positioning broadcast data by attaching an authentication password BnTOTP that dynamically changes with changes to the signal. It can be used for positioning devices and positioning methods. ⁇ System for Preventing Unauthorized Use of Private Key> In the example of FIG.
  • the user identifier A when a user terminal connected to a service providing terminal via a network accesses the service providing terminal, the user identifier A based on the private key of user UA and said token number TIDA or both; IP address or location information or terminal identifier or terminal sensor value of said user terminal; or said IP address or said location information or said terminal identifier; a hash value of the terminal sensor value, or a value IPV containing directly or pseudonymized or anonymized any of the IP address or the location information or the terminal identifier or the terminal sensor value, or the IP address or the location information; A hash value IPV of a value IPV containing directly or pseudonymized or anonymized either the terminal identifier or the terminal sensor value is collected and recorded in the service providing terminal from the user terminal, and the same user identifier A or token whether the number TIDA or both has been accessed from a different IP address or the location information or the terminal identifier or the terminal sensor value or the hash value or the value IPV or the hash value
  • the service providing terminal may record the login time T or access time T or browsing time T of the user terminal and login history information or access history information or browsing history information Cnt as shown in FIG. 6I. .
  • a distributed ledger system or service that notifies the email address or phone number registered by the user UA of unauthorized use, or sends an unauthorized use notification type token or notification data to the user identifier A calculated from the private key of the user UA.
  • An unauthorized access monitoring function and an unauthorized access notification function for storing information in the storage device of the providing terminal and notifying the user may be provided.
  • One or a plurality of motion sensors, position sensors, or environment sensors may be provided as sensors of the input device of the user terminal and used as sensors.
  • the motion sensor includes an acceleration sensor (accelerometer) or a gyro sensor (angular velocity sensor), the position sensor includes a geomagnetic sensor, a magnetic sensor, or an accelerometer, and the environment sensor includes a temperature sensor, a humidity sensor, or an optical sensor. Alternatively, an illuminance sensor, an atmospheric pressure sensor, a pressure sensor, or an odor sensor may be provided.
  • the user terminal may include a sound sensor or a touch panel (touch sensor) as an input device.
  • token number data is collected and recorded, but in this application, there is no token number, and the user identifier and the sensor value at a certain time T are used to detect unauthorized use of the private key. You can use it for anything.
  • FIG. 8A is a basic authentication system diagram for logging into a website in the one-time password authentication system (OTP authentication system) of the present invention.
  • FIG. 8B shows a display screen 1500A of a valuable paper sheet, a valuable paper sheet 18A such as a paper ticket, and an NFC tag 19A in the one-time password authentication system (OTP authentication system) of the present invention.
  • OTP authentication system one-time password authentication system
  • Terminal 3D may or may not be connected to a network.
  • authentication functions 3018A and 3018DA capable of authenticating the OWP type OTP generated by the OTP generation contract of the terminal 3A may be recorded in the block chain recording unit 300D or 3010A of the storage device 30D of the terminal 3D.
  • Variable information required for OTP calculation such as KC values 3011A and BC values 3013A, 3030A, and 3031A used for the authentication functions 3018A and 3018DA, may be recorded in the terminal 3D.
  • the terminal 3D is not connected to the network 20, the authentication function capable of authenticating the OTP (OWP type OTP, OWP) generated by the contract 3008A or 3008AG regarding the OTP generation token of the server terminal 3A is stored in the 3D storage unit 300D.
  • authentication is performed using a valuable paper sheet such as a paper ticket or an NFC tag that records authentication information such as OWP even in an offline state that is not connected to 3A having a blockchain part through the network 20, It may be possible to unlock entrances, ticket gates, and locked buildings, vehicles, facilities, and containers. In particular, vehicles, buildings, and containers such as safes are not always online and can be connected to the internetwork. It may be required to be able to authenticate even in a disconnected state.
  • OTP token issuance/distribution/generation of OWP type OTP is performed online by terminal 1A, terminal 3A, terminal 3E, and terminal 1C issuing tokens at the block chain unit via network 20.
  • Terminals 1A and 3A The generated OWP and the token number and user identifier used for OWP generation are printed on paper by the printer 152A of the terminal 1A, and the printed matter 18A (18A in FIG. 2A or 8B) is printed.
  • the camera 340D of the manufactured terminal 3D is made to read the image information of 18A and 1500A for authentication.
  • FIGS. 8C and 8D are connection diagrams of devices for decrypting and viewing encrypted data in the one-time password authentication system (OTP authentication system) of the present invention.
  • OTP authentication system one-time password authentication system
  • terminal 4A, terminal 1C, terminal 3A, terminal 5A, and terminal 5B are connected via network 20 so as to be able to communicate bidirectionally.
  • FIG. 8D is a connection diagram of devices when terminal 4A (and a plurality of terminals equivalent to 4A) receives encrypted data broadcast from broadcasting station terminal 5C and decrypts the received encrypted data.
  • the software CRHN (403A) reads the contents of the plaintext data 4035A according to the file format, etc., and prints the browsing information on paper using the printer 452A on the user's terminal 4A according to the program set by the right holder 4035A. and output to the display 450A, speaker 451A, head-mounted display 453A, etc. are determined according to the output settings written in the plaintext data, and the plaintext data is output from the output device 45A.
  • Biometric authentication and content copy prevention using head-mounted displays are used from the viewpoint of content protection.
  • the head-mounted display 453A it may be a spectacles type, binocular type, monocular type, non-transmissive type, or transmissive type spectacles or goggle type device.
  • the OTP calculated from the OTP token of the present invention may be used as a value for realizing the pseudorandom numbers. For example, if you want to use pseudorandom numbers when some event occurs in an online game or offline game (only the blockchain is online, but the game is offline), use the BnTOTP type OTP authentication code of the present invention. may When using the OTP for pseudo-random purposes, a value with fewer digits than that used for OTP authentication, for example, if the OTP is originally 10 digits, use the last 5 digits to generate a pseudo-random value. and preferred.
  • DLT Distributed Ledger Technology
  • DLS Distributed Ledger System
  • URI Uniform Resource Identifier
  • URN Uniform Resource Identifier
  • Wallet software Manages private keys used in DLS. For example, it is used as a web browser extension function with a password. You can access the web page/DLS with the recorded private key.
  • Hardware wallet An external storage device for a private key that records the private key on a digital device.
  • Some devices can work with wallet software. From the point of view of a private key storage device, it is similar to a personal number card.
  • User identifier A Calculated according to the DLS process from the private key 101A. In the embodiment, a private key, a public key, a hash value of the public key, and partial data of the hash value are cut and used as a user identifier.
  • UA User of terminal 1A.
  • UB User of terminal 1B.
  • BnTOTP An abbreviation for a one-time password based on the time on the blockchain, which is calculated based on the block number Bn and the seed value KC inside the contract on the DLS such as the blockchain.
  • OWP An abbreviation for a password when a pseudo OTP is generated by a contract manager (Owner) rewriting the contract internal variables KC and BC of the distributed ledger system DLS to an arbitrary number of times at an arbitrary time.
  • BIOS Abbreviation for Basic Input Output System. Performs basic control such as loading operating system software from the terminal's storage device or an external recording device, and recording time information.
  • EFI Abbreviation for Extensible Firmware Interface. The latest BIOS standard used at the time of patent application.
  • ROM Read Only Memory. A storage device that can only be read after data is written.
  • RAM Random Access Memory. A memory device that can erase and rewrite data.
  • CPU Central Processing Unit.
  • the central processing unit of an electronic computer that integrates a control unit and an arithmetic unit.
  • SoC System on Chip.
  • a chip that integrates multiple functions such as a CPU, graphics processing unit, radio signal reception modem such as GNSS, and radio communication modem. Constructs a communication device and a control arithmetic device.
  • MCU Abbreviation for Micro Control Unit. micro control unit.
  • NFC Abbreviation for Near Field Communication. Near field communication.
  • DLS distributed ledger system
  • the present invention is applicable to paper tickets, electronic tickets, website login tickets, and to services deployed in both the physical domain (physical domain) and the digital domain (data domain). It is assumed that the OTP token will be used as a utility token, but it may be possible to make the OTP token play the role of legally regulated securities. It is also envisioned for use in relation to building locks and for ownership and use rights of building real estate.
  • the OTP of the OTP token when used as a pseudo-random number and used in a pseudo-random number generator, the OTP of the OTP token used as a dice instead of the actual dice is displayed, and play equipment such as a card game is played according to the displayed number. It may be possible to play games using
  • Terminal DA which is the terminal of user UA, Terminal 1A (electronic computer DA, electronic computer 1A), 10A Storage unit of terminal 1A (including recording device, recording unit, ROM and RAM), 101A Recorded in terminal 1A User's private key PRVA, 101A2 User's private key PRVA2, 102A recorded in terminal 1A Blockchain program for terminal 1A to access a blockchain unit such as server P via a network using private key PRVA of 101A .
  • the program 102A can also include a block chain identifier (block chain identification information, including network ID, chain ID, etc.) and URI information indicating the server terminal 3A serving as an access destination node.
  • control unit 110A control processing unit that accesses the block chain of terminal 1A, 12A Communication device of terminal 1A (can be considered as one of input/output devices), 120A Near field communication (NFC device) of terminal 1A, 121A Wireless communication device of terminal 1A, 122A Wired communication device of terminal 1A (if necessary), 123A Terminal 1A broadcast receiving device (if necessary. Includes GNSS and data broadcasting receiving device. Radio broadcasting receiving device may be included in wireless communication device), 13A Terminal 1A control and arithmetic unit, 14A Terminal 1A input device, 140A Terminal 1A keyboard, 141A Terminal 1A pointing device (mouse, touch panel, etc.
  • 142A Terminal 1A camera or scanner photon-detecting solid-state imaging device, image sensor
  • 143A Terminal 1A microphone sound sensor
  • 144A Terminal 1A sensor accelerelerometer, gyro sensor, magnetic sensor may be able to measure three-dimensional physical quantities.
  • 1440A terminal 1A environment sensor temperature sensor, humidity sensor, atmospheric pressure sensor, pressure sensor, illuminance sensor, light sensor, chemical sensor, odor sensor
  • 1441A terminal 1A end position sensor magnettic sensor, geomagnetic sensor, magnetic compass or Accelerometer
  • 1442A Motion sensor of terminal 1A accelerometer or gyro sensor
  • 1443A Biometric authentication sensor of terminal 1A used when necessary.
  • Terminal 1A output device 150A Terminal 1A display, 1500A Ticket displayed on terminal 1A display, Valuable paper sheet 18A image, OTP authentication information, 151A Terminal 1A speaker, 152A terminal 1A printer, 16A Terminal 1A external storage device and external input/output device, external computer terminal 1600A Terminal 1A IC card reader (contact type IC card reader, non-contact type IC card reader) 1601A Terminal 1A contact type or non-contact type type IC card, non-contact type IC tag, 1602A Private key 101A built in the IC of terminal 1A, etc.
  • IC card reader contact type IC card reader, non-contact type IC card reader
  • 1601A Terminal 1A contact type or non-contact type type IC card non-contact type IC tag
  • 1603A Recording device DWALT (external connection type hardware wallet DWALT, IC card type, dongle type, etc.), 1604A private key 101A recorded in DWALT 1603A of terminal 1A, or software containing private key 101A, 1605A private key processing software recorded in DWALT 1603A of terminal 1A, 1606A terminal 1A DWALT 1603A control arithmetic device, processing device (IC chip group for controlling DWALT, MCU, etc.), 1607A DWALT 1603A input/output device of terminal 1A, communication device, 1608A printer or printing or printing on paper or metal plate by human hand • Engraved/recorded private key 101A. (It may be recorded on paper, metal plate, stone plate, etc.
  • 17A Terminal 1A power supply (*As a prerequisite for the device of the present invention, computers, server terminals, input/output devices, external storage devices, and networks have a power supply and are driven by electric power.), 18A Ticket valuable paper sheet printed on paper etc.
  • 180A printed information of barcode or character string or both required for one-time password authentication of the present invention described in 18A
  • 181A to 18A
  • 182A Password OWP information contained in the barcode or character string or both described in 18A
  • 183A Bar code or character string described in 18A or User identifier A information contained in both of them, information necessary for use as tickets or valuable paper sheets described in 184A: 18A, designs, etc.
  • 19A Wire communication type or short-range wireless communication type IC card, valuable paper such as IC tag type ticket, or key for locking and unlocking (mainly NFT tag, NFC card type ticket), 190A: Storage device described in 19A, 191A : Control processing device described in 19A, 192A: Communication device described in 19A, 193A: Control arithmetic device described in 19A, 194A: Input device described in 19A, 195A: Output device described in 19A, 197A: 19A the described power supply, 1B Terminal DB of user UB, terminal 1B. 1B may be a portable terminal such as a smart phone.
  • a terminal DB is a user terminal that has the same function as DA and possesses and uses tokens used for authentication of the present invention.
  • 1C computer terminal DC of user UC that manages the contract related to the one-time password of the present invention
  • terminal 1C, 10C storage device of terminal 1C 101C user's private key PRVC recorded in terminal 1C, 101C2 user recorded in terminal 1C Arbitrary Second Private Key PRVC2 of UC 102C
  • the program 102C can also include a block chain identifier (block chain identification information, including network ID, chain ID, etc.) and URI information indicating the server terminal 3A serving as an access destination node.
  • 11C control unit of terminal 1C, 110C control processing unit for accessing terminal 1C block chain 12C communication device of terminal 1C, 13C control and arithmetic device of terminal 1C, 14C input device of terminal 1C, 15C output device of terminal 1C, 16C
  • External storage device or external computer of terminal 1C an IC card, IC tag, NFC card, or NFC tag capable of storing a secret key may be used
  • network NT wireless or wireless two-way communication path, server and terminal are connected via communication network.
  • NTP 3A Server P Unencrypted network
  • Server terminal 3A (Terminal that becomes a node of the distributed ledger system to which the user connects. Shares the distributed ledger part with other nodes.
  • a virtual server built in a certain terminal may be used.
  • 30A Server terminal 3A server storage unit (server P storage device), 300A server terminal 3A distributed ledger recording unit (300A is a blockchain type or DAG type distributed ledger or a distributed ledger recording unit), 3000A to 300A Latest block data recorded, block number Bn in the latest block recorded in 3001A 300A, timestamp value in the latest block or system recorded in 3002A 300A, hash value in the latest block recorded in 3003A 300A Bh, 3004A
  • OTPCTG recorded in the 3017AG 300A (execution count storage/recording unit for the OTP generation function.
  • the token number is used as the key
  • OTPCTA recorded in 3017AA 300A (execution count storage/recording unit of OTP authentication function.
  • mapping variable with token number as key and execution count as value) the OTP authentication function recorded in 3018A 300A
  • the OTP generation contract identifier CPGT recorded in 3019A 300A
  • the OTP authentication contract identifier CPAT recorded in 3020A 300A
  • the OTP authentication function Return value or data, processing details when executing the OTP authentication function recorded in 3022A 300A, processing functions, etc.
  • Variables or databases to be rewritten according to the process when the OTP authentication function is successful for example, the bank account balance, which is rewritten in the remittance process in the bank
  • contract signboard information KNBN recorded in 3024A 300A (contains contract name, creator information, administrator information and contact information, rating, etc., and has a setter function to change them)
  • block number modulus variable m recorded in 3030A 300A and its setter function
  • OTP authentication period extension 3031A Integer n for adjusting the number of OTP digits recorded in 300A and its setter function (variables and functions for increasing and decreasing the number of OTP characters and digits)
  • 3042A Contract administrator secret key leakage countermeasure part recorded in 300A, 301A Record of basic server control program of server terminal 3A Unit, 31A Server control unit of
  • 3011C Database for access detection and monitoring of terminal 3C (see FIG. 6X for data structure, time of login, user token information , IPV value, and current service status are stored and monitored at any time.)
  • 3012C Unauthorized access detection program for terminal 3C 3013C Unauthorized access notification program for terminal 3C (contacts the registered e-mail address and sends a special notification to the user identifier
  • 3014C OTPCT change detection unit of terminal 3C if necessary, the portion that detects changes in OTP generation or authentication contract execution count
  • 3015C OTPCT change notification of terminal 3C 3016C Customer information database of terminal 3C (if necessary.
  • 31C server control unit of terminal 3C 310C blockchain control unit of terminal 3C (not essential, 310A and 310C are the same)
  • 311C login and service control unit of terminal 3C 3110C SVLogin basic program of terminal 3C Control unit (including a program that connects the website or web application to the blockchain)
  • 3111C Terminal 3C access detection and monitoring database see FIG. 6X for the data structure.
  • terminal 3C Records information such as service purchase history, user identifiers and token numbers that are qualified to use), 32C Communication device of terminal 3C , communication control device, 33C control and arithmetic device of terminal 3C, 34C input device of terminal 3C, 35C output device of terminal 3C, 37C power supply device of terminal 3C, 3D server SVLog, terminal 3D (terminal for authenticating 19A, 18A and 1500A; access control terminal 3D; 3D is a server terminal, computer terminal, or embedded system type terminal); and variables and functions used to calculate the OTP authentication function), 300D terminal 3D block chain recording unit (if necessary.
  • 300A and 300D are the same), 301D terminal 3D service program and recording unit, 3010D terminal 3D SVLog basic program (including the program that connects the website or web application to the blockchain), 3011D terminal 3D access detection and monitoring database (access time or access frequency or user token information or current service status 3012D Unauthorized access detection program for terminal 3D (if necessary.
  • 3011D includes information such as the appearance of the visitor and the device ID number unique to the NFC tag of the unlocker, it is regarded as past information.
  • 3013D Unauthorized access notification program for terminal 3D (if necessary.
  • 3014D OTPCT change detection unit of terminal 3D (if necessary. A portion that detects changes in the number of OTP generation or authentication contract executions. For example, a safe or a car equipped with terminal 3D records the number of unlocks), 3015D OTPCT change notification section of terminal 3D (if necessary. Part that notifies change in OTP generation or authentication contract execution count.
  • 3016D Customer information of terminal 3D Database (if necessary, record user identifiers and token numbers that are eligible for use, such as service purchase history), hash function fh recorded in 3010DA 30D, secret variable KC recorded in 3011DA 30D, and recorded in 3012DA 30D a setter function fscb (accessed by the administrator of terminal 3D) that modifies and updates either or both of the variables KC or BC that is stored in 3013DA 30D; number of recorded OTP authentication function executions or Numeric value recording part (expressed by a mapping variable or the like using the number of the OTP token at the time of authentication as a key.
  • 3018DA OTP authentication function recorded in 30D of terminal 3D (provided with variables, functions and processing methods that can calculate OTP equal to OTP generated by node terminal 3A), 3021DA OTP authentication function return value or data CTAU, 3022DA Contents of processing during OTP authentication recorded in 30D, variable or database to be rewritten in processing during OTP authentication recorded in 3023DA 30D, 31D server control unit of terminal 3D, 310D blockchain control unit of terminal 3D (not essential 310A and 310D are the same), 311D terminal 3D login and service control unit, 3110D terminal 3D SVLog basic program (including a program that connects a website or web application to a blockchain), 3111D terminal 3D access detection and Database for monitoring (See FIG.
  • 6X for data structure. Log-in time, user information, token number, IPV value, and current service status are stored and monitored at any time.), 3112D Unauthorized access detection program for terminal 3D (if necessary ), 3113D Terminal 3D unauthorized access notification program (if necessary. Contact the registered e-mail address and send a transaction to the user identifier to notify the abnormality.), 3114D Terminal 3D OTPCT change detection unit (if necessary 3115D OTPCT change notification unit of terminal 3D (if necessary.
  • 3116D Terminal 3D Customer information database (if necessary, records service purchase history, user identifiers and token numbers that are qualified for use), 32D terminal 3D communication device, communication control device, 33D terminal 3D control and arithmetic device, 34D terminal 3D input device, 340D terminal Character string barcode reader such as 3D camera (camera or scanner installed at entrance gates, ticket gates, etc. to read barcodes or character strings on valuable paper sheets such as tickets.
  • Optical imaging device 341D Terminal 3D NFC tag signal receiver (shared with 32D), 342D Terminal 3D visitor recording device or visitor recording means (for example, a security camera records the person entering or unlocking the door, etc.
  • 35D terminal 3D output device 350D Terminal 3D opening/closing device, gate device, locking device, starting device, locking/unlocking device, access control device ), 351D Light-emitting elements such as 3D terminal lamps, light-emitting devices (After authentication, users who can enter will be notified with colors and letters that indicate that they can enter, and those who cannot enter will be notified with lights that indicate that they cannot enter. . ), 352D terminal 3D sound element such as a buzzer, sound device (After authentication, users who can enter will hear a sound when they are authenticated.
  • 37D terminals 3D power supply 3E server SVtk terminal 3E (tickets 18A used by terminal 1A and play guides for NFC tags 19A used as tickets and keys. Tokens of encrypted data for 403A used by terminal 4A can also be sold.), 30E Terminal 3E's server storage unit, 300E Terminal 3E's blockchain recording unit (if necessary. 300A and 300E are the same), 301E Terminal 3E's ticketing information such as token-type tickets (website or application that displays tickets to customers information, tokens and service databases using 300A and 300E), 31E Terminal 3E server control unit, 310E Terminal 3E block chain control unit (if necessary.
  • 300A and 310E are the same), 311E Terminal 3E Ticket issuance processing control unit (part that sells tokens according to user instructions, displays face information such as tickets from the blockchain and makes it possible to print. Includes 312E, 313E, and 314E.), 312E Blockchain unit of terminal 3E 313E Access information processed by 311E and 312E of terminal 3E, a portion for acquiring information such as expiration date, design, display and print time of ticket set in 300E and server 3E, print time block number, time stamp, etc.
  • the processing unit 314E draws on the display of the user with the received user identifier A and converts the image or text data of a valuable paper sheet such as a ticket to the user terminal 314E that accesses the terminal 3E.
  • Processing unit that transmits information to be printed and recorded or permits and executes printing to a web browser, etc.
  • 32E Terminal 3E communication device 33E Terminal 3E control and arithmetic unit, 3F Server SVfind, Terminal 3F (blockchain unit transaction and contract and a device that can search for user identifiers, monitor usage, and notify users.
  • a blockchain search engine that can also search, confirm, and issue the balance of user OTP tokens, and can also search and notify usage status.
  • 4A Computer DP as a terminal of user UP
  • terminal 4A P: user terminal equipped with a player and playback device
  • 40A recording unit of terminal 4A storage device of computer DP
  • a key PRVP here, PRVP is a secret key indicating user identifier A like PRVA
  • 402A A program for terminal 4A to access the blockchain (URI for accessing node terminal 3A of the blockchain, etc.
  • 403A information of software CRHN for decrypting and viewing encrypted files using the present invention recorded in recording unit 40A of terminal 4A, program of software CRHN and related data, 4030A program of software CRHN of 403A of terminal 4A Information
  • the source code is obfuscated or encrypted.
  • the variables included in 4030A are also obfuscated or encrypted.
  • a URI for accessing the node terminal 3A of the blockchain may be recorded in 4030A.
  • 40301A Identifier APKY for managing keys dedicated to software applications described in 4030A, built-in secrets described in 40302A 403A Key CRKY (It may be a private key of public key cryptography that can access the blockchain part DLS.
  • 40302A is embedded in 4030A and obfuscated or encrypted
  • 40303A Returns the key management contract obtained from the blockchain described in 403A Value CAPKY (not required, but can be set for additional security)
  • 40303KA Secret variable K403 inside the software described in 403A K403 is obfuscated or encrypted
  • OTP obtained from 4031A blockchain Storage in terminal 4A of return value CTAU of authentication function (CTAU can be changed by administrator of return value of authentication function)
  • 4032A Storage in terminal 4A of password AKTB set outside blockchain and software CRHN 403A (AKTB can be changed by plaintext data manager)
  • 4033A Storage of key information TTKY used for encryption and decryption described in 403A (including at least CTAU and using AKTB, and C Key information calculated using RKY.
  • 4034A Encrypted data or file EncData decrypted by software CRHN used for 403A (4034A should be included in 40A)
  • 40340A Encrypted data body EtData of 4034A
  • 40341A Encryption of plaintext data issuer of 4034A
  • Digital certificate EncCert given to encrypted data 4034A (which may include an electronic signature. MAC value may or may not be included.)
  • 4035A Plaintext to be encrypted with software CRHN Data or file DecData (4035A should be included in 40A.
  • DecData is access-controlled.
  • 40350A Plaintext data body CtData of 4035A 40351A Electronic certificate DecCert of the issuer of plaintext data of 4035A (including electronic signature)
  • 40352A 4035A plaintext data audit certificate AuditRat (an audit certificate showing that the plaintext data is not a malicious program, or a third party review result and rating are preferred)
  • 4036A Browsed certificate data OFBKMK recorded in 40A (OTP-authenticated access certificate data. Data for offline access such as disasters.
  • 4036A should be included in 40A.
  • 40360A Recorded in 4036A ACTTKY encrypted with the secret key CRKY built into the CRHN program, data CTTKY encrypted with the private key PRVA from the TTKY recorded in 40361A 4036A (information contained in 4036A.
  • Encryption method is public key Either encryption or common key encryption is possible.
  • 40362A Information such as browsing time and browsing user identifier recorded in 4036A, authentication information such as HMAC recorded in 40363A 4036A, certificate information recorded in 40362KA 40A Text data CHT403, authentication information such as HMAC using 40362KA recorded in 40363KA 40A as a message, management program such as operating system for operating software CRHN recorded in 404A 40A, external recording device of computer DP recorded in 405A 40A (non-volatile memory, hard disk, optical disk, etc.), 41A control unit of terminal 4A, 410A block of terminal 4A 411A Control processing unit of software CRHN of terminal 4A 42A Communication device of terminal 4A 421A Radio communication device of communication device 42A 423A Broadcast receiving device of communication device 42A (if necessary.
  • 4440A Environment sensor of terminal 4A temperature sensor, humidity sensor, atmospheric pressure sensor, pressure sensor, illuminance sensor, light sensor, chemical sensor, odor sensor
  • 4441A position sensor of terminal 4A magnetometer, magnetometer, accelerometer, magnetometer, accelerometer, magnetometer or gyro sensor
  • 4443A Terminal 4A biometric sensor (facial structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, fingerprint, pattern of veins, etc.
  • HMD head-mounted display
  • a biometric sensor attached to the HMD of terminal 4A, 4530A is a wearer's multiple biometric information (facial structure, body temperature or thermography, eye structure, blinking, voice, Ear structure, hand structure, eye vein patterns, etc.) are measured, and the presence of the wearer is confirmed and biometric authentication is performed.
  • 4530A may share functionality with the sensor described in 4443A.
  • the sensor of 4530A is an input device that assists 453A. It is a sensor for confirming the existence of the wearer, and the biometric authentication function is attached to the existence confirmation function.
  • thermographic image is used for the purpose of confirming the presence of the wearer, not for the authentication purpose, in consideration of privacy.
  • an infrared temperature sensor is installed inside the HMD to measure the temperature of the eyes and the skin around the eyes of the vehicle.
  • the measurement point of the sensor may be one point, or the sensors may be arranged two-dimensionally and measured in the form of a line or an image.
  • the sensor of the 4530A measures the temperature distribution around the wearer's eyes and the thermography of the wearer's face around the eyes and uses it as simple biometric authentication information and presence confirmation information in consideration of privacy.
  • the temperature detected by the sensor of the HMD and its hash value may be notified to the service server such as the terminal 5A in order to detect unauthorized access to the private key if the wearer permits it.
  • Device 5A Terminal 5A (advertisement access destination server in encrypted file decryption browsing software), 50A Server recording unit of terminal 5A, 500A SVCRHNcm operation program of terminal 5A (advertisement information distribution targeted for link URI specified in software CRHN 501A Access monitoring unit database of terminal 5A (Database related to user terminal and token number that accessed SVCRHNcm.
  • User identifier or token number and IP Information that associates address or position information or terminal ID or terminal sensor value with service usage status.Accessor information may be hashed and processed to protect personal information and saved.
  • the data structure is shown in FIG. ), 502A Unauthorized access detection program for terminal 5A (detects access from a terminal that indicates a different IP address, location information, terminal ID, or terminal sensor value for a user identifier or token number), 503A terminal 5A unauthorized access notification program (502A sends a notification token to the user identifier who is likely to have unauthorized access, or notifies the identifier by e-mail, SMS, etc.), 504A Terminal 5A customer information database (essentially Ledger that records the contact information corresponding to the user identifier.), 505A Information such as advertisements distributed when accessed from the URI information embedded in the encrypted data of the terminal 5A (advertisements are token signboard information and encrypted 506A Information such as advertisements linked to information contained in the software CRHN of the terminal 5A
  • 5C server terminal 5C serving as a broadcasting station, broadcasting station terminal 5C, 50C server recording unit 501C terminal 5C block chain access secret key for terminal 5C, 502C terminal 5C block chain access program, 503C broadcasting software for terminal 5C ( (may include software 403A.

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Veterinary Medicine (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Computer Security & Cryptography (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)
  • Image Input (AREA)

Abstract

装着型デバイスからの装着者へのコンテンツやサービス提供時に、装着者の生体認証を行うため、装着者の人体の一部の体温の温度分布を収集し生体認証・個人識別を行う。 【課題】ダミーとなる顔を模倣した物と本来の生体の顔を識別し体温を持つ生体が装着しているかどうかを確認すること。 【解決手段】人体の一部を撮影する際に照明しなくともよいサーモグラフィ装置を装着型デバイス(HMD等)に備えさせ、装着者の体の一部を撮影し、熱画像(温度分布の画像情報)を得て、人物の身体的または生体的特徴を検出し生体認証を行う。

Description

熱画像認証装置
本願の内容は日本国の特願2021-111232に基づいている。本発明にて記載する明細書及び図面は先の出願に基づく。本願は他の文献として日本国の特願2021-111232を参照して引用(Incorporation by Reference)する。本願は他の文献として日本国の特願2021-111232の明細書及び図面を参照して引用する。
本発明は、画像認証システム、アクセス制御システム、認証装置に関するものである。そして前記方法の実施例として分散型台帳システムへの適応例について説明する。(本願の内容は特願2021-111232に基づいている。)本発明にて記載する図面は先の出願のとおりである。
本発明は既知の可視光カメラにより撮影した顔画像を用いる顔認証技術に類似し、音声動画・電子書籍等コンテンツを分散型台帳技術で利用権を付与しヘッドマウントディスプレイなどで利用権のある利用者の視界に限定し視聴させる時、ヘッドマウントディスプレイの装着者の目元の情報を生体認証に利用しようとする事を意図している。利用者がゴーグル型のヘッドマウントディスプレイを装着した時、利用者の目元は装置に隠れて暗くなるので可視光による顔の撮影に支障が出る恐れがあるが、体温をもつ人体の赤外線放射を撮像素子で検知し撮影することで生体が装用している事をセンシングできる。さらにその人体の赤外放射の分布画像を装着者に固有の身体的特徴として記録し、既知の顔認証と同じく生体認証に利用することを本発明では意図している。
<背景技術および先行技術文献>
本発明は可視光線によるカメラを用いた顔認証技術に類似し、赤外線温度センサ及び赤外線カメラもしくはサーモグラフィ装置により温度分布もしくは温度分布の画像情報を基に人物の身体的または生体的特徴を検出し生体認証を行う。
<発明の概要>
<発明が解決しようとする課題>
装着者の存在を確認する用途で、プライバシーに配慮すること。実在する生体が装着しているかどうかを確認すること。
<課題を解決するための手段>
装着者の目元の温度分布、装着者の目の周りの顔のサーモグラフィーを測定してプライバシーに配慮した簡易な生体認証情報及び存在確認情報として利用する。
生体認証センサ1443Aは端末1Aがカメラやサーモグラフィといった画像センサを持ち前記画像センサを用いて顔の構造に由来する認証をするときのセンサであったり、スキャナを用いた指紋認証を行う指紋センサであったり、耳の構造に由来する認証を行うときのセンサであったり、歩行する際などに生じる装着された端末の感じるモーションや圧力信号を用いて認証する際のセンサである。生体認証は既知の方法を用いることができる。
ヘッドマウントディスプレイ453Aを装着したときに顔認証や虹彩認証、耳の構造に由来する認証、照度センサまたは光センサ、体温分布のサーモグラフィ画像などによる生体認証機能をヘッドマウントディスプレイ453Aのセンサ4530Aを利用して行ってもよい。前記認証機能では453Aを実在する生体が装着しているかどうかを確認することが第一の目的であり、それに付属して個人の生体情報を取得して生体認証を行うことにつなげることもできる。
生体認証装置4530Aでは温度センサを用いて体温を測定してもよく。点状、1次元、2次元のサーモグラフィを453Aの装着者の頭部や目元から得て装着している人がいることと、その装着している人の特徴を検出する。また頭部の顔の形状に関する認証、目に関する生体認証、耳の構造に由来する生体認証、頭部の形状に由来する生体認証、まばたきに関する生体認証を用いてもよい。
 端末4AのHMDに付属の生体認証センサ(4530A)。4530Aは装着者の複数の生体情報(顔の構造、体温又はサーモグラフィ、目の構造、まばたき、声、耳の構造、手の構造、目元静脈等パターン)を測定し、装着者の存在確認と生体認証を行う。4530Aは4443Aに記載のセンサと機能を共有していてもよい。ここで4530Aのセンサは453Aを補助する入力装置。装着者の存在を確認するためのセンサであり、生体認証機能は存在確認機能に付属するものである。
本発明では認証用途ではなく装着者の存在を確認する用途で、プライバシーに配慮するためにHMD装着者の目の周りの体温の測定やサーモグラフィー画像を用いることが想定される。体温は赤外線温度センサをHMD内部に設置して、装着車の目や目の周りの皮膚温度を測定する。センサの測定点は1点でもよいし、2次元にセンサを配列させ線や画像の形で測定してもよい。
4530Aのセンサは装着者の目元の温度分布、装着者の目の周りの顔のサーモグラフィーを測定してプライバシーに配慮した簡易な生体認証情報及び存在確認情報として利用する。HMDのセンサが検出した温度等びそのハッシュ値は、装着者が許可する場合において、秘密鍵の不正アクセス検知の為サービス用サーバに通知されることがある。
<発明の効果>
生体が装着しているかどうかを確認して個人の生体情報を取得し生体認証を行うことにつなげることもできる。
<図面の簡単な説明>
<図1>代表図である。
<図2A>本発明を備える例である。端末の説明図である。
<図2AA>本発明を備える例である。端末の説明図である。原出願に記載のコンテンツやサービスへのアクセス制御技術として利用する形態の説明図と同じである。
<図4A>本発明を備えアクセス制御しながら権限を持つ個人に閲覧させる例である。原出願に記載のHMDを用いたアクセス制御技術として利用する形態の説明図と同じである。
<発明を実施するための形態>
生体認証装置4530Aでは温度センサを用いて体温を測定してもよく。点状、1次元、2次元のサーモグラフィを453Aの装着者の頭部や目元から得て装着している人がいることと、その装着している人の特徴を検出する。
前記認証機能では453Aを実在する生体が装着しているかどうかを確認することが第一の目的であり、それに付属して個人の生体情報を取得して生体認証を行うことにつなげることもできる。
本発明では認証用途ではなく装着者の存在を確認する用途で、プライバシーに配慮するためにHMD装着者の目の周りの体温の測定やサーモグラフィー画像を用いる。
体温は赤外線温度センサをHMD内部に設置して、装着車の目や目の周りの皮膚温度を測定する。センサの測定点は1点でもよいし、2次元にセンサを配列させ線や画像の形で測定してもよい。
4530Aのセンサは装着者の目元の温度分布、装着者の目の周りの顔のサーモグラフィーを測定してプライバシーに配慮した簡易な生体認証情報及び存在確認情報として利用する。
<実施例1>
実施形態1として、図1及び図2AAの1443Aまたは図4Aの4443Aの認証センサを持つ。図4Aにおいて、出力装置のヘッドマウントディスプレイ453Aは生体認証センサ4530Aを持つ。
図1及び図2AAの1443Aまたは図4は特願2021-004788に記載のコンテンツやサービスへのアクセス制御技術として利用する形態の説明図である。
4530Aは装着者の複数の生体情報(顔の構造、体温又はサーモグラフィ、目の構造、まばたき、声、耳の構造、手の構造、目元静脈等パターン)を測定し、装着者の存在確認と生体認証を行う。4530Aは4443Aに記載のセンサと機能を共有していてもよい。(ここで4530Aのセンサは453Aを補助する入力装置。装着者の存在を確認するためのセンサであり、生体認証機能は存在確認機能に付属するものである。)
本発明では可視光線によるカメラを用いた顔認証技術に類似し、赤外線温度センサ及び赤外線カメラもしくはサーモグラフィ装置4530Aにより温度分布もしくは温度分布の画像情報を基に人物の身体的または生体的特徴を検出し生体認証を行う。
本発明の認証システムに用いる個人情報の管理については、欧州連合EUの 一般データ保護規則GDPRによれば個人情報の保護が必要となることも予想される。個人の端末の入力装置44Aのセンサ444Aの値を端末で保持する際に、端末の所有者に同意を求める機能を実施例にて利用できる。
 本発明では個人情報を保護しつつ不正アクセスの検出を行うために、端末のセンサの値は、匿名化(不可逆的に識別を防止。ハッシュ化、ハッシュ化後にハッシュ値の一部を切取るなどの加工)または仮名化(可逆的に仮名化したデータとそれを復号する鍵などを用いている場合。個人情報を暗号化して保存)して情報を記録し利用できる。
 本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。
<産業上の利用可能性>
 可視光線によるカメラを用いた顔認証技術に類似し、赤外線温度センサ及び赤外線カメラもしくはサーモグラフィ装置により温度分布もしくは温度分布の画像情報を基に人物の身体的または生体的特徴を検出し生体認証を行うことで体温による顔などの温度分布を含む顔画像が得られ認証用画像データとして利用できる。
 我が国の個人番号カードや運転免許証などの券面には可視光下での顔写真が印刷されているが、その券面をスキャンし本人確認に用いデータを団体で保存する場合がある。可視光下での顔写真はその人そのものであり顔写真データが不正に流出しないよう管理する必要がある。個人情報管理にはコストや信頼できる機器と人員・資格等が必要である。可視光の顔写真の団体からの流出を恐れて別の認証手段を望むユーザーがいるかもしれない。そこで本発明では可視光ではなく人体の体温による温度分布を用い認証に利用することを考えた。(本発明はヘッドマウントディスプレイを用いてある特定のアクセス権を持つ人が前記ヘッドマウントディスプレイ装着し顔の体温の分布により認証し認証結果が正しければコンテンツやサービスを提供する。)可視光の顔写真でなくユーザーの体温分布からの顔写真を得ることで体温の温度域にある登録された個人の顔データと照合し個人の認証する。また体温域にある物体、人体が本認証システムで認証を試みているか判断することもできる。ヒトの顔の可視光的な画像や顔の立体形状・深さ情報を模倣したマスクや頭部模型を用いて既知の顔認証が突破される恐れがあることを踏まえ、既知の顔認証技術に本発明を加えてヒトの顔の可視光画像や体温分布と立体形状・深さ情報等を組み併せて多要素の生体情報による認証を試みる事もできる。
 本発明ではヘッドマウントディスプレイ453A に生体認証機能4530A を備えさせ、暗号化されたデータを復号して閲覧させる際に暗号化させたデータを閲覧している人の生体データを直接またはハッシュ化などを行い間接的に取得し簡易に認証を行い閲覧可能となりうる。ここでヘッドマウントディスプレイ453Aは携帯端末やタブレットパソコン、テレビジョン視聴用ディスプレイよりも画面が小さく、携帯端末やデジタルカメラでは453Aに映し出される復号したデータによるコンテンツ(映像、画像、文章)を撮影することが困難にする。端末4AにおいてソフトウェアCRHN403Aが453Aが接続されている場合に限り動作するようプログラムし、暗号化データを復号して得られたコンテンツの撮影を防ぐ認証システム及び暗号化データ復号閲覧システムとすることもできる。
 生体認証装置4530Aでは温度センサを用いて体温を測定してもよく。点状、1次元、2次元のサーモグラフィを453Aの装着者の頭部や目元から得て装着している人がいることと、その装着している人の特徴を検出する。また頭部の顔の形状に関する認証、目に関する生体認証、耳の構造に由来する生体認証、頭部の形状に由来する生体認証、まばたきに関する生体認証を用いてもよい。
<符号の説明>
1443A 生体認証センサ
4530A ヘッドマウントディスプレイに付属する生体認証センサ
インターネットの普及に伴い商取引から電子商取引、対面の銀行取引からインターネットバンキング(ネットバンキング)へと、現実空間のサービスをコンピュータとネットワークを用いたデジタル空間で行う事が可能となっている。電子メールの閲覧、動画音楽サイトの閲覧、ソーシャル・ネットワーキング・サービス、ネットバンキング、電子商取引サイトへのログインへのログインなど認証によるログインを伴ったウェブサービスは拡大している。本人を確認し認証する方法として多く分けて、1.本人が知る知識、2.本人の持つ所有物、3.本人の生体特徴の3つがある。3.本人の生体特徴は指紋や顔、虹彩、声、静脈パターン情報、遺伝子情報など身体情報と、筆跡や歩行、話者認証など行動的特徴を利用するものがある。生体認証は利用者の備える情報を用いるので、認証の鍵となる情報はその利用者の身体が健在であれば利用者と共にあり、金属の鍵などと比べると紛失する可能性が低い。この特性を用いてコンピュータ端末機器などのソフトウェアにおいて簡易なログインに用いる。一方で生体情報の変更は困難である。生体情報が流出した場合、金属の鍵やパスワードのように変更することが困難である。生体認証を行う鍵である生体データをもとに偽の生体的特徴を複製して錠となる認証用のセンシング装置を誤認させ突破することも考えられる。また指紋などは利用者がログインをしたいという意志がなくとも機器を解除できてしまう。すなわち攻撃者が利用者の意志が明確でないときに利用者の身体を使い無理やり認証を行う恐れもある。生体認証では認証する装置に本人のデータが伝えられたことがわかるのであって、本人の意志によるものかの断定はさらなる要素が必要になる。したがって生体特徴を認証に使う場合は知識、もしくは所有物による認証と組み合わせ多要素認証とすることが好ましい。銀行の提供するインターネットバンキングのサービスなど資産を扱う場合には生体認証などをログインパスワードの代わりに用い、さらに本人の持つ所有物を認証に使う手段(パスワード生成器)を併用し多要素、多段階の認証を行いセキュリティを高めている。ここで本人の持つ所有物を認証に使う手段の一つにハードウェア型の動的パスワード生成器が挙げられる。動的パスワードの生成アルゴリズムとしてRFC6238規格が知られる。RFC6238規格では時刻に基づいて生成される動的に変化するパスワード(パスワードVP)を利用している。このような時間によって変化する一度限りの使い捨てパスワードをTOTPといい、ハードウェア型及びソフトウェア型のワンタイムパスワード(OTP)表示器に利用できる。しかし既存のハードウェア型OTP生成器に課題があった。例としてインターネットバンキング等のサービスを行う既存のハードウェア型ワンタイムパスワード表示器(ハードウェア型TOTPトークン)では、銀行のサーバ端末とパスワード表示器との時刻を同期させる必要があり、ハードウェア型TOTPトークンが備える時計としての機能を維持し時刻を同期するために利用する電池については電池消耗が起きるため、定期的に電池交換を行うことが必要となり、ワンタイムパスワードの更新する際に顧客に新たなハードウェア型TOTPトークンを郵送ないし配達する必要があり、送料が掛かるという課題があった。またRFC6238規格(非特許文献3)によればパスワードはハッシュ関数の引数に時間Tと、秘密にする必要のあるキー情報K(シード値Kまたはシークレット変数K)を用いてハッシュ値を計算するが、Kについての情報が漏洩した場合にはユーザーのハードウェア型TOTPトークンを更新する必要がある。ここで非特許文献1や非特許物件2のようにブロックチェーン型もしくは有向非巡回グラフ型のデータ構造を持ち、分散された端末間で改ざん困難な分散型台帳システムDLSを用いて暗号資産の発行や譲渡取引の記録、DLS上でのトランザクションにプログラムコードを記録させブロックチェーンなどの改ざん困難なデータ構造の中に保存して運用するスマートコントラクト(コントラクト)という技術が利用可能となった。
特許第6757042号
Ethereum White Paper 、〈URL:https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf〉 Differences between the Tangle and blockchain、〈URL:https://docs.iota.org/docs/getting-started/1.1/the-tangle/tangle-vs-blockchain〉 TOTP: Time-Based One-Time Password Algorithm 、〈URL:https://tools.ietf.org/html/rfc6238 〉
 解決しようとする問題点は、既知のハードウェア型TOTPトークンが電池交換が必要でトークンのキー情報Kをサービス提供者またはトークンの管理者が更新できないという点である。また暗号化された書籍などのコンテンツをOTPをもちいて閲覧できる方法が少ないということが問題であった。さらにそれら問題を解決したOTPトークンを例えばウェブサイトのログイン用チケットや改札、映画館などの入場口への入場チケットや、設備及び建物の施錠および解錠システムに提供されていないという点も課題であった。そして現実世界とウェブサービス及びデジタル世界の双方で利用できるアクセス制御システムを使用できるようにしたいと考えた。また(トークンを割り当てられた秘密鍵を記憶するユーザ端末4Aで)HMDにてコンテンツを出力させる場合に、装着者の存在を確認する用途で、プライバシーに配慮し、実在する生体が装着しているかどうかを確認することも必要と考えた。
 本発明は、TOTPの生成においてブロックチェーン等分散型台帳システムにおいてKやTをスマートコントラクトの管理者が変更することで動的なパスワードを生成可能にすることを大きな特徴とする。コントラクト管理者が手動にてトランザクションを分散型台帳システムに送信することでKを変更し更新することはTOTPトークンのKを更新することにつながるため本発明では必要な要素である。本発明ではブロックチェーンのブロックナンバーに着目した。説明のためブロックナンバーを本発明ではブロック番号Bnと言い換える。ブロック番号BnをTOTPで用いる時間による数値Tに用いることを本発明では考案した。本発明ではその方式を及びワンタイムパスワードをBnTOTPと呼称する。なおBnはBnTOTPの計算の基になる数字でありそれを加工した値(Bnを基にあるハッシュ関数によりハッシュ値を求めBnに応じて変わる変数)を利用してBnTOTPを生成してもよい。またTOTPのような時間に基づいて動的なワンタイムパスワード(OTP)トークンを生成することに加え、任意の時間にブロックチェーンにアクセスしブロックチェーンにデプロイされたOTPを計算するコントラクトの変数のうちキー情報Kを変更することで時間Tによる情報を用いなくてもOTPトークンのシード値を更新することで動的なパスワードOWP(OwnerPassword)が利用できることに着目し、TOTP(BnTOTP)とOWPの双方を用いる認証システムを考案し実施する。なお本発明ではブロックチェーン基盤の一つであるイーサリアム(Ethereum、非特許文献1)を用いてブロックチェーンとスマートコントラクトを用いBnTOTPやOWPを生成し認証させるOTPトークンとそのコントラクトを用いた認証システムを考案し実施した。イーサリアムの分散型台帳システムとしての動作に関しては既知の非特許文献1を主として説明される。図9Aはブロックチェーン上での本発明のコントラクトの動作を説明する。図9Bは有向非巡回グラフ型の分散型台帳システムにおける本発明の動作の説明図である。図9Aと図9BではOWP型パスワードの動作がスマートコントラクトから可能となる。図9Aのブロックチェーンにある最新のデータブロックのブロック番号やブロックデータに由来する情報があるのでTOTPの算出に用いることができるが、図9Bにおいても有向非巡回グラフ型の分散型台帳システムが各データのブロック(チャンク)においてハッシュ値やタイムスタンプなどを記入しており最新のデータチャンクから時刻情報が取得できるもしくは分散型台帳のシステムに時刻情報を持たせられる場合にはBnTOTP型もしくはTOTP型のパスワードが生成可能である。本発明ではOWP型パスワードを利用する事を主要な特徴とする。ブロックチェーン上においてOTPトークンのコントラクト内部のKを変更することでそのOTPトークンのコントラクトで発行されたトークンの表示するパスワードをすべて変えることができる。OWP型パスワードをある時刻づつ変更する事を行えば疑似的なTOTPが実現可能となる。一方でOWP型パスワードではトランザクションを分散型台帳システムに送信しなければならない。分散型台帳上でTOTPを実現するためにコントラクトの管理者などがトランザクションを分散型台帳システムに送信するとネットワークのトラフィックが増大しかねない。またトランザクションデータが増え、ノード端末の記憶装置の容量が増大しかねない。そこで必要な場合もしくは必要な時(数週間や数カ月や数年に1度の頻度で)にOWPを更新したいときににコントラクト管理者がK値を変更できるOWP型のパスワードと、60秒間隔など頻繁にパスワードを更新したいTOTPの用途では主にブロック番号を用いBnTOTP型のパスワードと、BnTOTP型のパスワードにK値を変更できるOWP型パスワードを組み合わせたBnTOTP型パスワードを用い、動的なパスワードを生成認証させることでネットワークのトラフィック軽減や記憶装置のブロックチェーン部の使用容量の低減に役立つ。したがって本発明はBnTOTP型とOWP型の両方の形式をどちらかまたは両方用いることを特徴とする。本発明では譲渡制限に加え、サービス提供者の規約に違反した利用者のトークンを利用者のブロックチェーン上での識別子との対応関係を強制的に解除し、ユーザーからワンタイムパスワードトークンを除去できる制御部をもつ認証システムに利用できることも特徴とする。ただしこの機能はイーサリアムのERC721規格において実現しうる機能である。またこのOTPトークン除去機能はコントラクトの管理者があるユーザーの秘密鍵から計算されるユーザー識別子の持つあるトークン番号のOTPトークンを強制的に除去できるため、ユーザーとサービス提供者・OTPトークンのコントラクトの管理者との合意が必要であり通常は使用されないことを想定する。ユーザー間でOTPトークンの譲渡制限を行い、あるユーザーに対しOTPトークンの発行と除去を行うことでユーザーはOTPトークンによる本発明のOTPの生成とOTPの認証が行える一方でOTPトークンの実質的な所有権の保管や管理や流通はコントラクトの管理者が行うという形になるOTPトークンの保管振替が可能となる。OTPトークンの保管振替などOTPトークンの保管を行う資格のある第三者によるOTPトークン保管振替を行う用途に利用されることを想定する。
 本発明の認証システムは攻撃者によるワンタイムパスワードプログラム(コントラクト)の改ざんや、そのコントラクトに帰属したOTPトークンとOTPトークンのトークン番号に対するユーザー識別子との対応関係、OTPトークンの所有状態について改ざん困難になるという利点がある。またユーザーとユーザー端末がアクセスに使う秘密鍵とブロックチェーンのノード端末(ノード端末の接続されたネットワーク)さえあればOTPトークンを紛失しづらい。ハードウェアトークンは時刻・時間を同期するために電池を必要としており、電池残量が減ると時刻がずれユーザーは時刻合わせをする必要があった。これに対し本発明で用いるブロックチェーンは世界中に分散したサーバがノードとなり時刻を同期させながら駆動しており、時刻同期が不要であるという利点がある。本発明のブロックチェーンを用いたパスワード生成器ではKを更新できるようになっている利点がある。Kを更新するトランザクションをブロックチェーンに送信すればそのKに関与するOTPトークンのK値を書き換えて更新することができる。Kが更新されることでOTP計算に用いるシード値が変わり将来のOTPの計算結果の出方が一新される。本発明ではOTPトークンと対応するサービス提供者が許可する場合にOTPトークンの譲渡が可能である。またコントラクトに含まれるOTPトークンについてユーザー間で譲渡を禁じることも許可することもできる。また秘密鍵を紛失、漏洩しトークンを正常に利用できなくなった場合に関してトークンの管理者にユーザーが届け出て新たなユーザーの秘密鍵から計算されるユーザー識別子にトークンを割り当てるトークン振替が行える。
図1はブロックチェーンを用いたワンタイムパスワードの生成と認証の実施方法を示した説明図である。 図1Aは本発明のブロックチェーンを用いたワンタイムパスワード(OTP)の生成と認証の方法をサーバ端末に利用する際の概念を示した説明図である。 図1Bは本発明のブロックチェーンを用いたOTP認証システムを通じて暗号化されたデータを復号する方法の概念を示した説明図である。 図2Aは本発明の認証システムを用いて認証を行うユーザーUAの端末DAの説明図である。 図2AAは本発明の認証システムを用いて認証を行うユーザーの端末DAの記憶部(記憶装置)や制御部(制御装置)入出力装置などの説明図である 図2Bは図2Aとは異なるユーザーUBの端末DBの説明図である。端末DAと端末DBの機能は同等である。秘密鍵情報が異なる。 図2Cはブロックチェーン部にコントラクトをデプロイし管理するユーザーUCの端末DCの説明図である。端末DAと端末DCの機能は同等である。秘密鍵情報が異なる。 図3Aは分散型台帳システムDLSを構成するブロックチェーン部を持ちネットワーク20に接続されるブロックチェーンのノードとなるサーバ端末3Aの説明図である。 図3AAは図3Aの端末3Aの制御部と記憶部および記憶部に記録されたブロックチェーン部のスマートコントラクト(コントラクト)の説明図である。 図3ABは図3Aの端末3Aの記憶部に記録されたブロックチェーン部のコントラクトの説明図の一つである。 図3ACは図3Aの端末3Aの記憶部に記録された譲渡制限機能やOTPの文字数・桁数とOTPの認証待受時間を変更可能なブロックチェーン部のコントラクトの具体例の説明図である。 図3Bは図3AのサーバP(3A)と同じブロックチェーン部を持ちネットワーク20上で分散型台帳システムDLSを構成するノードとなる端末3Bの説明図である。 図3Cはウェブサイト(ウェブページ、ウェブアプリ)へのログイン等で本発明の認証を行う場合のサービスを行うサーバ端末3Cの説明図である。 図3Dは印刷物や表示画面及びNFCタグに記録された本発明の認証情報を記録した有価紙葉や鍵を読み取り認証を行いサービスを行う端末3Dの説明図である 図3DAは図3Dに記載のサーバSVLog(端末3D)の記憶部(記憶装置、30D)と入出力装置(34D、35D)に関する説明図である。 図3EはOTPトークンの購入または紙及びNFCタグに対しOTP認証情報を出力しチケットや有価紙葉や鍵等を発券するサービスを行うサーバ端末3Eの説明図である 図3Fはユーザ端末に対しサーバP(3A)に記録されたブロックチェーン情報からトランザクション情報やOTPトークン情報を検索・監視・通知を行うサーバ端末3Fの説明図である。 図4Aは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)の説明図である。 図4Bは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)の記憶装置に関する説明図(実施の例)である。 図4Cは図4Bにおいて端末4Aの記憶装置に平文データ4035Aが暗号化もしくは難読化されてソフトウェア403Aの4030Aに内蔵されるときの説明図である。 図5Aは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に広告を配信するサーバ端末の説明図である。 図5Bは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に暗号化データをネットワークを通じて配信するサーバ端末5Bの説明図である。 図5Cは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に暗号化データを放送によって送付するサーバ端末5Cの説明図である。 図6Aは本発明においてOTPトークンの保有者にOTPを生成する関数の処理を示したフローチャート図である。基礎的なOTP生成関数である。 図6Bは本発明においてOTPトークンの保有者にOTP生成回数記録機能を備えたOTPを生成する関数の処理を示したフローチャート図である。 図6Cは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者をトークン保有者のユーザー識別子に限定する場合のOTPを認証する関数のフローチャート図である。 図6Dは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。 図6Eは本発明において図6CからOTP認証回数等記録機能を除いた場合のOTPを認証する関数のフローチャート図である。 図6Fは本発明において認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。基礎的なOTP認証関数である。 図6Gは本発明においてOTP認証回数等記録機能を備えたOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。 図6Hは本発明においてOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。 図6Iは本発明の認証システムを利用してサービスを行うサーバ端末(3C,3D,3E,3F,5A,5B)にユーザ端末(1Aや4A)がアクセスした際に記録されるデータ構造を示す図表である。 図7Aは本発明の認証システムを説明するシーケンス図の一つである(TBには主にブロック番号Bnを用いる。BnTOTP型パスワードの説明図でもある)。 図7Bは本発明においてパスワードOWPを算出するシード値となるコントラクトの内部変数KCやBCをコントラクトの管理者が関数fscbを用いて変更できる際の認証のシーケンス説明図である。 図7CAは本発明において暗号化されたデータを復号して復号された平文データを閲覧・視聴・プログラムとして実行する際のシーケンス図である。 図7CBは本発明において平文データを暗号化し暗号化データを配布・配信する際のシーケンス説明図である。 図7CCは本発明において閲覧済みの暗号化データをネットワークに接続されていないオフライン状態で復号し平文データとして閲覧する際のシーケンス説明図である。 図7Dは本発明においてウェブサイト・ウェブアプリ等ウェブベースのサービスにログインする際の認証システムの動作を説明するシーケンス図である。 図7Eは本発明において例として有価紙葉またはNFCタグを用いてパスワードOWPにより認証しサービスの入場・解錠・始動を行うことを説明するシーケンス図である。 図8Aはウェブサイトログイン時の端末の接続を説明する図である。(実施例1、実施形態1) 図8Bは印刷物及びNFCタグによる有価紙葉または鍵の利用時の端末の接続を説明する図である。(実施例2、実施形態2) 図8Cは通信ネットワークを通じて暗号化データを配信(配布)する場合においてソフトウェア403Aを利用する端末の接続を説明する図である。(実施例3、実施形態3) 図8Dはデータ放送により暗号化データを放送する場合においてソフトウェア403Aを利用する端末の接続を説明する図である。(実施形態3の他の実施例) DLSにブロックチェーン型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。 DLSに有向非巡回グラフ型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。
 本発明は代表的な説明図は図1である。図1に用いる端末の接続の説明図は図8A、図8B、図8C、図8Dに記載する。本発明で用いるサーバ端末やユーザー端末などのコンピューター端末(電子計算機端末)はコンピュータの五大装置として制御演算装置(制御装置、演算装置)と記憶装置と入力装置と出力装置を備える。そして端末内で制御演算装置と記憶装置と入力装置と出力装置はパターニングされた導体による回路や電線といった配線により接続される。また前記制御演算装置(制御装置、演算装置)と記憶装置と入力装置と出力装置の接続は有線(電気的なケーブルもしくは光ファイバ)や無線による接続をされていてもよい。端末は無線もしくは有線による通信制御装置(通信装置を)を備えネットワーク20や外部端末等と接続される他、外部記憶装置や入出力装置とも接続されうる。端末は電源装置を備え電子計算機端末を駆動する電力を供給する。
1.ユーザーUAの端末DA(端末1A):本発明のOTPトークンを用い、OTPを表示または認証を行うコンピュータ端末DAまたは端末1A(図1および図2A、図2AAの端末1A)を備えたユーザーUAとその端末1A。端末1Aは記憶装置にブロックチェーンのサーバ3A等にアクセスするプログラム、アクセス先となるサーバP(図3Aのサーバ3A)などを示すURI、ブロックチェーンへのアクセス時に利用する秘密鍵PRVA(図2AAの秘密鍵情報101A)を備える。端末1Aは通信装置12Aを持ちネットワーク20を介してサーバ3Aにアクセスする。サーバ3AにOTPの生成を求めてアクセスする際には図6Aや図6BのOTP生成関数のフローチャートに記載するように秘密鍵PRVA101Aと101Aから計算されるユーザー識別子Aに対して割り当てられた本発明のトークン番号TIDAをもつOTPトークンが必要である。OTPの認証を求めるときも秘密鍵PRVA101Aと101Aから計算されるユーザー識別子Aに対して割り当てられた本発明のトークン番号TIDAをもつOTPトークンが必要とすることもでき(図6C、図6E、図6G、図6H)、また図6Fや図6DのOTP認証関数のフローチャートの様にユーザー識別子Aやユーザー識別子AにOTPトークンが割り当てられており所有しているかどうか判定するプロセスを必要としないこともできる。端末1AのユーザーUAに加え端末1BのユーザーUB、端末1CのユーザーUC、端末4AのユーザーUPも存在する。端末4Aは端末1Aと同じく本認証システムを行うユーザー端末の1つの形態である。本発明ではユーザーUPとユーザーUAは同じ人物であり秘密鍵101Aと秘密鍵401Aは同じものであるが説明のため記号を変えているときがある。
2.サーバP(サーバ3A):本発明において図1に示すようにブロックチェーン等分散型台帳システムDLSを構成するブロックチェーン部を備えたノードとなるサーバP(3A)やサーバB(3B)等が暗号化も可能なネットワーク20を通じて相互に接続されている。ブロックチェーン等分散型台帳システムDLSにはイーサリアムを用いた。本発明ではサーバP(3A)の制御部(31A)および記憶部(30A)にブロックチェーン部にブロックチェーン基盤の一つであるイーサリアムを形成し処理できる設備を備えていることを前提とする。本発明願においてイーサリアムを用いたブロックチェーンシステムを実行するすべての要素については記述しないが、本発明においてユーザー端末(図1A及び図1Bの1Aや4A)およびサーバ端末3Aや3B、3C、3D、3E、3F、5A、5B、5Cなどはイーサリアムのノードとなることの出来るブロックチェーン制御部とブロックチェーンデータの記録部を持っていてもよい。利用者の多いコントラクトをブロックチェーン部が検知し、サーバ3Aの記憶部の内主記憶装置のRAM等の計算機端末内で最も高速な読み取りと書き換えを行うことの出来る記憶装置に配置できればコントラクトにアクセスするユーザーはOTPの生成や認証処理の速度を向上させることができる。ブロックチェーン部を持つサーバ群(3A、3B等)とブロックチェーン部に接続する端末(1A、1Cなど)を説明する図では、実施例で用いたイーサリアムのブロックチェーンとコントラクトを実行できる制御部(処理部)と記憶部(記録部)を備えている事を前提としている。<本発明に用いた分散型台帳上でのトークン>本発明では実施する際にイーサリアムをブロックチェーンの基盤として用いた。ERC721規格のトークンにワンタイムパスワード(OTP)に関するプログラムを備えさせたスマートコントラクト(コントラクト)を本発明の認証システムのOTPトークンのコントラクトに利用した。本発明ではOTPトークンもしくはOTP生成トークン・OTP生成コントラクトは、OTPを生成するトークンの所有権やそのトークン発行処理、トークン送信処理、トークンの名称等情報の表示といった処理を行うコントラクトを示す。OTP認証コントラクトまたはOTP認証コントラクト内部のOTP認証関数は、OTP生成コントラクトのOTP生成関数と一致したOTPを計算するための変数と処理部を持ち、OTPの生成と認証の処理を行うことができる。図3AAや図3ABや図3ACがそのコントラクト説明図であり、認証関数を端末3Aでなく端末3Dに持つときの例は図3DAである。本発明ではERC721規格のトークンにOTP生成関数を備えさせ、ERC721型のOTP生成トークンを発行できるコントラクト(OTP生成コントラクト)とした。そしてOTP生成コントラクトのOTP生成に用いるシード値と同じ値にさせることのできるOTP認証関数を OTP生成コントラクトに備えさせるか、または別途OTP認証コントラクトを作成し、OTP認証コントラクトに OTP認証関数を備えさせ、OTP生成関数で生成されたOTPをユーザ端末1Aや4Aなどに出力させ、出力されたOTPとOTP認証に必要な情報をユーザー端末1Aや4AからOTP認証にかかわるコントラクトのOTP認証関数もしくは端末3Dに搭載されたOTP認証関数に入力して正しいOTPか検証し認証させ、正しいOTPの場合には認証できた場合の戻り値データをユーザー端末の処理部に送信する。<ERC721規格のノンファンジブルトークンのトークン番号とトークン発行>本発明のワンタイムパスワード生成関数及びそれを含むコントラクトではERC721規格のトークンについて、あるユーザー識別子Aのユーザーにトークン番号TIDAが一つ発行(mint)される。トークン発行にはコントラクト内部の発行関数(図3ACの3042A)が利用される。3042Aはコントラクトの管理者の秘密鍵PRVC(図1Cの101C)でないとトークン発行の操作できない。<トークンの譲渡と譲渡制限>本発明のOTPを生成するトークン(OTPトークン)は譲渡制限処理部3041Aを設け、譲渡制限処理部はコントラクトの管理者(Owner)の端末1Cのみが変更できる変数によって処理を変更できるようにして譲渡制限できるようにした。<ワンタイムパスワードにかかわるコントラクト(スマートコントラクト)>本発明においてブロックチェーン上にワンタイムパスワードトークン(OTPトークン)のユーザーへの発行(トークンの割り当て、対応付け)やトークンの送信(トークンのユーザー間での譲渡)、レーティング情報の取得、トークンの名前情報の取得、トークンのURI情報の取得等が行える。そしてシークレット値KCや時刻により変わる変数TB(本発明ではブロック番号BnをTBとして用いる)、トークン番号TIDA、ユーザー識別子Aを基にして生成されたシード値Sをハッシュ関数fhの引数に用いてハッシュ値を得てそれをワンタイムパスワードとして戻り値にするワンタイムパスワード生成関数を備えたワンタイムパスワード生成コントラクト(図3AA、図3AB、図3ACに記載の3008Aまたは3008AG)がある。ワンタイムパスワードOTP生成関数3009Aの処理を説明するフローチャートを図6Aおよび図6Bに示す。ワンタイムパスワードOTP認証関数3018Aの処理を説明するフローチャートを図6Cと図6Dと図6Eと図6Fと図6Gと図6Hに示す。OTP認証関数はOTP生成関数を含むOTP生成コントラクトに内蔵されていてもよいし、OTP生成コントラクトとOTP認証関数を分けて保存するためにOTP認証関数をOTP認証コントラクトに内蔵してOTP生成コントラクトとOTP認証コントラクトを分離してブロックチェーン上の同一のブロック番号もしくは異なるブロック番号のブロックデータに記録されていてもよい。またOTP認証関数がネットワークとは接続されていない端末3DにありOTP生成関数がネットワーク上の端末3Aにあって端末1Aが端末3Aで取得したOTPを端末3Dで認証に用いてもよい。認証関数と生成関数がそれぞれ異なる他のブロックチェーンにコントラクトが記録されており二つのブロックチェーン間でOTPの生成と認証を分けて分担するシステムでもよい。図6AのOTP生成関数と図6FのOTP認証関数のフローチャートで利用する関数の引数のシード値A,TIDA,KC,Bnとハッシュ関数fhおよびそれらを用いた計算手順が一致し、OTP生成関数とOTP認証関数で同じOTPを計算できることが必要である。<ワンタイムパスワードの算出>ユーザUAの端末DA(端末1A)のアクセスに応じて端末3Aは処理を行う。端末1Aの記憶装置に記録された秘密鍵PRVA(秘密鍵101A)からユーザー識別子Aを算出する。補足としてイーサリアムでは秘密鍵から公開鍵を算出し、公開鍵のハッシュ値をハッシュ関数を用いて計算し、そのハッシュ値を切り取りユーザー識別子(匿名化された識別子)とする。サーバP(端末3A)のブロックチェーン部、ブロックチェーン記録部のデータに従い、ブロックチェ―ン内部にプログラムされた本発明のコントラクトにおいて、OTP生成関数は関数の実行者であるユーザー識別子Aがコントラクトで発行されたワンタイムパスワードトークン(OTPトークン)を保有しているか確認し、トークン保有者にはトークンの番号TIDAとコントラクトのシークレット変数のKC値3011A(図3AAや図3ABや図3ACに記載の内部変数KC 3011A)と、ある時刻Tにおいてブロックチェーン上で変動する変数TBをパスワード生成のキー値(キー値、シード値)としてハッシュ関数fh(図3AAや図3ABや図3ACに記載のハッシュ関数fh 3010A)の引数として利用する。計算例はOTP=fh(TIDA,KC,TB)である。OTP認証関数の実行時にユーザー識別子AやOTPトークンの保有を確認する場合も同様である。ここで実施例ではキー値にユーザー識別子Aを追加し、本発明においてOTP=fh(A,TIDA,KC,TB)として計算される。そして前記TBに最新のブロック番号Bn(図3AAに記載の3001Aがブロック番号Bn)を用いるブロック番号に基づいたワンタイムパスワードBnTOTP=fh(A,TIDA,KC,Bn)を利用する事を特徴とするOTPの計算方法を用いたOTPトークンを本発明では用いる。Tm(またはTB)にBnを用いるときはOTP=fh(A,TIDA,KC,TB)でもOTP=fh(TIDA,KC,TB)でもよい。具体的にはOTP=fh(A,TIDA,KC,Bn)でもOTP=fh(TIDA,KC,Bn)でもよい。ここでOTP=fh(TIDA,KC,TB)でもよい理由としては、例として短時間の60秒ごとに更新されるOTPの場合は保有するユーザーが変更されてもBnが60秒ごとに変わるので60秒前の過去に計算されたOTP=fh(TIDA,KC,Bn)は無効とできるためである。本発明の実施例ではユーザー識別子A(およびユーザー識別子Aを計算する秘密鍵101A)をウェブサービスへのログイン等で秘密鍵の不正利用時の監視に用いる狙いもありOTP=fh(A,TIDA,KC,TB)を好ましくは用いた。また前記TBにOTP生成トークンのコントラクトの内部変数BC値3013A(図3AAや図3ABや図3ACに記載の内部変数BC3013A)を用い、前記3013Aはコントラクトの管理者端末1Cの秘密鍵101Cを用いてブロックチェーンへアクセスし3013Aを書き換えることの出来るセッター関数3012Aを用いて任意時間に任意の値に変更することで、ワンタイムパスワードOWP=fh(A,TIDA,KC,BC)として管理者の設定するBC値に応じてパスワードを変えられることを特徴とするOTPの計算方法を用いたOTPトークンを本発明で用いる。Tm(またはTB)にBCを用いるときはOTP=fh(TIDA,KC,TB)よりもOTP=fh(A,TIDA,KC,TB)が好ましいかもしれない。具体的にはOTP=fh(TIDA,KC,BC)よりもOTP=fh(A,TIDA,KC,BC)が好ましいかもしれない。ここでOTP=fh(TIDA,KC,TB)よりもOTP=fh(A,TIDA,KC,TB)が好ましい理由としては、例としてKCやBCはコントラクト管理者が任意の時間に変更できコントラクト管理者の判断によっては数年を超え長期間もしくは一度も変更されない恐れがあり、OTP=fh(A,TIDA,KC,BC)というOTPを計算することでユーザー識別子及びトークン番号に固有のOTPを生成・認証できるので適しており本発明の実施例では好ましくは用いた。<n桁の整数からなるワンタイムパスワードの算出>インターネットを用いたネットバンキングなどの銀行取引等で利用される7桁から6桁の整数のパスワードとするためにハッシュ関数で算出した情報BnTOTPを符号なし整数に型変換し、その整数値をnで割ったときの剰余を求めn桁の整数パスワードとすることもできる。ここでnは6から7の値をとってもよい。コントラクトにおいて変数nがコントラクトの管理者のみによって書き換えできるセッターとなる関数fOTPNが設定されている場合には(変数nと関数fOTPNが3031Aに記録されている場合には)、nを6として設定してコントラクトをブロックチェーンに記録・展開(デプロイ)したのち、総当たり攻撃に必要な計算力を増加させるために、nを6から12に引き上げ、12桁のパスワードにすることも可能である。これはハードウェアTOTPトークンでは実現困難な方法である。セキュリティ上好ましくはないが、桁数が少なくてもよい場合はコントラクトを作成後にnを6から3に変更し表示するOTPの桁数を3桁にすることもできる。OTP認証関数及びOTP生成関数でシード値が一致するように生成コントラクトと認証コントラクト(または認証関数)で同一の3031Aを設定し、コントラクトをブロックチェーンにデプロイした後も、3030Aの値を変更するときは生成コントラクトと認証コントラクト側で一
致させるようコントラクトの管理者である端末1Cが設定変更のトランザクションを3Aに送付し変数などの書換を行う必要がある。<ブロック番号に関する処理>ブロック番号Bnを基に表示する間隔を増やす変数nを用い、Bn mod n として、Bnのnで割った余りmを求め、Bnからmを減算しBnrとして(Bn-m=Bnrとして)、Bnの代わりにBnrをOTPを算出するハッシュ関数の引数に利用した。たとえばブロック番号が15秒で変わるときnを2にした時、ブロック番号Bnが奇数または偶数のときパスワードが変更されるようになりパスワードの表示時間を15秒から30秒に増やせる。<ブロックチェーンにて決まる値を用いたOTP>実施例ではイーサリアムのテストネットで実施例となるERC721規格に本発明のOTP認証用部分を追加したスマートコントラクトの形でワンタイムパスワードOTPトークン発行部、OTPトークンとユーザーの所有関係記録部、OTP生成部と、生成されたパスワードを検証し認証する認証部をブロックチェーンのコントラクトに設けた。ブロックチェーン部ではブロック番号Bnが利用できる。イーサリアムではブロックチェーンを構成するノード間でGasLimit値(BlockGasLimit値)に関する投票が行われる。そしてイーサリアムにはGasLimit値によってブロックサイズが可変になる特徴がある。この投票で決まるV値3004AやブロックサイズBSZ値3005Aに関しても本発明ではブロックチェーンのシード値に用いる。例えばすべてを実施する場合はワンタイムパスワードBnTOTPはBnTOTP=fh(A,TIDA,KC,Bn,BC,V)、またはBnTOTP=fh(A,TIDA,KC,Bn,BSZ)、またはBnTOTP=fh(A,TIDA,KC,Bn,BC,BSZ)のようにOTPを生成するシード値となる引数を複数用いてOTPを生成できる。またOTPを擬似乱数とみなして擬似乱数生成器とすることもできる。本発明ではブロック番号Bnを用いたTOTPベースの擬似乱数生成器が実施できることを確認した後、その擬似乱数生成器をOTP認証システムに応用している経緯がある。擬似乱数として用いるときはトークン番号TIDAや後述するユーザー側の投票値のマッピング変数VUをシード値に用いてもよい。
3.ネットワーク:通信経路であるネットワーク20においてユーザーUAのコンピュータDA(端末1A)とサーバーP(端末3A)の通信は暗号化されていることが好ましい。またブロックチェーンの基盤にトランザクションやコントラクトの処理内容やコントラクトの変数の情報を秘匿できる方法があることが好ましい。ネットワークを構成する際は有線及び無線による通信方法を用いてもよい。ワンタイムパスワードの生成と認証を行う際に本発明のトークンを用いる場合は双方向の通信が必要である。しかし利用形態によってはワンタイムパスワードの生成のみを双方向通信で行い、認証は紙のチケットや施錠・解錠用のNFCタグを読み取る端末3D(3Dの利用形態は図8Bに記載)にて認証させることができる。
4.パスワードを使うサービス:
4A.ウェブサイトのログイン用途:<ログイン処理>本発明の認証システムでウェブサイトのログインや操作に利用する場合、サーバSVLogin(図8Aの端末3C)を用いてログイン処理を行う。図8Aに端末の接続図を示す。ネットワーク20を介して端末1Aと端末3Aと端末3Cが接続されている。サーバ端末3Cは実機のサーバ端末3Cでもよいし仮想のサーバ端末3Cでもよいし仮想機械である端末3Cでもよい。サーバ端末3Cの記憶装置データを端末1Aに記憶させサーバ端末3Cを仮想機械として端末1Aに構築し、端末1A内部で端末1Aと端末3Cを通信させつつ端末1Aをネットワーク20を介して端末3Aと接続させることで端末1Aに構築された仮想機械端末3Cにログインすることが可能となる。<ログイン実行と実行後の処理>端末3Cから端末1Aにログイン後のウェブサイト、ウェブアプリデータを送付する。またログイン後のページにてユーザーが端末1Aの入力装置を用いて入力した値をネットワークを通じてサーバ端末SVLogin端末3Cが記録し、また入力した値によってユーザーデータの操作を行う。この例として具体的にはインターネットバンキングにおけるログイン後の振り込み処理や会員サイトでのデータの記録・変更や投票などの処理、オンライン株主総会での投票処理、オンラインゲームでの処理が挙げられる。OTP認証後の処理に応じてはブロックチェーンにユーザー及びユーザー端末1Aをアクセスさせ、処理を行わせた際にOTPの生成関数を実行させOTPを取得したのち取得したOTPを引数に用いて認証関数を実行させたとき、3017Aや3017AAといった変数を変更させる。OTP認証関数3018Aの実行時に認証関数3018A実行中に含まれる処理(もしくは認証関数の処理後にリンクされて別途行われる処理)として図3ABの3021A、3022A、3023Aがあってもよい。<不正ログインの検知>本発明ではログインしたユーザのIPアドレス(IPアドレスのハッシュ化または加工した値)、または位置情報(位置情報をハッシュ化または加工した値)、またはコンピュータの装置ID(またはハッシュ値)と、トークン番号、ユーザー識別子をSVLogin(図3Cの端末3C)の記憶装置30Cの3011Cに図6Iに示すデータ構造もしくはデータの形式で記録し、ログインしたユーザのIPアドレス(IPアドレスのハッシュ化または加工した値)、または位置情報(位置情報をハッシュ化または加工した値)、またはコンピュータの装置ID(またはハッシュ値)を監視する処理部(図3Cの3110C、3111C、3112C、3113C)を端末3Cは備え、あるトークン番号やユーザー識別子に対して異なるIPアドレス、異なる位置情報、異なる装置IDからアクセスしているか随時判断し、異なる場合にはユーザーに通知し、さらにはアクセスを遮断する機能を処理部(図3Cの3110C、3111C、3112C、3113C)を備える。ここでコンピュータの装置IDについては、デバイスIDなどのコンピュータ製造IDやオペレーティングソフトウェアのID、ウェブブラウザのIDに加えて、端末1Aに搭載された加速度センサや磁気センサ、圧力センサ(気圧センサ)、温度センサなどを含めた端末1Aのセンサ144A(図144Aの1440Aや1441Aや1442Aや1443Aに記載のセンサ)情報を含むIPV値(図6Iに記載のデータ構造)やIPVをハッシュ化したものを用いてもよい。この方法は本発明の他の利用例4B.4C.4Tに利用してもよい。例えば端末1Aが144Aの位置センサ1441Aに磁気センサを備え、地磁気を測定可能である3次元方向の磁気を検出可能な磁気センサーを搭載したスマートフォンであるとき、スマートフォン内蔵の磁気センサーの向きはユーザー端末の向きによって変わる。正常なアクセスであれば磁気センサーの値に対応するユーザー端末からのアクセス情報は1つしかないが、もしほかのユーザーが秘密鍵を不正に入手しログインしようとしても、攻撃者は離れた地球上のある位置にいるユーザーのコンピュータの磁気センサーの値と一致させなければならずなりすましは困難である。センサは一つだけでなく複数利用でき、例として地磁気センサと温度センサ、あるいは温度と気圧センサ(温度と圧力センサ)のように組み合わせる等が可能である。IPアドレス(およびIPアドレスのハッシュ値または匿名化された値)とセンサ値を併用できると好ましい。ここで端末1Aに内蔵されるセンサについても説明する。全てのセンサを端末に内蔵している必要はなく、1つ以上のセンサを採用していれば好ましい。1440Aの環境センサは温度センサ、気圧センサ(圧力センサ)、湿度センサ、照度センサを含み前記4種のセンサの測定値を個別に端末1Aに入力できる。1441Aの位置センサは磁気を検出する磁気センサと加速度を検出する加速度計を含み、端末の位置を検出できるセンサ。磁気センサや加速度計のセンサの測定値を個別に端末1Aに入力できる。1442Aのモーションセンサは加速度計と角速度を検出するジャイロセンサを含み、端末の動きを検出できるセンサ。加速度計(加速度センサ)とジャイロセンサの測定値を個別に端末1Aに入力できる。1443Aの生体認証センサは、例として顔やまばたきの情報であればカメラ142Aを用い、指紋であれば指紋のスキャナを用い、静脈のパターン虹彩や耳の構造などはそれらを検出するセンサを用い、歩行に関する情報であれば端末1Aの1442Aや端末1Aの通信装置12Aと通信できる外部端末の加速度センサと対応した靴型のモーションセンサデバイスや衣服に取り付けたモーションセンサ群を用いて測定してもよい。音声認証にてマイク・音センサ143Aを備える端末では、端末周囲の音声を端末が感じることの出来る固有の音響情報として、前記音響情報をハッシュ化し個人のプライバシーを守りつつIPV値に用いることも出来うる。生体認証やプライバシーにかかわる情報を図6Iの情報に用いる場合はセンサが取得した情報をハッシュ化し、加工し、匿名化してを用いることが好ましいかもしれない。ただし、銀行や証券など金融用途などでは防犯上IPアドレスといった情報はそのまま記録されることが好ましいかもしれない。
生体認証センサ1443Aは端末1Aがカメラやサーモグラフィといった画像センサを持ち前記画像センサを用いて顔の構造に由来する認証をするときのセンサであったり、スキャナを用いた指紋認証を行う指紋センサであったり、耳の構造に由来する認証を行うときのセンサであったり、歩行する際などに生じる装着された端末の感じるモーションや圧力信号を用いて認証する際のセンサである。生体認証は既知の方法を用いることができる。
4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用:チケットや入場券、建物設備の施錠と解錠に使う場合にはサーバSVLog(図8Bや図3Dに記載のサーバ端末3D)を用いる。図8Bに端末の接続図を示す。端末3Dは建物の施錠装置や自動車の施錠装置・原動機の始動装置を動作させる組み込み型の端末でもよい。本発明ではNFCなどの通信機能を備えたICタグ・ICカード型のチケット19Aまたは紙のチケット18A(および紙のチケット18Aと同じOTP認証情報を表示させたディスプレイの表示面1500A)の記録情報にブロックチェーンから生成されたパスワードOWPを利用する。19Aは非接触のNFCタグや、接触型端子を持つICカードであり、19Aの利用者ではないユーザーに不正使用させないように19Aに利用者がパスワードとしてPIN等を設定してもよい。19Aと端末3Dとの通信を行いOWPなどの認証情報を伝達する際に、19Aに設定されたPINによるパスワード認証を求め、パスワード認証ができた場合にNFCタグの情報を端末3Dの通信装置32Dを通じて端末3Dに伝達してもよい。ここでPINは個人識別番号(Personal identification number)の略であり、PINは例えば4桁の整数のパスワードである。19AのPINは19Aを用いてサービスを利用する際の最終的な利用意思確認手段として用いる。19Aは無線により通信するため19Aを所有するユーザーが知らぬ間に19Aの情報が端末3Dに伝達されないようにPINを用いてもよい。19Aは3Dと無線もしくは有線方式の通信を行う際に通信内容を暗号化してもよい。PINなどを用いて19Aに記録されたOWPを用いる認証情報を暗号化してもよい(OWPを、PINを鍵として共通鍵暗号化などの手段をもちいて暗号化してもよい)。紙のチケット18Aは本発明のワンタイムパスワードOWPの生成関数3009Aを用いて取得したOWP情報を紙などに印刷し製造される。18Aに記載の情報は1500Aで表示できる。18Aや1500Aを読み取るカメラなどの装置がサービス提供端末3Dに備えられている場合にはチケットなど有価紙葉のほかに施解錠を行う金庫・金庫室や建物のドア、入退場口、自動車など乗り物や電子計算機端末に認証情報を読み取らせることができ、入退場や施解錠ができる。NFCタグ19は、端末1Aが保有するユーザー識別子Aとトークン番号TIDAとパスワードOWPを含む認証情報を端末1Aの通信装置12Aを経由して19Aに記憶させることで19Aを製造でき、チケットなど有価紙葉や入退場用のタグや施解錠の鍵あるいはアクセス制御を解除するものとして用いられる。図8Bに示すように前記AとTIDAとOWPを記録したNFCタグ19Aや、AとTIDAとOWPを表示する端末1Aのディスプレイ画面1500A、そしてその画面1500Aを印刷した紙のチケット18Aでもよい。図8Bに示すように18Aと1500Aは端末3Dのカメラ・スキャナ340Dによって読み取られる。この時18Aと1500AはAとTIDAとOWPを連結した文字列情報を表示していてもよいしバーコード情報(1次元及び2次元のバーコード)を表示していてもよい。図8Bに示すように19Aは端末3Dの32Dと通信しAとTIDAとOWPを連結した文字列情報を伝達してもよい。19Aと32Dの通信にはNFCを用いることを想定する。1500A、18A、19AからAとTIDAとOWPを受け取った端末3Dの制御部及び記憶部(31Dおよび30D)に備えられたパスワードOWPの認証関数3018DA(図3DAの3018DA))は図6Fや図6DのOTP認証関数の処理に関するフローチャートに従い、入力されたOWP(ArgOWP)が端末3Dに記録されたKCやBC値を用いて計算されるVeriOWP=fh(A,TIDA,KC,BC)と一致するか検証し、一致した際には認証ができたと判断し、端末3Dは端末3Dが組み込まれた装置の開閉装置350Dまたは施錠装置350D(施解錠装置350D)または始動装置350Dまたはアクセス制御装置350Dを操作して、改札口や入場口の入場処理または施錠された建物や自動車など乗物と金庫など容器の解錠を行い、乗物や電子計算機、機械、設備の始動を行う。認証関数3018DAは図6Fや図6DのOTP認証関数の処理に関するフローチャートに従い1500Aや18Aや19Aの情報からOWP(OWP=ArgOWPとして)とAとTIDAとを引数として受け取る。そして図3DAに示す3DのKC値3011DAやBC値3013DA、ハッシュ関数3010DAを用いてVeriOWP=fh(A,TIDA,KC,BC)を計算する。認証関数3018DAの関数の戻り値が認証結果の正しい時の値ならば端末3Dは350Dの開閉装置を開いたり施錠装置(施解錠装置)を解錠したり装置を始動させる。コントラクトの管理者とサービスおよび端末3Dの管理者は、端末3Aと端末3DでのOWP型OTPの計算方法と計算に用いる変数を一致させ同期させなければならない。端末3Dが建物の扉や金庫に組み込まれた施錠を管理する端末であるときに、シークレット値KCやBCの変更が生じたとき、端末3Dが組み込まれた扉や金庫等の利用者が施錠された設備の解錠後にアクセスできる位置(具体例として金庫の扉の裏側もしくは建物の扉の裏側、建物の扉の屋内側)に備えられた施錠管理端末3Dの通信装置32Dに有線式もしくは無線式の方法でアクセスし、端末3Dの製造元の提供するソフトウェアなどに従い32DのKC値3011DAやBC値3013DAを更新できてもよい。3Dが3Aと接続できない場面において本発明の実施を行う場合には、端末3Dの管理者が錠となる情報を最新の情報に更新する、もしくは端末1AのOWP型のパスワードとユーザー識別子Aとトークン番号TIDAを1500Aや18Aや19Aで認証できる情報を設定することが求められる。<入場時のOTPトークンを利用済みにする処理等>端末3Dまたはブロックチェーン上のコントラクトにて認証関数3018A(または3018DA)の実行回数記録部分3017Aや3017AA(または3017DA)にチケットをユーザーが本発明のOTP認証を行い認証関数を実行し認証ができてサービスを利用したか否か、チケットが有効か否かの真偽値、もしくはチケットの利用回数の整数値を記録してもよいし、3017Aや3017AG(または3017DA)にチケットのサービスを利用出来るポイントもしくは通貨残高がチャージされており、本発明の電子チケット19A、紙チケット18A、画面表示型チケット1500Aの情報をサービス提供時に提示したときにその残高がサービスに対応されるポイントもしくは通貨の数量だけ差し引かれていく形でもよい。<ワンタイムパスワードの生成と認証の回数を検知する場合>本発明ではワンタイムパスワードの生成と認証がコントラクトの同一の関数で行われない。生成時、認証時にそれぞれのOTP生成関数やOTP認証関数の実行回数をカウントしインクリメント(増加)する変数と処理部を備えることができ、それら実行回数3017Aや3017AGや3017AAはブロックチェーンを用いることで改ざんされにくくなる。実行回数をカウントする変数のうち生成時に利用する変数3017Aや3017AGを監視することで不正利用を防ぐことにつなげられる。(ブロックチェーン上にはないが端末3Dの3017DAもカウントする変数である)不正利用の通知に関してユーザーがメールアドレスを持たないときにはユーザー識別子Aに向けワンタイムパスワードの生成又は認証があったことを示すOTPトークンとは異なるノンファンジブルトークン(不正使用通知型トークン)を送付することもできる。
4C.暗号化データおよびファイルの復号と閲覧:暗号化されたデータを本発明のブロックチェーンを用いたOTP認証システムを用いて復号するソフトウェアCRHN(ソフトウェア403A)を利用できる。ここでソフトウェアCRHNは図4Bのソフトウェア403Aである。図8Cに端末の接続図を示す。暗号化されたファイルなどのデータ4034A(図4Bの4034A)を復号し閲覧する場合にはユーザーUPが利用するコンピュータDP(図4Aの端末4A)を用いてサーバ端末3Aにアクセスし端末4Aの秘密鍵401Aに割り当てられたOTPトークンを用いてBnTOTPの生成と認証を行いOTP認証関数3018Aの戻り値CTAU4031Aを得て、戻り値4031Aとあらかじめ設定されたパスワード値AKTB4032Aとソフトウェア403Aの内部で指定される秘密鍵CRKY40302A等とソフトウェア403A計算方法に基づいてファイル暗号化及び復号を行える共通鍵TTKY4033Aを生成しファイルの暗号化や復号を行うソフトウェア403Aと前記ソフトウェア403Aを用いた情報を閲覧、視聴、印刷出力等を行う暗号化データの復号と利用を行うことの出来る認証システムを本発明では利用できる。<コンテンツの印刷、複写の制限と許可>暗号化データおよびファイル等のコンテンツ権利者に許可に応じて、403Aはコンテンツを出力できる。端末4Aのディスプレイ画面に表示された暗号化データを復号したコンテンツは銀塩カメラ・撮像素子を用いたデジタルカメラ、デジタルカメラを搭載したスマートフォンなど端末を用いて画像や動画として複写することができるかもしれない。そこで端末4Aのディスプレイ画面に表示された暗号化データを復号したコンテンツは銀塩カメラ・撮像素子をデジタルカメラを搭載したスマートフォンなど端末を用いて画像や動画として複写することを簡易的に防ぐ場合にはヘッドマウントディスプレイ453A(頭部装着ディスプレイ453A)を使用する。(なお本発明は必ずヘッドマウントディスプレイ453Aを用いるわけではなく従来のデスクトップ型端末やラップトップ及びノート型端末そして携帯電話機やスマートフォン端末に搭載されるディスプレイ450Aを用いてもよい。)ここでヘッドマウントディスプレイ453Aを装着したときに顔認証や虹彩認証、耳の構造に由来する認証、照度センサまたは光センサ、体温分布のサーモグラフィ画像などによる生体認証機能をヘッドマウントディスプレイ453Aのセンサ4530Aを利用して行ってもよい。前記認証機能では453Aを実在する生体が装着しているかどうかを確認することが第一の目的であり、それに付属して個人の生体情報を取得して生体認証を行うことにつなげることもできる。ソフトウェア403Aは復号したデータを出力する出力装置45Aを限定してよい。具体的にはディスプレイ画面を銀塩カメラやデジタルカメラを用いて画像や動画として複写することを簡易的に防ぐ場合には453Aを用いる。一方で複数人とディスプレイ画面のコンテンツを共有して視聴し、その場面においてディスプレイ画面の撮影を許容する場合には450Aを用いるという形である。
4T.放送での利用(双方向でない暗号化データの流通):図8Cの応用として暗号化データ放送の用途がある。図8Dに端末の接続図を示す。
5.サービス提供者、トークン管理者(Owner):サービスを提供する資格のあるユーザーUA(例えばインターネットバンキングを行うウェブサイト・ウェブアプリへのログイン権限を持つOTPトークンの契約を行った銀行口座保有者を想定)とその端末1Aに向けてその秘密鍵101Aから端末3Aのブロックチェーン部より計算されるユーザーの識別子Aに管理者UCは端末1C(端末DC)よりネットワーク20(ネットワークNT)を通じてブロックチェーンのノードであるサーバP(端末3A)にOTP生成トークンを発行する。
<ブロック番号Bnを用いた時間に基づいたワンタイムパスワードの生成と呼び出し>本発明におけるワンタイムパスワードの生成と認証の基本的な動作を説明する。図1に示すシステムでBnTOTPを用いた認証方法について説明する。OTP生成とそれを認証するにはユーザー端末1A、サーバ端末3A、ネットワーク20を利用する。ユーザー端末1Aにおいて、秘密鍵101Aと、指定したブロックチェーンのノードとしてサーバ端末3Aのネットワーク20でのURI等と、指定したOTPを生成するOTPトークンのコントラクト識別子3019A、秘密鍵101Aからブロックチェーン部の処理によって算出されるユーザー識別子A、指定したコントラクト識別子3019Aにおいてユーザー識別子Aに割り当てられた指定したトークン番号TIDAを引数とする、図3AAや図3ABや図3ACに記載のOTP生成関数3009Aを1Aのブロックチェーンアクセスプログラムを通じて、ネットワーク20を通じサーバ3Aのブロックチェーン部にアクセスし関数呼び出しを行う。端末1Aは端末3Aのブロックチェーン部にアクセスし、ブロックチェーン部に記録されたコントラクトのOTP生成関数3009Aのプログラムに応じて処理を行う。図1の実施例においてOTPの生成にブロック番号Bnを用いる時、図3AAや図3ABや図3ACに記載のOTP生成関数3009Aでは、図6Aに示すフロチャート図のF100からF105に従い、TIDA、KC、Bn、Aの4つを基にしてハッシュ関数fhの引数とした後に引数をハッシュ関数に渡してBnTOTP=fh( A, TIDA, KC, Bn)としてハッシュ値BnTOTPを生成し、OTP認証関数3009A又は3009AはBnTOTPを関数3009Aの戻り値として端末1Aに伝える。端末1Aの入力した引数や関数呼び出しするユーザーがF101の条件に一致しない場合はOTP生成関数の実行を停止する。ハッシュ関数fhは例えばSHA256である。フローチャートの処理F100ではOTP生成関数3009Aの引数入力にてユーザー識別子A、トークン番号TIDAの2つの引数を受け取る。なお用途に応じて第3や第4など複数の引数をとっても良い。ここでF104にて生成されたBnTOTPを戻り値として利用しない場合、F107に示すようにBnTOTPを符号なし整数として型変換しn桁のパスワードとして10のn乗で割ったあまりをn桁数字のパスワードBnTOTP-nとして伝えることもでき、nを7として7桁の整数値のOTPとしてOTP生成関数3009Aの戻り値とすることもできるが、その場合はOTP認証関数3018Aや3018DAでも同じ計算を行いOTPの検証を行うようにOTP認証関数をプログラムする必要がある。実施例にはF100からF105の処理を用いる32バイトのOTPを生成するOTP生成関数とF100からF107までの処理を用いるn桁の符号なし整数のOTPを生成するOTP生成関数を同一のコントラクトに備えたOTP生成を行うOTPトークンのコントラクトを作成でき、通常はn桁(桁数は少なくともよい)のOTP生成関数とそれに対応するOTP認証関数で認証を行い、重要度の高い操作をするときはデータ量より大きな32バイトのOTP生成関数とそれに対応するOTP認証関数を用いて認証を行うこともできる。本発明の実施形態ではブロックチェーン基盤にイーサリアムを用い、ハッシュ関数fhにハッシュ値が32バイトの戻り値を出力するSHA256関数を用い、F104の選択肢をOTP生成関数の処理プログラムに設けずに、BnTOTP=fh( A, TIDA, KC, Bn)として32バイトのOTPを算出するOTP生成関数(図6AにおいてはF100、F101、F102、F103、F104、F105の順にフロチャートを経て動作する関数。あるいは図6BにおいてF100,F108,F101、F102、F103、F104、F105の順にフロチャートを経て動作する関数。)と、前記BnTOTPを符号なし整数として型変換し10の7乗で割った剰余である7桁数字のOTPを算出するOTP生成関数(図6AのF100、F101、F102、F103、F104、F107の順にフロチャートを経て動作する関数。あるいは図6BにおいてF100,F108,F101、F102、F103、F104、F107の順にフロチャートを経て動作する関数。)の二通りのOTP生成関数をOTP生成トークンのコントラクトに備える形で実施した。ここで図6Aと図6Bの違いは、OTP生成関数3009Aの実行を記録する回数などを保存する変数3017Aや3017AGに対して関数3009Aの実行回数の記録や増加処理もしくは関数3009Aの実行に必要な数値残高の増減等の変更処理F108の有無である。F101では入力された引数からOTPトークンのOTP生成関数3009Aを実行する関数実行者のユーザー識別子(関数の実行者、メッセージ送信者、msg.senderのユーザー識別子)がトークン番号TIDAのOTPトークンが対応付けられ所有しているユーザーの識別子(ここではユーザー識別子A)と一致するか判定する。この処理F101がなければOTPトークンの持ち主でないユーザーがOTP関数を実行できてしまうため、メッセージ送信者が3009Aを実行する際にはそのメッセージ送信者がOTPトークンの保有者であるかを判定する処理が必要である。ハッシュ関数fhは暗号学的ハッシュ関数であればよい。例えば、fhがSHA256のとき、BnTOTP=SHA256(A,TIDA,KC,Bn)である。実施例では引数の順に変数をエンコードし結合しそのデータのハッシュ値をSHA256関数などで求めている。ここに述べる実施例ではOTPを計算する関数の引数は例としてTIDA、KC、Bn、Aの場合には前記4つに由来していればよい。<OTP生成用端末とOTP認証用端末の分離>本発明ではOTP生成用端末とOTP認証用端末を同じ端末1Aで行うこともできる。またOTP生成用端末とOTP認証用端末に分けて利用することができる。すなわちOTPを生成し表示できる出力装置を持つ通信可能なハードウェア型OTP生成用携帯端末1Aとウェブサイトログイン用のOTP入力装置を備えるログイン認証用端末4Aといった利用形態もできる。<ブロック番号Bnを用いた時間に基づいたワンタイムパスワードの認証と認証結果呼び出し>図3AAや図3ABや図3ACに記載のOTPを検証し認証するOTP認証関数3018Aの動作はOTP生成関数3009Aと似ており、認証関数3018A内部でTIDA、KC、Bn、Aをハッシュ関数fhを用いてVeriBnTOTP=fh( A, TIDA, KC, Bn)を求め、ユーザーがサーバ3Aにアクセスする際にワンタイムパスワード認証関数の引数に入力するTIDA、A、入力されたArgBnTOTPのうち、IF文などによる条件式で、ArgBnTOTPがVeriBnTOTPと一致するか判定し、一致した場合にはOTP認証できたときの戻り値を端末1Aに返す。また認証できた時の処理を行うこともできる。図6Cから図6Hに示す認証関数3018Aのフローチャートついて説明する。フローチャートの処理F110ではOTP認証関数3018Aの引数入力にてユーザー識別子A、トークン番号TIDA、パスワードArgOTPの3つの引数を受け取る。なおOTP認証関数は用途に応じて第4や第5など複数の引数をとっても良い。図6Fは認証関数3018Aの実施例の一つであり、基本的な処理例である。図6Fに示す処理を用いた認証は端末3Cや端末3Dおよび暗号されたデータの復号用途に用いることができる。F110で認証関数の引数としてユーザー識別子Aとトークン番号TIDAを受け取り、F113にて引数からVeriOTPを計算する。このときブロック番号Bnとシークレット変数KC値を用いる。VeriOTP=fh( A, TIDA, KC, Bn)を計算し、F114にて入力された引数のOTPであるArgOTPとVeriOTPが一致するか比較する。一致する場合は認証ができたと判断し、F116の処理を行い、一致しない場合はF118の処理を行う。図6Fを用いる端末の接続例は図8A、図8B、図8C、図8Dである。図6FのOTP認証関数の形態は端末3Cや端末3Dにおいて利用できる。図6Dは図6Fの処理に用いる真偽値や整数などの変数3017Aや3017AAや3017DAに対し、OTP認証関数3018Aの実行後の真偽値もしくは整数値などの書き換えを行う処理F115を追加したものである。3017Aや3017AAや3017DAは真偽値、整数、文字列などのデータである。3017Aや3017AAや3017DAはトークン番号をキーとして真偽値型、符号なし整数型、文字列型などのデータ型を持つマッピング変数である。マッピング変数は一つの例であって、トークン番号をキーとして結びつけられたデータを記録できれば良い。図6Dを用いる端末の接続例は図8A、図8B、図8C、図8Dである。図6Cは暗号化データの復号やウェブサイトへのログイン用途に用いることを想定した処理例である。図6Cは図6Dの処理に、F111の処理を追加したものである。F111では認証関数3018Aの実行者はユーザー識別子Aかを判断し、異なる場合には処理をF117に示すように処理を中断する。F111にて認証関数3018Aの実行者がユーザー識別子Aの場合には、F112の認証関数の処理を続行し、入力されたOTP=ArgOTPが問題ない場合にはF113、F114、F115、F116、F116と処理が行われる。F114にてArgOTPがVeriOTPと一致しないときはF118の示すように処理を中断する。図6Eは図6Cの処理F115を取り除いたフローチャートである。図6Eおよび図6Cを用いる端末の接続例は図8A、図8C、図8Dであり、図8Bは端末3Dがネットワーク20に接続ができ端末3Aに接続できる用途において利用できる。図6Cと図6Eに示す処理方法は3AのOTPトークンに関するコントラクトにある所有者情報3014Aを用いるため、3Aなどブロックチェーン上の端末と3Dが接続され3014Aの情報が同期され共有されなければ図6Cと図6Eに記載の認証方法は端末3Dでは利用できない。端末3Dが駅の改札や入場口などの処理端末でありネットワーク20を介して端末3Aに接続されるか端末3Aと同じブロックチェーン記録部及び制御部を持つ場合には3Dにおいても図6C及び図6Eと図6Gと図6Hの処理は利用出来うる。端末3Dが金庫など容器や自動車などで、端末に備えられた電池等電源装置の制限や、端末を搭載する移動体が電波などの届かない環境にあり通信装置が制限されることによりネットワーク20に接続ができない場合には、図6C及び図6Eと図6Gと図6Hの処理を行うことは困難である。端末3Dの用途に応じて図6C及び図6Eと図6Gと図6Hは利用されることも利用されないこともある。図6C及び図6Eと図6Gと図6Hは利用形態の例である。図6Cと図6Eは認証関数3018Aの実行者(msg.sender)がユーザー識別子Aであるかを判定する処理F111をもつ。この処理を持つことで、ウェブサイトへのログイン処理時にユーザーがもつ秘密鍵101Aによって計算されるユーザー識別子Aがメッセージを送信し実行しているかを判定し、秘密鍵を持たない認証関数の実行者による関数実行を中断させる。図6Cと図6Eの違いは認証ができた際の3017Aや3017AAや3017DAを変更する処理F115の有無である。図6CにはF115が有り図6EにはF115が無い。図6Gと図6Hは認証関数3018Aの実行者がOTPトークンの保有者かを判定する処理F119をもつ。この処理はOTP生成関数時の図6Aや図6Bのフローチャートに記載された処理F101と同様の処理である。処理F119によってウェブサイトへのログイン処理時にユーザーがもつ秘密鍵101Aによってブロックチェーンのノードである端末3Aにメッセージを送信したとき、そのユーザーがトークン番号TIDAのOTPトークンを保有するか
F119にて判定し、OTPトークンを持たない実行者による認証関数の実行を中断させる。図6Gと図6Hの違いは認証ができた際の3017Aや3017AAや3017DAを変更する処理F115の有無である。図6GにはF115があり図6HにはF115が無い。<コントラクトから他のコントラクトの関数の呼び出し>本発明で用いるコントラクトはあるブロック番号において記録された一つのスマートコントラクトのみで完結していてもいいし、同一ブロック番号に記録された他のコントラクト識別子のスマートコントラクトや他のブロック番号に記録された他のコントラクト識別子のスマートコントラクトに処理内容が分けて記述されていてもよい。例えばコントラクトXからコントラクトYの関数等を呼び出して利用してもよい。
<4A.ウェブサイトのログイン用途>ウェブサイトなどのログインにはブロックチェーンのある時刻において変更されうる変数TBのうち、ブロック番号Bnを基にしたTOTP型ワンタイムパスワードトークンを用いる。ブロック番号Bnであれば、Bnを基に表示する間隔を増やす変数nを用い、Bn mod n として、Bnのnで割った余りmを求め、Bnからmを減算しBnrとして(Bn-m=Bnrとして)、Bnの代わりにBnrをOTPを算出するハッシュ関数の引数に利用し、OTPの生成と認証を行える時間を増大でき、本発明では演算の簡単さからブロック番号Bnを好ましく用いた。サーバ端末3Cを利用し、図3ABにあるようにOTP生成関数をもつコントラクト3008AGとOTP認証関数を持つコントラクト3008AAを用いてBnTOTPをOTPとして用いる。サーバ端末3Cを用いてログイン処理を行う。ここでBnTOTP=(A,TIDA,KC,Bn)でもよいし、前期BnTOTPの引数に投票で決まる値Vや、コントラクト管理者が変更できる値BCを加えたBnTOTP=fh(A,TIDA,KC,Bn,BC,V)でもよいし、またはブロックサイズBSZを加えたBnTOTP=fh(A,TIDA,KC,Bn,BSZ)でもよい。例えば本発明の実施例で用いるBnTOTPの式はBnTOTP=fh(A,TIDA,KC,Bn,BC,V,Bh)である。さらにユーザーが保有するトークン番号TIDAをキーとしたマッピング変数VU(VU[TIDA])をシード値として含むBnTOTP=fh(A,TIDA,KC,Bn,BC,V,VU[TIDA])でもよい。認証結果が正しい時3C内部のサービスを提供しコンテンツを閲覧し操作させる。例としてインターネットバンキングや会員サイトなどを想定する。認証結果が正しくない場合にはログインを行わせない。
<ウェブサイトのログイン時に認証関数を実行した回数を記録する処理>本発明のOTP(BnTOTPおよびOWP)の生成時または認証時にコントラクトへOTP生成関数及び認証関数の実行回数を内部変数3017Aまたは3017AGまたは3017AAに記録させることができる。ここで内部変数3017Aまたは3017AGまたは3017AAはトークン番号と対応した値を持つ変数である。実施例として変数3017Aはトークン番号をキーとしたマッピング型の変数であり、マッピング型のほかにも構造体やクラスなどのデータ型でトークン番号と対応付けられている変数であれば本発明に利用できる。実施例1ではOTP生成関数の実行回数は記録しないものの、OTP認証関数の実行回数は記録する方式を検討した。これはブロックチェーンに生成及び認証の回数を変更するトランザクションを送ることを考えたとき、パスワードの生成はカウントせず何度でも出来たほうが良く、認証時のみその回数を記録できた方がトランザクションが少なくなり、ブロックチェーンのリソースや、それらを記憶し制御するサーバーの記憶装置や通信装置への負荷を低減できると考えたためである。ただしセキュリティを考えた場合はワンタイムパスワード生成関数の実行回数は記録することが好ましい。図6Cや図6Dや図6GのF115はOTP認証関数を実行し認証結果が正しいときに行う処理であり、図6BのF108はOTP生成関数の実行回数を記録する関数である。OTP生成関数とOTP認証関数の関数の実行回数をブロックチェーン上に改ざん困難・イミュータブルに記録するできるとよい。端末3Dはネットワーク20にアクセスできない場合がある。その場合はOWPを攻撃者の端末が端末3AにアクセスしてOTP生成関数で生成する際に実行される3017Aや3017AGが変化するので、前記変数の変化をユーザーUAに通知することでOTPが攻撃者に取得され紙やNFCタグに記録された恐れがあることが分かる。端末3Dに記憶された認証回数記録部分も端末3Dへのユーザーのアクセスや認証の履歴をブロックチェーンの様にトランザクション毎にハッシュ値を付与させ連結して保存するなどして改ざん検知ができイミュータブルな記録部分とすることが好ましいかもしれない。このようにOTP認証関数とOTP生成関数のいづれかまたは両方に実行回数を記録する変数を設けることで、攻撃者はユーザーUAに知られないうちにユーザーのトークンを操作することを困難にさせ、不正アクセスを防止する。<インターネットバンキングでの処理例>認証関数を含む関数が認証時にコントラクト内部の変数を操作する場合の一例として、簡易なインターネットバンキングもしくはコントラクト内ポイント利用システムに利用可能である。
<会員サイトへのログイン用OTPトークンの有効・無効の判定を行う手段>1.ブロック番号を用いてワンタイムパスワード表示可能な期限を設定する方法。2.コントラクトの管理者が、ユーザーのトークン番号に対応した有効、無効の判定に利用できる変数を書き換えられる場合。3.ユーザーがトークンの利用の意志を示せる場合がある。3についてはトークンの持ち主である顧客UAがその利用権を放棄したいとき、もしくは一時的に利用を止めたいと示すときに、ユーザーの秘密鍵101Aを用いてユーザー識別子Aに帰属するコントラクト識別子のOTPトークンのトークン番号TIDAに対応する意思表示欄をマッピング型変数NOTE[TIDA]にその意志を設定し表示することができる。前記変数NOTE[TIDA]については、秘密鍵101Aを記録し101Aにトークン番号TIDAのOTPトークンが割り当てられたユーザー識別子Aのユーザーのみからアクセスし変更できるセッター関数によってNOTE[TIDA]は変更される。<会員サイトなどへの投票権としての利用>例えば投票を行うにおいては本発明のトークンを用い、あるウェブサイトやウェブアプリに本発明のトークンとワンタイムパスワード認証システムを用いてログインし、そのコンピュータ画面で投票したい候補者の識別子に投票し、ブロックチェーン上のワンタイムパスワードを生成し認証するトークンのコントラクトの変数に投票内容を記録できる。<ユーザー側が設定できる投票によるシード値VU[TIDA]>OTPトークンの生成するBnTOTPをログイン先のサービスで擬似乱数生成に利用する方法として、ユーザー側が設定できる投票によるシード値VU[TIDA]を用いることもできる。
<4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用>紙などに情報を固定された形で印刷し入場等に利用するパスワードを生成させるにはブロック番号Bnに同期するワンタイムパスワードでは認証の実施が困難になる恐れがあった。そこで各トークン番号もしくは各ユーザー識別子に対応した時刻には同期しないが任意の時間に変えることの出来る半固定式のパスワードOWPを利用する。図8Bに端末や装置の接続例を記載する。ここで説明のため主に図8Bや図3AAと図3ABと図3ACと図3Dと図3DAを説明に用いる。<パスワードOWPの認証と認証結果呼び出し>パスワードOWPはウェブサイトでのログイン処理に用いたBnTOTPと同じく認証することもできる。ユーザー端末1Aは端末3AのOWP型のOTPトークンのOTP生成関数を含むコントラクトにアクセスしOWP型のOTPを生成関数にて生成させる。そして生成関数で生成したOWPとユーザー識別子Aとトークン番号TIDAをサービスを提供する3D(アクセス制御端末3D)にアクセスしOTP認証関数3018DAの引数に入力する。次にOTP認証関数の引数に入力されたA、TIDA、引数に入力されたArgOWP(またはn桁の整数値パスワードArgOWP-n)から、OTP認証関数3018A内部でTIDA、KC、BC、Aをハッシュ関数fhを用いてVeriOWP(またはn桁の整数値パスワードVeriOWP-n)を求め、IF文などによる条件式で、ArgOWP(またはArgOWP-n)がVeriOWP(またはVeriOWP-n)と一致するか判定し、一致した場合には認証できた時の処理を行うこともできる。一致しない場合には認証できなかった時の処理を行う。この処理は端末3Cの配信するウェブサイトへBnTOTPを用いてログインするときと似ているが、ネットワークに接続される端末3Cの配信するウェブサイトへBnTOTPを用いてログインするとき時はノード端末3AのOTP認証関数3018Aや3018AAを用いているが、ネットワーク20から切断されうる端末3DにOWPを提示するときはOTP認証関数3018DAを用いるという違いがある。(端末3Dがネットワーク20に接続しノード3Aと接続できるときは3018Aや3018AAを用いることもできる。)<OWPを用いた紙製のチケット等の有価紙葉18Aの製造と利用、ICタグ19A等デジタル機器による認証>ネットワーク20を通じて端末1Aとサーバ3Aを用いてブロックチェーン上のOTP生成コントラクトからパスワードOWPをOTP生成関数3009Aから生成する。そして生成されたパスワードOWPとユーザー識別子A、トークン番号TIDAを文字列またはバーコードまたはその両方をプリンタなどを用いて紙等に印刷し、紙のチケットもしくは有価紙葉18Aを製造する。またバーコードのデータを一部またはすべて、認証するサービス提供者のみが暗号化の鍵を知る形で暗号化していてもよい。有価紙葉18Aに含まれるOWP、A、TIDAの各変数をバーコードとして表示して印刷する場合は好ましくは2次元バーコードであり、複数または一つの1次元バーコードでもよく、カメラ等光学撮像素子430Dにて認証に用いる18Aに印刷もしくは印字されたバーコードとそのバーコードが含む数値や文字列情報を読み取ることができればよい。1Aのディスプレイ150Aの画面1500Aに表示してもよい。1500Aの表示内容を印刷し18Aとしてもよい。1500Aのディスプレイ画面と1500Aの表示画面を印刷した18Aは端末3Dの340Dにバーコード(あるいは文字列)を読み取らせることで端末3Dへユーザー識別子Aとトークン番号TIDAとパスワードOWPを伝えてもよい。有価紙葉18Aに記録するユーザー識別子Aとトークン番号TIDAとパスワードOWPの情報はNFCタグ19A(ICタグ・ICカード19A)の記録装置に記録されていてもよい。そして19Aはサービスを提供する端末3Dの通信装置32Dや341Dを介して端末3Dと通信しユーザー識別子Aとトークン番号TIDAとパスワードOWPを端末3Dに伝えてもよい。端末3DがパスワードOWPの情報を読み取り端末3Dの記憶装置30Dの認証関数3018DA(図3DAの3018DA)の引数TIDA、ユーザー識別子A、パスワードArgOWPとして変数を渡し、OTP認証関数3018DA内部ではフローチャート図6Fあるいは図6Dの処理に従い、ArgOWPに対し端末3Dに記録されたKCなどのシークレット変数のシード値と3018DAの引数であるユーザー識別子Aやトークン番号TIDAを用いてVeriOWPを計算し、3018DAに入力されたArgOWPとVeriOWPが一致するか判定し、一致するときにはOTP認証が成功したときの戻り値3021DAを関数の戻り値CTAUとして返し、3021DAを返す前に3022DAを実行するときは実行させる。端末3Dは3018DAの関数の戻り値3021DAや3022DAに従って、OTP認証が成功した場合の3021DAを得たとき、有価紙葉18Aをカメラ340Dに提示もしくはNFCタグ19Aを341Dおよび32Dに提示したユーザーUAに対して、アクセス制御装置または始動装置または開閉装置もしくは施錠及び解錠を行う施解錠装置350Dを操作する。3021DAがOTP認証が成功した場合の値であるとき、端末3Dは施錠された部分350Dを解錠するとともに351Dや352Dを用いて光や音にてユーザーUAや端末3Dの周囲に解錠ができたことを知らせることができる。3Cや3Dはネットワーク20に接続している場合にノードとなる端末としての装置を備えているときに3Aや3Bと同じくブロックチェーンのノードとなることができ、その際にはブロックチェーンに関する記録部と制御部(300Dや300Cと310Dや310C)を持つこともできる。<ICタグ等デジタル機器による認証>NFCタグ19Aは近距離無線通信装置(NFC装置)としてユーザー識別子、トークン番号、パスワードOWPを書き込むことの出来る接触式ICカード、非接触式ICタグ(RFIDタグ)、非接触式ICカード(RFIDカード)が利用できる。NFCタグ19Aは自動車等に使われうる。前記端末3Dは電気自動車のドアの施錠を解除し電気自動車のモータを動作させるモータ駆動回路を制御する端末でもよいし、エンジン車(熱機関を用いる自動車)のドアの施錠を解除しセルモータなど電動によりエンジンを始動させる装置の制御端末でもよいし、エンジンを減速もしくは徐々に停止させる制御を行える電子計算機端末でもよい。モータもしくはエンジンを航続距離や速度に応じて制御する端末3Dであって本発明の認証システムを用いて認証できたときに航続距離や速度上限といった制限をなくすことができてもよい。NFCタグ19Aは電池や入出力装置を備えない形態も考えられる。例として19AはISO14443タイプBに準拠したカード型デバイスまたはタグ型デバイスであることも考えられる。NFC19Aは本発明のOTP認証のほかに別途必要な情報を備えていてもよい。具体的にはNFCタグ19Aに秘密鍵101A2を持ち、OWP型のOTP認証を行い自動車のドアの解錠後に原動機始動時にNFCにて通信し端末3Dが101A2を用いてインターネットワーク20と接続し、ブロックチェーンのノード3Aにて、101A2に割り当てられたBnTOTP型のOTPトークンを用いてTOTPによる認証を行い、ウェブサイトへのログインと同じく自動車のオペレーティングシステムにログインすることでを始動させ、自動車を起動させてもよい。自動車がBnTOTP型の認証を行い原動機を始動させる場合に、ネットワーク20が利用できない場合(通信障害や災害等の発生時)においてもユーザーUAがNFCタグ19Aを用いて自動車を動かせるようにする必要がある。そこでNFCタグ19Aに記憶されたユーザー識別子A、トークン番号TIDA、パスワードOWPをもちいてOWP型のOTP認証を行い、予め自動車製造者により設定された航続可能距離にしたがって自動車の走行させるといった制限を与えて原動機を始動させてもよい。NFC19Aは本発明のOTP認証のほかに別途必要な装置や処理部を備えていてもよい。例としてISO14443タイプBとして動作させる装置や、自動車のキーレスエントリーシステムを実現するための無線通信装置および無線信号の暗号化などの処理は用途に応じて別途追加され利用される。本発明において近距離無線通信装置が用いる無線の周波数は本発明では特に制限しない。NFCタグ19Aがウェアラブルコンピュータ(Wearable Computer)端末に含まれていてもよい。もしくは19Aの機能をもつウェアラブルコンピュータ端末であってもよい。本発明で用いるウェアラブルコンピュータ(wearable computer)端末の種類(利用用途及び形状)に制限はないが主に腕輪型および腕時計型、指輪型、ベルト型、衣服型、靴型(履物の表面にNFCタグ19Aが備えらたもの、もしくは靴のインソール部分にNFCタグ19Aが備え付けられたもの)などである。例として、ヒトの頭部に関係する帽子型・ヘルメット型、眼鏡型・ヘッドマウントディスプレイ型、補聴器・イヤホン型、マスク型、装身具型(ペンダント、首飾り、懐中時計型など)があり、装身具の例として社員証などの身分証となるNFCタグ19Aを入れたカードケースをペンダントのように身に着けるストラップを組み合わせた身分証型ネックストラップがある。ヒトの手に関係するブレスレット型、腕時計型、手袋・グローブ型の19Aがある。ヒトの足に関係するアンクレット型、靴下型、履物のインソール型、履物の表面にNFCタグ19Aを備えた履物型の19Aがある。ヒトの衣服に用いる衣服型や身体の一部に巻くことで身に着けることができベルト型の19Aがある。身体の素肌や衣服に張り付けるシールもしくはテープ型の型のNFCタグ19Aでもよい。ウェアラブルとは言えないが身に着けられる装置という観点から見た場合にNFCタグ19Aを備えたスマートフォン型やタブレット型の携帯型コンピュータ端末4Aでもよいし、社員証でもあるNFCタグ19Aや財布型NFCタグ19A、鞄型NFCタグ19Aでもよい。19Aをある装置やモノの内部に搭載することで認証に利用できる。もしくは粘着性のテープや接着剤を備えたNFCタグ19Aをある装置やモノの表面に張り付けられたNFCタグ19Aとして利用できる。(例として紙のチケット18Aに、18Aと同じ情報を記録させたシール型・フィルム型19Aを粘着性のある両面テープや接着剤で張り付けることで、ヒトの目による目視、カメラによる読み取り、NFCによる読み取りに対応した紙のチケットを製作できる。)<有価紙葉18Aの製造>18Aの製造に関してはユーザー識別子A、トークン番号TIDA、パスワードOWPを認証に用いるとき、識別子A、トークン番号TIDA、パスワードOWPを区切り文字などを添えつつ連結して二次元バーコードもしくは複数の一次元バーコードに変換し紙に印刷する。この時、紙にはバーコードのほかにバーコードに変換する前の文字列データを可読可能な状態でバーコードと共に印刷してもよい。またバーコードの内容はサービス提供者のみが復号する鍵を知る形で暗号化していてもよい。実施例では特許2938338等に記載の二次元バーコードを用い、紙のチケットのバーコード部分を形成し、レーザープリンターもしくはインクジェットプリンターにて印刷し、紙のチケットを製造した。<ワンタイムパスワード取得時のブロック番号Bnpを認証関数の引数に追加する場合>GNSSなどの時刻データの送信局や通信装置を持たない場合においてもワンタイムパスワードBnTOTPを利用する方法がある。インターネットへの通信やGNSS等からのブロック番号や時刻情報を受信できない場合に対応するため、ワンタイムパスワード生成関数にてワンタイムパスワードBnTOTP=fh( TIDA, KC, Bnp)として生成した際に、パスワード取得時のブロック番号Bnp、トークン番号TIDA、ワンタイムパスワード
BnTOTPを有価紙葉18AもしくはNFCタグ19Aにバーコードもしくは文字列情報として記録させる。
<4C.暗号化データおよびファイルの復号と利用>図1Bに示すように本発明では、図8Aや図8Bに示す本発明のOTP認証システムを応用し、端末5Bなどから配布された暗号化されたデータ4034Aを持つ端末4Aがネットワーク20を通じて端末3Aに接続し本発明のブロックチェーンを用いたOTP認証システムを用いて認証の戻り値4031Aを取得し、ソフトウェア403A(図4Bに記載の403A、403AはソフトウェアCRHN)は少なくとも4031Aを用い、好ましくは4032Aや40302Aといった複数の鍵情報を基にソフトウェア403Aのプログラムの処理に従って暗号化データの復号及び平文データの暗号化を行う共通鍵(対称鍵)4033Aを算出し暗号化データを復号し平文データの利用を可能にする。
<4T.放送での利用(双方向でない暗号化データの流通、ライブ配信)>端末5Bの代わりに放送局端末5Cを利用できる。測位用信号をGNSS衛星5Cから端末1Aや端末4Aに測位用の無線による信号を放送し、既知の位置情報を測位するのに必要な時刻情報などに加え、ブロック番号Bnとブロック番号Bnの時間変化により動的に変わる認証用パスワードBnTOTPが信号に添付されていることによりGNSSの測位放送データの真贋を確認することの出来る手段を備えた、複数の放送局衛星5Cにより測位を行う測位システム、測位装置、測位方法に利用されうる。
<秘密鍵の不正利用を防ぐシステム>本願の図6Iの例では、サービス提供端末に対してネットワークを介して接続されたユーザ端末がサービス提供端末にアクセスした際に、前記ユーザ端末に記憶されたユーザーUAの秘密鍵に基づくユーザ識別子Aと前記トークン番号TIDAまたはその両方と、前記ユーザ端末のIPアドレスまたは位置情報または端末識別子または端末センサ値、もしくは前記IPアドレスまたは前記位置情報または前記端末識別子または前記端末センサ値のハッシュ値、もしくは前記IPアドレスまたは前記位置情報または前記端末識別子または前記端末センサ値の何れかを直接もしくは仮名化または匿名化して含む値IPV、もしくは前記IPアドレスまたは前記位置情報または前記端末識別子または前記端末センサ値の何れかを直接もしくは仮名化または匿名化して含む値IPVのハッシュ値IPVを、前記ユーザ端末より前記サービス提供端末に収集し記録させ、同一のユーザー識別子Aもしくはトークン番号TIDAもしくはその両方に対し、異なる前記IPアドレスまたは前記位置情報または前記端末識別子または前記端末センサ値もしくは前記ハッシュ値、もしくは前記値IPV、もしくは前記値IPVのハッシュ値からのアクセスが行われたか否かを検出する制御部と記憶部をサービス提供端末に備えてよい。また前記サービス提供端末に前記ユーザ端末のログイン時刻T またはアクセス時刻T または閲覧時刻Tと、ログイン履歴情報またはアクセス履歴情報または閲覧履歴情報Cntを図6Iに示すようにサービス提供端末に記録させてよい。また前記ユーザーUAの登録した電子メールアドレスや電話番号へ不正使用を通知させ又は前記ユーザー UA の秘密鍵から計算されるユーザー識別子 A に向け不正使用通知型トークンまたは通知データを分散型台帳システムまたはサービス提供端末 の記憶装置に記憶させユーザーへ通知する不正アクセス監視機能と不正アクセス通知機能を備えてよい。前記ユーザー端末の入力装置のセンサにモーションセンサまたは位置センサまたは環境センサを一つまたは複数備えセンサとして利用してよい。前記モーションセンサーには加速度センサ(加速度計)またはジャイロセンサ(角速度センサ)を備え、前記位置センサには地磁気センサまたは磁気センサまたは加速度計を備え、前記環境センサには温度センサまたは湿度センサまたは光センサまたは照度センサまたは気圧センサまたは圧力センサまたはにおいセンサを備えてよい。前記ユーザ端末は入力装置に音センサまたはタッチパネル(タッチセンサ)を備えてもよい。本願の図6Iの例ではトークン番号のデータを収集及び記録しているが、本願ではトークン番号が無くユーザー識別子と或る時刻Tのセンサ値の2つを用いて秘密鍵の不正利用を検知する事に用いてよい。
本願は他の文献として日本国の特願2021-111232を参照して引用でき、引用する。図8Aは本発明のワンタイムパスワード認証システム(OTP認証システム)においてウェブサイトにログインする際の基本的な認証システム図である。
本願は他の文献として日本国の特願2021-111232を参照して引用でき、引用する。図8Bは本発明のワンタイムパスワード認証システム(OTP認証システム)において有価紙葉の表示画面1500Aや紙のチケット等有価紙葉18AやNFCタグ19Aを用いて入場や改札、施錠された建物・乗物・設備・容器を解錠する際の基本的な認証システム図である。端末3Dはネットワークに接続されていてもよいし、接続されていなくてもよい。ここで端末3Dの記憶装置30Dのブロックチェーン記録部300Dまたは3010Aには、端末3AのOTP生成コントラクトが生成するOWP型OTPを認証できる認証関数3018A、3018DAが記録されていてもよい。認証関数3018A、3018DAに用いるKC値3011AやBC値3013Aや3030Aや3031AといったOTP計算に必要な変数情報を端末3Dに記録していてもよい。端末3Dはネットワーク20には接続されていないがサーバ端末3AのOTP生成トークンに関するコントラクト3008Aまたは3008AGにて生成されたOTP(OWP型OTP、OWP)を認証できる認証関数を3Dの記憶部30Dの300Dや3010Dに備え、ブロックチェーン部を持つ3Aとネットワーク20を通じて接続されていないオフライン状態であってもOWPなどの認証情報を記録した紙のチケット等有価紙葉やNFCタグを用いて認証を行い、入場や改札、施錠された建物・乗物・設備・容器を解錠出来てもよい。特に自動車や建物、あるいは金庫等の容器は常にインターネットワークに接続できるオンライン状態であるとは限らず、災害時にはオフラインとなりブロックチェーンへアクセスできるネットワークに接続できない恐れがあり、ネットワーク20等から端末3Dが切断された状態においても認証できることが求められうる。本発明ではOTPトークンの発行・流通・OWP型OTPの生成はオンラインにおいて端末1Aと端末3Aと端末3Eと端末1Cがネットワーク20を介してブロックチェーン部にてトークンの発行を行い端末1Aと端末3A間でOWP型の生成を行い、生成されたOWPとOWP生成に用いたトークン番号とユーザ識別子を端末1Aのプリンタ152Aにて紙に印刷・印字し印刷物18A(図2Aまたは図8Bの18A)を製造し端末3Dのカメラ340Dに18Aや1500Aのイメージ情報を読み取らせて認証させる。
本願は他の文献として日本国の特願2021-111232を参照して引用でき、引用する。<暗号化されたデータを復号する用途>図8C及び図8Dは本発明のワンタイムパスワード認証システム(OTP認証システム)において暗号化されたデータを復号し閲覧する際の装置の接続図である。図8Cはネットワーク20を経由して双方向に通信できるよう端末4A、端末1C、端末3A、端末5A,端末5Bが接続されている。図8Dは端末4A(および4Aと同等の複数端末)が放送局端末5Cから暗号化データ放送を受信し、受信した暗号化データを復号する場合の装置の接続図である。ファイルの形式等に応じてソフトウェアCRHN(403A)は平文データ4035Aの内容を読み取り、権利者が4035A設定したプログラムに応じてユーザーの端末4Aでのプリンタ452Aを用いた紙などへの閲覧情報の印刷の可否や、ディスプレイ450Aやスピーカー451Aヘッドマウントディスプレイ453Aなどへの出力の可否などを、平文データ内に書き込まれた出力の設定に応じて決定し平文データを出力装置45Aから出力させる。ヘッドマウントディスプレイによる生体認証やコンテンツの複写防止はコンテンツの保護の観点で用いるものである。ヘッドマウントディスプレイ453Aを用いる際は眼鏡型でもよく、両眼型、単眼型、非透過型、透過型の眼鏡もしくはゴーグル型装置でよい。仮想現実VR、拡張現実ARを実現する際のOTP認証システムに用いてもよい。またユーザーにコンテンツを利用させる際にそのコンテンツが擬似乱数を用いたいとき、本発明のOTPトークンから計算されるOTPを擬似乱数を実現する値に利用してもよい。例えばオンラインゲーム及びオフライン傾向(ブロックチェーンだけはオンラインだがゲームとしてはオフライン)のゲームにおいてゲーム内で何かのイベントが起きるときに擬似乱数を用いたいときに本発明のBnTOTP型のOTP認証コードを用いてもよい。OTPを疑似ランダム用途に利用する場合はOTP認証に用いるよりも少ない桁数の値、例えば本来10桁のOTPであるときその下5桁の数字を用いて疑似ランダム値の生成に用いるなどを行うと好ましい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。
 <記号・用語>次に記号と用語について説明する。DLT:( Distributed Ledger Technology) 分散型台帳技術のこと。DLS:( Distributed Ledger System)分散型台帳システム。本発明を適用するブロックチェーンシステムやDAG型システムの略号にDLSを用いた。URI:( Uniform Resource Identifier)インターネット上の情報の所在を指定する URL, URN などの総称。ウォレットソフトウェア:DLSで用いる秘密鍵を管理する。例としてパスワード付きのウェブブラウザ拡張機能等として利用される。記録された秘密鍵にてウェブページ・DLSにアクセスできる。ハードウェアウォレット:デジタル機器に秘密鍵を記録させた秘密鍵の外部記憶装置。ウォレットソフトウェアと連携できる装置もある。秘密鍵記憶装置の観点では個人番号カードとも類似する。ユーザー識別子A:秘密鍵101AからDLSの処理に従い計算される。実施例においては秘密鍵、公開鍵、公開鍵のハッシュ値、ハッシュ値の一部データを切り取りユーザ識別子として利用する。UA:端末1Aのユーザ。UB:端末1Bのユーザ。BnTOTP:ブロックチェーンなどのDLS上でブロック番号Bnとコントラクト内部のシード値KCなどを基に計算する、ブロックチェーン上の時間に基づいたワンタイムパスワードの略称。OWP:コントラクト管理者(Owner)が分散型台帳システムDLSのコントラクト内部変数KCやBCを任意時間、任意数位に書き換えることで、疑似的なOTPを生成する際のパスワードの略称。BIOS:Basic Input Output Systemの略。端末の記憶装置もしくは外部記録装置からオペレーティングシステムソフトウェアの読込、時刻情報の記録など基礎的な制御を行う。EFI:  Extensible Firmware Interfaceの略。特許出願時点で利用されている最新のBIOSの規格。ROM:Read Only Memory。データの書き込み後、読取のみできる記憶装置。RAM:Random Access Memory 。データの消去、書換が可能な記憶装置。CPU:Central Processing Unit 。 電子計算機(コンピュータ)の中央処理装置であり、制御装置と演算装置を統合したもの。SoC:System on Chip。 CPUとグラフィック処理装置、GNSSなど無線信号の受信モデム、無線通信モデムといった複数の機能を1つチップに統合したもの。通信装置や制御演算装置を構成する。MCU:Micro Control Unitの略称。マイクロコントロールユニット。NFC:Near Field Communicationの略称。近距離無線通信。
 ブロックチェーン等分散型台帳システムDLSにおいて、DLS上でワンタイムパスワード認証システムを実現した。本発明は紙のチケットにも電子的なチケットにもウェブサイトへのログインチケットにも適用でき、現実領域(物理的領域)とデジタル領域(データ領域)の両方で展開されるサービスに適用できる。OTPトークンについてはユーティリティトークンとしての利用を想定するが、法で規制される有価証券の役割をOTPトークンに持たせることも可能かもしれない。また建物の施錠に関連してや建物不動産の所有権と利用権に用いることも想定される。他にOTPトークンのOTPを擬似乱数として用い、擬似乱数生成装置に用いる用途では、現物の賽子の代わりに賽子として利用するOTPトークンのOTPを表示させ、表示された番号によってカードゲーム等の遊具を用いた遊戯が可能になるかもしれない。
1A  ユーザーUAの端末となる端末DA、端末1A(電子計算機DA、電子計算機1A。)、10A  端末1Aの記憶部 (記録装置、記録部、ROMやRAMを含む)、101A  端末1Aに記録されたユーザーの秘密鍵PRVA、101A2  端末1Aに記録されたユーザーの秘密鍵PRVA2、102A  端末1Aがネットワークを介してサーバPなどのブロックチェーン部に101Aの秘密鍵PRVAを用いてアクセスするためのブロックチェーンプログラム。ここで102Aのプログラムはブロックチェーンの識別子(ブロックチェーンの識別情報。ネットワークID、チェインID等を含む)と、アクセス先ノードとなるサーバ端末3Aを示すURI情報を含むこともできる、11A   端末1Aの制御部、110A  端末1Aのブロックチェーンへアクセスする制御処理部 、
12A   端末1Aの通信装置(入出力装置のうちの一つと考えることもできる)、120A  端末1Aの近距離無線通信(NFC装置)、121A  端末1Aの無線通信装置、122A  端末1Aの有線通信装置(必要な場合)、123A  端末1Aの放送受信装置(必要な場合。GNSSや、データ放送の受信装置を含む。無線の放送受信装置は無線通信装置に含まれていてもよい)、13A   端末1Aの制御および演算装置、
14A   端末1Aの入力装置、140A   端末1Aキーボード、141A   端末1Aのポインティングデバイス(マウス、タッチパネルなど入力装置)、142A   端末1Aのカメラもしくはスキャナ(光子を検出する固体撮像素子、イメージセンサ)、143A   端末1Aのマイク (音センサ)、144A   端末1Aのセンサ(加速度計、ジャイロセンサ、磁気センサは3次元の物理的な量を計測できてもよい。センサのうち一種類または複数種類を用いてもよい)、1440A   端末1Aの環境センサ(温度センサまたは湿度センサまたは気圧センサまたは圧力センサまたは照度センサまたは光センサ、化学センサ、においセンサ)、1441A   端末1Aの端位置センサ(磁気センサまたは地磁気センサ・磁気コンパスまたは加速度計)、1442A   端末1Aのモーションセンサ(加速度計またはジャイロセンサ)、1443A   端末1Aの生体認証センサ(必要な場合に利用。顔の情報、体温又はサーモグラフィ、声、耳の構造、手の構造、指紋、静脈等パターンを読み出せるセンサ。)、15A   端末1Aの出力装置、150A   端末1Aのディスプレイ、1500A   端末1Aのディスプレイに表示されたチケット、有価紙葉18Aの画像、OTP認証用情報、151A   端末1Aのスピーカー、152A   端末1Aのプリンタ、
 16A   端末1Aの外部記憶装置および外部入出力装置、外部コンピュータ端末、1600A  端末1AのICカードの読出し装置(接触式ICカードリーダ、非接触式ICカードリーダー)、1601A  端末1Aの接触式または非接触式のICカード、非接触式ICタグ、1602A  端末1AのICに内蔵された秘密鍵101A等、1603A  端末1Aの無線ないし有線によりDAと接続される記録装置DWALT (外部接続型ハードウェアウォレットDWALT、ICカード型、ドングル型など含む)、1604A  端末1AのDWALT1603A に記録された秘密鍵101A、もしくは秘密鍵101Aを含んだソフトウェア、1605A  端末1AのDWALT1603A に記録された秘密鍵処理ソフトウェア、1606A  端末1AのDWALT1603A の制御演算装置、処理装置(DWALTを制御するICチップ群、MCUなど)、1607A  端末1AのDWALT1603A の入出力装置、通信装置、1608A  プリンタもしくはヒトの手で紙や金属板などに印刷もしくは印字・刻印・記録された秘密鍵101A。(文字列やバーコードの形で紙や金属板・石板などに記録されていてもよい。)、
17A 端末1Aの電源装置(※本発明の装置について、前提としてコンピュータやサーバー端末、入出力装置、外部記憶装置、ネットワークは電源装置を持ち電力で駆動している。)、
18A 端末1Aのプリンタで紙などに印刷されたチケット有価紙葉、180A:18Aに記載の本発明のワンタイムタイムパスワード認証に必要なバーコードまたは文字列またはその両方の印刷情報、181A:18Aに記載バーコードまたは文字列またはその両方に含まれるトークン番号TIDAの情報、182A:18Aに記載バーコードまたは文字列またはその両方に含まれるパスワードOWPの情報、183A:18Aに記載バーコードまたは文字列またはその両方に含まれるユーザー識別子Aの情報、184A:18Aに記載のチケットまたは有価紙葉として利用するために必要な情報、図柄等、
19A 有線通信型又は近距離無線通信型のICカード、ICタグ型チケット等有価紙葉または施錠解錠等する鍵(主としてNFTタグ、NFCカード型チケット)、190A:19Aに記載の記憶装置、191A:19Aに記載の制御処理装置、192A:19Aに記載の通信装置、193A:19Aに記載の制御演算装置、194A:19Aに記載の入力装置、195A:19Aに記載の出力装置、197A:19Aに記載の電源装置、
 1B  ユーザーUBの端末DB、端末1B。1Bはスマートフォン等の携帯可能な端末でもよい。端末DBはDAと同様の機能を持ち、本発明の認証に用いるトークンを保有・利用するユーザー端末。
 1C  本発明のワンタイムパスワードに関するコントラクトを管理するユーザーUCのコンピュータ端末DC、端末1C、10C  端末1Cの記憶装置、101C   端末1Cに記録されたユーザーの秘密鍵PRVC、101C2  端末1Cに記録されたユーザーUCの任意の第二の秘密鍵PRVC2、102C   端末1Cがネットワーク20を介してサーバPなどのブロックチェーン部に101Cの秘密鍵PRVCを用いてアクセスするためのプログラム。ここで102Cのプログラムはブロックチェーンの識別子(ブロックチェーンの識別情報。ネットワークID、チェインID等を含む)と、アクセス先ノードとなるサーバ端末3Aを示すURI情報を含むこともできる。11C  端末1Cの制御部、110C  端末1Cブロックチェーンへアクセスする制御処理部 、12C  端末1Cの通信装置、13C  端末1Cの制御および演算装置、14C  端末1Cの入力装置、15C  端末1Cの出力装置、16C  端末1Cの外部記憶装置または外部コンピュータ(秘密鍵の記憶が可能なICカード、ICタグ、NFCカード、NFCタグでもよい。)、17C  端末1Cの電源装置、
 2  通信網、ネットワーク、 20  暗号化通信を行える通信経路、ネットワークNT (有線又は無線式の双方向通信経路であり、サーバー及び端末が通信網を介して接続されている。暗号化を行う通信と暗号化しない通信を行える)、 21  放送による通信経路NTB 、22  暗号化されていないネットワークNTP
 3A  サーバP、サーバ端末3A (ユーザーの接続する分散型台帳システムのノードとなる端末。 他のノードと分散型台帳部を共有。ある端末内に構築された仮想サーバでもよい。)、30A  サーバ端末3Aのサーバ記憶部(サーバPの記憶装置)、300A  サーバ端末3Aの分散型台帳記録部 (300Aはブロックチェーン型もしくはDAG型の分散型台帳もしくは分散型台帳の記録部となる)、3000A  300Aに記録された最新のブロックデータ、3001A  300Aに記録された最新のブロックにおけるブロック番号Bn、3002A  300Aに記録された最新のブロックまたはシステムにおけるタイムスタンプ値、3003A  300Aに記録された最新のブロックにおけるハッシュ値Bh、3004A  300Aに記録されたブロックチェーンを構成するノード間の投票で決まる値V、3005A  300Aに記録されたブロックチェーンのブロックサイズ値BSZ(実施例ではBlockGasLimit値)、3006A  300Aに記録されたブロックチェーンデータ部(300Aに記録された分散型台帳のデータ部。3008A・3008AG・3008AA等のコントラクトデータを記録した部分)、3007A  300Aに記録されたブロックチェーンの基礎情報(ブロックチェーンが何秒ごとに連結されるか記録したデータを含む)3008A  300Aに記録された認証関数を持つOTP生成コントラクト(ワンタイムパスワード:OTP)、3008AG  300Aに記録されたOTP生成コントラクト、3008AA  300Aに記録されたOTP認証コントラクト、3009A  300Aに記録されたOTP生成関数、3010A  300Aに記録されたOTPの生成と認証に用いるハッシュ関数fh、3011A  300Aに記録されたシークレットキー変数KC、3012A  300Aに記録された変数KCと変数BCのいずれかまたは両方を任意のブロック番号において利用できる関数fscb、3013A  300Aに記録されたコントラクト管理者であるユーザー識別子Cのみが変えることのできる変数BC、3014A  300Aに記録された3008において発行されるトークンのトークン番号とその持ち主であるユーザー識別子を対応付けたデータベース、3015A  前記3014Aにおいて、ユーザーUAの秘密鍵PRVA101Aから計算されるユーザー識別子Aとトークン番号TIDAと対応付けられた情報、3016A  前記3014Aにおいて、ユーザーUBの秘密鍵PRVB101Bから計算されるユーザー識別子Bとトークン番号TIDBと対応付けられた情報、3017A   300Aに記録されたOTPCT(OTP生成及び認証関数の実行回数等記録する部分。実施例ではトークン番号をキー、実行回数を値としたマッピング変数OTPCTを用いた)、3017AG  300Aに記録されたOTPCTG (OTP生成関数の実行回数記憶部・記録部。実施例ではトークン番号をキー、実行回数を値としたマッピング変数を用いた。)、3017AA  300Aに記録されたOTPCTA(OTP認証関数の実行回数記憶部・記録部。実施例ではトークン番号をキー、実行回数を値としたマッピング変数を用いた。)、3018A  300Aに記録されたOTP認証関数、3019A  300Aに記録されたOTP生成コントラクト識別子CPGT、3020A  300Aに記録されたOTP認証コントラクト識別子CPAT、3021A  300Aに記録されたOTP認証関数の戻り値またはデータ、3022A  300Aに記録されたOTP認証関数実行時の処理内容、処理用関数など(例として銀行口座間での送金処理、会員サイトでの投票処理など)、3023A  300Aに記録されたOTP認証関数で認証できた場合の処理に応じて書き換える変数またはデータベース(例として銀行口座の残高であって、銀行内の送金処理で書き換える口座残高)、3024A  300Aに記録されたコントラクトの看板情報KNBN(コントラクト名、作成者情報、管理者情報と連絡先、レイティング等を含み、それらを変更するセッター関数を備える)、3030A  300Aに記録されたブロック番号剰余変数m及びそのセッター関数(OTP認証期間延長用変数及び関数) 、3031A  300Aに記録されたOTP桁数調整用整数n及びそのセッター関数(OTP文字数・桁数の増減用変数及び関数)、3040A  300Aに記録されたトークン送信関数(トークン譲渡用関数)、3041A  300Aに記録された譲渡制限用変数tf、af及びそれらのセッター関数、3042A  300Aに記録されたコントラクト管理者秘密鍵漏洩対策部分、301A  サーバ端末3Aのサーバの基礎的な制御プログラム記録部、31A  サーバ端末3Aのサーバ制御部(サーバPの制御装置)、310A   サーバ端末3Aの分散型台帳システム制御部(ブロックチェーン制御処理部もしくはDAG型分散型台帳制御処理部) 、311A  サーバ端末3Aのサーバの基礎的な制御部、32A  サーバ端末3Aの通信装置、通信制御装置(サーバPの通信装置)、33A  サーバ端末3Aの処理及び制御演算装置 (サーバPの制御部、処理部、演算部装置)、34A  サーバ端末3Aの入力装置(サーバPの入力装置)、35A  サーバ端末3Aの出力装置(サーバPの出力装置)、37A  サーバ端末3Aの電源装置、3B   サーバ端末3B(サーバ端末B)、およびサーバ端末3Bやサーバ端末3Aと同じくブロックチェーンのノードになりうるサーバ群、
 3C   サーバSVLogin、サーバ端末3C(主にウェブサイトログインの場合に用いる端末。ウェブサイトなどウェブサービスを提供する端末。ある現実の端末内の仮想サーバ端末でもよい。)、30C  サーバ端末3C の記録部、300C  端末3C のブロックチェーン記録部(必要な場合。300Aと300Cは同じ)、301C  端末3C のサービス用プログラム及び記録部、3010C   端末3C のSVLoginの基礎プログラム(ウェブサイト等にブロックチェーンへ接続するプログラムを含む。銀行や電子商取引等のサービスに固有の機能を備えていてもよい)、3011C  端末3Cのアクセス検出及び監視用データベース(データ構造は図6X参照。ログイン時の時刻、ユーザー・トークン情報、IPV値、現在のサービス状態を随時記憶し監視する。)3012C  端末3Cの不正アクセス検出プログラム、3013C  端末3Cの不正アクセス通知プログラム(登録されたメールアドレスに連絡を行い、ユーザー識別子に対し専用通知トークンを送付する、トランザクションを送り異常を知らせる。)、3014C  端末3CのOTPCT変化検出部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を検出する部分)、3015C  端末3CのOTPCT変化通知部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を通知する部分)、3016C  端末3Cの顧客情報データベース(必要な場合。サービスの購入履歴等、利用資格のあるユーザー識別子やトークン番号を記録。)、31C  端末3Cのサーバ制御部、310C  端末3Cのブロックチェーン制御部(必須ではない。310Aと310Cは同じ)、311C  端末3Cのログイン及びサービス制御部、3110C  端末3CのSVLoginの基礎プログラム制御部(ウェブサイトもしくはウェブアプリにブロックチェーンへ接続するプログラムを含む)、3111C  端末3Cのアクセス検出及び監視用データベース(データ構造は図6X参照。ログイン時の時刻、ユーザー・トークン情報、IPV値、現在のサービス状態を随時記憶しモニタリングする。)、3112C  端末3Cの不正アクセス検出プログラム(同じユーザー識別子またトークン番号情報に対し異なるIPアドレスやセンサ値などIPV値によるアクセスがあるか検出する)、3113C  端末3Cの不正アクセス通知プログラム(登録されたメールアドレスに連絡を行い、ユーザー識別子に対し専用通知トークンを送付する、トランザクションを送り異常を知らせる。)、3114C  端末3CのOTPCT変化検出部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を検出する部分)、3115C  端末3CのOTPCT変化通知部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を通知する部分)、3116C  端末3Cの顧客情報データベース(必要な場合。サービスの購入履歴等、利用資格のあるユーザー識別子やトークン番号といった情報を記録。)、32C  端末3Cの通信装置、通信制御装置、33C  端末3Cの制御および演算装置、34C  端末3Cの入力装置、35C  端末3Cの出力装置、37C  端末3Cの電源装置、
 3D  サーバSVLog、端末3D (19Aや18Aと1500Aを認証する端末。アクセス制御端末3D。3Dはサーバ端末もしくはコンピュータ端末または組み込みシステム型端末)、30D  端末3Dのサーバ記憶部(30DにはOTP認証関数とOTP認証関数の計算に用いる変数や関数が記録される)、300D  端末3Dのブロックチェーン記録部(必要な場合。 300Aと300Dは同じ)、301D  端末3Dのサービス用プログラム及び記録部、3010D  端末3DのSVLogの基礎プログラム(ウェブサイトもしくはウェブアプリにブロックチェーンへ接続するプログラムを含む)、3011D  端末3Dのアクセス検出及び監視用データベース(アクセス時の時刻またはアクセス回数またはユーザートークン情報または現在のサービス状態を随時記憶する)、3012D  端末3Dの不正アクセス検出プログラム(必要な場合。3011Dに入場者の風貌等情報や解錠者のNFCタグ固有の装置ID番号等を含むとき、それを過去の情報と異なるか判断する)、3013D  端末3Dの不正アクセス通知プログラム(必要な場合。3Dを管理する人に異常を通知し、登録されたメールアドレス・ユーザー識別子に対し通知用トランザクションを送り異常を知らせる)、3014D  端末3DのOTPCT変化検出部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を検出する部分。例として端末3Dの備えられた金庫や自動車では解錠の回数を記録する)、3015D  端末3DのOTPCT変化通知部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を通知する部分。3Dがオンラインの時ネットワークを介して解錠回数変化を知らせる)、3016D  端末3Dの顧客情報データベース(必要な場合。サービスの購入履歴等、利用資格のあるユーザー識別子やトークン番号を記録)、3010DA 30Dに記録されたハッシュ関数fh、3011DA 30Dに記録されたシークレット変数KC、3012DA 30Dに記録された変数KCまたは変数BCのどちらかまたは両方を変更し更新するセッター関数fscb(端末3Dの管理者によりアクセスされる)、3013DA 30Dに記録されたコントラクト管理者によって変更される変数BC、3017DA 30Dに記録されたOTP認証関数の実行回数又は数値記録部(認証時のOTPトークンの番号をキーとしたマッピング変数等で表現される。)、3018DA 端末3Dの30Dに記録されたOTP認証関数(ノード端末3Aで生成するOTPと等しいOTPを計算できる変数と関数と処理方法を備える)、3021DA OTP認証関数の戻り値又はデータCTAU、3022DA 30Dに記録されたOTP認証時の処理内容、3023DA 30Dに記録されたOTP認証時の処理にて書き換える変数またはデータベース、31D  端末3Dのサーバ制御部、310D  端末3Dのブロックチェーン制御部(必須ではない。310Aと310Dは同じ)、311D  端末3Dのログイン及びサービス制御部、3110D  端末3DのSVLogの基礎プログラム(ウェブサイトもしくはウェブアプリにブロックチェーンへ接続するプログラムを含む)、3111D  端末3Dのアクセス検出及び監視用データベース(データ構造は図6X参照。ログイン時の時刻、ユーザー情報、トークン番号、IPV値、現在のサービス状態を随時記憶しモニタリングする。)、3112D  端末3Dの不正アクセス検出プログラム(必要な場合。)、3113D  端末3Dの不正アクセス通知プログラム(必要な場合。登録されたメールアドレスに連絡し、ユーザー識別子に対しトランザクションを送り異常を知らせる。)、3114D  端末3DのOTPCT変化検出部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を検出する部分)、3115D  端末3DのOTPCT変化通知部(必要な場合。OTP生成または認証コントラクトの実行回数の変化を通知する部分)、3116D  端末3Dの顧客情報データベース(必要な場合。サービスの購入履歴等、利用資格のあるユーザー識別子やトークン番号を記録。)、32D  端末3Dの通信装置、通信制御装置、33D  端末3Dの制御および演算装置、34D  端末3Dの入力装置、340D  端末3Dのカメラ等の文字列バーコード読取機(入場口、改札機等に設置しチケット等有価紙葉のバーコードもしくは文字列を読み取るカメラまたはスキャナ。光学撮像素子)、341D  端末3DのNFCタグの信号受信部(32Dと共有)、342D  端末3Dの入場者記録装置または入場者記録手段(防犯用カメラ等で入場または解錠者を記録する等。装置の代わりに人員を配置して入場者を観察し記録してもよい。)、35D  端末3Dの出力装置、350D  端末3Dの開閉装置・ゲート装置・施錠装置・始動装置、施解錠装置、アクセス制御装置(施錠される対象は建物の扉、自動車等乗物、工作機械、金庫等の容器、電子計算機等装置を含む)、351D  端末3Dのランプなど発光素子、発光装置(認証後、入場できるユーザーには入場可能を示す色や文字を伝え、入場できない入場不可能であることを示す色や文字を光で伝える。)、352D  端末3Dのブザーなど発音素子、発音装置(認証後、入場できるユーザーには認証できた時の音を鳴らす。入場できないユーザーに対し、警告音を鳴らし、周囲に知らせる。)、37D  端末3Dの電源装置
 3E  サーバSVtk、端末3E(端末1Aが用いるチケット等18Aやチケット及び鍵となるNFCタグ19Aのプレイガイド。端末4Aが用いる403A用の暗号化データのトークン等も販売可。)、30E  端末3E のサーバの記憶部、300E  端末3E のブロックチェーン記録部(必要な場合。 300Aと300Eは同じ)、301E  端末3E のトークン型チケット等発券情報(チケットを顧客に表示するウェブサイトもしくはアプリの情報や300A・300Eを利用したトークンとサービスのデータベースを含む)、31E  端末3E のサーバの制御部、310E  端末3E のブロックチェーン制御部(必要な場合。 300Aと310Eは同じ)、311E  端末3E の発券処理制御部(ユーザの指示に応じてトークンを販売しブロックチェーンよりチケット等の券面情報を表示し印刷可能にする部分。312E、313E、314Eを内包。)、312E  端末3E のブロックチェーン部300E及びサーバ3Eに設定されたチケットの有効期限や図柄や表示および印刷時刻、印刷時ブロック番号、タイムスタンプなどの情報を取得する部分、313E  端末3E の311E,312Eで処理された情報をアクセスを受けたユーザー識別子Aのユーザーのディスプレイに描画しチケット等有価紙葉の画像もしくは文章データとする処理部、314E  端末3Eにアクセスするユーザ端末に313Eの画像もしくは文章データを紙18Aやタグ19Aなどに印刷記録する情報を送信またはウェブブラウザ等に印刷を許可し実行させる処理部、32E  端末3E の通信装置、33E  端末3E の制御および演算装置、 3F  サーバSVfind、端末3F(ブロックチェーン部のトランザクションやコントラクト及びユーザ識別子を検索し、利用を監視し通知可能な装置。ユーザーOTPトークンの保有残高の検索確認・発行もでき、利用状態の検索と通知もできるブロックチェーン検索エンジン。)
 4A  ユーザーUPの端末となるコンピュータDP、端末4A(P:プレイヤー、再生機を備えたユーザー端末)、40A  端末4Aの記録部 (コンピュータDPの記憶装置)、401A  端末4Aに記録されたユーザーの秘密鍵PRVP(ここでPRVPはPRVAと同じくユーザー識別子Aを示す秘密鍵)、402A  端末4Aがブロックチェーンにアクセスするためのプログラム(ブロックチェーンのノード端末3AへアクセスするURIなどが記録されていてもよい)、403A  端末4Aの記録部40Aに記録された本発明を用いて暗号化ファイルを復号して閲覧するソフトウェアCRHNの情報、ソフトウェアCRHNのプログラムと関連データ、4030A  端末4Aの403AのソフトウェアCRHNのプログラム情報(ソースコードが難読化または暗号化されている。4030Aに含まれる変数も難読化または暗号化されている。ブロックチェーンのノード端末3AへアクセスするURIなどが4030Aに記録されていてもよい。秘密鍵を直接入力する機能を備えてもよい。あるいはウォレットソフトウェア機能を備えてもよい)、40301A  403Aに記載のソフトウェアアプリケーション専用の鍵を管理するコントラクトの識別子APKY、40302A  403Aに記載の内蔵した秘密鍵CRKY(ブロックチェーン部DLSにアクセスできる公開鍵暗号の秘密鍵でもよい。40302Aは4030Aに内蔵され難読化または暗号化されている)、40303A  403Aに記載のブロックチェーンから取得した鍵管理コントラクトの戻り値CAPKY(必須ではないが、さらなるセキュリティ対策とするために設定できる)、40303KA  403Aに記載のソフトウェア内部のシークレット変数K403(K403は難読化または暗号化されている)、4031A  ブロックチェーンから取得したOTP認証関数の戻り値CTAUの端末4Aにおける記憶部(CTAUは認証関数の戻り値の管理者により変更されうる)、4032A  ブロックチェーンおよびソフトウェアCRHN403Aの外部で設定されるパスワードAKTBの端末4A内の記憶部(AKTBは平文データ管理者により変更されうる)、4033A  403Aに記載の暗号化及び復号に用いる鍵情報TTKYの記憶部(少なくともCTAUを含み、そしてAKTBを用い、さらにCRKYを用い算出される鍵情報。)、4034A  403Aに用いるソフトウェアCRHNで復号する暗号されたデータまたはファイルEncData(4034Aは40Aに含まれていればよい。)、40340A  4034Aの暗号化データ本体EtData、40341A  4034Aの平文データ発行者の暗号化データ4034Aに対して付与した電子証明書EncCert(電子署名も含まれていてよい。MAC値が含まれていてもよい。無くともよい。)、4035A  403Aに用いるソフトウェアCRHNで暗号化したい平文のデータまたはファイルDecData(4035Aは40Aに含まれていればよい。DecDataはアクセス制御される。)、40350A  4035Aの平文データ本体CtData、40351A  4035Aの平文データ発行者の電子証明書DecCert(電子署名も含まれていてよい。無くともよい。)、40352A  4035Aの平文データ監査証明書AuditRat(平文データが悪意のあるプログラムではないことを示す監査証明書。または第三者のレビュー結果とレイティングあることが好ましい)、4036A  40Aに記録された閲覧済みの証明書データOFBKMK(OTP認証済みのアクセス証明書データ。災害等オフライン時アクセス用データ。4036Aは40Aに含まれていればよい。)、40360A  4036Aに記録されたCTTKYをCRHNのプログラムに内蔵した秘密鍵CRKY等で暗号化したACTTKY、40361A  4036Aに記録されたTTKYを秘密鍵PRVAで暗号化したデータCTTKY(4036Aに含まれる情報。暗号化方式は公開鍵暗号化、共通鍵暗号化どちらでも可能。)、40362A  4036Aに記録された閲覧時刻と閲覧ユーザー識別子などの情報、40363A  4036Aに記録されたHMACなど認証用情報、40362KA  40Aに記録された証明書の本文データCHT403、40363KA  40Aに記録された40362KAをメッセージとしたHMACなど認証用情報、404A  40Aに記録されたソフトウェアCRHNを動作させるオペレーティングシステム等管理プログラム、405A  40Aに記録されたコンピュータDPの外部記録装置(不揮発メモリ、ハードディスク、光ディスクなど)、41A  端末4Aの制御部、410A  端末4Aのブロックチェーンへアクセスする制御処理部、411A  端末4AのソフトウェアCRHNの制御処理部、42A  端末4Aの通信装置、421A  通信装置42Aの無線通信装置、423A  通信装置42Aの放送受信装置(必要な場合。時刻取得のためNITZ、JJY、時刻及び位置情報測位用のGNSSの受信機、暗号化データ放送受信装置を含む。)、43A  端末4Aの制御および演算装置、44A  端末4Aの入力装置、440A  端末4Aのキーボード、441A  端末4Aのポインティングデバイス(マウスや接触画面等による入力装置)、442A  端末4Aのカメラもしくはスキャナ、443A  端末4Aのマイク、444A  端末4Aのセンサ(加速度計、ジャイロセンサ、磁気センサは3次元の物理的な量を計測できてもよい。センサのうち一種類または複数種類を用いてもよい)、4440A  端末4Aの環境センサ(温度センサまたは湿度センサまたは気圧センサまたは圧力センサまたは照度センサまたは光センサ、化学センサ、においセンサ)、4441A  端末4Aの位置センサ(磁気センサまたは地磁気センサまたは加速度計)、4442A  端末4Aのモーションセンサ(加速度計またはジャイロセンサ)、4443A  端末4Aの生体認証センサ(顔の構造、体温又はサーモグラフィ、目の構造、まばたき、声、耳の構造、手の構造、指紋、静脈等パターンを読み出せるセンサ)、45A  端末4Aの出力装置、450A  端末4Aのディスプレイ、451A  端末4Aのスピーカー、452A  端末4Aのプリンタ(暗号化データのコンテンツ権利者の許可を得た場合には関連するデータを紙に二次元情報として印刷できる。プリンタの種類には立体を出力できる3Dプリンタも含む。)、453A  端末4Aのヘッドマウントディスプレイ(HMD、頭部装着ディスプレイ。装着者に暗号化データのコンテンツを閲覧させたい場合に用いる。眼鏡型ディスプレイも可)、4530A  端末4AのHMDに付属の生体認証センサ、4530Aは装着者の複数の生体情報(顔の構造、体温又はサーモグラフィ、目の構造、まばたき、声、耳の構造、手の構造、目元静脈等パターン)を測定し、装着者の存在確認と生体認証を行う。4530Aは4443Aに記載のセンサと機能を共有していてもよい。ここで4530Aのセンサは453Aを補助する入力装置。装着者の存在を確認するためのセンサであり、生体認証機能は存在確認機能に付属するものである。本発明では認証用途ではなく装着者の存在を確認する用途で、プライバシーに配慮するためにHMD装着者の目の周りの体温の測定やサーモグラフィー画像を用いることが想定される。体温は赤外線温度センサをHMD内部に設置して、装着車の目や目の周りの皮膚温度を測定する。センサの測定点は1点でもよいし、2次元にセンサを配列させ線や画像の形で測定してもよい。4530Aのセンサは装着者の目元の温度分布、装着者の目の周りの顔のサーモグラフィーを測定してプライバシーに配慮した簡易な生体認証情報及び存在確認情報として利用する。HMDのセンサが検出した温度等びそのハッシュ値は、装着者が許可する場合において、秘密鍵の不正アクセス検知の為端末5A等のサービス用サーバに通知されることがある、46A  端末4Aの外部記録装置、
5A   端末5A(暗号化ファイル復号閲覧ソフトにおける広告のアクセス先サーバ)、50A  端末5Aのサーバ記録部、500A  端末5AのSVCRHNcm動作プログラム(ソフトウェアCRHNに指定されたリンク用URIの対象となる広告情報配信などサービス用プログラム。ウェブサイトもしくはウェブアプリにブロックチェーンへ接続するプログラムを含む。)、501A  端末5Aのアクセス監視部データベース (SVCRHNcmへアクセスしたユーザ端末とトークン番号関するデータベース。ユーザー識別子またはトークン番号とIPアドレス又は位置情報又は端末ID又は端末センサ値とサービス利用状況を対応付けた情報。アクセス者情報はハッシュ化などされて個人情報を保護するよう加工されて保存されてもよい。図6Xにデータ構造を示す図表を示す。)、502A  端末5Aの不正アクセス検出プログラム(ユーザー識別子またはトークン番号に対し、異なるIPアドレス又は位置情報又は端末ID又は端末センサ値を示す端末からのアクセスを検出)、503A  端末5Aの不正アクセス通知プログラム(502Aにて不正アクセスの恐れがあるユーザー識別子へ通知用トークンの送付、または識別子に対応する電子メール・SMS等に通知する)、504A  端末5Aの顧客情報データベース(必須ではない。ユーザー識別子に対応する連絡先を記録した台帳。)、505A  端末5Aの暗号化データに埋め込まれたURI情報からアクセスされた際に配信する広告等情報(広告はトークンの看板情報や暗号化データ復号時の得られるレイティングにより内容を制御する。)、506A  端末5AのソフトウェアCRHNに含まれる情報にリンクされた広告等情報(506AはソフトウェアCRHNのバージョン更新等の通知を配信する機能を含む)、5000A  端末5Aの任意のブロックチェーン記憶部、51A  端末5Aのサーバ制御部、510A  端末5AのSVCRHNcm制御部、511A  端末5Aのアクセス監視部及び制御部、512A  端末5Aの不正アクセス監視部、513A  端末5Aの不正アクセス通知部、514A  端末5Aの顧客情報データベース管理部、515A  端末5Aの暗号化データ用広告等配信部、516A  端末5AのソフトウェアCRHN用広告等配信部、5100A  端末5Aの任意のブロックチェーン制御部52A  端末5Aの通信装置、53A  端末5Aの制御および演算装置、 5B  サーバSVCRHNdrive、端末5B (暗号化データ及びファイルの配信、共有、検索、バージョン管理を行うサーバー用途。)、5C  放送局となるサーバ端末5C、放送局端末5C、50C  端末5Cのサーバ記録部501C  端末5Cのブロックチェーンアクセス用秘密鍵、502C  端末5Cブロックチェーンアクセスプログラム、503C  端末5Cの放送用ソフトウェア(ソフトウェア403Aを含んでいてもよい。GNSSによる測位情報を放送するソフトウェアを含んでいてもよい。)、5000C  端末5Cの任意のブロックチェーンの記憶部(必要な場合)、5034C  端末5Cの放送する暗号化データ、5035C  端末5Cの放送する暗号化データの平文データ、51C  端末5Cのサーバ制御部、510C  端末5Cの制御部、5100C  端末5C任意ブロックチェーンの制御部、52C  端末5Cの通信装置、520C  端末5Cの放送用無線装置、521C  端末5Cの無線通信装置(5Cを制御する端末5CCとの連絡用)、522C  端末5Cの有線通信装置(必要な場合。)、5200C  端末5Cの放送用空中線、521C  端末5Cの双方向通信装置、53C  端末5Cの制御および演算装置、5CC  端末5Cの放送局となるサーバ端末を制御する端末もしくは装置(例として5Cが人工衛星局の時、5CCは地上局で5Cは5CCと通信し5CC経由でネットワーク20に接続されうる。)

Claims (3)

  1. ヘッドマウントディスプレイを備える電子計算機端末に、熱画像もしくは温度分布の画像情報を得られる、サーモグラフィ装置を用いる生体認証装置を、備えさせた電子計算機端末であって、前記生体認証装置は、前記サーモグラフィ装置により得られた温度分布の画像情報を基に、人物の人体の一部の温度分布の生体的特徴を検出し、前記生体認証装置の記憶装置に、記憶または登録された人物の人体の一部の温度分布の生体的特徴情報と、照合または比較を行い、生体認証を行うものであって、前記生体認証装置は人体に装着できる特徴を持ち、前記生体認証装置は前記サーモグラフィ装置を備えており、前記サーモグラフィ装置は前記生体認証装置が人体に装着された時に、人体の表面から放射される赤外線を熱画像もしくは温度分布の画像情報として、撮影またはスキャンすることにより、人体の一部の温度分布の生体的特徴情報を得ることができ、前記生体認証装置は被認証者が前記生体認証装置を装着した時に、前記サーモグラフィ装置より得られた、前記被認証者の人体の一部の温度分布の生体的特徴情報を、前記生体認証装置の前記記憶装置に記憶または登録された人物の、人体の一部の温度分布の生体的特徴情報と、照合または比較して、前記生体認証する生体認証装置であって、
    前記生体認証装置において、前記生体認証装置から見て、前記ヘッドマウントディスプレイを装着した人物の、目のまわりを含む顔の一部を撮影できるように、前記サーモグラフィ装置を、前記ヘッドマウントディスプレイに配置させ備えており、前記生体認証装置は、前記生体認証装置が取得した、前記ヘッドマウントディスプレイの装着者の、目のまわりを含む顔の一部の温度分布の生体的特徴情報と、前記生体認証装置に記憶または登録された人物の、目のまわりを含む顔の一部の温度分布の生体的特徴情報とを、照合または比較して前記生体認証を行う、前記生体認証装置を備えた電子計算機端末。
  2. 前記生体認証装置が取得した、前記ヘッドマウントディスプレイの装着者の、目のまわりを含む顔の一部の温度分布の生体的特徴情報と、前記生体認証装置に記憶または登録された人物の、目のまわりを含む顔の一部の温度分布の生体的特徴情報とを、照合または比較して前記生体認証を行った結果、前記登録された人物が、前記ヘッドマウントディスプレイを装着していると認証された時に、前記ヘッドマウントディスプレイより、コンテンツの出力を行う請求項1に記載の電子計算機端末。
  3. 前記ヘッドマウントディスプレイの、前記生体認証装置が前記生体認証を行う際に、前記サーモグラフィ装置を用いて得た、装着者の目のまわりを含む人体の温度分布の画像情報から、被認証者のまばたきの特徴を検知し、前記生体認証装置は前記生体認証装置に記憶された、まばたきの特徴に関する情報と、前記被認証者のまばたきの特徴に関する情報とを、比較又は照合して、前記生体認証をする特徴をもつ、請求項1に記載の電子計算機端末。
PCT/JP2022/026775 2021-07-05 2022-07-05 熱画像認証装置 WO2023282274A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-111232 2021-07-05
JP2021111232A JP7128597B1 (ja) 2021-07-05 2021-07-05 熱画像を用いる生体認証装置

Publications (1)

Publication Number Publication Date
WO2023282274A1 true WO2023282274A1 (ja) 2023-01-12

Family

ID=83112406

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/026775 WO2023282274A1 (ja) 2021-07-05 2022-07-05 熱画像認証装置

Country Status (2)

Country Link
JP (2) JP7128597B1 (ja)
WO (1) WO2023282274A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102520513B1 (ko) * 2021-11-16 2023-04-11 주식회사 딥이티 사용자 단말을 이용한 안면 인식 장치 및 방법
JP7372712B1 (ja) 2023-02-09 2023-11-01 株式会社チケミー トークン転送ロック制御プログラム、コンピュータ、トークン転送ロック制御方法、および許可状態変更プログラム。

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004236101A (ja) * 2003-01-31 2004-08-19 Nikon Corp ヘッドマウントディスプレイ
WO2015170663A1 (ja) * 2014-05-09 2015-11-12 アルプス電気株式会社 眼球検出装置及び眼鏡型電子機器
WO2018220963A1 (ja) * 2017-06-02 2018-12-06 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP6978168B1 (ja) * 2021-01-15 2021-12-08 克弥 西沢 認証装置および認証システム、ワンタイムパスワード生成認証装置および擬似乱数生成器、暗号化データ復号システム、ログインまたは入場または解錠システムまたはアクセス制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000182310A (ja) 1998-12-14 2000-06-30 Kobe Steel Ltd 身体装着式出力装置及び情報再生装置
JP2001312477A (ja) 2000-04-28 2001-11-09 Nippon Yunishisu Kk 認証システム、並びに、認証装置およびその方法
JP2017116768A (ja) 2015-12-25 2017-06-29 富士通株式会社 生体情報取得装置
JP6456547B1 (ja) 2018-10-08 2019-01-23 教裕 南郷 放射線に影響されにくい撮影機器並びに画像表示機器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004236101A (ja) * 2003-01-31 2004-08-19 Nikon Corp ヘッドマウントディスプレイ
WO2015170663A1 (ja) * 2014-05-09 2015-11-12 アルプス電気株式会社 眼球検出装置及び眼鏡型電子機器
WO2018220963A1 (ja) * 2017-06-02 2018-12-06 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP6978168B1 (ja) * 2021-01-15 2021-12-08 克弥 西沢 認証装置および認証システム、ワンタイムパスワード生成認証装置および擬似乱数生成器、暗号化データ復号システム、ログインまたは入場または解錠システムまたはアクセス制御システム

Also Published As

Publication number Publication date
JP2022137088A (ja) 2022-09-21
JP2023008014A (ja) 2023-01-19
JP7128597B1 (ja) 2022-08-31

Similar Documents

Publication Publication Date Title
WO2022154051A1 (ja) 認証装置および認証システム
US10262191B2 (en) System and method for manufacturing and inspecting identification documents
WO2023282274A1 (ja) 熱画像認証装置
US10164966B2 (en) Decoupling identity from devices in the internet of things
US10257495B1 (en) Three dimensional composite images of digital identifications
US9350727B2 (en) System and a method for validating an identification token
US10826900B1 (en) Machine-readable verification of digital identifications
US10331291B1 (en) Visual verification of digital identifications
KR20210041404A (ko) 전자 장치 및 그 전자 장치를 이용한 블록체인 주소 관리 방법
CN101207488A (zh) 生物认证系统和方法、以及利用者识别信息物品
JP2013504126A (ja) データ交換を認証および制御する個別の形式を備える個人用多機能アクセス装置
US10432618B1 (en) Encrypted verification of digital identifications
US11985125B2 (en) Biometrically-enhanced verifiable credentials
JP7157864B2 (ja) 分散型台帳を基に生成された動的パスワードの認証プログラム
KR20170011305A (ko) 전자 신분증, 전자 신분증의 진위 확인 시스템 및 방법
US11509477B1 (en) User data validation for digital identifications
JP2005063077A (ja) 個人認証方法、個人認証装置及びコネクタ
JP7245936B2 (ja) 認証装置および認証システム、認証処理方法
JP7007077B1 (ja) 鍵情報を持つ端末の環境に由来するデータを収集する不正アクセス防止システム
JP2005148982A (ja) ユーザ認証方法、ユーザ情報取得装置、認証サーバ装置、ユーザ情報取得装置用プログラムおよび認証サーバ装置用プログラム
Desmarais Body language, security and e‐commerce
WO2010140191A1 (ja) 情報通信ネットワーク
GB2587075A (en) Proving identity
US11615199B1 (en) User authentication for digital identifications
KR101462547B1 (ko) 생체 정보의 재사용을 방지하는 개인 인증 시스템 및 방법

Legal Events

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

Ref document number: 22837688

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE