JP6978168B1 - Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system - Google Patents

Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system Download PDF

Info

Publication number
JP6978168B1
JP6978168B1 JP2021004788A JP2021004788A JP6978168B1 JP 6978168 B1 JP6978168 B1 JP 6978168B1 JP 2021004788 A JP2021004788 A JP 2021004788A JP 2021004788 A JP2021004788 A JP 2021004788A JP 6978168 B1 JP6978168 B1 JP 6978168B1
Authority
JP
Japan
Prior art keywords
otp
terminal
function
authentication
token
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021004788A
Other languages
Japanese (ja)
Other versions
JP2022109467A (en
Inventor
克弥 西沢
Original Assignee
克弥 西沢
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 克弥 西沢 filed Critical 克弥 西沢
Priority to JP2021004788A priority Critical patent/JP6978168B1/en
Priority to JP2021121886A priority patent/JP7007077B1/en
Application granted granted Critical
Publication of JP6978168B1 publication Critical patent/JP6978168B1/en
Priority to PCT/JP2022/000970 priority patent/WO2022154051A1/en
Publication of JP2022109467A publication Critical patent/JP2022109467A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

【課題】分散型台帳システムを用いたOTPトークンの発行、認証を行うことで、コントラクトやOTPトークンの所有状態の改ざんを困難にするサービス提供システム及び装置を提供する。【解決手段】暗号化されたデータの復号と閲覧、ウェブサイトへのログイン、紙及び電子式のチケット利用と建物や設備等の解錠に利用されるOTP認証システムであって、分散型台帳システムやブロックチェーンを用い、OTPを生成するコントラクトと認証する関数を備え、コントラクト管理者のみが任意の時刻に変更できる変数を、パスワード生成及び認証を行うハッシュ関数の引数に用いてパスワードを更新する手段を備える。更に、OTP認証システムは、ブロックチェーン上のブロック番号を時刻の変化に対応する変数として用いる。【選択図】図1PROBLEM TO BE SOLVED: To provide a service providing system and an apparatus for making it difficult to falsify the possession state of a contract or an OTP token by issuing and authenticating an OTP token using a distributed ledger system. SOLUTION: This is an OTP authentication system used for decrypting and browsing encrypted data, logging in to a website, using paper and electronic tickets, and unlocking buildings and equipment, and is a distributed ledger system. A means to update a password by using a variable that can be changed at any time only by the contract administrator as an argument of a hash function that generates and authenticates a password, which has a function to authenticate with a contract that generates OTP using a blockchain or a blockchain. To be equipped with. Further, the OTP authentication system uses the block number on the blockchain as a variable corresponding to the change of time. [Selection diagram] Fig. 1

Description

本発明は、ブロックチェーンを用いある時刻Tにおいて変化可能な変数を基に動的パスワードを生成して利用者の認証を行うシステムや装置に関するものである。そして本発明を用いるサービス提供システムや装置に関する。 The present invention relates to a system or device that uses a blockchain to generate a dynamic password based on a variable that can be changed at a certain time T to authenticate a user. The present invention relates to a service providing system or an apparatus using the present invention.

インターネットの普及に伴い商取引から電子商取引、対面の銀行取引からインターネットバンキング(ネットバンキング)へと、現実空間のサービスをコンピュータとネットワークを用いたデジタル空間で行う事が可能となっている。電子メールの閲覧、動画音楽サイトの閲覧、ソーシャル・ネットワーキング・サービス、ネットバンキング、電子商取引サイトへのログインへのログインなど認証によるログインを伴ったウェブサービスは拡大している。
インターネットサービスにおいてを用いて顧客にウェブサイトでサービスを提供する際に、サービスに登録した顧客へ電話番号あるいはユーザーID(あるいはユーザのニックネーム)、電子メールアドレスとパスワードを登録させ、ウェブサイトにログインさせる。ここでウェブサイトにログインしたのち、価値の高いデータを操作する場合がある。
例えばインターネットバンキングにおいて他者の銀行口座に振り込むときに、ログインに利用したパスワードとは異なる認証法を持ちいて、ログインしている者が利用者本人かどうかの確認をする必要がある。パスワードのみではその情報が他者に漏洩し悪用された場合に、インターネットバンキングに不正にアクセスされ資産の移動を支持され資産を悪意のある者に奪われかねない。
With the spread of the Internet, it has become possible to provide real-world services in digital space using computers and networks, from commercial transactions to electronic commerce and from face-to-face bank transactions to Internet banking (net banking). Web services with authenticated logins, such as browsing e-mail, browsing video and music sites, social networking services, internet banking, and logging in to e-commerce sites, are expanding.
When providing a service to a customer on a website using an internet service, the customer registered for the service is required to register a telephone number or user ID (or user's nickname), e-mail address and password, and log in to the website. .. After logging in to the website here, you may operate high-value data.
For example, when transferring money to another person's bank account in Internet banking, it is necessary to have an authentication method different from the password used for login and confirm whether the logged-in person is the user himself / herself. If the information is leaked to others and misused with the password alone, the property may be stolen by a malicious person by illegally accessing the Internet banking and supporting the movement of the asset.

そこでユーザー本人を確認する方法にパスワード以外の方法を組み合わせる必要がある。
本人を確認し認証する方法として多く分けて、1.本人が知る知識、2.本人の持つ所有物、3.本人の生体特徴の3つがある。例として次の例が挙げられる。
1.本人が知る知識は合言葉、パスワード、4桁の暗証番号などである。
パスワードは静的である。攻撃者がパスワードを不正入手したりパスワード総当たり攻撃などを行う事も想定される。パスワード総当たり攻撃に対しては本人が定期的に異なる時刻において更新し動的なパスワードとする必要がある。4桁の暗証番号に関しては0000から9999までの暗証番号を総当たりで入力する総当たり攻撃が行われることが想定される。
それに対抗するために認証が成功しない回数を記録し、連続で3回から5回程度認証の失敗が生じた場合認証を行わせなくする方法がとられる。暗証番号による認証を実行した回数を記録し、それが成功した場合に回数をゼロに戻し、回数が一定数を超えると認証の実行そのものを行えなくする処理を行うことが考えられる例えば日本国において利用されている個人番号カードにおいて暗証番号は3回から5回間違えると利用が停止される。
2.本人の持つ所有物は動的パスワード生成器やICキャッシュカード、個人番号カードである。(電子計算機の分野の外では木材や金属等で作製された鍵や印鑑なども認証に使う所有物に属する。)
本発明では一般の人間が記憶できないほど長くランダム性のあるパスワード、例えば公開鍵暗号に256ビットの秘密鍵データを使う場合、その秘密鍵は紙などに印刷するかデジタル機器に記録して利用するので所有とみなす。またICカードのうち個人番号カードは電子証明書のデータを含んでおり、個人番号カードのICチップに記録された秘密鍵のデータ・情報は外部に取り出すことができないので所有とみなせる。
一般に人間が記憶できる数字や文字の個数は7プラスマイナス2とされている(注1)。7を超える数、例えば256ビットで2の256乗の数を表現できる32バイトの秘密鍵や、個人番号カードに採用される2048ビットの秘密鍵は人間が記憶できず、秘密鍵のデータ(秘密鍵情報)を紙などに印刷もしくは板材などに刻印するか、レコード盤や磁気テープに記録するか光ディスク、磁気ディスク、半導体メモリなどのデジタル機器に記憶させる必要があり、本人の知る知識というよりは本人の所有するものである。
秘密鍵は印鑑や金属製の鍵と同じくそれを表すデータが漏洩した場合には複製されるリスクがある。その一方で生体認証情報のように更新不可能ではなく利用者の求めに応じて、不正利用されている秘密鍵の利用を停止し、新たな秘密鍵を利用者に割り当てて、対応付けをして、秘密鍵の切り替えを行うことができる。秘密鍵の情報は一つに定めなくてもよい。
秘密鍵や動的パスワード生成器はセキュリティを向上させるため、利用者とサービス提供者の間で定期的に更新することができる。動的パスワード生成器や秘密鍵の更新はそれに対応したサービスに対応する認証手段を提供する個人や法人が行う。動的パスワードの他、顧客に番号表を送付しその番号表に従った正しい数値文字の入力がログイン後のウェブサイトで行えるか調べる認証法も存在する。
これらの方法においてサービスを行うもの(銀行など)とユーザーの間で合意形成が続くことが重要であり、合意形成を助ける手段に本発明も含むデジタルな認証手段は利用される。本発明はTOTPトークンや紙の有価紙葉や金属の鍵などのようにあくまで道具であり、それらを使いサービスを受けられるかはユーザーとサービス提供者の合意や各国の法に基づく。
(注1)Miller, G. A. (1956). The magical number seven, plus or minus two: some limits on our capacity for processing information. Psychological Review , 63( 2 ) , 81 - 97.
3.本人の生体特徴は指紋や顔、虹彩、声、静脈パターン情報、遺伝子情報など身体情報と、筆跡や歩行、話者認証など行動的特徴を利用するものがある。
生体認証は利用者の備える情報を用いるので、認証の鍵となる情報はその利用者の身体が健在であれば利用者と共にあり、金属の鍵などと比べると紛失する可能性が低い。この特性を用いてコンピュータ端末機器などのソフトウェアにおいて簡易なログインに用いる。
一方で生体情報の変更は困難である。生体情報が流出した場合、金属の鍵やパスワードのように変更することが困難である。生体認証を行う鍵である生体データをもとに偽の生体的特徴を複製して錠となる認証用のセンシング装置を誤認させ突破することも考えられる。
また指紋などは利用者がログインをしたいという意志がなくとも機器を解除できてしまう。すなわち攻撃者が利用者の意志が明確でないときに利用者の身体を使い無理やり認証を行う恐れもある。
生体認証では認証する装置に本人のデータが伝えられたことがわかるのであって、本人の意志によるものかの断定はさらなる要素が必要になる。したがって生体特徴を認証に使う場合は知識、もしくは所有物による認証と組み合わせ多要素認証とすることが好ましい。
銀行の提供するインターネットバンキングのサービスなど資産を扱う場合には生体認証などをログインパスワードの代わりに用い、さらに本人の持つ所有物を認証に使う手段(パスワード生成器)を併用し多要素、多段階の認証を行いセキュリティを高めている。
Therefore, it is necessary to combine a method other than a password with a method for verifying the user's identity.
There are many ways to verify and authenticate the person. Knowledge that the person knows, 2. Owned property of the person, 3. There are three biological characteristics of the person. The following is an example.
1. 1. The knowledge that the person knows is a password, a password, a 4-digit PIN, and so on.
The password is static. It is also assumed that an attacker illegally obtains a password or conducts a password brute force attack. For password brute force attacks, the person must periodically update at different times to use a dynamic password. For a 4-digit PIN, it is assumed that a brute force attack will be performed in which a PIN from 0000 to 9999 is entered in a round-robin manner.
In order to counter this, the number of times the authentication is not successful is recorded, and if the authentication fails about 3 to 5 times in a row, the method of not performing the authentication is taken. For example, in Japan, it is conceivable to record the number of times authentication by PIN is executed, return the number to zero if it succeeds, and disable the execution of authentication itself when the number of times exceeds a certain number. If you enter the wrong PIN 3 to 5 times on the Individual Number Card being used, the use will be stopped.
2. 2. The person's possession is a dynamic password generator, an IC cash card, and an individual number card. (Outside the field of computers, keys and seals made of wood, metal, etc. also belong to the property used for authentication.)
In the present invention, when a password having a randomness that is too long to be remembered by a general person, for example, 256-bit private key data for public key cryptography, the private key is printed on paper or recorded on a digital device for use. So it is considered to be owned. In addition, among the IC cards, the personal number card contains the data of the electronic certificate, and the data and information of the private key recorded on the IC chip of the personal number card cannot be taken out to the outside, so it can be regarded as possession.
Generally, the number of numbers and letters that humans can memorize is 7 plus or minus 2 (Note 1). Humans cannot remember the 32-byte secret key that can express a number exceeding 7, for example, the number of 2 to the 256th power with 256 bits, and the 2048-bit secret key used for personal number cards, and the secret key data (secret). It is necessary to print the key information) on paper or engrave it on a board, record it on a recording board or magnetic tape, or store it in a digital device such as an optical disk, magnetic disk, or semiconductor memory. It is owned by the person.
Like stamps and metal keys, private keys are at risk of being duplicated if the data representing them is leaked. On the other hand, unlike biometric information, it is not non-updatable, and at the request of the user, the use of the illegally used private key is stopped, a new private key is assigned to the user, and the correspondence is performed. The private key can be switched. The private key information does not have to be set to one.
Private keys and dynamic password generators can be updated regularly between users and service providers to improve security. The dynamic password generator and private key update are performed by individuals and corporations that provide authentication means corresponding to the corresponding services. In addition to dynamic passwords, there is also an authentication method that sends a number table to the customer and checks whether the correct numerical characters can be entered on the website after login according to the number table.
In these methods, it is important that consensus building continues between the service provider (bank, etc.) and the user, and digital authentication means including the present invention are used as means for assisting consensus building. The present invention is just a tool such as a TOTP token, a valuable paper leaf, a metal key, etc., and whether or not the service can be received by using them is based on the agreement between the user and the service provider and the law of each country.
(Note 1) Miller, GA (1956). The magical number seven, plus or minus two: some limits on our capacity for processing information. Psychological Review, 63 (2), 81 --97.
3. 3. The person's biological characteristics include those that use physical information such as fingerprints, face, iris, voice, vein pattern information, and genetic information, and behavioral characteristics such as handwriting, walking, and speaker recognition.
Since biometric authentication uses information provided by the user, the key information for authentication is with the user if the user's body is alive, and is less likely to be lost compared to a metal key or the like. This characteristic is used for simple login in software such as computer terminal devices.
On the other hand, it is difficult to change biometric information. When biometric information is leaked, it is difficult to change it like a metal key or password. It is also conceivable to duplicate a fake biometric feature based on biometric data, which is the key to biometric authentication, to misidentify and break through the authentication sensing device that becomes a lock.
In addition, fingerprints and the like can be unlocked even if the user does not have the intention to log in. That is, there is a possibility that the attacker forcibly authenticates using the user's body when the user's intention is not clear.
In biometric authentication, it can be seen that the data of the person is transmitted to the device to be authenticated, and further factor is required to determine whether the data is based on the person's will. Therefore, when biometric features are used for authentication, it is preferable to use multi-factor authentication in combination with authentication based on knowledge or possessions.
When dealing with assets such as Internet banking services provided by banks, biometric authentication is used instead of the login password, and a means (password generator) that uses the person's possession for authentication is also used in multiple elements and stages. Authentication is performed to enhance security.

ここで本人の持つ所有物を認証に使う手段の一つにハードウェア型の動的パスワード生成器が挙げられる。動的パスワードの生成アルゴリズムとしてRFC6238規格が知られる。RFC6238規格では時刻に基づいて生成される動的に変化する一度限りのパスワードを利用している。このような時間によって変化する一度限りの使い捨てパスワードを時間ベースのワンタイムパスワード(TOTP、Time−Based−One−Time−Password)という。TOTPはハードウェア型及びソフトウェア型のワンタイムパスワード表示器に利用できる。ある決められた時間ごとにTOTPは変化する。
TOTPを用いて本人宛てに送付したワンタイムパスワード(OTP、One−Time−Password)表示器に表示された7から6桁数字のパスワードを、インターネットバンキングのウェブサイトやスマートフォンのアプリ等に入力しTOTP認証を行いウェブサイトでの操作を実行することで、本人確認が行われたとみなし、指示されたプログラムを動作させ、他行の他者の銀行口座への振込など重要な処理を行う。
本人の持つワンタイムパスワード生成器と本人が知る知識のパスワードとを併用し二要素認証を実現でき、セキュリティを向上させることができる。
Here, one of the means for using the person's possession for authentication is a hardware-type dynamic password generator. The RFC6238 standard is known as an algorithm for generating a dynamic password. The RFC6238 standard uses a dynamically changing one-time password that is generated based on time. Such a one-time disposable password that changes with time is called a time-based one-time password (TOTP, Time-Based-One-Time-Password). TOTP can be used for hardware-type and software-type one-time password indicators. TOTP changes at certain fixed times.
Enter the 7 to 6 digit password displayed on the one-time password (OTP, One-Time-Password) display sent to you using TOTP into the Internet banking website or smartphone app, etc., and then enter TOTP. By performing authentication and performing operations on the website, it is considered that identity verification has been performed, the instructed program is operated, and important processing such as transfer to another bank's bank account is performed.
Two-factor authentication can be realized by using the one-time password generator owned by the person and the password of the knowledge known by the person together, and security can be improved.

一方で既存のワンタイムパスワード生成器にも課題があった。例としてインターネットバンキング等のサービスを行う既存のハードウェア型ワンタイムパスワード表示器(ハードウェア型TOTPトークン)では、銀行のサーバ端末とパスワード表示器との時刻を同期させる必要があり、ハードウェア型TOTPトークンが備える時計としての機能を維持し時刻を同期するために利用する電池については電池消耗が起きるため、定期的に電池交換を行うことが必要となり、ワンタイムパスワードの更新する際に顧客に新たなハードウェア型TOTPトークンを郵送ないし配達する必要があり、送料が掛かるという課題があった。
またRFC6238規格(非特許文献3)によればパスワードはハッシュ関数の引数に時間Tと、秘密にする必要のあるキー情報K(シード値Kまたはシークレット変数K)を用いてハッシュ値を計算するが、Kについての情報が漏洩した場合にはユーザーのハードウェア型TOTPトークンをすべて更新する必要がある。そこで漏洩の有無に限らずKを定期的な電池交換の際にトークンごと更新することセキュリティを保つともできる。
また既知のハードウェアTOTPトークンの認証用パスワードの表示整数が6桁から7桁であるが、ワンタイムパスワード(OTP)トークンの総当たり攻撃を行う計算機の処理能力が増加する場合には表示整数の桁数を増加させ12ケタなどに更新し変更できてもよく、表示する際の時刻も更新し変更できれば良いかもしれないと発明者は考えた。(発明者は将来に既知の計算機を凌駕する処理力を持つ計算機端末による総当たり攻撃に対抗するためにOTPトークン表示桁数を増減し表示時間も増減できれば良いと考えた。)
On the other hand, the existing one-time password generator also had a problem. As an example, with existing hardware-type one-time password indicators (hardware-type TOTP tokens) that provide services such as Internet banking, it is necessary to synchronize the time between the bank's server terminal and the password indicator, and hardware-type TOTP. Since the battery used to maintain the function of the token as a clock and synchronize the time will be exhausted, it will be necessary to replace the battery regularly, and it will be new to the customer when updating the one-time password. There was a problem that it was necessary to mail or deliver a hardware-type TOTP token, and shipping costs were incurred.
Further, according to the RFC6238 standard (Non-Patent Document 3), the password calculates the hash value by using the time T as the argument of the hash function and the key information K (seed value K or secret variable K) that needs to be kept secret. If the information about K is leaked, it is necessary to update all the user's hardware type TOTP tokens. Therefore, regardless of the presence or absence of leakage, it is possible to maintain security by updating K together with the token at the time of regular battery replacement.
In addition, the display integer of the authentication password of the known hardware TOTP token is 6 to 7 digits, but if the processing capacity of the computer that performs the one-time password (OTP) token brute force attack increases, the display integer will be displayed. The inventor thought that it would be good if the number of digits could be increased and updated to 12 digits, etc., and the display time could also be updated and changed. (The inventor thought that it would be good if the number of OTP token display digits could be increased or decreased and the display time could be increased or decreased in order to counter brute force attacks by computer terminals with processing power that surpasses known computers in the future.)

また発明者はウェブサイトでのOTPトークンによるログイン方法を暗号化されたファイルで行う手段を探索していた。ある特定の個人法人や団体に対して伝えたい平文のデータファイルを暗号化してそのアクセス権となる鍵を用い復号できれば機密情報やコンテンツの配布におおいに役立つと考えた。
暗号化したファイルの閲覧に固定式のパスワードを利用することが一般的であるが、これをTOTPを用いて暗号化を解除し復号後に閲覧・実行・利用出来るようにして、暗号化を解くことの出来る鍵となる閲覧権をハードウェアトークンのようにトークン化してやり取りし、機密情報の取引やあるコミュニティ内部での情報、電子書籍のような利用、事務処理ソフトウェア等の復号、閲覧、利用を行うソフトウェアを備えた装置を提供したいという課題があった。さらにコンテンツを災害時などオフライン時でも閲覧できるようにすることも必要と考えた。
ファイルの閲覧に加えて、ネットバンキングサイト等ウェブサイトへのログインシステム、現実世界でのチケットとその読み取りシステムや施錠部の解錠システムや乗り物や装置や計算機端末の始動システムも必要と考えた。そして現実世界とウェブサービス及びデジタル世界の双方で利用できるアクセス制御システムを使用できるようにしたいと考えた。
The inventor was also searching for a way to log in with an OTP token on a website using an encrypted file. I thought that it would be very useful for the distribution of confidential information and contents if the plaintext data file that I wanted to convey to a specific individual corporation or group could be encrypted and decrypted using the key that is the access right.
It is common to use a fixed password to view encrypted files, but decrypt this by decrypting it using TOTP so that it can be viewed, executed, and used after decryption. The key viewing rights that can be used are converted into tokens like hardware tokens and exchanged to exchange confidential information, information within a certain community, use like electronic books, decryption, viewing, and use of paperwork software, etc. There was a problem of wanting to provide a device equipped with software to perform. Furthermore, I thought it was necessary to make it possible to view the content even when offline, such as in the event of a disaster.
In addition to browsing files, we also needed a login system for websites such as online banking sites, a real-world ticket and its reading system, an unlocking system for locking parts, and a starting system for vehicles, devices, and computer terminals. He wanted to be able to use access control systems that are available in both the real world and the web services and digital world.

ここで非特許文献1や非特許物件2のようにブロックチェーン型もしくは有向非巡回グラフ型のデータ構造を持ち、分散された端末間で改ざん困難な分散型台帳システムDLSを用いて暗号資産の発行や譲渡取引の記録、DLS上でのトランザクションにプログラムコードを記録させブロックチェーンなどの改ざん困難なデータ構造の中に保存して運用するスマートコントラクト(コントラクト)という技術が利用可能となった。
特許文献1は音楽の権利に関するブロックチェーンまたは分散型台帳技術DLTの利用例の一つであり、特許文献2も分散型台帳の1つのコントラクトで複数のファイル管理システムの情報を管理するシステムの例である。コントラクトを用いコントラクトに属する変数や関数といったプログラム情報が改ざんされずに分散型台帳に記録されネットワークを介してノードとなる端末が世界中に分散可能であって、前記のノードで構成される分散型台帳システムDLSにコントラクトというプログラムを世界中に展開(デプロイ)し国境を越えてサービスを提供しうる事が分散型台帳技術および分散型台帳システムの特徴である。
Here, as in Non-Patent Document 1 and Non-Patent Property 2, cryptographic assets are stored using the distributed ledger system DLS, which has a blockchain type or directed acyclic graph type data structure and is difficult to tamper with among distributed terminals. A technology called smart contract (contract) has become available, which records issuance and transfer transactions, records program codes in transactions on DLS, and stores and operates them in data structures that are difficult to tamper with, such as blockchain.
Patent Document 1 is an example of using the blockchain or distributed ledger technology DLT related to music rights, and Patent Document 2 is also an example of a system that manages information of a plurality of file management systems with one contract of the distributed ledger. Is. Program information such as variables and functions belonging to the contract is recorded in the distributed ledger using the contract, and the terminals that become nodes via the network can be distributed all over the world, and the distributed type composed of the above nodes. It is a feature of the distributed ledger technology and the distributed ledger system that a program called a contract can be deployed (deployed) to the ledger system DLS all over the world and services can be provided across national borders.

特許第6757042号Patent No. 6757042 特開2020−144586公報Japanese Unexamined Patent Publication No. 2020-144586

Vitalik Buterin 、Ethereum White Paper A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM 、[ online] 、 [ 西暦2020年、令和2年11月16日検索]、インターネット〈URL:https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf〉Vitalik Buterin, Ethereum White Paper A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM, [online], [Search on November 16, 2020, Reiwa 2], Internet <URL: https://cryptorating.eu/whitepapers/ Ethereum / Ethereum_white_paper.pdf> IOTA財団、Differences between the Tangle and blockchain 、[ online] 、 [ 西暦2020年、令和2年11月16日検索] 、インターネット〈URL:https://docs.iota.org/docs/getting-started/1.1/the-tangle/tangle-vs-blockchain〉IOTA Foundation, Differences between the Tangle and blockchain, [online], [Search November 16, 2020, Reiwa 2], Internet <URL: https://docs.iota.org/docs/getting-started/ 1.1 / the-tangle / tangle-vs-blockchain > Internet Engineering Task Force ( IETF ) 、 TOTP: Time-Based One-Time Password Algorithm 、[ online] 、 [ 西暦2020年、令和2年11月16日検索] 、インターネット〈URL:https://tools.ietf.org/html/rfc6238 〉Internet Engineering Task Force (IETF), TOTP: Time-Based One-Time Password Algorithm, [online], [Search on November 16, 2020, Reiwa 2], Internet <URL: https://tools.ietf .org / html / rfc6238 >

解決しようとする問題点は、既知のハードウェア型TOTPトークンが電池交換が必要でトークンのキー情報Kをサービス提供者またはトークンの管理者が更新できないという点である。また暗号化された書籍などのコンテンツをOTPをもちいて閲覧できる方法が少ないということが問題であった。さらにそれら問題を解決したOTPトークンを例えばウェブサイトのログイン用チケットや改札、映画館などの入場口への入場チケットや、設備及び建物の施錠および解錠システムに提供されていないという点も課題であった。 The problem to be solved is that known hardware TOTP tokens require battery replacement and the token key information K cannot be updated by the service provider or token administrator. Another problem is that there are few methods for viewing encrypted books and other content using OTP. Another issue is that OTP tokens that solve these problems are not provided to, for example, website login tickets, ticket gates, entrance tickets to movie theaters, and equipment and building locking and unlocking systems. there were.

本発明は、TOTPの生成においてTの値に主に分散型台帳システムにおいてブロックチェーンのブロック番号Bnを用いること、またはブロックチェーン等分散型台帳システムにおいてKやTをスマートコントラクトの管理者が変更することで動的なパスワードを生成可能にすることを大きな特徴とする。
Tの値はある時刻に変化する値TmまたはTBであって、Tmが分散型台帳システムの時刻変化(時間変化)により自動的に変わるブロック番号Bnを用いるか、スマートコントラクト(コントラクト)の管理者が手動にてTmやKを変えるためのデータ値変更のトランザクションを分散型台帳システムに送信することで変更し更新するかの違いがある。コントラクト管理者が手動にてトランザクションを分散型台帳システムに送信することでKを変更し更新することはTOTPトークンのKを更新することにつながるため本発明では必要な要素である。
(本発明ではコントラクト管理者が手動にてトランザクションを分散型台帳システムに送信することで変更し更新する事を前提とするが、そのほかにOTPトークンの持ち主のユーザーが設定した送信したトランザクションやOTPトークンの持ち主でないユーザーの送信したトランザクションによるデータ値を用いてもTOTPのK値を変えることができる場合もある。)
In the present invention, the block number Bn of the blockchain is mainly used for the value of T in the generation of TOTP in the distributed ledger system, or K and T are changed by the smart contract administrator in the distributed ledger system such as the blockchain. It is a major feature that it enables the generation of dynamic passwords.
The value of T is a value Tm or TB that changes at a certain time, and Tm uses the block number Bn that automatically changes according to the time change (time change) of the distributed ledger system, or the administrator of the smart contract (contract). There is a difference between changing and updating by manually sending a transaction for changing the data value to change Tm and K to the distributed ledger system. Changing and updating K by manually sending a transaction to the distributed ledger system by the contract administrator leads to updating K of the TOTP token, which is a necessary element in the present invention.
(In the present invention, it is assumed that the contract administrator manually sends the transaction to the distributed ledger system to change and update the transaction, but in addition to this, the transmitted transaction or OTP token set by the user who owns the OTP token. In some cases, the K value of TOTP can be changed by using the data value of the transaction sent by the user who does not own the TOTP.)

本発明を説明する。本発明ではブロックチェーンのブロックナンバーに着目した。説明のためブロックナンバーを本発明ではブロック番号Bnと言い換える。ブロック番号BnをTOTPで用いる時間による数値Tに用いることを本発明では考案した。本発明ではその方式を及びワンタイムパスワードをBnTOTPと呼称する。(本発明の実施例ではブロックチェーン型のデータ構造を用いる分散型台帳システムの一つであるイーサリアムを用いておりイーサリアムではブロック番号Bnはブロックナンバーと呼称される。)
この名称はブロックチェーンが最初のブロックデータ(ブロック番号が0番目の場合)から数えてBn番目にある時の番号Bnを時刻や時間の変化を表す変数Bnとして用いTOTPを動作させているためBnTOTPと呼称する。なおBnはBnTOTPの計算の基になる数字でありそれを加工した値(Bnを基にあるハッシュ関数によりハッシュ値を求めBnに応じて変わる変数)を利用してBnTOTPを生成してもよい。
またTOTPのような時間に基づいて動的なワンタイムパスワード(OTP)トークンを生成することに加え、任意の時間にブロックチェーンにアクセスしブロックチェーンにデプロイされたOTPを計算するコントラクトの変数のうちキー情報Kを変更することで時間Tによる情報を用いなくてもOTPトークンのシード値を更新することで動的なパスワードOWP(OwnerPassword)が利用できることに着目し、TOTP(BnTOTP)とOWPの双方を用いる認証システムを考案し実施する。
本発明ではOWPはブロック番号等のブロックチェーンの最新の時刻に関する情報を用いないが、その認証システムのブロックチェーン上のコントラクトを管理するコントラクト管理者がコントラクトの内部変数の状態を任意時刻に書き換えることでコントラクトに帰属するすべてのOWP方式のOTPトークンのパスワード生成値が更新される動的パスワードの方式をOWPと呼称する。
TOTP(BnTOTP)とOWPの双方においてコントラクトの内部変数は一つのコントラクトに限らず異なるコントラクトから呼び出されたものでもよい。
BnTOTPはブロック番号Bnがブロックチェーン上で時計の自動的に変化することを計算に利用し、OWPはブロックチェーン上の変数がある任意の時刻に管理者や一般のユーザーがアクセスし書き換えることで変化させられることを利用する。
OWPにおいて管理者のユーザーがユーザー端末において定期的にブロックチェーンに署名済みトランザクションを送付することでシード値を更新できるとき、OWPはBnTOTPやTOTPと同じように運用できる。ただしBnTOTPではシード値変更のトランザクションは不要であるのに対しOWPではトランザクションが必要である。OWPとBnTOTPを例えば60秒ごとに更新されるパスワード生成器として用いる場合はOWPの場合は60秒ごとに手動又は自動化してトランザクションデータを送信する必要がありブロックチェーン上に蓄積するデータ量はBnTOTPよりも増大しブロックチェーンのノードとなる端末の記憶装置の記憶域を占有する。そのため本発明では用途に応じてBnTOTPとOWPを使い分ける。
BnTOTPはネットワークを介して数十秒ごとにBnTOTP値を更新することを望むネットワークに接続されるウェブサービス等に用い、OWPはネットワークから切断されている場合や長期間(数カ月から数年)にわたり同一のOWP値となってもよいウェブサービスや紙やNFCタグなどを用いた有価紙葉や施錠を解錠する鍵用途に用いる。
The present invention will be described. In the present invention, attention is paid to the block number of the blockchain. For the sake of explanation, the block number is paraphrased as the block number Bn in the present invention. It was devised in the present invention that the block number Bn is used for the numerical value T depending on the time used in TOTP. In the present invention, the method and the one-time password are referred to as BnTOTP. (In the embodiment of the present invention, Ethereum, which is one of the distributed ledger systems using the blockchain type data structure, is used, and in Ethereum, the block number Bn is called a block number.)
This name is BnTOTP because TOTP is operated by using the number Bn when the blockchain is the Bnth from the first block data (when the block number is the 0th) as the variable Bn representing the time and time change. Is called. Note that Bn is a number that is the basis of the calculation of BnTOTP, and BnTOTP may be generated by using a processed value (a variable obtained by obtaining a hash value by a hash function based on Bn and changing according to Bn).
In addition to generating time-based dynamic one-time password (OTP) tokens such as TOTP, it is one of the contract variables that accesses the blockchain at any time and calculates the OTP deployed on the blockchain. Focusing on the fact that a dynamic password OWP (OwnerPassword) can be used by updating the seed value of the OTP token without using the information by time T by changing the key information K, both TOTP (BnTOTP) and OWP Invent and implement an authentication system that uses.
In the present invention, the OWP does not use information about the latest time of the blockchain such as the block number, but the contract administrator who manages the contract on the blockchain of the authentication system rewrites the state of the internal variable of the contract to an arbitrary time. The dynamic password method in which the password generation value of all OWP method OTP tokens belonging to the contract is updated is called OWP.
In both TOTP (BnTOTP) and OWP, the internal variables of the contract are not limited to one contract and may be called from different contracts.
BnTOTP uses the fact that the block number Bn automatically changes the clock on the blockchain, and OWP changes when a variable on the blockchain is accessed and rewritten by an administrator or a general user at any time. Take advantage of being forced.
OWP can operate in the same way as BnTOTP and TOTP when the administrator user can update the seed value by periodically sending a signed transaction to the blockchain at the user terminal in OWP. However, while BnTOTP does not require a transaction for changing the seed value, OWP requires a transaction. When using OWP and BnTOTP as a password generator that is updated every 60 seconds, for example, in the case of OWP, it is necessary to manually or automatically transmit transaction data every 60 seconds, and the amount of data accumulated on the blockchain is BnTOTP. It occupies the storage area of the storage device of the terminal that becomes a node of the blockchain. Therefore, in the present invention, BnTOTP and OWP are used properly according to the intended use.
BnTOTP is used for web services connected to a network that wants to update the BnTOTP value every few tens of seconds via the network, and OWP is the same when disconnected from the network or for a long period of time (months to years). It is used for web services that may have an OWP value of, and for key applications that unlock valuable paper leaves and locks using paper or NFC tags.

なお本発明ではブロックチェーン基盤の一つであるイーサリアム(Ethereum、非特許文献1)を用いてブロックチェーンとスマートコントラクトを用いBnTOTPやOWPを生成し認証させるOTPトークンとそのコントラクトを用いた認証システムを考案し実施した。本発明はイーサリアムを基盤として開発を行っておりブロックチェーンを構成するノードとなる端末の説明やユーザー端末の説明の一部は非特許文献1 の解説のとおりであり、本特許願には詳細を記述していない。
そして本特許願に記述された説明や図表はイーサリアムを用いることの出来る基盤での説明であってイーサリアムに実行に必要な説明のすべては記載されておらず、イーサリアムの分散型台帳システムとしての動作に関しては既知の非特許文献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型の両方の形式をどちらかまたは両方用いることを特徴とする。
In the present invention, an OTP token that uses Ethereum (Non-Patent Document 1), which is one of the blockchain platforms, to generate and authenticate BnTOTP and OWP using a blockchain and a smart contract, and an authentication system using the contract are provided. Invented and implemented. The present invention has been developed based on Ethereum, and a part of the explanation of the terminal as a node constituting the blockchain and the explanation of the user terminal are as described in Non-Patent Document 1, and the details of this patent application are provided. Not described.
And the explanations and figures and tables described in this patent application are explanations on the basis where Ethereum can be used, and not all the explanations necessary for execution in Ethereum are described, and the operation of Ethereum as a distributed ledger system. Will be mainly described with respect to the known Non-Patent Document 1. FIG. 9A illustrates the operation of the contract of the present invention on the Ethereum blockchain. FIG. 9B is an explanatory diagram of the operation of the present invention in a directed non-circular graph type distributed ledger system.
In FIGS. 9A and 9B, the operation of the OWP type password is possible from the smart contract. Since there is information derived from the block number and block data of the latest data block in the block chain of FIG. 9A, it can be used for the calculation of TOTP. BnTOTP type or TOTP type when hash value, time stamp, etc. are entered in each data block (chunk) and time information can be obtained from the latest data chunk or when the distributed ledger system has time information. Password can be generated.
The main feature of the present invention is to use an OWP type password. By changing the K inside the contract of the OTP token on the blockchain, all the passwords displayed by the token issued by the contract of the OTP token can be changed. Pseudo TOTP can be realized by changing the OWP type password at certain times.
On the other hand, with OWP passwords, transactions must be sent to the distributed ledger system. If a contract administrator or the like sends a transaction to the distributed ledger system in order to realize TOTP on the distributed ledger, network traffic may increase. In addition, transaction data increases, and the capacity of the storage device of the node terminal may increase.
There, an OWP-type password that allows the contract administrator to change the K value when it is necessary or when it is necessary (once every few weeks, months, or years), and every 60 seconds, etc. For TOTP applications where you want to update passwords frequently, a dynamic password is generated using a BnTOTP type password that mainly uses a block number and a BnTOTP type password that combines a BnTOTP type password with an OWP type password that can change the K value. Authentication helps reduce network traffic and the capacity used in the blockchain of the storage device. Therefore, the present invention is characterized by using either or both of the BnTOTP type and the OWP type.

本発明は、電池交換が不要でトークンのキー情報をサービス提供者が更新できるように、ハードウェア型TOTPトークンではなくブロックチェーンとそのネットワークに基づいたソフトウェアTOTPトークンとして、ある時刻におけるブロックチェーン上のブロックデータにおいて変更される変数を時間に基づいた変数TmをRFC6238規格における時間によって変化する変数Tとした認証システムであることを最も主要な特徴とする。
さらにブロックチェーン上の最新のブロックデータについてそのブロック番号の変数BnをTOTPトークンのRFC6238規格における時間によって変動する変数Tに用いた認証システムであることを主要な特徴とする。
The present invention is not a hardware type TOTP token but a software TOTP token based on the blockchain and its network so that the service provider can update the key information of the token without the need for battery replacement, on the blockchain at a certain time. The most important feature is that it is an authentication system in which the variable changed in the block data is the time-based variable Tm and the time-varying variable T in the RFC6238 standard.
Further, the main feature is that the authentication system uses the variable Bn of the block number for the latest block data on the blockchain as the variable T which fluctuates with time in the RFC6238 standard of the TOTP token.

本発明は、RFC6238規格のキー情報Kについてその一部またはすべてをトークンの管理者のみが任意の時間にアクセスし変更できる変数と、その変数を変更できる関数などの手段を備え、キー情報Kを管理者が更新できることを主要な特徴とする。
ここでキー情報Kが管理者によって変更できる場合において、RFC6238規格の変数Tが設定されていないもしくは時刻により変化しない定数であっても、管理者が任意の時刻に指示し変更する値Kを変数Tとしてもよい。(本発明においてキー情報Kを更新できるものは管理者が好ましいが、管理者ではないユーザーがブロックチェーン上のコントラクトのKを変えても構わない。トークンにかかわるユーザー全員が任意の時間に各々の指示する値をブロックチェーンに入力し、投票するような形となっても本発明の認証システムはユーザーの投票した値に応じて動的なパスワード生成トークンとして動作しうる。)
The present invention comprises means such as a variable in which a part or all of the key information K of the RFC6238 standard can be accessed and changed only by the token administrator at an arbitrary time, and a function in which the variable can be changed. The main feature is that it can be updated by the administrator.
Here, when the key information K can be changed by the administrator, even if the variable T of the RFC6238 standard is not set or is a constant that does not change depending on the time, the value K that the administrator instructs at an arbitrary time and changes is a variable. It may be T. (In the present invention, an administrator is preferable to update the key information K, but a non-administrator user may change the K of the contract on the blockchain. All users involved in the token may change the K of the contract at any time. The authentication system of the present invention can operate as a dynamic password generation token according to the value voted by the user even if the specified value is input to the blockchain and voted.)

ブロックチェーンといった分散型台帳システムを用いたソフトウェア型パスワード生成器のトークン(OTPトークン)と認証システムを用い、ユーザーにブロックチェーン式のトークン(OTPトークン)を発行し、そのOTPトークンを例えば暗号化されたデータの復号の鍵となるトークンとして用いたり、ウェブサイトのログイン用途や、改札及び映画館などの入場チケット、入退場口の通行用許可証や有価紙葉及びNFCタグに用い、設備及び建物の施錠および解錠を行う認証システムおよびアクセス制御システムであることを主要な特徴とする。 Using a software-type password generator token (OTP token) using a distributed ledger system such as a blockchain and an authentication system, a blockchain-type token (OTP token) is issued to the user, and the OTP token is encrypted, for example. It can be used as a token that is the key to decrypting data, for login to websites, entrance tickets for ticket gates and movie theaters, entrance / exit passage permits, valuable paper leaves, and NFC tags. The main feature is that it is an authentication system and an access control system that locks and unlocks.

また本発明ではブロックチェーン上にてOTPトークンの所有者を変え、異なるユーザー間でOTPトークンの譲渡を行うことも可能である。ある文章や書籍・音声・動画・ソフトウェアのコンテンツを暗号化したデータを復号できるようにするOTPトークンを異なるユーザー間でOTPトークンの譲渡を行うことも可能である。
ただし本発明においてOTPトークンのコントラクトは譲渡機能を制限する機能を持っていてもよく、コントラクト管理者の望みに応じて任意の時間にOTPトークンの譲渡を可能にしたり不可能にする制御部をもつOTPトークンを用いた認証システムであることを主要な特徴とする。
前記のOTPトークンのコントラクトの備える譲渡機能を制限する機能は暗号化されたデータの復号時に得られるコンテンツの権利者によっては情報の流通を制御したいと考える場合も想定され、他には譲渡制限のあるチケットや銀行のインターネットバンキング用ハードウェア型ワンタイムパスワードカードのように譲渡そのものを禁じる用途も想定されるためである。サービスの利用規約に反しOTPトークンが譲渡されないようOTPトークンのコントラクトのプログラムに譲渡制限機能を組み込むことができる。
本発明では譲渡制限を行う制御部を設定でき、本発明の利用者であるサービスの提供者の望みによっては任意の時間(現在時刻)にOTPトークンの譲渡を制限し譲渡を行えなくすることや譲渡できるようにする機能を備える事を特徴とする。また本発明では譲渡制限を行う制御部を設定でき、本発明の利用者であるサービスの提供者の望みによっては制御部をなくし、常にOTPトークンの譲渡を不可能にすることできる。
Further, in the present invention, it is possible to change the owner of the OTP token on the blockchain and transfer the OTP token between different users. It is also possible to transfer OTP tokens between different users, which enables decryption of encrypted data of certain sentences, books, audio, video, and software contents.
However, in the present invention, the OTP token contract may have a function of limiting the transfer function, and has a control unit that enables or disables the transfer of the OTP token at any time according to the request of the contract administrator. The main feature is that it is an authentication system using OTP tokens.
The function of restricting the transfer function of the OTP token contract is assumed to be that some rights holders of the content obtained when decrypting the encrypted data want to control the distribution of information, and other restrictions on transfer are assumed. This is because it is expected to be used for prohibiting the transfer itself, such as a certain ticket or a hardware-type one-time password card for Internet banking of a bank. A transfer restriction function can be incorporated into the program of the OTP token contract so that the OTP token is not transferred contrary to the terms of service.
In the present invention, a control unit that restricts the transfer can be set, and depending on the desire of the service provider who is the user of the present invention, the transfer of the OTP token may be restricted at an arbitrary time (current time) so that the transfer cannot be performed. It is characterized by having a function to make it transferable. Further, in the present invention, a control unit for restricting transfer can be set, and depending on the desire of the service provider who is the user of the present invention, the control unit can be eliminated and the transfer of the OTP token can always be disabled.

本発明では譲渡制限に加え、サービス提供者の規約に違反した利用者のトークンを利用者のブロックチェーン上での識別子との対応関係を強制的に解除し、ユーザーからワンタイムパスワードトークンを除去できる制御部をもつ認証システムに利用できることも特徴とする。ただしこの機能はイーサリアムのERC721規格において実現しうる機能であり既知の技術である。
またこのOTPトークン除去機能はコントラクトの管理者があるユーザーの秘密鍵から計算されるユーザー識別子の持つあるトークン番号のOTPトークンを強制的に除去できるため、ユーザーとサービス提供者・OTPトークンのコントラクトの管理者との合意が必要であり通常は使用されないことを想定する。
ユーザー間でOTPトークンの譲渡制限を行い、あるユーザーに対しOTPトークンの発行と除去を行うことでユーザーはOTPトークンによる本発明のOTPの生成とOTPの認証が行える一方でOTPトークンの実質的な所有権の保管や管理や流通はコントラクトの管理者が行うという形になるOTPトークンの保管振替が可能となる。OTPトークンの保管振替などOTPトークンの保管を行う資格のある第三者によるOTPトークン保管振替を行う用途に利用されることを想定する。
保管振替の概念は証券保管振替機構の証券の集中保管や名義書き換えの概念と似ており既知の概念かもしれないがそれをERC721規格にてブロックチェーン上で実現する形態の一つが譲渡制限とトークンの発行と除去を組わせたもので実現でいるかもしれないと考え本発明で採用できるものとした。
In the present invention, in addition to the transfer restriction, the user's token that violates the service provider's agreement can be forcibly released from the correspondence with the identifier on the user's blockchain, and the one-time password token can be removed from the user. It is also characterized by being able to be used for an authentication system having a control unit. However, this function is a function that can be realized in the Ethereum ERC721 standard and is a known technology.
In addition, this OTP token removal function can forcibly remove the OTP token of a certain token number of the user identifier calculated from the private key of a certain user by the contract administrator, so that the user and the service provider / OTP token contract can be forcibly removed. It is assumed that an agreement with the administrator is required and it is not normally used.
By restricting the transfer of OTP tokens between users and issuing and removing OTP tokens to a certain user, the user can generate the OTP of the present invention using the OTP token and authenticate the OTP, while the OTP token is substantially. It is possible to store and transfer OTP tokens in which the manager of the contract manages, manages, and distributes the ownership. It is assumed that it will be used for OTP token storage and transfer by a third party who is qualified to store OTP tokens, such as OTP token storage and transfer.
The concept of custody transfer is similar to the concept of centralized custody of securities and name rewriting of the Japan Securities Depository Center, and it may be a known concept, but one of the forms that realizes it on the blockchain under the ERC721 standard is transfer restrictions and tokens. It is considered that it may be realized by combining the issuance and removal of the above, and it is assumed that it can be adopted in the present invention.

本発明の認証システムは世界中に設置可能なノードとなるサーバ端末(図3Aの端末3Aや図3Bの端末3B)に構築されたブロックチェーン部をネットワーク20で接続し分散してソフトウェアワンタイムパスワードトークンの情報を保有している。分散型台帳を用いるため、ある地域において災害が生じた場合も世界中の他の地域のサーバ端末からデータの普及が可能になる。また世界中とOTPトークンの認証システムに対応したサービスの流通が可能になりうる。
本発明のワンタイムパスワードのプログラムであるスマートコントラクトはバイトコード等の形でコントラクト管理者の端末からトランザクションとしてブロックチェーン等分散型台帳システムに送信されブロックチェーンのあるブロックデータに格納され過去のブロックデータの連結体であるブロックチェーンと連結されブロックチェーンの特徴から改ざん困難・イミュータブルとなり、攻撃者によるワンタイムパスワードプログラム(コントラクト)の改ざんや、そのコントラクトに帰属したOTPトークンとOTPトークンのトークン番号に対するユーザー識別子との対応関係、OTPトークンの所有状態について改ざん困難になるという利点がある。
The authentication system of the present invention is a software one-time password in which a blockchain unit constructed on a server terminal (terminal 3A in FIG. 3A or terminal 3B in FIG. 3B), which is a node that can be installed all over the world, is connected by a network 20 and distributed. Holds token information. Since the distributed ledger is used, even if a disaster occurs in one area, data can be disseminated from server terminals in other areas around the world. In addition, it may be possible to distribute services corresponding to the OTP token authentication system all over the world.
The smart contract, which is the one-time password program of the present invention, is transmitted as a transaction from the terminal of the contract administrator to a distributed ledger system such as a blockchain in the form of a byte code or the like, and is stored in block data with a blockchain and past block data. It becomes difficult and immutable due to the characteristics of the blockchain, which is linked to the blockchain, which is a concatenation of the one-time password program (contract) by an attacker, and the user for the OTP token and the token number of the OTP token belonging to the contract. There is an advantage that it becomes difficult to tamper with the correspondence with the identifier and the possession status of the OTP token.

またユーザーとユーザー端末がアクセスに使う秘密鍵とブロックチェーンのノード端末(ノード端末の接続されたネットワーク)さえあればOTPトークンを紛失しづらい。これはハードウェアトークンや既存のコンピュータ又はスマートフォンにインストールして利用するソフトウェアトークンよりも紛失がしづらく、世界中でアクセス可能であるとともにノード端末を分散させて管理できる利点がある。 In addition, it is difficult to lose the OTP token as long as the user and the user terminal have the private key used for access and the node terminal of the blockchain (the network to which the node terminal is connected). This is less likely to be lost than a hardware token or a software token installed and used on an existing computer or smartphone, and has the advantage of being accessible all over the world and being able to manage node terminals in a distributed manner.

ハードウェアトークンは時刻・時間を同期するために電池を必要としており、電池残量が減ると時刻がずれユーザーは時刻合わせをする必要があった。これに対し本発明で用いるブロックチェーンは世界中に分散したサーバがノードとなり時刻を同期させながら駆動しており、時刻同期が不要であるという利点がある。
ブロックチェーンにおいて時間が流れることは新たなトランザクションなどを含むブロックが一定の時間ごとにもとのブロックチェーンに連結されていくことに相当し、連結された最新のブロックにおける時刻を反映した情報TmをTFC6238規格のTOTPを算出するシード変数Tに用いることで、時刻同期が不要である。
The hardware token requires a battery to synchronize the time and time, and when the battery level is low, the time shifts and the user has to adjust the time. On the other hand, the blockchain used in the present invention has an advantage that servers distributed all over the world act as nodes and are driven while synchronizing the time, and time synchronization is not required.
The flow of time in the blockchain corresponds to the fact that blocks including new transactions are connected to the original blockchain at regular intervals, and the information Tm that reflects the time in the latest connected block is displayed. By using it as the seed variable T for calculating the TOTP of the TFC6238 standard, time synchronization is not required.

またハードウェアトークンではシード値のうちKを変えることは困難で装置ごと使い捨てであったが、本発明のブロックチェーンを用いたパスワード生成器ではKを更新できるようになっている利点がある。Kを更新するトランザクションをブロックチェーンに送信すればそのKに関与する全てのOTPトークンのK値を書き換えて更新することができる。
Kが更新されることでOTP計算に用いるシード値が変わり将来のOTPの計算結果の出方が一新される。
Further, with the hardware token, it is difficult to change K among the seed values, and the device is disposable, but the password generator using the blockchain of the present invention has an advantage that K can be updated. If a transaction for updating K is sent to the blockchain, the K values of all OTP tokens involved in K can be rewritten and updated.
When K is updated, the seed value used for OTP calculation changes and the appearance of future OTP calculation results is renewed.

本発明ではOTPトークンと対応するサービス提供者が許可する場合にOTPトークンの譲渡が可能である。またコントラクトに含まれるOTPトークンについてユーザー間で譲渡を禁じることも許可することもできる。暗号化したコンテンツとその復号閲覧に利用できるトークンを国内国外に向け送付できる。これは本や音声動画、会員サイトやソフトウェアなどのデータの利用権を譲渡制限しながら海外に販売することが容易になるかもしれない。譲渡制限機能を持ちつつも電子書籍などをデータで所有しつつその権利、もしくは書籍そのものとしてユーザー間で販売されるようになる。 In the present invention, the OTP token can be transferred if the service provider corresponding to the OTP token permits it. It is also possible to prohibit or allow the transfer of OTP tokens included in the contract between users. Encrypted content and tokens that can be used for decryption and viewing can be sent to domestic and overseas markets. This may make it easier to sell overseas while restricting the transfer of data usage rights such as books, audio and video, member sites and software. While having a transfer restriction function, it will be sold among users as the right or the book itself while owning e-books etc. as data.

譲渡制限機能に加えトークンの除去機能を実装した場合には不法な転売や、販売を控えるべき国にトークンが渡らないように制御し管理できる。また秘密鍵を紛失、漏洩しトークンを正常に利用できなくなった場合に関してトークンの管理者にユーザーが届け出て新たなユーザーの秘密鍵から計算されるユーザー識別子にトークンを割り当てるトークン振替が行える。
(本発明では国内から国外に容易にコンテンツとトークンを譲渡可能になるので譲渡制限やトークン除去機能について記載している。トークン管理者とトークンのユーザーがトークンの利用規約などに合意できた場合について利用されることが好ましい。)
If the token removal function is implemented in addition to the transfer restriction function, it is possible to control and manage illegal resale and prevent the token from being passed to countries where sales should be refrained. In addition, if the private key is lost or leaked and the token cannot be used normally, the user can notify the token administrator and assign the token to the user identifier calculated from the new user's private key.
(In the present invention, since the content and the token can be easily transferred from Japan to the foreign country, the transfer restriction and the token removal function are described. When the token administrator and the token user can agree on the terms of use of the token, etc. It is preferable to use it.)

図1はブロックチェーンを用いたワンタイムパスワードの生成と認証の実施方法を示した説明図である。FIG. 1 is an explanatory diagram showing a method of generating a one-time password and performing authentication using a blockchain. 図1Aは本発明のブロックチェーンを用いたワンタイムパスワード(OTP)の生成と認証の方法をサーバ端末に利用する際の概念を示した説明図である。FIG. 1A is an explanatory diagram showing a concept when a method of generating and authenticating a one-time password (OTP) using the blockchain of the present invention is used for a server terminal. 図1Bは本発明のブロックチェーンを用いたOTP認証システムを通じて暗号化されたデータを復号する方法の概念を示した説明図である。FIG. 1B is an explanatory diagram showing a concept of a method of decrypting encrypted data through an OTP authentication system using the blockchain of the present invention. 図2Aは本発明の認証システムを用いて認証を行うユーザーUAの端末DAの説明図である。FIG. 2A is an explanatory diagram of a terminal DA of a user UA that performs authentication using the authentication system of the present invention. 図2AAは本発明の認証システムを用いて認証を行うユーザーの端末DAの記憶部(記憶装置)や制御部(制御装置)入出力装置などの説明図であるFIG. 2AA is an explanatory diagram of a storage unit (storage device), a control unit (control device) input / output device, and the like of a user terminal DA that performs authentication using the authentication system of the present invention. 図2Bは図2Aとは異なるユーザーUBの端末DBの説明図である。端末DAと端末DBの機能は同等である。秘密鍵情報が異なる。FIG. 2B is an explanatory diagram of a terminal DB of a user UB different from that of FIG. 2A. The functions of the terminal DA and the terminal DB are equivalent. The private key information is different. 図2Cはブロックチェーン部にコントラクトをデプロイし管理するユーザーUCの端末DCの説明図である。端末DAと端末DCの機能は同等である。秘密鍵情報が異なる。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 the terminal DA and the terminal DC are equivalent. The private key information is different. 図3Aは分散型台帳システムDLSを構成するブロックチェーン部を持ちネットワーク20に接続されるブロックチェーンのノードとなるサーバ端末3Aの説明図である。FIG. 3A is an explanatory diagram of a server terminal 3A that has a blockchain unit constituting the distributed ledger system DLS and is a node of the blockchain connected to the network 20. 図3AAは図3Aの端末3Aの制御部と記憶部および記憶部に記録されたブロックチェーン部のスマートコントラクト(コントラクト)の説明図である。FIG. 3AA is an explanatory diagram of a smart contract (contract) of a control unit, a storage unit, and a blockchain unit recorded in the storage unit and the storage unit of the terminal 3A of FIG. 3A. 図3ABは図3Aの端末3Aの記憶部に記録されたブロックチェーン部のコントラクトの説明図の一つである。FIG. 3AB is one of the explanatory diagrams of the contract of the blockchain unit recorded in the storage unit of the terminal 3A of FIG. 3A. 図3ACは図3Aの端末3Aの記憶部に記録された譲渡制限機能やOTPの文字数・桁数とOTPの認証待受時間を変更可能なブロックチェーン部のコントラクトの具体例の説明図である。FIG. 3AC is an explanatory diagram of a specific example of a blockchain unit contract that can change the transfer restriction function recorded in the storage unit of the terminal 3A of FIG. 3A, the number of characters / digits of the OTP, and the authentication standby time of the OTP. 図3Bは図3AのサーバP(3A)と同じブロックチェーン部を持ちネットワーク20上で分散型台帳システムDLSを構成するノードとなる端末3Bの説明図である。FIG. 3B is an explanatory diagram of a terminal 3B which has the same blockchain unit as the server P (3A) of FIG. 3A and is a node constituting the distributed ledger system DLS on the network 20. 図3Cはウェブサイト(ウェブページ、ウェブアプリ)へのログイン等で本発明の認証を行う場合のサービスを行うサーバ端末3Cの説明図である。FIG. 3C is an explanatory diagram of a server terminal 3C that provides a service for authenticating the present invention by logging in to a website (web page, web application) or the like. 図3Dは印刷物や表示画面及びNFCタグに記録された本発明の認証情報を記録した有価紙葉や鍵を読み取り認証を行いサービスを行う端末3Dの説明図であるFIG. 3D is an explanatory diagram of a terminal 3D that reads and authenticates a valuable paper leaf or a key on which the authentication information of the present invention recorded on a printed matter, a display screen, and an NFC tag is recorded, and performs a service. 図3DAは図3Dに記載のサーバSVLog(端末3D)の記憶部(記憶装置、30D)と入出力装置(34D、35D)に関する説明図である。FIG. 3DA is an explanatory diagram of a storage unit (storage device, 30D) and an input / output device (34D, 35D) of the server SVLog (terminal 3D) shown in FIG. 3D. 図3EはOTPトークンの購入または紙及びNFCタグに対しOTP認証情報を出力しチケットや有価紙葉や鍵等を発券するサービスを行うサーバ端末3Eの説明図であるFIG. 3E is an explanatory diagram of a server terminal 3E that purchases an OTP token or outputs OTP authentication information to paper and an NFC tag to issue a ticket, a valuable paper leaf, a key, or the like. 図3Fはユーザ端末に対しサーバP(3A)に記録されたブロックチェーン情報からトランザクション情報やOTPトークン情報を検索・監視・通知を行うサーバ端末3Fの説明図である。FIG. 3F is an explanatory diagram of the server terminal 3F that searches, monitors, and notifies the user terminal of transaction information and OTP token information from the blockchain information recorded in the server P (3A). 図4Aは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)の説明図である。FIG. 4A is an explanatory diagram of a terminal (4A) that decrypts encrypted data using the authentication system of the present invention for viewing, viewing, or using. 図4Bは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)の記憶装置に関する説明図(実施の例)である。FIG. 4B is an explanatory diagram (example) of a storage device of a terminal (4A) that decrypts encrypted data using the authentication system of the present invention for viewing, viewing, or using. 図4Cは図4Bにおいて端末4Aの記憶装置に平文データ4035Aが暗号化もしくは難読化されてソフトウェア403Aの4030Aに内蔵されるときの説明図である。FIG. 4C is an explanatory diagram when the plaintext data 4035A is encrypted or obfuscated in the storage device of the terminal 4A in FIG. 4B and incorporated in the software 403A 4030A. 図5Aは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に広告を配信するサーバ端末の説明図である。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) for viewing / viewing or using. 図5Bは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に暗号化データをネットワークを通じて配信するサーバ端末5Bの説明図である。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) for viewing, viewing or using. 図5Cは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)に暗号化データを放送によって送付するサーバ端末5Cの説明図である。FIG. 5C is an explanatory diagram of a server terminal 5C that decrypts encrypted data using the authentication system of the present invention and transmits the encrypted data to a terminal (4A) for viewing / viewing or using. 図6Aは本発明においてOTPトークンの保有者にOTPを生成する関数の処理を示したフローチャート図である。基礎的なOTP生成関数である。FIG. 6A is a flowchart showing the processing of a function that generates an OTP for a holder of an OTP token in the present invention. This is a basic OTP generation function. 図6Bは本発明においてOTPトークンの保有者にOTP生成回数記録機能を備えたOTPを生成する関数の処理を示したフローチャート図である。FIG. 6B is a flowchart showing the processing of a function for generating an OTP having an OTP generation count recording function for the holder of the OTP token in the present invention. 図6Cは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者をトークン保有者のユーザー識別子に限定する場合のOTPを認証する関数のフローチャート図である。FIG. 6C is a flowchart of a function for authenticating OTP when the accessor to be authenticated having a recording function such as the number of OTP authentications is limited to the user identifier of the token holder in the present invention. 図6Dは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。FIG. 6D is a flowchart of a function for authenticating OTP in the present invention, which has a recording function such as the number of OTP authentications and does not limit the users to be authenticated. 図6Eは本発明において図6CからOTP認証回数等記録機能を除いた場合のOTPを認証する関数のフローチャート図である。FIG. 6E is a flowchart of a function for authenticating OTP when the recording function such as the number of OTP authentications is removed from FIG. 6C in the present invention. 図6Fは本発明において認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。基礎的なOTP認証関数である。FIG. 6F is a flowchart of a function for authenticating an OTP when the accessor to be authenticated is not limited in the present invention. This is a basic OTP authentication function. 図6Gは本発明においてOTP認証回数等記録機能を備えたOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。FIG. 6G is a flowchart showing the processing of a function that authenticates an OTP by determining whether the access is an access of a holder of an OTP token having a recording function such as the number of OTP authentications in the present invention. 図6Hは本発明においてOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。FIG. 6H is a flowchart showing the processing of the function of determining whether the access is the holder of the OTP token and authenticating the OTP in the present invention. 図6Xは本発明の認証システムを利用してサービスを行うサーバ端末(3C,3D,3E,3F,5A,5B)にユーザ端末(1Aや4A)がアクセスした際に記録されるデータ構造を示す図表である。FIG. 6X shows a data structure recorded when a user terminal (1A or 4A) accesses a server terminal (3C, 3D, 3E, 3F, 5A, 5B) that performs a service using the authentication system of the present invention. It is a chart. 図7Aは本発明の認証システムを説明するシーケンス図の一つである(TBには主にブロック番号Bnを用いる。BnTOTP型パスワードの説明図でもある)。FIG. 7A is one of the sequence diagrams illustrating the authentication system of the present invention (a block number Bn is mainly used for TB. It is also an explanatory diagram of a BnTOTP type password). 図7Bは本発明においてパスワードOWPを算出するシード値となるコントラクトの内部変数KCやBCをコントラクトの管理者が関数fscbを用いて変更できる際の認証のシーケンス説明図である。FIG. 7B is an authentication sequence explanatory diagram when the contract administrator can change the internal variables KC and BC of the contract which are the seed values for calculating the password OWP in the present invention by using the function fscb. 図7CAは本発明において暗号化されたデータを復号して復号された平文データを閲覧・視聴・プログラムとして実行する際のシーケンス図である。FIG. 7CA is a sequence diagram when the encrypted data in the present invention is decrypted and the decrypted plaintext data is viewed, viewed, and executed as a program. 図7CBは本発明において平文データを暗号化し暗号化データを配布・配信する際のシーケンス説明図である。FIG. 7CB is a sequence explanatory diagram when plaintext data is encrypted and encrypted data is distributed / distributed in the present invention. 図7CCは本発明において閲覧済みの暗号化データをネットワークに接続されていないオフライン状態で復号し平文データとして閲覧する際のシーケンス説明図である。FIG. 7CC is a sequence explanatory diagram when the encrypted data that has been browsed in the present invention is decrypted in an offline state not connected to the network and browsed as plaintext data. 図7Dは本発明においてウェブサイト・ウェブアプリ等ウェブベースのサービスにログインする際の認証システムの動作を説明するシーケンス図である。FIG. 7D is a sequence diagram illustrating the operation of the authentication system when logging in to a web-based service such as a website or web application in the present invention. 図7Eは本発明において例として有価紙葉またはNFCタグを用いてパスワードOWPにより認証しサービスの入場・解錠・始動を行うことを説明するシーケンス図である。FIG. 7E is a sequence diagram illustrating that the service is entered, unlocked, and started by authenticating with a password OWP using a valuable paper leaf or an NFC tag as an example in the present invention. 図8Aはウェブサイトログイン時の端末の接続を説明する図である。(実施例1、実施形態1)FIG. 8A is a diagram illustrating the connection of terminals when logging in to a website. (Example 1, Embodiment 1) 図8Bは印刷物及びNFCタグによる有価紙葉または鍵の利用時の端末の接続を説明する図である。(実施例2、実施形態2)FIG. 8B is a diagram illustrating connection of a terminal when using a valuable paper leaf or a key by a printed matter and an NFC tag. (Example 2, Embodiment 2) 図8Cは通信ネットワークを通じて暗号化データを配信(配布)する場合においてソフトウェアCRHN(403A)を利用する端末の接続を説明する図である。(実施例3、実施形態3)FIG. 8C is a diagram illustrating a connection of a terminal that uses software CRHN (403A) when distributing (distributing) encrypted data through a communication network. (Example 3, Embodiment 3) 図8Dはデータ放送により暗号化データを放送する場合においてソフトウェアCRHN(403A)を利用する端末の接続を説明する図である。(実施形態3の他の実施例)FIG. 8D is a diagram illustrating a connection of a terminal that uses software CRHN (403A) when broadcasting encrypted data by data broadcasting. (Other Examples of Embodiment 3) 分散型台帳システムDLS(分散型台帳システムDLS)にブロックチェーン型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。It is a figure explaining the outline of the authentication system by OTP token which used the blockchain type data structure in the distributed ledger system DLS (distributed ledger system DLS). 分散型台帳システムDLS(分散型台帳システムDLS)に有向非巡回グラフ型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。It is a figure explaining the outline of the authentication system by OTP token using the directed non-circular graph type data structure in the distributed ledger system DLS (distributed ledger system DLS).

本発明はいくつかの要素によって成り立つ。代表的な説明図は図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は同じものであるが説明のため記号を変えているときがある。
The present invention consists of several elements. A typical explanatory diagram is FIG. Explanatory views of the terminal connection used in FIG. 1 are shown in FIGS. 8A, 8B, 8C, and 8D. A computer terminal (electronic computer terminal) such as a server terminal or a user terminal used in the present invention includes a control calculation device (control device, calculation device), a storage device, an input device, and an output device as the five major devices of a computer. Then, in the terminal, the control arithmetic unit, the storage device, the input device, and the output device are connected by wiring such as a circuit or an electric wire with a patterned conductor. Further, the control calculation device (control device, calculation device), the storage device, the input device, and the output device may be connected by wire (electric cable or optical fiber) or wirelessly. The terminal is equipped with a wireless or wired communication control device (communication device) and is connected to a network 20, an external terminal, or the like, and can also be connected to an external storage device or an input / output device. The terminal is equipped with a power supply and supplies electric power to drive the computer terminal.
Even if it is a computer that uses some kind of quantum instead of an electronic computer, or a classic computer that uses a machine such as a gear that uses mechanical energy without using electric power or movement of electrons, that is, a computer terminal that is not bound by the framework of an electronic computer. It may be within the scope of the description of the present invention if it uses a storage device such as a paper print information or a semiconductor memory magnetic disk optical disk described in the present invention, a hash function, and a distributed ledger.
1. 1. User UA terminal DA (terminal 1A)
A user UA and its terminal 1A comprising a computer terminal DA or a terminal 1A (terminal 1A of FIGS. 1 and 2A, FIG. 2AA) that displays or authenticates an OTP using the OTP token of the present invention.
The terminal 1A is a program for accessing the blockchain server 3A or the like in the storage device, a URI indicating the access destination server P (server 3A in FIG. 3A), and a private key PRVA used when accessing the blockchain (FIG. 2AA). The private key information 101A) is provided. The terminal 1A has a communication device 12A and accesses the server 3A via the network 20.
The present invention assigned to the user identifier A calculated from the private keys PRVA 101A and 101A as described in the flowchart of the OTP generation function of FIGS. 6A and 6B when accessing the server 3A for OTP generation. An OTP token with the token number TIMA of is required. When requesting OTP authentication, an OTP token having the token number TIDA of the present invention assigned to the user identifier A calculated from the private keys PRVA 101A and 101A may also be required (FIGS. 6C, 6E, FIG. 6G, FIG. 6H), and it is also possible that the OTP token is assigned to the user identifier A or the user identifier A and does not require a process of determining whether or not the user identifier A is owned, as in the flowchart of the OTP authentication function of FIGS. 6F and 6D. can.
In addition to the user UA of the terminal 1A, the user UB of the terminal 1B, the user UC of the terminal 1C, and the user UP of the terminal 4A also exist. The terminal 4A is one form of a user terminal that performs this authentication system like the terminal 1A. In the present invention, the user UP and the user UA are the same person, and the secret key 101A and the secret key 401A are the same, but the symbols may be changed for the sake of explanation.

2.サーバP(サーバ3A)
<実施例等における具体的な前提>
本発明において図1に示すようにブロックチェーン等分散型台帳システムDLSを構成するブロックチェーン部を備えたノードとなるサーバP(3A)やサーバB(3B)等が暗号化も可能なネットワーク20を通じて相互に接続されている。ブロックチェーン等分散型台帳システムDLSにはイーサリアムを用いた。既知のイーサリアムはおおよそ15秒ごと(15秒という値はイーサリアムなどのブロックチェーンの作成時に設定される値であって、ブロックチェーンの作成者が15秒や4秒などの任意の秒数で作成できる)に新しいブロックがブロックチェーンに連結され、ブロック番号がゼロの時刻よりおおむねブロック番号Bn×15秒だけ経過している。
イーサリアムのメインネット及びテストネットにおいてブロックチェーンに新たなデータブロックを連結を行うための端末3Aや3Bなどのブロックチェーンを構成するノード間の合意形成・コンセンサスアルゴリズムにプルーフ・オブ・ワーク型(PoW型、Proof of Work、作業による証明)もしくはプルーフ・オブ・オーソリティ型(PoA型、Proof of Authority、権威による証明)もしくはプルーフ・オブ・ステーク型(PoS型、Proof of Stake)が存在し、他のブロックチェーン型分散型台帳システムではプラクティカル・ビサンティン・フォルト・トレランス型(PBFT型、Practical Byzantine Fault Tolerance)等も存在する。本発明を実施する為には電力消費の少なく、処理できるトランザクションの多いことが期待できるプルーフ・オブ・オーソリティ型、プラクティカル・ビサンティン・フォルト・トレランス型、 プルーフ・オブ・ステーク型を用いてよい。
本発明は低消費電力かつトランザクションの処理速度が速い合意形成方法を用いることが好ましく、そのためには中央集権的な分散型台帳の管理方法に近い合意形成アルゴリズムを用いてもよい。本発明は分散型台帳システムの合意形成アルゴリズムに関する発明ではないので合意形成に関しては深く触れないが、本発明の実施例ではプルーフ・オブ・ワーク型もしくはプルーフ・オブ・オーソリティ型を利用するイーサリアムのテストネットを用いて本発明の開発と実施を行った。
ここで本発明ではサーバP(3A)の制御部(31A)および記憶部(30A)にブロックチェーン部にブロックチェーン基盤の一つであるイーサリアムを形成し処理できる設備を備えていることを前提とする。本発明願においてイーサリアムを用いたブロックチェーンシステムを実行するすべての要素については記述しないが、本発明においてユーザー端末(図1A及び図1Bの1Aや4A)およびサーバ端末3Aや3B、3C、3D、3E、3F、5A、5B、5Cなどはイーサリアムのノードとなることの出来るブロックチェーン制御部とブロックチェーンデータの記録部を持っていてもよい。サーバP(3A)は通信装置32Aを通じてネットワーク20に接続されネットワーク20を介して別のブロックチェーンのノード端末3Bおよび複数の3Bに相当する端末群と接続され分散型台帳型システムを構成する。
2. 2. Server P (Server 3A)
<Specific assumptions in the examples, etc.>
In the present invention, as shown in FIG. 1, through a network 20 in which a server P (3A), a server B (3B), etc., which are nodes having a blockchain unit constituting a distributed ledger system DLS such as a blockchain, can be encrypted. They are interconnected. Ethereum was used for the distributed ledger system DLS such as blockchain. Known Ethereum is approximately every 15 seconds (15 seconds is a value set when creating a blockchain such as Ethereum, and the blockchain creator can create it in any number of seconds such as 15 seconds or 4 seconds. ), A new block is connected to the blockchain, and the block number Bn × 15 seconds has passed since the time when the block number was zero.
Proof of work type (PoW type) for consensus formation / consensus algorithm between nodes constituting the blockchain such as terminals 3A and 3B for connecting new data blocks to the blockchain in the main net and test net of Ethereum. , Proof of Work (Proof of Work) or Proof of Authority type (PoA type, Proof of Authority, Proof of Authority) or Proof of Stake type (PoS type, Proof of Stake), and other blocks Practical Byzantine Fault Tolerance (PBFT type, Practical Byzantine Fault Tolerance) and the like also exist in the chain type distributed ledger system. In order to carry out the present invention, a proof of authority type, a practical bysantin fault tolerance type, and a proof of stake type, which can be expected to have low power consumption and many transactions that can be processed, may be used.
The present invention preferably uses a consensus building method with low power consumption and high transaction processing speed, and for that purpose, a consensus building algorithm similar to a centralized distributed ledger management method may be used. Since the present invention is not an invention relating to a consensus formation algorithm of a distributed ledger system, the present invention does not touch upon consensus formation, but in the embodiment of the present invention, an Ethereum test using a proof of work type or a proof of authority type is used. The present invention was developed and implemented using a net.
Here, in the present invention, it is premised that the control unit (31A) and the storage unit (30A) of the server P (3A) are provided with equipment capable of forming and processing Ethereum, which is one of the blockchain boards, in the blockchain unit. do. Although all the elements for executing the blockchain system using Ethereum are not described in the present invention, in the present invention, the user terminals (1A and 4A in FIGS. 1A and 1B) and the server terminals 3A and 3B, 3C, 3D, 3E, 3F, 5A, 5B, 5C and the like may have a blockchain control unit and a blockchain data recording unit that can be Ethereum nodes. The server P (3A) is connected to the network 20 through the communication device 32A and is connected to a node terminal 3B of another blockchain and a terminal group corresponding to a plurality of 3Bs via the network 20 to form a distributed ledger type system.

ユーザーのコンピュータ端末DA(端末1A)や端末DC(端末1C)はネットワークNT(ネットワーク20)を通じてブロックチェーン部を持つサーバ3Aにアクセスする(図1A)。
サーバ3Aはオペレーティングシステムやウェブブラウザソフトがインストールされ、ECMAScript(ISO/IEC 16262)等が実行できることを前提とする。そしてイーサリアムのノードとなるイーサリアムクライアントソフトウェアのgeth(Go Ethereum、https://github.com/ethereum/go-ethereum、2021年1月3日閲覧。)等のクライアントソフトウェアをインストールしクライアントソフトウェアを実行して動作している。そして例としてイーサリアムのブロックチェーンを記録部に記録している。
イーサリアムではユーザーアカウント(EOA:Externally Owned Account )とコントラクトアカウント(Contract account)の2種類のアカウントがある。本発明ではユーザーアカウントEOAをユーザ識別子と呼称し、コントラクトアカウントをスマートコントラクトのアドレスとしてコントラクト識別子と呼称する。
本発明ではブロックチェーンの基盤にイーサリアムを用い、コントラクトはERC721規格のノンファンジブルトークンに関するスマートコントラクトの規格を基にした。ERC721規格の参考文献として次の3つが挙げられる。1.イーサリアム財団、https://eips.ethereum.org/EIPS/eip-721、2020年12月11日閲覧、2.OpenZeppelin、https://docs.openzeppelin.com/contracts/3.x/erc721、2020年12月11日閲覧、3.0xcert.org、https://github.com/0xcert/ethereum-erc721、2020年12月11日閲覧。
イーサリアムではERC721規格のスマートコントラクトにおいて、そのコントラクトの管理者(秘密鍵101Cから計算されるユーザー識別子Cをもつ)が1つの単位でトークンを発行しユーザーとなるユーザー識別子AやBに送信する。ERC721規格のトークンは符号なし整数型変数にて表現されるトークンIDとその保持者にするユーザ識別子Aを対応付けて、ユーザー識別子Aにトークンを発行される。
ここで本発明ではERC721規格におけるトークンIDをトークン番号と呼称する。ユーザー識別子Aがトークン番号TIDAを所有していることの情報はコントラクトに記録される。
例えば図3ACの3014Aのようにユーザー識別子AにはTIDAの番号を持つトークンの所有情報(3015A)、ユーザー識別子BにはTIDBの番号を持つトークンの所有情報(3016A)が記録されている。ある識別子に対しコントラクトからトークンが発行されていたり、異なるユーザー識別子間で譲渡されるなどした最終的な所有情報が記録されている。
ブロックチェーン上ではコントラクト作成や譲渡記録やコントラクトの内部変数の変更に関するトランザクションは改ざん困難な状態で記録されており過去のトークンの保有履歴情報は消去できない。一度ブロックチェーンに記録されデプロイされたコントラクトのプログラムも改ざんが行われない。
The user's computer terminal DA (terminal 1A) and terminal DC (terminal 1C) access the server 3A having the blockchain unit through the network NT (network 20) (FIG. 1A).
It is assumed that the server 3A has an operating system and web browser software installed and can execute ECMAScript (ISO / IEC 16262) and the like. Then, install the client software such as the Ethereum client software geth (Go Ethereum, https://github.com/ethereum/go-ethereum, viewed January 3, 2021), which is the node of Ethereum, and execute the client software. It is working. And as an example, the Ethereum blockchain is recorded in the recording section.
There are two types of accounts in Ethereum: user accounts (EOA: Externally Owned Account) and contract accounts (Contract account). In the present invention, the user account EOA is referred to as a user identifier, and the contract account is referred to as a contract identifier as the address of a smart contract.
In the present invention, Ethereum is used as the base of the blockchain, and the contract is based on the smart contract standard for non-fangible tokens of the ERC721 standard. The following three are cited as references of the ERC721 standard. 1. 1. Ethereum Foundation, https://eips.ethereum.org/EIPS/eip-721, accessed December 11, 2020, 2. OpenZeppelin, https://docs.openzeppelin.com/contracts/3.x/erc721, viewed December 11, 2020, 3.0xcert.org, https://github.com/0xcert/ethereum-erc721, 2020 Retrieved December 11th.
In Ethereum, in a smart contract of the ERC721 standard, the administrator of the contract (having a user identifier C calculated from the private key 101C) issues a token in one unit and sends it to the user identifiers A and B as users. A token of the ERC721 standard is issued to the user identifier A by associating the token ID represented by an unsigned integer type variable with the user identifier A to be the holder thereof.
Here, in the present invention, the token ID in the ERC721 standard is referred to as a token number. Information that the user identifier A owns the token number TIDA is recorded in the contract.
For example, as in 3014A of FIG. 3AC, the possession information (3015A) of the token having the TIDA number is recorded in the user identifier A, and the possession information (3016A) of the token having the TIDB number is recorded in the user identifier B. The final ownership information is recorded, such as a token being issued by a contract for a certain identifier or being transferred between different user identifiers.
Transactions related to contract creation, transfer records, and changes to contract internal variables are recorded on the blockchain in a state where they are difficult to tamper with, and past token holding history information cannot be deleted. Once recorded on the blockchain and deployed, the contract program will not be tampered with.

<本発明に用いた分散型台帳上でのトークン>
本発明では実施する際にイーサリアムをブロックチェーンの基盤として用いた。またイーサリアムで用いられるERC721規格のトークンはイーサリアム上でのOTPを備えたノンファンジブルトークンの発行に利用できると考えて本発明を実施する際に採用した。
そしてERC721規格のトークンにワンタイムパスワード(OTP)に関するプログラムを備えさせたスマートコントラクト(コントラクト)を本発明の認証システムのOTPトークンのコントラクトに利用した。ここで実施する際にERC721規格を用いたが、これは本発明の実施例の一つであり分散型台帳上にて本発明のOTPトークンの機能を提供できるスマートコントラクトならば本発明は実施できる。本発明のOTPトークンはERC721規格やそれに類似したトークンおよびトークンのスマートコントラクトに限定されない。
本発明ではOTPトークンもしくはOTP生成トークン・OTP生成コントラクトは、OTPを生成するトークンの所有権やそのトークン発行処理、トークン送信処理、トークンの名称等情報の表示といった処理を行うコントラクトを示す。OTP認証コントラクトまたはOTP認証コントラクト内部のOTP認証関数は、OTP生成コントラクトのOTP生成関数と一致したOTPを計算するための変数と処理部を持ち、OTPの生成と認証の処理を行うことができる。図3AAや図3ABや図3ACがそのコントラクト説明図であり、認証関数を端末3Aでなく端末3Dに持つときの例は図3DAである。
ブロックチェーン部を持つサーバ群(3A、3B等)とブロックチェーン部に接続する端末(1A、1Cなど)を説明する図表では、実施例で用いたイーサリアムのブロックチェーンとコントラクトを実行できる制御部(処理部)と記憶部(記録部)を備えている事を前提としている。
制御部や記憶部の詳細はイーサリアムの仕様に準拠し、その類似のブロックチェーン基盤を持つシステムにも適用される。本発明では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規格にOTP生成機能を備えさせたものが本発明のOTP生成トークンであり、インターネットバンキング(ネットバンキング)のサービスへログイン等に用いるヒトの手で所有できるハードウェアTOTPトークンをブロックチェーンなどの分散型台帳にて所有し利用できるようにしたものである。
<Token on the distributed ledger used in the present invention>
In the present invention, Ethereum was used as the base of the blockchain when carrying out. Further, it is considered that the token of the ERC721 standard used in Ethereum can be used for issuing a non-fangible token equipped with OTP on Ethereum, and was adopted when carrying out the present invention.
Then, a smart contract (contract) in which a token of the ERC721 standard equipped with a program related to a one-time password (OTP) was used as a contract for the OTP token of the authentication system of the present invention. The ERC721 standard was used in carrying out the present invention, but this is one of the embodiments of the present invention, and the present invention can be carried out as long as it is a smart contract capable of providing the function of the OTP token of the present invention on the distributed ledger. .. The OTP tokens of the present invention are not limited to the ERC721 standard and similar tokens and smart contracts of tokens.
In the present invention, the OTP token or the OTP generation token / OTP generation contract indicates a contract that performs processing such as ownership of the token that generates OTP, its token issuance processing, token transmission processing, and display of information such as a token name. The OTP authentication function inside the OTP authentication contract or the OTP authentication contract has a variable 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. 3AA, 3AB, and 3AC are illustrations of the contract, and FIG. 3DA is an example of having an authentication function in the terminal 3D instead of the terminal 3A.
In the chart explaining the server group (3A, 3B, etc.) having the blockchain unit and the terminals (1A, 1C, etc.) connected to the blockchain unit, the control unit (control unit) capable of executing the Ethereum blockchain and contract used in the embodiment. It is assumed that it has a processing unit) and a storage unit (recording unit).
The details of the control unit and storage unit conform to the specifications of Ethereum, and are also applied to systems with similar blockchain infrastructure. In the present invention, an ERC721 standard token is provided with an OTP generation function, and a contract (OTP generation contract) capable of issuing an ERC721 type OTP generation token is used. Then, the OTP authentication function that can be set to the same value as the seed value used for OTP generation of the OTP generation contract is provided in the OTP generation contract, or a separate OTP authentication contract is created and the OTP authentication contract is provided with the OTP authentication function. ,
The OTP generated by the OTP generation function is output to the user terminals 1A and 4A, and the output OTP and the information necessary for OTP authentication are transmitted from the user terminals 1A and 4A to the OTP authentication function or terminal 3D of the contract related to OTP authentication. It is input to the installed OTP authentication function to verify and authenticate whether it is the correct OTP, and in the case of the correct OTP, the return value data when the authentication is successful is transmitted to the processing unit of the user terminal.
The OTP generation token of the present invention is the ERC721 standard equipped with an OTP generation function, and is a blockchain of hardware TOTP tokens that can be owned by humans and used for logging in to Internet banking (net banking) services. It is made available by owning it in a distributed ledger such as.

<ERC721規格のノンファンジブルトークンのトークン番号とトークン発行>
本発明のワンタイムパスワード生成関数及びそれを含むコントラクトではERC721規格のトークンについて、あるユーザー識別子Aのユーザーにトークン番号TIDAが一つ発行(mint)される。トークン発行にはコントラクト内部の発行関数(図3ACの3042A)が利用される。3042Aは原則としてコントラクトの管理者の秘密鍵PRVC(図1Cの101C)でないとトークン発行の操作できない。
<Token number and token issuance of non-fangable token of ERC721 standard>
In the one-time password generation function of the present invention and the contract including the same, one token number TIDA is issued (mint) to the user of a certain user identifier A for the token of the ERC721 standard. The issue function inside the contract (3042A in FIG. 3AC) is used to issue the token. As a general rule, 3042A cannot operate token issuance unless it is the private key PRVC (101C in FIG. 1C) of the contract administrator.

<トークンの譲渡と譲渡制限>
ERC721規格では異なるユーザ識別子間にてトークンの送信・譲渡は自由に行える。
本発明のOTPを生成するトークン(OTPトークン)はERC721規格に準拠しているのでトークン番号TIDAはユーザー識別子Aのユーザーが望む場合にユーザー識別子Bなどのユーザーに送付することが可能である。トークンの送信は図3ACのトークン送信関数(図3ACの3040A)を用いて行う。なおERC721規格ではトークンの送信をコントラクト管理者が禁止する機能は存在しないが、本発明では譲渡制限用変数及び関数(3041A)を用いて3040Aの実行を停止させることも許可することもできる。
本発明では銀行のワンタイムパスワードトークンや譲渡禁止されたチケットや会員権など、譲渡を制限または譲渡を行わせないトークンとすることも必要であったので、ERC721規格においてトークンの送信関数群(transfer関数)、送信の許可にかかわる関数群(approve関数)の実行を制御する譲渡制限処理部3041Aを設け、譲渡制限処理部はコントラクトの管理者(Owner)の端末1Cのみが変更できる変数によって処理を変更できるようにして譲渡制限できるようにした。
具体的には transfer関数の実行を制御する真偽値の変数と、approve関数の実行を制御する真偽値の変数をコントラクトに設定し(コントラクト内部のすべての関数からアクセスできるグローバル関数として真偽値の変数を設定して)、コントラクトの管理者の識別子C(Cは端末1Cの101Cから計算される)のみがアクセスできるセッターとなる関数tafを備え、tafによりtransfer関数の実行を制御する真偽値の変数と、approve関数の実行を制御する真偽値の変数を書き換えることで譲渡できる状態と譲渡できない状態の切り替えを可能にした。
(トークンの譲渡制限は異なるユーザ識別子間でのトークンの所有情報の書き換えを制限する。ユーザ識別子はユーザの秘密鍵に対応しておりトークンの譲渡制限は実態としては異なる秘密鍵間でのトークンのやり取りを制限する。)
<Transfer of tokens and restrictions on transfer>
According to the ERC721 standard, tokens can be freely transmitted and transferred between different user identifiers.
Since the token for generating the OTP (OTP token) of the present invention conforms to the ERC721 standard, the token number TIDA can be sent to a user such as the user identifier B when the user of the user identifier A desires. The token is transmitted using the token transmission function of FIG. 3AC (3040A of FIG. 3AC). In the ERC721 standard, there is no function for prohibiting the transmission of tokens by the contract administrator, but in the present invention, it is possible to allow the execution of 3040A to be stopped by using the transfer restriction variable and the function (3041A).
In the present invention, it is also necessary to use a token such as a bank's one-time password token, a prohibited ticket, or a membership, which is restricted or non-transferable. The transfer restriction processing unit 3041A that controls the execution of the function) and the function group (approve function) related to the permission of transmission is provided, and the transfer restriction processing unit processes by the variable that can be changed only by the terminal 1C of the contract administrator (Owner). I made it possible to change it and restrict the transfer.
Specifically, a boolean variable that controls the execution of the transfer function and a boolean variable that controls the execution of the apply function are set in the contract (true / false as a global function that can be accessed from all the functions inside the contract). (Set a variable of value), it has a function taf that is a setter that can be accessed only by the identifier C of the contract administrator (C is calculated from 101C of terminal 1C), and the true that controls the execution of the transfer function by taf. By rewriting the variable of the false value and the variable of the truth value that controls the execution of the apply function, it is possible to switch between the transferable state and the non-transferable state.
(The token transfer restriction restricts the rewriting of the token ownership information between different user identifiers. The user identifier corresponds to the user's private key, and the token transfer restriction actually limits the token transfer between different private keys. Restrict exchanges.)

<ワンタイムパスワードにかかわるコントラクト(スマートコントラクト)>
本発明においてブロックチェーン上にワンタイムパスワードトークン(OTPトークン)のユーザーへの発行(トークンの割り当て、対応付け)やトークンの送信(トークンのユーザー間での譲渡)、レーティング情報の取得、トークンの名前情報の取得、トークンのURI情報の取得等が行える。そしてシークレット値KCや時刻により変わる変数TB(本発明ではブロック番号BnをTBとして用いる)、トークン番号TIDA、ユーザー識別子Aを基にして生成されたシード値Sをハッシュ関数fhの引数に用いてハッシュ値を得てそれをワンタイムパスワードとして戻り値にするワンタイムパスワード生成関数を備えたワンタイムパスワード生成コントラクト(図3AA、図3AB、図3ACに記載の3008Aまたは3008AG)がある。
また本発明のワンタイムパスワードを認証する関数もしくは認証するコントラクトでは、ワンタイムパスワードを生成する関数で用いるシード値Sとハッシュ関数fhがワンタイムパスワードを認証する関数において引数に入力された関数の検証に用いるシード値とハッシュ関数と同期できていれば、正しいパスワードであるとき一致していることを確認できる。(ワンタイムパスワード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の生成と認証を分けて分担するシステムでもよいが、その場合は二つのブロックチェーンに分けて記録されたOTP生成関数とOTP認証関数のパスワード計算に用いる計算方法やハッシュ関数fhやシード値Sが一致しなければいけない。
例として図6AのOTP生成関数と図6FのOTP認証関数のフローチャートで利用する関数の引数のシード値A,TIDA,KC,Bnとハッシュ関数fhおよびそれらを用いた計算手順が一致し、OTP生成関数とOTP認証関数で同じOTPを計算できることが必要であり、また図6AのF107でシード値とハッシュ関数からハッシュ値を求めた後にハッシュ値をOTPとせずに10のN乗で割った剰余をN桁の符号なし整数のOTPとする場合はOTP認証関数でも同じように剰余を求め、10のN乗で割った剰余をN桁の符号なし整数のOTPを計算できるようにOTP認証関数とOTP生成関数で計算されたOTPが一致し同期しなければいけない。
シード値の内AやTIDAはOTPトークンの保有者や保有するトークンのシリアル番号に相当するトークン番号であってユーザー由来の変数であるが、KCはコントラクト管理者が更新できる値であるのでKC値をOTP生成関数とOTP認証関数で一致できるようにした手段を備えなければいけない。
またシード値BnやBCなどのある時刻Tにおいてかわる変数Tmも一致していなければならず、BCはコントラクトの管理者が一致させる必要のある変数であるがTmやBnについてもOTP認証関数とOTP生成関数で一致しないような現象が生じる場合には一致させる手段を備える必要がある。
同一のブロックチェーン(同一のブロックチェーン識別子、分散型台帳システム識別子)においてデプロイされたOTP認証関数とOTP生成関数をもつコントラクトは同じBnを用いることができるが、異なるブロックチェーン識別子間でOTP認証関数とOTP生成関数をもつコントラクトを分けて運用する際には、ブロックチェーン識別子間で異なるBnに補正値を加算減算して運用する場合に、Bnが一致しなくなる場合にはBnが一致するようセッター関数など一致できるようにする手段を備える必要がある。
<Contract related to one-time password (smart contract)>
In the present invention, issuance of a one-time password token (OTP token) to a user (assignment of a token, mapping), transmission of a token (transfer of a token between users), acquisition of rating information, and a name of a token on a blockchain. Information can be acquired, URI information of tokens can be acquired, and the like. Then, hash using the seed value S generated based on the secret value KC, the variable TB that changes depending on the time (the block number Bn is used as TB in the present invention), the token number TIDA, and the user identifier A as the argument of the hash function fh. There is a one-time password generation contract (FIG. 3AA, FIG. 3AB, FIG. 3AC, 3008A or 30008AG) with a one-time password generation function that obtains a value and returns it as a one-time password.
Further, in the function for authenticating the one-time password or the contract for authenticating the one-time password of the present invention, the seed value S used in the function for generating the one-time password and the hash function fh verify the function input as an argument in the function for authenticating the one-time password. If the seed value used for and the hash function can be synchronized, it can be confirmed that the password matches when the password is correct. (Figs. 6A and 6B show flowcharts explaining the processing of the one-time password OTP generation function 3009A. FIGS. 6C, 6D, 6E, 6F and 6F show flowcharts explaining the processing of the one-time password OTP authentication function 3018A. 6G and FIG. 6H.)
The OTP authentication function may be built in the OTP generation contract including the OTP generation function, or the OTP authentication function may be built in the OTP authentication contract to store the OTP generation contract and the OTP authentication function separately. The OTP authentication contract may be separated and recorded in the block data of the same block number or different block numbers on the blockchain.
Further, the OTP authentication function may be in the terminal 3D not connected to the network, the OTP generation function may be in the terminal 3A on the network, and the OTP acquired by the terminal 1A in the terminal 3A may be used for authentication in the terminal 3D.
Contracts are recorded in other blockchains with different authentication functions and generation functions, and a system may be used in which OTP generation and authentication are shared between the two blockchains, but in that case, they are divided into two blockchains. The recorded OTP generation function and the calculation method used for the password calculation of the OTP authentication function, the hash function fh, and the seed value S must match.
As an example, the seed values A, TIDA, KC, Bn of the argument of the function used in the flowchart of the OTP generation function of FIG. 6A and the OTP authentication function of FIG. 6F, the hash function fh, and the calculation procedure using them match, and OTP generation It is necessary that the same OTP can be calculated by the function and the OTP authentication function, and after the hash value is obtained from the seed value and the hash function in F107 of FIG. When using the OTP of an N-digit unsigned integer, the remainder is obtained in the same way with the OTP authentication function, and the OTP authentication function and OTP can calculate the OTP of the N-digit unsigned integer by dividing the remainder by 10 to the Nth power. The OTP calculated by the generation function must match and synchronize.
Of the seed values, A and TIDA are token numbers corresponding to the OTP token holder and the serial number of the token held and are variables derived from the user, but KC is a value that can be updated by the contract administrator, so the KC value. Must be provided with a means that allows the OTP generation function and the OTP authentication function to match.
In addition, the variable Tm that changes at a certain time T such as the seed value Bn or BC must also match, and BC is a variable that the contract administrator needs to match, but the OTP authentication function and OTP also for Tm and Bn. When a phenomenon that does not match occurs in the generation function, it is necessary to provide a means for matching.
Contracts with OTP authentication functions and OTP generation functions deployed in the same blockchain (same blockchain identifier, distributed ledger system identifier) can use the same Bn, but OTP authentication functions between different blockchain identifiers. When operating a contract with an OTP generation function separately, when operating by adding or subtracting a correction value to Bn different between blockchain identifiers, if Bn does not match, setter so that Bn matches. It is necessary to have a means to make it possible to match, such as a function.

<ワンタイムパスワードの算出>
ユーザUAの端末DA(端末1A)のアクセスに応じて端末3Aは処理を行う。端末1Aの記憶装置に記録された秘密鍵PRVA(秘密鍵101A)からユーザー識別子Aを算出する。
補足としてイーサリアムでは秘密鍵から公開鍵を算出し、公開鍵のハッシュ値をハッシュ関数を用いて計算し、そのハッシュ値を切り取りユーザー識別子とする。具体的にはイーサリアムではSecp256k1という楕円曲線を基にした方法で32バイトの秘密鍵から64バイトの公開鍵を作成する。また署名などに用いる(楕円曲線電子署名、ECDSA、Elliptic Curve Digital Signature Algorithm)。そして64バイトの公開鍵に対してKeccak-256というSHA−3と類似のハッシュ関数を用いて32バイトのハッシュ値を求めその一部を取り除くことで残る情報をユーザー識別子(匿名化された識別子)とする。
サーバ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はコントラクト管理者が任意の時間に変更できコントラクト管理者の判断によっては数年を超え長期間もしくは一度も変更されない恐れがあり、前記KCやBCが長期間もしくは一度も更新されないときOTP=fh(TIDA,KC,BC)の場合はトークン譲渡により保有するユーザー識別子が変更されたときにトークン番号に固有だがユーザー識別子に固有ではないOTPを生成・認証するので、OTPを取得してきたユーザーたちが次々とOTPトークンを譲渡してOTPを取得してOTPの値OTP=fh(TIDA,KC,BC)を共有し複製し記録できる問題(金属製の鍵における合鍵の複製に似た問題)があり、それに対しOTP=fh(A,TIDA,KC,BC)というOTPを計算することでユーザー識別子及びトークン番号に固有のOTPを生成・認証できるので適しており本発明の実施例では好ましくは用いた。
そしてBC値3013Aと同じくKC値3011Aもコントラクトの管理者端末1Cの秘密鍵101Cを用いてブロックチェーンへアクセスし3011Aを書き換えることの出来るセッター関数3012Aを用いて任意時間に任意の値に変更することでワンタイムパスワードBnTOTPおよびOWPの双方のシークレット変数KCを変えることでコントラクトに属するOTPトークン全てのキー値KCを任意時間に任意数値で更新できることを特徴とする。変更できるBC値とKC値は同じものとみなすこともでき、BC値とKC値を同じものとみなし1つの変数としてOTP計算することもできるほか、BC値とKC値をそれぞれ複数個用意して利用することやユーザー識別子またはトークン番号に固有のKC値(後述のマッピング変数KCA)を設定しそれらKC値にもちいてもよい。
<Calculation of one-time password>
The terminal 3A performs processing according to the access of the terminal DA (terminal 1A) of the user UA. The user identifier A is calculated from the secret key PRVA (secret key 101A) recorded in the storage device of the terminal 1A.
As a supplement, Ethereum calculates the public key from the private key, calculates the hash value of the public key using the hash function, and cuts the hash value to use it as the user identifier. Specifically, Ethereum creates a 64-byte public key from a 32-byte private key using a method based on an elliptic curve called Secp256k1. It is also used for signatures (Elliptic Curve Digital Signature Algorithm, ECDSA, Elliptic Curve Digital Signature Algorithm). Then, a 32-byte hash value is obtained for a 64-byte public key using a hash function similar to SHA-3 called Keccak-256, and the remaining information is obtained by removing a part of the hash value (anonymized identifier). And.
In the contract of the present invention programmed inside the block chain according to the data of the block chain unit and the block chain recording unit of the server P (terminal 3A), the OTP generation function is contracted by the user identifier A which is the executor of the function. Confirm that you have the issued one-time password token (OTP token), and ask the token holder the token number TIDA and the KC value 3011A of the secret variable of the contract (inside shown in FIG. 3AA, FIG. 3AB, and FIG. 3AC). Variable KC 3011A) and variable TB that fluctuates on the blockchain at a certain time T are used as key values (key values, seed values) for password generation, and the hash function fh (hash function fh shown in FIGS. 3AA, 3AB, and 3AC). It is used as an argument of 3010A). A calculation example is OTP = fh (TIDA, KC, TB). The same applies when confirming the possession of the user identifier A or the OTP token when the OTP authentication function is executed.
Here, in the embodiment, the user identifier A is added to the key value, and the calculation is performed as OTP = fh (A, TIDA, KC, TB) in the present invention.
Then, the 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. In the present invention, an OTP token using the method of calculating the OTP to be used is used.
When Bn is used for Tm (or TB), OTP = fh (A, TIDA, KC, TB) or OTP = fh (TIDA, KC, TB) may be used. Specifically, OTP = fh (A, TIDA, KC, Bn) or OTP = fh (TIDA, KC, Bn) may be used.
Here, the reason why OTP = fh (TIDA, KC, TB) may be used is that, for example, in the case of OTP which is updated every 60 seconds for a short time, Bn changes every 60 seconds even if the user who owns it is changed. This is because OTP = fh (TIDA, KC, Bn) calculated in the past 60 seconds ago can be invalidated. In the embodiment of the present invention, OTP = fh (A, TIDA, KC, TB) was preferably used.
Further, 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 3013A uses the secret key 101C of the administrator terminal 1C of the contract. The administrator sets the one-time password OWP = fh (A, TIDA, KC, BC) by changing to an arbitrary value at an arbitrary time using the setter function 3012A that can access the blockchain and rewrite 3013A. In the present invention, an OTP token using a method for calculating an OTP, which is characterized in that a password can be changed according to a BC value, is used.
When BC is used for Tm (or TB), OTP = fh (A, TIDA, KC, TB) may be preferred over OTP = fh (TIDA, KC, TB). Specifically, OTP = fh (A, TIDA, KC, BC) may be preferable to OTP = fh (TIDA, KC, BC).
Here, the reason why OTP = fh (A, TIDA, KC, TB) is preferable to OTP = fh (TIDA, KC, TB) is that, for example, KC and BC can be changed by the contract administrator at any time and contract management. Depending on the judgment of the person, there is a possibility that it will not be changed for a long period of time or even once for more than several years, and if the KC or BC is not renewed for a long period of time or even once, if OTP = fh (TIDA, KC, BC), it will be held by token transfer. When the user identifier is changed, an OTP that is unique to the token number but not unique to the user identifier is generated and authenticated, so users who have acquired OTP transfer OTP tokens one after another and acquire OTP to acquire OTP. There is a problem that the value OTP = fh (TIDA, KC, BC) can be shared, duplicated and recorded (a problem similar to the duplication of a master key in a metal key), whereas OTP = fh (A, TIDA, KC, BC). ), Which is suitable because an OTP unique to the user identifier and token number can be generated and authenticated by calculating the OTP, and is preferably used in the embodiment of the present invention.
Then, like the BC value 3013A, the KC value 3011A can be changed to an arbitrary value at an arbitrary time by using the setter function 3012A that can access the blockchain using the secret key 101C of the contract administrator terminal 1C and rewrite the 3011A. By changing the secret variable KC of both the one-time password BnTOTP and OWP, the key value KC of all OTP tokens belonging to the contract can be updated with an arbitrary numerical value at an arbitrary time. The BC value and KC value that can be changed can be regarded as the same, the BC value and KC value can be regarded as the same, and OTP calculation can be performed as one variable. In addition, multiple BC values and KC values are prepared. It may be used or a KC value (mapping variable KCA described later) unique to the user identifier or token number may be set and used for those KC values.

<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認証関数及びOTP生成関数と、重要度は低いものの認証を必要とするOTP認証関数及びOTP生成関数をコントラクト内もしくは端末3Dに備えることができる。前記において重要な操作を行う場合はnの値を大きくし、重要度が低い操作を行う場合はnの値を小さくすることで入力時の桁数を変更させ、OTP認証に要する入力文字数の労力を加減させ、ヒトが手などで端末の入力装置から入力しやすくすることもできる。
OTP認証関数及びOTP生成関数でシード値が一致するように生成コントラクトと認証コントラクト(または認証関数)で同一の3031Aを設定し、コントラクトをブロックチェーンにデプロイした後も、3030Aの値を変更するときは生成コントラクトと認証コントラクト側で一致させるようコントラクトの管理者である端末1Cが設定変更のトランザクションを3Aに送付し変数などの書換を行う必要がある。
本発明のワンタイムパスワードは符号なし整数で表現することも16進数で表現することもできる。パスワードには数字、英字、記号などが利用されうる。
<Calculation of a one-time password consisting of n-digit integers>
Information BnTOTP calculated by a hash function to make a password for a 7- to 6-digit integer used in banking transactions such as net banking using the Internet is type-converted to an unsigned integer, and the integer value is n. It is also possible to obtain the remainder when divided and use it as an n-digit integer password.
Here, n may take a value of 6 to 7. If a function fOTPN that is a setter in which the variable n can be rewritten only by the administrator of the contract is set in the contract (when the variable n and the function fOTPN are recorded in 3031A), n is set as 6. After recording and deploying the contract on the blockchain, it is possible to increase n from 6 to 12 to make a 12-digit password in order to increase the computing power required for brute force attacks. This is a difficult method to achieve with hardware TOTP tokens. Although it is not preferable in terms of security, if the number of digits may be small, n may be changed from 6 to 3 after the contract is created, and the number of digits of the OTP to be displayed may be 3 digits.
In addition, the contract is equipped with multiple OTP generation functions and authentication functions, and the OTP authentication function and OTP generation function when performing important operations (for example, performing high-priced transfers and settlements at a bank) are less important. An OTP authentication function and an OTP generation function that require authentication can be provided in the contract or in the terminal 3D. When performing an important operation in the above, increase the value of n, and when performing an operation of low importance, decrease the value of n to change the number of digits at the time of input, and the effort of the number of input characters required for OTP authentication. It is also possible to make it easier for humans to input from the input device of the terminal by hand or the like.
When the same 3031A is set in the generation contract and the authentication contract (or authentication function) so that the seed values match in the OTP authentication function and the OTP generation function, and the value of 3030A is changed even after the contract is deployed on the blockchain. It is necessary for the terminal 1C, which is the administrator of the contract, to send the transaction of the setting change to 3A and rewrite the variables and the like so that the generated contract and the authentication contract side match.
The one-time password of the present invention can be expressed as an unsigned integer or a hexadecimal number. Numbers, letters, symbols, etc. can be used for the password.

<ブロック番号に関する処理>
ブロックチェーンは例えば15秒、10分等のある時間ごとに新たなブロックが連結されブロック番号Bnが1つずつ増えていく。ユーザーUAがサーバP(3A)から端末1AにOTPを生成して呼び出し表示して認証する時間(OTP認証の待受け時間)が短すぎる時、例えばインターネットバンキングサイトなどウェブページに端末DA(1A)のディスプレイに表示されたOTPを入力したいが、15秒ごとにOTPが更新されることによってヒトの手入力が追い付かずOTPが入力できないことが想定される。実際に本発明の開発時においてはブロック番号が15秒ごとに代わるイーサリアムのテストネットワークにあるブロックチェーンを用いたが、発明者の手では入力が困難になることが時折確認された。
そこでブロック番号Bnを基に表示する間隔を増やす変数nを用い、Bn mod n として、Bnのnで割った余りmを求め、Bnからmを減算しBnrとして(Bn−m=Bnrとして)、Bnの代わりにBnrをOTPを算出するハッシュ関数の引数に利用した。たとえばブロック番号が15秒でnを2にした時、ブロック番号Bnが奇数または偶数のときパスワードが変更されるようになりパスワードの表示時間を15秒から30秒に増やせる。nを2から3、4、5、と増やしていけば、表示時間と認証時間を更に増やすことができる。このOTPを生成し認証し表示を行い入力待ちを行える時間を増やす関数や変数は図3ACの3030Aに示す。なおnは1以上の符号なし整数である。n=0とすることはできない。
認証関数及び生成関数でシード値が一致するように生成コントラクトと認証コントラクト(または認証関数)で同一の3030Aを設定し、コントラクトをブロックチェーンにデプロイした後も、3030Aの値を変更するときは生成コントラクトと認証コントラクト側で一致させるようコントラクトの管理者である端末1Cが設定変更のトランザクションを3Aに送付し変数などの書換を行う必要がある。
<Processing related to block numbers>
In the blockchain, new blocks are connected every certain time such as 15 seconds and 10 minutes, and the block number Bn increases by one. When the time for the user UA to generate an OTP from the server P (3A) to the terminal 1A, call it, display it, and authenticate it (standby time for OTP authentication) is too short, for example, on a web page such as an Internet banking site, the terminal DA (1A) I want to input the OTP displayed on the display, but it is assumed that the OTP cannot be input because the human manual input cannot catch up because the OTP is updated every 15 seconds. In fact, at the time of development of the present invention, a blockchain in the Ethereum test network whose block number changes every 15 seconds was used, but it was occasionally confirmed that it was difficult for the inventor to input.
Therefore, using the variable n that increases the interval to be displayed based on the block number Bn, the remainder m divided by n of Bn is obtained as the Bn mod n, and m is subtracted from Bn as Bnr (as Bn−m = Bnr). Instead of Bn, Bnr was used as an argument of the hash function to calculate OTP. For example, when the block number is 15 seconds and n is set to 2, the password is changed when the block number Bn is odd or even, and the password display time can be increased from 15 seconds to 30 seconds. By increasing n from 2 to 3, 4, 5, the display time and the authentication time can be further increased. Functions and variables that increase the time during which this OTP can be generated, authenticated, displayed, and waited for input are shown in FIG. 3AC, 3030A. Note that n is an unsigned integer of 1 or more. It cannot be set to n = 0.
Generate the same 3030A in the authentication contract and the authentication contract (or authentication function) so that the seed values match in the authentication function and the generation function, and generate when changing the value of 3030A even after deploying the contract to the blockchain. It is necessary for the terminal 1C, which is the administrator of the contract, to send the transaction of the setting change to 3A and rewrite the variables and the like so that the contract and the authentication contract side match.

<ブロックチェーンにて決まる値を用いたOTP>
実施例ではイーサリアムのテストネットで実施例となるEERC721規格に本発明の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ベースの擬似乱数生成器用スマートコントラクトに用いるときはBnTOTP=fh(KC,Bn)やBnTOTP=fh(Bn)やBnTOTP=fh(fh(Bn))でもよく、本発明ではブロック番号Bnを用いたTOTPベースの擬似乱数生成器が実施できることを確認した後、その擬似乱数生成器をOTP認証システムに応用している経緯がある。擬似乱数として用いるときはトークン番号TIDAや後述するユーザー側の投票値のマッピング変数VUをシード値に用いてもよい。
<OTP using values determined by the blockchain>
In the example, the one-time password OTP token issuing section, OTP token and user ownership relationship recording section, and OTP generation in the form of a smart contract in which the OTP authentication part of the present invention is added to the EERC721 standard which is an example in the Ethereum test net. A unit and an authentication unit that verifies and authenticates the generated password are provided in the blockchain contract. The block number Bn can be used in the blockchain unit.
In Ethereum, a vote on the GasLimit value (BlockGasLimit value) is held among the nodes that make up the blockchain. And Ethereum has a 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 vote are also used as the seed value of the blockchain in the present invention. For example, if all is done, the one-time password BnTOTP is BnTOTP = fh (A, TIDA, KC, Bn, BC, V), or BnTOTP = fh (A, TIDA, KC, Bn, BSZ), or BnTOTP = fh ( OTP can be generated by using a plurality of arguments that are seed values for generating OTP, such as A, TIDA, KC, Bn, BC, BSZ). It is also possible to regard OTP as a pseudo-random number and use it as a pseudo-random number generator.
BnTOTP = fh (KC, Bn), BnTOTP = fh (Bn), or BnTOTP = fh (fh (Bn)) may be used simply for a smart contract for a TOTP-based pseudo-random number generator using the block number Bn on Ethereum. In the present invention, after confirming that a TOTP-based pseudo-random number generator using the block number Bn can be implemented, there is a history of applying the pseudo-random number generator to the OTP authentication system. When used as a pseudo-random number, the token number TIDA or the user-side voting value mapping variable VU described later may be used as the seed value.

実施例にあるイーサリアムにはweb3.jsといったブロックチェーン部とユーザー端末のウェブブラウザを結ぶECMAScriptモジュールがある。前記ECMAScriptモジュールを用いユーザーの秘密鍵や指定したユーザー識別子、コントラクト識別子、ブロックチェーン識別子、トークンの名前を用い、ウェブブラウザ上でイーサリアムのブロックチェーンにアクセスし本発明のOTP生成関数やOTP認証関数を操作し、OTP等や認証結果の戻り値CTAUを得て、ウェブサイトへのログオン(図8A)、紙のチケット18Aまたは近距離無線通信(NFC)タグ19Aによる入場や、NFCタグによる施錠の電子的な解錠鍵に用いてもよい(図8B)。
さらに本発明のOTP認証システムにおいてソフトウェアCRHN(図4Aの403A)を用い、OTP認証関数を実行し、認証結果が正しい時に得られた戻り値のデータCTAU(CTAUは図3AA等に記載のブロックチェーンのコントラクトに記録された3021Aと、図3AAの3021AをOTP認証取得し端末4Aに記憶させた図4Bの4031Aを示す)を用いることを特徴として、ブロックチェーンの外部から得られた鍵データAKTB(図4Bの4032A)や403A内部に記録されたソフトウェアの秘密鍵データCRKY(図4Bの40302A)を用いて403Aのプログラムに従って共通鍵暗号化(対称鍵暗号化)を行う鍵データTTKY(図4Bの4033A)と、その鍵データTTKY(図4Bの4033A)にて暗号化されたデータ4035Aを流通させ、アクセス権をワンタイムパスワード認証機能付きのERC721型トークンとして与えられているユーザーの手で復号出来る暗号化データの流通と復号を行うシステムに本発明のOTP認証システムを用いることができる。
OTP認証関数3018Aや3018Aや3018DAの戻り値CATU3021Aはコントラクトの管理者が変更する手段を備え変更してもよく、1つ又は複数の戻り値CTAU3021Aを返してもよく、さらにユーザー識別子Aやトークン番号TIDAをキーとするマッピング変数CATU3021A(CTAU[TIDA]やCTAU[A]というマッピング変数3021A)と前記変数についてトークン番号やユーザー識別子をキーとして変数の値を変更するセッター関数を備えてもよい。
For Ethereum in the examples, web3. There is an ECMAScript module that connects a blockchain unit such as js with a web browser of a user terminal. Using the ECMAscript module, access the Ethereum blockchain on a web browser using the user's private key, specified user identifier, contract identifier, blockchain identifier, and token name, and use the OTP generation function and OTP authentication function of the present invention. Operate to obtain the OTP etc. and the return value CTAU of the authentication result, log on to the website (Fig. 8A), enter with the paper ticket 18A or Near Field Communication (NFC) tag 19A, and electronically lock with the NFC tag. It may be used as an unlocking key (Fig. 8B).
Further, in the OTP authentication system of the present invention, the software CRHN (403A in FIG. 4A) is used to execute the OTP authentication function, and the return value data CTAU obtained when the authentication result is correct (CTAU is the blockchain shown in FIG. 3AA or the like). 3021A recorded in the contract of FIG. 3AA and 4031A of FIG. 4B obtained by acquiring OTP authentication and storing 3021A of FIG. 3AA in the terminal 4A) are used, and the key data AKTB obtained from the outside of the blockchain is used. Key data TTKY (symmetric key encryption) that performs common key encryption (symmetric key encryption) according to the program of 403A using the software secret key data CRKY (40302A of FIG. 4B) recorded inside FIG. 4B (4032A) and 403A (FIG. 4B). 4033A) and the data 4035A encrypted with the key data TTKY (4033A in FIG. 4B) can be distributed, and the access right can be decrypted by the user given as an ERC721 type token with a one-time password authentication function. The OTP authentication system of the present invention can be used as a system for distributing and decrypting encrypted data.
The return values CATU3021A of the OTP authentication functions 3018A, 3018A and 3018DA may be modified by providing means for the contract administrator to change, and may return one or more return values CTAU3021A, as well as the user identifier A and token number. A mapping variable CATU3021A (mapping variable 3021A called CTAU [TIDA] or CTAU [A]) using TIDA as a key and a setter function for changing the value of the variable using a token number or a user identifier as a key may be provided.

3.ネットワーク
通信経路であるネットワーク20においてユーザーUAのコンピュータDA(端末1A)とサーバーP(端末3A)の通信は暗号化されていることが好ましい。本発明ではワンタイムパスワードを端末1Aとサーバ端末3Aの間でやり取りするが、その際に端末1Aと端末3Aをネットワーク20結ぶ通信経路が暗号化されていることが好ましい。もし暗号化されてなければネットワーク20を介したブロックチェーンとのやり取りが読み取られてしまう恐れがある。
またブロックチェーンの基盤にトランザクションやコントラクトの処理内容やコントラクトの変数の情報を秘匿できる方法があることが好ましい。
ネットワークを構成する際は有線及び無線による通信方法を用いてもよい。ワンタイムパスワードの生成と認証を行う際に本発明のトークンを用いる場合は双方向の通信が必要である。しかし利用形態によってはワンタイムパスワードの生成のみを双方向通信で行い、認証は紙のチケットや施錠・解錠用のNFCタグを読み取る端末3D(3Dの利用形態は図8Bに記載)にて認証させることができる。
また暗号化データを復号する用途では一対複数の放送で得られた暗号化データを生成されたOTPに従って本発明の認証システムで認証し復号する事が可能である。放送する局が宇宙にある局5Cでそれを操作する局5CCはネットワーク2を用いて無線通信を行い通信する。双方向のデータ通信により暗号化データを復号する用途ではネットワーク20等を用いる。
3. 3. It is preferable that the communication between the computer DA (terminal 1A) of the user UA and the server P (terminal 3A) is encrypted in the network 20 which is a network communication path. In the present invention, a one-time password is exchanged between the terminal 1A and the server terminal 3A, and it is preferable that the communication path connecting the terminal 1A and the terminal 3A to the network 20 is encrypted at that time. If it is not encrypted, there is a risk that the communication with the blockchain via the network 20 will be read.
In addition, it is preferable that there is a method for concealing transaction and contract processing contents and contract variable information on the base of the blockchain.
When configuring the network, a wired or wireless communication method may be used. Two-way communication is required when the token of the present invention is used when generating and authenticating a one-time password. However, depending on the usage pattern, only the one-time password is generated by two-way communication, and the authentication is performed by the terminal 3D that reads the paper ticket and the NFC tag for locking / unlocking (the usage pattern of 3D is shown in FIG. 8B). Can be made to.
Further, in the application of decrypting the encrypted data, it is possible to authenticate and decrypt the encrypted data obtained by one-to-many broadcasting by the authentication system of the present invention according to the generated OTP. The station 5C that operates the station 5C in space is the station that broadcasts, and the station 5CC communicates by performing wireless communication using the network 2. A network 20 or the like is used for decrypting encrypted data by bidirectional data communication.

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はサービスが終了したログインが必要な電子書籍サービスやオンラインゲームサーバのサービスであってもよい。
端末3CにおいてECMAScript等でサーバ3Aのブロックチェーン部とユーザーの端末1Aが通信してやり取りできるウェブアプリ、ウェブサイトデータをユーザーに送信し表示させ、ユーザーが持つ秘密鍵101Aの情報を持ったウォレットソフトウェアを用い(ウォレットソフトウェアがない場合は秘密鍵情報101Aそのものをウェブサイトに入力、記述、出力させ)ウェブサイトデータにユーザーが所持するサーバ端末3Cのログインに利用できるトークン番号を入力し、その情報とウォレットソフトの情報からワンタイムパスワード生成コントラクトのワンタイムパスワード生成関数よりユーザー識別子A、トークン番号TIDAを引数としてブロック番号ベースのワンタイムパスワードBnTOTP生成し、BnTOTPをウェブサイトに入力した際に、入力値をワンタイムパスワード認証コントラクトのワンタイムパスワード認証関数で認証処理を行う。
OTPの認証関数及び生成関数で計算されるBnTOTPはハッシュ関数fhとコントラクト内部変数KCと前記のA、TIDAを用いてBnTOTP=fh(A,TIDA,KC,Bn)という引数と関数で表される。
ここでウォレットソフトウェアは秘密鍵情報と秘密鍵から計算されるユーザー識別子情報を計算でき、ある保有秘密鍵とユーザー識別子におけるERC721トークンの保有数を表示できるものもある。(ウォレットソフトウェアの例としてhttps://metamask.ioのブラウザ拡張ソフトウェア型ウォレットソフトウェアのMetamaskなど。秘密鍵を記録するハードウェアウォレットDWALT1603Aと通信できるものもある。)
認証結果が正しい時、サーバ3Aにアクセスしてきたユーザー識別子Aやトークン番号TIDAといったブロックチェーンに関する情報と、端末1AのIPアドレスまたは位置情報や端末1Aに固有の装置ID(デバイスID)または端末1Aの入力装置14Aのセンサ144Aのセンサ値を端末の環境値IPVとして図6Xで示すデータ構造でサーバ3Aに保存し不正アクセスがあるかどうかを監視することもできる。
端末1Aのセンサ144Aのセンサ値は主にセンサ144A、環境センサ1440A、位置センサ1441A、モーションセンサ1442A、生体認証センサ1443Aのセンサ値をユーザーの同意を得て利用する。プライバシー上好ましくないがやむを得ない場合は140Aや141A、143A、142Aといった入力装置14Aの入力そのものでも良い。143Aや142Aや141A、140Aといった入力装置をセンサ値として用いる場合はユーザーの情報提供の同意が無ければ利用できない。
ここで 環境センサ1440Aは温度センサまたは湿度センサまたは気圧センサまたは圧力センサまたは照度センサまたは光センサ、化学センサ、においセンサといった端末周囲の環境にかかわる情報を物理的な手段を用いて測定できるできるセンサである。
位置センサ1441Aは磁気センサまたは地磁気センサまたは加速度計を含み、加速度や磁気を物理量として測定し、重力加速度を用いた端末の向き、地磁気などに対する向きを示す磁気コンパス機能にも利用される位置を測定するセンサである。モーションセンサ1442Aは加速度計またはジャイロセンサ(角速度センサ)のいずれか両方を含み、端末の加速度といった動きを検出するセンサであり、端末の動きを測定する。
生体認証センサ1443Aは端末1Aがカメラやサーモグラフィといった画像センサを持ち前記画像センサを用いて顔の構造に由来する認証をするときのセンサであったり、スキャナを用いた指紋認証を行う指紋センサであったり、耳の構造に由来する認証を行うときのセンサであったり、歩行する際などに生じる装着された端末の感じるモーションや圧力信号を用いて認証する際のセンサである。生体認証は既知の方法を用いることができる。
4. Service using password 4A. Website login usage <Login process>
When the authentication system of the present invention is used for logging in or operating a website, the login process is performed using the server SVLogin (terminal 3C in FIG. 8A). FIG. 8A shows a connection diagram of the terminal. The terminal 1A, the terminal 3A, and the terminal 3C are connected via the network 20. The server terminal 3C may be an actual 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, the server terminal 3C is constructed in the terminal 1A as a virtual machine, and the terminal 1A is communicated with the terminal 3A via the network 20 while communicating with the terminal 1A inside the terminal 1A. By connecting, it becomes possible to log in to the virtual machine terminal 3C built in the terminal 1A. For example, the terminal 3C may be an electronic book service or an online game server service that requires login after the service has ended.
Wallet software that has the information of the user's private key 101A by transmitting and displaying the web application and website data that the blockchain part of the server 3A and the user's terminal 1A can communicate and exchange with each other by ECMAscript or the like on the terminal 3C. (If there is no wallet software, enter, describe, and output the private key information 101A itself to the website) Enter the token number that can be used to log in to the server terminal 3C owned by the user in the website data, and enter that information and One-time password generation from wallet software information A block number-based one-time password BnTOTP is generated using the user identifier A and token number TIDA as arguments from the one-time password generation function of the contract, and the input value is entered when BnTOTP is entered on the website. Is authenticated by the one-time password authentication function of the one-time password authentication contract.
BnTOTP calculated by the OTP authentication function and generation function is represented by the argument and function BnTOTP = fh (A, TIDA, KC, Bn) using the hash function fh, the contract internal variable KC, and the above A and TIDA. ..
Here, the wallet software can calculate the secret key information and the user identifier information calculated from the private key, and some can display the number of ERC721 tokens held in a certain held private key and user identifier. (An example of wallet software is Metamask, a browser extension software type wallet software at https://metamask.io. Some can communicate with the hardware wallet DWALT1603A that records the private key.)
When the authentication result is correct, information about the blockchain such as the user identifier A and token number TIDA that have accessed the server 3A, the IP address or location information of the terminal 1A, and the device ID (device ID) or terminal 1A unique to the terminal 1A. It is also possible to store the sensor value of the sensor 144A of the input device 14A as the environment value IPV of the terminal in the server 3A with the data structure shown in FIG. 6X and monitor whether or not there is unauthorized access.
As the sensor value of the sensor 144A of the terminal 1A, the sensor values of the sensor 144A, the environment sensor 1440A, the position sensor 1441A, the motion sensor 1442A, and the biometric authentication sensor 1443A are mainly used with the consent of the user. If it is not preferable in terms of privacy but it is unavoidable, the input itself of the input device 14A such as 140A, 141A, 143A, 142A may be used. When an input device such as 143A, 142A, 141A, or 140A is used as a sensor value, it cannot be used without the consent of the user to provide information.
Here, the environment sensor 1440A is a sensor capable of measuring information related to the environment around the terminal such as a temperature sensor, a humidity sensor, a pressure sensor, a pressure sensor, an illuminance sensor, an optical sensor, a chemical sensor, and an odor sensor by using physical means. be.
The position sensor 1441A includes a magnetic sensor, a geomagnetic sensor, or an accelerometer, measures acceleration and magnetism as physical quantities, and measures the position used for the magnetic compass function that indicates the orientation of the terminal using gravity acceleration and the orientation with respect to the geomagnetism. It is a sensor that does. The motion sensor 1442A includes both an accelerometer and a gyro sensor (angular velocity sensor), and is a sensor that detects movement such as acceleration of the terminal, and measures the movement of the terminal.
The biometric authentication sensor 1443A is a sensor when the terminal 1A has an image sensor such as a camera or thermography and uses the image sensor to perform authentication derived from the structure of the face, or a fingerprint sensor that performs fingerprint authentication using a scanner. It is a sensor for authentication derived from the structure of the ear, and a sensor for authentication using the motion and pressure signal felt by the attached terminal when walking. A known method can be used for biometric authentication.

<ログイン実行と実行後の処理>
端末3Cから端末1Aにログイン後のウェブサイト、ウェブアプリデータを送付する。またログイン後のページにてユーザーが端末1Aの入力装置を用いて入力した値をネットワークを通じてサーバ端末SVLogin端末3Cが記録し、また入力した値によってユーザーデータの操作を行う。この例として具体的にはインターネットバンキングにおけるログイン後の振り込み処理や会員サイトでのデータの記録・変更や投票などの処理、オンライン株主総会での投票処理、オンラインゲームでの処理が挙げられる。OTP認証後の処理に応じてはブロックチェーンにユーザー及びユーザー端末1Aをアクセスさせ、処理を行わせた際にOTPの生成関数を実行させOTPを取得したのち取得したOTPを引数に用いて認証関数を実行させたとき、3017Aや3017AAといった変数を変更させる。
ここでウェブサイト等の認証とログインに用いるとき3017Aや3017AAはサービスを利用出来る会員のポイントもしくは通貨残高が記録されており、本発明のログイン権や電子チケット等の情報をサービス提供時に提示したときにその残高がサービスに対応されるポイントもしくは通貨の数量だけ差し引かれていく形でもよい。会員ポイントや会員権専用の数値、通貨残高の他、オンラインゲーム等のデータについて改ざんされたくない重要なデータを記録してもよい。3017Aや3017AAはコントラクト内の他のユーザーやコントラクト管理者の指示によりその残高を変更し、あるユーザーの残高の一部を別のユーザーの残高に加算するという振込・振替処理を行えてもよい。
(ここで紙及び電子チケットやログイン権となりうる端末を端末3Dといったサービス提供機器に提示し認証するときも3017DAにサービスを利用出来る会員のポイントもしくは通貨残高が記録されており、本発明の電子チケット、紙チケットの情報をサービス提供時に提示したときにその残高がサービスに対応されるポイントもしくは通貨の数量だけ差し引かれていく形でもよい。端末3D内の記憶装置のデータのうち、他のユーザーや端末3Dの管理者の指示によりその残高を変更し、あるユーザーの残高の一部を別のユーザーの残高に加算するという振込・振替処理を行えてもよい。端末3Dが端末3Cと同じくネットワーク20に接続しノード端末3Aや端末3Fや3Eと接続できる場合には端末3Dは端末3Cと同等とみなし端末3Cと同じ処理が行るものとみなす)
3017Aや3017AGはトークン番号に対応したOTPトークンが持つ資産残高やデータ量を意味しており、認証関数実行後にそれらを操作してもよい。OTP認証関数3018Aの実行時に認証関数3018A実行中に含まれる処理(もしくは認証関数の処理後にリンクされて別途行われる処理)として図3ABの3021A、3022A、3023Aがあってもよい。
前記3018A、3021A、3022A、3023Aは具体的にはインターネットバンキングの認証コントラクトがあり、そのコントラクトでは顧客の資産残高の記録が行われており、認証関数3018Aに続いてコントラクト内にある別のユーザートークン番号(トークン番号と銀行口座番号が対応付けられていると想定)へ振り込み元のユーザーが3017AAに記録された残高の範囲内で振り込み先にOTP認証関数が一致した際に振り込む処理をもつ3022Aがあってもよい。
3022Aは振り込み処理や定期預金、振り込み限度額設定といった設定を行う処理でもよい。そして銀行用途に限らず証券や保険など金融分野、私的または公的の公共又は民間の会員サイトなどでの投票などの意思表示・重要事項の変更、あるいはオンラインゲームなどで重要なユーザーのデータを記録させることに利用されうる。
<Login execution and post-execution processing>
The website and web application data after logging in from the terminal 3C to the terminal 1A are sent. Further, the server terminal SVLogin terminal 3C records the value input by the user using the input device of the terminal 1A on the page after login through the network, and the user data is operated according to the input value. Specific examples of this include transfer processing after login in Internet banking, data recording / change and voting processing on member sites, voting processing at online general meetings of shareholders, and processing in online games. Depending on the processing after OTP authentication, the blockchain is made to access the user and the user terminal 1A, and when the processing is performed, the OTP generation function is executed to acquire the OTP, and then the acquired OTP is used as an argument to perform the authentication function. Is executed, variables such as 3017A and 3017AA are changed.
Here, when used for authentication and login of a website or the like, 3017A or 3017AA records the points or currency balance of a member who can use the service, and when information such as the login right and electronic ticket 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. In addition to membership points, membership numbers, currency balances, and other data such as online games, important data that you do not want to be tampered with may be recorded. The 3017A or 3017AA may perform a transfer / transfer process in which the balance is changed according to the instruction of another user in the contract or the contract administrator, and a part of the balance of one user is added to the balance of another user.
(Here, even when a paper, an electronic ticket, or a terminal that can be a login right is presented to a service providing device such as a terminal 3D and authenticated, the points or currency balance of the member who can use the service is recorded in 3017DA, and the electronic ticket of the present invention is recorded. , When the information of the paper ticket is presented at the time of service provision, the balance may be deducted by the amount of points or currency corresponding to the service. Among the data of the storage device in the terminal 3D, other users or The balance may be changed according to the instruction of the administrator of the terminal 3D, and a transfer / transfer process may be performed in which a part of the balance of one user is added to the balance of another user. The terminal 3D is the network 20 like the terminal 3C. If it is possible to connect to the node terminal 3A, terminal 3F or 3E, the terminal 3D is regarded as equivalent to the terminal 3C and the same processing as the terminal 3C is performed).
3017A and 3017AG mean the asset balance and the amount of data possessed by the OTP token corresponding to the token number, and they may be operated after the authentication function is executed. There may be 3021A, 3022A, 3023A of FIG. 3AB as a process included in the execution of the authentication function 3018A at the time of executing the OTP authentication function 3018A (or a process linked separately after the processing of the authentication function).
The 3018A, 3021A, 3022A, and 3023A specifically have an Internet banking authentication contract, in which the customer's asset balance is recorded, and the authentication function 3018A is followed by another user token in the contract. 3022A, which has a process of transferring money when the OTP authentication function matches the transfer destination within the range of the balance recorded in 3017AA by the transfer source user to the number (assuming that the token number and the bank account number are associated) There may be.
The 3022A may be a process for setting a transfer process, a time deposit, a transfer limit amount, and the like. And not limited to banking use, financial fields such as securities and insurance, changes in intentions and important matters such as voting on private or public public or private member sites, or important user data in online games etc. It can be used for recording.

<不正ログインの検知>
本発明ではログインしたユーザのIPアドレス(IPアドレスのハッシュ化または加工した値)、または位置情報(位置情報をハッシュ化または加工した値)、またはコンピュータの装置ID(またはハッシュ値)と、トークン番号、ユーザー識別子をSVLogin(図3Cの端末3C)の記憶装置30Cの3011Cに図6Xに示すデータ構造もしくはデータの形式で記録し、ログインしたユーザの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値(図6Xに記載のデータ構造)や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値に用いることも出来うる。生体認証やプライバシーにかかわる情報を図6Xの情報に用いる場合はセンサが取得した情報をハッシュ化し、加工し、匿名化してを用いることが好ましいかもしれない。
ただし、銀行や証券など金融用途などでは防犯上IPアドレスといった情報はそのまま記録されることが好ましいかもしれない。
<Detection of unauthorized login>
In the present invention, the IP address (hashed or processed value of the IP address) or location information (hashed or processed value of the location information) of the logged-in user, or the device ID (or hash value) of the computer and the token number. , The user identifier is recorded in 3011C of the storage device 30C of SVLogin (terminal 3C of FIG. 3C) in the data structure or data format shown in FIG. 6X, and the IP address of the logged-in user (value obtained by hashing or processing the IP address). The terminal 3C is provided with a processing unit (3110C, 3111C, 3112C, 3113C in FIG. 3C) for monitoring the position information (value obtained by hashing or processing the position information) or the device ID (or hash value) of the computer. The processing unit (Fig. 3C) has a function to determine at any time whether the token number or user identifier is being accessed from a different IP address, different location information, or different device ID, notify the user if they are different, and block access. 3110C, 3111C, 3112C, 3113C).
Here, regarding the device ID of the computer, in addition to the computer manufacturing ID such as the device ID, the operating software ID, and the web browser ID, the acceleration sensor, magnetic sensor, pressure sensor (pressure sensor), and temperature mounted on the terminal 1A. Using the IPV value (data structure shown in FIG. 6X) including the sensor 144A (sensors shown in 1440A, 1441A, 1442A, and 1443A of FIG. 144A) of the terminal 1A including the sensor, and the hashed IPV. May be good. This method is another use example of the present invention 4B. 4C. It may be used for 4T.
For example, when the terminal 1A is a smartphone equipped with a magnetic sensor in the position sensor 1441A of 144A and equipped with a magnetic sensor capable of detecting magnetic field in a three-dimensional direction capable of measuring geomagnetism, the orientation of the magnetic sensor built into the smartphone is the user terminal. It depends on the direction of. If 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 will be on the remote earth. It is difficult to spoof because it has to match the value of the magnetic sensor of the user's computer in a certain position. Not only one sensor but multiple sensors can be used, for example, a geomagnetic sensor and a temperature sensor, or a temperature and barometric pressure sensor (temperature and pressure sensor) can be combined. It is preferable that the IP address (and the hash value or anonymized value of the IP address) and the sensor value can be used together.
Here, the sensor built in the terminal 1A will also be described. It is not necessary to have all the sensors built in the terminal, and it is preferable that one or more sensors are adopted.
The environment sensor of 1440A includes a temperature sensor, a pressure sensor (pressure sensor), a humidity sensor, and an illuminance sensor, and the measured values of the four types of 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 that can detect the position of the terminal. The measured values of the magnetic sensor and the accelerometer sensor can be individually input to the terminal 1A.
The motion sensor of 1442A includes an accelerometer and a gyro sensor that detects an angular velocity, and is a sensor that can detect the movement of a terminal. The measured values of the accelerometer (accelerometer) and the gyro sensor can be input to the terminal 1A individually.
For 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 sensor for detecting the vein pattern iris and ear structure is used. If it is information related to walking, it may be measured using a shoe-shaped motion sensor device corresponding to an acceleration sensor of an external terminal capable of communicating with the terminal 1A 1442A or the communication device 12A of the terminal 1A, or a motion sensor group attached to clothes. .. In a terminal equipped with a microphone / sound sensor 143A by voice authentication, the acoustic information can be hashed and used as an IPV value while protecting personal privacy as unique acoustic information that the terminal can feel the voice around the terminal. sell. When information related to biometric authentication or privacy is used for the information in FIG. 6X, it may be preferable to hash, process, and anonymize the information acquired by the sensor.
However, for financial purposes such as banks and securities, it may be preferable to record information such as IP addresses as they are for crime prevention.

<複数の秘密鍵を用いた不正アクセス対策>
本発明の認証システムにおける実施形態では単一の秘密鍵101Aを用いてもよいし秘密鍵101A2といった101Aとは異なる秘密鍵を用い、2つ以上の秘密鍵を用いてユーザー端末1Aや1B、コントラクト管理者端末1Cなどからブロックチェーン部を持つサーバ3Aのコントラクトの関数や変数へのアクセスを行ってもよいし、サービスを提供する端末3Cや端末3Dにアクセスしてもよい。本発明の認証システムを用いて暗号化されたデータを復号する用途に用いてもよい。
端末1Aの秘密鍵101Aを用いて101Aに対応付けられたOTPトークンのトークン番号がTIDAのときOTPの認証関数及び生成関数で計算されるBnTOTPはハッシュ関数fhとコントラクト内部変数KCと前記のA、TIDAを用いてBnTOTP−1=fh(A,TIDA,KC,Bn)という引数と関数で表される。
ここで端末1Aに搭載された秘密鍵101Aのほかに101A2という2番目の秘密鍵があり、その秘密鍵101A2から計算されるユーザー識別子A2とそれに対応付けられて発行されたOTPトークンのトークン番号TIDA2があったとき2つ目のBnTOTP−2=fh(A2,TIDA2,KC,Bn)が計算できる。
OTP生成関数でBnTOTP−1とBnTOTP−2を生成した後、認証関数を持つコントラクト内の認証関数において関数の引数に、A,TIDA,BnTOTP−1,A2,TIDA2,BnTOTP2−2という形で、2つの秘密鍵101Aと101A2から計算されるユーザー識別子とOTPトークンのトークン番号とOTP(ここではBnTOTP−1およびBnTOTP−2を例として示したが、OWPの場合はOWP−1とOWP−2といった形式も考えられる。)を用いて認証関数を実行させ認証を行ってもよい。前記のように2つの秘密鍵を用いることで2つの秘密鍵のうち1つが漏洩した場合、たとえば101Aが漏洩し悪用され利用されているときは、もう片方の秘密鍵101A2が漏洩しなければ関数の引数であるBnTOTP−2(OWPの場合はOWP−2)が攻撃者にとっては不明であるので認証関数が実行できず、不正アクセスを防止する効果が期待される。
ここで秘密鍵を複数用いてOTPトークンの認証に用いるときは、OTPトークンの認証を行うコントラクトにて秘密鍵101Aから計算されるユーザ識別子Aと秘密鍵101A2から計算されるユーザー識別子A2をユーザーUAが利用するユーザー識別子であるとコントラクト内部の変数もしくはサービス提供者・サービス提供者のデータベースに登録する必要がある。ユーザー識別子のほかにトークン番号TIDAとTIDA2が同一のユーザーUAに配布されていることをOTP認証関数を含むコントラクトに登録する部分を持っていてもよい。秘密鍵は2つに限定されず3個以上の複数個でもよい。
<Countermeasures against unauthorized access using multiple private keys>
In the embodiment of the authentication system of the present invention, a single secret key 101A may be used, a secret key different from 101A such as the secret key 101A2 is used, and two or more secret keys are used for the user terminals 1A and 1B, and the contract. The administrator terminal 1C or the like may access the function or variable of the contract of the server 3A having the blockchain unit, or may access the terminal 3C or the terminal 3D that provides the service. It may be used for decrypting encrypted data using the authentication system of the present invention.
When the token number of the OTP token associated with the 101A using the secret key 101A of the terminal 1A is TIDA, the BnTOTP calculated by the OTP authentication function and the generation function is the hash function fh, the contract internal variable KC, and the above A, It is represented by an argument and a function of BnTOTP-1 = fh (A, TIDA, KC, Bn) using TIDA.
Here, in addition to the secret key 101A mounted on the terminal 1A, there is a second secret key called 101A2, and the user identifier A2 calculated from the secret key 101A2 and the token number TIDA2 of the OTP token issued in association with the user identifier A2. When there is, the second BnTOTP-2 = fh (A2, UIDA2, KC, Bn) can be calculated.
After generating BnTOTP-1 and BnTOTP-2 with the OTP generation function, the argument of the function in the authentication function in the contract having the authentication function is A, TIDA, BnTOTP-1, A2, TIDA2, BnTOTP2-2. The user identifier calculated from the two private keys 101A and 101A2, the token number of the OTP token, and the OTP (BnTOTP-1 and BnTOTP-2 are shown here as examples, but in the case of OWP, OWP-1 and OWP-2 are used. The format is also conceivable.) The authentication function may be executed and the authentication may be performed. If one of the two secret keys is leaked by using the two secret keys as described above, for example, if 101A is leaked and misused and used, the function if the other secret key 101A2 is not leaked. Since BnTOTP-2 (OWP-2 in the case of OWP), which is an argument of, is unknown to the attacker, the authentication function cannot be executed, and the effect of preventing unauthorized access is expected.
Here, when a plurality of private keys are used for OTP token authentication, the user identifier A calculated from the private key 101A and the user identifier A2 calculated from the private key 101A2 in the contract for authenticating the OTP token are used as the user UA. If it is a user identifier used by, it is necessary to register it in a variable inside the contract or in the service provider / service provider database. In addition to the user identifier, it may have a part for registering that the token numbers TIDA and TIDA2 are distributed to the same user UA in a contract including an OTP authentication function. The number of private keys is not limited to two, and may be three or more.

サーバ端末3Cや3Dなどの本発明においてサービス提供側となる端末にUAの二つの識別子AとA2もしくはトークン番号TIDAとTIDA2を登録し、ウェブサイトにログインするときにAとTIDAとBnTOTP−1の入力を求める認証を行った後、A2とTIDA2とBnTOTP−2の入力を求める認証を行ってもよい。
ブロックチェーンではなくウェブサイトログイン先のサーバ端末3Cや3DにおいてBnTOTP−1=fh(A,TIDA,KC,Bn)とBnTOTP−2=fh(A2,TIDA2,KC,Bn)を別々にサーバ3Cが配信するウェブサイトのログイン画面にて認証処理を行い複数のOTPトークンのOTP入力と認証をサーバ端末3Cや3Dで求めることもできる。この場合3Cや3DはユーザーUAの複数の秘密鍵に由来するユーザー識別子AとA2やTIDAとTIDA2の対応付けを行って3Cや3Dの記録装置に記録されている必要がある。
サーバ端末3Cや3Dを用いて複数の秘密鍵によるOTPトークンの認証に用いるときは、OTPトークンの認証を行うサーバ端末3Cおよび3Dで秘密鍵101Aから計算されるユーザ識別子Aと秘密鍵101A2から計算されるユーザー識別子A2をユーザーUAが利用するユーザー識別子であると登録する必要がある。もしくはトークン番号TIDAとTIDA2が同一のユーザーUAに配布されていることをOTP認証関数を含むサーバ端末3Cや3Dに登録する部分を備えていてもよい。OTPトークンのコントラクト識別子が異なる場合も記録する必要がある。秘密鍵は2つに限定されずでなく3個以上の複数個でもよい。
複数の秘密鍵とそれに対し発行されたOTPトークンの対応関係のデータベースはサーバ端末のみあるいブロックチェーン上のコントラクトのみまたはその両方に記録されていてもよい。サーバ端末3Cや3Dとブロックチェーン上のコントラクト双方に複数の秘密鍵を利用してアクセスする形態も考えられる。
When two identifiers A and A2 of UA or token numbers TIDA and TIDA2 are registered in a terminal that is a service provider in the present invention such as a server terminal 3C or 3D, and A, TIDA, and BnTOTP-1 are logged in to the website, After performing authentication for input, authentication for input of A2, TIDA2, and BnTOTP-2 may be performed.
BnTOTP-1 = fh (A, TIDA, KC, Bn) and BnTOTP-2 = fh (A2, TIDA2, KC, Bn) are separately set by the server 3C on the server terminal 3C or 3D of the website login destination instead of the blockchain. It is also possible to perform authentication processing on the login screen of the website to be distributed and request OTP input and authentication of a plurality of OTP tokens on the server terminal 3C or 3D. In this case, 3C and 3D need to be recorded in the recording device of 3C and 3D by associating the user identifier A and A2 or TIDA and TIDA2 derived from the plurality of private keys of the user UA.
When using the server terminal 3C or 3D to authenticate the OTP token with a plurality of private keys, it is calculated from the user identifier A and the secret key 101A2 calculated from the secret key 101A on the server terminal 3C and 3D that authenticate the OTP token. It is necessary to register the user identifier A2 to be used as the user identifier used by the user UA. Alternatively, it may include a part for registering that the token numbers TIDA and TIDA2 are distributed to the same user UA in the server terminal 3C or 3D including the OTP authentication function. It is also necessary to record if the contract identifier of the OTP token is different. The number of private keys is not limited to two, and may be three or more.
The database of the correspondence between the plurality of private keys and the OTP tokens issued for them may be recorded only in the server terminal or only in the contract on the blockchain or both. It is also conceivable to use a plurality of private keys to access both the server terminal 3C or 3D and the contract on the blockchain.

本発明の実施において利用したイーサリアムでは1つのユーザー識別子あたり256bitの秘密鍵を用いるが、それを本発明のOTP認証システムの実施形態で秘密鍵を2つ用いれば512bitの秘密鍵となり、N個用いれば256×N[bit]の秘密鍵によりOTP認証することが可能となり、秘密鍵の実質的なデータ長を拡張可能となる。
データ長を増やすことで不正アクセスを行おうとする者の攻撃に対する耐性を高めることもできる。例として秘密鍵を3つ用いるよう設定した場合には、3つの内1つの秘密鍵が漏洩しても残り2つが漏洩していなければコントラクトの関数や変数へアクセスしないようにする事ができる。複数のうち過半数の秘密鍵が入手できなければ、それら秘密鍵に割り当てられたOTPトークンの認証が行えないのでサービスの提供を阻止する事ができる。これは一種のマルチシグ技術である。(マルチシグ:複数の秘密鍵を用いた複数署名。)
複数の秘密鍵を組み合わせてOTP認証を行うことで秘密鍵身元確認に関する運用ができるかもしれない。例えば2つ秘密鍵があり、片方は第三者機関と共有する身元確認のできている秘密鍵101A2でもう片方はユーザーが端末1A内部で生成した秘密鍵101Aであるとき、かつ秘密鍵の利用を開始した直後におそらく秘密鍵の漏洩が無いと思われるときに、101A2と101Aの双方の秘密鍵で計算されるユーザー識別子A2とAを第三者機関やそれらをユーザー識別子と実在する人物UAとの対応付けを行う第三者機関などのサーバ端末3CにTIDAとTIDA2のトークンを用いて第三者機関第三者機関や対応付けを行う団体のウェブサイトにOTP認証してログインなどして登録する。
AとA2もしくはAとA2に割り当てられたトークン番号TIDAとTIDA2のOTPトークンによって、端末3Cの管理者はユーザーUAに伝えたA2の秘密鍵101A2を知るUAが、Aというユーザー識別子Aを使うことと、Aに対応した秘密鍵101Aを持っていることが分かる。このときAとA2とユーザーUAが紐づけられ簡易に本人確認できたとする。そしてAに対し、ユーザーUAの所有する秘密鍵に対応するユーザ識別子であると判断し、ユーザー識別子Aをトークンなどの送付先アドレスとして、例えばある会員サイトへのログイン権やある会場への入場券・施解錠する鍵、そして暗号化データを復号するOTPトークンの発行や配布を行えるようになるかもしれない。
本発明のOTPトークンを発行する際にユーザー識別子AやA2が実在するユーザーUAの識別子であるか確認する必要があり、ユーザー識別子Aの入力ミスにより秘密鍵101Aとは全く異なる秘密鍵にOTPトークンが発行されることも考えられ、OTPトークンの送付先ユーザー識別子がユーザーUAやUB、UCといった実際のユーザーのが秘密鍵を記録して利用できている者かどうかを確認する必要があり、本人確認が必要と考えるため、前記本人確認法を示した。ただし1つの形態であって、本発明の実施時に必ず複数の秘密鍵を用いたOTPトークンによる本人確認を行うわけではない。本人確認方法は他の既知の方法を用いてもよい。
The Ethereum used in the implementation of the present invention uses a 256-bit secret key per user identifier, but if two secret keys are used in the embodiment of the OTP authentication system of the present invention, it becomes a 512-bit secret key, and N pieces are used. For example, OTP authentication can be performed with a private key of 256 × N [bit], and the actual data length of the private key can be expanded.
By increasing the data length, it is possible to increase the resistance to attacks by those who attempt unauthorized access. As an example, when three private keys are set to be used, even if one of the three private keys is leaked, the contract function or variable can be prevented from being accessed unless the remaining two are leaked. If the majority of the private keys cannot be obtained, the OTP tokens assigned to those private keys cannot be authenticated, and the provision of the service can be blocked. This is a kind of multisig technology. (Multisig: Multiple signatures using multiple private keys.)
By performing OTP authentication by combining multiple private keys, it may be possible to perform operations related to secret key identity verification. For example, there are two private keys, one is the private key 101A2 that can be shared with a third party and the identity can be confirmed, and the other is the private key 101A generated inside the terminal 1A by the user, and the use of the private key. When it seems that there is probably no leakage of the private key immediately after starting, the user identifiers A2 and A calculated with the private keys of both 101A2 and 101A are used as a third-party organization or they are used as the user identifier and the actual person UA. Use the TIDA and TIDA2 tokens on the server terminal 3C of a third-party organization that associates with the third-party organization, and log in to the website of the third-party organization or the organization that associates with OTP. sign up.
With the token numbers TIDA and TIDA2 OTP tokens assigned to A and A2 or A and A2, the administrator of the terminal 3C knows the private key 101A2 of A2 transmitted to the user UA. It can be seen that the private key 101A corresponding to A is possessed. At this time, it is assumed that A, A2, and the user UA are linked and the identity can be easily confirmed. Then, it is determined that the user identifier corresponds to the private key owned by the user UA, and the user identifier A is used as a destination address such as a token, for example, a login right to a certain member site or an admission ticket to a certain venue. -It may be possible to issue and distribute keys to lock and unlock, and OTP tokens to decrypt encrypted data.
When issuing the OTP token of the present invention, it is necessary to confirm whether the user identifiers A and A2 are the identifiers of the actual user UA, and the OTP token is set to a secret key completely different from the secret key 101A due to an input error of the user identifier A. Is issued, and it is necessary to confirm whether the destination user identifier of the OTP token is the person who can record and use the private key of the actual user such as user UA, UB, UC, and the person himself / herself. Since it is considered necessary to confirm, the above-mentioned identity verification method is shown. However, it is only one form, and it is not always the case that the identity verification is performed by the OTP token using a plurality of private keys when the present invention is carried out. Other known methods may be used as the identity verification method.

<レイティングやコントラクト管理者への連絡先を含むコントラクトの看板となる情報>
看板変数3024A(図3ACのKNBN、3024A)にはレイティング情報のほかにコントラクトが提供するサービスの名前、トークンの名前、説明事項を変数に記録させ看板となる情報としてパブリック変数として公開してもよい。また看板となる情報はコントラクト管理者が書き換えることができてもよい。
具体的には、インターネットバンキングの場合は3024Aに銀行の名称、郵便番号、銀行の本店の住所、法人番号、代表等電話番号(ファクシミリ番号)、銀行を所管する最寄りの省庁への連絡先など営業に関する必要事項をコントラクトの変数に記入しパブリック変数として公開してよい。サービスを提供する際に法律的に必要な事項をワンタイムパスワード生成トークンのコントラクトやワンタイムパスワード認証コントラクトに記入し、そのコントラクト管理者が書き換えられるようコントラクトをプログラムしてよい。
看板となる情報3024Aは本発明のコントラクトに必要に応じて記入し、コントラクト管理者が書換できてもよい。3024Aにはコントラクト管理者の端末1Cの秘密鍵101Cのみがアクセス可能となる書き換えに必要なセッター関数が含まれていてもよい。
<Information that will be the signboard of the contract, including the rating and contact information for the contract administrator>
In addition to the rating information, the signboard variable 3024A (KNBN, 3024A in FIG. 3AC) may record the name of the service provided by the contract, the name of the token, and the explanatory matter in the variable and publish it as public variable as the signboard information. .. Further, the information that becomes the signboard may be rewritten by the contract administrator.
Specifically, in the case of Internet banking, business such as bank name, postal code, bank head office address, corporate number, representative telephone number (facsimile number), contact information to the nearest ministry that has jurisdiction over the bank, etc. is available at 3024A. You may fill in the necessary information regarding the contract and publish it as a public variable. The contract may be programmed so that the contract administrator can rewrite the one-time password generation token contract or the one-time password authentication contract by filling in the legally required items when providing the service.
The information 3024A serving as a signboard may be entered in the contract of the present invention as necessary and may be rewritten by the contract manager. The 3024A may include a setter function necessary for rewriting so that only the private key 101C of the contract administrator's terminal 1C can access it.

<レイティング>
サービス対象年齢等を示すため、ワンタイムパスワード生成トークンのコントラクトにはレイティング情報が記録される。看板となるパブリック変数KNBN(図3AAから図3ACに記載の3024A)にレイティング情報が記載される。3024Aに書かれたレイティング情報はOTPトークンのサービスの対象者を記述する。例として自動車の鍵に本発明を用いるとき、免許を受けたある年齢以上のユーザーが利用するはずのサービスであるのでその旨が記載される。未成年を対象とするか成人を対象とするか、免許など資格が必要かはサービスによって変わる。
ここでレイティング情報を格納したコントラクトの変数は全てのユーザーから閲覧できるパブリック変数であることが好ましい。またレイティングはコントラクト管理者が書き換えることができてもよい。
<Rating>
Rating information is recorded in the contract of the one-time password generation token to indicate the service target age and the like. Rating information is described in the public variable KNBN (3024A shown in FIGS. 3AA to 3AC) which serves as a signboard. The rating information written in 3024A describes the target person of the service of the OTP token. As an example, when the present invention is used for a car key, it is described because it is a service that should be used by a licensed user of a certain age or older. Whether it is for minors or adults, and whether a qualification such as a license is required depends on the service.
Here, the variable of the contract that stores the rating information is preferably a public variable that can be viewed by all users. The rating may also be rewritten by the contract administrator.

4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用
チケットや入場券、建物設備の施錠と解錠に使う場合にはサーバSVLog(図8Bや図3Dに記載のサーバ端末3D)を用いる。図8Bに端末の接続図を示す。サーバSVLog(端末3D)は入場等の処理するユーザーが少ない場合には必ずしもサーバである必要はなくサーバより計算能力や記憶装置の容量、物理的な大きさの小さいコンピュータSVLog(端末3D)でもよい。そして端末3Dは建物の施錠装置や自動車の施錠装置・原動機の始動装置を動作させる組み込み型の端末でもよい。3Dは組み込みシステム用のMCUを持つ端末(Micro Control Unit、マイクロコントロールユニット、マイクロコントローラ、マイコン)でもよい。
本発明ではNFCなどの通信機能を備えたICタグ・ICカード型のチケット19Aまたは紙のチケット18A(および紙のチケット18Aと同じOTP認証情報を表示させたディスプレイの表示面1500A)の記録情報にブロックチェーンから生成されたパスワードOWPを利用する(ここでICはIntegrated circuitであり集積回路のこと)。
4B. Paper or IC-type admission ticket to the entrance or building equipment, use ticket, use as unlocking key Ticket or admission ticket, server SVLog when used to lock and unlock building equipment (shown in Fig. 8B and Fig. 3D) Server terminal 3D) is used. FIG. 8B shows a connection diagram of the terminal. The server SVLog (terminal 3D) does not necessarily have to be a server when there are few users who process entrance, etc., and may be a computer SVLog (terminal 3D) having smaller computing power, storage device capacity, and physical size than the server. .. The terminal 3D may be a built-in terminal that operates a lock device for a building, a lock device for an automobile, or a starter for a prime mover. The 3D may be a terminal (Micro Control Unit, Micro Control Unit, Micro Controller, Microcomputer) having an MCU for an embedded system.
In the present invention, the recorded information of the IC tag / IC card type ticket 19A or the paper ticket 18A having a communication function such as NFC (and the display surface 1500A of the display displaying the same OTP authentication information as the paper ticket 18A) The password OWP generated from the blockchain is used (here, the IC is an integrated circuit and is an integrated circuit).

19Aは非接触のNFCタグや、接触型端子を持つICカードであり、19Aの利用者ではないユーザーに不正使用させないように19Aに利用者がパスワードとしてPIN等を設定してもよい。19Aと端末3Dとの通信を行いOWPなどの認証情報を伝達する際に、19Aに設定されたPINによるパスワード認証を求め、パスワード認証ができた場合にNFCタグの情報を端末3Dの通信装置32Dを通じて端末3Dに伝達してもよい。 The 19A is an IC card having a non-contact NFC tag or a contact type terminal, and the user may set a PIN or the like as a password in the 19A so as not to illegally use the user who is not the user of the 19A. When communicating between 19A and the terminal 3D and transmitting authentication information such as OWP, password authentication by the PIN set in 19A is requested, and when password authentication is possible, the NFC tag information is transmitted to the terminal 3D communication device 32D. It may be transmitted to the terminal 3D through.

ここでPINは個人識別番号(Personal identification number)の略であり、PINは例えば4桁の整数のパスワードである。19AのPINは19Aを用いてサービスを利用する際の最終的な利用意思確認手段として用いる。19Aは無線により通信するため19Aを所有するユーザーが知らぬ間に19Aの情報が端末3Dに伝達されないようにPINを用いてもよい。19Aは3Dと無線もしくは有線方式の通信を行う際に通信内容を暗号化してもよい。PINなどを用いて19Aに記録されたOWPを用いる認証情報を暗号化してもよい(OWPを、PINを鍵として共通鍵暗号化などの手段をもちいて暗号化してもよい)。18Aや1500Aはそれらを持つユーザの利用する意思がヒトの手で提示されることで確認できるが、19Aは無線通信などである程度離れていても決済ができてしまう恐れがあるのでPINコードを設定出来てもよい。19Aの他、18Aや1500Aに利用するOWPをPINにて暗号化を行ってよい。またPINは4桁の整数に限らず任意の文字数の英数字でもよい。
PINを用いることで19Aのセキュリティ性は向上するが、サービスを認証するたびにPINの入力を必要とすることはPIN入力の時間をユーザーに要求しユーザーの利便性を下げることにつながることもあるかもしれない。そこで19Aと19Aの無線通信信号を読み取るNFC通信装置341D(前記通信装置は341Dまたは32D)が非接触ではあるが通信距離が10cm(具体的には13.56 MHzといった周波数を利用する通信距離10cm程度の既知の近距離無線通信技術)であり、サービス提供者が19Aについて前記条件(通信距離10cm程度の19Aであること)を示し、PINが無くともNFCタグ19Aによる本発明の認証システムを用いた認証結果に応じてサービスを提供することを許容する場合にはPINなどを設定せず、19Aを3Dの32Dもしくは341DにかざすだけでOTP認証を行い認証結果に応じてサービスを提供する形で本発明を実施してもよい。(19Aにはセキュリティの為にPINを設定することもできる。そして19AにはPINの設定をしないで利用することもでき、PINを設定しない場合は入場口や改札などでの決済速度を向上させ、使いやすさ、ユーザビリティ、利便性を優先して利用することもできる。)
自動車のキーレスエントリー、リモート(通信距離が10cmを超え1mを超える)での自動車ドアの解錠用途に用いる施解錠鍵19Aや建物のドアのリモート(通信距離が10cmを超え1mを超える)での解錠用途に用いる施解錠鍵19AでもPINを用いることが必要な用途と必要でない用途がある。通信距離が10cmを超え1mを超える自動車用途では19AにPINは不要かもしれない。
通信距離が10cmを超え1mを超える建物や金庫・金庫室の施解錠用途では施解錠にもPINを用いたほうが好ましいかもしれない。
Here, PIN is an abbreviation for personal identification number, and PIN is, for example, a password of a 4-digit integer. The PIN of 19A is used as a final means of confirming the intention to use the service when using the service using 19A. Since the 19A communicates wirelessly, a PIN may be used so that the information of the 19A is not transmitted to the terminal 3D without the user who owns the 19A knowing. The 19A may encrypt the communication content when performing wireless or wired communication with 3D. The authentication information using the OWP recorded in the 19A may be encrypted using a PIN or the like (the OWP may be encrypted using a means such as common key encryption using the PIN as a key). 18A and 1500A can be confirmed by showing the intention of the user who has them by hand, but 19A has a PIN code because there is a possibility that payment can be made even if it is separated to some extent by wireless communication etc. You may be able to do it. In addition to 19A, the OWP used for 18A and 1500A may be encrypted with a PIN. The PIN is not limited to a 4-digit integer and may be any number of alphanumerical characters.
Although the security of 19A is improved by using the PIN, requiring the PIN input every time the service is authenticated may require the user to input the PIN and reduce the user's convenience. Maybe. Therefore, although the NFC communication device 341D (the communication device is 341D or 32D) that reads the wireless communication signals of 19A and 19A is non-contact, the communication distance is 10 cm (specifically, the communication distance is 10 cm using a frequency such as 13.56 MHz). (Near field communication technology with a known degree), the service provider indicates the above conditions (19A with a communication distance of about 10 cm) for 19A, and the authentication system of the present invention using the NFC tag 19A is used even without a PIN. If it is permissible to provide the service according to the authentication result, OTP authentication is performed by simply holding the 19A over the 3D 32D or 341D without setting the PIN etc., and the service is provided according to the authentication result. The present invention may be carried out. (PIN can be set for 19A for security. And 19A can be used without setting PIN. If PIN is not set, the payment speed at the entrance or ticket gate will be improved. , Ease of use, usability, and convenience can be prioritized.)
Locking / unlocking key 19A used for keyless entry of automobiles and remote (communication distance exceeds 10 cm and exceeds 1 m) for unlocking automobile doors and remote of building doors (communication distance exceeds 10 cm and exceeds 1 m) Even with the locking / unlocking key 19A used for unlocking, there are some uses where it is necessary to use PIN and some uses where it is not necessary. A PIN may not be required for 19A for automotive applications where the communication distance exceeds 10 cm and 1 m.
It may be preferable to use a PIN for locking / unlocking in buildings where the communication distance exceeds 10 cm and exceeds 1 m, and for locking / unlocking safes / vaults.

パスワードOWPはハッシュ関数fhとユーザ識別子Aとトークン番号TIDAとコントラクト内部シークレット変数KC値3011Aとコントラクト管理者が変更できる変数BC値3013Aを用いてOWP=fh(A,TIDA,KC,BC)として計算される。OWPは前記ハッシュ関数fhと引数を用いてOTP生成関数3009Aで計算され生成される。3009Aはこの利用例ではOTP=OWPとしてOWP=fh(A,TIDA,KC,BC)と表現できる計算処理を含む。
紙のチケット18Aは本発明のワンタイムパスワードOWPの生成関数3009Aを用いて取得したOWP情報を紙などに印刷し製造される。18Aに記録される情報は少なくともユーザー識別子Aとトークン番号TIDAとパスワード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でもよい。
The password OWP is calculated as OWP = fh (A, TIDA, KC, BC) using the hash function fh, the user identifier A, the token number TIDA, the contract internal secret variable KC value 3011A, and the variable BC value 3013A that can be changed by the contract administrator. Will be done. The OWP is calculated and generated by the OTP generation function 3009A using the hash function fh and the argument. In this usage example, the 3009A includes a calculation process that can be expressed as OWP = fh (A, TIDA, KC, BC) as OTP = OWP.
The paper ticket 18A is manufactured by printing the OWP information acquired by using the one-time password OWP generation function 3009A of the present invention on paper or the like. The information recorded in 18A includes at least the user identifier A, the token number TIDA and the password OWP. The information described in 18A can be displayed at 1500A. If a device such as a camera that reads 18A or 1500A is installed in the service providing terminal 3D, it looks like a valuable paper leaf such as a ticket, as well as a safe / vault that locks and unlocks, a building door, an entrance / exit, etc. Vehicles such as automobiles and computer terminals can read the authentication information, and entrance / exit and locking / unlocking are possible.
The NFC tag 19 can manufacture the 19A by storing the authentication information including the user identifier A, the token number TIDA, and the password OWP held by the terminal 1A in the 19A via the communication device 12A of the terminal 1A, and is a valuable paper such as a ticket. It is used as a leaf, an entrance / exit tag, a lock / unlock key, or an access control release.
As shown in FIG. 8B, the NFC tag 19A recording the A, TIDA, and OWP, 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.

図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を操作して、改札口や入場口の入場処理または施錠された建物や自動車など乗物と金庫など容器の解錠を行い、乗物や電子計算機、機械、設備の始動を行う。
As shown in FIG. 8B, 18A and 1500A are read by the camera scanner 340D of the terminal 3D. At this time, 18A and 1500A may display character string information in which A, TIDA, and OWP are concatenated, or may display barcode information (one-dimensional and two-dimensional barcodes).
As shown in FIG. 8B, 19A may communicate with 32D of the terminal 3D to transmit character string information in which A, TIDA, and OWP are linked. 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. 6F and 6D. Does the input OWP (ArgOWP) match VeriOWP = fh (A, TIDA, KC, BC) calculated using the KC and BC values recorded in the terminal 3D according to the flowchart regarding the processing of the OTP authentication function of? After verification and if they match, it is determined that authentication has been achieved, and the terminal 3D operates the opening / closing device 350D or the locking device 350D (locking / unlocking device 350D) or the starting device 350D or the access control device 350D of the device in which the terminal 3D is incorporated. Then, the entrance process of the ticket gate and the entrance is processed, or the vehicles such as locked buildings and automobiles and the containers such as the safe are unlocked, and the vehicles, computers, machines and equipment are started.

認証関数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)を計算する。ここでVeriOWPとArgOWPの計算に用いたハッシュ関数fhとKC値とBC値は、ブロックチェーン上で18Aや19AのためのOWPを生成する端末3Aとサービスを行う端末3Dのシード値KC、BC及びハッシュ関数fh等がすべて一致しなければならない。
認証関数3018DAの関数の戻り値が認証結果の正しい時の値ならば端末3Dは350Dの開閉装置を開いたり施錠装置(施解錠装置)を解錠したり装置を始動させることができ、認証が失敗するときは開閉装置を閉じ、施錠装置(施解錠装置)の操作を行わず、装置を始動は行わない。
(ブロックチェーン上の3AでOWPを計算する際に用いる変数と手順が端末3DでOWPを計算する際に用いる変数と手順に一致しなければ、正しく生成されたOWPを含む1500Aや18Aや19Aを端末3Dに提示しても誤った認証結果が計算され入場処理や解錠処理などを行えない。具体的には正しい認証情報を含むNFCタグ19Aを持つユーザーUAが誤った3011DAや3013DAを記録した端末3Dに提示しても端末3Dは誤った3011DAや3013DAを用いて誤った認証関数3018DAによってOWPの検証を行い、認証関数の実行結果から19Aを不正なもの、入場や施錠の解錠を行えないものと判定し開閉装置や施錠装置を閉じたままにし、あるいは警告用のブザーなどを鳴らしてしまう。)
The authentication function 3018DA receives OWP (as OWP = ArgOWP), A, and TIDA as arguments from the information of 1500A, 18A, and 19A according to the flowchart regarding the processing of the OTP authentication function of FIGS. 6F and 6D. Then, VeriOWP = fh (A, TIDA, KC, BC) is calculated using the 3D KC value 3011DA, BC value 3013DA, and hash function 3010DA shown in FIG. 3DA. Here, the hash functions fh, KC value, and BC value used in the calculation of VeriOWP and ArgOWP are the seed values KC, BC, and the seed values KC, BC of the terminal 3A that generates the OWP for 18A and 19A on the blockchain and the terminal 3D that provides the service. The hash functions fh and the like must all match.
If the return value of the function of the authentication function 3018DA is the value when the authentication result is correct, the terminal 3D can open the opening / closing device of the 350D, unlock the locking device (locking / unlocking device), and start the device, and the authentication is performed. If it fails, the switchgear is closed, the locking device (locking / unlocking device) is not operated, and the device is not started.
(If the variables and procedures used to calculate OWP in 3A on the blockchain do not match the variables and procedures used to calculate OWP in terminal 3D, 1500A, 18A and 19A including the correctly generated OWP are used. Even if it is presented on the terminal 3D, the wrong authentication result is calculated and the entrance process and unlocking process cannot be performed. Specifically, the user UA with the NFC tag 19A containing the correct authentication information recorded the wrong 3011DA or 3013DA. Even if it is presented to the terminal 3D, the terminal 3D verifies the OWP with the wrong authentication function 3018DA using the wrong 3011DA or 3013DA, and from the execution result of the authentication function, 19A can be illegally entered, entered or unlocked. It is judged that there is no such thing, and the opening / closing device and the locking device are kept closed, or the warning buzzer is sounded.)

コントラクトの管理者とサービスおよび端末3Dの管理者は、ブロックチェーンのノード端末3Aのハッシュ関数3010Aと端末3Dの3010DAを一致させ、端末3AのKC値3011Aと端末3Dの3011DAを一致させ、端末3AのBC値3013Aと端末3Dの3013DAを一致させ、ほかに変数や関数をOWPの計算に用いる場合にはそれらを一致させ、端末3Aと端末3DでのOWP型OTPの計算方法と計算に用いる変数を一致させ同期させなければならない。OTPの計算方法と計算に用いる変数を一致させることで1500Aや18Aや19Aを用いた紙やNFCタグによる現実世界での本発明のOTP認証サービスが可能になる。
端末3Dが建物の扉や金庫に組み込まれた施錠を管理する端末であるときに、シークレット値KCやBCの変更が生じたとき、端末3Dが組み込まれた扉や金庫等の利用者が施錠された設備の解錠後にアクセスできる位置(具体例として金庫の扉の裏側もしくは建物の扉の裏側、建物の扉の屋内側)に備えられた施錠管理端末3Dの通信装置32Dに有線式もしくは無線式の方法でアクセスし、端末3Dの製造元の提供するソフトウェアなどに従い32DのKC値3011DAやBC値3013DAを更新できてもよい。
The administrator of the contract and the administrator of the service and the terminal 3D match the hash function 3010A of the node terminal 3A of the blockchain with the 3010DA of the terminal 3D, match the KC value 3011A of the terminal 3A with the 3011DA of the terminal 3D, and match the terminal 3A. The BC value 3013A of the terminal 3A and the 3013DA of the terminal 3D are matched, and when other variables and functions are used for the calculation of OWP, they are matched, and the calculation method and the variable of the OWP type OTP in the terminal 3A and the terminal 3D are used. Must be matched and synchronized. By matching the OTP calculation method with the variables used in the calculation, the OTP authentication service of the present invention in the real world using paper or NFC tags using 1500A, 18A, or 19A becomes possible.
When the secret value KC or BC is changed when the terminal 3D is a terminal that manages the lock built into the door or safe of the building, the user of the door or safe built with the terminal 3D is locked. Wired or wireless to the communication device 32D of the lock management terminal 3D provided at a position that can be accessed after unlocking the equipment (specifically, the back side of the safe door or the back side of the building door, the indoor side of the building door). The 32D KC value 3011DA and BC value 3013DA may be updated according to the software provided by the manufacturer of the terminal 3D.

本発明を金属製の鍵と比較すると、OWP=ArgOWPとして、AとTIDAとArgOWPの情報が鍵であり、AとTIDAとVeriOWPの情報が錠に対応する。本発明では鍵と錠の情報は可変であり鍵と錠の情報が同期できず鍵を計算する条件と錠を計算する条件が一致しなければ認証を行うことができない。(参考に、ウェブサイトのログインなどに用いる想定のBnTOTPの場合はAとTIDAとArgBnTOTPの情報が鍵であり、AとTIDAとVeriBnTOTPの情報が錠に対応する。)
ブロックチェーンに鍵となるOTPトークンとOTPトークンが生成するOWP型のパスワードは分散型台帳技術で共有され改ざん困難な状態で保存可能であるが、3Dが3Aと接続できない場面において本発明の実施を行う場合には、端末3Dの管理者が錠となる情報を最新の情報に更新する、もしくは端末1AのOWP型のパスワードとユーザー識別子Aとトークン番号TIDAを1500Aや18Aや19Aで認証できる情報を設定することが求められる。
Comparing the present invention with a metal key, OWP = ArgOWP, the information of A, TIDA and ArgOWP is the key, and the information of A, TIDA and VeriOWP corresponds to the lock. In the present invention, the key and lock information is variable, the key and lock information cannot be synchronized, and authentication cannot be performed unless the conditions for calculating the key and the conditions for calculating the lock match. (For reference, in the case of BnTOTP that is supposed to be used for logging in to a website, the information of A, TIDA, and ArgBnTOTP is the key, and the information of A, TIDA, and VeriBnTOTP corresponds to the lock.)
The OTP token that is the key to the blockchain and the OWP type password generated by the OTP token are shared by the distributed ledger technology and can be stored in a state where they are difficult to tamper with. When doing so, the administrator of the terminal 3D updates the lock information to the latest information, or the information that can authenticate the OWP type password of the terminal 1A, the user identifier A, and the token number TIDA with 1500A, 18A, or 19A. It is required to set.

端末3Dと端末3Aで計算されるOWPを一致させるために、KC値3011A・3011DAやBC値3013A・3013DAをコントラクトのデプロイした後は変更しないという利用形態も考えられる。前記利用形態ではパスワードの更新は行われずセキュリティ上問題はあるものの、例えば少人数の限られたコミュニティで利用するある行事の一度限りの入場券などで利用する用途が想定される。KC値やBC値の変更は可能だが実際は変更しないという利用形態のほうがサービス提供者の労力を抑えることができ本発明を利用しやすくするかもしれない。
この場合はOTPトークンに有効期限や保証期限を明記する事が好ましい。簡易の金庫や錠前などの製品に用いるとき製品保証期間を設けそれを超える期間のコントラクトの管理は一切行わないという方法を使い、使い捨てのコントラクトという形でサービスを提供する形態もあるかもしれない。
In order to match the OWP calculated by the terminal 3D and the terminal 3A, it is conceivable that the KC values 3011A / 3011DA and BC values 3013A / 3013DA are not changed after the contract is deployed. In the above usage mode, the password is not updated and there is a security problem, but it is expected to be used as a one-time admission ticket for a certain event used in a limited community with a small number of people, for example. It may be easier to use the present invention by reducing the labor of the service provider and using the usage mode in which the KC value and the BC value can be changed but not actually changed.
In this case, it is preferable to specify the expiration date and warranty period on the OTP token. When used for products such as simple safes and locks, there may be a form in which services are provided in the form of disposable contracts by using a method in which a product warranty period is set and contracts are not managed for a period exceeding that period.

限られたコミュニティの行事で利用する入場券として1500Aや18Aや19Aを利用する場合には、ユーザー識別子Aとトークン番号TIDAとOWPの3つの必須情報に加え1500Aや18Aや19Aを製造または作製した時刻や有効期限、入場券を利用できる場所の住所、入場券を発行しサービスを提供する責任者の名称と連絡先などを1500Aや18Aや19Aに記録してもよくそれら情報は文字列情報として1500Aや18Aに表示印刷され19Aの場合は端末1Aのディスプレイに文字列として表示するなどしてヒトが有価紙葉の情報を目視で確認できることが好ましい。
ユーザー識別子Aとトークン番号TIDAとOWPの3つの必須情報は2次元バーコードとして表示しカメラやスキャナで読み取れるようにする事で認証に必要な情報を3Dの340Dに読み取らせることができる。またOWPは読み取られると不正利用されうるため、ユーザー識別子やトークン番号を文字列で記載し、別途認証用にユーザー識別子Aとトークン番号TIDAとOWPの3つの必須情報は2次元バーコードとして印刷または表示または記録したOWPのみは二次元バーコードとして記録される形態の1500Aや18Aがあってもよい。
1500AについてはOWP以外の情報については目視または音声による読み上げを行いトークン番号やユーザー識別子、サービスの有効期限やサービスの提供先の情報についてユーザーに知らせる機能を端末1Aが持っていてもよい。セキュリティが保たれた場合においては18Aを読み上げる画像認識端末があってもよい。
(OWPはサービス提供端末3D以外には入力してはいけない秘密情報である。セキュリティ上問題のあるソフトウェアを用いてOWPの含まれた18Aや1500Aを読み取り、読み上げ、撮影、画像認識したり、PINなどで保護されていない19Aの情報を読み取られた場合はOWPなどが漏洩し不正利用される恐れがある。)
When using 1500A, 18A, or 19A as an admission ticket for a limited community event, 1500A, 18A, or 19A was manufactured or created in addition to the three essential information of user identifier A, token number TIDA, and OWP. The time and expiration date, the address of the place where the admission ticket can be used, the name and contact information of the person in charge of issuing the admission ticket and providing the service may be recorded in 1500A, 18A or 19A, and such information may be recorded as character string information. It is preferable that the information on the valuable paper leaf can be visually confirmed by a human being by displaying and printing on 1500A or 18A and displaying it as a character string on the display of the terminal 1A in the case of 19A.
By displaying the three essential information of the user identifier A, the token number TIDA, and the OWP as a two-dimensional bar code and making them readable by a camera or a scanner, the information necessary for authentication can be read by the 3D 340D. In addition, since OWP can be misused when read, the user identifier and token number are described as a character string, and the three essential information of user identifier A, token number TIDA and OWP are printed or printed as a two-dimensional bar code for authentication separately. Only the displayed or recorded OWP may have 1500A or 18A in the form of being recorded as a two-dimensional bar code.
For 1500A, the terminal 1A may have a function of reading out information other than OWP visually or by voice and notifying the user of the token number, the user identifier, the expiration date of the service, and the information of the service provider. If security is maintained, there may be an image recognition terminal that reads out 18A.
(OWP is confidential information that should not be entered except for the service providing terminal 3D. Use software with security problems to read 18A and 1500A containing OWP, read them aloud, shoot, recognize images, and PIN. If the information of 19A that is not protected by such as is read, there is a risk that OWP etc. will be leaked and used illegally.)

<入場時のOTPトークンを利用済みにする処理等>
端末3Dまたはブロックチェーン上のコントラクトにて認証関数3018A(または3018DA)の実行回数記録部分3017Aや3017AA(または3017DA)にチケットをユーザーが本発明のOTP認証を行い認証関数を実行し認証ができてサービスを利用したか否か、チケットが有効か否かの真偽値、もしくはチケットの利用回数の整数値を記録してもよいし、3017Aや3017AG(または3017DA)にチケットのサービスを利用出来るポイントもしくは通貨残高がチャージされており、本発明の電子チケット19A、紙チケット18A、画面表示型チケット1500Aの情報をサービス提供時に提示したときにその残高がサービスに対応されるポイントもしくは通貨の数量だけ差し引かれていく形でもよい。
ウェブサイトのログイン処理で利用する場合と同じく、OTP認証関数3018A(または3018DA)の実行時に認証関数3018A(または3018DA)実行中に含まれる処理として図3ABの3021A、3022A、3023A(または図3DAの3021DA、3022DA、3023DA)を行ってもよい。
利用済みにする機能はサービス提供者とユーザーが合意して利用するOTPトークンにおいては、コントラクトの管理者がユーザーの要請を受けもしくはユーザーが不正な利用などをした場合にその数値を端末1Cと秘密鍵101Cを用いてコントラクトに設定されたセッター関数より3017Aや3017AA(または3017DA)を書換えてもよい。
例えば改札やサービス提供窓口などで3017Aや3017AA(または3017DA)の数値を入場の有無を示す真偽値やその回数を示す整数に加えて前記変数3017Aや3017AA(または3017DA)に通貨を前払式決済手段のように残高をチャージさせ、チャージされた通貨の数値に応じて変数3017Aや3017AA(または3017DA)を増加させるための処理を管理者端末1CがユーザーUAの端末1AからアクセスできるOTPトークンに付与できる。
そしてサービスの利用金額に応じて金銭相当額の数値がチャージされた3017Aや3017AA(または3017DA)の残高よりサービス料金額相当分を減少させることが可能である。この場合には認証関数3018A(または3018DA)において図6DのフローチャートのF115やF116において3017Aや3017AA(または3017DA)の残高値がサービスの料金の数値よりも高いかどうか判定し、残高不足であるときは認証関数の実行を停止し、残高の再チャージを促す処理や、サービス提供者へ連絡するなどの処理が必要となる。
<Processing to use the OTP token at the time of admission>
The user can perform OTP authentication of the present invention on the ticket to the execution count recording portion 3017A or 3017AA (or 3017DA) of the authentication function 3018A (or 3018DA) by the contract on the terminal 3D or the blockchain, and execute the authentication function to authenticate. You may record the truth value of whether or not you used the service, whether or not the ticket is valid, or the integer value of the number of times the ticket was used, and the point where you can use the ticket service on 3017A or 3017AG (or 3017DA). Alternatively, the currency balance is charged, and when the information of the electronic ticket 19A, the paper ticket 18A, and the screen display type ticket 1500A of the present invention is presented at the time of service provision, the balance is deducted by the number of points or currency corresponding to the service. It may be in the form of falling.
As in the case of using it in the login process of the website, as the process included in the execution of the authentication function 3018A (or 3018DA) when the OTP authentication function 3018A (or 3018DA) is executed, 3021A, 3022A, 3023A (or FIG. 3DA) of FIG. 3AB. 3021DA, 3022DA, 3023DA) may be performed.
In the OTP token that the service provider and the user agree to use, the function to make it used is secret to the terminal 1C when the contract administrator receives the user's request or the user makes an unauthorized use. 3017A or 3017AA (or 3017DA) may be rewritten from the setter function set in the contract using the key 101C.
For example, at a ticket gate or a service provision window, the currency of 3017A or 3017AA (or 3017DA) is settled in advance in the variables 3017A or 3017AA (or 3017DA) in addition to the truth value indicating the presence or absence of admission and the integer indicating the number of times. The OTP token that the administrator terminal 1C can access from the terminal 1A of the user UA is given a process for charging the balance like a means and increasing the variables 3017A and 3017AA (or 3017DA) according to the numerical value of the charged currency. can.
Then, it is possible to reduce the amount equivalent to the service charge from the balance of 3017A or 3017AA (or 3017DA) charged with the numerical value equivalent to the amount of money according to the usage amount of the service. In this case, when the authentication function 3018A (or 3018DA) determines whether the balance value of 3017A or 3017AA (or 3017DA) is higher than the value of the service charge in F115 or F116 of the flowchart of FIG. 6D, and the balance is insufficient. Requires processing such as stopping the execution of the authentication function, prompting the balance to be recharged, and contacting the service provider.

<正常もしくは不正な入場を検出し知らせる機能>
秘密鍵PRVA(端末1Aの101A)が漏洩し不正にサービスが利用されているかどうか調べ判定するために、SVLog(端末3D)に記録する1500Aや18Aや19Aによる認証を行ったときのトークン番号やユーザー識別子に対してその風貌を防犯カメラ342Dで撮影し保存してもよい。風貌は好ましくは顔、体格、体型、モーション、歩行など生体情報であると好ましい。前記生体情報を利用する意図は例えばサービスを提供する会場で不正な入場を防止するためである。ここで同じOWP認証情報とユーザー識別子Aとトークン番号TIDAを含む1500Aや18Aや19AをコピーしてOWPを複製し使い回すことにより異なる人間が同じ認証情報(AとTIDAとOWP)を用いて入場することの監視も同様に行う。
ユーザーの風貌を記録する監視カメラ342D(図8Bの342D)は生体情報を記録する場合の一例として図8Bに示している。ただし、生体情報を記録することは本発明にとって必須の機能ではなく駅の改札や入場口の入場処理などにおいて必要な機能であって、大型の金庫や金庫室では防犯カメラ342Dを内蔵することもできるが、端末3Dの電源部37Dに用いる電池容量の制約や経済性の兼ね合いから小型の金庫や手提金庫などの容器に端末3Dを組み込む場合は防犯カメラ342Dは利用が困難であったり必要ない場合がある。342Dは用途・実施形態により搭載できるかどうか決めることができる。
また同じく自動車の施錠や建物の施錠装置に端末3Dを用いる際もプライバシーに配慮して342Dを搭載しないこともある。プライバシーを犠牲にしつつ防犯のため342Dを搭載することもある。例えばタクシー、バスといった用途や自動車の貸し借り・レンタカー・カーシェアリングなどの用途では防犯カメラがあることが好ましいかもしれない。サービスに応じて防犯カメラといったユーザーの存在を記録する手段の利用をサービス提供時や契約時にユーザーに知らせることが必要である。
<Function to detect and notify normal or illegal entry>
The token number when authentication is performed by 1500A, 18A, or 19A recorded in the SVLog (terminal 3D) in order to investigate and determine whether the private key PRVA (101A of terminal 1A) is leaked and the service is used illegally. The appearance of the user identifier may be photographed and saved by the security camera 342D. The appearance is preferably biometric information such as face, physique, body shape, motion, and walking. The intention of using the biometric information is, for example, to prevent unauthorized entry at a venue where the service is provided. Here, by copying 1500A, 18A, and 19A including the same OWP authentication information, user identifier A, and token number TIDA, and duplicating and reusing the OWP, different people can enter using the same authentication information (A, TIDA, and OWP). Monitor what you do in the same way.
The surveillance camera 342D (342D in FIG. 8B) that records the appearance of the user is shown in FIG. 8B as an example of the case of recording biometric information. However, recording biometric information is not an essential function for the present invention, but a function necessary for station ticket gates, entrance processing, etc., and a security camera 342D may be built into a large safe or vault. However, when the terminal 3D is installed in a container such as a small safe or a hand-held safe due to the limitation of the battery capacity used for the power supply unit 37D of the terminal 3D and the balance of economy, the security camera 342D is difficult or unnecessary to use. There is. Whether or not the 342D can be mounted can be determined depending on the application and the embodiment.
Similarly, when the terminal 3D is used for locking a car or a building, the 342D may not be installed in consideration of privacy. It may be equipped with 342D for crime prevention while sacrificing privacy. For example, it may be preferable to have a security camera for applications such as taxi and bus, car rental and rental, car rental, and car sharing. Depending on the service, it is necessary to inform the user of the use of means for recording the existence of the user, such as a security camera, at the time of service provision or contract.

3Dについて防犯カメラ342Dを用いないとき場合に防犯上利用可能な機能として、図8Bのランプなどの発光素子351Dまたはブザー等発音素子352Dを利用し音や光にてOWPを用いた認証が成功したときの動作と失敗したときの動作を設定し利用する。具体的には金庫などの容器に端末3Dを備えて使用する場合にはNFCタグ19Aに認証に用いる情報記録され、19Aを金庫内部の端末3Dが通信装置32Dを用いてNFCタグ19Aの情報を読み取り認証結果が正しければ金庫の施錠を解錠し、正しくない場合にはブザーで警告音を出すということができる。ブザーの代わりに通信装置32Dで無線により周囲に電波のビーコン、無線標識を出してもよい。
防犯カメラ342Dとランプなどの発光素子351Dまたはブザー等発音素子352Dを併用して利用してもよい。
例として駅の改札において用いる1500Aや18Aや19Aが認証済みで利用済みかつ無効となったトークン番号を再度提示して認証を行おうとしたユーザーUAが現れたとき改札の開閉装置350Dは閉じた状態にしてUAをその場に留め、防犯カメラ342Dとランプなどの発光素子351Dまたはブザー等発音素子352Dを併用して周囲に知らせ、駅の従業員に知らせてトークンが不正利用されているかどうかをそのユーザーUAに尋ねることができる。
About 3D As a function that can be used for crime prevention when the security camera 342D is not used, authentication using OWP with sound or light using a light emitting element 351D such as a lamp in FIG. 8B or a sounding element 352D such as a buzzer was successful. Set and use the operation when and the operation when it fails. Specifically, when the terminal 3D is provided in a container such as a safe and used, the information used for authentication is recorded in the NFC tag 19A, and the terminal 3D inside the safe uses the communication device 32D to record the information of the NFC tag 19A. If the reading authentication result is correct, the safe can be unlocked, and if it is not correct, a buzzer sounds a warning. Instead of a buzzer, a communication device 32D may wirelessly emit a radio wave beacon or a radio beacon to the surroundings.
A security camera 342D and a light emitting element 351D such as a lamp or a sounding element 352D such as a buzzer may be used in combination.
As an example, when a user UA who tries to authenticate by presenting the token number 1500A, 18A, or 19A used at the ticket gate of a station that has been authenticated, used, and invalid again appears, the ticket gate opening / closing device 350D is closed. Then, keep the UA on the spot, use the security camera 342D and the light emitting element 351D such as a lamp or the sounding element 352D such as a buzzer together to inform the surroundings, and inform the station employees whether the token is being used illegally. You can ask the user UA.

端末3Dが金庫等の容器である場合に限らず、端末3Dが改札・入場口や自動車・建物においても認証結果の出力に応じて発光素子351Dや発音素子352Dを動作させ認証結果が正しいか否かを端末3Dの周囲(周囲とは351Dや352Dや32Dが信号をユーザーや端末に伝達できる距離の範囲内)やサービスの提供者に知らせることに利用される。なお発光素子351Dは電球などランプの他に発光ダイオード等の電流を流すことで光を発する半導体素子でもよい。 Not only when the terminal 3D is a container such as a safe, the terminal 3D operates the light emitting element 351D and the sounding element 352D according to the output of the authentication result even at the ticket gate / entrance, the car / building, and whether the authentication result is correct or not. It is used to inform the surroundings of the terminal 3D (the surroundings are within the range of the distance that the 351D, 352D, and 32D can transmit the signal to the user and the terminal) and the service provider. The light emitting element 351D may be a semiconductor element that emits light by passing a current such as a light emitting diode in addition to a lamp such as a light bulb.

<認証の回数と認証を行った人物を検知する場合>
1.改札や入場口において端末3Dがインターネットワークに接続されサーバ3Aと接続している場合。
秘密鍵PRVAが漏洩し本来の利用権を持つユーザーUAが、1500Aや18Aや19Aを3Dの入力装置もしくは通信装置に読み取らせて提示し、改札や入場口を通る前に、別の人物UBが秘密鍵PRVA(101A)を何らかの手段で入手し自身の端末に複製して記録させ不正利用して入場口を通過することが想定される。もしくはOWPの流出と使い回しによる不正利用も考えられる。
不正利用の際にUBの容姿を記録することで本人確認や本人の追跡を可能にする画像データ、認証決済時の時刻と認証端末の位置や端末番号(改札では駅名等)、歩行の様子等を得る。そして認証が起きたことをブロックチェーン上の認証用コントラクトの認証関数3018Aの実行回数を記録する変数3017Aや3017AAをインクリメント等することで記録する。
またユーザーUAに対しあるサービスのある入場口でサービスを利用したことを電子メールなどで通知する。ユーザーUAがサービス提供者に対しチケットが不正利用されたと申し立て、不正に入場したUBの顔、体系、歩行情報等と照らし合わせ、ユーザーUAが不正に入場していないか判断することに利用できる。
ここでサーバ3Dがサーバ3Aと同じくブロックチェーンのノードとなるときは3Dは3Aと同じ機能を持つので3Dのブロックチェーン部(300Dおよび310D)に認証関数3018Aが記録されており、3Aではなく3Dのブロックチェーン部にユーザーUAの端末1Aがアクセスして認証関数3018Aを実行してもよい。
不正利用時はユーザーUAのOTPトークンの利用を停止させ不正利用の被害の拡大を限定することが必要かもしれない。そこでユーザーUAのOTPトークンの利用をサービス提供者が端末1Cを用いて停止できる変数を端末3AのOTPトークンのコントラクトに備え、セッター関数を用いて変更できてもよい。もしくは改札などでサービス提供者のメインサーバ端末がトークンごとの残高をブロックチェーンとは別に管理している場合はそのメインサーバ端末の顧客ごとの設定を変えることで対応する。
<When detecting the number of authentications and the person who authenticated>
1. 1. When the terminal 3D is connected to the internetwork and connected to the server 3A at the ticket gate or the entrance.
A user UA who has leaked the private key PRVA and has the original usage right presents 1500A, 18A, and 19A by reading them with a 3D input device or communication device, and before passing through the ticket gate or entrance, another person UB It is assumed that the private key PRVA (101A) is obtained by some means, duplicated and recorded on its own terminal, and illegally used to pass through the entrance. Alternatively, unauthorized use due to the outflow of OWP and reuse is also conceivable.
Image data that enables identity verification and identity tracking by recording the appearance of the UB in the event of unauthorized use, the time at the time of authentication settlement, the position and terminal number of the authentication terminal (station name, etc. at the ticket gate), walking status, etc. To get. Then, the occurrence of authentication is recorded by incrementing or decrementing variables 3017A and 3017AA that record the number of executions of the authentication function 3018A of the authentication contract on the blockchain.
In addition, the user UA is notified by e-mail or the like that the service has been used at an entrance with a certain service. It can be used by the user UA to claim that the ticket has been illegally used by the service provider, compare it with the face, system, walking information, etc. of the UB who entered illegally, and determine whether the user UA has entered illegally.
Here, when the server 3D becomes a node of the blockchain like the server 3A, the authentication function 3018A is recorded in the blockchain part (300D and 310D) of the 3D because 3D has the same function as the 3A, and the authentication function 3018A is recorded instead of the 3A. The terminal 1A of the user UA may access the blockchain portion of the user UA and execute the authentication function 3018A.
At the time of unauthorized use, it may be necessary to stop the use of the user UA's OTP token and limit the spread of damage caused by the unauthorized use. Therefore, a variable that allows the service provider to stop the use of the OTP token of the user UA by using the terminal 1C may be provided in the contract of the OTP token of the terminal 3A and can be changed by using the setter function. Alternatively, if the service provider's main server terminal manages the balance for each token separately from the blockchain at a ticket gate, etc., it can be handled by changing the settings for each customer of the main server terminal.

2.改札や入場口において端末3Dがローカルエリアネットワーク(LAN)に接続されサーバ3Aと接続している場合。
ある駅や施設のローカルエリアネットワークに接続されインターネットワーク20とは切断されている場合、端末3Dの記憶装置には1500Aや18Aや19Aを生成するのに用いたハッシュ関数3010Aと3010DAと一致させ、KC値3011Aと3011DAを一致させ、BC値3013Aと3013DAを一致させ、ほかに変数や関数をOWPの計算に用いる場合にはそれらを一致させ、端末3Aと端末3DでのOWP型OTPの計算方法と計算に用いる変数を一致させ、同期させなければならない。そして認証関数3018Dにより認証し認証できた回数もしくは認証時に変更を加えたデータを3017DAに記録したり、あるいは3016Dに記録してもよい。
映画館や駅などの施設内のLANを通じて、施設の職員等が端末3Dへのアクセス権を持つ端末を持ちいて端末3Dのデータベース3116D(3114Dや3115Dを含む)にアクセスしユーザー識別子やトークン番号をキーとしてそのトークン番号のOTPトークンに対するサービスの提供状況を検索し把握することが可能である。また18Aに印刷された紙の有価紙葉が認証に必要な情報が読み取れない場合にはユーザー識別子やトークン番号を18Aから得て3116Dの顧客情報と照合し、OTPトークンの購入履歴がありサービスを提供することの出来るユーザーか判断する(この手続きを行う場合には身分証が必要かもしれない)。
2. 2. When the terminal 3D is connected to the local area network (LAN) at the ticket gate or the entrance and is connected to the server 3A.
When connected to the local area network of a station or facility and disconnected from the internetwork 20, the storage device of the terminal 3D is matched with the hash functions 3010A and 3010DA used to generate 1500A, 18A and 19A. Match KC values 3011A and 3011DA, match BC values 3013A and 3013DA, match them when other variables and functions are used for OWP calculation, and calculate OWP type OTP between terminal 3A and terminal 3D. And the variables used in the calculation must be matched and synchronized. Then, the number of times of authentication by the authentication function 3018D or the data changed at the time of authentication may be recorded in 3017DA or recorded in 3016D.
Through the LAN in the facility such as a movie theater or a station, the staff of the facility has a terminal having the right to access the terminal 3D and accesses the database 3116D (including 3114D and 3115D) of the terminal 3D to obtain the user identifier and token number. As a key, it is possible to search and grasp the service provision status for the OTP token of the token number. If the valuable paper leaf printed on 18A cannot read the information required for authentication, the user identifier and token number are obtained from 18A and collated with the customer information of 3116D, and there is a purchase history of OTP tokens to provide the service. Determine if the user can provide it (you may need an ID to perform this procedure).

3.端末3Dがネットワークに接続せずオフラインの時。
改札や入場口、もしくは自動車の施錠装置、建物の施錠装置、金庫など容器の施錠装置に組み込まれている端末3Dがネットワーク20と接続されていないときも、端末3Dの記憶装置には1500Aや18Aや19Aを生成するのに用いたハッシュ関数3010Aと3010DAを一致させ、KC値3011Aと3011Dが一致させ、BC値3013Aと3013DAを一致させ、ほかに変数や関数をOWPの計算に用いる場合にはそれらを一致させ、端末3Aと端末3DでのOWP型OTPの計算方法と計算に用いる変数を一致させ同期させなければならない。そして認証関数3018DAにより認証し認証できた回数もしくは認証時に変更を加えたデータを3017DAに記録したり、あるいは3016Dに記録してもよい。
施錠の解錠をした後にアクセスできる部分に端末3Dがあり、3Dの通信装置32Dが有線通信用のコネクタや端子あるいはアクセス可能な端末を限定できる無線通信装置を備え、利用者もしくは管理者の端末(1Aや1C)の通信装置から端末3Dの通信装置32Dを経て記憶装置30DのKC値3011DAまたはBC値3013DAの変更またはハッシュ関数fhの変更を行い、端末3AのOTP生成関数3009Aの生成するOWPと認証関数3018DAが生成するOWPが同じものとなるよう変更できる手段を備える。OWPの算出に用いるKC値3011DAまたはBC値3013DAを更新できる余地を残すことで、例えば自動車や建物の施錠装置の解錠鍵となるデータを定期的に更新でき、自動車や建物の施錠装置の鍵を更新できる。
3. 3. When the terminal 3D is offline without connecting to the network.
Even when the terminal 3D incorporated in the ticket gate, the entrance, the lock device of the car, the lock device of the building, the lock device of the container such as the safe is not connected to the network 20, the storage device of the terminal 3D is 1500A or 18A. When the hash functions 3010A and 3010DA used to generate or 19A are matched, the KC values 3011A and 3011D are matched, the BC values 3013A and 3013DA are matched, and other variables and functions are used in the OWP calculation. They must be matched, and the OWP-type OTP calculation method and the variables used in the calculation at the terminal 3A and the terminal 3D must be matched and synchronized. Then, the number of times of authentication by the authentication function 3018DA or the data changed at the time of authentication may be recorded in 3017DA or recorded in 3016D.
There is a terminal 3D in the part that can be accessed after unlocking, and the 3D communication device 32D is equipped with a connector or terminal for wired communication or a wireless communication device that can limit the accessible terminals, and is a terminal of a user or an administrator. The OWP generated by the OTP generation function 3009A of the terminal 3A by changing the KC value 3011DA or BC value 3013DA of the storage device 30D or the hash function fh from the communication device of (1A or 1C) via the communication device 32D of the terminal 3D. And the authentication function 3018DA are provided with means that can be changed so that the generated OWPs are the same. By leaving room for updating the KC value 3011DA or BC value 3013DA used for OWP calculation, for example, the data that is the unlocking key of the locking device of a car or building can be updated periodically, and the key of the locking device of a car or building can be updated. Can be updated.

<ワンタイムパスワードの生成と認証の回数を検知する場合>
本発明ではワンタイムパスワードの生成と認証がコントラクトの同一の関数で行われない。生成時、認証時にそれぞれのOTP生成関数やOTP認証関数の実行回数をカウントしインクリメント(増加)する変数と処理部を備えることができ、それら実行回数3017Aや3017AGや3017AAはブロックチェーンを用いることで改ざんされにくくなる。実行回数をカウントする変数のうち生成時に利用する変数3017Aや3017AGを監視することで不正利用を防ぐことにつなげられる。(ブロックチェーン上にはないが端末3Dの3017DAもカウントする変数である)
<When detecting the number of one-time password generation and authentication>
In the present invention, one-time password generation and authentication are not performed by the same function of the contract. A variable and a processing unit that counts and increments (increments) the number of executions of each OTP generation function or OTP authentication function at the time of generation and authentication can be provided, and the number of executions 3017A, 3017AG, and 3017AA can be obtained by using a blockchain. It is less likely to be tampered with. By monitoring the variables 3017A and 3017AG used at the time of generation among the variables that count the number of executions, it is possible to prevent unauthorized use. (Although it is not on the blockchain, it is a variable that also counts 3017DA of the terminal 3D)

例えば紙のチケットとしてOWP(18A)を生成する際にブロックチェーン上でOWPの生成回数をインクリメントする機能がある場合には、OWPを含む紙のチケットのデータ(もしくはディスプレイの表示画面データ1500A)が不正に入場口にて使用され認証される前に通知を受け取ることもできる。その際にはSVLog(端末3D)などにブロックチェーンを監視する処理部を3111Dを設け、サービスを提供するユーザーのトークン番号TIDAのトークンのワンタイムパスワード生成回数の記録変数3017AG(呼び出し回数)、あるいは認証回数の記録変数3017AAもしくは3017DAの変化を検出し、トークンの持ち主であるユーザーにネットワークを経由した電子メールや通知アプリ、電話回線などで連絡する必要がある。電子メール以外にもワンタイムパスワード生成関数を利用したことを示すノンファンジブルトークンをトークン番号TIDAの持ち主であるユーザー識別子Aに送付してもよい。 For example, if there is a function to increment the number of times OWP is generated on the blockchain when generating OWP (18A) as a paper ticket, the data of the paper ticket including OWP (or the display screen data 1500A) is used. You can also receive notifications before they are fraudulently used at the entrance and authenticated. In that case, a processing unit 3111D for monitoring the blockchain is provided in SVLog (terminal 3D) or the like, and the recording variable 3017AG (number of calls) of the one-time password generation number of the token of the token number TIDA of the user who provides the service, or It is necessary to detect the change in the recording variable 3017AA or 3017DA of the number of authentications and contact the user who owns the token by e-mail, notification application, telephone line, etc. via the network. In addition to e-mail, a non-fangable token indicating that the one-time password generation function has been used may be sent to the user identifier A, which is the owner of the token number TIDA.

ユーザーがメールアドレスを持たないときにはユーザー識別子Aに向けワンタイムパスワードの生成又は認証があったことを示すOTPトークンとは異なるノンファンジブルトークン(不正使用通知型トークン、通知葉書型トークン)を送付することもできる。この場合ノンファンジブルトークンは利用状態を示すレシートのように働く。(この不正利用通知型トークンは本発明のほかの実施形態や用途に利用できる。ウェブサイトログイン、紙もしくはNFCタグによるチケット・有価紙葉、後述する暗号化データの復号用途。なおオフライン時の自動車や金庫などに内蔵された端末3Dは不正利用の通知は困難である。この場合は端末3Dが無線によるビーコンを発して周囲に知らせることは可能かもしれない。)
改札や施設の入場口の大人数かつ高速に提供するサービスにおいては、防犯カメラなどによる風貌の撮影に加え、サービス提供者が不正な入場者を引きとめ、個人番号カードや旅券などの身分証の提示や生年月日等の個人情報を確認し認証することも想定される。少人数を収容し行うイベントあるいはホテルなど宿泊施設の宿泊券として利用する場合は受付窓口で本人の名前等を記入したうえで1500Aや18Aや19Aを確認し認証してサービスの提供・利用ができるかもしれない。
When the user does not have an e-mail address, a non-fangible token (illegal use notification type token, notification leaflet type token) different from the OTP token indicating that a one-time password has been generated or authenticated is sent to the user identifier A. You can also do it. In this case, the non-fangable token acts like a receipt indicating the usage status. (This fraudulent use notification type token can be used for other embodiments and uses of the present invention. Website login, ticket / valuable paper leaf by paper or NFC tag, use for decrypting encrypted data described later. It is difficult to notify unauthorized use of the terminal 3D built in the or safe. In this case, it may be possible for the terminal 3D to emit a wireless beacon to notify the surroundings.)
In the service provided at high speed with a large number of ticket gates and entrances to the facility, in addition to taking pictures of the appearance with a security camera etc., the service provider catches unauthorized visitors and ID cards such as personal number cards and passports It is also assumed that personal information such as presentation and date of birth will be confirmed and authenticated. When using it as an accommodation voucher for an event that accommodates a small number of people or an accommodation facility such as a hotel, you can provide and use the service by confirming and authenticating 1500A, 18A, 19A after entering the person's name etc. at the reception desk. Maybe.

<レイティング及び看板情報>
サーバ端末3Cを用いたサービスと同じく、紙もしくはNFCタグを用いた有価紙葉とそれを認証する端末3Dを用いた認証システムにおいても、ユーザーの対象年齢等を示すため、ワンタイムパスワード生成トークンのコントラクトにはレイティング情報が3024Aが記録される。またOTPトークンのコントラクトの看板情報3024Aも同様に設定される。例として自動車や船舶、重機といった乗物や設備・装置の利用者に求められる資格・免許情報といったレイティング情報であったり、映画館のレイティング情報等である。
また商品に18A、19Aを貼り付けるなどして添付する場合はその商品に基づいたレイティング情報となる。例えば18Aを貼り付けて酒類の流通を管理する場合は成人のみが飲用できるといったレイティング情報を記録してもよい。
<Rating and signboard information>
Similar to the service using the server terminal 3C, in the authentication system using the valuable paper leaf using paper or NFC tag and the terminal 3D that authenticates it, the one-time password generation token is used to indicate the target age of the user. Rating information 3024A is recorded in the contract. Further, the signboard information 3024A of the contract of the OTP token is also set in the same manner. For example, it is rating information such as qualification / license information required for users of vehicles such as automobiles, ships, and heavy machinery, and equipment / devices, and rating information of movie theaters.
If 18A or 19A is attached to a product by pasting it, the rating information will be based on the product. For example, when 18A is pasted to control the distribution of alcoholic beverages, rating information that only adults can drink may be recorded.

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を用いた情報を閲覧、視聴、印刷出力等を行う暗号化データの復号と利用を行うことの出来る認証システムを本発明では利用できる。
なお復号にはCTAU4031AとAKTB4032Aから算出されるTTKY4033Aのほかに、CTAU4031AとAKTB4032AとソフトウェアCRHNに内蔵され難読化もしくは暗号化された鍵CRKY40302Aから算出されたTTKY4033Aを好ましくは用いる。
さらに前記鍵情報に加え、TTKY4033Aの特定を困難にするようソフトウェアCRHNに記録されたプログラムに従って端末3Aなどのブロックチェーンのノードとなる端末に記録されたコントラクト識別子APKY40301Aのコントラクトから入手する鍵CAPKY40303Aを用いてよいし、4033Aの特定を困難にするよう処理を複雑にしそれらプログラムを難読化・暗号化してもよい。
この時、本発明は暗号化されたデータに含まれるコンテンツへのアクセスコントロール技術として機能する。
4C. Decryption and viewing of encrypted data and files Software CRHN (Software 403A) that decrypts encrypted data using the OTP authentication system using the blockchain of the present invention can be used. Here, software CRHN is software 403A of FIG. 4B. FIG. 8C shows a connection diagram of the terminal.
When decrypting and viewing data 4034A (4034A in FIG. 4B) such as an encrypted file, the computer DP used by the user UP (terminal 4A in FIG. 4A) is used to access the server terminal 3A and the secret of the terminal 4A. BnTOTP is generated and authenticated using the OTP token assigned to the key 401A, the return value CTAU4031A of the OTP authentication function 3018A is obtained, and the return value 4031A, the preset password value AKTB4032A, and the software 403A are specified internally. Browsing, viewing, and printing out information using software 403A that generates common key TTKY4033A that can perform file encryption and decryption based on the private key CRKY40302A and software 403A calculation method and encrypts and decrypts files, and the software 403A. In the present invention, an authentication system capable of decrypting and using encrypted data can be used.
For decryption, in addition to TTKY4033A calculated from CTAU4031A and AKTB4032A, TTKY4033A calculated from the obfuscated or encrypted key CRKY4032A built in CTAU4031A, AKTB4032A and software CRHN is preferably used.
Further, in addition to the above key information, the key CAPKY40303A obtained from the contract of the contract identifier APKY40301A recorded in the terminal that becomes the node of the blockchain such as the terminal 3A according to the program recorded in the software CRHN so as to make it difficult to identify the TTKY4033A is used. Alternatively, the processing may be complicated so as to make it difficult to identify the 4033A, and the programs may be obfuscated / encrypted.
At this time, the present invention functions as an access control technique for the content contained in the encrypted data.

<暗号化データの流通>
暗号化データ4034AはSVCRHNdriveというサーバ端末5Bからネットワーク20を通じてコンピュータ端末4Aに配信され記憶装置40Aに記憶される。サーバ端末5Bは実機のサーバでもよいし仮想のサーバ、仮想機械端末でもよい。クラウド型のデータストレージサービスでもよい。またバージョンを管理する機能を備え、暗号化データの更新歴や暗号化データのハッシュ値を記録し、ユーザーに表示できる機能を持っていてもよい。
端末5Bはユーザーが自身の保有する本発明のOTP生成トークンによって復号できる暗号化データがあるか検索する機能を備えていてもよい。またトークンの発行者(発行者は個人、法人、出版社、ソフトウェア会社を想定)について、発行者が提示したキーワード(データの名前、作成時刻、キーワード、本等はその分類、レイティング情報)を用いてOTPトークンのコントラクト識別子やそれに対応する暗号化データを検索出来る機能を備えてもよい。
電子商取引のウェブサイトまたはウェブアプリにおいて書籍や音声動画、ソフトウェアを顧客の端末4Aの秘密鍵から計算されるユーザ識別子Aに対しOTPトークンを発行する形で顧客に販売することのできる機能を端末5Bに備えていてもよい。電子商取引を行う際に顧客ユーザがOTPトークンとOTPトークンに対応した暗号化データ検索機能、AKTB4032Aの通知及び暗号化データのダウンロード機能、トークンを購入した場合の顧客の氏名やメールアドレス・ユーザー識別子・電話番号といったOTPトークン購入者の個人情報及び連絡先情報を登録し保存するデータベースを備えていてもよい。端末5Bはユーザーの住所を記録し、信書の郵便配達などの形でAKTB4032Aの通知やOTPトークン購入の事実を通知してもよい。
<Distribution of encrypted data>
The encrypted data 4034A is distributed from the server terminal 5B called SVCRHNdrive to the computer terminal 4A through the network 20 and stored in the storage device 40A. The server terminal 5B may be an actual server, a virtual server, or a virtual machine terminal. It may be a cloud-type data storage service. It may also have a function of managing versions, recording the update history of encrypted data and the hash value of encrypted data, and displaying it to the user.
The terminal 5B may have a function of searching for encrypted data that can be decrypted by the user's own OTP generation token of the present invention. Also, for the issuer of the token (the issuer is assumed to be an individual, a corporation, a publisher, or a software company), the keywords presented by the issuer (data name, creation time, keywords, books, etc. are classified, rating information) are used. It may be provided with a function that can search the contract identifier of the OTP token and the corresponding encrypted data.
Terminal 5B has a function to sell books, audio / video, and software to customers in the form of issuing OTP tokens to the user identifier A calculated from the private key of the customer's terminal 4A on the e-commerce website or web application. You may be prepared for. Encrypted data search function corresponding to OTP token and OTP token when conducting electronic commerce, notification of AKTB4032A and download function of encrypted data, customer's name, email address, user identifier when purchasing token It may be provided with a database for registering and storing personal information and contact information of the OTP token purchaser such as a telephone number. The terminal 5B may record the user's address and notify the AKTB4032A or the fact of purchasing the OTP token in the form of a mail delivery of a letter.

そして前記データベースに記録された顧客のユーザー氏名、メールアドレス・住所情報・ユーザー識別子といった連絡先情報を用いて、4032Aと4031Aと40302Aと403Aで暗号化したファイル4034Aを復号するのに必要な任意の鍵情報AKTB4032Aについて、4032Aと4031Aと40302Aと403Aで暗号化したファイル4034Aと共に電子メールにて送付してもよい。
あるいは電子メールにて4032Aと4031Aと40302Aと403Aで暗号化したファイル4034Aを送付し、AKTB4032Aはブロックチェーンや電子メールではない手段(4032Aを記録した文章を信書として郵送配達する、電話番号のSMSにてメッセージとして送付する・ファクシミリなどで送付する、あるいは秘密鍵401Aを用いてOTPトークンの存在するブロックチェーンとは異なるブロックチェーン基盤のブロックチェーンでAKTB3042Aを記述したトランザクションを受け取る等)にてAKTB4032Aをユーザー端末4AのユーザーUPに伝達し、UPは4Aの403Aに4032Aを入力することでOTPトークンが戻り値4031Aとソフトウェア403Aの鍵情報40302Aと403Aの計算手順からTTKY403Aを算出し暗号化ファイル4034Aを復号し復号された平文ファイル4035Aを得て4035Aのデータを閲覧や実行などして利用できる。
Then, using the contact information such as the user name, e-mail address, address information, and user identifier of the customer recorded in the database, any arbitrary file 4034A encrypted by 4032A, 4031A, 40302A, and 403A is decrypted. The key information AKTB4032A may be sent by e-mail together with the files 4034A encrypted with 4032A, 4031A, 40302A and 403A.
Alternatively, send the file 4034A encrypted with 4032A, 4031A, 40302A and 403A by e-mail, and AKTB4032A is a means other than blockchain or e-mail (the text recording 4032A is delivered by mail as a correspondence, to the SMS of the telephone number. Send as a message, send by facsimile, etc., or receive a transaction that describes AKTB3042A in a blockchain based blockchain different from the blockchain in which the OTP token exists using the private key 401A), and use AKTB4032A as a user. It is transmitted to the user UP of the terminal 4A, and the UP inputs 4032A to the 403A of the 4A, and the OTP token calculates the TTKY403A from the return value 4031A and the key information 40302A of the software 403A and the calculation procedure of the 403A, and decrypts the encrypted file 4034A. The decrypted plaintext file 4035A can be obtained and used by viewing or executing the data of 4035A.

<暗号化データを復号するトークンの流通制限機能>
トークンの流通はトークンの管理者である権利者によって譲渡制限されることがある。トークンは実施例ではイーサリアムのERC721規格によって他者への譲渡などが可能であるが、譲渡する際に権利者がその譲渡機能(送信関数3040A)の実行を制御する変数や処理3041Aが追加される。本発明のOTPトークンは譲渡されないインターネットバンキング用のTOTPトークンをブロックチェーン上で利用する過程で発明されたものであって、基本的には譲渡を制限する機能が搭載されることを特徴とする。OTPトークンに対応したサービスの提供者あるいはコンテンツの提供者が本発明のOTPトークンの異なるユーザー識別子間での譲渡を許可しない場合にはOTPトークンのコントラクトの譲渡制限用変数および関連関数3041Aは送信関数3040Aの実行を阻止する変数の値をとる。
OTPトークンに対応したデータやファイルのコンテンツの権利者がコントラクトの管理者であるとき(又はコントラクトの管理を権利者がコントラクト管理者に委託しているとき)コントラクトの送信関数3040Aの実行を停止させている状態から実行可能な状態になるようコントラクトの変数の値3041Aを変更した場合は、異なるユーザー識別子のユーザー間で譲渡可能となる。
<Distribution restriction function of tokens that decrypt encrypted data>
The distribution of tokens may be restricted by the right holder who is the administrator of the tokens. In the embodiment, the token can be transferred to another person according to the Ethereum ERC721 standard, but when the token is transferred, a variable or process 3041A that controls the execution of the transfer function (transmission function 3040A) by the right holder is added. .. The OTP token of the present invention was invented in the process of using a non-transferable TOTP token for Internet banking on a blockchain, and is basically characterized by being equipped with a function of restricting transfer. If the provider of the service corresponding to the OTP token or the provider of the content does not allow the transfer of the OTP token of the present invention between different user identifiers, the variable for restricting the transfer of the contract of the OTP token and the related function 3041A are transmission functions. Takes the value of a variable that prevents the execution of 3040A.
When the right holder of the data or file content corresponding to the OTP token is the contract administrator (or when the right holder entrusts the contract management to the contract administrator), the execution of the contract transmission function 3040A is stopped. If the value of the contract variable 3041A is changed from the state in which it is in the state of being executable, it becomes transferable between users with different user identifiers.

OTPトークンの譲渡の例を示す。ユーザーUP(端末4Aの利用者)とユーザーUB(端末1Bの利用者)がネットワーク20とサーバーP(サーバ端末3A)を介してブロックチェーン上でOTPトークンの情報をやり取りすることもできる。UPからUBにOTPトークンを送信関数3040Aを用いて譲渡することもできる。
UPからOTPを送信されたUBは(実際には3Aにて4Aから秘密鍵401Aを用いてアクセスを受けOTPトークンのコントラクトにおけるOTPトークンとユーザー識別子の対応関係を記したデータベースまたは台帳3014Aについて3040AによりUAからUBに所有者情報を書換えたもの)、端末5Bから暗号化ファイルをダウンロードするか、トークンの持ち主であったUPが端末1Aに持つ暗号化データを複製して利用するか、ネットワーク上に流通している暗号化ファイルを入手して暗号化データの復号が可能である。
ここで暗号化ファイルの暗号化時にAKTB4032Aが利用されている場合はユーザーUPから4032Aを入手する必要がある。AKTB4032Aが設定されていないコンテンツでは暗号化ファイル4034AとOTPトークンの認証で得られるCTAU4031Aと、ソフトウェア403Aとソフトウェア内部の秘密鍵40302Aで復号できる。ユーザーUBがユーザーUPからOTPトークンの譲渡とAKTBの通知、暗号化データと暗号データを閲覧できるソフトウェア403Aを入手することでUPが閲覧していたコンテンツデータをUBが閲覧できるようになるとともにその閲覧権もしくは所有権を手に入れることができる。
本発明の実施例では暗号化データの復号にはCTAU4031A、AKTB4032A、閲覧ソフトウェア403A内部の秘密鍵CRKY40302A、ソフトウェア403Aなどを基にファイル暗号化及び復号鍵TTKY4033Aを生成出来るとき、TTKY4033Aで暗号化されたファイルの復号を行える。
An example of transfer of OTP token is shown. User UP (user of terminal 4A) and user UB (user of terminal 1B) can also exchange OTP token information on the blockchain via the network 20 and server P (server terminal 3A). It is also possible to transfer the OTP token from UP to UB using the transmission function 3040A.
The UB to which the OTP is transmitted from the UP (actually, it is accessed from 4A at 3A using the private key 401A, and the database or ledger 3014A that describes the correspondence between the OTP token and the user identifier in the OTP token contract is described by 3040A. The owner information is rewritten from UA to UB), the encrypted file is downloaded from the terminal 5B, the encrypted data that the UP who was the owner of the token has in the terminal 1A is duplicated and used, or on the network. It is possible to obtain the encrypted file in circulation and decrypt the encrypted data.
Here, if AKTB4032A is used when encrypting the encrypted file, it is necessary to obtain 4032A from the user UP. Content for which AKTB4032A is not set can be decrypted with the encrypted file 4034A, the CTAU4031A obtained by authenticating the OTP token, the software 403A, and the private key 40302A inside the software. By acquiring the software 403A that allows the user UB to transfer the OTP token, notify the AKTB, and view the encrypted data and encrypted data from the user UP, the UB can view the content data that the UP was viewing and also view it. You can get the right or the ownership.
In the embodiment of the present invention, the encrypted data is encrypted with TTKY4033A when the file encryption and decryption key TTKY4033A can be generated based on CTAU4031A, AKTB4032A, the private key CRKY4032A inside the viewing software 403A, software 403A, and the like. You can decrypt the file.

本発明の譲渡制限機能を用いたOTPトークンの譲渡機能は暗号化データの復号用トークンに限らず、本発明のすべてのOTP生成関数を持つコントラクトに帰属するOTPトークンに用いる事ができ、図8Aに記載の端末3Cのウェブサイトのログイン用OTPトークン、図8Bに記載の紙やNFCタグ式チケットや有価紙葉及び解錠等の鍵を作成するパスワードOWPの生成を行うOWPトークンに用いることができる。
コントラクトのプログラム上ではOTPトークンは譲渡可能であるが、OTPトークンが対応するサービスによってはサービスの権利者による利用制限や、国内国外の法や規制を受けることが想定される。譲渡制限を行う際の3041Aの変更はコントラクト管理者が行う。
The transfer function of the OTP token using the transfer restriction function of the present invention can be used not only for the token for decrypting the encrypted data but also for the OTP token belonging to the contract having all the OTP generation functions of the present invention, FIG. 8A. It can be used for the OTP token for logging in to the website of the terminal 3C described in FIG. 8B, and the OWP token for generating the password OWP for creating the key for the paper, NFC tag type ticket, valuable paper leaf, unlocking, etc. can.
OTP tokens are transferable under the contract program, but depending on the service supported by the OTP token, it is expected that usage restrictions will be imposed by the right holder of the service, and that domestic and foreign laws and regulations will be imposed. The contract administrator makes changes to 3041A when the transfer is restricted.

<暗号化データのバージョン管理>
ブロックサイズやトランザクションのデータ上限値が極めて大きく取れるブロックチェーン基盤においてそのブロックデータにトランザクションにデータやファイルを添付して分散型台帳へ記録させるいわゆるブロックチェーン型ストレージを暗号化ファイル配信サーバ端末5Bに備えてもよい。ブロックチェーンに限らずバージョン管理ができる改ざん困難なストレージステムでもよい。(端末5Bに含まれると好ましい機能を実施する既存の技術及びサービスの具体例として、米国Github. Inc.、ギットハブ・ジャパン合同会社のGithubといったソフトウェア開発及びバージョン管理を行うプラットフォームなどが挙げられる)。
端末5Bはユーザー端末のアクセスを受けユーザー端末の求める検索のキー情報に応じて対応した暗号化ファイルやOTPトークンを表示し、そのOTPトークンを電子商取引機能により、あるコントラクト識別子のOTPトークンを発行する発行送付宛先のユーザー識別子を端末5Bや該当するコントラクト識別子のコントラクト管理者端末1Cに提示し、購入代金などの決済などを行いOTPトークンの購入とOTPトークン購入者のユーザ識別子に対するトークン発行の指示、AKTB4032Aが必要な場合にはAKTB4032Aを暗号化時に利用して暗号化ファイル4034Aを作成し配布してもよい。
前記の4034A配布する際にユーザーの電子メールにAKTB4032Aとコンテンツの暗号化ファイルを添付して送付してもよい。もしくはAKTB4034Aを電子メールにてユーザーに通知し、それに対応する暗号化ファイルは5Bなどの端末にアクセスできるダウンロード専用のURIからダウンロードするようにしてもよく、URIは電子メールに記述するか5Bがログイン機能などを備えた会員サイトでもある場合はログイン後のユーザー専用表示画面にてURIを表示してユーザーに伝達してもよい。
<Version control of encrypted data>
The encrypted file distribution server terminal 5B is equipped with so-called blockchain-type storage that attaches data and files to transactions and records them in a distributed ledger on a blockchain platform that can take extremely large block sizes and transaction data upper limits. You may. Not limited to the blockchain, it may be a storage system that can be version-controlled and is difficult to tamper with. (Specific examples of existing technologies and services that implement preferable functions when included in the terminal 5B include platforms for software development and version management such as Github. Inc. in the United States and GitHub of GitHub Japan GK).
The terminal 5B receives the access of the user terminal, displays the corresponding encrypted file and the OTP token according to the search key information requested by the user terminal, and issues the OTP token of a certain contract identifier by the electronic commerce function. Present the user identifier of the issue destination to the terminal 5B or the contract administrator terminal 1C of the corresponding contract identifier, settle the purchase price, etc., purchase the OTP token, and instruct the user identifier of the OTP token purchaser to issue the token. If the AKTB4032A is required, the AKTB4032A may be used at the time of encryption to create and distribute the encrypted file 4034A.
When distributing the 4034A, the user's e-mail may be sent with the AKTB4032A and the encrypted file of the content attached. Alternatively, the user may be notified of AKTB4034A by e-mail, and the corresponding encrypted file may be downloaded from a download-only URI that can access a terminal such as 5B. The URI may be described in the e-mail or 5B logs in. If the site is also a member site with functions, the URI may be displayed on the user-only display screen after login to inform the user.

改ざんが検知もしくはバージョン管理が行えるオンラインストレージにおいて、暗号化データ4034Aが大衆に向け公開し販売している書籍であり、書籍のデータを改訂し、異なる版を流通させる必要が出るかもしれない。この場合、改訂前の版のデータを改ざんされないよう残しつつ、改訂版を暗号化されたデータとしてバージョン管理機能のある5Bにアップロードし流通させることができる。
このとき改訂版の新しい暗号化データを既存の版の古い暗号化ファイルを復号できる旧版のOTPトークンで復号できる。これは例えば書籍ではなくコンピュータゲームなどで不具合のあるプログラムなどがあったときにそれを改善するために改訂版を流通させたいときに旧版のOTPトークンにて復号できることが好ましく、暗号化されたコンピュータソフトウェアのデータを復号する用途での利用を想定する。この場合は新しい版とふるい版では同一のコントラクト識別子のままである。
あるいは、新しい版には古い版とは別の新しい版のトークンで復号できるよう暗号化して暗号化データを流通させつつ、ふるい版のトークンを権利者が販売することもできる。これは例えば紙の書籍において、印刷され流通したふるい版の書籍と改訂された新しい版の書籍の双方が書店や古書店でモノとして販売されていうことに対応する。新しい版のトークンとふるい版のトークンには異なるコントラクト識別子のOTPトークンのコントラクトがデプロイされユーザに通知される。新しい版のOTPトークンを購入するかどうかは消費者の判断による。(コンピュータソフトウェアにおいても版ごとにOTPトークンのコントラクトをデプロイしていくこともできる)
In online storage where tampering can be detected or version controlled, encrypted data 4034A is a book that is open to the public and sold, and it may be necessary to revise the book data and distribute different editions. In this case, the revised version can be uploaded to 5B having a version control function as encrypted data and distributed while leaving the data of the version before revision so as not to be tampered with.
At this time, the revised version of the new encrypted data can be decrypted with the old version of the OTP token that can decrypt the existing version of the old encrypted file. For example, when there is a defective program in a computer game instead of a book and you want to distribute a revised version to improve it, it is preferable that you can decrypt it with the old version of OTP token, and it is an encrypted computer. It is supposed to be used for decrypting software data. In this case, the new version and the sieve version still have the same contract identifier.
Alternatively, the rights holder can sell the sieved version of the token while distributing the encrypted data by encrypting the new version so that it can be decrypted with a new version of the token different from the old version. This corresponds to, for example, in paper books, both printed and distributed sifted books and revised new editions of books are sold as goods at bookstores and second-hand bookstores. A contract with an OTP token with a different contract identifier is deployed for the new version of the token and the sieve version of the token, and the user is notified. It is up to the consumer to decide whether to purchase a new version of the OTP token. (It is also possible to deploy OTP token contracts for each version of computer software)

<コンテンツのレイティング>
暗号化データの情報を閲覧するのに適した年齢等を示すため、ワンタイムパスワード生成トークンのコントラクトにはそのトークンで復号を解除できる暗号化ファイルのコンテンツのレイティング情報3024Aが記録される。図4Bの40351Aや40352Aにレイティングが記録されてもよい。
ブロックチェーン上にコンテンツのレイティングが記録され他者がそのレイティングをブロックチェーンに直接アクセスするか5Bや3Fといったサーバ端末から検索して閲覧しトークンの購入等を検討できる。
<コンテンツの証明書>
暗号化データの暗号化を復号したとき、その平文に悪意のあるプログラムが含まれていない事を示す第三者からの証明書があると好ましい。図4Bの40351Aや40352Aに記載の情報である。
これはコンテンツのレイティングとも関連し、コンテンツの平文データを第三者に検閲させそのプログラムの動作に問題が無いか調査される必要があるかもしれない。
<Content rating>
In order to indicate the age suitable for viewing the information of the encrypted data, the rating information 3024A of the content of the encrypted file that can be decrypted by the token is recorded in the contract of the one-time password generation token. Ratings may be recorded in 40351A and 40352A in FIG. 4B.
Content ratings are recorded on the blockchain, and others can directly access the blockchain or search and browse from server terminals such as 5B and 3F to consider purchasing tokens.
<Certificate of content>
When decrypting the encrypted data, it is preferable to have a certificate from a third party indicating that the plaintext does not contain a malicious program. It is the information described in 40351A and 40352A of FIG. 4B.
This is also related to the rating of the content, and it may be necessary to have a third party censor the plaintext data of the content and investigate whether there is a problem with the operation of the program.

<コンテンツの閲覧実行環境>
コンテンツの証明書を用いても、第三者機関が意図せず悪意のあるプログラムの存在を見逃してコンテンツの証明書(図4Bの40351Aや40352A)を発行してしまうこともあるかもしれない。そこでソフトウェア403Aの実行環境は仮想機械環境の中で実行されることが好ましいかもしれない。
<Content browsing execution environment>
Even if the content certificate is used, a third party may unintentionally overlook the existence of a malicious program and issue a content certificate (40351A or 40352A in FIG. 4B). Therefore, it may be preferable that the execution environment of the software 403A is executed in the virtual machine environment.

<ある時刻に複数の環境からの閲覧の検知する機能(不正アクセス検知機能)>
本発明ではこのソフトウェアCRHNにおいて暗号化コンテンツを復号し閲覧したとき、またはソフトウェアCRHNを閲覧したときに、
広告サーバーCRHNcm(図5Aのサーバ端末5A)への接続を行うプログラムが実行され、端末5Aから広告が配信されるとともにコンテンツの閲覧またはソフトウェアを実行したユーザの
IPアドレス(IPアドレスのハッシュ化または加工した値)、
位置情報(位置情報をハッシュ化または加工した値)、コンピュータのデバイス情報(またはそのハッシュ値)、端末のセンサ値(またはそのハッシュ値)、
そしてトークン番号とユーザー識別子を図6Xのようなデータとして端末5Aに記録し、あるトークン番号やユーザー識別子に対して、
異なるIPアドレス、異なる位置情報、異なる装置ID、異なる端末付属の入力装置のセンサ情報にてアクセスしているかどうかを随時判断する処理部を備えることができる。
ここでコンピュータのデバイス情報、コンピュータの装置IDについては、デバイスIDなどのコンピュータ製造IDやオペレーティングソフトウェアのID、ウェブブラウザのIDに加えて、端末4Aに搭載された加速度センサーや磁気センサー、圧力センサー、温度センサーなどの測定値や測定値をハッシュ化したものを用いてもよい。
これは広告サーバーが簡易なコンテンツの不正利用を監視するサーバーとして利用されることを想定している。しかしソフトウェア403Aや暗号化コンテンツをの配布元である権利者がコンテンツの不正利用監視機能を要望する場合に限り利用される。
ソフトウェア403Aを閲覧したときに、サーバ端末5Aへの接続を行うプログラムを実行しなくとも本発明のOTP認証システムにより暗号化データの復号ができる。そして実施形態において、本発明のソフトウェア403Aの権利者や暗号化データの平文データの権利者が5Aへの接続を行うプログラムを記録させ、ソフトウェア403Aやコンテンツの利用者が同意する場合にサーバ端末5Aへの接続を行うプログラムが実行されうる。
(ここで権利者とは主にソフトウェアやコンテンツの著作権等利者である。平文データは著作権を初めとする知的財産権の観点から保護される。また法人の営業秘密等の機密情報である場合は知的財産権として保護される。個人の創作した平文データは著作権にて保護される。)
<Function to detect browsing from multiple environments at a certain time (unauthorized access detection function)>
In the present invention, when the encrypted content is decrypted and browsed by the software CRHN, or when the software CRHN is browsed,
The program that connects to the advertisement server CRHNcm (server terminal 5A in FIG. 5A) is executed, the advertisement is delivered from the terminal 5A, and the IP address (IP address hashing or processing) of the user who browses the content or executes the software is executed. Value),
Location information (value obtained by hashing or processing location information), computer device information (or its hash value), terminal sensor value (or its hash value),
Then, the token number and the user identifier are recorded in the terminal 5A as data as shown in FIG. 6X, and for a certain token number or user identifier, the token number and the user identifier are recorded.
It can be provided with a processing unit that determines at any time whether or not the user is accessing with a different IP address, a different location information, a different device ID, and sensor information of an input device attached to a different terminal.
Here, regarding the device information of the computer and the device ID of the computer, in addition to the computer manufacturing ID such as the device ID, the operating software ID, and the web browser ID, the acceleration sensor, magnetic sensor, and pressure sensor mounted on the terminal 4A, A measured value such as a temperature sensor or a hash of the measured value may be used.
This assumes that the advertising server will be used as a server to monitor the unauthorized use of simple content. However, it is used only when the right holder who distributes the software 403A or the encrypted content requests the unauthorized use monitoring function of the content.
When the software 403A is browsed, the encrypted data can be decrypted by the OTP authentication system of the present invention without executing the program for connecting to the server terminal 5A. Then, in the embodiment, the right holder of the software 403A of the present invention or the right holder of the plain text data of the encrypted data records a program for connecting to the 5A, and when the user of the software 403A or the content agrees, the server terminal 5A A program that connects to can be executed.
(Here, the right holder is mainly the copyright holder of software and contents. Plaintext data is protected from the viewpoint of intellectual property rights such as copyright. Also, confidential information such as corporate business secrets. If it is, it is protected as an intellectual property right. Plaintext data created by an individual is protected by copyright.)

また5Aを用いた広告機能は例えば発売前の製品の設計図などの機密情報を本発明のソフトウェアにて暗号化、復号し社内文章の暗号化ツールとして扱うといった場合においては必要とされない恐れがあり、前記社団に本ソフトウェアを提供する場合には広告の表示機能や広告配信サーバを用いたコンテンツの不正利用監視機能を利用しない形態も考えられうる。 個人が趣味等で利用する場合には広告表示機能と広告によるコンテンツの不正利用監視機能を権利者が搭載でき、個人や法人のビジネス用途ではその広告機能を搭載せず本発明のソフトウェアと装置として利用できる。 In addition, the advertising function using 5A may not be required when, for example, confidential information such as a design drawing of a product before release is encrypted and decrypted by the software of the present invention and treated as an in-house text encryption tool. When providing this software to the above-mentioned corporation, it is conceivable that the advertisement display function and the content fraud monitoring function using the advertisement distribution server are not used. When an individual uses it as a hobby, the right holder can install an advertisement display function and an advertisement fraud monitoring function, and for business use of individuals and corporations, the advertisement function is not installed as the software and device of the present invention. Available.

また端末4AのソフトウェアCRHN(403A)によりデータやファイルは復号され実行されその結果が出力装置であるディスプレイ画面450Aに表示され、音声情報が含まれていればスピーカー451Aで音として出力する。
ソフトウェアCRHNの表示画面でソフトウェア的に画像をスクリーンキャプチャされにくくしたり(この場合はディスプレイ450Aを銀塩又はデジタルカメラにより複写される場合は複写できる)、コンテンツとなるファイルやソフトウェア側からプリンターによる印刷を許可しない設定にすることができる。コンテンツの権利者の要請によっては印刷を不可能にすることも可能にすることもできる。コンテンツのプレイヤー画面に常に閲覧者のユーザー識別子を表示できる。
Further, data and files are decoded and executed by the software CRHN (403A) of the terminal 4A, the result is displayed on the display screen 450A which is an output device, and if voice information is included, it is output as sound by the speaker 451A.
It makes it difficult for the image to be screen-captured by software on the display screen of the software CRHN (in this case, it can be copied if the display 450A is copied by silver salt or a digital camera), or the content file or printing by the printer from the software side. Can be set not to allow. Printing may or may not be possible at the request of the content right holder. The user identifier of the viewer can always be displayed on the player screen of the content.

<オフライン時におけるデータの閲覧>
本発明では災害などでオフラインとなり、インターネットワークから切断され隔離された場合についても、端末4Aのソフトウェア403Aを用いて閲覧したいデータがあることが考えられえる。たとえば災害において避難経路、災害に役立つ百科事典などの書籍のファイルを利用したいことも想定される。ブロックチェーンそのものは世界中に分散可能なサーバによるデータベースであり、局所的な災害に対しては耐性がある。しかし災害の被災者のデバイスはネットワークに接続できず手元にあるソフトウェア403Aはブロックチェーンに接続できないので暗号化されたファイルの復号ができなくなることが想定された。
そこで本発明ではオンライン時、災害が起きる前に予めソフトウェア403Aでファイルの復号を行ったときに、閲覧済みの証明書データ4036A(図4Bに記載の4036A。ブックマークデータ、本文章中ではOFBKMK)を作成し、その証明書データ内部に記録されたユーザー秘密鍵PRVP(図4Bの401A)にて暗号化された鍵情報を復号して閲覧する鍵として利用する。この場合も、本発明はコンテンツへのアクセスコントロール技術として機能する。
<Viewing data when offline>
In the present invention, even when the user goes offline due to a disaster or the like and is disconnected from the internetwork and isolated, it is conceivable that there is data to be viewed using the software 403A of the terminal 4A. For example, it is assumed that you want to use the files of books such as evacuation routes and encyclopedias that are useful for disasters. The blockchain itself is a database of servers that can be distributed around the world and is resistant to local disasters. However, it was assumed that the device of the disaster victim could not connect to the network and the software 403A at hand could not connect to the blockchain, so the encrypted file could not be decrypted.
Therefore, in the present invention, when the file is decrypted with the software 403A in advance before a disaster occurs when online, the viewed certificate data 4036A (4036A shown in FIG. 4B. Bookmark data, OFBKMK in this text) is used. The key information created and encrypted with the user private key PRVP (401A in FIG. 4B) recorded inside the certificate data is decrypted and used as a key for viewing. In this case as well, the present invention functions as an access control technique for the content.

<オフライン時に利用する閲覧済みの証明書データ>
本発明の実施例では、
まずファイルの暗号化及び復号のための鍵情報TTKY4033Aを算出し、ユーザーの秘密鍵401Aまたはそれに基づく鍵情報を用いてTTKY4033Aを暗号化しCTTKY40361Aとし、40361Aをソフトウェア403Aに内蔵する秘密鍵40302Aを用いて暗号化しACTTKY40360Aとする。
次に端末4AがOTP認証してデータを復号し閲覧できた時点でのブロック番号等ブロックチェーン情報やワンタイムパスワード生成および認証コントラクトのコントラクト識別子を一つのオブジェクトデータまたはファイルとしてまとめ40362Aとする。
次に秘密鍵40302AをHMACのキー情報とし、40360Aと40362Aを連結したデータをHMACのメッセージとして、HMACによりMAC値40363Aを求める。
そして40360Aと40362Aと40363Aを連結したデータを閲覧済みの証明書データOFBKMK4036Aとして利用する。
<Viewed certificate data used when offline>
In the examples of the present invention
First, the key information TTKY4033A for encrypting and decrypting the file is calculated, the TTKY4033A is encrypted using the user's private key 401A or the key information based on the key information to make it CTTKY40361A, and the 40361A is converted to the CTTKY40361A using the secret key 40302A built in the software 403A. It is encrypted and used as ACTTKY40360A.
Next, the blockchain information such as the block number at the time when the terminal 4A can perform OTP authentication to decrypt and view the data, and the contract identifier of the one-time password generation and authentication contract are combined into one object data or file and referred to as 40362A.
Next, the secret key 40302A is used as the key information of HMAC, and the data obtained by concatenating 40360A and 40362A is used as the message of HMAC, and the MAC value 40363A is obtained by HMAC.
Then, the data obtained by concatenating 40360A, 40362A, and 40363A is used as the viewed certificate data OFBKMK4036A.

<オフライン時の閲覧>
閲覧済みの証明書データOFBKMK4036A、ユーザの秘密鍵401A、ソフトウェア403A内部のキー情報40302Aを用いて復号しTTKY4033Aを得る。
具体的には、ソフトウェア403AはOFBKMK4036Aに記述されたACTTKY40360Aを40302Aを用いて復号しCTTKY40361Aを得る。そしてCTTKY40361Aを401Aを用いて復号し、TTKY4033Aを得て、TTKYを用いて暗号化されたデータやファイルを復号し閲覧可能とする。4036Aの内部にある情報の暗号化は共通鍵暗号化と公開鍵暗号化等の暗号化が利用されうるが好ましくは共通鍵暗号化を用いてもよい。
ここで災害時において閲覧に制限は不要かもしれないが、ネットワークが切断された時に切断の理由が災害なのかユーザー都合なのか区別がつかない事と、災害時においても閲覧制限をしたいファイルがあるかもしれないので閲覧時間などに制限を設ける機能をソフトウェア403Aが備えていてもよい。
<Viewing when offline>
Decryption is obtained using the viewed certificate data OFBKMK4036A, the user's private key 401A, and the key information 40302A inside the software 403A to obtain TTKY4033A.
Specifically, software 403A decodes ACTTKY40360A described in OFBKMK4036A using 40302A to obtain CTTKY40361A. Then, CTTKY40361A is decrypted using 401A, TTKY4033A is obtained, and encrypted data or files using TTKY are decrypted and made available for viewing. As the encryption of the information inside the 4036A, encryption such as common key encryption and public key encryption can be used, but common key encryption may be preferably used.
Here, it may not be necessary to restrict viewing in the event of a disaster, but when the network is disconnected, it is not possible to distinguish whether the reason for the disconnection is a disaster or user convenience, and there are files that you want to restrict viewing even in the event of a disaster. Therefore, the software 403A may have a function of setting a limit on the viewing time or the like.

ユーザーの中には端末4Aがネットワーク20から切断されたオフライン時の4036Aを用いた閲覧機能を悪用しようとする人もいるかもしれない。そこで権利者のコンテンツを守るうえで閲覧済みの証明書データをもちいてオフラインで閲覧する利用者に利用制限をかけることが好ましい時がある。(なおコンテンツの権利者の判断では閲覧制限を設けない4036Aの利用形態も考えられる。)
その具体的な対策例及び実施例として、ソフトウェア403Aはオフライン時の利用において403Aがインストールされたコンピュータやスマートフォンの時刻情報と証明書データOFBKMK4036Aの認証およびコンテンツを閲覧できた時刻を検出し、4036Aの時刻が現在のスマートフォン等コンピュータ端末の時刻よりも過去にあることを確認してから、4036Aの情報に含まれる情報を復号して4033Aを得て、暗号化データやファイル4034Aを復号し、4034Aを4036Aを用いて復号して閲覧などを行った時刻(4036Aで閲覧を始めた現在時刻)を記録し、前記4036Aで閲覧を始めた現在時刻よりある指定時刻だけ未来にある時刻まで間に限り閲覧を許可する。ある指定時刻だけ時間が経過した際には閲覧を停止する処理を行ったりソフトウェア403Aを停止させ、平文データ4035Aの利用を停止する。
Some users may attempt to exploit the browsing function using 4036A when the terminal 4A is disconnected from the network 20. Therefore, in order to protect the content of the right holder, it is sometimes preferable to use the viewed certificate data to restrict the usage of users who browse offline. (It should be noted that the usage pattern of 4036A, which does not set viewing restrictions at the discretion of the content right holder, is also conceivable.)
As a specific countermeasure example and embodiment, the software 403A detects the time information of the computer or smartphone on which the 403A is installed and the time when the authentication and contents of the certificate data OFBKMK4036A can be viewed when used offline, and the 4036A After confirming that the time is earlier than the time of the current computer terminal such as a smartphone, the information contained in the information of 4036A is decrypted to obtain 4033A, and the encrypted data and the file 4034A are decrypted to obtain 4034A. Record the time of decoding and browsing using 4036A (current time when browsing started at 4036A), and browse only for a specified time from the current time when browsing started at 4036A until a certain time in the future. Allow. When the time has elapsed by a certain designated time, the process of stopping the browsing is performed, the software 403A is stopped, and the use of the plaintext data 4035A is stopped.

ここでコンピュータ端末4Aの内、スマートフォン型の端末4Aは多くが位置情報の測位用に全球測位衛星システムGNSSからの無線信号受信装置422Aもしくは423Aを備え、時刻が更新されるのでこの機能を提供しやすい。GNSSからの信号には時刻情報が含まれる。GNSSなど時刻情報を得る手段を取り外し困難な状態で内蔵していないコンピュータでは、オフラインでコンピュータのBIOS(Basic Input Output System )などで時刻を本来の時刻と異なる値に設定し、ソフトウェア403Aが正しい現在時刻を取得するのを妨げ、閲覧を停止すべき時刻になってもソフトウェア403Aが閲覧を許してしまう恐れがある。
ソフトウェア403Aにおいて閲覧済みの証明書データOFBKMK4036Aを用いて閲覧するにはNITZ(Network ID and Time Zone、ネットワークIDおよびタイムゾーン)、JJY、GNSSなどの災害時においても時刻を伝える放送局から受信できることが好ましい。またその時刻情報を受信できる装置が取り外し困難であることが好ましい。例えば端末の無線通信装置422Aもしくは放送受信装置423Aと制御演算部41Aおよび43AにあるCPU(Central Processing Unit)を金属製のシールドで封印し、シールドに無線機器としての認証番号(日本国の無線機器の工事設計認証、アメリカ合衆国の連邦通信委員会FCCの無線機器の認証IDなど)を刻印するしてもよいし、半導体パッケージとして封止してもよいし、透明な接着剤などで内部の部品が視認できる形で封止してもよい。
41Aや43Aを含むCPUとGNSSまたはJJYまたはNITZの受信装置422Aもしくは423Aを同じ半導体パッケージもしくは同じ半導体基板に搭載し、そのCPUやシステムオンチップ(SoC)となった装置を端末に制御部や制御演算部として搭載することが好ましい。(2020年時点で販売されたスマートフォンやタブレット型端末に搭載されたSoCチップの中にはCPUとNITZを送信する無線通信局へのモデムとGNSS(米国GPSや日本国QZSS)の無線信号を受信するモデムを内蔵したものが存在している。例として米国クアルコム社などのSoC。)
SoCでは一つの半導体チップであるが、SIP(System in Package)という複数のICチップを1つのパッケージに搭載し封止などを行った半導体部品でもよい。
また携帯電話及びスマートフォンなどの基地局を用いるNITZ(Network Identity and Time Zone、ネットワークIDおよびタイムゾーン)は災害時に携帯電話用基地局が被災し、停止すると機能しない恐れもあるので、被災地から離れた地上の無線局の時刻データ(日本国ではJJY等)やGNSS等の宇宙空間にある無線局の時刻データを用いて時刻補正できることが好ましい。
放送を用いるシステムの内GNSSやJJYの他、衛星放送により時刻を取得することも可能かもしれない。静止軌道にある気象観測衛星や放送衛星から送信された時刻情報がユーザー端末にて受信される事を想定する。月面などに時刻を放送する無線局5Cがあってもよい。
Here, among the computer terminals 4A, most of the smartphone type terminals 4A are equipped with a radio signal receiving device 422A or 423A from the global positioning satellite system GNSS for positioning of position information, and provide this function because the time is updated. Cheap. The signal from GNSS contains time information. For computers that do not have a built-in means for obtaining time information, such as GNSS, in a state where it is difficult to remove, set the time to a value different from the original time with the computer's BIOS (Basic Input Output System) offline, and the software 403A is correct now. There is a risk that the software 403A will allow browsing even when it is time to stop browsing, hindering the acquisition of the time.
To view using the certificate data OFBKMK4036A that has already been viewed in software 403A, it can be received from broadcasting stations that convey the time even in the event of a disaster such as NITZ (Network ID and Time Zone, network ID and time zone), JJY, GNSS, etc. preferable. Further, it is preferable that the device capable of receiving the time information is difficult to remove. For example, the wireless communication device 422A or broadcast receiving device 423A of the terminal and the CPU (Central Processing Unit) in the control calculation units 41A and 43A are sealed with a metal shield, and the authentication number as a wireless device (wireless device in Japan) is attached to the shield. Construction design certification, Federal Communications Commission FCC wireless device certification ID, etc.) may be engraved, sealed as a semiconductor package, or the internal parts may be sealed with transparent adhesive. It may be sealed in a visible form.
A CPU including 41A and 43A and a GNSS or JJY or NITZ receiving device 422A or 423A are mounted on the same semiconductor package or the same semiconductor substrate, and the CPU or system-on-chip (SoC) device is used as a control unit or control unit. It is preferable to mount it as a calculation unit. (In the SoC chip installed in smartphones and tablet terminals sold as of 2020, the modem to the wireless communication station that transmits the CPU and NITZ and the wireless signal of GNSS (US GPS and Japan QZSS) are received. There is a built-in modem that can be used. For example, SoC such as Qualcom Co., Ltd. in the United States.)
In SoC, it is one semiconductor chip, but it may be a semiconductor component in which a plurality of IC chips called SIP (System in Package) are mounted in one package and sealed.
In addition, NITZ (Network Identity and Time Zone), which uses base stations such as mobile phones and smartphones, may not function if the base station for mobile phones is damaged in the event of a disaster, so move away from the disaster area. It is preferable that the time can be corrected by using the time data of a radio station on the ground (JJY or the like in Japan) or the time data of a radio station in space such as GNSS.
In addition to GNSS and JJY among systems that use broadcasting, it may be possible to acquire the time by satellite broadcasting. It is assumed that the time information transmitted from the meteorological observation satellite or the broadcasting satellite in the geostationary orbit is received by the user terminal. There may be a radio station 5C that broadcasts the time on the moon or the like.

ユーザー端末の記憶装置のうちプログラム403Aの秘密鍵情報を403Aの実行時に記録する揮発性のRAMや、ユーザーの秘密鍵情報を記録できるROMもしくは不揮発性メモリNVRAMをCPUと共にSoC等に搭載しパッケージとして封止してよい。これは端末を分解し、端末を構成する部品をはんだなどで接合した部分などから記憶装置の信号のやり取りを電気信号の測定装置を用いて測定し403Aの秘密鍵などを実行する場合に読み取られかねず、部品の端子部の電気信号の測定とリバースエンジニアリングによる攻撃を防ぐことを意図する。記憶装置と制御演算装置の間の接続経路でのリバースエンジニアリングを防ぐために本発明で用いる記憶部と処理部を同じ基板形成しもしくは同じパッケージの中に封止することが好ましい。(この要件は端末1Aや端末4Aや端末3Dにもかかわる。)
記憶装置と制御装置の信号処理部に対するアクセスを行う事が困難にして、アクセスを行うと端末の記憶装置と制御装置が破壊される恐れがあることが好ましい。端末の制御部と記憶部を封止樹脂や接着材で封止してもよいし、端末を分解して記憶部や制御部へできないように封止樹脂や接着剤で封じてもよい。
ただし、前記記憶装置の内、ソフトウェアの動作に必要な情報の容量に該当する記憶装置を封止できればよく、端末の処理や利便性の向上のために例えば暗号化データ4034Aを収録できる記憶容量を増やすために不揮発性の半導体メモリを増設してもよい。外部記憶装置としてハードディスクドライブなど磁気ディスクや光ディスクを用いてもよい。また4034Aを記録した記憶装置は端末4Aから取り外して他者に手渡しして配布できてもよい。
Among the storage devices of the user terminal, a volatile RAM that records the private key information of the program 403A at the time of execution of the program 403A, a ROM that can record the private key information of the user, or a non-volatile memory NVRAM is mounted on the SoC together with the CPU as a package. It may be sealed. This is read when the terminal is disassembled, the signal exchange of the storage device is measured from the part where the parts constituting the terminal are joined with solder, etc. using an electric signal measuring device, and the secret key of 403A is executed. It is intended to prevent attacks by measuring electrical signals at the terminals of parts and reverse engineering. In order to prevent reverse engineering in the connection path between the storage device and the control arithmetic unit, it is preferable that the storage unit and the processing unit used in the present invention are formed on the same substrate or sealed in the same package. (This requirement also relates to terminal 1A, terminal 4A and terminal 3D.)
It is preferable that it is difficult to access the signal processing unit of the storage device and the control device, and if the access is performed, the storage device and the control device of the terminal may be destroyed. The control unit and the storage unit of the terminal may be sealed with a sealing resin or an adhesive, or the terminal may be disassembled and sealed with a sealing resin or an adhesive so that the terminal cannot be disassembled into the storage unit or the control unit.
However, among the storage devices, it is sufficient that the storage device corresponding to the capacity of information necessary for the operation of the software can be sealed, and for the purpose of improving the processing and convenience of the terminal, for example, the storage capacity capable of recording the encrypted data 4034A is provided. Non-volatile semiconductor memory may be added to increase the number. A magnetic disk such as a hard disk drive or an optical disk may be used as the external storage device. Further, the storage device recording 4034A may be removed from the terminal 4A and handed to another person for distribution.

<コンテンツの印刷、複写の制限と許可>
暗号化データおよびファイル等のコンテンツ権利者に許可に応じて、コンテンツ権利者が暗号データ4034Aから復号した平文データ4035Aや403Aに許可を行う旨の情報を記載し、かつ個人使用に限り、403Aはコンテンツを出力装置のプリンターを用いて印刷できる。403Aは印刷する際に印刷時に各ページごとに印刷を行ったユーザー識別子やトークン番号、印刷時刻、コンテンツの名称、コントラクト識別子、印刷時のブロック番号とTOTP等をタイムスタンプのように印字することができる。これは印刷された文章の印刷時刻や印刷者を確認するためである。印刷者はユーザ識別子で表される。
<Restrictions and permission to print and copy content>
The information that the content right holder grants permission to the plaintext data 4035A and 403A decrypted from the encrypted data 4034A according to the permission to the content right holder such as encrypted data and files is described, and 403A is for personal use only. The content can be printed using the printer of the output device. When printing, the 403A can print the user identifier and token number printed for each page at the time of printing, the printing time, the name of the content, the contract identifier, the block number at the time of printing, TOTP, etc. like a time stamp. can. This is to confirm the print time and the printer of the printed text. The printer is represented by a user identifier.

端末4Aのディスプレイ画面に表示された暗号化データを復号したコンテンツは銀塩カメラ・フイルムカメラ・撮像素子を用いたデジタルカメラ、デジタルカメラを搭載したスマートフォンなど端末を用いて画像や動画として複写することができるかもしれない。
そこで端末4Aのディスプレイ画面に表示された暗号化データを復号したコンテンツは銀塩カメラ・撮像素子をデジタルカメラを搭載したスマートフォンなど端末を用いて画像や動画として複写することを簡易的に防ぐ場合にはヘッドマウントディスプレイ453A(頭部装着ディスプレイ453A)を使用する。なお本発明は必ずヘッドマウントディスプレイ453Aを用いるわけではなく従来のデスクトップ型端末やラップトップ及びノート型端末そして携帯電話機やスマートフォン端末に搭載されるディスプレイ450Aを用いてもよい。
ここでヘッドマウントディスプレイ453Aを装着したときに顔認証や虹彩認証、耳の構造に由来する認証、照度センサまたは光センサ、体温分布のサーモグラフィ画像などによる生体認証機能をヘッドマウントディスプレイ453Aのセンサ4530Aを利用して行ってもよい。前記認証機能では453Aを実在する生体が装着しているかどうかを確認することが第一の目的であり、それに付属して個人の生体情報を取得して生体認証を行うことにつなげることもできる。
The decrypted content of the encrypted data displayed on the display screen of the terminal 4A shall be copied as an image or video using a terminal such as a silver salt camera, a film camera, a digital camera using an image sensor, or a smartphone equipped with a digital camera. May be possible.
Therefore, the content obtained by decrypting the encrypted data displayed on the display screen of the terminal 4A is used to simply prevent copying the silver salt camera / imaging element as an image or video using a terminal such as a smartphone equipped with a digital camera. Uses a head-mounted display 453A (head-mounted display 453A). In the present invention, the head-mounted display 453A is not always used, and a display 450A mounted on a conventional desktop terminal, laptop terminal, notebook terminal, mobile phone or smartphone terminal may be used.
Here, when the head mount display 453A is attached, the head mount display 453A sensor 4530A is equipped with a biometric authentication function such as face recognition, iris recognition, ear structure-derived authentication, illuminance sensor or optical sensor, and thermographic image of body temperature distribution. You may use it. The primary purpose of the authentication function is to confirm whether or not a living body actually wears the 453A, and it is also possible to acquire personal biometric information attached to the authentication function and perform biometric authentication.

ソフトウェア403Aは復号したデータを出力する出力装置45Aを限定してよい。具体的にはディスプレイ画面を銀塩カメラやデジタルカメラを用いて画像や動画として複写することを簡易的に防ぐ場合には453Aを用いる。一方で複数人とディスプレイ画面のコンテンツを共有して視聴し、その場面においてディスプレイ画面の撮影を許容する場合には450Aを用いるという形である。これら出力の方法を限定することは暗号データに含まれるコンテンツの権利者が決定でき、暗号データを復号した際の平文データに出力方法がプログラム等で記載され、そのプログラムを実行して閲覧する際に復号されたデータを出力する装置を限定する。ヘッドマウントディスプレイ453Aやディスプレイ450Aのようなディスプレイ装置・表示装置、452Aのプリンター、451Aのスピーカーを例として、出力装置ごとに復号のデータ・ファイル・コンテンツの出力は制限されうる。 Software 403A may limit the output device 45A that outputs the decoded data. Specifically, 453A is used to simply prevent the display screen from being copied as an image or moving image using a silver halide camera or a digital camera. On the other hand, 450A is used when the content of the display screen is shared and viewed with a plurality of people and the shooting of the display screen is permitted in the scene. The right holder of the content included in the encrypted data can decide to limit these output methods, and the output method is described in the plaintext data when the encrypted data is decrypted by a program, etc., and when the program is executed and viewed. The device that outputs the decoded data is limited to. For example, a display device / display device such as a head-mounted display 453A or a display 450A, a printer of 452A, and a speaker of 451A can be used as an example, and the output of decrypted data, files, and contents can be limited for each output device.

453Aを用いる場合であっても画面を複製することが必要な場合はソフトウェア403Aの製造者が別途453Aのほかに450Aに出力させることもある。例えば暗号化データの内容にかかわる紛争の解決のための証拠取得などの手段で複製する場合は453Aで出力することを指定していても450Aで出力できるようソフトウェアの設定情報を捜査機関に開示し閲覧できるようにする。例えヘッドマウントディスプレイ453Aを用いて複写を制限する場合でも、要請に応じてソフトウェア403Aの提供者は、画面の複写できる版の(バージョンの)403Aを紛争の起きている人々の解決に役立てるよう提供できる。
例えばディスプレイに表示する情報が法令等に反している情報(例として肖像権を侵害している情報など)でその情報による被害者がいる場合に、捜査当局や弁護士等へ情報を提供する際に403Aの内ヘッドマウントディスプレイ453Aのみで利用できるとしたデータを通常のディスプレイ450Aで表示し紛争の解決のために情報を共有できるようにしてもよい。
Even when using 453A, if it is necessary to duplicate the screen, the manufacturer of software 403A may separately output to 450A in addition to 453A. For example, when duplicating by means such as obtaining evidence for resolving disputes related to the contents of encrypted data, the software setting information is disclosed to the investigative agency so that it can be output at 450A even if it is specified to output at 453A. Make it viewable. Upon request, the provider of Software 403A will provide a copyable version of 403A to help resolve disputed people, even if copying is restricted using a head-mounted display 453A. can.
For example, when the information displayed on the display is information that violates laws and regulations (for example, information that infringes portrait rights) and there is a victim due to that information, when providing information to investigative authorities or lawyers. The data that can be used only on the head-mounted display 453A of the 403A may be displayed on the normal display 450A so that the information can be shared for the resolution of the dispute.

情報を保持するという観点からはオフラインであっても閲覧済みの証明書データを持つユーザーはその個人利用の範囲内でデータを紙等に記録できることが好ましいかもしれない。本発明で用いるコンピュータや記憶装置そしてブロックチェーン等の技術は、紙や粘土板及び石板といった過去に発明された記録手段のように長い実績を持った情報記録媒体ではないので、本発明を用いた情報のうち情報の権利者が望む場合には本発明で用いたデータやトークンの所有に関する情報を紙などに記録出来ることが好ましい。音楽映像データやソフトウェアデータもまた平文ファイルで磁気テープや磁気ディスク等の記憶装置に記憶することができるほうが情報が残り続けるかもしれない。
本発明は実際の紙の保存年月と同じくらいの年月、すなわち100年を超え数世紀以上機能すると仮定し設計される。本発明のソフトウェアは今ある現代の文化や生活のデータを保持する観点を持って、データの所有、コンテンツ権利者保護、情報の記録を重視し設計を行っており、情報を後世に伝えることを考えている。
本発明では暗号化ファイルの形で世界中にファイルを配布することを可能とし、OTPトークンという鍵を用いて暗号化データを復号するという情報の流通形態を取るが、暗号化データの配布元である権利者は暗号化データの原本である平文のデータを責任を持って保存することが好ましい。世界中に販売した書籍のデータがあるからといって原本の保全をしなくなってしまうことを発明者は意図していない。
また発行したOTPトークンとそれに対応した暗号データ4034Aやソフトウェア403AとAKTB4032Aなどの復号の鍵となる情報をまとめて書籍や映像音声情報として図書館などに収録することで本発明の手段による書籍が長い年月にわたり保存され易くするかもしれない。
From the viewpoint of retaining information, it may be preferable that a user who has viewed certificate data can record the data on paper or the like within the range of personal use even if he / she is offline. The technology of the computer, storage device, blockchain, etc. used in the present invention is not an information recording medium having a long track record like the recording means invented in the past such as paper, clay plate, and stone plate, so the present invention is used. Of the information, if the right holder of the information desires, it is preferable that the data used in the present invention and the information regarding the possession of the token can be recorded on paper or the like. Information may continue to remain if music video data and software data can also be stored as plaintext files in a storage device such as a magnetic tape or a magnetic disk.
The present invention is designed on the assumption that it will function for as many years as the actual storage date of paper, that is, for more than 100 years and for centuries or more. The software of the present invention is designed with an emphasis on data possession, content right holder protection, and information recording from the viewpoint of retaining data of existing modern culture and life, and it is intended to pass on information to posterity. thinking.
In the present invention, it is possible to distribute a file in the form of an encrypted file all over the world, and the information is distributed by decrypting the encrypted data using a key called an OTP token. It is preferable for some right holders to responsibly store the plaintext data that is the original of the encrypted data. The inventor does not intend to lose the preservation of the original just because there is data on books sold all over the world.
In addition, the issued OTP token and the corresponding encrypted data 4034A, software 403A, AKTB4032A, and other key information for decryption are collectively recorded in a library as a book or video / audio information, so that the book by the means of the present invention can be used for a long time. May make it easier to store for months.

4T.放送での利用(双方向でない暗号化データの流通)
図8Cの応用として暗号化データ放送の用途がある。図8Dに端末の接続図を示す。図8D示すように、暗号化されたデータは1対複数の無線放送によって放送される音声動画の暗号化されたデータでもよく、ラジオ放送やテレビ放送(テレビジョン放送)のデータを暗号化し放送局5C(図8Dの5C)から送信し、ユーザーUPの端末1Aに内蔵された無線受信機423Aにより受信した暗号化データを復号し音声や映像を視聴することにも応用できる。
テレビ放送などによるコンテンツの配信は、図8Cに示すコンピュータとコンピュータネットワークによる双方向通信かつオンデマンド配信でのデータおよびファイルでのコンテンツのやり取りを、図8Dに示す放送局サーバ端末5Cと複数の受信機端末4A(受信機付きテレビジョン)でのライブ放送・ライブ配信としたものである。
ここで複数の受信機4A(放送受信機付きテレビジョン型コンピュータ端末4A)は本発明ではインターネットに接続でき、本発明のワンタイムパスワードによる認証システムと暗号化コンテンツの閲覧機能を備えると好ましい。受信機がインターネットおよびグローバルなブロックチェーンに接続できない場合には、受信機に内蔵されたシークレットキー情報とは別に、放送局が放送データに時刻情報及びブロック番号Bnやワンタイムパスワード認証、コンテンツの復号に必要なキー情報の一部を送信する必要がある。
この方式では複数のユーザーに対し一つの放送局からデータを送信できる一対複数のデータ送信が可能である。通信経路となる電波を独自に確保できていればスマートフォンやコンピュータネットワーク20の混雑などを気にせず情報を公衆に伝達でき、新聞や官報や教科書籍データ等の公共性のあるデータ情報や、音声や動画などを送付するには利点がある。(既存の日本国の衛星及び地上波のデジタル放送においてもICカードを利用し、共通鍵暗号化を用いたアクセスコントロールが行われている。)
4T. Use in broadcasting (distribution of encrypted data that is not bidirectional)
As an application of FIG. 8C, there is an application of encrypted data broadcasting. FIG. 8D shows a connection diagram of the terminal. As shown in FIG. 8D, the encrypted data may be encrypted data of audio / video broadcast by one-to-many radio broadcasting, and the data of radio broadcasting or television broadcasting (television broadcasting) may be encrypted and broadcast station. It can also be applied to transmit from 5C (5C in FIG. 8D), decode the encrypted data received by the wireless receiver 423A built in the terminal 1A of the user UP, and watch audio and video.
For the distribution of contents by television broadcasting or the like, the exchange of data and file contents by two-way communication and on-demand distribution between the computer and the computer network shown in FIG. 8C is received by a plurality of receptions with the broadcasting station server terminal 5C shown in FIG. 8D. It is a live broadcast / live distribution on the machine terminal 4A (television with a receiver).
Here, it is preferable that the plurality of receivers 4A (television type computer terminal 4A with a broadcast receiver) can be connected to the Internet in the present invention, and are provided with the authentication system using the one-time password of the present invention and the function of browsing encrypted contents. If the receiver cannot connect to the Internet and the global blockchain, the broadcasting station will add time information, block number Bn, one-time password authentication, and content decryption to the broadcast data, in addition to the secret key information built into the receiver. You need to send some of the key information you need to.
In this method, one-to-many data transmission that can transmit data from one broadcasting station to a plurality of users is possible. If the radio waves that serve as communication paths can be secured independently, information can be transmitted to the public without worrying about congestion of smartphones and computer networks 20, and public data information such as newspapers, official bulletins, and textbook data, and voice. There is an advantage in sending videos and videos. (Access control using common key encryption is also performed using IC cards in existing Japanese satellite and terrestrial digital broadcasting.)

本発明のOTPトークンを放送の視聴権として用い放送データの暗号化を復号して閲覧する方式を応用した場合、ICカードがない場合でも秘密鍵と、秘密鍵に割り当てられたトークンを用いてアクセスコントロールが可能になる。ICカードの再交付をしなくともトークンの追加交付・追加発行を行い、コントラクト側で暗号化に利用するキー情報を変更できる。
ただし暗号化されたデータ(コンテンツ)は放送局から1対複数の形でデータ送信されるが、OTPの取得と認証、認証関数の戻り値の取得はインターネットワーク20を通じて行う。従ってこの方式の放送データ視聴用端末4Aは放送局からの無線受信装置とインターネットとの通信装置の両方を備えることが望ましい。本発明では通信機能を持つテレビジョン端末4Aもしくはスマートフォン端末4Aもしくはタブレット型の携帯端末4Aについて図8Dに示す端末4Aのような実施形態を想定する。
When the method of using the OTP token of the present invention as a viewing right for broadcasting and decrypting and viewing the broadcasting data is applied, access is performed using the private key and the token assigned to the private key even if there is no IC card. Control becomes possible. The key information used for encryption can be changed on the contract side by additionally issuing and issuing tokens without reissuing the IC card.
However, the encrypted data (contents) is transmitted from the broadcasting station in a one-to-many format, but the acquisition and authentication of the OTP and the acquisition of the return value of the authentication function are performed through the internetwork 20. Therefore, it is desirable that the broadcast data viewing terminal 4A of this type is provided with both a wireless receiving device from a broadcasting station and a communication device with the Internet. In the present invention, an embodiment like the terminal 4A shown in FIG. 8D is assumed for a television terminal 4A, a smartphone terminal 4A, or a tablet-type mobile terminal 4A having a communication function.

端末4Aをスマートフォンなど携帯端末に限定せず、ヒトが携帯できないような大画面のテレビジョン端末4Aであることも想定される。前記テレビジョン型端末4Aを用いる場合は外部記録装置46Aに秘密鍵を記録し401Aとして利用させてもよい。この実施形態は既存のアクセスコントロール機能を備えたICカード読み取り装置つきのテレビジョン装置と同様である。
もしくはテレビジョン端末4Aの記憶装置40に秘密鍵401Aを記録させ利用させることもできる。しかしこの場合は端末4Aを廃棄もしくは譲渡する際に秘密鍵401Aの情報を別途異なる記憶装置に記録した後、401Aを40Aから消去することが必要かもしれない。本発明ではハードウェアウォレットやICカード(個人番号カードのような秘密鍵を持つICカード・NFCカード)のような秘密鍵を保存する記憶装置を用いずに端末1Aや端末4Aに記憶した秘密鍵がある場合には、端末の廃棄時もしくは譲渡時に秘密鍵を新しい端末や記録媒体に複製した後に端末の記憶装置のデータを消去することが必要である。
The terminal 4A is not limited to a mobile terminal such as a smartphone, and it is assumed that the terminal 4A is a large-screen television terminal 4A that cannot be carried by humans. When the television type terminal 4A is used, the private key may be recorded in the external recording device 46A and used as the 401A. This embodiment is similar to a television device with an IC card reader having an existing access control function.
Alternatively, the private key 401A can be recorded and used in the storage device 40 of the television terminal 4A. However, in this case, when the terminal 4A is discarded or transferred, it may be necessary to separately record the information of the private key 401A in a different storage device and then erase the 401A from the 40A. In the present invention, a secret key stored in a terminal 1A or a terminal 4A without using a storage device for storing a secret key such as a hardware wallet or an IC card (IC card / NFC card having a secret key such as a personal number card). If there is, it is necessary to erase the data in the storage device of the terminal after copying the private key to a new terminal or recording medium at the time of disposal or transfer of the terminal.

<ネットワークに接続されていない受信端末について>
図8Dにおいて端末4Aがインターネットに接続されていないが、端末4Aにはスマートフォン型端末1Aと連携する無線通信装置があるとき、端末4Aは端末1Aを通じてインターネット20に接続してもよい。
<About receiving terminals that are not connected to the network>
Although the terminal 4A is not connected to the Internet in FIG. 8D, when the terminal 4A has a wireless communication device linked with the smartphone type terminal 1A, the terminal 4A may connect to the Internet 20 through the terminal 1A.

インターネットへの接続手段を備えておらず、またインターネットに接続できる端末とも通信できない場合、次のAとBの方法がある。
A.図8Bで示したOWPを用いる方法を用いる場合。
例として端末1AにてOWPを生成するOTPトークンを取得し、前記OTPトークン用いて端末3AにアクセスしながらパスワードOWPを生成する。生成したパスワードOWPとトークン番号とユーザー識別子をテレビジョン端末4Aに入力するかもしくはそのパスワードの記録されたNFCタグ19Aを420Aに読み取らせ、認証ができたときは、端末4Aの認証関数に記録された戻り値CTAUを用いて放送された暗号データの復号を行い、復号できた場合にはコンテンツを視聴させる。
B.図8Bに類似し、放送データにシード値が含まれており、そのシード値に変化に応じて復号パスワードを生成するとき
Aに示した例では復号を行うTTKY4033Aの元になる情報はCTAU4031Aのみとなる。そこでAKTB4032Aに該当する情報を端末4Aに入力し、さらにデータ放送中の暗号データの中にTTKY4033Aの算出に利用する鍵を放送してもよい。放送される鍵情報は403Aのみが解読できるよう秘匿化もしくは暗号化されていてもよい。
If you do not have a means to connect to the Internet and you cannot communicate with a terminal that can connect to the Internet, there are the following methods A and B.
A. When using the method using OWP shown in FIG. 8B.
As an example, an OTP token for generating an OWP is acquired at the terminal 1A, and a password OWP is generated while accessing the terminal 3A using the OTP token. Enter the generated password OWP, token number and user identifier in the television terminal 4A, or have the 420A read the NFC tag 19A in which the password is recorded, and when authentication is possible, it is recorded in the authentication function of the terminal 4A. The encrypted data broadcasted is decrypted using the return value CTAU, and if the decryption is possible, the content is viewed.
B. Similar to FIG. 8B, the broadcast data contains a seed value, and when a decryption password is generated according to the change in the seed value, in the example shown in A, the source information of the decrypting TTKY4033A is only CTAU4031A. Become. Therefore, the information corresponding to AKTB4032A may be input to the terminal 4A, and the key used for calculating TTKY4033A may be broadcast in the encrypted data during data broadcasting. The key information to be broadcast may be concealed or encrypted so that only 403A can decipher it.

無線受信装置のみ備えるテレビジョン端末4A等の場合には、放送局5Cの送信情報に時刻情報、あるいは5Cが3A等から読み取ったブロック番号Bnを付与し、テレビジョン端末4A側でBnを受信させ、端末4Aが備える認証関数と認証関数に用いる内部シークレット変数からOTPの生成と認証、暗号化データの復号に必要な鍵の生成を行い、放送された暗号化データを随時復号してもよい。放送データに放送データ内部の暗号化コンテンツを復号する鍵の情報の一部が含まれていても良い。 In the case of a television terminal 4A or the like equipped with only a wireless receiving device, time information or a block number Bn read by 5C from 3A or the like is added to the transmission information of the broadcasting station 5C, and Bn is received on the television terminal 4A side. , OTP may be generated and authenticated from the authentication function provided in the terminal 4A and the internal secret variable used for the authentication function, and the key necessary for decrypting the encrypted data may be generated, and the broadcast encrypted data may be decrypted at any time. The broadcast data may include a part of the key information for decrypting the encrypted content inside the broadcast data.

放送されたデータは暗号化された形で受信機(テレビジョン受信機)の記憶装置(テレビジョン装置の録画端末に該当)に記録でき、再度視聴したい場合には復号に必要なOTPトークンによる認証後の戻値CTAUの取得を行い、AKTBなどの情報を入力し、復号用の鍵TTKY4033Aの算出を行い、4033Aを使い録画録音された暗号化データのコンテンツを復号して閲覧できる。 Broadcast data can be recorded in the storage device (corresponding to the recording terminal of the television device) of the receiver (television receiver) in encrypted form, and if you want to watch it again, authentication with the OTP token required for decryption The later return value CTAU is acquired, information such as AKTB is input, the key for decryption TTKY4033A is calculated, and the content of the encrypted data recorded and recorded using 4033A can be decrypted and viewed.

<テレビジョン型コンピュータ、テレビジョン型ゲーム機、テレビジョンと接続したコンピュータおよびゲーム機>
ここで受信機端末4Aがテレビジョン装置である場合、家庭などで家族に情報を共有し娯楽などに利用できる装置である。大画面であるテレビジョン装置はヘッドマウントディスプレイ453Aと比べ複数人と情報を共有するのに適する。インターネット接続できるテレビジョン視聴機能を備えたコンピュータ端末4Aである場合も想定できる。その場合はソフトウェア403Aに暗号化されたテレビジョン用放送データの閲覧と暗号化されたデータという形でコンピュータゲームソフトウェアの実行が同一の端末で実行されうる。
放送の視聴権利とコンピュータゲームのプレイ権利、ウェブサイトログイン権利が割り当てられたOTPトークンに対応する秘密鍵401Aが端末4Aに記録されており、OTPトークンを暗号化されたテレビジョン放送の視聴・暗号化されたゲームソフトウェアの実行・暗号化された書籍データの復号による新聞雑誌の閲覧等ができ、またOTPトークンを用いたオンラインゲームサーバ端末3Cへのログインできるマルチメディア端末4Aを提供することも考えられる。
<Television-type computers, television-type game consoles, computers and game consoles connected to televisions>
Here, when the receiver terminal 4A is a television device, it is a device that can be used for entertainment or the like by sharing information with a family member at home or the like. A television device having a large screen is more suitable for sharing information with a plurality of people than a head-mounted display 453A. It can also be assumed that the computer terminal 4A has a television viewing function capable of connecting to the Internet. In that case, the viewing of the television broadcast data encrypted by the software 403A and the execution of the computer game software in the form of the encrypted data can be executed on the same terminal.
The private key 401A corresponding to the OTP token to which the right to watch the broadcast, the right to play the computer game, and the right to log in to the website are assigned is recorded in the terminal 4A, and the OTP token is encrypted for viewing / encryption of the television broadcast. It is also possible to provide a multimedia terminal 4A that can execute encrypted game software, browse newspapers and magazines by decrypting encrypted book data, and log in to the online game server terminal 3C using OTP tokens. Be done.

<放送局の設置場所と形態>
端末5Cは有線放送と無線放送のどちらでも利用可能であるがこの項目では無線により複数の受信者に対し一方向にて情報を配信するサービスを好ましくは想定する。
<Installation location and form of broadcasting station>
The terminal 5C can be used for both wired broadcasting and wireless broadcasting, but in this item, it is preferable to assume a service of distributing information in one direction to a plurality of receivers by wireless.

放送局5Cの設置場所は地上や空中を問わず宇宙空間の人工衛星でもよい。衛星の軌道は静止軌道でもよい。ある軌道に沿って動く衛星でもよい。能動的に推進剤などを用いて推力にて動く人工衛星でもよい。JJYのような時刻情報を放送する無線局やGNSSのような時刻情報を含む測位衛星システムに利用されてもよい。月面など衛星上でもよい。地球など惑星上でもよい。 The installation location of the broadcasting station 5C may be an artificial satellite in outer space regardless of whether it is on the ground or in the air. The orbit of the satellite may be a geostationary orbit. It may be a satellite that moves along a certain orbit. An artificial satellite that actively moves by thrust using a propellant or the like may be used. It may be used for a radio station that broadcasts time information such as JJY or a positioning satellite system that includes time information such as GNSS. It may be on a satellite such as the moon. It may be on a planet such as the earth.

<ワンタイムパスワードを簡易なタイムスタンプとして用いるブロックチェーン内蔵GNSS用放送局>
放送局5Cもしくは5Cに3Aのようなブロックチェーンノードとなる機能を持った人工衛星型端末5Cであり、かつ放送用のデータが全球測位衛星システムGNSSの測位データの内の暗号データ部分やタイムスタンプ部分に利用される場合も考えられる。前記測位用もしくは時刻放送用の端末5Cはある軌道に沿って動く衛星端末でもよいし月面など自然の天体に設置された端末でもよい。
この場合、放送局5Cは原子時計など時刻を算出する時計を持ち、時計に従った時刻データないしローカルなブロックチェーンを人工衛星内のサーバーに持ち、そのコントラクトに記録された本発明のブロックチェーン式ワンタイムパスワードを用い、時刻情報とTB及びKC値を用いて計算したハッシュ値を添付しGNSS測位用の信号を含む電波として送信できる。また位置情報に加え独自の暗号化されたデータやタイムスタンプ情報を送付することもできる。このGNSS放送局となった端末5Cから端末4Aは時刻情報を受け取ることもできるかもしれない。
GNSS用の放送局5Cが放送する測位用の航法データにBnTOTPやメッセージ認証符号MAC値を添付することで測位情報の流通時に3Aを用いてOTP認証を行い測位情報の真贋を調べる事にもつながる。本発明のBnTOTPやOWPを測位信号や測位用航法データに添付することで測位用航法データの改ざんを防ぎ、測位信号のなりすましによる誤った位置情報の算出や誤った位置情報による正しくないナビゲーションを防ぐことにつながりうる。前記の方法で端末4Aは認証された位置情報と時刻情報を知ることができる。
5Cが宇宙にある場合、別の放送局5CCが双方向通信を行い、5Cのブロックチェーンのキー情報Kの一部を5CCの指示により変えることも出来る。
<Broadcasting station for GNSS with built-in blockchain that uses a one-time password as a simple time stamp>
It is an artificial satellite type terminal 5C that has a function to become a blockchain node like 3A in the broadcasting station 5C or 5C, and the data for broadcasting is the encrypted data part and the time stamp in the positioning data of the global positioning satellite system GNSS. It may be used for parts. The terminal 5C for positioning or time broadcasting may be a satellite terminal that moves along a certain orbit, or a terminal installed on a natural celestial body such as the moon surface.
In this case, the broadcasting station 5C has a clock such as an atomic clock that calculates the time, has time data according to the clock or a local blockchain on a server in the artificial satellite, and the blockchain type of the present invention recorded in the contract. It can be transmitted as a radio wave including a signal for GNSS positioning by using a one-time password and attaching a hash value calculated using time information and TB and KC values. In addition to location information, it is also possible to send unique encrypted data and time stamp information. The terminal 4A may also be able to receive time information from the terminal 5C that has become the GNSS broadcasting station.
By attaching BnTOTP and message authentication code MAC value to the navigation data for positioning broadcast by the broadcasting station 5C for GNSS, it is possible to perform OTP authentication using 3A at the time of distribution of positioning information and check the authenticity of the positioning information. .. By attaching the BnTOTP or OWP of the present invention to the positioning signal or the navigation data for positioning, it is possible to prevent the navigation data for positioning from being tampered with, and to prevent the calculation of incorrect position information due to spoofing of the positioning signal and the incorrect navigation due to incorrect position information. Can lead to. By the above method, the terminal 4A can know the authenticated position information and time information.
When 5C is in space, another broadcasting station 5CC can perform bidirectional communication and change a part of the key information K of the blockchain of 5C according to the instruction of 5CC.

<レイティング>
もしレイティングが必要な場合はコントラクトに明記しコントラクトからユーザーにトークンを発行する。
本発明ではレイティング情報をコントラクトに記述できる変数KNBNをコントラクトに備える。
<Rating>
If rating is required, specify it in the contract and issue a token to the user from the contract.
In the present invention, the contract is provided with a variable KNBN in which rating information can be described in the contract.

5.サービス提供者、トークン管理者(Owner)
サービスを提供する資格のあるユーザーUA(例えばインターネットバンキングを行うウェブサイト・ウェブアプリへのログイン権限を持つOTPトークンの契約を行った銀行口座保有者を想定)とその端末1Aに向けてその秘密鍵101Aから端末3Aのブロックチェーン部より計算されるユーザーの識別子Aに管理者UCは端末1C(端末DC)よりネットワーク20(ネットワークNT)を通じてブロックチェーンのノードであるサーバP(端末3A)にOTP生成トークンを発行する。
OTP生成トークンはスマートコントラクトとしてブロックチェーン上に記録される。スマートコントラクト(コントラクト)は修復及び改ざん困難なプログラムのとしてふるまい、一度端末3Aや3BといったブロックチェーンシステムDLSのブロックチェーン部にコントラクトが展開(デプロイ)されるとセッター関数などを用いて変更できる変数のほかは改ざん、変更、修正、消去ができない。サービス管理者はコントラクト内部に備えた内部変数を変更するセッターとなる関数fscb3012Aを通じてコントラクトのKC値3011AやBC値3013Aの数値を変える。
コントラクトの関数は実行する権限のあるユーザー識別子や条件をプログラムすることができる。本発明では管理者のみが実行できるOTPを計算するための内部シード値(内部シークレット変数)KC値3011AやBC値3013Aと、管理者のみがKC3011AまたはBC3013Aにアクセスできる関数fscb3012Aを設定し、コントラクトの管理者のみがコントラクトのOTPをを算出するシークレットキー情報を書き換え更新することができる。関数fscb3012AはKC値3011AとBC値3013Aの双方に個別に存在してもよいし、KC値3011AとBC値3013Aを同時に書き換える関数であってもよい。
本発明ではOTPトークンの生成するパスワードのシークレット値のKC値3011AまたはBC値3013Aを更新することでユーザーに動的なパスワードOWPを提供する。そしてブロック番号Bnを用いたワンタイムパスワードBnTOTPにおいてもシード値のKC値3011Aの更新を行うことを特徴とするので関数fscbとfscbで書き換えられるシード値KC3011AやBC3013Aがコントラクトに備えられていることを特徴とする。
5. Service provider, token administrator (Owner)
A user UA who is qualified to provide the service (for example, assuming a bank account holder who has a contract for an OTP token with login authority to a website / web application that performs Internet banking) and its private key toward the terminal 1A. From 101A to the user identifier A calculated from the blockchain unit of the terminal 3A, the administrator UC generates an OTP from the terminal 1C (terminal DC) to the server P (terminal 3A) which is a node of the blockchain through the network 20 (network NT). Issue a token.
The OTP generation token is recorded on the blockchain as a smart contract. A smart contract (contract) behaves as a program that is difficult to repair and tamper with, and once the contract is deployed in the blockchain part of the blockchain system DLS such as terminals 3A and 3B, it is a variable that can be changed using a setter function or the like. Others cannot be tampered with, modified, modified or erased. The service manager changes the numerical values of the KC value 3011A and the BC value 3013A of the contract through the function fscb3012A which is a setter for changing the internal variables provided inside the contract.
Contract functions can program user identifiers and conditions that they are authorized to execute. In the present invention, an internal seed value (internal secret variable) KC value 3011A or BC value 3013A for calculating OTP that can be executed only by the administrator, and a function fscb3012A that only the administrator can access KC3011A or BC3013A are set, and the contract Only the administrator can rewrite and update the secret key information that calculates the OTP of the contract. The function fscb3012A may exist individually in both the KC value 3011A and the BC value 3013A, or may be a function that simultaneously rewrites the KC value 3011A and the BC value 3013A.
The present invention provides the user with a dynamic password OWP by updating the KC value 3011A or BC value 3013A of the secret value of the password generated by the OTP token. The one-time password BnTOTP using the block number Bn is also characterized in that the KC value 3011A of the seed value is updated, so that the seed values KC3011A and BC3013A rewritten by the functions fscb and fscb are provided in the contract. It is a feature.

トークンのコントラクト管理者はトークン発行時にトークン番号とは別にトークン固有のURIもしくは文字列情報をトークン番号をキーとしたマッピング変数などの形で設定し文字列情報をあるトークン番号のトークンに付与することもできる。URI情報からトークンを扱うソフトウェア上でOTPトークンの製造番号を一次元バーコード等の形で表示できる。
このURI情報はERC721に準拠するのもであり既知の機能である。URIもしくは文字列情報にトークンのシリアル番号やトークンに固有の画像情報のURI(画像情報のあるウェブサーバの画像ファイルのURL)等を記載することができる。
When issuing a token, the token contract administrator should set the token-specific URI or character string information in the form of a mapping variable using the token number as a key in addition to the token number, and give the character string information to the token of a certain token number. You can also. From the URI information, the serial number of the OTP token can be displayed in the form of a one-dimensional barcode or the like on the software that handles the token.
This URI information conforms to ERC721 and is a known function. The serial number of the token, the URI of the image information unique to the token (URL of the image file of the web server having the image information), and the like can be described in the URI or the character string information.

<コントラクト管理者の秘密鍵が漏洩することに備えた対策>
サービス管理者は他のユーザーと同じくブロックチェーン部へアクセスするための秘密鍵101Cを持っており、前記コントラクト管理者UCの端末1C(端末DC)に記録された秘密鍵101C(秘密鍵PRVC)が漏洩した場合、OTPトークンを管理するコントラクトが攻撃され、変更可能なコントラクト内部変数の書き換えやOTPトークンの悪意ある発行が行われかねない。そこでコントラクトの変数を書き換える際に複数の秘密鍵によってコントラクトの実行を制御する部分がコントラクトに含まれていてもよい。
コントラクトに秘密鍵101C以外の秘密鍵を用いてアクセスを制御する技術を行ってもよい。101Cのみではなくて、101Cと101Cとは違う秘密鍵を1つ以上用いてコントラクトに管理者がのみが利用できる関数へアクセスし変数の閲覧や書き換えなどを行えるするマルチシグ技術を用いてもよい。
<Countermeasures in case the private key of the contract administrator is leaked>
The service administrator has a private key 101C for accessing the blockchain unit like other users, and the private key 101C (secret key PRVC) recorded in the terminal 1C (terminal DC) of the contract administrator UC is used. If leaked, the contract that manages the OTP token may be attacked, and the variable internal variables of the contract may be rewritten or the OTP token may be issued maliciously. Therefore, when rewriting the variables of the contract, the contract may include a part that controls the execution of the contract by a plurality of private keys.
A technique for controlling access by using a private key other than the private key 101C may be used for the contract. Not only 101C but also a multi-sig technique that can access a function that can be used only by the administrator and browse or rewrite variables may be used in the contract by using one or more secret keys different from 101C and 101C.

あるいは、セキュリティ性を高めるためにOTPを管理するコントラクトの内部変数やトークン発行関数などのOTPトークンの運用にあたって重要度の高い実行する際に、関数の実行を行うには秘密鍵101Cから計算されるユーザー識別子Cと、ユーザー識別子C以外のユーザ識別子DとEとFとGを持つ秘密鍵からアクセスし設定できるコントラクト内部変数が存在し、トークン発行関数やKC値3011AやBC値3013Aの変更を行う関数を実行する際に、ユーザー識別子DとEとFとGが設定できる変数が実行できる値かどうか判断し、DとEとFとGの設定した値の内いずれか一つが関数の実行を停止させる(妨げる)変数値であった際には、トークン発行関数やKC値・BC値のセッター関数やそのほかコントラクトの状態を変えるコントラクト管理者のみが変更できる関数の実行を中断させる機能が考えられる。 Alternatively, when executing an OTP token such as an internal variable of a contract that manages OTP or a token issuing function to improve security, it is calculated from the secret key 101C to execute the function. There is a contract internal variable that can be accessed and set from the user identifier C and the private key having the user identifiers D, E, F, and G other than the user identifier C, and the token issuing function, KC value 3011A, and BC value 3013A are changed. When executing a function, determine whether the variables that can be set by the user identifiers D, E, F, and G are executable values, and one of the values set by D, E, F, and G executes the function. When it is a variable value to be stopped (prevented), a function to suspend the execution of the token issuing function, the setter function of KC value / BC value, and other functions that can be changed only by the contract administrator who changes the state of the contract can be considered. ..

前記のユーザー識別子Cと、ユーザー識別子C以外のユーザ識別子DとEとFとGを持つ秘密鍵からアクセスし設定するという概念は、既存の装置に例えると複数のダイヤル及び鍵を備え全てのダイヤルと鍵を解錠できたときにのみ開けることの出来る金庫や金庫室の考えと同じである。金庫では複数のダイヤルや金属製の鍵と錠をもち、それら複数の要素が正しく解除されないと施錠された金庫が解錠されないように、ユーザー識別子Cの秘密鍵101Cを入手してもほかのユーザーの識別子DとEとFとGの秘密鍵による複数の要素のロックを解除できないとコントラクトの内部変数を操作できない(複数の秘密鍵がそろわないと攻撃者はコントラクト変数の書き換えを行うセッター関数やトークン発行関数などの重要な操作を行う関数のロックを解除できない)。
コントラクト管理者の秘密鍵101C(101Cはユーザ識別子Cを示す)に加えて他のユーザー(監査役のユーザー識別子DやEやFやG)の持つ秘密鍵が1つ以上あり、それらすべてが個別にアクセスして設定できる真偽値を持っていて、ユーザー識別子D、E、F、Gの設定する真の値をとらなければコントラクト管理者用の関数を実行しないようにすることができる。これは図3ACにおける3008A、3008AG、3008AAにおいて、3042Aのような変数又は処理部の記憶部である。
The concept of accessing and setting from the user identifier C and the private key having the user identifiers D, E, F, and G other than the user identifier C is likened to an existing device and has a plurality of dials and keys, and all dials are provided. It is the same as the idea of a safe or vault that can be opened only when the key can be unlocked. The safe has multiple dials and metal keys and locks, and even if you obtain the private key 101C of the user identifier C, other users will not unlock the locked safe unless these multiple elements are properly unlocked. The internal variables of the contract cannot be manipulated unless the locks of multiple elements by the secret keys of the identifiers D, E, F, and G are unlocked. Unable to unlock functions that perform important operations, such as token issuance functions).
In addition to the contract administrator's private key 101C (101C indicates user identifier C), there is one or more private keys held by other users (auditor user identifiers D, E, F, and G), all of which are individual. It has a boolean value that can be set by accessing, and it is possible not to execute the function for the contract administrator unless the true value set by the user identifiers D, E, F, and G is taken. This is a storage unit of a variable or processing unit such as 3042A in 3008A, 3008AG, 3008AA in FIG. 3AC.

またユーザ識別子DとEとFとGのすべてが同意し変数を真偽値の真の値にする形ではなくて、例として11人の監査人ユーザーを設定しそれらユーザーと対応したマッピング型の真偽値変数を備え、マッピング型変数の真の数(真か偽かの投票数)を集計し、11のユーザーのうち過半数に達しない場合には管理者が操作できるコントラクトの関数の実行を停止するようプログラムできる(この場合も図3ACにおける3008A、3008AG、3008AAにおいて、3042Aのような変数又は処理部の記憶部である)。
<コントラクト管理者の秘密鍵が漏洩することに備えた簡易の対策>
具体例ではユーザーCとDとEとFとGの5つの秘密鍵を用いる例を示したが、不正アクセス時に簡易にコントラクトの操作を不可能にするために2つの異なる秘密鍵を用いてコントラクト管理者としてアクセスしてもよい。コントラクト管理者の秘密鍵101Cと、101Cが漏洩した際にOTPトークンの発行等を停止するための秘密鍵101Bを用意し、101Bのみアクセスできる関数実行停止変数とそのセッター変数を備え、関数実行停止変数が真であるときに関数を実行し、偽であるときに関数を実行しないようにする処理をOTPトークンの発行関数やコントラクト内部変数(図3ACにおける3042Aや3043Aや3024A、3030A、3031A、3011A、3013A)について設定できる。
秘密鍵漏洩が起きない条件、もしくは漏洩しても構わない場合には単一の秘密鍵101Cのみを用いてOTPトークンのコントラクトにアクセスしコントラウトの状態を変えるようにしてもよい。
しかし何らかの複数の秘密鍵を用いて、コントラクト管理者の秘密鍵が漏洩した際の対策を行うことが好ましい。
Also, instead of the form in which all of the user identifiers D, E, F, and G agree and the variable is set to the true value of the truth value, as an example, 11 auditor users are set and a mapping type corresponding to those users is set. It has a boolean variable, aggregates the true number of mapping variables (true or false votes), and executes a contract function that can be operated by the administrator if the majority of 11 users are not reached. It can be programmed to stop (again, in FIG. 3AC, in 3008A, 3008AG, 3008AA, a variable such as 3042A or a storage unit of the processing unit).
<Simple measures to prepare for the leakage of the contract administrator's private key>
In a specific example, an example using five private keys of users C, D, E, F, and G was shown, but a contract using two different secret keys is used to easily make the contract operation impossible at the time of unauthorized access. You may access it as an administrator. A secret key 101C of the contract administrator and a secret key 101B for stopping the issuance of OTP tokens when the 101C is leaked are prepared, and a function execution stop variable and its setter variable that can be accessed only by 101B are provided, and the function execution is stopped. The OTP token issuance function and contract internal variables (3042A, 3043A, 3024A, 3030A, 3031A, 3011A in FIG. 3AC) are used to execute the function when the variable is true and not to execute the function when the variable is false. , 3013A) can be set.
If the condition does not cause the leakage of the private key, or if the leakage is acceptable, the contract of the OTP token may be accessed using only a single private key 101C to change the state of the control.
However, it is preferable to use some kind of multiple private keys to take measures when the private key of the contract administrator is leaked.

6.OTPトークンに関する補足
トークンのURI情報を用い、URI情報から記号や模様を作り出すこともできる。ERC721規格に準拠した32バイトのURI情報のうち、先頭から1バイトずつ区切りその1バイトに数値を持たせそれをカードゲームの番号などに利用できるようにしている。
ウェブサイトのログインチケットとして利用する場合、ウェブサイトへログインしたのちトークンのURI情報に従ってウェブサイトが動作を変えてもよい。チケットとしてトークンを用いる場合にURIバーコードをディスプレイに表示させ印字させてもよい。またURI部分にはトークン発行時の備考情報が書かれていてもよい。URI情報はERC721規格にある文字列情報でもよいし32バイトの16進数の情報であってもよい。URIのデータ長が可変でもよい。
紙のチケットとして印刷する際に、印刷に用いるアプリケーションソフトウェアにおいて、サービス名とコントラクト識別子、ユーザー識別子、トークン番号、パスワード情報、印刷日時(必要によっては利用者名、連絡先)などの必要な情報に加え、チケットの紙面の印刷デザインの一部をトークンのURI情報に応じて変えて印刷してもよい。
6. Supplementary information on OTP tokens Using the URI information of tokens, symbols and patterns can be created from the URI information. Of the 32-byte URI information conforming to the ERC721 standard, each byte is separated from the beginning, and each byte has a numerical value so that it can be used as a card game number or the like.
When used as a login ticket for a website, the website may change its behavior according to the URI information of the token after logging in to the website. When a token is used as a ticket, a URI barcode may be displayed on the display and printed. In addition, remarks information at the time of token issuance may be written in the URI part. The URI information may be character string information in the ERC721 standard, or may be 32-byte hexadecimal number information. The data length of the URI may be variable.
When printing as a paper ticket, in the application software used for printing, necessary information such as service name and contract identifier, user identifier, token number, password information, printing date and time (user name, contact information if necessary) In addition, a part of the print design on the paper of the ticket may be changed and printed according to the URI information of the token.

<ブロック番号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は例えばSHA−2の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バイト(整数では最大2の256乗の数であり総当たり攻撃が困難と想定される)のOTP生成関数とそれに対応するOTP認証関数を用いて認証を行うこともできる。
<Generation and recall of one-time password based on time using block number Bn>
The basic operation of one-time password generation and authentication in the present invention will be described. An authentication method using BnTOTP in the system shown in FIG. 1 will be described.
A user terminal 1A, a server terminal 3A, and a network 20 are used to generate an OTP and authenticate it. In the user terminal 1A, the secret key 101A, the URI on the network 20 of the server terminal 3A as the node of the specified blockchain, the contract identifier 3019A of the OTP token that generates the specified OTP, and the secret key 101A to the blockchain unit. 1A is the OTP generation function 3009A shown in FIGS. 3AA, 3AB, and 3AC, in which the user identifier A calculated by the process and the specified token number TIDA assigned to the user identifier A in the specified contract identifier 3019A are used as arguments. Through the blockchain access program, the blockchain portion of the server 3A is accessed through the network 20 and a function call is made. The terminal 1A accesses the blockchain portion of the terminal 3A and performs processing according to the program of the OTP generation function 3009A of the contract recorded in the blockchain portion.
When the block number Bn is used to generate the OTP in the embodiment of FIG. 1, the OTP generation function 3009A shown in FIGS. 3AA, 3AB, and 3AC follows the F100 to F105 of the flow chart shown in FIG. , Bn, and A are used as the arguments of the hash function fh, and then the arguments are passed to the hash function to generate the hash value BnTOTP with BnTOTP = fh (A, TIDA, KC, Bn), and the OTP authentication function 3009A. Alternatively, 3009A transmits BnTOTP to the terminal 1A as the return value of the function 3009A. If the argument input by the terminal 1A or the user calling the function does not match the condition of F101, the execution of the OTP generation function is stopped. The hash function fh is, for example, SHA256 of SHA-2.
Flowchart processing F100 receives two arguments, the user identifier A and the token number TIDA, by inputting the arguments of the OTP generation function 3009A. It should be noted that a plurality of arguments such as the third and fourth may be taken depending on the intended use.
If the BnTOTP generated by F104 is not used as the return value, the BnTOTP is converted into an unsigned integer as shown in F107, and the n-digit password is divided by 10 to the nth power. It can be transmitted as BnTOTP-n, or it can be the return value of the OTP generation function 3009A as an OTP of a 7-digit integer value with n as 7, but in that case, the same calculation is performed with the OTP authentication functions 3018A and 3018DA, and the OTP is performed. It is necessary to program the OTP authentication function to perform the verification of.
In the embodiment, the same contract is provided with an OTP generation function that generates a 32-byte OTP that uses the processing of F100 to F105 and an OTP generation function that generates an OTP of an n-digit unsigned integer that uses the processing from F100 to F107. It is possible to create a contract for an OTP token that generates OTP, and usually authenticates with an n-digit (at least the number of digits is good) OTP generation function and the corresponding OTP authentication function. Authentication can also be performed using an OTP generation function of 32 bytes, which is larger than the quantity (a maximum number of 2 to the 256th power of an integer, and it is assumed that a brute force attack is difficult) and a corresponding OTP authentication function.

本発明の実施形態ではブロックチェーン基盤にイーサリアムを用い、ハッシュ関数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トークンの保有者であるかを判定する処理が必要である。
F100ではTIDAのみを入力して処理を行うこともできるが、実際にはF101にて関数実行者のユーザー識別子(関数の実行者、メッセージ送信者msg.senderのユーザー識別子)を関数実行処理時にmsg.senderのユーザー識別子をAとしてOTP生成関数に入力するので、Aを引数として利用しているとみなし、F101に記載した。
(注)OTPトークンの生成の条件文F101ではOTPトークンの保有者かどうかを判定するが、この部分をあるユーザー識別子のOTPトークンの保有数とし保有数が1つ以上のOTPトークンの数量を持つときトークン番号を引数としてOTPを生成するということも可能であるが、この場合も関数実行者のトークンの保有数を調べる際にmsg.senderというユーザー識別子を用いそのユーザー識別子(実行者がユーザー識別子Aならばmsg.sender=A)のトークンのバランス(残数)を調べるので関数実行にはユーザー識別子を用いていると見てもよいかもしれない。あくまでここに記述することは実施例である。
In the embodiment of the present invention, Ethereum is used as the blockchain substrate, the SHA256 function that outputs a return value with a hash value of 32 bytes is used as the hash function fh, and the option of F104 is not provided in the processing program of the OTP generation function, and BnTOTP is used. An OTP generation function that calculates a 32-byte OTP with = fh (A, TIDA, KC, Bn) (in FIG. 6A, a function that operates via the flow chart in the order of F100, F101, F102, F103, F104, F105, or the figure. A function that operates in 6B via a flow chart in the order of F100, F108, F101, F102, F103, F104, F105.)
An OTP generation function (F100, F101, F102, F103, F104, F107 in FIG. 6A) that converts the BnTOTP into an unsigned integer and calculates the OTP of a 7-digit number that is a remainder divided by 10 to the 7th power. A function that operates via F100, F108, F101, F102, F103, F104, and F107 in the order of F100, F108, F101, F102, F103, F104, and F107.) It was carried out in.
Here, the difference between FIGS. 6A and 6B is necessary for recording or increasing the number of executions of the function 3009A for the variables 3017A and 3017AG that store the number of times the execution of the OTP generation function 3009A is recorded, or for executing the function 3009A. Whether or not there is a change process F108 such as an increase / decrease in the numerical balance.
In F101, the user identifier of the function executor (function executor, message sender, user identifier of msg.sender) that executes the OTP generation function 3009A of the OTP token from the input argument is associated with the OTP token of the token number TIDA. It is determined whether or not it matches the identifier of the user who owns it (here, the user identifier A). Without this process F101, a user who does not have the OTP token can execute the OTP function. Therefore, when the message sender executes 3009A, the process of determining whether the message sender is the holder of the OTP token. is required.
In F100, it is possible to input only TIDA and perform processing, but in reality, in F101, the user identifier of the function executor (user identifier of function executor, message sender msg.sender) is msg at the time of function execution processing. .. Since the user identifier of the sender is input to the OTP generation function as A, it is considered that A is used as an argument and described in F101.
(Note) In the conditional statement F101 for generating OTP tokens, it is determined whether or not the holder is an OTP token, but this part is regarded as the number of OTP tokens held by a certain user identifier, and the number of possessed OTP tokens is one or more. It is also possible to generate an OTP with the token number as an argument, but in this case as well, when checking the number of tokens held by the function executor, msg. Since the token balance (remaining number) of the user identifier (msg. Sender = A if the executor is the user identifier A) is checked using the user identifier called sender, it may be considered that the user identifier is used for function execution. Maybe. The description here is just an example.

ハッシュ関数fhは実施例ではSHA−2のSHA256やSHA−3であり、他にMD5やRIPEMD,SHA−1、SHA−2、SHA−3が利用できる。fhは暗号学的ハッシュ関数であればよい。例えば、fhがSHA256のとき、BnTOTP=SHA256(A,TIDA,KC,Bn)である。実施例では引数の順に変数をエンコードし結合しそのデータのハッシュ値をSHA256関数などで求めている。
具体例としてSHA256( EncodePacked(A,TIDA,KC,Bn) )のような処理である。ここで関数EncodePacked(W.X.Y,Z)は変数W,X,Y,Zの順に包み込んで(梱包して)エンコードしメッセージMesを出力する関数もしくはライブラリや処理方法である。
EncodePacked 関数により引数を梱包する順番が変わればデータが変わり内部のメッセージMesが変わり、SHA256(Mes)の引数値が変わるのでそこから計算されるハッシュ値も変化する。たとえば、SHA256( EncodePacked(A,TIDA,KC,Bn) )と、SHA256( EncodePacked(TIDA,A,KC,Bn) )は異なるハッシュ値BnTOTPを生成する。
In the embodiment, the hash function fh is SHA256 or SHA-3 of SHA-2, and MD5, RIPEMD, SHA-1, SHA-2, or SHA-3 can be used. fh may be a cryptographic hash function. For example, when fh is SHA256, BnTOTP = SHA256 (A, TIDA, KC, Bn). In the embodiment, the variables are encoded and combined in the order of the arguments, and the hash value of the data is obtained by the SHA256 function or the like.
As a specific example, it is a process such as SHA256 (EncodePacked (A, TIDA, KC, Bn)). Here, the function CodePacked (W.XY, Z) is a function, a library, or a processing method that wraps (packs) the variables W, X, Y, and Z in this order, encodes them, and outputs a message Mes.
If the order in which the arguments are packed is changed by the CodePacked function, the data changes, the internal message Mes changes, and the argument value of SHA256 (Mes) changes, so the hash value calculated from that also changes. For example, SHA256 (EncodePacked (A, TIDA, KC, Bn)) and SHA256 (EncodePacked (TIDA, A, KC, Bn)) generate different hash values BnTOTP.

ここに述べる実施例では引数にTIDA、KC、Bn、Aの4つを基にしていることを特徴としている。TIDA、KC、Bn、Aに基づいてそれぞれハッシュ値などを行い加工された4つの変数がOTP生成関数内部で加工された後にハッシュ関数fhの引数として利用されてもよい。すなわちOTPを計算する関数の引数は例としてTIDA、KC、Bn、Aの場合には前記4つに由来していればよい。
TIDAやAは個人情報につながる恐れがあり、それらを使うことをサービス提供者とユーザーの間で合意していればA、TIDAを利用できるが、そうでない場合、もしくは法令によって個人情報の取り扱いを厳重にすべき場合はAとTIDAを匿名化してOTPの認証関数の引数として利用する必要が生じるかもしれない。(A、TIDAはイーサリアムではEOAやトークンナンバーとして直接利用することが必要であり、現状のイーサリアムを基盤に用いたブロックチェーンではその要求に答えられない恐れがある。)
またブロックチェーン基盤もOTPの購入や発行などといった際にブロックチェーンに送信されるトランザクションが一部の人以外からは分からない等の形で秘匿されていることが個人情報保護の観点から好ましい。イーサリアムではユーザ識別子やあるコントラクト識別子のトークン番号は世界中から閲覧可能であり、その識別子とユーザーの個人情報を結びつけることでどのユーザーがどのOTPトークンのサービスの利用者か推測されかねない点がある。ユーザー識別子Aやトークン番号TIDAおよび前記OTPトークンのコントラクト識別子はサーバ端末3Fで検索できる。
既知の例では端末3Fに相当するサービスはイーサスキャン(Etherscan)などのブロックチェーン検索サービスおよびそれを行うブロックチェーン検索用サーバ端末として提供される。端末3Fではプライバシーの保護などで検索に制限をかける機能を搭載してもよい。たとえばユーザー識別子Aが3Fにアクセスし検索する場合はAに関連するコントラクト識別子やトランザクション情報を表示できるようにし、また公開を許可したトランザクションやコントラクト識別子の情報を閲覧できるようにするなどである。
本発明をイーサリアムといったすべてのトランザクションが公開されたパブリックネットワークのブロックチェーンシステムで行う場合は、サービス提供者はユーザー識別子のユーザーの本人確認をする際はユーザー識別子AとユーザーUAといった対応関係の記録を外部に漏洩しないように情報を管理することがサービス提供者やOTPトークンの発行者に求められるかもしれない。
顧客情報とサービスはサービス提供者が持ち、OTPトークンの発行はOTPトークンの管理団体が行い、サービス提供者とユーザーのみがOTPトークンのトークン番号とユーザーの個人情報の対応関係をしているようにして両者が情報を開示しないことで個人情報を保護できるかもしれない。
The embodiment described here is characterized in that it is based on four arguments, TIDA, KC, Bn, and A. Four variables processed by performing hash values and the like based on TIDA, KC, Bn, and A may be used as arguments of the hash function fh after being processed inside the OTP generation function. That is, the arguments of the function for calculating OTP may be derived from the above four in the case of TIDA, KC, Bn, and A as an example.
TIDA and A may lead to personal information, and if the service provider and the user agree to use them, A and TIDA can be used, but if not, or by law, the handling of personal information will be handled. If it should be strict, it may be necessary to anonymize A and TIDA and use them as arguments of the OTP authentication function. (A and TIDA need to be used directly as EOA and token numbers in Ethereum, and there is a risk that the current blockchain based on Ethereum will not be able to meet that request.)
Also, from the viewpoint of personal information protection, it is preferable that the blockchain platform is also concealed in such a way that transactions transmitted to the blockchain when purchasing or issuing an OTP are hidden only by some people. In Ethereum, the token number of a user identifier or a certain contract identifier can be viewed from all over the world, and by linking that identifier with the user's personal information, it may be possible to guess which user is the user of which OTP token service. .. The user identifier A, the token number TIDA, and the contract identifier of the OTP token can be searched on the server terminal 3F.
In a known example, the service corresponding to the terminal 3F is provided as a blockchain search service such as Etherscan and a blockchain search server terminal that performs the blockchain search service. The terminal 3F may be equipped with a function for restricting searches for privacy protection. For example, when the user identifier A accesses and searches on the 3rd floor, the contract identifier and transaction information related to A can be displayed, and the information of the transaction and the contract identifier that are permitted to be disclosed can be viewed.
When the present invention is performed in a public network blockchain system such as Ethereum where all transactions are open to the public, the service provider records the correspondence between the user identifier A and the user UA when confirming the identity of the user of the user identifier. Service providers and OTP token issuers may be required to manage information so that it is not leaked to the outside world.
Customer information and services are owned by the service provider, OTP tokens are issued by the OTP token management organization, and only the service provider and the user have a correspondence relationship between the OTP token token number and the user's personal information. It may be possible to protect personal information by not disclosing the information.

<OTP生成用端末とOTP認証用端末の分離>
本発明ではOTP生成用端末とOTP認証用端末を同じ端末1Aで行うこともできる。またOTP生成用端末とOTP認証用端末に分けて利用することができる。すなわちOTPを生成し表示できる出力装置を持つ通信可能なハードウェア型OTP生成用携帯端末1Aとウェブサイトログイン用のOTP入力装置を備えるログイン認証用端末4Aといった利用形態もできる。
OTP生成を行う端末1Aおよび端末1AにOTPトークンによるOTPを生成させるブロックチェーン部を持つ3Aと、ウェブサイトなどのサービスを扱う端末3Cにアクセスできる端末4Aがあり、端末1Aと端末3Aと端末3Cと端末4Aがネットワーク20に接続されており、1AがOTP生成関数を実行しOTPを生成し端末1Aの出力装置15Aに出力した後、ユーザーUAはそれを目視してヒトの手で端末4Aの入力装置に入力し端末4Aは入力されたOTPを用いてOTP認証を行いその結果を端末3Cと通信しやり取りし、認証結果に応じて端末4Aをログインさせサービスを提供させることができる。
<Separation of OTP generation terminal and OTP authentication terminal>
In the present invention, the OTP generation terminal and the OTP authentication terminal can be performed on the same terminal 1A. Further, it can be used separately for the OTP generation terminal and the OTP authentication terminal. That is, it can be used as a communicationable hardware type OTP generation mobile terminal 1A having an output device capable of generating and displaying an OTP, and a login authentication terminal 4A equipped with an OTP input device for website login.
There are a terminal 1A that generates OTP, a terminal 4A that has a blockchain unit that causes the terminal 1A to generate an OTP by an OTP token, and a terminal 4A that can access a terminal 3C that handles services such as a website. And the terminal 4A are connected to the network 20, and after 1A executes the OTP generation function to generate the OTP and output it to the output device 15A of the terminal 1A, the user UA visually observes the OTP generation function of the terminal 4A. The terminal 4A can input to the input device, perform OTP authentication using the input OTP, communicate and exchange the result with the terminal 3C, and log the terminal 4A according to the authentication result to provide the service.

<ブロック番号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に返す。また認証できた時の処理を行うこともできる。
一致しない場合には認証できないときの戻り値を端末1Aに返し認証できなかった時の処理を行う。ここで前記BnTOTPでは実施例で32バイトのOTPが生成されるが、BnTOTPをを入力n桁数字のパスワードBnTOTP−nとして読み替えて、n=7の7桁の整数パスワードとしたとしたときも同様である。図6Cから図6Hに認証関数3018Aの処理に関するフローチャートを示す。
端末の代表的な接続図は図1Aや図1Bである。
<Time-based one-time password authentication and authentication result recall using block number Bn>
The operation of the OTP authentication function 3018A that verifies and authenticates the OTP shown in FIGS. 3AA, 3AB, and 3AC is similar to that of the OTP generation function 3009A. VeriBnTOTP = fh (A, TIDA, KC, Bn) is obtained by using TIDA, A, which is input to the argument of the one-time password authentication function when the user accesses the server 3A, and the IF statement among the input ArgBnTOTP. It is determined whether ArgBnTOTP matches VeriBnTOTP by the conditional expression according to the above, and if it matches, the return value at the time of OTP authentication is returned to the terminal 1A. It is also possible to perform processing when authentication is possible.
If they do not match, the return value when authentication cannot be performed is returned to the terminal 1A, and processing is performed when authentication cannot be performed. Here, in the BnTOTP, a 32-byte OTP is generated in the embodiment, but the same applies when BnTOTP is read as a password BnTOTP-n of an input n-digit number and a 7-digit integer password of n = 7. Is. 6C to 6H show a flowchart regarding the processing of the authentication function 3018A.
Typical connection diagrams of terminals are shown in FIGS. 1A and 1B.

図6Cから図6Hに示す認証関数3018Aのフローチャートついて説明する。フローチャートの処理F110ではOTP認証関数3018Aの引数入力にてユーザー識別子A、トークン番号TIDA、パスワードArgOTPの3つの引数を受け取る。なおOTP認証関数は用途に応じて第4や第5など複数の引数をとっても良い。 The flowchart of the authentication function 3018A shown in FIGS. 6C to 6H will be described. Flowchart processing F110 receives three arguments of user identifier A, token number TIDA, and password ArgOTP by inputting arguments of OTP authentication function 3018A. The OTP authentication function may take a plurality of arguments such as the fourth and fifth depending on the intended use.

図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において利用できる。
FIG. 6F is one of the examples of the authentication function 3018A, and is a basic processing example. Authentication using the process shown in FIG. 6F can be used for terminal 3C, terminal 3D, and decryption of encrypted data. F110 receives the user identifier A and the token number TIDA as the arguments of the authentication function, and F113 calculates VeriOTP from the arguments. At this time, the block number Bn and the secret variable KC value are used. VeriOTP = fh (A, TIDA, KC, Bn) is calculated, and it is compared whether ArgOTP, which is the OTP of the argument input by F114, and VeriOTP match. If they match, it is determined that authentication has been completed, and F116 processing is performed. If they do not match, F118 processing is performed. Examples of connection of terminals using FIG. 6F are FIGS. 8A, 8B, 8C, and 8D.
The form of the OTP authentication function shown in FIG. 6F can be used in the terminal 3C and the terminal 3D.

図6Dは図6Fの処理に用いる真偽値や整数などの変数3017Aや3017AAや3017DAに対し、OTP認証関数3018Aの実行後の真偽値もしくは整数値などの書き換えを行う処理F115を追加したものである。3017Aや3017AAや3017DAは真偽値、整数、文字列などのデータである。3017Aや3017AAや3017DAはトークン番号をキーとして真偽値型、符号なし整数型、文字列型などのデータ型を持つマッピング変数である。マッピング変数は一つの例であって、トークン番号をキーとして結びつけられたデータを記録できれば良い。図6Dを用いる端末の接続例は図8A、図8B、図8C、図8Dである。 FIG. 6D shows variables 3017A, 3017AA, and 3017DA such as the true / false value and the integer used for the processing of FIG. 6F, to which the processing F115 for rewriting the true / false value or the integer value after the execution of the OTP authentication function 3018A is added. Is. 3017A, 3017AA, and 3017DA are data such as a false value, an integer, and a character string. 3017A, 3017AA, and 3017DA are mapping variables having a data type such as a true / false value type, an unsigned integer type, and a character string type using the token number as a key. The mapping variable is an example, and it is sufficient if the data associated with the token number as a key can be recorded. Examples of connection of terminals using FIG. 6D are FIGS. 8A, 8B, 8C, and 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に接続できる用途において利用できる。 FIG. 6C is a processing example assuming that it is used for decrypting encrypted data or logging in to a website. FIG. 6C shows the processing of FIG. 6D with the processing of F111 added. In F111, the executor of the authentication function 3018A determines whether it is the user identifier A, and if it is different, interrupts the process as shown in F117. If the executor of the authentication function 3018A in F111 is the user identifier A, the processing of the authentication function of F112 is continued, and if the input OTP = ArgOTP has no problem, F113, F114, F115, F116, and F116 are displayed. Processing is done. If ArgOTP does not match VeriOTP at F114, the process is interrupted as indicated by F118. FIG. 6E is a flowchart in which the process F115 of FIG. 6C is removed. Examples of connection of terminals using FIGS. 6E and 6C are FIGS. 8A, 8C, and 8D, and FIG. 8B can be used in applications where the terminal 3D can connect to the network 20 and can connect to the terminal 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は利用形態の例である。
Since the processing method shown in FIGS. 6C and 6E uses the owner information 3014A in the contract regarding the OTP token of 3A, if the terminal on the blockchain such as 3A and 3D are connected and the information of 3014A is not synchronized and shared, FIG. 6C And the authentication method shown in FIG. 6E cannot be used in the 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 blockchain recording unit and control unit as the terminal 3A, FIGS. 6C and 6C also in 3D. The processes of 6E, 6G and 6H are available.
The terminal 3D is a container such as a safe or a car, and the communication device is restricted due to the limitation of the power supply device such as the battery provided in the terminal and the environment where the mobile body on which the terminal is mounted is out of reach of radio waves. If the connection cannot be made, it is difficult to perform the processes of FIGS. 6C, 6E, 6G, and 6H.
6C and 6E, 6G and 6H may or may not be used depending on the intended use of the terminal 3D. 6C, 6E, 6G, and 6H are examples of usage patterns.

図6Cと図6Eは認証関数3018Aの実行者(msg.sender)がユーザー識別子Aであるかを判定する処理F111をもつ。この処理を持つことで、ウェブサイトへのログイン処理時にユーザーがもつ秘密鍵101Aによって計算されるユーザー識別子Aがメッセージを送信し実行しているかを判定し、秘密鍵を持たない認証関数の実行者による関数実行を中断させる。図6Cと図6Eの違いは認証ができた際の3017Aや3017AAや3017DAを変更する処理F115の有無である。図6CにはF115が有り図6EにはF115が無い。 6C and 6E have a process F111 for determining whether the executor (msg.sender) of the authentication function 3018A is the user identifier A. By having this process, it is determined whether the user identifier A calculated by the user's private key 101A at the time of login process to the website sends and executes the message, and the executor of the authentication function having no private key. Suspends function execution by. The difference between FIGS. 6C and 6E is the presence or absence of the process F115 that changes 3017A, 3017AA, and 3017DA when authentication is possible. FIG. 6C has F115 and FIG. 6E does not have 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が無い。 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 the same as the process F101 described in the flowcharts of FIGS. 6A and 6B at the time of the OTP generation function. When a message is sent to the terminal 3A, which is a node of the blockchain, by the private key 101A possessed by the user during the login process to the website by the process F119, it is determined by the F119 whether the user holds the OTP token of the token number TIDA. , Suspends the execution of the authentication function by the executor who does not have the OTP token. The difference between FIGS. 6G and 6H is the presence or absence of the process F115 that changes 3017A, 3017AA, and 3017DA when authentication is possible. FIG. 6G has F115 and FIG. 6H does not have F115.

<コントラクトから他のコントラクトの関数の呼び出し>
本発明で用いるコントラクトはあるブロック番号において記録された一つのスマートコントラクトのみで完結していてもいいし、同一ブロック番号に記録された他のコントラクト識別子のスマートコントラクトや他のブロック番号に記録された他のコントラクト識別子のスマートコントラクトに処理内容が分けて記述されていてもよい。例えばコントラクトXからコントラクトYの関数等を呼び出して利用してもよい。
例えば図6FのF116において図3ABの3022Aや3023Aの処理を行うためにOTPトークンの認証コントラクト3008AAとは違うコントラクト識別子をもつコントラクトXにアクセスし前記コントラクトXの関数Yを実行させたあと認証関数3018Aの戻り値3021Aを端末1Aに出力してもよい。
もしくは他の例としてOTP生成や認証を行うコントラクトXのハッシュ関数fh等の関数をほかのコントラクトYに定義してライブラリの様に選択して呼び出せるようにしてもよい。
暗号学的ハッシュ関数fhが計算機端末の性能の向上によって単一のハッシュ値に対し複数のメッセージデータが計算され、ハッシュ値の衝突を起こせるようになる事態に備え、より強度の高いハッシュ関数fhとOTPの計算に用いることができるようコントラクトYのハッシュ関数fhを更新し、コントラクトXはコントラクトYのfhを利用できてもよい。
<Calling a function of another contract from a contract>
The contract used in the present invention may be completed by only one smart contract recorded at a certain block number, or recorded at another contract identifier smart contract or another block number recorded at the same block number. The processing content may be described separately in the smart contract of another contract identifier. For example, a function of contract Y may be called from contract X and used.
For example, in F116 of FIG. 6F, in order to process 3022A and 3023A of FIG. 3AB, the authentication function 3018A is accessed after accessing the contract X having a contract identifier different from the authentication contract of OTP token 3008AA and executing the function Y of the contract X. The return value 3021A of may be output to the terminal 1A.
Alternatively, as another example, a function such as the hash function fh of the contract X that generates or authenticates the OTP may be defined in another contract Y so that it can be selected and called like a library.
Cryptographic hash function fh has a stronger hash function fh in preparation for the situation where multiple message data are calculated for a single hash value due to the improvement of the performance of the computer terminal and hash value collision can occur. The hash function fh of the contract Y may be updated so that it can be used for the calculation of the OTP, and the fh of the contract Y may be used for the contract X.

<認証結果呼び出しを用いたサービスの提供>
OTP認証関数を呼び出してOTPやAやTIDAを入力し、その結果得られた認証結果の戻り値CTAU3021Aを用いてサービスの提供を行う。
ここでは4A.ウェブサイトのログイン用途、4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用、4C.暗号化データおよびファイルの復号と閲覧、4T.放送での利用(1対不k数の放送による暗号化データの流通)について順に説明する。
<Provision of services using authentication result call>
The OTP authentication function is called, OTP, A, and TIDA are input, and the service is provided using the return value CTAU3021A of the authentication result obtained as a result.
Here, 4A. Website login usage, 4B. Use as paper or IC-type admission ticket, ticket, unlocking key to entrance and building equipment, 4C. Decryption and viewing of encrypted data and files, 4T. The use in broadcasting (distribution of encrypted data by broadcasting one-to-one number) will be described in order.

<4A.ウェブサイトのログイン用途>
ウェブサイトなどのログインにはブロックチェーンのある時刻において変更されうる変数TBのうち、ブロック番号Bnを基にしたTOTP型ワンタイムパスワードトークンを用いる。TBにブロックチェーン上の最新のタイムスタンプ3002Aがある場合にはそれをTBとして用いることもできる。
<4A. Website login usage >
A TOTP type one-time password token based on the block number Bn is used for logging in to a website or the like, among the variables TB that can be changed at a certain time in the blockchain. If the TB has the latest time stamp 3002A on the blockchain, it can also be used as the TB.

TBにはブロックハッシュBh(3003A)を用いることもできるが、ブロックハッシュを用いる場合、イーサリアムとそのスマートコントラクトのプログラミング言語Solidityでは最新のブロック番号から数えて256番目までのブロック番号のブロックハッシュ値を呼び出すことができるが、その際にはブロック番号Bnを引数に計算していると考えられる。Bnを引数にBhを計算していると考えたとき、ブロックハッシュBhを用いる方法もブロック番号Bnを用いる方法と変わりない。
Solidity言語で式として表現するとBnTOTP=(A,TIDA,KC,Bh)、Bh=Blockhash(Bn) であるのでBnTOTP=(A,TIDA,KC,Bh=Blockhash(Bn))であり、ブロックハッシュBhを用いるときもブロック番号Bnを用いているため、 BnTOTP=(A,TIDA,KC,Bh)とBnTOTP=(A,TIDA,KC,Bn)は引数の観点では類似した計算方法であるといえる。前記のようにブロックハッシュ値Bhを用いる方法もブロック番号Bnを用いる方法の異なる形態であると本発明では考える。
ブロックハッシュをTBとして用いることも出来うる。ただしブロックハッシュはノードを構成する端末の管理者により操作されうるので注意が必要である。またあるブロック番号Bnのブロックデータのハッシュ値であって時刻に対し動的ではあるが時刻を表現する値ではない。
Block hash Bh (3003A) can be used for TB, but when block hash is used, the block hash value of the block number up to the 256th from the latest block number is used in Ethereum and its smart contract programming language Solidity. It can be called, but at that time, it is considered that the block number Bn is used as an argument for calculation. When it is considered that Bh is calculated with Bn as an argument, the method using the block hash Bh is the same as the method using the block number Bn.
When expressed as an expression in the Solidity language, BnTOTP = (A, TIDA, KC, Bh), Bh = Blockhash (Bn), so BnTOTP = (A, TIDA, KC, Bh = Blockhash (Bn)), and block hash Bh. Since the block number Bn is also used when using, it can be said that BnTOTP = (A, TIDA, KC, Bh) and BnTOTP = (A, TIDA, KC, Bn) are similar calculation methods from the viewpoint of arguments. In the present invention, it is considered that the method using the block hash value Bh as described above is also a different form of the method using the block number Bn.
The block hash can also be used as TB. However, note that the block hash can be operated by the administrator of the terminal that configures the node. Further, it is a hash value of block data of a certain block number Bn, which is dynamic with respect to the time but is not a value expressing the time.

ブロックハッシュBhをTOTPのブロック番号に用いる場合はイーサリアムといったブロックチェーンの基盤や、ブロックハッシュを異なるサーバ端末やブロックチェーンに記録し、そのブロックハッシュ値をTOTPを計算するコントラクトから参照できるようにする必要があるかもしれない。またブロックハッシュは例としてイーサリアムでは15秒毎に代わる値であり、ブロック番号ではなくブロックハッシュを用いる場合はOTPを生成し認証する時間間隔を延長したい場合の計算が複雑になる。
ブロックハッシュBhではなくブロック番号Bnであれば、Bnを基に表示する間隔を増やす変数nを用い、Bn mod n として、Bnのnで割った余りmを求め、Bnからmを減算しBnrとして(Bn−m=Bnrとして)、Bnの代わりにBnrをOTPを算出するハッシュ関数の引数に利用し、OTPの生成と認証を行える時間を15秒、30秒、45秒、60秒とnの数を増大させることで延長でき、本発明では演算の簡単さからブロック番号Bnを好ましく用いた。
When block hash Bh is used for the block number of TOTP, it is necessary to record the block hash on a different server terminal or blockchain and refer to the block hash value from the contract that calculates TOTP. There may be. Further, the block hash is a value that changes every 15 seconds in Ethereum as an example, and when the block hash is used instead of the block number, the calculation when it is desired to extend the time interval for generating and authenticating the OTP becomes complicated.
If the block number is Bn instead of the block hash Bh, the variable n that increases the display interval based on Bn is used, the remainder m divided by n of Bn is obtained as the Bn mod n, and m is subtracted from Bn to obtain Bnr. (As Bn-m = Bnr), instead of Bn, Bnr is used as an argument of the hash function that calculates OTP, and the time that OTP can be generated and authenticated is 15 seconds, 30 seconds, 45 seconds, 60 seconds and n. It can be extended by increasing the number, and in the present invention, the block number Bn is preferably used because of the simplicity of calculation.

ブロックハッシュBhにおいてもBhはBnを引数として用いて過去のブロックハッシュBhを求めることができるが、その計算ではBnが必要になりうることは先に述べたとおりである。ブロックハッシュ値Bhそのものはあるブロック番号Bnのデータに対応するハッシュ値であって、ブロック番号は時間によりその数値が増えていく変数であり、ブロック番号Bnの増加は時間の経過を表せるが、ブロックハッシュ値の変化・増加が起きてもそのハッシュ値がいつの時間のデータであったかを示すことが出来ない。
本発明ではBnを使ったほうが良い場合とBhを使ってもよい場合があるかもしれない。OTP生成関数とOTP認証関数の計算で用いるシード値がすべて記録されていれば生成関数で取得したOTPを認証関数で認証する余地がある。
Bnは時刻データに比例するためサービスに時刻の要素を必要とするもの、例えばタイムスタンプ的な要素を用いる場合には好ましく利用される。一方Bnに加え、もしくはBhを用いてよりランダムさを増したOTPを生成しウェブサイトのログインなどで利用したい場合はBhを利用することも好ましい。
OTPトークンを擬似乱数生成器として用いる場合は後述するDLSのノード端末間の投票で決まる値Vと共にBhをOTP計算のシード値に利用することでよりランダムさを持たせることもできる。
In the block hash Bh as well, Bh can obtain the past block hash Bh using Bn as an argument, but as described above, Bn may be required in the calculation. The block hash value Bh itself is a hash value corresponding to the data of a certain block number Bn, the block number is a variable whose numerical value increases with time, and the increase of the block number Bn can indicate the passage of time, but the block Even if the hash value changes or increases, it is not possible to indicate when the hash value was the data.
In the present invention, there may be cases where it is better to use Bn and cases where Bh may be used. If all the seed values used in the calculation of the OTP generation function and the OTP authentication function are recorded, there is room to authenticate the OTP acquired by the generation function with the authentication function.
Since Bn is proportional to the time data, it is preferably used when a time element is required for the service, for example, when a time stamp-like element is used. On the other hand, it is also preferable to use Bh when it is desired to generate an OTP with more randomness in addition to Bn or by using Bh and use it for login of a website or the like.
When the OTP token is used as a pseudo-random number generator, it is possible to give more randomness by using Bh as the seed value of the OTP calculation together with the value V determined by the voting between the node terminals of the DLS described later.

Bhをタイムスタンプに用いるときはBhとブロックデータとブロック番号のデータベースがサービスを提供する端末になければ、どの時刻のブロックハッシュBhか分からない。またブロックハッシュ値が衝突する頻度は限りなく低いと考えられるが、あるブロックハッシュ値Bhについて2つ以上のブロック番号があるとき場合、生成されたBnTOTPがどちらのブロック番号の時刻のデータであったかが分からなくなる。ブロックハッシュ値を算出するブロックチェーンの基盤が利用するハッシュ関数がハッシュ値の衝突を起こしやすいものである場合はこの問題が生じかねないという点もある。 When Bh is used as a time stamp, the block hash Bh at which time cannot be known unless the database of Bh, block data, and block number is in the terminal that provides the service. In addition, it is considered that the frequency of collision of block hash values is extremely low, but when there are two or more block numbers for a certain block hash value Bh, which block number the generated BnTOTP was the time data of which block number? I don't understand. There is also a point that this problem may occur if the hash function used by the base of the blockchain that calculates the block hash value is prone to hash value collision.

サーバ端末3Cを利用し、図3ABにあるようにOTP生成関数をもつコントラクト3008AGとOTP認証関数を持つコントラクト3008AAを用いてBnTOTPをOTPとして用いるウェブサイトのログインを例を示す。OTP生成関数を含むトークンのコントラクト識別子CPGT3019Aと、OTP認証関数を含むコントラクト識別子CPAT3020Aを用いてブロックチェーンにアクセスし、CPGT3019Aから取得したBnTOTPを用いて認証関数を含むコントラクトCPAT3020Aにて認証し、認証関数戻り値をウェブサイトのログインや操作に利用する場合に、サーバ端末3C(SVLogin)を用いてログイン処理を行う。
ここでBnTOTP=(A,TIDA,KC,Bn)でもよいし、前期BnTOTPの引数に投票で決まる値Vや、コントラクト管理者が変更できる値BCを加えたBnTOTP=fh(A,TIDA,KC,Bn,BC,V)でもよいし、またはブロックサイズBSZを加えたBnTOTP=fh(A,TIDA,KC,Bn,BSZ)でもよい。ネットワーク20を介して図8Aの様に端末1A、1C、3A、3Cが接続されているとき、ブロックチェーンのノード3Aやノード3B等ノード群の間で決定される値VやブロックサイズBSZは疑似的なランダム要素として用いることができる。またブロックハッシュ値Bhなども用いることができ、例えば本発明の実施例で用いるBnTOTPの式はBnTOTP=fh(A,TIDA,KC,Bn,BC,V,Bh)である。
BSZはVに応じて変わるときはV=BSZとみなしBnTOTP=fh(A,TIDA,KC,Bn,BC,BSZ,Bh)である。
An example of logging in to a website using BnTOTP as an OTP using a server terminal 3C and using a contract 3008AG having an OTP generation function and a contract 3008AA having an OTP authentication function as shown in FIG. 3AB is shown. Access the blockchain using the contract identifier CPGT3019A of the token including the OTP generation function and the contract identifier CPAT3020A including the OTP authentication function, and authenticate with the contract CPAT3020A including the authentication function using the BnTOTP obtained from the CPGT3019A, and perform the authentication function. When the return value is used for login or operation of the website, the login process is performed using the server terminal 3C (SVLogin).
Here, BnTOTP = (A, TIDA, KC, Bn) may be used, or BnTOTP = fh (A, TIDA, KC,) in which the value V determined by voting and the value BC that can be changed by the contract administrator are added to the argument of the previous term BnTOTP. It may be Bn, BC, V), or BnTOTP = fh (A, TIDA, KC, Bn, BSZ) with the block size BSZ added. When terminals 1A, 1C, 3A, and 3C are connected via the network 20 as shown in FIG. 8, the value V and the block size BSZ determined between the node groups such as node 3A and node 3B of the blockchain are pseudo. Can be used as a random element. Further, a block hash value Bh or the like can also be used. For example, the formula of BnTOTP used in the embodiment of the present invention is BnTOTP = fh (A, TIDA, KC, Bn, BC, V, Bh).
When BSZ changes according to V, it is regarded as V = BSZ and BnTOTP = fh (A, TIDA, KC, Bn, BC, BSZ, Bh).

本発明のハッシュ関数fhの引数はAとTIDA、KC、BnやBC、そしてVやBhが用いられるが、例えばKCやBCあるいはVやBhを基にハッシュ関数でそれらのハッシュ値を算出し加工してBnTOTPの算出方法の推測を難しくするよう計算方法をとってもよい。関数の処理を行う上で必要な引数や内部変数にA,TIDA,KC,BnやA,TIDA,KC,BCを持つことを本発明では特徴とし、さらに A,TIDA,KC,Bn,BC,V,Bhといった変数を用いることができることを特徴とする。 A and TIDA, KC, Bn and BC, and V and Bh are used as the arguments of the hash function fh of the present invention. For example, the hash functions are calculated and processed by a hash function based on KC and BC or V and Bh. Then, the calculation method may be adopted so as to make it difficult to guess the calculation method of BnTOTP. The present invention is characterized by having A, TIDA, KC, Bn, A, TIDA, KC, BC as arguments and internal variables necessary for processing a function, and further A, TIDA, KC, Bn, BC, It is characterized in that variables such as V and Bh can be used.

さらにユーザーが保有するトークン番号TIDAをキーとしたマッピング変数VU(VU[TIDA])をシード値として含むBnTOTP=fh(A,TIDA,KC,Bn,BC,V,VU[TIDA])でもよい。ユーザー側が設定できる投票によるシード値となる引数VU[TIDA]については別途説明する。 Further, BnTOTP = fh (A, TIDA, KC, Bn, BC, V, VU [TIDA]) including a mapping variable VU (VU [TIDA]) using the token number TIDA held by the user as a key may be used. The argument VU [TIDA], which is a seed value by voting that can be set by the user, will be described separately.

認証関数の戻り値を端末1Aが取得し、1Aはその戻り値を3C(SVLogin)で動作するウェブサイトのプログラムに従って処理し、または3Cに戻り値を渡し、認証結果が正しい時3C内部のサービスを提供しコンテンツを閲覧し操作させる。例としてインターネットバンキングや会員サイトなどを想定する。認証結果が正しくない場合にはログインを行わせない。
またログイン時にユーザーの許可を得た上でCPGT3019Aや、TIDA、Bn、ユーザ識別子Aなどのブロックチェーン情報と、ログイン時刻情報と、
IPアドレスもしくはIPアドレスのハッシュ値などIPアドレスに基づく識別子や、位置情報、端末1Aに固有のID、端末1Aの入力装置14Aのセンサ144A等のセンサ値をIPV値として
3Cの記憶装置に図6Xの形でユーザー識別子Aやトークン番号TIDAとIPV値を対応づけて、表などで表現できる形でデータベースに保持する。図6Xは例であり、トークン番号やユーザー識別子に対し複数のIPVにて3Cにアクセスされている事を記録できる台帳データ、データベースであればよい。ここで前記情報はユーザーの合意の上収集し、また合意の上一部またはすべてを仮名化(暗号化)もしくは匿名化して保存する。
The terminal 1A acquires the return value of the authentication function, and 1A processes the return value according to the program of the website operating on 3C (SVLogin), or passes the return value to 3C, and when the authentication result is correct, the service inside 3C. To browse and operate the content. As an example, assume Internet banking and member sites. If the authentication result is incorrect, login will not be performed.
In addition, after obtaining the user's permission at the time of login, blockchain information such as CPGT3019A, TIDA, Bn, user identifier A, login time information, and
An identifier based on the IP address such as an IP address or a hash value of the IP address, position information, an ID unique to the terminal 1A, and a sensor value such as the sensor 144A of the input device 14A of the terminal 1A are used as an IPV value in a storage device of 3C. The user identifier A or token number TIDA is associated with the IPV value in the form of, and is stored in the database in a form that can be expressed in a table or the like. FIG. 6X is an example, and any ledger data or database that can record that 3C is being accessed by a plurality of IPVs for a token number or a user identifier may be used. Here, the information is collected with the consent of the user, and a part or all of the information is stored in a pseudonym (encryption) or anonymized with the agreement.

図6Xに記載する例のように、同一の秘密鍵101Aに由来するユーザー識別子から異なるIPV値、すなわち異なる環境からアクセスがあった場合に、異なる環境からのアクセスを不正アクセスと推測し、ユーザーUAの秘密鍵が漏洩しユーザー識別子Aとトークン番号TIDAの組み合わせに対し、端末3Cに記録されたデータベースのユーザー識別子Aまたはトークン番号TIDAとそれに対応する連絡先情報に不正アクセスの疑いがあることを通知し、ユーザの許可に応じてアクセスを禁止する機能を端末3Cは持つことができる。不正アクセスを禁止する用途はインターネットバンキングなどユーザーにとって重要な情報へのアクセスと情報の操作を行う場合を想定する。 As shown in the example shown in FIG. 6X, when a user identifier derived from the same private key 101A has a different IPV value, that is, an access is made from a different environment, the access from the different environment is presumed to be an unauthorized access, and the user UA The private key is leaked and notifies the combination of user identifier A and token number TIDA that there is a suspicion of unauthorized access to the user identifier A or token number TIDA of the database recorded on the terminal 3C and the corresponding contact information. However, the terminal 3C can have a function of prohibiting access according to the permission of the user. The purpose of prohibiting unauthorized access is to access and manipulate information that is important to the user, such as Internet banking.

なお、サーバ端末3Cはサービス用途によっては、図6Xのようなデータベースを構築しユーザーへの不正アクセスの通知機能を提供しない端末3Cも実施形態として存在しうる。例えば簡易の会員サイトもしくは簡単なオンラインゲームサイトなどであるときなどは、サービスを行う処理部と記憶部を備えたサーバ端末3Cでは、図6Xのようなユーザーからのアクセスを監視するデータベースを作成することは端末3Cの計算資源や記憶装置の容量を増大させかねないことが想定される。そしてサーバ端末3Cの利用コストが高くなる恐れがある。
またサーバ端末3Cにて個人情報の保護や管理を行うことに対するコストが高く、あえてアクセス者の個人情報を端末3Cに収集しないことで、管理を行うためのコストを低減しつつ、本発明のOTP認証システムを用いたログインサービスを提供したいという要望もあるかもしれない。それらの要望に沿うために図6Xのようなデータベースを構築しユーザーへの不正アクセスの通知機能を提供しない端末3Cも実施形態として存在する。
Depending on the service application, the server terminal 3C may also have a terminal 3C as an embodiment in which a database as shown in FIG. 6X is constructed and a function of notifying an unauthorized access to a user is not provided. For example, when it is a simple member site or a simple online game site, the server terminal 3C equipped with a processing unit and a storage unit for providing services creates a database for monitoring access from users as shown in FIG. 6X. It is assumed that this may increase the computational resources of the terminal 3C and the capacity of the storage device. Further, the usage cost of the server terminal 3C may increase.
In addition, the cost of protecting and managing personal information on the server terminal 3C is high, and by not collecting the personal information of the accessor on the terminal 3C, the OTP of the present invention can be reduced while reducing the cost for management. There may also be a desire to provide a login service using an authentication system. In order to meet these demands, there is also a terminal 3C as an embodiment in which a database as shown in FIG. 6X is constructed and a function of notifying unauthorized access to a user is not provided.

3Cにおいて図6Xの形式でのアクセス情報の記録と不正アクセスの監視はOTP認証システムとしては必須の機能ではなく、サーバ3Cのサービス提供者と端末1AのユーザーUAが図6Xの形でアクセスを記録されるかどうか同意したのちに利用できる機能である。図6Xの形式でアクセス情報の記録と不正アクセスの監視を行わなくとも本発明の実施はできる。ただしOTP認証システムにおいて秘密鍵101Aが複数の端末に記録され利用された場合には図6Xのような複数のことなる環境からのアクセスを検知する機能があることがセキュリティ上好ましい。 Recording access information and monitoring unauthorized access in the format shown in FIG. 6X in 3C is not an essential function for an OTP authentication system, and the service provider of server 3C and the user UA of terminal 1A record access in the form of FIG. 6X. It is a function that can be used after agreeing whether or not it will be done. The present invention can be carried out without recording access information and monitoring unauthorized access in the format of FIG. 6X. However, in the OTP authentication system, when the private key 101A is recorded and used in a plurality of terminals, it is preferable in terms of security to have a function of detecting access from a plurality of different environments as shown in FIG. 6X.

図8Aの利用例としてインターネットバンキングがある。その際にウェブサイトや顧客データを管理する端末3Cと、端末3Aのブロックチェーン上のコントラクトデータの両方を操作することもできる。
OTPの生成コントラクト(図3ABの3008AG)において顧客がOTPを生成し、そのOTP(主にBnTOTP、定期的に更新できるならばOWPも)とユーザー識別子とトークン番号TIDAを用いて認証関数3018Aを引数に用い、実行した認証の回数をコントラクト内部の変数として保持できる。さらに3018Aの実行後に識別子Aもしくはトークン番号TIDAをキーとしたマッピング変数3023Aを備え、3023Aにあるユーザー識別子Aやトークン番号TIDAに対応する資産やポイント等数値、評価値、投票の結果値をコントラクトに書き込み保存する関数3022Aを持っていてもよい。そして3023Aと3022Aが認証コントラクト3008AAや3008Aに含まれ、認証関数3018Aで認証できた場合に操作できるようプログラムされて3008AAや3008Aに備えられていてもよい。
具体的にはインターネットバンキングや会員サイト等において、ユーザー識別子Aや前記識別子Aが保有するOTPトークンのトークン番号TIDAに対する資産残高やポイント等の値3023Aと、3023Aをコントラクトに書き込み保存する関数3022Aを持っていてもよい。
Internet banking is an example of the use of FIG. 8A. At that time, both the terminal 3C that manages the website and customer data and the contract data on the blockchain of the terminal 3A can be operated.
In the OTP generation contract (30008AG in FIG. 3AB), the customer generates an OTP, and the authentication function 3018A is argued using the OTP (mainly BnTOTP, and OWP if it can be updated regularly), the user identifier, and the token number TIDA. The number of authentications executed can be held as a variable inside the contract. Furthermore, after the execution of 3018A, a mapping variable 3023A using the identifier A or the token number TIDA as a key is provided, and numerical values such as assets and points corresponding to the user identifier A and the token number TIDA in 3023A, evaluation values, and voting result values are used as contracts. It may have a function 3022A for writing and saving. Then, 3023A and 3022A may be included in the authentication contracts 3008AA and 3008A, and may be programmed to be operated when the authentication function 3018A can be authenticated and provided in the 300AA and 3008A.
Specifically, in Internet banking, member sites, etc., it has a value 3023A such as an asset balance and points for the token number TIDA of the user identifier A and the OTP token held by the identifier A, and a function 3022A for writing and saving 3023A in a contract. May be.

<ウェブサイトのログイン時に認証関数を実行した回数を記録する処理>
本発明のOTP(BnTOTPおよびOWP)の生成時または認証時にコントラクトへOTP生成関数及び認証関数の実行回数を内部変数3017Aまたは3017AGまたは3017AAに記録させることができる。ここで内部変数3017Aまたは3017AGまたは3017AAはトークン番号と対応した値を持つ変数である。実施例として変数3017Aはトークン番号をキーとしたマッピング型の変数であり、マッピング型のほかにも構造体やクラスなどのデータ型でトークン番号と対応付けられている変数であれば本発明に利用できる。
(マッピング型は実施例において利用されるイーサリアムのスマートコントラクトプログラミング言語Solidityにおいて利用できる型の一つである。)
<Process to record the number of times the authentication function is executed when logging in to the website>
The number of executions of the OTP generation function and the authentication function can be recorded in the internal variables 3017A or 3017AG or 3017AA in the contract at the time of generation or authentication of the OTP (BnTOTP and OWP) of the present invention. Here, the internal variables 3017A or 3017AG or 3017AA are variables having a value corresponding to the token number. As an example, the variable 3017A is a mapping type variable using a token number as a key, and is used in the present invention as long as it is a variable associated with the token number by a data type such as a structure or a class in addition to the mapping type. can.
(The mapping type is one of the types that can be used in Ethereum's smart contract programming language Solidity used in the examples.)

OTPの認証回数もしくは生成回数をブロックチェーンのコントラクトの内部変数3017Aまたは3017AGまたは3017AAに記録することで、ユーザーUAの端末1Aの秘密鍵101Aが漏洩し、ユーザーUAが知らぬ間に攻撃者がブロックチェーンに秘密鍵101Aを用いてアクセスしOTP生成関数を実行しOTPを生成した場合には、OTP生成関数を不正に実行されて取得された事実が3017Aや3017AGに記録される。
ユーザーUAがOTP取得のために実行したはずのないOTP生成関数の実行回数が増えたことで(もし3017AがOTPを生成するのに必要な料金のようなポイントの場合はその残高が減る事で)ユーザーUAは秘密鍵101Aが不正利用されているかどうか察知することができる。もしくは101Aの秘密鍵に対応するユーザー識別子のトランザクションの取引履歴に不正利用時のトランザクションが追加される。
前記の不正利用の察知にはOTPトークンのサービスを提供するサーバ3Cやサーバ3Dやブロックチェーンのトランザクション等検索機能を備えた3F、OTPトークンをチケットなどで販売する3E、広告配信サーバ5Aや暗号データ配信サーバ5Bなどに、ブロックチェーンのノードとなる端末3Aや3Bのブロックチェーン部の変化を監視し、秘密鍵101から計算されるユーザー識別子AやOTPトークンのコントラクト識別子に帰属するトランザクションの変化を検出しユーザーUAの連絡先に通知する機能が必要である。
OTP生成関数の実行に限らずOTP認証関数の実行を行い実行ができた場合にも、前記の3Cや3Dや、3Eや3FやからユーザーUAの通知先電子メールアドレスや電話番号、SMS(SMS、Short Message Service)、ユーザー識別子Aに対する連絡を送るブロックチェーン上のトランザクションなどで通知することができる。
By recording the number of OTP authentications or generations in the internal variables 3017A or 3017AG or 3017AA of the blockchain contract, the private key 101A of the terminal 1A of the user UA is leaked, and the attacker blocks without the user UA knowing. When the chain is accessed using the private key 101A and the OTP generation function is executed to generate the OTP, the fact obtained by illegally executing the OTP generation function is recorded in 3017A or 3017AG.
The number of executions of the OTP generation function that the user UA should not have executed to acquire the OTP has increased (if 3017A is a point such as the charge required to generate the OTP, the balance will decrease. ) The user UA can detect whether the private key 101A has been illegally used. Alternatively, the transaction at the time of unauthorized use is added to the transaction history of the transaction of the user identifier corresponding to the private key of 101A.
To detect the above-mentioned unauthorized use, server 3C that provides OTP token service, server 3D, 3F with a search function such as blockchain transactions, 3E that sells OTP tokens as tickets, advertisement distribution server 5A, and encrypted data. The distribution server 5B or the like monitors changes in the blockchain portion of terminals 3A and 3B that are blockchain nodes, and detects changes in transactions that belong to the user identifier A calculated from the private key 101 and the contract identifier of the OTP token. A function to notify the contact information of the user UA is required.
Not only when the OTP generation function is executed, but also when the OTP authentication function is executed and executed, the user UA's notification destination e-mail address, telephone number, and SMS (SMS) can be executed from the above 3C, 3D, 3E, and 3F. , Short Message Service), a transaction on the blockchain that sends a contact to the user identifier A, etc.

実施例1ではOTP生成関数の実行回数は記録しないものの、OTP認証関数の実行回数は記録する方式を検討した。これはブロックチェーンに生成及び認証の回数を変更するトランザクションを送ることを考えたとき、パスワードの生成はカウントせず何度でも出来たほうが良く、認証時のみその回数を記録できた方がトランザクションが少なくなり、ブロックチェーンのリソースや、それらを記憶し制御するサーバーの記憶装置や通信装置への負荷を低減できると考えたためである。ただしセキュリティを考えた場合はワンタイムパスワード生成関数の実行回数は記録することが好ましい。
重要度の低い操作を行うOTP生成関数と認証関数は図6Aと図6Fに示すようにOTP生成関数・OTP認証関数の実行回数を記録せず、重要度の大きい操作を行うOTP生成関数とOTP認証関数は図6Bと図6Dのように実行回数を記録したほうが良く、それらを使い分けてもよい。
図6Cや図6Dや図6GのF115はOTP認証関数を実行し認証結果が正しいときに行う処理であり、図6BのF108はOTP生成関数の実行回数を記録する関数である。
図には記載していないが、図6Bと対応して、図6Cや図6Dや図6GのF115とは別に図6BのF108に類似したOTP認証関数を実行した回数のみを記録する処理がOTP認証関数に含まれていてもよく、認証時にF115にて実行回数を変更するのではなくOTP認証関数が実行されF110にて引数が渡されたときに、F110とF111の間にF115のプロセスを設置してもよい。
OTP生成関数とOTP認証関数の関数の実行回数をブロックチェーン上に改ざん困難・イミュータブルに記録するできるとよい。
In Example 1, although the number of executions of the OTP generation function is not recorded, a method of recording the number of executions of the OTP authentication function was examined. This is because when considering sending a transaction that changes the number of generations and authentications to the blockchain, it is better to be able to generate passwords as many times as necessary without counting, and it is better if the transaction can record the number of times only at the time of authentication. This is because it is thought that the load on the blockchain resources and the storage devices and communication devices of the server that stores and controls them can be reduced. However, considering security, it is preferable to record the number of executions of the one-time password generation function.
As shown in FIGS. 6A and 6F, the OTP generation function and the authentication function that perform less important operations do not record the number of executions of the OTP generation function / OTP authentication function, and the OTP generation function and OTP that perform high-importance operations. It is better to record the number of executions of the authentication function as shown in FIGS. 6B and 6D, and they may be used properly.
F115 in FIGS. 6C, 6D, and 6G is a process for executing the OTP authentication function and performing when the authentication result is correct, and F108 in FIG. 6B is a function for recording the number of executions of the OTP generation function.
Although not shown in the figure, OTP is a process of recording only the number of times the OTP authentication function similar to F108 in FIG. 6B is executed separately from F115 in FIGS. 6C, 6D, and 6G in correspondence with FIG. 6B. It may be included in the authentication function, and when the OTP authentication function is executed and the argument is passed in F110 instead of changing the number of executions in F115 at the time of authentication, the process of F115 is inserted between F110 and F111. It may be installed.
It is desirable to be able to immutably record the number of executions of the OTP generation function and the OTP authentication function on the blockchain.

本発明ではOTP生成関数と認証関数の両方にその関数の実行回数を記録できることが好ましい。生成関数の実行回数を記録できる方が不正アクセスを未然に検知できる。OTP生成関数を実行し、BnTOTPやOWPといったパスワードを生成し、それを用いてに認証関数を実行する。前記の手順を踏む場合に、ユーザーUAの秘密鍵101Aが漏洩してしまい攻撃者が不正にアクセスしようとした場合には最初に生成関数を動作させることが推測される。
ブロックチェーンにアクセスしブロックチェーン上のトランザクションを監視できるサーバ端末3F等(例としてネットワーク20に接続しサーバ端末3Aのブロックチェーン部に対しアクセスできる端末3Cや端末3D、端末3Eや端末3F、端末5Aや端末5B)に、ユーザー識別子Aのブロックチェーン上の生成関数の実行回数の変化や、ユーザー識別子Aのトランザクションの変化またはイーサリアムなどで利用される内部トークンの変化をユーザーの電話番号やメールアドレスなどを用いて通知し、認証関数を実行させる前に、不正アクセスを知らせる必要がある。不正アクセスがあるとき、ユーザーUAは端末3Cや端末3Dのサービス提供者に通知させサービスの利用を停止する。
In the present invention, it is preferable that the number of times the function is executed can be recorded in both the OTP generation function and the authentication function. Unauthorized access can be detected in advance if the number of executions of the generated function can be recorded. The OTP generation function is executed, a password such as BnTOTP or OWP is generated, and the authentication function is executed using the password. When the above procedure is followed, if the private key 101A of the user UA is leaked and an attacker attempts to gain unauthorized access, it is presumed that the generated function is operated first.
Server terminal 3F, etc. that can access the blockchain and monitor transactions on the blockchain (for example, terminal 3C or terminal 3D, terminal 3E, terminal 3F, terminal 5A that can connect to the network 20 and access the blockchain portion of the server terminal 3A. The change in the number of times the generated function on the blockchain of the user identifier A is executed, the change in the transaction of the user identifier A, or the change in the internal token used in Ethereum, etc. It is necessary to notify by using and notify unauthorized access before executing the authentication function. When there is an unauthorized access, the user UA notifies the service provider of the terminal 3C or the terminal 3D and stops using the service.

端末3Dはネットワーク20にアクセスできない場合がある。その場合はOWPを攻撃者の端末が端末3AにアクセスしてOTP生成関数で生成する際に実行される3017Aや3017AGが変化するので、前記変数の変化をユーザーUAに通知することでOTPが攻撃者に取得され紙やNFCタグに記録された恐れがあることが分かる。この場合にもサービス提供者に相談することができる。
端末3Dに記憶された認証回数記録部分も端末3Dへのユーザーのアクセスや認証の履歴をブロックチェーンの様にトランザクション毎にハッシュ値を付与させ連結して保存するなどして改ざん検知ができイミュータブルな記録部分とすることが好ましいかもしれない。ブロックチェーン型ではなくとも端末3Dのあるキーと認証のデータをメッセージとして定期的もしくは指定する認証回数ごとにHMACによりMAC値を付与し記録できることが改ざんなどに対抗する手段として好ましいかもしれない。
このようにOTP認証関数とOTP生成関数のいづれかまたは両方に実行回数を記録する変数を設けることで、攻撃者はユーザーUAに知られないうちにユーザーのトークンを操作することを困難にさせ、不正アクセスを防止する。
The terminal 3D may not be able to access the network 20. In that case, the 3017A and 3017AG executed when the attacker's terminal accesses the terminal 3A and generates the OWP with the OTP generation function changes, so the OTP attacks by notifying the user UA of the change in the variable. It can be seen that there is a possibility that it was acquired by a person and recorded on paper or an NFC tag. In this case as well, you can consult with the service provider.
The authentication count recording part stored in the terminal 3D is also immutable because it can detect falsification by assigning a hash value to each transaction and concatenating and saving the user's access to the terminal 3D and the authentication history like a blockchain. It may be preferable to use it as a recording part. Even if it is not a blockchain type, it may be preferable as a means to counter falsification that a MAC value can be assigned and recorded by HMAC periodically or every specified authentication number as a message with a certain key and authentication data of the terminal 3D.
By providing a variable that records the number of executions in either or both of the OTP authentication function and the OTP generation function in this way, an attacker makes it difficult to manipulate the user's token without the user's UA knowing, and is fraudulent. Prevent access.

<認証関数を含む関数が認証時にコントラクト内部の変数を操作する場合>
認証関数を実行した回数を記録する処理に関連して、本発明では認証関数を含む関数が認証時にコントラクト内部の変数を操作する処理を含めることができる。
具体的には認証関数を内部に含むあるいは認証関数の後に続く処理3022Aをコントラクトに設定し、3022Aで認証関数が実行されワンタイムパスワードによる認証ができた場合にコントラクトの内部変数3023Aを書き換えることができる。ここで内部変数3023Aはユーザー識別子またはトークン番号と対応した値を持つ変数3023Aである。変数3023Aの例としてユーザー識別子もしくはトークン番号をキーとしたマッピング型変数であり、マッピング型のほかにも構造体やクラスなどのデータ型でユーザ識別子やトークン番号と対応づけられている変数であれば本発明に利用できる。
<When a function including an authentication function manipulates variables inside the contract at the time of authentication>
In relation to the process of recording the number of times the authentication function is executed, the present invention can include a process in which a function including the authentication function operates a variable inside the contract at the time of authentication.
Specifically, it is possible to set the process 3022A that includes the authentication function internally or that follows the authentication function in the contract, and rewrite the internal variable 3023A of the contract when the authentication function is executed by 3022A and authentication is possible with a one-time password. can. Here, the internal variable 3023A is a variable 3023A having a value corresponding to the user identifier or the token number. As an example of the variable 3023A, it is a mapping type variable using a user identifier or a token number as a key, and if it is a variable associated with a user identifier or a token number by a data type such as a structure or a class in addition to the mapping type. It can be used in the present invention.

<インターネットバンキングでの処理例>
認証関数を含む関数が認証時にコントラクト内部の変数を操作する場合の一例として、簡易なインターネットバンキングもしくはコントラクト内ポイント利用システムに利用可能である。認証コントラクト3008AAはこの場合OTP認証機能と認証後の銀行口座残高情報の記録ができる。参考として次に例を示す。
<Processing example in Internet banking>
As an example of the case where a function including an authentication function manipulates variables inside a contract at the time of authentication, it can be used for simple Internet banking or a point utilization system within a contract. In this case, the authentication contract 3008AA can record the OTP authentication function and the bank account balance information after the authentication. An example is shown below for reference.

次に示す1から4に、インターネットバンキングもしくは認証コントラクト内ポイント利用システムのコントラクト内部で利用する顧客の変数を設定する。
1.銀行口座(ポイント口座)の識別子である銀行口座番号GKBA(またはポイント口座番号GKBA。GKBAはトークン番号やユーザー識別子でもよい)。
2.口座GKBAの名義を匿名化した値MIGA(秘匿されていないブロックチェーン基盤に名義匿名化などせずに記述することは好ましくない)。
3.GKBAの資産の残高ASTA。GKBAは3023Aに記載の変数でトークン番号(またはユーザー識別子)をキーとしたマッピング変数ASTA[トークン番号]。
4.GKBAに対応するトークン番号TIDAもしくはユーザ識別子Aを対応付けたデータベースGKDB。
GKBAやMIGA、ASTAはユーザー識別子やトークン番号をキーとするマッピング変数などで表現される。上記項目1から4の変数がOTP認証関数をもつコントラクト3008AA(または3008A)に設置されており、OTP認証関数もしくは認証処理を含む、資産の別の銀行口座番号GKBAへの振り替えを行う処理ができてもよい。
(このほか口座の種類、振り込み限度額、口座開設日もしくはそのブロック番号、本人確認情報を匿名化した値も必要となりうる。)
In 1 to 4 shown below, the variables of the customer used inside the contract of the point use system in the Internet banking or the authentication contract are set.
1. 1. Bank account number GKBA (or point account number GKBA. GKBA may be a token number or user identifier) which is an identifier of a bank account (point account).
2. 2. Anonymized value of the account GKBA MIGA (It is not preferable to describe it on a non-confidential blockchain platform without anonymizing the name).
3. 3. GKBA's asset balance ASTA. GKBA is a variable described in 3023A and is a mapping variable ASTA [token number] using a token number (or user identifier) as a key.
4. Database GKDB associated with token number TIDA or user identifier A corresponding to GKBA.
GKBA, MIGA, and ASTA are represented by mapping variables using user identifiers and token numbers as keys. The variables of items 1 to 4 above are installed in the contract 3008AA (or 3008A) having the OTP authentication function, and can perform the process of transferring the asset to another bank account number GKBA, including the OTP authentication function or the authentication process. You may.
(In addition, the type of account, transfer limit, account opening date or its block number, and anonymized value of identity verification information may also be required.)

ユーザー識別子Aの持つトークン番号TIDAのOTPトークンに預けられた残高ASTA[TIDA](TIDAをキーとする3023A)があって、
ユーザー識別子BもTIDAのOTPトークンを持ち同様に残高ASTA[TIDB]を持つとき、AがBのTIDBトークンにAのASTAから数値trsを移動させたいとき、
ユーザー識別子Aの持つトークン番号TIDAのOTPトークンに預けられた残高ASTA[TIDA](TIDAをキーとする3023A)の一部をユーザーUAが指定し、
ユーザー識別子Bの持つトークン番号TIDBのOTPトークンに預けられた残高ASTA[TIDB](TIDBをキーとする3023A)に振り込む関数もしくは処理3022Aがあり、
ユーザー識別子Aのユーザーがトークン番号TIDAのOTPトークンによりOTP認証を行い処理3022Aと認証関数3018Aの処理(3022Aに3018を組み込んだ、もしくは3018Aの後に3022Aの処理を続けた処理)を実行し、OTP関数の認証結果が正しい時、処理3022Aは TIDAをキーとするマッピング変数3023Aからtrsを引いてASTA[TIDA]−trsとした後、 TIDBをキーとするマッピング変数3023AへTIDAの持ち主であるユーザー識別子の指定する数値trsを足した数値ASTA[TIDB]+trsに変更することで、数値を変更でき、数値trsの振り込みができる。
このように本発明のOTP認証システムを用いてOTP認証関数を含む金融業務を行うコントラクトや会員サイトにおいてポイントのやり取りを行うコントラクトが実施されうる。
There is a balance ASTA [TIDA] (3023A with TIDA as a key) deposited in the OTP token of the token number TIDA possessed by the user identifier A.
When the user identifier B also has a TIDA OTP token and also has a balance ASTA [TIDB], and A wants to move the numerical trs from A's ASTA to B's TIDB token.
The user UA specifies a part of the balance ASTA [TIDA] (3023A with TIDA as the key) deposited in the OTP token of the token number TIDA possessed by the user identifier A.
There is a function or process 3022A to transfer to the balance ASTA [TIDB] (3023A with TRIDB as the key) deposited in the OTP token of the token number TIDB possessed by the user identifier B.
The user of the user identifier A performs OTP authentication using the OTP token of the token number TIDA, executes the processing of the processing 3022A and the authentication function 3018A (the processing in which 3018 is incorporated in 3022A, or the processing of 3022A is continued after 3018A), and OTP is executed. When the authentication result of the function is correct, the process 3022A subtracts trs from the mapping variable 3023A using TIDA as a key to obtain ASTA [TIDA] -trs, and then transfers the user identifier of the owner of TIDA to the mapping variable 3023A using TIDB as a key. By changing to the numerical value ASTA [TIDB] + trs which is the sum of the numerical values trs specified by, the numerical value can be changed and the numerical value trs can be transferred.
As described above, using the OTP authentication system of the present invention, a contract for conducting financial business including an OTP authentication function or a contract for exchanging points at a member site can be implemented.

関数3022Aや資産残高を示す3023Aは顧客がコントラクトにダイレクトにアクセスすることで閲覧や関数実行を行うことも想定される。 It is also assumed that the function 3022A and the asset balance 3023A are viewed and the function is executed by the customer directly accessing the contract.

また銀行がサーバ3Cに顧客をアクセスさせたうえで銀行側がコントラクトの顧客の資産残高などを操作することも考えられる。その場合はユーザーではなく銀行が顧客の資産の数値数量を顧客のログイン時ウェブアプリウェブサイトなどでの認証後の指示に従って取引指示を受け、残高を書き換える関数を用い振り込み手続きなどを行う。 It is also conceivable that the bank will access the customer to the server 3C and then the bank will operate the asset balance of the contract customer. In that case, the bank, not the user, receives the transaction instruction according to the instruction after authentication on the web application website when the customer logs in, and performs the transfer procedure using the function to rewrite the balance.

インターネットバンキングにおける資産残高をサーバ3Cと認証コントラクトのいずれかまたは両方に記録できる。前記についてはインターネットバンキングに限らず会員サイトや会員による投票サイト、オンラインゲームサイトなども同じように数値数量データの運用ができる。 Asset balances in Internet banking can be recorded on server 3C and / or authentication contracts. Regarding the above, not only Internet banking but also member sites, voting sites by members, online game sites, etc. can operate numerical quantity data in the same way.

<会員サイトへのログイン用OTPトークンの有効・無効の判定を行う手段>
ウェブサイトへのログインの利用用途として会員サイト、インターネットバンキングなど金融取引、ウェブメール、オンラインストレージ、電子商取引サイト(ECサイト)、ソーシャルネットワーキングサービスSNS、音声動画配信サイト、オンラインゲーム、オンライン会議サイトなどが挙げられる。銀行の場合と同じくサーバ端末3Cに顧客をアクセスさせることができる。ここでログインする権利が期間や回数で制限されていることが考えられる。本発明の実施形態として次の3つを示す。
<Means for determining the validity / invalidity of the OTP token for logging in to the member site>
Membership sites, financial transactions such as Internet banking, web mail, online storage, e-commerce sites (EC sites), social networking service SNS, audio and video distribution sites, online games, online conference sites, etc. Can be mentioned. As in the case of a bank, the customer can be accessed by the server terminal 3C. It is possible that the right to log in here is limited by the period and number of times. The following three are shown as embodiments of the present invention.

1.ブロック番号を用いてワンタイムパスワード表示可能な期限を設定する方法
顧客がトークンを発行されてから指定したブロック番号を超えた場合にOTPトークンのOTP生成を行えなくすることもできる。これはある一定期間以内にトークン有効期限が切れる様にする場合にOTP生成部分に期限を設定することが必要になる場合もあり設定される。
具体例を次に示す。あるトークン番号のトークン発行時のブロック番号BnMintをトークン番号をキーとしたマッピング型変数としてOTPを生成するコントラクトに記録し、OTPを生成する関数に、実行時の最新のブロック番号Bnが数値が表示したい期間に相当するブロック番号BnValid+BnMint以内であればOTPを生成できるようにする。
例えばOTPを生成する関数の実行時に、現在のブロック番号Bnが、数式Bn<BnMint+BnValid であるかどうか判定させ、ブロック番号Bnが数値が表示したい期間に相当する場合はOTPを生成できるようOTP生成関数部分をプログラムすることで指定したブロック番号を超えた場合にOTPトークンのOTP生成を行えなくする。
1. 1. How to set a deadline for displaying a one-time password using a block number It is also possible to disable OTP generation of OTP tokens when the customer exceeds the specified block number after the token is issued. This is set because it may be necessary to set an expiration date in the OTP generation part when the token expiration date is to be set within a certain period.
A specific example is shown below. The block number BnMint at the time of token issuance of a certain token number is recorded in the contract that generates OTP as a mapping type variable using the token number as a key, and the latest block number Bn at the time of execution is displayed as a numerical value in the function that generates OTP. OTP can be generated if it is within the block number BnValid + BnMint corresponding to the desired period.
For example, when executing a function that generates an OTP, it is determined whether the current block number Bn is the formula Bn <BnMint + BnValid, and if the block number Bn corresponds to the period in which the numerical value is to be displayed, the OTP generation function can be generated. By programming the part, OTP generation of OTP token cannot be performed when the specified block number is exceeded.

2.コントラクトの管理者が、ユーザーのトークン番号に対応した有効、無効の判定に利用できる変数を書き換えられる場合。
ある顧客UAのトークン番号TIDAに対し、規約等に従って有効期限やサービスの提供が終了した場合にTIDAに対応付けられたトークンの無効・有効を示すマッピング型変数VALID[TIDA]をコントラクトの管理者が変更し、トークンが有効から向こうに切り替わったことを持ってトークンデータとしては無効にすることができる。この処理は改札で紙等の切符を切る動作に該当する。あるいは入場券に判を押したり、券を切り半券にする動作に該当する。OTPトークンの有効無効を真偽値で示してもよいし、そのトークンにチャージされた電子マネー的な数値でもよい。電子マネー的な利用方法では残高に数値を加算したり減算したりできる。
ここで本発明のブロックチェーン上のトークンは現実世界での書籍やコンテンツ、紙の有価証券や金属の鍵の代替物であって、ユーザーとサービス提供者が合意しなければ法的な紛争が起きる可能性は残る。権限の集中を避けるため、コントラクト管理者とサービス提供者は別の団体とし、端末3Cや3Dを管理するサービス提供者の要求に応じて端末1Cを管理するコントラクト管理者がVALID[TIDA]を書き換えることでOTPトークンを無効にしたり有効にすることもできる。VALID[TIDA]が整数であれば数値の大きさを、VALID[TIDA]が文字列であれば文字の形で変更できる。
2. 2. When the contract administrator can rewrite the variables that can be used to determine whether the user's token number is valid or invalid.
For the token number TIDA of a certain customer UA, the administrator of the contract sets a mapping type variable VALUE [TIDA] indicating the invalidity / validity of the token associated with the TIDA when the expiration date or the provision of the service is terminated according to the terms and conditions. It can be changed and invalidated as token data when the token is switched from valid to beyond. This process corresponds to the operation of cutting a ticket such as paper at a ticket gate. Alternatively, it corresponds to the operation of stamping an admission ticket or cutting a ticket into a stub. The validity / invalidity of the OTP token may be indicated by a true / false value, or may be an electronic money-like numerical value charged in the token. In the electronic money usage method, a numerical value can be added or subtracted from the balance.
Here, the token on the blockchain of the present invention is a substitute for books and contents, paper securities and metal keys in the real world, and legal disputes will occur if the user and the service provider do not agree. The possibilities remain. In order to avoid concentration of authority, the contract administrator and the service provider are separate organizations, and the contract administrator who manages the terminal 1C rewrites VALUE [TIDA] according to the request of the service provider who manages the terminal 3C and 3D. It is also possible to invalidate or enable the OTP token. If VALUE [TIDA] is an integer, the size of the numerical value can be changed, and if VALUE [TIDA] is a character string, the size can be changed in the form of characters.

3.ユーザーがトークンの利用の意志を示せる場合
トークンの持ち主である顧客UAがその利用権を放棄したいとき、もしくは一時的に利用を止めたいと示すときに、ユーザーの秘密鍵101Aを用いてユーザー識別子Aに帰属するコントラクト識別子のOTPトークンのトークン番号TIDAに対応する意思表示欄をマッピング型変数NOTE[TIDA]にその意志を設定し表示することができる。
前記変数NOTE[TIDA]については、秘密鍵101Aを記録し101Aにトークン番号TIDAのOTPトークンが割り当てられたユーザー識別子Aのユーザーのみからアクセスし変更できるセッター関数によってNOTE[TIDA]は変更される。
意思表示は真偽型変数や数値、文字列変数で行われることが想定される。またNOTE[TIDA]は文字列型の場合、自由な文字列を記録できるものの、トランザクションデータ量が増える事と、誤って誤字などのある文章を書いてしまう恐れがある。ブロックチェーン、DAG等の分散型台帳では一度連結されたブロックのブロックデータ内部のトランザクションデータは書き換えと改ざんが出来ないので、任意の文字列よりは真偽型変数や数字による選択肢方式で意思表示することが好ましい場合がある。
3. 3. When the user can indicate the intention to use the token When the customer UA who owns the token wants to waive the usage right or temporarily stop using the token, the user identifier A is used by using the user's private key 101A. The intention display field corresponding to the token number TIDA of the OTP token of the contract identifier belonging to can be displayed by setting the intention in the mapping type variable NOTE [TIDA].
Regarding the variable NOTE [TIDA], NOTE [TIDA] is changed by a setter function that records the private key 101A and can be accessed and changed only by the user of the user identifier A to which the OTP token of the token number TIDA is assigned to 101A.
It is assumed that the intention display is performed by a truth type variable, a numerical value, or a character string variable. In addition, if NOTE [TIDA] is a character string type, it can record a free character string, but there is a risk that the amount of transaction data will increase and that sentences with typographical errors will be mistakenly written. In distributed ledgers such as blockchains and DAGs, transaction data inside block data of blocks that have been concatenated once cannot be rewritten or tampered with. May be preferable.

<会員サイトなどへの投票権としての利用>
例えば投票を行うにおいては本発明のトークンを用い、あるウェブサイトやウェブアプリに本発明のトークンとワンタイムパスワード認証システムを用いてログインし、そのコンピュータ画面で投票したい候補者の識別子に投票し、ブロックチェーン上のワンタイムパスワードを生成し認証するトークンのコントラクトの変数に投票内容を記録できる。ただし投票機能を実装するには認証関数を内蔵したコントラクトにユーザー識別子Aがトークン番号TIDAのトークンを所持することを確認し、所持する場合に限り投票先となる変数に値を入力するセッター関数が必要である。
秘密鍵101Aそしてユーザー識別子Aに帰属するコントラクト識別子のOTPトークンのトークン番号TIDAに対応する意思表示欄をマッピング型変数VOTE[TIDA]として設定し、変数VOTE[TIDA]は101Aをもちユーザー識別子Aとしてアクセスできるユーザーのみからアクセスされ、ユーザーが投票の値を投じることができる。
投票の内容を秘密にしつつ多数決などをとる場合は場合はVOTE[TIDA]をプライベート変数にしたうえで秘匿化できるブロックチェーン基盤にて投票を行わせ、OTPトークンのコントラクト内でVOTE[TIDA]の結果を集計すればよい。例えば選択肢が0から3しかない場合、それらの数字0から3以内までの整数を受け付けるようVOTE[TIDA]のセッター関数をプログラムし、数字が0、1、2、3に該当する選択肢のOTPトークンによる投票数は何票あるか(つまりOTPトークンの票数が何票あるか)を集計すれば0から3の整数の選択肢の内どれが指示されているか調べることができる。OTPトークンのコントラクト内でVOTE[TIDA]を集計せずに端末3Cや端末3Fを用いてECMAScriptを用いて、ノード3Aや3Bのブロックチェーン部を読み込むことでVOTE[TIDA]のデータを集計するプログラムを利用してもよい。
<Use as a voting right for member sites, etc.>
For example, when voting, the token of the present invention is used, a website or web application is logged in using the token of the present invention and a one-time password authentication system, and the identifier of the candidate who wants to vote is voted on the computer screen. The content of the vote can be recorded in the variable of the token contract that generates and authenticates the one-time password on the blockchain. However, in order to implement the voting function, the setter function that confirms that the user identifier A possesses the token with the token number TIDA in the contract with the built-in authentication function and inputs the value to the variable to be voted only if it possesses it. is necessary.
The intention display field corresponding to the token number TIDA of the OTP token of the contract identifier belonging to the private key 101A and the user identifier A is set as the mapping type variable VOTE [TIDA], and the variable VOTE [TIDA] has 101A as the user identifier A. It is accessed only by accessible users, and users can cast voting values.
If you want to make a majority vote while keeping the content of the vote secret, make VOTE [TIDA] a private variable and let the vote be held on a blockchain platform that can be concealed. All you have to do is aggregate the results. For example, if there are only 0 to 3 choices, program the VOTE [TIDA] setter function to accept integers from 0 to 3 of those numbers, and the OTP tokens of the choices whose numbers correspond to 0, 1, 2, and 3. By summing up how many votes there are (that is, how many votes the OTP token has), it is possible to find out which of the integer options from 0 to 3 is indicated. A program that aggregates VOTE [TIDA] data by reading the blockchain part of node 3A or 3B using ECMAScript using terminal 3C or terminal 3F without totaling VOTE [TIDA] in the contract of OTP token. May be used.

<ユーザー側が設定できる投票によるシード値VU[TIDA]>
OTPトークンの生成するBnTOTPをログイン先のサービスで擬似乱数生成に利用する方法として、ユーザー側が設定できる投票によるシード値VU[TIDA]を用いることもできる。
例えば端末1Aにて、ユーザー識別子Aにトークン番号TIDAというOTPトークンが発行されており、ユーザー側が設定できる投票によるシード値VU[TIDA]を引数をBnTOTPのシード値に加え、例えばBnTOTP=fh(A,TIDA,KC,Bn,BC,V,Bh,VU[TIDA])というOTPを計算させることでOTPの生成と認証とウェブサイトログインを行うOTPトークンとして利用できるとともに、ウェブサイトのログイン先で前記BnTOTP=fh(A,TIDA,KC,Bn,BC,V,Bh,VU[TIDA])を簡易の擬似乱数生成器として用いることができる。ここでVは投票で決まる値V(イーサリアムではBlockGasLimit値をVとして用いる)、BhはブロックハッシュBhである。
<Seed value VU [TIDA] by voting that can be set by the user>
As a method of using BnTOTP generated by the OTP token for pseudo-random number generation in the login destination service, a seed value VU [TIDA] by voting that can be set by the user can also be used.
For example, in the terminal 1A, an OTP token called the token number TIDA is issued to the user identifier A, and the seed value VU [TIDA] by voting that can be set by the user side is added to the seed value of BnTOTP as an argument, for example, BnTOTP = fh (A). , TIMA, KC, Bn, BC, V, Bh, VU [TIDA]), which can be used as an OTP token for OTP generation, authentication, and website login, and can be used as an OTP token at the login destination of the website. BnTOTP = fh (A, TIDA, KC, Bn, BC, V, Bh, VU [TIDA]) can be used as a simple pseudo-random number generator. Here, V is a value V determined by voting (in Ethereum, the BlockGasLimit value is used as V), and Bh is a block hash Bh.

前記のユーザー側が設定できる投票によるシード値VU[TIDA]を用いたOTPトークンを用いる認証システム及び擬似乱数生成器は、ウェブサイト・ウェブアプリなどへのログインを要求するオンラインゲーム(オンラインコンピュータゲーム)などに利用できるかもしれない。VU[TIDA]を用いたOTPトークンのOTPのランダムさを応用し、OTPトークンの生成したOTPをさらにハッシュ化あるいは加工してそれをゲーム内のランダムさを決定する変数に利用することができる。ゲーム以外の用途にも利用できる。 The authentication system and pseudo random number generator using OTP tokens using the seed value VU [TIDA] by voting that can be set by the user are online games (online computer games) that require login to websites, web applications, etc. May be available for. By applying the randomness of the OTP of the OTP token using VU [TIDA], the OTP generated by the OTP token can be further hashed or processed and used as a variable for determining the randomness in the game. It can also be used for purposes other than games.

例えばシード値KC値(およびBC値)は端末3Cのゲーム管理者がコントラクトの管理者で端末1Cを操作できる場合は書き換えることができるが、ゲーム内でユーザーに対しランダムさを与えるOTPトークンのOTPを擬似乱数として利用しているとき、ユーザーのOTPトークンの生成するOTPデータの将来の現れ方をを悪意を持って制御しようとコントラクトの管理者がKCやBCを書き換えようとするかもしれない。
そこでコントラクト管理者が制御できない変数VU[TIDA]をトークン番号TIDAのユーザーに書き換えさせるセッター関数と共にコントラクトに備えることで、ユーザーが自由意思により値を書き換えられる変数VU[TIDA]を設定することができる。
ここで外部のユーザーが設定できるシード値VU[TIDA]を設定することで、BnTOTP=fh(A,TIDA,KC,Bn,BC,V,Bh,VU[TIDA])などといったOTP計算方法となり、コントラクト管理者のKC値のみならずVU[TIDA]が存在し、ユーザーのみが制御可能でコントラクト管理者が制御できない変数がOTP(BnTOTP)に含まれるようになるため、ユーザーの指定するVU[TIDA]の値を尊重した(ユーザーの送信したトランザクションの投票値による意思を尊重した)OTPあるいは擬似乱数を生成でき、OTP認証システムや擬似乱数を用いたサービスに利用できる。
VU[TIDA]を利用するにはトークン番号TIDAのトークンを持つユーザーのみがVU[TIDA]を変更できるセッターとなる関数が必要である。
(前記会員サイトで利用する投票用変数VOTE[TIDA]と前記VU[TIDA]はユーザが設定できる変数としては同じ扱いである。)
For example, the seed value KC value (and BC value) can be rewritten if the game administrator of the terminal 3C can operate the terminal 1C as the administrator of the contract, but the OTP of the OTP token that gives randomness to the user in the game. When using as a pseudo-random number, the contract administrator may attempt to rewrite the KC or BC in an attempt to maliciously control the future appearance of the OTP data generated by the user's OTP token.
Therefore, by preparing the contract with a setter function that causes the user with the token number TRIDA to rewrite the variable VU [TIDA] that cannot be controlled by the contract administrator, it is possible to set the variable VU [TIDA] whose value can be freely rewritten by the user. ..
By setting the seed value VU [TIDA] that can be set by an external user here, it becomes an OTP calculation method such as BnTOTP = fh (A, TIDA, KC, Bn, BC, V, Bh, VU [TIDA]). Since VU [TIDA] exists as well as the KC value of the contract administrator, and variables that can be controlled only by the user and cannot be controlled by the contract administrator are included in OTP (BnTOTP), VU [TIDA] specified by the user is included. ] Values are respected (respecting the intention of the transaction sent by the user based on the voting value), and OTP or pseudo-random numbers can be generated, which can be used for OTP authentication systems and services using pseudo-random numbers.
In order to use VU [TIDA], a function that is a setter that only the user having the token with the token number TRIDA can change VU [TIDA] is required.
(The voting variable VOTE [TIDA] and the VU [TIDA] used on the member site are treated the same as variables that can be set by the user.)

具体的に実施する場合、1つの例として以下の式でハッシュ関数にSHA−2のSHA256を用いてBnTOTPrnvとするハッシュ値は表現される。
BnTOTPrnv = SHA256( EncodePacked(A,TIDA,KC,Bn,V,VU[TIDA]) )。
ここで、ユーザー識別子A、トークン番号TIDA、シークレット変数KC、パスワードの生成及び認証時の最新のブロック番号Bn、
ブロックチェーンノード間の投票により決まる値V、ユーザーが保有し利用する番号TIDAのトークンの投票できるシード値VU[TIDA]である。
BnTOTPrnvはオンラインゲームのログイン用ワンタイムパスワードや、ログイン後のオンラインゲーム内での疑似的なランダムさを決める数値に利用できる。
When specifically implemented, as an example, the hash value set to BnTOTPrnv by using SHA256 of SHA-2 as the hash function is expressed by the following formula.
BnTOTPrnv = SHA256 (EncodePacked (A, TIDA, KC, Bn, V, VU [TIDA])).
Here, the user identifier A, the token number TIDA, the secret variable KC, the latest block number Bn at the time of password generation and authentication,
The value V determined by voting between blockchain nodes, and the seed value VU [TIDA] at which the token of the number TIDA owned and used by the user can be voted.
BnTOTPrnv can be used as a one-time password for logging in to an online game or a numerical value that determines pseudo randomness in the online game after login.

前記VU[TIDA]を引数に持ったワンタイムパスワードBnTOTPはオンラインゲームの管理者の制御の及ばない変数であり、管理者が不正に書き換えてゲームプレイヤーに対し不利になるような値を設定することはできない。 The one-time password BnTOTP having VU [TIDA] as an argument is a variable that is beyond the control of the online game administrator, and the administrator illegally rewrites it to set a value that is disadvantageous to the game player. Can't.

補足として管理者がプレイヤーを欺いて、管理者もVU[TIDA]を変更できる様に関数をコントラクトのデプロイ時に設定できてしまうとこの前提は崩れる。ログイン及び擬似乱数生成用のトークンを管理するものとゲームの管理者を分けることが好ましい。またコントラクトは秘匿化されていることが好ましく、さらに好ましくは秘匿化されている変数とその変数を変えるトランザクション以外はコントラクトの処理内容が公開できると好ましい。ユーザーの設定したVU[TIDA]に関するトランザクションも設定したユーザー以外には閲覧できないようにすること(投票した値の秘密を保持する事、秘密投票できること)が好ましい。
本発明を端末3Cのコンピュータゲームサーバのログイン権および擬似乱数生成器に用いる場合、あるいは端末4Aで暗号データを復号して実行できるコンピュータゲームの所有権及び擬似乱数生成器に用いる場合や、オンラインゲームを配信する端末3Cについてその乱数制御部を一部オープンソースとすることもあってもよい。
As a side note, this assumption breaks if the administrator can deceive the player and set the function when deploying the contract so that the administrator can also change the VU [TIDA]. It is preferable to separate the administrator of the game from the one that manages the tokens for login and pseudo-random number generation. Further, it is preferable that the contract is concealed, and more preferably, it is preferable that the processing contents of the contract can be disclosed except for the concealed variable and the transaction that changes the variable. It is preferable that the transaction related to the VU [TIDA] set by the user cannot be viewed by anyone other than the set user (keeping the secret of the voted value and being able to secretly vote).
When the present invention is used for a login right and a pseudo-random number generator of a computer game server of the terminal 3C, or when it is used for a computer game ownership and a pseudo-random number generator which can decrypt and execute encrypted data on the terminal 4A, or an online game. The random number control unit of the terminal 3C that distributes the game may be partially open source.

補足として本発明の実施例で利用したイーサリアムではメインネットとテストネットを問わずすべてのコントラクト内部変数と関数や処理の内容、トランザクションが外部のユーザーから閲覧できるため、コントラクトの管理者はコントラクトの処理内容を隠すことが困難である。
投票によって決まる変数VやVU[TIDA]を設定する理由の一つとして、イーサリアムのように全てのトランザクション、コントラクトの変数と処理内容が公開されており、あるユーザーのワンタイムパスワードのシード値が算出できそうであっても、ノード間の投票で決まる値としてBlockGasLimit値をVとして採用し、さらにVU[TIDA]をユーザーが任意の時間任意の値に変えうるようにすることで、攻撃者が将来のパスワードの予想を困難にする狙いがある。
なお本発明を好ましく実施するにはコントラクトやトランザクションが秘匿化されたブロックチェーンが好ましい。
銀行など金融分野では秘匿化されたブロックチェーンなど分散型台帳システムにおいて本発明の認証システムと認証装置を構築することがおおいに好ましい。
As a supplement, in Ethereum used in the embodiment of the present invention, all contract internal variables, functions, processing contents, and transactions can be viewed by an external user regardless of the main net or test net, so that the contract administrator can process the contract. It is difficult to hide the contents.
As one of the reasons for setting variables V and VU [TIDA] determined by voting, all transactions and contract variables and processing contents are disclosed like Ethereum, and the seed value of a user's one-time password is calculated. Even if it seems possible, by adopting the BlockGasLimit value as V as the value determined by voting between nodes, and by allowing the user to change VU [TIDA] to any value at any time, the attacker can change it to any value in the future. The aim is to make it difficult to predict the password.
In order to preferably implement the present invention, a blockchain in which contracts and transactions are concealed is preferable.
In the financial field such as banks, it is highly preferable to construct the authentication system and the authentication device of the present invention in a distributed ledger system such as a concealed blockchain.

補足として分散型台帳記録部300Aのデータの連結構造にブロックチェーン型ではなくDAG型を用いる場合、Bnが利用出来ない場合にはBnのかわりにコントラクト管理者が変更できるBCをOTP計算のシード値に用い、時刻の経過に応じて定期的にBCの数値をインクリメントするなどしてスマートコントラクト内部のシード値の変数を変更することができる。
またVU[TIDA]をBCと同じくOTP計算のシード値に用いることができる。オンラインゲームに限らず、ログイン後のサービスがランダムさを求める場合には本発明のスマートコントラクトにおいて生成されるワンタイムパスワードを基に疑似的なランダム値を利用できる。
As a supplement, when using the DAG type instead of the blockchain type for the data connection structure of the distributed ledger recording unit 300A, if Bn is not available, the contract administrator can change BC instead of Bn as the seed value for OTP calculation. The seed value variable inside the smart contract can be changed by periodically incrementing the BC value according to the passage of time.
Further, VU [TIDA] can be used as a seed value for OTP calculation as in BC. Not limited to online games, when the service after login requires randomness, a pseudo random value can be used based on the one-time password generated by the smart contract of the present invention.

<4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用>
紙などに情報を固定された形で印刷し入場等に利用するパスワードを生成させるにはブロック番号Bnに同期するワンタイムパスワードでは認証の実施が困難になる恐れがあった。そこで各トークン番号もしくは各ユーザー識別子に対応した時刻には同期しないが任意の時間に変えることの出来る半固定式のパスワードOWPを利用する。図8Bに端末や装置の接続例を記載する。ここで説明のため主に図8Bや図3AAと図3ABと図3ACと図3Dと図3DAを説明に用いる。
<4B. Use as paper or IC-type admission ticket, ticket, unlocking key to entrance and building equipment>
In order to print information in a fixed form on paper or the like and generate a password to be used for admission, there is a risk that it will be difficult to perform authentication with a one-time password synchronized with the block number Bn. Therefore, a semi-fixed password OWP that is not synchronized with the time corresponding to each token number or each user identifier but can be changed to an arbitrary time is used. FIG. 8B shows a connection example of a terminal or a device. Here, for the sake of explanation, FIG. 8B, FIG. 3AA, FIG. 3AB, FIG. 3AC, FIG. 3D, and FIG. 3DA are mainly used for explanation.

具体的にはブロックチェーンのある時刻において変更されうる変数TBのうち、ブロック番号Bnの代わりに、コントラクトの管理を行う権限をもつ端末1Cの秘密鍵101Cから計算されるユーザー識別子Cのユーザーのみがアクセス出来るセッターとなる関数fscb3012Aを備え、ユーザー識別子Cであるコントラクト管理を行うユーザーのみがブロックチェーン上で任意の時刻において書き換えることの出来る変数BC値3013Aを備え、BCをブロック番号Bnの代わりに用いるパスワードOWPを入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用する。
ここでOWPは管理者変更型ワンタイムパスワードであり、管理者が変更しない場合には固定されたパスワードとなる。OWPは管理者が定期的(60秒ごと10分毎など)に更新する場合はTOTPに近づく動的なパスワードになりうる。BCはOWPをTOTP的(BnTOTP的)に扱うときは管理者や指定したユーザーもしくはすべてのユーザーが書き換えることができてもよい。
しかしOWPをTOTP的にではなく紙のチケット18Aや金庫や自動車の鍵19Aに用いる場合はBCをTOTP(BnTOTP)の様に短期間で書き換えられてしまうとOWPによる認証ができないのでコントラクトの管理者がBCを変更するかどうか決定しある時刻に変更する。
なおBnTOTPを用いてOWPを再現するときはブロック番号Bnを符号なし整数の変数Mで割った剰余rを用い、Bnをからrを減算しBnrとして(Bn−m=Bnrとして)Bnrを求め、前記BnrをBnの代わりにBnTOTP=fh( A,TIDA, KC, Bnr)として計算する際に、変数Mを著しく増大させ、Mを操作することで数週間、数カ月、数年といった時間にわたり同一の値のBnTOTPを生成・表示・認証させることもできる。
前記のBnTOTPではある月数や年数が過ぎて設定されたブロック番号を超えるとBnrが変化し自動的にBnTOTPが変化する。ただしこの場合でもBnTOTPを設定するKCなどが漏洩した場合に備えKCをコントラクトの管理者が設定できるようにするというOWP式と似た機能は必要になる。また端末3Dがブロックチェーンと接続できず正しいブロック番号や時刻が測定できない場合はBnTOTP方式は利用が困難であり端末3Dに設定されたOTP認証関数3018DAを用いるOWP方式を利用することが好ましいかもしれない。
Specifically, among the variables TB that can be changed at a certain time in the blockchain, only the user with the user identifier C calculated from the private key 101C of the terminal 1C having the authority to manage the contract instead of the block number Bn. It has a function fscb3012A that is an accessible setter, has a variable BC value 3013A that can be rewritten at any time on the blockchain only by the user who manages the contract, which is the user identifier C, and uses BC instead of the block number Bn. Password OWP is used as a paper or IC-type admission ticket, usage ticket, and unlocking key for entrances and building facilities.
Here, OWP is an administrator-changeable one-time password, and if the administrator does not change it, it is a fixed password. OWP can be a dynamic password that approaches TOTP if the administrator updates it on a regular basis (such as every 60 seconds or every 10 minutes). When BC treats OWP in a TOTP-like manner (BnTOTP-like), it may be rewritten by an administrator, a designated user, or all users.
However, when OWP is used for paper ticket 18A or safe or car key 19A instead of TOTP, if BC is rewritten in a short period of time like TOTP (BnTOTP), OWP authentication cannot be performed, so the contract administrator. Determines whether to change the BC and changes it at a certain time.
When reproducing OWP using BnTOTP, use the remainder r obtained by dividing the block number Bn by the variable M of an unsigned integer, subtract r from Bn, and obtain Bnr as Bnr (as Bn−m = Bnr). When calculating the Bnr as BnTOTP = fh (A, TIDA, KC, Bnr) instead of Bn, the variable M is significantly increased, and by manipulating M, the same over a period of weeks, months, years, etc. It is also possible to generate / display / authenticate the value BnTOTP.
In the above-mentioned BnTOTP, when a certain number of months or years have passed and the set block number is exceeded, Bnr changes and BnTOTP changes automatically. However, even in this case, a function similar to the OWP formula that allows the contract administrator to set the KC in case the KC that sets the BnTOTP leaks is required. If the terminal 3D cannot be connected to the blockchain and the correct block number and time cannot be measured, it is difficult to use the BnTOTP method, and it may be preferable to use the OWP method using the OTP authentication function 3018DA set in the terminal 3D. No.

前記パスワードOWPを計算するには少なくとも以下の4つの変数をハッシュ関数fhの引数に利用しパスワードOWPを生成する。
ワンタイムパスワード生成にはトークン番号TIDA、
コントラクトに記録されたシークレットキー情報KC、
コントラクト管理者がある時刻に変えることの出来る変数BCの3つの変数を必ず用いる。
そして端末1Aの秘密鍵101Aから計算されるユーザー識別子Aを4番目の変数に加え、ユーザーUAのトークン番号TIDAのOTPトークンに固有のパスワードにできる。
TIDA、KC、BC、Aの4つをハッシュ関数fhの引数として、パスワードOWP=fh( TIDA, KC, BC,A)としてハッシュ値OWPを生成し、OTP生成関数はそれを戻り値として端末1AにOWPを伝える。ここでOWPを符号なし整数として型変換し、例えば7桁のパスワードとして10の7乗で割ったあまりを7桁数字のパスワードOWP−n7として伝えることもできる。ここで7桁ではなくn桁の場合はOWP−nと表記する。ハッシュ関数は実施例ではSHA256やSHA−3である。
実施例では引数の順に変数をエンコードし結合しそのデータのハッシュ値をSHA256関数などで求めている。エンコード順によりメッセージ情報は変わるので、引数をどのような順番でエンコードするかによってハッシュ値も変化する。
本発明ではパスワードOWPになるハッシュ値を生成する変数がTIDA、KC、BC、Aの4つに由来していればよい。すなわちTIDA、KC、BC、Aを演算し、変数のデータの一部を省略し、またはハッシュ関数によってハッシュ化し加工し匿名化されたデータを引数としてもよい。
To calculate the password OWP, at least the following four variables are used as arguments of the hash function fh to generate the password OWP.
Token number TIDA, for one-time password generation
Secret key information recorded in the contract KC,
Be sure to use the three variables BC, which can be changed at a certain time by the contract administrator.
Then, the user identifier A calculated from the private key 101A of the terminal 1A can be added to the fourth variable to make a password unique to the OTP token of the user UA token number TIDA.
The hash value OWP is generated with the password OWP = fh (TIDA, KC, BC, A) using the four arguments TIDA, KC, BC, and A as the arguments of the hash function fh, and the OTP generation function uses it as the return value to generate the terminal 1A. Tell OWP to. Here, OWP can be type-converted as an unsigned integer, and for example, a 7-digit password divided by 10 to the 7th power can be transmitted as a 7-digit number password OWP-n7. Here, in the case of n digits instead of 7 digits, it is expressed as OWP-n. The hash function is SHA256 or SHA-3 in the examples.
In the embodiment, the variables are encoded and combined in the order of the arguments, and the hash value of the data is obtained by the SHA256 function or the like. Since the message information changes depending on the encoding order, the hash value also changes depending on the order in which the arguments are encoded.
In the present invention, it is sufficient that the variables that generate the hash value that becomes the password OWP are derived from four variables, TIDA, KC, BC, and A. That is, TIDA, KC, BC, and A may be calculated, a part of the variable data may be omitted, or the data hashed and processed by a hash function and anonymized may be used as an argument.

重要な点としてユーザー識別子Aを変数に加えた場合はトークンを譲渡するとハッシュ値を算出するシード値(OTPを計算するハッシュ関数の引数)のうちユーザー識別子部分が変化するため異なるパスワードOWPが生成される。
例えば、ユーザー識別子AとBとCではそれぞれ識別子が異なるため引数にユーザー識別子を用いるOWPを生成するOTPトークンをAからBに譲渡できたとき、ユーザー識別子BがOTP生成関数で生成したOTPとAがOTP生成関数で生成したOTPは異なる値となる。
一方で、ユーザー識別子をハッシュ関数fhの引数に利用しない場合は、異なるユーザー識別子のユーザーにトークンを送信し譲渡すると半固定式パスワードOWPの内容が変わらないため、同じパスワード値を共有してしまう。
例えると固定された秘密にされるべき暗証番号の書かれた紙や複製容易な金属製の鍵を譲渡するのと同じであり、紙に書かれた情報を複製したり、金属製鍵の形状をもとに合鍵が作製されていき、トークンが流通している場合にはその流通の途中で解錠可能な合鍵が無数に複製できてしまう。前記の鍵情報の複製を防ぐためユーザー識別子AをOTPを計算するハッシュ関数fhの引数に含めたり、もしくはユーザー識別子を含めない場合でもコントラクトの管理者が関数fscb3012Aを用いて手動である時刻ごとにBC値3013Aを書き換えていくことが求められる。
変数BCをあるおおよその時刻、おおよその時間間隔で、手動もしくはコントラクトCの管理者が自動化プログラムを用いてアクセスし変更する場合にはパスワードOWPはTOTPに近いものになる。例としてコントラクトCの管理者が擬似乱数を用いた自動化プログラムを用いておおよそ1日ごと、1週間ごと、1カ月ごと、数年ごとに定期更新することもでき、定期更新時の具体な日付の決定は擬似乱数を利用しながら決定しシード値を変えることも想定される(大まかにシード値の変更時期は決定しているがその詳細な変更時刻はランダム値やヒトの意志により決める)。これによりランダムさを伴った疑似的なTOTPによる認証システムが提供できる。
The important point is that when the user identifier A is added to the variable, a different password OWP is generated because the user identifier part of the seed value (argument of the hash function that calculates OTP) that calculates the hash value changes when the token is transferred. To.
For example, since the user identifiers A, B, and C have different identifiers, when the OTP token that generates the OWP using the user identifier as an argument can be transferred from A to B, the user identifier B generates the OTP and A by the OTP generation function. However, the OTP generated by the OTP generation function has a different value.
On the other hand, when the user identifier is not used as the argument of the hash function fh, the same password value is shared because the contents of the semi-fixed password OWP do not change when the token is transmitted and transferred to a user with a different user identifier.
It is the same as transferring a paper with a fixed secret code or a metal key that is easy to duplicate, and it is the same as copying the information written on the paper or the shape of the metal key. The key is created based on the above, and if the token is distributed, innumerable unlockable keys can be duplicated in the middle of the distribution. To prevent duplication of the key information, the user identifier A is included in the argument of the hash function fh that calculates the OTP, or even if the user identifier is not included, the contract administrator uses the function fscb3012A to manually perform each time. It is required to rewrite the BC value 3013A.
If the variable BC is accessed and changed manually or at an approximate time interval by the administrator of the contract C using an automated program, the password OWP will be close to TOTP. As an example, the administrator of Contract C can use an automated program that uses pseudo-random numbers to perform periodic updates approximately every day, week, month, or several years, and the specific date at the time of periodic update can be updated. It is assumed that the decision is made using pseudo-random numbers and the seed value is changed (the seed value change time is roughly decided, but the detailed change time is decided by the random value or human will). This makes it possible to provide a pseudo TOTP authentication system with randomness.

<パスワード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を用いることもできる。)
<Password OWP authentication and authentication result call>
The password OWP can also be authenticated in the same way as the BnTOTP used for the login process on the website. The user terminal 1A accesses a contract including an OTP generation function of the OWP type OTP token of the terminal 3A, and generates an OWP type OTP by the generation function. Then, the OWP, the user identifier A, and the token number TIDA generated by the generation function are accessed in the 3D (access control terminal 3D) that provides the service, and are input to the argument of the OTP authentication function 3018DA.
Next, TIDA, KC, BC, and A are hashed inside the OTP authentication function 3018A from A and TIDA input in the argument of the OTP authentication function and ArgOWP (or n-digit integer value password ArgOWP-n) input in the argument. The function fh is used to obtain VeriOWP (or n-digit integer value password VeriOWP-n), and it is determined whether ArgOWP (or ArgOWP-n) matches VeriOWP (or VeriOWP-n) by a conditional expression using an IF statement or the like. If they match, you can also perform the processing when authentication is possible. If they do not match, the processing is performed when authentication cannot be performed.
This process is similar to logging in to the website distributed by the terminal 3C using BnTOTP, but when logging in to the website distributed by the terminal 3C connected to the network using BnTOTP, the node terminal 3A 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.
(3018A or 3018AA can also be used when the terminal 3D can connect to the network 20 and connect to the node 3A.)

<OWPを用いた紙製のチケット等の有価紙葉18Aの製造と利用、ICタグ19A等デジタル機器による認証>
ネットワーク20を通じて端末1Aとサーバ3Aを用いてブロックチェーン上のOTP生成コントラクトからパスワードOWPをOTP生成関数3009Aから生成する。そして生成されたパスワードOWPとユーザー識別子A、トークン番号TIDAを文字列またはバーコードまたはその両方をプリンターなどを用いて紙等に印刷し、紙のチケットもしくは有価紙葉18Aを製造する。この時、印刷された18AにはOTP生成コントラクト識別子やOTP生成トークンと対応するサービスの名称、印刷日時、有価紙葉の有効期限、サービス提供者の名称と連絡先、誤り訂正符号やMAC値等のサービスを提供するために必要な情報が印刷されていてもよい。
また有価紙葉18Aのバーコードに含まれる情報やICタグ19Aに含まれる文字列情報のデータはOWP、A、TIDAの各変数を区切るための区切り文字を含んでいてもよい。またバーコードのデータを一部またはすべて、認証するサービス提供者のみが暗号化の鍵を知る形で暗号化していてもよい。
<Manufacturing and use of valuable paper leaves 18A such as paper tickets using OWP, certification by digital devices such as IC tag 19A>
The password OWP is generated from the OTP generation function 3009A from the OTP generation contract on the blockchain using the terminal 1A and the server 3A through the network 20. Then, the generated password OWP, the user identifier A, and the token number TIDA are printed on paper or the like using a character string, a barcode, or both, and a paper ticket or a valuable paper leaf 18A is manufactured. At this time, the printed 18A contains the OTP generation contract identifier, the name of the service corresponding to the OTP generation token, the printing date and time, the expiration date of the valuable paper leaf, the name and contact information of the service provider, the error correction code, the MAC value, etc. The information necessary to provide the service of the above may be printed.
Further, the information included in the barcode of the valuable paper leaf 18A and the data of the character string information included in the IC tag 19A may include a delimiter for separating each variable of OWP, A, and TIDA. Further, only a part or all of the barcode data may be encrypted so that only the service provider who authenticates knows the encryption key.

有価紙葉18Aに含まれるOWP、A、TIDAの各変数をバーコードとして表示して印刷する場合は好ましくは2次元バーコードであり、複数または一つの1次元バーコードでもよく、カメラ等光学撮像素子430Dにて認証に用いる18Aに印刷もしくは印字されたバーコードとそのバーコードが含む数値や文字列情報を読み取ることができればよい。 When each variable of OWP, A, and TIDA contained in the valuable paper sheet 18A is displayed and printed as a bar code, it is preferably a two-dimensional bar code, and may be a plurality of or one one-dimensional bar code, and optical imaging by a camera or the like. It suffices if the element 430D can read the barcode printed or printed on 18A used for authentication and the numerical value or character string information included in the barcode.

有価紙葉18Aに含まれるOWP、A、TIDAの各変数をバーコードとして表示して1Aのディスプレイ150Aの画面1500Aに表示してもよい。1500Aの表示内容を印刷し18Aとしてもよい。
1500Aのディスプレイ画面と1500Aの表示画面を印刷した18Aは端末3Dの340Dにバーコード(あるいは文字列)を読み取らせることで端末3Dへユーザー識別子Aとトークン番号TIDAとパスワードOWPを伝えてもよい。
Each variable of OWP, A, and TIDA included in the valuable paper sheet 18A may be displayed as a barcode and displayed on the screen 1500A of the display 150A of 1A. The display content of 1500A may be printed and set to 18A.
The 18A printed with the display screen of 1500A and the display screen of 1500A may convey the user identifier A, the token number TIDA, and the password OWP to the terminal 3D by having the terminal 3D 340D read the barcode (or character string).

有価紙葉18Aに記録するユーザー識別子Aとトークン番号TIDAとパスワードOWPの情報はNFCタグ19A(ICタグ・ICカード19A)の記録装置に記録されていてもよい。そして19Aはサービスを提供する端末3Dの通信装置32Dや341Dを介して端末3Dと通信しユーザー識別子Aとトークン番号TIDAとパスワードOWPを端末3Dに伝えてもよい。 The information of the user identifier A, the token number TIDA, and the password OWP to be recorded on the valuable paper sheet 18A may be recorded in the recording device of the NFC tag 19A (IC tag / IC card 19A). Then, 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.

有価紙葉18Aを端末3Dのカメラ・スキャナ装置340Dに提示し、あるいはNFCタグ19Aを341Dおよび32Dに提示したユーザーUAに対し、
端末3Dが18Aに記載されたユーザー識別子Aやトークン番号TIDAとパスワードOWPの情報を340Dを経由して読み取り端末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を実行するときは実行させる。
また3018DAに入力されたArgOWPとVeriOWPが一致するか判定し、一致しないときにはOTP認証が失敗したときの戻り値3021DAを関数の戻り値として返す。
To the user UA who presented the valuable paper leaf 18A to the camera / scanner device 340D of the terminal 3D, or presented the NFC tag 19A to the 341D and 32D.
The terminal 3D reads the information of the user identifier A, the token number TIDA and the password OWP described in 18A via 340D, and the argument TIDA and the user identifier A of the authentication function 3018DA (3018DA in FIG. 3DA) of the storage device 30D of the terminal 3D. , Pass the variable as password ArgOWP,
Inside the OTP authentication function 3018DA, according to the process shown in FIG. 6F or FIG. 6D, the seed value of a secret variable such as KC recorded in the terminal 3D for ArgOWP and the user identifier A or token number TIDA as an argument of 3018DA are used for VeriOWP. Is calculated, and it is determined whether the ArgOWP and the VeriOWP input to 3018DA match.
When they match, the return value 3021DA when OTP authentication is successful is returned as the return value CTAU of the function, and when 3022DA is executed before returning 3021DA, it is executed.
Further, it is determined whether ArgOWP and VeriOWP input to 3018DA match, and if they do not match, the return value 3021DA when OTP authentication fails is returned as the return value of the function.

端末3Dは3018DAの関数の戻り値3021DAや3022DAに従って、OTP認証が成功した場合の3021DAを得たとき、有価紙葉18Aをカメラ340Dに提示もしくはNFCタグ19Aを341Dおよび32Dに提示したユーザーUAに対して、アクセス制御装置または始動装置または開閉装置もしくは施錠及び解錠を行う施解錠装置350Dを操作する。
3021DAがOTP認証が成功した場合の値であるとき、端末3Dは開閉や施錠等のアクセス制御を行う部分350Dに対し制御を行い、改札や入場口ではユーザーUAが入場・退場出来るようゲート装置を開閉する。施錠等のアクセス制御を行う部分350Dが建物の扉や自動車のドア、自動車の原動機や電子計算機の始動装置である場合はその施錠を解錠し、装置や施設や設備の利用を可能にする。施錠された部分350Dが金庫など容器であるときは金庫の施錠を解錠する。
When the terminal 3D obtains 3021DA when OTP authentication is successful according to the return values 3021DA and 3022DA of the function of 3018DA, the valuable paper leaf 18A is presented to the camera 340D or the NFC tag 19A is presented to the user UA presented to 341D and 32D. On the other hand, the access control device, the starting device, the opening / closing device, or the locking / unlocking device 350D for locking and unlocking is operated.
When 3021DA is the value when OTP authentication is successful, the terminal 3D controls the part 350D that controls access such as opening / closing and locking, and at the ticket gate and entrance, a gate device is installed so that the user UA can enter / exit. Open and close. If the part 350D that controls access such as locking is a building door, a car door, a car prime mover, or a starting device for a computer, the lock is unlocked so that the device, facility, or equipment can be used. When the locked part 350D is a container such as a safe, the lock of the safe is unlocked.

3021DAがOTP認証が成功した場合の値であるとき、端末3Dは施錠された部分350Dを解錠するとともに351Dや352Dを用いて光や音にてユーザーUAや端末3Dの周囲に解錠ができたことを知らせることができる。
3021DAがOTP認証が失敗し入場できない場合の値の場合、351Dや352Dを用いてOTP認証が失敗した場合の光や音もしくは無線標識を発して認証が失敗したユーザーの存在を周囲に知らせることができる。
さらに防犯カメラ等342Dを利用できる端末3Dでは18Aや19Aを端末3Dに提示したユーザーUAの風貌の撮影などもできる。342Dを用いる用途として大型金庫・金庫室やコンピュータ端末・産業用の加工装置など装置や設備、建物の扉など施錠装置、自動車の施錠装置、改札や入場口(入場口・退場口、入退場口)である。
342Dを用いるのが困難であり、用いないこともある例としては電源の制約やプライバシーに配慮した建物や自動車の施錠装置や入場口であり、電池電源の制約があって342Dの大きさの制約から搭載することが困難な金庫(一部の家庭用金庫、手提げ金庫)など容器の施錠装置や、錠前型の施錠装置(南京錠型、ワイヤーロック型などの小型の錠前)である。
342Dを用いたカメラによる監視は本発明において必須ではないが、改札や入場口など防犯上必要である用途には利用されることが好ましい。
When 3021DA is the value when OTP authentication is successful, the terminal 3D can unlock the locked part 350D and unlock around the user UA or the terminal 3D by light or sound using 351D or 352D. I can tell you that.
If the value of 3021DA is the value when OTP authentication fails and you cannot enter, you can use 351D or 352D to notify the surroundings of the existence of the user who failed the authentication by emitting a light, sound or radio beacon when the OTP authentication fails. can.
Further, in the terminal 3D that can use 342D such as a security camera, it is possible to take a picture of the appearance of the user UA that presents 18A or 19A to the terminal 3D. Devices and equipment such as large safes, vaults, computer terminals, and industrial processing equipment, locking devices such as building doors, automobile locking devices, ticket gates and entrances (entrance / exit, entrance / exit) ).
Examples of cases where it is difficult to use 342D and may not be used are lock devices and entrances for buildings and automobiles that take into consideration power supply restrictions and privacy, and there are restrictions on battery power sources and size restrictions for 342D. It is a lock device for containers such as safes (some household safes and hand-held safes) that are difficult to install from, and lock-type lock devices (small locks such as padlock type and wire lock type).
Surveillance by a camera using 342D is not essential in the present invention, but it is preferably used for applications necessary for crime prevention such as ticket gates and entrances.

端末3Dに施錠を解除する装置350Dがなく、例えば入場口・退場口や改札口がヒトの手で警備され入退場を管理する場合においては3021DAがOTP認証が成功した場合の値であるとき、351Dや352Dを用いて光や音にてユーザーUAや端末3Dの周囲のユーザーや警備を行う者に解錠ができたことを知らせることができる。
また3021DAがOTP認証が失敗し入場できない場合の値の場合も、351Dや352Dを用いてOTP認証が成功した時とは異なる失敗した場合に専用の光や音を発して認証が失敗したユーザーの存在を周囲に知らせることができる。
さらに防犯カメラ等342Dを利用できる端末3DではユーザーUAの風貌の撮影などもできる。
When the terminal 3D does not have the device 350D for unlocking, for example, when the entrance / exit / ticket gate is guarded by human hands and the entrance / exit is managed, when 3021DA is the value when OTP authentication is successful. Using 351D or 352D, it is possible to notify the user UA, the user around the terminal 3D, or the person performing the security by light or sound that the unlocking has been completed.
Also, even if the value of 3021DA is the value when OTP authentication fails and you cannot enter, the user who failed the authentication by emitting a dedicated light or sound when the OTP authentication fails differently from the case where the OTP authentication succeeded using 351D or 352D. You can inform the surroundings of your existence.
Furthermore, with a terminal 3D that can use 342D such as a security camera, it is possible to take a picture of the appearance of the user UA.

ユーザーUAの風貌を記録する防犯カメラ342D(図8Bの342D)は駅の改札や入場口の入場処理などにおいて必要な機能であって、金庫などの容器に端末3Dを組み込む場合は防犯カメラ342Dは必要ない場合がある。また同じく自動車の施錠や建物の施錠装置に端末3Dを用いる際もプライバシーに配慮して搭載しないこともある。 The security camera 342D (342D in Fig. 8B) that records the appearance of the user UA is a necessary function for station ticket gates and entrance processing at the entrance, and when the terminal 3D is installed in a container such as a safe, the security camera 342D is used. It may not be necessary. Similarly, when the terminal 3D is used for locking a car or a building, it may not be installed in consideration of privacy.

端末3Dはサービスの提供状況をユーザ識別子A及びトークン番号TIDAとサービス提供時刻T、サービスを行った回数3017DA(もしくはサービスを行った回数とそのサービスの価格値、防犯カメラ342Dを用いるときはユーザーの風貌情報)とを対応付けて記録するデータベースもしくは台帳部3116Dを端末3Dを備えることが好ましい。
サービス提供時刻を正しく記録する場合にはJJYやGNSS、NITZ等を受信させ、あるいはヒトの手で端末3Dの時刻を補正する必要がある。端末3Dが電池で動作する場合は、電力の制限から時刻情報が使えないという理由でサービス提供時刻Tの記録を行わない形態も考えられる。金庫などに内蔵する端末3Dは時刻情報が使えない場合もありうる。
The terminal 3D determines the service provision status by the user identifier A, the token number TIDA, the service provision time T, the number of times the service is performed 3017DA (or the number of times the service is performed and the price value of the service, and when the security camera 342D is used, the user's. It is preferable that the terminal 3D is provided with a database or ledger unit 3116D for recording in association with (appearance information).
In order to correctly record the service provision time, it is necessary to receive JJY, GNSS, NITZ, etc., or to correct the time of the terminal 3D by human hands. When the terminal 3D operates on a battery, it is conceivable that the service provision time T is not recorded because the time information cannot be used due to the power limitation. The terminal 3D built in a safe or the like may not be able to use time information.

ただしデータベースまたは台帳部3116Dは家庭用金庫や手提金庫あるいは錠前といった用途に用いる場合は、端末3Dの制御装置・記憶装置の容量と価格などの経済性を考慮して3116Dを搭載しないことがある。
また電子計算機や自動車や建物の施錠装置もしくは金庫等容器に備えられた端末3Dの3116Dの情報から、何回解錠処理・始動処理を行ったか、あるいはどの時刻に何回解錠処理を行ったかを端末1Aの有線通信装置(無線通信装置でも可)を用いて端末3Dにアクセスすることで端末1Aの利用者が知ることができるかもしれない。有線通信のほかに端末1Aと端末3Dの間で暗号化された無線通信を行い3Dの状態や解錠処理の履歴を調べることができる。3116Dといった端末3Dの解錠履歴から1Aのユーザー以外のユーザーがOWPを用いたNFCタグ19Aを用いて不正に解錠されていたかどうかを知ることができる。
端末3Dに紙等による解錠鍵18Aを読み取るカメラが備えられている場合は紙等による解錠鍵18Aを用いて解錠されたかどうかが分かる。
However, when the database or ledger unit 3116D is used for a household safe, a hand-held safe, or a lock, the 3116D may not be installed in consideration of economic efficiency such as the capacity and price of the control device / storage device of the terminal 3D.
In addition, how many times the unlocking process / starting process was performed, or at what time and how many times the unlocking process was performed, based on the information of the terminal 3D 3116D provided in the lock device of a computer, an automobile or a building, or a container such as a safe. May be known to the user of the terminal 1A by accessing the terminal 3D using the wired communication device (a wireless communication device is also possible) of the terminal 1A. In addition to wired communication, encrypted wireless communication can be performed between the terminal 1A and the terminal 3D to check the 3D status and the history of unlocking processing. From the unlocking history of the terminal 3D such as 3116D, it is possible to know whether or not a user other than the user of 1A has been illegally unlocked by using the NFC tag 19A using OWP.
When the terminal 3D is equipped with a camera that reads the unlocking key 18A made of paper or the like, it can be known whether or not the unlocking key 18A is made of paper or the like.

端末3Dは改札や入場口の端末として利用される際に、端末3Dがネットワーク20に接続され端末3Aと接続できるとき、端末3Cのウェブサイトへのログイン監視部と同じく不正なアクセスおよび入場を監視する機能を301Cや311Cの内部に備えることもできる。
また3Cや3Dはネットワーク20に接続している場合にノードとなる端末としての装置を備えているときに3Aや3Bと同じくブロックチェーンのノードとなることができ、その際にはブロックチェーンに関する記録部と制御部(300Dや300Cと310Dや310C)を持つこともできる。
When the terminal 3D is used as a ticket gate or an entrance terminal, when the terminal 3D is connected to the network 20 and can be connected to the terminal 3A, it monitors unauthorized access and entry like the login monitoring unit for the website of the terminal 3C. It is also possible to provide a function to perform the function inside the 301C or 311C.
Further, 3C and 3D can be a blockchain node like 3A and 3B when equipped with a device as a terminal that becomes a node when connected to the network 20, and in that case, a record about the blockchain. It is also possible to have a unit and a control unit (300D, 300C, 310D, 310C).

端末3Dは改札や入場口として利用される際に、3Dが改札や入場口を持つ施設内のローカルエリアネットワークに接続されるとき、
端末3Aのブロックチェーンに関する記録部と制御部と同じブロックチェーン基盤を用いた3Aや3Bに記載されるブロックデータとは異なるブロックチェーン部300Dと310Dを持ち、
前記300Dの内部には、ネットワーク20上で端末1Aが端末3AにアクセスしOWPを生成するのに用いるハッシュ関数fhやシード値KCやBCなどをもつ認証関数3018DAを持つ3008AAに類似の認証コントラクトを備えていてもよい。
端末3AにOTP生成トークンのコントラクト3008AGをデプロイし、端末3Dに3008AGと同じ方法でOTPの計算を行い認証するOTP認証関数3018DAを備えた認証コントラクトをデプロイし前記二つのコントラクトのシード値を同期させ1500Aや18Aや19Aの認証を行い入場などの処理を行ってもよい。
When the terminal 3D is used as a ticket gate or entrance, when 3D is connected to the local area network in the facility that has the ticket gate or entrance.
It has blockchain units 300D and 310D that are different from the block data described in 3A and 3B using the same blockchain board as the recording unit and control unit related to the blockchain of the terminal 3A.
Inside the 300D, an authentication contract similar to 300AA having a hash function fh used by the terminal 1A to access the terminal 3A and generate an OWP on the network 20 and an authentication function 3018DA having a seed value KC, BC, etc. is provided. You may be prepared.
Deploy the OTP generation token contract 3008AG to the terminal 3A, deploy the authentication contract with the OTP authentication function 3018DA that calculates and authenticates the OTP in the same way as the 30008AG, and synchronize the seed values of the two contracts. You may perform processing such as admission by authenticating 1500A, 18A, and 19A.

<ICタグ等デジタル機器による認証>
NFCタグ19Aは近距離無線通信装置(NFC装置)としてユーザー識別子、トークン番号、パスワードOWPを書き込むことの出来る接触式ICカード、非接触式ICタグ(RFIDタグ)、非接触式ICカード(RFIDカード)が利用できる。
<Authentication by digital devices such as IC tags>
The NFC tag 19A is a contact type IC card, a non-contact type IC tag (RFID tag), and a non-contact type IC card (RFID card) on which a user identifier, a token number, and a password OWP can be written as a short-range wireless communication device (NFC device). ) Is available.

NFCタグ19Aは自動車等に使われうる。自動車に対し19Aを用いてリモートコントロールにて自動車に搭載された端末3DにOWP認証情報を暗号化された無線通信により送信し3DでOWPの認証を行い自動車の施錠装置350を解錠しあるいは原動機を始動させる用途に用いる場合、19Aは電池を備え、解錠もしくは施錠またはその両方を入力できる押しボタン等の入力装置を備え、ボタンを押したときに無線にて通信していること(および電池が消耗しているかどうか)を示す出力装置として発光ダイオード等の発光素子を備える。ここで自動車の鍵は19Aの一つの例であり建物の扉や金庫あるいは設備にも利用されうる。
端末3Dが自動車の施錠や始動を管理する端末である場合を例とすると、前記端末3Dは電気自動車のドアの施錠を解除し電気自動車のモータを動作させるモータ駆動回路を制御する端末でもよいし、エンジン車(熱機関を用いる自動車)のドアの施錠を解除しセルモータなど電動によりエンジンを始動させる装置の制御端末でもよいし、エンジンを減速もしくは徐々に停止させる制御を行える電子計算機端末でもよい。モータもしくはエンジンを航続距離や速度に応じて制御する端末3Dであって本発明の認証システムを用いて認証できたときに航続距離や速度上限といった制限をなくすことができてもよい。
The NFC tag 19A can be used for automobiles and the like. OWP authentication information is transmitted by encrypted wireless communication to the terminal 3D mounted on the vehicle by remote control using 19A for the vehicle, OWP authentication is performed in 3D, and the lock device 350 of the vehicle is unlocked or the prime mover. The 19A is equipped with a battery, an input device such as a push button that can be unlocked and / or locked, and communicates wirelessly when the button is pressed (and the battery). A light emitting element such as a light emitting diode is provided as an output device indicating (whether or not the device is worn out). Here, the car key is an example of 19A and can be used for building doors, safes or equipment.
Taking the case where the terminal 3D is a terminal that manages the locking and starting of the vehicle as an example, the terminal 3D may be a terminal that controls a motor drive circuit that unlocks the door of the electric vehicle and operates the motor of the electric vehicle. It may be a control terminal of a device such as a cell motor that unlocks the door of an engine vehicle (an automobile that uses a heat engine) and starts the engine electrically, or it may be an electronic 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 a cruising distance and a speed may be able to eliminate restrictions such as a cruising distance and a speed upper limit when authentication can be performed using the authentication system of the present invention.

NFCタグ19Aは電池や入出力装置を備えない形態も考えられる。例として19AはISO14443タイプBに準拠したカード型デバイスまたはタグ型デバイスであることも考えられる。
既知の技術としてISO14443タイプBという非接触ICカード技術では、カード型もしくはタグ型デバイスに通信および電力受信用のアンテナコイルが形成されている。電力の供給は電磁誘導によりNFCタグのリーダー・ライタ―(端末3Dにおいては3Dの通信装置32DもしくはNFCタグの信号受信部341D)からNFCタグ19Aのアンテナコイルを通じてNFCタグ19Aに供給されるので電池を利用しない。
The NFC tag 19A may not be equipped with a battery or an input / output device. As an example, 19A may be an ISO 14443 type B compliant card-type device or tag-type device.
As a known technique, in the non-contact IC card technique of ISO14443 type B, an antenna coil for communication and power reception is formed in a card type or tag type device. The power is supplied from the NFC tag reader / writer (in the terminal 3D, the 3D communication device 32D or the NFC tag signal receiver 341D) to the NFC tag 19A through the antenna coil of the NFC tag 19A by electromagnetic induction. Do not use.

NFC19Aは本発明のOTP認証のほかに別途必要な情報を備えていてもよい。具体的にはNFCタグ19Aに秘密鍵101A2を持ち、OWP型のOTP認証を行い自動車のドアの解錠後に原動機始動時にNFCにて通信し端末3Dが101A2を用いてインターネットワーク20と接続し、ブロックチェーンのノード3Aにて、101A2に割り当てられたBnTOTP型のOTPトークンを用いてTOTPによる認証を行い、ウェブサイトへのログインと同じく自動車のオペレーティングシステムにログインすることでを始動させ、自動車を起動させてもよい。前記の場合はネットワーク20に常時接続できることが条件となる。インターネットワーク20に接続される自動車において利用されうる。
自動車がBnTOTP型の認証を行い原動機を始動させる場合に、ネットワーク20が利用できない場合(通信障害や災害等の発生時)においてもユーザーUAがNFCタグ19Aを用いて自動車を動かせるようにする必要がある。そこでNFCタグ19Aに記憶されたユーザー識別子A、トークン番号TIDA、パスワードOWPをもちいてOWP型のOTP認証を行い、予め自動車製造者により設定された航続可能距離にしたがって自動車の走行させるといった制限を与えて原動機を始動させてもよい。
The NFC19A may include necessary information separately in addition to the OTP certification of the present invention. Specifically, the NFC tag 19A has a private key 101A2, OWP type OTP authentication is performed, and after unlocking the car door, the NFC communicates at the time of starting the prime mover, and the terminal 3D connects to the internetwork 20 using 101A2. At node 3A of the blockchain, authentication by TOTP is performed using the BnTOTP type OTP token assigned to 101A2, and the vehicle is started by logging in to the operating system of the vehicle in the same way as logging in to the website. You may let me. In the above case, it is a condition that the network 20 can be connected at all times. It can be used in automobiles connected to Internetwork 20.
When the car performs BnTOTP type authentication and starts the prime mover, it is necessary to enable the user UA to move the car using the NFC tag 19A even when the network 20 cannot be used (when a communication failure or disaster occurs). be. Therefore, OWP-type OTP authentication is performed using the user identifier A, token number TIDA, and password OWP stored in the NFC tag 19A, and restrictions are given such that the vehicle is driven according to the cruising range set in advance by the vehicle manufacturer. The prime mover may be started.

NFC19Aは本発明のOTP認証のほかに別途必要な装置や処理部を備えていてもよい。例としてISO14443タイプBとして動作させる装置や、自動車のキーレスエントリーシステムを実現するための無線通信装置および無線信号の暗号化などの処理は用途に応じて別途追加され利用される。 In addition to the OTP certification of the present invention, the NFC19A may be provided with a separately required device or processing unit. As an example, a device that operates as ISO14443 type B, a wireless communication device for realizing a keyless entry system for an automobile, and processing such as encryption of a wireless signal are separately added and used depending on the application.

本発明において近距離無線通信装置が用いる無線の周波数は本発明では特に制限しない。近距離無線通信装置は既知の無線通信技術によれば130kHz帯、13.56MHz帯、433MHz帯、900MHz帯、2,4GHz帯等を利用できる。無線周波数について具体的には13.56MHz帯を用いて非接触型のICタグ、NFCタグとして利用されるが、13.56MHz以外の無線周波数でもよい。例えば2.4GHz帯を利用してもよい。
NFCにかかわる規格の具体例として13.56MHz帯の規格としてISO/IEC18092、ISO14443タイプA、ISO14443タイプB等がある。2.4GHz帯ではIEEE(Institute of Electrical and Electronics Engineers )の802.11系や802.15.1系の既知の無線通信規格がありそれらを本発明で利用することもできる。
The radio frequency used by the short-range wireless communication device in the present invention is not particularly limited in the present invention. According to the known wireless communication technology, the short-range wireless communication device can use the 130 kHz band, 13.56 MHz band, 433 MHz band, 900 MHz band, 2, 4 GHz band and the like. Specifically, the radio frequency is used as a non-contact type IC tag or NFC tag using the 13.56 MHz band, but a radio frequency other than 13.56 MHz may be used. For example, the 2.4 GHz band may be used.
Specific examples of NFC-related standards include ISO / IEC18092, ISO14443 type A, and ISO14443 type B as standards for the 13.56 MHz band. In the 2.4 GHz band, there are known wireless communication standards of IEEE (Institute of Electrical and Electronics Engineers) 802.11 series and 802.15.1 series, which can also be used in the present invention.

本発明のNFCタグ19Aは実施形態では13.56MHZ帯と2.4GHz帯が利用されうる。NFCタグ19AはISO14443タイプBに準拠して10cm程度の距離で3Dの通信装置32Dおよび341Dと通信できる。しかしNFCタグ19Aが無線パーソナルエリアネットワーク(無線PAN、Wireless Personal Area Network)を用いる場合は通信距離は10cmを超えることもある。 In the embodiment of the NFC tag 19A of the present invention, the 13.56 MHZ band and the 2.4 GHz band can be used. The NFC tag 19A can communicate with the 3D communication devices 32D and 341D at a distance of about 10 cm in accordance with ISO14443 type B. However, when the NFC tag 19A uses a wireless personal area network (wireless personal area network), the communication distance may exceed 10 cm.

NFCタグ19Aがウェアラブルコンピュータ(Wearable Computer)端末に含まれていてもよい。もしくは19Aの機能をもつウェアラブルコンピュータ端末であってもよい。
例としてコンピュータ端末1Aとウェアラブルコンピュータ端末1BとNFCタグ19Aがあるとき、
NFCタグ19Aがウェアラブルコンピュータ端末1Bの16Bの外部記憶装置として接続され、16Bの代わりに19Aが12Bと接続され、
NFCタグ19Aの記憶装置に端末1Aが通信装置1Bを介してアクセスし、
OWPを用いた認証に必要なユーザー識別子、トークン番号、パスワードOWPを書き込む事が出来てもよい。
もしくはウェアラブルコンピュータ端末1Bがインターネットワーク20を介してサーバ端末3AにアクセスしOWPを生成した後、
前期パスワードOWP、ユーザー識別子、トークン番号を書き込むことが出来てもよい。
The NFC tag 19A may be included in the wearable computer terminal. Alternatively, it may be a wearable computer terminal having a function of 19A.
As an example, when there is a computer terminal 1A, a wearable computer terminal 1B, and an NFC tag 19A,
The NFC tag 19A is connected as an external storage device of 16B of the wearable computer terminal 1B, and 19A is connected to 12B instead of 16B.
The terminal 1A accesses the storage device of the NFC tag 19A via the communication device 1B, and the terminal 1A accesses the storage device.
It may be possible to write the user identifier, token number, and password OWP required for authentication using OWP.
Alternatively, after the wearable computer terminal 1B accesses the server terminal 3A via the internetwork 20 and generates an OWP, the wearable computer terminal 1B generates an OWP.
It may be possible to write the password OWP, user identifier, and token number of the previous term.

本発明で用いるウェアラブルコンピュータ(wearable computer)端末の種類(利用用途及び形状)に制限はないが主に腕輪型および腕時計型(腕輪もしくは型端末であるスマートウォッチにNFCタグ19Aの機能が備えられたもの)、指輪型(指輪もしくは指輪型端末にNFCタグ19Aが備えられたもの)、ベルト型(ベルトにNFCタグ19Aが備えられたもの)、衣服型(衣服にNFCタグ19Aが貼り付けもしくは編み込まれたもの、縫い付けられたもの)、靴型(履物の表面にNFCタグ19Aが備えらたもの、もしくは靴のインソール部分にNFCタグ19Aが備え付けられたもの)などである。 There is no limitation on the type (use and shape) of the wearable computer terminal used in the present invention, but the function of the NFC tag 19A is mainly provided to the bangle type and the watch type (smart watch which is a bangle or type terminal). (Things), ring type (ring or ring type terminal equipped with NFC tag 19A), belt type (belt equipped with NFC tag 19A), clothing type (NFC tag 19A is attached or woven to clothing) (Sewn, sewn), shoe type (NFC tag 19A on the surface of the footwear, or NFC tag 19A on the insole of the shoe).

例として、ヒトの頭部に関係するウェアラブルコンピュータとして帽子型・ヘルメット型、眼鏡型・ヘッドマウントディスプレイ型、補聴器・イヤホン型、マスク型、装身具型(ペンダント、首飾り、懐中時計型など)があり、装身具の例として社員証などの身分証となるNFCタグ19Aを入れたカードケースをペンダントのように身に着けるストラップを組み合わせた身分証型ネックストラップがある。
ヒトの手に関係するウェアラブルコンピュータとしてブレスレット型、腕時計型、手袋・グローブ型の19Aがある。
ヒトの足に関係するウェアラブルコンピュータとしてアンクレット型、靴下型、履物のインソール型、履物の表面にNFCタグ19Aを備えた履物型の19Aがある。
ヒトの衣服に用いる衣服型や身体の一部に巻くことで身に着けることができベルト型の19Aがある。身体の素肌や衣服に張り付けるシールもしくはテープ型の型のNFCタグ19Aでもよい。
Examples of wearable computers related to the human head include hat type / helmet type, eyeglass type / head-mounted display type, hearing aid / earphone type, mask type, and jewelry type (pendant, necklace, pocket watch type, etc.). As an example of jewelry, there is an identification type necklace that combines a card case containing an NFC tag 19A, which serves as an identification such as an employee ID, with a strap that can be worn like a pendant.
As wearable computers related to human hands, there are bracelet type, wristwatch type, and glove / glove type 19A.
As wearable computers related to human feet, there are anklet type, sock type, footwear insole type, and footwear type 19A having an NFC tag 19A on the surface of the footwear.
There is a garment type used for human clothes and a belt type 19A that can be worn by wrapping it around a part of the body. It may be a sticker attached to the bare skin of the body or clothes, or a tape-shaped NFC tag 19A.

ウェアラブルとは言えないが身に着けられる装置という観点から見た場合にNFCタグ19Aを備えたスマートフォン型やタブレット型の携帯型コンピュータ端末4Aでもよいし、社員証でもあるNFCタグ19Aや財布型NFCタグ19A、鞄型NFCタグ19Aでもよい。19Aをある装置やモノの内部に搭載することで認証に利用できる。もしくは粘着性のテープや接着剤を備えたNFCタグ19Aをある装置やモノの表面に張り付けられたNFCタグ19Aとして利用できる。
(例として紙のチケット18Aに、18Aと同じ情報を記録させたシール型・フィルム型19Aを粘着性のある両面テープや接着剤で張り付けることで、ヒトの目による目視、カメラによる読み取り、NFCによる読み取りに対応した紙のチケットを製作できる。)
From the viewpoint of a device that can be worn, although it is not wearable, it may be a smartphone-type or tablet-type portable computer terminal 4A equipped with an NFC tag 19A, or an NFC tag 19A or a wallet-type NFC that is also an employee ID card. The tag 19A or the bag-type NFC tag 19A may be used. It can be used for authentication by mounting 19A inside a certain device or thing. Alternatively, the NFC tag 19A provided with an adhesive tape or adhesive can be used as the NFC tag 19A attached to the surface of a certain device or object.
(For example, by attaching a sticker type / film type 19A that records the same information as 18A to a paper ticket 18A with adhesive double-sided tape or adhesive, it can be visually checked by the human eye, read by a camera, and NFC. You can make a paper ticket that can be read by

ウェアブルコンピュータ端末は電源装置に電池を用いなくてもよいし、一次電池を用いてもよいし、充電可能な二次電池を用いていてもよい。充電については充電元からの有線による充電でもよいし、ワイヤレス電力伝送によって充電してもよい。端末に備えられた環境発電機能を用いて充電できてもよい。 The wearable computer terminal may not use a battery as a power supply device, may use a primary battery, or may use a rechargeable secondary battery. Charging may be performed by wire from the charging source or by wireless power transmission. It may be possible to charge using the energy harvesting function provided in the terminal.

NFCタグ19Aは電源装置に電池を用いなくてもよいし、一次電池を用いてもよいし、充電可能な二次電池を用いていてもよい。充電については充電元からの有線による充電でもよいし、ワイヤレス電力伝送によって充電してもよい。19Aに付属の環境発電機能を用いて充電できてもよい。 The NFC tag 19A may not use a battery as a power supply device, may use a primary battery, or may use a rechargeable secondary battery. Charging may be performed by wire from the charging source or by wireless power transmission. It may be possible to charge using the energy harvesting function attached to 19A.

NFCタグ19Aは記憶装置に記録したパスワードOWP、ユーザー識別子、トークン番号を消去しすることができる。そして最新のパスワードOWP、ユーザー識別子、トークン番号を記録してもよい。
ただしNFCタグ19Aがサービス提供者に配布される形式の場合は記録装置の内容の書き換えを禁止してもよい。
The NFC tag 19A can erase the password OWP, the user identifier, and the token number recorded in the storage device. Then, the latest password OWP, user identifier, and token number may be recorded.
However, if the NFC tag 19A is distributed to the service provider, rewriting of the contents of the recording device may be prohibited.

<有価紙葉18Aの製造>
18Aの製造に関してはユーザー識別子A、トークン番号TIDA、パスワードOWPを認証に用いるとき、識別子A、トークン番号TIDA、パスワードOWPを区切り文字などを添えつつ連結して二次元バーコードもしくは複数の一次元バーコードに変換し紙に印刷する。この時、紙にはバーコードのほかにバーコードに変換する前の文字列データを可読可能な状態でバーコードと共に印刷してもよい。
またバーコードの内容はサービス提供者のみが復号する鍵を知る形で暗号化していてもよい。実施例では特許2938338等に記載の二次元バーコードを用い、紙のチケットのバーコード部分を形成し、レーザープリンターもしくはインクジェットプリンターにて印刷し、紙のチケットを製造した。
<Manufacturing of valuable paper leaf 18A>
Regarding the manufacture of 18A, when the user identifier A, token number TIDA, and password OWP are used for authentication, the identifier A, token number TIDA, and password OWP are concatenated with delimiters and the like, and a two-dimensional bar code or a plurality of one-dimensional bars are connected. Convert to code and print on paper. At this time, in addition to the barcode, the character string data before being converted into the barcode may be printed together with the barcode in a readable state.
Further, the content of the barcode may be encrypted so that only the service provider knows the key to be decrypted. In the embodiment, a two-dimensional barcode described in Patent 29383338 or the like was used to form a barcode portion of a paper ticket, which was printed by a laser printer or an inkjet printer to manufacture a paper ticket.

18Aの印刷に用いるプリンタ152Aの印刷方式やメディアとなる紙などの種類は問わず、バーコードがカメラやスキャナを用いてユーザー識別子A、トークン番号TIDA、パスワードOWPとして読み取れることが必要である。152Aがサーマルプリンタの場合は紙は感熱紙などを用いネットワークと接続された現金自動預け払い機ATMなどの感熱紙を利用する装置においても本発明の紙製チケットを印刷、印字して製造することもできる。また店舗などに備え付けのネットワークと接続された複写機や電話回線網と接続されたファクシミリにおいても、チケットの印刷データを記録した外部記録装置を接続しチケットデータを読み込むことができれば印刷可能である。
チケットデータを店舗などに設置されたコンピュータとしての機能を備える複写機やファクシミリ等で暗号化されたネットワークを通じてインターネット経由でチケットを発行し、またはユーザーが店舗の装置に持ち込んだ外部記録装置からデータを読み込んで印刷してもよい。
Regardless of the printing method of the printer 152A used for printing the 18A or the type of paper as a medium, it is necessary that the barcode can be read as the user identifier A, the token number TIDA, and the password OWP using a camera or a scanner. When the 152A is a thermal printer, the paper used is thermal paper, and the paper ticket of the present invention is printed and printed even in a device using thermal paper such as an automatic teller machine ATM connected to the network. You can also. In addition, even in a copier connected to a network installed in a store or a facsimile connected to a telephone line network, printing is possible if an external recording device for recording ticket print data can be connected and the ticket data can be read.
Ticket data is issued via the Internet through a copier equipped with a function as a computer installed in a store or a network encrypted by facsimile, etc., or data is collected from an external recording device brought into a store device by a user. You may read and print.

<デジタル機器が無い、または使えない環境への対応>
OWPを用いる利用例(主に図8Bの利用例)において、デジタル機器を持たないユーザーに対してはトークンの発行をサービスを行う法人や発券を行う法人等が有価紙葉18AもしくはNFCタグ19Aの製造をユーザーの代わりに行い、ユーザーへ18Aをファクシミリや郵送にて送付できる。また19Aを郵送配達できる。18Aや19Aを送付された顧客は端末3Dの備えられたサービス提供窓口や装置を18Aや19Aを提示することで利用できる。
<Correspondence to the environment where there is no or cannot be used with digital devices>
In the usage example using OWP (mainly the usage example in FIG. 8B), a corporation that provides a service for issuing tokens to a user who does not have a digital device, a corporation that issues tickets, etc. Manufacture can be done on behalf of the user and 18A can be sent to the user by facsimile or mail. In addition, 19A can be delivered by mail. Customers who have been sent 18A or 19A can use the service provision window or device equipped with the terminal 3D by presenting 18A or 19A.

例として、顧客がインターネットワーク20とコンピュータ端末1A、端末1Aに接続できるプリンタを持たず電話回線とファクシミリ装置のみを備える場合には、サービスの提供者が秘密保持を約束し、顧客のパスワードOWP等の本発明の紙チケット作成に必要なデータを顧客から問い合わせて、顧客のファクシミリ番号を基にチケットデータを送付しファクシミリにて紙のチケットを出力することもできる。 As an example, if the customer does not have a printer that can connect to the interconnection 20, computer terminal 1A, and terminal 1A, but only has a telephone line and a facsimile machine, the service provider promises confidentiality, and the customer's password OWP, etc. It is also possible to inquire from the customer about the data necessary for creating the paper ticket of the present invention, send the ticket data based on the customer's facsimile number, and output the paper ticket by facsimile.

<デジタル機器がない時の18Aや19Aの作製依頼>
ユーザーがデジタル機器を持たず装置1Aやプリンターを持たない顧客の場合には、顧客のトークンを管理することの出来るサービスの提供者が郵送や電話などで契約する。ここでサービス提供者(またはサービス提供者とは独立したトークン保管会社)がユーザーの秘密鍵の文字列、ユーザ識別子等を信書にて送付してもよい。そしてチケットの販売とトークンの交付の秘密鍵への発行をサービス提供者が行い、サービス提供者(またはサービス提供者とは独立したトークン保管会社)はユーザーがトークンのパスワードOWP等を印刷した紙のチケットのデータを作成し、ユーザのファクシミリ番号に送信し、ユーザーのファクシミリで紙のチケットを製造できる。ファクシミリがなく電話番号のみの場合は郵送または手渡しにて紙チケット(もしくはICカードやICタグ式のチケット)を信書の形で渡す。
(トークンがチケットの場合は、トークンおよびそこから生成されるパスワードOWPを印刷した紙は有価物でありそれを管理する資格が必要になる恐れがある。また秘密鍵をサービス提供者とユーザーの間で共有することになりうる場合も資格が必要になる恐れがある。)
<Request for production of 18A and 19A when there is no digital device>
In the case of a customer who does not have a digital device and does not have a device 1A or a printer, a service provider who can manage the customer's token makes a contract by mail or telephone. Here, the service provider (or a token storage company independent of the service provider) may send the character string of the user's private key, the user identifier, etc. by correspondence. Then, the service provider sells the ticket and issues the token to the private key, and the service provider (or the token storage company independent of the service provider) prints the token password OWP etc. on the paper. You can create ticket data, send it to your facsimile number, and make a paper ticket with your facsimile. If there is no facsimile and only a telephone number, give a paper ticket (or IC card or IC tag type ticket) in the form of a letter by mail or hand.
(If the token is a ticket, the paper printed with the token and the password OWP generated from it is valuable and may require qualification to manage it. Also, a private key between the service provider and the user Qualifications may be required even if it can be shared with.)

具体的に説明する。サービス提供者の端末3Dに提示する18Aや19AをユーザーUA入手したいとき、ユーザーUAが端末1Aや4Aなどを持たず、電話回線も持たず、ネットワーク20とも接続できない時がありうる。前記の場合、ユーザーUAは秘密鍵101Aを信頼できる第三者UBに発行させ、その第三者UBに秘密鍵101Aを信託させ、101Aの保管と運用を依頼し、さらにサービスに対応したトークン番号TIDAのOTPトークンを101Aのユーザー識別子Aに当てて発行させる。
そして第三者UBは前記ユーザー識別子Aに発行されたOTPトークン用いてサーバ3AのブロックチェーンにアクセスしOTP生成関数からOWPを取得し18Aや19Aを製造してユーザーUAの指定する住所や指定する場所へ郵送配達してもよい。郵送配達する際に19Aや18Aと共に101Aを記録した信書を添付してもよい。第三者UBが店舗でユーザーUAに直接18Aや19Aを提供してもよい。(この運用形態は技術的な問題はないが、秘密鍵101Aを信託できる第三者UBは法令で規制され資格が必要となるかもしれない。)
This will be described in detail. When the user UA wants to obtain 18A or 19A presented to the terminal 3D of the service provider, there may be a case where the user UA does not have the terminal 1A or 4A, does not have a telephone line, and cannot connect to the network 20. In the above case, the user UA causes the private key 101A to be issued to a reliable third party UB, the third party UB trusts the private key 101A, requests the storage and operation of the 101A, and further, the token number corresponding to the service. The OTP token of TRIDA is assigned to the user identifier A of 101A and issued.
Then, the third-party UB accesses the blockchain of the server 3A using the OTP token issued to the user identifier A, acquires the OWP from the OTP generation function, manufactures 18A and 19A, and specifies the address specified by the user UA. It may be delivered by mail to the place. A letter recording 101A may be attached together with 19A and 18A at the time of delivery by mail. A third party UB may provide 18A or 19A directly to the user UA at the store. (There is no technical problem with this operation mode, but a third-party UB that can trust the private key 101A may be regulated by law and require qualification.)

また、第三者101Bがユーザー識別子Bを名義としてトークン番号TIDAのOTPトークンを発行し、前記トークンのOWPから18Aや19Aを発行しユーザーUAの指定する住所や指定する場所へ郵送配達してもよい。第三者UBが店舗でユーザーUAに直接18Aや19Aを提供してもよい。(この運用形態も技術的には問題はないが、ユーザーUAのトークン番号TIDAのOTPトークンを預かる第三者UBは法令で規制され資格が必要となるかもしれない。) Further, even if the third party 101B issues an OTP token with the token number TIDA in the name of the user identifier B, issues 18A or 19A from the OWP of the token, and delivers it by mail to the address or place designated by the user UA. good. A third party UB may provide 18A or 19A directly to the user UA at the store. (There is no technical problem with this operation mode, but a third-party UB that holds the OTP token of the user UA's token number TIDA may be regulated by law and require qualification.)

1500Aを表示することの出来る1Aを、有価紙葉18AやNFCタグ19Aを郵送配達することの代わりに郵送配達配布できる。端末1Aといった装置を持たないを持たない顧客が、電話や店舗での会話を基に第三者UB(ここでは通信会社やコンピュータまたはスマートフォン製造販売会社を含む)に端末1Aの購入と何かに基づくOTPトークンの購入を同時に契約し、第三者UBは1500Aを表示できる端末1AをユーザーUAに販売し、1500Aを表示できる端末1AをユーザーUAの住所や指定する住所もしくは店舗の窓口での直接渡してもよい。 1A capable of displaying 1500A can be delivered by mail instead of delivering valuable paper leaf 18A or NFC tag 19A by mail. A customer who does not have a device such as terminal 1A purchases terminal 1A from a third-party UB (including a communication company, a computer or a smartphone manufacturing and sales company here) based on a conversation on a telephone or a store. The purchase of the OTP token based on the contract is made at the same time, and the third party UB sells the terminal 1A capable of displaying 1500A to the user UA, and the terminal 1A capable of displaying 1500A is directly sold to the user UA's address, the specified address, or the window of the store. You may hand it over.

<店舗における発券装置>
ネットワークと接続された現金自動預け払い機ATM端末や印刷装置の備え付けられた端末が設置される店舗(例としてコンビニエンスストア等)にて、デジタル装置を持たないユーザーに対してOTPトークンの購入及び発行とチケット等有価紙葉18Aの製造ができてもよい。
具体的には店舗などでチケットなどの料金の支払いが行われた後に顧客情報(OTPトークンの発行先であるユーザー識別子A)を入力しブロックチェーンへの秘密鍵101Aやユーザー識別子Aの文字列情報、パスワードOWP等の紙チケットに必要な文字列およびバーコード情報を紙のチケットを印刷しユーザーに出力する。
次回に再度その端末を使ってチケットを作る場合は、端末のカメラもしくはスキャナにユーザー識別子Aの情報が記録された紙や端末1Aのディスプレイ部分をバーコードの形で読み込ませるか手入力してトークンの発行先のユーザー識別子を指定して新たなチケットのトークン発行を行う。
(なおATM端末がユーザーUAを識別できOTPトークンを発行するユーザー識別子Aが決まっている場合にはATM端末が備える顔認証などの生体認証手段をもちいてOTPトークン及び18Aを発行することもできる。ただしその場合は生体認証を用いるのでだれがどのサービスに対応するOTPトークンを利用しているか分からないよう配慮し、個人情報の匿名化などを行う必要があるかもしれない。)
<Ticketing device in stores>
Purchase and issue of OTP tokens to users who do not have digital devices at stores (for example, convenience stores) where ATM terminals for automatic teller machines connected to the network and terminals equipped with printing devices are installed. And a valuable paper leaf 18A such as a ticket may be manufactured.
Specifically, after payment of tickets and other charges is made at a store, customer information (user identifier A to which the OTP token is issued) is input, and the private key 101A to the blockchain and the character string information of the user identifier A are entered. , Password OWP, etc. The character string and barcode information required for the paper ticket are printed out on the paper ticket and output to the user.
When making a ticket using the terminal again next time, read the paper on which the information of the user identifier A is recorded on the camera or scanner of the terminal or the display part of the terminal 1A in the form of a barcode or manually enter the token. Issue a new ticket token by specifying the user identifier of the issue destination of.
(If the ATM terminal can identify the user UA and the user identifier A for issuing the OTP token is determined, the OTP token and 18A can be issued by using the biometric authentication means such as face authentication provided in the ATM terminal. However, in that case, since biometric authentication is used, it may be necessary to take care not to know who is using the OTP token corresponding to which service, and to anonymize personal information.)

ここでサービス提供端末の処理の自動化・高速化を行い、入退場口や改札で取り扱いできるチケットの処理数を増やすという観点からは、秘密鍵101Aとユーザー識別子Aといった情報をカメラ・スキャナ等430Dで撮影する方式よりは、ICカードに記録しNFCタグ19Aなどを用いて無線通信を用いて非接触で行える事が好ましいかもしれない。ICカード19Aにはクレジットカード、デビットカード、プリペイドカードなどの決済に関する機能を備えていてもよく、非接触にて決済できるNFCを用いるIC式クレジットカード等でもよい。19Aが個人番号カードのようなNFCをもちいた身分証カードでもよい。 From the viewpoint of automating and speeding up the processing of the service providing terminal and increasing the number of tickets that can be handled at the entrance / exit and ticket gates, information such as the private key 101A and user identifier A can be stored in the camera / scanner 430D. It may be preferable to record on an IC card and perform non-contact using wireless communication using an NFC tag 19A or the like rather than a method of photographing. The IC card 19A may be provided with a payment-related function such as a credit card, a debit card, or a prepaid card, or may be an IC-type credit card using NFC that can be settled in a non-contact manner. 19A may be an identification card using NFC such as an individual number card.

19Aは秘密鍵101Aを記録していてもよい。ただし、19Aに秘密鍵101Aを記録する場合には店舗や店舗内の他の顧客、あるいはNFCを介してに秘密鍵101Aが漏洩しないことが必要である。19AをPINにより暗号化することで秘密鍵101Aを暗号化して記録させ、101Aを他者に読み取られないようにする事が必要である。 19A may record the private key 101A. However, when recording the private key 101A in 19A, it is necessary that the private key 101A is not leaked through the store, other customers in the store, or NFC. It is necessary to encrypt and record the private key 101A by encrypting 19A with a PIN so that the 101A cannot be read by others.

そこでICカード19AもしくはNFCタグ19Aに秘密鍵101Aは搭載せず、秘密鍵から公開鍵を経て生成されるユーザー識別子Aのみを搭載する方法も考えられる。この場合は紙等にブロックチェーン基盤の形式に沿って生成させた秘密鍵101Aとユーザー識別子Aを記録させ、ユーザー識別子AのみをICカード発行装置または発行会社にバーコードの形で読み取らせ、ユーザー識別子Aを記録したクレジットカード・プリペイドカード機能を持つICカード等19Aを発行し、これを用いて店舗等のATMもしくはそれに類する端末においてOWPを生成するOTPトークン発行と、OTPトークンによるパスワードOWPを含む紙のチケット等有価紙葉18Aの印刷及び発券が、非接触ICカードを端末にかざして端末からアクセスさせた後に入力画面から行えるようになる。
チケットに限らず紙の券など有価紙葉18Aの形で本発明の認証を用いてサービス、役務の提供ができるものであれば適用できる。
Therefore, a method is conceivable in which the private key 101A is not mounted on the IC card 19A or the NFC tag 19A, but only the user identifier A generated from the private key via the public key is mounted. In this case, the secret key 101A and the user identifier A generated according to the format of the blockchain board are recorded on paper or the like, and only the user identifier A is read by the IC card issuing device or the issuing company in the form of a bar code. Includes OTP token issuance that issues 19A such as IC cards with credit card / prepaid card functions that record the identifier A and uses them to generate OWPs at ATMs such as stores or similar terminals, and password OWPs using OTP tokens. Printing and issuing of valuable paper leaf 18A such as a paper ticket can be performed from the input screen after the non-contact IC card is held over the terminal and accessed from the terminal.
Not limited to tickets, it can be applied as long as services and services can be provided using the certification of the present invention in the form of a valuable paper leaf 18A such as a paper ticket.

<有価紙葉18AとNFCタグ19Aの利用と用途>
有価紙葉18Aに記録される二次元バーコードはカメラなどを用いたスキャンを行いサービス提供者がカメラを用いてバーコードからユーザー識別子A、トークン番号TIDA、パスワードOWPの3つの変数を検出し、前記3つの変数を端末3Dに入力し端末3Dに内蔵された認証関数3018DAを用いて認証する。
あるいは端末3Dがネットワーク20を介してノード端末3Aに接続できるときは前記3つの変数をウェブアプリなどに入力し、ウェブアプリからブロックチェーンのコントラクトに問い合わせを行い認証関数3018Aに3つの引数を入力する。
ここで端末3Dにおいて3018DAもしくは3018Aの認証関数によって認証処理を行い認証する工程において、二次元バーコードを用いる理由は二次元バーコードをカメラなどで認識させ3つの認証用変数の入力を端末3Dに行わせることで認証結果を得られるように自動化(および高速化)するためのものである。
<Use and use of valuable paper leaf 18A and NFC tag 19A>
The two-dimensional barcode recorded on the valuable paper leaf 18A is scanned using a camera or the like, and the service provider detects three variables of the user identifier A, the token number TIDA, and the password OWP from the barcode using the camera. The above three variables are input to the terminal 3D, and authentication is performed using the authentication function 3018DA built in the terminal 3D.
Alternatively, when the terminal 3D can connect to the node terminal 3A via the network 20, the above three variables are input to the web application or the like, the web application inquires the blockchain contract, and the three arguments are input to the authentication function 3018A. ..
Here, the reason for using the two-dimensional bar code in the process of performing the authentication process by the authentication function of 3018DA or 3018A in the terminal 3D is to recognize the two-dimensional bar code with a camera or the like and input the three authentication variables to the terminal 3D. It is for automating (and speeding up) so that the authentication result can be obtained by doing it.

文字列のみを記した18AをA4紙サイズのイメージスキャナ装置にてスキャンし、そのスキャンされた情報から文字列を画像認識し、ユーザー識別子A、トークン番号TIDA、パスワードOWPを識別できれば二次元バーコードが無くとも端末3Dに入力することができうる。 18A with only the character string is scanned with an A4 paper size image scanner device, the character string is image-recognized from the scanned information, and if the user identifier A, token number TIDA, and password OWP can be identified, a two-dimensional barcode It is possible to input to the terminal 3D even if there is no password.

サービスを提供しなければいけないユーザーの総数が少ない場合には、バーコードが無く、文字列のみ書かれたチケットを提示されたとしても、対応するサービス提供者の労働力が十分であればヒトの手作業でユーザー識別子A、トークン番号TIDA、パスワードOWPを端末3Aや端末3Dの認証関数の引数に代入させ認証することができる。(また二次元バーコードの印字部分が読み取れなくなってしまった紙のチケットに対しても文字列が併記されていればサービス提供者の手で認証作業ができる。) If the total number of users who have to provide the service is small, even if you are presented with a ticket with no barcode and only a string, if the corresponding service provider has enough labor, it will be human. The user identifier A, the token number TIDA, and the password OWP can be manually assigned to the arguments of the authentication function of the terminal 3A or the terminal 3D for authentication. (Also, if the character string is also written on the paper ticket for which the printed part of the two-dimensional bar code cannot be read, the service provider can perform the authentication work.)

有価紙葉18Aに印刷の形でユーザー識別子A、トークン番号TIDA、パスワードOWPといった情報を記録することができほか、磁気ストライプを18Aに備えさせ、18Aの磁気ストライプにユーザー識別子A、トークン番号TIDA、パスワードOWPを保存してもよい。同様にカード型のNFCタグ19AまたはNFCカード19Aにも磁気ストライプを備え、ユーザー識別子A、トークン番号TIDA、パスワードOWPといった情報を記録してもていてもよい。 Information such as user identifier A, token number TIDA, and password OWP can be recorded on the valuable paper leaf 18A in print form. In addition, the 18A is equipped with a magnetic stripe, and the magnetic stripe of 18A has the user identifier A, token number TIDA, and so on. The password OWP may be saved. Similarly, the card-type NFC tag 19A or the NFC card 19A may also be provided with a magnetic stripe and may record information such as a user identifier A, a token number TIDA, and a password OWP.

端末3Dが建物の扉や自動車の施錠装置もしくは金庫など容器の施錠装置であってその装置の利用者であるユーザーUAのユーザー識別子Aや施錠装置端末3Dの製造番号やシリアル番号等に対応するOTPトークンのトークン番号TIDAを端末3Dに記録してもよい。 The terminal 3D is a lock device for a container such as a door of a building, a lock device for a car, or a safe, and the user identifier A of the user UA who is the user of the device, and the OTP corresponding to the serial number or serial number of the lock device terminal 3D. The token number TIMA of the token may be recorded in the terminal 3D.

端末3Dの記憶装置30DにユーザーUAのユーザー識別子Aやトークン番号TIDAを記録させ、それを用いて、3018DAを用いて認証処理を行う前に入力されたユーザー識別子情報やトークン番号と一致するか調べることで、本来利用されるべき30Dに記録されたユーザーUAのユーザー識別子もしくはトークン番号のOWPのみを受け付けるようにすることができる。 The user identifier A and the token number TIDA of the user UA are recorded in the storage device 30D of the terminal 3D, and the user identifier information and the token number entered before the authentication process is performed using the 3018DA are checked. This makes it possible to accept only the OWP of the user identifier or token number of the user UA recorded in 30D, which should be originally used.

端末3Dの記憶装置30DにユーザーUAのユーザー識別子Aやトークン番号TIDAをユーザーUAが端末3Dに記録させ、それを用いて、3018DAを用いて認証処理を行う前に入力されたユーザー識別子情報やトークン番号と一致するか調べることで、OTPトークンがユーザーUBからUAに譲渡されたとしても、譲渡前のユーザーUBの知るユーザー識別子Bとトークン番号TIDAとOWPから作成されたNFCタグ19Aでは解錠できなくなるようにする事もできる。 The user UA records the user identifier A and the token number TIDA of the user UA in the storage device 30D of the terminal 3D in the terminal 3D, and the user identifier information and tokens input before the authentication process is performed using the 3018DA. Even if the OTP token is transferred from the user UB to the UA by checking whether it matches the number, it can be unlocked with the user identifier B known by the user UB before the transfer and the NFC tag 19A created from the token number TIDA and OWP. You can also make it disappear.

建物の扉や金庫などの容器を解錠した際に端末3Dにアクセスできる通信装置32Dの有線通信端子があって、32Dを介して有線通信によりユーザーUAの端末1Aからユーザー識別子Aやトークン番号TIDAを端末3Dの記録部30Dに記憶させた後、端末3Dにユーザー識別子Aやトークン番号TIDAとパスワードOWPを記録させたNFCタグ19Aをかざし、19Aに記録されたユーザー識別子Aとトークン番号TIDAとパスワードOWPを30Dに記録されたユーザー識別子Aやトークン番号TIDAと照合し、ユーザー識別子Aまたはトークン番号TIDAが30Dに記録された値と一致する場合には認証関数3018DAを動作させ、ユーザー識別子Aとトークン番号TIDAとパスワードOWPを3018DAを用いてOWPが正しいか検証し、正しい場合には施錠を解錠させる。
前記32Dの有線通信端子からユーザー識別子やトークン番号を自由に設定でき、前記有線通信端子を備えた端末3Dを備えた解錠された金庫などをユーザーUAがUBに譲渡した場合はトークン番号TIDAのトークンをUBの端末1Bに譲渡し、UBは解錠された金庫の有線通信端末部分を用いてユーザー識別子Bとトークン番号TIDAを設定することで、ユーザー識別子Bとトークン番号TIDAと前記BとTIDAより生成されたOWPを用いて端末3Dを解錠するようにできる。ここで端末3Dは元の持ち主であるユーザーUAのユーザー識別子Aは受け付けなくなりユーザーUAの端末1Aの保有する(記憶する)OWPは利用できなくなる。
There is a wired communication terminal of the communication device 32D that can access the terminal 3D when the container such as the door of the building or the safe is unlocked, and the user identifier A and the token number TIDA are sent from the terminal 1A of the user UA by wired communication via the 32D. Is stored in the recording unit 30D of the terminal 3D, and then the NFC tag 19A in which the user identifier A, the token number TIDA, and the password OWP are recorded is held over the terminal 3D, and the user identifier A, the token number TIDA, and the password recorded in the 19A are held over the terminal 3D. The OWP is collated with the user identifier A or token number TIDA recorded in 30D, and if the user identifier A or token number TIDA matches the value recorded in 30D, the authentication function 3018DA is operated to operate the user identifier A and the token. The number UIDA and password OWP are verified using 3018DA to see if the OWP is correct, and if so, the lock is unlocked.
The user identifier and token number can be freely set from the 32D wired communication terminal, and if the user UA transfers an unlocked safe or the like equipped with the terminal 3D equipped with the wired communication terminal to the UB, the token number TIDA will be used. The token is transferred to the terminal 1B of the UB, and the UB sets the user identifier B and the token number TIDA using the wired communication terminal portion of the unlocked safe, so that the user identifier B, the token number TIDA, the B and the TIDA are set. The terminal 3D can be unlocked using the generated OWP. Here, the terminal 3D does not accept the user identifier A of the user UA who is the original owner, and the OWP owned (stored) by the terminal 1A of the user UA cannot be used.

端末3Dの30Dに記録されたトークン番号は認証関数3018DAを動作させるための施錠装置では防犯上、トークン番号は施錠装置の製造番号に対応していてもよい。
その例として自動車の場合には自動車の製造番号とトークン番号を対応させ、端末3Dの記憶装置32Dの一度しか書き込めないROMに自動車製造番号と対応したトークン番号を記録させ、ROMに記録されたトークン番号を読み出して3018DAの認証関数の引数のトークン番号として常に利用させるようプログラムしてもよい。
ここでROMは端末3Dの記憶装置32Dとして原動機や自動車を制御する端末として一体化され樹脂などで封止・封印し悪意のある攻撃者によってROMの情報やROMそのものを取り換えられないようにする事が好ましい。OTPトークンのトークン番号と自動車の製造番号が常に一致することで自動車の流通管理や防犯に役立つかもしれない。
The token number recorded in 30D of the terminal 3D may correspond to the serial number of the locking device for crime prevention in the locking device for operating the authentication function 3018DA.
As an example, in the case of an automobile, the serial number of the automobile is associated with the token number, the token number corresponding to the automobile serial number is recorded in a ROM that can be written only once in the storage device 32D of the terminal 3D, and the token recorded in the ROM is recorded. The number may be read and programmed to always be used as the token number of the argument of the authentication function of 3018DA.
Here, the ROM is integrated as a storage device 32D of the terminal 3D as a terminal for controlling the prime mover and the automobile, and is sealed and sealed with resin so that the ROM information and the ROM itself cannot be replaced by a malicious attacker. Is preferable. It may be useful for vehicle distribution control and crime prevention by always matching the token number of the OTP token with the serial number of the vehicle.

端末3Dは施錠された装置に組み込まれている場合、施錠を解錠してアクセスできる部分に通信装置32Dまたは入力装置や出力装置を備える。3Dの記憶装置にはユーザー識別子、トークン番号、シークレット変数KCやBCが記録されており、施錠を解錠してアクセスできる部分に通信装置または入力装置からユーザー識別子、トークン番号、シークレット変数KCやBCを書き換えることができると好ましい。 When the terminal 3D is incorporated in a locked device, the terminal 3D is provided with a communication device 32D or an input device or an output device in a portion that can be accessed by unlocking the lock. The user identifier, token number, secret variable KC or BC are recorded in the 3D storage device, and the user identifier, token number, secret variable KC or BC can be accessed from the communication device or input device in the part that can be accessed by unlocking the lock. It is preferable to be able to rewrite.

端末3Dは施錠された装置に組み込まれている場合、施錠を解錠してアクセスできない部分(金庫においてはテンキー式、プッシュ式金庫などのキー入力ボタンの設置面)にNFCタグ19Aとの通信装置(またはカメラによる読み取り装置)及び出力装置を備えてもよい。 When the terminal 3D is incorporated in a locked device, the communication device with the NFC tag 19A is located on the part that cannot be accessed by unlocking the lock (in the case of a safe, the installation surface of key input buttons such as a numeric keypad or push-type safe). (Or a reading device by a camera) and an output device may be provided.

本発明のNFCタグ19Aと端末3Dによる施錠装置は既知の施錠方式と組み合わせてもよい。具体例として本発明を金庫に用いる場合は本発明のNFCタグ19Aと端末3Dによる施錠と、ダイアル錠または鍵とシリンダー錠を用いた施錠方式、またはテンキー式プッシュ式ボタンによる暗証番号結果を用いる施錠方式、または端末3Dに生体認証センサを用いた生体認証を用いる施錠方式を組み合わせてもよい。金庫のみならず他の実施形態においても既知の施錠方式と組み合わせてもよい。
例として自動車においても金属製の鍵と組み合わせてもよい。その場合自動車の金属製の鍵では原動機始動後の航続可能距離の設定を行い、NFCタグ19Aを用いたときのほうが金属製の鍵よりも航続可能距離が長くなくなる、もしくは航続可能な距離の制限がなくなるなどの措置をとってもよい。
ネットワーク20に接続できる場合にはBnTOTPによるウェブサイトへのログインのような認証ができたときに航続距離の制限を無くし19Aで施錠を解錠した際には例として100kmの走行を許可し金属製の鍵で解錠した際には50kmの走行を許可するといった設定も考えられる。
The locking device using the NFC tag 19A and the terminal 3D of the present invention may be combined with a known locking method. As a specific example, when the present invention is used for a safe, it is locked by the NFC tag 19A of the present invention and the terminal 3D, a lock method using a dial lock or a key and a cylinder lock, or a lock using a password result by a ten-key push type button. A method or a locking method using biometric authentication using a biometric authentication sensor may be combined with the terminal 3D. It may be combined with a locking method known not only in a safe but also in other embodiments.
As an example, it may be combined with a metal key in an automobile. In that case, the cruising range after starting the prime mover is set for the metal key of the automobile, and the cruising range is not longer when the NFC tag 19A is used than the metal key, or the cruising range is limited. You may take measures such as disappearing.
If you can connect to the network 20, when you can authenticate like logging in to the website by BnTOTP, the cruising range is not limited, and when you unlock it with 19A, you are allowed to travel 100km as an example and it is made of metal. It is also conceivable to allow 50km of travel when unlocked with the key.

用途の例として自動車や金庫の施錠のみならず飛行機、船舶、農業機械、林業機械、重機の施錠に用いてもよい。建物の扉、保管庫や倉庫の施錠、加工装置・産業設備・電子計算機端末の施錠及び始動装置に用いてもよい。アクセスコントロールを行うための端末3Dを組み込める機械や装置または施設や設備と容器に対し利用されうる。 As an example of use, it may be used not only for locking automobiles and safes, but also for locking airplanes, ships, agricultural machinery, forestry machinery, and heavy machinery. It may be used for doors of buildings, locks of storages and warehouses, locks of processing equipment, industrial equipment, computer terminals, and starters. It can be used for machines and devices or facilities and equipment and containers that can incorporate terminal 3D for access control.

<IC型タグ型の解錠鍵とそれを用いて解錠される建物及び設備>
建物や金庫室、自動車等の電源を備える物に対し、本発明の ICタグ等デジタル機器による認証システムを利用し、端末3Dは防犯カメラなど入出力装置や記憶装置を多用し解錠するユーザーを監視しつつ解錠操作をユーザーに行わせることができる。端末3Dの電源に容量の限られる電池を用いる場合、例えば家庭用金庫や手提金庫や錠前に電池を備える場合その電池容量によって運用に制限が生じうる。
なお端末3Dが金庫などの容器である時を例にすると、端末3Dの電源装置37Dに電池を用いて駆動されるときは一次電池及び二次電池といった蓄電装置を用いることができる。二次電池を用いる場合は施錠された部分を解錠して端末3Dにアクセスできる部分に充電することの出来る充電用端子やワイヤレス電力伝送によって充電できる部分を備えていてもよい。あるいは施錠された端末3Dを持つ金庫の庫内にアクセスできない場合であってもワイヤレス電力伝送によって施錠された面から内部の端末3Dに充電してもよい。そして端末に接続されるハンドル式の手回し発電などの発電機能や環境発電機能を用いて充電できてもよい。
さらに端末3Dに充電のみ行う機能を持つ端子を施錠された面(アクセス制御されていない面)に備えてもよい。端末3Dに充電のみ行う機能を持つ端子を施錠された面に備える場合は充電端子に交流の電力や高電圧などを印加されたとしても端末3Dの動作に影響しないようにする保護回路を充電機能と共に持たせた電源装置37Dを持たせてもよい。
<IC type tag type unlocking key and buildings and equipment unlocked using it>
For objects equipped with a power source such as buildings, vaults, and automobiles, the user who uses the authentication system by the digital device such as the IC tag of the present invention and unlocks the terminal 3D by using many input / output devices and storage devices such as security cameras. The user can be made to perform the unlocking operation while monitoring. When a battery having a limited capacity is used as a power source for the terminal 3D, for example, when a battery is provided in a household safe, a hand-held safe, or a lock, the operation may be limited depending on the battery capacity.
Taking the case where the terminal 3D is a container such as a safe as an example, when the power supply device 37D of the terminal 3D is driven by a battery, a power storage device such as a primary battery and a secondary battery can be used. When a secondary battery is used, it may be provided with a charging terminal that can unlock the locked portion and charge the portion that can access the terminal 3D, or a portion that can be charged by wireless power transmission. Alternatively, even if the inside of the safe having the locked terminal 3D cannot be accessed, the internal terminal 3D may be charged from the locked surface by wireless power transmission. Then, it may be possible to charge the battery by using a power generation function such as a handle-type hand-cranked power generation connected to the terminal or an energy harvesting function.
Further, the terminal 3D may be provided with a terminal having a function of only charging on the locked surface (access-controlled surface). When the terminal 3D is equipped with a terminal that has a function of only charging, the charging function is a protection circuit that does not affect the operation of the terminal 3D even if AC power or high voltage is applied to the charging terminal. You may have the power supply device 37D which was given together with.

ここで建物や自動車等設備の錠と錠を制御する端末3Dはネットワーク20に接続できていると好ましい。ネットワーク20経由で端末3Dの認証関数3018DAのOWP計算を行うKCやBCを変更できるためである。KCやBCは建物等の定期検査や自動車の車検時などに変更されていもよい。錠を制御するコンピュータ端末3Dのシード値と鍵19Aに用いるOWPを生成するワンタイムパスワード生成トークンのシード値が合うように運用される。 Here, it is preferable that the lock of equipment such as a building or an automobile and the terminal 3D that controls the lock can be connected to the network 20. This is because the KC and BC that perform the OWP calculation of the authentication function 3018DA of the terminal 3D can be changed via the network 20. KC and BC may be changed at the time of periodic inspection of buildings and the like and vehicle inspection of automobiles. It is operated so that the seed value of the computer terminal 3D that controls the lock and the seed value of the one-time password generation token that generates the OWP used for the key 19A match.

<インターネットワーク20から切断された端末3DにおいてOTP認証を行う手段>
ネットワーク20に接続できなくとも、ブロックチェーンのブロック番号Bnを放送できる地上局や人工衛星局(例として人工衛星型端末である放送局端末5C)があって、放送局端末5Cからのブロック番号Bn(もしくはブロックタイムスタンプ)またはBC値や暗号化されたKC値などの放送データを端末3Dと端末1Aが受け取り、端末1Aと端末3Dの間でBnTOTP型およびOWP型の認証を行ってもよい。この場合は端末1AにOTP生成関数3009Aに相当する関数を利用できるソフトウェアがあり、端末3DにはOTP認証関数3018DAが備えられている。 ブロック番号Bnが放送されている場合、放送を受信できる地域にある錠を制御するコンピュータはブロック番号ベースのワンタイムパスワードBnTOTPにて認証を行い施錠を解除することや装置を駆動することが可能となる。
<Means for performing OTP authentication in the terminal 3D disconnected from the internetwork 20>
There are ground stations and artificial satellite stations (for example, broadcasting station terminal 5C which is an artificial satellite type terminal) that can broadcast the block number Bn of the blockchain even if it cannot be connected to the network 20, and the block number Bn from the broadcasting station terminal 5C. (Or a block time stamp) or broadcast data such as a BC value or an encrypted KC value may be received by the terminal 3D and the terminal 1A, and BnTOTP type and OWP type authentication may be performed between the terminal 1A and the terminal 3D. In this case, the terminal 1A has software that can use a function corresponding to the OTP generation function 3009A, and the terminal 3D is provided with the OTP authentication function 3018DA. When the block number Bn is broadcast, the computer that controls the lock in the area where the broadcast can be received can authenticate with the block number-based one-time password BnTOTP to unlock and drive the device. Become.

端末1Aと端末3Dがブロック番号BnもしくはBCを用い、端末3Dや端末1Aに記録された鍵情報を用いてKC値を復号し、BnTOTP=fh( A, TIDA, KC, Bn)またはOWP=fh( A, TIDA, KC, BC)を端末1Aにて生成させ、端末1Aと端末3Dの通信装置を介して端末3DにAやTIDAとOWPまたはBnTOTPを入力し、3Dの認証関数3018DAの引数として入力させることでOWPの検証および認証を行う余地がある。 Terminal 1A and terminal 3D use the block number Bn or BC to decode the KC value using the key information recorded in terminal 3D or terminal 1A, and BnTOTP = fh (A, TIDA, KC, Bn) or OWP = fh. (A, TIDA, KC, BC) is generated in the terminal 1A, A or TIDA and OWP or BnTOTP are input to the terminal 3D via the communication device between the terminal 1A and the terminal 3D, and as an argument of the 3D authentication function 3018DA. There is room for OWP verification and authentication by inputting.

NITZ,JJY、GNSS、ラジオ局、テレビジョン放送局からの時刻信号など、無線局からブロック番号や時刻情報および暗号化されたKC値を得ることも想定される。ユーザーはスマートフォン端末1Aを保有しているが自動車などには必ずしもスマートフォンと同等の通信機能を搭載できないことも想定されるので自動車側はGNSSやJJY等から時刻情報を得ることができてもよく、それを端末3Dに通信装置を用いて伝えてもよい。GNSSなどの時刻情報を用いる場合、GNSSの時刻情報データTmに基づいてワンタイムパスワードに利用することも考えられる。その場合ワンタイムパスワード生成及び認証時にBnTOTP=fh( A, TIDA, KC, Bn)をTOTP=fh(A,TIDA,KC,Tm)に変えることが必要となる。
しかし、GNSSやJJY、NITZといった放送局もしくは無線通信局から得られる時刻Tmを用いる場合であってもユーザー識別子Aやトークン番号TIDAは必要である。
OTPトークンは原則として端末3Aなどのブロックチェーンのノードに接続することでOTPトークンの発行や譲渡等とOTP生成関数を行うことが本来の運用方法である。
It is also expected to obtain block numbers, time information and encrypted KC values from radio stations such as time signals from NITZ, JJY, GNSS, radio stations and television broadcasting stations. Although the user owns a smartphone terminal 1A, it is assumed that a car or the like cannot necessarily be equipped with a communication function equivalent to that of a smartphone, so the car side may be able to obtain time information from GNSS, JJY, etc. It may be transmitted to the terminal 3D by using a communication device. When using time information such as GNSS, it is conceivable to use it as a one-time password based on the time information data Tm of GNSS. In that case, it is necessary to change BnTOTP = fh (A, TIDA, KC, Bn) to TOTP = fh (A, TIDA, KC, Tm) at the time of one-time password generation and authentication.
However, the user identifier A and the token number TIDA are necessary even when the time Tm obtained from a broadcasting station such as GNSS, JJY, or NITZ or a wireless communication station is used.
As a general rule, the original operation method is to connect the OTP token to a node of a blockchain such as a terminal 3A to issue or transfer the OTP token and perform an OTP generation function.

<時刻情報受信機付きワンタイムパスワード施錠設備>
また設備に本発明のワンタイムパスワード認証機能を採用する場合にも設備内の施錠装置に付属する電池などの消耗を抑える必要がある。常時ネットワークに接続するのは電池の容量上困難であり、その場合は施錠を解除する設備内の放送受信機とコンピュータ端末を動かし、GNSSなどの時刻データや無線局のブロックチェーンのTBに関するデータ、例えば先に述べたブロック番号Bnをデータ放送により端末1Aを含む複数の端末に伝え、端末1Aにブロック番号Bnを受信させ端末3Dに伝える形で、BnTOTP型のワンタイムパスワードの認証を行わせることができる(ただしKC値の更新は手動による更新または放送データにより更新する必要がある)。
<One-time password locking facility with time information receiver>
Further, even when the one-time password authentication function of the present invention is adopted in the equipment, it is necessary to suppress the consumption of the battery and the like attached to the locking device in the equipment. It is difficult to always connect to the network due to the capacity of the battery. In that case, move the broadcast receiver and computer terminal in the equipment to unlock, time data such as GNSS and data related to TB of the blockchain of the radio station. For example, the block number Bn described above is transmitted to a plurality of terminals including the terminal 1A by data broadcasting, and the terminal 1A receives the block number Bn and transmits the block number Bn to the terminal 3D to perform BnTOTP type one-time password authentication. (However, updating the KC value needs to be updated manually or by broadcasting data).

<ワンタイムパスワード取得時のブロック番号Bnpを認証関数の引数に追加する場合>
GNSSなどの時刻データの送信局や通信装置を持たない場合においてもワンタイムパスワードBnTOTPを利用する方法がある。
ブロック番号Bnに基づくワンタイムパスワード認証関数にはトークン番号TIDA、ワンタイムパスワードBnTOTPの二つが少なくとも必要である。認証関数3018DAを備え認証処理を行う処理部を含む建物設備等の施錠装置や入場窓口等装置について、インターネットワーク20やGNSS等からのブロック番号Bnや時刻情報を受信できない場合が考えられる。
<When adding the block number Bnp when acquiring a one-time password to the argument of the authentication function>
There is a method of using the one-time password BnTOTP even when the user does not have a time data transmission station such as GNSS or a communication device.
The one-time password authentication function based on the block number Bn requires at least two token numbers, TIDA and one-time password BnTOTP. It is conceivable that the block number Bn and time information from the internetwork 20, GNSS, etc. cannot be received for the locking device such as the building equipment including the processing unit having the authentication function 3018DA and performing the authentication process, and the device such as the entrance window.

インターネットへの通信やGNSS等からのブロック番号や時刻情報を受信できない場合に対応するため、ワンタイムパスワード生成関数にてワンタイムパスワードBnTOTP=fh( TIDA, KC, Bnp)として生成した際に、パスワード取得時のブロック番号Bnp、トークン番号TIDA、ワンタイムパスワードBnTOTPを有価紙葉18AもしくはNFCタグ19Aにバーコードもしくは文字列情報として記録させる。
18Aのバーコードの場合は3Dのカメラ等340Dで読み取り、NFCタグ19Aの場合は19Aの3Dの通信装置32Dや341Dにて読み取り、文字列の場合はキーボード等を施錠された設備にコンピュータの入出力装置として備え、出力装置のディスプレイ等で認証関数に用いる引数の入力を求める。
認証関数3018DAに Bnp、TIDA、BnTOTPを入力し、それら引数が認証関数で検証され引数に入力されたBnTOTPと認証関数で計算されるワンタイムパスワードと一致した場合に、認証結果が正しい時の戻り値をコンピュータ端末3D内部の解錠に用いるプログラム(解錠プログラム)の認証関数3018DAに渡し3018DAにて認証した結果、正しいBnTOTPとTIDAとBnpの場合に施錠装置に解錠の信号を送付し施錠を解除する。
The password is generated when the one-time password BnTOTP = fh (TIDA, KC, Bnp) is generated by the one-time password generation function in order to deal with the case where the block number or time information from the Internet or GNSS cannot be received. The block number Bnp, token number TIDA, and one-time password BnTOTP at the time of acquisition are recorded on the valuable paper sheet 18A or the NFC tag 19A as bar code or character string information.
The 18A bar code is read by a 3D camera or other 340D, the NFC tag 19A is read by a 19A 3D communication device 32D or 341D, and the character string is read by a keyboard or other locked equipment. It is provided as an output device, and the input of the argument used for the authentication function is requested on the display of the output device.
Return when the authentication result is correct when Bnp, TIDA, and BnTOTP are input to the authentication function 3018DA, and the arguments are verified by the authentication function and match the BnTOTP input in the argument and the one-time password calculated by the authentication function. As a result of passing the value to the authentication function 3018DA of the program (unlocking program) used for unlocking inside the computer terminal 3D and authenticating with 3018DA, in the case of correct BnTOTP, TIDA and Bnp, the unlocking signal is sent to the locking device to lock. To cancel.

なお、ここでBnTOTP=fh( TIDA, KC, Bnp)として生成した場合について述べたが、ハッシュ関数fh( TIDA, KC, Bnp)の引数にユーザー識別子Aを加えBnTOTP=fh( A,TIDA, KC, Bnp)として計算し、紙18AやNFCタグ19Aなどにユーザー識別子A、ブロック番号Bnp、トークン番号TIDA、ワンタイムパスワードBnTOTPとして出力し記録させ、それら18Aと19Aを端末3Dへの認証に用いてもよい。認証関数3018DAに Bnp、A,TIDA、BnTOTPを入力させ、認証を行なってもよい。18Aの代わりにBnpも記録し表示する1500Aを用いてもよい。 Although the case where the user identifier is generated as BnTOTP = fh (TIDA, KC, Bnp) is described here, the user identifier A is added to the argument of the hash function fh (TIDA, KC, Bnp) and BnTOTP = fh (A, TIDA, KC). , Bnp), output and record as user identifier A, block number Bnp, token number TIDA, one-time password BnTOTP on paper 18A or NFC tag 19A, and use those 18A and 19A for authentication to the terminal 3D. May be good. Authentication may be performed by inputting Bnp, A, TIDA, and BnTOTP to the authentication function 3018DA. Instead of 18A, 1500A may be used to record and display Bnp.

BnTOTP=fh( TIDA, KC, Bnp)やBnTOTP=fh( A,TIDA, KC, Bnp)として計算する場合、Bnpの値でのブロック番号ではOTPトークンはユーザー識別子AのTIDAによりOTP生成が行われたことが分かるが、そのBnpの番号が最新のブロック番号Bnよりも著しく小さく古いブロック番号値であって、ユーザーがOTPトークンを誰かに譲渡する前に、過去のBnpの時にBnTOTP=fh( TIDA, KC, Bnp)やBnTOTP=fh( A,TIDA, KC, Bnp)として計算しユーザー識別子A、ブロック番号Bnp、トークン番号TIDA、ワンタイムパスワードBnTOTPを出力させ18Aや19Aを製造した後、譲渡制限の解除されていたOTPトークンを譲渡していたとする。
この場合譲渡後のユーザーUAはOTPトークン(OTPトークンというアクセス権もしくはブロックチェーン上での自動車の鍵や所有権情報)が無いにもかかわらず自動車などの施錠が解除出来る恐れがある。そこで前記方法を用いる場合は、GNSSなどの時刻情報Tmや放送されたブロック番号BnとBnpが、BnTOTPを生成した推定時刻Tpについて、ある閾値Lを基に比較を行い、TmとTpの差分がLよりも大きい時、または放送されるBnとBnpの値が閾値Lよりも大きい時、そのBnp値とBnTOTP値による認証を受け付けないよう認証関数3018DAや端末3Dの記録部にプログラムとして保存できる。
また端末3Dの内部にGNSSで受信した時刻情報を記録する書換回数の多い不揮発メモリ(フラッシュメモリや強誘電体メモリ、磁気抵抗メモリ、相変化メモリ、抵抗変化型メモリといった不揮発性のメモリ)を端末3Dの記憶装置に内蔵し、前記抵抗変化メモリや強誘電体メモリといった読み書き回数の多い不揮発メモリをGNSSの時刻情報の記録装置に用い、悪意ある攻撃者が端末3Dの時刻情報を記録したメモリ部分の情報にアクセスし改ざんできぬよう封止等を行うことが求められる。
When calculating as BnTOTP = fh (TIDA, KC, Bnp) or BnTOTP = fh (A, TIDA, KC, Bnp), the OTP token is OTP generated by the TIDA of the user identifier A at the block number at the value of Bnp. As you can see, the Bnp number is significantly smaller than the latest block number Bn and is an old block number value, and before the user transfers the OTP token to someone, BnTOTP = fh (TIDA) at the time of the past Bnp. , KC, Bnp) and BnTOTP = fh (A, TIDA, KC, Bnp), user identifier A, block number Bnp, token number TIDA, one-time password BnTOTP are output to produce 18A and 19A, and then transfer restriction It is assumed that the unlocked OTP token has been transferred.
In this case, the user UA after the transfer may be able to unlock the car or the like even though the user UA does not have the OTP token (access right called OTP token or car key or ownership information on the blockchain). Therefore, when the above method is used, the time information Tm such as GNSS and the broadcast block numbers Bn and Bnp compare the estimated time Tp that generated BnTOTP based on a certain threshold value L, and the difference between Tm and Tp is obtained. When it is larger than L, or when the values of Bn and Bnp to be broadcast are larger than the threshold value L, it can be saved as a program in the recording unit of the authentication function 3018DA or the terminal 3D so as not to accept the authentication by the Bnp value and the BnTOTP value.
In addition, a non-volatile memory (non-volatile memory such as flash memory, strong dielectric memory, magnetic resistance memory, phase change memory, resistance change type memory) that records the time information received by GNSS inside the terminal 3D is used as the terminal. A memory portion in which a malicious attacker records the time information of the terminal 3D by using a non-volatile memory such as the resistance change memory and the strong dielectric memory which is built in the 3D storage device and has a large number of reads and writes as the GNSS time information recording device. It is required to access the information in the above and seal it so that it cannot be tampered with.

<ユーザー識別子もしくはトークンごとに異なるマッピング型シークレット変数KCAを設定する場合>
ネットワーク20に接続されていない設備に内蔵された端末3Dのシークレットキー変数KCは更新を行う場合、ユーザーもしくはサービスの提供者が端末3Dの無線及び有線通信装置にアクセスして個別にKC値を更新する必要がある。放送による時刻情報およびKC値の受信やネットワーク20に接続ができない端末3Dの場合コントラクトのオーナーは任意の時刻に変更することは困難である。
コントラクトに含まれるOTPトークンとOTPトークンに対応する全ての施錠用端末3Dに単一のKC値を使っていた場合、KCの情報が漏洩した場合には、オフラインの施錠装置全てのKCを個別に書き換える必要が生じる恐れがある。
これを防ぐには、KCについてトークン番号やユーザー識別子に応じて複数の値を設定することが想定できる。例としてトークン番号TIDAに固有のシークレットキー変数KCAを設定することが可能である。具体例としてトークン番号TIDAをキーとするマッピング型変数KCA[TIDA]等がある。またマッピング型以外にもTIDAをキーとしてKCAを設定できる型であればよい。
OTP生成及び認証においてハッシュ関数fh( TIDA, KC, Bn)の引数KCをKCAに置き換え、BnTOTP=fh( TIDA, KCA[TIDA], Bn)としてOTPの生成と認証に用いてもよいし、BnTOTP=fh( A,TIDA, KCA[TIDA], Bn)のようにユーザー識別子を追加してもよい。OWP=fh( A,TIDA, KCA[TIDA], BC)でもよい。
トークンごとに異なるKCAを設定する場合の注意点としてブロックチェーンのコントラクトに発行したトークンの数量に応じてシークレット変数KCAを記録しなければならない。これはブロックチェーン上に多くのトランザクションを生成させ、ブロックチェーンのデータ総量を増大させる恐れがある。
BnTOTP=fh( A,TIDA, KCA[TIDA], Bn)のようにユーザー識別子を追加してもよい。OWP=fh( A,TIDA, KCA[TIDA], BC)の形態は端末3Dでの利用例に限らず本発明の他の実施形態でも利用できる。例として端末3Cへのアクセスにも用いることができるほか端末4Aにおける暗号化データをソフトウェア403Aを用いて復号する用途にも用いられる。KCと同じくトークン番号をキーとしたマッピング変数KCAもコントラクトの管理者がセッターとなる関数を用いてOTP生成関数やOTP認証関数の計算に利用する或るトークン番号のKCA値を変更・更新してもよい。
<When setting a different mapping type secret variable KCA for each user identifier or token>
When updating the secret key variable KC of the terminal 3D built in the equipment not connected to the network 20, the user or the service provider accesses the wireless and wired communication device of the terminal 3D and updates the KC value individually. There is a need to. In the case of a terminal 3D that cannot receive time information and KC values by broadcasting or can not connect to the network 20, it is difficult for the owner of the contract to change to an arbitrary time.
If a single KC value is used for the OTP token included in the contract and all the locking terminals 3D corresponding to the OTP token, and if the KC information is leaked, all the KCs of the offline locking devices are individually used. It may need to be rewritten.
To prevent this, it can be assumed that a plurality of values are set for KC according to the token number and the user identifier. As an example, it is possible to set a secret key variable KCA unique to the token number TIDA. As a specific example, there is a mapping type variable KCA [TIDA] using the token number TIDA as a key. In addition to the mapping type, any type that can set KCA using TIDA as a key may be used.
In OTP generation and authentication, the argument KC of the hash function fh (TIDA, KC, Bn) may be replaced with KCA and used as BnTOTP = fh (TIDA, KCA [TIDA], Bn) for OTP generation and authentication, or BnTOTP. A user identifier may be added such as = fh (A, TIDA, KCA [TIDA], Bn). OWP = fh (A, TIDA, KCA [TIDA], BC) may be used.
As a precaution when setting a different KCA for each token, the secret variable KCA must be recorded according to the number of tokens issued to the blockchain contract. This can generate many transactions on the blockchain and increase the total amount of data in the blockchain.
A user identifier may be added such as BnTOTP = fh (A, TIDA, KCA [TIDA], Bn). The form of OWP = fh (A, TIDA, KCA [TIDA], BC) can be used not only in the usage example in the terminal 3D but also in other embodiments of the present invention. As an example, it can be used for accessing the terminal 3C, and is also used for decrypting the encrypted data in the terminal 4A using the software 403A. Similar to KC, the mapping variable KCA using the token number as a key also changes / updates the KCA value of a certain token number used for calculation of the OTP generation function and OTP authentication function by using the function that the contract administrator serves as the setter. May be good.

<シークレット変数KCを更新することの出来るオフライン型施錠装置>
KCの更新においては、建物や設備の施錠に用いる本発明の認証システムを備える端末3Dに接触型または非接触型の通信装置を備えさせ、施錠装置を操作する端末3D内部にKCを更新させる情報を入力させることが考えられる。ここで更新作業を行うのは施錠装置を購入したユーザーを想定する。ユーザーの端末1A等により施錠装置とそのコンピュータ端末3Dにアクセスし3Dの製造元から配布されたKC値(暗号化され配布されたKC値をインストールするなどして)を更新する方法が考えられる。
<Offline lock device that can update the secret variable KC>
In updating the KC, information for equipping a terminal 3D equipped with the authentication system of the present invention used for locking a building or equipment with a contact type or non-contact type communication device and updating the KC inside the terminal 3D for operating the locking device. It is conceivable to have them enter. It is assumed that the user who purchased the locking device performs the update work here. A method of accessing the locking device and its computer terminal 3D by the user's terminal 1A or the like and updating the KC value distributed by the 3D manufacturer (such as installing the encrypted and distributed KC value) can be considered.

<ユーザー識別子AのないOWPトークン>
BnTOTP型のトークンではユーザー識別子AがOTP計算を行うハッシュ関数の引数に無い場合はBnTOTP=fh( TIDA, KC, Bn)であり、前記BnTOTP=fh( TIDA, KC, Bn)はBnが15秒などの定期的な間隔で更新されるので利用は可能である。それに対しOWP型のトークンでユーザー識別子Aがハッシュ関数の引数にない時はOWP=fh( TIDA, KC, BC)の内BCがコントラクトの管理者等により定期的に変更されなければOTPトークンの流通時にOWP値が多くの人に知れ渡ることが想定される。
本発明でOWPを生成する場合にユーザー識別子を利用しない場合の危険性を認識したうえで識別子Aを一切利用しないケースも考えられる(つまりユーザー識別子は含まずトークン番号のみでワンタイムパスワードの生成と認証を行う本発明の実施例)。サービス提供者の望みに応じては個人情報保護のためユーザー識別子Aは使わずトークン番号TIDAのみ利用し、譲渡され流通する中でOWPが漏洩する形で本発明が提供されることもあるかもしれない。
この場合本発明の紙製チケットの所持者は改札や入場窓口の人員の助けを借りブロックチェーン上での所有を確認できなければなければ入場できないが、サービス提供者が規約などで許可しトークン流通の途中でOWPを知ったものにサービスを提供すると契約している場合には、入場あるいはサービスを受けることが出来る(この時、トークンはチケットもしくは回覧板、広告の散らしのようなものであり、そのクーポンコードOWPcpを複数のユーザーが回し見て、ユーザーたちがOWPcpをサービス提供者の店舗などに提示し特典を受けるサービスを想定する。あるいは試供品や試し読みなどの用途への利用を想定する)。
本発明はサービス提供者とユーザーの間で認証し合意してサービスを行うことに役立てる事を意図したものであるので、OWPが漏洩しやすくなる条件であってもサービス提供者の望みに応じて提供される。またカスタマイズされうる。
一方でサービス提供者はブロックチェーン上のコントラクトを利用する際にユーザーに提供する変数のうちトークン番号やユーザー識別子などユーザーに帰属する情報のうちどのような変数を利用しているか開示し表示する必要がある。
<OWP token without user identifier A>
In the BnTOTP type token, when the user identifier A is not in the argument of the hash function that performs the OTP calculation, BnTOTP = fh (TIDA, KC, Bn), and the BnTOTP = fh (TIDA, KC, Bn) has Bn of 15 seconds. It is possible to use it because it is updated at regular intervals such as. On the other hand, when the user identifier A is not an argument of the hash function in the OWP type token, the OTP token is distributed unless BC in OWP = fh (TIDA, KC, BC) is changed regularly by the contract administrator or the like. It is expected that the OWP value will sometimes be known to many people.
In the present invention, there may be a case where the identifier A is not used at all after recognizing the danger of not using the user identifier when generating the OWP (that is, the one-time password is generated only by the token number without including the user identifier. An embodiment of the present invention for certification). Depending on the wishes of the service provider, the present invention may be provided in the form of leaking OWP while being transferred and distributed by using only the token number TIDA without using the user identifier A for the protection of personal information. No.
In this case, the holder of the paper ticket of the present invention cannot enter unless the possession on the blockchain can be confirmed with the help of the ticket gate and the staff at the entrance window. If you have a contract to provide services to those who know OWP in the middle of the process, you can enter or receive services (at this time, the token is like a ticket or circulation board, a scatter of advertisements, etc. It is assumed that multiple users will look around the coupon code OWPcp and the users will present the OWPcp to the store of the service provider to receive benefits, or it will be used for trial products and trial reading. ).
Since the present invention is intended to be useful for authenticating and agreeing to provide services between a service provider and a user, even under conditions where OWP is likely to be leaked, according to the wishes of the service provider. Provided. It can also be customized.
On the other hand, the service provider needs to disclose and display what kind of information belonging to the user such as token number and user identifier is used among the variables provided to the user when using the contract on the blockchain. There is.

なお本発明は認証装置としての端末3Dに関してであり、認証装置ではなく施錠装置そのものの機構を破壊するなどして開錠される恐れは残り、一方でその手段を用いて本発明に必要な秘密鍵101Aや解錠用のOTPデータを失ったユーザーがコントラクト管理者や業者に依頼し設備や金庫、建物などを開錠する余地は残されている。 It should be noted that the present invention relates to the terminal 3D as an authentication device, and there remains a risk of unlocking by destroying the mechanism of the locking device itself instead of the authentication device, while the secret necessary for the present invention by using the means remains. There is still room for the user who lost the key 101A and the OTP data for unlocking to ask the contract manager or the contractor to unlock the equipment, safe, building, and the like.

<発券サーバ端末>
発券サーバ端末3Eは店舗のATM等端末や端末1A、端末1B、管理者端末1C、端末4A、ブロックチェーンノード端末3A、3B、ブロックチェーン検索サーバ3Fとネットワーク20を介して接続されている。ここで端末3Dもネットワーク20に接続されることがあるが、端末3Dは常時接続を想定しない。
<Ticketing server terminal>
The ticketing server terminal 3E is connected to a terminal such as an ATM of a store, a terminal 1A, a terminal 1B, an administrator terminal 1C, a terminal 4A, a blockchain node terminal 3A, 3B, and a blockchain search server 3F via a network 20. Here, the terminal 3D may also be connected to the network 20, but the terminal 3D does not assume a constant connection.

発券サーバ3Eは、ユーザーUAが店舗のATM等端末や端末1Aを操作し、サービスに対応したOTPトークンを検索し前記OTPトークンを電子商取引機能を用いて購入し、ユーザーUAが指示するユーザー識別子Aに対しOTPトークンの発行を依頼する。
そして発券サーバ3Eはコントラクトの管理者UCとコントラクト管理者端末1CにUAが購入したサービスに対応するOTPトークンについて、ユーザー識別子Aに対し、あるブロックチェーン識別子のあるコントラクト識別子のOTPトークンのコントラクトについて、トークン番号TIDAのOTPトークンの発行を指示する。(トークン番号TIDAはコントラクト管理者が決めてもよい。)
コントラクト管理者端末1Cは発券サーバ3Eの指示に従いノード端末3Aのブロックチェーン部にコントラクト管理者の秘密鍵101Cを用いてアクセスし、OTPトークンのコントラクトのトークン発行関数にユーザー識別子Aとトークン番号TIDAとその他OTPトークンの情報(OTPトークンのURI情報やシリアル番号、有効無効の真偽値、備考など)を引数に入力し、OTPトークン発行関数の実行トランザクションを署名後に3Aのブロックチェーン部に送信し、トランザクションがブロックデータにまとめられブロックチェーンに連結されることでトークン番号TIDAのOTPトークンがユーザ識別子Aに発行される。
コントラクト管理者端末1Cもしくは発券サーバ3Eを通じてOTPトークンを発行したユーザーに対し電子メールや電話番号SMSまたは郵送配達によりトークン番号TIDAのOTPトークン発行を行ったことを通知する。
In the ticketing server 3E, the user UA operates the terminal such as the ATM of the store or the terminal 1A, searches for the OTP token corresponding to the service, purchases the OTP token using the electronic commerce function, and the user identifier A instructed by the user UA. Is asked to issue an OTP token.
Then, the ticketing server 3E describes the OTP token corresponding to the service purchased by the UA to the contract administrator UC and the contract administrator terminal 1C, and the OTP token contract of the contract identifier having a certain blockchain identifier with respect to the user identifier A. Token number Instructs the issuance of an OTP token with UIDA. (The token number TIDA may be decided by the contract administrator.)
The contract administrator terminal 1C accesses the blockchain portion of the node terminal 3A using the secret key 101C of the contract administrator according to the instruction of the ticketing server 3E, and enters the token issuing function of the contract of the OTP token with the user identifier A and the token number TIDA. Enter other OTP token information (OTP token URI information, serial number, valid / invalid truth value, remarks, etc.) as arguments, and send the execution transaction of the OTP token issuance function to the blockchain section of 3A after signing. When the transaction is combined into block data and linked to the blockchain, the OTP token of the token number TIDA is issued to the user identifier A.
Notify the user who issued the OTP token through the contract administrator terminal 1C or the ticketing server 3E that the OTP token with the token number TIDA has been issued by e-mail, telephone number SMS, or mail delivery.

<4C.暗号化データおよびファイルの復号と利用>
図1Bに示すように本発明では、図8Aや図8Bに示す本発明のOTP認証システムを応用し、端末5Bなどから配布された暗号化されたデータ4034Aを持つ端末4Aがネットワーク20を通じて端末3Aに接続し本発明のブロックチェーンを用いたOTP認証システムを用いて認証の戻り値4031Aを取得し、ソフトウェア403A(図4Bに記載の403A、403AはソフトウェアCRHN)は少なくとも4031Aを用い、好ましくは4032Aや40302Aといった複数の鍵情報を基にソフトウェア403Aのプログラムの処理に従って暗号化データの復号及び平文データの暗号化を行う共通鍵(対称鍵)4033Aを算出し暗号化データを復号し平文データの利用を可能にする。
<4C. Decryption and use of encrypted data and files>
As shown in FIG. 1B, in the present invention, the OTP authentication system of the present invention shown in FIGS. 8A and 8B is applied, and the terminal 4A having the encrypted data 4034A distributed from the terminal 5B or the like is connected to the terminal 3A through the network 20. The return value 4031A of the authentication is obtained by using the OTP authentication system using the blockchain of the present invention, and the software 403A (403A and 403A shown in FIG. 4B are software CRHN) uses at least 4031A, preferably 4032A. Based on multiple key information such as 40302A and 40302A, a common key (symmetric key) 4033A that decrypts encrypted data and encrypts plain text data is calculated according to the processing of the program of software 403A, and the encrypted data is decrypted and the plain text data is used. Enables.

本発明のOTP認証システムはアクセスコントロール技術であり、図1Bおよび図8Cや図8Dに示す実施形態は図8Aや図8Bとは異なる実施形態である。
図1A及び図8Aや図8Bにおいては端末3Cや端末3DがOTP認証を行いアクセスする対象であった。しかし図1Bや図8Cや図8DにおいてはOTP認証を行いアクセスする対象が端末ではなく暗号化されたデータであり、端末3Cや3Dが存在せず、端末4Aとブロックチェーンのノードとなるサーバ端末3Aとネットワーク20があって、端末4Aの記録装置に暗号化データ4034Aとソフトウェア403A とOTP認証後の戻り値4031Aと4032Aや40302Aといった複数の鍵情報を基にソフトウェア403Aのプログラムの処理に従って暗号化データの復号及び平文データの暗号化を行う鍵情報4033Aを算出し暗号化データを平文データに復号できる。4034Aは4033Aを共通鍵暗号(対象鍵暗号)の共通鍵(対象鍵)として用い復号され4035Aを求めることができる。403Aで用いる暗号化方式は好ましくは共通鍵暗号化を用いる。
The OTP authentication system of the present invention is an access control technique, and the embodiments shown in FIGS. 1B and 8C and 8D are different from those of FIGS. 8A and 8B.
In FIGS. 1A, 8A, and 8B, the terminal 3C and the terminal 3D are the targets to be accessed by performing OTP authentication. However, in FIGS. 1B, 8C, and 8D, the target to be accessed by performing OTP authentication is not the terminal but the encrypted data, the terminal 3C or 3D does not exist, and the terminal 4A and the server terminal which is the node of the blockchain. There is 3A and network 20, and the recording device of terminal 4A encrypts according to the processing of the program of software 403A based on the encrypted data 4034A, the software 403A, the return value 4031A after OTP authentication, and a plurality of key information such as 4032A and 40302A. The key information 4033A for decrypting the data and encrypting the plain text data can be calculated and the encrypted data can be decrypted into the plain text data. The 4034A can be decrypted using the 4033A as a common key (target key) of the common key cryptography (target key cryptography) to obtain the 4035A. The encryption method used in the 403A preferably uses common key encryption.

暗号化データ4034Aは平文データ4035Aを暗号化できるバージョンの(版の)403Aを用いることで作成される(403Aで用いる暗号化方式とTTKY4033Aを算出できるならば403Aを用いなくても暗号化することはできる。)。
図5Bの端末5Bといったネットワーク20を用いてユーザー端末4Aのアクセスに応じ、端末4Aが端末5Bの持つデータベース検索機能により5B内部に収蔵された複数の暗号化データから端末4Aが検索し探索させた暗号データ4034Aを端末4Aにネットワーク20を介して配信する機能を持つ。また端末5Bを用いずとも、既知のクラウドストレージやデータ共有サービスを利用し4034Aを配信・配布できる。
さらにネットワーク20を用いずとも暗号化されたデータ4034Aを記録させた光ディスク(光学ディスク、オプティカルディスク)や半導体メモリ、磁気ディスク、磁気テープおよびそれらを読み取りできる外部記録装置を物流などを通じて流通させ、ユーザーUPと端末4Aの元へ4034Aの記録された外部記録装置を届けることができる。あるいは街頭もしくは店舗などで4034Aの記録された外部記録装置を配布してもよい。後述する図8Dに示す端末5Cにより放送の形で端末4Aを含む複数の端末に暗号データ4034Aを配信・放送してもよい。
The encrypted data 4034A is created by using a version (version) of 403A that can encrypt plaintext data 4035A (if the encryption method used in 403A and TTKY4033A can be calculated, it should be encrypted without using 403A. Can be done.).
In response to the access of the user terminal 4A using the network 20 such as the terminal 5B of FIG. 5B, the terminal 4A searches and searches from a plurality of encrypted data stored inside the 5B by the database search function of the terminal 5B. It has a function of distributing encrypted data 4034A to the terminal 4A via the network 20. Further, 4034A can be distributed and distributed by using a known cloud storage or data sharing service without using the terminal 5B.
Furthermore, optical discs (optical discs, optical discs) on which encrypted data 4034A is recorded, semiconductor memories, magnetic discs, magnetic tapes, and external recording devices that can read them are distributed through distribution and the like without using the network 20, and users. The external recording device in which 4034A is recorded can be delivered to the UP and the terminal 4A. Alternatively, an external recording device in which 4034A is recorded may be distributed on the street or in a store. The encrypted data 4034A may be distributed / broadcast to a plurality of terminals including the terminal 4A in the form of broadcasting by the terminal 5C shown in FIG. 8D described later.

図8Cや図8Dに示す形態の暗号化データは、解錠できる鍵情報4033Aを紛失すると復号できなくなり失われる恐れがある。図8Bに示される例としての金庫の施錠装置のように、端末3Dそのもののハードウェアや施錠用の機械的機構が正常に動作しなくなって解錠ができない場合は施錠装置そのものを破壊し開錠することにより金庫内の物品を回収できることに対し、暗号化データではそのような開錠はできず、復号が困難となった暗号化データに含まれる平文データは失われてしまう恐れがある。 If the unlockable key information 4033A is lost, the encrypted data in the form shown in FIGS. 8C and 8D cannot be decrypted and may be lost. When the hardware of the terminal 3D itself or the mechanical mechanism for locking does not operate normally and the lock cannot be unlocked, as in the case of the lock device of the safe as an example shown in FIG. 8B, the lock device itself is destroyed and the lock is unlocked. By doing so, the goods in the safe can be recovered, but such unlocking cannot be performed with the encrypted data, and the plaintext data contained in the encrypted data that has become difficult to decrypt may be lost.

実施例では電子書籍や音楽映像情報を視聴し閲覧する権利をOTP生成トークンとして表し、OTP生成関数3009AとOTP認証関数3018AとOTPトークン所有情報3014AとOTPトークン発行関数3043A等を含む図3ACのコントラクト3008AをOTP認証システムで用いる場合に呼び出す。
ソフトウェア403Aを利用するOTPトークンのコントラクトは図3ABに示すようなOTP生成関数を含むコントラクト3008AGとOTP認証関数を含むコントラクト3008AAもしくは端末3Dに記録されるOTP認証関数3018DAのようにOTP生成関数を含むコントラクトとOTP認証関数を含むコントラクトに分離していても認証を行えないわけではないが、
ソフトウェア403Aを用いる場合には好ましくは図3ACに示すように同一のコントラクトにOTP生成関数3009AとOTP認証関数3018AとKC値3011AやBC値3013Aとそのセッター関数3012Aを記述する事が好ましい。
403Aはネットワーク20と分散型台帳システムノード端末3Aがあってその端末3Aのコントラクト3008AでOTPの生成と認証を完結できることが望ましく、コントラクトの管理者はKC値3011AやBC値3013A、3030Aや3031Aや3041Aや3042Aといったコントラクトの変数や関数を一つのコントラクト3008Aだけ変更等管理すればよい。
一つのコントラクト3008Aだけ変更等管理することで、KC値などの設定変数を異なるOTP生成及び認証を行うコントラクト間や端末3DのOTP認証関数3018DA間で一致するよう設定する労力を無くすことができる。
端末3Cのサービスで用いる可能性のある3008AGと3008AAに分離したコントラクト間でのシード値3011AやBC値3013AやOTP計算法に関わるブロック番号剰余変数3030AやOTP桁数調整用整数3031Aの同期のための変更等管理作業や、端末3Dのサービスで用いる3008Aや3008AGと3018DAをもつ端末3Dの記録部の間での変更等管理作業が、ソフトウェア403Aの用途では不要になることがある。
ユーザー端末が用いるOTP生成コントラクトと端末3Cや3Dなどで用いつOTPを認証する関数やコントラクトを分離すると、そのシード値を変更する際にそれぞれのコントラクトまたは関数のKC値等数値を同じ値に変更させ同期させる必要があり、コントラクトやサービス管理者の労力を要求する。一方で図3ACに示すように同一のコントラクトにKC値3011AやBC値3013Aとそのセッター関数3012Aを記述することでOTP生成関数とOTP認証関数の計算に用いるKC値3011Aなど数値が同一コントラクトにある場合は、そのコントラクトのセッター関数3012Aを一度操作するのみで済み、シード値の更新と同期を行う際に労力が少なくなる利点がある。そこでソフトウェア403Aを用いる実施形態では図3ACに示すようにOTPの生成関数と認証関数を用いるコントラクトを利用した。
In the embodiment, the right to view and view electronic books and music video information is represented as an OTP generation token, and the contract of FIG. 3AC including an OTP generation function 3009A, an OTP authentication function 3018A, an OTP token possession information 3014A, an OTP token issuance function 3043A, and the like. Called when using 3008A in the OTP authentication system.
The contract of the OTP token using the software 403A includes the contract 30008AG including the OTP generation function as shown in FIG. 3AB and the contract 3008AA including the OTP authentication function or the OTP generation function such as the OTP authentication function 3018DA recorded in the terminal 3D. Even if it is separated into a contract and a contract that includes an OTP authentication function, it does not mean that authentication cannot be performed.
When software 403A is used, it is preferable to describe the OTP generation function 3009A, the OTP authentication function 3018A, the KC value 3011A, the BC value 3013A, and the setter function 3012A in the same contract as shown in FIG. 3AC.
It is desirable that the 403A has a network 20 and a distributed ledger system node terminal 3A, and the OTP generation and authentication can be completed by the contract 3008A of the terminal 3A. It is sufficient to manage variables and functions of contracts such as 3041A and 3042A by changing only one contract 3008A.
By managing changes such as changing only one contract 3008A, it is possible to eliminate the labor of setting setting variables such as KC values to match between contracts that generate and authenticate different OTPs and between OTP authentication functions 3018DA of the terminal 3D.
For synchronization of seed value 3011A, BC value 3013A, block number residual variable 3030A related to OTP calculation method, and integer 3031A for adjusting the number of OTP digits between contracts separated into 3008AG and 3008AA that may be used in the service of terminal 3C. The management work such as change of the terminal 3D and the management work such as the change between the recording unit of the terminal 3D having 3008A or 3008AG and 3018DA used in the service of the terminal 3D may be unnecessary in the use of the software 403A.
If the OTP generation contract used by the user terminal and the function or contract that authenticates the OTP used in the terminal 3C or 3D are separated, the KC value or other numerical value of each contract or function is changed to the same value when the seed value is changed. It needs to be synchronized and requires the effort of contracts and service managers. On the other hand, as shown in FIG. 3AC, by describing the KC value 3011A or BC value 3013A and its setter function 3012A in the same contract, the numerical values such as the KC value 3011A used for the calculation of the OTP generation function and the OTP authentication function are in the same contract. In this case, it is only necessary to operate the setter function 3012A of the contract once, which has an advantage that the labor for updating and synchronizing the seed value is reduced. Therefore, in the embodiment using the software 403A, a contract using the OTP generation function and the authentication function is used as shown in FIG. 3AC.

実施例においては、OTP認証時に認証関数3018Aを実行し認証結果を戻り値CTAU(図3ACの3021Aと図4Bの4031A)として受け取ったとき、戻り値4031Aが複数あって、第一の戻り値が真偽値変数CTAUtf(真偽値型変数CTAUtf、ブーリアン型変数CTAUtf、ブール型変数CTAUtf)で第二の戻り値が認証コントラクトに内蔵された変数に記録された鍵情報CTAUkeyであった時、認証結果のうち真偽値CTAUtfを用いてアプリケーションソフトウェア403A内部の次の処理の実行を決定させる。4031Aに含まれる第1の戻り値CTAUtfが真ならば認証結果が正しいと定義する時、ソフトウェア403AはCTAUtfの結果が真であるか判定し、偽の値の場合は処理を中断する。
CTAUtfが真の値である時、4031Aに含まれる第2戻り値のCTAUkeyを受け取り、そのCTAUkeyとソフトウェア403Aに内蔵された鍵40302Aと必要に応じて外部で設定された4032Aを鍵を生成する情報に用いて共通鍵4033A(TTY4033A、タイトルキー4033A)をソフトウェア403Aのプログラムに従って計算し、4033Aを共通鍵に用いてAES(Advanced Encryption Standard)方式等の共通鍵暗号で暗号化されたデータやファイルを復号して閲覧し利用する事が可能である。
ここで本発明の実施例や実施形態では閲覧・視聴可能なファイルは文章ファイル、音声ファイル、動画ファイルなどが可能である。主にHTML5とECMAScriptに対応するウェブブラウザにおいて表示可能なファイル拡張子のファイルを用いた。
In the embodiment, when the authentication function 3018A is executed at the time of OTP authentication and the authentication result is received as the return value CTAU (3021A in FIG. 3AC and 4031A in FIG. 4B), there are a plurality of return values 4031A, and the first return value is Authentication when the second return value is the key information CTUkey recorded in the variable built in the authentication contract in the boolean variable CTAUTf (valid value type variable CTAUTf, Boolean type variable CTAUtf, Boolean type variable CTAUtf). Of the results, the boolean value CTautf is used to determine the execution of the next process inside the application software 403A. When defining that the authentication result is correct if the first return value CTAUTf included in 4031A is true, the software 403A determines whether the result of CTAUtf is true, and if it is a false value, the process is interrupted.
Information that receives the second return value CTAUkey included in 4031A when CTUtf is a true value, and generates a key 40302A built in the CTAUkey and software 403A and 4032A externally set as needed. The common key 4033A (TTY4033A, title key 4033A) is calculated according to the program of the software 403A, and the data and files encrypted by the common key encryption such as AES (Advanced Encryption Standard) method are used as the common key. It can be decrypted, viewed, and used.
Here, in the embodiments and embodiments of the present invention, the files that can be viewed / viewed can be text files, audio files, moving image files, and the like. A file with a file extension that can be displayed by a web browser that mainly supports HTML5 and ECMAScript was used.

本発明を実施する際にはソフトウェア403Aにおける共通鍵暗号に用いたAES方式の鍵長は128bitおよび192bitを用いた。本発明の実施例で用いたAES方式は具体的にはAES−CBC暗号であり明示的初期ベクトル(Initialization Vector:IV)を伴う暗号ブロック連鎖(CBC)モードを用いた。ソフトウェア403Aには鍵のデータ長とCBCモードや初期ベクトルIVを設定する。 In carrying out the present invention, the key lengths of the AES method used for the common key cryptography in the software 403A were 128 bits and 192 bits. The AES method used in the examples of the present invention is specifically an AES-CBC cipher, and a cipher block chain (CBC) mode with an explicit Initialization Vector (IV) is used. The key data length, CBC mode and initial vector IV are set in software 403A.

ソフトウェア403Aの実施例として、文章形式では米国アドビ社のPDF形式、音声ではMP3形式、動画形式ではMP4形式などウェブブラウザで利用できるファイルの形式に対応する。また著作権に関するコンテンツを含むファイルのみならず、例えば外部に漏洩することを防ぎ漏洩したとしても暗号化などで復号されないようにしたい法人の顧客等個人情報(例としてある株式会社の顧客名簿、学校法人の学生名簿など)や、個人・法人・団体の内部で閲覧するべき機密文章や、製作中の音声画像動画情報、製品の設計図、製品のCADデータ(3Dプリンタに利用可能な3DCADデータも含む)、電子回路データ(プログラムロジックデバイスで利用できる設計データを含む)、半導体のフォトマスクデータなどといった多様な研究所や工場などの機密情報などを暗号化し復号して伝達する際にも本発明は利用できる。 As an example of the software 403A, it corresponds to a file format that can be used by a web browser, such as a PDF format of Adobe Corporation in the United States for text format, an MP3 format for audio, and an MP4 format for video format. In addition to files containing copyright-related content, personal information such as corporate customers who want to prevent leakage to the outside and prevent decryption by encryption, etc. (for example, customer list of a corporation, school) (Corporate student list, etc.), confidential texts that should be viewed inside individuals / corporations / organizations, audio / image / video information during production, product design drawings, product CAD data (3D CAD data that can be used for 3D printers) The present invention is also used when encrypting, decrypting, and transmitting confidential information of various laboratories and factories such as electronic circuit data (including design data that can be used in program logic devices), semiconductor photomask data, etc.). Is available.

本発明の実施例ではAES方式の共通鍵暗号で暗号化されたファイルをソフトウェア403Aを用いて作成または復号するための鍵4033Aを生成する際に、ソフトウェア403Aは少なくとも鍵情報CTAU4031Aを利用する。そしてソフトウェア403Aに内蔵された鍵40302A(CRKY40302A、CRHNソフトウェア秘密鍵40302A)を用い、さらにブロックチェーン(分散型台帳システム)及びソフトウェア403Aに含まれない鍵4032A(AKTB4032A、合言葉4032A、外部パスワード4032A)を用いる。4032Aはブロックチェーンを用いないことにしているがそれは推奨であって実際には403Aを利用するブロックチェーン基盤とは異なるブロックチェーン基盤からのトランザクションで通知されてもよく、4032Aの通知方法は暗号化するユーザーの方針による。 In the embodiment of the present invention, the software 403A utilizes at least the key information CTAU4031A when generating the key 4033A for creating or decrypting the file encrypted by the common key encryption of the AES method by using the software 403A. Then, using the key 40302A (CRKY40302A, CRHN software secret key 40302A) built in the software 403A, and further using the key 4032A (AKTB4032A, password 4032A, external password 4032A) not included in the blockchain (distributed ledger system) and the software 403A. Use. Although 4032A decides not to use blockchain, it is recommended and may actually be notified by a transaction from a blockchain infrastructure different from the blockchain infrastructure that uses 403A, and the notification method of 4032A is encryption. It depends on the policy of the user.

1.ブロックチェーンのコントラクトに記録された認証関数の戻り値4031A
鍵情報を持つ変数4031AはOTP認証コントラクトの認証関数に利用される変数に内蔵されているが、OTP生成コントラクトに認証関数と共に内蔵していてもよい。4031Aは認証関数3018Aを実行したときに認証結果が正しい場合の戻り値CATUとして設定される。ここでOTPトークンの発行等ERC721規格のノンファンジブルトークンとしての処理とOTPの生成・認証を行うコントラクト3008Aの関数や変数の内容は秘匿化されていることが好ましい。
また鍵情報4031Aをコントラクトの作成者・管理者が変更できるセッター関数を持っていてもよい。コントラクトの作成者・管理者は暗号化されたファイルの著作権等の権限を持つ権利者の個人法人を想定する。
403AとOTPトークンと4031Aが対象にするサービスが定期購読型の雑誌や新聞、定期視聴型の放送データであるとき、暗号化に用いる鍵4033Aは数カ月もしくは数年毎に更新することが好ましく、コントラクトの4031Aをコントラクト管理者が定期的に変更することで4033Aも更新される。変更された4033Aで平文データを暗号化して流通させる。
その場合、4031Aを知らないユーザーは4033Aを算出できず暗号化データの復号が困難もしくは不可能になる。この場合は403Aが出来事を記録するために新聞の記事の一部を個人利用用に切取り保存できた方が文化や時事の記録に役立つほか複写なども許可すべきかもしれない。後述する証明書4036Aと同様に電子署名やHMACなどの手段を用いて新聞など公共性のある情報から個人利用のために切り抜いたデータに時刻情報やブロックチェーンのブロック番号とそれらメッセージのMAC値を添付して改ざん検知できる新聞等書籍の記録として保存してもよい(新聞等書籍の権利者が切り取りなどを許可しない場合は403Aにおいて切取して保存する機能は停止される)。
別の方法として4031Aを固定されたデータ値とし、4032Aをあらかじめ新聞や雑誌の契約時にユーザー識別子へのトランザクションやもしくは電子メールなどで通知しておき、数カ月もしくは数年ごとに4032Aを更新し4033Aを更新しながら暗号化データを作成しユーザーへ暗号化データを流通させつつ、ユーザーへ更新後の4032Aを通知しさせる。ユーザーに電子メールなどで更新後の4032Aと前記4032Aを用いて4033Aを算出し鍵に用いて暗号化した暗号化データを配布してもよい。4032Aを伝達する方法として電子メールの代わりに403Aがあるウェブサイトやウェブアプリと接続しAKTB4032Aを自動的に取得してもよい。
任意ではあるが4032Aを顧客・ユーザーごとに変えて4033Aも同じく顧客ごとに変えて暗号化したデータを作成して配布してよい。ただし、データ流通時にその暗号化データは対象となる読者にユニークなデータやハッシュ値を持つため誰がどの出版社の雑誌や新聞を購読しているかがトラッキングされる恐れもあるので、暗号化された電子メールやクラウドストレージなどの通信手段で暗号データを出版社とユーザー間でユーザー専用の暗号化データのやり取りをすることが好ましい。4032Aと4032Aを用いて作製した4033Aを記録した光ディスク等の記録媒体を通信ではなく郵便や配達の形で配布する事もできる。
新聞・雑誌などは単一の4033Aで暗号化され無線による放送データの形で取得できるとき、だれがどのようなデータを購読しているかはトラッキングしづらいかもしれない。
1. 1. Return value of authentication function recorded in blockchain contract 4031A
The variable 4031A having the key information is built in the variable used for the authentication function of the OTP authentication contract, but may be built in the OTP generation contract together with the authentication function. 4031A is set as the return value CATU when the authentication result is correct when the authentication function 3018A is executed. Here, it is preferable that the contents of the functions and variables of the contract 3008A that processes the ERC721 standard as a non-fundable token such as issuing an OTP token and generates / authenticates the OTP are concealed.
Further, the key information 4031A may have a setter function that can be changed by the creator / administrator of the contract. The creator / administrator of the contract is assumed to be the individual corporation of the right holder who has the authority such as the copyright of the encrypted file.
When the services targeted by 403A, OTP tokens, and 4031A are subscription-type magazines and newspapers, and subscription-type broadcast data, the key 4033A used for encryption is preferably updated every few months or years, and contracts. 4033A is also updated by the contract manager changing 4031A on a regular basis. Plaintext data is encrypted and distributed with the modified 4033A.
In that case, a user who does not know 4031A cannot calculate 4033A, and it becomes difficult or impossible to decrypt the encrypted data. In this case, it would be useful for 403A to cut and save a part of the newspaper article for personal use in order to record the event, which would be useful for recording culture and current affairs, and it may be necessary to allow copying. Similar to the certificate 4036A described later, the time information, block chain block number, and MAC value of those messages are added to the data cut out for personal use from public information such as newspapers using means such as electronic signatures and HMAC. It may be attached and saved as a record of books such as newspapers that can be detected for tampering (if the right holder of the books such as newspapers does not permit cutting etc., the function of cutting and saving in 403A is stopped).
As another method, 4031A is set as a fixed data value, 4032A is notified in advance by transaction or e-mail to the user identifier at the time of contracting for newspapers and magazines, and 4032A is updated every few months or years to 4033A. While updating, encrypted data is created and the encrypted data is distributed to the user, and the user is notified of the updated 4032A. 4032A may be calculated by using the updated 4032A and the 4032A by e-mail or the like, and the encrypted data encrypted by using the key may be distributed to the user. As a method of transmitting 4032A, AKTB4032A may be automatically acquired by connecting to a website or web application having 403A instead of e-mail.
Although it is optional, 4032A may be changed for each customer / user, and 4033A may also be changed for each customer to create and distribute encrypted data. However, when the data is distributed, the encrypted data has unique data and hash values to the target reader, so it may be tracked who subscribes to which publisher's magazine or newspaper, so it was encrypted. It is preferable to exchange encrypted data between the publisher and the user by means of communication such as e-mail or cloud storage. A recording medium such as an optical disk on which 4033A produced by using 4032A and 4032A is recorded can also be distributed in the form of mail or delivery instead of communication.
When newspapers, magazines, etc. are encrypted with a single 4033A and can be obtained in the form of wireless broadcast data, it may be difficult to track who subscribes to what data.

OTPトークンと対応するデータやコンテンツを提供する権利者の要請に応じ、コントラクト3008Aには譲渡制限を行う3041Aが設定され、3041Aのデータ値に応じてトークン送信関数3040Aの実行が中断されるようにしてもよい。 At the request of the right holder who provides the data and contents corresponding to the OTP token, 3041A for transfer restriction is set in the contract 3008A so that the execution of the token transmission function 3040A is interrupted according to the data value of 3041A. You may.

例として、機密情報などを団体で扱う場合にはデータのアクセス権であるOTPトークンを譲渡する必要が無く、譲渡制限機能を利用したいときには3041Aにて譲渡を禁止する変数値を設定する。
一方、OTPトークンに対応するコンテンツが例として書籍データであって、その書籍データは紙の書籍と同じく古物として法令に従って流通することをコンテンツの権利者が許可するとき、コントラクト3008Aには譲渡制限を行う3041Aが設定されるものの、3041Aのデータ値はコンテンツの権利者が鍵情報4031Aをコントラクトの作成者・管理者が変更できるセッター関数により任意の時刻に書き換えることで3041Aが譲渡可能な状態の場合にOTPトークンを紙の書籍の代替物とみなして異なる秘密鍵を持つユーザー(例として101Aを持つユーザー識別子Aと101Bを持つユーザー識別子Bのユーザー)の間で送信関数3040Aを用いて譲渡することが可能になる。さらに、コンテンツの権利者が許可する場合、譲渡制限を行う3041Aが設定されず、ERC721規格に準拠してトークンが流通させることもできる。
As an example, when handling confidential information or the like in a group, it is not necessary to transfer the OTP token which is the access right of the data, and when the transfer restriction function is to be used, a variable value prohibiting the transfer is set in 3041A.
On the other hand, when the content corresponding to the OTP token is book data as an example, and the right holder of the content permits the book data to be distributed as an antique as an antique book in accordance with the law, the contract 3008A is restricted from being transferred. Although 3041A is set, the data value of 3041A is in a state where 3041A can be transferred by rewriting the key information 4031A to an arbitrary time by a setter function that can be changed by the creator / administrator of the contract. The OTP token is regarded as a substitute for a paper book and transferred between users having different private keys (for example, a user having a user identifier A having 101A and a user having a user identifier B having 101B) using the transmission function 3040A. Will be possible. Further, if the right holder of the content permits, 3041A that restricts the transfer is not set, and the token can be distributed in accordance with the ERC721 standard.

2.合言葉もしくはパスワードを使う鍵4032A。
この情報はブロックチェーン上のOTP生成及び認証コントラクトやソフトウェア403Aには含まれない情報であり、それらとかかわりのない通信経路を用いて鍵4032Aをユーザーに伝える。ここで伝達の仕方は任意であり、電子メール、電話、SMS、コントラクト作成者のウェブサイトなどや、封書をユーザー宛てに郵送するなどの手段を利用できる。(ここで鍵4032AをOTP生成トークンを保有するユーザーに伝達する場合にパブリックなブロックチェーンによるトランザクションやソフトウェア403Aを用いるのは推奨されない。秘匿化されたプライベートなブロックチェーンではトランザクションに4032Aを記録してユーザーの識別子に送付できるかもしれないが、ブロックチェーンに依存せず電子メールや電話、信書の郵送配達といった形で送付してもよい。)
2. 2. Key 4032A with password or password.
This information is not included in the OTP generation and authentication contracts on the blockchain and the software 403A, and conveys the key 4032A to the user using a communication path unrelated to them. Here, the method of communication is arbitrary, and means such as e-mail, telephone, SMS, the website of the contract creator, and mailing the sealed letter to the user can be used. (Here, it is not recommended to use a public blockchain transaction or software 403A when transmitting the key 4032A to the user holding the OTP generation token. In a concealed private blockchain, record 4032A in the transaction. It may be sent to the user's identifier, but it may be sent in the form of e-mail, telephone, or mail delivery of letters without depending on the blockchain.)

4032Aには空欄を記入することも可能である。すなわち暗号化の鍵のデータ値が4031Aだけになる場合もあるが、攻撃者にとっては403Aのソースコードとブロックチェーン以外の経路から伝達された鍵を推測する必要が生じるので、その鍵の特定が必要となり、暗号化を復号する事を困難にさせる、暗号解読に取り組む意欲を削ぐ狙いがある。4032Aはデータを暗号化したいユーザーが、データを暗号化によりどの程度保護したいかに応じて設定する変数である。好ましくは値4032Aは空欄ではなく、ある数の数字や文字列であるとよい。値4032Aはソフトウェア403Aの許す限り長い文字列のデータ値をとることもできる。4桁のPINでもよい。もしくは1文字の英数字記号でもよい。 It is also possible to fill in a blank in 4032A. That is, the data value of the encryption key may be only 4031A, but the attacker needs to guess the key transmitted from the source code of 403A and the route other than the blockchain, so the identification of the key is necessary. The aim is to discourage the willingness to work on decryption, which is necessary and makes it difficult to decrypt. 4032A is a variable set by a user who wants to encrypt data according to how much he / she wants to protect the data by encryption. Preferably, the value 4032A is not a blank, but a certain number or character string. The value 4032A can also take the data value of a character string as long as the software 403A allows. It may be a 4-digit PIN. Alternatively, it may be a one-character alphanumerical symbol.

ここで4032AはユーザーUAの電子メールアドレスなどに伝達されるが、メールアドレスごとに(送付先ごとに)異なる値4032Aとし(例えばユーザー識別子Aを由来として数々の演算やハッシュ化、情報の切り取りなどの加工した値とし、コントラクトに内蔵された一つの戻り値4031Aとユーザー識別子毎に異なる値4032Aを基にユーザー識別子毎に異なるファイル暗号化鍵TTKY4033Aを生成してコンテンツファイルの暗号化を行い、暗号化ファイルをユーザーに別途メールやウェブサービスで伝達することもできる。このとき、ファイルを流通させるサーバ5Bにおいてユーザーごとのメールアドレス毎に異なるAES暗号化鍵でコンテンツを暗号化し送信する処理部と記憶部が必要である。 Here, 4032A is transmitted to the e-mail address of the user UA, but it is set to a different value 4032A for each e-mail address (for each destination) (for example, a number of operations, hashing, information clipping, etc. derived from the user identifier A). A file encryption key TTKY4033A that is different for each user identifier is generated based on one return value 4031A built in the contract and a value 4032A that is different for each user identifier, and the content file is encrypted and encrypted. It is also possible to separately transmit the encrypted file to the user by e-mail or web service. At this time, the processing unit and storage that encrypts and transmits the content with the AES encryption key that is different for each e-mail address for each user on the server 5B that distributes the file. I need a part.

一方で、ユーザーの区別なく簡易なセキュリティとして社内などに配布したい資料のファイルの暗号化に用いる場合などでは4032Aは社内で決めた文字列にして、単一の4032Aのみを用い、社内のメールや紙の回覧板、社内郵便などで通知させ、同一のダイジェスト値(ハッシュ値)を持つ暗号化ファイル4034Aを社内に接続されたユーザーの端末に配布することも考えられる。
この場合、ネットワーク20に接続されたサーバ5Bは不要であり、社外のサーバーを使わないことはコストの低減につながる。社内に限らず個人同士やある団体で文章やソフトウェアといったコンテンツを流通させたい場合にも利用できる。社内のデータを暗号化し、万一暗号化データが漏洩した際も平文データの形で閲覧されることを防ぐ。
On the other hand, when using it for encryption of files of materials that you want to distribute to the company as a simple security without distinguishing between users, 4032A should be a character string decided in the company, and only a single 4032A should be used for in-house mail. It is also conceivable to notify by a paper circulation board, in-house mail, etc., and distribute the encrypted file 4034A having the same digest value (hash value) to the terminal of the user connected in the company.
In this case, the server 5B connected to the network 20 is unnecessary, and not using an external server leads to cost reduction. It can be used not only within the company but also when you want to distribute contents such as sentences and software between individuals or a certain group. It encrypts in-house data and prevents it from being viewed in the form of plaintext data should the encrypted data be leaked.

ハッシュ値の異なる同一の平文データ・コンテンツを含む暗号化ファイルを各々のユーザー識別子のユーザーに配布する場合は、配布先のユーザー数が多いほど個別に暗号して作成する4034Aが増え、端末5Bの計算資源と記憶領域を消費する恐れがある。さらにOTPトークンの譲渡制限がない場合、ユーザーはOTPトークンを譲渡し合えるが、OTPトークンと対応した鍵4032Aと、4032Aを用いて暗号化したデータ4034Aを譲渡時に譲渡元のユーザーから引き継ぐ必要がある。もしくは端末5BにOTPトークンの譲渡があったことを通知し、5B譲渡先のユーザーのために新たに生成した4032Aと4032Aを用いて暗号化したデータ4034Aを配信・配布されてもよい。 When distributing an encrypted file containing the same plaintext data content with different hash values to users with each user identifier, the larger the number of users at the distribution destination, the more 4034A will be created by individually encrypting, and the terminal 5B will have more. May consume computational resources and storage space. Furthermore, if there is no transfer restriction on the OTP token, the user can transfer the OTP token to each other, but it is necessary to inherit the key 4032A corresponding to the OTP token and the data 4034A encrypted using the 4032A from the transfer source user at the time of transfer. .. Alternatively, the terminal 5B may be notified that the OTP token has been transferred, and the data 4034A encrypted using the newly generated 4032A and 4032A may be distributed and distributed for the user of the 5B transfer destination.

ハッシュ値の異なる同一の平文データ・コンテンツを含む暗号化ファイル4034Aを各々のユーザー識別子のユーザーに配布する場合は、オーダーメードされた暗号化データ4034Aの流通をネットワーク20上でトラッキングすることで不正なデータの流通を監視出来るかもしれないが、暗号化データ4034Aの流通をネットワーク20上で追跡することでどのような新聞や書籍がどのようなユーザーに読まれているかを補足することが容易になる恐れもある。
プライバシーの保護とコンテンツ管理者の保護を両立できるよう4032Aを用いた暗号化データ4034Aの生成と流通を行うことが望ましい。また計算資源、記憶領域、暗号化データの保存性を考慮することが好ましい。発明者としては4032Aは個人間や団体内、社内で決めた単一の文字列(合言葉としての外部パスワード)として、同一のダイジェスト値(ハッシュ値)を持つ暗号化ファイル4034Aを配布することが好ましいと考える。
When distributing an encrypted file 4034A containing the same plain data content having a different hash value to a user with each user identifier, it is illegal to track the distribution of the customized encrypted data 4034A on the network 20. Although it may be possible to monitor the distribution of data, tracking the distribution of encrypted data 4034A on the network 20 makes it easier to supplement what kind of newspaper or book is being read by what kind of user. There is also a fear.
It is desirable to generate and distribute encrypted data 4034A using 4032A so that both privacy protection and content manager protection can be achieved at the same time. It is also preferable to consider the storage stability of computational resources, storage areas, and encrypted data. As an inventor, it is preferable that 4032A distributes an encrypted file 4034A having the same digest value (hash value) as a single character string (external password as a password) determined between individuals, within an organization, or within the company. I think.

さらに次に示す3番目、4番目の鍵情報を追加できる。 In addition, the following 3rd and 4th key information can be added.

3.ソフトウェア403Aの例として403AのECMAScript等のソースコードに記述されたソフトウェア403Aに設定された鍵情報40302A(図4BのCRKY、40302A)。ここでソフトウェア403Aのソースコードは難読化されることが好ましい。またソースコードは暗号化することもできる。もし40302Aが漏洩した場合には40302Aの値を変更した新たな版のソフトウェア403Aを配布する際に利用する。
4033Aの算出には4031Aと4032Aと40302Aを含む403Aが必要である。新しい版の403Aのユーザーは過去の書籍の暗号データ4034Aに対応する版の403Aを同じ場所に記録して保存することが好ましい。
3. 3. As an example of the software 403A, the key information 40302A set in the software 403A described in the source code such as ECMAScript of the 403A (CRKY, 40302A in FIG. 4B). Here, it is preferable that the source code of the software 403A is obfuscated. The source code can also be encrypted. If 40302A leaks, it will be used when distributing a new version of software 403A with the value of 40302A changed.
The calculation of 4033A requires 403A including 4031A, 4032A and 40302A. Users of the new version of 403A preferably record and store the version of 403A corresponding to the cryptographic data 4034A of the past book in the same location.

4.ブロックチェーン上の端末3Aをはじめとするノードに記録されるOTP生成および認証コントラクトとは異なる鍵管理コントラクトから読み取る鍵情報40303Aを用いてもよい。
40303Aは攻撃者によるソフトウェア403Aの鍵4033Aの計算方法の解読を困難にする目的で導入される一つの例である。
ソフトウェア403Aには鍵管理コントラクトのコントラクト識別子40301Aが記述され、ソフトウェア403AのECMAScriptで指定された処理に応じて、鍵管理コントラクトから鍵40303Aを手に入れるゲッター関数を動作させ、関数の戻り値として40303Aを得る。40301A、40302A、40303AはソフトウェアCRHNごとに決定される。もし40303Aが漏洩した場合には40303Aの値を変更したソフトウェアCRHNを配布する際に利用する。ここでコントラクトの関数や変数の内容は秘匿化されていることが好ましい。
4. Key information 40303A read from a key management contract different from the OTP generation and authentication contract recorded in the node such as the terminal 3A on the blockchain may be used.
40303A is an example introduced for the purpose of making it difficult for an attacker to decipher the calculation method of the key 4033A of the software 403A.
The contract identifier 40301A of the key management contract is described in the software 403A, and the getter function for obtaining the key 40303A from the key management contract is operated according to the process specified by ECMAScript of the software 403A, and the return value of the function is 40303A. To get. 40301A, 40302A, 40303A are determined for each software CRHN. If 40303A leaks, it will be used when distributing software CRHN with the value of 40303A changed. Here, it is preferable that the contents of the contract functions and variables are concealed.

整理すると、本発明の実施例では4つの鍵情報を用いた。端末4Aにおいて、端末3Aなどのブロックチェーンノードから得られる鍵情報は4031A、40303Aであり、ソフトウェア403Aから得られる鍵情報は40302Aであり、そのどちらにも属さない経路で伝達される鍵情報は4032Aである。4031A、40303A、40302A、4032Aの4つの鍵を用い、4つの鍵情報を変数としたソフトウェア403Aの鍵計算関数(鍵計算処理部)を用いてファイルを暗号化及び復号を行う共通鍵TTKY4033Aを生成する。 To summarize, in the embodiment of the present invention, four key information was used. In the terminal 4A, the key information obtained from the blockchain node such as the terminal 3A is 4031A and 40303A, the key information obtained from the software 403A is 40302A, and the key information transmitted by a route not belonging to either of them is 4032A. Is. Generates a common key TTKY4033A that encrypts and decrypts files using the key calculation function (key calculation processing unit) of software 403A that uses the four keys of 4031A, 40303A, 40302A, and 4032A and uses the four key information as variables. do.

鍵4032Aは情報が設定されない場合は空欄を入力したものとみなす。すなわち4032Aが空欄であることを伝達されたと解釈し403Aのプログラムはファイルの復号を試みる。また平文のファイルがありそれを暗号化する処理をユーザーが選択した場合には4032Aを空欄の場合は空欄として扱い暗号化を行う。 If the information is not set for the key 4032A, it is considered that a blank is entered. That is, it is interpreted that 4032A is blank, and the program of 403A tries to decrypt the file. If there is a plaintext file and the user selects a process to encrypt it, 4032A is treated as a blank and encrypted.

本発明の実施例及び実施形態で、このような4つの鍵を利用する方式をとる理由、とくにAKTB4032Aを用いる理由としてファイルを攻撃者が開錠し復号する際に仮にブロックチェーン上の4031A,40303Aはイーサリアムでは鍵情報が解読可能な状態であり、なおかつソフトウェア403Aもソースコードを難読化し暗号化などをしても攻撃者が鍵を見破る恐れがある。
そこでブロックチェーン及びソフトウェア403Aに存在しないAKTBという変数4032Aを設定しファイルを暗号化、復号を行う。4032Aを設定することで攻撃者へ対応する。4032Aの変数の個数は一つとは限らず複数設定できる。
In the embodiments and embodiments of the present invention, the reason for adopting the method of using such four keys, particularly the reason for using AKTB4032A, is that when an attacker unlocks and decrypts a file, 4031A and 40303A on the blockchain are tentatively used. In Ethereum, the key information can be decrypted, and even if the software 403A obfuscates the source code and encrypts it, an attacker may find out the key.
Therefore, a variable 4032A called AKTB that does not exist in the blockchain and software 403A is set, and the file is encrypted and decrypted. Respond to attackers by setting 4032A. The number of variables of 4032A is not limited to one, and a plurality of variables can be set.

ここでイーサリアムでなく、エンタープライズイーサリアムアライアンス(EEA)の提供するQuorumのような 取引(トランザクション)の秘匿化やネットワークへのアクセス制御などの機能が追加されたパーミッション型(許可型)のブロックチェーンを用いればコントラクトに記録された4031A、40303Aは秘匿化されうるため、前記の取引(トランザクション)の秘匿化が可能なブロックチェーン基盤を用いることが好ましい。
Quorumのような 取引(トランザクション)の秘匿化やネットワークへのアクセス制御などの機能が追加されたパーミッション型(許可型)のブロックチェーンは図1、図1A、図1B、図8A、図8B、図8C、図8Dの実施例でも利用されることが好ましい。端末3Cの銀行のインターネットバンキングへのウェブサイトへのログイン用途および金融や価値のある情報を扱うウェブサービスへのログイン用途、端末3Dでの金庫や金庫室と自動車や建物などを施錠し解錠する用途、そしてソフトウェア403Aを用いる暗号化データの復号用途にも利用されることが好ましい。
Here, instead of Ethereum, a permission-type (permission-type) blockchain with added functions such as transaction concealment and network access control such as Quorum provided by the Enterprise Ethereum Alliance (EEA). If it is used, 4031A and 40303A recorded in the contract can be concealed, so it is preferable to use a blockchain platform capable of concealing the transaction.
Permission-type (permission-type) blockchains with added functions such as transaction concealment and network access control, such as Quorum, are shown in FIGS. 1, 1A, 1B, 8A, 8B, and Fig. It is preferable that it is also used in the examples of 8C and FIG. 8D. Terminal 3C for logging in to websites for banks' Internet banking, for logging in to web services that handle financial and valuable information, and for locking and unlocking safes and vaults and cars and buildings on Terminal 3D. It is preferable that it is also used for applications and for decrypting encrypted data using software 403A.

<暗号化データの分散された保管>
4031A、40303A、40302A、4032Aと併用し、それら4つの変数を基に算出された単一の暗号化鍵TTKY4033Aにてコンテンツを暗号化し、暗号化されたファイルのハッシュ値が一つのみとなる形でコンテンツを暗号化して流通させることが想定される。一方で先に説明したことと同じであるが、ユーザーごとに4031Aや4032Aを変更させてTTKY4033Aの違う暗号化ファイルを流通させることもできる。
ここで情報の保存のため、単一のTTKY4033Aで暗号化されたファイルを流通させることも考える。施錠された金庫などの設備等の例で示した解錠の手段を無くした場合でも施錠を破壊すればよいという考え方はコンテンツなどを含む暗号化データでは適用できない。コンテンツの権利者が配布した暗号化データが複数のコンピュータに保存され閲覧され続けて欲しい場合は単一のTTKY4033Aで暗号化されたファイルを流通させるほうが好ましいかもしれない。
本発明ではTTKY4033Aを算出する方法を紛失した場合、暗号化データを復元する事は不可能になる。4031Aや4032Aの値を単一の値にすることでOTPトークンを持つユーザーであればソフトウェア403Aにて復号できるとともに、OTPトークン持つユーザーが単一の4031Aや4032Aで復号できる暗号化ファイルを世界中に分散させて保有できることにつながり、世界中で利用される暗号化データは後世に保存されやすくなるかもしれない。
先に述べたことは発明者の考え方であって、最終的な暗号化の方法はデータの権利者が決定する。データの権利者の要請に応じ4031Aと4032Aと40302Aとその他の鍵値を設定し403Aにそれらを入力させ処理を行い暗号化及び復号に用いる鍵4033Aを用いて平文データの暗号化と暗号化データの復号ができる。
情報を閲覧制限しながら後世に紙の書籍のように保存するという考えから、権利者が許可する場合に403Aを用いた本発明のシステムから文章データなど等を紙や外部記憶装置等に保存する手段を持たせることができる。
権利者が自身の創作したコンテンツのデータの平文もしくは暗号化データとその復号を行う鍵情報を保存し管理する必要がある。
<Distributed storage of encrypted data>
When used in combination with 4031A, 40303A, 40302A, and 4032A, the content is encrypted with a single encryption key TTKY4033A calculated based on these four variables, and the encrypted file has only one hash value. It is assumed that the content will be encrypted and distributed. On the other hand, although it is the same as explained above, it is also possible to change 4031A and 4032A for each user and distribute different encrypted files of TTKY4033A.
Here, in order to store information, it is also considered to distribute a file encrypted with a single TTKY4033A. The idea that the lock should be broken even if the unlocking means shown in the example of equipment such as a locked safe is lost cannot be applied to encrypted data including contents. If you want the encrypted data distributed by the content right holder to be stored on multiple computers and continue to be viewed, it may be preferable to distribute a file encrypted with a single TTKY4033A.
In the present invention, if the method for calculating TTKY4033A is lost, it becomes impossible to recover the encrypted data. By changing the value of 4031A or 4032A to a single value, users with OTP tokens can decrypt it with software 403A, and users with OTP tokens can decrypt encrypted files with a single 4031A or 4032A all over the world. It will be possible to distribute and hold the data, and the encrypted data used all over the world may be easily stored in future generations.
The above is the idea of the inventor, and the final encryption method is decided by the right holder of the data. At the request of the data right holder, 4031A, 4032A, 40302A and other key values are set, they are input to 403A, processing is performed, and plaintext data is encrypted and encrypted using the key 4033A used for encryption and decryption. Can be decrypted.
From the idea of saving information like a paper book to posterity while restricting viewing, text data etc. are saved in paper or an external storage device from the system of the present invention using 403A when the right holder permits. You can have a means.
It is necessary for the right holder to store and manage the plaintext or encrypted data of the content data created by the right holder and the key information for decrypting the data.

<広告等の表示または不正アクセスの監視ができるシステム>
ここでソフトウェア403Aや暗号化されたデータを復号して得られる平文データ4035Aには広告を表示するURIが記録され、ソフトウェア403AはそのURI情報に従ってサーバ端末5Aが配信する広告等を表示させるプログラムを備えていてもよい。端末5Aは広告のほかソフトウェア403Aの取扱説明書情報や403Aの版情報(バージョン情報)に関する通知を行う。
広告は端末5Aにアクセスしてきた端末4Aに対し端末5Aの記憶部505Aまたは506Aと制御部515Aまたは516Aに従って端末5Aから端末4Aへネットワーク20を経由して(介して)配信する。
ソフトウェア403Aと端末5Aによる広告表示方法は、紙の新聞や雑誌を読む際に紙面に広告を印刷しているのと類似しており、書籍の著作者や出版社、版権元、アプリの開発元へユーザーがソフトウェア403Aやコンテンツを閲覧した回数などに応じて広告を表示したことによる報酬を分配できるようにするためである。
また紙の媒体での広告と異なり、ソフトウェア403Aや暗号化されたコンテンツに記述されたリンク先URIの端末5Aが端末4Aにネットワーク20を介して配信するウェブサイトによる広告情報は動的に広告内容を変えることができる。
<System that can display advertisements or monitor unauthorized access>
Here, the URI for displaying the advertisement is recorded in the software 403A and the plain text data 4035A obtained by decrypting the encrypted data, and the software 403A has a program for displaying the advertisement or the like delivered by the server terminal 5A according to the URI information. You may be prepared. In addition to the advertisement, the terminal 5A notifies the instruction manual information of the software 403A and the version information (version information) of the 403A.
The advertisement is delivered from the terminal 5A to the terminal 4A via the network 20 according to the storage unit 505A or 506A of the terminal 5A and the control unit 515A or 516A to the terminal 4A that has accessed the terminal 5A.
The method of displaying advertisements using software 403A and terminal 5A is similar to printing advertisements on paper when reading paper newspapers and magazines, and is similar to book authors, publishers, copyright owners, and app developers. This is so that the reward for displaying the advertisement can be distributed according to the number of times the user has viewed the software 403A or the content.
Also, unlike advertisements on paper media, the advertisement information from the website that the terminal 5A of the linked URI described in the software 403A and the encrypted content delivers to the terminal 4A via the network 20 dynamically is the advertisement content. Can be changed.

端末5Aとソフトウェア403Aを用いた広告に関する部分は、電子書籍や音声動画の再生に関して利用し、機密情報の暗号化及び復号用途には利用しないことが好ましい。機密データを会社や団体及び個人間で秘密裏にやり取りする場合は広告の表示機能を省いたソフトウェア403Aの業務用版(業務用バージョンのソフトウェア403A)を別途用意することが好ましい。 It is preferable that the portion related to the advertisement using the terminal 5A and the software 403A is used for the reproduction of electronic books and audio / moving images, and is not used for the encryption and decryption of confidential information. When secretly exchanging confidential data between companies, organizations and individuals, it is preferable to separately prepare a commercial version of software 403A (commercial version of software 403A) that omits the advertisement display function.

広告の表示機能による広告ウェブサイトへの接続と連携を自動的に行うのは企業間での秘密保持等の面で好ましくない可能性があり、広告の表示先に端末5Aが広告を作成した会社から入手したデータ内部にユーザーのコンピュータにとって意図しない有害な動作をするプログラムが含まれている場合があり、セキュリティを低下させる恐れがあるため端末5Aへ接続できる広告配信機能を省略したソフトウェア403Aも用意できることが好ましい。用途に応じてソフトウェア403Aを動作させるためのOTPトークンがあってもよい。403AのアプリケーションソフトウェアにログインするOTPトークンがあってもよい。 It may not be preferable in terms of confidentiality between companies to automatically connect to and link to the advertisement website by the advertisement display function, and the company where the terminal 5A created the advertisement at the display destination of the advertisement. Software 403A that omits the advertisement distribution function that can connect to the terminal 5A is also available because the data obtained from may contain a program that performs harmful operations that are not intended for the user's computer and may reduce security. It is preferable to be able to do it. There may be an OTP token for operating the software 403A depending on the application. There may be an OTP token to log in to the application software of 403A.

端末5Aは法人などで運用されうること、官公庁や企業間の機密情報を考慮すると、前記利用者の情報を奪うためにソフトウェア403Aや広告を作成し販売するすべての関係者の中に攻撃者がいないことは保証できない。そのためソフトウェア403Aは端末4Aのオペレーティングシステム環境下で仮想機械環境やサンドボックス環境で利用されることが好ましいかもしれない。暗号化データ4034AをOTP認証システムと鍵情報で復号し平文情報4035Aとして4035Aを実行したとき、もしくは403Aを実行したときにその挙動を調べることが好ましい。
ソフトウェア403Aの実行可能なファイル形式(ファイル拡張子)が音楽ファイルや動画ファイル、書籍ファイルに限られている場合に、そのファイルを信頼する場合は仮想機械環境を省いて実行出来るかもしれない。
Considering that the terminal 5A can be operated by a corporation or the like, and that confidential information between government offices and companies is taken into consideration, an attacker is among all the parties involved in creating and selling software 403A and advertisements in order to steal the user's information. We cannot guarantee that it will not be. Therefore, it may be preferable that the software 403A is used in a virtual machine environment or a sandbox environment under the operating system environment of the terminal 4A. It is preferable to examine the behavior when the encrypted data 4034A is decrypted by the OTP authentication system and the key information and the 4035A is executed as the plaintext information 4035A, or when the 403A is executed.
If the executable file format (file extension) of software 403A is limited to music files, video files, and book files, and if you trust the files, you may be able to omit the virtual machine environment.

また広告等の情報はソフトウェア403AやOTPトークンのレイティング情報に基づいていることが必要である。本発明のワンタイムパスワードトークンのコントラクトにはレイティングなどを記録した看板となる変数KNBN3024Aを備えることができ、3024Aに書かれたレイティング情報をソフトウェア403Aは読み取って広告に対して動作を変える事が可能である。(例として端末5Aが配信する広告に酒類など成人の嗜好品に関する情報が含まれるとき、未成年向けのレイティングのトークンについては広告を表示せず、広告の表示部分にはソフトウェア403Aの開発元のページなどや、ソフトウェア403Aの取扱説明サイトしか表示できないようにすることもできる。) In addition, information such as advertisements needs to be based on rating information of software 403A and OTP tokens. The one-time password token contract of the present invention can be provided with a variable KNBN3024A that serves as a signboard for recording ratings and the like, and the software 403A can read the rating information written in 3024A and change the behavior for advertisements. Is. (For example, when the advertisement delivered by the terminal 5A contains information on adult favorite items such as alcoholic beverages, the advertisement is not displayed for the rating token for minors, and the display part of the advertisement is the developer of the software 403A. It is also possible to display only pages and the instruction manual site of software 403A.)

ここで本発明のワンタイムパスワード認証システムを用いてソフトウェア403Aを用いる場合は、
1.ソフトウェア403A、
2.ソフトウェア403Aを記録装置に記録し、ブロックチェーンとコントラクトへのアクセス情報と秘密鍵401Aが記録(入力)されたスマートフォン端末4Aまたはコンピュータ端末4A、
3.暗号化できる通信経路ネットワーク20(例としてTLS等の暗号化で通信は暗号化されている)、
4.ブロックチェーンを構成しワンタイムパスワードの生成と認証を行うサーバ3A(ワンタイムパスワードの生成関数と認証関数を含むコントラクトがブロックチェーンに記録されている。)、
5.ユーザーのアクセスを受け広告を表示するサーバ5A(広告のほかにユーザーへの情報通知やユーザーのアクセスを監視する複数の役割も行えるウェブサイトを展開するサーバ)、
6.ソフトウェア403Aのプログラムに内蔵された広告を表示させるサーバ5AへのURI情報
7.暗号化されたデータもしくはファイル4034A
8.暗号化されたデータ4034Aに含まれる広告を表示させるサーバ5AへのURI情報
9.暗号化されたデータ4034Aを通信経路ネットワーク20を通じてユーザーの端末4Aに届けるサーバ5B
が必要になる。端末4Aは平文データの閲覧や利用の出来る端末であればよく、タブレット端末やヘッドマウントディスプレイと接続されたコンピュータ端末でもよい。
Here, when using the software 403A by using the one-time password authentication system of the present invention,
1. 1. Software 403A,
2. 2. A smartphone terminal 4A or a computer terminal 4A in which software 403A is recorded in a recording device and access information to a blockchain and a contract and a private key 401A are recorded (input).
3. 3. Communication path network 20 that can be encrypted (communication is encrypted by encryption such as TLS),
4. Server 3A that configures a blockchain and generates and authenticates a one-time password (a contract including a one-time password generation function and an authentication function is recorded in the blockchain),
5. Server 5A that receives user access and displays advertisements (a server that develops a website that can perform multiple roles of not only advertising but also information notification to users and monitoring user access),
6. 7. URI information to the server 5A that displays the advertisement built in the program of software 403A. Encrypted data or file 4034A
8. 9. URI information to the server 5A that displays the advertisement contained in the encrypted data 4034A. Server 5B that delivers the encrypted data 4034A to the user's terminal 4A through the communication path network 20.
Is required. The terminal 4A may be any terminal as long as it can view and use plaintext data, and may be a tablet terminal or a computer terminal connected to a head-mounted display.

ソフトウェア403Aもしくは暗号化データを復号し得られる4035Aに広告を表示させるサーバ端末5AのURIが設定されており、前記ソフトウェア403Aは広告を表示させるサーバ端末5AのURIに従ってサーバ5Aにアクセスする。このとき、サーバ5Aは5AにアクセスしてきたユーザーUPの端末4A、あるいはユーザーUAの端末1A、ユーザーUBの端末1Bといった複数の端末について、アクセス情報を図6Xのように記録できる。 The URI of the server terminal 5A for displaying the advertisement is set in the software 403A or the 4035A obtained by decrypting the encrypted data, and the software 403A accesses the server 5A according to the URI of the server terminal 5A for displaying the advertisement. At this time, the server 5A can record access information for a plurality of terminals such as the user UP terminal 4A, the user UA terminal 1A, and the user UB terminal 1B that have accessed the 5A, as shown in FIG. 6X.

図6Xではサービスを提供しているOTPトークンのコントラクト識別子やブロックチェーン識別子は省略されているが、図6Xにコントラクト識別子CPGTやブロックチェーン識別子(分散型台帳システムの識別子)をユーザー識別子やトークン番号と対応付けて記録してもよい。 In FIG. 6X, the contract identifier and the blockchain identifier of the OTP token that provides the service are omitted, but in FIG. 6X, the contract identifier CPGT and the blockchain identifier (identifier of the distributed ledger system) are used as the user identifier and the token number. It may be recorded in association with each other.

端末5Aが端末4Aのソフトウェア403Aのアクセスを受け、端末4Aのアクセス情報を501Aに記録し、広告を記憶部505Aまたは506Aと制御部515Aまたは516Aに従って配信する。
端末4Aのアクセス情報ブロックチェーンの識別子と、OTP生成を行うOTPトークンのコントラクト識別子CPGTとを記録した後、図6Xに示すユーザーの識別子Aと、トークン番号TIDAと、端末4AのIPアドレスまたは位置情報またはコンピュータの装置に固有のID情報または端末4Aの入力装置42Aのセンサ値から計算される値IPVと、閲覧時刻Tや閲覧履歴情報Cnt(Cntはアクセス回数)等のログイン状態データをサーバ端末5Aが記録装置のデータベース501Aに記録することができる。
The terminal 5A receives the access of the software 403A of the terminal 4A, records the access information of the terminal 4A in 501A, and distributes the advertisement according to the storage unit 505A or 506A and the control unit 515A or 516A.
After recording the access information blockchain identifier of the terminal 4A and the contract identifier CPGT of the OTP token that generates OTP, the user identifier A, the token number TIDA, and the IP address or location information of the terminal 4A shown in FIG. 6X. Alternatively, the ID information unique to the computer device or the value IPV calculated from the sensor value of the input device 42A of the terminal 4A and the login status data such as the browsing time T and the browsing history information Cnt (Cnt is the number of accesses) are stored in the server terminal 5A. Can be recorded in the database 501A of the recording device.

端末5Aの記録装置50A及び処理装置51Aにおいて、コントラクト識別子CPGT、ユーザー識別子A、トークン番号TIDA、値IPV、閲覧時刻Tや閲覧履歴情報Cnt(Cntはアクセス回数)等のログイン状態データの対応関係を保存し、図6Xと似た表の形式で表示できるよう保存する。
ここで表の形式やデータベースの方式は必ずしも図6Xの形式でなくともよい。図6Xは表を用いて、あるユーザー識別子・トークン番号に対し複数のIPV値(3軸の地磁気センサ、3軸の磁気コンパスセンサに異なるZの値がある場合を示している)が存在し不正アクセスが疑われる場合を検知する際の説明図である。同一の秘密鍵やOTPトークンのトークン番号について異なるIPV値によるアクセスがあるかどうかを検出できれば良い。図6Xは説明図である。図6Xのそのままの形式ではなく本発明から逸脱しない限りにおいて図6Xの一部を変えてデータを記録してアクセス者の監視に用いてもよい。
In the recording device 50A and the processing device 51A of the terminal 5A, the correspondence relationship of login status data such as contract identifier CPGT, user identifier A, token number TIDA, value IPV, browsing time T and browsing history information Cnt (Cnt is the number of accesses) Save and save for display in a table format similar to Figure 6X.
Here, the format of the table and the format of the database do not necessarily have to be the format shown in FIG. 6X. FIG. 6X uses a table to show that there are multiple IPV values for a certain user identifier / token number (a case where a 3-axis geomagnetic sensor and a 3-axis magnetic compass sensor have different Z values) and is incorrect. It is explanatory drawing at the time of detecting the case where access is suspected. It suffices if it can detect whether or not the token number of the same private key or OTP token is accessed by a different IPV value. FIG. 6X is an explanatory diagram. As long as it does not deviate from the present invention instead of the format as it is in FIG. 6X, a part of FIG. 6X may be modified to record the data and used for monitoring the accessor.

端末5Aの記録装置50A及び処理装置51Aにおいて、トークン番号TIDAについて異なるIPV値によるアクセスが端末5Aに対し行われたかどうか検出できる処理部をサーバ端末5Aに備え、
同一のユーザー識別子Aの秘密鍵401Aに割り当てられたトークン番号TIDAについて、複数のIPアドレスや位置情報、位置情報、端末のセンサ値の結合したデータIPVからをもつ装置からの閲覧があったことを検知し、ユーザー識別子Aに対応するユーザーUAに連絡することができる不正アクセス監視機能(図5Aの511A、512A、513A)を備える。
プログラム403Aに端末5Aへ接続するURIを記録することで広告表示機能と共に図6Xのような不正アクセス監視機能を持たせることが出来る。前記不正アクセス監視機能を用いて顧客に秘密鍵が不正利用されているか通知することも端末5Aに備えさせることができる。
平文データ4035Aについても端末5Aへ接続するURIを記録させ端末5Aにアクセスさせ広告の配信機能と図6Xのような不正アクセス監視機能を持たせることができる。
ただしソフトウェア403Aにおける端末5Aを用いた不正アクセス監視機能や広告配信機能は必須の要素ではなく、不正アクセス監視機能や広告配信機能を用いない403Aがあってもよい。
プライバシー保護の観点から不正アクセス防止機能や広告配信機能を使用しない403Aがあってもよい。一方で不正アクセス監視機能や広告配信機能機能は秘密鍵の不正利用を防止し、OTPトークンの保有者やOTPトークンと対応した暗号化データのコンテンツとその権利者を保護することにつながる。
平文データ4035Aにおける端末5Aを用いた不正アクセス監視機能や広告配信機能は平文データの権利者が利用を決定する機能であり、コンテンツの保護やコンテンツの権利者が広告による収益を上げること役立つと考えられる。広告へのURIは平文データ4035AにHTML言語などで記述され埋め込まれたURI(リンクタグ)であったりするため4035AのURI(およびURIのリンク先の広告コンテンツ)もコンテンツの一部であるかもしれない。
平文データ4035Aにおける端末5Aを用いた不正アクセス監視機能や広告配信機能はコンテンツの権利者によって利用され、コンテンツの権利者によっては前記機能を利用しないこともある。
In the recording device 50A and the processing device 51A of the terminal 5A, the server terminal 5A is provided with a processing unit capable of detecting whether or not the token number TIDA is accessed by a different IPV value to the terminal 5A.
The fact that the token number TIDA assigned to the private key 401A of the same user identifier A was viewed from a device having multiple IP addresses, location information, location information, and combined data IPV of the sensor values of the terminal. It is provided with an unauthorized access monitoring function (511A, 512A, 513A in FIG. 5A) that can detect and contact the user UA corresponding to the user identifier A.
By recording the URI connected to the terminal 5A in the program 403A, it is possible to provide the unauthorized access monitoring function as shown in FIG. 6X together with the advertisement display function. It is also possible to equip the terminal 5A to notify the customer whether the private key has been illegally used by using the unauthorized access monitoring function.
The plaintext data 4035A can also be provided with an advertisement distribution function and an unauthorized access monitoring function as shown in FIG. 6X by recording the URI connected to the terminal 5A and accessing the terminal 5A.
However, the unauthorized access monitoring function and the advertisement distribution function using the terminal 5A in the software 403A are not essential elements, and there may be a 403A that does not use the unauthorized access monitoring function or the advertisement distribution function.
From the viewpoint of privacy protection, there may be a 403A that does not use the unauthorized access prevention function or the advertisement distribution function. On the other hand, the unauthorized access monitoring function and the advertisement distribution function function prevent unauthorized use of the private key, and protect the holder of the OTP token, the content of the encrypted data corresponding to the OTP token, and the right holder thereof.
The unauthorized access monitoring function and advertisement distribution function using the terminal 5A in the plaintext data 4035A are functions that the right holder of the plaintext data decides to use, and it is considered to be useful for the protection of the content and the profit of the content right holder by the advertisement. Will be. Since the URI to the advertisement is a URI (link tag) written and embedded in the plain text data 4035A in HTML language etc., the URI of 4035A (and the advertisement content linked to the URI) may also be a part of the content. No.
The unauthorized access monitoring function and the advertisement distribution function using the terminal 5A in the plaintext data 4035A are used by the content right holder, and the content right holder may not use the above function.

<不正アクセスの監視ができるシステムへのユーザー連絡先の登録>
端末5Aではソフトウェア403Aを利用する際にユーザー登録をし、その際に不正アクセス監視機能において不正アクセスが検知された際の通知先・連絡先を登録する顧客情報データベース管理部514Aと顧客情報を記録する504Aを備える。不正アクセス監視機能(図5Aの511A、512A、513A)にて不正アクセスが検知された場合504Aに記録された連絡先を用いて不正アクセス通知部513Aが連絡先に不正アクセスの起きた時刻、ユーザー識別子、トークン番号、OTPトークンのコントラクト識別子とその他サービス提供に必要な情報を通知する。
<Registration of user contacts in a system that can monitor unauthorized access>
The terminal 5A records the customer information with the customer information database management unit 514A, which registers the user when using the software 403A, and registers the notification destination / contact information when the unauthorized access monitoring function detects unauthorized access at that time. 504A is provided. When unauthorized access is detected by the unauthorized access monitoring function (511A, 512A, 513A in FIG. 5A) The time and time when the unauthorized access notification unit 513A causes unauthorized access to the contact using the contact recorded in 504A, the user Notify the identifier, token number, OTP token contract identifier and other information necessary for providing services.

<暗号化されたデータが視聴可能なデータである場合>
ユーザーは暗号化データ4034Aをソフトウェア403AとOTP認証システムを用いて復号し閲覧視聴できる。
<When the encrypted data is viewable data>
The user can decrypt and view the encrypted data 4034A using the software 403A and the OTP authentication system.

<暗号化されたデータを復号し編集した後、再度暗号化する場合>
ユーザーは暗号化データ4034Aをソフトウェア403AとOTP認証システムを用いて復号し平文データを閲覧し編集したのち、ブロック番号や閲覧に用いたOTPトークンのBnTOTPとタイムスタンプなどを記録し、改ざん検知用の電子署名やHMACを添付したデータを再度暗号化して保存できる。
例えばある団体の職員UPが文章ファイルや音声動画ファイル、表計算ファイルや設計図ファイルなどに修正を加えた後ブロック番号やBnTOTPとタイムスタンプなどを記録し、文章や動画データ改ざん検知用の電子署名またはHMACのMAC値を添付したデータを再度暗号化して保存し、それを団体内の別の職員UAに向けて配布した後、職員UAに復号用の4032A等鍵情報と暗号化に用いたソフトウェア403AとOTPトークンを配布することで、UAは職員UPが再度暗号化されたデータを受けとり、復号し、UPが追記・変更した内容を閲覧しUAの手で追記変更し、ブロック番号やBnTOTPとタイムスタンプなどを記録し、文章や動画データ改ざん検知用の電子署名またはHMACのMAC値を添付したのち暗号化して保存することが可能になる。
このようにしてある団体のUPやUA、UB、UCといった複数ユーザー間で機密文書に追記しタイムスタンプやHMACのMAC値または電子署名をデータに添付して施しながら文章のやり取りが出来うる。
<When decrypting encrypted data, editing it, and then encrypting it again>
The user decrypts the encrypted data 4034A using the software 403A and the OTP authentication system, browses and edits the plain text data, and then records the block number and the BnTOTP and time stamp of the OTP token used for browsing to detect tampering. Data with an electronic signature or HMAC can be encrypted again and saved.
For example, after a staff member UP of a certain organization modifies a text file, audio / video file, table calculation file, design drawing file, etc., the block number, BnTOTP, time stamp, etc. are recorded, and an electronic signature for detecting text or video data tampering. Alternatively, after re-encrypting and saving the data with the MAC value of HMAC and distributing it to another employee UA in the organization, the key information such as 4032A for decryption and the software used for encryption are given to the employee UA. By distributing the 403A and the OTP token, the UA receives the encrypted data again, decrypts it, browses the contents added / changed by the UP, and changes the addition by the UA's hand, with the block number and BnTOTP. It is possible to record a time stamp, etc., attach an electronic signature for detecting tampering with text or video data, or attach the MAC value of HMAC, and then encrypt and save it.
In this way, it is possible to exchange sentences between multiple users such as UP, UA, UB, and UC of a certain organization while adding a time stamp, a MAC value of HMAC, or an electronic signature to the data by adding it to a confidential document.

<暗号化されたデータが3次元の設計図情報である場合>
暗号化されたデータを復号して得られる3次元のCADデータ(立体の設計図情報)から、3Dプリンタにより造形し、多軸加工機等により母材を加工することで設計図に示された3次元の物体を製作する。ただし平文データのレイティングや出力設定によっては出力できない。銃刀法などの法令に違反する立体物の出力をソフトウェア403Aは禁止するべきであり、平文データのレイティング情報に記述された情報から403Aは立体の出力の可否を判断する。3次元CADデータ情報をヘッドマウントディスプレイ453Aで閲覧することもできうる。2次元のCADデータであっても同様に閲覧や出力や利用ができる。例として産業用印刷機やプロッタなどの加工機に用いる設計図データでもよい。
1次元、2次元または3次元のある物体や装置の製造にかかわる設計図データを本発明の方法で暗号データとして保存し、OTP認証システムを利用して復号することで製造に用いる情報に利用してもよい。
<When the encrypted data is 3D blueprint information>
It is shown in the design drawing by modeling with a 3D printer from the 3D CAD data (three-dimensional design drawing information) obtained by decrypting the encrypted data and processing the base material with a multi-axis processing machine or the like. Create a three-dimensional object. However, it cannot be output depending on the rating of plaintext data and the output settings. The software 403A should prohibit the output of a three-dimensional object that violates laws and regulations such as the Firearm and Sword Law, and the 403A determines whether or not the three-dimensional object can be output from the information described in the rating information of the plaintext data. The 3D CAD data information can also be viewed on the head-mounted display 453A. Even two-dimensional CAD data can be viewed, output, and used in the same manner. As an example, the design drawing data used for a processing machine such as an industrial printing machine or a plotter may be used.
The design drawing data related to the manufacture of a one-dimensional, two-dimensional or three-dimensional object or device is saved as encrypted data by the method of the present invention, and is used for the information used for manufacturing by decrypting it using the OTP authentication system. You may.

<暗号化されたデータが回路等の設計図である場合>
暗号化されたデータが回路の設計図でもよい。例えばプログラマブルロジックデバイスの設計図データでもよい。FPGA (Field Programmable Gate Array) は、プログラマブルロジックデバイスの一種であり、現場で構成可能な回路配列を備えた、デバイス内の電子制御機能を変更できる半導体ICである。本発明の実施例では前記FPGAを構成もしくは再構成するための回路のデータを暗号化データとして受信し復号して利用する事を可能にする。プログラマブルロジックデバイスは産業用機器や放送通信用機器に用いられうる他、ユーザー端末1Aやサーバ端末3Aに利用されることも想定される。
再構成可能コンピューティングを可能にする回路情報を暗号化データとして流通させOTPトークンにより復号させてもよい。再構成可能コンピューティングを可能とする暗号化された回路情報はGitHub社のGitHubのようなバージョン管理およびコードリポジトリに保存され利用者端末からダウンロードされ配信・配布されてもよい。プログラマブルロジックデバイスの回路情報が改ざんされていないかバージョン管理を行いつつOTPトークンによりその利用権を得て復号しプログラマブルロジックデバイスに設計図に従った回路を動的に構築する事を意図する。
設計図情報をFPGAなどに展開する際に、仮想機械環境(サンドボックス環境)にて復号データの挙動や悪意あるプログラムの調査を行うことが好ましい。もしくは初回のみOTP認証システムで暗号データを復号した際に仮想機械環境でデータを調査し悪質でないと判断したのち証明書を発行し、前記証明書のある場合に仮想機械環境を用いずにFPGAに設計図データをFPGAなどに展開してもよい。
FPGAの例を用いて具体例に説明したがCPUやSoCやMPUといった電子計算機の制御を行う回路の記憶部分に本発明の方法で復号されたデータを記憶させ前記制御演算装置の振る舞いを変えてもよい。あるいは電子計算機端末のファームウェアやBIOSといったハードウェアに近い証明書付きのプログラムを暗号化し配布しインストールさせるときに利用してもよい。
ある団体の内部で流通させる目的で、電気機器・電子機器の回路基板情報や半導体を半導体基板から最終的なCPUやSoC、MPUを製造する装置や回路及び半導体部品製造ラインがあって、その製造にかかわるデータを本発明の方法で暗号化データとして保存し、OTP認証システムを利用して復号することで半導体製品の製造に用いる情報に利用してもよい。電子機器に限らず、ある製品の製造データや機密情報に応用してもよい。
<When the encrypted data is a design drawing of a circuit, etc.>
The encrypted data may be a circuit design drawing. For example, it may be design drawing data of a programmable logic device. FPGA (Field Programmable Gate Array) is a kind of programmable logic device, and is a semiconductor IC having a circuit array that can be configured in the field and capable of changing the electronic control function in the device. In the embodiment of the present invention, it is possible to receive, decrypt, and use the data of the circuit for configuring or reconstructing the FPGA as encrypted data. The programmable logic device can be used for industrial equipment and broadcasting communication equipment, and is also expected to be used for user terminal 1A and server terminal 3A.
Circuit information that enables reconfigurable computing may be distributed as encrypted data and decrypted by an OTP token. The encrypted circuit information that enables reconfigurable computing may be stored in a version control and code repository such as GitHub of GitHub, downloaded from a user terminal, and distributed / distributed. It is intended to dynamically construct a circuit according to the design drawing in the programmable logic device by obtaining the usage right by the OTP token and decoding it while performing version control to check whether the circuit information of the programmable logic device has been tampered with.
When deploying design drawing information to FPGA or the like, it is preferable to investigate the behavior of decoded data and malicious programs in a virtual machine environment (sandbox environment). Or, only for the first time, when the encrypted data is decrypted by the OTP authentication system, the data is investigated in the virtual machine environment and it is judged that it is not malicious, then a certificate is issued, and if there is the above certificate, it is sent to the FPGA without using the virtual machine environment. The design drawing data may be expanded to FPGA or the like.
As described in a specific example using an FPGA example, the data decoded by the method of the present invention is stored in the storage portion of a circuit that controls a computer such as a CPU, SoC, or MPU, and the behavior of the control arithmetic unit is changed. May be good. Alternatively, it may be used when a program with a certificate close to hardware such as firmware of a computer terminal or BIOS is encrypted, distributed and installed.
There is a device, circuit, and semiconductor component manufacturing line that manufactures final CPUs, SoCs, and MPUs from semiconductor boards for circuit board information and semiconductors for electrical and electronic equipment for the purpose of distributing them within a certain organization. The data related to the above may be stored as encrypted data by the method of the present invention and decrypted using an OTP authentication system to be used for information used in manufacturing a semiconductor product. Not limited to electronic devices, it may be applied to manufacturing data and confidential information of a certain product.

<4T.放送での利用(双方向でない暗号化データの流通、ライブ配信)>
暗号化されたデータやファイル4034Aをネットワーク20を通じてユーザー端末4Aに届けるサーバ端末5Bは双方向通信が可能な機器であるが、端末5Bの代わりに1対複数の放送が行える放送局端末5C(図5Cの5C、SVCRHNbroadcaster)を利用できる。前記放送局5Cは一対複数の放送による通信経路NTB(通信ネットワーク21、無線放送においては電波の帯域、有線放送においては放送用ケーブル)を用いて、放送を受け取れる受信機423Aを持つユーザー端末4Aに対し、単一の暗号鍵TTKY4033AでAES暗号化などの共通鍵暗号化を施した暗号化データ4034Aを放送する。前記放送局5Cは地上に設置されていてもよいし、移動する局でもよいし、衛星に設置されていてもよい。地上に設置されていてもよいし、宇宙空間に設置されていてもよい。
<4T. Use in broadcasting (distribution of encrypted data that is not bidirectional, live distribution)>
The server terminal 5B that delivers encrypted data and files 4034A to the user terminal 4A via the network 20 is a device capable of bidirectional communication, but instead of the terminal 5B, a broadcasting station terminal 5C capable of one-to-many broadcasting (Fig.) 5C, 5C, SVCRHNroadcaster) can be used. The broadcasting station 5C uses a communication path NTB (communication network 21, radio band for wireless broadcasting, broadcasting cable for wired broadcasting) by one-to-many broadcasting to a user terminal 4A having a receiver 423A that can receive broadcasting. On the other hand, the encrypted data 4034A to which common key encryption such as AES encryption is applied is broadcast by a single encryption key TTKY4033A. The broadcasting station 5C may be installed on the ground, may be a mobile station, or may be installed on a satellite. It may be installed on the ground or in outer space.

<端末5Cが端末3Aと同じブロックチェーンのノードでありBnTOTPを放送できるとき>
放送局5Cは3Aと同じ機能を持ちうる。放送局5Cは放送局5Cを制御する端末5CCと通信経路2(通信網2)を介して接続される。そして端末5Cが端末3Aと同じくブロックチェーン部を持つことの出来る記憶装置を持ち、端末5Cを制御する制御端末5CCを介してネットワーク20と接続され、端末5Cと端末3Aをネットワーク20と通信経路3で接続できるとき端末5Cは端末3Aと同じブロックチェーン部を持つことができる。そして端末5Cは端末3Aのブロックチェーン部にあるブロック番号Bnやブロックデータ、ブロックハッシュ値、タイムスタンプ・時刻情報、端末5Cの時計による時刻情報を放送することができる。端末5Cは地上局でも人工衛星の放送局でもよい。
<When terminal 5C is a node of the same blockchain as terminal 3A and can broadcast BnTOTP>
Broadcasting station 5C may have the same function as 3A. The broadcasting station 5C is connected to the terminal 5CC that controls the broadcasting station 5C via a communication path 2 (communication network 2). Then, the terminal 5C has a storage device capable of having a blockchain portion like the terminal 3A, is connected to the network 20 via the control terminal 5CC that controls the terminal 5C, and connects the terminal 5C and the terminal 3A to the network 20 and the communication path 3 The terminal 5C can have the same blockchain portion as the terminal 3A when it can be connected with. Then, the terminal 5C can broadcast the block number Bn and block data in the block chain portion of the terminal 3A, the block hash value, the time stamp / time information, and the time information by the clock of the terminal 5C. The terminal 5C may be a ground station or an artificial satellite broadcasting station.

<端末5Cが全球測位衛星システム用の衛星用端末であって全球測位衛星システム用の信号の認証のためにBnTOTPを測位情報と共に放送できるとき>
端末5Cが宇宙空間にある人工衛星であって、原子時計などを備え、全球測位衛星システム(GNSS)用の測位用人工衛星である場合も考えられる。端末5Cがブロックチェーン部を持ち無線によるネットワーク2を介してブロックチェーンのノード端末3Aと接続される。
そして端末3Aおよび端末5Cに記録されたブロックチェーン部のOTPトークン生成コントラクトを用いてブロック番号Bnに基づいたOTPであるBnTOTPを算出し端末5Cの放送信号に原子時計等による時刻情報とBnとBnTOTPとトークン番号とユーザー識別子を添付することで、前記信号を受信する端末4AにおいてGNSS衛星の放送信号を認証できる。
ここで送信メッセージとメッセージのHMACによるMAC値の2つを連結し放送してもよい。1つの測位用データとBnとBnTOTPを含むメッセージデータのHMACによるMAC値を、1つの測位用データとBnとBnTOTPを含むメッセージデータに添付して放送することにより放送メッセージの改ざんも検知できる。
<When the terminal 5C is a satellite terminal for a global positioning satellite system and BnTOTP can be broadcast together with positioning information for signal authentication for the global positioning satellite system>
It is also conceivable that the terminal 5C is an artificial satellite in outer space, equipped with an atomic clock or the like, and is a positioning artificial satellite for a global positioning satellite system (GNSS). The terminal 5C has a blockchain portion and is connected to the node terminal 3A of the blockchain via the wireless network 2.
Then, BnTOTP, which is an OTP based on the block number Bn, is calculated using the OTP token generation contract of the blockchain unit recorded in the terminal 3A and the terminal 5C, and the time information by the atomic clock or the like and Bn and BnTOTP are added to the broadcast signal of the terminal 5C. By attaching the token number and the user identifier, the broadcast signal of the GNSS satellite can be authenticated at the terminal 4A that receives the signal.
Here, the transmitted message and the MAC value of the message by HMAC may be concatenated and broadcast. Falsification of a broadcast message can also be detected by attaching the MAC value of one positioning data and message data including Bn and BnTOTP by HMAC to one positioning data and message data including Bn and BnTOTP.

端末5Cは5Cが持つOTPトークンのコントラクトを含むブロックチェーン部の情報と、ブロック番号Bn及び時刻情報や放送局5C専用に設定されたOTPトークンのBnTOTPとそれらメッセージのHMACのMAC値を連結して放送することができる。端末5Cは時刻情報BnとBnTOTPとトークン番号とユーザー識別子を含む信号を放送し、前記放送を端末4A等は受信する。4つ以上のGNSS衛星端末5Cからの放送を受信した端末4Aは全球測位衛星システムGNSSによる位置の測位を行う。また端末4Aは端末5Cから受け取ったBnTOTP値とトークン番号とユーザー識別子とブロック番号Bn(さらに必要に応じてOTPトークンのコントラクト識別子やブロックチェーンIDも加え)やMAC値により時刻情報とその信号の真偽・真贋を検証し、放送されたデータを認証する。
測位用信号をGNSS衛星5Cから端末1Aや端末4Aに測位用の無線による信号を放送し、既知の位置情報を測位するのに必要な時刻情報などに加え、ブロック番号Bnとブロック番号Bnの時間変化により動的に変わる認証用パスワードBnTOTPが信号に添付されていることによりGNSSの測位放送データの真贋を確認することの出来る手段を備えた、複数の放送局衛星5Cにより測位を行う測位システム、測位装置、測位方法に利用されうる。
The terminal 5C concatenates the blockchain section information including the OTP token contract possessed by the 5C, the block number Bn and the time information, the BnTOTP of the OTP token set exclusively for the broadcasting station 5C, and the HMAC MAC value of those messages. Can be broadcast. The terminal 5C broadcasts a signal including time information Bn, BnTOTP, a token number, and a user identifier, and the terminal 4A or the like receives the broadcast. The terminal 4A that has received the broadcast from four or more GNSS satellite terminals 5C performs position positioning by the global positioning satellite system GNSS. Further, the terminal 4A uses the BnTOTP value, the token number, the user identifier, the block number Bn (and the contract identifier of the OTP token and the blockchain ID as necessary) and the MAC value received from the terminal 5C to determine the true time information and its signal. Verify false and authenticity and authenticate broadcast data.
The positioning signal is broadcast from the GNSS satellite 5C to the terminal 1A and the terminal 4A by radio for positioning, and in addition to the time information necessary for positioning known position information, the time of the block number Bn and the block number Bn. A positioning system that performs positioning by multiple broadcasting station satellites 5C, equipped with a means that can confirm the authenticity of GNSS positioning broadcast data by attaching an authentication password BnTOTP that changes dynamically due to changes to the signal. It can be used for positioning devices and positioning methods.

GNSS衛星に本発明のBnTOTPによるOTPを添付する意図とねらいは、GNSS衛星の信号がなりすまし(スプーフィング)の偽の信号情報であるか、真のGNSS用信号情報であるかを時刻情報とBnとBnTOTPとトークン番号とユーザー識別子を添付することで判別することである。GNSS信号のなりすまし・ハッキングに対抗する際に本発明のOTP認証システムが利用されうる。本発明のこのような利用形態は飛行機や船舶や自動車、無人機、無人飛行機などのナビゲーションにおけるセキュリティ向上のために利用されうるかもしれない。 The intention and aim of attaching the OTP by BnTOTP of the present invention to the GNSS satellite is to determine whether the signal of the GNSS satellite is spoofing fake signal information or true GNSS signal information with time information and Bn. It is determined by attaching BnTOTP, a token number, and a user identifier. The OTP authentication system of the present invention can be used to counter spoofing and hacking of GNSS signals. Such a usage pattern of the present invention may be used for improving security in navigation of airplanes, ships, automobiles, unmanned aerial vehicles, unmanned aerial vehicles, and the like.

GNSS用途に用いる人工衛星5Cに秘密鍵501CとBnTOTPとブロック番号と5C専用のOTPトークン番号と5Cの記録装置に記録されたシークレット値KC3011Aがあり、それらの内、BnTOTPとブロック番号Bnとユーザー識別子トークン番号を端末5Cは放送する。 The artificial satellite 5C used for GNSS has a secret key 501C, a BnTOTP, a block number, an OTP token number dedicated to 5C, and a secret value KC3011A recorded in the recording device of 5C. Among them, BnTOTP, block number Bn, and user identifier. The terminal 5C broadcasts the token number.

ユーザー識別子は5Cの秘密鍵500から計算される。トークン番号もGNSS管理者が設定する。トークン番号には端末5Cの人工衛星識別番号・機体番号・製造番号等を割り当て、ユーザ識別子にはGNSSサービスを行う事業者の管理する秘密鍵から計算されるユーザー識別子が利用されうる。人工衛星毎に異なる秘密鍵とユーザー識別子をもっていてもよいし、事業者が保有する単一の秘密鍵を持っていてそれらを複数の人工衛星の記憶装置に記録させ利用させてもよい。GNSSで測位に用いる4つ以上の人工衛星それぞれに異なるトークン番号のOTPトークンを割り当て、衛星間で異なるBnTOTPを生成させ放送データに添付することが必要である。
例としてある一つの測位用人工衛星型端末5Cの秘密鍵が101Aと同じもので、かつトークン番号TIDAのOTPトークンであるとき、BnTOTP=fh(ユーザ識別子A、機体番号兼トークン番号TIDA、KC値、ブロック番号Bn)として計算されうる。KC値はGNSS衛星端末5Cの管理者が端末3Aのブロックチェーン部にKC変更を指示するトランザクションを送信し、端末3Aと接続された端末5CのブロックチェーンのコントラクトのKC値も変化する。
BnTOTP=fh( A, TIDA, KC, Bn)を用いたワンタイムパスワードコードBnTOTPを放送局端末5Cのブロックチェーン部(5000Cと5100C)でOTP生成関数3009Aを実行させOTPとしてBnTOTPを生成し、もしくはネットワーク2やネットワーク20からブロックチェーンノード3AのOTPトークンのコントラクトのOTP生成関数3009Aを実行することで取得し、放送・配信するデータに本体データと時刻情報とブロック番号とBnTOTPを添付することで配信又は放送された情報・データの真偽や真贋を確認することができる。
The user identifier is calculated from the 5C private key 500. The token number is also set by the GNSS administrator. An artificial satellite identification number, an aircraft number, a serial number, etc. of the terminal 5C are assigned to the token number, and a user identifier calculated from a private key managed by a business operator providing the GNSS service can be used as the user identifier. Each artificial satellite may have a different secret key and user identifier, or a single private key owned by the business operator may be recorded and used in the storage devices of a plurality of artificial satellites. It is necessary to assign OTP tokens with different token numbers to each of the four or more artificial satellites used for positioning in GNSS, generate different BnTOTPs among the satellites, and attach them to the broadcast data.
As an example, when the private key of one positioning artificial satellite terminal 5C is the same as 101A and is the OTP token of the token number TIDA, BnTOTP = fh (user identifier A, aircraft number and token number TIDA, KC value). , Block number Bn). As for the KC value, the administrator of the GNSS satellite terminal 5C sends a transaction instructing the blockchain portion of the terminal 3A to change the KC, and the KC value of the blockchain contract of the terminal 5C connected to the terminal 3A also changes.
The one-time password code BnTOTP using BnTOTP = fh (A, TIDA, KC, Bn) is executed by the blockchain unit (5000C and 5100C) of the broadcasting station terminal 5C to execute the OTP generation function 3009A to generate BnTOTP as OTP, or Obtained by executing the OTP generation function 3009A of the OTP token contract of the blockchain node 3A from network 2 or network 20, and distributed by attaching the main body data, time information, block number, and BnTOTP to the data to be broadcast / distributed. Alternatively, the authenticity and authenticity of the broadcasted information / data can be confirmed.

ここでGNSSの放送にBnTOTPを利用する実施形態を示したが、BnTOTPのかわりにOWP=fh( A, TIDA, KC, BC)を放送・配信するデータに添付してもよい(この場合はBCを放送してもよい)。ただしBnTOTPであれば例えば15秒・180秒などで新しいデータブロックがブロックチェーンに連結されBnが自動的に更新されるが、OWPの場合はコントラクトの管理者が任意の時間にKC値やBC値を変更する必要がある。
BnTOTPに用いるブロック番号の更新時間は15秒に限らず30秒でも60秒でも600秒(10分)でもよく、ある時刻に定期的にBnが増加すればよい(ブロックチェーンの基盤において新たなトランザクションを含むブロックデータの連結時間を任意の秒数で変更できる)。OWPを用いるときもコントラクトの管理者が定期的にKC値やBC値の変更を行えばよい。GNSS専用に10分毎にブロック番号が変化するブロックチェーンを構築すると好ましいかもしれない。
Here, an embodiment in which BnTOTP is used for GNSS broadcasting is shown, but OWP = fh (A, TIDA, KC, BC) may be attached to the data to be broadcast / distributed instead of BnTOTP (in this case, BC). May be broadcast). However, in the case of BnTOTP, a new data block is connected to the blockchain in 15 seconds or 180 seconds and Bn is automatically updated, but in the case of OWP, the contract administrator can set the KC value or BC value at any time. Need to be changed.
The update time of the block number used for BnTOTP is not limited to 15 seconds, but may be 30 seconds, 60 seconds, or 600 seconds (10 minutes), and Bn may be increased periodically at a certain time (a new transaction on the basis of the blockchain). The concatenation time of block data including can be changed in any number of seconds). Even when using OWP, the contract administrator may change the KC value and BC value on a regular basis. It may be preferable to build a blockchain dedicated to GNSS whose block number changes every 10 minutes.

複数のGNSS放送局5C、具体的には4基の測位用衛星端末5Cがあって、それらには異なるユーザー識別子・トークン番号もしくは同一のユーザー識別子・トークン番号が設定され、4つの端末5Cは既知のGNSSによる測位法の測位用情報に加え、BnTOTP(BnTOTPを算出する際に用いたユーザー識別子・トークン番号も添付してもよいし、予め端末4AのGNSSを利用する情報に記録させてもよい)やブロック番号Bn、そして必要に応じて放送メッセージのHMACによるMAC値を添付し放送する。放送はブロック番号が変化する間に1回以上放送できれば良く、例としてブロック番号Bnが180秒で変化するときはGNSS衛星5Cが180秒以内に一回から数回送るなどしてもよい。
GNSSのメッセージデータの長さが足りない場合には、GNSSに対応させるブロックチェーン部のブロック番号Bnが変わる時間を増加させ、例として180秒ではなく600秒でブロック番号Bnが変わるとき、測位情報の航法メッセージデータ送信の後、30秒にわたって本発明のOTP認証データ(ユーザー識別子、トークン番号、ブロック番号、BnTOTP、HMACのMAC値)を放送し、再度航行メッセージデータを放送し、を交互に放送することで放送の途中に認証情報を添付してもよい。
There are a plurality of GNSS broadcasting stations 5C, specifically, four positioning satellite terminals 5C, each of which is set with a different user identifier / token number or the same user identifier / token number, and the four terminals 5C are known. In addition to the positioning information of the positioning method by GNSS, BnTOTP (the user identifier / token number used when calculating BnTOTP may be attached, or may be recorded in advance in the information using GNSS of the terminal 4A. ), Block number Bn, and if necessary, the MAC value of the broadcast message by HMAC is attached and broadcast. Broadcasting may be performed once or more while the block number changes. For example, when the block number Bn changes in 180 seconds, the GNSS satellite 5C may send one to several times within 180 seconds.
If the length of the GNSS message data is not enough, increase the time for the block number Bn of the blockchain part corresponding to GNSS to change. For example, when the block number Bn changes in 600 seconds instead of 180 seconds, the positioning information After the navigation message data is transmitted, the OTP authentication data (user identifier, token number, block number, BnTOTP, HMAC MAC value) of the present invention is broadcast for 30 seconds, the navigation message data is broadcast again, and the navigation message data is broadcast alternately. By doing so, the authentication information may be attached in the middle of the broadcast.

GNSSの既知の例として米国のGPS(Global Positioning System)に本発明を利用することを仮に想定するとき、位置情報を測定するための4つ以上のGPS衛星端末5C(スペースセグメント)を宇宙空間のそれぞれの衛星の軌道に配置され、地上管制局5CC(コントロールセグメント)とGPS受信機端末4A(ユーザーセグメント)が存在し、また端末5Cや端末5CCと端末4Aはネットワーク20を通じてブロックチェーンのノード端末3Aや端末3B等と接続させ端末5Cのブロックチェーン部を同期させる。
もしくは正確である端末5Cの原子時計を頼りにしてBnがすべてのGNSS衛星端末5Cで一致すると考えて300秒ごとにブロック番号Bnを増やすよう設定し1年に数回地上管制局5CCと衛星端末5Cで同期を行い正しく時刻やBnが増加できているか確認しKC値などの変更と更新を行った場合はそのデータをすべてのGNSS衛星局5Cと共有しブロックチェーン部を同期させる。
このとき端末4Aは端末5Cから受信した放送に含まれるBnTOTPをブロックチェーンのノード端末3Aの認証関数3018Aを用いて認証し、正しいBnTOTPが記録された4つのGPS衛星の放送データを用いて端末4Aの位置を測位できる。
Assuming that the present invention is used for GPS (Global Positioning System) in the United States as a known example of GNSS, four or more GPS satellite terminals 5C (space segments) for measuring position information are used in space. Arranged in the orbit of each satellite, there is a ground control station 5CC (control segment) and a GPS receiver terminal 4A (user segment), and terminal 5C, terminal 5CC and terminal 4A are blockchain node terminals 3A through network 20. The blockchain unit of the terminal 5C is synchronized with the terminal 3B or the like.
Alternatively, relying on the accurate atomic clock of the terminal 5C, assuming that Bn matches with all GNSS satellite terminals 5C, set the block number Bn to be increased every 300 seconds, and set the ground control station 5CC and the satellite terminal several times a year. Synchronize with 5C, check if the time and Bn can be increased correctly, and if the KC value is changed or updated, share the data with all GNSS satellite stations 5C and synchronize the blockchain section.
At this time, the terminal 4A authenticates the BnTOTP included in the broadcast received from the terminal 5C using the authentication function 3018A of the node terminal 3A of the blockchain, and the terminal 4A uses the broadcast data of the four GPS satellites in which the correct BnTOTP is recorded. The position of can be positioned.

GPSにおいては、例として、航法メッセージデータ1500bitを30秒、 認証用データは1つの変数が256bitで5つある場合は1280bitなので30秒以内、両者を連結して順に放送する場合は2780bitを60秒にわたり放送する。ブロック番号Bnが600秒で変化するブロックチェーンをGNSS衛星用に構築したとき、10回にわたり同じBnTOTPデータを送付させることができ、この10回のうちどれかをユーザー端末4Aが検出し、BnTOTPを認証関数で検証し認証結果を求めることで受信した衛星5Cのデータが正しいデータであったか、なりすまし等の疑いのあるデータであるか否かが分かる。
もしくは毎回の航法メッセージデータに前記認証データを添付しないことも考えられる。600秒でBnが一つ増えるブロックチェーンを用いるとき600秒で30秒放送される航法データは20回放送されるが、その20回の航法データの放送枠の内、たとえば4回程度を1280bit30秒の認証用データの放送枠として放送してもよいかもしれない。600秒の間に4回放送される認証データ付き航法メッセージデータを受信しOTP認証できれば認証された位置と時刻が測定できうる。
In GPS, for example, navigation message data 1500 bits is 30 seconds, authentication data is 1280 bits when one variable is 256 bits and 5, so within 30 seconds, and 2780 bits when both are connected and broadcast in order is 60 seconds. Broadcast over. When a blockchain with a block number Bn that changes in 600 seconds is constructed for a GNSS satellite, the same BnTOTP data can be sent 10 times, and the user terminal 4A detects any of these 10 times and BnTOTP is detected. By verifying with the authentication function and obtaining the authentication result, it is possible to know whether the received satellite 5C data is correct data or whether it is suspicious data such as spoofing.
Alternatively, it is conceivable that the authentication data is not attached to the navigation message data each time. When using a blockchain that increases Bn by one in 600 seconds, the navigation data that is broadcast for 30 seconds in 600 seconds is broadcast 20 times, but within the broadcasting frame of the 20 navigation data, for example, about 4 times is 1280 bits 30 seconds. It may be broadcast as a broadcast frame of the authentication data of. If navigation message data with authentication data broadcast four times in 600 seconds can be received and OTP authenticated, the authenticated position and time can be measured.

衛星端末5Cと端末4Aがネットワーク20から切断されている場合は、端末5Cが搭載する原子時計などの時計と記憶部に持つOTP生成関数3009Aを基に、ブロック番号BnとBnTOTPを算出し、BnとBnTOTPとメッセージデータとそれらのMAC値を添付して端末4A等ユーザーセグメント端末に放送する。
次に端末4Aには予めBnTOTP=fh( A, TIDA, KC, Bn)の計算の出来る認証関数3018AとKC値が記録されたソフトウェア、もしくはBnTOTP=fh( A, TIDA, KC, Bn)を計算できる認証関数3018A、3018AとKC値が記録された端末3Cの機能がGNSS信号を受信する通信装置42Aの423Aに備えられていてもよい。
BnTOTPの代わりにOWPを用いるときはOWP=fh( A, TIDA, KC, BC)を計算のできる認証関数3018AとKC値が記録されたソフトウェア、もしくはOWP=fh( A, TIDA, KC, BC)を計算できる認証関数3018DAとKC値が記録された端末3Dの機能がGNSS信号を受信する通信装置42Aの423Aに備えられていてもよい。
認証関数3018A・3018DAとKC値が記録されたソフトウェアはソフトウェア403Aに備えられていてもよい。
When the satellite terminal 5C and the terminal 4A are disconnected from the network 20, the block numbers Bn and BnTOTP are calculated based on the clock such as the atomic clock mounted on the terminal 5C and the OTP generation function 3009A in the storage unit, and Bn. And BnTOTP, message data, and their MAC values are attached and broadcast to a user segment terminal such as terminal 4A.
Next, in the terminal 4A, the authentication function 3018A capable of calculating BnTOTP = fh (A, TIDA, KC, Bn) and software in which the KC value is recorded, or BnTOTP = fh (A, TIDA, KC, Bn) is calculated in advance. The authentication functions 3018A, 3018A and the function of the terminal 3C in which the KC value is recorded may be provided in the 423A of the communication device 42A for receiving the GNSS signal.
When OWP is used instead of BnTOTP, the authentication function 3018A that can calculate OWP = fh (A, TIDA, KC, BC) and the software in which the KC value is recorded, or OWP = fh (A, TIDA, KC, BC). The authentication function 3018DA capable of calculating the above and the function of the terminal 3D in which the KC value is recorded may be provided in the 423A of the communication device 42A for receiving the GNSS signal.
Software in which the authentication functions 3018A / 3018DA and the KC value are recorded may be provided in the software 403A.

ユーザー端末4Aは複数(4つ以上)の衛星端末5Cが放送する測位用信号を端末4Aの42Aの423Aもしくは422Aを用いて受信し、受信信号を処理して衛星と受信機間の距離を測定し,これより位置を計算する。そして既知のGNSSによる測位法の測位用情報を基に算出した位置に従い現在位置を一時的に仮定する(この段階までは既存のGNSSと同じであり、本発明のOTP認証システムが利用できない場合はこの段階の位置情報が利用される)。その後端末5Cの放送するBnTOTPのOTP認証処理に移行する。 The user terminal 4A receives a positioning signal broadcast by a plurality of (four or more) satellite terminals 5C using 423A or 422A of 42A of the terminal 4A, processes the received signal, and measures the distance between the satellite and the receiver. Then, the position is calculated from this. Then, the current position is temporarily assumed according to the position calculated based on the positioning information of the positioning method by the known GNSS (up to this stage, it is the same as the existing GNSS, and if the OTP authentication system of the present invention cannot be used, The location information at this stage is used). After that, the process shifts to the OTP authentication process of BnTOTP broadcast by the terminal 5C.

端末5Cの放送するBnTOTPのOTP認証処理では、端末4Aが受信している人工衛星端末5Cの送付する測位用情報に添付されたブロック番号BnとBnTOTP(またはBnTOTPを算出する際に用いたユーザー識別子・トークン番号も添付されているときは、ユーザー識別子・トークン番号を用いて)をOTP認証関数3018Aを用いて認証させ、認証関数の戻り値から端末5Cの放送したデータの真偽・真贋を判断する。 In the OTP authentication process of BnTOTP broadcast by the terminal 5C, the block numbers Bn and BnTOTP (or the user identifier used when calculating BnTOTP) attached to the positioning information sent by the artificial satellite terminal 5C received by the terminal 4A are used. -If the token number is also attached, use the OTP authentication function 3018A to authenticate (using the user identifier and token number), and determine the authenticity / authenticity of the data broadcast by the terminal 5C from the return value of the authentication function. do.

端末4Aにおいて端末5Cから受信した測位情報が正しいものか判断するためにネットワーク20を介して端末3Aの端末5Cの管理者が設定した認証関数3018AにBnTOTPを算出する際に用いたユーザー識別子・トークン番号とブロック番号Bn、BnTOTPを引数として渡して3018Aを実行させ、その戻り値がOTPが正しい時の戻り値であったとき(BnTOTPが真の値であったとき)、放送局5Cの放送が正しいことが期待されることを端末4Aに記録し、ユーザーに通知・表示させる。
3018Aの戻り値が正しくない戻り値であったとき(BnTOTPが偽りの値であったとき)その放送局5Cに関連する測位情報はOTP認証のできない偽の情報であることをユーザーに通知・表示させる。
端末5Cの放送したデータ情報がOTP認証できず誤りの時、その後の処理は本発明の認証機能付きGNSSを用いるサービスやソフトウェアに委ねられるが、位置情報が重要な自動車やその運転に関する分野では認証された位置情報が利用できない旨を伝え、誤った放送を行う端末5Cとは異なる新規のGNSS放送用衛星5Cの信号を受信するよう待機し、新規の端末5Cから受信した信号を認証し、認証された端末5Cを増やした上で測位を行うようにする等が考えられる。
受信した信号の認証結果が正しくない場合(なりすまし信号である場合)であっても公道を走る自動車を急停止させ別の進路に切り替える等は危険であり、運転や飛行や航行の判断を運転や操縦を行う利用者に委ね、利用者に測位信号に認証できない信号があることを表示して伝えた上で運転や操縦を操縦者など利用者に行わせる必要があるかもしれない。
The user identifier token used when calculating BnTOTP for the authentication function 3018A set by the administrator of the terminal 5C of the terminal 3A via the network 20 in order to determine whether the positioning information received from the terminal 5C in the terminal 4A is correct. When the number, block number Bn, and BnTOTP are passed as arguments to execute 3018A, and the return value is the return value when the OTP is correct (when the BnTOTP is the true value), the broadcast of the broadcasting station 5C is broadcast. The terminal 4A records what is expected to be correct, and notifies and displays the user.
When the return value of 3018A is an incorrect return value (when BnTOTP is a false value), the user is notified / displayed that the positioning information related to the broadcasting station 5C is false information that cannot be OTP authenticated. Let me.
When the data information broadcast by the terminal 5C cannot be OTP-authenticated and is incorrect, the subsequent processing is entrusted to the service or software using GNSS with the authentication function of the present invention, but it is authenticated in the field of automobiles where location information is important and their driving. It informs that the location information is not available, waits to receive the signal of the new GNSS broadcasting satellite 5C different from the terminal 5C that performs incorrect broadcasting, authenticates the signal received from the new terminal 5C, and authenticates. It is conceivable to increase the number of terminals 5C that have been used and then perform positioning.
Even if the authentication result of the received signal is incorrect (if it is a spoofing signal), it is dangerous to suddenly stop a car running on a public road and switch to another course. It may be necessary to entrust the maneuvering user to perform driving and maneuvering after displaying and informing the user that there is a signal that cannot be authenticated in the positioning signal.

<放送局5Cの放送データを認証された位置情報と時間情報データの作成地の位置と時刻を添付する場合>
ユーザー端末4Aは4つ以上の端末5Cから4Aの本発明のOTP認証により認証された位置情報と時刻情報と4つの5Cの放送するブロック番号BnおよびBnTOTPに平文データに記録し、秘密鍵401A等を用いて改ざん検知用の電子署名やHMACを平文データに行い、電子署名またはMAC値を作成し平文データに添付し、平文データを作成した時刻と位置について認証がなされた状態で保存できる。
<When attaching the location and time of the location and time of authentication of the broadcast data of broadcasting station 5C>
The user terminal 4A records the position information and time information authenticated by the OTP authentication of the present invention of 4A from four or more terminals 5C and the block numbers Bn and BnTOTP to be broadcast by the four 5Cs in plain text data, and the secret key 401A and the like. An electronic signature or HMAC for tampering detection can be applied to plain text data, an electronic signature or MAC value can be created and attached to the plain text data, and the time and position at which the plain text data was created can be stored in a authenticated state.

ユーザー端末4Aは4つ以上の端末5Cから4Aの本発明のOTP認証により認証された位置情報と時刻情報と4つの5Cの放送するブロック番号BnおよびBnTOTPを平文データ(平文のコンテンツデータもしくは原稿データ)に記録し、秘密鍵401A等を用いて改ざん検知用の電子署名やHMACを平文データに行い、電子署名またはMAC値を作製し平文のコンテンツデータに添付し、平文データ4035Aを作成した時刻と位置について認証がなされた状態で保存された電子署名またはMAC値つきの改ざん検知可能な平文データ4035Aとして作成できてもよく、前記4035Aを秘密鍵401Aに割り当てられたOTPトークンによってソフトウェア403Aを用いて暗号化する事が出来てもよい。
平文データ4035Aは取材に関する録音・音声データや録画・動画データでもよい。平文データ4035Aの原稿文章・原稿データ(写真や設計図など画像や録画動画・録画音声)の作成地・作成位置情報と作成時刻を本発明のOTP認証システムにより簡易に証明する。
前記の4035Aに記入するブロック番号BnはBnpであって、BnpはBnTOTPを取得したときのBnであり原稿となる平文データに記入され平文データの印刷や外部記憶装置への記憶し配布するか、ネットワーク20等を用いた配信等で出版され端末の外部に出力されうる。
OTP認証コントラクトのOTP認証関数3018Aや認証を検証する端末3Dの認証関数3018DAにはBnTOTP=fh( A,TIDA, KC, Bnp)の形で認証するための認証関数を備え、4035Aにはユーザー識別子Aとトークン番号TIDAが記入されていてもよい。
出版された4035Aの暗号化データ4034Aは流通し、それを復号するトークン番号TIDBのOTPトークンとAKTBとソフトウェア403Aを持つ顧客ユーザーUBがいる場合には平文データ4035Aが閲覧などされる。そして顧客ユーザーは平文データ4035Aに記録されたBnpとBnTOTPとトークン番号TIDAを用い、さらにユーザー識別子Aが記入されていればそれを用い、記入されてなければ原稿を作成したユーザーに問い合わせてユーザー識別子Aを得て、OTP認証関数にてBnTOTP=fh( A,TIDA, KC, Bnp)の形で計算を行えるようAとTIDAとBnpを認証関数の引数に渡し認証関数を実行し認証結果を得て作成された時刻や位置情報を得ることができる。作成された位置情報はGNSSなどを用いた正確な緯度経度を記したものでもよいし、プライバシー保護のため緯度経度情報から地図情報を基に都道府県や市町村(海外では州や省と市町村名)まで分かるようにし詳細な位置ではなくおおよその位置を記載する事もできる。
The user terminal 4A uses plain text data (plain text content data or manuscript data) for the location information and time information authenticated by the OTP authentication of the present invention of 4A from four or more terminals 5C and the block numbers Bn and BnTOTP to be broadcast by the four 5Cs. ), The digital signature for tampering detection and HMAC are performed on the plain text data using the private key 401A, etc., the electronic signature or MAC value is created and attached to the plain text content data, and the time when the plain text data 4035A is created. It may be created as plain data 4035A that can detect falsification with an electronic signature or MAC value stored with the location authenticated, and the 4035A is encrypted using the software 403A by the OTP token assigned to the private key 401A. It may be possible to change it.
The plaintext data 4035A may be recording / audio data or recording / video data related to coverage. The OTP authentication system of the present invention simply certifies the creation location / creation position information and creation time of the manuscript text / manuscript data (images such as photographs and design drawings, recorded moving images / recorded audio) of the plaintext data 4035A.
The block number Bn to be entered in the above 4035A is Bnp, and Bnp is Bn when BnTOTP is acquired. It can be published by distribution using the network 20 or the like and output to the outside of the terminal.
The OTP authentication function 3018A of the OTP authentication contract and the authentication function 3018DA of the terminal 3D that verifies the authentication are provided with an authentication function for authenticating in the form of BnTOTP = fh (A, TIDA, KC, Bnp), and the 4035A is a user identifier. A and the token number TIMA may be entered.
The published encrypted data 4034A of 4035A is distributed, and when there is an OTP token of token number TIDB to decrypt it and a customer user UB having AKTB and software 403A, plaintext data 4035A is viewed. Then, the customer user uses Bnp, BnTOTP, and the token number TIDA recorded in the plain text data 4035A, and if the user identifier A is entered, it is used, and if it is not entered, the user who created the manuscript is inquired and the user identifier is used. Obtain A, pass A, UIDA, and Bnp to the arguments of the authentication function so that the OTP authentication function can perform calculations in the form of BnTOTP = fh (A, UIDA, KC, Bnp), execute the authentication function, and obtain the authentication result. It is possible to obtain the time and position information created in the above. The created location information may be the one that describes the accurate latitude and longitude using GNSS etc., or prefectures and cities, towns and villages (states, provinces and cities, towns and villages overseas) based on the map information from the latitude and longitude information for privacy protection. It is also possible to describe the approximate position instead of the detailed position so that it can be understood.

<放送局5Cからのデータファイルの放送>
放送局5Cが地上局または人工衛星局であって、アマチュア局および業務用の放送局であり、新聞や雑誌など文章やソフトウェアのデータを放送するデータ放送局や、音声を放送するラジオ放送局や、音声動画を放送するテレビジョン放送局であってもよい。マスメディアとして放送可能なデータを放送できる放送局5Cであってもよい。
<Broadcasting of data files from broadcasting station 5C>
Broadcasting station 5C is a terrestrial station or an artificial satellite station, which is an amateur station and a commercial broadcasting station, and is a data broadcasting station that broadcasts text and software data such as newspapers and magazines, and a radio broadcasting station that broadcasts audio. , It may be a television broadcasting station that broadcasts audio and video. It may be a broadcasting station 5C capable of broadcasting data that can be broadcast as mass media.

ここで文章、音声、動画ファイルの配信に放送局5Cを用いる狙いは、OTPトークンを持つ閲覧権利を持つユーザーに動画データ(書籍データよりもデータ容量が大きい傾向のある音声動画データ)について暗号化データ4034Aをライブ(生放送で)で配信する際に、公共の双方向型ネットワーク20にかかる通信容量的な負荷をかけないようにすることである。
ただし災害など緊急時は、公共性のある放送局5Cはソフトウェア403Aといった音声のラジオ放送視聴ソフトウェアや音声映像のテレビビジョン閲覧ソフトウェアに対し暗号化を解除する旨の信号と平文データ4035Aの放送データを放送できることが必要である。
また重複するコンテンツ情報(人気のある楽曲や映像作品などの情報)を双方向のネットワーク20でユーザーに伝えるよりも放送により1対複数の形でデータを伝えたほうがネットワーク20の負荷を抑えることにつながり、双方向通信を必要とするブロックチェーンのノード間の通信、電子メール、インターネットバンキングサービス(金融サービス)、ウェブサイトを用いる会員サービスを初めとするサービスに通信の容量を振り向けることができる。
Here, the aim of using broadcasting station 5C for distribution of text, audio, and video files is to encrypt video data (audio / video data that tends to have a larger data capacity than book data) for users who have viewing rights with OTP tokens. When the data 4034A is delivered live (live), the load on the communication capacity of the public bidirectional network 20 is not applied.
However, in the event of an emergency such as a disaster, the public broadcasting station 5C will send a signal to decrypt the audio radio broadcast viewing software such as software 403A and audio / video television vision viewing software and the broadcast data of plain text data 4035A. It is necessary to be able to broadcast.
Also, rather than transmitting duplicate content information (information such as popular songs and video works) to users via a two-way network 20, it is better to transmit data in a one-to-many format by broadcasting to reduce the load on the network 20. Communication capacity can be allocated to services such as communication between blockchain nodes that require connection and two-way communication, e-mail, Internet banking services (financial services), and membership services using websites.

具体的に本発明をラジオ放送やテレビジョン放送といった音声、動画ファイルの放送に利用すると仮定した場合について述べる。放送に用いる無線機、無線局5Cは業務用でもよいしアマチュア用でもよい。広域に、多くの地域に放送する場合について、ある一つの放送局無線機の電磁波が到達する範囲は有限であり、地域ごとに異なる放送局5C、送信所5Cなどの形で設置されている。ユーザー端末4Aは最寄りの無線局5Cの暗号データ放送を閲覧するOTP生成トークンを取得する。 Specifically, a case where the present invention is assumed to be used for broadcasting audio and video files such as radio broadcasting and television broadcasting will be described. The radio and radio station 5C used for broadcasting may be for business use or for amateur use. When broadcasting to many areas over a wide area, the range that the electromagnetic wave of one broadcasting station radio can reach is finite, and it is installed in the form of a broadcasting station 5C, a transmitting station 5C, etc., which are different for each area. The user terminal 4A acquires an OTP generation token for viewing the encrypted data broadcasting of the nearest radio station 5C.

放送局5Cは放送局5Cに固有の共通鍵TTKY4033Aでラジオやテレビジョン番組のデータを暗号化し4034Aとして、電波が届く最寄りのユーザー端末4Aに放送局5Cが暗号データ4034A送信する。そして放送された暗号化データ4034Aを復号し閲覧するソフトウェア403Aにて、サーバー端末3Aと端末4Aをネットワーク20を介して接続させBnTOTPの生成・認証を行い認証関数の戻り値CTAU4031Aを得る。
ここでBnTOTPでなくOWPを取得できるOTPトークンを用いてソフトウェア403AにてOWPの生成と認証を行い戻り値CTAU4031Aを得てもよい。4031Aと必要に応じて4032Aと403A内部の鍵情報40302Aを用いてTTKY4033Aを生成し、TTKY4033Aにて暗号化された放送データを復号し視聴できる。
The broadcasting station 5C encrypts the data of the radio or television program with the common key TTKY4033A unique to the broadcasting station 5C and transmits the encrypted data 4034A to the nearest user terminal 4A to which the radio wave reaches. Then, the server terminal 3A and the terminal 4A are connected via the network 20 by the software 403A that decrypts and browses the broadcast encrypted data 4034A, BnTOTP is generated and authenticated, and the return value CTAU4031A of the authentication function is obtained.
Here, the software 403A may generate and authenticate the OWP using the OTP token that can acquire the OWP instead of the BnTOTP, and obtain the return value CTAU4031A. The TTKY4033A can be generated using the 4031A and, if necessary, the 4032A and the key information 40302A inside the 403A, and the broadcast data encrypted by the TTKY4033A can be decrypted and viewed.

OWPを用いる場合はコントラクトの管理者が放送局の指示に従い毎年1年ごとなどある時期にOWPを生産するKC値やBC値を更新する旨の連絡を放送の受信者に行い、受信契約を更新できるユーザーにKC値やBC値を更新した後のOWPを、ネットワーク20を用いずに郵送で通知させることができる。郵送で通知したOWPをテレビジョン型などの端末4Aのソフトウェア403Aに入力し認証結果が正しければ放送されるデータの復号ができる。このとき更新されたKC値やBC値は放送データの中に含まれており4Aが放送データを受信する際に自動的に更新されてもよい。OWPを用いるときはネットワークに端末4Aを接続できないユーザーを対象にする。
ネットワーク20に接続されたユーザー端末4Aはソフトウェア403Aを利用してブロックチェーン端末3Aに接続しOWPの生成と認証を行えるため郵送によるOWPの通知は不要である。またネットワーク20に常時接続されているときはOWPもBnTOTPも用いることもできる。
放送の視聴権であるOTPトークンのコントラクトのCTAU4031Aを放送を行う事業者の指示によりコントラクトの管理者端末1Cが書き換えることでコンテンツを暗号化または復号するTTKY4033Aを変更することができる。例えば1年ごとにOWPのBC値とCTAU4031Aを更新することで放送の視聴権を持つユーザーは閲覧を継続でき、視聴権を持たないユーザーは閲覧できないようにする事もできる。
When using OWP, the contract administrator informs the broadcast recipient that the KC value and BC value that produce OWP will be updated at a certain time such as every year according to the instructions of the broadcasting station, and the reception contract is renewed. It is possible to notify the user who can perform the OWP after updating the KC value and the BC value by mail without using the network 20. The OWP notified by mail is input to the software 403A of the terminal 4A such as a television type, and if the authentication result is correct, the broadcast data can be decoded. The updated KC value and BC value at this time are included in the broadcast data, and may be automatically updated when 4A receives the broadcast data. When using OWP, the target is a user who cannot connect the terminal 4A to the network.
Since the user terminal 4A connected to the network 20 can connect to the blockchain terminal 3A using the software 403A to generate and authenticate the OWP, the notification of the OWP by mail is unnecessary. Further, when the network 20 is always connected, both OWP and BnTOTP can be used.
The TTKY4033A that encrypts or decrypts the content can be changed by rewriting the CTAU4031A of the OTP token contract, which is the viewing right of the broadcast, by the contract administrator terminal 1C according to the instruction of the broadcaster. For example, by updating the BC value of OWP and CTAU4031A every year, a user who has a viewing right of a broadcast can continue browsing, and a user who does not have a viewing right can prevent the browsing.

視聴権を持たないユーザーに閲覧できないようにするためにはOTPトークンのOTP生成関数がOTPトークンの有効無効を判定するマッピング変数等をトークン番号をキーとしてあって、そのマッピング変数が有効ならばOWPを表示させ、無効ならばOWPを表示させないようにコントラクトの管理者が端末1Cを通じて書き換えることができると好ましい。
もしくは放送専用のブロックチェーン部を構築し、毎年OTPトークンのコントラクトを新規にデプロイする方法も考えられる。毎年OTPトークンのコントラクトを新規にデプロイする際にKC値を変更することでソフトウェア403Aを用いて暗号化を行うTTKY4033Aが変更される。OTPトークンは契約ができているユーザー識別子(それに対応する秘密鍵401Aに対し)にOTPトークンを配布し閲覧できるようにする。
In order to prevent users who do not have viewing rights from viewing, the OTP generation function of the OTP token has a mapping variable that determines the validity / invalidity of the OTP token as a key, and if the mapping variable is valid, OWP It is preferable that the administrator of the contract can rewrite the OWP through the terminal 1C so that the display is displayed and the OWP is not displayed if it is invalid.
Alternatively, a method of constructing a blockchain section dedicated to broadcasting and deploying a new OTP token contract every year is also conceivable. By changing the KC value when a new OTP token contract is deployed every year, the TTKY4033A that encrypts using the software 403A is changed. The OTP token is distributed to the user identifier with which the contract is made (to the corresponding private key 401A) so that the OTP token can be viewed.

パスワードOWPを用いる理由はネットワーク20が通信障害や災害などで切断された状態ではサーバ3Aにユーザ端末4Aが一時的に接続できない恐れがあり、そのような場合において1年ごとに契約が更新される方式であるならば災害が起こった瞬間であってもBnTOTPのようにパスワードがブロック番号Bnによって変化することはないこと、そしてOWPが郵送などで通知でき、ネットワークを利用できない人でも入手できることから災害(1週間から1カ月程度で対応できるもの)に対応できる可能性がある。 The reason for using the password OWP is that if the network 20 is disconnected due to a communication failure or disaster, the user terminal 4A may not be able to connect to the server 3A temporarily. In such a case, the contract is renewed every year. If it is a method, even at the moment when a disaster occurs, the password does not change depending on the block number Bn like BnTOTP, and OWP can notify by mail etc. and it can be obtained even by people who can not use the network. There is a possibility that it can be handled (things that can be handled in about one week to one month).

ブロックチェーンのノード3Aとネットワーク20を介して同期できる端末5CCとGNSSなどの人工衛星放送局5Cが存在するとき、端末5Cの放送データにブロック番号Bnを含み、ソフトウェア403A内部にKC値やCTAU4031AといったOTPの生成と認証を行う部分が難読化・暗号化・秘匿化され記録・搭載されている場合はソフトウェア403Aによりブロック番号BnとCTAU4031AからTTKY4033Aを算出し暗号化されたデータ放送を受信できるかもしれない。 When there is a terminal 5CC that can be synchronized with the blockchain node 3A via the network 20 and an artificial satellite broadcasting station 5C such as GNSS, the broadcast data of the terminal 5C includes the block number Bn, and the KC value or CTAU4031A is included in the software 403A. If the part that generates and authenticates the OTP is obfuscated, encrypted, concealed, recorded, and installed, the software 403A may be able to calculate the TTKY4033A from the block number Bn and CTAU4031A and receive the encrypted data broadcast. No.

具体例を示す。あるアマチュア局が開局申請を行い、アマチュア局が放送する暗号化データ放送を視聴できる会員権式トークンを本発明のシステムにてOTPトークンとその生成認証コントラクトとしてサーバ3Aのブロックチェーン上で発行し、OTPトークンをユーザー間で流通させることができる。トークンを持つ人に対し見ることの出来るOWPとそれを用いて認証やデータの復号と視聴を行うソフトウェアCRHN403Aがあればデータの復号と視聴ができる。
これは音声や動画データの放送も可能であり、新聞や雑誌、法令に関する本、教科書、コンピュータソフトウェア(教育用ソフトウェア、オペレーティングソフトウェア、オフィスソフトウェア、ゲームソフトウェア)のような出版の形で用いる形態のデータも送信できる。ユーザーは暗号化されたデータを受信し録画もしくは録音、書物やソフトウェアデータの記録を行い、本発明の認証システムにて復号し閲覧や視聴、ソフトウェアのインストールなどができる。暗号化されたコンテンツデータを放送を受信する形でダウンロードして利用することができる。
A specific example is shown. An amateur station applies for opening, and a membership-type token that allows viewing of encrypted data broadcasts broadcast by amateur stations is issued on the blockchain of server 3A as an OTP token and its generation authentication contract in the system of the present invention. OTP tokens can be distributed among users. If there is an OWP that can be viewed by a person holding a token and the software CRHN403A that uses it for authentication, data decryption, and viewing, data can be decrypted and viewed.
It can also broadcast audio and video data, and is used in the form of publications such as newspapers and magazines, statutory books, textbooks, and computer software (educational software, operating software, office software, game software). Can also be sent. The user can receive encrypted data, record or record it, record a book or software data, decrypt it with the authentication system of the present invention, view it, view it, install software, and so on. Encrypted content data can be downloaded and used in the form of receiving broadcasts.

この利用形態において懸念されることとして、天候不順などで通信障害が起こり放送局5Cからの無線による信号が端末4Aに届かないことが考えられる。また放送機材の不良で放送データにノイズなどが混じる恐れがある。動画や音声データの場合はノイズを含んでいても放送番組として成立する事がある(成立させざるを得ないことがある)。しかし雑誌や新聞またはコンピュータプログラムデータの場合はノイズにより閲覧ができなくなるもしくはソフトウェア等が動作しない恐れがある。その対処策として同じ内容の放送を別の日時に複数回行うこと(再放送)、衛星放送の場合は衛星放送の通信速度(通信容量、キャパシティ)を増加させるハイスループット衛星等を利用する、誤り訂正技術が利用する、などの対策をとることが好ましい。 As a concern in this usage pattern, it is conceivable that a communication failure occurs due to unseasonable weather or the like, and the radio signal from the broadcasting station 5C does not reach the terminal 4A. In addition, there is a risk that noise will be mixed in the broadcast data due to defective broadcasting equipment. In the case of video or audio data, it may be established as a broadcast program even if it contains noise (it may have to be established). However, in the case of magazines, newspapers, or computer program data, there is a risk that they will not be viewable due to noise or that software will not work. As a countermeasure, broadcast the same content multiple times on different dates and times (rebroadcast), and in the case of satellite broadcasting, use high-throughput satellites that increase the communication speed (communication capacity, capacity) of satellite broadcasting. It is preferable to take measures such as using error correction technology.

先の例ではアマチュア局一つの暗号化放送データ4034Aに対しTTKY4033Aが一つの場合について述べた。同じ平文のデータまたはコンテンツデータ4035Aであっても異なるアマチュア局の数に対応してトークンとOWPが割り当てられTTKY4033Aで暗号化されデータ送信される。
一つの国、もしくは世界規模で、例えば無線を用い衛星放送用い暗号データを送付する場合はコンテンツの権利者が許可する場合に限り、共通のOTPトークン、OWP、TTKY4033Aを用いて暗号化しユーザーに送信することもできる。(ただし世界規模で同一のTTKY4033Aを用い暗号化する場合はTTKY4033Aが漏洩したときに世界中で保存された暗号化データが視聴可能になる恐れがある。そのため局ごと、放送網ごと、地域ごと、国ごとにOTPトークン、ソフトウェア403の版、OWP・BnTOTP、TTKY4033Aを使い分けることが好ましいかもしれない。)
In the previous example, the case where one TTKY4033A is used for the encrypted broadcast data 4034A of one amateur station is described. Even if the data is the same plaintext data or content data 4035A, tokens and OWP are assigned corresponding to the number of different amateur stations, and the data is encrypted by TTKY4033A and transmitted.
When sending encrypted data using satellite broadcasting using satellite broadcasting in one country or on a global scale, for example, it is encrypted using a common OTP token, OWP, and TTKY4033A and sent to the user only if the right holder of the content permits. You can also do it. (However, when encrypting using the same TTKY4033A on a global scale, there is a risk that the encrypted data stored all over the world will be viewable when the TTKY4033A leaks. Therefore, by station, by broadcasting network, by region, It may be preferable to use OTP tokens, software 403 versions, OWP / BnTOTP, and TTKY4033A for each country.)

<双方向通信暗号化データの流通とライブ配信>
ウェブミーティングソフト、オンラインゲーム等のライブ配信要素(生放送配信要素)を持つコンテンツの暗号化が可能である。なおソフトウェア403Aを使ってミーティングなどのライブ配信の配信データの収録と暗号化を行いネットワーク20を介して流通させ配信先に暗号化データを伝えて復号させ視聴させても良いし、配信サイトとして端末3C(サーバ端末SVLogin)を用いてウェブサイト・ウェブアプリにログインする形でもよい。
<Distribution and live distribution of two-way communication encrypted data>
It is possible to encrypt content that has a live distribution element (live broadcast distribution element) such as web meeting software and online games. The software 403A may be used to record and encrypt live distribution data such as meetings, distribute it via the network 20, transmit the encrypted data to the distribution destination, decrypt it, and view it, or the terminal as a distribution site. You may log in to the website / web application using 3C (server terminal SVLogin).

ソフトウェア403Aや端末3Cを用いて暗号データを配信する際に暗号データの暗号化方式はブロック暗号方式とストリーム暗号方式を用いてもよい。ブロック暗号方式とストリーム暗号方式共に共通鍵暗号による暗号化を平文データに行い暗号化データを生成する。テレビジョンの放送に用いる既知のブロック暗号方式では特許2760799がある。またAES方式も利用されうる。端末5Cからの放送によるライブ配信も同様に暗号化方式はブロック暗号方式とストリーム暗号方式を用いてもよい。 When distributing the encrypted data using the software 403A or the terminal 3C, the block cipher method and the stream cipher method may be used as the encryption method of the encrypted data. Both the block cipher method and the stream cipher method perform encryption by common key cryptography on plaintext data to generate encrypted data. Patent 2760799 is a known block cipher used for broadcasting television. The AES method can also be used. Similarly, for live distribution by broadcasting from the terminal 5C, a block cipher method and a stream cipher method may be used as the encryption method.

<インターネット通信網でやり取りするデータの暗号化、暗号化されていない通信経路において>
本発明のOTP認証用コードをTLSによる暗号化通信(TLS・SSLによる暗号化通信)の代わりにウェブサイト通信用のデータ暗号化の鍵に用いる場合について述べる。ソフトウェア403Aで暗号データを例えばユーザーUCからユーザーUAへ配布することを示したが、それをユーザーUAからUCに行い、UAとUCが相互に暗号化データを行うことで暗号化通信に用いる事につながる。
ここでTLSは Transport Layer Security ProtocolのTransport Layer Securityの略でRFC8446規格。SSLはSecure Socket Layerの略。
<Encryption of data exchanged over the Internet communication network, in unencrypted communication paths>
A case where the OTP authentication code of the present invention is used as a data encryption key for website communication instead of SSL encrypted communication (SSL / SSL encrypted communication) will be described. Software 403A showed that encrypted data is distributed from user UC to user UA, for example, but it is done from user UA to UC, and UA and UC mutually perform encrypted data to use for encrypted communication. Connect.
Here, TLS is an abbreviation for Transport Layer Security of Transport Layer Security Protocol and is the RFC8446 standard. SSL is an abbreviation for Secure Socket Layer.

具体的な例としてウェブページの閲覧において、ある本発明のスマートコントラクトがあり、そのコントラクトではOTPトークンのトークン番号TIDAについてユーザーUAとコントラクトの管理者UCがワンタイムパスワードBnTOTPを生成し認証できるよう関数が設定され、UCがUAのトークン番号TIDAのBnTOTPを手に入れられる時(UCがUAのOTP生成関数を呼び出してBnTOTPを見て共有できる)を考える。 As a specific example, there is a smart contract of the present invention in browsing a web page, and in that contract, a function is provided so that the user UA and the contract administrator UC can generate and authenticate the one-time password BnTOTP for the token number TIDA of the OTP token. Is set and the UC can obtain the BnTOTP of the UA token number TIDA (the UC can call the UA's OTP generation function to see and share the BnTOTP).

通常、OTP生成関数は図6Aと図6Bのフローチャートに記載した通りにOTPトークンの持ち主のユーザー識別子とその秘密鍵から呼び出せるように設計されるが、用途に応じてはコントラクトの管理者であるサービス提供者も管理者端末1Cの秘密鍵101Cを用いてOTP生成関数を呼び出せるようにしてもよい。ただし、顧客のOTPトークンのOTP生成関数をコントラクトの管理者が呼び出せるようにする場合はOTPトークンの発行の契約をする際にサービスの規約などに明記することが必要であり、OTPトークンのKNBN変数3024Aに明示して記載することも必要である。
本発明のOTPトークンは端末3Cのウェブサイトへのログイン権、端末3Dに提示する入場券18Aや施錠の解錠鍵19A、ソフトウェア403Aを用いる暗号化データの復号を行える閲覧・利用・所有権ではあるユーザーが所有することを意図しており、主にOTPトークンを割りあてられた秘密鍵を持つユーザー1人のみがOTP生成関数を呼び出すことを基本および原則にしている。
OTP生成関数を2つ以上の秘密鍵から呼び出せることは通常の実施形態ではないが、実施することもできる。
Normally, the OTP generation function is designed so that it can be called from the user identifier of the owner of the OTP token and its private key as described in the flowcharts of FIGS. 6A and 6B, but depending on the application, the service that is the administrator of the contract. The provider may also be able to call the OTP generation function using the private key 101C of the administrator terminal 1C. However, if the OTP generation function of the customer's OTP token can be called by the contract administrator, it is necessary to specify it in the service agreement when making a contract to issue the OTP token, and the KNBN variable of the OTP token. It is also necessary to explicitly describe in 3024A.
The OTP token of the present invention has the right to log in to the website of the terminal 3C, the admission ticket 18A presented on the terminal 3D, the unlocking key 19A for locking, and the viewing / use / ownership right to decrypt the encrypted data using the software 403A. It is intended to be owned by a user, and the basic and principle is that only one user who has a private key to which an OTP token is assigned calls the OTP generation function.
It is not a normal embodiment that the OTP generation function can be called from two or more private keys, but it can also be implemented.

次に、UCが運営するウェブサイトにおいてUAに対しBnTOTPをAES方式などの共通鍵暗号の鍵に用いてウェブページを暗号化し、暗号化されたデータCRYPTWEBPAGEを生成する。そして前記暗号化されたデータCRYPTWEBPAGEを暗号化されていない経路があるネットワーク22を通じてユーザーUAのコンピュータ端末1Aに送付する。ここでUCはUAの通信暗号用OTPトークンのトークン番号TIDAがOTP生成関数3009Aにて生成するBnTOTP値(OWP値)を閲覧できることとする。
ユーザーUAはトークン番号TIDAのBnTOTP(OWP値)を用いて暗号化データCRYPTWEBPAGEを復号し平文のウェブページを閲覧することもできる。同様にUCに対してメッセージを送信するときはユーザーUAはトークン番号TIDAのBnTOTPをOTP生成関数から取得し暗号化に用い暗号化データCRYPTWEBPAGEをネットワーク22を通じUCのウェブサイトのサーバ端末に送信する。
UCは送付された暗号化データCRYPTWEBPAGEをUAの通信暗号用OTPトークンのトークン番号TIDAがOTP生成関数3009Aにて生成するBnTOTP値(OWP値)を呼び出して前記BnTOTPを復号する鍵として用い暗号化データCRYPTWEBPAGEを復号しUAの平文のメッセージを得ることでUAとUCがネットワーク22にて暗号化通信を行う。このように暗号化通信分野にも本発明は応用されうる。
(ただしこの場合でもUAとUCがブロックチェーンよりBnTOTPを手に入れる過程での通信は別途暗号化・秘匿化されていなければならない。UAとUCが最初にブロックチェーンよりBnTOTPを手に入れる過程での通信はUAとUCが持つ秘密鍵を用いた公開鍵暗号を基にした暗号化が必要となるかもしれない。秘匿化されたブロックチェーン基盤も必要である。)
Next, on the website operated by UC, the web page is encrypted by using BnTOTP as the key of the common key encryption such as the AES method for UA, and the encrypted data CRYPTWEBPAGE is generated. Then, the encrypted data CRYPTWEBPAGE is sent to the computer terminal 1A of the user UA through the network 22 having an unencrypted route. Here, it is assumed that the UC can browse the BnTOTP value (OWP value) generated by the token number TIDA of the UA communication encryption OTP token by the OTP generation function 3009A.
The user UA can also decrypt the encrypted data CRYPTWEBPAGE using the BnTOTP (OWP value) of the token number TIDA and browse the plaintext web page. Similarly, when sending a message to the UC, the user UA acquires the BnTOTP of the token number TIDA from the OTP generation function, uses it for encryption, and sends the encrypted data CRYPTWEBPAGE to the server terminal of the UC website through the network 22.
The UC uses the sent encrypted data CRYPTWEBPAGE as the key to decrypt the BnTOTP by calling the BnTOTP value (OWP value) generated by the token number TIDA of the OTP token for communication encryption of UA by the OTP generation function 3009A. By decrypting the CRYPTWEBPAGE and obtaining the plain message of the UA, the UA and the UC perform encrypted communication on the network 22. As described above, the present invention can be applied to the field of encrypted communication.
(However, even in this case, the communication in the process of UA and UC obtaining BnTOTP from the blockchain must be separately encrypted and concealed. In the process of UA and UC first obtaining BnTOTP from the blockchain. Communication may require encryption based on public key encryption using the private key of UA and UC. A concealed blockchain infrastructure is also required.)

<不正アクセス情報の監視機能>
本発明の認証システムにおいて、端末1Aの秘密鍵101A(端末4Aの秘密鍵401A)が流出し不正にサーバ端末3Cや端末5A等にアクセスされているか調べる際に、サービスを提供する端末3Cや端末5Aにアクセスする端末1AのIPアドレスや位置情報、端末1A固有のID情報をサーバ3Cや5A等に保存し監視する機能において、
端末1Aに固有のID情報に、1Aが備える入力装置14Aにおいてセンサ144Aに含まれうる加速度計、ジャイロセンサ、磁気センサ、気圧センサ、温度センサ、照度センサを備えさせ、
それらセンサ群のうち1つまたは複数のセンサが測定した物理量に由来する測定値を基にサーバーに保存させる方法が考えられる。
<Unauthorized access information monitoring function>
In the authentication system of the present invention, when the secret key 101A of the terminal 1A (the secret key 401A of the terminal 4A) is leaked and it is investigated whether the server terminal 3C, the terminal 5A, or the like is illegally accessed, the terminal 3C or the terminal that provides the service is used. In the function of storing and monitoring the IP address and location information of the terminal 1A accessing 5A and the ID information unique to the terminal 1A in the server 3C, 5A, etc.
The ID information unique to the terminal 1A is provided with an accelerometer, a gyro sensor, a magnetic sensor, a pressure sensor, a temperature sensor, and an illuminance sensor that can be included in the sensor 144A in the input device 14A included in the 1A.
It is conceivable to store the measured values derived from the physical quantities measured by one or more of the sensors in the server.

マイクなど音センサやカメラ、ポインティングデバイス、キーボードといった入力装置の情報も144Aに含まれてもよいセンサとなりうるが、これらを利用することはプライバシーの侵害や個人情報の過度な収集につながりかねず、発明者は推奨しない。キーボードやポインティングデバイス情報を読み取り収集することは入力データを読み取ることにつながりかねないので推奨しない。 Information on sound sensors such as microphones and input devices such as cameras, pointing devices, and keyboards may also be included in 144A, but using these may lead to invasion of privacy and excessive collection of personal information. The inventor does not recommend it. Reading and collecting keyboard and pointing device information is not recommended as it can lead to reading input data.

IPアドレスや位置情報は個人の特定につながる恐れがあるが、気圧センサ、温度センサの情報、磁気センサ(磁気コンパス)の情報などはそれぞれのユーザーと端末のいる位置や環境に由来する物理情報であり、これを秘密鍵の不正検出に用いる。(IPアドレスや端末の装置IDやオペレーティングシステムおよびウェブブラウザなど端末のソフトウェア情報については金融用途など重要な取引を行う場合に、顧客の資産を守るために図6Xといったデータを記録する際に収集し利用する必要があるかもしれない。) IP address and location information may lead to individual identification, but pressure sensor information, temperature sensor information, magnetic sensor (magnetic compass) information, etc. are physical information derived from the location and environment of each user and terminal. Yes, this is used for fraudulent detection of the private key. (IP addresses, device IDs of terminals, operating systems, and software information of terminals such as web browsers are collected when recording data such as Fig. 6X in order to protect customer assets when conducting important transactions such as for financial purposes. You may need to use it.)

漏洩した秘密鍵101Aを用いて不正利用しようとする攻撃者は先に述べたサーバ3C(SVLogin)やサーバ5A(SVCRHNcm)といった秘密鍵が流出し不正にアクセスされているか調べる処理部と図6Xに記載のアクセス情報のデータベースを持たせたサーバーに対し、ユーザーがどのようなセンサの数値でアクセスを行っているか調べなければセンサの数値、センサの検出する物理量を真似してなりすましによる不正アクセスを行うことができない。
前記のように装置1Aの入力装置のセンサに由来する測定値を本発明の認証システムの不正アクセス検知用の変数に利用することで、不正アクセスを防ぎつつ、IPアドレスや位置情報などの個人情報を基にしない形で不正利用を検知する。
An attacker who attempts to illegally use the leaked private key 101A can see in FIG. 6X and the processing unit that checks whether the private key such as the server 3C (SVLogin) or server 5A (SVCRHNcm) mentioned above has been leaked and illegally accessed. If you do not check what sensor value the user is accessing to the server that has the database of the described access information, unauthorized access by spoofing is performed by imitating the sensor value and the physical quantity detected by the sensor. Can't.
By using the measured value derived from the sensor of the input device of the device 1A as the variable for detecting unauthorized access of the authentication system of the present invention as described above, personal information such as IP address and location information can be prevented while preventing unauthorized access. Detect fraudulent use in a way that is not based on.

この利用方法ではユーザーのスマートフォンなどコンピュータ端末のセンサ値をサービスを行うサーバが記録し、同じ時刻に一致しないセンサ値でアクセスされたかどうかを検出するものであるので、センサの測定値と測定値のハッシュ値や匿名化した値を監視に用いることができる。センサの値を使う場合は個人情報の一部を収集してしまうもののサーバーの管理者はユーザーの状態を見守りしやすい。センサの値を基にハッシュ化や各種演算による加工を行った数値を使う場合は個人情報の保護に役立つ。 In this usage method, the server that provides the service records the sensor value of the computer terminal such as the user's smartphone, and detects whether or not the sensor value does not match the same time, so the measured value of the sensor and the measured value Hashed values and anonymized values can be used for monitoring. When using the sensor value, a part of personal information is collected, but the server administrator can easily monitor the user's condition. It is useful for protecting personal information when using numerical values that have been hashed or processed by various operations based on the sensor values.

もしユーザーが1人だけならばサービスを提供するサーバ(3Cや5Aなど)のユーザー識別子とユーザーのOTPトークンのトークン番号とIPアドレスや位置情報と端末IDと端末センサの値の結合値IPVのリストについて、ある時刻Tに対して1つのセンサ値もしくはIPV値をもったユーザー識別子とユーザーのOTPトークンのアクセス情報が記録されることが正常なアクセスとみなされる。そしてユーザーと不正アクセス者が同じ時刻にアクセスした際には図6Xの※2の様にユーザー識別子とユーザーのOTPトークンの情報について異なるセンサ値やIPV値のアクセス情報が記録される。
前記アクセス情報をサービスを提供するサーバは検出し、トークンの持ち主であるユーザーに異常を通知することができ同じ時刻に異なるセンサ値のアクセスが続く場合にはアクセスを遮断する制御部を持ってもよい。またアクセスデータを保存する記録部を持ってもよい。
If there is only one user, a list of the combined value IPV of the user identifier of the server (3C, 5A, etc.) that provides the service, the token number and IP address of the user's OTP token, the location information, the terminal ID, and the value of the terminal sensor. It is considered normal access that the access information of the user identifier having one sensor value or IPV value and the user's OTP token is recorded for a certain time T. Then, when the user and the unauthorized accessor access at the same time, access information of different sensor values and IPV values is recorded for the information of the user identifier and the user's OTP token as shown in * 2 of FIG. 6X.
The server that provides the service can detect the access information and notify the user who owns the token of the abnormality, even if it has a control unit that blocks access if access of different sensor values continues at the same time. good. It may also have a recording unit for storing access data.

例として同じ時刻に、温度気圧が25℃、987hPa、地磁気センサが北向きの値を示す秘密鍵101Aを持つ正当なアクセス権を持つ端末1Aと、30℃、1010hPa、地磁気センサが東向きの値を示す不正なアクセスを試みる秘密鍵101Aを不正に入手した端末1Bからアクセスがあったとき、サーバは異なる環境からアクセスがあったと判断できる。また温度センサ、気圧センサの数値の変化以外にもログイン後の加速度計とジャイロセンサからデータ又はサービスを閲覧するスマートフォンの端末の向きや重力加速度の変化、モーション変化、照度や温度・気圧・湿度といった環境の変化を追跡できる。
センサとしては他に、カメラなどの撮像素子の情報、音センサー(マイク、マイクロフォン)の入力データや測定値も利用可能であるが、利用者にとってはプライバシーが問題になるため推奨はしない。ただし技術的にはカメラなどの撮像素子の情報、音センサー もセンサとして本発明のIPV値に利用できる。もし利用せざるを得ない場合には、利用者の同意を得た撮像素子や音センサー、マイクの情報も利用する。カメラやマイクの測定値を不正アクセス検知に利用する場合はハッシュ化などを行うことが特に好ましい。
本発明では装置1Aの入力装置のうちカメラやマイク、キーボード、ポインティングの情報を利用できる。しかし本特許に基づいて実際の業務においてサーバへのユーザの不正アクセス監視用途にユーザーの端末1Aのカメラ、マイク、キーボード、ポインティングデバイスの入力情報は個人情報やユーザーの出力するPIN番号などの情報であったり秘密鍵情報の不正な取得に利用されかねないため、利用しないことが好ましい。
For example, at the same time, the temperature and pressure is 25 ° C, 987 hPa, the terminal 1A with a legitimate access right with the secret key 101A indicating the value of the geomagnetic sensor facing north, and the value of 30 ° C, 1010 hPa, the value of the geomagnetic sensor facing east. When there is an access from the terminal 1B that illegally obtained the private key 101A that attempts an unauthorized access, the server can determine that the access was made from a different environment. In addition to changes in the values of the temperature sensor and barometric pressure sensor, the orientation of the smartphone terminal that browses data or services from the accelerometer and gyro sensor after login, changes in gravitational acceleration, motion changes, illuminance, temperature, barometric pressure, humidity, etc. You can track changes in the environment.
In addition to the sensors, information on image pickup elements such as cameras, input data and measured values of sound sensors (microphones, microphones) can also be used, but this is not recommended because privacy is an issue for users. However, technically, the information of an image sensor such as a camera and a sound sensor can also be used as a sensor for the IPV value of the present invention. If there is no choice but to use it, the information of the image sensor, sound sensor, and microphone with the consent of the user is also used. When using the measured values of the camera or microphone for unauthorized access detection, it is particularly preferable to perform hashing or the like.
In the present invention, information on the camera, microphone, keyboard, and pointing among the input devices of the device 1A can be used. However, based on this patent, the input information of the camera, microphone, keyboard, and pointing device of the user's terminal 1A is information such as personal information and the PIN number output by the user for the purpose of monitoring the user's unauthorized access to the server in actual business. It is preferable not to use it because it may be used for unauthorized acquisition of private key information.

端末1Aが備える入力装置においてセンサ群のうち1つまたは複数のセンサが測定した物理量に由来する測定値を基にサーバ3Cや端末5Aに保存させる方法では次に示すセンサの利用が考えられる。センサはモーションセンサ、位置センサ、環境センサがあり、モーションセンサには加速度センサ(加速度計)、ジャイロセンサ(角速度センサ)を用いることができる。位置センサには地磁気センサまたは加速度計を用いることができる。環境センサには湿度センサ、光センサ、照度センサ、気圧センサ、圧力センサ、温度センサを用いることができる。
そして認証時にサーバ端末3C(SVLogin)、端末5A(SVCRHNcm)といった秘密鍵の不正利用を監視する処理部を持ったサーバについて、ユーザーの識別子Aとトークン番号TIDAと、閲覧している時刻T、閲覧履歴情報Cnt、そしてコンピュータの装置に備え付けられたセンサが検出した値から計算される値IPVを、サーバの記録装置に記録し、異なるIPVからのアクセスを監視するサーバとしたシステムである。閲覧履歴情報Cntは金融用途の端末3Cの場合は異なる環境からのアクセスかどうか記録するためユーザー端末がログアウトした後も記録し続けることが好ましく、再度ユーザー端末がログインするときに端末3Cはユーザー端末が過去に記録した閲覧履歴情報Cntと類似する条件でログインしているかどうか判定し大きく異なる環境からログインした場合にはユーザーの連絡先に通知しOTP認証やあらかじめ設定した第2の秘密鍵(例としてマルチシグ技術用の第一の秘密鍵101Aと第二の秘密鍵101A2)に由来するOTPトークンによるOTP認証を行うようにしてもよい。
In the input device provided in the terminal 1A, the following sensors can be considered as a method of storing the measured values derived from the physical quantities measured by one or a plurality of sensors in the sensor group in the server 3C or the terminal 5A. The sensor includes a motion sensor, a position sensor, and an environment sensor, and an acceleration sensor (accelerometer) and a gyro sensor (angle velocity sensor) can be used as the motion sensor. A geomagnetic sensor or an accelerometer can be used as the position sensor. As the environment sensor, a humidity sensor, an optical sensor, an illuminance sensor, a pressure sensor, a pressure sensor, and a temperature sensor can be used.
Then, for a server having a processing unit for monitoring unauthorized use of a private key such as a server terminal 3C (SVLogin) and a terminal 5A (SVCRHNcm) at the time of authentication, a user's identifier A, a token number TIDA, a browsing time T, and browsing It is a system as a server that records the value IPV calculated from the historical information Cnt and the value detected by the sensor installed in the computer device in the recording device of the server and monitors the access from different IPVs. In the case of the terminal 3C for financial use, the browsing history information Cnt is preferably recorded even after the user terminal logs out because it records whether the access is from a different environment. When the user terminal logs in again, the terminal 3C is the user terminal. Determines whether you are logged in under conditions similar to the browsing history information Cnt recorded in the past, and if you log in from a significantly different environment, notify the user's contact information and perform OTP authentication or a preset second private key (eg) The OTP authentication may be performed by the OTP token derived from the first secret key 101A and the second secret key 101A2) for the multisig technology.

<ブロックチェーン上のコントラクトの管理>
OTPトークンのコントラクト管理者UCは端末1Cの秘密鍵101Cによりブロックチェーンノード3Aにアクセスしサービスを提供する資格のあるユーザーに向けてそのユーザーの識別子にトークンを発行する。
またコントラクト3008Aや3008AGや3008AAや3008DAのOTP生成関数3009AやOTP認証関数3018Aや3018DAのOTP計算に用いるシークレットキー情報K値のKC値3011AやBC値3013Aを関数3012Aや3012DAといった手段を用いて書き換えて更新することもできる。他に看板(KNBN)となる変数3024Aを変更できる。
注意するべきこととして本発明のワンタイムパスワード生成関数と認証関数において同一のキー値KとT値を使用しなければ認証が行えない。
端末1Aがサーバ端末3Cにアクセスするサービスやソフトウェア403Aを用いる暗号化データの復号用途では、端末1Aは403Aのプログラムに従いネットワーク20を介してブロックチェーンのノード端末3AにアクセスしOTP(OWP、BnTOTP)を取得できる。
管理者端末1Cのアクセスを端末3Aが受け付け、KC値3011Aの変更のトランザクションを端末3Aは受信しブロックチェーンに連結することでKC値の変更が行え、端末3Aにアクセスする端末1Aは端末1Cが書き換えたKC値を反映したOTPによる認証ができる。一方で端末3Dを用いるサービスではK値はKC値3011DAやBC値3013DAを書き換え更新する手段をコントラクト管理者UCは提供する。
<Management of contracts on the blockchain>
The contract administrator UC of the OTP token issues a token to the identifier of the user who is qualified to access the blockchain node 3A and provide the service by the private key 101C of the terminal 1C.
Further, the KC value 3011A and BC value 3013A of the secret key information K value used for the OTP calculation of the OTP generation function 3009A, OTP authentication function 3018A and 3018DA of the contracts 3008A, 3008AG, 3008AA and 3008DA are rewritten by means such as the functions 3012A and 3012DA. Can also be updated. In addition, the variable 3024A that becomes a signboard (KNBN) can be changed.
It should be noted that authentication cannot be performed unless the same key values K and T are used in the one-time password generation function and the authentication function of the present invention.
In the service of the terminal 1A accessing the server terminal 3C or the purpose of decrypting encrypted data using the software 403A, the terminal 1A accesses the blockchain node terminal 3A via the network 20 according to the program of the 403A and OTP (OWP, BnTOTP). Can be obtained.
The terminal 3A accepts the access of the administrator terminal 1C, the terminal 3A receives the transaction of the change of the KC value 3011A, and the KC value can be changed by connecting to the blockchain. Authentication by OTP that reflects the rewritten KC value can be performed. On the other hand, in the service using the terminal 3D, the contract manager UC provides a means for rewriting and updating the K value KC value 3011DA and BC value 3013DA.

例としてユーザーUAが秘密鍵101Aを用いてアクセスするOTP生成関数とOTP認証関数について、OTP生成関数とOTP認証関数が利用するワンタイムパスワードのシード値TIDA、KC、Bn、Aの場合にはKC値3011Aを、OTP生成関数とOTP認証関数ともに同じ値、もしくは同じデータとなるように設定し同期させなければいけない。同期していない場合、生成するパスワードと認証関数内部で計算されるパスワードが一致せず、ワンタイムパスワード認証が行えなくなる。 As an example, for the OTP generation function and OTP authentication function that the user UA accesses using the private key 101A, the seed values of the one-time password used by the OTP generation function and the OTP authentication function are KC in the case of TIDA, KC, Bn, and A. The value 3011A must be set and synchronized so that both the OTP generation function and the OTP authentication function have the same value or the same data. If they are not synchronized, the generated password and the password calculated inside the authentication function do not match, and one-time password authentication cannot be performed.

KC値3011Aはコントラクトがブロックチェーンのあるブロックに記録した際に書き込まれ、その後一切書換を行わないようにコントラクトをプログラムすることもできる。またKC値3011Aはコントラクトの管理者のみが変更することもできる。KC値3011Aの取り扱いはコントラクトの管理者による。KC値3011Aがコントラクトの管理者によって任意の時刻に変更される場合はパスワードOWPの算出などで用いるBC値3013Aと同じ役割を持つ変数とみなせる。 The KC value 3011A can also be programmed so that it is written when the contract is recorded in a block with a blockchain and then no rewriting is performed. Further, the KC value 3011A can be changed only by the contract administrator. The handling of the KC value 3011A is by the contract administrator. When the KC value 3011A is changed to an arbitrary time by the contract administrator, it can be regarded as a variable having the same role as the BC value 3013A used in the calculation of the password OWP.

KC値3011Aは本発明を用いるほかのスマートコントラクトとOTPトークンのOTPの値と衝突しにくくするために、例えばOTP生成コントラクトの識別子やサービス名、書籍等コンテンツの場合にはコンテンツの名前ISBN等に基づいて計算されるKC値3011Aを使うことが好ましい。
KC値が似通ったもの、例えば256bit(符号なし整数値では2の256乗の0を含む符号なし整数数値を表現できる)の容量を持つKC値に対し、大きな数値を設定するのが面倒であるなどの理由で0から255(2の8乗まで)、さらには0から10までといった小さい整数の範囲でKC値を記録するなどの運用を複数のOTPトークンのコントラクトで行われてしまうとOTP値が衝突する恐れがある。
具体例について述べる。ある会員サイトのログインサービスのユーザー識別子Aのトークン番号9876のOTPトークンにおいて、異なるインターネットバンキングのログイン用OTPトークンの番号9876であった時、両サービスのOTPトークンのコントラクトのKC値が123などと設定されハッシュ関数もSHA−1を用い同じブロックチェーン識別子のブロックチェーンにデプロイされていた時、OTPはBnTOTP=fh( 共通のA, TIDA=9876, KC=123, 共通のBn)として計算され、結果として二つの異なるサービス用のOTPトークン間で一致したOTPが算出されてしまう。
これはウェブサイトログイン用のBnTOTPのみならず施錠用のOWPでも同様のことが起きうる。そこでサービスの異なるOTPトークンのOTP値の一致・衝突を避けるためにKC値をユニークな値にする必要がありその手段の一つとしてコントラクト識別子情報を含むもしくはコントラクト識別子情報を加工などして匿名化してKC値の一部に用いることが望ましい。
KC値を複雑にしてOTPトークンのOTP値が一致しないようにするために、複数のKC値を設定してよい。KC値は一つでなく複数あってもよく、例として第一のKC値はコントラクト管理者が任意の値(擬似乱数生成器で生成された値やそれを加工したもの、もしくは管理者が思いついた値など)に設定し、第二のKC値はコントラクト管理者がOTPトークンのコントラクト識別子(またはそれを加工し匿名化した値)を設定し、第三のKC値はキー値の更新に用いるBC値と同じ変数型の値であってもよい。
In order to make it difficult for the KC value 3011A to collide with the OTP value of the OTP token with other smart contracts using the present invention, for example, the identifier or service name of the OTP generation contract, or in the case of content such as a book, the name of the content ISBN or the like. It is preferable to use the KC value 3011A calculated based on this.
It is troublesome to set a large value for a KC value having a similar KC value, for example, a capacity of 256 bits (an unsigned integer value can express an unsigned integer value including 0 of 2 to the 256th power). For reasons such as 0 to 255 (2 to the 8th power), and even recording KC values in the range of small integers such as 0 to 10, if operations such as recording KC values are performed with multiple OTP token contracts, the OTP value May collide.
A specific example will be described. In the OTP token of the token number 9876 of the user identifier A of the login service of a certain member site, when the number of the OTP token for login of different Internet banking is 9876, the KC value of the contract of the OTP tokens of both services is set to 123 or the like. When the hash function was also deployed to the blockchain with the same blockchain identifier using SHA-1, the OTP was calculated as BnTOTP = fh (common A, TIDA = 9876, KC = 123, common Bn), and the result. As a result, a matching OTP is calculated between two OTP tokens for different services.
The same thing can happen not only with BnTOTP for website login but also with OWP for locking. Therefore, it is necessary to make the KC value a unique value in order to avoid matching / collision of OTP values of OTP tokens with different services. As one of the means, include contract identifier information or process contract identifier information to anonymize it. It is desirable to use it as a part of the KC value.
A plurality of KC values may be set in order to complicate the KC values and prevent the OTP values of the OTP tokens from matching. There may be multiple KC values instead of one. For example, the first KC value may be an arbitrary value by the contract administrator (a value generated by a pseudo-random number generator or a processed version thereof, or the administrator can think of it. The second KC value is set by the contract administrator to set the contract identifier of the OTP token (or the value obtained by processing and anonymizing it), and the third KC value is used to update the key value. It may be a value of the same variable type as the BC value.

KC値やBC値はデータ型を制限しない。符号なし整数型でもよく文字列型でもよく、KC値やBC値に当たる変数が複数コントラクトに含まれOTPの計算に用いられてもよい。 KC and BC values do not limit the data type. It may be an unsigned integer type or a character string type, and variables corresponding to KC values and BC values may be included in a plurality of contracts and used for OTP calculation.

本発明ではハッシュ関数fhはSHA−2のSHA256というハッシュ関数を用いた。SHA256ハッシュ関数はユーザー識別子Aとトークン番号TIDAとシークレット変数KCとブロック番号Bnやコントラクト管理者の変更するBCを基に作成されたメッセージについて32バイトのハッシュ値BnTOTPまたはOWPを求め、前記BnTOTPまたはOWPをOTPに用いる。ハッシュ値BnTOTPまたはOWPをそのままOTPに用いても良いし、そのハッシュ値をさらに任意の方法で計算・加工してOTPとしてもよい。 In the present invention, the hash function fh uses a hash function called SHA256 of SHA-2. The SHA256 hash function obtains a 32-byte hash value BnTOTP or OWP for a message created based on the user identifier A, the token number TIDA, the secret variable KC, the block number Bn, and the BC changed by the contract administrator, and obtains the BnTOTP or OWP. Is used for OTP. The hash value BnTOTP or OWP may be used as it is for OTP, or the hash value may be further calculated and processed by any method to obtain OTP.

OTPの計算においてハッシュ関数の衝突が発見されている(もしくは疑いのある)SHA−1等のハッシュ関数の使用は推奨されない。そして将来のある時点で既知のハッシュ関数fhの脆弱性が発見された場合、そのハッシュ関数の脆弱性に対する対策をOTPトークンのコントラクトやブロックチェーンの基盤に施すことが必要になるかもしれない。
ブロックチェーンの基盤においてブロックハッシュBhの算出に用いるハッシュ関数(例としてイーサリアムではKeccak-256をハッシュ関数に用いる)に問題が生じてしまうときはブロックチェーンの基盤の切り替えが必要になってしまう事もないとは言い切れない。
前記の問題が生じたときはOTPトークンのコントラクトをもちいてOTPの生成と認証を行う方法とOTPトークンの保有者情報を、脆弱性のないハッシュ関数を用いたブロックチェーンあるいは有方向非巡回グラフを用いる新たな分散型台帳システムにOTPトークンのコントラクトとOTPトークンの保有者情報を転記させる必要が生じるかもしれない。
The use of hash functions such as SHA-1 for which hash function collisions have been found (or are suspected) in OTP calculations is not recommended. And if a known hash function fh vulnerability is discovered at some point in the future, it may be necessary to take measures against the hash function vulnerability in the OTP token contract or the base of the blockchain.
If there is a problem with the hash function used to calculate the block hash Bh on the blockchain infrastructure (for example, Ethereum uses Keccak-256 as the hash function), it may be necessary to switch the blockchain infrastructure. It cannot be said that there is no such thing.
When the above problem occurs, the method of generating and authenticating OTP using the contract of OTP token and the holder information of OTP token can be obtained by using a blockchain or directional non-circular graph using a non-vulnerable hash function. It may be necessary to post the OTP token contract and OTP token holder information to the new distributed ledger system used.

OTPトークンの生成と認証を行うハッシュ関数fhをコントラクトの管理者によって任意の種類に変更できてもよい。例えばハッシュ関数fhをSHA−2のSHA2−256からSHA−3のSHA3−256にコントラクトのデプロイ後に変更できてもよい。この時もKC値などの時と同じくOTP生成関数とOTP認証関数に用いるハッシュ関数fhの種類を一致させなければOTP認証は行えなくなる。 The hash function fh that generates and authenticates the OTP token may be changed to any type by the contract administrator. For example, the hash function fh may be changed from SHA2-256 of SHA-2 to SHA3-256 of SHA-3 after deploying the contract. At this time as well, OTP authentication cannot be performed unless the types of the hash function fh used for the OTP generation function and the OTP authentication function are matched, as in the case of the KC value.

<RFC6238規格と本発明とのワンタイムパスワード算出に関する処理内容の比較>
RFC6238規格ではワンタイムパスワードとの算出にキー値Kと時刻により変化するT値をハッシュ関数の引数に用いハッシュ値を求めワンタイムパスワードの生成、認証に利用する。前記RFC6238規格によるとHMACに基づくHOTP方式のワンタイムパスワード規格においてカウンターCを時刻Tに基づくカウンターに置き換えたものである。次にTOTPを算出する式を示す。
TOTP = HOTP(K,T)
= Truncate(HMAC−SHA−1(K.T))
ここでTruncate は端数処理である。本発明ではRFC6238にあるHMACと組み合わせたハッシュ関数に限らない。本発明ではハッシュ関数もしくはHMACと組み合わせたハッシュ関数のいずれかを利用できる。
具体的にはブロックチェーンの基盤で用いるハッシュ関数(イーサリアムで用いるKeccak-256)の他、SHA−3、HMAC−SHA3、SHA−2(SHA256,SHA384、SHA512)、RIPEMD−128/168、MD5、SHA−1等と、HMAC−SHA−3、HMAC−SHA−2(HMAC−SHA256、HMAC−SHA−384、HMAC−SHA−512)、 HMAC−RIPEMD−128/168、HMAC−MD5、HMAC−SHA−1などである。前記の具体的な関数群はHMACを用いている場合もハッシュ関数に基づいており、ハッシュ関数の一方向関数という性質を利用し、引数のメッセージデータ(もしくはキー情報)ごとに異なり衝突しにくい固有のものとみなせるダイジェスト値が計算でき、それをパスワードに利用するという機能に変わりはない。
<Comparison of processing contents related to one-time password calculation between RFC6238 standard and the present invention>
In the RFC6238 standard, the key value K and the T value that changes depending on the time are used as arguments of the hash function to calculate the one-time password, and the hash value is obtained and used for the generation and authentication of the one-time password. According to the RFC6238 standard, the counter C is replaced with the counter based on the time T in the one-time password standard of the HOTP method based on HMAC. Next, the formula for calculating TOTP is shown.
TOTP = HOTP (K, T)
= Truncate (HMAC-SHA-1 (KT))
Here, Truncate is rounding. The present invention is not limited to the hash function combined with HMAC in RFC6238. In the present invention, either a hash function or a hash function combined with HMAC can be used.
Specifically, in addition to the hash function used in the base of the blockchain (Keccak-256 used in Ethereum), SHA-3, HMAC-SHA3, SHA-2 (SHA2566, SHA384, SHA512), RIPEMD-128 / 168, MD5, SHA-1, etc., HMAC-SHA-3, HMAC-SHA-2 (HMAC-SHA256, HMAC-SHA-384, HMAC-SHA-512), HMAC-RIPEMD-128 / 168, HMAC-MD5, HMAC-SHA -1 and so on. The above-mentioned specific function group is based on the hash function even when HMAC is used, and uses the property of a one-way function of the hash function. There is no change in the function of calculating a digest value that can be regarded as a thing and using it as a password.

本発明ではRFC6238規格を参考とし、その規格で用いるK値とT値についてブロックチェーン上の時刻において変化する変数TB(好ましくはブロック番号Bnやある時刻にコントラクト管理者が変更できるBCを用いる)とK値(シークレットキーKC値、トークン番号TIDA、ユーザー識別子Aなど)、ハッシュ関数fhを用いてブロックチェーンのコントラクトにアクセスしコントラクトにおいて対応づけられたユーザー識別子の保有するトークン番号TIDAのOTPトークンを利用しOTPの生成と認証を行うブロックチェーンベースの時間に基づいて変化するOTP認証システムに用いることを特徴とする。
本発明のワンタイムパスワードBnTOTPの算出式は以下のようになる。またn桁の整数のパスワードBnTOTP−Nも次に示す。
BnTOTP = fh(K,T)
= fh(KC,TIDA,A,Bn) ※具体例。
BnTOTP−N = Truncate(fh(K.T))
= Uint( fh(KC,TIDA,A,Bn) ) mod 10n ※具体例、BnTOTPを符号無し整数化して10のn乗で割り算しその余りをパスワードとする場合。
ここでUint(X)は引数Xを符号なし整数に型変換する関数。
In the present invention, the RFC6238 standard is referred to, and the K value and the T value used in the standard are changed with the variable TB (preferably the block number Bn or BC that can be changed by the contract administrator at a certain time) that changes at the time on the blockchain. Use the K value (secret key KC value, token number TIDA, user identifier A, etc.), access the blockchain contract using the hash function fh, and use the OTP token of the token number TIDA held by the user identifier associated with the contract. It is characterized by being used in a blockchain-based time-based OTP authentication system that generates and authenticates OTPs.
The formula for calculating the one-time password BnTOTP of the present invention is as follows. The password BnTOTP-N, which is an n-digit integer, is also shown below.
BnTOTP = fh (K, T)
= Fh (KC, TIDA, A, Bn) * Specific example.
BnTOTP-N = Truncate (fh (KT))
= Unit (fh (KC, TIDA, A, Bn)) mod 10n * Specific example, when BnTOTP is converted to an unsigned integer, divided by 10 to the nth power, and the remainder is used as a password.
Here, Unit (X) is a function that converts the argument X to an unsigned integer.

<BnTOTPとパスワードOWPの算出に関する処理内容の比較>
時刻により変化するT値をTm値として、本発明のブロック番号BnをTmとして用いるワンタイムパスワードBnTOTPの算出式の一つの例は次のようになる。TmはTBと同じである。
BnTOTP = fh(K,Tm)
= fh(KC,TIDA,A,Bn) ※例
一方、Tm値をある時刻にコントラクト管理者が変更できるBC値(またはBCを変更できる権限のあるユーザーが書き換えることの出来るBCの値)を用いて本発明のパスワードOWPの算出式の一つの例は次のようになる。
OWP = fh(K,Tm)
= fh(KC,TIDA,A,BC) ※例
<Comparison of processing contents related to calculation of BnTOTP and password OWP>
One example of the calculation formula of the one-time password BnTOTP using the T value that changes with time as the Tm value and the block number Bn of the present invention as the Tm is as follows. Tm is the same as TB.
BnTOTP = fh (K, Tm)
= Fh (KC, TIDA, A, Bn) * Example: On the other hand, use a BC value that can be changed by the contract administrator at a certain time (or a BC value that can be rewritten by a user who has the authority to change BC). An example of the calculation formula of the password OWP of the present invention is as follows.
OWP = fh (K, Tm)
= Fh (KC, TIDA, A, BC) * Example

n桁の整数のパスワードOWP−NとBnTOTP−Nを次に示す。
BnTOTP−N = Uint( fh(KC,TIDA,A,Bn) ) mod 10n
OWP−N = Uint( fh(KC,TIDA,A,BC) ) mod 10n
OWP−NとBnTOTP−Nは剰余rを用いるのでOWPrやBnTOTPrやそれらを総称したOTPrと言い換えることができる。
ここで10のn乗で割り算する例を示したが、10のn乗ではなくYのN乗で割り算して剰余を求めるときを考える。OWPやBnTOTPといったOTPを符号なし整数に型変換した値mを被除数mとし、10のほかに2や3や11といった2以上の符号なし整数Yを1以上の符号なし整数NでN乗した整数を除数nとして、被除数mを除数nで割った際の剰余rを算出し前記rを整数値のOTPrとして用いる処理部と記憶部をコントラクトに備えさせることもできる。OTPを符号なし整数に変換し剰余を求めたときの整数値rをOTPrとしたとき次のような式となる。
OTPr = m−qn
ただしn=YNで、好ましくはYは2以上の符号なし整数であってNは1以上の符号なし整数、qは商、nは除数、mは被除数、rは剰余。
OTPとして実用的に用いるにはYは10以上かつNは6から7以上が好ましい。しかし用途に応じてYが10かつNは2や4であってもよい。
明確な注意点としてYが2かつNが1の場合、OTPrは奇数か偶数かを示す0か1の値を擬似乱数的に出力することとなり、0と1の擬似乱数生成器としては利用できるかもしれないが、ウェブサイトログイン用などのワンタイムパスワードOTPの用途には0と1のどちらかを当ててしまえばログインなどができてしまうので実用的ではない。
そこで、例としてOTPrで4桁の整数のPIN番号を表現する場合を考えると、Yは2以上Nは14以上として除数n=214=16384とする必要がある。
Yが10かつNが7や6であれば、7桁や6桁のOTPを生成でき、コントラクト管理者にとって整数のOTPの算出や桁数の変更がイメージしやすいため本発明の実施例では10のN乗の剰余をN桁のOTP(OTPr)として用いた。
The passwords OWP-N and BnTOTP-N, which are n-digit integers, are shown below.
BnTOTP-N = Unit (fh (KC, TIDA, A, Bn)) modding 10n
OWP-N = Unit (fh (KC, TIDA, A, BC)) modding 10n
Since OWP-N and BnTOTP-N use a remainder r, they can be paraphrased as OWPr, BnTOTPr, or OTPr which is a generic term for them.
Here, an example of dividing by 10 to the nth root is shown, but consider a case where the remainder is obtained by dividing by the Nth root of Y instead of 10 to the nth root. The value m obtained by type-converting OTP such as OWP or BnTOTP into an unsigned integer is defined as the divisor m, and in addition to 10, an integer obtained by multiplying 2 or more unsigned integers Y such as 2 or 3 or 11 by 1 or more unsigned integer N to the Nth power. Is a divisor n, the remainder r when the divisor m is divided by the divisor n is calculated, and a processing unit and a storage unit using the r as an integer value OTPr can be provided in the contract. When the integer value r when OTP is converted to an unsigned integer and the remainder is obtained is OTPr, the following equation is obtained.
OTPr = m-qn
However, n = YN, preferably Y is an unsigned integer of 2 or more, N is an unsigned integer of 1 or more, q is a quotient, n is a divisor, m is a divisor, and r is a remainder.
For practical use as OTP, Y is preferably 10 or more and N is preferably 6 to 7 or more. However, depending on the application, Y may be 10 and N may be 2 or 4.
As a clear note, when Y is 2 and N is 1, OTPr outputs a value of 0 or 1 indicating whether it is an odd number or an even number as a pseudo-random number, and can be used as a pseudo-random number generator of 0 and 1. It may be, but it is not practical because if you apply either 0 or 1 to the one-time password OTP for website login, you will be able to log in.
Therefore, considering the case where the PIN number of a 4-digit integer is expressed by OTPr as an example, it is necessary to set Y to be 2 or more and N to be 14 or more and the divisor n = 214 = 16384.
If Y is 10 and N is 7 or 6, 7-digit or 6-digit OTP can be generated, and it is easy for the contract administrator to imagine the calculation of the integer OTP and the change in the number of digits. Therefore, in the embodiment of the present invention, 10 The remainder of the Nth power was used as the N-digit OTP (OTPr).

<ブロックチェーン基盤について>
本発明を運用する中でブロックチェーン部分は技術的もしくは記憶容量などの制限でからある年数ごとにブロックチェーン部を更新したり、新たに作成し直すことが考えられる。ブロックチェーン部のブロックハッシュ算出を行うハッシュ関数を変更する必要も生じることでブロックチェーン部を更新する必要があるかもしれない。
そこで本発明のブロックチェーンを用いたOTP認証システムではコントラクトに記録されたOTP生成トークンのコントラクトとOTP認証コントラクトのプログラム情報、シード値KCやBCの情報を管理者が定期的に端末に記録することが特に好ましい。
そしてOTPトークンの持ち主となるユーザー識別子AやそのOTPトークンのトークン番号とOTPトークンに付帯するURIなどのOTPトークンの状態情報を記録し、OTPトークンの状態情報も保存されたOTPトークンの保有者名簿情報を作成し端末3Cや端末3Eや端末3Fや端末5Aや端末5Bや端末1C、そしてユーザー端末1Aの記憶装置に保管することが特に好ましい。ユーザー端末においても保有するOTPトークンの所有する一覧情報を保持することが好ましい。
<About the blockchain platform>
During the operation of the present invention, it is conceivable that the blockchain portion may be updated or newly recreated every number of years due to technical or limitation of storage capacity. It may be necessary to update the blockchain part by changing the hash function that calculates the block hash of the blockchain part.
Therefore, in the OTP authentication system using the blockchain of the present invention, the administrator periodically records the OTP generation token contract, the program information of the OTP authentication contract, and the seed value KC and BC information recorded in the contract. Is particularly preferable.
Then, the user identifier A that is the owner of the OTP token, the token number of the OTP token, and the status information of the OTP token such as the URI attached to the OTP token are recorded, and the status information of the OTP token is also stored in the OTP token holder list. It is particularly preferable to create the information and store it in the storage device of the terminal 3C, the terminal 3E, the terminal 3F, the terminal 5A, the terminal 5B, the terminal 1C, and the user terminal 1A. It is preferable that the user terminal also retains the list information possessed by the possessed OTP token.

本発明ではブロックチェーンを用いて改ざん困難な関数や変数を持つプログラムを実施する形態としてスマートコントラクトを用い、ブロックチェーン上である時刻に変化する値Tmを用いてパスワードを生成し前期パスワードを端末3Cや端末3Dへ用いることで認証を行うものである。
しかしブロックチェーンは長い時間、例えば100年を超えて維持される場合には、最新のブロック番号に対して50年もしくは100年前にブロックチェーンに記録されたコントラクトのデータについて、100年間蓄積したトランザクションを含めコントラクトの関数を実行する必要が生じる恐れがある。
In the present invention, a smart contract is used as a mode for implementing a program having a function or a variable that is difficult to tamper with using a blockchain, a password is generated using a value Tm that changes at a certain time on the blockchain, and the previous period password is used as the terminal 3C. And the terminal 3D is used for authentication.
However, if the blockchain is maintained for a long time, for example, over 100 years, transactions accumulated for 100 years for contract data recorded in the blockchain 50 or 100 years ago for the latest block number. It may be necessary to execute the function of the contract including.

本発明の問題だけでなく分散型台帳技術の課題としてあるトランザクションがあるコントラクトに対し、人の一生を超える年月にわたりトランザクションが蓄積した時の応答が不明である。また計算資源や端末の材料資源、ネットワーク資源、システムを駆動する電力源も持続可能なものでなければならない。
実施例で用いたイーサリアムのブロックチェーン基盤としての稼働実績は本文章作成時においては5年程度であり、紙のように100年以上にわたり利用され、かつ100年にわたり情報を記録しうる媒体であるかは未知な点がある。イーサリアムは100年にわたりあるコントラクトにトランザクションが蓄積しながら運用できた実績はなく、100年を超えトランザクションが集積された分散型台帳データベースでスマートコントラクトが遅延なく問題なく動作するか不明である。
しかし紙とは異なりまた既存のサーバ端末とも異なる改ざん困難で時刻に関するタイムスタンプやタイムスタンプに対応したブロック番号が刻々と記録されるコントラクト内蔵型データベースシステムを構築できる点に特徴がある。
GNSS衛星端末5Cにおいて放送データに認証用情報を添付する例で示したように物やデータに本発明の認証システムによるタグをつけてそのものやデータの真贋を判定したり、デジタルと現実の両方で利用出来うるOWP型のパスワードを表示させ入場用のチケットや施解錠の鍵に用いられる有価仕様やタグに用いることの出来るOTPトークンや、ウェブサイトへのログインや暗号化データの復号用途に用いることの出来るBnTOTP型のOTPトークンが実施できる。
Not only the problem of the present invention but also the problem of the distributed ledger technology is that there is a transaction, and the response when the transaction is accumulated over a period of more than a person's life is unknown. Computational resources, terminal material resources, network resources, and power sources that drive systems must also be sustainable.
The operation record of Ethereum used in the examples as a blockchain platform is about 5 years at the time of writing this text, and it is a medium that can be used for more than 100 years like paper and can record information for 100 years. There is an unknown point. Ethereum has no track record of operating while accumulating transactions in a contract that has been in operation for over 100 years, and it is unclear whether smart contracts will work without delay in a distributed ledger database that has accumulated transactions for over 100 years.
However, unlike paper, it is difficult to tamper with existing server terminals, and it is characterized by being able to build a database system with a built-in contract that records time stamps related to time and block numbers corresponding to time stamps every moment.
As shown in the example of attaching authentication information to broadcast data in the GNSS satellite terminal 5C, objects and data can be tagged by the authentication system of the present invention to judge the authenticity of the data itself or the data, both digitally and in reality. OTP tokens that can be used for valuable specifications and tags used for admission tickets and locking / unlocking keys by displaying available OWP-type passwords, and for logging in to websites and decrypting encrypted data. BnTOTP type OTP tokens that can be used can be implemented.

発明者が懸念する点として、100年を超えブロックチェーン(あるいは有方向非巡回グラフなどを用い改ざん耐性を備えつつスマートコントラクトを実行できるシステム)が運用される際にブロックチェーン基盤において、マークルパトリシア木を代表とするデータ構造があって、計算量O(log(n))でキーと値のペアを検索し挿入削除を行うが、年月の経過とともにブロックチェーンのデータ量が大きくなり端末3Aや3Bといったノードの記憶域を消費するようになる恐れがある。マークルパトリシア木のデータベースに関するデータ検索時間・データ探索時間がより多くかかるなどの恐れがある。より昔、より小さいブロック番号でデプロイされたコントラクト(及びそれに含まれるOTP生成関数・OTP認証関数)ほどブロックチェーン部から読み取りにくくなる、もしくは読み取って関数を実行させる場合に想定以上に時間がかかるのではないかという懸念である。
計算力が高い電子計算機端末や、量子力学に基づいたデータ探索用の計算機端末が産み出され、高速かつ大容量なRAMやROMといった記憶装置があるとき問題を解決できるかもしれないが、そうならないとき、ブロックチェーン基盤を更新し、過去の分散型台帳システムの分散型台帳をアーカイブし、新たな分散型台帳基盤に過去の分散型台帳で需要のあるコントラクトを転記しブロックチェーン基盤の更新を行うことが求められるかもれない。
The inventor is concerned about Markle Patricia on the blockchain platform when blockchains (or systems that can execute smart contracts while being tamper-resistant using directional non-circular graphs, etc.) have been in operation for over 100 years. There is a data structure represented by a tree, and the key / value pair is searched for and deleted by the calculation amount O (log (n)), but the amount of data in the blockchain increases with the passage of time, and the terminal 3A And 3B may consume the storage area of the node. There is a risk that the data search time and data search time for the Merkle Patricia tree database will take longer. Older contracts deployed with smaller block numbers (and the OTP generation and OTP authentication functions included in them) are harder to read from the blockchain, or take longer than expected to read and execute the function. I'm afraid it might be.
It may be possible to solve the problem when there are high-speed electronic computer terminals and computer terminals for data search based on quantum mechanics, and there are storage devices such as high-speed and large-capacity RAM and ROM, but that is not the case. When the blockchain platform is updated, the distributed ledger of the past distributed ledger system is archived, and the contracts in demand in the past distributed ledger are posted to the new distributed ledger platform to update the blockchain platform. May be required.

トランザクションが蓄積したコントラクトを含むブロックチェーンにおいてステートツリーが5年ではなく100年あるいはそれ以上になるときの計算量O(log(n))がどのようになるか不明である。(イーサリアムはマークルパトリシア木型のステートツリー(状態木)をもちいる。)
ブロックチェーンを構成するデータベースに含まれるトランザクションが増大することで、ステートツリーもしくはブロックチェーンのブロックの長さが大きくなることで、OTP生成関数やOTP認証関数を検索するにの必要な計算量が増え、データ探索時間に必要な計算量が増える恐れがある。そして本発明においてはOTPを生成するコントラクトのOTP生成関数やOTP認証関数の実行に必要な時間が増大する恐れがある。
It is unclear what the complexity O (log (n)) will be when the state tree is 100 years or more instead of 5 years in the blockchain containing the contracts in which transactions are accumulated. (Ethereum uses a state tree of the Markle Patricia tree pattern.)
As the number of transactions contained in the database that composes the blockchain increases, the length of the block in the state tree or blockchain increases, and the amount of calculation required to search for the OTP generation function or OTP authentication function increases. , There is a risk that the amount of calculation required for the data search time will increase. In the present invention, the time required to execute the OTP generation function and the OTP authentication function of the contract that generates the OTP may increase.

そこで、利用者の多いコントラクトをブロックチェーン部が検知し、サーバ3Aの記憶部の内主記憶装置のRAM等の計算機端末内で最も高速な読み取りと書き換えを行うことの出来る記憶装置に配置できればコントラクトにアクセスするユーザーはOTPの生成や認証処理の速度を向上させることができる。 Therefore, if the blockchain unit can detect a contract with many users and place it in a storage device capable of performing the fastest reading and rewriting in a computer terminal such as RAM of the main storage device in the storage unit of the server 3A, the contract can be used. Users who access the can speed up OTP generation and authentication processing.

また、本発明では仮にOTP生成関数やOTP認証関数の実行に必要な時間が意図せず増大する場合においても、コントラクトの管理者が3030AによりBnTOTPの表示時間と認証可能な時間(OTP認証可能な待ち受け時間)を増大することができ、OWPを用いるときにはコントラクト管理者がOWPのシード値KCを変更する場合には更新の時間間隔を変えることで処理の遅延などが生じてもBnTOTPやOWPをブロックチェーンより取得し認証させることができる。 Further, in the present invention, even if the time required for executing the OTP generation function or the OTP authentication function is unintentionally increased, the contract administrator can display the BnTOTP and authenticate the BnTOTP by 3030A (OTP authentication is possible). (Standby time) can be increased, and when the contract administrator changes the seed value KC of OWP when using OWP, BnTOTP and OWP are blocked even if processing delay occurs by changing the update time interval. It can be acquired from the chain and authenticated.

<ブロックチェーン基盤とOTPコントラクトの更新>
長い年月の中で技術的な課題や新たな計算機によって公開鍵暗号用の秘密鍵101Aのデータ長などの仕様を変更し、データ長を拡張する必要も生じるかもしれない。ブロックチェーン基盤に用いる公開鍵暗号など暗号化形式やハッシュ関数の安全性に問題が生じる恐れもあるかもしれない。その結果としてブロックチェーン基盤の問題もしくはデータ量の問題からブロックチェーンの基盤を数十年ごとに更新する必要があるかもしれない。
<Update of blockchain infrastructure and OTP contract>
Over the years, it may be necessary to change the specifications such as the data length of the private key 101A for public key cryptography and expand the data length due to technical issues and new computers. There may be problems with the security of encryption formats and hash functions such as public key cryptography used for blockchain infrastructure. As a result, it may be necessary to update the blockchain infrastructure every few decades due to blockchain infrastructure issues or data volume issues.

ブロックチェーン部やブロックチェーン基盤を含めたブロックチェーン部の更新時に、端末3Aが保有するブロックチェーン部のデータを保存し磁気テープ・磁気ディスクなど半導体メモリ型のRAMよりは低速な読み書き速度ではあるが安価で不揮発性の大容量な外部記憶装置に記録し保存できることも好ましい。
ノード3Aが記録する更新前のブロックチェーンのフルノードデータを記録することで、トランザクションが外部記録装置に複製されて記録できる。外部記録装置に記録された更新前のブロックチェーンデータは未来のある時点で取引に問題が生じていたことが分かったとき、個人や法人もしくは捜査機関が捜査を行うときに役立つ。
When updating the blockchain unit including the blockchain unit and blockchain board, the data of the blockchain unit held by the terminal 3A is saved, and the read / write speed is slower than that of semiconductor memory type RAM such as magnetic tape and magnetic disk. It is also preferable that the data can be recorded and stored in an inexpensive, non-volatile, large-capacity external storage device.
By recording the full node data of the blockchain before the update recorded by the node 3A, the transaction can be duplicated and recorded in the external recording device. The unupdated blockchain data recorded on the external recording device is useful when an individual, a corporation, or an investigative agency conducts an investigation when it is found that there is a problem with the transaction at some point in the future.

100年を超えて運用されるサービスであっても、分散型台帳技術における課題や、想定できない課題により、ブロックチェーンのブロック番号の大きさ、ブロックチェーンのブロックの長さが100年ではなく25年といった期間に区切りながら保存することが必要になることも想定される。その事態を想定し、端末3Aから端末3Eや端末3FがOTPトークンのコントラクトに関する情報を各コントラクト識別子やユーザー識別子ごとにとりまとめ、新たなブロックチェーンにコントラクト識別子やユーザー識別子に対応した最新の情報を移植もしくは更新できるようにすることも必要になるかもしれない。 Even if the service is operated for more than 100 years, the size of the block number of the blockchain and the length of the block of the blockchain are 25 years instead of 100 years due to the problems in the distributed ledger technology and the unpredictable problems. It is also expected that it will be necessary to save while dividing into such periods. Assuming that situation, the terminal 3A, terminal 3E, and terminal 3F collect information on OTP token contracts for each contract identifier and user identifier, and port the latest information corresponding to the contract identifier and user identifier to a new blockchain. Or it may be necessary to be able to update.

ブロックチェーンの更新、ブロックチェーンのコントラクトの更新に関連し、3Aに3Cや3Eや3Fや5Aや5BがアクセスしユーザーUAらのOTPトークンの資産残高やOTPトークンのURIなどOTPトークン情報を各々の端末の顧客データベースに記録し3Aに3Cや3Eや3Fや5Aや5Bがデータべース情報よりユーザーUAらの資産残高情報を収集し電子署名やHMACを行った残高通帳もしくは残高明細書あるいは残高データをユーザUAらの端末に発行できることが好ましい。 In connection with the update of the blockchain and the update of the blockchain contract, 3C, 3E, 3F, 5A and 5B access 3A, and each OTP token information such as the asset balance of OTP token of user UA and URI of OTP token is obtained. Recorded in the customer database of the terminal, 3C, 3E, 3F, 5A, and 5B collect asset balance information of user UAs from database information and digitally sign or HMAC the balance passbook, balance statement, or balance. It is preferable that the data can be issued to the terminals of users UA and others.

ブロックチェーンの更新が無くとも、サービス提供者やOTPトークンのユーザーの要望によっては3Aに3Cや3Eや3Fや5Aや5BがアクセスしユーザーUAらのOTPトークンの資産残高やOTPトークンのURIなどOTPトークン情報をデータベースに記録し、ユーザーUAらに電子署名やHMACを行った残高通帳もしくは残高明細書あるいはOTPトークンの残高・残数データをユーザUAらの端末に発行できることが好ましい。 Even if there is no blockchain update, 3C, 3E, 3F, 5A, or 5B can access 3A depending on the request of the service provider or OTP token user, and OTP such as the asset balance of OTP tokens of users UA and URI of OTP tokens. It is preferable that the token information can be recorded in a database and the balance passbook or balance statement or OTP token balance / remaining number data that has been digitally signed or HMACed to the user UA can be issued to the terminal of the user UA or the like.

サービス提供者の意志に応じてOTPトークンのコントラクトを作り直す場合には顧客のユーザー識別子とトークン番号とトークンに含まれるデータを用いて元のOTPトークンとは異なるコントラクト識別子にOTPトークンのコントラクトを新規にデプロイし、元のOTPトークンのコントラクトに含まれる顧客のユーザー識別子とトークン番号とトークンに含まれるデータに従ってOTPトークンを再発行することでコントラクトの更新を行う。 When recreating the OTP token contract according to the service provider's will, a new OTP token contract is created with a contract identifier different from the original OTP token using the customer's user identifier, token number, and data contained in the token. Deploy and update the contract by reissuing the OTP token according to the customer's user identifier and token number included in the original OTP token contract and the data contained in the token.

<本発明のOTP認証システムを実施する形態>
本発明ではネットワーク20に接続されたブロックチェーンなど分散型台帳システムDLSのノードとなるサーバ端末3AにOTPトークンとOTPを生成するコントラクトを管理者端末1Cの秘密鍵101Cを用いたトランザクションによってデプロイさせて備えさせ、前記OTPトークンを生成するコントラクトを備えるサーバ端末3Aにユーザー端末1Aおよび4Aが秘密鍵101Aまたは401Aを用いてOTPトークンのOTPを生成する関数3009Aを呼び出し、OTPを生成させ、生成されたOTPを3Cや3D、もしくはソフトウェア403Aのプログラムに従って入力し、認証先が3Cや403Aの場合はサーバ端末3AのOTP認証関数3018Aを用いてOTPを認証し、認証先が3Dの場合は3Dに内蔵された認証関数3018DAを用いてOTPを認証し、認証結果の戻り値3021Aが認証結果の正しい時の値であるとき、OTP認証が行えたと判断しサービスの提供を行うシステムを実現する。
ブロックチェーンなど分散型台帳システムDLS上で動作するスマートコントラクトという改ざん困難なプログラムを用いることでOTPトークンの生成関数3009Aや認証関数3018A、3018DAの実行時にその実行結果を改ざん困難な状態で保存でき、またOTP認証関数やOTP生成関数およびOTPトークンの所有者情報やOTPを計算するシード値となるKC値3011A等といったコントラクトの内部変数も改ざん困難な分散型台帳として記録されるため改ざん困難かつ分散して記録できるブロックチェーンべ―スのOTPトークンとそれを用いた認証システムと前記システムに用いる装置や端末を実現した。そしてOTPを計算する際に用いるキー値KやKCをコントラクト管理者の管理者端末の秘密鍵101Cを用いたトランザクションによって変更しコントラクトに属するすべてのユーザーのOTPトークンのキー値を変え更新できる認証システムと認証システムに用いる装置や端末を実現した。
キー値KやKCの更新の他にOTP認証に用いるOTPの桁数やOTP認証を行える時間間隔をコントラクト管理者の管理者端末の秘密鍵101Cを用いたトランザクションによって変更可能とした。
秘密鍵の不正利用を検出するためにユーザー端末の環境値や環境値を匿名化した情報をユーザー識別子もしくはトークン番号の値もしくは匿名化した値と対応させ、漏洩した秘密鍵や使い回された秘密鍵による同一時刻へのアクセスを検知できる手段も備えることができる。
<Embodiment of Implementing the OTP Authentication System of the Present Invention>
In the present invention, a contract for generating an OTP token and an OTP is deployed on a server terminal 3A which is a node of a distributed ledger system DLS such as a blockchain connected to the network 20 by a transaction using the private key 101C of the administrator terminal 1C. The user terminals 1A and 4A call the function 3009A to generate the OTP of the OTP token by using the private key 101A or 401A to the server terminal 3A having the contract to generate the OTP token, and generate the OTP. Enter the OTP according to the program of 3C or 3D or software 403A, and if the authentication destination is 3C or 403A, authenticate the OTP using the OTP authentication function 3018A of the server terminal 3A. If the authentication destination is 3D, it is built in 3D. The OTP is authenticated using the authenticated authentication function 3018DA, and when the return value 3021A of the authentication result is the value at the time when the authentication result is correct, it is determined that the OTP authentication has been performed and the service is provided.
By using a difficult-to-tamper program called a smart contract that operates on the distributed ledger system DLS such as a blockchain, the execution results can be saved in a difficult-to-tamper state when the OTP token generation function 3009A, authentication functions 3018A, and 3018DA are executed. In addition, internal variables of contracts such as OTP authentication function, OTP generation function, owner information of OTP token, KC value 3011A which is a seed value for calculating OTP, etc. are recorded as a distributed ledger that is difficult to tamper with, so they are difficult to tamper with and distributed. We have realized a blockchain-based OTP token that can be recorded, an authentication system using it, and devices and terminals used in the system. An authentication system that can change the key values K and KC used when calculating OTP by a transaction using the secret key 101C of the administrator terminal of the contract administrator, and change and update the key values of the OTP tokens of all users belonging to the contract. And realized the equipment and terminals used for the authentication system.
In addition to updating the key values K and KC, the number of OTP digits used for OTP authentication and the time interval during which OTP authentication can be performed can be changed by a transaction using the secret key 101C of the administrator terminal of the contract administrator.
In order to detect unauthorized use of the private key, the environment value of the user terminal and the information that anonymized the environment value are associated with the value of the user identifier or token number or the anonymized value, and the leaked private key or the reused secret is used. It is also possible to provide a means for detecting access to the same time by a key.

図8Aは本発明のワンタイムパスワード認証システム(OTP認証システム)においてウェブサイトにログインする際の基本的な認証システム図である。
図8Aにおいてユーザ端末1A(図2Aの1A)とサーバ端末3A(図3Aの3A)とコントラクト管理者端末1C(図2Cの1C)とログイン先となるウェブサイトを管理するサーバ端末3C(図3C)がネットワーク20を通じて(介して)接続されている。図8Aから省略しているが図1Aに示したサーバ端末3Aと同様のブロックチェーン部を持つサーバ端末3Bや端末1Aとは異なるユーザー端末3Bが存在できる。
図7DはOTP認証システムを用いてウェブサイトへログインする際のシーケンスの説明図である。図7Dは図7Aと類似する。
図6Aと図6Bと図6Cと図6Dと図6Eと図6Fは図8Aのサーバ端末3Aの記憶部30Aに記録された分散型台帳記録部300Aとしてブロックチェーン型のデータ構造を用いたブロックチェーン部300Aのブロックチェーン全体部3006Aに記録され展開された(デプロイされた)本発明で用いるワンタイムパスワード生成および認証スマートコントラクト(コントラクト)3008Aと3008AGと3008AAにおけるOTP生成処理やOTP認証処理を説明するフローチャートの説明図である。
参考として図9Aは分散型台帳システムDLSにブロックチェーン型のデータ構造を用いた分散型台帳記録部300Aを用いるときのOTPトークンによる認証システムの概要を説明しており、図9Bは分散型台帳システムDLSに有向非巡回グラフ型(DAG型)のデータ構造を用いた分散型台帳記録部300Aを用いるときのOTPトークンによる認証システムの概要を説明する図である。
図7Aでは端末1CはS110からS113にかけて端末3AのDLSにコントラクトをデプロイしサービスにコントラクトを設定する。S114とS115ではサービス(主に常時ネットワーク接続される前提である端末3Cやソフトウェア403Aによる暗号データの復号の用途等で、ネットワーク20と切断される恐れがある端末3Dもネットワーク20に接続できるときは図7Aの形で認証するようプログラムされうる。)から指示を受けた端末1CがOTPトークンをユーザー識別子Aにトークン番号TIDAとしてトークンを発行し、また1Cまたはサービスはユーザー端末1Aにトークン番号やトークン発行結果を知らせることができる。
S116ではユーザー端末1Aがサービスにアクセスし、図6Xに示すようにアクセス情報をサービス側が記録することもできるし記録しないこともできる。次にサービスは1AにOTP認証を求め端末1Aは端末3AにアクセスしS117からS119のシークエンスでOTP生成関数3009AからOTPを取得する。OTPはハッシュ関数にSHA256を用いたときは32バイト(符号なし整数にして2の256乗−1)のデータとして計算され出力される。
(3009Aと3018AにSHA256を用いたデータを符号なし整数値に型変換し、ある整数nで割ったときの剰余をある桁数の整数値のOTPとしてもよい。例として32バイトのデータを符号なし整数に型変換しその10のN乗の剰余OTPrをN桁の符号なし整数のOTPとして用いてもよい。前記の様に実施例1のみならず実施例1や実施例3でもハッシュ関数から出力されたデータを符号なし整数等に型変換してある桁数や文字数にして本発明の認証システムを構築する際はOTP生成関数3009AとOTP認証関数3018Aや端末3Dに搭載する3018DAも対となるOTP生成関数と同じようにOTPの計算を行い剰余によるパスワードOTPrを計算できなければ認証できない。)
そしてS120ではサービスが接続中の1Aのアクセス状況や挙動を収集し記録することもできるし収集や記録をしないこともできる。S120ではOTP認証を端末1Aに要求しする。端末1AはS121からS123にかけてS117からS119で取得した値とユーザー識別子とOTPトークンのトークン番号をOTP認証関数3018Aに入力し認証関数3018Aを実行させS123にて認証結果3018A等の戻り値CTAUを端末3Aから得てサービスに認証関数の戻り値CTAUを入力・出力する。端末1Aの出力した認証関数の戻り値CTAUがOTP認証結果が正しい時の値であればウェブサイトへのログインやウェブサイトの操作・ウェブサービスの操作を行わせる。
S125ではログイン後も端末1Aのアクセス情報をサービス側は収集し不正アクセスがないかどうか、秘密鍵の多重利用による同一のOTPトークン番号TIDAとユーザー識別子Aに対し異なるIPアドレスや位置情報や端末のID値そして端末のセンサ値が図6Xに示すように記録されないかどうか監視し記録された時は不正アクセスをユーザーに通知できる。しかし実施時には図6Xのように記録することがプライバシー侵害や端末の計算資源を不要に利用してしまい経済の費用対応化に見合わない恐れもあるので必ず行わなくともよい。
本発明においては、例として暗号化データの復号によるコンテンツ閲覧利用やインターネットバンキング用のログインや銀行口座残高の操作といった金銭的価値・重要なものを扱うOTPトークンが割り当てられた分散型台帳システムへのアクセス用秘密鍵の漏洩や使い回しを検知する手段として図6Xのデータ収集と監視を行いたいのであり、本発明を用いて例えば簡易に世界規模で匿名性を生かした会員サイトや投票サイトなどを計算力の低い端末をサーバとして作りたいといった用途に用いる場合には図6Xのデータ収集と監視を行わない。図6Xによるサービスへの不正アクセスの監視は本発明の利用形態に応じて用いる。
FIG. 8A is a basic authentication system diagram for logging in to a website in the one-time password authentication system (OTP authentication system) of the present invention.
In FIG. 8A, a user terminal 1A (1A in FIG. 2A), a server terminal 3A (3A in FIG. 3A), a contract administrator terminal 1C (1C in FIG. 2C), and a server terminal 3C (FIG. 3C) that manages a website to be logged in. ) Is connected (via) through the network 20. Although omitted from FIG. 8A, there can be a server terminal 3B having the same blockchain unit as the server terminal 3A shown in FIG. 1A and a user terminal 3B different from the terminal 1A.
FIG. 7D is an explanatory diagram of a sequence when logging in to a website using an OTP authentication system. FIG. 7D is similar to FIG. 7A.
6A, 6B, 6C, 6D, 6E, and 6F are block chains using a blockchain type data structure as the distributed ledger recording unit 300A recorded in the storage unit 30A of the server terminal 3A of FIG. 8A. The one-time password generation and authentication smart contracts (contracts) 3008A, 3008AG, and 3008AA used in the present invention recorded and expanded (deployed) in the entire blockchain part 3006A of the unit 300A will be described with respect to the OTP generation process and the OTP authentication process. It is explanatory drawing of the flowchart.
For reference, FIG. 9A illustrates an outline of the OTP token authentication system when the distributed ledger recording unit 300A using the blockchain type data structure is used for the distributed ledger system DLS, and FIG. 9B shows the distributed ledger system. It is a figure explaining the outline of the authentication system by OTP token when the distributed ledger recording unit 300A using the directed non-circular graph type (DAG type) data structure is used for DLS.
In FIG. 7A, the terminal 1C deploys a contract to the DLS of the terminal 3A from S110 to S113 and sets the contract in the service. In S114 and S115, when the service (mainly for the purpose of decrypting encrypted data by the terminal 3C or software 403A which is supposed to be always connected to the network, and the terminal 3D which may be disconnected from the network 20 can also be connected to the network 20). (Can be programmed to authenticate in the form of FIG. 7A)) the terminal 1C issues an OTP token to the user identifier A as the token number TRIDA, and the 1C or service issues the token number or token to the user terminal 1A. You can inform the issue result.
In S116, the user terminal 1A accesses the service, and as shown in FIG. 6X, the service side may or may not record the access information. Next, the service asks 1A for OTP authentication, and the terminal 1A accesses the terminal 3A and acquires the OTP from the OTP generation function 3009A by the sequence from S117 to S119. When SHA256 is used as the hash function, OTP is calculated and output as 32 bytes (unsigned integer of 2 to the 256th power-1) data.
(Data using SHA256 for 3009A and 3018A may be type-converted to an unsigned integer value, and the remainder when divided by a certain integer n may be used as an OTP of an integer value having a certain number of digits. As an example, 32-byte data may be coded. The type may be converted to a none integer and the remainder OTPr of the Nth power of 10 may be used as the OTP of an N-digit unsigned integer. As described above, not only in Example 1 but also in Example 1 and Example 3 from the hash function. When constructing the authentication system of the present invention by converting the output data into an unsigned integer or the like with the number of digits or characters, the OTP generation function 3009A and the OTP authentication function 3018A and the 3018DA mounted on the terminal 3D are also paired. If the OTP can be calculated in the same way as the OTP generation function and the password OTPr due to the remainder cannot be calculated, authentication cannot be performed.)
Then, in S120, it is possible to collect and record the access status and behavior of 1A while the service is connected, or it is possible not to collect or record. In S120, OTP authentication is requested from the terminal 1A. The terminal 1A inputs the value acquired in S117 to S119, the user identifier and the token number of the OTP token into the OTP authentication function 3018A from S121 to S123, executes the authentication function 3018A, and causes the S123 to execute the return value CTAU such as the authentication result 3018A. Obtained from 3A and input / output the return value CTAU of the authentication function to the service. If the return value CTAU of the authentication function output by the terminal 1A is the value when the OTP authentication result is correct, the user is made to log in to the website, operate the website, and operate the web service.
In S125, the service side collects the access information of the terminal 1A even after login to check whether there is any unauthorized access, and the same OTP token number TIDA and the user identifier A due to the multiple use of the private key have different IP addresses, location information, and terminals. As shown in FIG. 6X, it is possible to monitor whether the ID value and the sensor value of the terminal are recorded, and notify the user of unauthorized access when the ID value and the sensor value of the terminal are recorded. However, at the time of implementation, recording as shown in Fig. 6X may not be necessary because it may invade privacy and use the computational resources of the terminal unnecessarily, which may not be worth the cost of the economy.
In the present invention, for example, to a distributed ledger system to which OTP tokens dealing with monetary value and important things such as content browsing and use by decrypting encrypted data, login for Internet banking, and operation of bank account balance are assigned. We would like to collect and monitor the data shown in Fig. 6X as a means to detect the leakage and reuse of the private key for access. When a terminal with low computing power is used as a server, the data collection and monitoring shown in FIG. 6X are not performed. Monitoring of unauthorized access to the service according to FIG. 6X is used according to the usage pattern of the present invention.

実施例1(実施形態1)では、図6Aと図6Bと図6Cと図6Dと図6Eと図6Fに記載のOTP生成およびOTP認証を行うOTPの計算はハッシュ関数fhと、そのfhの引数に、
ブロックチェーン部へのユーザー識別子Aと、
Aに対応図けられたトークン番号TIDA、
コントラクト内部のシークレット変数KC、ブロック番号Bnの4つを用い、
さらにコントラクト管理者が変更可能なシークレット変数BCと、
ブロックチェーンのシステムを構成するノードの投票値で決まる値GasLimit値をVとして、
fh(A,TIDA,KC,Bn,BC,V)を計算させOTPを算出させることで、
ユーザー識別子およびトークン番号によって異なる専用のOTPを生成させ、
V値によって疑似的なランダム性を備えさせ、シークレット変数KCとBCのうちBC値を更新できるOTP認証システムを構築した。
In the first embodiment (Embodiment 1), the hash function fh and the argument of the hash function fh are used to calculate the OTP for performing the OTP generation and the OTP authentication described in FIGS. 6A, 6B, 6C, 6D, 6E, and 6F. To,
User identifier A to the blockchain part and
Token number TIDA corresponding to A,
Using the secret variable KC inside the contract and the block number Bn,
In addition, a secret variable BC that can be changed by the contract administrator,
Let V be the value GasLimit value determined by the voting value of the nodes that make up the blockchain system.
By calculating fh (A, TIDA, KC, Bn, BC, V) and calculating OTP,
Generate a dedicated OTP that differs depending on the user identifier and token number,
We constructed an OTP authentication system that can update the BC value of the secret variables KC and BC by providing pseudo randomness with the V value.

実施例1では図8Aのサーバ端末3Aのブロックチェーン上のコントラクト3008Aと3008AGと3008AAは、コントラクト内部の変数KC(図3ACの3011A)またはBC(図3ACの3013A)と内部変数KCまたはBCまたはその両方を書き換えて更新できるセッター関数fscb(図3ACの3012A)を備えている。
前記セッター関数fscb(図3ACの3012A)はコントラクト管理者の端末1Cが備える秘密鍵PRVC(図2Cの101C)によってブロックチェーンにアクセスされるときに限り変数KC(図3ACの3011A)またはBC(図3ACの3013A)と内部変数KCまたはBCまたはその両方を書き換えて更新できるよう関数fscb(3012A)はプログラムされる。
コントラクト内部変数値は秘匿化されていることが好ましい。
3008Aは同一のコントラクトに内部変数KC値やBC値が記録されているが、3008AGと3008AAの二つのコントラクトを用いる場合にはOTPの計算に用いる変数KC(3011A)、変数BC(3013A)を関数fscb(3012A)で書換更新し3008AGと3008AAのKC値及びBC値を一致させ同期させ、同期した状態を保つ必要がある。KCやBCの変数の個数やデータ型等は限定しないが、設定したKCやBCに該当するデータの個数や量に応じて一致させるべき数値も増える。前記のKCやBCのほかにOTP認証の待受け時間を変える関数及び変数3030AやOTPrを求めるためのOTPr桁数変更用関数及び変数3031Aも3008AGと3008AAの間で同期させて一致させなければいけない。また変数の他OTPを計算するために必要なハッシュ関数fhの関数の種類を一致させなければならない。
ここで端末3Cでは3008AGと3008AAを用いるが、端末3Dでは3008Aまたは3008AGと端末3Dの認証関数3018DAを用いるので端末3DにKC値やBC値や3030Aや3031Aを設定する場合には3008Aまたは3008AGの変数・関数の記憶部と端末3Dの変数・関数の記憶部を一致させ同期しなければいけない。
In the first embodiment, the contracts 3008A, 3008AG and 3008AA on the blockchain of the server terminal 3A of FIG. 8A are the variables KC (3011A in FIG. 3AC) or BC (3013A in FIG. 3AC) and the internal variables KC or BC or the same thereof. It is equipped with a setter function fscb (3012A in FIG. 3AC) that can rewrite and update both.
The setter function fscb (3012A in FIG. 3AC) is a variable KC (3011A in FIG. 3AC) or BC (FIG. 3AC 3011A) only when the blockchain is accessed by the secret key PRVC (101C in FIG. 2C) included in the contract administrator terminal 1C. The function fscb (3012A) is programmed so that the 3AC 3013A) and the internal variables KC and / or both can be rewritten and updated.
It is preferable that the value of the internal variable of the contract is concealed.
In 3008A, the internal variable KC value and BC value are recorded in the same contract, but when two contracts of 3008AG and 30008AA are used, the variables KC (3011A) and BC (3013A) used for OTP calculation are used as functions. It is necessary to rewrite and update with fscb (3012A) to match and synchronize the KC and BC values of 3008AG and 3008AA, and maintain the synchronized state. The number and data types of KC and BC variables are not limited, but the numerical values to be matched increase according to the number and amount of data corresponding to the set KC and BC. In addition to the above KC and BC, the function for changing the standby time for OTP authentication and the function for changing the number of OTPr digits and the variable 3031A for obtaining the variable 3030A and OTPr must also be synchronized and matched between 3008AG and 3008AA. In addition, the types of functions of the hash function fh required to calculate OTP in addition to variables must be matched.
Here, the terminal 3C uses 3008AG and 3008AA, but the terminal 3D uses the authentication function 3018DA of 3008A or 3008AG and the terminal 3D. The storage part of the variable / function and the storage part of the variable / function of the terminal 3D must be matched and synchronized.

またコントラクトの管理者はその端末1CからコントラクトにOTPトークンの名前やサービスの名称、サービス提供者の住所連絡先、レイティング情報などサービスを提供するうえで必要な情報を示した看板変数とその変数を変更書換できる関数KNBN(3024A)をコントラクトに記録させ設定できる。ここで看板として記録する変数の数や配列、構造体、マッピング型など型を問わない。変数3024Aはブロックチェーンにアクセスするすべてのユーザーが読み取る事のみできる(KNBNの書換は端末1Cの秘密鍵PRVC(101C)を用いて行われる)。 In addition, the administrator of the contract gives the contract a sign variable and its variables that show information necessary for providing the service such as the name of the OTP token, the name of the service, the address and contact information of the service provider, and the rating information from the terminal 1C. The function KNBN (3024A) that can be rewritten can be recorded in the contract and set. Here, the number of variables recorded as a signboard, an array, a structure, a mapping type, and other types do not matter. The variable 3024A can only be read by all users accessing the blockchain (KNBN rewriting is performed using the private key PRVC (101C) of the terminal 1C).

実施例1に限らず実施例2や3にも起きうる問題として管理者端末1Cの秘密鍵PRVC(秘密鍵101C)が管理すべきユーザーの手から漏洩し、別のユーザーが秘密鍵101C情報を入手し、その情報を複製し、端末からコントラクト3008Aなどに不正アクセスし、サービスを受けさせる権限である本発明のOTPトークンを不正アクセス者が望むユーザー識別子に無制限に発行することが可能になりうる。そして看板情報3024Aや内部変数3011Aおよび3013Aにアクセスする可能性が考えられる。
このような事態が起きないよう、コントラクト内部にあるトークン発行関数(図3043A)や関数fscb(3012A)や3024A等に含まれるセッター関数を実行する際に秘密鍵101Cとは異なる秘密鍵に由来するユーザー識別子の同意がなければ関数関数を実行させないようにするコントラクト管理者秘密鍵漏洩対策部分3042Aを備えることができる。
As a problem that may occur not only in Example 1 but also in Examples 2 and 3, the private key PRVC (private key 101C) of the administrator terminal 1C leaks from the user's hand to be managed, and another user leaks the secret key 101C information. It may be possible to obtain, duplicate the information, illegally access the contract 3008A or the like from the terminal, and issue the OTP token of the present invention, which is the authority to receive the service, to the user identifier desired by the unauthorized accessor without limitation. .. Then, there is a possibility of accessing the signboard information 3024A and the internal variables 3011A and 3013A.
To prevent such a situation from occurring, it is derived from a secret key different from the secret key 101C when executing the setter function included in the token issuing function (FIG. 3043A), the function fscb (3012A), 3024A, etc. inside the contract. A contract administrator secret key leakage countermeasure portion 3042A that prevents the function from being executed without the consent of the user identifier can be provided.

<コントラクト管理者の秘密鍵が漏洩することに備えた対策例>
コントラクト管理者秘密鍵漏洩対策部分3042Aについて説明する。
OTPを管理するコントラクトの内部変数やトークン発行を関数として実行する際に、関数の実行を行うには秘密鍵PRVCのユーザー識別子Cのコントラクト管理者以外の1つまたは複数のユーザ識別子が個別に設定できるマッピング変数または配列、構造体、それらと同等の複数変数があり、ユーザー識別子と対応したブーリアン型(真偽型)の変数値において真か偽かを記録させる。
そしてユーザー識別子に対応した真偽値が真であるとき実行でき、偽であるとき実行しないとする。ここで全てのユーザー識別子に対しユーザー識別子に対応した真偽値が真であるときOTPトークンの発行やコントラクト内部変数の操作を行い、全てのユーザー識別子のうち1つでも真偽値が偽になっている場合関数の実行を停止する場合が考えられる。この応用として全てのユーザー識別子に対しユーザー識別子に対応した真偽値の真もしくは偽の数を数え、全ユーザー識別子数の過半数(あるいは設定した割合)を超えたときに関数の実行を行うこともできる。
3042Aにはユーザー識別子に対応した真偽値をもつマッピング変数とその変数の真偽値から処理を実行させるか停止させるか判断する処理部を持ち3042Aはトークン発行関数3043Aや関数3012A等のコントラクトの状態を限定したアクセス者に対して読取または書き換えを行う関数の処理部に記述(設定)することができる。
<Example of measures to prepare for leakage of the contract administrator's private key>
The contract administrator secret key leakage countermeasure portion 3042A will be described.
When executing the internal variables and token issuance of the contract that manages OTP as a function, one or more user identifiers other than the contract administrator of the user identifier C of the private key PRVC are individually set to execute the function. There are mapping variables or arrays, structures, and multiple variables equivalent to them that can be used to record whether the variable value of the Bourian type (true / false type) corresponding to the user identifier is true or false.
Then, it can be executed when the truth value corresponding to the user identifier is true, and it is not executed when it is false. Here, when the truth value corresponding to the user identifier is true for all user identifiers, the OTP token is issued or the contract internal variable is operated, and the truth value is false even for one of all user identifiers. If so, the execution of the function may be stopped. As an application of this, the number of true or false values corresponding to the user identifiers is counted for all user identifiers, and the function is executed when the majority (or set ratio) of the total number of user identifiers is exceeded. can.
The 3042A has a mapping variable having a truth value corresponding to the user identifier and a processing unit for determining whether to execute or stop the processing from the truth value of the variable. The 3042A is a contract such as a token issuing function 3043A or a function 3012A. It can be described (set) in the processing unit of a function that reads or rewrites to an accessor whose state is limited.

<コントラクト管理者の秘密鍵が漏洩することに備えた簡易の対策>
例えば二つの異なる秘密鍵を用いてコントラクト管理者としてアクセスしてもよい。コントラクト管理者の秘密鍵の鍵PRVCとPRVCが漏洩した際にOTPトークンの発行等を停止するための秘密鍵PRVBを用意し、PRVC2のみアクセスできる関数実行停止変数とそのセッター変数を備え、関数実行停止変数が真であるときに関数を実行し、偽であるときに関数を実行しないようにする処理をOTPトークンの発行関数やコントラクト内部変数(図3ACにおける3043Aや3024A、3030A、3031A、3011A、3013A)について設定できる。
本発明に記載の方法以外にも一般にマルチシグ技術と呼ばれるものを用いて複数の秘密鍵を設定し、秘密鍵の流出に対応してもよい。
<Simple measures to prepare for the leakage of the contract administrator's private key>
For example, you may access as a contract administrator using two different private keys. A secret key PRVB for stopping the issuance of OTP tokens when the contract administrator's private key PRVC and PRVC are leaked is prepared, and a function execution stop variable and its setter variable that can be accessed only by PRVC2 are provided, and the function is executed. OTP token issuance functions and contract internal variables (3043A, 3024A, 3030A, 3031A, 3011A, 3031A, 3011A in FIG. 3AC, which execute the function when the stop variable is true and do not execute the function when it is false. 3013A) can be set.
In addition to the method described in the present invention, a plurality of private keys may be set by using what is generally called a multisig technique to cope with the leakage of the secret keys.

サービス提供者が秘密鍵を漏洩したこと、攻撃を受けている事、攻撃を受けた時刻をコントラクト識別子3019Aとともに自社のウェブページ等に掲載し、ユーザーに周知し、漏洩した秘密鍵とは異なる新たな秘密鍵でコントラクトをデプロイしOTPトークンの再発行をすることもできる。ブロックチェーンを含む分散型台帳システムにおいて技術的に問題が生じ、新たなブロックチェーン等へトークンを移転させるるために再発行を行うことも考えられる。
本発明は改ざん困難なブロックチェーン上でOTPを流通させOTPトークンをもちいてサービスの提供を自動化したり記録するものであって、サービスを提供するかどうかは最終的にはサービスを購入した時の契約内容や、法による制限、そしてサービス提供者とユーザーとの合意により決まる。
サービスの提供が困難な場合にユーザーに連絡先を伝えたいとき、あるいはサービスの提供者に連絡を取りたい場合には看板情報KNBN(3024A)にて連絡先を掲示することが必要である。サービスのレイティング(サービスに年齢制限があるか、サービスが自動車の鍵である場合は運転免許証が必要か等の制限情報)も3024に記入される。
本発明ではトークンは電子商取引を用いて購入する形で発行することを意図している。電子商取引ではクレジットカードなどの情報を用いるがその場合は成人が対象となる。本サービスを未成年のコンピュータゲームサイトやウェブアプリへのログインそして暗号化された書籍データの復号用とする場合は秘密鍵を記録した端末を家族用として購入し、その端末を未成年に買い与えるといった考え方が必要かもしれない。
端末1Aを持たないユーザーUAがOWP型の18Aや19Aを入手したい場合は電話などでサービス提供者やチケット等発券者、コンビニエンスストア店舗などで代理でOTPトークンとサービス用のOWPつき18Aや19Aを発行させることもできる。
秘密鍵101Aを記録させたNFCタグ19Aや16AをUAが所持し、コンビニエンスストアなど店舗に備え付けられた秘密鍵の無い端末1Aに19Aや16Aの秘密鍵情報を読み取らせることでログインできるかもしれない。端末1Aやインターネット回線を提供するインターネットカフェやホテル、民宿などの店舗でも利用出来うる。
The service provider has leaked the private key, has been attacked, and posted the time of the attack on the company's web page together with the contract identifier 3019A, and made it known to the user, which is different from the leaked private key. It is also possible to deploy the contract with a private key and reissue the OTP token. A technical problem arises in the distributed ledger system including the blockchain, and it is conceivable to reissue the token in order to transfer it to a new blockchain or the like.
The present invention distributes OTP on a blockchain that is difficult to tamper with, and uses OTP tokens to automate and record the provision of services. Whether or not to provide services is ultimately determined when the service is purchased. It depends on the contract details, legal restrictions, and the agreement between the service provider and the user.
When it is difficult to provide the service and you want to give the contact information to the user, or when you want to contact the service provider, it is necessary to post the contact information on the signboard information KNBN (3024A). The rating of the service (restricted information such as whether the service has an age limit or whether a driver's license is required if the service is the key to the car) is also entered in 3024.
In the present invention, the token is intended to be issued in the form of purchase using electronic commerce. Information such as credit cards is used in e-commerce, but in that case, adults are the target. When this service is used for logging in to a computer game site or web application for a minor and decrypting encrypted book data, a terminal with a private key recorded is purchased for the family, and the terminal is bought for the minor. Thinking may be necessary.
If a user UA who does not have a terminal 1A wants to obtain an OWP type 18A or 19A, he / she can use an OTP token and an OWP-equipped 18A or 19A for the service on behalf of a service provider, ticket issuer, convenience store, etc. It can also be issued.
The UA possesses the NFC tags 19A and 16A that record the private key 101A, and it may be possible to log in by having the terminal 1A without a private key installed in a store such as a convenience store read the private key information of 19A or 16A. .. It can also be used at terminals 1A and stores such as Internet cafes, hotels, and guest houses that provide internet access.

<トークンの発行>
図8Aにおいて図7Dに記載のシーケンス図に従い、秘密鍵PRVA(図2AAの101A)と秘密鍵101Aから計算されるユーザ識別子Aに対しコントラクト3008Aまたは3008AGがトークン番号TIDAのOTPトークンを発行する。
本発明のすべての実施例ではブロックチェーン部にイーサリアム(Ethereum)のERC721規格のトークンにOTPを計算するシークレット変数(シード値)KC、BCとOTPの生成関数(図6A,図6B)及び認証関数(図6C、図6D、図6E、図6F)を追加する形で、ブロックチェーン上にてワンタイムパスワード生成及び認証を行うコントラクトを構築した。トークンの所有関係(トークン番号とユーザ識別子との対応関係)はユーザ識別子Aの秘密鍵PRVA(101A)に対してブロックチェーン上のコントラクト内部に記録される。ERC721規格ではトークンの発行、トークンの送信(譲渡)、トークンの除去などの機能があるがその説明は省略する。本発明ではERC721規格においてトークン送信を制限する譲渡制限機能を搭載することができる。
これは本発明において譲渡を許可しないチケットや会員権やオンラインゲーム及びネットバンキング用のログイン用途のOTPトークンとすることを意図しているためである。
コントラクトの管理者によってトークンの送信を制限する変数及びセッター関数3041Aを用いてトークン送信関数3040Aの実行を制御できる。3041Aの変数が真であるときはトークン送信関数3040Aの実行を続け3041Aの変数が偽であるときはトークン送信関数3040Aの実行を停止するというように3040Aをプログラムすることができる。
譲渡制限ではなく譲渡を禁止したい用途ではトークンの契約者に譲渡を禁止することを伝えた上でトークンを発行することを前提とし、3041Aの変数を偽に固定し、3041の変数を変更できるセッター関数を除いて、常にトークン送信関数3040Aを実行できない様にプログラムしたOTPトークンのコントラクト3008A及び3008AGであってもよい。またはトークン送信関数3040Aそのものを除いたOTPトークンのコントラクト3008A及び3008AGでもよい。
次に図7Dのシーケンス図を用いてコントラクトのデプロイからOTPトークンの発行とトークンを用いたサービスの提供を説明する。
<Issuance of tokens>
In FIG. 8A, according to the sequence diagram shown in FIG. 7D, the contract 3008A or 3008AG issues an OTP token having the token number TIDA to the secret key PRVA (101A in FIG. 2AA) and the user identifier A calculated from the secret key 101A.
In all the embodiments of the present invention, a secret variable (seed value) KC, BC and OTP generation function (FIGS. 6A, 6B) and an authentication function for calculating OTP on an Ethereum ERC721 standard token in the blockchain portion are used. (FIG. 6C, FIG. 6D, FIG. 6E, FIG. 6F) was added to construct a contract for one-time password generation and authentication on the blockchain. The ownership relationship of the token (correspondence relationship between the token number and the user identifier) is recorded inside the contract on the blockchain with respect to the private key PRVA (101A) of the user identifier A. The ERC721 standard has functions such as issuing tokens, transmitting (transferring) tokens, and removing tokens, but the description thereof will be omitted. In the present invention, the transfer restriction function for restricting the transmission of tokens in the ERC721 standard can be installed.
This is because the present invention is intended to be a non-transferable ticket, membership, or an OTP token for login purposes for online games and online banking.
The contract administrator can control the execution of the token transmission function 3040A using variables that restrict the transmission of tokens and the setter function 3041A. The 3040A can be programmed to continue execution of the token transmission function 3040A when the variable of 3041A is true and stop execution of the token transmission function 3040A when the variable of 3041A is false.
A setter that can fix the variable of 3041A to false and change the variable of 3041 on the premise that the token is issued after informing the contractor of the token that the transfer is prohibited for the purpose of prohibiting the transfer instead of the transfer restriction. Except for the function, the OTP token contracts 3008A and 3008AG may be programmed so that the token transmission function 3040A cannot be executed at all times. Alternatively, the OTP token contracts 3008A and 3008AG excluding the token transmission function 3040A itself may be used.
Next, the issuance of the OTP token and the provision of the service using the token will be described from the deployment of the contract using the sequence diagram of FIG. 7D.

図7Dにおいてユーザー端末1AとブロックチェーンシステムDLSをもつサーバ3A(実際はイーサリアムのテストネット)、ウェブサイトログインサービス用サーバ3C、OTPトークン及びOTP認証システムに関するコントラクトをデプロイし管理しトークンの発行をすることの出来る秘密鍵101Cを記憶装置10Cに備える管理者端末1Cがある。 In FIG. 7D, deploying and managing contracts related to user terminal 1A, server 3A with blockchain system DLS (actually Ethereum test net), website login service server 3C, OTP token, and OTP authentication system, and issuing tokens. There is an administrator terminal 1C equipped with a secret key 101C that can be used in the storage device 10C.

シークエンスS210において端末1CにてブロックチェーンにデプロイするOTPトークンのシークレット変数KC(図3ACの3011A)またはBC(図3ACの3013A)や看板情報3024A、OTPを変更する時間(ブロック数)を変更するブロック番号剰余変数3030AやOTP桁数調整部3031A等を設定する。そしてOTPを生成認証するコントラクト3008A、OTPを生成するコントラクト3008AG、OTPを認証するコントラクト3008AAを設定する。
実施例3ではOTPの生成と認証ができるコントラクト3008Aを用いる。
実施例2ではOTPの生成ができるコントラクト3008A又は3008AGとOTPの認証ができる端末3DのOTP認証関数3018DA及び前記関数の変数や関数の記録部を用いる。3Dがネットワーク20を通じてノード3Aに接続し通信できる場合は3008AAや3008Aの認証関数3018Aを利用できるようにしている。
実施例1ではOTPの生成ができるコントラクト3008A又は3008AGとOTPの認証ができるコントラクト3008AAを組み合わせて用いる。
A block that changes the time (number of blocks) to change the secret variable KC (3011A in FIG. 3AC) or BC (3013A in FIG. 3AC), the signboard information 3024A, and the OTP to be deployed in the blockchain at the terminal 1C in the sequence S210. The number remainder variable 3030A, the OTP digit number adjusting unit 3031A, and the like are set. Then, a contract 3008A that generates and authenticates the OTP, a contract 3008AG that generates the OTP, and a contract 3008AA that authenticates the OTP are set.
In Example 3, a contract 3008A capable of generating and authenticating an OTP is used.
In the second embodiment, the OTP authentication function 3018DA of the contract 3008A or 30008AG capable of generating the OTP and the terminal 3D capable of authenticating the OTP, and the variable or function recording unit of the function are used. When 3D can connect to the node 3A through the network 20 and communicate with it, the authentication function 3018A of 3008AA or 3008A can be used.
In Example 1, a contract 3008A or 3008AG capable of generating an OTP and a contract 3008AA capable of authenticating an OTP are used in combination.

シークエンスS211でブロックチェーンにコントラクトをデプロイする。コントラクトのコード(イーサリアムバーチャルマシンの実行用バイトコード、バイトコード)をブロックチェーンにトランザクションとして送信し、ブロックデータに記録させる。ログイン用途では認証を行いログイン後に認証コントラクト3008AAにユーザーがトークンに紐図けられた値(トークンとユーザー識別子に対応した銀行口座残高のマッピング変数、残高からの送金処理、会員サイトでのポイントや投票値)の操作を行いたい場合がある。
そこでここでは図3ACの3008A(図3ABの3008AGでも実施可能)をOTP生成トークンを記録したOTP生成コントラクトとし図3ABの3008AAをOTP認証コントラクトとして、ブロックチェーン上に別々にデプロイする。(図9AのようにブロックチェーンのブロックデータBd0からBd7のうち、Bd1、Bd3、Bd4へデプロイされる。デプロイされたデータに端末1AがアクセスしOTPの生成と認証を行う。)
Deploy the contract to the blockchain with sequence S211. The contract code (byte code for executing the Ethereum virtual machine, byte code) is sent to the blockchain as a transaction and recorded in the block data. For login use, authentication is performed, and after login, the value associated with the token by the user in the authentication contract 3008AA (mapping variable of the bank account balance corresponding to the token and the user identifier, remittance processing from the balance, points and voting on the member site). You may want to perform a value) operation.
Therefore, here, 300AA in FIG. 3AC (which can also be implemented in 2008AG in FIG. 3AB) is used as an OTP generation contract in which an OTP generation token is recorded, and 300AA in FIG. 3AB is used as an OTP authentication contract and deployed separately on the blockchain. (As shown in FIG. 9A, the block data Bd0 to Bd7 of the blockchain are deployed to Bd1, Bd3, and Bd4. The terminal 1A accesses the deployed data to generate and authenticate the OTP.)

シークエンスS212ではコントラクトがブロックチェーンに組み込まれた際に決定したコントラクト識別子(コントラクトアドレス)をブロックチェーン部から端末1Cの記録装置(10C)に取得しウェブサイトにログインするサーバ3CのウェブサイトのECMAScriptなどのウェブページを動作させるプログラムに記録させ設定する。同時にウェブページを動作させるプログラム(フロントエンド、サーバーサイド、データベース、そして必要に応じてブロックチェーン部など含む)を設定する。 In sequence S212, the contract identifier (contract address) determined when the contract is incorporated into the blockchain is acquired from the blockchain unit to the recording device (10C) of the terminal 1C and logged in to the website, such as ECMAScript of the website of the server 3C. Record and set in the program that operates the web page of. At the same time, set the program that runs the web page (including the front end, server side, database, and blockchain part if necessary).

シークエンスS213ではOTPを生成するOTPトークンの発行を行う。サービスの契約や購入を行ったユーザー識別子Aに対し管理者端末1CはデプロイしたOTP生成トークンにアクセスしてトークン番号TIDAのOTPトークンを発行する。発行されるOTPトークンは3008Aまたは3008AGに示すコントラクトであり実施例1ではERC721規格の機能を持つ。OTPトークンは電子商取引などで決済手段を用いてログイン権として購入されるか、インターネットバンキングを代表とする銀行など金融分野のサービスや会員サイトのログインサービス、ソーシャルネットワーキングサービスSNSのログインサービス、オンラインゲームなどのログインサービスに付属して発行される。 Sequence S213 issues an OTP token that generates an OTP. The administrator terminal 1C accesses the deployed OTP generation token to the user identifier A who has made a contract or purchase of the service, and issues an OTP token having the token number TIDA. The issued OTP token is a contract shown in 3008A or 3008AG, and has the function of the ERC721 standard in Example 1. OTP tokens are purchased as login rights using payment methods in electronic commerce, etc., or are services in the financial field such as banks represented by Internet banking, login services for member sites, login services for social networking services SNS, online games, etc. Issued with the login service of.

本発明のOTP認証システムを提供する際に決済はブロックチェーン外で行われることを想定している。しかしイーサリアムではメインネットにおける暗号資産イーサの払い込みに応じて決済を用いてOTPトークンを付与すること(つまり自動販売機のようにユーザーがイーサをコントラクトに硬貨の様に投入し、そのユーザーに対しOTPトークンを送付する事)も可能である。ただしサービスによってはブロックチェーンの外で人員が契約や決済の有無、OTPトークンを付与するユーザーの実在性確認、本人確認、KYC(Know Your Customer)をする必要があると考えられるのでブロックチェーンの内部通貨を用いた決済は必須としない。とくに銀行や証券などの金融分野では本人確認が必要であると考えられるので、本発明のOTPトークンの契約や発行にはブロックチェーン外でユーザーを確認する人員や装置が必要である。 When providing the OTP authentication system of the present invention, it is assumed that the settlement is performed outside the blockchain. However, in Ethereum, OTP tokens are given using payment according to the payment of crypto assets Ether on the main net (that is, like a vending machine, a user inserts Ether into a contract like a coin and OTP to that user. Sending tokens) is also possible. However, depending on the service, it may be necessary for personnel outside the blockchain to confirm the existence of contracts and payments, the existence of users who grant OTP tokens, identity verification, and KYC (Know Your Customer), so inside the blockchain. Settlement using currency is not mandatory. In particular, in the financial field such as banks and securities, it is considered that identity verification is necessary, so the contract or issuance of the OTP token of the present invention requires personnel and devices for verifying the user outside the blockchain.

シークエンスS214ではウェブページへのログインを行う。OTPトークンを付与されたユーザーは秘密鍵101A(秘密鍵PRVA)を記憶装置10Aもしくは外部記録装置16Aに記録させた端末1Aを用いてサーバ3C及びブロックチェーンシステムDLSにアクセスする。端末1Aのアクセスを受けたサーバ端末3Cは端末1Aのアクセスに応じてウェブサイトまたはウェブアプリのデータを端末1Aに配信する。
3CはシークエンスS214では例としてログイン時のユーザー名とパスワードの入力を要求するウェブページデータを端末1Aに配信し1段階目の認証を要求する。
ここでウェブブラウザの拡張機能にウォレットソフトウェアがあってウォレットソフトウェアに秘密鍵が搭載されているか判断するプログラムをウェブページデータに備えていてもよく、ウェブブラウザの拡張機能等に記録されたウォレットソフトウェアとウォレットソフトウェアに記憶された秘密鍵を用いてOTP生成を行いOTP認証を行えるようにしてもよい。また秘密鍵を記入し記録しブロックチェーンにアクセスしOTPを表示させるソフトウェアを端末1Aの記憶装置10Aの102Aに搭載していてもよい。ユーザー名とパスワードが一致した場合に次のシーケンスに続く。(ユーザー名とパスワードは認証の1つの要素として用いる。OTP認証と既存のユーザー名・パスワード認証を合わせて2要素または2段階認証とする。のユーザー名・パスワード認証のほかに用途によってはPINや生体認証でもよい。)
Sequence S214 logs in to a web page. The user to which the OTP token is given accesses the server 3C and the blockchain system DLS by using the terminal 1A in which the secret key 101A (secret key PRVA) is recorded in the storage device 10A or the external recording device 16A. The server terminal 3C that has received the access of the terminal 1A distributes the data of the website or the web application to the terminal 1A according to the access of the terminal 1A.
In sequence S214, as an example, 3C distributes web page data requesting the input of a user name and password at the time of login to the terminal 1A, and requests the first-stage authentication.
Here, there may be wallet software in the extension function of the web browser, and a program for determining whether the wallet software has the private key may be provided in the web page data, and the wallet software recorded in the extension function of the web browser etc. OTP may be generated using the private key stored in the wallet software so that OTP authentication can be performed. Further, software for entering and recording a private key, accessing the blockchain, and displaying OTP may be installed in 102A of the storage device 10A of the terminal 1A. Continues to the next sequence if the username and password match. (User name and password are used as one element of authentication. OTP authentication and existing user name / password authentication are combined into two-factor or two-step authentication. In addition to user name / password authentication, PIN or Biometric authentication is also acceptable.)

シーケンスS215ではOTP認証を行うためのユーザー端末1Aのアクセスをサーバ端末3Cが受けて、端末3Cから端末1AへOTPの生成を行わせるウェブページを配信するとともに、そのユーザー端末1Aのアクセスを不正なアクセスか否かを監視する。ウェブページ上でOTPを生成するにはユーザー識別子とトークン番号の入力を要求し、ユーザーのユーザ識別子やトークン番号等の入力値と、ユーザー端末のIPアドレスや位置情報や端末の入力装置のセンサ値などを含むIPV値と、ログイン時刻やログイン回数やログイン状態について図6Xのように記録する。通常の端末3Cの利用において、同一時刻に1人の個人が1つの秘密鍵を1つの端末からサーバ端末3Cへアクセスする場合は、図6Xに記載の異なる複数のIPV値は記録されないはずである。
また端末3Cはウェブブラウザのバージョンなど端末に固有の情報とIPアドレスといった値を収集できる場合には、その情報を次回のユーザーUAの端末1Aのログインまで端末3Cの記憶装置に記憶しておくこともできる。次回のログイン時に記憶されたアクセス情報を照らし合わせてアクセス環境の変化を検出してもよい。
In the sequence S215, the server terminal 3C receives the access of the user terminal 1A for performing OTP authentication, distributes a web page for generating the OTP from the terminal 3C to the terminal 1A, and illegally accesses the user terminal 1A. Monitor for access. To generate an OTP on a web page, you are required to enter a user identifier and token number, and the input values such as the user identifier and token number of the user, and the IP address and location information of the user terminal and the sensor value of the input device of the terminal are used. The IPV value including the above, the login time, the number of logins, and the login status are recorded as shown in FIG. 6X. In normal terminal 3C use, if one individual accesses one private key from one terminal to the server terminal 3C at the same time, the different IPV values shown in FIG. 6X should not be recorded. ..
If the terminal 3C can collect information unique to the terminal such as the version of the web browser and a value such as an IP address, the information should be stored in the storage device of the terminal 3C until the next login of the terminal 1A of the user UA. You can also. Changes in the access environment may be detected by comparing the access information stored at the next login.

シーケンスS216及びS217ではS215で配信されたウェブページのECMAScript等プログラムに応じて、ユーザ識別子Aとトークン番号TIDAとユーザー端末1Aに記録された秘密鍵101Aを用いてブロックチェーンのノードの一つである端末3Aにアクセスし、端末3AにデプロイされたOTP生成コントラクト3008Aまたは3008AGのOTP生成関数(図3ACの3009A)を実行する。
トークン番号TIDAが秘密鍵101Aから計算されるユーザー識別子Aと対応づけられていてTIDAの所有者がOTP生成関数3009Aの実行者である場合にOTP計算して生成し端末1AにOTPを戻り値として返す。S218では端末3AのOTP生成コントラクト3008Aや3008AGに従って生成されたOTPをOTP関数3009Aの戻り値としてユーザー端末1Aが取得する。
3009Aの動作するフローチャートは図6Aまたは図6B示すとおりであり、図6Bに示すようにOTP生成関数3009Aを実行した際にその実行回数を記録する変数OTPCT(図3ACの3017A)またはOTPCTG(図3ABの3017AG)を増加または減少させることでブロックチェーンのコントラクト上の変数を変えることができ、ブロックチェーン上でOTPを生成する計算を実行した回数が改ざんされずに記録される。なおかつその変数3017Aまたは3017AGの変数変化をサーバ端末3Cの3114Cが検出し、不正利用があったことを通知するOTPトークンとは別のノンファンジブルトークン(不正通知トークンを)をユーザー識別子に対し送信することや、顧客情報データベース3016Cに記載のユーザー識別子に対応する電子メールアドレスや携帯番号などの連絡先に対し不正アクセスの通知することができる。
OTPトークンの真のユーザー端末であっても不正に秘密鍵を入手したユーザー端末であってもOTPを生成する際に3017Aや3017AGの数値の増加減少などの変化が発生し、サーバ端末3Cはそれを検出してユーザーに通知できるほか、3017Aや3017AGがパブリック変数である場合にはブロックチェーンにアクセスするすべての人がその数値変化を調べることができる。不正アクセスをするユーザーにとってはOTP認証を行うためのOTPを生成する段階で改ざん困難なブロックチェーン上にOTPの生成回数が記録されるため、不正アクセスの証拠を残さずに本発明の認証システムを通り抜けることは困難である。
In the sequences S216 and S217, it is one of the nodes of the blockchain using the user identifier A, the token number TIDA, and the private key 101A recorded in the user terminal 1A according to the program such as ECMAscript of the web page delivered in S215. Access the terminal 3A and execute the OTP generation contract 3008A or 3008AG OTP generation function (3009A in FIG. 3AC) deployed in the terminal 3A.
When the token number TIDA is associated with the user identifier A calculated from the private key 101A and the owner of the TIDA is the executor of the OTP generation function 3009A, the OTP is calculated and generated, and the OTP is returned to the terminal 1A as the return value. return. In S218, the user terminal 1A acquires the OTP generated according to the OTP generation contract 3008A or 3008AG of the terminal 3A as the return value of the OTP function 3009A.
The operating flowchart of the 3009A is as shown in FIG. 6A or FIG. 6B, and as shown in FIG. 6B, the variable OTPCT (3017A in FIG. 3AC) or OTPCTG (FIG. 3AB) that records the number of executions when the OTP generation function 3009A is executed. The variables on the blockchain contract can be changed by increasing or decreasing (3017AG), and the number of times the calculation to generate OTP is executed on the blockchain is recorded without being tampered with. In addition, the 3114C of the server terminal 3C detects the variable change of the variable 3017A or 3017AG, and a non-fangible token (illegal notification token) different from the OTP token for notifying that there has been unauthorized use is given to the user identifier. Unauthorized access can be notified to contacts such as e-mail addresses and mobile numbers corresponding to the user identifiers described in the customer information database 3016C.
Whether it is a true user terminal of an OTP token or a user terminal that illegally obtained a private key, changes such as an increase or decrease in the values of 3017A and 3017AG occur when OTP is generated, and the server terminal 3C is that. Can be detected and notified to the user, and if 3017A or 3017AG is a public variable, anyone accessing the blockchain can examine the numerical change. Since the number of OTP generations is recorded on the blockchain, which is difficult to tamper with at the stage of generating OTPs for OTP authentication for users who make unauthorized access, the authentication system of the present invention can be used without leaving evidence of unauthorized access. It is difficult to get through.

ここでS216及びS217においてユーザー端末がウェブブラウザの拡張機能等に秘密鍵を記録している、あるいは秘密鍵を管理しているほかのウェブサイトなどと連携している場合にはその秘密鍵情報を利用してOTP生成関数3009Aと認証関数3018Aをユーザー端末1Aに実行させる。この時、端末1Aには秘密鍵を搭載したウェブブラウザ拡張機能等と端末1Aに発行されたトークン番号TIDAの情報が必要である。
端末1Aからサーバ端末3Cへアクセスするために用いたトークン番号と、ユーザ識別子と、端末1AのIPアドレスや位置情報やセンサ情報などのIPV情報と、ログイン時刻やログイン回数やログイン状態については端末3Cの記憶部30Cのアクセス検出及び監視用データベース3011Cに図6Xのようなデータが記録される。
また秘密鍵を記入し記録しブロックチェーンにアクセスしOTPを表示させるソフトウェアを端末1Aの記憶装置10Aの102Aに搭載している場合は秘密鍵情報をログイントークン番号TIDAの記入が必要である。(さらにコントラクト識別子やブロックチェーン識別子の記入も必要である。)
Here, in S216 and S217, if the user terminal records the private key in the extended function of the web browser or is linked with another website that manages the private key, the private key information is stored. Using this, the user terminal 1A is made to execute the OTP generation function 3009A and the authentication function 3018A. At this time, the terminal 1A needs information such as a web browser extension function equipped with a private key and the token number TIDA issued to the terminal 1A.
The token number used to access the server terminal 3C from the terminal 1A, the user identifier, the IPV information such as the IP address, location information, and sensor information of the terminal 1A, and the login time, the number of logins, and the login status are the terminal 3C. Data as shown in FIG. 6X is recorded in the access detection and monitoring database 3011C of the storage unit 30C.
If the software for entering and recording the private key, accessing the blockchain, and displaying the OTP is installed in 102A of the storage device 10A of the terminal 1A, it is necessary to enter the private key information in the login token number TIDA. (It is also necessary to enter the contract identifier and blockchain identifier.)

シーケンスS219においてサーバ3Cは端末1Aに対し、OTPトークンのトークン番号とユーザー識別子とOTPの入力を求め、その際にサーバ3Cにログインに用いたトークン番号、ユーザ識別子、IPアドレスや位置情報やセンサ情報などのIPV情報とログイン時刻、ログイン回数、ログイン状態を記録するとともに、端末3Cから端末1AへOTPの認証を行わせるウェブページを配信するとともに、そのユーザー端末1Aのアクセスを不正なアクセスか否かを監視する。ウェブページ上でOTPを認証する際にユーザーのユーザ識別子やトークン番号等の入力値と、ユーザー端末のIPアドレスや位置情報や端末のセンサ値などを含むIPV値と、ログイン時刻やログイン回数やログイン状態について図6Xのように記録する。
この場合も通常利用で、同一時刻に1人の個人が1つの秘密鍵を1つの端末からサーバ端末3Cへアクセスする場合は、図6Xに記載の異なるIPV値は記録されないはずである。
In sequence S219, the server 3C requests the terminal 1A to input the token number, the user identifier, and the OTP of the OTP token, and at that time, the token number, the user identifier, the IP address, the location information, and the sensor information used for logging in to the server 3C. IPV information such as, login time, number of logins, login status are recorded, a web page that authenticates OTP from terminal 3C to terminal 1A is distributed, and whether the access of user terminal 1A is unauthorized access. To monitor. When authenticating OTP on a web page, the input values such as the user identifier and token number of the user, the IPV value including the IP address and location information of the user terminal, the sensor value of the terminal, etc., the login time, the number of logins, and the login. The state is recorded as shown in FIG. 6X.
Also in this case, in normal use, if one individual accesses one private key from one terminal to the server terminal 3C at the same time, the different IPV values shown in FIG. 6X should not be recorded.

シーケンスS220及びS221ではS219で配信されたウェブページのECMAScript等プログラムに応じて、ユーザ識別子Aとトークン番号TIDAとユーザー端末1Aに記録された秘密鍵101Aを用いてブロックチェーンのノードの一つである3Aにアクセスし、3AにデプロイされたOTP生成コントラクト3008Aまたは3008AAのOTP認証関数(図3ACの3018A)を実行する。
OTP認証関数3018Aはユーザー識別子A、トークン番号TIDA、OTPを引数として、引数OTPをArgOTPとして利用し、認証関数内で認証コントラクトに記録されたKC値やBC値と最新のブロック番号と引数で渡された値であるユーザ識別子Aとトークン番号TIDAを基にしてデータを作成しそのデータをハッシュ関数fhでハッシュ化してVeriOTPを算出する。VeriOTPとArgOTPが一致するか検証し、一致する場合には認証ができたと判断し、認証ができたときの処理を行い認証結果を端末1Aに戻り値CTAU(図3ABの3021A)として返し、一致しない場合は認証ができなかった場合の処理を行う(前記処理は図6C又は図6D又は図6E又は図6F又は図6G又は図6Hのフローチャート説明図に従って認証関数3018Aは動作する)。
図6Cまたは図6Dに示すようにOTP認証関数3018Aを実行した際に、3018Aの処理内部にその実行回数を記録する変数OTPCT(図3ACの3017A)またはOTPCTA(図3ABの3017AA)を増加または減少させ、ブロックチェーン上でOTPを生成する計算を行った回数が改ざんされずに記録する処理を備えていてもよい。なおかつその変数3017Aまたは3017AAの変数の変化をサーバ端末3Cの3114Cが検出し、不正利用があったことを通知するOTPトークンとは別のノンファンジブルトークン(不正通知トークンを)をユーザー識別子に対し送信することや、顧客情報データベース3016Cに記載のユーザー識別子に対応する電子メールアドレスや携帯番号などの連絡先に対し不正アクセスの通知することができる。
OTP生成関数の場合と同じく、OTP認証関数の場合においても、OTPトークンの真のユーザー端末と不正に秘密鍵を入手したユーザー端末の区別を問わず、OTPを生成する際に3017Aや3017AGの数値の増加減少などの変化が発生し、サーバー端末3Cはそれを検出してユーザーに通知できるほか、3017Aや3017AGがパブリック変数である場合にはブロックチェーンにアクセスするすべての人がその数値変化を調べることができる。不正アクセスをするユーザーにとってはOTP認証を行うときに改ざん困難なブロックチェーン上にOTPの生成回数が記録されるため、不正アクセスの証拠を残さずに本発明の認証システムを通り抜けることは困難である。(またBnTOTP生成回数が変わらずBnTOTPを生成し取得していないにもかかわらずOTP認証回数が変化し認証関数が実行された場合は不正利用が考えられるのでサービス提供者はその対抗策を講じることができ、ユーザーもOTP生成関数が未利用であることを主張し不正利用を受けたことを主張できる。)
The sequences S220 and S221 are one of the blockchain nodes using the user identifier A, the token number TIDA, and the private key 101A recorded in the user terminal 1A according to the program such as ECMAscript of the web page delivered in S219. Access 3A and execute the OTP authentication function of the OTP generation contract 3008A or 3008AA deployed in 3A (3018A in FIG. 3AC).
The OTP authentication function 3018A uses the user identifier A, token number TIDA, and OTP as arguments, and uses the argument OTP as ArgOTP, and passes the KC value and BC value recorded in the authentication contract in the authentication function and the latest block number and argument. Data is created based on the user identifier A and the token number TIDA, which are the values obtained, and the data is hashed with the hash function fh to calculate VeriOTP. It verifies whether VeriOTP and ArgOTP match, and if they match, it is judged that authentication was successful, processing is performed when authentication is possible, and the authentication result is returned to terminal 1A as a return value CTAU (3021A in FIG. 3AB) and matches. If not, the processing is performed when the authentication cannot be performed (the authentication function 3018A operates according to the flowchart explanatory diagram of FIG. 6C or FIG. 6D or FIG. 6E or FIG. 6F or FIG. 6G or FIG. 6H).
When the OTP authentication function 3018A is executed as shown in FIG. 6C or FIG. 6D, the variable OTPCT (3017A in FIG. 3AC) or OTPCTA (3017AA in FIG. 3AB) that records the number of executions is increased or decreased inside the processing of 3018A. It may be provided with a process of recording the number of times the calculation for generating the OTP is performed on the blockchain without being tampered with. Moreover, the 3114C of the server terminal 3C detects the change of the variable 3017A or the variable of 3017AA, and the non-fangible token (illegal notification token) different from the OTP token for notifying that there is unauthorized use is used as the user identifier. Unauthorized access can be notified to a contact such as an e-mail address or a mobile number corresponding to a user identifier described in the customer information database 3016C.
As in the case of the OTP generation function, in the case of the OTP authentication function, regardless of the distinction between the true user terminal of the OTP token and the user terminal that illegally obtained the private key, the numerical values of 3017A and 3017AG are used when generating the OTP. A change such as an increase or decrease occurs, and the server terminal 3C can detect it and notify the user, and if 3017A or 3017AG is a public variable, everyone who accesses the blockchain examines the numerical change. be able to. Since the number of times OTP is generated is recorded on the blockchain, which is difficult for an unauthorized access user to tamper with when performing OTP authentication, it is difficult to pass through the authentication system of the present invention without leaving evidence of unauthorized access. .. (Also, if the number of BnTOTP generations does not change and the number of OTP authentications changes and the authentication function is executed even though BnTOTP has not been generated and acquired, unauthorized use is possible, so the service provider should take countermeasures. And the user can also claim that the OTP generation function is unused and that it has been abused.)

シークエンスS222では3021A、3022A、3023Aのように認証後の1つまたは複数の戻り値CTAUを定義し、認証後の処理内容、処理内容が操作するトークン番号に対応したデータベース(例として銀行口座残高や、口座残高を別の関数に送金する等といった処理)を実行できる。3022Aや3023Aはブロックチェーン上において顧客の口座残高やポイント、会員サイトでの投票結果などの価値のある変数を改ざんされないように記録するために設定できるものである。3022A、3023Aを設定しなくとも既存の銀行のインターネットバンキングと同様に銀行などのサーバ端末3Cの内部(サービス提供者の内部ネットワーク)で顧客の銀行口座情報を管理することもできるため、サービスを提供する個別のケースによっては3022Aや3023Aは利用されないことも考えられる。 In sequence S222, one or more return values CTAU after authentication are defined such as 3021A, 3022A, 3023A, and the processing content after authentication, the database corresponding to the token number operated by the processing content (for example, bank account balance and , Processing such as transferring the account balance to another function) can be executed. 3022A and 3023A can be set to record valuable variables such as a customer's account balance, points, and voting results on a member site on the blockchain so as not to be tampered with. Even if 3022A and 3023A are not set, the customer's bank account information can be managed inside the server terminal 3C (service provider's internal network) such as a bank in the same way as the Internet banking of existing banks, so the service is provided. It is conceivable that 3022A and 3023A will not be used depending on the individual cases.

シークエンスS223では認証関数3018Aの認証結果CTAU(3021A)を端末1Aが取得する。 In the sequence S223, the terminal 1A acquires the authentication result CTAU (3021A) of the authentication function 3018A.

シークエンスS224では端末1Aが取得したCTAUが認証結果が正しい時の値であるかどうか検証し、正しければログイン後のウェブサイト情報を配信しサービスを提供する。
シーケンスS215からS224までの処理は、トークン番号と秘密鍵がありユーザーの秘密鍵を漏洩しないよう配慮したウェブブラウザ環境であれば、トークン番号を入力するだけで(OTPの生成と認証をECMAScript等によるプログラムで自動的に行い、OTPの手動入力を省いて)ログインできる。ただしプログラム上は自動でログイン出来る場合であっても、シーケンス218で端末1Aが入手したOTPを1Aのディスプレイ150Aに表示させ、そのOTPを手動で入力するなどしてユーザーとしてヒトが実在するかどうか確認するというシークエンスでもよい。
In the sequence S224, it is verified whether the CTAU acquired by the terminal 1A is the value at the time when the authentication result is correct, and if it is correct, the website information after login is distributed and the service is provided.
For the processing from sequence S215 to S224, if the web browser environment has a token number and a private key and care is taken not to leak the user's private key, just enter the token number (OTP generation and authentication by ECMAscript etc.). You can log in (without the manual input of OTP), which is done automatically by the program. However, even if you can log in automatically on the program, whether the OTP obtained by the terminal 1A in sequence 218 is displayed on the display 150A of 1A and the OTP is manually input to see if a human exists as a user. It may be a sequence of confirmation.

シークエンスS225ではS215やS219と同じく端末3Cのログイン後のサービスにアクセスするユーザー端末1Aのユーザ識別子、トークン番号、IPアドレスや位置情報や端末のセンサ値などIPVを含むアクセス情報を不正アクセス検出制御部3112Cにて監視し、図6Xにある不正アクセスがあった場合にはそのユーザー識別子に不正アクセス通知トークンをブロックチェーン上で送付するか、あらかじめ登録された連絡先に電子メール等で不正利用の疑いがあることを連絡する。
シークエンスS226ではユーザのアクセスに応じてサービスを提供する。例えばネットバンキングでは口座残高の確認や口座の取引履歴(ウェブ通帳の表示)等の処理を行う。そして振り込みなどパスワード認証やOTP認証が必要な処理ではS214のパスワード入力やS215からS224までのOTP認証を行いサービスを提供する。シークエンスS227はシークエンス225と同じ処理である。
ユーザーがログアウトを実行したり、一定時間端末1Aから端末3Cへのアクセスが無い時は自動的にログアウトさせる。
In the sequence S225, as with S215 and S219, the unauthorized access detection control unit obtains access information including IPV such as the user identifier, token number, IP address, location information, and terminal sensor value of the user terminal 1A that accesses the service after login of the terminal 3C. Monitored by 3112C, if there is unauthorized access shown in Fig. 6X, send an unauthorized access notification token to the user identifier on the blockchain, or suspect unauthorized use by e-mail etc. to the contact registered in advance. Contact me that there is.
The sequence S226 provides a service according to the user's access. For example, in online banking, processing such as confirmation of account balance and transaction history of account (display of web passbook) is performed. Then, in a process that requires password authentication or OTP authentication such as transfer, the service is provided by inputting the password of S214 and performing OTP authentication from S215 to S224. Sequence S227 is the same process as sequence 225.
When the user logs out or there is no access from the terminal 1A to the terminal 3C for a certain period of time, the user is automatically logged out.

サーバ3Cは端末1Aのアクセス時にIPアドレスなどの値を記録できる。本発明では銀行取引等金融分野などの重要な取引を扱う必要があるサービスにおいては個人情報の保護をしつつ、ユーザーが通常アクセスする端末の情報やIPアドレス、位置情報をユーザーの同意を得て収集し(またはIPアドレス等のハッシュ値や匿名化した値を求め収集し)、図6Xにあるデータの表に銀行口座番号や名義と電話番号または電子メールアドレスなどの連絡先情報を追記したデータベースを3Cの記録部に記録してもよい。そして端末1Aのアクセス履歴に対し、ある時端末1Aの秘密鍵101Aを用いて異なるIPアドレス等の環境からアクセスを受けたとき、顧客に電話または電子メールで通常とは異なる環境から秘密鍵101に由来するユーザー識別子Aにてアクセスがあったことを通知してもよい。 The server 3C can record a value such as an IP address when the terminal 1A is accessed. In the present invention, in services that need to handle important transactions such as banking transactions, personal information is protected, and the information, IP address, and location information of the terminal that the user normally accesses are obtained with the consent of the user. A database that collects (or seeks and collects hash values such as IP addresses and anonymized values) and adds bank account numbers and names and contact information such as phone numbers or email addresses to the data table in Figure 6X. May be recorded in the recording unit of 3C. Then, when the access history of the terminal 1A is accessed from an environment such as a different IP address by using the private key 101A of the terminal 1A at a certain time, the customer is contacted by telephone or e-mail from an environment different from the usual environment to the secret key 101. You may notify that the access was made by the user identifier A from which the access was made.

図8Bは本発明のワンタイムパスワード認証システム(OTP認証システム)において有価紙葉の表示画面1500Aや紙のチケット等有価紙葉18AやNFCタグ19Aを用いて入場や改札、施錠された建物・乗物・設備・容器を解錠する際の基本的な認証システム図である。図8Bは実施例2(実施形態2)を説明する資料である。
実施例1と実施例2(実施形態2)の基本的な動作は類似している。チケットによる入場処理を行う場合は3Cと同様の機能を併せ持つ端末3Dでもよい(ウェブサイトにログインして入場する際に利用する端末は3Cであり、現実の入場口に入場する際に利用する端末は3Dである。3Dは入場口や改札などで入場処理を行うことを意図しているが端末3Dを入場口の改札機などに用いるほかに施錠された建物・乗物・設備・容器を解錠する用途にも応用できる。)
実施例2ではブロック番号Bn等ブロックチェーンの時刻情報を利用せずコントラクト管理者が任意時間に変数KC(図3ACの3011A)またはBC(図3ACの3013A)の数値を変更できる余地を持たせたパスワードOWPを用いる。実施例で利用するOWPはOWP=fh(A,TIDA,KC,BC)であり、前記関数fhの引数には時刻によって変化するブロック番号Bnといった変数を持たない。ただしOWPはコントラクト管理者がある時刻にセッター関数fscbを用いてBCやKCを変更させた場合に変化することがある。
FIG. 8B shows an entrance, a ticket gate, and a locked building / vehicle using the valuable paper leaf display screen 1500A, the valuable paper leaf 18A such as a paper ticket, and the NFC tag 19A in the one-time password authentication system (OTP authentication system) of the present invention. -It is a basic authentication system diagram when unlocking equipment / containers. FIG. 8B is a document illustrating Example 2 (Embodiment 2).
The basic operations of Example 1 and Example 2 (Embodiment 2) are similar. When performing admission processing using a ticket, a terminal 3D that has the same functions as 3C may be used (the terminal used when logging in to the website and entering is 3C, and the terminal used when entering the actual entrance. Is 3D. 3D is intended to be used for entrance processing at entrances and ticket gates, but in addition to using terminal 3D as entrance ticket gates, locked buildings, vehicles, equipment, and containers are unlocked. It can also be applied to applications.)
In the second embodiment, the contract administrator has room to change the numerical value of the variable KC (3011A in FIG. 3AC) or BC (3013A in FIG. 3AC) at an arbitrary time without using the time information of the block chain such as the block number Bn. Use password OWP. The OWP used in the embodiment is OWP = fh (A, TIDA, KC, BC), and the argument of the function fh does not have a variable such as a block number Bn that changes with time. However, the OWP may change when the contract administrator changes BC or KC at a certain time using the setter function fscb.

図8Bにおいてユーザ端末1A(図2Aの1A)とサーバ端末3A(図3Aの3A)とコントラクト管理者端末1C(図2Cの1C)と入場口・改札又は施錠された建物・乗物・設備・容器に備え付けられた施錠の制御と本発明のOTP認証システムによる認証を行うことの出来る端末3D(図3Dの端末3D)とチケットなど有価紙葉をOTPトークンとしてを発券するサーバ端末3Eがネットワーク20を通じて接続されている。 In FIG. 8B, the user terminal 1A (1A in FIG. 2A), the server terminal 3A (3A in FIG. 3A), the contract manager terminal 1C (1C in FIG. 2C), and the entrance / ticket gate or locked building / vehicle / equipment / container. A terminal 3D (terminal 3D in FIG. 3D) capable of controlling locking and authentication by the OTP authentication system of the present invention and a server terminal 3E that issues valuable paper leaves such as tickets as OTP tokens are provided through network 20. It is connected.

端末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のイメージ情報を読み取らせて認証させる。
また、通信装置12AとNFCタグ19A(図2Aまたは図8Bの19A)を通信させNFCタグ19AにOWPとOWP生成に用いたトークン番号とユーザ識別子を記録させ、前記NFCタグ19Aを電子的な入場券や解錠を行う鍵として端末3Dと通信させ認証を行い入場または解錠などを行う。
ここでタグ19Aは主に非接触式のNFCタグを想定するが接触式のICタグやICカード、通信端子を備えた外部記録端末19Aでもよく、磁気ストライプを用いた19Aでもよく、19Aは非接触式または接触式の通信を端末3Dと行うことができる。
なお端末3Dがネットワークに接続されている場合は、3Dに記録された認証関数3018DAに限らず、端末3Aに存在するブロックチェーン部の認証関数3018Aにアクセスし紙のチケットやNFCタグに記録されたOWPを含む認証情報をもちいて認証を行い、入場口や改札での入場処理や建物・乗物および設備や装置・電子計算機端末・保管庫・金庫など容器の施錠の解錠も可能である。
The terminal 3D may or may not be connected to the network. Here, the blockchain recording unit 300D or 3010A of the storage device 30D of the terminal 3D may record the authentication functions 3018A and 3018DA capable of authenticating the OWP type OTP generated by the OTP generation contract of the terminal 3A. Variable information necessary for OTP calculation, such as KC values 3011A, BC values 3013A, 3030A, and 3031A used for the authentication functions 3018A and 3018DA, may be recorded in the terminal 3D.
Although the terminal 3D is not connected to the network 20, an 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 30D 300D. In preparation for 3010D, even if the terminal is not connected to 3A, which has a blockchain unit, through network 20, authentication is performed using valuable paper leaves such as paper tickets or NFC tags that record authentication information such as OWP. You may be able to enter, ticket gate, and unlock locked buildings, vehicles, equipment, and containers.
In particular, containers such as automobiles, buildings, and safes are not always online so that they can connect to the internet, and in the event of a disaster, they may go offline and cannot connect to a network that can access the blockchain. It may be required to be able to authenticate even in the disconnected state.
Therefore, in the present invention, the issuance / distribution / OWP type OTP of the OTP token is performed by the terminal 1A, the terminal 3A, the terminal 3E, and the terminal 1C issuing a token in the blockchain unit via the network 20 online, and the terminal 1A and the terminal. The OWP type is generated between 3A, and the generated OWP and the token number and the user identifier used for OWP generation are printed and printed on paper by the printer 152A of the terminal 1A, and the printed matter 18A (18A in FIG. 2A or FIG. 8B). Is manufactured, and the camera 340D of the terminal 3D is made to read the image information of 18A or 1500A and authenticate.
Further, the communication device 12A and the NFC tag 19A (19A in FIG. 2A or FIG. 8B) are communicated with each other, the NFC tag 19A is made to record the token number and the user identifier used for OWP and OWP generation, and the NFC tag 19A is electronically entered. It communicates with the terminal 3D as a ticket or a key for unlocking, authenticates, and enters or unlocks.
Here, the tag 19A is mainly assumed to be a non-contact type NFC tag, but may be an external recording terminal 19A equipped with a contact type IC tag, an IC card, and a communication terminal, or may be 19A using a magnetic stripe, and 19A is non-contact type. Contact-type or contact-type communication can be performed with the terminal 3D.
When the terminal 3D is connected to the network, not only the authentication function 3018DA recorded in 3D but also the authentication function 3018A of the blockchain part existing in the terminal 3A is accessed and recorded on a paper ticket or an NFC tag. Authentication is performed using authentication information including OWP, and it is possible to perform entrance processing at the entrance and ticket gates, and to lock and unlock containers such as buildings, vehicles, equipment, devices, computer terminals, storage, and safes.

<紙のチケット等有価紙葉18AまたはNFCタグ19Aの製造と利用>
オフライン状態にある端末3Dのカメラ340Dにて紙の有価紙葉18Aの印刷面のOWPとOWP生成に用いたトークン番号とユーザ識別子情報を読取り、あるいは3DのNFC通信装置341DにてNFCタグ19A内部に記録されたOWPとOWP生成に用いたトークン番号とユーザ識別子情報を読み取り、3Dの記録部30Dの300Dや3010Dに記録された認証関数3018DAまたは3018Aと同様の処理(図6Fのフローチャートも参照)に従って紙やNFCタグのOWP型OTPをArgOTPとして、VeriOTPとArgOTPが等しいか検証して一致すれば、開閉・ゲート・施錠・始動装置350Aを操作して入場口や改札であれば入場を行い施錠装置であれば解錠を行い始動装置であれば始動を行う。同時に351Dと352Dを認証できた場合と認証できない場合に対応した動作を行わせてもよい。
端末3Dのカメラ340Dに対し紙の情報18Aの代わりに端末1Aのディスプレイ150AのOWP等認証情報表示画面1500Aを提示し読み取ることで認証してもよい。
<Manufacturing and use of valuable paper leaves 18A or NFC tag 19A such as paper tickets>
The token number and user identifier information used to generate the OWP and OWP on the printed surface of the valuable paper leaf 18A of the paper leaf 18A are read by the camera 340D of the terminal 3D in the offline state, or the inside of the NFC tag 19A is read by the 3D NFC communication device 341D. Read the token number and user identifier information recorded in OWP and OWP generation, and perform the same processing as the authentication function 3018DA or 3018A recorded in 300D or 3010D of the 3D recording unit 30D (see also the flowchart in FIG. 6F). According to this, the OWP type OTP of paper or NFC tag is set as ArgOTP, and if VeriOTP and ArgOTP are equal or matched, the opening / closing / gate / locking / starting device 350A is operated to enter and lock the entrance or ticket gate. If it is a device, it is unlocked, and if it is a starting device, it is started. At the same time, the operation corresponding to the case where the 351D and the 352D can be authenticated and the case where the authentication cannot be performed may be performed.
Authentication may be performed by presenting and reading the OWP or the like authentication information display screen 1500A of the display 150A of the terminal 1A instead of the paper information 18A to the camera 340D of the terminal 3D.

<プリンタによる18Aの製造>
紙のチケット等の有価紙葉18Aを製造するプリンタは文字情報やバーコード情報を紙やプラスチックフィルム、板材など印刷できればよい。インクジェットプリンタ、レーザープリンタ(電子写真方式)、サーマルプリンタ(感熱紙)の利用が考えられる。ほかにチケットが紙でなく板や立体でもよい時はプロッターやプロッターに切削装置などを取りつけ母材に情報を切削・刻印できる2次元の加工機や、3次元の加工機、そして3Dプリンタなども利用できてもよい。ここでプリンタは認証先となる端末3Dのカメラやスキャナ340Dに文字列または1次元及び2次元のバーコード情報を読み込ませる事ができる加工を母材に施せる装置である。インクジェットプリンタやレーザープリンタ、プロッタを用いてエッチング用・パターニング用のパターンを作り、母材に対しパターンを基に加工する処理(サンドブラスト、エッチング、昇華転写など)も利用できる。
紙やフィルム材に限らず金属板、陶磁器、布など繊維製品にもOWP等の認証情報を印刷・パターニング・捺染・転写し有価紙葉18Aを製造できる。
インクはインクジェットプリンタでは目視で判読できる水性の顔料インク、染料インクが使えるほか、必要に応じてセキュリティ用の不可視インクや溶剤インクと溶剤インク用のフィルム材、紫外線硬化インクとそのインクに対応したフィルム材を利用できる。金券やチケット分野でチケット販売者がユーザーの代理で印刷などをしてユーザー住所に送付する場合には特殊なインクを用いてチケットに付加価値をつけることも想定される。またユーザーがインクジェットプリンタを保有し端末1Aに接続して印刷できる場合はカラー印刷である場合にチケットの絵柄などを表現することが容易になる。チケットを印刷する際に多色で絵柄が印刷されることでどのような種類のチケットか判別しやすくなると思われる。(例として紙幣や金券は色が付けられ券種に応じて色や絵柄がありヒトの目で券種が判別しやすい事が挙げられる)
実施例2では18Aの製造に水性の染料インクを用いる家庭用インクジェットプリンタもしくはトナーを用いるレーザープリンタを用いた。トナーとレーザープリンタを用いた理由は印刷物の対候性が高いことと印刷速度が高く、また事業所やCVSなどで広く流通しておりレーザープリンタは白と黒の色表現ができるためである。
サーマルプリンタと感熱紙は現金自動預け払い機ATMやCVSや商店の店舗のレジスター等業務用機器に内蔵され広く流通している。本発明ではこれらのサーマルプリンタにおいても感熱紙にOWPを含む認証に必要な情報を文字列または1次元及び2次元のバーコード情報として印刷しチケットなど有価紙葉とすることができる。ただしトナーによるものより印刷面・印字面の耐久性が低い傾向にあり、短期間のみ有効な期限付きのチケットや商品券に利用されうる。
<Manufacturing of 18A by printer>
A printer that manufactures valuable paper sheets 18A such as paper tickets should be able to print character information and bar code information on paper, plastic film, board materials, and the like. Inkjet printers, laser printers (electrophotographic method), and thermal printers (thermal paper) can be used. In addition, when the ticket can be a plate or three-dimensional instead of paper, there are also 2D processing machines that can attach cutting equipment to plotters and plotters to cut and engrave information on the base material, 3D processing machines, and 3D printers. May be available. Here, the printer is a device that can perform processing on the base material so that the camera or scanner 340D of the terminal 3D to be the authentication destination can read the character string or the one-dimensional and two-dimensional barcode information. It is also possible to use an inkjet printer, a laser printer, or a plotter to create a pattern for etching / patterning, and then process the base material based on the pattern (sandblasting, etching, sublimation transfer, etc.).
Not only paper and film materials, but also textile products such as metal plates, ceramics, and cloth can be printed, patterned, printed, and transferred with certification information such as OWP to produce valuable paper leaves 18A.
Inkjet printers can use water-based pigment inks and dye inks that can be visually read, as well as invisible inks for security, film materials for solvent inks and solvent inks, and UV curable inks and films compatible with those inks. Ink can be used. When a ticket seller prints on behalf of a user and sends it to the user's address in the field of cash tickets and tickets, it is expected that the ticket will be added value using special ink. Further, if the user has an inkjet printer and can print by connecting to the terminal 1A, it becomes easy to express a ticket pattern or the like in the case of color printing. When printing a ticket, it will be easier to determine what kind of ticket it is because the pattern is printed in multiple colors. (For example, banknotes and gold tickets are colored and have colors and patterns according to the ticket type, making it easy for the human eye to distinguish the ticket type.)
In Example 2, a household inkjet printer using a water-based dye ink or a laser printer using toner was used for the production of 18A. The reason for using toner and a laser printer is that the printed matter has high weather resistance, the printing speed is high, and it is widely distributed in business establishments and CVS, and the laser printer can express black and white colors.
Thermal printers and thermal paper are widely distributed in commercial equipment such as automated teller machines, ATMs, CVS, and cash registers in stores. In the present invention, even in these thermal printers, the information necessary for authentication including OWP can be printed on the thermal paper as a character string or one-dimensional and two-dimensional barcode information, and can be used as a valuable paper leaf such as a ticket. However, the durability of the printed surface / printed surface tends to be lower than that of toner, and it can be used for fixed-term tickets and gift certificates that are valid only for a short period of time.

<NFCタグ19Aの製造>
NFCタグ19Aを用いる場合は端末1Aの通信装置12Aと19Aが通信できれば良い。NFCタグでもよいしNFCカードでもよい。19AはNFCタグの形状や形態と同等の機能を持つ形状の装置であればよい。NFCタグ19Aの機能を備えさせた眼鏡・ヘッドマウントディスプレイまたは補聴器・イヤホン・ヘッドホンまたは衣服または腕輪・腕時計・腕時計型端末または指輪またはベルト・ベルト型端末または靴・靴の部品・靴型端末といった製品に組み込まれたNFCタグ19AもしくはNFCタグ19Aの機能付きのウエアラブルコンピュータ端末であってもよい。
さらにスマートフォンなどの携帯電話機型端末や財布やキーホルダーなどの金銭の決済や金属鍵の管理に用いられてきた既知の製品にNFCタグを内蔵してもよい。NFCタグ19Aは製品に組み込まれていても貼り付け等されていてもよい。
また端末1AがNFC機能をもち端末1Aそのものが持ち運びの出来るNFCタグ19Aとなっていてもよい。その場合、端末1Aの通信装置12A(端末の電子回路を含む)にてNFCタグ部分19Aと制御装置11Aや記憶装置10Aが有線方式で接続される。
タグ19Aには有線通信用の接点や端子が備え付けられていてもよい。19Aに備えられた接点又は端子を用いて端末3Dに認証情報を読み込ませ3Dが制御する施錠装置や入場用の開閉装置等を動作させてもよい。
ICを用いる19Aも16Aも端末1Aと同じくコンピュータの五大装置として制御演算装置と記憶装置と入力装置・出力装置を備えるカードもしくはタグ型の小型電子計算機端末であり、電源装置や通信装置も備える。電源装置はワイヤレス給電システムや一次電池、二次電池、電池を利用する回路、電池を充電するシステムを含みうる。
<Manufacturing of NFC tag 19A>
When the NFC tag 19A is used, it suffices if the communication devices 12A and 19A of the terminal 1A can communicate with each other. It may be an NFC tag or an NFC card. The 19A may be a device having a shape having the same function as the shape and shape of the NFC tag. Products such as glasses / head-mounted displays or hearing aids / earphones / headphones or clothes or bangles / watches / watch-type terminals or rings or belts / belt-type terminals or shoes / shoe parts / shoe-type terminals equipped with the functions of NFC tag 19A. It may be a wearable computer terminal with the function of the NFC tag 19A or the NFC tag 19A incorporated in the NFC tag 19A.
Further, the NFC tag may be incorporated in a known product such as a mobile phone type terminal such as a smartphone, a wallet, a key chain, or the like, which has been used for payment of money or management of metal keys. The NFC tag 19A may be incorporated in the product or may be attached or the like.
Further, the terminal 1A may have an NFC function and the terminal 1A itself may be a portable NFC tag 19A. In that case, the NFC tag portion 19A is connected to the control device 11A and the storage device 10A by a wired method by the communication device 12A (including the electronic circuit of the terminal) of the terminal 1A.
The tag 19A may be provided with contacts and terminals for wired communication. The contact or terminal provided in the 19A may be used to read the authentication information into the terminal 3D, and a locking device controlled by the 3D, an opening / closing device for admission, or the like may be operated.
Like the terminal 1A, both 19A and 16A using ICs are card or tag type small electronic computer terminals equipped with a control arithmetic unit, a storage device, an input device / an output device, and are also equipped with a power supply device and a communication device as the five major devices of a computer. The power supply may include a wireless power supply system, a primary battery, a secondary battery, a circuit that uses the battery, and a system for charging the battery.

実施例2におけるOTPの生成関数のフローチャートは図6Aと図6Bに記載し、OTPの認証フローチャートは図6Dと図6Fに記載する。図6D及び図6Fでは引数となるユーザー識別子Aとトークン番号TIDAとOWPが紙に印刷された情報またはNFCタグの記憶装置から送信された情報として入力されると、認証関数3018A(もしくは3018DA)は入力された引数の情報に従い、認証関数3018Aの属するコントラクト3008AAの内部シークレット変数KCやBCと、引数として入力されたユーザ識別子Aとトークン番号TIDAとOWP(OWP=ArgOTPとして)から、検証用OTPであるVeriOTP=fh(A,TIDA,KC,BC)を計算し、VeriOTPがArgOTPと一致するか(つまりVeriOTP=ArgOTPとなるか、VeriOTP=OWPとなるか)を判定し、一致した場合には認証が正しい処理を行い、一致しない場合には認証できないときの処理を行う。認証関数は端末3Dに記録された認証関数3018DAを用いることもできる。 The flowchart of the OTP generation function in the second embodiment is shown in FIGS. 6A and 6B, and the OTP authentication flowchart is shown in FIGS. 6D and 6F. In FIGS. 6D and 6F, when the user identifier A and the token numbers TIDA and OWP as arguments are input as information printed on paper or transmitted from the storage device of the NFC tag, the authentication function 3018A (or 3018DA) is performed. According to the information of the input argument, from the internal secret variables KC and BC of the contract 3008AA to which the authentication function 3018A belongs, the user identifier A and the token number TIDA and OWP (as OWP = ArgOTP) input as the argument, in the verification OTP. A certain VeriOTP = fh (A, TIMA, KC, BC) is calculated, it is determined whether the VeriOTP matches the ArgOTP (that is, whether the VeriOTP = ArgOTP or the VeriOTP = OWP), and if it matches, the authentication is performed. Performs correct processing, and if they do not match, performs processing when authentication is not possible. As the authentication function, the authentication function 3018DA recorded in the terminal 3D can also be used.

図7Eは図8Bに記載の装置とOTP認証システムを用いて端末3Dに対し認証を行う際のシーケンスの説明図である。図7Eでは例としてチケット及び会員権や自動車等の鍵または容器の鍵の用途を想定している。チケットや会員権は有効期限があり期限切れがある事、また自動車の鍵分野では車検などで定期的に施錠した物体がインターネットワーク等に接続され保守メンテナンスできることを想定する。
図7Eは図7Bと類似する。
図7BはパスワードOWPを用いたOTPトークンの一般的な発行時のシークエンス図でありS130からS135までの一連の流れでOTPトークンをサービスに登録し、ブロックチェーン(または分散型台帳システムDLS)のノード端末3AのにKC値をk1、BC値をc1としてOTP生成関数を含むOTPトークンのコントラクト(生成コントラクト、OTP生成コントラクト)のバイトコード等を含むトランザクションを送信しデプロイしOWPによる認証をできるように準備した後にユーザー端末1Aの秘密鍵101Aのユーザー識別子Aにトークン番号TIDAのトークンを発行する。また同時にサービスを提供する端末3Dや3CにOTP認証関数3018DAや3019AAや3018AにKC値をk1、BC値をc1としてOTP認証関数を設定しなければいけない。この時点では端末1AのユーザーはOWP=fh(A,TIDA,k1,c1)のパスワードOWPを生成して取得し認証に用いることができる。
S144においてある時間が経過した後、S145にてOTPトークンのOTP生成関数を含むコントラクトと認証関数3018DAのKC値をk2、BC値をc2へ書き換えることでユーザーのOTPトークンの生成するOTPを変えることができる。
端末1Aのユーザーはブロックチェーンにアクセスするソフトウェアを用いてOWP生成ソフトウェアまたは専用のウェブサイトを用い、S137からS139までの一連の流れで端末3Aのブロックチェーン部のOWP型のOTPトークンのコントラクトからOTP生成関数を呼び出してOWP型のOTPを取得する。その際のOWPはOWP=fh(A,TIDA,k2,c2)で計算される。
端末3Cや端末3Dがネットワーク20を介して3Aと接続されているときS141からS143にてOTP認証関数3018Aを呼び出し、もしくはS141からS143と同様の工程を3Aではなく3DのOTP認証関数3018DAを呼び出し行って認証結果の戻り値CTAUを得て、前記認証の戻り値CTAUが認証ができたときの値(データ)の時にS144にて端末3Dのサービス提供用内部プログラムに従い開閉装置または施錠装置または始動装置350Dを操作し開閉装置の場合はゲート装置や改札装置などを開き施錠装置の場合は施錠を解錠し始動装置の場合は原動機や電子計算機を始動させる。
OWP生成ソフトウェアまたは専用のウェブサイトではユーザーの秘密鍵の不正利用を監視するためにS136やS140のプロセスにて図6Xに示すデータ構造の様に不正アクセスの有無を検出しユーザーに通知してもよいし、OWPを用いたNFCタグ19Aを用いて施錠を行う扉や乗物や容器などの装置などで個人情報を守る必要があるとき、もしくは個人情報を収集するサーバ3C(およびネットワークに接続できる3D)や3Eや3Fや5Aで情報流出する事により顧客が購入した端末3Dの設備やその所有者を危険にさらす恐れがあるときはS136やS140といった利用者からアクセス情報を収集する機能を利用しなくともよい。
S146ではS144と同じくある任意の時間経過したのちS145と同様に、端末1CがOTP生成側の3AとOTP認証及びサービス側の3Dや3CにてKC値とBC値を更新し一致させOTP計算ができるように設定することができる。KC値をk3、BC値をc3に書き換えることができ、その後も同様に任意の時間ごとにKC値BC値を書き換えることができる。利用形態として自動車の鍵をNFCタグ19Aで実現する場合には車検ごとに自動車の鍵となるOWPを書き換え偽造されたNFCタグ19がある場合もそれを過去のもの(無効な物と)とできる。また有効期限のある利用券やチケット18Aを有効期限後に強制的に認証できないようにさせる事ができる。
FIG. 7E is an explanatory diagram of a sequence when authenticating the terminal 3D using the apparatus shown in FIG. 8B and the OTP authentication system. In FIG. 7E, the use of a ticket, a membership, a key for a car, or a key for a container is assumed as an example. It is assumed that tickets and memberships have an expiration date and have expired, and in the field of automobile keys, objects that are locked regularly at vehicle inspections are connected to the internet and can be maintained and maintained.
FIG. 7E is similar to FIG. 7B.
FIG. 7B is a general sequence diagram at the time of issuance of an OTP token using a password OWP. The OTP token is registered in the service in a series of flows from S130 to S135, and a node of the blockchain (or distributed ledger system DLS). A transaction including a byte code of an OTP token contract (generation contract, OTP generation contract) including an OTP generation function with a KC value of k1 and a BC value of c1 is transmitted to the terminal 3A and deployed so that authentication by OWP can be performed. After the preparation, the token of the token number TIDA is issued to the user identifier A of the private key 101A of the user terminal 1A. At the same time, the OTP authentication function must be set in the terminals 3D and 3C that provide the service, with the KC value set to k1 and the BC value set to c1 in the OTP authentication functions 3018DA, 3019AA, and 3018A. At this point, the user of the terminal 1A can generate and acquire a password OWP with OWP = fh (A, TIDA, k1, c1) and use it for authentication.
After a certain period of time has elapsed in S144, the OTP generated by the user's OTP token is changed by rewriting the KC value of the contract including the OTP generation function of the OTP token and the authentication function 3018DA to k2 and the BC value to c2 in S145. Can be done.
The user of terminal 1A uses OWP generation software or a dedicated website using software that accesses the blockchain, and OTP is performed from the OTP type OTP token contract of the blockchain part of terminal 3A in a series of flows from S137 to S139. Call the generation function to get the OWP type OTP. The OWP at that time is calculated by OWP = fh (A, TIDA, k2, c2).
When the terminal 3C or the terminal 3D is connected to 3A via the network 20, the OTP authentication function 3018A is called from S141 to S143, or the same process as S141 to S143 is called the 3D OTP authentication function 3018DA instead of 3A. When the return value CTAU of the authentication result is obtained and the return value CTAU of the authentication is the value (data) at the time of authentication, the opening / closing device or the locking device or the start is performed according to the internal program for service provision of the terminal 3D in S144. The device 350D is operated to open a gate device, a ticket gate, etc. in the case of an opening / closing device, unlock the lock in the case of a locking device, and start a prime mover or a computer in the case of a starting device.
In order to monitor the unauthorized use of the user's private key by the OWP generation software or the dedicated website, even if the process of S136 or S140 detects the presence or absence of unauthorized access and notifies the user as shown in the data structure shown in FIG. 6X. Good, when it is necessary to protect personal information with devices such as doors, vehicles and containers that lock using NFC tag 19A using OWP, or server 3C (and 3D that can connect to the network) that collects personal information ), 3E, 3F, or 5A, and when there is a risk of endangering the equipment of the terminal 3D purchased by the customer or its owner, use the function to collect access information from users such as S136 and S140. It doesn't have to be.
In S146, as in S144, after an arbitrary time has elapsed, the terminal 1C updates and matches the KC value and BC value with 3A on the OTP generation side and OTP authentication, and 3D or 3C on the service side, and the OTP calculation is performed. It can be set so that it can be done. The KC value can be rewritten to k3, the BC value can be rewritten to c3, and the KC value BC value can be similarly rewritten at arbitrary time intervals thereafter. When the car key is realized by the NFC tag 19A as a usage pattern, even if there is a forged NFC tag 19 by rewriting the OWP that is the key of the car for each vehicle inspection, it can be regarded as a past one (invalid one). .. In addition, it is possible to forcibly prevent the voucher or ticket 18A having an expiration date from being authenticated after the expiration date.

実施例2のOWPはOWP=fh(A,TIDA,KC,BC)として算出され、A,TIDA,OWPの3つを記録させたNFCタグ19A(およびA,TIDA,OWPの3つを印刷した有価紙葉18A)はKC値やBC値が変更されない限り認証を行うことができる。コントラクト3008Aおよび3008AGの生成関数と3Dに認証関数に対し同一のKC値、BC値を設定した後にKC値、BC値を変更しないサービスの運用も可能である。 The OWP of Example 2 was calculated as OWP = fh (A, TIDA, KC, BC), and three NFC tags 19A (and A, TIDA, OWP) in which A, TIDA, and OWP were recorded were printed. The valuable paper sheet 18A) can be authenticated as long as the KC value or BC value is not changed. It is also possible to operate a service in which the KC value and BC value are not changed after the same KC value and BC value are set for the authentication function in the generation function of the contracts 3008A and 3008AG and the authentication function.

しかし長時間(ここでは数年、数十年)KC値BC値を変更しない場合、NFCタグ中のA、TIDA、OWPの3つの情報が漏洩しOWP情報を複製し不正に自動車の鍵を開錠し自動車を始動させる恐れがある。そこで自動車の鍵として数カ月単位、数年単位で定期的にOWPを更新したいときがあるかもしれない。その場合にはOWPを生成するOTPトークンのコントラクトの管理者が数カ月、数年ごとにKC値とBC値をセッター関数fscbで書き換えることでOTPトークンのシークレット変数を書き換え、OWPを任意の時間間隔で変更できる。更新された取得したOWPは更新前の複製されていたかもしれないOWPとは異なる。
ここではNFCタグについて述べているが、紙のチケットなどでもOWPが更新され、OWPの更新前に印刷した紙のチケットは無効となる。KC値BC値の更新を行うことで過去に製造された紙のチケットやNFCのデータ値を無効にすることができる。無効になった紙のチケットなどに対しどう対応するかはサービス提供者に委ねられる。KC値やBC値の変更の履歴を知るサービス提供者は紙のチケットがかつて存在したかどうか検証しその紙のチケット18Aを持つものに対して対応することができるかもしれない。18Aには好ましくはA、TIDA、OWPのほかに印刷時のブロック番号Bnや印刷時刻、サービス提供者の名称と連絡先、OTPトークンのコントラクト識別子を判読できる文字列の状態で記録することが好ましい。
However, if the KC value BC value is not changed for a long time (here, several years, several decades), the three information A, TIDA, and OWP in the NFC tag will leak, and the OWP information will be duplicated to illegally unlock the car. There is a risk of locking and starting the car. Therefore, there may be times when you want to update your OWP on a regular basis every few months or years as the key to your car. In that case, the administrator of the OTP token contract that generates the OWP rewrites the secret variable of the OTP token by rewriting the KC value and BC value with the setter function fscb every few months or years, and the OWP is changed at arbitrary time intervals. Can be changed. The updated and acquired OWP is different from the OWP that may have been duplicated before the update.
Although the NFC tag is described here, the OWP is updated even with a paper ticket, and the paper ticket printed before the OWP update becomes invalid. By updating the KC value and BC value, it is possible to invalidate the data value of the paper ticket or NFC manufactured in the past. It is up to the service provider to respond to invalidated paper tickets. A service provider who knows the history of changes in KC and BC values may be able to verify whether a paper ticket once existed and respond to those who have the paper ticket 18A. In 18A, in addition to A, TIDA, and OWP, it is preferable to record the block number Bn at the time of printing, the printing time, the name and contact information of the service provider, and the contract identifier of the OTP token in a readable character string. ..

自動車は自動車検査時(車検時)に定期的にメンテナンスされるため、その際に自動車に内蔵された自動車の施錠や始動を制御する端末3Dをインターネットに接続させ認証関数のシード値を同期させることもでき、端末3Dに備えられた認証関数3018DAと対応したOWP、TIDA、Aを再度NFCタグ19Aに記録させる必要がある。自動車のOTPトークンの管理者は年末など自動車検査が行われていない休日を狙いKCとBCを変えるトランザクションを端末3Aを含むブロックチェーンシステムに送信することで、コントラクトに属するすべての自動車のNFCタグのOWP情報を変更でき、年末の休日が終わった後からは新しい年のKC,BC値を基に自動車の検査を行い自動車内部の端末3Dや顧客のNFCタグの鍵を最新のOWPを用いるように更新できる。 Since automobiles are regularly maintained during vehicle inspections (at the time of vehicle inspections), the terminal 3D that controls the locking and starting of the automobiles built into the automobiles should be connected to the Internet to synchronize the seed value of the authentication function. It is also possible, and it is necessary to record the OWP, TIDA, and A corresponding to the authentication function 3018DA provided in the terminal 3D on the NFC tag 19A again. The administrator of the OTP token of the car sends a transaction to change KC and BC to the blockchain system including the terminal 3A aiming at the holiday when the car inspection is not performed such as the end of the year, so that the NFC tag of all the cars belonging to the contract OWP information can be changed, and after the holidays at the end of the year, the car will be inspected based on the KC and BC values of the new year, and the latest OWP will be used for the terminal 3D inside the car and the key of the customer's NFC tag. Can be updated.

自動車の鍵でなく建物や容器に搭載された端末3Dの場合は通信用端子や無線通信装置を備えておらずKCやBCの更新ができない恐れがあるので、3Dが通信手段を持たないときはコントラクトの管理者はKC値BC値の変更を行わない。ただし、建物や容器に搭載された端末3Dが通信装置を持ちKC値やBC値を更新できる場合にはコントラクト管理者はKC値とBC値の変更を行うことができる。
端末3DのKC値とBC値を更新するには3Dの所有者が更新作業を行うか、3Dの製造者が更新作業を行うことになりヒトの手が必要になる。施錠を解錠した時に見える部分(施錠された扉の裏側に位置する施錠を解錠するレバーやスイッチおよび金庫においては施錠する端末3Dや施錠装置が取りつけられた面または庫内の面)に有線式の通信用端子を備えさせ、更新用のプログラムを通じてKC値やBC値を更新できると好ましい。
無線により3Dにアクセスできるようにすることもできるがその場合は端末3Dへのアクセス権が必要となる。OTPトークンを保有しているユーザー識別子Aの端末1Aに搭載された何らかのパスワードや秘密鍵を用いてアクセスすることが考えられる。
端末3Aを含む施錠装置の形状および形態については金庫の施錠装置のほか、南京錠型の端末3Dやワイヤーロック型もしくはベルト型の端末3Dも考えられる。自転車等の施錠にはワイヤーロック型や自転車専用の鍵となる端末3Dも考えられる。
In the case of terminal 3D mounted on a building or container instead of a car key, there is a risk that KC and BC cannot be updated because it does not have a communication terminal or wireless communication device, so when 3D does not have communication means The manager of the contract does not change the KC value BC value. However, if the terminal 3D mounted on the building or container has a communication device and can update the KC value and BC value, the contract manager can change the KC value and BC value.
In order to update the KC value and BC value of the terminal 3D, the owner of the 3D will perform the update work, or the manufacturer of the 3D will perform the update work, which requires human hands. Wired to the part that can be seen when the lock is unlocked (the lever or switch located behind the locked door and the surface to which the locking terminal 3D or locking device is attached or the surface inside the safe) It is preferable that the communication terminal of the formula is provided and the KC value and BC value can be updated through the update program.
It is possible to access 3D wirelessly, but in that case, the access right to the terminal 3D is required. It is conceivable to access using some password or private key mounted on the terminal 1A of the user identifier A holding the OTP token.
Regarding the shape and form of the locking device including the terminal 3A, in addition to the locking device of the safe, a padlock type terminal 3D and a wire lock type or belt type terminal 3D can be considered. For locking bicycles and the like, wire lock type and terminal 3D, which is a key for bicycles, can be considered.

入場口や改札などサービスを行う施設に設置された端末3Dの場合はインターネットワークまたはローカルエリアネットワークLANへの接続が容易である。有線または無線を用い入場口や改札でチケットの認証に用いる端末3Dの認証関数3018DAに用いるKC値BC値を遠隔地の端末1Cから更新できる。また3Dをネットワーク20を通じてブロックチェーンのノードとなる端末3Aに接続し3Aのブロックチェーン部に記録された認証関数3018Aを用いて認証してもよい。 In the case of a terminal 3D installed in a facility that provides services such as an entrance or a ticket gate, it is easy to connect to an internetwork or a local area network LAN. The KC value BC value used for the authentication function 3018DA of the terminal 3D used for ticket authentication at the entrance or the ticket gate using wired or wireless can be updated from the remote terminal 1C. Further, the 3D may be connected to the terminal 3A which is a node of the blockchain through the network 20 and authenticated by using the authentication function 3018A recorded in the blockchain unit of the 3A.

図7Eは図8B記載の装置とOTP認証システムを用いて端末3Dに対し認証を行う際のシーケンスの説明図について説明する。実施例2を説明する図7Eと実施例1を説明する図7Dには類似する箇所がある。シークエンスS230,S231は実施例1と同様である。S230ではOTPを計算する際にfh(A,TIDA,KC,BC)といった、ブロック番号Bnを用いず代わりにコントラクト管理者が変更できる変数KCや変数BCを書き換えられるようにする。実施例2ではコントラクト管理者が変更できるシークレット変数BCやKCを採用したパスワードOWPについてOWP=fh(A,TIDA,KC,BC)として計算する。ここでAはユーザ識別子Aであり、TIDAはトークン番号TIDAである。 FIG. 7E describes an explanatory diagram of a sequence when authenticating the terminal 3D using the apparatus shown in FIG. 8B and the OTP authentication system. There are similarities between FIG. 7E illustrating Example 2 and FIG. 7D illustrating Example 1. The sequences S230 and S231 are the same as those in the first embodiment. In S230, the variable KC and the variable BC that can be changed by the contract administrator can be rewritten instead of using the block number Bn such as fh (A, TIDA, KC, BC) when calculating the OTP. In the second embodiment, the password OWP that adopts the secret variables BC and KC that can be changed by the contract administrator is calculated as OWP = fh (A, TIDA, KC, BC). Here, A is the user identifier A, and TIDA is the token number TIDA.

S232ではコントラクト識別子をチケットなど有価紙葉の発券に利用するサーバ端末3Eとサーバ端末3Dに登録または設定する。3Dがネットワーク20と接続されずに利用される場合は3Dの記録部30Dのブロックチェーン部300Dや基礎プログラム部3010Dに認証関数3018Aや3018Aを含む認証コントラクト3008AAを記憶させ、制御部31Dで認証関数3018Aが実行出来るようにする。 In S232, the contract identifier is registered or set in the server terminal 3E and the server terminal 3D used for issuing a valuable paper leaf such as a ticket. When 3D is used without being connected to the network 20, the blockchain unit 300D and the basic program unit 3010D of the 3D recording unit 30D store the authentication contract 3008A including the authentication functions 3018A and 3018A, and the control unit 31D stores the authentication function. Allow 3018A to run.

端末1Aと端末3Eがあるサービスに対応したトークンの発行を契約した事を確認し、端末3Eが管理者端末1Cにトークンの発行を依頼する。シークエンスS233では1Cは1Aのユーザー識別子Aに対しトークン番号TIDAのトークンを発行する。 After confirming that the terminal 1A and the terminal 3E have contracted to issue a token corresponding to a certain service, the terminal 3E requests the administrator terminal 1C to issue a token. In sequence S233, 1C issues a token with the token number TIDA to the user identifier A of 1A.

<有価紙葉の製造>
S234からS240までの一連のシークエンスでは、端末1Aに発行されたトークン番号TIDAと端末1Aに記録された秘密鍵101Aを基に、発券サイト3Eもしくは端末1Aの記憶装置に記録された発券ソフトウェアを用いて1AをブロックチェーンシステムのOTP生成コントラクト3008Aにアクセスさせ、S230にて3008A設定されたOWP=fh(A,TIDA,KC,BC)をOTPとして生成させる処理を開始する。
そしてOWPを3Eや発券ソフトウェアに記録されたチケットの図柄情報、サービス提供者の連絡先や住所、チケットなど有価紙葉の有効期限など、サービスに応じて必要な情報と共に印刷用のOWP等認証情報表示画面1500Aを1A表示させ、また必要であれば1500Aの画面情報を端末1Aのプリンタ152Aを用いて印刷させ、OWPとAとTIDAを記入した有価紙葉18Aを製造させる。
またOWPとAとTIDAを記入したNFCタグ19Aを製造させる。NFCタグ19Aについても有価紙葉18Aと同様に、OWPとAとTIDAとサービス提供者の連絡先や住所、チケットなど有価紙葉の有効期限など、サービスに応じて必要な情報を19Aの記録装置に記録させることができる。
<Manufacturing of valuable paper leaves>
In a series of sequences from S234 to S240, the ticketing software recorded in the ticketing site 3E or the storage device of the terminal 1A is used based on the token number TIDA issued to the terminal 1A and the private key 101A recorded in the terminal 1A. 1A is accessed to the OTP generation contract 3008A of the blockchain system, and the process of generating OWP = fh (A, TIDA, KC, BC) set in 3008A in S230 is started.
Then, OWP is 3E, the ticket design information recorded in the ticketing software, the contact information and address of the service provider, the expiration date of valuable paper leaves such as tickets, etc., along with the information necessary for the service, as well as the OWP authentication information for printing. The display screen 1500A is displayed as 1A, and if necessary, the screen information of 1500A is printed using the printer 152A of the terminal 1A, and a valuable paper sheet 18A on which OWP, A, and TIDA are written is produced.
In addition, the NFC tag 19A in which OWP, A and TIDA are entered is manufactured. Similar to the valuable paper leaf 18A, the NFC tag 19A is a recording device for 19A that records necessary information according to the service, such as the contact information and address of OWP, A, TIDA, and the service provider, and the expiration date of the valuable paper leaf such as tickets. Can be recorded in.

シークエンスS235では発券サーバ3Eにアクセスし1500Aや18Aに発券を行う際に図6Xにあるようなアクセス者の情報を取得し不正アクセスが行われていないか監視できる。ただし必須の機能ではない。
不正アクセスの監視に関してはS242やS244にて1500Aや18Aや19Aをサービス提供端末3Dに提示した際に図8Bの342Dの防犯カメラ等の入場者を監視するシステムがあると好ましい。(342Dを備えると好ましいが物理的なあるいは経済的な理由で防犯カメラを備えることに利点が少ない用途、例えば小型金庫や南京錠型の施錠機器などでは監視カメラを搭載しなくともよい。自動車や建物を施錠する用途などでは防犯カメラを搭載することは可能であるが搭乗者のプライバシーを考慮し342Dを搭載しない場合も本発明では考えられる。)
In the sequence S235, when accessing the ticketing server 3E and issuing a ticket to 1500A or 18A, it is possible to acquire the information of the accessor as shown in FIG. 6X and monitor whether unauthorized access is performed. However, it is not an essential function.
Regarding the monitoring of unauthorized access, it is preferable to have a system for monitoring visitors such as the security camera of FIG. 8B when 1500A, 18A or 19A is presented to the service providing terminal 3D in S242 or S244. (It is preferable to have a 342D, but for physical or economic reasons, there is little advantage in having a security camera, for example, a small safe or a padlock-type locking device may not be equipped with a surveillance camera. Although it is possible to mount a security camera for the purpose of locking, it is also conceivable in the present invention that the 342D is not mounted in consideration of the privacy of the passenger.)

シークエンスS236、S237、S238で端末1Aは端末3AのOTP生成コントラクトにOTPを生成する関数を呼び出し実行させ取得する。サーバ端末3Eのウェブサイトでチケットを発行している場合にはS239にて有価紙葉の情報1500Aを表示し、1500Aの印刷を許可し有価紙葉18Aを印刷させNFCタグ19Aに有価紙葉の情報を記録させる。また1Aに記録し実行している発券ソフトウェアから発券している場合にはS240にてソフトウェアを通じて有価紙葉の情報1500Aを表示し、1500Aの印刷を許可し有価紙葉18Aを印刷させNFCタグ19Aに有価紙葉の情報を記録させる。 In the sequences S236, S237, and S238, the terminal 1A calls and executes the function that generates the OTP in the OTP generation contract of the terminal 3A, and acquires the function. When a ticket is issued on the website of the server terminal 3E, the valuable paper leaf information 1500A is displayed on S239, the printing of 1500A is permitted, the valuable paper leaf 18A is printed, and the NFC tag 19A is used to print the valuable paper leaf. Have the information recorded. If the ticket is issued from the ticketing software that is recorded and executed in 1A, the valuable paper leaf information 1500A is displayed through the software in S240, the printing of 1500A is permitted, and the valuable paper leaf 18A is printed, and the NFC tag 19A. To record information on valuable paper leaves.

<有価紙葉の使用>
シークエンスS241では1500Aを表示できる端末1AもしくはS240で製造した紙チケット18A又はNFCタグ19をサービス提供の場へ持参し提示し改札や入場口または施錠された建物・乗物・容器の端末3Dへ提示し入場や解錠を試みる。このとき1500Aまたは紙チケット18Aを端末3Dのカメラ340Dに読取させる。またNFCタグ19AのOWPの認証に必要なを入場口又は施錠設備の端末3Dの通信装置32Dを通じて読取させる。
<Use of valuable paper leaves>
In the sequence S241, the paper ticket 18A or NFC tag 19 manufactured by the terminal 1A or S240 capable of displaying 1500A is brought to the service provision place and presented to the ticket gate, the entrance, or the terminal 3D of the locked building / vehicle / container. Try to enter or unlock. At this time, the 1500A or the paper ticket 18A is read by the camera 340D of the terminal 3D. Further, the NFC tag 19A required for OWP authentication is read through the entrance or the communication device 32D of the terminal 3D of the locking equipment.

シークエンスS242では提示された紙又はディスプレイの表示面印刷面を読み取り、あるいはNFCタグチケットのデータ読み取り、
端末3Dがネットワーク20と接続されていない場合(オフラインの場合)、S242にてサービス部の端末装置3D内部の300Dや3010Dに記録された認証関数3018DAにてOWPの検証、認証処理を行い認証関数から認証結果の戻り値CTAUを得る。
端末3Dがネットワーク20と接続されている場合(オンラインの場合)、S243にてDLS上の認証関数3018AにアクセスしでOWPを認証し認証関数から認証結果の戻り値CTAUを得る。S243では認証時に認証回数の増減やチケットを利用済みにする処理を設定できる。
ここで端末3Dがオフラインの場合の例として小型の金庫、南京錠型施錠装置、無線通信が困難な環境が想定される自動車や農業機械・林業機械・船舶・重機などの乗物や建物の施錠部分が想定される。オフラインで利用されることが前提の端末3Dでは保守点検用に3Dの300Dや3010Dに記録された認証関数3018DAに用いる変数KCやBCを変更できる通信用の端子や無線通信装置、NFC装置を備えていると好ましい。
端末3Dがオンラインの場合の例として駅の改札や映画館など商業施設の入場口が挙げられる。ただし災害時にはネットワークが切断される恐れがあるのでオンラインの場合であってもオフラインになっても認証ができるようにした方が好ましく、そのサービスを提供する会社のローカルエリアネットワークを経由しインターネットワーク上の3Aのブロックチェーン部を複製し同期させつつ、インターネットワークから遮断された場合でも端末3Dにブロックチェーン部300Dを構築できていることが好ましい。
In sequence S242, the printed surface of the presented paper or display surface is read, or the data of the NFC tag ticket is read.
When the terminal 3D is not connected to the network 20 (offline), the OWP is verified and authenticated by the authentication function 3018DA recorded in 300D or 3010D inside the terminal device 3D of the service unit in S242, and the authentication function is performed. The return value CTAU of the authentication result is obtained from.
When the terminal 3D is connected to the network 20 (when online), the authentication function 3018A on the DLS is accessed in S243 to authenticate the OWP, and the return value CTAU of the authentication result is obtained from the authentication function. In S243, it is possible to set an increase / decrease in the number of authentications and a process of marking the ticket as used at the time of authentication.
Here, as an example when the terminal 3D is offline, a small safe, a padlock type locking device, a vehicle such as an automobile, an agricultural machine, a forestry machine, a ship, a heavy machine, or a locked part of a building where wireless communication is assumed are assumed. is assumed. The terminal 3D, which is supposed to be used offline, is equipped with a communication terminal, wireless communication device, and NFC device that can change the variables KC and BC used for the authentication function 3018DA recorded in the 3D 300D and 3010D for maintenance and inspection. It is preferable to have.
Examples of cases where the terminal 3D is online include entrances to commercial facilities such as station ticket gates and movie theaters. However, since the network may be disconnected in the event of a disaster, it is preferable to enable authentication whether online or offline, and on the internetwork via the local area network of the company that provides the service. It is preferable that the blockchain unit 300D can be constructed on the terminal 3D even when the blockchain unit of 3A is duplicated and synchronized with the terminal 3D even when the blockchain unit is cut off from the internetwork.

シークエンスS244では端末3Dは認証関数から認証結果の戻り値CTAUが正しいか判断し、正しい場合には認証ができたと判断し、入場処理や施錠を解錠するため350Dを操作する。認証結果の戻り値CTAUが正しく無い場合には再度認証を行うまで待機する。S244にて350Dを操作すると同時に351Dと352Dを認証できた場合と認証できない場合に対応した動作を行わせてもよい。
またS244において入場口や駅の改札の端末3Dなどの時に開閉装置350Dが無く人員によって入場者の制止などを行う場合は350Dを備えていなくてもよく、350Dの代わりに人員が音や光で入場させるユーザーを区別する際に役立つよう351Dと352Dを認証できた場合と認証できない場合に対応した動作を行わせてもよい。
In the sequence S244, the terminal 3D determines from the authentication function whether the return value CTAU of the authentication result is correct, and if it is correct, determines that the authentication has been completed, and operates the 350D to unlock the entrance process and the lock. If the return value CTAU of the authentication result is not correct, it waits until authentication is performed again. At the same time as operating the 350D in S244, the operation corresponding to the case where the 351D and the 352D can be authenticated and the case where the authentication cannot be performed may be performed.
Further, in S244, when the opening / closing device 350D is not provided at the entrance or the terminal 3D of the ticket gate of the station and the visitors are stopped by the personnel, the 350D may not be provided, and the personnel may use sound or light instead of the 350D. In order to help distinguish the users to be entered, the operation corresponding to the case where the 351D and the 352D can be authenticated and the case where the authentication cannot be performed may be performed.

シークエンスS245ではコントラクト管理者端末1Cがブロックチェーンのノード端末3Aにアクセスし、OTP生成コントラクトのシークレット変数KC値やBC値を変更し、さらに端末3Dの記憶装置の300Dや3010Dに記録された認証関数のKC値BC値を変更することで、OWP=fh(A,TIDA,KC,BC)のシード値が変更されパスワードOWPが変更される。ネットワークに接続されていない端末3Dは端末3Dとユーザー端末との間で通信を行うことの出来る端子や無線通信装置、NFC装置が必要である。端末3Dが金庫や自動車ではその所有者や整備又は保守を行う者がシークレット変数KC値やBC値を変更する必要がある。 In sequence S245, the contract administrator terminal 1C accesses the node terminal 3A of the blockchain, changes the secret variable KC value and BC value of the OTP generation contract, and further, the authentication function recorded in the storage device 300D or 3010D of the terminal 3D. By changing the KC value BC value of, the seed value of OWP = fh (A, TIDA, KC, BC) is changed and the password OWP is changed. The terminal 3D that is not connected to the network needs a terminal capable of communicating between the terminal 3D and the user terminal, a wireless communication device, and an NFC device. If the terminal 3D is a safe or an automobile, the owner or the person who performs maintenance or maintenance needs to change the secret variable KC value or BC value.

シークエンスS245において端末3Aと端末3DのKCやBCを変更すると、ユーザーが製造したNFCタグや印刷物のチケットなど有価紙葉は認証できなくなり無効にさせることもできる。例えばある期日までに(11月30日から12月30日まで有効など)使用期限が設定されている商品券では有効期限後にKC値やBC値を変更すると流通していた商品券(紙、ディスプレイ表示情報、NFCタグ)は認証できなくなり利用できなくさせることもできる。 If the KC or BC of the terminal 3A and the terminal 3D is changed in the sequence S245, valuable paper leaves such as NFC tags and printed matter tickets manufactured by the user cannot be authenticated and can be invalidated. For example, for gift certificates that have an expiration date set by a certain date (valid from November 30th to December 30th, etc.), gift certificates (paper, display) that were in circulation when the KC value or BC value was changed after the expiration date. Display information (NFC tag) cannot be authenticated and cannot be used.

シークエンスS232、S233に関連して端末3Dを用いて解錠できるトークン番号をあらかじめ決定し、そのトークン番号を端末3DのROMとなる記憶装置に記録させてもよい。端末3Dの認証関数はA,TIDA,OWPをNFCタグより読み取り認証を行うが、自動車や建物・金庫など容器といった異なる製造番号を持ちうる製品に端末3Dを設定する際には、製品の製造番号(製品の個体識別番号)に対応したトークン番号を製品の製造時に端末3Dに組み込むことができる。 A token number that can be unlocked using the terminal 3D may be determined in advance in relation to the sequences S232 and S233, and the token number may be recorded in a storage device that is a ROM of the terminal 3D. The authentication function of the terminal 3D reads A, TIDA, and OWP from the NFC tag and authenticates them. The token number corresponding to (individual identification number of the product) can be incorporated into the terminal 3D at the time of manufacturing the product.

<自動車の鍵>
例として仮にOTPトークンとそのトークンが生成するOWP型のパスワード等をNFCタグに記録させた自動車の鍵である場合、ある車種に対応するOTPトークンのコントラクト識別子が設定され、その車種の製造番号に対応するトークン番号を記録した端末3Dが製造番号に対応する自動車の施錠装置の端末3Dや始動制御装置端末3Dあるいは自動車のメインコンピュータ端末3Dに搭載されうる。
自動車を所有している事はDLS上に記録され、仮にほかの人(他のユーザー識別子B)に自動車を譲渡した場合、OWPを生成する引数がAからBに変更され、ユーザー識別子Bをもつユーザーはユーザー識別子Aのユーザーとは異なるOWPを生成しNFCタグに搭載させ利用することができる。ここでユーザーAは更新前のA,TIDA,OWPを持つNFCタグを持っており自動車を解錠できるユーザーはAとBの2人がいる事になってしまう。そこでシークエンスS245において定期的に3Aを含むブロックチェーンシステムと自動車の端末3DのKC,BCを変更させ更新させる。
また端末3Dがユーザー識別子AやBを記録できるようにしてもよい。ユーザー識別子Aからユーザー識別子Bのユーザーに譲渡された時ユーザー識別子Bのユーザーはユーザー識別子Bを解錠された自動車のドア内部からアクセスできる通信端子を経由して端末3Dに書き込んでもよい。前記の例ではユーザー識別子Bが内部で端末3Dに書き込まれてOTP認証関数3018DAの引数に固定されていれば端末3Dは解錠時にユーザー識別子Bに由来するOWPのみ認証できる。(この作業は名義の書き換えに似ている。)
自動車の端末3Dがインターネットワークに接続できる場合には端末3Dとサーバ端末3AでのKC,BCの更新と同期は容易であるが、インターネットワーク20に接続困難な場合は自動車を整備できる工場や自動車の譲渡売買に対応する古物商の元でKC,BCの更新の対応ができうる。また定期的な自動車検査の段階で自動車の端末3Dの認証関数とそれを動かすNFCタグ19Aを更新することもできる。他に農業機械、重機、船舶などに搭載された端末3Dもユーザーの求めに応じて保守点検や譲渡時にKCをBCを書換えてNFCタグと端末3Dの状態を更新することができる。工作機械などの産業用設備や装置も施錠できる。
トークン番号を一回のみ書き込みできるROMの形で(自動車などの製品製造者がトークン番号を一度書き込むと攻撃者から書き換えされないROMの形で)端末3Dの記録装置に記録させ製品の製造番号と対応づけることで、自動車等の製品の保有者の履歴情報、流通情報やメンテナンス履歴の記録に役立つかもしれない。自動車に限らず乗物や設備、製品の流通状況を調べることに利用できる。
<Car key>
As an example, if the OTP token and the OWP type password generated by the token are recorded in the NFC tag, the contract identifier of the OTP token corresponding to a certain vehicle type is set and the serial number of the vehicle type is set. The terminal 3D recording the corresponding token number may be mounted on the terminal 3D of the lock device of the automobile corresponding to the serial number, the start control device terminal 3D, or the main computer terminal 3D of the automobile.
Owning a car is recorded on the DLS, and if the car is transferred to another person (another user identifier B), the argument that generates the OWP is changed from A to B and has the user identifier B. The user can generate an OWP different from the user of the user identifier A, mount it on the NFC tag, and use it. Here, the user A has an NFC tag having A, TIDA, and OWP before the update, and there are two users, A and B, who can unlock the car. Therefore, in the sequence S245, the blockchain system including 3A and the KC and BC of the terminal 3D of the automobile are changed and updated periodically.
Further, the terminal 3D may be able to record the user identifiers A and B. When the user identifier A is transferred to the user of the user identifier B, the user of the user identifier B may write the user identifier B to the terminal 3D via the communication terminal accessible from the inside of the unlocked automobile door. In the above example, if the user identifier B is internally written to the terminal 3D and fixed to the argument of the OTP authentication function 3018DA, the terminal 3D can authenticate only the OWP derived from the user identifier B at the time of unlocking. (This work is similar to rewriting the name.)
If the terminal 3D of the car can be connected to the internet, it is easy to update and synchronize the KC and BC between the terminal 3D and the server terminal 3A, but if it is difficult to connect to the internet 20, the factory or car that can maintain the car. It is possible to deal with the renewal of KC and BC under the antique dealer who corresponds to the transfer sale of. It is also possible to update the authentication function of the terminal 3D of the automobile and the NFC tag 19A that operates the authentication function at the stage of periodic automobile inspection. In addition, the terminal 3D mounted on agricultural machinery, heavy machinery, ships, etc. can also update the state of the NFC tag and the terminal 3D by rewriting the KC to the BC at the time of maintenance and inspection or transfer at the request of the user. Industrial equipment and devices such as machine tools can also be locked.
Corresponds to the serial number of the product by recording it in the recording device of the terminal 3D in the form of a ROM that can write the token number only once (in the form of a ROM that is not rewritten by the attacker once the product manufacturer such as an automobile writes the token number). By attaching it, it may be useful for recording the history information, distribution information and maintenance history of the owners of products such as automobiles. It can be used not only for automobiles but also for checking the distribution status of vehicles, equipment, and products.

<建物の扉の鍵、金庫など容器の鍵の鍵>
建物の鍵、金庫など容器の鍵の鍵については、自動車の製造時と同じくトークン番号を金庫や施錠機能付き扉の製品ごとに製造時に割り当て、製品に内蔵した端末3Dに固有のトークン番号を端末3Dの記憶装置30DのROMに記録させ、ユーザーのもとへ端末3Dを含む製品を流通させることができる。一方で30DのROMに製品の製造番号に対応したトークン番号を割り当てることは製品の製造工程において時間や労力費用を必要とする恐れがある。(例として大量生産される小型の錠前型端末3Dに個別にトークン番号を割り当てるのは小型の錠前の製造コストの増加につながりかねない)
そこで30Dにトークン番号を記録させる際にROMではなく不揮発性のRAMを用い、顧客が施錠機能付き扉や金庫等の容器を購入した際にユーザーの手でNFCタグの認証に利用するトークン番号を記録する方式が考えられる。ユーザーが例として端末3Dを備えた金庫を購入し、またトークンの発行を依頼しトークン番号TIDAのトークンが発行される。購入した金庫は施錠されておらず、金庫の扉の裏に設置された端末3Dへの接続用端子やNFC等通信部を用いて、ユーザー端末1Aなどから記憶装置30Dにアクセスし、金庫のトークン番号をユーザー識別子Aが保有しているトークン番号TIDAに設定する。そして端末1Aの持っている秘密鍵101Aを用いてサーバ3AよりOWPを生成し、OWPとユーザー識別子A(そしてトークン番号TIDA)をNFCタグ19に記録させ、前記認証情報を記録したNFCタグ19にて端末3DでOWPによるOTP認証を行い認証結果が一致した際には金庫を解錠する(施錠または解錠する)。
金庫等に搭載する端末3Dにおいても自動車の場合と同じくユーザー識別子を端末3Dに記録させてもよい。(装置にユーザー識別子という形でユーザーの名義を記入してもよい。)
<Keys for building doors, keys for containers such as safes>
For the keys of buildings, safes, and other container keys, token numbers are assigned to each product of safes and doors with locking functions at the time of manufacture, as in the case of automobile manufacturing, and the token number unique to the terminal 3D built into the product is assigned to the terminal. It is possible to record in the ROM of the 3D storage device 30D and distribute the product including the terminal 3D to the user. On the other hand, assigning a token number corresponding to a product serial number to a 30D ROM may require time and labor in the product manufacturing process. (As an example, assigning a token number individually to a mass-produced small lock-type terminal 3D may lead to an increase in the manufacturing cost of the small lock.)
Therefore, when recording the token number in 30D, a non-volatile RAM is used instead of ROM, and when the customer purchases a container such as a door with a locking function or a safe, the token number used by the user for NFC tag authentication is used. A recording method is conceivable. As an example, a user purchases a safe equipped with a terminal 3D, requests issuance of a token, and a token with a token number TIDA is issued. The purchased safe is not locked, and the storage device 30D is accessed from the user terminal 1A or the like using the terminal for connecting to the terminal 3D installed behind the door of the safe or the communication unit such as NFC, and the token of the safe is used. The number is set to the token number TIDA held by the user identifier A. Then, an OWP is generated from the server 3A using the private key 101A possessed by the terminal 1A, the OWP and the user identifier A (and the token number TIDA) are recorded in the NFC tag 19, and the NFC tag 19 in which the authentication information is recorded is used. Then, OTP authentication is performed by OWP on the terminal 3D, and when the authentication results match, the safe is unlocked (locked or unlocked).
In the terminal 3D mounted on a safe or the like, the user identifier may be recorded in the terminal 3D as in the case of a car. (You may write the user's name on the device in the form of a user identifier.)

<NFCタグの電源および入出力装置>
NFCタグ19Aには電源装置の中に一次電池または二次電池を含んでいてもよい。19Aには入力装置として一つ以上の押しボタン式スイッチ(またはタッチセンサ)を備えていてもよい。自動車の鍵の用途では自動車のドアの施錠をNFCなどの無線通信により遠隔地から解錠することを実行する押しボタンと、解錠されたドアを再度施錠するための施錠ボタンの二つを19Aは備え、なおかつ19AのOWPなどを記録した記憶装置、制御演算装置、入出力装置、無線通信を含む電子計算機を動作させるための電源として一次電池または二次電池が必要となる。
ここで19Aの入力装置はNFC機能付きのICカードやタグであるときは、入力装置がNFCタグとしての無線通信によるものだけの場合もある。
また入力装置は押しボタン式やタッチセンサを具体例として述べたがその方式は特に指定はしない。(例えば音センサによる音声入力のようにセンサの種類に応じて多様な入力形態が考えられるためである)。19AにはNFC機能も含む無線の入力装置やその他センサによる入力装置を備えている。
さらに可能であればNFCタグ19Aは入力装置を操作した際(入力装置が動作している際に)に入力装置が操作されたことを光や音で知らせるための出力装置を備えていてもよい。19Aは発光ダイオードなどの発光装置またはブザーを備えていてもよい。
<NFC tag power supply and input / output device>
The NFC tag 19A may include a primary battery or a secondary battery in the power supply device. The 19A may be provided with one or more pushbutton switches (or touch sensors) as an input device. For the use of car keys, there are two buttons, a push button that unlocks the car door from a remote location by wireless communication such as NFC, and a lock button that locks the unlocked door again. In addition, a primary battery or a secondary battery is required as a power source for operating a storage device for recording an OWP of 19A, a control calculation device, an input / output device, and a computer including wireless communication.
Here, when the input device of 19A is an IC card or tag with an NFC function, the input device may be only by wireless communication as an NFC tag.
As the input device, a push button type or a touch sensor is described as a specific example, but the method is not particularly specified. (This is because various input forms can be considered depending on the type of sensor, such as voice input by a sound sensor). The 19A is equipped with a wireless input device including an NFC function and an input device using other sensors.
Further, if possible, the NFC tag 19A may be provided with an output device for notifying by light or sound that the input device has been operated when the input device is operated (when the input device is operating). .. The 19A may be provided with a light emitting device such as a light emitting diode or a buzzer.

<暗号化されたデータを復号する用途>
図8C及び図8Dは本発明のワンタイムパスワード認証システム(OTP認証システム)において暗号化されたデータを復号し閲覧する際の装置の接続図である。図8Cはネットワーク20を経由して双方向に通信できるよう端末4A、端末1C、端末3A、端末5A,端末5Bが接続されている。図8Dは端末4A(および4Aと同等の複数端末)が放送局端末5Cから暗号化データ放送を受信し、受信した暗号化データを復号する場合の装置の接続図である。
端末4Aの記録部にはソフトウェアCRHNの情報403Aが記録され、403Aのプログラムを実行しソフトウェアCRHNを動作させ暗号化されたデータEncData(図4Bの4034A)を本発明の認証システムから得られた鍵情報CTAU4031Aや外部の鍵情報AKTB4032Aを用いて復号に用いる鍵情報TTKY4033Aを作成し、4033Aを用いて4034Aを復号し復号されたデータDecData(図4Bの4035A)を得て4035Aを閲覧または視聴し、4035Aがプログラムの場合は実行する。図8Cと図8Dは実施例3(実施形態3)を説明する資料である。
<Use for decrypting encrypted data>
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. In FIG. 8C, the terminal 4A, the terminal 1C, the terminal 3A, the terminal 5A, and the terminal 5B are connected so as to be able to communicate in both directions via the network 20. FIG. 8D is a connection diagram of a device in which the terminal 4A (and a plurality of terminals equivalent to 4A) receives the encrypted data broadcast from the broadcasting station terminal 5C and decodes the received encrypted data.
The software CRHN information 403A is recorded in the recording unit of the terminal 4A, the program of the software CRHN is executed, the software CRHN is operated, and the encrypted data EncData (4034A in FIG. 4B) is obtained from the authentication system of the present invention. The key information TTKY4033A used for decryption is created using the information CTAU4031A and the external key information AKTB4032A, the 4034A is decoded using the 4033A, and the decoded data DecData (4035A in FIG. 4B) is obtained to view or view the 4035A. If 4035A is a program, execute it. 8C and 8D are materials for explaining Example 3 (Embodiment 3).

実施例3(実施形態3)の動作は実施例1と似ている。実施例1ではウェブサイトにログインしサービスにアクセスする用途で用いるが、実施例3ではログインする対象が暗号化されたデータを復号してアクセスすることに代わる。実施例3ではブロック番号Bn等ブロックチェーンの時刻情報を利用したBnTOTPを用いる。実施例で利用するBnTOTPはBnTOTP=fh(A,TIDA,KC,Bn)またはBnTOTP=fh(A,TIDA,KC,Bn,V)またはBnTOTP=fh(A,TIDA,KC,BC,Bn,V)であり、変数KCとBCはコントラクト管理者によって関数fscbにより変更され更新されることがある。 The operation of the third embodiment (three embodiments) is similar to that of the first embodiment. In the first embodiment, it is used for logging in to a website and accessing a service, but in the third embodiment, the logged-in target substitutes for decrypting and accessing encrypted data. In the third embodiment, BnTOTP using the time information of the block chain such as the block number Bn is used. The BnTOTP used in the examples is BnTOTP = fh (A, TIDA, KC, Bn) or BnTOTP = fh (A, TIDA, KC, Bn, V) or BnTOTP = fh (A, TIDA, KC, BC, Bn, V). ), And the variables KC and BC may be modified and updated by the function fscb by the contract administrator.

図7CAに配信または記録媒体の配布または放送を受信して得られた暗号化されたデータを復号するシークエンスを示す。図7CBに平文のデータの暗号化を行い作成された暗号化データを配信または配布または放送するシークエンスを示す。図7CCにネットワークからユーザー端末の通信が切断されたオフライン状態において閲覧済み証明書OFBKMKを用いて暗号化ファイルを復号し閲覧する例を示す。 FIG. 7 CA shows a sequence for decrypting encrypted data obtained by receiving distribution or distribution or broadcasting of a recording medium. FIG. 7CB shows a sequence of distributing, distributing, or broadcasting encrypted data created by encrypting plaintext data. FIG. 7CC shows an example of decrypting and browsing an encrypted file using the browsed certificate OFBKMK in an offline state in which the communication of the user terminal is disconnected from the network.

<暗号化されたデータの作成>
まずソフトウェアCRHN403Aを用いて暗号化されたファイルを作成する手順から述べる。
図7CBのシークエンスS180で平文データ(コンテンツデータ、コンテンツファイル)を用意する。S181では平文データに添付する電子証明書DecCertなど(電子証明書とコンテンツデータをある秘密鍵で電子署名した情報を含む)を取得する。これは必須ではないが、暗号化データを復号した際に平文ファイルの作成者が誰かを知り、電子証明書の発行者がソフトウェアCRHNに広告などを掲載するサーバーに登録された発行者であると分かっていれば悪意のあるプログラムではないと判断し、そのデータを実行できる。
通常、ソフトウェアCRHNが電子書籍や音楽動画の再生ソフトウェアとして利用されるのみの場合、音楽・動画・書籍ファイルであればファイル名に拡張子がついておりその拡張子に従ってファイルを処理しドキュメントファイルの表示や音楽映像ファイルの再生ができるので、悪意のあるファイルを実行する可能性は低いかもしれない。しかしファイル名に拡張子が無くあらゆるデータを実行できるようソフトウェアCRHNをプログラムする場合には悪意のあるプログラムデータに対する対抗手段が必要となり、その手段の一つとして平文のファイルや暗号化された後のファイルに登録された電子証明書と電子署名を付与することが望ましい。
<Creation of encrypted data>
First, the procedure for creating an encrypted file using the software CRHN403A will be described.
FIG. 7 CB sequence S180 prepares plaintext data (content data, content file). In S181, the digital certificate DecCert or the like attached to the plaintext data (including the information in which the digital certificate and the content data are digitally signed with a certain private key) is acquired. This is not essential, but when the encrypted data is decrypted, the creator of the plaintext file is known, and the issuer of the electronic certificate is the issuer registered on the server that posts advertisements etc. on the software CRHN. If you know it, you can judge that it is not a malicious program and execute the data.
Normally, when software CRHN is only used as playback software for e-books and music videos, if it is a music / video / book file, the file name has an extension, and the file is processed according to the extension and the document file is displayed. And music video files can be played, so it may be unlikely that a malicious file will be executed. However, when programming the software CRHN so that the file name does not have an extension and all data can be executed, countermeasures against malicious program data are required, and one of the means is a plain file or after encryption. It is desirable to give the electronic certificate and electronic signature registered in the file.

S181では平文データが雑誌であったり新聞であったり週間誌等であることも想定される。紙の新聞や雑誌には紙面に広告などが印刷されているように、平文ファイルに広告データや広告を配信するサイトをもつ広告配信用サーバ端末5A(CRHNcm)にリンクし接続させるための広告配信サイトのURIを埋め込むことができる。
この端末5Aの広告配信サイトへのURIを平文データに埋め込むことによるによる機能を利用するかどうかは平文データの権利者の判断によるが、サーバ5Aには不正アクセス防止機能が備えることができ、また広告の表示と、平文データに由来して広告が表示されたことによる平文データの権利者への広告収入の還元も期待できるため搭載することが望ましいかもしれない。前記機能はコンテンツの権利者がユーザー端末によって権利者の暗号化データをソフトウェア403Aを用いて復号し閲覧されるたびに広告収入を得て収益を得ることにつながる収益化機能となる。
トークン番号ごとに異なる広告配信サイトのURIを設定することもできる(基本的なURIにユーザー識別子やトークン番号に由来する値を設定しそのURIに対応する広告データを設定するなど)。
ここで設定するURIからは配信する広告などは平文データやそれに対応するOTPトークンに記載のレイティング情報に応じた広告を配信する必要がある。一度暗号化しネットワーク20を通じて世界中に配布し流通した暗号化ファイルに含まれる平文データに記載されたURIは変更出来ない。
In S181, it is assumed that the plaintext data is a magazine, a newspaper, a weekly magazine, or the like. Just as advertisements are printed on paper newspapers and magazines, advertisement distribution for linking to an advertisement distribution server terminal 5A (CRHNcm) that has a site that distributes advertisement data and advertisements in plain text files. You can embed the URI of the site.
Whether or not to use the function by embedding the URI to the advertisement distribution site of the terminal 5A in the plaintext data is determined by the right holder of the plaintext data, but the server 5A can be equipped with an unauthorized access prevention function. It may be desirable to install it because it can be expected to display the advertisement and return the advertising revenue to the right holder of the plaintext data due to the display of the advertisement derived from the plaintext data. The function is a monetization function that leads to profits from advertising revenue each time the right holder of the content decrypts the encrypted data of the right holder by the user terminal using the software 403A and browses it.
It is also possible to set a different URI of the advertisement distribution site for each token number (for example, set a value derived from the user identifier or token number in the basic URI and set the advertisement data corresponding to the URI).
For the advertisement to be delivered from the URI set here, it is necessary to deliver the advertisement according to the rating information described in the plaintext data and the corresponding OTP token. The URI described in the plaintext data included in the encrypted file once encrypted and distributed all over the world through the network 20 cannot be changed.

端末5Aが配信する広告配信サイトへ接続するためのURIはソフトウェアCRHN403Aにも設定でき、端末4Aで403Aを実行させた際に広告を表示させることができる。広告を表示させると同時に不正アクセスの有無を403Aが調べることもできる。広告に加えソフトウェアCRHN403Aのソフトウェア情報の更新の案内もできる。ただし、コンテンツの閲覧専用ではなく個人または法人の業務用に設計された403Aは広告へ接続するURIを持たないこともある。 The URI for connecting to the advertisement distribution site distributed by the terminal 5A can also be set in the software CRHN403A, and the advertisement can be displayed when the terminal 4A executes the 403A. At the same time as displaying the advertisement, the 403A can check for unauthorized access. In addition to advertising, it is also possible to guide the update of software information of software CRHN403A. However, the 403A, which is designed for personal or corporate business rather than content viewing only, may not have a URI to connect to the advertisement.

S182ではS181で作成し登録や広告用のURIを埋め込んだ平文データを暗号化及び復号するOTPトークンのコントラクトをプログラムする。実施例1や実施例2と同様な工程である。看板となる変数3024Aにコンテンツの名前や権利者名、権利者の連絡先、レイティング等の情報を記録する。またOTP認証関数の戻り値またはデータCTAU(図3AAやABやACの3021A)あるいはOTP処理時の処理内容3022Aや3022Aで操作される情報のデータベース3023Aといった変数を必要に応じて設定する。
ここで実施例3を実施する際に必要な変数は認証関数の戻り値CTAUであり、CTAUは認証したときにブロックチェーン上に記録された情報CTAUを認証結果が正しいアクセス者に返し、そうでない場合にはCTAUではない情報(認証ができないときの情報)を返す。実施例3において暗号化データを復号するための共通鍵暗号の共通鍵TTKYはCTAUを基に計算されるので、コントラクトの作成者および管理者はCTAUの設定を行う必要がある。
3021AのCTAUに関する情報はCTAUを変更する権限のあるユーザー識別子からのアクセスを受けてCTAUを変更させるセッター関数を備えていてもよい。トークン番号に異なるCTAU(マッピング変数として表現する場合CTAU[TIDA])を設定することも可能である。ただしその場合も各ユーザー毎にCTAU[TIDA]を設定する必要がある。さらにユーザーのCTAU[TIDA]毎にコンテンツを暗号化して配信する必要がある(そしてブロックチェーン上でのトランザクションが増加する)。
3021AのCTAUは端末3Aにおいての値であり、OTP認証後に端末4Aに4031Aとして記録される。3021Aと4031Aは同じ値である。
In S182, a contract of an OTP token created in S181 and embedded with a URI for registration or advertisement is programmed to encrypt and decrypt plaintext data. The process is the same as that of the first and second embodiments. Information such as the name of the content, the name of the right holder, the contact information of the right holder, and the rating is recorded in the variable 3024A which is a signboard. Further, variables such as the return value of the OTP authentication function or the data CTAU (FIG. 3AA, AB, AC 3021A) or the information database 3023A operated by the processing contents 3022A or 3022A at the time of OTP processing are set as necessary.
Here, the variable required when carrying out Example 3 is the return value CTAU of the authentication function, and the CTAU returns the information CTAU recorded on the blockchain at the time of authentication to the accessor whose authentication result is correct, and is not. In the case, information that is not CTAU (information when authentication cannot be performed) is returned. Since the common key TTKY of the common key encryption for decrypting the encrypted data in the third embodiment is calculated based on the CTAU, the creator and the administrator of the contract need to set the CTAU.
The information about the CTAU of 3021A may include a setter function that changes the CTAU upon access from a user identifier authorized to change the CTAU. It is also possible to set a different CTAU (CTAU [TIDA] when expressed as a mapping variable) for the token number. However, even in that case, it is necessary to set CTAU [TIDA] for each user. Furthermore, it is necessary to encrypt and distribute the content for each user's CTAU [TIDA] (and the number of transactions on the blockchain increases).
The CTAU of 3021A is a value in the terminal 3A and is recorded as 4031A in the terminal 4A after OTP authentication. 3021A and 4031A have the same value.

実施例3では簡易にブロックチェーン上から入手できる鍵として単一のCTAUをコントラクトに記録させ、認証関数の戻り値とした。本発明では好ましくはCTAUデータ3021Aの情報が秘匿できるブロックチェーンの基盤(または分散型台帳システムDLSの基盤)を用いることが好ましい。コントラクトのデプロイ時のトランザクションやKC値BC値といったシークレット変数、シード値とともにCTAUデータ3021Aも秘匿化されるか許可を受けたアクセスやまたは限定されたアクセス者のみ閲覧できるようにすることが好ましい。 In Example 3, a single CTAU was recorded in the contract as a key that can be easily obtained from the blockchain, and used as the return value of the authentication function. In the present invention, it is preferable to use a blockchain base (or a base of the distributed ledger system DLS) in which the information of CTAU data 3021A can be concealed. It is preferable that the CTAU data 3021A is concealed or allowed to be viewed only by a limited accessor, along with a transaction at the time of contract deployment, a secret variable such as a KC value and a BC value, and a seed value.

本発明の実施例3を行う中で、コントラクトやトランザクション内容が世界中に公開されたイーサリアムを用いたため、CTAU(3021A)はブロックチェーン上に公開せざるを得ない。そのため3021A以外の鍵を用いて暗号化する事が必要となった。そしてブロックチェーンとは異なる経路で得られる鍵AKTB(図4Bの4032A)とコントラクトのCTAU(3021A)を用いてデータを暗号化する共通鍵TTKYとすることで暗号化を行った。 In carrying out Example 3 of the present invention, since Ethereum whose contracts and transaction contents are disclosed all over the world is used, CTAU (3021A) has no choice but to be disclosed on the blockchain. Therefore, it is necessary to encrypt using a key other than 3021A. Then, encryption was performed by using a key AKTB (4032A in FIG. 4B) obtained by a route different from that of the blockchain and a common key TTKY for encrypting data using the contract CTAU (3021A).

さらにソフトウェアCRHN(403A)内部に難読化または暗号化したソースコード―内部にソフトウェア用の秘密鍵CRKY(図4Bの40302A)を加え、CTAU(3021Aまたは4031A)とAKTB(4032A)とCRKY(40302)より共通鍵暗号に用い平文ファイルの暗号化と復号を行う鍵TTKY(4033A)を生成させた。
また実際にはこのほかにTTKYを解読されぬよう4032Aを複数用いたり、難読化されたソフトウェアCRHNのソースコード内にソフトウェアCRHNに関する鍵情報を管理するブロックチェーン上の専用スマートコントラクト(コントラクト識別子APKY、図4Bの40301)にアクセスさせ、鍵情報CAPKY(図4B40303A)を取得させ、CTAUとAKTBとCRKYにを加えたCAPKYの4つ変数を用いてTTKY(4033A)を生成する方法を考案した。実施例3ではCTAUとAKTBとCRKYの3つの変数を使い、共通鍵暗号に用いるTTKY(4033A)を算出させた。なお前記3つの変数そのまま結合させて共通鍵とするわけでななく、ハッシュ化や変数値の一部の切り取りを行って4033Aを算出を行う。4033Aを算出する計算方法や処理方法を含むプログラムはソフトウェア403Aに記録される。
In addition, an obfuscated or encrypted source code inside the software CRHN (403A) -adding the secret key CRKY for the software (40302A in FIG. 4B) inside, CTAU (3021A or 4031A), AKTB (4032A), and CRKY (40302). A key TTKY (4033A) used for more common key cryptography to encrypt and decrypt plaintext files was generated.
In addition to this, in addition to this, multiple 4032A are used so that TTKY is not deciphered, and a dedicated smart contract on the blockchain that manages key information related to software CRHN in the source code of obfuscated software CRHN (contract identifier APKY, We devised a method to generate TTKY (4033A) by accessing 40301) in FIG. 4B, acquiring the key information CAPKY (FIG. 4B40303A), and using the four variables of CAPKY added to CTAU, AKTB, and CRKY. In Example 3, three variables, CTAU, AKTB, and CRKY, were used to calculate TTKY (4033A) used for symmetric key cryptography. It should be noted that the above three variables are not combined as they are to form a common key, but hashing or cutting out a part of the variable values is performed to calculate 4033A. A program including a calculation method and a processing method for calculating 4033A is recorded in software 403A.

実施例3ではCTAU(3021A)とAKTB(4032A)を基にCRKY(40302A)やCAPKY(40303A)利用してTTKY(4033A)を計算しているが本発明をコンテンツの権利者が利用し暗号化されたコンテンツの配布に用いるときは少なくともブロックチェーン上のコントラクトにおいて認証関数を実行した際のOTP認証結果を含むCTAU(3021)に由来する共有鍵暗号の共有鍵4033Aを利用する。 In Example 3, TTKY (4033A) is calculated using CRKY (40302A) and CAPKY (40303A) based on CTAU (3021A) and AKTB (4032A), but the present invention is used by the content right holder for encryption. When used for distribution of the content, at least the shared key 4033A of the shared key cryptosystem derived from CTAU (3021) including the OTP authentication result when the authentication function is executed in the contract on the blockchain is used.

CTAU( 3021Aまたは4031A )に加えAKTB(4032A)が利用できる。4032Aは具体的はある書籍や音声映像データをOTPトークンとして購入した人に対し、そのトークン番号に対応したパスワード値をAKTBとして電子メールや郵便などの手段で送信し、かつ電子メールで送信したAKTBとコントラクトで共通のCTAUから計算されるTTKY(4033A)にて平文を共通鍵暗号化(または対称鍵暗号化)し、その暗号化データをクラウドストレージや電子メール、磁気テープ・磁気ディスク・光学ディスク・半導体メモリなどで配布し、OTPトークンを購入したユーザーが4033Aを用いて配布された暗号化データについて、
ユーザーは端末4Aの記憶装置40Aに記憶されたソフトウェアCRHN403Aと、OTPトークンの割り当てられたユーザーの秘密鍵401Aと、OTPトークンのコントラクト識別子と
OTPトークン番号TIDAと、403Aで401Aとトークン番号TIDAを用いてOTP認証して得られるCTAU( 3021Aまたは4031A )と電子メールなどで通知された鍵AKTB(4032A)を用いて暗号化されたデータを復号することができる。
AKTB (4032A) is available in addition to CTAU (3021A or 4031A). Specifically, the 4032A sends the password value corresponding to the token number as AKTB to a person who purchased a certain book or audio / video data as an OTP token by means such as e-mail or mail, and also sends the AKTB by e-mail. Common key encryption (or symmetric key encryption) is performed on plain text with TTKY (4033A) calculated from CTAU common to the contract, and the encrypted data is used for cloud storage, e-mail, magnetic tape, magnetic disk, and optical disk. -About the encrypted data distributed by the user who purchased the OTP token by distributing it in semiconductor memory etc. using 4033A
The user uses the software CRHN403A stored in the storage device 40A of the terminal 4A, the user's private key 401A to which the OTP token is assigned, the OTP token contract identifier and the OTP token number TIDA, and the 403A 401A and the token number TIDA. The encrypted data can be decrypted using the CTAU (3021A or 4031A) obtained by OTP authentication and the key AKTB (4032A) notified by e-mail or the like.

管理者端末1Cは暗号化データの復号に利用できるある値のCTAU(3021A)をコントラクトの認証関数の戻り値に利用できるよう設定し、OTPの計算に用いるKC値、BC値を設定しOTPをBnTOTP=fh(A,TIDA,KC,Bn)またはBnTOTP=fh(A,TIDA,KC,Bn,V)またはBnTOTP=fh(A,TIDA,KC,BC,Bn,V)で計算するようプログラムしたOTP生成関数と認証関数を含むコントラクトを作成し、S183にてS182で作成したコントラクトをブロックチェーンシステムDLSのノードとなるサーバ端末3AにアクセスしDLSにデプロイする。 The administrator terminal 1C sets a certain value of CTAU (3021A) that can be used for decrypting encrypted data to be used as the return value of the authentication function of the contract, sets the KC value and BC value used for OTP calculation, and sets the OTP. Programmed to calculate with BnTOTP = fh (A, TIDA, KC, Bn) or BnTOTP = fh (A, TIDA, KC, Bn, V) or BnTOTP = fh (A, TIDA, KC, BC, Bn, V) A contract including an OTP generation function and an authentication function is created, and the contract created in S182 in S183 is accessed to the server terminal 3A which is a node of the blockchain system DLS and deployed to the DLS.

S184ではS183で端末1CがDLSにデプロイしたコントラクトの識別子3019Aを取得する。
S185ではサービスにコントラクト識別子やコントラクトの名前、作成者名、作成日、レイティング等をサーバ5Aやサーバ5Bの記憶部および記憶部のデータベースや制御部に設定する。また暗号化データの登録ができるようになる。
サーバ端末5Bは端末4Aからアクセスを受け、サーバ5Bが電子書籍や音声動画コンピュータソフトウェアなどコンテンツの販売、電子商取引用のサーバを兼ねている場合には4Aが購入する商品の権利者名レイティング情報等と商品名とそれに対応する暗号化データを復号するためのOTPトークンのコントラクト識別子とソフトウェアCRHNを対応付けておくことができる。サーバ5Bがある団体の機密データを暗号化し団体内で共有する用途である場合そのデータの名前、あるいはファイル名・データ作成者名・データ権利者名とOTPトークンのコントラクト識別子を対応付けておくことができる。
In S184, the terminal 1C acquires the identifier 3019A of the contract deployed in the DLS in S183.
In S185, the contract identifier, the name of the contract, the creator name, the creation date, the rating, etc. are set in the storage unit of the server 5A or the server 5B, and the database or control unit of the storage unit. In addition, encrypted data can be registered.
The server terminal 5B receives access from the terminal 4A, and when the server 5B also serves as a server for selling contents such as electronic books and audio / video computer software, and a server for electronic commerce, the right holder name rating information of the product purchased by the 4A, etc. And the contract identifier of the OTP token for decrypting the product name and the corresponding encrypted data and the software CRHN can be associated with each other. If the server 5B is used to encrypt the confidential data of a certain organization and share it within the organization, associate the name of the data, or the file name, data creator name, data right holder name with the contract identifier of the OTP token. Can be done.

また、端末5Bは電子商取引に必要な顧客の氏名、生年月日等、電子メールアドレス、ログインパスワード、住所情報、電話番号等、ブロックチェーンへのアクセスに用いるユーザ識別子A、保有している(または購入履歴のある)OTPトークンのコントラクト識別子とそれに応じた保有するトークンのトークン番号といった顧客の個人データを持つ。端末5Bは前記顧客の個人データを基に、顧客の支持を受けて外部のクレジットカードなど決済事業者及びそのサーバ等端末と連携して商品の購入と決済を行うことが出来る。
そして端末5Bは顧客の電子メールアドレス、電話番号、住所に対し電子メールや電話、信書の郵送などで通知された鍵AKTB(4032A)を伝達できる。また本来はブロックチェーン上で行わないはずの4032Aの伝達を4032Aをユーザー識別子Aに内容を秘匿化できるトランザクションを用いてAKTB(4032A)を送る事もできる。またはユーザ識別子Aを計算できる端末4Aの秘密鍵401Aを基に別のブロックチェーン基盤を構築し秘密鍵401AAからユーザー識別子Aではなくユーザー識別子AAが計算される場合にユーザー識別子AAに向けて4032Aを送ることも考えられる。
In addition, the terminal 5B possesses (or has) a user identifier A used for accessing the blockchain, such as a customer's name, date of birth, e-mail address, login password, address information, telephone number, etc. required for electronic commerce. It has the customer's personal data such as the contract identifier of the OTP token (with the purchase history) and the token number of the token held accordingly. Based on the customer's personal data, the terminal 5B can purchase and settle a product in cooperation with a payment operator such as an external credit card and a terminal such as its server with the support of the customer.
Then, the terminal 5B can transmit the key AKTB (4032A) notified by e-mail, telephone, mail of correspondence, etc. to the customer's e-mail address, telephone number, and address. It is also possible to send AKTB (4032A) using a transaction that can conceal the contents of 4032A to the user identifier A, which should not be transmitted on the blockchain. Alternatively, another blockchain platform is constructed based on the secret key 401A of the terminal 4A capable of calculating the user identifier A, and when the user identifier AA is calculated from the secret key 401AA instead of the user identifier A, 4032A is directed toward the user identifier AA. It is also possible to send it.

S185では広告機能を持つサーバ5A(SVCRHNcm)に対してもコントラクトの識別子やコンテンツの情報を登録することができる。 In S185, the contract identifier and content information can also be registered in the server 5A (SVCRHNcm) having an advertising function.

S186ではコントラクトの管理者端末1Cが顧客にトークンや暗号データを配布する前に、試験用および暗号化用としてOTPトークンを端末1Cの秘密鍵101Cに対応するユーザ識別子Cに発行する。S186は端末1CにOTPトークン発行し、平文コンテンツを暗号化した暗号化データを作成し端末1Cに記録し、記録した暗号化データを配布するためのシークエンスである。
後に後述するが、S155では端末5Bの電子商取引機能により決済を行いOTPトークンの購入と暗号化データの閲覧権及び閲覧できるデータの所有権を得たユーザーのユーザー識別子Aに対しOTPトークンを発行する。ここで必ずしもOTPトークンは端末5Bで購入される必要はなく、端末1Cが注文や依頼を受ければ発行できる。たとえば端末1CがECサイトやEC型の書店サイトなどと契約しており、ECサイトが指定するユーザー識別子に対しトークン番号割り当てて発行していく形態が考えられる。
ここで重要なこととして本発明はトークンの送付先となるユーザ識別子が正しく知らされていないとOTPトークンを正しい相手に送付できない。トークン発行には正しい送付先のユーザー識別子が必要である。
In S186, before the contract administrator terminal 1C distributes the token or encrypted data to the customer, the OTP token is issued to the user identifier C corresponding to the private key 101C of the terminal 1C for testing and encryption. S186 is a sequence for issuing an OTP token to the terminal 1C, creating encrypted data in which plaintext contents are encrypted, recording the encrypted data in the terminal 1C, and distributing the recorded encrypted data.
As will be described later, in S155, the OTP token is issued to the user identifier A of the user who has obtained the purchase of the OTP token, the viewing right of the encrypted data, and the ownership of the data that can be viewed by making a payment by the electronic commerce function of the terminal 5B. .. Here, the OTP token does not necessarily have to be purchased at the terminal 5B, and can be issued if the terminal 1C receives an order or a request. For example, it is conceivable that the terminal 1C has a contract with an EC site, an EC-type bookstore site, or the like, and a token number is assigned to a user identifier specified by the EC site for issuance.
What is important here is that the present invention cannot send an OTP token to the correct recipient unless the user identifier to which the token is sent is correctly notified. The correct destination user identifier is required to issue the token.

S187ではソフトウェアCRHN(403A)を主に端末5Bから取得する。端末5B以外でも信頼できる403Aの保存先から入手できる。暗号化データの配布者はそのデータを復号できる版の(バージョンの)403Aを指定してユーザーに知らせなければならない。具体的に運用する場合は暗号化データの作成に用いたバージョンのソフトウェアCRHN(403A)を暗号化データと共に配布すればよい。 In S187, the software CRHN (403A) is mainly acquired from the terminal 5B. It can be obtained from a reliable storage destination of 403A other than the terminal 5B. Distributors of encrypted data must notify the user by specifying a version (version) of 403A that can decrypt the data. For specific operation, the version of software CRHN (403A) used to create the encrypted data may be distributed together with the encrypted data.

S188では設定読込・入力等を行う。403Aに秘密鍵を直接入力するか秘密鍵を管理する403Aとは別のソフトウェアと連携させ秘密鍵情報を403Aに入力する。 In S188, setting reading / input and the like are performed. The private key is directly input to the 403A, or the private key information is input to the 403A in cooperation with software other than the 403A that manages the private key.

S199では403A起動時、あるいは秘密鍵(図7CBでは端末1Cの秘密鍵101C)の情報が403Aに入力された時にユーザー識別子が計算され生成され、403に埋め込まれた端末5Aの広告配信用URIへリンクさせることができ、このときコントラクト管理者1Cに対しても図6Xに示すような不正アクセスの監視を行うことができる。 In S199, the user identifier is calculated and generated when the 403A is activated or when the information of the private key (the private key 101C of the terminal 1C in FIG. 7CB) is input to the 403A, and the user identifier is calculated and generated to the URI for advertisement distribution of the terminal 5A embedded in the 403. It can be linked, and at this time, unauthorized access can be monitored for the contract administrator 1C as shown in FIG. 6X.

S189ではAKTB(4032A)を設定する。もしくはあらかじめ決めておいたAKTB(4032A)を端末1Cの記録装置に記憶させる。S189はS188と同時に行ってもよい。AKTB(4032A)はトークンを配布したいユーザーに対応して設定される。
具体的にはある団体で年や月そして週や日ごとに異なるAKTB(4032A)を設定して団体に所属するユーザー同士がAKTB(4032A)を知っておりOTPトークンを所有出来るユーザーにのみ暗号化したデータを復号できるようにしてもよい。
あるいは電子書籍型出版物を権利者が平文データとして、あるユーザー識別子に対応した固有のAKTB(4032A)を設定しメールアドレスなどでAKTB(4032A)を通知してから、権利者は平文データをAに対応したAKTB(4032A)を用いて暗号化してもよい。
In S189, AKTB (4032A) is set. Alternatively, the predetermined AKTB (4032A) is stored in the recording device of the terminal 1C. S189 may be performed at the same time as S188. AKTB (4032A) is set according to the user who wants to distribute the token.
Specifically, a certain group sets different AKTB (4032A) for each year, month, week, and day, and users belonging to the group know AKTB (4032A) and encrypt only to users who can own OTP tokens. The data may be decrypted.
Alternatively, the right holder sets the unique AKTB (4032A) corresponding to a certain user identifier as the plaintext data of the e-book type publication, and notifies the AKTB (4032A) by an e-mail address or the like, and then the right holder sends the plaintext data to A. AKTB (4032A) corresponding to the above may be used for encryption.

暗号化に関して、CTAU(3021Aまたは4031A)と任意設定し配布先に通知されるAKTB(4032A)とソフトウェアCRHN(403A)と403Aの秘密鍵CRKY(40302A)を利用してユーザー識別子Aだけが知るAKTB(4032A)を使い復号できる暗号化データを作成し、Aのメールアドレスに添付ファイルとして添付しては配布するかクラウドストレージサービスなどで配布するか、端末5Bのような本発明で利用されるサーバ端末を用いて配布できる。また配布時にネットワーク20を使わなくとも磁気テープ、磁気ディスク、光学ディスク、半導体メモリなどの外部記憶装置を郵便や配達によってユーザーの住所に届けることで配布できる。
雑誌や書籍について顧客ごとに異なるAKTB(4032A)を設定し配布する場合はコンテンツの権利者の平文データの保護に役立つ一方でユーザーの人数に応じた平文データの暗号化処理を行いAKTB(4032A)の情報を対応する暗号化データをユーザーに配布する必要がある。
新聞や雑誌など放送と類似した1対多数のマスメディアなコンテンツ流通を行う書籍の場合には、ある期間(毎日・毎週)に我が国の何割かのユーザーごとに平文をユーザーの総数に応じて暗号化する必要が生じかねず電子計算機やネットワークのリソース(資源)を消費する恐れがある。
その場合、ある期間(毎週、毎月、毎年など)や地域(長野、大阪、東京など)によって代わるAKTB(4032A)をユーザーの電子メールや信書の郵便・配達の形で配布し、AKTB(4032A)に応じた新聞の暗号化データを配布することで、新聞の閲覧権購入権となるOTPトークンをブロックチェーンに所有し、AKTB(4032A)を知り、ソフトウェアCRHN(403A)を持っているユーザがそのデータを入手できれば新聞を読めるようにすることもできる。
Regarding encryption, AKTB (4032A), which is arbitrarily set as CTAU (3021A or 4031A) and notified to the distribution destination, AKTB known only to user identifier A using the software CRHN (403A) and the private key CRKY (40302A) of 403A. Create encrypted data that can be decrypted using (4032A), attach it as an attachment to A's email address and distribute it, or distribute it with a cloud storage service, or a server used in the present invention such as terminal 5B. It can be distributed using a terminal. Further, it can be distributed by delivering an external storage device such as a magnetic tape, a magnetic disk, an optical disk, or a semiconductor memory to the user's address by mail or delivery without using the network 20 at the time of distribution.
When different AKTB (4032A) is set and distributed for each customer for magazines and books, it helps to protect the plaintext data of the content right holder, while the plaintext data is encrypted according to the number of users and AKTB (4032A). It is necessary to distribute the corresponding encrypted data to the user.
In the case of books such as newspapers and magazines that distribute one-to-many mass media similar to broadcasting, plaintext is encrypted for each percentage of users in Japan for a certain period (daily / weekly) according to the total number of users. There is a risk of consuming computer and network resources (resources).
In that case, AKTB (4032A), which changes depending on the period (weekly, monthly, yearly, etc.) or region (Nagano, Osaka, Tokyo, etc.), is distributed in the form of user's e-mail or correspondence by mail / delivery, and AKTB (4032A). By distributing the encrypted data of the newspaper according to the above, the user who owns the OTP token which is the right to purchase the newspaper reading right in the blockchain, knows AKTB (4032A), and has the software CRHN (403A) can use it. If you can get the data, you can make it possible to read the newspaper.

配布された暗号化データはユーザの端末に記録され、ユーザー端末に暗号化データ(4034A)をOTPトークン(OTPトークンの認証時に得られるCTAU(3021A))とAKTB(4032A)とソフトウェアCRHN(403A)とCRKY(40302A)と秘密鍵401Aがある場合に復号し、復号データ・平文データ(4035A)として閲覧できる。
閲覧時に暗号化データを復号できる鍵TTKY(4033A)が算出されそれを秘密鍵401Aで暗号化しCTTKY(40361A)とし、CTTKY(40361A)をソフトウェアCRHN(403A)に記録されたCRKY(40302A)で暗号化しACTTKY(40360A)を得て、OTP認証済み証明書4036Aまたは閲覧済み証明書OFBKMK(4036A)データ内部に記録する。OFBKMKはソフトウェアCRHNの秘密鍵とユーザーの秘密鍵で暗号化されたコンテンツの復号用共通鍵TTKY(4033A)を記録している。(OFBKMKはオフライン・ブック・マーク)
OFBKMK4036Aは閲覧時間などを制御した形でユーザーへのオフライン時のアクセスを許可する。
OTPトークンが譲渡制限機能が解除されており他者にトークンが送信されている場合、OFBKMK4036Aは本の閲覧権や所有権が無い場合であるにもかかわらず本を読むことが可能になりかねない。
そこでコンテンツの権利者がOFBKMK機能4036Aは閲覧制限時間の時間数値がOTP認証を行う毎に最大となり、その時のタイムスタンプがHMACや電子署名などを施された形でOFBKMKに記録されており、OFBKMKに記載された認証時のタイムスタンプから遅くなるほどネットワーク20から切断されオフライン時になった場合に閲覧可能な時間が減少するようソフトウェア403Aプログラムできる。閲覧は時間は実施例3では10分や30分、数時間単位で設定した。
例として閲覧制限時間がOTP認証直後は300分であった場合、本発明ではOFBKMKのタイムスタンプ時刻からy年経過するごとに年数で割った時刻だけ閲覧するなどができる。たとえばy=10年の時、タイムスタンプから10年経過しており、300分を10年の10で割り、300[分]÷10=30[分]の間に限り、ソフトウェアCRHN(403A)にて閲覧可能などとすることができる。ここでユーザーがOTPトークンを保有していればオンライン時にブロックチェーンにアクセスさせ認証させ、OFBKMKを新規に作成し閲覧時間を300分に再設定できる。
タイムスタンプと現在時刻の比較の処理において現在時刻はユーザー端末4Aの時刻に基づく。GNSSやJJY、NITZなどの時刻データ送信局があり正しい時刻データが端末で受信でき、端末の時刻データが正しく設定されていることが好ましい。なお平文データの権利者が許可する場合にはOFBKMKによる閲覧時間を設定しないこともできる。
OFBKMAK4036Aの機能は時間制限付きで閲覧できる暗号化データを平文化しその平文にアクセスできる機能であり、紙の書籍に例えると紙の書面を複写したデータ制限付きで閲覧できる証明書を保有しているような概念である。もしくは一度閲覧した書籍のイメージ図をヒトが記憶しており時間経過とともに閲覧した書籍のイメージ図を忘れて思い出しにくくなるような様子を基にしたものである。時間経過によって4036Aを用いた復号時に平文データがぼやけて端末4Aのディスプレイに表示されるなどの加工を403Aが行ってもよい。
The distributed encrypted data is recorded in the user's terminal, and the encrypted data (4034A) is stored in the user terminal as an OTP token (CTAU (3021A) obtained when the OTP token is authenticated), AKTB (4032A), and software CRHN (403A). And CRKY (40302A) and the private key 401A, they can be decrypted and viewed as decrypted data / plain text data (4035A).
A key TTKY (4033A) capable of decrypting encrypted data at the time of browsing is calculated, encrypted with the private key 401A to be used as CTTKY (40361A), and CTTKY (40361A) is encrypted with CRKY (4032A) recorded in the software CRHN (403A). ACTTKY (40360A) is obtained and recorded inside the OTP-certified certificate 4036A or the viewed certificate OFBKMMK (4036A) data. OFBKMK records the secret key of the software CRHN and the common key TTKY (4033A) for decrypting the content encrypted by the private key of the user. (OFBKMK is an offline book mark)
OFBKMMK4036A allows offline access to users in a form that controls browsing time and the like.
If the OTP token has the transfer restriction function removed and the token is sent to another person, the OFBKMK4036A may be able to read the book even if it does not have the right to read or own the book. ..
Therefore, the content right holder has the OFBKMK function 4036A, the time value of the viewing time limit becomes the maximum every time OTP authentication is performed, and the time stamp at that time is recorded in OFBKMMK in the form of HMAC or electronic signature. The software 403A can be programmed so that the later the time stamp at the time of authentication described in is, the less time can be viewed when the user is disconnected from the network 20 and goes offline. In Example 3, the viewing time was set to 10 minutes, 30 minutes, or several hours.
As an example, if the viewing time limit is 300 minutes immediately after OTP authentication, in the present invention, it is possible to view only the time divided by the number of years every y years from the time stamp time of OFBKMK. For example, when y = 10 years, 10 years have passed since the time stamp, and 300 minutes is divided by 10 of 10 years, and only between 300 [minutes] ÷ 10 = 30 [minutes] is the software CRHN (403A). It can be viewed. Here, if the user has an OTP token, the blockchain can be accessed and authenticated when online, a new OFBKMK can be created, and the browsing time can be reset to 300 minutes.
In the process of comparing the time stamp and the current time, the current time is based on the time of the user terminal 4A. It is preferable that there is a time data transmitting station such as GNSS, JJY, or NITZ, the correct time data can be received by the terminal, and the time data of the terminal is set correctly. If the right holder of the plaintext data permits, the browsing time by OFBKMK may not be set.
The function of OFBKMAK4036A is a function that allows you to cultivate encrypted data that can be viewed with a time limit and access the plaintext. It is a concept like that. Alternatively, it is based on a situation in which a person remembers an image of a book once viewed and forgets the image of a book viewed over time, making it difficult to remember. The 403A may perform processing such that the plaintext data is blurred and displayed on the display of the terminal 4A at the time of decoding using the 4036A due to the passage of time.

紙の書籍であっても資料として複写するなどのケースはあり、コンテンツをディスプレイの撮影などから保護するなどしないと複写されることの危険性は残る。一方でコンテンツがオフラインになりうる災害時にも利用できる有益なものである場合、ユーザーが読むことができるほうが好ましいので本発明では閲覧済み証明書OFBKMK(4036A)を採用した。
コンテンツをユーザー端末に残すことなく配信したい場合は実施例1のウェブサイトへのログイン方式を利用したほうが好ましい。ただし、その場合はログイン先のサーバーがサービス終了などをしてデータを無くしてしまえばユーザーが購読してきた書籍や音楽映像作品は閲覧できなくなってしまう。
紙の書籍、古文書、浮世絵などは数百年を超え後世に残され文化を伝えている。本発明ではデジタルデータであっても長い年数を経て後世に残されるべきデータに対しその所有権、閲覧権、利用権をOTPトークンの形で記録しながら、そのトークンで閲覧できるデータを暗号化データとして流通させ、かつその暗号化データを災害時などネットワークが切断されたオフラインにおいてもユーザーの手元のデータによって閲覧可能とした。ブロックチェーンにて閲覧や所有の権利となるOTPトークンは管理されるがブロックチェーンは必ずしもアクセスできるとは限らず、本発明ではユーザーが購入した書籍をオフラインでも閲覧できるよう配慮した。
Even if it is a paper book, there are cases where it is copied as a material, and there is a risk that it will be copied unless the content is protected from shooting on the display. On the other hand, if the content is useful even in the event of a disaster that can be offline, it is preferable that the content can be read by the user. Therefore, in the present invention, the viewed certificate OFBKMK (4036A) is adopted.
When it is desired to distribute the content without leaving it on the user terminal, it is preferable to use the login method to the website of the first embodiment. However, in that case, if the login destination server terminates the service and loses the data, the books and music video works subscribed to by the user cannot be viewed.
Paper books, ancient documents, ukiyo-e prints, etc. have been preserved for hundreds of years and convey the culture. In the present invention, even if it is digital data, the ownership, viewing right, and usage right of the data that should be left to posterity after many years are recorded in the form of OTP token, and the data that can be viewed with the token is encrypted data. And the encrypted data can be viewed by the data at the user's hand even when the network is disconnected such as in the event of a disaster. Although the OTP token, which is the right to browse and own the book, is managed by the blockchain, the blockchain is not always accessible, and in the present invention, consideration is given so that the book purchased by the user can be browsed offline.

コンテンツが新聞等であるときは、それが定期購読型のサービスである為、OTPトークンのコントラクトについてCTAU(3021A)値を定期更新する必要があるかもしれない。あるいはCTAUの代わりにAKTB(4032A)を定期更新する必要があるかもしれない。
ユーザーのOTPトークン番号に対応した有効無効の変数(トークン番号をキーとした真偽値型のトークンの有効無効を表すマッピング変数)を用意して、認証関数(3018A)の認証時にその変数が真か偽かを判断し、真であれば認証の戻り値CTAU(3021A)を返し、偽であればCTAU(3021A)を返さないという処理も追加できる。
ここでユーザーのOTPトークン番号に対応した有効無効の変数(トークン番号をキーとした真偽値型のトークンの有効無効を表すマッピング変数)コントラクト管理者の端末1Cがすべてのトークン番号に対し真か偽かを設定できるセッター関数を設定する必要がある。
(実施例1や実施例2においても入場やログインの閲覧権やチケットでは有効期限後に端末1Cから トークン番号をキーとした真偽値型のトークンの有効無効を表すマッピング変数を真から偽に書き換えることでOTPの生成や認証を停止させることができてもよい。
またあるOTPトークンが、ある本・書籍・音楽レコード・動画に関する暗号化データを復号するOTPトークンで、有効期限が無期限で、OTPトークンを所持している限り有効な場合は、トークンの有効無効を表すマッピング関数やOTPの生成認証を停止させる関数は不要である。)
新聞や雑誌ではインターネットに接続できる場合は実施例1のような新聞や雑誌の権利者サイトへのログイン権としてOTPトークンを利用し、アクセスしたユーザーに閲覧制限などをかけながらコンテンツを適宜暗号化しながら配信するほうが好ましいかもしれない。ただし、紙の新聞と同じく、ユーザーの端末4Aの手元に暗号化データを保存し、ネットワークに接続されていないオフラインでも閲覧したい場合には実施例3の方式をとることが本発明では可能である。新聞は過去の出来事を報じており、ユーザーの手元に残る方式のほうが出来事の記録を行うには適しているかもしれない。
When the content is a newspaper or the like, it may be necessary to periodically update the CTAU (3021A) value for the OTP token contract because it is a subscription type service. Alternatively, it may be necessary to periodically update AKTB (4032A) instead of CTAU.
Prepare a valid / invalid variable corresponding to the user's OTP token number (mapping variable representing the valid / invalid of the truth type token using the token number as a key), and that variable is true at the time of authentication of the authentication function (3018A). It is also possible to add a process of determining whether it is false or not, and if it is true, the return value CTAU (3021A) of the authentication is returned, and if it is false, the CTAU (3021A) is not returned.
Here, the valid / invalid variable corresponding to the user's OTP token number (mapping variable indicating the validity / invalidity of the true / false value type token using the token number as a key) Is the terminal 1C of the contract administrator true for all token numbers? It is necessary to set a setter function that can set whether it is false or not.
(In Examples 1 and 2, for the admission and login viewing rights and tickets, the mapping variable indicating the validity / invalidity of the true / false value type token using the token number as the key is rewritten from true to false from the terminal 1C after the expiration date. By doing so, it may be possible to stop the generation and authentication of OTP.
Also, if a certain OTP token is an OTP token that decrypts encrypted data related to a certain book, book, music record, or video, and the expiration date is indefinite and it is valid as long as you have the OTP token, the token is valid or invalid. There is no need for a mapping function that represents OTP or a function that stops OTP generation authentication. )
If the newspaper or magazine can connect to the Internet, use the OTP token as the login right to the right holder site of the newspaper or magazine as in Example 1, and while appropriately encrypting the content while restricting viewing to the accessing user. It may be preferable to deliver. However, as in the case of paper newspapers, it is possible in the present invention to adopt the method of Example 3 when the encrypted data is stored in the hand of the user's terminal 4A and it is desired to view the encrypted data even when it is not connected to the network. .. Newspapers report on past events, and a method that remains in the hands of the user may be more suitable for recording events.

S190からS192までの一連のシークエンスは、ブロックチェーンシステムDLS(端末3A)へ端末4Aがアクセスし、DLSのOTPトークンのコントラクトに備えられたOTP生成関数から端末4Aの記憶装置にOTP取得する。ここでOTPはBnTOTP型のOTPでもよいし、OWP型のOTPでもよい。実施例3ではBnTOTP=fh(A,TIDA,KC,Bn,V)またはBnTOTP=fh(A,TIDA,KC,BC,Bn,V)を用いた。OTP生成のシークエンスは実施例1や実施例2と同様である。 In the series of sequences from S190 to S192, the terminal 4A accesses the blockchain system DLS (terminal 3A) and acquires OTP from the OTP generation function provided in the contract of the OTP token of the DLS to the storage device of the terminal 4A. Here, the OTP may be a BnTOTP type OTP or an OWP type OTP. In Example 3, BnTOTP = fh (A, TIDA, KC, Bn, V) or BnTOTP = fh (A, TIDA, KC, BC, Bn, V) was used. The sequence of OTP generation is the same as in Example 1 and Example 2.

S193からS195までの一連のシークエンスは、実施例1や実施例2と同じく取得したOTPとOTPトークンのトークン番号とユーザー識別子を引数としてOTP認証関数に入力し(S193,S194部分)、認証関数からの戻り値CTAU(3021Aまたは4031A)を得る(S195部分)ものである。 In the series of sequences from S193 to S195, the token numbers and user identifiers of the OTP and OTP tokens acquired as in the first and second embodiments are input to the OTP authentication function as arguments (S193, S194 part), and the authentication function is used. The return value CTAU (3021A or 4031A) of is obtained (S195 portion).

S196ではCTAU(3021Aまたは4031A)とAKTB(4032A)とCRKY(40302A)から平文データを暗号化する鍵TTKY(4033A)をソフトウェアCRHN(403A)のプログラムに沿って処理し生成する。ここで403Aのプログラムにおいて4033Aを生成計算する工程にハッシュ化や数値文字列の切り取り加工などの処理を含んでもよく403Aのプログラムもまた暗号化を復号する鍵となる要素である。 In S196, the key TTKY (4033A) for encrypting plaintext data from CTAU (3021A or 4031A), AKTB (4032A), and CRKY (40302A) is processed and generated according to the program of software CRHN (403A). Here, the process of generating and calculating 4033A in the program of 403A may include processing such as hashing and cutting of a numerical character string, and the program of 403A is also a key element for decrypting the encryption.

S197ではS196で算出されたTTKY(4033A)を共通鍵に用いて共通鍵暗号化を平文データ(4035A、ただし4035Aは端末1Cの記憶装置にも存在可能であり端末4Aの記憶装置にも存在できる)に行い、暗号化データEncData(4034A、ただし4034Aは端末1Cの記憶装置にも存在可能であり端末4Aの記憶装置にも存在できる)を得る。共通鍵暗号化ではAES(Advanced Encryption Standard)を用いた。実際にはAESの鍵のデータ長は128Bit、192Bit、256Bitを利用した。 In S197, the common key encryption is performed using the TTKY (4033A) calculated in S196 as the common key for plain data (4035A, but 4035A can also exist in the storage device of the terminal 1C and can also exist in the storage device of the terminal 4A. ), And the encrypted data EncData (4034A, however, 4034A can also exist in the storage device of the terminal 1C and can also exist in the storage device of the terminal 4A). AES (Advanced Encryption Standard) was used for common key encryption. Actually, the data length of the AES key was 128 Bit, 192 Bit, and 256 Bit.

S198では暗号化データ4034Aをサーバ端末5B(SVCRHNdrive)や、端末5B以外のクラウドストレージ、端末5Bとは異なるファイル保存・ファイル共有サーバーなどに保存させOTPトークンを配布したユーザーが暗号化データ4034Aを配信する。この過程で放送局となるサーバ端末5Cに暗号データ4034Aを記録させ有線または無線にて放送させてもよい。光学ディスクなどの光学メディア、磁気テープや磁気ディスクなどの磁気メディア、半導体メモリ等に暗号化データ4034A記録して配布してもよい。
そのほかに磁気や半導体を用いない記録媒体でもよい。暗号化したデータをマイクロフィルムに文字列に変換させ記録して保存し郵送などで配達して配布してもよい。多様な方法で暗号化データを配布し流通させる事ができる。マイクロフィルムと同様に暗号化したデータを文字列化したものを紙に印刷することもできうる。データの配布方法に制限は設けない。
In S198, the encrypted data 4034A is stored in a server terminal 5B (SVCRHNdrive), a cloud storage other than the terminal 5B, a file storage / file sharing server different from the terminal 5B, and the user who distributes the OTP token distributes the encrypted data 4034A. do. In this process, the server terminal 5C, which is a broadcasting station, may record the encrypted data 4034A and broadcast it by wire or wirelessly. Encrypted data 4034A may be recorded and distributed on an optical medium such as an optical disk, a magnetic medium such as a magnetic tape or a magnetic disk, or a semiconductor memory.
In addition, a recording medium that does not use magnetism or a semiconductor may be used. The encrypted data may be converted into a character string on microfilm, recorded, stored, and delivered by mail or the like for distribution. Encrypted data can be distributed and distributed in various ways. Similar to microfilm, it is also possible to print a character string of encrypted data on paper. There are no restrictions on the data distribution method.

シークエンスS198でサーバ端末5Bではなく放送局サーバ端末5Cにデータを保管する際に、端末5Cが宇宙の人工衛星局である場合は端末5Cと相互通信するサーバ端末5CCが必要である。また端末5Cが端末5CCと専用の回線にて接続されている場合にも端末5CCは必要である。暗号化されたデータ4034Aをデータ放送に適した形に加工し(放送局からのデジタル放送用処理を行い)ユーザーのもとに送信する。デジタル放送用の処理は誤り訂正符号の追加やパケット化などがある。
無線式のデータのライブ放送の用途においては4033Aを鍵として4035Aから4034Aを作成するときには天候などで電波がユーザの受信機に到達せずデータが途切れてしまう恐れがある。それに対処するため撮影録画されている映像や音声を随時4033Aを鍵とした小さいデータのパケットとしてブロック暗号化を用いて配信したり、誤り訂正符号を添付したり、ストリーム暗号化を用いて配信することがある。
既存の例では地上波デジタル放送にはブロック暗号が利用されているが本発明では平文データに対しブロック暗号化に加えストリーム暗号化をソフトウェアCRHN(403A)が行うことができる。そしてストリーム暗号化された暗号化データを逐次放送することができる。また放送だけでなくネットワーク20を介して双方向にストリーム暗号化データのやり取りを行いウェブ上での会議や音声動画の配信ができてもよい。
When storing data in the broadcasting station server terminal 5C instead of the server terminal 5B in the sequence S198, if the terminal 5C is a space artificial satellite station, the server terminal 5CC that communicates with the terminal 5C is required. The terminal 5CC is also required when the terminal 5C is connected to the terminal 5CC by a dedicated line. The encrypted data 4034A is processed into a form suitable for data broadcasting (processed for digital broadcasting from a broadcasting station) and transmitted to the user. Processing for digital broadcasting includes addition of error correction code and packetization.
In the use of live broadcasting of wireless data, when 4035A to 4034A are created using 4033A as a key, radio waves may not reach the user's receiver due to weather or the like, and the data may be interrupted. In order to deal with this, the video and audio recorded by shooting are distributed as small data packets with 4033A as the key at any time using block encryption, an error correction code is attached, and stream encryption is used. Sometimes.
In the existing example, block cipher is used for terrestrial digital broadcasting, but in the present invention, software CRHN (403A) can perform stream cipher in addition to block cipher for plaintext data. Then, the stream-encrypted encrypted data can be broadcast sequentially. Further, not only broadcasting but also bidirectional stream encrypted data may be exchanged via the network 20 to enable conferences and audio / video distribution on the Web.

<暗号化されたデータの復号>
次に暗号化されたデータを受け取ったユーザー端末4Aが暗号化データの復号を行いデータの閲覧を行うシークエンスについて述べる。図7CAにユーザー端末4Aに配布された暗号化データの復号を行うシークエンスを示す。S150からS153までの一連のシークエンスは図7CBのS182からS185までの一連のシークエンスと同じである。
<Decryption of encrypted data>
Next, a sequence in which the user terminal 4A that receives the encrypted data decrypts the encrypted data and browses the data will be described. FIG. 7CA shows a sequence for decrypting encrypted data distributed to the user terminal 4A. The series of sequences from S150 to S153 is the same as the series of sequences from S182 to S185 in FIG. 7CB.

S154で端末1CはOTPトークンの発行の指示を受ける。この時、端末4Aのユーザーは購入したい暗号化データを購入可能なサーバ端末5Bや、端末5Bのほかに購入が可能な電子用取引サイトへOTPトークンをユーザー識別子Aを提示して注文し決済処理を行った際に端末1Cはサーバー端末5Bや電子商取引サイトからユーザー識別子Aに対し暗号化データが復号できるOTPトークンに対応するコントラクト識別子を提示し、指定されたあるユーザー識別子にあるコントラクト識別子のOTPトークンを発行するという指示を端末1Cは受ける。
ここでOTPトークンの購入という表現があるが、これは暗号化データが雑誌や書籍や音声動画ソフトウェア放送等コンテンツで、コンテンツの権利者が存在し、暗号化データの閲覧権や所有権や利用権の販売を行う場合を想定している。会社などの団体や個人用途において例えば秘密にしたい情報を暗号化し、暗号化したデータを限られた団体の人々の間で共有するなどの場合にはOTPトークンはOTPトークンの購入ではなくOTPトークンの使用許可を利用したいユーザー識別子に対して付与するという許可が必要になる。
In S154, the terminal 1C receives an instruction to issue an OTP token. At this time, the user of the terminal 4A presents the user identifier A to the server terminal 5B where the encrypted data to be purchased can be purchased, the electronic trading site where the purchase is possible in addition to the terminal 5B, and orders the payment process. The terminal 1C presents the contract identifier corresponding to the OTP token from which the encrypted data can be decrypted from the server terminal 5B or the electronic commerce site to the user identifier A, and the OTP of the contract identifier in the specified user identifier. The terminal 1C receives an instruction to issue a token.
Here, there is an expression of purchasing OTP tokens, which means that the encrypted data is content such as magazines, books, audio-video software broadcasting, etc., and there is a right holder of the content, and the right to view, own, or use the encrypted data. It is assumed that the product will be sold. For group or personal use such as a company, for example, when encrypting information that you want to keep secret and sharing the encrypted data among people of a limited group, OTP token is not the purchase of OTP token but the purchase of OTP token. It is necessary to give permission to the user identifier that wants to use the usage permission.

S155で端末1Cは端末1Cの秘密鍵101Cを用いてブロックチェーンシステムDLS(端末3Aなど)のOTPトークンのコントラクトにアクセスしトークン番号TIDAのトークンをユーザー識別子Aに発行する。端末4Aには秘密鍵401Aからユーザー識別子Aが計算できる。端末4AはOTPトークンのデータを保有していないが秘密鍵401Aを持つことでDLS上のOTPトークンにアクセスしそれを操作する所有権を持っている。 In S155, the terminal 1C uses the private key 101C of the terminal 1C to access the contract of the OTP token of the blockchain system DLS (terminal 3A or the like) and issues the token of the token number TIDA to the user identifier A. The user identifier A can be calculated from the private key 401A on the terminal 4A. The terminal 4A does not have the data of the OTP token, but has the ownership to access and operate the OTP token on the DLS by having the private key 401A.

S156では端末4AがOTPトークンのデプロイされたDLSとは異なるDLSからのトランザクションや電子メールまたは電話やファクシミリや信書の郵送配達などの形でブロックチェーン外部からのパスワードAKTB( 4032A )を入手し端末4Aの記録装置40Aに記録している。(AKTBは合言葉の略である。)
このパスワードAKTBを用いることでブロックチェーン上のスマートコントラクトにパスワードを個別に設定することを回避しあるユーザー識別子Aに対しパスワードを任意に設定し送ることもでき、あるいはユーザー識別子Aやユーザー識別子Bなどがの所属する会社などの団体において合言葉のように指定したパスワード値AKTBを社内の各社員のメールアドレスに通知させることもできる。
AKTBを設定した経緯は実施例1と実施例2と実施例3で用いたイーサリアムというブロックチェーン基盤はコントラクトの変数が公開されており攻撃者がCTAU値を解析することが可能であったため、やむを得ず解決策としてAKTBを利用した。AKTBとCTAUの2つ、さらにはソースコードが難読化・暗号化されたソフトウェアCRHNのCRKYを加えた3つを用いることでブロックチェーンと閲覧ソフトウェアとそれ以外の外部パスワードの3つ知らなければ暗号化データを復号することはできない。
コントラクトのCTAU値(3021A)は秘匿化されていることが好ましい。
In S156, the terminal 4A obtains the password AKTB (4032A) from the outside of the blockchain in the form of a transaction from the DLS different from the DLS in which the OTP token is deployed, an e-mail, a telephone, a facsimile, or a mail delivery of a letter, and the terminal 4A. It is recorded in the recording device 40A of. (AKTB is an abbreviation for secret word.)
By using this password AKTB, it is possible to avoid setting the password individually in the smart contract on the blockchain and arbitrarily set and send the password to a certain user identifier A, or the user identifier A, the user identifier B, etc. It is also possible to notify the e-mail address of each employee in the company of the password value AKTB specified as a secret word in an organization such as the company to which the company belongs.
The process of setting AKTB is unavoidable because the contract variables are open to the public and the attacker can analyze the CTAU value in the blockchain platform called Ethereum used in Example 1, Example 2, and Example 3. AKTB was used as a solution. By using two of AKTB and CTAU, and CRKY of software CRHN whose source code is obfuscated and encrypted, it is encrypted if you do not know the blockchain, browsing software and other external passwords. The encrypted data cannot be decrypted.
The CTAU value (3021A) of the contract is preferably concealed.

S157では暗号化データEncData(4034A)と前記暗号化データ4034Aの閲覧を行えるソフトウェアCRHN(403A)をOTPトークンを購入したサーバ端末5Bや電子商取引サイトから配布されたデータを入手する。なお磁気ディスクや磁気テープ、光学ディスク、半導体メモリなどの外部記録装置に記憶された4034Aや403Aを端末4Aの記憶装置に複製してもよい。 In S157, the encrypted data EncData (4034A) and the software CRHN (403A) capable of viewing the encrypted data 4034A are obtained from the server terminal 5B for which the OTP token is purchased and the data distributed from the electronic commerce site. The 4034A or 403A stored in an external recording device such as a magnetic disk, a magnetic tape, an optical disk, or a semiconductor memory may be duplicated in the storage device of the terminal 4A.

S158でソフトウェアCRHN(403A)を実行し起動させ、暗号化データの復号に必要なOTPトークンの秘密鍵401Aに関する情報の入力とOTPトークンのコントラクト識別子、OTPトークンのトークン番号TIDAを入力する。実施例3ではさらにOTPの生成と認証を行うために接続するノードとなるサーバ端末3Aを指定するURIを設定した。(ウォレットソフトを用いて秘密鍵の保存と入力や接続先ノードのURIを設定してもよい。)秘密鍵401Aの入力とその後のプログラム実行によってユーザ識別子Aが計算され、秘密鍵401Aとユーザー識別子Aとトークン番号TIDAがソフトウェア403Aに記録される。ソフトウェア403Aには利用するブロックチェーン識別子やそのブロックチェーンにアクセスするプログラムが含まれている。 The software CRHN (403A) is executed and started in S158, and the information about the private key 401A of the OTP token required for decrypting the encrypted data is input, the contract identifier of the OTP token, and the token number TRIDA of the OTP token are input. In the third embodiment, the URI that specifies the server terminal 3A that is the node to be connected to generate and authenticate the OTP is further set. (The secret key may be saved and input using wallet software, and the URI of the connection destination node may be set.) The user identifier A is calculated by the input of the private key 401A and the subsequent program execution, and the private key 401A and the user identifier are used. A and the token number URIDA are recorded in software 403A. Software 403A includes a blockchain identifier to be used and a program to access the blockchain.

S159ではS158で入力された情報からユーザー識別子やトークン番号を用いてソフトウェアCRHN(403A)のプログラムに設定された広告など配信サイトへのURIに従って広告等配信サービスサーバ端末5Aにアクセスする。この時、ユーザー識別子Aとトークン番号TIDAとユーザー端末4AのIPアドレスや位置情報、端末のIDや端末のセンサ値をユーザーの同意した情報に対しサーバー5Aに記録し図6Xのようなアクセスの監視と不正アクセス防止に利用することができる。
実施する際はS159ではユーザー識別子や、ユーザー識別子を匿名化した情報を用いることが多いと推測される。
In S159, the advertisement distribution service server terminal 5A is accessed according to the URI to the distribution site such as the advertisement set in the program of the software CRHN (403A) from the information input in S158 using the user identifier and the token number. At this time, the user identifier A, the token number TIDA, the IP address and location information of the user terminal 4A, the terminal ID and the sensor value of the terminal are recorded in the server 5A for the information agreed by the user, and access monitoring as shown in FIG. 6X is performed. It can be used to prevent unauthorized access.
It is presumed that in S159, the user identifier and the information obtained by anonymizing the user identifier are often used.

S160からS165まではOTPの生成と認証の一連のシークエンスでありS190からS195までの一連のシークエンスにおける説明と同様である。OTPの生成、OTPの取得、取得したOTPによる認証といったS160からS165までのシークエンスはソフトウェアCRHN(403A)内部で自動的に行ってもよい。S162からS163のシークエンスにおいて生成関数から取得したOTPの認証関数への入力と実行を自動的に行えるよう403Aのプログラムを設定することで自動化できる。実施例ではコンテンツを見るためのOTP認証をする労力や閲覧に至るまでの時間を減らすためプログラム内で自動的に認証させた。
S162からS163のシークエンスにおいてユーザーによるOTPの手動入力を望み、自動化したくないときは生成関数から取得したOTPの認証関数への入力と実行を手動で行うように403Aのプログラムを設定できる。
S160 to S165 are a series of sequences for OTP generation and authentication, and are the same as those described in the series of sequences from S190 to S195. The sequence from S160 to S165, such as OTP generation, OTP acquisition, and authentication by the acquired OTP, may be automatically performed inside the software CRHN (403A). It can be automated by setting the program of 403A so that the input and execution of the OTP acquired from the generation function to the authentication function can be automatically performed in the sequence from S162 to S163. In the embodiment, the content is automatically authenticated in the program in order to reduce the labor for OTP authentication for viewing the content and the time until browsing.
In the sequence from S162 to S163, the program of 403A can be set to manually input and execute the OTP acquired from the generation function to the authentication function when the user wants the manual input of the OTP and does not want to automate it.

S166は403AにてCTAU(4031A)とAKTB(4032A)とCRKY(4030A)からEncData(4034A)を復号する鍵情報TTKY(4033A)を生成する。 S166 generates key information TTKY (4033A) for decoding EncData (4034A) from CTAU (4031A), AKTB (4032A) and CRKY (4030A) at 403A.

S167はS166で生成された鍵情報TTKY(4033A)を用いて暗号化データEncData(4034A)を復号し、平文データDecData(4035A)を得る。 S167 decodes the encrypted data EncData (4034A) using the key information TTKY (4033A) generated in S166, and obtains the plaintext data DecData (4035A).

S168にてS167で4034Aを復号して端末4Aの記憶装置に得られた平文データ4035Aについて、端末4Aの出力装置45Aと入力装置44Aを用いて平文データ4035Aの閲覧や音声動画の視聴やソフトウェアおよびプログラムの実行と操作を行い、ユーザーにコンテンツを利用させる。実施例3では暗号化データを復号し得られた平文データ4035Aは一時的なデータであり平文データの閲覧や視聴等コンテンツの利用が終了すると記憶装置から削除されるようにした。
実施例3ではウェブブラウザソフトが対応するHTML5とECMAScriptで処理できる米国アドビ社の文章データを管理するPDF形式のファイル(拡張子は.pdf)、Fraunhofer IISらが発明した音声データを扱うMP3ファイル(拡張子は.mp3)、ISOのMPEG-4 Part 14(ISO/IEC 14496-14:2003)による動画音声などマルチメディアデータを扱うMP4ファイル(拡張子は.mp4)にて本発明の実施例3方法を用いOTPトークンとソフトウェアCRHNを用いた暗号化と復号を実施しファイルのデータの閲覧視聴を行った。ここでPDF形式のファイルはアクセス制御されたファイルを設定することもできる。
アクセス制御を施したPDF形式の平文ファイルを作成し、本発明の暗号化を復号した平文ファイルにアクセスコントロールや印刷禁止または印刷許可の設定を行うこともできる。また前記PDFファイルの例にあるように、任意のファイル形式、ファイル拡張子のアクセス制御プログラムを内蔵した平文データを本発明の方法で暗号化して配布され、その暗号化データが本発明の方法で復号され閲覧や実行を行う際に、平文ファイル利用時にアクセス制御を行えるようデータにプログラムしてもよい。平文ファイルにはファイルに固有の方法(それぞれのコンテンツファイルに対応した方法)でアクセス制御を行うプログラムが含まれていてもよい。)
アクセス制御はコンテンツの印刷や外部記録端末への平文ファイルの複製の可否、平文ファイル内容の変更の可否、音楽動画を再生できる機器の制限などを含む。
With respect to the plain text data 4035A obtained in the storage device of the terminal 4A by decoding 4034A in S167 in S168, the plain text data 4035A can be viewed, the audio / video can be viewed, the software, and the output device 45A and the input device 44A of the terminal 4A can be used. Run and operate the program and let the user use the content. In the third embodiment, the plaintext data 4035A obtained by decrypting the encrypted data is temporary data and is deleted from the storage device when the use of the content such as viewing or viewing of the plaintext data is completed.
In Example 3, a PDF format file (extension is .pdf) that manages text data of Adobe Corporation in the United States that can be processed by HTML5 and ECMAscript supported by web browser software, and an MP3 file that handles audio data invented by Fraunhofer IIS et al. Example 3 of the present invention using an MP4 file (extension: .mp4) that handles multimedia data such as video and audio according to ISO MPEG-4 Part 14 (ISO / IEC 14496-14: 2003) with an extension of .mp3). Using the method, encryption and decryption were performed using the OTP token and software CRHN, and the data in the file was viewed and viewed. Here, for the PDF format file, an access-controlled file can be set.
It is also possible to create a PDF format plaintext file with access control, and set access control, print prohibition, or print permission for the plaintext file obtained by decrypting the encryption of the present invention. Further, as in the example of the PDF file, plaintext data incorporating an access control program of an arbitrary file format and file extension is encrypted and distributed by the method of the present invention, and the encrypted data is encrypted by the method of the present invention. When decrypted, viewed or executed, the data may be programmed so that access control can be performed when using a plaintext file. The plaintext file may include a program that controls access by a method unique to the file (a method corresponding to each content file). )
Access control includes whether to print content, copy plaintext files to external recording terminals, change plaintext file contents, and limit devices that can play music videos.

ファイルの形式等に応じてソフトウェアCRHN(403A)は平文データ4035Aの内容を読み取り、権利者が4035A設定したプログラムに応じてユーザーの端末4Aでのプリンタ452Aを用いた紙などへの閲覧情報の印刷の可否や、ディスプレイ450Aやスピーカー451Aヘッドマウントディスプレイ453Aなどへの出力の可否などを、平文データ内に書き込まれた出力の設定に応じて決定し平文データを出力装置45Aから出力させる。また入力装置44Aから入力された内容に応じて閲覧させる。例として文章ファイル、音声動画データ、ソフトウェアであればソフトウェアを操作するキーや入力ボタンやポインティングデバイスや音声入力、各種センサ、コントローラなど入出力装置を用いて平文データを操作し閲覧・視聴・実行する。
スマートフォン端末や携帯電話端末に用いるディスプレイ450Aに出力してもよいし、デスクトップ型パーソナルコンピュータ端末に用いる22インチなどの大きさのディスプレイ450Aでもよい。持ち運びのできるラップトップ型またはノート型パーソナルコンピュータ端末やタブレット型端末のディスプレイ450Aでもよい。
本発明の実施においてヘッドマウントディスプレイ453Aは用いず通常のディプレイ450Aのみを用い暗号化データをソフトウェア403Aと分散型台帳システムDLSを用いたOTP認証システムにより復号し閲覧利用してもよい。
本発明はDLSによるOTP認証とログイン、入退場、施錠の解錠、暗号化データの復号(暗号化データへのログイン)を主な発明とする。ヘッドマウントディスプレイによる生体認証やコンテンツの複写防止はコンテンツの保護の観点で用いるものである。
ヘッドマウントディスプレイ453Aを用いる際は眼鏡型でもよく、両眼型、単眼型、非透過型、透過型の眼鏡もしくはゴーグル型装置でよい。仮想現実VR、拡張現実ARを実現する際のOTP認証システムに用いてもよい。
またユーザーにコンテンツを利用させる際にそのコンテンツが擬似乱数を用いたいとき、本発明のOTPトークンから計算されるOTPを擬似乱数を実現する値に利用してもよい。例えばオンラインゲーム及びオフライン傾向(ブロックチェーンだけはオンラインだがゲームとしてはオフライン)のゲームにおいてゲーム内で何かのイベントが起きるときに擬似乱数を用いたいときに本発明のBnTOTP型のOTP認証コードを用いてもよい。OTPを疑似ランダム用途に利用する場合はOTP認証に用いるよりも少ない桁数の値、例えば本来10桁のOTPであるときその下5桁の数字を用いて疑似ランダム値の生成に用いるなどを行うと好ましい。
The software CRHN (403A) reads the contents of the plain text data 4035A according to the file format, etc., and prints the browsing information on paper or the like using the printer 452A on the user's terminal 4A according to the program set by the right holder 4035A. Whether or not to output to the display 450A or the speaker 451A head mount display 453A is determined according to the output setting written in the plain text data, and the plain text data is output from the output device 45A. In addition, it is browsed according to the content input from the input device 44A. For example, text files, audio / video data, and in the case of software, use input / output devices such as keys and input buttons to operate the software, pointing devices, audio input, various sensors, and controllers to view, view, and execute plain text data. ..
It may be output to the display 450A used for a smartphone terminal or a mobile phone terminal, or may be a display 450A having a size such as 22 inches used for a desktop personal computer terminal. The display 450A of a portable laptop-type or notebook-type personal computer terminal or tablet-type terminal may be used.
In the practice of the present invention, the encrypted data may be decrypted and viewed by the OTP authentication system using the software 403A and the distributed ledger system DLS using only the normal display 450A without using the head-mounted display 453A.
The main invention of the present invention is OTP authentication and login by DLS, entry / exit, unlocking of locks, and decryption of encrypted data (login to encrypted data). Biometric authentication using a head-mounted display and prevention of content copying are used from the viewpoint of content protection.
When the head-mounted display 453A is used, it may be a spectacle type, or a binocular type, a monocular type, a non-transmissive type, a transmissive type spectacle type or a goggle type device. It may be used as an OTP authentication system when realizing virtual reality VR and augmented reality AR.
Further, when it is desired to use a pseudo-random number for the content when the user uses the content, the OTP calculated from the OTP token of the present invention may be used as a value for realizing the pseudo-random number. For example, the BnTOTP type OTP authentication code of the present invention is used when it is desired to use a pseudo-random number when an event occurs in a game in an online game or a game with an offline tendency (only the blockchain is online but the game is offline). You may. When OTP is used for pseudo-random use, a value with a smaller number of digits than that used for OTP authentication, for example, when it is originally a 10-digit OTP, the last 5 digits are used to generate a pseudo-random value. Is preferable.

またS168においてデータが権利者の存在する書籍や雑誌などのコンテンツではなく暗号化した機密文章をある団体のユーザー間で共有したい場合があるかもしれない。ある1つの書類を示した暗号化データはユーザー間で各々書き換えを行い電子署名を付与して変更されていくかもしれない。
そこで、入力装置44Aを用いて平文データの書き換えを行い端末4Aの秘密鍵401Aで平文データの変更前後のデータのハッシュ値等を求め、ある時刻またはあるブロック番号Bnにデータを変更・追記・改ざん・訂正したことをタイムスタンプやHMAC等MACあるいは電子証明書を用いた電子署名を行って記録し(電子署名用の秘密鍵は401Aでもよいし社員証や個人番号カードに記録されたものでもよい)、データ変更後の電子署名追加済み平文データとしてユーザー端末4AのOTPトークンを用いCTAU(4031A)とAKTB(4032A)とCRKY(4030A)から前記データ変更後の電子署名追加済み平文データを鍵情報TTKY(4033A)で暗号化した暗号化データとして、機密文章を送付したいユーザー(そのユーザーは送付元のユーザーと同じく暗号化と復号ができるOTPトークンを保有する)に送付することもできる。そして2人以上のユーザー間である書類のファイルを書き足し又は変更される毎に書き足しや変更を行ったユーザーのHMACのMAC値や電子署名が付与され暗号化されることをユーザー間で繰り返して行い暗号化されたデータとして保管しつつデータの変更を行った際には署名やタイムスタンプを記入できる。
前記の手続きのシークエンスは図7CBと図7CCを組み合わせたものである。ユーザーUAとユーザーUCがある団体に所属し機密文章をHMACのMAC値や電子署名などを用いて相互に暗号化とデータ変更と復号と暗号化を繰り返しながらデータを作成し閲覧できる。この処理を行う業務用のソフトウェアCRHN(403A)は書籍や音楽動画といった権利者の存在する作品を復号して読み取りのみできる版とは異なる版である事が好ましいかもしれない。
Further, in S168, there may be a case where the data is not the content such as a book or magazine in which the right holder exists, but the encrypted confidential text is to be shared among the users of a certain group. The encrypted data showing a certain document may be rewritten between users and digitally signed to be changed.
Therefore, the plain text data is rewritten using the input device 44A, the hash value of the data before and after the change of the plain text data is obtained by the private key 401A of the terminal 4A, and the data is changed / added / altered at a certain time or a certain block number Bn. -Record the correction by electronically signing using MAC such as time stamp or HMAC or electronic certificate (The private key for electronic signature may be 401A or may be recorded on the employee ID card or personal number card. ), Using the OTP token of the user terminal 4A as the plain text data with the electronic signature added after the data change, the key information is the plain text data with the electronic signature added after the data change from CTAU (4031A), AKTB (4032A) and CRKY (4030A). As encrypted data encrypted by TTKY (4033A), it can also be sent to a user who wants to send confidential text (the user has an OTP token that can be encrypted and decrypted like the sender user). Then, every time a document file between two or more users is added or changed, the HMAC MAC value and electronic signature of the user who added or changed the data are added and encrypted repeatedly among the users. When you make changes to the data while storing it as encrypted data, you can enter a signature or time stamp.
The sequence of the above procedure is a combination of FIG. 7CB and FIG. 7CC. User UA and User UC belong to a certain organization and can create and view confidential sentences by repeating encryption, data change, decryption and encryption using HMAC MAC value and electronic signature. It may be preferable that the commercial software CRHN (403A) that performs this processing is a version different from the version that can only read and decode the work in which the right holder exists, such as a book or a music movie.

通常の紙の雑誌や新聞や本、教科書では購入したそれらにユーザーが筆記用具でメモなどを書くことがある。本発明が教育分野で利用される場合には教科書などにタッチセンサや電子的なタッチペンやマーカーで書き込むことができると好ましいかもしれない。音声音楽はレコード盤や光学ディスク、動画は映画フィルムや磁気テープや光学ディスクといった形で販売されそれらにユーザーが筆記用具などで書き込むことはあまりないが、書籍に関してはユーザーが筆記用具に書き込みメモや学習のために利用するというケースがある。
そこで本発明ではS168において、書籍データに対しタッチペンやペンタブレットといったペン型のポインティングデバイスと、タッチ型の指でなぞる形式のポインティングデバイスに対応し、403Aで教科書などのデータを閲覧している際にペンで平文データを加工し、秘密鍵401Aで加工した差分のデータに電子署名を付与して保存してもよい。または教科書そのものがすべて画像データで構成されていた場合には該当する頁の画像データにポインテイングデバイスで任意の色情報や画像的な効果の情報を付与し、その結果形成された新たな平文データを暗号化し保存できる。この手順も図7CBと図7CCを組み合わせて実現できる。
紙の教科書と比べOTPトークン化した教科書のデータとすることで保存場所が少なくてよく(端末4Aと秘密鍵さえ忘れなければよく)教科書への手書きの書き込み保存機能をOTPトークンと同時に利用することで実現する。ユーザーがメモなどを書き込んだ教科書の暗号化データが紛失したり書き込みが増えすぎて見れなくなった場合には再度教科書の原本の暗号化データを入手して利用できる。書籍に書き込む事ができる用途のソフトウェアCRHN(403)は音楽や動画といった権利者の存在する作品を復号い閲覧や視聴のみできる版(バージョンまたはソフトウェアの名称)とは異なる事が好ましいかもしれない。
In ordinary paper magazines, newspapers, books, and textbooks, the user may write notes on those purchased with a writing instrument. When the present invention is used in the field of education, it may be preferable to be able to write on a textbook or the like with a touch sensor, an electronic touch pen or a marker. Audio music is sold in the form of record boards and optical discs, and movies are sold in the form of movie films, magnetic tapes and optical discs, and users rarely write on them with writing tools, but for books, users write notes on writing tools. There are cases where it is used for learning.
Therefore, in the present invention, in S168, a pen-type pointing device such as a touch pen or a pen tablet and a pointing device in the form of tracing with a touch-type finger are supported for book data, and when browsing data such as textbooks with 403A. The plain text data may be processed with a pen, and the difference data processed with the private key 401A may be digitally signed and saved. Or, if the textbook itself is entirely composed of image data, the pointing device is used to add arbitrary color information and image effect information to the image data of the corresponding page, and new plaintext data formed as a result. Can be encrypted and saved. This procedure can also be realized by combining FIG. 7CB and FIG. 7CC.
Compared to paper textbooks, OTP tokenized textbook data requires less storage space (you do not have to forget the terminal 4A and private key), and you can use the handwritten writing and saving function of the textbook at the same time as the OTP token. Realize with. If the encrypted data of the textbook in which the user wrote a memo etc. is lost or the number of writings increases so that it cannot be viewed, the encrypted data of the original textbook can be obtained and used again. It may be preferable that the software CRHN (403) for which it is possible to write in a book is different from the version (version or software name) in which the copyrighted work such as music or video can be decoded, viewed or viewed.

S169においてコンテンツに内蔵されたURIに対応する広告等サーバ5A(SVCRHNcm)に接続させることができる。これはソフトウェアCRHN(403A)に内蔵されたプログラムが、 S168にてS167で4034Aを復号して端末4Aの記憶装置に得られた平文データ4035Aにおいて広告を表示させることのできる制御文が存在し、前記制御文に従って403Aはサーバ5Aに接続できるURIが記載されている場合にそのURIの接続先から広告の配信を受ける。ここでURIはコンテンツのレーティングに適したものであることが必要である。
広告機能が付与されていなくともよく、教科書などではこのような広告用URIや広告に誘導するプログラムは記録されていないかもしれない。
S169において端末4Aのユーザー識別子、保有しているトークン番号、IPアドレスや位置情報、端末のIDやセンサ値などから図6Xのようにアクセスの監視を行い不正アクセスの有無を調べることもできる。広告は表示させずに広告表示サーバにアクセスさせ、アクセス情報のみサーバ5Aに記録させることもできる。プライバシー保護のために5Aまたは5Aに準ずる広告配信サーバ端末にアクセスを行わないようにすることもできる。
S169ではサーバ5Aに接続させる形で広告の配信を行わせることもできるし、広告主がアクセス管理だけはサーバ5Aで行い、本来の広告は平文データの内部に言葉や絵図、動画や音声の形で記録させる形でもよい。またプライバシー保護のために広告の配信とアクセス管理をサーバ5Aに行わせず、広告を文章や画像データとして平文データの中に記録させる形でもよい。(この場合、紙の雑誌などと同じく固定された広告の情報は後世に残ることが期待できる。)
In S169, it can be connected to the advertisement server 5A (SVCRHNcm) corresponding to the URI built in the content. This is because there is a control statement in which the program built in the software CRHN (403A) can decode 4034A in S167 in S168 and display an advertisement in the plain text data 4035A obtained in the storage device of the terminal 4A. According to the control statement, when the URI that can be connected to the server 5A is described, the 403A receives the advertisement from the connection destination of the URI. Here, the URI needs to be suitable for rating the content.
It is not necessary to have an advertising function, and textbooks and the like may not record such an advertising URI or a program that guides an advertisement.
In S169, access can be monitored from the user identifier of the terminal 4A, the token number held, the IP address and the location information, the ID and the sensor value of the terminal, and the like as shown in FIG. 6X, and the presence or absence of unauthorized access can be checked. It is also possible to access the advertisement display server without displaying the advertisement and record only the access information on the server 5A. For privacy protection, it is possible to prevent access to the advertisement distribution server terminal equivalent to 5A or 5A.
In S169, the advertisement can be delivered by connecting to the server 5A, the advertiser only controls the access on the server 5A, and the original advertisement is in the form of words, pictures, videos and sounds inside the plaintext data. It may be recorded in. Further, for privacy protection, the advertisement may be recorded in the plaintext data as text or image data without distributing the advertisement and controlling the access to the server 5A. (In this case, it can be expected that fixed advertising information, like paper magazines, will remain in posterity.)

S170では閲覧済みの証明書データOFBKMK(4036A)を作成する。これはユーザーが暗号データを復号したときにソフトウェア403Aにて行われる。S170Aで証明書データ(4036A)はTTKY(4033A)を暗号化もしくは難読化し、なおかつOTP認証を行い閲覧を開始した日付と時刻をタイムスタンプ情報として記録させ、難読もしくは暗号化された4033Aとタイムスタンプの連結データに電子署名して改ざんの有無を検知出るようにしたものである。
何らかの形で4033Aを難読化・暗号化し端末4Aのユーザーからは復号されない(復号が困難な)鍵情報40360Aとする。OTP認証時の時刻データ及びユーザー識別子等情報(40362A)と40360Aのデータを連結させ1つのメッセージとし、そのメッセージに対し端末4Aの秘密鍵401Aまたは秘密鍵CRKY(40302A)をキーとしたHMAC(Hash-based Message Authentication Code、ハッシュ関数を用いた符号メッセージ認証、メッセージ符号認証)を用いてHMAC値を算出し認証情報(40363A)とする。そして40360Aと40362Aと40363Aを連結し閲覧済み証明書データOFBKMK(4036A)とする
In S170, the viewed certificate data OFBKMK (4036A) is created. This is done in software 403A when the user decrypts the encrypted data. In S170A, the certificate data (4036A) encrypts or obfuscates TTKY (4033A), and the date and time when OTP authentication is performed and browsing is started are recorded as time stamp information, and the obfuscated or encrypted 4033A and time stamp are recorded. The consolidated data is digitally signed so that the presence or absence of falsification can be detected.
The 4033A is obfuscated / encrypted in some way, and the key information 40360A is not decrypted (difficult to decrypt) by the user of the terminal 4A. HMAC (Hash) that concatenates the time data at the time of OTP authentication, information such as user identifier (40362A), and data of 40360A into one message, and uses the secret key 401A or secret key CRKY (40302A) of the terminal 4A as a key for the message. -Based Message Authentication Code, code message authentication using hash function, message code authentication) is used to calculate the HMAC value and use it as authentication information (40363A). Then, 40360A, 40362A, and 40363A are concatenated to obtain the viewed certificate data OFBKMK (4036A).

S170では閲覧済みの証明書データOFBKMK(4036A)はネットワークから端末4Aが切断されオフライン時にブロックチェーンが使えない場合、すなわちCTAU値(4031A)が入手できない場合において認証を可能とする機能である。閲覧済みの証明書データOFBKMK(4036A)には暗号データを復号するTTKY(4033A)の情報が含まれる。
4036Aに4033Aを記載してしまう事もできるが、その場合は4033Aが漏洩すると配布された暗号化されたデータの暗号が無意味になってしまうので何らかの形で暗号化・難読化を施す必要がある。ソフトウェアCRHN(403A)のプログラムに内蔵された秘密鍵CRKY(40302A)のみを用い4033Aを暗号化することも可能であるが、その場合は同じ403Aを利用するユーザー間であるユーザーが閲覧した後の証明書データを配布しそれを異なるユーザーが端末に取り込み403Aに暗号化データとともに読み込ませれば閲覧できる恐れがある。(ただしこの場合では403Aが出力した4036Aに記載のユーザー識別子と異なるユーザー識別子を生じる秘密鍵(ここでは仮に101B)であったとき403Aはそれを検知して閲覧を実行させないこともできる。)
そこで4033Aを端末4Aの秘密鍵401A(401Aには端末4Aの様々な有価なOTPトークンが割り当てられている)を用いて暗号化しCTTKY(40361A)とする。続いてCTTKY(40361A)をソフトエアCRHN(403A)の秘密鍵(40302A)を用いて暗号化しACTTKY(40360A)とした。
秘密鍵401Aの流出時や秘密鍵の不正な使いまわしは端末4A等のユーザー端末が広告サーバ5Aにアクセスした際に図6Xのような不正アクセス検知機構により検知される。
In S170, the viewed certificate data OFBKMK (4036A) is a function that enables authentication when the terminal 4A is disconnected from the network and the blockchain cannot be used when offline, that is, when the CTAU value (4031A) cannot be obtained. The viewed certificate data OFBKMK (4036A) contains information of TTKY (4033A) that decrypts the encrypted data.
It is possible to describe 4033A in 4036A, but in that case, if 4033A leaks, the encrypted data distributed will be encrypted, so it is necessary to encrypt and obfuscate it in some way. be. It is also possible to encrypt 4033A using only the private key CRKY (40302A) built into the program of software CRHN (403A), but in that case, after browsing by a user who uses the same 403A. If the certificate data is distributed and read by a different user into the terminal and read by the 403A together with the encrypted data, it may be possible to view it. (However, in this case, when the secret key (here, 101B) that generates a user identifier different from the user identifier described in 4036A output by 403A is used, 403A may detect it and prevent browsing.)
Therefore, 4033A is encrypted using the secret key 401A of the terminal 4A (the 401A is assigned various valuable OTP tokens of the terminal 4A) to be CTTKY (40361A). Subsequently, CTTKY (40361A) was encrypted using the secret key (40302A) of soft air CRHN (403A) to obtain ACTTKY (40360A).
When the private key 401A is leaked or the private key is illegally reused, it is detected by an unauthorized access detection mechanism as shown in FIG. 6X when a user terminal such as the terminal 4A accesses the advertisement server 5A.

なおここでは実施例であって、本発明では4036Aは4033Aの情報と閲覧したユーザー識別子とユーザーが閲覧した時刻とそれらをメッセージをHMACを用いて算出したMAC値を含むデータである。4036Aは内部情報の改ざんを検知できるHMACから計算されるMAC値を備えている。改ざん検知をさせる情報(40363A)には共通鍵やハッシュ関数に基づくHMACではなく公開鍵暗号を用いた電子署名(デジタル署名)であってもよい。ただし本発明の実施例では4036Aの改ざん検知ができれば良いのでHMACを用いた。 Here, it is an embodiment, and in the present invention, 4036A is data including the information of 4033A, the user identifier viewed, the time viewed by the user, and the MAC value obtained by calculating the message thereof using HMAC. The 4036A has a MAC value calculated from HMAC that can detect falsification of internal information. The information (40363A) for detecting tampering may be an electronic signature (digital signature) using public key cryptography instead of HMAC based on a common key or a hash function. However, in the embodiment of the present invention, HMAC is used because it is sufficient if the tampering of 4036A can be detected.

実施例3ではTTKY(4033A)を難読化もしくは暗号化し鍵情報40360Aにする方法として、4033Aを端末4Aの秘密鍵401Aで暗号化した後ソフトウェアCRHN(403A)の秘密鍵CRKY(40302A)で暗号化させ、端末4Aの秘密鍵401AとソフトウェアCRHN(403A)の秘密鍵40302Aが揃う場合でなければTTKY(4033A)を得て暗号データが復号できないようにした。
処理の方法としては、TTKY(4033A)を秘密鍵401Aを鍵に用いて共通鍵暗号化してCTTKY(40361A)を得る。(ここで共通鍵暗号化のほかに公開鍵暗号化も利用可能と思われるが、証明書データOFBKMK(4036A)はオフライン時の閲覧用データであり他者に送付・通知・共有・譲渡をさせるものではないので共通鍵暗号化を利用した。暗号化の手段は共通鍵暗号化や公開鍵暗号化に限らず暗号化/平文化できる鍵TTKY(4033A)を暗号化もしくは難読化させそれを復号し再度TTKY(4033A)として取得出来る方法であれば構わない。)
そしてCTTKY(40361A)をソフトウェアCRHN(403A)のプログラムに内蔵された秘密鍵CRKY(40302A)を鍵に用いて暗号化しACTTKY(40360A)として、ACTTKYにブロック番号Bnや端末の時刻とユーザー識別子やトークン番号とトークンおコントラクト識別子と暗号データおよびOTPトークンの名称をまとめたデータとして、そのデータに秘密鍵401AとHMACを利用し電子署名を行い証明書データOFBKMK(4036A)を作成する。HMACのハッシュ関数は例えばSHA−2のSHA256を利用できる。
In the third embodiment, as a method of obfuscating or encrypting the TTKY (4033A) to obtain the key information 40360A, the 4033A is encrypted with the private key 401A of the terminal 4A and then encrypted with the secret key CRKY (40302A) of the software CRHN (403A). Unless the private key 401A of the terminal 4A and the private key 40302A of the software CRHN (403A) are available, TTKY (4033A) is obtained so that the encrypted data cannot be decrypted.
As a processing method, TTKY (4033A) is encrypted with a common key using the private key 401A as a key to obtain CTTKY (40361A). (It seems that public key encryption can be used in addition to common key encryption here, but the certificate data OFBKMK (4036A) is data for viewing when offline and is sent, notified, shared, and transferred to others. Since it is not a thing, common key cryptography was used. The means of encryption is not limited to common key cryptography and public key cryptography, but encryption / plain culture key TTKY (4033A) is encrypted or obfuscated and decrypted. Any method can be obtained as TTKY (4033A) again.)
Then, CTTKY (40361A) is encrypted using the secret key CRKY (40302A) built in the program of the software CRHN (403A) as a key, and is used as ACTTKY (40360A). Number and token As data that summarizes the contract identifier, cryptographic data, and OTP token name, the data is digitally signed using the private key 401A and HMAC to create certificate data OFBKMK (4036A). For example, SHA256 of SHA-2 can be used as the hash function of HMAC.

<不正利用の対応>
本発明の実施例1、実施例2、実施例3において共通している事として、秘密鍵401Aが攻撃者により複製され漏洩してしまったときに悪意を持ったほかのユーザー端末に配布される恐れはある。もし悪意を持って流通された401Aをほかの端末で利用した場合に、平文データのコンテンツ内に広告が設置されておりインターネットワークに接続されている場合にはサーバSVCRHNcmにIPアドレスや端末装置のシリアル番号、端末の入力装置44Aの入力センサ444Aの情報が規約で同意されている場合はサーバ5Aに通知されサーバ5Aに図6Xに示すユーザー識別子とOTPトークンのトークン番号とIPVに収集され記憶され不正アクセスの有無の監視と通知を行う。実施例1では端末3C、実施例2では端末3D、実施例3では端末5Aにアクセスする端末に対し図6Xに示すユーザー識別子とOTPトークンのトークン番号とIPVに収集され記憶される。
もしオフラインの場合はGNSSやJJY、NITZといった時刻情報を受信できる場合には、4036Aに記載の時刻情報と照らし合わせて閲覧可能な時間を設定して表示する。
また4036Aで復号せず、ネットワークにて悪意を持って401Aを他のユーザーと共有し、多くの人が同じ秘密鍵に不正アクセスしてある書籍を読んでいる場合には、ソフトウェアCRHN(403A)や書籍のデータに埋め込まれた広告サイトへのURIを経由し端末5Aに図6Xのような不正アクセスが多く(同一時刻に2人ではなく10人、100人など明らかに異常な件数で)記録されうる。
サービスの提供者の判断によるが、敢えてIPアドレスなどをハッシュ化しない様に規約を設定しIPアドレスを記録し図6Xのようなアクセスの監視を端末5Aで行うことを規約に明記してOTPトークンの販売を行うようにするとこれらの不正アクセス防止に役立つかもしれない。(発明者は403Aやその復号したデータを利用する際に同一の秘密鍵を用いて異なる端末での同一時刻でのアクセスによる利用は不正アクセスであると判断する。)
サービス提供者がこのような401Aを共有した形での不正アクセスを許容するかどうかによるが、販売されるコンテンツであれば利用規約で秘密鍵の共有や売買は禁止するべきである。また秘密鍵をサービスのアカウントと見たとき名義貸しなどになりうるので通常は秘密鍵の使い回しは許可されない。本発明の秘密鍵は銀行のインターネットバンキングのOTPトークンにも用いることが考えられ、その用途で利用する場合にはOTPトークンの秘密鍵の共有・売買・名義貸しは利用規約の違反と共にマネーロンダリングなどに利用される恐れが生じかねず、法によって秘密鍵の不正利用が制限されうる。
秘密鍵の管理の視点では個人番号カードなどの秘密鍵を抜き出せないICカード46A(NFCタグ46A)に記録させそれと端末4Aを端子を経由した有線接続やNFCなどで無線接続し、ICカード経由でブロックチェーン上のコントラクトにアクセスさせるのが好ましいかもしれない。その場合はICカード内の秘密鍵を管理する団体が必要になる。ICカードの内部の秘密鍵情報をICカード製造発行団体のあるデータベースに控えた上で、ICカードの秘密鍵にアクセスできないように装置の設定を変更することが必要である。
<Countermeasures against unauthorized use>
Common to Examples 1, 2, and 3 of the present invention is that the private key 401A is distributed to other malicious user terminals when it is duplicated and leaked by an attacker. There is a fear. If the 401A that has been maliciously distributed is used on another terminal, and if an advertisement is installed in the content of plain text data and it is connected to the interconnection, the IP address or terminal device of the server SVCRHNcm If the serial number and the information of the input sensor 444A of the input device 44A of the terminal are agreed by the agreement, the server 5A is notified, and the user identifier shown in FIG. 6X, the token number of the OTP token, and the IPV are collected and stored in the server 5A. Monitors and notifies the presence of unauthorized access. The user identifier shown in FIG. 6X, the token number of the OTP token, and the IPV are collected and stored for the terminal accessing the terminal 3C in the first embodiment, the terminal 3D in the second embodiment, and the terminal 5A in the third embodiment.
If the time information such as GNSS, JJY, or NITZ can be received in the case of offline, the time that can be viewed is set and displayed by comparing with the time information described in 4036A.
Also, if you are reading a book that is not decrypted by 4036A, maliciously shares 401A with other users on the network, and many people have unauthorized access to the same private key, software CRHN (403A) Many unauthorized accesses as shown in Fig. 6X were recorded on the terminal 5A via the URI to the advertising site embedded in the data of the software and books (with an apparently abnormal number of 10 people, 100 people, etc. instead of 2 people at the same time). Can be done.
Although it depends on the judgment of the service provider, the OTP token clearly states that the terminal 5A will monitor the access as shown in Fig. 6X by setting the rules so as not to hash the IP address etc. It may help prevent these unauthorized access if you try to sell. (The inventor determines that the use of the 403A and its decrypted data by accessing the 403A and its decrypted data at the same time on different terminals using the same private key is an unauthorized access.)
Depending on whether the service provider allows unauthorized access in the form of sharing such 401A, sharing or buying and selling of the private key should be prohibited in the terms of use if the content is to be sold. Also, when the private key is viewed as a service account, it can be lent under the name, so it is usually not allowed to reuse the private key. It is conceivable that the private key of the present invention can also be used for the OTP token of the bank's Internet banking, and when it is used for that purpose, sharing, buying and selling, and lending the secret key of the OTP token are money laundering together with the violation of the terms of use. There is a risk that it will be used for such purposes, and the law may limit the unauthorized use of private keys.
From the viewpoint of managing the private key, the private key such as the personal number card cannot be extracted. It is recorded on the IC card 46A (NFC tag 46A), and the terminal 4A is wirelessly connected via a terminal or NFC, and then via the IC card. It may be preferable to have access to the contract on the blockchain. In that case, an organization that manages the private key in the IC card is required. It is necessary to keep the private key information inside the IC card in a database of the IC card manufacturing and issuing organization, and then change the settings of the device so that the private key of the IC card cannot be accessed.

<トークンの除去とトークンの保管振替>
本発明ではERC721規格に実施例1から3に示したOTP生成認証機能をもつOTPトークンのコントラクトを用いている。ERC721規格によればあるコントラクトの管理者の端末1Cがコントラクトにアクセスしトークン番号を除去する除去関数をコントラクトに備えることができる。このトークン除去関数と発行関数と譲渡制限機能を組み合わせることでOTPトークンの保管振替操作がコントラクト管理者1Cから行える。この場合もユーザ端末4Aの秘密鍵401Aを用いユーザーがOTPトークンを利用することが可能である。
譲渡制限機能と除去関数によりユーザーが秘密鍵を紛失したり不正に秘密鍵を他者と共有し、不正なアクセスが発生している場合はOTPトークンを端末4Aの秘密鍵401A(及びその秘密鍵から計算されるユーザー識別子)から除去し、端末4Aが別途指定するほかの秘密鍵のユーザー識別子に発行することで振り替えることが可能である。それでも不正なアクセスが止まらない場合はトークンを除去することも考えられる。これはOTPトークンの利用規約にトークンの除去関数の存在の明記や保管振替ができることを明記する必要がある。
保管振替操作が可能になるとユーザーが秘密鍵を紛失しまたは流出した際に異なる秘密鍵にOTPトークンをコントラクトの管理者が振り替えることができる。そしてユーザーがOTPトークンを誰かに譲渡したり相続する場合にその振替をコントラクトの管理者に依頼することで行える。もし振替機能が無い場合は秘密鍵が分からない場合OTPトークンの送信ができず、家族・親族間での相続はできなくなる。
他方、OTPトークンのコントラクト管理者はコントラクトに帰属するすべてのトークン番号のトークンについて発行と除去、保管振替ができるようになる。ユーザーの家族の依頼を受けコントラクト管理者が端末1Cで保管振替を行い相続ができるが、端末1Cに権限が集中するためコントラクト管理者の責任が大きくなる。顧客のトークンの除去関数を行う場合は利用規約などに記載してトークンの購入を提案するとともに顧客のOTPトークンをカストディできるよう法令を遵守し外部から監査される必要があるかもしれない。また倉庫業や信託や銀行業、金融業や情報通信産業などにかかわる資格を取得した業者が管理することが好ましいかもしれない。
<Removal of tokens and storage transfer of tokens>
In the present invention, the contract of the OTP token having the OTP generation authentication function shown in Examples 1 to 3 is used in the ERC721 standard. According to the ERC721 standard, a contract administrator's terminal 1C can provide a removal function for accessing the contract and removing the token number. By combining this token removal function, the issuance function, and the transfer restriction function, the OTP token storage transfer operation can be performed from the contract administrator 1C. In this case as well, the user can use the OTP token by using the private key 401A of the user terminal 4A.
If the user loses the private key or illegally shares the private key with others by the transfer restriction function and removal function, and unauthorized access occurs, the OTP token is used as the private key 401A (and its private key) of the terminal 4A. It is possible to transfer the key by removing it from the user identifier calculated from) and issuing it to the user identifier of another private key separately specified by the terminal 4A. If unauthorized access still does not stop, it is possible to remove the token. It is necessary to specify in the terms of use of OTP tokens that the existence of the token removal function and that it can be stored and transferred.
When the storage transfer operation becomes possible, the contract administrator can transfer the OTP token to a different private key when the user loses or leaks the private key. Then, when the user transfers or inherits the OTP token to someone, the transfer can be requested from the contract administrator. If there is no transfer function, the OTP token cannot be sent if the private key is unknown, and inheritance between family members and relatives will not be possible.
On the other hand, the contract administrator of the OTP token will be able to issue, remove, and transfer the tokens of all token numbers belonging to the contract. At the request of the user's family, the contract administrator can perform storage transfer on the terminal 1C and inherit the inheritance, but since the authority is concentrated on the terminal 1C, the responsibility of the contract administrator increases. When performing the customer's token removal function, it may be necessary to state in the terms of use etc. to propose the purchase of the token and to comply with the law and be audited from the outside so that the customer's OTP token can be custody. In addition, it may be preferable to manage it by a company that has acquired qualifications related to the warehousing industry, trust, banking industry, finance industry, information and communication industry, and so on.

ここで相続について触れたのはOTPトークンが例えば高価もしくは親族にとってかけがえのない文章や書籍や音楽動画のデータであってそれを家族に相続させたいまたは家族の誰かが相続したいという問題が生じたときにそれに対しトークンの振り替えを行うには法人などの団体が端末1Cを操作し保管振替をするのが適しているかもしれないからである。紙の書類は100年を超えて存在し得るが本発明のOTPトークンやブロックチェーンなどの分散型台帳システムと暗号化データや秘密鍵と暗号化データを復号するソフトウェアCRHN、そしてそれらを動作させるデジタル機器の端末を用いて100年以上にわたり運用する場合、人間の寿命を考慮して個人や法人がもつデジタル資産としてのOTPトークンを考えた場合OTPトークンの相続について触れる必要があったためである。 I mentioned inheritance here when OTP tokens are, for example, expensive or irreplaceable text, books, or music video data that you want to inherit to your family or someone in your family wants to inherit. On the other hand, in order to transfer tokens, it may be appropriate for an organization such as a corporation to operate the terminal 1C and perform storage transfer. Paper documents can exist for more than 100 years, but the distributed ledger system such as OTP tokens and blockchains of the present invention, the software CRHN that decrypts encrypted data, private keys and encrypted data, and the digital that operates them. This is because when operating for 100 years or more using the terminal of the device, it was necessary to touch on the inheritance of the OTP token when considering the OTP token as a digital asset possessed by an individual or a corporation in consideration of the life span of a human being.

S171ではコントラクト管理者が端末1Cを用いてコントラクトのKC値やBC値といったOTPを計算するシークレット値(シード値)を更新できる。実施例3では端末4Aは本発明のOTP認証時にインターネットワークに接続されBnTOTPもしくはOWPは常に最新のシード値を用いて認証が行える。またOTPトークンの名前や連絡先などを記載した看板情報KNBN(3024A)も書換えることができる。その利用例として、OTPトークンがある書籍のトークンであって、その書籍を出版する出版社が合併した際には存続会社の連絡先などをトークンのコントラクトに記載することができる。
実施例3ではBnTOTPのほかにOWPを用いてもよい。
In S171, the contract administrator can update the secret value (seed value) for calculating the OTP such as the KC value and the BC value of the contract by using the terminal 1C. In the third embodiment, the terminal 4A is connected to the internetwork at the time of OTP authentication of the present invention, and BnTOTP or OWP can always be authenticated using the latest seed value. In addition, the signboard information KNBN (3024A) that describes the name and contact information of the OTP token can be rewritten. As an example of its use, an OTP token is a token of a book, and when the publishers that publish the book merge, the contact information of the surviving company can be described in the token contract.
In Example 3, OWP may be used in addition to BnTOTP.

<ネットワークから切断された場合の暗号化されたデータの復号>
紙の書籍はネットワーク20の存在に頼らず読むことができる。コンピュータやサーバーなど電子計算機の端末に保存された書籍データは装置を動かす電源があれば、内蔵した機器の記憶装置に記録されたデータに従い情報を入出力装置に出力させそれが本の情報であれば読むことができる。ネットワーク20の存在を前提としてネットワーク20経由で書籍データを閲覧する場合はそのデータが端末に保存され読めるようになっていない場合は読むことができない。
本発明では災害などでネットワーク20から切断された端末4Aにおいて、端末4Aに記録されたOTP認証を行って暗号化データを閲覧した時(シークエンスS170の時)に作成される証明書データOFBKMK(4036A)を利用し閲覧可能な制限時間内であれば閲覧できる方式を用いて書籍や動画・音声・ソフトウェアが閲覧利用できるようにした。図7CCにネットワーク20から端末4Aが切断されたオフラインのときに暗号化コンテンツの閲覧を行うシークエンス図を示す。
本発明では実施例3において図7CCに示すようにネットワーク20に接続されていない端末4Aにて暗号化データを復号して閲覧・視聴・利用するシークエンス実施できるが、証明書データ4036Aに暗号化データの復号に用いるTTKY(4033A)が平文または難読化・暗号化された状態で含まれており、またOTP認証した際のブロック番号や時刻情報とユーザー識別子を記録した閲覧時刻と閲覧ユーザー識別子等情報40362Aを含み、4036Aと40362Aを連結したメッセージデータとしたとき、メッセージデータをHMACにてMAC値(40363A)を算出し4036Aと40362Aと40363Aを連結して4036Aとする事を利用した。
4036Aに必要な情報は暗号化データの復号に用いるTTKY(4033A)の算出に結びつく情報と、ネットワーク20に接続していた際に図7CAのS156からS170においてOTP認証を行いTTKY(4033A)を算出し暗号化データを閲覧できた時の時刻等タイムスタンプ情報40362Aを結合し、端末4Aの秘密鍵401AやソフトウェアCRHN(403A)に内蔵された秘密鍵(40302A)または40302A以外のソフトウェア内部変数を基にHMACにて算出したMAC値(40363A)があれば本発明の証明書データを構成できる。
<Decryption of encrypted data when disconnected from the network>
Paper books can be read without relying on the existence of the network 20. For book data stored in the terminal of a computer such as a computer or server, if there is a power source to operate the device, information is output to the input / output device according to the data recorded in the storage device of the built-in device, and that is the book information. You can read it. When viewing book data via the network 20 on the premise of the existence of the network 20, the data cannot be read unless the data is stored in the terminal and can be read.
In the present invention, in the terminal 4A disconnected from the network 20 due to a disaster or the like, the certificate data OFBKMK (4036A) created when the encrypted data is browsed by performing the OTP authentication recorded in the terminal 4A (at the time of sequence S170). ) Is used to allow viewing and use of books, videos, audio, and software using a method that allows viewing within the time limit for viewing. FIG. 7CC shows a sequence diagram for browsing encrypted contents when the terminal 4A is disconnected from the network 20 and is offline.
In the present invention, as shown in FIG. 7CC in Example 3, the encrypted data can be decrypted and viewed / viewed / used by the terminal 4A not connected to the network 20, but the encrypted data can be stored in the certificate data 4036A. TTKY (4033A) used for decryption is included in plain text or in an obfuscated / encrypted state, and information such as the browsing time and browsing user identifier in which the block number, time information and user identifier at the time of OTP authentication are recorded. When 4036A was included and 4036A and 40362A were concatenated as message data, the MAC value (40363A) was calculated by HMAC for the message data, and 4036A, 40362A and 40363A were concatenated to obtain 4036A.
The information required for 4036A is the information related to the calculation of TTKY (4033A) used for decrypting the encrypted data, and when connected to the network 20, OTP authentication is performed from S156 to S170 of FIG. 7CA to calculate TTKY (4033A). Combines the time stamp information 40362A such as the time when the encrypted data can be viewed, and based on the secret key 401A of the terminal 4A, the secret key (40302A) built in the software CRHN (403A), or software internal variables other than 40302A. If there is a MAC value (40363A) calculated by HMAC, the certificate data of the present invention can be constructed.

<暗号化データ4034Aを用いず代わりに平文データを難読化・暗号化したソフトウェア403Aの内部に持つ場合>
実施例3の別の4036Aの実施形態として図4Cに記載の端末4Aのソースコードが難読化・暗号化されたソフトウェア403Aの内部の4030Aに平文データ4035Aが内蔵されている実施例が実施できる。(403Aの暗号化もしくは難読化したプログラムのソースコード4030Aにソフトウェア用の秘密鍵40302Aと共に平文データ4035Aを組み込む場合である)。
この場合にはソフトウェア403Aの秘密鍵40302Aとユーザー用秘密鍵401Aがある時、ソフトウェア403Aの4030Aにあるシークレット変数K403(40303KA)を用いて
401Aから計算できるユーザー識別子Aの情報とOTP認証時の時刻情報T403とK403を連結させた情報のハッシュ値HT403を求め、前記ハッシュ値HTK403と可読可能なユーザー識別子Aや認証時タイムスタンプ情報T403を含む証明書を構成する情報を連結し、証明書の本文データCHT403(40362KA)として40362KAをメッセージとしユーザ秘密鍵401AをキーにしてHMACによりMAC値40363KAを求め、40362KAとMAC値40363Aを連結し証明書データOFBKMK(4036A)としてもよい。
<When the plaintext data is stored inside the obfuscated / encrypted software 403A instead of using the encrypted data 4034A>
As another embodiment of 4036A of the third embodiment, an embodiment in which the plaintext data 4035A is built in 4030A inside the software 403A in which the source code of the terminal 4A shown in FIG. 4C is obfuscated / encrypted can be implemented. (In the case where the plaintext data 4035A is incorporated together with the software secret key 40302A in the source code 4030A of the encrypted or obfuscated program of 403A).
In this case, when the private key 40302A of the software 403A and the private key 401A for the user are present, the information of the user identifier A that can be calculated from the 401A using the secret variable K403 (40303KA) in the 4030A of the software 403A and the time at the time of OTP authentication. The hash value HT403 of the information obtained by concatenating the information T403 and K403 is obtained, and the hash value HTK403 is concatenated with the information constituting the certificate including the readable user identifier A and the time stamp information T403 at the time of authentication, and the text of the certificate is concatenated. The MAC value 40363KA may be obtained by HMAC using 40362KA as a message as the data CHT403 (40362KA) and the user private key 401A as a key, and 40362KA and the MAC value 40363A may be concatenated to obtain the certificate data OFBKMMK (4036A).

前記の40362KAをメッセージとしユーザ秘密鍵401AをキーにしてHMACによりMAC値40363KAを求め、40362KAとMAC値40363Aを連結し証明書データOFBKMK(4036A)とする場合、OTP認証関数の戻り値CTAUは単一の真偽値のみの戻り値でもよいし、2つ以上の戻り値を持ちその中に403Aがユーザーに閲覧を許可する判定式の条件文に用いる変数を持っていてもよい。CTAUが単一の真偽値だけでもよい理由は、ソフトウェア403の内部データが平文データを含めて暗号化もしくは難読化されておりプログラム実行時にブロックチェーン上のコントラクトにおいてOTP認証が行えたかどうかの真か偽かの真偽値を403Aが確認し、もし真の値を返して認証できた場合にはS170の証明書データ4036Aを40303KAとユーザーの秘密鍵401Aを用いて算出出来るためである。 When the MAC value 40363KA is obtained by HMAC using the above 40362KA as a message and the user secret key 401A is used as a key, and the 40362KA and the MAC value 40363A are concatenated to obtain the certificate data OFBKMK (4036A), the return value CTAU of the OTP authentication function is simple. It may be a return value of only one truth value, or it may have two or more return values and a variable used in the conditional statement of the judgment expression that 403A allows the user to browse. The reason why the CTAU may have only a single boolean value is whether the internal data of the software 403 is encrypted or obfuscated including the plain text data and OTP authentication can be performed in the contract on the blockchain at the time of program execution. This is because the 403A confirms the true / false value of false or false, and if the true value can be returned and authenticated, the certificate data 4036A of S170 can be calculated using 40303KA and the user's private key 401A.

ユーザー秘密鍵401Aと証明書データ4036Aをオフライン下で403Aは読み込み、4036Aに記述されたMAC値40363Aから4036Aの改ざんが行われていないか401Aを用いて確認し、4036Aが改ざんされていない場合にはCHT403のHTK403の値をソフトウェア403は読み取り、ソフトウェア内部で計算される401Aから計算できるユーザー識別子Aの情報とOTP認証時の時刻情報とK403を連結させた情報のハッシュ値HT403と一致するか計算して検証し、4036Aの情報と403Aで計算される情報が一致した場合はプログラムに内蔵された平文データをユーザ端末4Aの入出力装置を通じて閲覧視聴利用させる。一致しない場合は平文データを利用させない。 The user private key 401A and the certificate data 4036A are read offline by the 403A, and the MAC values 40363A to 4036A described in the 4036A are checked by the 401A to see if they have been tampered with, and if the 4036A has not been tampered with. The software 403 reads the value of HTK403 of CHT403, and calculates whether it matches the hash value HT403 of the information of the user identifier A that can be calculated from 401A calculated inside the software, the time information at the time of OTP authentication, and the information that concatenates K403. If the information of 4036A and the information calculated by 403A match, the plain text data built in the program is viewed and viewed through the input / output device of the user terminal 4A. If they do not match, the plaintext data will not be used.

ここで秘密鍵401Aを共通鍵としてHMACを用いた方式について述べたが、401Aを公開鍵暗号の鍵に用いて電子署名(デジタル署名)により証明書を作成する方式も考えられる。ただし4036Aは他者に送付することを意図しないデータであるのでHMACを好ましくは利用した。オンライン時においてOTPトークンを割り当てられた秘密鍵401AをキーとしてHMACとソフトウェア内部のシークレット変数(K403)と認証時刻を用い認証証明データを作成し、オフライン時に読込してソフトウェア内のファイル閲覧可能とする。 Here, a method using HMAC with the private key 401A as a common key has been described, but a method of creating a certificate by digital signature using 401A as a public key cryptographic key is also conceivable. However, since 4036A is data that is not intended to be sent to others, HMAC is preferably used. Using the private key 401A to which the OTP token is assigned when online, the authentication certification data is created using HMAC, the secret variable (K403) inside the software, and the authentication time, and it is read when offline so that the files in the software can be viewed. ..

ソフトウェア403AはHMACにより改ざん検知できる証明書の認証時刻データと端末4Aの現在時刻からユーザーが連続して閲覧可能な時間を計算しその時間の間に入出力装置を通じて端末4Aのユーザーにデータを閲覧・視聴・利用させる。認証時刻がより過去の時間となり、古い証明書データ(4036A)であるほど、連続して閲覧可能な時間が短くなる。そしてユーザーは閲覧時間が短くなるために再度403Aを起動しては403Aが制限時間を超えたことを検知し終了してを繰り返しソフトウェア403を頻繁に再実行しなければいけなくなる。これを解消するにはオンライン時にブロックチェーンシステムを構成する3Aにアクセスし、本発明の閲覧したい平文データに対応したOTPトークンの割り当てられた秘密鍵401Aを用いてOTP認証を再び行って平文データを閲覧し新しい証明書データ(4036A)を発行することができればよい。 Software 403A calculates the time that the user can continuously view from the authentication time data of the certificate that can be detected by HMAC and the current time of the terminal 4A, and during that time, the data is viewed by the user of the terminal 4A through the input / output device.・ Watch and use. The authentication time is a past time, and the older the certificate data (4036A), the shorter the continuous viewing time. Then, since the browsing time is shortened, the user must start the 403A again, detect that the 403A has exceeded the time limit, terminate the process, and re-execute the software 403 frequently. To solve this, access 3A constituting the blockchain system when online, and perform OTP authentication again using the private key 401A to which the OTP token corresponding to the plaintext data to be viewed of the present invention is assigned to obtain the plaintext data. It is only necessary to be able to browse and issue new certificate data (4036A).

平文データをソフトウェア上で連続して閲覧可能な時刻の設定権限はデータの権利者にある。データの権利者はコンテンツのレイティングやそのデータが災害など非常事態においてどのように使われるかを考慮して閲覧可能な時間を設定することができる。
またデータの権利者が許可する場合にはオフラインにて4036Aを用いてコンテンツを利用する際に制限時間を設定しないことも可能である。
The right holder of the data has the authority to set the time when the plaintext data can be viewed continuously on the software. The data right holder can set the viewing time in consideration of the rating of the content and how the data is used in an emergency such as a disaster.
Further, if the data right holder permits, it is possible not to set a time limit when using the content offline using the 4036A.

実施例3の用途ではオフライン時に端末4Aの時間情報に基づいて時刻が計算される。端末4Aの制御処理装置41Aに含まれるリアルタイムクロック(RTC)の機能に従い、4Aの電源装置47A(RTC部を動かすことの出来る電池を含む)を用いオフラインの4Aにおいても時刻情報を保持し続けることができるが、BIOSで書き換えられてしまう恐れがある。(ここでRTCは水晶振動子や発信回路などのICで構成された時計機能を提供できる部品。)
本発明では好ましくはBIOS等端末4Aを制御するソフトウェアで端末の時間が書き換えられないようにすることや、端末4Aに時刻情報を受信する装置がありGNSSやJJY、NITZといった情報源から正しいと思われる時刻情報を取得し、端末4Aの時刻を国際原子時(TAI)や協定世界時(UTC)に近い値に設定できると好ましい。端末4Aのハードウェア的な時刻情報の改ざんが可能であるときはソフトウェア403Aは誤った時刻、あるいは悪意を持って設定された時刻に従うほかなく、4036Aを用いた閲覧を出来る時間を制限する仕組みは成り立たなくなる。
In the application of the third embodiment, the time is calculated based on the time information of the terminal 4A when offline. According to the function of the real-time clock (RTC) included in the control processing device 41A of the terminal 4A, the time information is continuously retained even in the offline 4A using the power supply device 47A (including the battery capable of operating the RTC unit) of the 4A. However, there is a risk that it will be rewritten by BIOS. (Here, the RTC is a component that can provide a clock function composed of ICs such as a crystal oscillator and a transmission circuit.)
In the present invention, it is preferable that the software for controlling the terminal 4A such as BIOS prevents the time of the terminal from being rewritten, and the terminal 4A has a device for receiving time information, which is considered to be correct from information sources such as GNSS, JJY, and NITZ. It is preferable that the time information can be acquired and the time of the terminal 4A can be set to a value close to the International Atomic Time (TAI) or Coordinated Universal Time (UTC). When the hardware-like time information of the terminal 4A can be tampered with, the software 403A has no choice but to follow the wrong time or the time set maliciously, and the mechanism to limit the viewing time using the 4036A is It doesn't hold.

証明書データOFBKMK(4036A)の要件は本発明のOTP認証システムで認証しデータを閲覧したときの時刻情報40362Aと前記情報の改ざんが行われていないか検証するためのMAC値40363Aである。暗号化データ4034Aがソフトウェア403Aの外部にある場合は暗号化データを復号する鍵TTKY(4033A)を計算するための情報40360Aや40361A等が必要になる。OFBKMK(4036A)はユーザー秘密鍵401Aに応じて発行される。同一のコンテンツでも秘密鍵が異なるときは異なった4036Aが発行される。またさらにトークン番号が違う場合にも異なった4036Aが発行される。
暗号化データ4034Aがソフトウェア403Aの内部にあり暗号化されているとき、つまり4030Aの内部にあるソフトウェアの秘密鍵CRKY(40302A)のように難読化もしくは暗号化されている場合は平文データがプログラムのソースコードと共に暗号化されておりTTKY(4033A)が必要ないので、暗号化データを復号する鍵TTKY(4033A)を計算するための情報40360Aや40361A等は不要である。ソフトウェア403Aを実行し、ユーザーが秘密鍵401Aと証明書データOFBKMK(4036A)を403Aに読み込ませ、閲覧を希望すればオフラインであっても403Aはソフトウェア内部の平文データを閲覧させることができる。
本発明では暗号化データ4034Aを読み込むソフトウェア403Aの版と平文データを内蔵したソフトウェア403Aのどちらも4036Aを作成でき、またそれらに対応するOTPトークンを用い認証を行い暗号化データの復号を行える。
The requirements of the certificate data OFBKMK (4036A) are the time information 40362A when the data is browsed by the OTP authentication system of the present invention and the MAC value 40363A for verifying whether the information has been tampered with. When the encrypted data 4034A is outside the software 403A, information 40360A, 40361A, etc. for calculating the key TTKY (4033A) for decrypting the encrypted data are required. OFBKMMK (4036A) is issued according to the user private key 401A. If the private key is different even for the same content, different 4036A will be issued. Further, if the token number is different, a different 4036A will be issued.
When the encrypted data 4034A is inside the software 403A and is encrypted, that is, when it is obfuscated or encrypted like the software private key CRKY (40302A) inside the 4030A, the plain data is the program's. Since it is encrypted together with the source code and does not require TTKY (4033A), information 40360A, 40361A, etc. for calculating the key TTKY (4033A) for decrypting the encrypted data are unnecessary. The software 403A is executed, the user can read the private key 401A and the certificate data OFBKMK (4036A) into the 403A, and if the user wishes to view the software 403A, the 403A can view the plaintext data inside the software even if it is offline.
In the present invention, both the version of the software 403A that reads the encrypted data 4034A and the software 403A that incorporates the plaintext data can create the 4036A, and can authenticate and decrypt the encrypted data using the corresponding OTP token.

図7CCにネットワークに接続されていない場合において図4Bの構成の端末4Aで秘密鍵401Aと暗号化データ4034AとソフトウェアCRHN403Aと証明書データ4036Aを用いて暗号化データを復号する場合を示す。シークエンスS200では図4Bの構成の端末4Aで秘密鍵401Aと暗号化データ4034AとソフトウェアCRHN403Aと証明書データ4036Aを用意する。 FIG. 7C shows a case where the encrypted data is decrypted by the terminal 4A having the configuration of FIG. 4B using the private key 401A, the encrypted data 4034A, the software CRHN403A, and the certificate data 4036A when the terminal 4A is not connected to the network. In the sequence S200, the private key 401A, the encrypted data 4034A, the software CRHN403A, and the certificate data 4036A are prepared by the terminal 4A having the configuration shown in FIG. 4B.

S201ではソフトウェア403Aを実行し起動させ、少なくとも秘密鍵401Aと暗号化データ4034Aを読み込ませ(あるいは401Aと4034Aのあるファイルのディレクトリとファイル名を指定し、あるいはファイルを示すURIを指定し)、他に設定入力が必要な場合は入力を行う。 In S201, the software 403A is executed and started, and at least the private key 401A and the encrypted data 4034A are read (or the directory and file name of the file containing 401A and 4034A are specified, or the URI indicating the file is specified), and the like. If you need to enter the settings in, enter them.

S202では証明書データ4036Aを読み込ませる。この時4036Aが改ざんされていないか調べるため、4036AのMAC値を秘密鍵を用いて検証する。 In S202, the certificate data 4036A is read. At this time, in order to check whether the 4036A has been tampered with, the MAC value of the 4036A is verified using the private key.

S203では4036AのACTTKY40360AをCRKY40302A等にて復号しCTTKY40361Aを得る。
CTTKY40361Aを端末4Aの秘密鍵を用いて復号しTTKY4033Aを生成する。
In S203, ACTTKY40360A of 4036A is decoded by CRKY40302A or the like to obtain CTTKY40361A.
CTTKY40361A is decrypted using the private key of terminal 4A to generate TTKY4033A.

S204ではTTKY4033Aにて暗号化データ4034Aを復号し平文データ4035Aを得る。 In S204, the encrypted data 4034A is decrypted by the TTKY4033A to obtain the plaintext data 4035A.

S205ではソフトウェアCRHN403Aのプログラムに従い、証明書データ4036に含まれる40363Aから証明書が改ざんされていないことを確認し、4036Aに含まれるOTP認証時及び平文でたーの閲覧時刻情報40362Aの時刻情報を取得し、端末4Aの時刻情報と40362Aの時刻情報から閲覧可能な時刻を算出する。 In S205, according to the program of the software CRHN403A, it is confirmed that the certificate has not been tampered with from 40363A included in the certificate data 4036, and the time information of the OTP authentication time and plain text browsing time information 40362A included in 4036A is used. The time that can be viewed is calculated from the time information of the terminal 4A and the time information of 40362A.

S206では閲覧可能な時間を現在時刻に加算した時刻になるまでユーザーにデータを閲覧もしくは使用させる(時刻を取得するには端末DAのGNSS受信器や、NITZ、JJYなどの時刻受信機が備え付けられていると好ましい)。ここで閲覧可能な時刻の算出や制御の仕方は平文データの権利者の求めにより代わり、ソフトウェアCRHN403Aのプログラムや、平文データ4035A内にその処理の仕方や処理に利用する変数が記載されるため具体的な時刻の計算方法や変数値は限定しない。S206では40362Aの時刻情報と現在時刻を基にしてユーザーが閲覧できる時間を計算して設定し時間が経過したときに403Aの実行を停止することも可能な処理が含まれる。閲覧可能な時間の制限がない場合はそれに合わせて動作させる。 The S206 is equipped with a GNSS receiver of the terminal DA and a time receiver such as NITZ or JJY to allow the user to view or use the data until the time obtained by adding the viewable time to the current time. It is preferable to have it). The method of calculating and controlling the time that can be viewed here is changed at the request of the right holder of the plaintext data, and the program of the software CRHN403A and the method of processing and the variables used for the processing are described in the plaintext data 4035A. Time calculation method and variable values are not limited. S206 includes a process that can calculate and set a time that can be viewed by the user based on the time information of 40362A and the current time, and can stop the execution of 403A when the time has elapsed. If there is no limit on the viewing time, operate according to it.

S207ではS206で40362Aの時刻情報と現在時刻を基にしてユーザーが閲覧できる時間を計算した値よりも長い時間がユーザー端末4Aで経過したときを示す。S208ではS207に示す時刻になったときソフトウェア403Aは平文データの閲覧視聴利用を停止し、警告などを行った後、ユーザの意志にかかわらず強制的に終了する。 In S207, a time longer than the value calculated by the user based on the time information of 40362A and the current time in S206 has elapsed on the user terminal 4A. In S208, when the time indicated in S207 is reached, the software 403A stops viewing and viewing the plaintext data, gives a warning, and then forcibly terminates the software 403A regardless of the user's intention.

また図7CCのネットワークに接続されていない場合において、端末4Aが図4Cに示す構成(ソフトウェア403Aの4030Aに平文データ4035が内蔵され暗号化もしくは難読化されている場合)ではS203やS204のシークエンスを除いたシークエンス図となる。 Further, when the terminal 4A is not connected to the network of FIG. 7CC, the sequence of S203 or S204 is performed in the configuration shown in FIG. 4C (when the plaintext data 4035 is built in the software 403A 4030A and is encrypted or obfuscated). It is a sequence diagram excluding.

実施例3のソフトウェアCRHN(403A)には、
1.EncDataからDecDataへの変換のみができるものCRHNReader、
2.DecDataからEncDataへの変換をするものCRHNWriter、
3.DecDataとEncDataの相互変換を行えるものCRHNReaderWriter
の3種類が考えられる。
CRHNReaderWriterはある団体の文章を暗号化、復号するために書類等データの変更が行われる毎に文章の暗号化と復号を行う(ここでEncDataとして保持し、ユーザーがEncDataを復号して変更する際にDecDataを記憶装置内に内蔵する)。復号したデータを変更し暗号化して保存する際に書類へのタイムスタンプや電子署名が可能であり、ブロックチェーンのブロック番号とBnTOTPを固有のシークレットして記入し、書籍データをハッシュ化し書籍をブロックチェーンのように改ざん困難な形で保存させることもできる。(機密文章を管理する用途に向けたソフトウェアである。)
またCRHNReaderWriterのもう一つの形態としては、1次創作物の権利者が許可する場合に限り1次創作物となるコンテンツの暗号化データを復号後にコンテンツの内容の一部に従いつつ変更をして2次的創作物となるコンテンツとして次のOTPトークンの保有者に配布するといったことにも利用できる。この場合はコンテンツの利用権として、1次創作物となるコンテンツのOTPトークンとは異なるコントラクトで発行・配布されるかもしれない。暗号化データが書換えられたのちも広告サーバ5Aに接続されるURIの部分を変更出来ないようにCRHNReaderWriterとなる403Aにプログラムをすることで、1次創作者は2次またはn時の創作物に埋め込まれたURI情報に接続・リンクされたサーバ5Aの広告により収益を上げることもできる。
CRHNReaderは暗号化された書籍、音声動画、ソフトウェア等データEncDataを復号して得られた平文データDecDataを閲覧・再生・起動する。書籍における付箋などの様に原本の平文データとは別に注釈などを記録する機能を備えてもよい。
CRHNWriterはCRHNReaderにて復号させる暗号化データEncDataを平文データDecDataから作成するためのものであり、書籍・音声動画・ソフトウェア等の平文データDecDataを暗号化する。
ソフトウェア403Aの種類やバージョンに応じて、ソフトウェアアプリケーション専用の鍵を管理するコントラクトの識別子APKY40301A、ソフトウェア403Aの秘密鍵40302A、ブロックチェーンから取得した鍵管理コントラクトの戻り値CAPKY40303A等が設定される。APKY,CRKY、CAPKYをバージョンや種類の異なるソフトウェア403A毎に固有の値として設定することでCRHNをCRHNWriterとして動作させるのか、CRHNReaderWriterとして動作させるのかを切り替える情報として利用できる。また403Aのソフトウェアのバージョンを例として数年ごとに変え、APKY,CRKY、CAPKYを変えていくことができる。
In the software CRHN (403A) of Example 3,
1. 1. CRHNReader, which can only convert from EncData to DecData,
2. 2. CRHNWriter, which converts DecData to EncData,
3. 3. CRHNReaderWriter that can perform mutual conversion between DecData and EncData
There are three possible types.
CRHNReaderWriter encrypts and decrypts the text every time the data such as documents is changed in order to encrypt and decrypt the text of a certain group (here, it is held as EncData, and when the user decrypts and changes EncData). DecData is built in the storage device). When changing the decrypted data, encrypting and saving it, it is possible to time stamp or digitally sign the document, enter the block chain block number and BnTOTP in a unique secret, hash the book data and block the book. It can also be stored in a form that is difficult to tamper with, such as a chain. (Software for managing confidential texts.)
In addition, as another form of CRHNReaderWriter, only when the right holder of the primary creation permits, the encrypted data of the content that becomes the primary creation is decrypted and then changed according to a part of the content. 2 It can also be used to distribute to the next OTP token holder as content that will be the next creation. In this case, as the right to use the content, it may be issued and distributed with a contract different from the OTP token of the content that is the primary creation. By programming the 403A, which is the CRHN Reader Writer, so that the part of the URI connected to the advertising server 5A cannot be changed even after the encrypted data has been rewritten, the primary creator can become a secondary or n-time creation. It is also possible to make a profit by advertising the server 5A connected / linked to the embedded URI information.
The CRHN Reader browses, plays back, and activates the plaintext data DecData obtained by decrypting the encrypted book, audio / video, software, and other data EncData. It may be provided with a function of recording annotations and the like separately from the plaintext data of the original, such as sticky notes in books.
CRHNWriter is for creating encrypted data EncData to be decrypted by CRHNReader from plaintext data DecData, and encrypts plaintext data DecData such as books, audio / video, and software.
Depending on the type and version of the software 403A, the identifier APKY40301A of the contract that manages the key dedicated to the software application, the private key 40302A of the software 403A, the return value CAPKY40303A of the key management contract acquired from the blockchain, and the like are set. By setting APKY, CRKY, and CAPKY as unique values for each version and type of software 403A, it can be used as information for switching whether to operate CRHN as CRHNWriter or CRHNReaderWriter. In addition, the software version of 403A can be changed every few years as an example, and APKY, CRKY, and CAPKY can be changed.

<特殊な版のCRHNReaderWriterによる原本への加筆とn次創作>
CRHNReaderWriterの形態としては1次創作物となるコンテンツの暗号化データを復号後にコンテンツの内容の一部に従いつつ変更をして2次的創作物となるコンテンツとして次のOTPトークンの保有者に配布することは知的財産権の1つである著作権におおいに関連する。
著作権者がコンテンツのn次利用を許可した場合にその許可された広告付きのコンテンツの原本と暗号化データとそれを復号するOTPトークンとその用途のCRHNReaderWriterを販売することができるかもしれない。コンテンツには文章書籍や画像と動画そして音声やゲームソフトウェアとプログラムソースコードが想定される。
例として無料のソフトウェアのプログラムのソースコードをフリーに近いライセンスにてオープンソースコードとしてコラボレーションを許可して配布する場合であっても、配布されたプログラムをコラボレーションして改良した2次創作者が前記の1次創作者のデータに対応した無料のOTPトークンとそこに添付した広告URIを2次創作物のプログラムに添付し、添付されたプログラムをエンドユーザーが利用する際に1次創作者と2次創作者の組み込んだ広告のタグに従い端末5Aの広告配信サイトへ広告を呼び出す等で1次創作者及び2次創作者の双方に広告費が支払われるならばプログラマーの収益改善に寄与できるかもしれない。
<世界各国の法律の権利によって保護されたものを権利トークン する場合の問題>
前記のn次創作の著作権など知的財産権に関連し、本発明のOTPトークンを株式や不動産所有権や知的財産権や特許権や商標権や著作権の所有権として利用することも考えられるが、本発明はあくまで情報処理を改ざん困難かつOTP認証などを行って権利の行使を行いやすくする手段であって(認証を自動化する方法であって)、その株式や不動産所有権や知的財産権がその国の法令によって管理されることに留意すべきであり、各国の行政やOTPトークンの発行体や発行体への監査、会社であれば公認会計士といった専門家、不動産ならば不動産取引法務の専門家や弁理士や弁護士など法で定められた資格を持つ専門家・専門家団体の仲介が分散型台帳システムの外で必要になる。
本発明では権利と対応したOTPトークンの用途については、専門家の立合・監査・監視・判断・承認・証人がないときは法的な権利に関するOTPトークンは紛争の元となったり存在しないもの(法の裏付けのない記録)になる恐れもあり、本発明の利用例で詳細な説明は行わなかった。しかし株式など有価証券では株主総会へのログインや株主投票などを行うウェブサイトへのログイン及び意思表示用のOTPトークンとなること、そして株主がその株式に対応する株式会社のサービスの利用権となりうることから利用例を記載した。
また分散型台帳システムは国境を越えてOTPトークンを発行できてしまう事から、仮に法で守られる権利をOTPトークン化する際はKYCされたユーザーにOTPトークンを発行譲渡する事が好ましい。特許権や著作権など知的財産権を権利化したとき、前記権利を一般市民だけが所有するとは限らない。予期しない団体(テロリストなど)に権利の過半数を掌握されトークンの権利による収益を分配することを迫られるリスクがある。そこでこの場合はOTPトークンに譲渡制限機能とトークン除去関数を用いた保管振替機能を持たせる事が好ましいと考える。
またOTPトークンの売買によるユーザー間での金銭のやり取り又は暗号資産のやり取りを記録し、予期しない団体 への資金供与を抑えるとともに、OTPトークンなどの分散型台帳システム上のやり取りで生じた税に関する処理を自動で行わせるサーバー端末(端末3Eや3Fを拡張した物)があると好ましい。
OTPトークンの流通はKYCされたユーザー間で取引されることが好ましい。
またユーザー識別子が間違って入力されていると本来送付したいユーザーにトークンを送付できないので、識別子検索を容易にするためにユーザー識別子をドメイン名とIPアドレスの対応づけをするドメインネームシステムと同じように分散型台帳システムでのユーザー識別子やコントラクト識別子などアドレスとドメイン名等のURL・URIを対応付けてサーバ3Fや3Eや5Aや5B等に記録すると好ましいかもしれない。
<模写などへの備考>
ヘッドマウントディスプレイ453Aによる銀塩カメラ・デジタルカメラ等による450Aの複写の防止について述べたが、ヒトの目で見て手で書き残すことができれば記録する事ができる。ヒトの記憶に残る情報であればそれを基に2次創作されうる。完全に模写や模倣を制限することは困難である。2次創作者の記録したことが広まる形でn次創作・n次利用も起きうる。
ただし、児童や学生が楽しみや勉強のためにコンテンツから学ぶ形で個人利用の範囲で記憶したことを用いて写し取ることまで禁じることは想定していない。
OTPトークンの利用例はコンテンツの権利者や法に従う。
<Addition to the original and nth creation by a special version of CRHN Reader Writer>
As a form of CRHNReaderWriter, after decrypting the encrypted data of the content that will be the primary creation, it will be changed according to a part of the content of the content and distributed to the holders of the next OTP token as the content that will be the secondary creation. This is largely related to copyright, which is one of the intellectual property rights.
If the copyright holder permits the nth use of the content, it may be possible to sell the original and encrypted data of the content with the permitted advertisement, the OTP token that decrypts it, and the CRHN Reader Writer for that purpose. Content is assumed to be text books, images and videos, audio, game software and program source code.
As an example, even if the source code of a free software program is distributed as open source code with a license close to free, the secondary creator who collaborated and improved the distributed program said above. Attach the free OTP token corresponding to the data of the primary creator of the above and the advertisement URI attached to it to the program of the secondary creation, and when the attached program is used by the end user, the primary creator and 2 If the advertising expenses are paid to both the primary creator and the secondary creator by calling the advertisement to the advertisement distribution site of the terminal 5A according to the tag of the advertisement incorporated by the next creator, it may be possible to contribute to the improvement of the program's profit. No.
<Problems when using rights tokens protected by the rights of laws around the world>
In connection with intellectual property rights such as the copyright of the nth creation mentioned above, the OTP token of the present invention may be used as the ownership of stocks, real estate ownership, intellectual property rights, patent rights, trademark rights and copyrights. Although it is conceivable, the present invention is merely a means for making it difficult to tamper with information processing and for facilitating the exercise of rights by performing OTP certification (a method for automating certification), and its stock or real estate ownership or intellectual property. It should be noted that property rights are governed by the laws of the country, such as the administration of each country, audits of issuers and issuers of OTP tokens, specialists such as certified accountants for companies, and real estate for real estate. The intermediary of professionals and professional groups with legal qualifications such as transaction legal specialists, patent attorneys and lawyers is required outside the distributed ledger system.
In the present invention, regarding the use of the OTP token corresponding to the right, the OTP token relating to the legal right is the source of the dispute or does not exist in the absence of expert witness, audit, monitoring, judgment, approval, and witness ( There is a risk that it will be a record that is not supported by the law), so detailed explanations have not been given in the usage examples of the present invention. However, securities such as stocks can be OTP tokens for logging in to general meetings of shareholders, logging in to websites for shareholder voting, and expressing intentions, and for shareholders to use the services of the corporation corresponding to the stocks. Therefore, a usage example is described.
In addition, since the distributed ledger system can issue OTP tokens across national borders, it is preferable to issue and transfer the OTP tokens to KYC users when converting the rights protected by law into OTP tokens. When intellectual property rights such as patent rights and copyrights are acquired, the above rights are not always owned by the general public. There is a risk that an unexpected group (terrorists, etc.) will be forced to seize the majority of the rights and distribute the profits from the token rights. Therefore, in this case, it is preferable to give the OTP token a transfer restriction function and a storage transfer function using a token removal function.
In addition, it records the exchange of money or crypto assets between users by buying and selling OTP tokens, suppresses the provision of funds to unexpected organizations, and processes related to taxes generated by exchanges on distributed ledger systems such as OTP tokens. It is preferable that there is a server terminal (an extension of the terminal 3E or 3F) that automatically performs the above.
The distribution of OTP tokens is preferably traded between KYC users.
Also, if the user identifier is entered incorrectly, the token cannot be sent to the user who originally wants to send it, so in order to facilitate identifier search, the user identifier is associated with the domain name and IP address in the same way as the domain name system. It may be preferable to associate an address such as a user identifier or contract identifier in a distributed ledger system with a URL / URI such as a domain name and record it on a server 3F, 3E, 5A, 5B, or the like.
<Remarks for copying>
Although the prevention of copying of 450A by a silver halide camera, a digital camera, etc. by the head-mounted display 453A has been described, it can be recorded if it can be written down by hand with the human eye. Any information that remains in human memory can be used as a derivative work. It is difficult to completely limit copying and imitation. N-th creation and n-th use can occur in a way that the records of the secondary creator spread.
However, it is not assumed that children and students are prohibited from copying using what they have memorized within the scope of personal use in the form of learning from the content for fun and study.
Examples of using OTP tokens follow the content right holders and the law.

暗号化データを再生できるCRHNソフトウェアのバージョンでなければ暗号化データは再生できなくなる。これは固定のソフトウェア内部の暗号化を続けるのは攻撃者からソフトウェア内部の鍵が解読された場合にそのソフトウェアで暗号化されたデータの解読につながる恐れがあるため、定期的にソフトウェアCRHNとそれが含む鍵APKY,CRKY、CAPKYを変えることで同じAPKY,CRKY、CAPKYを利用しないようにするためである。
ほかにソフトウェアCRHN(403A)の実施できる形態として平文データEncDataを4030Aに含め、平文データEncDataと4030Aを暗号化ないし難読化したソフトウェアが考えられる。
Only the version of CRHN software that can reproduce the encrypted data can reproduce the encrypted data. This is because continued encryption inside the fixed software can lead to decryption of the data encrypted by the software if the attacker breaks the key inside the software, so the software CRHN and it on a regular basis. This is to prevent the same APKY, CRKY, and CAPKY from being used by changing the keys APKY, CRKY, and CAPKY included in.
In addition, as an embodiment of the software CRHN (403A), software in which the plaintext data EncData is included in 4030A and the plaintext data EncData and 4030A are encrypted or obfuscated can be considered.

<暗号化ファイルの復号時の注意>
暗号化ファイル復号時に平文ファイルDecDataに悪質なプログラムが含まれることが想定される。
平文ファイルを作成する際に平文ファイルにファイル作成者以外の第三者が発行した電子証明書DecCertを付与又は電子署名し、発行者を閲覧者が電子証明書を通じて確認できるようにする。さらに書籍や音声動画コンピュータソフトなどは外部の第三者が平文の監査を行い悪質なコンピュータウイルス等のプログラムが無いことと平文ファイルのコンテンツのレイティングを付与したことを示す監査証明書AuditRatを付与することが好ましい。
なお個人や団体の機密文章を暗号化するビジネス用途ではAuditRatは付与しなくともよい。また顧客が悪質なプログラムが動作されることも許容して利用する場合はDecCertも利用されない。
暗号化ファイルにEncDataにそのデータのハッシュ値と内容を保証するEncCertを付与することもできる。
<Caution when decrypting encrypted files>
It is assumed that the plaintext file DecData contains a malicious program when the encrypted file is decrypted.
When creating a plaintext file, the plaintext file is given or digitally signed with an electronic certificate DecCert issued by a third party other than the file creator so that the publisher can be confirmed through the electronic certificate. In addition, books, audio and video computer software, etc. are given an audit certificate AuditRat indicating that an external third party audits the plaintext and that there is no program such as a malicious computer virus and that the content of the plaintext file is rated. Is preferable.
It is not necessary to add AuditRat for business purposes that encrypt confidential texts of individuals or groups. Further, if the customer allows a malicious program to be operated and uses it, DecCert is not used either.
EncCert that guarantees the hash value and contents of the data can also be attached to the encrypted file.

<暗号化ファイルの復号時の環境>
現実の端末において仮想的に複数のコンピュータ環境を構築する仮想コンピュータ(仮想機械)技術方式がある。またオペレーティングシステム上に仮想環境を構築し、動作の不明なソフトの実行を監視するサンドボックスという環境がある。本発明のソフトウェアCRHN403Aはそのような仮想環境のシステムで構築されることが好ましい場合がある。
これはコンピュータウイルスなどが暗号化されたファイルの平文データに埋め込まれている場合の被害を最小にする手段の一つである。平文を監査する第三者機関の能力・処理量には限りがある可能性があり、本発明においてソフトウェアCRHN403Aで様々なデータが無数の個人法人で発行される場合には監査が行き届かず、悪意のあるソフトウェアが組み込まれているにもかかわらず監査証明書が発行される恐れもある。また未知のウイルスプログラムには監査が届かない恐れがあり、仮想的な環境で実行できる事が好ましい。403Aを動作させる仮想環境には必要以上の個人情報や私的ファイルは保管しないことが望ましい。秘密鍵も趣味用の403用の物と、業務用の403用の物と、重要な金融用途の物に分けるなどすると好ましいかもしれない。
仮想環境を実現するために、ソフトウェアCRHN403Aが仮想環境などを構築できるウェブブラウザソフトウェアやウェブブラウザを内包したオペレーティングソフトウェアであってもよいし、CRHNがコンピュータのBIOSに相当する基本ソフトウェア部分を持っていてもよい。
<Environment when decrypting encrypted files>
There is a virtual computer (virtual machine) technology method that virtually constructs multiple computer environments on a real terminal. There is also an environment called a sandbox that builds a virtual environment on the operating system and monitors the execution of software whose operation is unknown. It may be preferable that the software CRHN403A of the present invention be constructed in a system of such a virtual environment.
This is one of the means to minimize the damage when a computer virus or the like is embedded in the plaintext data of an encrypted file. There is a possibility that the capacity and processing amount of a third-party organization that audits plaintext may be limited, and in the present invention, if various data are issued by innumerable individual corporations with the software CRHN403A, the audit will not be completed. Audit certificates may be issued despite the inclusion of malicious software. In addition, there is a risk that the audit will not reach unknown virus programs, so it is preferable that they can be executed in a virtual environment. It is desirable not to store more personal information and private files than necessary in the virtual environment in which the 403A operates. It may be preferable to divide the private key into a hobby 403 key, a business 403 key, and an important financial key.
In order to realize a virtual environment, the software CRHN403A may be web browser software that can build a virtual environment or operating software that includes a web browser, or CRHN has a basic software part corresponding to the BIOS of a computer. May be good.

本発明を実施するにあたり、実施例1や実施例2や実施例3においてブロックサイズがブロックガスリミット値の投票という形で可変になるイーサリアムのテストネットにて行った。またスマートコントラクトはプログラム言語Solidityで記述し、ブロックチェーンに記録させ、展開(デプロイ)した。
実施例1においてはスマートコントラクトの作成者であり管理者となるコンピュータ端末1C(図8Aまたは図1の端末1C)とサーバーP(図8Aまたは図1の端末3A)をネットワーク20(図8Aまたは図1の20)を用い、端末3Aのブロックチェーン制御処理部310Aとブロックチェーン記録部300A にアクセスしワンタイムパスワード生成及び認証を行うコントラクトをシークレット値KCやコントラクト管理者のみが変更できるBC値を設定し、コンパイルし、バイトコードに変換しブロック番号のブロックデータに記録させ展開させた。
実施例のイーサリアムのテストネットワークでは15秒ごとに新しいブロックが連結されブロック番号Bnが一つ増加する。ブロック番号Bnは15秒後ごとに変動する、物理量である時間に比例する変数である。
本発明の実施例1では、ブロックチェーン上で時間を表現する変数としてブロック番号を用いた。あるブロック番号Bnにおいてブロック番号がゼロのブロックチェーンが生み出された状態から何秒経過しているか求めるには、Bn×15[sec]として求められる。イーサリアムでは15秒である必要はなく任意の時間間隔t[sec]を設定してもよいが、今回はテストネットで決定されている15秒を利用して本発明を実施した。
In carrying out the present invention, the test net of Ethereum, in which the block size is variable in the form of voting for the block gas limit value in Example 1, Example 2, and Example 3, was performed. The smart contract was written in the programming language Solidity, recorded in the blockchain, and deployed.
In the first embodiment, the computer terminal 1C (terminal 1C in FIG. 8A or FIG. 1) and the server P (terminal 3A in FIG. 8A or FIG. 1), which are the creators and administrators of the smart contract, are connected to the network 20 (FIG. 8A or FIG. 1). Using 1-20), set the secret value KC or BC value that can be changed only by the contract administrator by accessing the blockchain control processing unit 310A and blockchain recording unit 300A of the terminal 3A and performing one-time password generation and authentication. Then, it was compiled, converted into a byte code, recorded in the block data of the block number, and expanded.
In the Ethereum test network of the embodiment, new blocks are concatenated every 15 seconds and the block number Bn is incremented by one. The block number Bn is a variable proportional to time, which is a physical quantity, which fluctuates every 15 seconds.
In Example 1 of the present invention, the block number was used as a variable expressing time on the blockchain. To find out how many seconds have passed since the blockchain having a block number of zero was created at a certain block number Bn, it is obtained as Bn × 15 [sec]. In Ethereum, it is not necessary to be 15 seconds, and an arbitrary time interval t [sec] may be set, but this time, the present invention was carried out using 15 seconds determined by the test net.

秘密鍵PRVA(101A)はユーザーUAの記録装置10A、101Aに記録される。しかし場合によっては無線ないし有線により端末1Aと接続される外部記憶装置16Aの記録装置DWALT1603Aに記録されていもよい。DWALT1603Aは接触式ICカード型、非接触式ICカード型、接触式の記憶装置型(ハードウェアウォレット)、非接触式タグ型(NFCタグ型)でもよい。また紙や板などの記録された秘密鍵PRVA1608Aでもよい。 The private key PRVA (101A) is recorded in the recording devices 10A and 101A of the user UA. However, in some cases, it may be recorded in the recording device DWALT1603A of the external storage device 16A connected to the terminal 1A wirelessly or by wire. The DWALT1603A may be a contact type IC card type, a non-contact type IC card type, a contact type storage device type (hardware wallet), or a non-contact type tag type (NFC tag type). Further, the recorded secret key PRVA1608A such as paper or board may be used.

コントラクトでは生成トークンのトークン番号に対応付けされたユーザー識別子を調べることができる。前記トークン番号からその番号のトークンを保有するユーザー識別子のを調べ表示する機能を利用しブロックチェーン上でのコントラクトの全てのトランザクションデータに加え、いわゆる株主名簿のようなユーザーUAやUCがトークンの持ち主となるユーザー識別子の名簿を作り保存し、ブロック番号やユーザのBnTOTPなどを含ませる形で紙などに印刷し、または記録装置に保存することができる。トークンが書籍データを閲覧させるサービスであった場合には書籍の保持者の識別子と書籍のトークン番号(書籍のシリアル番号)を(これはブロックチェーンが万一世界中で利用できない場合でもトークンの保有者を調べるために利用される紙等の名簿になる)。
発行されたすべてのトークンの保有割合も名簿データから計算できる。これらはサーバーPなどからサーバ端末3Fによりトランザクションデータが収集され集計され日常的に利用されうる。サーバ端末3Fを代表として端末3Eや端末5B等は、発行されたすべてのトークンの保有割合も名簿データから計算し記録しユーザーに通帳やトークンの資産残高台帳として通知させる役割を持つ端末となることもできる。
The contract can look up the user identifier associated with the token number of the generated token. Using the function to check and display the user identifier that holds the token of that number from the token number, in addition to all transaction data of the contract on the blockchain, the user UA or UC like the so-called shareholder list is the owner of the token. A list of user identifiers can be created and saved, printed on paper or the like in a form including a block number, user's BnTOTP, or the like, or saved in a recording device. If the token is a service that allows you to browse the book data, the identifier of the holder of the book and the token number of the book (serial number of the book) (this is the possession of the token even if the blockchain cannot be used all over the world). It becomes a list of papers, etc. used to find out who is).
The ownership ratio of all issued tokens can also be calculated from the list data. Transaction data is collected from the server P or the like by the server terminal 3F, aggregated, and used on a daily basis. As a representative of the server terminal 3F, the terminal 3E, the terminal 5B, etc. will be a terminal having a role of calculating and recording the possession ratio of all issued tokens from the list data and notifying the user as a passbook or an asset balance ledger of the token. You can also.

<ブロックチェーン検索機能、検索結果のデータベース構築機能>
サーバ端末3Fの記憶部30Fの301Fにはブロックチェーンに対する検索履歴や検索履歴に対応するブロックチェーン上のデータの対応関係などを3Fに記録し、ブロックチェーン上の検索される検索のキー情報と検索結果のブロックチェーンの情報の一部を3Fに記録することでデータベースを構築してもよい。
例として多くのユーザーが興味を持つOTPトークンのコントラクト識別子やサービス名の情報とそのトランザクションを記録することでブロックチェーンのノードなる3A等にアクセスが集中することなく3Fにて検索のアクセスを受け付けその情報を配信できる。301Fには311Fの記憶が書き込まれているとともに301Fは311Fにより制御される。
端末3Fがサーバ端末3Aや3Bと同じくブロックチェーンのノードの1つとなっていて、ブロックチェーンの全情報を記録したうえで、そのブロックチェーンデータに記録されたコントラクト識別子やユーザー識別子やトランザクションに対し、ユーザー端末からどのような検索によるアクセスが行われているかを分析し、ユーザーに情報をより速く提供できるよう検索結果を保存できる
例えばデータの読み書き速度の速い主記憶装置やソリッドステートドライブ(SSD)などに頻度の高いOTPトークンの検索結果とブロックチェーン上のデータを記録して配置し、ハードディスクドライブや磁気テープといった高いデータ容量ではあるがアクセス速度が主記憶装置やSSDよりも低速な記憶装置に頻度の低い検索されたデータのキャッシュを保存することで、ブロックチェーンへの世界中からのユーザーの検索によるアクセス情報を高速に記憶装置を用いて受け付けるとともに検索先の情報を保管できうる。
<Blockchain search function, search result database construction function>
In the 301F of the storage unit 30F of the server terminal 3F, the search history for the blockchain and the correspondence relationship of the data on the blockchain corresponding to the search history are recorded on the 3rd floor, and the key information and the search of the search on the blockchain are recorded. A database may be constructed by recording a part of the resulting blockchain information on the 3rd floor.
As an example, by recording the OTP token contract identifier and service name information that many users are interested in and their transactions, search access is accepted on the 3rd floor without concentrating access to the blockchain node 3A, etc. Information can be delivered. The memory of 311F is written in 301F, and 301F is controlled by 311F.
The terminal 3F is one of the blocks of the blockchain like the server terminals 3A and 3B, and after recording all the information of the blockchain, the contract identifier, user identifier and transaction recorded in the blockchain data can be obtained. It is possible to analyze what kind of search is being accessed from the user terminal and save the search results so that the information can be provided to the user faster. Frequent OTP token search results and data on the blockchain are recorded and placed in the storage device, which has a high data capacity such as a hard disk drive or magnetic tape, but has a slower access speed than the main storage device or SSD. By storing a cache of low-searched data, it is possible to receive access information from users' searches from all over the world to the blockchain at high speed using a storage device and store the information of the search destination.

<ブロックチェーン上のデータを検索しOTPトークンの流通に用いる例>
ブロックチェーン上で需要がある出版社の書籍に関するコンテンツの閲覧権に対応した本発明のOTPトークンがあり、人々がそのOTPトークンの名前やOTPトークンの発行者(出版社名など)、OTPトークンの発行総数(書籍の販売総数)、所有しているユーザー識別子の総数(購入したユーザーアカウントの総数)、OTPトークンの複数所持の有無(それぞれのユーザー識別子につき何個購入されたか)、OTPトークンは譲渡制限があるかどうか、OTPトークンの看板情報KNBNに記載のレーティング情報や出版社連絡先・OTPトークンの購入先・暗号化データの配布先などをユーザーが検索し、ユーザーはOTPトークンの流通状況やOTPトークンの購入先の情報を調べ、OTPトークンを購入するかどうかの判断材料として検索情報を利用できる。
<Example of searching data on the blockchain and using it for distribution of OTP tokens>
There is an OTP token of the present invention corresponding to the viewing right of the content related to the book of the publisher in demand on the blockchain, and people are the name of the OTP token, the issuer of the OTP token (such as the publisher name), and the OTP token. Total number of issues (total number of books sold), total number of user identifiers owned (total number of purchased user accounts), existence of multiple OTP tokens (how many were purchased for each user identifier), OTP tokens transferred The user searches for the rating information, publisher contact information, OTP token purchase destination, encrypted data distribution destination, etc. described in the OTP token sign information KNBN to see if there are any restrictions, and the user can check the distribution status of the OTP token. The search information can be used as a material for determining whether or not to purchase the OTP token by examining the information of the purchase destination of the OTP token.

<ブロックチェーン上のトランザクション監視機能>
ほか、ユーザーが3Fの提供するサービスについて利用することを契約しユーザー登録をして、個人情報である電子メールアドレス等の連絡先を通知先データベース3013Fに通知先登録部3113Fを利用して登録した場合に、ユーザーが指定するコントラクト識別子やユーザ識別子についてトランザクションが発生した場合にはそれを3010Fと3110Fが監視し、新しいトランザクションが発生し状態が変化したことを3Fはブロックチェーン状態変化通知先データベース3013Fに登録された通知先となるユーザーの電子メールアドレス又は電話番号またはユーザー識別子に状態変化発生時刻と状態変化の内容を送付し通知する必要がある。
OTP生成関数やOTP認証関数を実行した際にその実行回数をコントラクト内部変数3017Aや3017AGや3017AAに記録できるとき、コントラクトに記録された3017Aや3017AGや3017AAの変化を監視するようユーザーはサーバ端末3Fへ監視を依頼するコントラクト識別子、コントラクト識別子に対応するコントラクトのOTPトークンのトークン番号、ユーザー識別子などを対応づけて3Fの3010Fに記録させる。
状態変化検出プログラム3011Fによって動作する状態変化検出部3111Fが指定したコントラクトの識別子やユーザー識別子のトランザクションの変化を検知し、ユーザーの指定したコントラクトに帰属するOTPトークンのトランザクションやユーザー識別子のトランザクションが新たに生じてブロックチェーンの状態が変化したとき、状態変化検知部3111Fがブロックチェーンの状態変化を検出し、通知部3112Fが電子メールアドレスまたは電話番号や電話番号を用いたSMS(Short Message Service)によりトランザクションが新たに生じたことをユーザー端末を通じてユーザーに通知し、ユーザーに心当たりのあるトランザクションであるか通知する。
もし心当たりのない、ユーザーが操作していないにも関わらずトランザクションが発生している場合はOTPトークンのコントラクト識別子に対応したサービスの提供者に不正利用があったことを伝え、ユーザーとサービス提供者両者にて相談して問題を解決する事が想定される。
3017Aや3017AGや3017AAはブロックチェーンに記録されている情報であり改ざんが困難である。その情報を新たに変更するトランザクションをブロックチェーンに送付し、ブロックチェーンに連結されると変更や改ざんが困難である。不正に人の秘密鍵401Aや101Aなどを入手し、本発明のOTPトークンにおいて3017Aといった変数が設定されたOTP生成関数やOTP認証関数を操作すると、その記録は取り消すことができない。本発明において3Aなどのブロックチェーンシステムを構成するサーバーに、防犯のためにIPアドレスや位置情報、デバイスIDといったアクセス情報を検知し記録する機能を機能備えており、またサーバ3Fのようにユーザーの意図しない不正利用を検知し通知する機能を組み合わせることで不正利用を試みようとする者の意欲を削ぐことができるかもしれない。
そのためにはサーバ3Aといったブロックチェーン部にはサーバ3Aへのアクセス者の情報を記録し、またサーバ3Cや広告サーバ5Aといったサービス提供サーバ部についても図6Xのようなアクセス情報の監視機能を備え、なおかつそのアクセスデータを改ざんできないように、3Aのブロックチェーン型のアクセスデータベースや3Cのブロックチェーン型のアクセスデータベースを作り各サーバで保存する事もできるかもしれない。
<Transaction monitoring function on the blockchain>
In addition, the user contracted to use the service provided by the 3rd floor, registered as a user, and registered the contact information such as the e-mail address, which is personal information, in the notification destination database 3013F using the notification destination registration unit 3113F. In this case, if a transaction occurs for the contract identifier or user identifier specified by the user, 3010F and 3110F monitor it, and the 3F blockschain status change notification destination database 3013F indicates that a new transaction has occurred and the status has changed. It is necessary to notify the user's e-mail address or phone number or user identifier registered in the database with the time when the status change occurred and the content of the status change.
When the number of executions of the OTP generation function or OTP authentication function can be recorded in the contract internal variables 3017A, 3017AG, or 3017AA, the user should monitor the changes in 3017A, 3017AG, or 3017AA recorded in the contract on the server terminal 3F. The contract identifier requested to be monitored, the token number of the OTP token of the contract corresponding to the contract identifier, the user identifier, etc. are associated and recorded on the 3rd floor 3010F.
The state change detection unit 3111F operated by the state change detection program 3011F detects the change in the transaction of the specified contract identifier or user identifier, and the transaction of the OTP token belonging to the contract specified by the user or the transaction of the user identifier is newly added. When the state of the blockchain changes due to the occurrence, the state change detection unit 3111F detects the state change of the blockchain, and the notification unit 3112F makes a transaction by SMS (Short Message Service) using an e-mail address or a telephone number or a telephone number. Notifies the user through the user terminal that a new transaction has occurred, and notifies the user whether the transaction is familiar to the user.
If the transaction is occurring even though the user is not operating it, tell the service provider corresponding to the contract identifier of the OTP token that there was an unauthorized use, and the user and the service provider It is expected that both parties will consult and solve the problem.
3017A, 3017AG, and 3017AA are information recorded on the blockchain and are difficult to falsify. If a transaction that newly changes the information is sent to the blockchain and linked to the blockchain, it is difficult to change or tamper with it. If a person's private key 401A or 101A is illegally obtained and the OTP generation function or OTP authentication function in which a variable such as 3017A is set in the OTP token of the present invention is operated, the record cannot be canceled. In the present invention, a server constituting a blockchain system such as 3A is provided with a function of detecting and recording access information such as an IP address, location information, and device ID for crime prevention, and a user like the server 3F. By combining the function of detecting and notifying unintended unauthorized use, it may be possible to discourage those who try to make unauthorized use.
For that purpose, the blockchain unit such as the server 3A records the information of the accessor to the server 3A, and the service providing server unit such as the server 3C and the advertisement server 5A is also equipped with the access information monitoring function as shown in FIG. 6X. Moreover, it may be possible to create a 3A blockchain-type access database or a 3C blockchain-type access database and store them on each server so that the access data cannot be tampered with.

<ブロックチェーンシステムDLSからOTPトークンなどの資産残高を改ざん検知できる証明書の形で配布する機能>
ほか、ユーザーが3Fはブロックチェーン上のユーザー識別子とコントラクト識別子のトランザクションを取りまとめ、ユーザーの名前や住所など個人情報が記入された取引明細書(通帳)やOTPトークンなどDLS上の資産残高証明書や取引報告書をユーザー識別子やコントラクト識別子を検索キーとして検索し検索結果を取りまとめてタイムスタンプや電子署名やHMACなどを用い検索結果をあるタイムスタンプの時刻における残高や取引の明細書として、改ざん検知ができる形でユーザーに配布してもよい。
<Function to distribute asset balances such as OTP tokens from the blockchain system DLS in the form of a certificate that can detect falsification>
In addition, the user organizes the transactions of the user identifier and contract identifier on the blockchain on the 3rd floor, and the transaction statement (passbook) with personal information such as the user's name and address, the asset balance certificate on the DLS such as the OTP token, etc. Search the transaction report using the user identifier or contract identifier as the search key, collect the search results, and use the time stamp, electronic signature, HMAC, etc. to detect the tampering as the balance or transaction statement at the time of a certain time stamp. It may be distributed to users in a form that can be done.

<トークンを未来のあるブロック番号までコントラクトに預けることを約束する機能>
OTPトークンにある未来のブロック番号まで(ある未来の期間まで)OTPトークンを移動しないようにする定期トークン預け機能(OTPトークンのTimeDeposit機能、通貨における定期預金を本発明のOTPトークンに形態)を本発明のOTPトークンのトークンに組み込んで利用してよく、その機能によって OTPトークンのTimeDeposit機能が解除されるブロック番号を預け入れているOTPトークンと対応付けられた備考欄に明記して電子署名やHMACなどを用いて改ざん困難な資産残高証明書を作成してもよい。
TimeDeposit機能は例えばOTPトークンの譲渡制限が解除されていても、ユーザーがある時期(数年もしくは数十年)までは譲渡しようとは思わない書籍の暗号化データを復号するOTPトークンを保管する際に用いられることを想定している。秘密鍵の流出による不正アクセスが仮にあってもTimeDeposit機能によりトークン送信関数によって譲渡されるのを防ぐことができる。
<A function that promises to deposit tokens in the contract up to a certain block number in the future>
Book the fixed token deposit function (TimeDeposit function of OTP token, fixed deposit in currency is in the form of OTP token of the present invention) that prevents the OTP token from moving to the future block number in the OTP token (until a certain future period). It may be used by incorporating it into the token of the OTP token of the invention, and the block number for which the TimeDeposit function of the OTP token is canceled by that function is specified in the remarks column associated with the OTP token that deposits the block number, such as an electronic signature or HMAC. You may use to create an asset balance certificate that is difficult to tamper with.
The TimeDeposit function is used, for example, when storing OTP tokens that decrypt encrypted data of books that users do not intend to transfer until a certain period (years or decades) even if the transfer restriction of OTP tokens is lifted. It is supposed to be used for. Even if an unauthorized access is made due to the leakage of the private key, it can be prevented from being transferred by the token transmission function by the TimeDeposit function.

<ブロックチェーン上のコントラクトやコントラクトと対応したサービスなどを検索するサービス>
サーバ端末3Aが記録しているブロックチェーン部データからユーザーの求めに応じてコントラクト識別子やその識別子のコントラクトの看板情報KNBNから情報にアクセスし、ユーザーが望む情報を提供できるようにするブロックチェーン検索監視のための記憶部301Fとブロックチェーン検索監視部311Fを備えたサーバ端末3Fが存在し、端末1Aや端末4Aから3Fに対しアクセスし、望みのOTPトークンのコントラクト識別子やOTPトークンのサービス名、OTPトークンを発行したユーザー識別子、検索数の多いOTPトークンの情報、発行総数の多い/少ないOTPトークンの情報などが検索できる。ここで3Fは既に既存のサービス例があるため説明を省略することもできるが、3Fの存在が無いとブロックチェーンを利用したOTPトークンの流通やトランザクションの監視が出来ないのでここに記述する。
サーバ端末3F及びそれが提供する検索及び監視サービスはブロックチェーンエクスプローラー(ブロックチェーン上の情報を調査・閲覧・検索するシステム)であり、イーサスキャン(Etherscan)という団体による情報検索サイトEtherscanが既存の例として挙げられる(参考元、https://etherscan.io/ 2020年12月8日閲覧)。本発明において端末3Fが存在することで秘密鍵を持たない端末や秘密鍵を持つ端末1Aからアクセスを受け、端末3Fの設定に応じてブロックチェーン上のデータを調査・検索・閲覧可能にする。
端末3Fが無い場合、端末1Aは端末3Aにアクセスしブロックチェーンから望みの情報を独力で見つけ出さなければならなくなる。またブロックチェーンへのアクセスを行う秘密鍵(端末1Aの101A、端末1Bの101B、端末1Cの101C、端末4Aの401Aなど)が無いユーザーがブロックチェーン上で起きているデータのやり取りを見るためにもこのようなブロックチェーンの検索サービスサイトとそれを担う端末3Fが必要である。
<Service to search for contracts on the blockchain and services corresponding to the contracts>
Blockchain search monitoring that allows users to access information from the blockchain unit data recorded by the server terminal 3A from the contract identifier and the signboard information KNBN of the contract of that identifier in response to the user's request, and to provide the information desired by the user. There is a server terminal 3F equipped with a storage unit 301F and a blockchain search monitoring unit 311F for accessing the 3rd floor from the terminal 1A or the terminal 4A, and the contract identifier of the desired OTP token, the service name of the OTP token, and the OTP. You can search for the user identifier that issued the token, information on OTP tokens with a large number of searches, information on OTP tokens with a large number of issues, and information on OTP tokens with a large number of issues. Here, since the 3rd floor already has an existing service example, the explanation can be omitted, but if the 3rd floor does not exist, the distribution of OTP tokens and the transaction monitoring using the blockchain cannot be performed, so the description is described here.
The server terminal 3F and the search and monitoring service provided by it are blockchain explorers (systems that investigate, browse, and search information on the blockchain), and Etherscan, an information search site by an organization called Etherscan, is an existing example. (Reference source, https://etherscan.io/ Retrieved December 8, 2020). In the present invention, the existence of the terminal 3F receives access from a terminal having no private key or a terminal 1A having a private key, and makes it possible to search, search, and browse data on the blockchain according to the setting of the terminal 3F.
If there is no terminal 3F, the terminal 1A must access the terminal 3A and find the desired information from the blockchain on its own. Also, in order for a user who does not have a private key to access the blockchain (terminal 1A 101A, terminal 1B 101B, terminal 1C 101C, terminal 4A 401A, etc.) to see the data exchange occurring on the blockchain. Also, such a blockchain search service site and the terminal 3F that bears it are required.

ブロックチェーンについて検索するサービスとして既存の例ではイーサスキャンが挙げられる。本発明ではブロックチェーン上の情報を検索し収集することは発明内容ではないので省略するが、本発明のサーバ3Fに加えサーバーP(図1の3A)や端末1A、端末1B、端末1C、端末4A、サーバ端末3C、端末3D、端末5A等はブロックチェーンにアクセスし任意のコントラクトのトランザクションデータを記録し、データベースを構築してコントラクトに関するデータを検索してもよい。なおイーサスキャンから検索する場合はURIで指定したユーザー識別子やコントラクト識別子のトランザクションを検索できる。 An existing example of a service that searches for blockchain is Etherscan. In the present invention, searching for and collecting information on the blockchain is not the content of the invention and is omitted. However, in addition to the server 3F of the present invention, the server P (3A in FIG. 1), the terminal 1A, the terminal 1B, the terminal 1C, and the terminal The 4A, the server terminal 3C, the terminal 3D, the terminal 5A, etc. may access the blockchain, record the transaction data of any contract, build a database, and search the data related to the contract. When searching from Etherscan, transactions with user identifiers or contract identifiers specified by URI can be searched.

本発明の認証システムにおけるコントラクトをブロックチェーン上にデプロイするときのトランザクションやコントラクト内部のコードを秘匿化すること、コントラクトのシークレット変数KC値やBC値を変える場合のトランザクションを秘匿化することは重要であり、秘匿化されたデータは検索されても良いようにするか、もしくはトランザクションデータの閲覧を認めたユーザー識別子以外のユーザには開示しないシステム必要である。本発明の認証システムでは秘匿化できるブロックチェーン基盤を用いることが好ましい。
秘匿化されたブロックチェーン基盤をもちいてワンタイムパスワード生成および認証を行うコントラクトを生成し、ユーザーにワンタイムパスワードを表示させる権限としてあるトークン番号のトークンを発行しユーザーへワンタイムパスワード認証の手段を提供するとともに、コントラクトの管理者等がコントラクトにおいてワンタイムパスワードの計算に用いるシークレットキーとなる変数KCまたはBCを書き換える指令と新たな変数の値などを記述したトランザクションを暗号化などで秘匿化してブロックチェーンに送付し記録させることが好ましい。
コントラクトの秘匿化のために複数のブロックチェーンを利用しそれらが連携するブロックチェーン基盤であってもよい。またブロックチェーンのノードがトランザクションマネージャー等を搭載しブロックチェーン上のトランザクションを秘匿化していてもよい。
本発明は秘匿化されたブロックチェーン基盤の構築に関する発明ではないので、秘匿化に関しては省略する。コントラクトのプログラムデータやシークレット変数KCやBC等を秘匿する方法は限定されない。
It is important to conceal the transaction when deploying the contract on the blockchain in the authentication system of the present invention and the code inside the contract, and conceal the transaction when changing the secret variable KC value or BC value of the contract. There is a need for a system that allows the concealed data to be searched, or does not disclose it to users other than the user identifier that allows the transaction data to be viewed. In the authentication system of the present invention, it is preferable to use a blockchain platform that can be concealed.
Using a concealed blockchain platform, generate a contract that generates and authenticates a one-time password, issues a token with a token number that has the authority to display the one-time password to the user, and provides the user with a means of one-time password authentication. In addition to providing it, the contract administrator etc. conceals and blocks the transaction that describes the command to rewrite the variable KC or BC that is the secret key used for the calculation of the one-time password in the contract and the value of the new variable by encryption etc. It is preferable to send it to the chain for recording.
It may be a blockchain platform that uses a plurality of blockchains for concealment of contracts and cooperates with each other. Further, the node of the blockchain may be equipped with a transaction manager or the like to conceal transactions on the blockchain.
Since the present invention is not an invention relating to the construction of a concealed blockchain infrastructure, concealment will be omitted. The method of concealing the contract program data, secret variables KC, BC, etc. is not limited.

<有向非巡回グラフ系システム、その他スマートコントラクトを搭載したデータ構造のシステムへのTOTP適用>
本発明は実施例にデータ構造にブロックが単一のチェーンとして連結されるブロックチェーンを用いた。ブロックチェーンは改ざんに対し耐性があり、またブロックが1次元の鎖状に過去から未来のブロックへ結合しながら形成されていくので、ある時刻のブロックにおいてワンタイムパスワードの時刻に関する変数とワンタイムパスワードをトークン化しパスワードの生成と認証するスマートコントラクトが改ざんされにくい点で本発明を実施しやすい。本発明でブロックチェーンにはスマートコントラクトというブロックチェーン上でのトランザクションを基に動作する改ざん耐性のあるプログラムを搭載できるイーサリアムを利用している(非特許文献1)。
一方でブロックチェーンとは異なるデータ構造をとるシステムに有向非巡回グラフ(DAG)を用いたものも存在する(非特許文献2)。DAGではトランザクションを一つのデータブロックとしている。本発明をDAG等に利用する場合にはブロック番号を用いて時刻を表現するのは困難であるかもしれない。
<Application of TOTP to directed acyclic graph systems and other data structure systems equipped with smart contracts>
In the present invention, a blockchain in which blocks are connected as a single chain to a data structure is used as an example. Since the blockchain is resistant to tampering and the blocks are formed by connecting the blocks from the past to the future in a one-dimensional chain, the time variables of the one-time password and the one-time password in the block at a certain time It is easy to implement the present invention in that the smart contract that tokenizes the password and authenticates it is not easily tampered with. In the present invention, the blockchain uses Ethereum, which can be equipped with a tamper-resistant program that operates based on a transaction on the blockchain called a smart contract (Non-Patent Document 1).
On the other hand, there is also a system that uses a directed acyclic graph (DAG) for a system that has a data structure different from that of the blockchain (Non-Patent Document 2). In DAG, a transaction is one data block. When the present invention is used for DAG or the like, it may be difficult to express the time using a block number.

DAG型においてデータブロック(チャンク)にタイムスタンプを付してあればそのシステムで動作するTOTPトークンのコントラクトが構築できるかもしれない。DAG型の分散型台帳システムにおいてある時刻Tを表す関数としてDAGを形成している最新のブロック(チャンク)に記述された時刻データTmをワンタイムパスワードの生成と認証に用いる事が可能である。TmにはDAGを構成するデータブロックがあり、あるデータブロックに本発明で述べたワンタイムパスワード認証のスマートコントラクトが記録され、そのスマートコントラクトに対し、DAGシステム全体で同じ時刻を示せるデータが最新のDAGのブロックもしくはDAGシステムから入手できる場合において、ブロックチェーンと同じくスマートコントラクトが実行され、本発明の認証システムとすることができる。 If the data block (chunk) is time stamped in the DAG type, it may be possible to construct a contract for the TOTP token that operates in the system. In the DAG type distributed ledger system, the time data Tm described in the latest block (chunk) forming the DAG as a function representing a certain time T can be used for the generation and authentication of the one-time password. Tm has a data block that constitutes DAG, and the smart contract of one-time password authentication described in the present invention is recorded in a certain data block, and the latest data that can indicate the same time in the entire DAG system for the smart contract. When it can be obtained from a DAG block or a DAG system, a smart contract can be executed in the same manner as the blockchain, and the authentication system of the present invention can be obtained.

ここでDAGを用いる場合は最新の時刻にトランザクションのデータブロック(チャンク)が複数存在するため、最新のトランザクションデータ全てに最新の時刻情報が記録されていることが必要かもしれない。本発明ではTOTPを算出するシード値をブロックチェーンの最新のブロック番号、最新のブロックの時刻データもしくはタイムスタンプ、最新のブロックデータのブロックハッシュを利用することが可能であった。しかし、ブロックチェーンでなくDAG型のデータ構造を持つ場合、もしくはDAGのように現在の最新のデータブロックもしくはトランザクションデータが複数存在する場合にはブロックハッシュを用いてTOTPを生成することができない。また最新のトランザクションデータのブロックに時刻情報やブロック番号に相当する時刻を表現する数値情報が含まれていないとTOTPの生成が困難かもしれない。時刻を表現する数値情報が含まれている場合はBnTOTPのようなTOTPが利用できうる。
ブロックチェーン型のデータ構造を用いた分散型台帳では、ブロックデータのハッシュ値は最新のブロックが一つだけなので一つのみである。また過去のブロックハッシュはブロックチェーンの各ブロックデータを参照し、ブロック番号と対応し現在から過去に列挙していくことができる。一方でDAGブロックチェーンのような複数の最新のトランザクションのブロックデータがある場合、それぞれに異なるブロックハッシュが計算されるので時刻によって唯一のブロック値が存在しないのでブロックハッシュをTOTPのシード値に用いるのは困難である。
When DAG is used here, since there are a plurality of transaction data blocks (chunks) at the latest time, it may be necessary that the latest time information is recorded in all the latest transaction data. In the present invention, it was possible to use the latest block number of the blockchain, the time data or time stamp of the latest block, and the block hash of the latest block data as the seed value for calculating TOTP. However, if it has a DAG type data structure instead of a blockchain, or if there are a plurality of current latest data blocks or transaction data as in DAG, TOTP cannot be generated using block hash. Further, if the block of the latest transaction data does not include time information or numerical information representing the time corresponding to the block number, it may be difficult to generate TOTP. TOTP such as BnTOTP can be used if numerical information representing the time is included.
In the distributed ledger using the blockchain type data structure, the hash value of the block data is only one because there is only one latest block. In addition, the past block hash refers to each block data of the block chain, and can be listed from the present to the past corresponding to the block number. On the other hand, if there is block data of multiple latest transactions such as DAG blockchain, different block hash is calculated for each, so there is no unique block value depending on the time, so block hash is used as the seed value of TOTP. It is difficult.

DAGを用いる場合に本発明を適用するにはブロックチェーン型における最新のブロック番号もしくはタイムスタンプに相当する変数をスマートコントラクトの実行に利用できる分散型台帳制御部が必要である。実施例のブロックチェーンの場合はブロックチェーン部にブロック番号やタイムスタンプを得る処理部が含まれている。
本発明はブロックチェーンやDAGなどの改ざん耐性を備えさせた分散型台帳かつスマートコントラクトが動作する基盤において、過去から未来にトランザクション等のデータがブロック(塊)として連結される場合に、そのデータブロック連結体の内部にワンタイムパスワード認証にかかわる処理部をスマートコントラクトという改ざんされにくいプログラムに内蔵し、改ざん耐性を持たせ、かつデータブロック連結体の最新のブロックもしくはシステム状態で得られる時刻データTmをワンタイムパスワードの生成に用いることを特徴とする。Tmが時刻情報でもよいし、Tmの代わりにBCを用いてコントラクトの管理者がBCを任意時刻に書き換えてもよい。
In order to apply the present invention when using a DAG, a distributed ledger control unit that can use a variable corresponding to the latest block number or time stamp in the blockchain type for executing a smart contract is required. In the case of the blockchain of the embodiment, the blockchain unit includes a processing unit for obtaining a block number and a time stamp.
The present invention is a distributed ledger equipped with tamper resistance such as blockchain and DAG, and is a platform on which a smart contract operates. When data such as transactions are connected as a block (lump) from the past to the future, the data block is used. The processing unit related to one-time password authentication is built into a program called smart contract that is hard to be tampered with inside the connected body, and it is made tamper resistant, and the time data Tm obtained in the latest block or system state of the data block connected body is stored. It is characterized by being used to generate a one-time password. Tm may be time information, or the contract administrator may rewrite BC to an arbitrary time by using BC instead of Tm.

<有向非巡回グラフ系システムにスマートコントラクトを搭載したシステムへのOWPの適用>
有向非巡回グラフ(DAG)型システムまたはそれに含まれないデータ構造のスマートコントラクトが動作するシステムにおいて、コントラクトの管理者のユーザーが任意の時刻にワンタイムパスワード生成および認証を行うコントラクトにアクセスし、そのシークレット変数KCやBCを書き換えるトランザクションを分散型台帳に記述し、KCまたはBCの変化によりパスワードOWPを生成させ認証に利用することが可能である。パスワードOWPの場合はブロックチェーンやDAGの時刻情報によらず、コントラクトの管理者が任意の時刻に変数KCやBCを変えることができるので、DAGのようなデータ構造においても適用できる。
本発明でコントラクトの管理者のユーザーが任意の時刻Tにシード値を書き換えて変化させることのできるパスワードOWPはブロックチェーンとは異なるデータ構造のスマートコントラクトを動作させる基盤に対しても有効であり適用される。DAGではOWPのシード値となるKCやBCをコントラクトの管理者の端末からある時刻ごとに変数の書き換えを行うことで、TOTPと同様にある時間ごとに代わる動的なパスワードが生成できる。この場合、コントラクトの管理者の端末にコントラクトのKC値とBC値を指定した日時、時刻ごとに変えるプログラムを記憶装置と処理装置に持たせることで、KC値及びBC値の更新作業を自動化させることもできる。(スマートコントラクトを備えるDAGならば、TOTP型の実施が困難であってもOWPとOWPのシード値を変える自動化プログラムにより疑似的なTOTPによる認証システムを構築できる)
<Application of OWP to systems equipped with smart contracts in directed acyclic graph systems>
In a directed acyclic graph (DAG) system or a system running a smart contract with a data structure that is not included in it, the user of the contract administrator can access the contract to generate and authenticate one-time passwords at any time. It is possible to describe a transaction that rewrites the secret variables KC and BC in the distributed ledger, generate a password OWP by changing KC or BC, and use it for authentication. In the case of password OWP, the variable KC or BC can be changed at any time by the contract administrator regardless of the time information of the blockchain or DAG, so that it can be applied to a data structure such as DAG.
In the present invention, the password OWP, which allows the user of the contract administrator to rewrite and change the seed value at an arbitrary time T, is also effective and applicable to a platform for operating a smart contract with a data structure different from that of the blockchain. Will be done. In DAG, by rewriting the variables of KC and BC, which are the seed values of OWP, at each time from the terminal of the contract administrator, it is possible to generate a dynamic password that changes every time like TOTP. In this case, the storage device and the processing device are provided with a program for changing the KC value and BC value of the contract at the specified date and time on the terminal of the contract administrator, thereby automating the update work of the KC value and BC value. You can also do it. (A DAG equipped with a smart contract can build a pseudo TOTP authentication system by an automated program that changes the seed values of OWP and OWP even if it is difficult to implement the TOTP type.)

本発明では実施例でイーサリアムを用いており、本発明はイーサリアムを基盤としたブロックチェーンとそれを用いたスマートコントラクトの実行システムで動作出来ることを検証しながら発明を行った。発明を行ったのは西暦2020年であり、その当時の最新の版であるイーサリアムと、プログラム言語Solidityを用いている。 In the present invention, Ethereum is used in the examples, and the present invention was made while verifying that it can be operated by a blockchain based on Ethereum and a smart contract execution system using the blockchain. The invention was made in 2020 AD, using the latest version of Ethereum at that time and the programming language Solidity.

本発明においてスマートコントラクトを用いてブロックチェーンのある時間において変化する情報を動的なワンタイムパスワードのシード値として用いる事を、またその認証システムを用いて暗号化したデータの復号を行うシステムや、ウェブサイトへのログインシステム、さらにはデジタル機器を用いるNFCタグ19Aもしくは紙等の有価紙葉18Aやディスプレイ1500Aなどの媒体でチケットや施錠を解錠する鍵などに用いる認証システムの説明を行った。
認証時にブロックチェーンにおける最新のブロックデータのブロック番号Bnやブロックハッシュ値、タイムスタンプ値、コントラクトに帰属するトークンのトークン番号、ブロックチェーンのユーザー識別子、IPアドレス、位置情報、コンピュータの装置情報、そしてコンピュータ内蔵の入力装置44Aのセンサ444Aの環境センサ4440または位置センサ4441またはモーションセンサ4442Aまたは生体認証用センサ4443Aを用いて測定する物理量を利用することを特徴とし、ブロックチェーンで用いるユーザの秘密鍵の不正使用を監視し検出しユーザーへ通知可能な認証システムとした。前記の本発明の認証システムについて実施例、符号、図などを用いて説明を行った。
In the present invention, a system that uses smart contracts to use information that changes at a certain time in the blockchain as a seed value for a dynamic one-time password, and a system that decrypts encrypted data using the authentication system, and We explained the login system for websites, and the authentication system used for tickets and unlocking keys using media such as NFC tag 19A using digital devices, valuable paper leaf 18A such as paper, and display 1500A.
At the time of authentication, the block number Bn and block hash value of the latest block data in the blockchain, the time stamp value, the token number of the token belonging to the contract, the user identifier of the blockchain, the IP address, the location information, the device information of the computer, and the computer. It is characterized by using the physical quantity measured by the environment sensor 4440 or the position sensor 4441 or the motion sensor 4442A or the biometric authentication sensor 4443A of the sensor 444A of the built-in input device 44A, and the user's private key used in the blockchain is fraudulent. An authentication system that can monitor and detect usage and notify users. The above-mentioned authentication system of the present invention has been described with reference to examples, reference numerals, and figures.

ただし本発明はブロックチェーン基盤の発明ではないのでイーサリアムの詳細については省略している。実施例の前提として本発明はイーサリアムとイーサリアムのスマートコントラクトの動作する環境で動作する。さらにイーサリアム及びそのブロックチェーン上で動作するスマートコントラクトを用いるウェブアプリ、dApps(分散型アプリケーションソフトウェア)、ウェブブラウザソフトウェア、ECMAscript、Soliditiy、コンピュータのオペレーティングソフトウェア、ブロックチェーンのノード、ネットワーク、ノードとなるサーバーやコンピュータについてはイーサリアムが運用可能な環境を使用する。実施に関しては好ましくは秘匿化されたトランザクションやコントラクトを利用できるブロックチェーン基盤が好ましい。 However, since the present invention is not a blockchain-based invention, the details of Ethereum are omitted. As a premise of the embodiment, the present invention operates in an environment in which Ethereum and Ethereum smart contracts operate. In addition, web apps that use smart contracts running on Ethereum and its blockchain, dApps (decentralized application software), web browser software, ECMAscript, Solidityy, computer operating software, blockchain nodes, networks, servers that become nodes, etc. For computers, use an environment where Ethereum can operate. For implementation, a blockchain platform that can utilize concealed transactions and contracts is preferable.

<ネットワークの定義>
本発明で示される通信網2に含まれる暗号化されたネットワーク20(ネットワークNT)、暗号化されていないネットワーク22(ネットワークNTP)は光ファイバや電線のような有線ケーブルと無線設備等を用いた、地球規模の通信網であるインターネットワークでもよい。
ネットワークには接続の制限されたローカルエリアネットワークLANを用いたものでもよい。
<Definition of network>
The encrypted network 20 (network NT) and the unencrypted network 22 (network NTP) included in the communication network 2 shown in the present invention use a wired cable such as an optical fiber or an electric wire and wireless equipment. , It may be an internetwork, which is a global communication network.
The network may be a local area network LAN with restricted connections.

<インターネットワークとローカルエリアネットワーク上のコントラクトの連携>
ここでインターネットワークと物理的に接続できないネットワークとは、団体の建物のみの中で利用されるネットワークや、ある建物と遠くに離れた建物を専用の回線で結んで形成されたネットワークのことを示し、その例として企業や公的機関、大学、研究機関、金融機関等が用いる専用回線で構築されたコンピュータネットワークである。
本発明においてワンタイムパスワード認証を行う際にパスワードを算出するハッシュ関数などの処理の内容と、その引数が一致できれば認証可能である。例えば紙のチケットでパスワードOWPを生成する際は、OWPの生成はインターネット経由でブロックチェーンにアクセスして生成し紙に印刷し、紙のチケットの認証はサービスを提供する建物の入場口のチケット読み取り端末3Dは建物内のローカルエリアネットワーク(LAN)に接続され、そのLAN上で動作する建物専用のブロックチェーンのコントラクトにアクセスし認証を行う。
ここで重要なこととしてインターネットと建物のLAN間でのブロックチェーンのコントラクトはOWPを算出するハッシュ関数fhなど処理内容とシード値KCが一致していなければいけない。LANのブロックチェーンにてOWPの認証ができれば、ユーザーは建物に入場できる。
<Collaboration of contracts on the internetwork and local area network>
Here, a network that cannot be physically connected to an internetwork is a network that is used only in a group building or a network that is formed by connecting a building and a building far away with a dedicated line. As an example, it is a computer network constructed with a dedicated line used by companies, public institutions, universities, research institutions, financial institutions, and the like.
In the present invention, authentication is possible if the content of processing such as a hash function for calculating a password when performing one-time password authentication and its argument can be matched. For example, when generating a password OWP with a paper ticket, the OWP is generated by accessing the blockchain via the Internet and printed on paper, and the paper ticket authentication is to read the ticket at the entrance of the building that provides the service. The terminal 3D is connected to a local area network (LAN) in the building, and accesses and authenticates a blockchain contract dedicated to the building operating on the LAN.
What is important here is that the blockchain contract between the Internet and the LAN of the building must match the processing content such as the hash function fh that calculates OWP with the seed value KC. If OWP can be authenticated on the LAN blockchain, the user can enter the building.

<ローカルエリアネットワーク上でのコントラクトの連携>
ワンタイムパスワードの生成と認証を行う関数等とシード値が一致しているならば、同一のLAN内や異なるLANで構築されたブロックチェーン上のコントラクトにてワンタイムパスワードの生成と認証が行える。具体的にはある研究機関で研究所内の実験データなどを本発明のソフトウェア403Aを用いた暗号システムで暗号化する、または研究施設や設備を施錠するといった際に、インターネットワークに接続していないLANにブロックチェーンを形成し、研究所の職員に応じたアクセスレベルのワンタイムパスワードを社員のICカード式社員証などに付与して、暗号化データの閲覧、実験で得られた平文データの暗号化、研究施設や設備の解錠に用いる。
<Collaboration of contracts on the local area network>
If the seed value matches the function that generates and authenticates the one-time password, the one-time password can be generated and authenticated by a contract on the same LAN or a blockchain constructed on a different LAN. Specifically, when a research institution encrypts experimental data in a laboratory with an encryption system using the software 403A of the present invention, or locks research facilities and equipment, a LAN that is not connected to the interconnection network. A blockchain is formed in Japan, and a one-time password with an access level according to the staff of the research institute is given to the employee's IC card type employee ID card, etc., and the encrypted data can be viewed and the plain text data obtained in the experiment is encrypted. , Used for unlocking research facilities and equipment.

<記憶装置>
本発明でユーザー端末1Aやサーバ端末3Aなどの記憶装置は読み取り専用メモリROM(Read Only Memory)とランダムアクセスメモリRAM(Random Access Memory)がある。他に半導体メモリの一つであるフラッシュメモリで構成されたSSD(Solid State Drive)や磁気ディスクを用いるHDD(Hard Disk Drive)そして磁気テープも記憶装置に利用できる。他に光学ディスクも利用される。
<Storage device>
In the present invention, a storage device such as a user terminal 1A or a server terminal 3A has a read-only memory ROM (Read Only Memory) and a random access memory RAM (Random Access Memory). In addition, SSDs (Solid State Drives) composed of flash memories, which are one of semiconductor memories, HDDs (Hard Disk Drives) using magnetic disks, and magnetic tapes can also be used as storage devices. Optical discs are also used.

<本発明の認証システムに用いる個人情報の管理>
欧州連合EUの 一般データ保護規則GDPR(参考元、 日本貿易振興機構 特集 EU 一般データ保護規則(GDPR)について https://www.jetro.go.jp/world/europe/eu/gdpr/ 閲覧日2020年12月8日)によれば個人情報の保護が必要となることも予想される。
個人の名前や住所、電子メールアドレス、電話番号、IPアドレス、位置情報、端末1Aや4Aなどの装置に固有のID(デバイスID)や端末の入力装置44Aのセンサ444Aの値とユーザー識別子とOTPトークンのトークン番号を本発明では図6Xのように収集しサーバ3Cやサーバ5Aといった端末で保持する際に、端末の所有者に同意を求め、どのような情報を取集し、不正アクセスの検知に用いるか説明し同意を求める機能を図6Xのデータ構造を持つ実施例1と実施例2と実施例3に述べたサービスで利用できる。本発明ではユーザー端末の秘密鍵の不正利用を監視し検出する場合にユーザーの個人情報であるユーザー識別子やトークン番号とIPアドレスや端末のセンサ値などを収集する。
本発明では個人情報を保護しつつ不正アクセスの検出を行うために、図6Xに示すユーザー識別子とトークン番号とIPアドレス、位置情報、端末1Aや4Aなどの装置に固有のID(デバイスID)や端末のセンサの値は、匿名化(不可逆的に識別を防止。ハッシュ化、ハッシュ化後にハッシュ値の一部を切取るなどの加工を行い)または仮名化(可逆的に仮名化したデータとそれを復号する鍵などを用いている場合。個人情報を暗号化して保存する場合)してサーバ端末3Cや端末5Aといった端末へ図6Xのデータ形式で情報を記録し利用できる。
<Management of personal information used in the authentication system of the present invention>
European Union EU General Data Protection Regulation GDPR (Reference source, Japan External Trade Organization Special Feature EU General Data Protection Regulation (GDPR) https://www.jetro.go.jp/world/europe/eu/gdpr/ Browsing date 2020 According to (December 8, 2014), it is expected that personal information will need to be protected.
Personal name and address, e-mail address, telephone number, IP address, location information, ID (device ID) unique to the device such as terminals 1A and 4A, value of sensor 444A of terminal input device 44A, user identifier and OTP. In the present invention, when collecting the token number of a token and holding it in a terminal such as server 3C or server 5A as shown in FIG. 6X, the consent of the terminal owner is requested, what kind of information is collected, and unauthorized access is detected. The function of explaining whether to use or requesting consent can be used in the services described in Example 1, Example 2, and Example 3 having the data structure of FIG. 6X. In the present invention, when monitoring and detecting the unauthorized use of the private key of the user terminal, the user identifier, token number and IP address, the sensor value of the terminal, etc., which are personal information of the user, are collected.
In the present invention, in order to detect unauthorized access while protecting personal information, the user identifier, token number, IP address, location information, and ID (device ID) unique to the device such as terminals 1A and 4A shown in FIG. 6X are used. The value of the sensor of the terminal is anonymized (irreversibly prevents identification. Processing such as hashing and cutting off a part of the hash value after hashing) or pseudonymization (reversibly pseudonymized data and it) When a key for decrypting the information is used. When personal information is encrypted and stored), the information can be recorded and used in the data format of FIG. 6X on a terminal such as a server terminal 3C or a terminal 5A.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、本発明の認証システムが利用されるサービス・暗号化データ・装置・容器・乗物・建物ごとに法令を遵守した利用が行われ、それに応じてコンピュータ端末、ネットワーク、サーバ端末、記録装置、入出力装置を追加して利用されうる。本発明の認証システムを利用するユーザーの個人情報の保護を行いつつ、データやサービスへのアクセスコントロールを前提として本発明を適用したシステムは運用される。また実際に利用される形態ではスマートコントラクトに本発明の説明で述べた処理の内容の他に、ユーザーに対し様々な業種や種類のサービスを提供するために必要な変数や関数・処理を追加することが考えられる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、例としてイーサリアム等に限らずその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。
Although some embodiments of the present invention have been described, these embodiments are presented as examples, and for each service, encrypted data, device, container, vehicle, and building in which the authentication system of the present invention is used. It is used in compliance with laws and regulations, and computer terminals, networks, server terminals, recording devices, and input / output devices can be added accordingly. While protecting the personal information of the user who uses the authentication system of the present invention, the system to which the present invention is applied is operated on the premise of access control to data and services. In addition to the processing content described in the description of the present invention, variables, functions, and processing necessary for providing services of various industries and types to users are added to the smart contract in the form actually used. Is possible.
Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented not only in Ethereum and the like but also in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. ..

<記号・用語>
次に記号と用語について説明する。
DLT ( Distributed Ledger Technology) 分散型台帳技術のこと。
DLS ( Distributed Ledger System)分散型台帳システム。本発明を適用するブロックチェーンシステムやDAG型システムの略号にDLSを用いた。
URI ( Uniform Resource Identifier)インターネット上の情報の所在を指定する URL, URN などの総称。
ウォレットソフトウェア DLSで用いる秘密鍵を管理する。例としてパスワード付きのウェブブラウザ拡張機能等として利用される。記録された秘密鍵にてウェブページ・DLSにアクセスできる。
ハードウェアウォレット デジタル機器に秘密鍵を記録させた秘密鍵の外部記憶装置。ウォレットソフトウェアと連携できる装置もある。秘密鍵記憶装置の観点では個人番号カードとも類似する。
秘密鍵PRVA等 DLS上で利用する秘密鍵。秘密鍵とDLSが無ければOTPトークンによる認証やサービスが行えない。端末1Aの101Aと同じ。
ユーザー識別子A 秘密鍵101AからDLSの処理に従い計算される。実施例においては秘密鍵、公開鍵、公開鍵のハッシュ値、ハッシュ値の一部データを切り取りユーザ識別子として利用する。
UA 端末1Aのユーザ。
UA 端末1Bのユーザ。
UA 端末1Cのユーザ。
UP 端末4Aのユーザ。
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の略称。近距離無線通信。
NITZ ネットワークidおよびタイムゾーン。
GNSS Global Navigation Satellite System / 全球測位衛星システム。
JJY 日本標準時を送信する放送局の名称。
<Symbols / Terms>
Next, symbols and terms will be explained.
DLT (Distributed Ledger Technology) A distributed ledger technology.
DLS (Distributed Ledger System) Distributed ledger system. DLS is used as an abbreviation for a blockchain system or a DAG type system to which the present invention is applied.
URI (Uniform Resource Identifier) A generic term for URLs, URNs, etc. that specify the location of information on the Internet.
Wallet software Manages the private key used in the DLS. As an example, it is used as a web browser extension 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 allows a digital device to record the private key. Some devices can work with wallet software. It is similar to an Individual Number Card in terms of a private key storage device.
Private key PRVA, etc. Private key used on DLS. Without the private key and DLS, authentication and services using OTP tokens cannot be performed. Same as 101A of terminal 1A.
User identifier A Calculated from the private key 101A according to the processing of DLS. In the embodiment, the private key, the public key, the hash value of the public key, and a part of the hash value data are cut out and used as the user identifier.
User of UA terminal 1A.
User of UA terminal 1B.
User of UA terminal 1C.
User of UP terminal 4A.
An abbreviation for a one-time password based on time on the blockchain, which is calculated based on the block number Bn and the seed value KC inside the contract on a DLS such as the BnTOTP blockchain.
An abbreviation for a password when an OWP contract administrator (Owner) rewrites the contract internal variables KC and BC of the distributed ledger system DLS to arbitrary numerical values for an arbitrary time to generate a pseudo OTP.
Abbreviation for BIOS Basic Input Output System. Performs basic control such as reading operating system software and recording time information from the storage device or external recording device of the terminal.
Abbreviation for EFI Extensible Firmware Interface. The latest BIOS standard used at the time of patent filing.
ROM Read Only Memory. A storage device that can only read after writing data.
RAM Random Access Memory. A storage device that can erase and rewrite data.
CPU Central Processing Unit. It is a central processing unit of a computer, and is an integrated control unit and arithmetic unit.
SoC System on Chip. A chip that integrates multiple functions such as a CPU, graphic processing device, wireless signal receiving modem such as GNSS, and wireless communication modem. Configure communication devices and control arithmetic units.
Abbreviation for MCU Micro Control Unit. Micro control unit.
Abbreviation for NFC Near Field Communication. Near field communication.
NITZ network id and time zone.
GNSS Global Navigation Satellite System / Global Positioning Satellite System.
JJY The name of the broadcasting station that transmits Japan Standard Time.

ブロックチェーン等分散型台帳システムDLSにおいて、DLS上で最新の時刻Tにおいて変化する情報TB(もしくはTm)のうち、ブロック番号Bnなどの時刻によりブロックチェーン上の最新のブロックにおいて変化する変数を用いて時間に基づいてパスワードBnTOTPが動的に変化するワンタイムパスワード認証システムを実現した。
またDLS上で最新の時刻Tにおいて変化する情報TBをワンタイムパスワード認証システムに関与するコントラクトのシード値BCやKCをコントラクトの管理者が任意の時間、任意の数値で変更することで、疑似的なワンタイムパスワードを実現し、コントラクト管理者がその値を変更するまで有効なトークン番号TIDAのパスワードOWPを用いたコントラクト管理者変更型ワンタイムパスワード認証システムを実現した。
そして時間に基づいてパスワードBnTOTPについてシード値KC、BCをコントラクトの管理者が任意の時間、任意の数値に変更し更新することを可能にした時間に基づいたワンタイムパスワード認証システムを実現した。
さらにパブリックなブロックチェーンにおいて、ランダムなシード値をBnTOTP計算に用いることがセキュリティ上必要と考え、ブロックチェーンを構成するノードの投票によって決まる値V、ブロックチェーンに連結するブロックデータサイズ値BSZを擬似乱数の元となる値としてBnTOTPの計算に利用するワンタイムパスワード認証システムを実現した。そしてBnTOTPを例としてウェブサイトへのログインや暗号化データの復号、現実世界でのオンラインなサービス提供会場においてウェブサイトなどにログインする形での入場を可能にする。
In the distributed ledger system DLS such as blockchain, among the information TB (or Tm) that changes at the latest time T on the DLS, the variable that changes in the latest block on the blockchain depending on the time such as the block number Bn is used. We have realized a one-time password authentication system in which the password BnTOTP changes dynamically based on the time.
In addition, the information TB that changes at the latest time T on the DLS is changed to the seed value BC or KC of the contract involved in the one-time password authentication system by the contract administrator at any time and at any numerical value. We have realized a one-time password that can be changed by the contract administrator using the password OWP of the token number TIDA, which is valid until the contract administrator changes the value.
Then, we have realized a one-time password authentication system based on the time that allows the contract administrator to change and update the seed values KC and BC for the password BnTOTP at any time and at any value.
Furthermore, in a public blockchain, it is considered necessary for security to use a random seed value for BnTOTP calculation, and the value V determined by the votes of the nodes constituting the blockchain and the block data size value BSZ connected to the blockchain are pseudo-random numbers. We have realized a one-time password authentication system that is used to calculate BnTOTP as the original value of. Then, using BnTOTP as an example, it is possible to log in to a website, decrypt encrypted data, and enter by logging in to a website or the like at an online service providing venue in the real world.

<BnTOTPによる用途>
ウェブサイトへのログインは銀行や証券、保険、決済事業における多要素認証に利用できる。また会員制サイト、電子商取引、オンラインデータストレージ、電子メール、業務用オンラインソフトウェア、オンラインコンピュータゲームへのログインにも応用されうる。暗号化されたデータを復号する際に認証システムにて認証を行い、その戻り値を鍵の一つとして暗号化データの復号ができる。
<OWPによる用途>
チケットなど有価紙葉18Aや施錠を解錠するNFCタグ19Aに用いられる。
パスワードOWPをユーザーに表示印刷させ、ユーザーにユーザー識別子Aとトークン番号TIDAとパスワードOWPを紙などに文字列またはバーコードとして印刷し18Aとし、あるいはNFCタグ19Aなどの非接触型デジタル機器に記録させ、紙及び電子式チケットを製造し、サービスを提供する現実世界の場において前期チケットよりパスワードOWP、ユーザー識別子A、トークン番号TIDAを読み取り認証を行うことでサービスを提供する認証システムが構築できる。紙は情報が印刷、印字できればよく、レーザープリンタ、インクジェットプリンタ、サーマルプリンタ等のデジタル印刷装置とそれに対応した紙、感熱紙、インク、トナー等を使用する。印刷方式は版の無い方式を用い、電子計算機から出力される指示に従って文字列やバーコードを紙やプラスチック、金属板などのメディアに記録できればよい。
カメラなどで認証用の情報が読み取り可能であれば紙にとどまらず金属板や石板などに情報は記録できる。カメラを使わない場合でも、文字列を人の手によって認証することは可能である。プリンタが無くともユーザーが手で紙や金属板に認証に必要な文字列を判読可能な状態で書き記し、それをチケットとしてサービスを提供する場に持ちこみ、文字列をサービス提供者に提示もしくは伝達し、サービス提供者が文字列を認証関数に手動で入力し認証を行うこともできる。しかしそれでは省力化・自動化できないので紙などに文字列またはそれを示すバーコードを印刷し、サービス提供者はその文字列バーコードをカメラやスキャナで読み取って認証する。
NFCタグ19AにOWPとユーザー識別子Aとトークン番号TIDAを記録した場合は、NFCタグ19Aを読み取ることの出来る施錠を管理する端末3DにAとTIDAとOWPを読み込ませ認証処理を端末3Dに行わせ認証結果が正しいときに施錠を解錠させることができる。
<Use by BnTOTP>
Website logins can be used for multi-factor authentication in banks, securities, insurance and payment businesses. It can also be applied to membership sites, e-commerce, online data storage, e-mail, commercial online software, and login to online computer games. When decrypting the encrypted data, authentication is performed by the authentication system, and the encrypted data can be decrypted using the return value as one of the keys.
<Use by OWP>
It is used for valuable paper leaves 18A such as tickets and NFC tag 19A for unlocking locks.
Have the user display and print the password OWP, and have the user print the user identifier A, token number TIDA, and password OWP as a character string or bar code on paper to make it 18A, or record it on a non-contact digital device such as NFC tag 19A. In the real world where paper and electronic tickets are manufactured and services are provided, an authentication system that provides services can be constructed by reading the password OWP, user identifier A, and token number TIDA from the previous term ticket and performing authentication. As for paper, it is sufficient that information can be printed and printed, and digital printing devices such as laser printers, inkjet printers and thermal printers and corresponding paper, thermal paper, ink, toner and the like are used. The printing method uses a plateless method, and it suffices if the character strings and barcodes can be recorded on media such as paper, plastic, and metal plates according to the instructions output from the computer.
If the authentication information can be read by a camera or the like, the information can be recorded not only on paper but also on a metal plate or stone plate. Even without using a camera, it is possible to manually authenticate a character string. Even without a printer, the user can manually write the character string required for authentication on a piece of paper or metal plate in a legible state, bring it as a ticket to the place where the service is provided, and present or convey the character string to the service provider. , The service provider can also manually enter the string into the authentication function to authenticate. However, this cannot save labor and automate, so a character string or a barcode indicating it is printed on paper, and the service provider reads the character string barcode with a camera or scanner to authenticate.
When the OWP, the user identifier A, and the token number TIDA are recorded in the NFC tag 19A, the terminal 3D that manages the lock that can read the NFC tag 19A is made to read A, the TIDA, and the OWP, and the terminal 3D performs the authentication process. The lock can be unlocked when the authentication result is correct.

<OWPなどの認証情報を記録したNFCタグ>
紙よりも認証の高速化が期待できるのはNFCタグ19Aなどデジタル機器による認証である。NFCタグ19Aは携帯可能な端末や身に着けることが容易な端末でもよく、スマートフォンなど携帯電話端末に内蔵したもの、財布型、ICカード型、キーホルダー等タグ型、眼鏡型、補聴器・ヘッドホン・イヤホン型、NFCタグ19Aつき衣服型、時計型、腕輪型、ベルト型、靴型等である。(スマートフォンなど災害などの例外を除いてネットワーク20に接続できる端末とNFC端末19Aが通信し合い連携している場合には不正アクセス検知も可能である)。NFCタグでなくとも、財布や衣服、靴などの服飾品にOWP等が印字された布・プラスチックフィルム・紙等のタグの形で利用することができる。
<NFC tag that records authentication information such as OWP>
Authentication by digital devices such as NFC tag 19A can be expected to be faster than paper. The NFC tag 19A may be a portable terminal or a terminal that is easy to wear, and may be a terminal built into a mobile phone terminal such as a smartphone, a wallet type, an IC card type, a tag type such as a key holder, a glasses type, a hearing aid / headphone / earphone. Mold, clothes type with NFC tag 19A, watch type, bangle type, belt type, shoe type, etc. (Unauthorized access detection is also possible when the terminal that can connect to the network 20 such as a smartphone and the NFC terminal 19A communicate with each other and cooperate with each other, except for exceptions such as disasters). Even if it is not an NFC tag, it can be used in the form of a tag such as cloth, plastic film, or paper on which OWP or the like is printed on clothing such as wallets, clothes, and shoes.

<OWPを用いたタグによる製品の真贋鑑定>
本発明ではOWPを用いたチケットについては、会員証・身分証・商品券・サービス券(有価紙葉)を想定している。それ以外にも商標権(立体商標権含む)を取得した衣服品などを流通させる際に真贋鑑定や認証を行う際に、衣料品の型番とOTPトークンのコントラクト識別子、製造番号とOTPトークン番号、商標権を持つ製品製造者のユーザー識別子、OWPコードを用いて認証に利用することができる。この場合は商標権などで保護された製品に内蔵されたNFCタグか、製品の表面に目に見える形で取りつけられた布製・紙製等のバーコードの形で製品を正規流通品かどうか認証できる。
被服にNFCタグを搭載した場合、自らどのようなNFCタグで認証された正規の衣服製品かの真贋を判定できる。しかし同時に被服に内蔵のNFCタグのデータを無線通信で読み取られる恐れもあり、タグを持つユーザーのプライバシーを侵害しかねない。
その一方でNFCタグと比べ布などにOWP等が印刷もしくは捺染もしくは編み込まれる形で書かれた方式では、無線により読み取られることがないので個人情報を保護する事に役立つ。紙や布に書かれた認証情報であれば、普段人目につかない服のサイズなどを記すタグ部分に洗濯表示やサイズ情報、製造者情報の隣に製品のシリアル番号としてOWP認証用情報のタグをつけることができる。
被服を例として示したが、権利者によって守られている農林水産物のラベル、食品など生活必需品のラベル、ワイン・日本酒など酒類のラベル、衣服のラベル、皮革製品のラベル、宝飾品のラベル・刻印、電気機器・電子機器のラベル、住居のラベル、自動車や機械設備等部品のラベル、模型・玩具、紙本、音楽・動画のディスクなど著作権者等の権利者のいる製品のラベル(およびタグ)にも本発明は応用可能であり製品の認証と真贋鑑定ができる。
半導体及び電子部品等の小型な製品においても半導体のパッケージや内蔵されたシリコンや素子に微細な文字列またはバーコードをパターニング、刻印、印字し、肉眼では判別不可能かつ顕微鏡などで判別可能なOWP等認証情報を記録させ、そのOWP情報を読み取り認証関数へ読み取った情報を代入することで製品が正規品かどうかの真偽を確かめることができる。OWPを使う場合は目視判別出来ないほど微小な印刷内容や刻印内容であっても、それを拡大して文字情報、画像情報として読み取ることが出来れば認証可能である。
ウエアラブルコンピュータ、腕時計、指輪、宝飾品や半導体チップ(パッケージ前のICシリコン片)など小型な貴金属や半導体、石材など本発明を応用する場合は製品の母材の表面に微小なOWP等の情報を刻印などで記録させ真贋の鑑定に利用することも考えられる。指輪など装身具では宝石などを留める指輪本体部分の母材に刻印する。貴金属の宝飾品やインゴットなどの製品にも微細なOWP等の情報を複数記録させることで製品流通を管理できるかもしれない。プラスチックフィルムや紙でできた有価紙葉を流通させる場合も容易に読み取られないように微小なOWP等の情報を印刷して有価紙葉を製造できるかもしれない。
<Product authenticity verification using tags using OWP>
In the present invention, as a ticket using OWP, a membership card, an ID card, a gift certificate, and a service ticket (valuable paper leaf) are assumed. In addition to that, when performing authenticity verification and certification when distributing trademark rights (including three-dimensional trademark rights), the model number of the clothing and the contract identifier of the OTP token, the serial number and the OTP token number, It can be used for authentication by using the user identifier and OWP code of the product manufacturer having the trademark right. In this case, the product is certified as a regular distribution product in the form of an NFC tag built into the product protected by trademark rights, or a barcode such as cloth or paper that is visibly attached to the surface of the product. can.
When an NFC tag is attached to clothing, it is possible to determine the authenticity of the genuine clothing product certified by what kind of NFC tag. However, at the same time, the data of the NFC tag built in the clothing may be read by wireless communication, which may infringe on the privacy of the user who has the tag.
On the other hand, compared to NFC tags, the method in which OWP or the like is printed, printed or woven on cloth or the like is not read wirelessly, which is useful for protecting personal information. If the authentication information is written on paper or cloth, the OWP authentication information tag as the product serial number should be placed next to the laundry display, size information, and manufacturer information on the tag part that describes the size of clothes that are not normally visible. Can be attached.
Although clothing is shown as an example, labels for agricultural, forestry and fishery products protected by the right holder, labels for daily necessities such as food, labels for alcoholic beverages such as wine and sake, labels for clothes, labels for leather products, labels and stamps for jewelry. , Labels for electrical and electronic equipment, labels for residences, labels for parts such as automobiles and machinery, models / toys, paper books, labels for products with copyright holders such as music / video discs (and tags) ) Also, the present invention can be applied, and product certification and authenticity verification can be performed.
Even for small products such as semiconductors and electronic components, OWP that can be discriminated with the naked eye and can be discriminated with a microscope by patterning, engraving, and printing fine character strings or barcodes on semiconductor packages and built-in silicon and elements. It is possible to confirm whether the product is genuine or not by recording the authentication information, reading the OWP information, and substituting the read information into the authentication function. When OWP is used, even if the printed content or the engraved content is so small that it cannot be visually discriminated, it can be authenticated if it can be enlarged and read as character information or image information.
When applying the present invention to small precious metals such as wearable computers, watches, rings, jewelry and semiconductor chips (IC silicon pieces before packaging), semiconductors, stones, etc., information such as minute OWP is displayed on the surface of the base material of the product. It is also conceivable to record it with a carved seal and use it for authenticity verification. For accessories such as rings, the base material of the ring body, which holds jewels, is engraved. It may be possible to manage product distribution by recording multiple minute information such as OWP in products such as precious metal jewelery and ingots. It may be possible to produce valuable paper leaves by printing minute information such as OWP so that they cannot be easily read even when the valuable paper leaves made of plastic film or paper are distributed.

<OWPを用いたタグによる物流管理>
物流用にOWPを生成・認証するDLSを構築し、前記物流用DLSにOTPトークンを発行し、それに対応したOWP生成関数と認証時の認証を行った端末の位置情報やセンサ情報をDLS上に記録させる認証関数を用いることでOWPでラベル付けされた物流容器の配送状況などの記録が可能になる。OWPにて容器を封じた際にその封印用ラベルに本発明のOWP等認証情報を印字し、封印ラベル18Aで封じられた荷物の流通を改ざんなどに耐性のあるブロックチェーン上で記録しつつ追跡できる。
<Logistics management using tags using OWP>
A DLS that generates and authenticates an OWP for physical distribution is constructed, an OTP token is issued to the DLS for physical distribution, and the corresponding OWP generation function and the position information and sensor information of the terminal that has been authenticated at the time of authentication are displayed on the DLS. By using the authentication function to be recorded, it is possible to record the delivery status of the distribution container labeled with OWP. When the container is sealed with OWP, the OWP certification information of the present invention is printed on the sealing label, and the distribution of the package sealed with the sealing label 18A is recorded and tracked on a blockchain resistant to tampering. can.

食品の物流用に本発明の18Aの情報を食品の包装に印刷し、食品の包装に印字される賞味・消費期限情報や製造工場情報などといった商品情報を記録し流通の過程で管理させ消費者が購入する際に店舗にてその二次元バーコードを読み取り、かつ消費者の決済情報や端末と関連付けることで、ある店舗で賞味・消費期限が何時までの食品を購入したか情報を記録できる。そして前記情報から購入済みの食品の消費期限切れによる食品廃棄ロスを減らせるかもしれない。18Aの流通情報や店舗における購入時に購入した商品の賞味・消費期限情報を端末1Aなどの決済に用いるもしくは決済結果を閲覧できる端末に記録・表示させ、消費期限が近づいた際に端末1Aに通知することで意図しない消費期限経過による食品廃棄を防ぐ。18Aの情報は冷蔵庫などの食品保管庫を制御する端末と連携していてもよい。 For food distribution, the information of 18A of the present invention is printed on the food packaging, and the product information such as the taste / expiration date information and the manufacturing factory information printed on the food packaging is recorded and managed in the distribution process. By reading the two-dimensional bar code at the store when making a purchase and associating it with the consumer's payment information and the terminal, it is possible to record information on when the food was purchased at a certain store until the expiration date. And from the above information, it may be possible to reduce the food waste loss due to the expiration of the consumption of the purchased food. The distribution information of 18A and the taste / expiration date information of the product purchased at the time of purchase at the store are used for payment on the terminal 1A, etc., or the payment result is recorded and displayed on a terminal that can be viewed, and the terminal 1A is notified when the expiration date is approaching. By doing so, food disposal due to the unintended expiration date is prevented. The information of 18A may be linked with a terminal that controls a food storage such as a refrigerator.

食品に限らず家電製品や住宅設備、自動車部品と自動車、医薬品などの商品について、商品の製造販売元が消費者より回収を行う際に、店舗が販売した消費者の同意を得て製造販売元に情報開示できるとき、どの商品がどの消費者により購入されているかの調査に役立つかもしれない。 Not limited to food products, home appliances, housing equipment, automobile parts and automobiles, pharmaceuticals, and other products are manufactured and sold by the manufacturer and distributor with the consent of the consumer sold by the store when the manufacturer and distributor of the product collects from the consumer. When information can be disclosed to, it may be useful for investigating which products are purchased by which consumers.

<OWPの認証>
ここでパスワードOWPを用いて1500Aや18Aや19Aにて認証する場合は、サービスを提供する場に持ち込まれた紙及び電子式のチケットが有効であるか判定する認証サーバ(認証端末3D)がある場合にはチケットの認証が可能であり、災害などでネットワークがオフラインになってもチケットの認証を行うことが可能である。チケットの発行と所持の観点ではブロックチェーン等DLSの持つ改ざんへの耐性や分散させることが特性により世界中にサーバにトークンデータの記録を行われ、ユーザーが保有していたことを記録できる。チケットの他鍵としても利用されうる。
産業上の利用可能性を高めるためOWPを用いたチケット18Aの譲渡を禁止することも、許可することも可能にし、かつ紙及びNFCタグなどでの入場チケットを可能にするために、本発明ではDLSと紙のチケットを結びつけるためにコントラクトの管理者であるオーナーが任意に任意変数を用いて変更できるオーナー型のワンタイムパスワードOWPの概念を導入した。
<OWP certification>
Here, when authenticating with 1500A, 18A, or 19A using the password OWP, there is an authentication server (authentication terminal 3D) that determines whether the paper and electronic tickets brought to the place where the service is provided are valid. In some cases, ticket authentication is possible, and even if the network goes offline due to a disaster or the like, ticket authentication can be performed. From the viewpoint of ticket issuance and possession, token data is recorded on servers all over the world due to the characteristics of DLS such as blockchain resistance to tampering and distribution, and it is possible to record that the user possessed it. It can also be used as another key for tickets.
In the present invention, in order to prohibit or permit the transfer of the ticket 18A using the OWP in order to enhance the industrial applicability, and to enable the admission ticket with paper, NFC tag, etc. Introduced the concept of an owner-type one-time password OWP that the owner, who is the administrator of the contract, can arbitrarily change using arbitrary variables to connect the DLS and the paper ticket.

<BnTOTPとOWPの関連性>
OWPはコントラクト管理者がコントラクト内のワンタイムパスワード計算用シード値を書き換えることで、そのコントラクトに属するトークン番号のトークンが生成するパスワードを変更する。一方、BnTOTPではブロック番号が自動的に増えてシード値は変更される。コントラクト管理者がシード値BC等をブロック番号Bnのようにブロック番号が変わるごとに変更するようDLSにトランザクションを送信しシード値を書き換えることで擬似的なBnTOTPをOWP方式でも実現できる。したがって、本発明ではOWPのようにコントラクト管理者がBnTOTPの算出に用いるシード値を変更できることが好ましい。
DLS上のスマートコントラクトにおいて、OWP方式とBnTOTP方式の考え方として、時計の秒針が自動で動く場合(BnTOTP)と手動で動かす場合(OWP)が想像できる。カウンターである時計の秒針を動かすことが出来ればパスワードは変わり動的なパスワードはDLSのスマートコントラクトで生成できる(DLS由来のブロック番号等に由来する時間の変化によって変更される変数をカウンター変数に採用するか、スマートコントラクト経由でカウンターの変数を書き換えるトランザクションを送信して変更するかの違いである)。
ここでBnTOTPと比べOWPはシード値の更新も含むので本発明では必要な要素である。
本発明ではOWPを利用することで現実世界でのチケットなど有価紙葉によるサービスの提供とウェブサイトなどデジタル世界でのサービスの提供、暗号化データを復号するソフトウェアとそのソフトウェアへの広告配信サービス、秘密鍵の不正利用監視サービスが可能である。
OWPに加え、カウンターを手動で更新する必要のないブロックチェーンなどDLSに利用されるブロック番号などのデータに着目しOWPのパスワード算出を行うハッシュ関数の引数にブロック番号Bnを追加して BnTOTPとすることでワンタイムパスワードのシード値を手動にて変更できシード値の更新をDLSにより自動で行わせることが可能になることを主張する。
<Relationship between BnTOTP and OWP>
OWP changes the password generated by the token of the token number belonging to the contract by rewriting the seed value for one-time password calculation in the contract by the contract administrator. On the other hand, in BnTOTP, the block number is automatically increased and the seed value is changed. A pseudo BnTOTP can also be realized by the OWP method by sending a transaction to the DLS so that the contract administrator changes the seed value BC or the like every time the block number changes like the block number Bn and rewrites the seed value. Therefore, in the present invention, it is preferable that the contract manager can change the seed value used for calculating BnTOTP as in OWP.
In the smart contract on the DLS, as the concept of the OWP method and the BnTOTP method, it is possible to imagine the case where the second hand of the watch moves automatically (BnTOTP) and the case where it moves manually (OWP). If the second hand of the clock, which is a counter, can be moved, the password will change and a dynamic password can be generated by the DLS smart contract (variables that are changed by changes in time derived from DLS-derived block numbers, etc. are adopted as counter variables. The difference is whether to change it by sending a transaction that rewrites the variable of the counter via the smart contract).
Here, as compared with BnTOTP, OWP also includes updating the seed value, and is therefore a necessary element in the present invention.
In the present invention, by using OWP, the provision of services by valuable paper leaves such as tickets in the real world and the provision of services in the digital world such as websites, software for decrypting encrypted data and advertisement distribution service to the software, An unauthorized use monitoring service for private keys is possible.
In addition to OWP, focus on data such as block numbers used for DLS such as block chains that do not need to manually update the counter, and add block number Bn to the argument of the hash function that calculates the OWP password to make it BnTOTP. By doing so, it is claimed that the seed value of the one-time password can be changed manually and the seed value can be updated automatically by DLS.

<OTPトークンのスマートコントラクト上での利用可能性>
図9Aにブロックチェーン型の分散型台帳システム、図9Bに有方向非巡回DAG型の分散型台帳システムを用いて本発明のスマートコントラクトや図6Xにおける秘密鍵の不正利用監視機能を用いる形態を示す。本発明は図9Aの形態の他、図9Bの形態においても改ざん困難な分散型台帳システム上にスマートコントラクトのプログラムとして記録されるOTP生成関数とOTP認証関数を用い、OTP認証システムを提供しうる。
<Availability of OTP tokens on smart contracts>
FIG. 9A shows a blockchain type distributed ledger system, and FIG. 9B shows a mode in which the smart contract of the present invention and the unauthorized use monitoring function of the private key in FIG. 6X are used by using the directional non-circulating DAG type distributed ledger system. .. The present invention can provide an OTP authentication system by using an OTP generation function and an OTP authentication function recorded as a smart contract program on a distributed ledger system that is difficult to tamper with in the form of FIG. 9A as well as the form of FIG. 9B. ..

<OTPトークンの利用可能性>
本発明のBnTOTPもしくはOWPを生成するOTP生成トークンを現実世界での鍵と同じようにブロックチェーン上のコントラクトでユーザーに発行したり、限定されたコミュニティまたは世界中のユーザー同士で譲渡し合うことが可能になる。
本発明のワンタイムパスワードトークンを現実及びデジタル分野での鍵もしくはログイン権、所有権、閲覧権、利用権、投票権などに利用することが可能になり、また暗号化されたデータを本発明によりワンタイムパスワードトークンを使い復号することも可能になる。本発明は紙のチケットにも電子的なチケットにもウェブサイトへのログインチケットにも適用でき、現実領域(物理的領域)とデジタル領域(データ領域)の両方で展開されるサービスに適用できる。
<Availability of OTP tokens>
The OTP generation token that generates the BnTOTP or OWP of the present invention can be issued to users by a contract on the blockchain like a key in the real world, or can be transferred to each other by a limited community or users all over the world. It will be possible.
The one-time password token of the present invention can be used for keys or login rights, ownership rights, viewing rights, usage rights, voting rights, etc. in the real and digital fields, and encrypted data can be used by the present invention. It will also be possible to decrypt using a one-time password token. The present invention can be applied to paper tickets, electronic tickets, website login tickets, and can be applied to services deployed in both the real domain (physical domain) and the digital domain (data domain).

<OTPトークンのセキュリティトークンとしての用途>
デジタルな空間におけるウェブサイトへのログインや暗号化データの復号、紙やNFCタグでの現実世界でサービスを利用する場合の利用券として利用できる事について述べた。ここでOTPトークンについてはユーティリティトークンとしての利用を想定するが、法で規制される有価証券の役割をOTPトークンに持たせることも可能かもしれない。すなわち本発明のOTPトークンをセキュリティ―トークン(電子記録移転権利、出典:日本証券業協会 https://www.jsda.or.jp/about/jishukisei/words/0326.html、2020年12月12日閲覧、)として用いることができるかもしれない。
セキュリティトークンの具体的な利用の形態の1つとしては本発明のOTP認証システムで用いるOTPトークンと対応する株式会社の株式と結び付け、そのOTPトークンのコントラクト管理者が譲渡制限や保管振替を行いつつ、株式会社の利益のうち配当金を証券会社や信託銀行等と連携しながらOTPトークンの持ち主の証券口座などへ振り込むなどして分配する。
そして株主総会を行うウェブサイトへのログインをOTP認証システムで行い、株主総会における電磁的方法による議決権の行使を本発明のOTP認証システムを用いて投票などを通じて行うことができるかもしれない。1つのOTPトークンに対し議決権を持たせそれを株主総会を行うウェブサイトでログイン及び議決権を行使した投票を行う処理に利用する。また株主が株式型のOTPトークンを持つ場合に受けることの出来る権利(自社サービスの利用権、株主優待券など)の利用を行うときに端末1AのディスプレイなどでBnTOTP型のOTPを表示させてサービス提供者やサービス提供端末に提示しOTP認証結果が正しい時サービスなどを受けることができてもよい。
このように銀行や証券などの金融分野の利用券や証券として利用できるかもしれない。また建物の施錠に関連してや建物不動産の所有権と利用権に用いることも想定される。
<Use of OTP token as a security token>
He mentioned that it can be used as a ticket for logging in to websites in a digital space, decrypting encrypted data, and using services in the real world with paper or NFC tags. Here, the OTP token is assumed to be used as a utility token, but it may be possible to give the OTP token the role of securities regulated by law. That is, the OTP token of the present invention is a security-token (electronic record transfer right, source: Japan Securities Dealers Association https://www.jsda.or.jp/about/jishukisei/words/0326.html, December 12, 2020. It may be possible to use it as a browsing ,).
As one of the specific forms of use of the security token, the OTP token used in the OTP authentication system of the present invention is linked to the stock of the corresponding corporation, and the contract manager of the OTP token restricts the transfer and transfers the storage. , Of the profits of the corporation, the dividend will be distributed by transferring it to the securities account of the owner of the OTP token in cooperation with securities companies and trust banks.
Then, the OTP authentication system may be used to log in to the website where the general meeting of shareholders is held, and the voting rights may be exercised by an electromagnetic method at the general meeting of shareholders through voting or the like using the OTP authentication system of the present invention. One OTP token is given voting rights and is used for logging in and voting by exercising voting rights on the website where the general meeting of shareholders is held. In addition, when using the rights that shareholders can receive when they have stock-type OTP tokens (rights to use their own services, shareholder benefit tickets, etc.), the BnTOTP-type OTP is displayed on the display of terminal 1A, etc. It may be possible to receive the service when the OTP authentication result is correct by presenting it to the provider or the service providing terminal.
In this way, it may be used as a voucher or securities in the financial field such as banks and securities. It is also expected to be used in connection with the locking of buildings and for ownership and usage rights of real estate in buildings.

<OTPトークンのOTPを擬似乱数として用い、擬似乱数生成装置に用いる用途>
くじ引きやサイコロを用いた遊戯など確率を基に何かを決定する事がある。例えば集客などの用途である商品の購入後にひくことの出来るくじ引きがあり本発明はその用途に利用できるかもしれない。遊戯用途ではオンラインゲームを含むコンピュータゲームにおいてOTPをゲーム内で起きる物事の処理を決定する数に利用できるかもしれない。現実世界においても現物の賽子の代わりに賽子として利用するOTPトークンのOTPを表示させ、表示された番号によってカードゲーム等の遊具を用いた遊戯が可能になるかもしれない。
あるいは寺院や神社といった宗教的な施設に参拝し、お賽銭を投げ、あるいは金銭を支払い宗教的な施設に寄付をしておみくじを引くといった事例がありこの場合も本発明のOTP認証システムとOTPトークンとその擬似乱数生成機能が利用できるかもしれない。
本発明はOTPを生成させる機能があるが、これを疑似的な乱数として利用しつつ、OTP認証を備えたウェブサイトにログインするOTPトークンとして利用でき、ウェブサイトにログインした後もOTPトークンからOTPを生成し利用できることは先に述べたとおりである。そして寺院や神社といった宗教法人への寄付やおみくじをそのウェブサイトで行い通貨等で決済した際におみくじの結果をOTPトークンのOTP値を寺院・神社のウェブサイトを配信する端末3Cでおみくじの結果を算出する引数として用い、おみくじの結果を計算してユーザーの端末1Aに表示させてもよい。そして寺院や神社に訪れたユーザーに暗号化データの形でその縁起などを紹介するパンフレットのデータを配布し、ユーザーに閲覧できるようにしてもよい。
<Use of OTP of OTP token as pseudo-random number and used for pseudo-random number generator>
Something may be decided based on the probability such as lottery or playing with dice. For example, there is a lottery that can be drawn after purchasing a product that is used for attracting customers, and the present invention may be used for that purpose. For amusement applications, OTP may be used in computer games, including online games, to determine the processing of things that occur in the game. Even in the real world, the OTP of the OTP token used as a dice may be displayed instead of the actual dice, and the displayed number may enable playing with play equipment such as a card game.
Alternatively, there are cases where people visit religious facilities such as temples and shrines, throw money, or pay money and donate to religious facilities to draw fortunes. In this case as well, the OTP authentication system and OTP token of the present invention are used. And its pseudo-random number generation function may be available.
The present invention has a function of generating an OTP, but while using this as a pseudo random number, it can be used as an OTP token for logging in to a website equipped with OTP authentication, and even after logging in to the website, the OTP token can be used as an OTP. Can be generated and used as described above. Then, when you make a donation to a religious corporation such as a temple or shrine or make an Omikuji on its website and settle it with currency etc., the OTP value of the OTP token will be the OTP value of the OTP token. May be used as an argument to calculate, and the result of the fortune telling may be calculated and displayed on the user's terminal 1A. Then, the data of the pamphlet that introduces the luck of the luck may be distributed to the users who visit the temple or shrine in the form of encrypted data so that the users can view it.

OTPを擬似乱数生成に用いる際には、OTP生成及び認証コントラクトにあるユーザーのトークン番号TIDAに対応したマッピング型変数KCU[TIDA](もしくはVU[TIDA])をTIDAのトークンの持ち主であるユーザー識別子Aが変更できるセッター関数を備え、KCU[TIDA]をユーザー識別子Aのみが書き換えることができ、コントラクトの管理者1Cが書き換えることはできないがユーザーのみがアクセスし書き換えることでユーザーの保有するOTPトークンの擬似乱数の計算に用いるシード値を変えることの出来る擬似乱数発生機を構築することもできる。
これはコントラクトの管理者が設定するシークレット変数KC値とは別に、OTPトークンの番号に応じてOTPトークンの保有者が設定できるシークレット変数KCU[TIDA]を設定し、それぞれのトークンに対しユーザーが設定したKCU[TIDA]をハッシュ関数fhの引数に追加してOTPを生成するものである。前記OTPの計算例はBnTOTP型の場合はBnTOTP=fh(A,TIDA,KC,Bn,KCU[TIDA])である。
KCU[TIDA]、KCU[TIDB]、KCU[トークン番号]といったマッピング型変数(もしくは構造体型や配列型などの変数も可能、トークン番号をキーとしてKCUのデータ配列を表現できれば可能)を擬似乱数を利用するユーザーが設定できることで、コントラクト管理者が定めたKC値だけのくじ引き結果ではなく、ユーザーが定めたKCU[トークン番号]を加えたくじ引き結果を得ることができるのでコントラクト管理者の不正行為を防ぐことに役立つかもしれない。
前記コントラクト管理者の不正行為の例として、例えばオンラインゲームなどでゲームを管理する側がKC値を含むシード値を全て知っていればある特定のユーザー識別子の特定のトークン番号のOTPが未来のある時刻にどのようなOTP値が取れるかわかってしまい、それを予測してサーバ3Cのオンラインゲーム提供プログラムにユーザー識別子Aなどを狙って悪意のある処理を組み込むことすら考えられる。
そこでユーザーが保有するOTPトークンのシード値KCU[トークン番号]が設定されていて変えることができる場合(なおかつKCU[TIDA]をユーザ識別子Aが変更する際に送信するトランザクションが秘匿化できるブロックチェーン基盤であるとき)にはコントラクト管理者はユーザーの将来のOTP値を推測困難になる。そしてユーザーもまたコントラクト管理者の決定したKC値を知らない場合にはユーザーの持つトークン番号TIDAのOTPトークンの生成するOTP値はわからないので疑似的な乱数発生装置として利用できる。コントラクト管理者はいつユーザーがOTPのシード値KCU[TIDA]を変更するかわからないので推測する意欲を削ぐかもしれない。
ここではオンラインゲームについて本発明を擬似乱数生成装置として利用したときの産業上の利用可能性について述べたが、オンラインゲームやくじ引き以外にも個人や団体、企業や公共団体にて何かを確率で決める際に利用できるかもしれない。
When using OTP for pseudo-random number generation, the mapping type variable KCU [TIDA] (or VU [TIDA]) corresponding to the user's token number TIDA in the OTP generation and authentication contract is used as the user identifier of the owner of the TIDA token. Equipped with a setter function that can be changed by A, only the user identifier A can rewrite the KCU [TIDA], and the contract administrator 1C cannot rewrite it, but only the user can access and rewrite the OTP token owned by the user. It is also possible to construct a pseudo-random number generator that can change the seed value used for calculating the pseudo-random number.
This sets a secret variable KCU [TIDA] that can be set by the OTP token holder according to the OTP token number, in addition to the secret variable KC value set by the contract administrator, and is set by the user for each token. The KCU [TIDA] is added to the argument of the hash function fh to generate an OTP. In the case of the BnTOTP type, the calculation example of OTP is BnTOTP = fh (A, TIDA, KC, Bn, KCU [TIDA]).
Pseudo-random numbers for mapping type variables such as KCU [TIDA], KCU [TIDB], and KCU [token number] (or variables such as structure type and array type are also possible, and if the token number can be used as a key to express the KCU data array). Since the user can set it, it is possible to obtain the lottery result by adding the KCU [token number] specified by the user, not the lottery result of only the KC value specified by the contract administrator. May help prevent.
As an example of the fraudulent activity of the contract administrator, if the side that manages the game, for example, an online game, knows all the seed values including the KC value, the OTP of a specific token number of a specific user identifier will be at a certain time in the future. It is possible to know what kind of OTP value can be obtained, predict it, and incorporate malicious processing into the online game providing program of the server 3C, aiming at the user identifier A or the like.
Therefore, when the seed value KCU [token number] of the OTP token held by the user is set and can be changed (and the transaction transmitted when the user identifier A changes KCU [TIDA] can be concealed. (When) makes it difficult for the contract administrator to estimate the user's future OTP value. If the user does not know the KC value determined by the contract administrator, the OTP value generated by the OTP token of the token number TIDA possessed by the user is not known, so that the user can use it as a pseudo random number generator. The contract administrator may be discouraged from guessing because the user does not know when to change the OTP seed value KCU [TIDA].
Here, we have described the industrial applicability of online games when the present invention is used as a pseudo-random number generator, but in addition to online games and lottery, there is a probability that something will be done by individuals, groups, companies, and public organizations. It may be available when deciding.

<OTPトークンをコンテンツとみなしデータ流通させる可能性>
電子書籍や紙の書籍とも異なる分散型台帳システムを利用した暗号化データの流通を可能にする。譲渡制限が行われていない状態においてOTPトークンと暗号化データとその復号用のソフトウェアCRHN403Aを別のユーザーに譲渡する事が可能になる。我が国で作成された著作物に由来するデータを海外に流通しやすくすることが可能になる。
データには小説、漫画、音楽、動画、コンピュータゲームソフトウェア、ビジネス用ソフトウェア、3DのCADデータ(及びその3DのCADデータを使い3Dプリンタから出力される模型等3次元物体)が含まれ広範なコンテンツをOTPトークンという閲覧権・データ復号鍵として二次流通市場で取り扱われる可能性もある。また二次流通時にトークンの譲渡を任意の時間に制限し、または制限を解除する機能を持つため権利者の要望に沿った流通を行える。
OTPトークンと暗号化データの流通時にデータを復号した際に広告およびアクセス監視サーバーを設けることで、閲覧されているコンテンツの権利者に広告収益を分配することを意図している。また広告表示機能は不正アクセスの防止機能を兼ねており、OTPトークンの持ち主の秘密鍵の不正利用を検知することもできる。ソフトウェアCRHN403Aにも広告等表示機能があり、不正アクセス防止と広告表示、ソフトウェア更新通知などを行う。
<Possibility of distributing data by regarding OTP tokens as content>
It enables the distribution of encrypted data using a distributed ledger system that is different from electronic books and paper books. It is possible to transfer the OTP token, the encrypted data, and the software CRHN403A for decrypting the OTP token to another user in a state where the transfer is not restricted. It will be possible to facilitate the distribution of data derived from copyrighted works created in Japan overseas.
The data includes novels, cartoons, music, videos, computer game software, business software, 3D CAD data (and 3D objects such as models output from 3D printers using the 3D CAD data) and a wide range of content. May be treated in the secondary secondary market as an OTP token, which is a viewing right / data decryption key. In addition, since it has a function of restricting the transfer of tokens at any time during secondary distribution or releasing the restriction, distribution can be performed according to the request of the right holder.
By providing an advertisement and access monitoring server when the data is decrypted when the OTP token and the encrypted data are distributed, it is intended to distribute the advertisement revenue to the right holder of the content being viewed. The advertisement display function also has a function of preventing unauthorized access, and can detect unauthorized use of the private key of the owner of the OTP token. The software CRHN403A also has an advertisement display function, which prevents unauthorized access, displays advertisements, and notifies software updates.

<OTPトークンをコンテンツのアクセス権や所有権およびコンテンツそのものとして流通させる可能性>
本発明で暗号化データを復号する用途では、例えば書籍に関しては電子書籍や紙の書籍とも異なる分散型台帳システムを利用した暗号化データの流通とその所有権やアクセス権としてのOTPトークンの流通を可能にする。またコンピュータソフトウェアにおいては業務用ソフトウェアやゲームソフトのソフトウェアにおいても所有権やアクセス権を表すOTPトークンとして流通する。
OTPトークンのコントラクトに除去関数が内蔵されていない限り、OTPトークンはユーザーの持つ秘密鍵と対応したユーザー識別子に対応付けて改ざん困難なブロックチェーンに記録され保存されつづける。イーサリアムのようにユーザーもノード端末3Aと同じ機能を持った端末を持ちブロックチェーンのノードとなることができればそのブロックチェーンを保持したいと考えるユーザーがいる限りOTPトークンの所有情報は保存されうる。コンピュータソフトウェア販売者が配布するソフトウェアを暗号化したデータや暗号化前の平文データをソフトウェアCRHNに内蔵して配布している場合にはそのソフトウェアをユーザーの端末に記録し保持してソフトウェアを動作し続けることができる。
<Possibility of distributing OTP tokens as content access rights, ownership rights, and content itself>
In the application of decrypting encrypted data in the present invention, for example, for books, distribution of encrypted data using a distributed ledger system different from electronic books and paper books, and distribution of OTP tokens as their ownership and access rights. enable. In computer software, business software and game software are also distributed as OTP tokens representing ownership and access rights.
Unless the OTP token contract has a built-in removal function, the OTP token will continue to be recorded and stored in the hard-to-tamper blockchain in association with the user's private key and the corresponding user identifier. If a user also has a terminal having the same function as the node terminal 3A like Ethereum and can become a node of the blockchain, the ownership information of the OTP token can be stored as long as there is a user who wants to hold the blockchain. If the software distributed by the computer software seller has encrypted data or unencrypted plain text data built into the software CRHN and distributed, the software is recorded and held in the user's terminal to operate the software. You can continue.

<OTPトークンを放送された暗号データの閲覧権として用いるとき>
放送された暗号データ内部もしくはソフトウェア403Aに視聴者が視聴するOTPトークンのコントラクト識別子情報を図6Xのデータに併記することでユーザー識別子がどの放送事業者(もしくは放送サービス提供者)のコントラクト識別子のどのユーザー識別子のどのトークン番号のユーザーがアクセスして視聴しているかが把握できる。この機能は端末5Aによる広告サーバ機能と不正アクセス防止機能を応用するものである。ユーザーのプライバシーに配慮しユーザー識別子やトークン番号を匿名化し図6Xのように端末5Aに記録することが特に求められるかもしれない。
前記図6Xに示すアクセスデータを集計し放送の視聴者数に該当するユーザー識別子のアカウント数を集計することでは総視聴者数が得られ、放送時の視聴率などを求めたいときに応用できる。ただし放送受信者が地上波デジタル放送などの受信者数に匹敵するときは端末5Aは複数の分散されたサーバ群にしなければ図6Xの形式でのアクセス管理を行う際に計算資源やネットワーク20の通信可能な帯域を消費しかねないので、図6Xにおけるアクセス受付時間をトークン番号の末尾桁数時ごとに異なる時刻で視聴中か否かの情報を端末4Aからネットワーク20を介して端末5Aのサーバ群に伝達できると好ましいかもしれない。
<When using an OTP token as a viewing right for broadcast encrypted data>
By writing the contract identifier information of the OTP token that the viewer views inside the broadcast encrypted data or in the software 403A together with the data in FIG. 6X, the user identifier is which broadcaster (or broadcast service provider) contract identifier. It is possible to know which token number of the user identifier the user is accessing and viewing. This function applies the advertisement server function and the unauthorized access prevention function of the terminal 5A. In consideration of user privacy, it may be particularly required to anonymize the user identifier and token number and record them on the terminal 5A as shown in FIG. 6X.
By totaling the access data shown in FIG. 6X and totaling the number of accounts of the user identifier corresponding to the number of viewers of the broadcast, the total number of viewers can be obtained, which can be applied when it is desired to obtain the audience rating at the time of broadcasting. However, when the number of broadcast receivers is comparable to the number of receivers for terrestrial digital broadcasts, etc., the terminal 5A must be a group of multiple distributed servers, or the computational resources and network 20 will be used when performing access control in the format shown in FIG. 6X. Since it may consume the communicable band, the information on whether or not the access reception time in FIG. 6X is being viewed at a different time for each last digit of the token number is sent from the terminal 4A to the server of the terminal 5A via the network 20. It may be preferable to be able to communicate to the group.

<OTPトークンを用いてGNSSの信号のデータの真偽を判定するとき>
ブロックチェーンのノード端末3Aと接続できるGNSSなどの測位用人工衛星端末5Cから放送されたGNSS測位信号に、本発明のBnTOTP信号を添付させ、地上局端末1Aや端末4Aでその受信した測位信号とデータをネットワーク20を介してブロックチェーンのノード端末3Aの認証関数3018Aで認証することで放送局5Cの測位信号が正しいものか判断でき、GNSSの測位信号のなりすましか否かを判断できる。
GNSS信号は自動車や航空機、船舶、携帯電話・スマートフォン端末、無人機が自身の位置を測位するための情報であり、GNSS信号の真贋を判定しなりすまし信号を判別できるようにする。位置情報と時刻情報はBnTOTPによる認証を用いることでブロックチェーン上のデータとリンクされそのBnTOTPを含む測位情報を受信した端末1Aの位置情報と時刻情報とブロックチェーン情報を用いることでその端末1Aがあるときにある場所にいたかを認証できるかもしれない。
そしてBnTOTPを含む測位情報を受信した端末1Aの位置情報と時刻情報とブロックチェーン情報を用いることでその端末1Aが入出力装置を通して記録している文章画像情報や動画や音声といった情報にBnTOTPや時刻情報や位置情報を記録することで、入出力された情報や印刷物などに確かな位置情報付きタイムスタンプを付与できる。(前記データにHMACのMAC値を付与してもよい。)
さらに自動車や船舶や航空機と無人機・無人航空機のナビゲーション用途で認証された位置情報によってより安全にそれらの機械を移動させることができるかもしれない。
<When determining the authenticity of GNSS signal data using an OTP token>
The BnTOTP signal of the present invention is attached to the GNSS positioning signal broadcast from the positioning artificial satellite terminal 5C such as GNSS that can be connected to the node terminal 3A of the blockchain, and the positioning signal received by the ground station terminal 1A or the terminal 4A is used. By authenticating the data with the authentication function 3018A of the node terminal 3A of the blockchain via the network 20, it is possible to determine whether the positioning signal of the broadcasting station 5C is correct, and it is possible to determine whether or not the positioning signal of the GNSS is spoofed.
The GNSS signal is information for a car, an aircraft, a ship, a mobile phone / smartphone terminal, and an unmanned machine to determine their own position, and makes it possible to determine the authenticity of the GNSS signal and determine the spoofing signal. The position information and time information are linked to the data on the blockchain by using authentication by BnTOTP, and the terminal 1A uses the position information, time information and blockchain information of the terminal 1A that has received the positioning information including the BnTOTP. It may be possible to authenticate that you were in a certain place at a certain time.
Then, by using the position information, time information, and blockchain information of the terminal 1A that has received the positioning information including BnTOTP, BnTOTP and time can be added to the information such as text image information, moving image, and voice recorded by the terminal 1A through the input / output device. By recording information and location information, it is possible to add reliable time stamps with location information to input / output information and printed matter. (The MAC value of HMAC may be added to the data.)
In addition, it may be possible to move those machines more safely with location information certified for navigation applications in automobiles, ships, aircraft and unmanned aerial vehicles.

このGNSS信号にBnTOTPを添付するという考え方は、OWPを用いたタグによる物流管理において18Aや19Aの形で物にOWPを添付して流通を管理していた考え方を、端末5Cから放送されたデータの流通に応用したものであって、BnTOTPを放送データに添付して放送データの流通を管理するものである。GNSS信号に限らず放送データや配信データにBnTOTPやOWPを添付して認証し真贋を判定してもよい。 The idea of attaching BnTOTP to this GNSS signal is the idea of attaching OWP to an object in the form of 18A or 19A in the distribution management by the tag using OWP, and the data broadcast from the terminal 5C. It is applied to the distribution of broadcast data, and BnTOTP is attached to the broadcast data to manage the distribution of the broadcast data. Not limited to the GNSS signal, BnTOTP or OWP may be attached to broadcast data or distribution data for authentication and authenticity may be determined.

<ダウンロード販売プラットフォームとの関係>
ダウンロード販売プラットフォームにより電子書籍や音声動画データ、コンピュータソフトウェア、コンピュータゲームソフトウェアが販売されることが増えている。しかしダウンロード販売プラットフォームはそれを運営する会社ごとに異なるアプリケーションソフトウェアをインストール必要があったり、そのソフトウェアを維持する会社が存続できなくなった場合にはサービスが終了する恐れがある。
例として電子書籍やコンピューターゲームは閲覧権やプレイする権利を購入していることがあり、紙の書籍やコンピュータゲーム端末に読み込ませるゲームソフトウェアの記憶された半導体メモリ式ROMカセットや光学ディスクの所有権を販売する形態とは異なる。
本発明では権利者が許可する場合に限りその所有権をOTPトークンとして流通させ、ブロックチェーンシステム・OTPトークン・トークンの割り当てられた秘密鍵401A・ソフトウェアCRHN403Aにて復号できる暗号化データの形でコンテンツを所持可能とする狙いがある。
<Relationship with download sales platform>
Ebooks, audio-video data, computer software, and computer game software are increasingly being sold by download sales platforms. However, the download sales platform may need to install different application software for each company that operates it, or the service may be terminated if the company that maintains the software cannot survive.
For example, e-books and computer games may have purchased viewing and playing rights, and ownership of semiconductor memory ROM cassettes and optical discs that store paper books and game software to be read by computer game terminals. It is different from the form of selling.
In the present invention, the ownership is distributed as an OTP token only when the right holder permits, and the content is in the form of encrypted data that can be decrypted by the blockchain system, the OTP token, the private key 401A to which the token is assigned, and the software CRHN403A. The aim is to make it possible to possess.

<仮想機械環境での稼働>
本発明のブロックチェーンは仮想的なサーバのネットワークで処理されることも考えられる。パーソナルコンピュータやサーバなどの電子計算機の端末はハードウェア面およびソフトウェア面での変化が激しく、例えば本発明では100年以上OTPトークンとそれにより暗号データを復号する形でのデータとその権利の流通システムを想定するが、たとえばBIOSやEFIといったオペレーティングソフトウェアを起動させるソフトウェアそのものが変更され既存のオペレーティングソフトやウェブブラウザやブロックチェーンのクライアントソフトウェアが動作させることができなくなる恐れがある。ブロックチェーン基盤の公開鍵暗号方式や暗号学的ハッシュ関数の更新、共通鍵暗号方式の更新の可能性も考えられる。
そこでサーバ3Aのみならずサーバ3Cといった分散型台帳システムのノード端末やウェブサービス端末を仮想機械環境で稼働させてもよい。互換性の問題から、サーバ端末のオペレーティングソフトウェアでブロックチェーンのクライアントソフトウェアが動作させることができなくなった場合に備え、仮想的なコンピュータ上やサーバ上、複数のサーバー上で動作するようにすることが好ましいかもしれない。(互換性の問題の例はウェブサイトを閲覧するインターネットプロトコルの変化、ECMAScriptなどプログラム言語の変化)
<Operation in a virtual machine environment>
It is also conceivable that the blockchain of the present invention is processed by a virtual server network. Computer terminals such as personal computers and servers are subject to drastic changes in hardware and software. For example, in the present invention, the OTP token and the data and its rights distribution system in which the encrypted data is decrypted by the OTP token for 100 years or more. However, there is a risk that the software itself that starts operating software such as BIOS and EFI will be changed and existing operating software, web browsers, and blockchain client software will not be able to operate. The possibility of updating the blockchain-based public key cryptosystem, cryptographic hash function, and common key cryptosystem is also conceivable.
Therefore, not only the server 3A but also the node terminal and the web service terminal of the distributed ledger system such as the server 3C may be operated in the virtual machine environment. In case the blockchain client software cannot run on the server terminal operating software due to compatibility issues, it is possible to run it on a virtual computer, server, or multiple servers. May be preferable. (Examples of compatibility issues are changes in the Internet protocol for browsing websites, changes in programming languages such as ECMAScript)

<長期の稼働>
長期にわたり現実または仮想機械環境で利用されることも考慮し、ブロックチェーンシステムの消費する電力量は少ないほうが好ましく、Proof of AuthorityやProof of StakeなどのProof of Workよりも低い消費電力であることが期待されるブロックチェーンシステムの合意形成アルゴリズムを用いることが好ましい。端末やネットワークを動かす電源装置には持続可能なエネルギーを利用することが望ましい。
サービス提供者はブロックチェーン上からサーバ3Fなどを用いてサービスに対応したOTPトークンの持ち主の名簿を持ち、ブロックチェーンのみに依存せず持ち主の情報を名簿のように記憶できていることが好ましい。
<Long-term operation>
Considering that it will be used in a real or virtual machine environment for a long period of time, it is preferable that the blockchain system consumes less power, and it should have lower power consumption than Proof of Work such as Proof of Authority and Proof of Stake. It is preferable to use the expected blockchain system consensus formation algorithm. Sustainable energy should be used for power supplies that power terminals and networks.
It is preferable that the service provider has a list of owners of OTP tokens corresponding to the service from the blockchain using the server 3F or the like, and can store the owner's information like a list without depending only on the blockchain.

<ユーザーがシード値を変更できる場合>
コントラクトにいくつかのシード値となる変数があり、一部はコントラクト管理者のみがアクセスでき、ほかの変数は全くコントラクトに関係ないユーザーが書き換えることの出来る変数と、トークンの持ち主が書き換えることのできる変数を用意し、ユーザーが任意時間、任意数値に変更できることで疑似的なランダム値になり得る。ユーザーのトークン番号に対応したワンタイムパスワード生成シード値を設定しそれをオンラインゲームなどでの擬似乱数の生成要素にすることもできる。またランダムさを用いるサービスとしてくじ引きなどにも利用されうる。
<If the user can change the seed value>
There are some seed variables in the contract, some can be accessed only by the contract administrator, others can be rewritten by users who are completely unrelated to the contract, and by the owner of the token. By preparing a variable and allowing the user to change it to an arbitrary numerical value at any time, it can be a pseudo random value. It is also possible to set a one-time password generation seed value corresponding to the user's token number and use it as a pseudo-random number generation element in online games and the like. It can also be used for lottery as a service that uses randomness.

<OTPトークンを機密情報の暗号化を復号する鍵として流通させる可能性>
ある団体においてOTPトークンを付与したユーザーにのみ閲覧させたい平文データを暗号化させ、暗号化データとして配布し閲覧させることが可能になる。本発明では分散型台帳だけで復号を行う他に、団体内部で通用する外部パスワードAKTBを設定している。例としてある会社の社内において試作品の乗物の部品や模型などを3DのCADデータとして暗号化されたデータとして配布し、それを復号できるソフトウェアCRHN403AとOTPトークン(およびOTPトークンで認証したときの戻り値CTAU)と外部パスワードAKTBを持つことの出来る社員が復号を行い閲覧することができ、その3DのCADデータを基に部品や模型などを作製しうる。
機密情報のOTPトークンはユーザー端末1A(端末DA)の秘密鍵に紐づけられる。ここで端末1A(または4A)の外部記録装置16Aとして個人番号カードやICカード型社員証・学生証などに割り当てられた秘密鍵を記録したICカードを接続し通信させ、ICカード内の秘密鍵により重要情報、個人情報、個人の記録、機密情報の暗号化を行うことも意図している。(この場合秘密鍵を記録したICカードなどが破損・紛失した場合に秘密鍵を無くしてしまう恐れがあり、ICカード発行者が秘密鍵を記憶装置に複製し、前記記憶装置をインターネットからアクセスされないデータセンターや金庫などに保管し管理することが必要になる恐れもある。)
<Possibility of distributing OTP tokens as a key to decrypt the encryption of confidential information>
It is possible to encrypt plaintext data that only users who have been granted OTP tokens in a certain organization want to view, and distribute and view it as encrypted data. In the present invention, in addition to decrypting only with the distributed ledger, an external password AKTB that can be used inside the organization is set. As an example, in a company, the parts and models of the prototype vehicle are distributed as 3D CAD data as encrypted data, and the software CRHN403A that can decrypt it and the OTP token (and the return when authenticated with the OTP token). An employee who can have a value CTAU) and an external password AKTB can decrypt and view the data, and can create parts and models based on the 3D CAD data.
The OTP token of the confidential information is associated with the private key of the user terminal 1A (terminal DA). Here, as the external recording device 16A of the terminal 1A (or 4A), an IC card recording the private key assigned to the personal number card, IC card type employee ID card, student ID card, etc. is connected and communicated, and the private key in the IC card is communicated. It is also intended to encrypt important information, personal information, personal records, and confidential information. (In this case, if the IC card on which the private key is recorded is damaged or lost, the private key may be lost, and the IC card issuer copies the private key to the storage device, and the storage device cannot be accessed from the Internet. It may be necessary to store and manage it in a data center or safe.)

<暗号化データ放送の復号を行う閲覧権としての販売>
アマチュア無線・業務用無線などで放送や通信を行う際に本発明のトークンを用いて暗号化したラジオやテレビジョンの視聴権をOTPトークンとしてやり取りできるかもしれない。地上波、衛星放送、有線放送、インターネット放送を含む分野で暗号化放送を復号して視聴することを可能とするOTP認証システムを提供できるかもしれない。例としてある国Aと別の国Bで放送されている番組の視聴権を契約又は売買等して閲覧するということが可能になるかもしれない。またアマチュア無線の個人局、社団局においても無線情報を暗号化して放送できる。業務用に工場や会社の社屋内で通信する際にも利用できる。
<Sale as a viewing right to decrypt encrypted data broadcasting>
It may be possible to exchange viewing rights of radios and televisions encrypted using the token of the present invention as OTP tokens when broadcasting or communicating by amateur radio or commercial radio. It may be possible to provide an OTP authentication system that enables decryption and viewing of encrypted broadcasting in fields including terrestrial broadcasting, satellite broadcasting, wired broadcasting, and Internet broadcasting. As an example, it may be possible to contract or buy and sell viewing rights of programs broadcast in one country A and another country B. In addition, radio information can be encrypted and broadcast at individual stations and corporate stations of amateur radio. It can also be used when communicating inside a factory or company for business use.

<衛星放送において暗号化データ放送の復号を行うスクランブル放送閲覧権としての販売>
地上における携帯電話機やスマートフォンといった無線通信機器の利用には電波帯の確保が必要かもしれない。衛星放送では宇宙空間より地上に向け放送するため人工衛星を宇宙空間に展開できれば地上の電波資源を消費せずに宇宙空間からデータ放送を行え、データ放送時に放送の閲覧権として利用できるかもしれない。
<Sale as a scrambled broadcast viewing right to decrypt encrypted data broadcasts in satellite broadcasts>
It may be necessary to secure a radio band for the use of wireless communication devices such as mobile phones and smartphones on the ground. Since satellite broadcasting broadcasts from outer space to the ground, if artificial satellites can be deployed in outer space, data can be broadcast from outer space without consuming ground radio resources, and it may be used as a viewing right for broadcasting during data broadcasting. ..

<衛星放送の閲覧権としてのOTPトークンと電波資源の関係>
宇宙空間に多数の人工衛星による通信および放送ネットワークがあって、地上において端末4Aが人工衛星型の放送局5Cからの暗号化データを無線放送により取得できるとき、暗号化データ(雑誌・新聞等データ、ソフトウェアデータの情報等を含む)を放送し、それらデータを受信した端末4Aの秘密鍵401Aにデータの復号が可能なOTPトークンがある場合に復号させ利用させるという形式も考えられる。なおこの時の暗号化の鍵TTKY(4033A)は各放送コンテンツに対応するOTPトークンごとに設定される。
具体的にはある新聞またはテレビジョンの暗号化データを放送するサービスに対応したOTPトークンがありそれを所持する人が端末4Aに備え付けた受信機にて暗号データ放送に対応した帯域(チャンネル)において受信した暗号データをOTPトークンで復号し閲覧視聴する。OTPトークンはサブスクリプションサービスにより定期購読もしくは定期視聴の契約が行われる。定期契約の契約終了後にOTPトークンは利用ができなくなるように設定される。地上波放送を災害時の放送を含め既存の放送を行いつつ、より高付加価値または大容量でなおかつ新しい用途の放送・通信を宇宙空間の人工衛星網で行うことも検討されうる。
<Relationship between OTP tokens as viewing rights for satellite broadcasting and radio resources>
When there are many communication and broadcasting networks by artificial satellites in space and the terminal 4A can acquire the encrypted data from the artificial satellite type broadcasting station 5C by wireless broadcasting on the ground, the encrypted data (data such as magazines and newspapers). , Information on software data, etc.) is broadcast, and if the private key 401A of the terminal 4A that has received the data has an OTP token capable of decrypting the data, it can be decrypted and used. The encryption key TTKY (4033A) at this time is set for each OTP token corresponding to each broadcast content.
Specifically, there is an OTP token corresponding to a service that broadcasts encrypted data of a certain newspaper or television, and the person who possesses it has a receiver installed in the terminal 4A in the band (channel) corresponding to the encrypted data broadcasting. The received encrypted data is decrypted with the OTP token for viewing and viewing. OTP tokens are subscribed or subscribed to by the subscription service. The OTP token is set so that it cannot be used after the end of the fixed-term contract. It may be considered to carry out terrestrial broadcasting, including broadcasting in the event of a disaster, while broadcasting and communicating with higher added value or larger capacity for new purposes on an artificial satellite network in outer space.

<衛星放送網の番組の枠の配信権または配信するコンテンツをOTPトークンとして流通させる場合>
ある民間の衛星へ個人がアップリンク用の無線局へデータを個人が配布したいデータ送信し、人工衛星にアップリンクして送信した後、人工衛星からダウンリンクして地上の端末へ放送するということも考えられる(これもその権利をOTPトークン化してもよい)。例えば動画視聴サイトにてデータ量の多い動画データが世界中で配信されているが、そのデータトラフィックは無視できないかもしれない。無線によるネットワーク20は電波資源を消費し、有線によるネットワーク20は増大するトラフィックに対応するため光ファイバ等の増設を必要とする。仮に動画視聴に必要なデータが多くの人に消費されているコンテンツである場合、そのあるデータを動画サイトで双方向通信ネットワークで通信するよりも衛星放送の暗号データとして受信して記録したほうがネットワーク20に対する負荷が少なくなるかもしれない。
あるいは双方向通信時の動画配信データにおいても同一のデータを何度も異なる人に応じて送信するよりは暗号データとして配布し、それをソフトウェア403A上で広告配信及び不正利用監視サーバ5Aに接続しながら視聴したほうがネットワーク20に対する負担は少なくなるかもしれない。OTPトークンを動画のライブ配信視聴権として流通させ人工衛星からの放送とネットワーク20からの放送を組み合わせ通信障害に強い動画のライブ配信等で用いられるかもしれない。
ある民間等の衛星放送の受信範囲にある地域(複数の国家を対称として含む)において地域に住むユーザーに向けてOTPトークンを販売配布したうえで暗号化データを放送するスクランブル放送が存在できるかもしれない。
<When distributing the distribution right of the program frame of the satellite broadcasting network or the content to be distributed as an OTP token>
Data that an individual wants to distribute to a private satellite to a radio station for uplink is transmitted, uplinked to an artificial satellite and transmitted, and then downlinked from the artificial satellite and broadcast to a terminal on the ground. (Also, the right may be converted into an OTP token). For example, video data with a large amount of data is distributed all over the world on video viewing sites, but the data traffic may not be negligible. The wireless network 20 consumes radio wave resources, and the wired network 20 requires the addition of optical fibers and the like in order to cope with the increasing traffic. If the data required for watching a video is content that is consumed by many people, it is better to receive and record the data as encrypted data for satellite broadcasting rather than communicating it on a video site via a two-way communication network. The load on 20 may be reduced.
Alternatively, even in the video distribution data during two-way communication, the same data is distributed as encrypted data rather than being transmitted to different people many times, and it is connected to the advertisement distribution and fraud monitoring server 5A on the software 403A. While watching it, the burden on the network 20 may be less. The OTP token may be distributed as a live distribution viewing right for video, and may be used for live distribution of video that is resistant to communication failures by combining broadcasting from artificial satellites and broadcasting from network 20.
There may be scrambled broadcasting that broadcasts encrypted data after selling and distributing OTP tokens to users living in the area (including multiple nations as symmetry) within the reception range of satellite broadcasting such as a private sector. No.

本発明ではヘッドマウントディスプレイ453A に生体認証機能4530A を備えさせ、暗号化されたデータを復号して閲覧させる際に暗号化させたデータを閲覧している人の生体データを直接またはハッシュ化などを行い間接的に取得し簡易に認証を行い閲覧可能となりうる。
ここでヘッドマウントディスプレイ453Aは携帯端末やタブレットパソコン、テレビジョン視聴用ディスプレイよりも画面が小さく、携帯端末やデジタルカメラでは453Aに映し出される復号したデータによるコンテンツ(映像、画像、文章)を撮影することが困難にする。端末4AにおいてソフトウェアCRHN403Aが453Aが接続されている場合に限り動作するようプログラムし、暗号化データを復号して得られたコンテンツの撮影を防ぐ認証システム及び暗号化データ復号閲覧システムとすることもできる。
生体認証装置4530Aでは温度センサを用いて体温を測定してもよく。点状、1次元、2次元のサーモグラフィを453Aの装着者の頭部や目元から得て装着している人がいることと、その装着している人の特徴を検出する。また頭部の顔の形状に関する認証、目に関する生体認証、耳の構造に由来する生体認証、頭部の形状に由来する生体認証、まばたきに関する生体認証を用いてもよい。
In the present invention, 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 who is viewing the encrypted data can be directly or hashed. It can be indirectly acquired, easily authenticated, and viewed.
Here, the head-mounted display 453A has a smaller screen than a mobile terminal, a tablet personal computer, or a television viewing display, and a mobile terminal or a digital camera captures content (video, image, text) based on the decoded data displayed on the 453A. Makes it difficult. The software CRHN403A can be programmed to operate only when the software CRHN403A is connected to the terminal 4A, and can be an authentication system and an encrypted data decryption viewing system that prevent shooting of the content obtained by decrypting the encrypted data. ..
The biometric authentication device 4530A may measure the body temperature using a temperature sensor. It detects that there is a person who wears point-shaped, one-dimensional, and two-dimensional thermography from the head and eyes of the wearer of 453A, and the characteristics of the person who wears it. Further, authentication regarding the shape of the face of the head, biometric authentication regarding the eyes, biometric authentication derived from the structure of the ears, biometric authentication derived from the shape of the head, and biometric authentication regarding blinking may be used.

<暗号化データソフトウェアを用いてネットワーク上の通信を暗号化する場合>
ソフトウェアCRHN403Aのブロックチェーンを用いた平文データの暗号化機能と暗号化データの復号機能を用いてネットワーク20に接続された端末間での通信を暗号化する事もできる。
<When encrypting communication on the network using encrypted data software>
It is also possible to encrypt the communication between the terminals connected to the network 20 by using the plaintext data encryption function and the encrypted data decryption function using the blockchain of the software CRHN403A.

<BnTOTPをタイムスタンプとして使う場合>
BnTOTPを生成した場合のKC値やBC値を除くシード値の入力を求める認証関数を用いて、BnTOTPによるとOTPを生成した際にブロック番号Bnとユーザ識別子Aとトークン番号TIDAが記録された箇所が果たしてそのブロック番号に固有のOTPを記録したタイムスタンプとして機能しているか検証できる。ここで記録する箇所は認証を行う端末1A記憶装置内のデータでもよいし端末1Aが文章データを紙などに印刷する際に付加して印刷してもよい。このときサーバ端末3Aのブロックチェーン部に存在するOTP生成コントラクトとOTP認証コントラクトは簡易なタイムスタンプサーバとして機能する。
<When using BnTOTP as a time stamp>
According to BnTOTP, the place where the block number Bn, the user identifier A, and the token number TIDA were recorded when the OTP was generated by using the authentication function that requests the input of the KC value and the seed value excluding the BC value when the BnTOTP was generated. It can be verified whether or not the OTP unique to the block number is actually functioning as a time stamp. The location to be recorded here may be the data in the terminal 1A storage device for authentication, or may be added and printed when the terminal 1A prints the text data on paper or the like. At this time, the OTP generation contract and the OTP authentication contract existing in the blockchain portion of the server terminal 3A function as a simple time stamp server.

タイムスタンプの例の一つとして次のBnTOTPを計算してOTPの生成と認証を行う場合を考える。
BnTOTP=fh(A,TIDA,KC,Bn)
それに対応する認証関数の引数は例として秘匿化されるシークレット変数KCを除いて( A,TIDA,Bn )となる。
この時、前記BnTOTPはKCは秘匿化されており、ユーザ端末1AにてOTP生成関数を実行し、OTP取得時のブロック番号Bnとユーザー識別子Aとトークン番号TIDAと、秘密にされているKCから計算されるBnTOTPを取得する。そして端末1Aは平文のデータにA,TIDA,Bn,BnTOTPを記録しそのファイルに電子署名を行いデータの改ざん検知できるようにする。あるいは印刷用データにA,TIDA,Bn,BnTOTPを付加して頁の下部などに書き込み簡易のタイムスタンプとし、印刷を実行し、ブロック番号Bnの時刻に近い時に印刷されたと推測される印刷物を作成できる。電子署名に用いる秘密鍵はブロックチェーンにアクセスするための101Aでもよいし公的機関や民間団体が発行した秘密鍵でもよい。この用途においてはKC値を変更する事は好ましくないかもしれない。
As one example of the time stamp, consider the case where the following BnTOTP is calculated to generate and authenticate the OTP.
BnTOTP = fh (A, TIDA, KC, Bn)
The argument of the corresponding authentication function is (A, TIDA, Bn) except for the secret variable KC which is concealed as an example.
At this time, the KC of the BnTOTP is concealed, and the OTP generation function is executed on the user terminal 1A, and the block number Bn at the time of OTP acquisition, the user identifier A, the token number TIDA, and the secret KC are used. Get the calculated BnTOTP. Then, the terminal 1A records A, TIDA, Bn, and BnTOTP in the plaintext data and digitally signs the file so that the falsification of the data can be detected. Alternatively, A, TIDA, Bn, and BnTOTP are added to the print data to make a time stamp that is easy to write at the bottom of the page, and printing is executed to create a printed matter that is presumed to have been printed when it is close to the time of the block number Bn. can. The private key used for the electronic signature may be 101A for accessing the blockchain, or may be a private key issued by a public institution or a private organization. It may not be desirable to change the KC value in this application.

次に他のタイムスタンプの例として次のBnTOTPを計算してOTPの生成と認証を行う場合を考える。
BnTOTP=fh(A,TIDA,KC,Bn、V)
それに対応する認証関数の引数は例として秘匿化されるシークレット変数KCを除いて( A,TIDA,Bn,V )となる。
この時、前記BnTOTPはKCは秘匿化されており、ユーザ端末1AにてOTP生成関数を実行し、OTP取得時のブロック番号Bnと投票によって決まる値Vとユーザー識別子Aとトークン番号TIDAと、秘密にされているKCから計算されるBnTOTPを取得する。そして端末1Aは平文のデータにA,TIDA,Bn,V,BnTOTPを記録しそのファイルに電子署名を行いデータの改ざん検知できるようにする。
あるいは印刷用データにA,TIDA,Bn,V,BnTOTPの5つをタイムスタンプデータとして付加し頁の下部などに書き込み簡易のタイムスタンプとし、印刷を実行し、ブロック番号Bnの時刻に近い時に印刷されたと推測される印刷物を作成できる。V値を疑似ランダム値およびタイムスタンプ値の一つにとして用いることでそのデータや文章が端末1AがBnTOTPを取得した時刻に存在して電子署名が行われている事が分かる。端末1Aにプリンタが接続されている場合には印刷時にA,TIDA,Bn,Vの5つをタイムスタンプとして印刷することで印刷時の時刻が認証できる。
端末1Aがプリンターに内蔵されたコンピュータである場合、プリンターそのものがネットワーク20を通じてサーバ端末3Aのブロックチェーン部のOTP生成コントラクトにアクセスし、A,TIDA,Bn,Vの5つを印刷する機能を備え、ユーザーの求めに応じてプリンター内部で印刷を行う度にA,TIDA,Bn,V,BnTOTPの5つを印刷物の頁の最下部に記録させることもできる。ブロックチェーンのOTPコントラクトと連携し簡易的なタイムスタンプを印刷物に付与しながら印刷できるタイムスタンプ機能付きプリンター端末1Aを利用できる。この用途においてはKC値を変更する事は好ましくないかもしれない。
Next, as an example of another time stamp, consider the case where the following BnTOTP is calculated to generate and authenticate the OTP.
BnTOTP = fh (A, TIDA, KC, Bn, V)
The argument of the corresponding authentication function is (A, TIDA, Bn, V) except for the secret variable KC which is concealed as an example.
At this time, the KC of the BnTOTP is concealed, the OTP generation function is executed on the user terminal 1A, the block number Bn at the time of OTP acquisition, the value V determined by voting, the user identifier A, the token number TIDA, and the secret. Get the BnTOTP calculated from the KC that is set to. Then, the terminal 1A records A, TIDA, Bn, V, and BnTOTP in the plaintext data and digitally signs the file so that the falsification of the data can be detected.
Alternatively, five of A, TIDA, Bn, V, and BnTOTP are added to the print data as time stamp data and written at the bottom of the page as a simple time stamp. Printing is executed and printing is performed when the time is close to the time of the block number Bn. You can create printed matter that is presumed to have been printed. By using the V value as one of the pseudo-random value and the time stamp value, it can be seen that the data or text exists at the time when the terminal 1A acquires BnTOTP and the electronic signature is performed. When a printer is connected to the terminal 1A, the time at the time of printing can be authenticated by printing five of A, TIDA, Bn, and V as time stamps at the time of printing.
When the terminal 1A is a computer built in the printer, the printer itself has a function of accessing the OTP generation contract of the blockchain portion of the server terminal 3A through the network 20 and printing five of A, TIDA, Bn, and V. It is also possible to record five of A, TIDA, Bn, V, and BnTOTP at the bottom of the printed matter page each time printing is performed inside the printer according to the user's request. You can use the printer terminal 1A with a time stamp function that can print while adding a simple time stamp to the printed matter in cooperation with the OTP contract of the blockchain. It may not be desirable to change the KC value in this application.

<BnTOTPを有価紙葉のタイムスタンプ及びOTP認証情報として使う場合>
BnTOTPを用いて簡易的なタイムスタンプをデータに負荷して記録したり、紙などに文章と共に印刷することについて述べたが、タイムスタンプに記載されるA,TIDA,Bn,BnTOTPや、A,TIDA,Bn,V,BnTOTPの情報はOWPを用いる紙のチケットに記入する情報A,TIDA,OWPの3つの情報にブロック番号BnやVを加え、それを認証関数において認証関数の引数として読み取れるようにしたものである。
従ってOWP型以外にもBnTOTP型の紙のチケットおよび有価紙葉を作成する事ができる。実施例2ではOWPを用いて認証を行っている。それを変更しOTPの計算式をBnTOTP=fh(A,TIDA,KC,Bn)としたとき、生成関数から取得したOTPとブロック番号Bnとユーザー識別子Aとトークン番号TIDAを端末1Aの記憶装置10Aに記憶し、10Aに記録したA,TIDA,Bn,BnTOTPの4つの情報をプリンタを用いて紙に文字列やバーコードとして印刷し記録させ有価紙葉18Aとして利用することもできる。あるいはNFCタグ19Aに通信装置12Aを経由してA,TIDA,Bn,BnTOTPの4つの情報を書き込んでもよい。
<When using BnTOTP as a time stamp of valuable paper sheets and OTP authentication information>
I mentioned that you can use BnTOTP to load a simple time stamp on the data and record it, or print it on paper together with the text. , Bn, V, BnTOTP information is written on a paper ticket using OWP. Block numbers Bn and V are added to the three information A, TIDA, and OWP so that they can be read as arguments of the authentication function in the authentication function. It was done.
Therefore, in addition to the OWP type, BnTOTP type paper tickets and valuable paper leaves can be created. In Example 2, authentication is performed using OWP. When this is changed and the calculation formula of OTP is BnTOTP = fh (A, TIDA, KC, Bn), the OTP, the block number Bn, the user identifier A, and the token number TIDA obtained from the generation function are stored in the storage device 10A of the terminal 1A. It is also possible to print and record the four information of A, UIDA, Bn, and BnTOTP stored in 10A on paper as a character string or a barcode using a printer and use it as a valuable paper leaf 18A. Alternatively, four pieces of information A, TIDA, Bn, and BnTOTP may be written to the NFC tag 19A via the communication device 12A.

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と同様の機能を持ち、本発明の認証に用いるトークンを保有・利用するユーザー端末。
10B 端末1Bの記憶装置
101B 端末1Bに記録されたユーザーの秘密鍵PRVB
102B 端末1Bがネットワークを介してサーバPなどのブロックチェーン部に101Aの秘密鍵PRVBを用いてアクセスするためのプログラム。
ここで102Bのプログラムはブロックチェーンの識別子(ブロックチェーンの識別情報。ネットワークID、チェインID等を含む)と、
アクセス先ノードとなるサーバ端末3Aを示すURI情報を含むこともできる。
11B 端末1Bの制御部
110B 端末1Bのブロックチェーンへアクセスする制御処理部
12B 端末1Bの通信装置
13B 端末1Bの制御および演算装置
14B 端末1Bの入力装置(入力装置に環境センサ、モーションセンサ、位置センサを備えている。例として温度センサや地磁気センサ・磁気コンパス・デジタルな方位磁針装置を備えている。)
15B 端末1Bの出力装置
16B 端末1Bの外部記憶装置および外部入出力装置、外部コンピュータ
17B 端末1Bの電源装置
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の電源装置(サーバPの電源装置、サーバPを動作させる動力源)
3B サーバ端末3B(サーバ端末B)、およびサーバ端末3Bやサーバ端末3Aと同じくブロックチェーンのノードになりうるサーバ群
30B サーバ端末3B のサーバの記憶部 (記憶部はサーバ3Aと同じ300Aを持つ)
31B サーバ端末3B のサーバの制御部 (制御部はサーバ3Aと同じ310Aを持つ)
32B サーバ端末3B の通信装置
33B サーバ端末3B の制御および演算装置
34B サーバ端末3B の入力装置
35B サーバ端末3B の出力装置
37B サーバ端末3B の電源装置
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 の制御および演算装置
34E 端末3E の入力装置
35E 端末3E の出力装置
37E 端末3E の電源装置
3F サーバSVfind、端末3F(ブロックチェーン部のトランザクションやコントラクト及びユーザ識別子を検索し、利用を監視し通知可能な装置。)
(ユーザーOTPトークンの保有残高の検索確認・発行もでき、利用状態の検索と通知もできるブロックチェーン検索エンジン。)
30F 端末3Fのサーバ記憶部
300F 端末3Fのブロックチェーン記憶部(必要な場合。300Aと300Fは同じ)
301F 端末3Fのブロックチェーン検索監視など基礎プログラム(検索やトランザクションなど監視、ユーザーの残高算出や出力等サービスを行うサービス提供用基礎部分。)
(ウェブサイト等にブロックチェーンを接続するプログラムを含む。)
3010F 端末3Fのブロックチェーン監視部プログラム
3011F 端末3Fの状態変化検出部プログラム
3012F 端末3Fの状態変化通知部プログラム
3013F 端末3Fの状態変化通知先データベース
3014F 端末3Fのブロックチェーン検索プログラム
3015F 端末3Fのブロックチェーン検索情報表示プログラム
3016F 端末3Fのブロックチェーン検索情報データベース
31F 端末3Fのサーバ制御部
310F 端末3Fのブロックチェーン制御部(必要な場合。300Aと310Fは同じ)
311F 端末3Fのブロックチェーン検索監視など基礎的な処理部・制御部
3110F 端末3Fの監視部
3111F 端末3Fの状態変化検出部
3112F 端末3Fの状態変化通知部
3113F 端末3Fの状態変化通知先登録部
3114F 端末3Fのブロックチェーン情報検索部
3115F 端末3Fのブロックチェーン検索情報表示部
3116F 端末3Fのブロックチェーン検索情報データベース処理部
32F 端末3Fの通信装置
33F 端末3Fの制御および演算装置
34F 端末3Fの入力装置
35F 端末3Fの出力装置
37F 端末3Fの電源装置
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の通信装置
420A 通信装置42Aの近接無線通信装置(必要な場合)
421A 通信装置42Aの無線通信装置
422A 通信装置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の外部記録装置(暗号化データを保存する磁気テープ、磁気ディスク、光学ディスク、半導体メモリを含む外部記録装置。秘密鍵が保存されていてもよい。)
47A 端末4Aの電源装置
5A 端末5AのサーバSVCRHNcm (暗号化ファイル復号閲覧ソフトにおける広告のアクセス先サーバ)
50A 端末5Aのサーバ記録部
500A 端末5AのSVCRHNcm動作プログラム(ソフトウェアCRHNに指定されたリンク用URIの対象となる広告情報配信などサービス用プログラム。
ウェブサイトもしくはウェブアプリにブロックチェーンへ接続するプログラムを含む。)
501A 端末5Aのアクセス監視部データベース (SVCRHNcmへアクセスしたユーザ端末とトークン番号関するデータベース。
ユーザー識別子またはトークン番号とIPアドレス又は位置情報又は端末ID又は端末センサ値とサービス利用状況を対応付けた情報。
アクセス者情報はハッシュ化などされて個人情報を保護するよう加工されて保存されてもよい。図6Xにデータ構造を示す図表を示す。)
502A 端末5Aの不正アクセス検出プログラム(ユーザー識別子またはトークン番号に対し、異なるIPアドレス又は位置情報又は端末ID又は端末センサ値を示す端末からのアクセスを検出)
503A 端末5Aの不正アクセス通知プログラム(502Aにて不正アクセスの恐れがあるユーザー識別子へ通知用トークンの送付、または識別子に対応する電子メール・SMS等に通知する)
504A 端末5Aの顧客情報データベース(必須ではない。ユーザー識別子に対応する連絡先を記録した台帳。)
(プライバシー配慮の為、顧客情報がない場合は不正アクセスを通知用トークンの送付にて通知する。)
(顧客に不正利用の通知を随時伝えたい場合は通知用トークンが送付されたとき端末DPへトークンが送付されたことを知らせる常駐のプログラムが必要。)
505A 端末5Aの暗号化データに埋め込まれたURI情報からアクセスされた際に配信する広告等情報(広告はトークンの看板情報や暗号化データ復号時の得られるレイティングにより内容を制御する。)
506A 端末5AのソフトウェアCRHNに含まれる情報にリンクされた広告等情報(506AはソフトウェアCRHNのバージョン更新等の通知を配信する機能を含む)
5000A 端末5Aの任意のブロックチェーン記憶部(必要な場合。300Aと5000Aは同じ)
51A 端末5Aのサーバ制御部
510A 端末5AのSVCRHNcm制御部
511A 端末5Aのアクセス監視部及び制御部
512A 端末5Aの不正アクセス監視部
513A 端末5Aの不正アクセス通知部
514A 端末5Aの顧客情報データベース管理部
515A 端末5Aの暗号化データ用広告等配信部
516A 端末5AのソフトウェアCRHN用広告等配信部
5100A 端末5Aの任意のブロックチェーン制御部(必要な場合。310Aと5100Aは同じ)
52A 端末5Aの通信装置
53A 端末5Aの制御および演算装置
53A 端末5Aの入力装置
54A 端末5Aの出力装置
57A 端末5Aの電源装置
5B サーバSVCRHNdrive、端末5B (暗号化データ及びファイルの配信、共有、検索、バージョン管理を行うサーバー用途。)
50B 端末5Bのサーバ記録部
500B 端末5Bのプログラム(ユーザーが望む暗号化データを配信するサーバの基本プログラム部)
501B 端末5Bに記録された暗号化ファイルデータベース(暗号化されたデータまたはファイルのハッシュ値、ファイル名、ファイルを復号できるワンタイムパスワード生成
及び認証にかかわるトークンのコントラクト識別子のデータベース。)
502B 端末5Bに記録された暗号化ファイル検索用データベース(データベースからユーザーが求める情報を検索しサーバからダウンロードするプログラム)
503B 端末5Bに記録された暗号化ファイル登録部(データベースへユーザーが暗号化ファイルをアップロードし、
それを復号するワンタイムパスワード生成及び認証コントラクトの識別子とファイル名、ハッシュ値などを登録するプログラム)
504B 端末5Bの鍵情報AKTB通知部(これは電子メールでもよいし、信書送付又は電話番号SMSサービスと連携してもよい。鍵通知は端末5Bの外で行ってもよい)
505B 端末5BのAKTBにより暗号化されたファイルのURI等配信先の通知部(AKTBを鍵の1つとして利用して生成した鍵TTKYで暗号化されたファイルのURIを通知するメール通知部)
506B 端末5Bの電子商取引用プログラム(必要な場合。書籍や動画音声などコンテンツファイルを暗号化ファイルとそれに対応するOTP生成トークン共に販売する際に利用。決済機能と連携)
507B 端末5BのOTP生成及び認証用のOTPトークン発行部(必要な場合。506Bの決済の完了を確認しデータの復号を行えるOTPトークンを発行するプログラム。端末1Cに発行指示)
508B 端末5Bのアクセスユーザのデータベース(必要な場合。顧客ユーザのアクセスに関するデータベース。データ構造は図6Xと同じ。)
509B 端末5Bの不正アクセス検知部(暗号データを配信するだけの場合は必須ではない。電子商取引にて金銭を用いて暗号化データとOTPトークンの売買をする際に5Bに搭載する事が好ましい。)
5000B 端末5Bの任意のブロックチェーン記憶部(必要な場合。300Aと5000Bは同じ)
51B 端末5Bのサーバ制御部
510B 端末5Bのサービス制御部(プログラム500B、501B、502B、503B、504B、505B、506B、507B、508B、509Bに従い制御する部分)
5100B 端末5Bの任意のブロックチェーン制御部(必要な場合。310Aと5100Bは同じ)
52B 端末5Bの通信装置
53B 端末5Bの制御および演算装置
53B 端末5Bの入力装置
54B 端末5Bの出力装置
57B 端末5Bの電源装置
5C 放送局となるサーバSVCRHNbroadcaster、端末5C、放送局端末5C
50C 端末5Cのサーバ記録部
501C 端末5Cのブロックチェーンアクセス用秘密鍵
502C 端末5Cの秘密鍵501Cを用いてブロックチェーンへアクセスするためのプログラム
503C 端末5Cの放送用ソフトウェア(ソフトウェア403Aを含んでいてもよい。GNSSによる測位情報を放送するソフトウェアを含んでいてもよい。)
5000C 端末5Cの任意のブロックチェーンの記憶部(必要な場合。300Aと5000Cは同じ。特に人工衛星型端末5Cでは5000Cを備えてもよい。)
5034C 端末5Cの放送する暗号化データ(5035Cを403Aで復号できる鍵TTKYで暗号化し放送するデータ)
5035C 端末5Cの放送する暗号化データの平文データ(緊急時に暗号化を解除して放送する場合に備え、平文データそのものを記憶装置50Cに保持してもよい。)
51C 端末5Cのサーバ制御部
510C 端末5Cの制御部
5100C 端末5Cの任意で備え付けられることの出来るブロックチェーンの制御部(必要な場合。310Aと5100Cは同じ)
52C 端末5Cの通信装置
520C 端末5Cの放送用無線装置
521C 端末5Cの無線通信装置(5Cを制御する端末5CCとの連絡用)
522C 端末5Cの有線通信装置(必要な場合。端末5Cが地上局の際には利用されうる。無線放送ではなく有線放送の場合は通信網への接続装置を兼ねる。)
5200C 端末5Cの放送用空中線
521C 端末5Cの双方向通信装置
53C 端末5Cの制御および演算装置
53C 端末5Cの入力装置
54C 端末5Cの出力装置
57C 端末5Cの電源装置(人工衛星の場合は二次電池や太陽電池を含む)
5CC 端末5Cの放送局となるサーバ端末を制御する端末もしくは装置
1A Terminal DA, terminal 1A (computer DA, computer 1A) that is the terminal of user UA.
Storage unit of 10A terminal 1A (including recording device, recording unit, ROM and RAM)
101A User's private key PRVA recorded in terminal 1A
101A2 User's private key PRVA2 recorded in terminal 1A
102A A blockchain program for terminal 1A to access a blockchain unit such as a server P via a network using the secret key PRVA of 101A.
Here, the program of 102A is a blockchain identifier (blockchain identification information, including network ID, chain ID, etc.) and
It can also include URI information indicating the server terminal 3A that is the access destination node.
11A Terminal 1A control unit
110A Control processing unit to access the blockchain of terminal 1A
Communication device of 12A terminal 1A (can be considered as one of the input / output devices)
Near field communication (NFC device) of 120A terminal 1A
121A Terminal 1A wireless communication device
122A Terminal 1A wired communication device (if necessary)
123A Terminal 1A broadcast receiver (if necessary, including GNSS and data broadcast receivers; wireless broadcast receivers may be included in the wireless communication device)
13A Terminal 1A control and arithmetic unit
14A Terminal 1A input device
140A terminal 1A keyboard
141A Pointing device of terminal 1A (input device such as mouse and touch panel)
142A Terminal 1A camera or scanner (solid-state image sensor that detects photons, image sensor)
143A Terminal 1A microphone (sound sensor)
Sensors for 144A terminal 1A (accelerometers, gyro sensors, magnetic sensors may be capable of measuring three-dimensional physical quantities; one or more of the sensors may be used).
1440A Terminal 1A environment sensor (temperature sensor or humidity sensor or barometric pressure sensor or pressure sensor or illuminance sensor or optical sensor, chemical sensor, odor sensor)
1441A Terminal 1A end position sensor (magnetic sensor or geomagnetic sensor / magnetic compass or accelerometer)
1442A Motion sensor of terminal 1A (accelerometer or gyro sensor)
1443A Biometric sensor of terminal 1A (Used when necessary. Sensor that can read patterns such as face information, body temperature or thermography, voice, ear structure, hand structure, fingerprint, vein, etc.)
15A Terminal 1A output device
Display of 150A terminal 1A
1500A Ticket displayed on the display of terminal 1A, image of valuable paper leaf 18A, information for OTP authentication
151A Terminal 1A speaker
152A Terminal 1A printer (printer)
16A Terminal 1A external storage device, external input / output device, external computer terminal
1600A Terminal 1A IC card reader (contact IC card reader, contactless IC card reader)
1601A Contact type or non-contact type IC card of terminal 1A, non-contact type IC tag
1602A Private key 101A, etc. built into the IC of terminal 1A
1603A Recording device DWALT connected to DA by wireless or wired of terminal 1A (including external connection type hardware wallet DWALT, IC card type, dongle type, etc.)
1604A Software containing the private key 101A or the private key 101A recorded in the DWALT1603A of the terminal 1A.
1605A Private key processing software recorded in DWALT1603A of terminal 1A
1606A Terminal 1A DWALT1603A control arithmetic unit, processing unit (IC chip group that controls DWALT, MCU, etc.)
1607A Input / output device and communication device of DWALT1603A of terminal 1A
1608A Private key 101A printed or printed / engraved / recorded on paper or metal plate by a printer or human hand. (It may be recorded on paper, metal plate, stone plate, etc. in the form of a character string or barcode.)
17A Terminal 1A power supply (* For the device of the present invention, the computer, server terminal, input / output device, external storage device, and network have a power supply device and are driven by electric power.)
Tickets and valuable paper leaves printed on paper etc. with the printer of 18A terminal 1A
180A 18A Print information of the barcode and / or character string required for the one-time password authentication of the present invention.
181A Information on the token number TIDA contained in the barcode and / or character string described in 18A.
182A Information on the password OWP contained in the barcode and / or character string described in 18A.
183A Information on the user identifier A contained in the barcode and / or character string described in 18A.
184A Information, patterns, etc. necessary for use as the ticket or valuable paper leaf described in 18A.
19A Wired communication type or short-range wireless communication type IC card, IC tag type ticket, etc. Valuable paper leaf or key for locking and unlocking (mainly NFT tag, NFC card type ticket)
190A 19A The storage device according to
191A The control processing apparatus according to 19A.
192A The communication device according to 19A.
193A The control arithmetic unit according to 19A.
194A The input device according to 19A.
195A The output device according to 19A.
197A The power supply unit according to 19A.
1B User UB terminal DB, terminal 1B. 1B may be a portable terminal such as a smartphone. The terminal DB has the same function as DA, and is a user terminal that holds and uses the token used for the authentication of the present invention.
Storage device of 10B terminal 1B
101B User's private key PRVB recorded in terminal 1B
102B A program for terminal 1B to access a blockchain unit such as a server P via a network using the secret key PRVB of 101A.
Here, the program of 102B is a blockchain identifier (blockchain identification information, including network ID, chain ID, etc.) and
It can also include URI information indicating the server terminal 3A that is the access destination node.
11B Terminal 1B control unit
110B Control processing unit to access the blockchain of terminal 1B
Communication device of 12B terminal 1B
13B Terminal 1B control and arithmetic unit
14B Terminal 1B input device (The input device is equipped with an environment sensor, a motion sensor, and a position sensor. For example, a temperature sensor, a geomagnetic sensor, a magnetic compass, and a digital azimuth needle device are provided.)
Output device of 15B terminal 1B
16B Terminal 1B external storage device, external input / output device, external computer
17B terminal 1B power supply
1C Computer terminal DC, terminal 1C of user UC that manages the contract related to the one-time password of the present invention.
10C terminal 1C storage device
101C User's private key PRVC recorded in terminal 1C
101C2 Any second private key PRVC2 of the user UC recorded in terminal 1C
A program for the 102C terminal 1C to access a blockchain unit such as a server P via the network 20 using the secret key PRVC of the 101C.
Here, the 102C program has a blockchain identifier (blockchain identification information, including network ID, chain ID, etc.) and
It can also include URI information indicating the server terminal 3A that is the access destination node.
11C Terminal 1C control unit
110C Terminal 1C Control processing unit to access the blockchain
12C terminal 1C communication device
13C Terminal 1C control and arithmetic unit
14C Terminal 1C input device
15C terminal 1C output device
16C Terminal 1C external storage device or external computer (IC card, IC tag, NFC card, NFC tag that can store the private key may be used)
17C terminal 1C power supply
2 Communication network, network
20 Communication path that can perform encrypted communication, network NT (Wired or wireless two-way communication path, in which servers and terminals are connected via a communication network. Communication with encryption and communication without encryption can be performed. )
21 Broadcast communication path NTB (A transmission path for wired or wireless broadcast information, which enables one-to-many one-way communication.)
22 Unencrypted network NTP (wired or wireless bidirectional communication path. Since encryption is not performed, plaintext message data must be encrypted as necessary.)
3A Server P, Server terminal 3A (Terminal that becomes a node of the distributed ledger system to which the user connects. The distributed ledger unit is shared with other nodes. It may be a virtual server built in a certain terminal.)
Server storage unit of 30A server terminal 3A (storage device of server P)
300A server terminal 3A distributed ledger recording unit (300A is a blockchain type or DAG type distributed ledger or distributed ledger recording unit)
The latest block data recorded in 3000A 300A
3001A Block number Bn in the latest block recorded in 300A
3002A Timestamp value in the latest block or system recorded on the 300A
3003A Hash value Bh in the latest block recorded in 300A
3004A Value V recorded by voting between the nodes that make up the blockchain recorded in 300A
3005A Block size value BSZ of the blockchain recorded in 300A (BlockGasLimit value in the example)
3006A Blockchain data part recorded in 300A (Data part of distributed ledger recorded in 300A. Part where contract data such as 3008A, 30008AG, 3008AA is recorded)
3007A Basic information of blockchain recorded in 300A (including data recording how many seconds the blockchain is connected)
OTP generation contract with authentication function recorded in 3008A 300A (one-time password: OTP)
OTP generation contract recorded on 300AG 300A
OTP authentication contract recorded on 300AA 300A
3009A OTP generation function recorded in 300A
3010A Hash function fh used for OTP generation and authentication recorded in 300A
Secret key variable KC recorded in 3011A 300A
3012A A function fscb that can use either or both of the variable KC and the variable BC recorded in 300A at any block number.
Variable BC that can be changed only by the user identifier C, which is the contract administrator recorded in 3013A 300A.
A database that associates the token number of the token issued in 3008 recorded in 3014A 300A with the user identifier of the owner.
3015A Information associated with the user identifier A calculated from the private key PRVA101A of the user UA and the token number TIDA in the 3014A.
3016A In the 3014A, the information associated with the user identifier B calculated from the private key PRVB101B of the user UB and the token number TIDB.
3017A OTPCT recorded in 300A (a part that records the number of times OTP is generated and the number of executions of the authentication function, etc. In the example, the mapping variable OTPCT with the token number as the key and the number of executions as the value was used).
OTPCTG recorded in 3017AG 300A (OTP generation function execution count storage / recording section. In the embodiment, a mapping variable with a token number as a key and an execution count as a value was used).
OTPCTA recorded in 3017AA 300A (OTP authentication function execution count storage / recording section. In the embodiment, a mapping variable with a token number as a key and an execution count as a value was used).
3018A OTP authentication function recorded in 300A
3019A 300A OTP generation contract identifier CPGT recorded
OTP authentication contract identifier CPAT recorded on 3020A 300A
3021A Return value or data of OTP authentication function recorded in 300A
3022A 300A The processing contents at the time of executing the OTP authentication function, processing functions, etc. (for example, remittance processing between bank accounts, voting processing on member sites, etc.)
3023A Variable or database to be rewritten according to the processing when authentication is possible with the OTP authentication function recorded in 300A (for example, the balance of a bank account and the balance of the account rewritten by the remittance processing in the bank)
3024A 300A Contract signboard information KNBN (including contract name, creator information, administrator information and contacts, rating, etc., with setter function to change them)
3030A Block number residual variable m recorded in 300A and its setter function (variables and functions for extending the OTP authentication period)
3031A Integer n for adjusting the number of OTP digits recorded in 300A and its setter function (variables and functions for increasing / decreasing the number of OTP characters / digits)
Token transmission function recorded in 3040A 300A (function for token transfer)
The transfer restriction variables tf, af and their setter functions recorded in 3041A 300A.
3042A 300A Contract administrator private key leakage countermeasure part
301A Server Basic control program recording unit of the server of the server terminal 3A
31A Server control unit of server terminal 3A (control device of server P)
Distributed ledger system control unit (blockchain control processing unit or DAG type distributed ledger control processing unit) of 310A server terminal 3A
311A server Terminal 3A server basic control unit
32A Server terminal 3A communication device, communication control device (server P communication device)
33A Processing and control arithmetic unit of server terminal 3A (control unit, processing unit, arithmetic unit device of server P)
34A Server terminal 3A input device (server P input device)
35A Server terminal 3A output device (server P output device)
37A Power supply device for server terminal 3A (power supply device for server P, power source for operating server P)
3B Server terminal 3B (server terminal B), and a group of servers that can be blockchain nodes like server terminal 3B and server terminal 3A.
30B Server Storage part of the server of the server terminal 3B (The storage part has the same 300A as the server 3A)
31B Server Control unit of server of server terminal 3B (Control unit has the same 310A as server 3A)
32B server terminal 3B communication device
33B Server terminal 3B control and arithmetic unit
34B Server terminal 3B input device
Output device of 35B server terminal 3B
37B Server terminal 3B power supply
3C server SVLogin, server terminal 3C (terminal mainly used for website login. Terminal that provides web services such as website. It may be a virtual server terminal in a certain actual terminal.)
Recording unit of 30C server terminal 3C
Blockchain recording unit of 300C terminal 3C (if necessary. 300A and 300C are the same)
301C Terminal 3C service program and recording unit
3010C Terminal 3C SVLogin basic program (including a program to connect to a blockchain on a website etc. It may have functions unique to services such as banks and electronic commerce)
3011C Terminal 3C access detection and monitoring database (See Fig. 6X for data structure. Log-in time, 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 of terminal 3C (contacts the registered e-mail address, sends a dedicated notification token to the user identifier, sends a transaction to notify the abnormality)
3014C Terminal 3C OTPCT change detection unit (if necessary, the part that detects changes in the number of times OTP is generated or the authentication contract is executed)
3015C Terminal 3C OTPCT change notification unit (if necessary, the part that notifies the change in the number of times OTP is generated or the authentication contract is executed)
3016C Terminal 3C customer information database (if necessary. Record user identifiers and token numbers that are eligible to use, such as service purchase history.)
31C Terminal 3C server control unit
Blockchain control unit of 310C terminal 3C (not required. 310A and 310C are the same)
311C Terminal 3C login and service control unit
3110C Terminal 3C SVLogin basic program control unit (including a program that connects to a blockchain on a website or web application)
3111C Terminal 3C access detection and monitoring database (See Fig. 6X for data structure. Log-in time, user token information, IPV value, and current service status are stored and monitored at any time.)
3112C Unauthorized access detection program for terminal 3C (detects whether the same user identifier or token number information is accessed by an IPV value such as a different IP address or sensor value)
3113C Terminal 3C unauthorized access notification program (contacts the registered e-mail address, sends a dedicated notification token to the user identifier, sends a transaction to notify the abnormality)
3114C OTPCT change detection unit of terminal 3C (if necessary, the part that detects the change in the number of times OTP is generated or the authentication contract is executed)
3115C Terminal 3C OTPCT change notification unit (if necessary, the part that notifies the change in the number of times OTP is generated or the authentication contract is executed)
3116C Terminal 3C customer information database (if necessary. Records information such as service purchase history, qualified user identifiers and token numbers.)
32C terminal 3C communication device, communication control device
33C Terminal 3C control and arithmetic unit
34C terminal 3C input device
35C terminal 3C output device
37C terminal 3C power supply
3D server SVLog, terminal 3D (terminal that authenticates 19A, 18A and 1500A. Access control terminal 3D. 3D is a server terminal or computer terminal or embedded system type terminal)
Server storage unit of 30D terminal 3D (variables and functions used for OTP authentication function and OTP authentication function calculation are recorded in 30D)
Blockchain recording unit of 300D terminal 3D (if necessary. 300A and 300D are the same)
301D terminal 3D service program and recording unit
3010D Terminal 3D SVLog basic program (including a program to connect to a blockchain on a website or web application)
3011D Terminal 3D access detection and monitoring database (stores time or number of accesses or user token information or current service status at any time)
3012D Terminal 3D unauthorized access detection program (if necessary. When 3011D contains information such as the appearance of the visitor and the device ID number unique to the NFC tag of the unlocker, it is determined whether it is different from the past information)
3013D Terminal 3D unauthorized access notification program (if necessary. Notifies the person who manages 3D of the abnormality, and sends a notification transaction to the registered e-mail address / user identifier to notify the abnormality)
3014D OTPCT change detection unit of the terminal 3D (if necessary. The part that detects the change in the number of times the OTP is generated or the authentication contract is executed. For example, the number of unlocks is recorded in a safe or a car equipped with the terminal 3D).
3015D Terminal 3D OTPCT change notification unit (if necessary, the part that notifies the change in the number of OTP generation or authentication contract executions. When 3D is online, it notifies the change in the number of unlocks via the network)
3016D Terminal 3D customer information database (if necessary, record user identifiers and token numbers that are eligible to use, such as service purchase history)
3010DA Hash function fh recorded in 30D
Secret variable KC recorded in 3011DA 30D
3012DA Setter function fscb that modifies and updates variable KC and / or both of variables BC recorded in 30D (accessed by the administrator of the terminal 3D)
Variable BC modified by the contract administrator recorded in 3013DA 30D
3017DA The number of executions of the OTP authentication function recorded in the 30D or the numerical recording unit (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 (equipped 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 Processing contents at the time of OTP authentication recorded in 30D
Variables or databases recorded in 3023DA 30D that are rewritten during OTP authentication processing,
31D terminal 3D server control unit
Blockchain control unit of 310D terminal 3D (not required. 310A and 310D are the same)
311D terminal 3D login and service control unit
3110D Terminal 3D SVLog basic program (including a program to connect to a blockchain on a website or web application)
3111D Terminal 3D access detection and monitoring database (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 Terminal 3D unauthorized access detection program (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, the part that detects changes in the number of times OTP is generated or the authentication contract is executed)
3115D Terminal 3D OTPCT change notification unit (if necessary, the part that notifies the change in the number of times OTP is generated or the authentication contract is executed)
3116D terminal 3D customer information database (if necessary. Record user identifiers and token numbers that are eligible to use, such as service purchase history.)
32D terminal 3D communication device, communication control device
33D terminal 3D control and arithmetic unit
34D terminal 3D input device
Character string barcode reader for 340D terminal 3D cameras, etc. (Camera or scanner installed at the entrance, ticket gate, etc. to read barcodes or character strings on valuable paper sheets such as tickets. Optical image pickup element)
Signal receiver of NFC tag of 341D terminal 3D (shared with 32D)
A visitor recording device or a visitor recording means of the 342D terminal 3D (recording the entry or unlocker with a security camera or the like. Personnel may be assigned instead of the device to observe and record the visitors).
35D terminal 3D output device
350D terminal 3D opening / closing device / gate device / locking device / starting device, locking / unlocking device, access control device (the objects to be locked are building doors, vehicles such as automobiles, machine tools, containers such as safes, and devices such as computers. include)
Light emitting elements such as lamps of 351D terminals and light emitting devices (after authentication, the colors and characters indicating that entry is possible are transmitted to users who can enter, and the colors and characters indicating that entry is not possible are transmitted by light).
Sounding element such as buzzer of 352D terminal 3D, sounding device (After authentication, the user who can enter is sounded when the authentication is successful. The user who cannot enter is sounded a warning sound to inform the surroundings.)
37D terminal 3D power supply
3E server SVtk, terminal 3E (Ticket agency 18A used by terminal 1A, ticket agency and key NFC tag 19A play guide. Tokens of encrypted data for 403A used by terminal 4A can also be sold.)
30E Terminal 3E server storage
Blockchain recording unit of 300E terminal 3E (if necessary. 300A and 300E are the same)
Ticketing information such as token-type tickets for 301E terminal 3E (including information on websites or applications that display tickets to customers and databases of tokens and services using 300A / 300E)
31E Terminal 3E server control unit
Blockchain control unit of 310E terminal 3E (if necessary. 300A and 310E are the same)
311E Terminal 3E ticketing processing control unit (A part that sells tokens according to the user's instructions and displays and prints ticket information such as tickets from the blockchain. Includes 312E, 313E, and 314E.)
312E A part to acquire information such as the expiration date of the ticket set in the blockchain unit 300E of the terminal 3E and the server 3E, the design, the display and the print time, the block number at the time of printing, and the time stamp.
313E Processing unit that draws the information processed by 311E and 312E of the terminal 3E on the display of the user with the accessed user identifier A and converts it into an image or text data of a valuable paper leaf such as a ticket.
314E Terminal A processing unit that sends information to print and record the image or text data of 313E on paper 18A, tag 19A, etc. to the user terminal accessing the terminal 3E, or permits printing to a web browser or the like and executes it.
32E terminal 3E communication device
33E Terminal 3E control and arithmetic unit
34E Terminal 3E input device
Output device of 35E terminal 3E
37E Terminal 3E power supply
3F Server SVfind, Terminal 3F (A device that can search transactions, contracts, and user identifiers in the blockchain section, monitor usage, and notify them)
(A blockchain search engine that can search and confirm and issue the holding balance of user OTP tokens, and can also search and notify the usage status.)
30F Terminal 3F server storage
Blockchain storage unit on the 3rd floor of the 300F terminal (if necessary. 300A and 300F are the same)
301F Basic program such as blockchain search monitoring on the 3rd floor of the terminal (basic part for providing services such as monitoring of searches and transactions, calculation of user balance and output)
(Including programs that connect blockchains to websites, etc.)
3010F Terminal 3F blockchain monitoring unit program
3011F Terminal 3F state change detector program
3012F Terminal 3F status change notification unit program
3013F Terminal 3F status change notification destination database
3014F Terminal 3F blockchain search program
3015F Terminal 3F blockchain search information display program
3016F Terminal 3F blockchain search information database
31F Terminal 3F server control unit
Blockchain control unit of 310F terminal 3F (if necessary. 300A and 310F are the same)
311F Basic processing unit / control unit such as blockchain search monitoring of terminal 3F
3110F Terminal 3F monitoring unit
3111F Terminal 3F state change detector
3112F Terminal 3F status change notification unit
3113F Terminal 3F status change notification destination registration unit
3114F Blockchain information retrieval unit on the 3rd floor of the terminal
3115F Terminal 3F blockchain search information display unit
3116F Terminal 3F blockchain search information database processing unit
Communication device on the 32nd floor terminal 3F
33F Terminal 3F control and arithmetic unit
34F Terminal 3F input device
Output device on the 35th floor terminal 3F
37F terminal 3F power supply
Computer DP, terminal 4A (P: user terminal equipped with player and player) that serves as a terminal for 4A user UP
Recording unit of 40A terminal 4A (computer DP storage device)
401A User's private key PRVP recorded in terminal 4A (Here, PRVP is a secret key indicating user identifier A like PRVA)
402A A program for terminal 4A to access the blockchain (URIs that access the node terminal 3A of the blockchain may be recorded).
403A Software CRHN information, software CRHN program and related data recorded in the recording unit 40A of the terminal 4A to decrypt and view an encrypted file using the present invention.
4030A Terminal 4A 403A software CRHN program information (source code is obfuscated or encrypted. Variables contained in 4030A are also obfuscated or encrypted)
(The URI that accesses the node terminal 3A of the blockchain may be recorded in 4030A)
(It may have a function to directly enter the private key, or it may have a wallet software function).
40301A 403A The identifier of the contract that manages the key dedicated to the software application APKY
40302A Built-in private key CRKY described in 403A (A private key of public key cryptography that can access the blockchain unit DLS may be used. 40302A is built in 4030A and obfuscated or encrypted).
40303A Return value of the key management contract obtained from the blockchain described in 403A CAPKY (Not required, but can be set for further security measures)
40303KA 403A Software internal secret variable K403 (K403 is obfuscated or encrypted)
4031A Return value of OTP authentication function acquired from blockchain Storage unit in terminal 4A of CTAU (CTAU can be changed by the administrator of the return value of authentication function)
4032A Storage unit in terminal 4A of password AKTB set outside of blockchain and software CRHN403A (AKTB can be changed by plaintext data administrator)
4033A 403A Key information used for encryption and decryption TTKY storage (including at least CTAU, and key information calculated using AKTB and further CRKY).
4034A Encrypted data or file EncData decrypted by the software CRHN used for 403A (4034A may be included in 40A).
40340A 4034A encrypted data body EtData
40341A Electronic certificate EncCert given to the encrypted data 4034A of the plaintext data issuer of 4034A (The electronic signature may be included. The MAC value may or may not be included.)
4035A Plaintext data or file DecData to be encrypted with the software CRHN used for 403A (4035A may be included in 40A. DecData is access controlled.)
40350A 4035A plaintext data body CtData
40351A 4035A plaintext data issuer's digital certificate DecCert (electronic signature may be included or may not be included)
40352A 4035A Plaintext Data Audit Certificate AuditRat (Audit certificate showing that plaintext data is not a malicious program, or rating with third party review results, preferably)
4036A Viewed certificate data recorded in 40A OFBKMMK (OTP-authenticated access certificate data. Data for offline access such as disasters. 4036A may be included in 40A.)
40360A CTTKY recorded in 4036A is encrypted with the secret key CRKY built into the CRHN program.
40361A Data in which TTKY recorded in 4036A is encrypted with the private key PRVA CTTKY (Information contained in 4036A. The encryption method can be either public key encryption or common key encryption.)
Information such as browsing time and browsing user identifier recorded in 40362A 4036A
40363A Authentication information such as HMAC recorded in 4036A
40362KA Body data of certificate recorded in 40A CHT403
40363KA Authentication information such as HMAC with 40362KA recorded in 40A as a message
Operating system management program that operates the software CRHN recorded in 404A 40A
405A External recording device of computer DP recorded in 40A (nonvolatile memory, hard disk, optical disk, etc.)
41A Terminal 4A control unit
Control processing unit to access the blockchain of 410A terminal 4A
411A Terminal 4A software CRHN control processing unit
42A Terminal 4A communication device
420A communication device 42A proximity wireless communication device (if necessary)
421A communication device 42A wireless communication device
422A communication device 42A wired communication device (if necessary)
Broadcast receiver of 423A communication device 42A (if necessary, including NITZ, JJY for time acquisition, GNSS receiver for time and position information positioning, and encrypted data broadcast receiver).
43A Terminal 4A control and arithmetic unit
44A Terminal 4A input device
440A terminal 4A keyboard
441A Terminal 4A pointing device (input device using mouse, contact screen, etc.)
442A Terminal 4A camera or scanner
443A Terminal 4A microphone
444A Terminal 4A sensors (accelerators, gyro sensors, magnetic sensors may be capable of measuring three-dimensional physical quantities; one or more of the sensors may be used).
4440A Terminal 4A environment sensor (temperature sensor or humidity sensor or pressure sensor or pressure sensor or illuminance sensor or optical sensor, chemical sensor, odor sensor)
4441A Position sensor of terminal 4A (magnetic sensor or geomagnetic sensor or accelerometer)
4442A Motion sensor (accelerometer or gyro sensor) of terminal 4A
4443A Biometric sensor of terminal 4A (sensor that can read patterns such as face structure, body temperature or thermography, eye structure, blink, voice, ear structure, hand structure, fingerprint, vein, etc.)
45A terminal 4A output device
450A Terminal 4A display (displays encrypted video data)
451A Terminal 4A speaker (plays encrypted music data and video data audio)
452A Terminal 4A printer (related data can be printed as two-dimensional information on paper with the permission of the content right holder of the encrypted data. The type of printer includes a 3D printer that can output three-dimensional data.)
Head-mounted display of 453A terminal 4A (HMD, head-mounted display. Used when you want the wearer to view the contents of encrypted data. Glass-type display is also possible)
4530A Biometric sensor attached to the HMD of the terminal 4A.
The 4530A measures multiple biometric information of the wearer (face structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, eye vein pattern, etc.) to confirm the presence of the wearer and the living body. Authenticate
The 4530A may share a function with the sensor described in 4443A.
(Here, the sensor of 4530A is an input device that assists 453A. It is a sensor for confirming the presence of the wearer, and the biometric authentication function is attached to the existence confirmation function.)
(In the present invention, it is assumed that the measurement of the body temperature around the eyes of the HMD wearer and the thermographic image are used in order to consider privacy, not for the purpose of authentication but for the purpose of confirming the presence of the wearer.)
(For body temperature, an infrared temperature sensor is installed inside the HMD to measure the skin temperature of the eyes and the skin around the eyes of the equipped vehicle. The measurement point of the sensor may be one point, or the sensors are arranged in two dimensions and lines and images. It may be measured in the form of.)
(The 4530A sensor measures the temperature distribution around the wearer's eyes and the thermography of the face around the wearer's eyes and uses it as simple biometric authentication information and existence confirmation information in consideration of privacy.)
(The temperature and its hash value detected by the HMD sensor 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.)
46A External recording device of terminal 4A (external recording device including magnetic tape, magnetic disk, optical disk, and semiconductor memory for storing encrypted data. The private key may be stored.)
47A terminal 4A power supply
5A Terminal 5A server SVCRHNcm (server to access advertisements in encrypted file decryption viewing software)
Server recording unit of 50A terminal 5A
SVCRHNcm operation program of 500A terminal 5A (program for services such as advertisement information distribution that is the target of the link URI specified in software CRHN.
Includes programs that connect to blockchain on websites or web apps. )
Access monitoring unit database of 501A terminal 5A (database related to user terminal and token number that accessed SVCRHNcm.
Information that associates a user identifier or token number with an IP address or location information or a terminal ID or terminal sensor value and a service usage status.
The accessor information may be processed and stored so as to protect personal information by hashing or the like. FIG. 6X shows a chart showing the data structure. )
Unauthorized access detection program for 502A terminal 5A (detects access from a terminal that indicates a different IP address or location information or terminal ID or terminal sensor value for a user identifier or token number)
Unauthorized access notification program of 503A terminal 5A (Send notification token to user identifier that may have unauthorized access with 502A, or notify e-mail, SMS, etc. corresponding to the identifier)
Customer information database for 504A terminal 5A (not required, ledger recording contacts corresponding to user identifiers)
(For privacy reasons, if there is no customer information, unauthorized access will be notified by sending a notification token.)
(If you want to notify the customer of unauthorized use at any time, you need a resident program to notify the terminal DP that the token has been sent when the notification token is sent.)
Information such as advertisements delivered when accessed from the URI information embedded in the encrypted data of the 505A terminal 5A (the contents of the advertisement are controlled by the signboard information of the token and the rating obtained at the time of decrypting the encrypted data).
Information such as advertisements linked to the information contained in the software CRHN of the 506A terminal 5A (506A includes a function of delivering a notification such as a version update of the software CRHN).
5000A Terminal 5A arbitrary blockchain storage (if necessary, 300A and 5000A are the same)
Server control unit of 51A terminal 5A
SVCRHNcm control unit of 510A terminal 5A
511A Access monitoring unit and control unit of terminal 5A
512A Unauthorized access monitoring unit of terminal 5A
513A Unauthorized access notification unit of terminal 5A
Customer information database management department of 514A terminal 5A
Distribution unit for advertisements for encrypted data of 515A terminal 5A
516A Terminal 5A software CRHN advertisement distribution unit
5100A Arbitrary blockchain control unit of terminal 5A (if necessary, 310A and 5100A are the same)
52A Terminal 5A communication device
53A Terminal 5A control and arithmetic unit
Input device of 53A terminal 5A
54A terminal 5A output device
57A terminal 5A power supply
5B server SVCRHNdrive, terminal 5B (for server use that distributes, shares, searches, and manages encrypted data and files.)
Server recording unit of 50B terminal 5B
500B terminal 5B program (basic program part of the server that delivers the encrypted data desired by the user)
501B Encrypted file database recorded in terminal 5B (hash value of encrypted data or file, file name, one-time password generation that can decrypt file
And a database of contract identifiers for tokens involved in authentication. )
502B Encrypted file search database recorded in terminal 5B (a program that searches the database for information requested by the user and downloads it from the server).
503B Encrypted file registration unit recorded in terminal 5B (user uploads encrypted file to database,
A program that registers the identifier, file name, hash value, etc. of the one-time password generation and authentication contract that decrypts it)
Key information AKTB notification unit of 504B terminal 5B (This may be an e-mail, a letter may be sent, or may be linked with a telephone number SMS service. Key notification may be performed outside the terminal 5B).
Notification unit for delivery destination such as URI of file encrypted by AKTB of 505B terminal 5B (mail notification unit for notifying URI of file encrypted with key TTKY generated by using AKTB as one of the keys)
506B Terminal 5B e-commerce program (if necessary. Used when selling content files such as books and video / audio together with encrypted files and corresponding OTP generation tokens. Linked with payment function)
507B OTP token issuing unit for OTP generation and authentication of terminal 5B (if necessary, a program that issues OTP tokens that can confirm the completion of payment of 506B and decrypt data. Issue instruction to terminal 1C)
508B Terminal 5B access user database (if necessary, customer user access database. Data structure is the same as in Figure 6X)
Unauthorized access detection unit of 509B terminal 5B (It is not essential when only distributing encrypted data. It is preferable to mount it on 5B when buying and selling encrypted data and OTP tokens using money in electronic commerce. )
5000B Terminal 5B arbitrary blockchain storage (if necessary, 300A and 5000B are the same)
Server control unit of 51B terminal 5B
Service control unit of 510B terminal 5B (part controlled according to programs 500B, 501B, 502B, 503B, 504B, 505B, 506B, 507B, 508B, 509B)
5100B Any blockchain control unit of terminal 5B (if necessary, 310A and 5100B are the same)
Communication device of 52B terminal 5B
53B Terminal 5B control and arithmetic unit
Input device for 53B terminal 5B
54B terminal 5B output device
57B terminal 5B power supply
5C Broadcasting station server SVCRHNroadcaster, terminal 5C, broadcasting station terminal 5C
Server recording unit of 50C terminal 5C
Private key for blockchain access for 501C terminal 5C
A program for accessing a blockchain using a 501C private key of a 502C terminal 5C
Broadcasting software for 503C terminal 5C (software 403A may be included. Software for broadcasting positioning information by GNSS may be included.)
Storage unit of any blockchain of 5000C terminal 5C (if necessary. 300A and 5000C are the same. In particular, the artificial satellite type terminal 5C may be equipped with 5000C).
Encrypted data broadcast by 5034C terminal 5C (data encrypted and broadcast by key TTKY that can decrypt 5035C with 403A)
Plaintext data of encrypted data broadcast by the 5035C terminal 5C (The plaintext data itself may be stored in the storage device 50C in case of broadcasting after decryption in an emergency).
Server control unit of 51C terminal 5C
510C Terminal 5C control unit
5100C Terminal 5C optional blockchain control unit (if necessary, 310A and 5100C are the same)
Communication device of 52C terminal 5C
Broadcast radio device for 520C terminal 5C
521C Terminal 5C wireless communication device (for communication with terminal 5CC that controls 5C)
Wired communication device of 522C terminal 5C (If necessary. It can be used when the terminal 5C is a ground station. In the case of wired broadcasting instead of wireless broadcasting, it also serves as a connection device to the communication network.)
5200C Terminal 5C broadcasting antenna
521C Terminal 5C bidirectional communication device
53C Terminal 5C control and arithmetic unit
Input device for 53C terminal 5C
54C terminal 5C output device
57C terminal 5C power supply (including secondary batteries and solar cells in the case of artificial satellites)
5CC terminal A terminal or device that controls a server terminal that becomes a broadcasting station of 5C.

Claims (19)

スマートコントラクトを実行できる分散型台帳システムDLSを構成するノードとなるサーバ端末と、前記ノードとなるサーバ端末と同等の端末群がネットワークに接続され通信を行い、スマートコントラクトを実行できるブロックチェーン型または有方向非巡回グラフ型のデータ構造を持つ分散型台帳システムDLSを形成しているコンピュータ―ネットワークシステムにおいて、
ある時刻において変化する変数TBを用いる動的なパスワードVPを生成するOTP生成関数を備えたOTPトークンのスマートコントラクトと、パスワードVPの認証を行うOTP認証関数を備えたスマートコントラクトを分散型台帳システムDLSのノードとなるサーバ端末の分散型台帳の記録部に備え、もしくはパスワードVPを生成するOTP生成関数を備えたOTPトークンのスマートコントラクトを分散型台帳システムDLSのノードとなるサーバ端末の分散型台帳の記録部に備えるとともにサービス提供端末の記憶部・記憶装置にパスワードVPのOTP認証関数を備え、
前記OTP生成関数とOTP認証関数のパスワードVPの計算をハッシュ関数fhを用いて行う場合に、前記ハッシュ関数fhの引数にトークン番号TIDAと、パスワードVPを生成するOTP生成関数を備えるスマートコントラクトとOTP認証関数もしくはOTP認証関数を備えるスマートコントラクトにて用いるシークレット変数KCと、ある時刻において分散型台帳システムにおいて変更される変数TBと、ユーザー端末の秘密鍵もしくは秘密鍵に相当するシードとなる情報からブロックチェーン部もしくは分散型台帳システムDLSに設定された方法で計算されるユーザー識別子Aの4つの変数のうち3つ以上の変数をハッシュ関数fhの引数に利用するキー値もしくはシード値として備え、
前記4つの変数のうち3つ以上の変数を基にした引数を用いてハッシュ値を計算しOTPの算出に用いるスマートコントラクトのプログラム部および関数や処理部を分散型台帳システムDLSのノードとなる端末もしくはサービス提供端末に備え、
ある時刻において変化可能なパスワードVP=fh( ATIDAKC TB)として算出することの出来るパスワードVPをOTPとして生成するOTP生成関数と生成されたOTPを認証するOTP認証関数を備え、もしくは変化可能なパスワードVP=fh( TIDAKCTB)またはパスワードVP=fh( AKCTB)としてパスワードVPのOTPの計算に用い、
前記OTP生成関数とOTP認証関数に用いるキー値もしくはシード値の変数および計算処理方法を、同一のスマートコントラクト、もしくはOTP生成関数を含むスマートコントラクトとOTP認証関数を含むスマートコントラクト、もしくはOTP生成関数を含むスマートコントラクトとサービス提供端末のOTP認証関数に備え、
パスワードVPの計算に用いる計算処理方法をOTP生成関数とOTP認証関数の間で一致させるために、パスワードVPのOTP生成関数とOTP認証関数の関数に用いるキー値もしくはシード値の変数および計算処理方法が一致するよう関数や変数の値やデータと計算処理方法を変更し更新するためのアクセスと操作ができる機能をスマートコントラクトやサービス提供端末に備え、
ある時刻Tにおいて分散型台帳システムDLSの変数TBが変化することを利用して動的なパスワードVPを異なるトークン番号TIDAの、OTPトークンを割り当てられたユーザー識別子Aの秘密鍵情報を持つユーザー端末に対しOTP生成関数により生成し、前記VPをOTP認証関数により認証することを特徴とするコンピュータ―ネットワークシステム。
A blockchain type or existing server terminal that is a node that constitutes the distributed ledger system DLS that can execute smart contracts and a group of terminals equivalent to the server terminal that is the node are connected to the network and communicate with each other to execute smart contracts. In a computer-network system forming a distributed ledger system DLS with a non-directional graph type data structure
Dynamic and smart contract OTP token with an OTP generation function to generate a password VP, password VP distributed ledger system DLS smart contract with the OTP authentication function of performing authentication of using variables TB that changes at a certain time The smart contract of the OTP token equipped with the recording part of the distributed ledger of the server terminal that becomes the node of the distributed ledger system or the OTP generation function that generates the password VP of the distributed ledger of the server terminal that becomes the node of the distributed ledger system DLS. The OTP authentication function of the password VP is provided in the storage unit / storage device of the service providing terminal as well as in the recording unit.
When the password VP of the OTP generation function and the OTP authentication function is calculated using the hash function fh, the token number TIDA is used as an argument of the hash function fh, and a smart contract and OTP having an OTP generation function for generating the password VP. Block from the secret variable KC used in the smart contract equipped with the authentication function or OTP authentication function, the variable TB that is changed in the distributed ledger system at a certain time, and the secret key of the user terminal or the seed information corresponding to the secret key. Three or more of the four variables of the user identifier A calculated by the method set in the chain part or the distributed ledger system DLS are provided as key values or seed values to be used as arguments of the hash function fh.
A terminal that uses the program section, functions, and processing section of a smart contract that calculates a hash value using arguments based on three or more of the four variables and uses it to calculate an OTP as a node of the distributed ledger system DLS. Or in preparation for the service providing terminal
It has an OTP generation function that generates a password VP as an OTP and an OTP authentication function that authenticates the generated OTP, which can be calculated as a password VP = fh (A , TIDA , KC , TB) that can be changed at a certain time. Used to calculate the OTP of the password VP as variable password VP = fh (TIDA , KC , TB) or password VP = fh (A , KC , TB).
Variables and calculation processing method for the key value or a seed value used in the OTP generation function and the OTP authentication function, the same smart contract or smart contract includes a smart contract and OTP authentication function including a OTP generation function, or OTP generation function In preparation for the OTP authentication function of smart contracts and service providers including
Key value or seed value variables and calculation processing method used for the OTP generation function and OTP authentication function of the password VP in order to match the calculation processing method used for the calculation of the password VP between the OTP generation function and the OTP authentication function. The smart contract and service provider terminal are equipped with a function that allows access and operation to change and update the values and data of functions and variables and the calculation processing method so that they match.
Using the change of the variable TB of the distributed ledger system DLS at a certain time T, a dynamic password VP is sent to the user terminal having the private key information of the user identifier A to which the OTP token is assigned and the different token number TIDA. On the other hand , a computer-network system that is generated by an OTP generation function and authenticates the VP by an OTP authentication function.
請求項1に記載のスマートコントラクトを実行可能な分散型台帳システムについて、
スマートコントラクトの管理を行う権限をもつ管理者端末に記録された管理者用秘密鍵情報を用いて計算されるユーザー識別子Cのユーザーのみがアクセスできるセッターとなる関数fscbを備え、
請求項1に記載のある時刻において変更されうる変数TBの代わりに管理者端末に記録された管理者用秘密鍵情報を用いて任意の時刻において書き換えることの出来るスマートコントラクト内部の変数BCを備え、
ユーザー識別子A、トークン番号TIDA、スマートコントラクト内部のシークレット変数KC、管理者の端末に記録された管理者用秘密鍵情報を用いて変更できるスマートコントラクトの変数BCをハッシュ関数fhの引数に利用するシード値に持ち、前記変数を引数にしてキー値もしくはシード値をハッシュ化する関数fh(ATIDAKCBC)を備え、
パスワードVPの代わりにパスワードOWP=fh( ATIDAKCBC)として算出することの出来るパスワードOWPを生成するOWP生成関数とパスワードOWPを認証するOWP認証関数を、同一のスマートコントラクトもしくはOWP生成関数を含むスマートコントラクトとOWP認証関数を持つサービス提供端末に分離して備え、またはOWP生成関数を含むスマートコントラクトとOWP認証関数を含むスマートコントラクトを分離して備え、
アクセス権のあるユーザーの端末により前記KCまたはBCを関数fscbを用いて変更し更新することによって、スマートコントラクトに属する全てのOTPトークンのOWPの生成に用いるキー値を変更または更新できる特徴を持ち、
任意の時刻にキーとなる変数KCや変数BCといった一つ以上の変数を書き換え更新することで動的なパスワードOWPをスマートコントラクトに属するすべてのトークン番号とユーザー識別子に対し生成し認証することを特徴とするコンピュータ―ネットワークシステム。
Regarding the distributed ledger system capable of executing the smart contract described in claim 1,
It is equipped with a function fscb that is a setter that can be accessed only by the user with the user identifier C calculated using the secret key information for the administrator recorded in the administrator terminal having the authority to manage the smart contract.
A variable BC inside a smart contract that can be rewritten at any time using the secret key information for the administrator recorded in the administrator terminal instead of the variable TB that can be changed at a certain time according to claim 1 is provided.
Seed to use user identifier A, token number TIDA, smart contract inside of secret variable KC, the variable BC of smart contract, which can be changed by using the secret key information for the administrator, which is recorded in the management's terminal to the argument of the hash function fh It has a function fh (A, TIDA , KC , BC) that has a value and hashes the key value or seed value using the variable as an argument.
The same smart contract or OWP generation can be used to generate an OWP generation function that generates a password OWP and an OWP authentication function that authenticates a password OWP, which can be calculated as password OWP = fh (A , TIDA , KC , BC) instead of password VP. comprising separating the service providing terminals with smart contract and OWP authentication function including a function, or with separating smart contract including smart contract and OWP authentication function including a OWP generation function,
By changing and updating the KC or BC using the function fscb by the terminal of the user who has the access right, the key value used to generate the OWP of all OTP tokens belonging to the smart contract can be changed or updated.
It is characterized by generating and authenticating a dynamic password OWP for all token numbers and user identifiers belonging to the smart contract by rewriting and updating one or more variables such as the key variable KC and variable BC at any time. Computer-Network system.
請求項1に記載の分散型台帳システムDLSはブロックチェーン型のデータ構造を持ちスマートコントラクトを実行できる、ブロックチェーンを用いた分散型台帳システムについて、
最新のブロックがブロック番号Bnとしてブロックチェーンに追加されたとき、前記ブロックチェーンの基盤において一定時間の経過によってBnが増加することを利用し、請求項1に記載のある時刻において変更されうる変数TBの代わりに変数Bnを一定の時間ごとに増加する変数として用い、
ハッシュ関数fhの引数についてユーザー識別子A、トークン番号TIDA、スマートコントラクト内部のシークレット変数KC、そしてブロック番号に基づいた変数Bnをハッシュ関数fhの引数に利用するシード値に持ち、ブロック番号Bnを用いた時間に基づいたワンタイムパスワードBnTOTP=fh( ATIDAKCBn)として算出することの出来るTime−Based−One−Time−Password、時間に基づいたワンタイムパスワードを用いる認証システムであって、
請求項1のパスワードVPの代わりにパスワードBnTOTPを認証システムに用い、BnTOTPを用いるOTP生成関数とOTP認証関数を認証システムに備え、
アクセス権のあるユーザーの端末により前記KCをセッター関数fscbを用いて変更し更新することによって、スマートコントラクトに属する全てのOTPトークンの将来のBnTOTPの生成及び認証に用いるBnTOTPの計算値の現れ方を変更できる特徴を持つ、
時間が変化することによってブロック番号Bnが変化することにより一定の時間毎に異なるブロック番号Bnとなりブロック番号Bnの変化に応じてワンタイムパスワードを生成し認証することを特徴としたブロックチェーンのブロック番号Bnを用いることを特徴とするBnTOTP方式の認証を行うコンピュータ―ネットワークシステム。
The distributed ledger system DLS according to claim 1 is a distributed ledger system using a blockchain, which has a blockchain type data structure and can execute smart contracts.
When the latest block is added to the blockchain as the block number Bn, the variable TB that can be changed at a certain time according to claim 1 by utilizing the fact that Bn increases with the passage of a certain time in the base of the blockchain. Instead of using the variable Bn as a variable that increases at regular intervals,
Regarding the argument of the hash function fh, the user identifier A, the token number TIDA, the secret variable KC inside the smart contract , and the variable Bn based on the block number are used as the seed value to be used as the argument of the hash function fh, and the block number Bn is used. Time-based one-time password BnTOTP = fh (A , TIDA , KC , Bn), Time-Based-One-Time-Password, an authentication system that uses a time-based one-time password.
A password BnTOTP is used in the authentication system instead of the password VP of claim 1, and an OTP generation function and an OTP authentication function using BnTOTP are provided in the authentication system.
By changing and updating the KC using the setter function fscb by the terminal of the user who has the access right, the appearance of the calculated value of BnTOTP used for the future generation and authentication of BnTOTP of all OTP tokens belonging to the smart contract can be seen. With features that can be changed,
The block number Bn changes as the time changes, resulting in a different block number Bn at regular intervals. The block number of the blockchain is characterized by generating and authenticating a one-time password according to the change in the block number Bn. A computer-network system that performs BnTOTP method authentication, characterized in that Bn is used.
請求項3に記載のスマートコントラクトを実行できるブロックチェーン型のデータ構造を用いた分散型台帳システム及び装置について、
OTP計算に用いるキー変数に変数KCと変数BCを備え、
前記変数KCと変数BCは管理者の端末に記録された管理者用秘密鍵情報を用いてアクセス出来るセッターとなる関数fscbを介してスマートコントラクト内部のシークレット変数KCまたは変数BCを1つ以上書換えることができる
スマートコントラクト内のシークレット変数KCまたは変数BCを任意の時間に書き換えて1つ以上のキー値またはシード値を更新し、パスワードBnTOTP を生成するスマートコントラクトに属する全てのOTPトークン(ワンタイムパスワード生成トークン、OTP生成トークン)のシード値またはキー値となる変数を更新しユーザー端末に表示させるOTPのシード値およびブロック番号が時間により増加する場合の将来のOTPの計算結果の現れ方の更新を行うことのできる特徴を備えたBnTOTP方式の認証を行うコンピュータ―ネットワークシステム。
Regarding the distributed ledger system and device using the blockchain type data structure capable of executing the smart contract according to claim 3.
The key variables used for OTP calculation include variables KC and BC.
The variable KC and the variable BC rewrite one or more secret variables KC or BC inside the smart contract via the function fscb which is a setter that can be accessed using the secret key information for the administrator recorded in the terminal of the administrator. Can ,
All OTP tokens belonging to a smart contract that generate a password BnTOTP by rewriting the secret variable KC or variable BC in the smart contract at any time to update one or more key or seed values (one-time password generation tokens, Update the seed value or key value variable of the OTP generation token) and update the appearance of future OTP calculation results when the OTP seed value and block number displayed on the user terminal increase with time. A computer-network system that performs BnTOTP authentication with features that allow it.
請求項1と請求項4の何れかに記載のシステムにおいて、分散型台帳システムにて時刻に応じて増加する整数として用いることの出来る変数TBや最新のブロックチェーンのブロック番号Bnを用いる場合について、
前記BnもしくはTBを符号なし整数の変数Mで割った剰余r、すなわちr=Bn mod M についてMの値を増加させることで、請求項1に記載のパスワードVPもしくは請求項3または請求項4に記載のワンタイムパスワードBnTOTPが生成され認証できる時間を増加させるためにある任意のブロック番号・任意の時刻に管理者の端末に記録された管理者用秘密鍵情報を用いてアクセス出来るセッターとなる関数によってMを変更できる変数と関数をスマートコントラクトに備え、
BnTOTPの場合、Bnからrを減算することで算出されるBnrを用い、ユーザー識別子A,トークン番号TIDA、キー変数KC、修正したブロック番号Bnrのうち3つ以上の変数をハッシュ関数fhの引数に利用しBnTOTPを生成し認証する事を特徴とし、
パスワードVPの場合もr=TB mod Mとして、TBからrを減算することで算出されるTBrを用い、ユーザー識別子A,トークン番号TIDA、キー変数KC、修正した整数の変数TBrのうち3つ以上の変数をハッシュ関数fhの引数に利用しパスワードVPを生成し認証する事を特徴とし、
パスワードを生成するスマートコントラクトに属する全てのOTP生成トークンを保有するユーザーの端末のパスワードの生成と出力・表示および認証する時間を変更可能・調節可能な手段を備える、
ユーザー端末の入出力装置を用いて入力を行いパスワードの生成と認証することの出来る時間を増加または減少させ変更できる事を特徴とするコンピュータネットワークシステム。
In the system according to any one of claims 1 and 4, the variable TB that can be used as an integer that increases with time in the distributed ledger system and the block number Bn of the latest blockchain are used.
The password VP according to claim 1 or claim 3 or claim 4 by increasing the value of M for the remainder r obtained by dividing the Bn or TB by the variable M of an unsigned integer, that is, r = Bn mod M. A function that becomes a setter that can be accessed using the administrator's private key information recorded on the administrator's terminal at any block number and any time to increase the time when the described one-time password BnTOTP is generated and can be authenticated. The smart contract has variables and functions that can change M by
In the case of BnTOTP, Bnr calculated by subtracting r from Bn is used, and three or more variables of the user identifier A, token number TIDA, key variable KC, and modified block number Bnr are used as arguments of the hash function fh. It is characterized by using and generating and authenticating BnTOTP.
In the case of password VP as well, set r = TB mod M and use TBr calculated by subtracting r from TB, and use 3 or more of the user identifier A, token number TIDA, key variable KC, and modified integer variable TBr. The feature is that the password VP is generated and authenticated by using the variable of the hash function fh as an argument.
It has a means to change and adjust the password generation, output, display and authentication time of the user's terminal holding all OTP generation tokens belonging to the smart contract that generates the password.
A computer network system characterized in that the time during which a password can be generated and authenticated by inputting using an input / output device of a user terminal can be increased or decreased and changed.
請求項1と請求項2と請求項3と請求項4と請求項5の何れかに記載のシステムにおいてある任意の時刻に、表示できるワンタイムパスワードOTPを生成し認証に用いる際に計算されたOTPを符号なし整数に型変換した値mを被除数mとし、
整数Yを1以上の符号なし整数NでN乗した整数を除数nとして、被除数mを除数nで割った際の剰余rを算出し前記rを整数値のパスワードOTPrとして用いる処理部と記憶部をスマートコントラクトに備え、任意の時刻に管理者の端末に記録された管理者用秘密鍵情報を用いてアクセス出来るスマートコントラクトに備えられたセッター関数によって整数Yと整数Nを設定する手段を備え、
パスワードを生成するスマートコントラクトに属する全てのOTP生成トークンを保有するユーザー端末へパスワードOTPrを生成し出力・表示し認証する時に、前記整数Yや整数Nを変更することで任意の時刻においてOTPrの桁数や文字数を変更できることを特徴とするコンピューターネットワークシステム。
Calculated when a one-time password OTP that can be displayed is generated and used for authentication at any time in the system according to any one of claims 1, 2, 3, 3, and 5. The value m obtained by converting the OTP into an unsigned integer is defined as the divisor m.
A processing unit and a storage unit that calculates the remainder r when the integer Y is divided by the divisor n and the remainder r is calculated by using an integer obtained by multiplying the integer Y by an unsigned integer N multiplied by N as a divisor n and using the r as an integer value password OTPr. The smart contract is equipped with a means to set the integer Y and the integer N by the setter function provided in the smart contract that can be accessed using the administrator's private key information recorded in the administrator's terminal at any time.
When the password OTPr is generated, output, displayed and authenticated to the user terminal that holds all the OTP generation tokens belonging to the smart contract that generates the password, the digit of OTPr is changed at any time by changing the integer Y or the integer N. A computer network system characterized by the ability to change the number and number of characters.
請求項1と請求項2と請求項3と請求項4と請求項5と請求項6の何れかに記載のシステムにおいて、
分散型台帳システムにおいて改ざん耐性を持つ分散型台帳データ部のスマートコントラクト内部でワンタイムパスワード(OTP)の生成と認証を行う関数の実行時に用いる変数として、
OTP生成関数の実行回数もしくはOTP認証関数の実行回数を記録するトークン番号を検索のキーとする変数、
もしくはデータ型においてトークン番号に基づいた番号を要素に用いる実行回数を記録する変数、
または実行回数や関数実行により数値を変化する変数をスマートコントラクトに備え、
OTP生成関数もしくはOTP認証関数のいずれかもしくは両方の関数について関数が実行されるたびに関数の実行回数を記録する変数の値を所定の定数ずつ増加もしくは減少させる処理を行うことの出来るコンピューターネットワークシステム。
In the system according to any one of claim 1, claim 2, claim 3, claim 4, claim 5, and claim 6.
As a variable used when executing a function that generates and authenticates a one-time password (OTP) inside the smart contract of the distributed ledger data unit that is tamper-resistant in the distributed ledger system.
A variable whose search key is the token number that records the number of executions of the OTP generation function or the number of executions of the OTP authentication function.
Or a variable that records the number of executions that uses a number based on the token number as an element in the data type,
Alternatively, the smart contract is equipped with variables that change numerical values depending on the number of executions and function execution.
A computer network system that can increase or decrease the value of a variable that records the number of times a function is executed each time the function is executed for either or both of the OTP generation function and the OTP authentication function by a predetermined constant. ..
請求項3と請求項4と請求項5と請求項6と請求項7の何れかに記載のシステムにおいて、ブロックチェーンを構成するノード間または分散型台帳システムDLSを構成するノード間でデータブロックを連結する際に、
ブロックチェーンを構成するノード間または分散型台帳システムを構成するノード間で利用される変数をノード間の投票で決定する際に投票で決定した値Vを時刻同期式ワンタイムパスワードBnTOTPを計算するシード値に用い、ワンタイムパスワードBnTOTP=fh( ATIDAKCBn,V)として計算できる関数と変数をスマートコントラクトに備えたコンピュータネットワークシステム。
In the system according to any one of claims 3, 4, 5, 5, and 7, a data block is formed between the nodes constituting the blockchain or between the nodes constituting the distributed ledger system DLS. When connecting
A seed that calculates the time-synchronized one-time password BnTOTP with the value V determined by voting when determining the variables used between the nodes that make up the blockchain or between the nodes that make up the distributed ledger system by voting between the nodes. A computer network system equipped with functions and variables that can be used as values and can be calculated as a one-time password BnTOTP = fh (A , TIDA , KC , Bn, V) in a smart contract.
請求項8に記載のシステムにおいて、変数Vはブロックチェーンの基盤においてブロックのデータサイズであるブロックサイズBSZまたはBlockGasLimitが可変である場合に、ブロックサイズBSZがブロックチェーンを構成するノード端末の投票で決まるブロックサイズBSZまたはBlockGasLimitを変数Vとして用いることを特徴とするコンピュータネットワークシステム。 In the system according to claim 8, the variable V is determined by the voting of the node terminals constituting the blockchain when the block size BSZ or BlockGasLimit, which is the data size of the block, is variable in the base of the blockchain. A computer network system characterized in that the block size BSZ or BlockGasLimit is used as the variable V. 請求項1から請求項9の何れかに記載のシステムについて、トークン送信関数tfを備えるスマートコントラクトにおいて、
前記関数tfを実行する際に必要な変数を備え、関数tfを実行する際に必要な変数は管理者の端末に記録された管理者用秘密鍵情報を用いてアクセス出来るセッターとなる関数から変更され、
関数tfを実行する際に必要な変数の値によって送信関数tfの実行を制御され、
ユーザー識別子Aとユーザー識別子Bの異なるユーザー識別子間でOTPトークンの送信と譲渡をスマートコントラクト管理者が停止できる機能を持つスマートコントラクトを用いることを特徴とするコンピューターネットワークシステム
The system according to any one of claims 1 to 9 in a smart contract provided with a token transmission function tf.
The variables required for executing the function tf are provided, and the variables required for executing the function tf are changed from the function that is a setter that can be accessed using the secret key information for the administrator recorded in the terminal of the administrator. Being done
The execution of the transmission function tf is controlled by the value of the variable required when executing the function tf.
A computer network system characterized by using a smart contract having a function that allows a smart contract administrator to stop transmission and transfer of OTP tokens between different user identifiers of user identifier A and user identifier B.
請求項1から請求項10の何れかに記載のシステムにおいて、OTP生成関数を備えたOTPトークンのスマートコントラクトからOTPを計算して生成しユーザー端末の記憶装置に取得し、
前記記憶装置に記憶され取得されたOTPとユーザー識別子またはトークン番号またはその両方を、ログインサービスを提供するサーバ端末が提供するウェブサービスプログラムに含まれる認証関数もしくはウェブサービスプログラムから参照できるスマートコントラクトに含まれるOTP認証関数へ入力し渡して認証関数を実行し、
前記認証関数にて入力された被検証用OTPと認証関数内でキー変数や関数を用いて計算された検証用OTPを検証し、
被検証用OTPと検証用OTPが一致した時、認証ができたと判断し、認証ができたときの変数CTAUを戻り値としてユーザー端末の記憶装置に渡し、
前記ユーザー端末の記憶装置に記憶されたCTAU値をサーバ端末が提供するウェブサービスプログラムに渡したとき、
前記ウェブサービスプログラムに渡されたCTAU値はウェブサービスプログラムにて定義された認証ができた場合の戻り値である時、サーバ端末はユーザ端末へウェブサービスを提供するコンピューターネットワークシステム。
In the system according to any one of claims 1 to 10, the OTP is calculated and generated from the smart contract of the OTP token provided with the OTP generation function, and the OTP is acquired in the storage device of the user terminal.
The OTP stored and acquired in the storage device and / or the user identifier are included in the authentication function included in the web service program provided by the server terminal providing the login service or the smart contract that can be referred from the web service program. Execute the authentication function by inputting it to the OTP authentication function
The verification OTP input by the authentication function and the verification OTP calculated by using the key variables and functions in the authentication function are verified.
When the OTP for verification and the OTP for verification match, it is determined that authentication has been completed, and the variable CTAU at the time of authentication is passed as a return value to the storage device of the user terminal.
When the CTAU value stored in the storage device of the user terminal is passed to the web service program provided by the server terminal,
When the CTAU value passed to the web service program is the return value when the authentication defined in the web service program is successful, the server terminal is a computer network system that provides the web service to the user terminal.
請求項2に記載のシステムにおいて、ユーザ識別子A,トークン番号TIDA,パスワードOWPを文字列または二次元バーコードとして紙等あるいはユーザ端末のディスプレイといった記録手段に記録・表示させ、
あるいは認証用データであるユーザー識別子Aとトークン番号TIDAとパスワードOWPの情報をユーザーの所持する磁気ストライプカードまたはICカード端末やNFC端末(NFCタグ)やスマートフォン端末もしくはウェアラブルコンピュータ端末を含むユーザー端末といった記録手段に記録させ、
ユーザ識別子Aとトークン番号TIDAとパスワードOWPの認証情報をユーザー端末のディスプレイ画面または紙等の印刷物の形で記録させた有価紙葉や磁気ストライプカードまたはICカード端末やNFC端末やスマートフォン端末もしくはウェアラブルコンピュータ端末を含むユーザー端末といった記録手段を製造し、
前記記録手段が紙やユーザ端末のディスプレイなどのヒトの目やカメラにより画像として認識できる有価紙葉の形態で用いられる場合には、
前記記録手段に記録された変数を、サービスを提供するサービス提供端末の備えるカメラもしくはスキャナを用いて読み取り、
OTP認証関数を含むスマートコントラクトもしくはサービス提供端末のOTP認証関数の引数に入力しOTP認証関数を実行させ、
OTP認証関数の戻り値CTAUからサービス提供端末は正しい有価紙葉か識別・判定する処理部を備え、
戻り値CTAUが認証結果の正しい時の値であるときユーザーに対しサービス提供を行う入退場口や改札または店舗といった施設や装置・設備・建物や容器に用いるコンピューターネットワークシステムであり、
前記記録手段が磁気ストライプカードまたはICカード端末やNFC端末やスマートフォン端末もしくはウェアラブルコンピュータ端末を含むユーザー端末といったデータにより記録され読み取りされる場合には、
サービスを提供する場所に備え付けられたサービス提供端末を用いて前記記録手段に記録された認証用データとして読み取り、
サービス提供端末に備えられたOTP認証関数の引数に入力し実行して、OTP認証関数の戻り値CTAUから正しい認証結果か判定し、
認証結果が正しい場合に正しい認証用データを提示したユーザーに対しサービス提供を行うコンピューターネットワークシステム
In the system according to claim 2, the user identifier A, the token number TIDA, and the password OWP are recorded and displayed as a character string or a two-dimensional bar code on a recording means such as a paper or a display of a user terminal.
Alternatively, a record such as a magnetic stripe card or IC card terminal, an NFC terminal (NFC tag) , a smartphone terminal, or a user terminal including a wearable computer terminal possessed by the user with the information of the user identifier A, the token number TIDA, and the password OWP, which are authentication data. Have the means record
User identifier A and Token Number TIDA and Password OWP authentication information is recorded in the form of printed matter such as the display screen of the user terminal or paper. A valuable paper leaf, magnetic stripe card, IC card terminal, NFC terminal, smartphone terminal, or wearable computer. Manufactures recording means such as user terminals including terminals,
When the recording means is used in the form of a valuable paper leaf that can be recognized as an image by the human eye or a camera such as a paper or a display of a user terminal, the recording means is used.
The variables recorded in the recording means are read by using a camera or a scanner provided in the service providing terminal that provides the service.
Enter the argument of the OTP authentication function of the smart contract including the OTP authentication function or the service providing terminal to execute the OTP authentication function.
From the return value CTAU of the OTP authentication function, the service providing terminal is equipped with a processing unit that identifies and determines whether the paper is correct.
Return value A computer network system used for facilities, devices, equipment, buildings and containers such as entrance / exit gates, ticket gates or stores that provide services to users when the CTAU is the correct value for the authentication result.
When the recording means is recorded and read by data such as a magnetic stripe card, an IC card terminal, an NFC terminal, a smartphone terminal, or a user terminal including a wearable computer terminal, the recording means is recorded and read.
Read as authentication data recorded in the recording means using a service providing terminal installed in the place where the service is provided, and read it.
Enter the argument of the OTP authentication function provided in the service providing terminal, execute it, and judge whether the authentication result is correct from the return value CTAU of the OTP authentication function.
A computer network system that provides services to users who present correct authentication data when the authentication result is correct.
請求項1から請求項10の何れかに記載のシステムにおいて、OTPによる認証が行われた結果としてOTP認証関数から得られる戻り値CTAUを暗号化データを復号するための鍵情報に用いて暗号化されたデータを復号するソフトウェアCRHNと暗号化されたデータをユーザー端末に備えるコンピューターネットワークシステム。 In the system according to any one of claims 1 to 10, the return value CTAU obtained from the OTP authentication function as a result of authentication by OTP is encrypted using the key information for decrypting the encrypted data. A computer network system equipped with software CRHN that decrypts encrypted data and encrypted data in the user terminal. 請求項1から請求項13の何れかに記載のシステムにおいて、
サービスを提供するネットワークに接続されたサーバ端末に対して、
ユーザーUAのユーザー端末がサービス提供端末にアクセスした際の秘密鍵情報に基づくユーザー識別子Aまたはトークン番号TIDAまたはその両方と、ユーザー端末のIPアドレスまたは位置情報または端末の識別子または端末センサ値を直接もしくは仮名化または匿名化して収集しサービス提供端末に記録させ、
サービス提供端末にユーザー端末のログイン時刻またはアクセス時刻または閲覧時刻T、ログイン履歴情報またはアクセス履歴情報または閲覧履歴情報Cntをサービス提供端末に記録させ、
同一のユーザー識別子Aもしくはトークン番号TIDAもしくその両方に対し、異なるIPアドレスまたは位置情報または端末の識別子またはユーザーの端末センサ値もしくは、異なるIPアドレスと位置情報と端末の識別子と端末センサ値の連結値IPVからのアクセスが行われたか否かを記録し監視する制御部と記憶部をサービス提供端末に備え、
サービス提供端末にアクセスする分散型台帳システムで用いる秘密鍵情報の漏洩による不正利用や秘密鍵を複数の端末で使い回しによる不正利用を検出し通知するコンピューターネットワークシステム
In the system according to any one of claims 1 to 13.
For server terminals connected to the network that provides the service
The user identifier A or token number TIDA or both based on the private key information when the user terminal of the user UA accesses the service providing terminal, and the IP address or location information of the user terminal or the terminal identifier or terminal sensor value directly or Collect it as a pseudonym or anonymize it and record it on the service providing terminal.
Have the service providing terminal record the login time or access time or browsing time T of the user terminal, login history information or access history information or browsing history information Cnt in the service providing terminal.
Identical to the user identifier A or token number TIDA Moshiku are both different IP address or location information or terminal identifier or user of the terminal sensor values or a different IP address and location information and the terminal identifier and the terminal sensor value Concatenated value The service providing terminal is equipped with a control unit and a storage unit that record and monitor whether or not access has been made from the IPV.
A computer network system that detects and notifies unauthorized use due to leakage of private key information used in a distributed ledger system that accesses service-providing terminals, and unauthorized use due to reuse of private keys on multiple terminals.
請求項14に記載のコンピューターネットワークシステムにおいて、ユーザーの端末のセンサが測定する地磁気や重力加速度、加速度、角速度といった物理情報や温度や気圧、照度といった物理的な値から測定される環境に依存するセンサから得られる情報をユーザー端末に特有の識別情報の算出に用い、
サービスの利用時にサービス提供端末に収集させ同一時刻にユーザーUAの秘密鍵から計算されるユーザー識別子AやOTPトークンのトークン番号TIDAに対し、サービス提供端末にアクセスしている複数の端末が存在しているか監視し、複数の端末が存在する際には不正アクセスが行われている恐れを通知する不正アクセス監視機能と不正アクセス通知機能を備えたサービス提供端末を用いるコンピュータネットワークシステムであって、
前記ユーザー端末の入力装置のセンサにモーションセンサまたは位置センサーまたは環境センサを一つまたは複数備えセンサとして利用するコンピュータネットワークシステムであって、
前記モーションセンサーには加速度センサ(加速度計)またはジャイロセンサ(角速度センサ)を備え、前記位置センサには地磁気センサまたは磁気センサまたは加速度計を備え、前記環境センサには温度センサまたは湿度センサまたは光センサまたは照度センサまたは気圧センサまたは圧力センサを備え、
前記センサの種類のうち一つまたは複数の種類のセンサのある時刻Tにおける測定値を基に、ユーザー端末のトークン番号またはユーザー識別子またはその両方に対応する秘密鍵を使用してサービス提供端末にアクセスしているユーザー端末の識別情報の算出に用いる事を特徴にするコンピュータネットワークシステム。
In the computer network system according to claim 14, an environment-dependent sensor measured from physical information such as geomagnetism, gravitational acceleration, acceleration, and angular velocity measured by a sensor of a user's terminal and physical values such as temperature, pressure, and illuminance. The information obtained from is used to calculate the identification information peculiar to the user terminal.
There are multiple terminals accessing the service providing terminal for the user identifier A and the token number TIDA of the OTP token that are collected by the service providing terminal when the service is used and calculated from the user UA's private key at the same time. It is a computer network system that uses a service-providing terminal equipped with an unauthorized access monitoring function and an unauthorized access notification function that monitors whether or not there is an unauthorized access and notifies the possibility that unauthorized access is being performed when multiple terminals exist.
A computer network system in which one or more motion sensors, position sensors, or environment sensors are provided as sensors of the input device of the user terminal and used as sensors.
The motion sensor is provided with an acceleration sensor (acceleration meter) or a gyro sensor (angular velocity sensor), the position sensor is provided with a geomagnetic sensor or a magnetic sensor or an accelerometer, and the environmental sensor is a temperature sensor or a humidity sensor or an optical sensor. Or equipped with an illuminance sensor or pressure sensor or pressure sensor,
Access the service provider terminal using the token number of the user terminal, the user identifier, or the private key corresponding to both, based on the measured value of one or more types of sensors at a certain time T. A computer network system characterized by being used to calculate the identification information of a user terminal.
請求項2に記載のパスワードOWP=fh( ATIDAKCBC)を用いたコンピュータ―ネットワークシステムで用いるパスワードOWPとトークン番号TIDAとユーザー識別子Aの情報を
有価紙葉やNFCタグ端末といった記録手段に記録させ物のタグとして物に添付・貼付し、または物の表面や封印・包装された物の表面に添付して、
請求項2に記載のOWPを用いたコンピュータ―ネットワークシステムで用いる情報を、物に添付・貼り付けされたタグから読み取ることで物の流通管理を行うコンピュータネットワークシステム。
The information of the password OWP, the token number TIDA, and the user identifier A used in the computer-network system using the password OWP = fh (A , TIDA , KC , BC) according to claim 2.
Record it on a recording means such as a valuable paper leaf or NFC tag terminal and attach / attach it to the object as a tag of the object, or attach it to the surface of the object or the surface of the sealed / packaged object .
Computer using OWP according to claim 2-A computer network system that manages the distribution of goods by reading the information used in the network system from the tags attached / attached to the goods.
請求項3から請求項10の何れかに記載のワンタイムパスワードを通信端末またはデータ配信端末およびデータ放送局端末の分散型台帳システムDLSのブロックチェーン部でOTP生成関数を実行させ生成し、
もしくはネットワークからブロックチェーンのノード端末のOTPトークンのスマートコントラクトのOTP生成関数を実行することで取得し、
放送や配信するデータに本体データと時刻情報とブロック番号BnとBnTOTPデータを添付し配信又は放送された情報データの真贋をユーザー端末がブロックチェーンのノードとなる端末もしくは認証を行うことの出来るシード値を記録したソフトウェアやハードウェア端末のOTP認証関数を用いて確認することができる
情報・データの真贋を確認することができるOTP認証用データが送信データにタグ付けされたことによりタグ情報からデータの認証を行うコンピューターネットワークシステム
The one-time password according to any one of claims 3 to 10 is generated by executing an OTP generation function in the blockchain portion of the distributed ledger system DLS of the communication terminal, the data distribution terminal, and the data broadcasting station terminal.
Alternatively, obtain it from the network by executing the OTP generation function of the smart contract of the OTP token of the node terminal of the blockchain.
A seed value that allows the user terminal to become a blockchain node or authenticate the authenticity of the distributed or broadcasted information data by attaching the main unit data, time information, block number Bn, and BnTOTP data to the data to be broadcast or distributed. Can be confirmed using the OTP authentication function of the software or hardware terminal that recorded the data .
A computer network system that authenticates data from tag information by tagging transmitted data with OTP authentication data that can confirm the authenticity of information and data.
請求項17に記載のコンピューターネットワークシステムについて、測位用信号および測位用データを全球測位衛星システム(GNSS)衛星端末からユーザー端末に測位用の無線による信号を放送する時、既知の位置情報を測位するために必要な最新の時刻情報などのGNSS用航法データに加え、
最新のブロック番号Bn、もしくはブロック番号に準ずるブロックチェーンまたは分散型台帳システムDLSの任意もしくは自動的に変化する動的変数である変数TBまたはTmの時間変化により動的に変わる最新の認証用BnTOTPがブロック番号BnやTBまたはTmとともにGNSS衛星端末の放送する信号に添付されていることにより、
前記ワンタイムパスワードBnTOTPとブロック番号BnやTBとともにGNSS用航法データを含むメッセージデータを受け取ったユーザー端末は、ユーザー端末が受け取った測位用のGNSS用航法データが認証された正しいデータであると判断を行う機能を備えた、GNSS衛星端末からの放送データの真贋を確認することの出来る手段を備えるコンピューターネットワークシステム。
With respect to the computer network system according to claim 17, when a positioning signal and positioning data are broadcast from a global positioning satellite system (GNSS) satellite terminal to a user terminal by radio for positioning, known position information is determined. In addition to GNSS navigation data such as the latest time information required for
The latest block number Bn, or the latest authentication BnTOTP that dynamically changes with time of the variable TB or Tm, which is an arbitrary or automatically changing dynamic variable of the blockchain or distributed ledger system DLS that conforms to the block number. By being attached to the signal broadcast by the GNSS satellite terminal together with the block number Bn, TB or Tm,
The user terminal that receives the message data including the GNSS navigation data together with the one-time password BnTOTP and the block numbers Bn and TB determines that the GNSS navigation data for positioning received by the user terminal is the authenticated correct data. A computer network system equipped with a means for confirming the authenticity of broadcast data from a GNSS satellite terminal, which has a function to perform.
請求項3から請求項15の何れかに記載のコンピューターネットワークシステムにおいて時刻情報TBまたはTmやブロック番号Bnの時間に対応した変化に応じて動的に変化するパスワード生成関数をOTP生成器として用い、
OTPトークンの所有者が設定・投票できるシード値VU[TIDA]を含むBnTOTP=fh( A, TIDA, KC, Bn,VU[TIDA])とするBnもしくはKCやTBに基づいたBnTOTPについて、トークンの所有者であるユーザがシード値の一部を任意の値に書き換え可能であって、
将来のブロック番号Bnにおいて計算されるBnTOTPの認証値の現れ方をユーザが変更・更新でき、BnTOTPの擬似乱数性を高めたことを特徴とし、
OTP認証用のOTP認証値またはOTP内の擬似乱数値の計算を行う事を特徴とするコンピューターネットワークシステム。
In the computer network system according to any one of claims 3 to 15, a password generation function that dynamically changes according to a change corresponding to time of time information TB or Tm or block number Bn is used as an OTP generator.
For Bn or KC or TB-based BnTOTP with BnTOTP = fh (A, TIDA, KC, Bn, VU [TIDA]) including a seed value VU [TIDA] that can be set and voted by the owner of the OTP token , the token The owner user can rewrite part of the seed value to any value,
The feature is that the user can change / update the appearance of the authentication value of BnTOTP calculated in the future block number Bn, and the pseudo-random number of BnTOTP is improved.
A computer network system characterized by calculating an OTP authentication value for OTP authentication or a pseudo random number value in OTP.
JP2021004788A 2021-01-15 2021-01-15 Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system Active JP6978168B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021004788A JP6978168B1 (en) 2021-01-15 2021-01-15 Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system
JP2021121886A JP7007077B1 (en) 2021-01-15 2021-07-26 Unauthorized access prevention system that collects data derived from the environment of the terminal with key information
PCT/JP2022/000970 WO2022154051A1 (en) 2021-01-15 2022-01-13 Authentication device and authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021004788A JP6978168B1 (en) 2021-01-15 2021-01-15 Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021121886A Division JP7007077B1 (en) 2021-01-15 2021-07-26 Unauthorized access prevention system that collects data derived from the environment of the terminal with key information

Publications (2)

Publication Number Publication Date
JP6978168B1 true JP6978168B1 (en) 2021-12-08
JP2022109467A JP2022109467A (en) 2022-07-28

Family

ID=78815561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021004788A Active JP6978168B1 (en) 2021-01-15 2021-01-15 Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system

Country Status (2)

Country Link
JP (1) JP6978168B1 (en)
WO (1) WO2022154051A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374746A1 (en) * 2018-11-08 2021-12-02 Capital One Services, Llc Multi-factor authentication (mfa) arrangements for dynamic virtual transaction token generation via browser extension
CN114205139A (en) * 2021-12-09 2022-03-18 中国电信股份有限公司 Computing resource management method, node, system and storage medium
WO2022154051A1 (en) * 2021-01-15 2022-07-21 克弥 西沢 Authentication device and authentication system
CN115514564A (en) * 2022-09-22 2022-12-23 窦彦彬 Data security processing method and system based on data sharing
WO2023282274A1 (en) * 2021-07-05 2023-01-12 克弥 西沢 Thermal image authentication device
WO2023147145A3 (en) * 2022-01-31 2023-10-12 Dutt Nidhi Secure electronic document exchange and execution of contracts with biometric verification
WO2023217678A1 (en) * 2022-05-11 2023-11-16 Sony Group Corporation Authentication device, method, and computer program
CN117495388A (en) * 2023-12-27 2024-02-02 环球数科集团有限公司 Public service system based on web3 technology

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929846B2 (en) * 2019-03-22 2021-02-23 Capital One Services, Llc Secure automated teller machines
CN112468301B (en) * 2020-10-23 2022-08-02 苏州浪潮智能科技有限公司 Method, system, device and medium for cloud platform authentication based on block chain
US20230316270A1 (en) * 2022-03-30 2023-10-05 Mastercard International Incorporated Apparatus, system and method for on-device mutlifactor authentication security
CN116232634B (en) * 2022-12-05 2024-04-16 中央军委政治工作部军事人力资源保障中心 Cross-domain dynamic password identity security authentication system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071097A (en) * 2006-09-14 2008-03-27 Nomura Research Institute Ltd Authentication device, authentication system, program and storage medium
JP2017027207A (en) * 2015-07-17 2017-02-02 ソフトバンク株式会社 Authentication system
US20200244457A1 (en) * 2019-01-25 2020-07-30 Accenture Global Solutions Limited Blockchain intelligent security implementation

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6978168B1 (en) * 2021-01-15 2021-12-08 克弥 西沢 Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008071097A (en) * 2006-09-14 2008-03-27 Nomura Research Institute Ltd Authentication device, authentication system, program and storage medium
JP2017027207A (en) * 2015-07-17 2017-02-02 ソフトバンク株式会社 Authentication system
US20200244457A1 (en) * 2019-01-25 2020-07-30 Accenture Global Solutions Limited Blockchain intelligent security implementation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374746A1 (en) * 2018-11-08 2021-12-02 Capital One Services, Llc Multi-factor authentication (mfa) arrangements for dynamic virtual transaction token generation via browser extension
WO2022154051A1 (en) * 2021-01-15 2022-07-21 克弥 西沢 Authentication device and authentication system
WO2023282274A1 (en) * 2021-07-05 2023-01-12 克弥 西沢 Thermal image authentication device
CN114205139A (en) * 2021-12-09 2022-03-18 中国电信股份有限公司 Computing resource management method, node, system and storage medium
WO2023147145A3 (en) * 2022-01-31 2023-10-12 Dutt Nidhi Secure electronic document exchange and execution of contracts with biometric verification
WO2023217678A1 (en) * 2022-05-11 2023-11-16 Sony Group Corporation Authentication device, method, and computer program
CN115514564A (en) * 2022-09-22 2022-12-23 窦彦彬 Data security processing method and system based on data sharing
CN117495388A (en) * 2023-12-27 2024-02-02 环球数科集团有限公司 Public service system based on web3 technology
CN117495388B (en) * 2023-12-27 2024-04-05 环球数科集团有限公司 Public service system based on web3 technology

Also Published As

Publication number Publication date
WO2022154051A1 (en) 2022-07-21
JP2022109467A (en) 2022-07-28

Similar Documents

Publication Publication Date Title
JP6978168B1 (en) Authentication device and authentication system, one-time password generation authentication device and pseudo random number generator, encrypted data decryption system, login or entry or unlock system or access control system
US11250394B1 (en) Method and system for blockchain-based gemstone ownership, identity, custody, supply-chain transfer, trading, and secure payments
EP2810402B1 (en) A method and database system for secure storage and communication of information
JP6756817B2 (en) Systems and methods for decentralized title recording and authentication
US20160098723A1 (en) System and method for block-chain verification of goods
US20170286955A1 (en) Systems, Methods and Devices for Trusted Transactions
US20160162897A1 (en) System and method for user authentication using crypto-currency transactions as access tokens
JP7157864B2 (en) Authenticator of dynamic passwords generated based on distributed ledger
EP2062228A1 (en) Visual code transaction verification
JP2008257721A (en) Token usable in value-based transaction
JP2022137088A (en) Mountable authentication device using thermal image
US20230004970A1 (en) Distributed Ledgers with Ledger Entries Containing Redactable Payloads
US20230281606A1 (en) Partitioned Address Spaces in Blockchain Wallets
WO2023283545A1 (en) Systems and method for providing security against deception and abuse in distributed and tokenized environments
Bond Understanding Security APIs
US20080172339A1 (en) Method and system for authenticating transactions
WO2019063512A1 (en) A method for generating a digital identity, a digital identity, a method for creating an electronic transaction document and an electronic transaction document
JP7245936B2 (en) Authentication device, authentication system, and authentication processing method
JP7007077B1 (en) Unauthorized access prevention system that collects data derived from the environment of the terminal with key information
WO2001043026A1 (en) Systems, methods and devices for trusted transactions
JP2005063077A (en) Method and device for personal authentication and connector
CN117426073A (en) Trusted chain of custody for verifiable credentials
Khokhariya et al. DAMBNFT: document authentication model through blockchain and non-fungible tokens
GB2499193A (en) Public private key usage in a Database System for Secure Storage and Communication of Information
GB2499269A (en) Biometric information generation of a secure keychain

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20210120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210409

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210409

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211007

R150 Certificate of patent or registration of utility model

Ref document number: 6978168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250