JP7157864B2 - Authenticator of dynamic passwords generated based on distributed ledger - Google Patents

Authenticator of dynamic passwords generated based on distributed ledger Download PDF

Info

Publication number
JP7157864B2
JP7157864B2 JP2021205792A JP2021205792A JP7157864B2 JP 7157864 B2 JP7157864 B2 JP 7157864B2 JP 2021205792 A JP2021205792 A JP 2021205792A JP 2021205792 A JP2021205792 A JP 2021205792A JP 7157864 B2 JP7157864 B2 JP 7157864B2
Authority
JP
Japan
Prior art keywords
terminal
otp
key
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
JP2021205792A
Other languages
Japanese (ja)
Other versions
JP2022091158A (en
Inventor
克弥 西沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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
Priority claimed from JP2021121886A external-priority patent/JP7007077B1/en
Application filed by Individual filed Critical Individual
Priority to JP2021205792A priority Critical patent/JP7157864B2/en
Priority to JP2022016773A priority patent/JP7245936B2/en
Publication of JP2022091158A publication Critical patent/JP2022091158A/en
Application granted granted Critical
Publication of JP7157864B2 publication Critical patent/JP7157864B2/en
Priority to JP2022179929A priority patent/JP2023015252A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

特許法第30条第2項適用 令和2年2月22日にnote.com(運営会社は東京都港区北青山3-1-2のnote株式会社)にて出願番号の発明の発明者である西沢克弥はペンネーム槍建としや名義で掲載アドレス(https://note.com/toshiyasingular/n/n7a9e0fd0f767)にてブロックチェーンのブロック番号(ブロックナンバー)を用いたTOTP及び疑似乱数生成器のアイデアを公開し、た。そして令和2年2月23日(https://note.com/toshiyasingular/n/n6c4e08b578e5)及び2月24日(https://note.com/toshiyasingular/n/n55367ad4d1bc)に同じくnote.comにてユーザー識別子を用いたOTPトークンを用いるブロックチェーンのブロック番号を用いたTOTP認証の概念やプログラムコードについて公開した。さらに西沢克弥はOTP認証システムの開発と発明の実施を行い令和2年4月17日にブロック番号BnベースのTOTPの生成と認証に関するコントラクトをパブリックなブロックチェーンのイーサリアムのRopstenテストネットにデプロイし公開し、令和2年5月26日にGitHub.com(運営会社はGithub.inc、米国カリフォルニア州サンフランシスコ市)においてウェブサイト上でTOTP及びOTP認証プログラムの基礎的な公開をした。(公開先はhttps://github.com/NZRI-AZRI/ERC721LT-OTP-GEN-AUTH。)同年7月9日にもOTP認証システムのコントラクトとウェブサイト・ウェブアプリを公開した。さらにOTP認証システムを用いたウェブサイトログイン・紙のチケット・暗号化データ復号への用途の概念に関わる概念を令和2年7月13日にhttps://github.com/NZRI-AZRI/cryhon及びhttps://github.com/NZRI-AZRI/cryhon/blob/master/Crybon-ERC721KI.pdfにて公開した。Application of Article 30, Paragraph 2 of the Patent Act On February 22, 2020, note. Katsuya Nishizawa, the inventor of the invention with the application number, posted at the address (https://note. com/toshiyasingular/n/n7a9e0fd0f767) published the idea of TOTP and a pseudo-random number generator using the block number of the blockchain. And on February 23, 2020 (https://note.com/toshiyasingular/n/n6c4e08b578e5) and February 24 (https://note.com/toshiyasingular/n/n55367ad4d1bc), the same note. com, we published the concept and program code of TOTP authentication using the block number of the block chain that uses the OTP token using the user identifier. In addition, Katsuya Nishizawa developed an OTP authentication system and implemented the invention, and on April 17, 2020, deployed a contract for generating and authenticating TOTP based on block number Bn to the public blockchain Ethereum Ropsten testnet. It was released to the public, and on May 26, 2020, GitHub. com (operated by Github.inc, San Francisco, Calif., USA) has made a basic disclosure of the TOTP and OTP certification programs on its website. (Published to https://github.com/NZRI-AZRI/ERC721LT-OTP-GEN-AUTH.) On July 9th of the same year, the OTP authentication system contract, website and web application were released. Furthermore, on July 13, 2020, the concept related to the concept of application to website login, paper ticket, and encrypted data decryption using the OTP authentication system was posted on https://github. com/NZRI-AZRI/cryhon and https://github. com/NZRI-AZRI/cryhon/blob/master/Crybon-ERC721KI. Published in pdf.

特許法第30条第2項適用 またGitHubを用いてソースコードを掲載しながら米Heroku社のHerokuというウェブサイト開発プラットフォームにて、OTP認証時にIPアドレスを収集する事を意図した番号BnベースのTOTP認証に関するウェブページを令和2年4月26日にhttps://otp-ropsten-test.herokuapp.com/にて公開した。また同年7月29日にはコンテンツ閲覧用サイトの例としてhttps://cryhon.herokuapp.com/を公開している。発明者の用いたコントラクトをブロックチェーンにデプロイするために用いたイーサリアムテストネットのアドレスは0x0f398803BE4319B98F164cae47589797aC5cF906と0x7E86eFE660D77FA874338aDAf8be88f8cAED3c27と0x86904339D23BF346C1FFF31Cc3Bb7262fa59d837を用いており、前記イーサリアムアドレスについて本発明に関するトランザクションが記録され公開されている。次に1番目のアドレスの検索URIを例として次に2つ示す。https://ropsten.etherscan.io/address/0x0f398803BE4319B98F164cae47589797aC5cF906、https://rinkeby.etherscan.io/address/0x0f398803BE4319B98F164cae47589797aC5cF906 。Application of Article 30, Paragraph 2 of the Patent Act In addition, while posting the source code using GitHub, the number Bn-based TOTP intended to collect IP addresses at the time of OTP authentication on the Heroku website development platform of the US company Heroku. A web page regarding certification will be posted on April 26, 2020 at https://otp-ropsten-test. heroku app. com/. On July 29 of the same year, https://cryhon.com was released as an example of a content browsing site. heroku app. com/ is open to the public.発明者の用いたコントラクトをブロックチェーンにデプロイするために用いたイーサリアムテストネットのアドレスは0x0f398803BE4319B98F164cae47589797aC5cF906と0x7E86eFE660D77FA874338aDAf8be88f8cAED3c27と0x86904339D23BF346C1FFF31Cc3Bb7262fa59d837を用いており、前記イーサリアムアドレスについて本発明に関するトランザクションが記録され公開されている。 Next, two search URIs for the first address are shown below. https://ropsten. etherscan. io/address/0x0f398803BE4319B98F164cae47589797aC5cF906, https://rinkeby. etherscan. io/address/0x0f398803BE4319B98F164cae47589797aC5cF906.

本発明は利用者の認証を行うシステムや装置に関するものである。 The present invention relates to systems and devices for user authentication.

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

そこでユーザー本人を確認する方法にパスワード以外の方法を組み合わせる必要がある。
本人を確認し認証する方法として多く分けて、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 the method of confirming the user's identity.
Methods for confirming and authenticating an individual are mainly divided into the following three categories: 1. 2. knowledge that the person knows; Personal belongings; 3. There are three biological characteristics of the person himself. Examples include:
1. The knowledge that the person knows is a password, a password, a four-digit personal identification number, and the like.
Passwords are static. It is also assumed that an attacker illegally obtains a password or performs a password brute force attack. Against the password brute force attack, the person needs to periodically update the password at different times and make it a dynamic password. As for the four-digit personal identification number, it is assumed that a brute force attack will be carried out by inputting personal identification numbers from 0000 to 9999 by brute force.
To combat this, a method is adopted in which the number of unsuccessful authentications is recorded, and authentication is not performed if three to five consecutive authentication failures occur. It is conceivable to record the number of times authentication by PIN is performed, reset the number to zero when the number is successful, and prevent the execution of authentication itself when the number of times exceeds a certain number. For example, in Japan. If you enter the wrong PIN three to five times on your personal number card, the card will be deactivated.
2. The possessions that the person has are a dynamic password generator, an IC cash card, and an individual number card. (Outside the field of electronic computers, keys and seals made of wood, metal, etc. also belong to possessions used for authentication.)
In the present invention, a password that is too long and random to be memorized by ordinary people, for example, when using 256-bit secret key data for public key cryptography, the secret key is printed on paper or recorded in a digital device for use. so it is considered owned. Among the IC cards, the individual number card contains the data of the electronic certificate, and the data and information of the private key recorded in the IC chip of the individual number card cannot be taken out to the outside, so it can be regarded as possession.
In general, the number of numbers and letters that humans can memorize is said to be 7 plus or minus 2 (Note 1). A 32-byte secret key that can express a number exceeding 7, for example, a number to the power of 2 to the 256th power with 256 bits, and a 2048-bit secret key that is used in personal number cards cannot be memorized by humans, and secret key data (secret key data) cannot be stored. Key information) must be printed on paper or stamped on a plate, recorded on a record board or magnetic tape, or stored in a digital device such as an optical disk, magnetic disk, semiconductor memory, etc., rather than the knowledge that the person knows It is owned by the person himself/herself.
A private key, like a seal or a metal key, has the risk of being duplicated if the data representing it is leaked. On the other hand, unlike biometric authentication information, which cannot be updated, at the request of the user, the use of the illegally used private key is stopped, and a new private key is assigned to the user and associated. can be used to switch private keys. The information of the private key does not have to be set to one.
Private keys and dynamic password generators can be updated periodically between the user and the service provider to improve security. Dynamic password generators and updating of private keys are performed by individuals or corporations that provide authentication means corresponding to corresponding services. In addition to dynamic passwords, there is also an authentication method that sends a number table to the customer and checks if the correct numeric character input according to the number table can be entered on the website after login.
In these methods, it is important to continue consensus building between the service provider (bank, etc.) and the user, and the digital authentication means, including the present invention, is used as a means to help consensus building. The present invention is merely a tool like a TOTP token, a paper valuable paper sheet, a metal key, etc. Whether or not a user can receive a service using them is based on an agreement between a user and a service provider or the laws 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. The biometric features of a person include physical information such as fingerprints, face, iris, voice, vein pattern information, and genetic information, and behavioral features such as handwriting, walking, and speaker authentication.
Since biometric authentication uses information possessed by the user, the information that serves as the authentication key stays with the user as long as the user's body is in good health, and is less likely to be lost than a metal key. This characteristic is used for simple login in software such as computer terminal equipment.
On the other hand, changing biometric information is difficult. When biometric information is leaked, it is difficult to change like a metal key or password. It is also conceivable to copy fake biometric features based on biometric data, which is the key to biometric authentication, and break through by misidentifying the authentication sensing device that serves as a lock.
Fingerprints and the like can unlock the device even if the user does not want to log in. In other words, there is a possibility that an attacker may use the user's body to forcibly authenticate the user when the user's intention is not clear.
In biometric authentication, it can be seen that the person's data has been transmitted to the authenticating device, and further factors are required to determine whether it was the person's will. Therefore, when biometric features are used for authentication, multi-factor authentication is preferably combined with authentication based on knowledge or possession.
When dealing with assets such as Internet banking services provided by banks, biometric authentication is used instead of a login password, and a method (password generator) that uses the person's possessions for authentication is used together to create a multi-factor, multi-stage system. are authenticated to enhance security.

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

一方で既存のワンタイムパスワード生成器にも課題があった。例としてインターネットバンキング等のサービスを行う既存のハードウェア型ワンタイムパスワード表示器(ハードウェア型TOTPトークン)では、銀行のサーバ端末とパスワード表示器との時刻を同期させる必要があり、ハードウェア型TOTPトークンが備える時計としての機能を維持し時刻を同期するために利用する電池については電池消耗が起きるため、定期的に電池交換を行うことが必要となり、ワンタイムパスワードの更新する際に顧客に新たなハードウェア型TOTPトークンを郵送ないし配達する必要があり、送料が掛かるという課題があった。(ただしハードウェアTOTPトークンは印鑑と同じく所有できる物でありネットワークに接続されないため、TOTPの計算に用いる秘密にすべきキー情報がネットワーク経由で漏洩しにくいことも期待できる)
またRFC6238規格(非特許文献3)によればパスワードはハッシュ関数の引数に時間Tと、秘密にする必要のあるキー情報K(シード値Kまたはシークレット変数K)を用いてハッシュ値を計算するが、Kについての情報が漏洩した場合にはユーザーのハードウェア型TOTPトークンをすべて更新する必要がある。そこで漏洩の有無に限らずKを定期的な電池交換の際にトークンごと更新することセキュリティを保つともできる。
また既知のハードウェアTOTPトークンの認証用パスワードの表示整数が6桁から7桁であるが、ワンタイムパスワード(OTP)トークンの総当たり攻撃を行う計算機の処理能力が増加する場合には表示整数の桁数を増加させ12ケタなどに更新し変更できてもよく、表示する際の時刻も更新し変更できれば良いかもしれないと発明者は考えた。(発明者は将来に既知の計算機を凌駕する処理力を持つ計算機端末による総当たり攻撃に対抗するためにOTPトークン表示桁数を増減し表示時間も増減できれば良いと考えた。)
On the other hand, existing one-time password generators also had problems. For example, in the existing hardware-type one-time password indicator (hardware-type TOTP token) that provides services such as Internet banking, it is necessary to synchronize the time between the server terminal of the bank and the password indicator. The battery used to maintain the clock function of the token and synchronize the time will wear out, so it will be necessary to replace the battery periodically. There was a problem that it was necessary to mail or deliver a hardware-type TOTP token, which required a shipping fee. (However, since the hardware TOTP token is something that can be owned like a seal and is not connected to the network, it can be expected that the secret key information used for TOTP calculation will not be easily leaked via the network.)
According to the RFC6238 standard (Non-Patent Document 3), the hash value of the password is calculated using time T as an argument of the hash function and key information K (seed value K or secret variable K) that must be kept secret. , K is compromised, all of the user's hardware TOTP tokens need to be updated. Therefore, it is possible to maintain security by updating K with each token when the battery is periodically replaced, regardless of the presence or absence of leakage.
In addition, although the display integer of the authentication password of the known hardware TOTP token is 6 to 7 digits, the display integer may be increased if the processing power of the computer performing the brute force attack of the one-time password (OTP) token increases. The inventor thought that it would be good if the number of digits could be increased and updated to 12 digits or the like, and that the time displayed could also be updated and changed. (In the future, 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 surpassing that of known computers in the future.)

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

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

特許第6757042号Patent No. 6757042 特開2020-144586公報Japanese Patent Application Laid-Open 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], [Searched on November 16, 2020, Reiwa], 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-blockchainIOTA Foundation, "Differences between the Tangle and blockchain", [online], [Searched on November 16, 2020, 2020], 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], [Searched on November 16, 2020, Reiwa], 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's key information K cannot be updated by the service provider or token administrator. Another problem is that there are few methods for viewing content such as encrypted books using OTP. Furthermore, there is also the issue that OTP tokens that solve these problems are not provided, for example, for website login tickets, ticket gates, entrance tickets to movie theaters, etc., and for locking and unlocking systems for facilities and buildings. there were.

本発明は、TOTPの生成においてTの値に主に分散型台帳システムにおいてブロックチェーンのブロック番号Bnを用いること、またはブロックチェーン等分散型台帳システムにおいてKやTをスマートコントラクトの管理者が変更することで動的なパスワードを生成可能にすることを大きな特徴とする。
Tの値はある時刻に変化する値TmまたはTBであって、Tmが分散型台帳システムの時刻変化(時間変化)により自動的に変わるブロック番号Bnを用いるか、スマートコントラクト(コントラクト)の管理者が手動にてTmやKを変えるためのデータ値変更のトランザクションを分散型台帳システムに送信することで変更し更新するかの違いがある。コントラクト管理者が手動にてトランザクションを分散型台帳システムに送信することでKを変更し更新することはTOTPトークンのKを更新することにつながるため本発明では必要な要素である。
(本発明ではコントラクト管理者が手動にてトランザクションを分散型
台帳システムに送信することで変更し更新する事を前提とするが、そのほかにOTPトークンの持ち主のユーザーが設定した送信したトランザクションやOTPトークンの持ち主でもないユーザーの送信したトランザクションによるデータ値を用いてもTOTPのK値を変えることができる場合もある。)
The present invention mainly uses the block number Bn of the blockchain in a distributed ledger system as the value of T in generating TOTP, or changes K and T in a distributed ledger system such as a blockchain by the smart contract administrator. A major feature is that dynamic passwords can be generated by
The value of T is a value Tm or TB that changes at a certain time, and Tm uses a block number Bn that automatically changes according to the time change (time change) of the distributed ledger system, or the smart contract (contract) administrator is manually changed and updated by sending a data value change transaction for changing Tm or K to the distributed ledger system. It is a necessary element in the present invention because the contract manager manually changes and updates K by sending transactions to the distributed ledger system, which leads to updating K in the TOTP token.
(In the present invention, it is assumed that the contract administrator manually changes and updates the transaction by sending it to the distributed ledger system, but in addition, the transaction sent by the user who owns the OTP token and the OTP token It may also be possible to change the TOTP K value using data values from transactions sent by users who are not the owner of 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. The present invention focuses on the block number of the blockchain. For the sake of explanation, the block number is called block number Bn in the present invention. The present invention has devised to use the block number Bn for the time-based numerical value T used in TOTP. In the present invention, this method and the one-time password are called BnTOTP. (Embodiments of the present invention use Ethereum, which is one of the distributed ledger systems that use a blockchain-type data structure, and in Ethereum, the block number Bn is called a block number.)
This name is because TOTP is operated using the number Bn when the block chain is in the Bn-th position counting from the first block data (when the block number is 0) as a variable Bn representing time and time change BnTOTP called. Note that Bn is a number that is the basis of the calculation of BnTOTP, and BnTOTP may be generated using a processed value (a variable that changes according to Bn by obtaining a hash value using a hash function based on Bn).
Also, in addition to generating dynamic one-time password (OTP) tokens based on time, such as TOTP, among the contract variables that access the blockchain at any time and compute OTPs deployed on the blockchain. Focusing on the fact that a dynamic password OWP (Owner Password) can be used by changing the key information K and updating the seed value of the OTP token without using information based on the time T, both TOTP (BnTOTP) and OWP devise and implement an authentication system using
In the present invention, OWP does not use information about the latest time of the block chain such as block number, but the contract manager who manages the contract on the block chain of the authentication system can rewrite the state of the internal variable of the contract at any time A dynamic password scheme in which the password generation values of all OWP scheme OTP tokens belonging to a contract are updated is called OWP.
In both TOTP (BnTOTP) and OWP, the contract internal variables are not limited to one contract, and may be called from different contracts.
BnTOTP uses the fact that the block number Bn automatically changes on the block chain for the clock, and OWP changes by accessing and rewriting by administrators and general users at any time when there is a variable on the block chain. Take advantage of what you are given.
OWP can operate similarly to BnTOTP and TOTP when the user of the administrator can update the seed value by periodically sending signed transactions to the blockchain at the user terminal in OWP. However, while BnTOTP does not require a seed value change transaction, OWP requires a transaction. For example, if OWP and BnTOTP are used as a password generator that is updated every 60 seconds, in the case of OWP, it is necessary to manually or automatically send transaction data every 60 seconds, and the amount of data accumulated on the blockchain is BnTOTP. and occupies the storage area of the terminal storage device that becomes a node of the blockchain. Therefore, in the present invention, BnTOTP and OWP are selectively used depending on the application.
BnTOTP is used for web services connected to the network that wish to update the BnTOTP value every tens of seconds via the network, and OWP is used when disconnected from the network or for a long period of time (from several months to several years). It is used for web services that may have an OWP value of , valuable paper sheets using paper or NFC tags, and keys for unlocking locks.

なお本発明ではブロックチェーン基盤の一つであるイーサリアム(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 addition, in the present invention, an OTP token that generates and authenticates BnTOTP and OWP using blockchain and smart contract using Ethereum (Ethereum, Non-Patent Document 1), which is one of the blockchain infrastructures, and an authentication system that uses the contract. devised and implemented. The present invention is developed based on Ethereum, and part of the description of the terminal that will be the node that constitutes the blockchain and the description of the user terminal are as described in Non-Patent Document 1, and the details are described in this patent application. Not described.
In addition, the explanations and diagrams described in this patent application are explanations on the basis on which Ethereum can be used, and all the explanations necessary for execution on Ethereum are not described, and Ethereum operates as a distributed ledger system. Regarding, the known non-patent document 1 will be mainly described. FIG. 9A illustrates the operation of the inventive contract on the Ethereum blockchain. FIG. 9B is an explanatory diagram of the operation of the present invention in a directed acyclic graph type distributed ledger system.
In Figures 9A and 9B, OWP password behavior is enabled from smart contracts. Since there is information derived from the block number of the latest data block and block data in the block chain of FIG. 9A, it can be used to calculate TOTP, but also in FIG. Hash values and timestamps are entered in each data block (chunk), and if time information can be obtained from the latest data chunk or if time information can be given to a distributed ledger system, BnTOTP type or TOTP type password can be generated.
The main feature of the present invention is to use an OWP type password. By changing K inside the OTP token contract on the blockchain, it is possible to change all the passwords displayed by the token issued by the OTP token contract. Pseudo TOTP can be realized by changing the OWP password every certain time.
OWP passwords, on the other hand, require transactions to be sent to a distributed ledger system. In order to implement TOTP on a distributed ledger, when a contract manager or the like sends transactions to a distributed ledger system, network traffic can increase. Also, the amount of transaction data increases, and the storage capacity of the node terminal may increase.
OWP type password that allows the contract administrator to change the K value when necessary or when necessary (once every few weeks, months, or years), and an interval of 60 seconds, etc. For TOTP applications where you want to update your password frequently, use 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 to generate a dynamic password. Authentication helps reduce network traffic and reduces the amount of space used by the block chain part 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 a software TOTP token based on the blockchain and its network instead of a hardware type TOTP token, so that the service provider can update the key information of the token without battery replacement. The most important feature is that it is an authentication system in which the time-based variable Tm is changed in the block data to the time-varying variable T in the RFC6238 standard.
Furthermore, the main feature is that it is an authentication system that uses the block number variable Bn for the latest block data on the block chain as the time-varying variable T in the RFC6238 standard of the TOTP token.

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

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

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

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

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

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

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

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

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

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

図1はブロックチェーンを用いたワンタイムパスワードの生成と認証の実施方法を示した説明図である。FIG. 1 is an explanatory diagram showing a method of generating and authenticating a one-time password using a blockchain. 図1Aは本発明のブロックチェーンを用いたワンタイムパスワード(OTP)の生成と認証の方法をサーバ端末に利用する際の概念を示した説明図である。FIG. 1A is an explanatory diagram showing the concept of applying the one-time password (OTP) generation and authentication method using the blockchain of the present invention to a server terminal. 図1Bは本発明のブロックチェーンを用いたOTP認証システムを通じて暗号化されたデータを復号する方法の概念を示した説明図である。FIG. 1B is an explanatory diagram showing the concept of a method of decrypting encrypted data through the OTP authentication system using blockchain of the present invention. 図2Aは本発明の認証システムを用いて認証を行うユーザーUAの端末DAの説明図である。FIG. 2A is an explanatory diagram of a terminal DA of a user UA that authenticates 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), an input/output device, etc. of the terminal DA of the user who authenticates using the authentication system of the present invention. 図2Bは図2Aとは異なるユーザーUBの端末DBの説明図である。端末DAと端末DBの機能は同等である。秘密鍵情報が異なる。FIG. 2B is an explanatory diagram of the terminal DB of the user UB different from FIG. 2A. The functions of terminal DA and terminal DB are equivalent. Private key information is different. 図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 terminals DA and DC are equivalent. Private key information is different. 図3Aは分散型台帳システムDLSを構成するブロックチェーン部を持ちネットワーク20に接続されるブロックチェーンのノードとなるサーバ端末3Aの説明図である。FIG. 3A is an explanatory diagram of a server terminal 3A, which is a block chain node connected to a network 20 and has a block chain unit that constitutes the distributed ledger system DLS. 図3AAは図3Aの端末3Aの制御部と記憶部および記憶部に記録されたブロックチェーン部のスマートコントラクト(コントラクト)の説明図である。FIG. 3AA is an explanatory diagram of the control unit and storage unit of the terminal 3A in FIG. 3A and the smart contract of the block chain unit recorded in the storage unit. 図3ABは図3Aの端末3Aの記憶部に記録されたブロックチェーン部のコントラクトの説明図の一つである。FIG. 3AB is one of explanatory diagrams of the contract of the block chain unit recorded in the storage unit of the terminal 3A of FIG. 3A. 図3ACは図3Aの端末3Aの記憶部に記録された譲渡制限機能やOTPの文字数・桁数とOTPの認証待受時間を変更可能なブロックチェーン部のコントラクトの具体例の説明図である。FIG. 3AC is an explanatory diagram of a specific example of a contract of a block chain unit that can change the transfer restriction function, the number of characters/digits of OTP, and the authentication standby time of OTP recorded in the storage unit of terminal 3A of FIG. 3A. 図3Bは図3AのサーバP(3A)と同じブロックチェーン部を持ちネットワーク20上で分散型台帳システムDLSを構成するノードとなる端末3Bの説明図である。FIG. 3B is an explanatory diagram of a terminal 3B that has the same block chain unit as the server P (3A) in FIG. 図3Cはウェブサイト(ウェブページ、ウェブアプリ)へのログイン等で本発明の認証を行う場合のサービスを行うサーバ端末3Cの説明図である。FIG. 3C is an explanatory diagram of a server terminal 3C that performs a service when performing authentication according to the present invention by logging in to a website (web page, web application) or the like. 図3Dは印刷物や表示画面及びNFCタグに記録された本発明の認証情報を記録した有価紙葉や鍵を読み取り認証を行いサービスを行う端末3Dの説明図であるFIG. 3D is an explanatory diagram of a terminal 3D that performs authentication by reading printed matter, a display screen, valuable paper sheets and keys on which the authentication information of the present invention recorded on NFC tags is recorded, and providing services. 図3DAは図3Dに記載のサーバSVLog(端末3D)の記憶部(記憶装置、30D)と入出力装置(34D、35D)に関する説明図である。FIG. 3DA is an explanatory diagram relating to the storage unit (storage device, 30D) and input/output devices (34D, 35D) of the server SVLog (terminal 3D) shown in FIG. 3D. 図3EはOTPトークンの購入または紙及びNFCタグに対しOTP認証情報を出力しチケットや有価紙葉や鍵等を発券するサービスを行うサーバ端末3Eの説明図であるFIG. 3E is an explanatory diagram of a server terminal 3E that performs a service of purchasing OTP tokens or outputting OTP authentication information to paper and NFC tags to issue tickets, valuable paper sheets, keys, and the like. 図3Fはユーザ端末に対しサーバP(3A)に記録されたブロックチェーン情報からトランザクション情報やOTPトークン情報を検索・監視・通知を行うサーバ端末3Fの説明図である。FIG. 3F is an explanatory diagram of a server terminal 3F that searches, monitors, and notifies a user terminal of transaction information and OTP token information from block chain information recorded in the server P (3A). 図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 browsing, viewing, or using. 図4Bは本発明の認証システムを用いて暗号化データを復号し閲覧視聴または利用する端末(4A)の記憶装置に関する説明図(実施の例)である。FIG. 4B is an explanatory diagram (embodiment) relating to the storage device of the terminal (4A) that decrypts the encrypted data using the authentication system of the present invention and browses, views, or uses the data. 図4Cは図4Bにおいて端末4Aの記憶装置に平文データ4035Aが暗号化もしくは難読化されてソフトウェア403Aの4030Aに内蔵されるときの説明図である。FIG. 4C is an explanatory diagram when plaintext data 4035A is encrypted or obfuscated in the storage device of terminal 4A in FIG. 4B and incorporated in 4030A of software 403A. 図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) that browses, views, or uses the data. 図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) that browses/views or uses the encrypted data through a network. 図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 sends the encrypted data by broadcasting to a terminal (4A) that browses, views, or uses the data. 図6Aは本発明においてOTPトークンの保有者にOTPを生成する関数の処理を示したフローチャート図である。基礎的なOTP生成関数である。FIG. 6A is a flow chart diagram illustrating the processing of a function that generates an OTP for an OTP token holder in the present invention. Basic OTP generation function. 図6Bは本発明においてOTPトークンの保有者にOTP生成回数記録機能を備えたOTPを生成する関数の処理を示したフローチャート図である。FIG. 6B is a flow chart diagram showing processing of a function for generating an OTP having a function of recording the number of OTP generations for the holder of the OTP token in the present invention. 図6Cは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者をトークン保有者のユーザー識別子に限定する場合のOTPを認証する関数のフローチャート図である。FIG. 6C is a flow chart diagram of a function for authenticating OTP in the case of limiting the accessor to be authenticated to the user identifier of the token owner with the function of recording the number of times of OTP authentication in the present invention. 図6Dは本発明においてOTP認証回数等記録機能を備えた認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。FIG. 6D is a flow chart diagram of a function for authenticating OTP in the case of not limiting an accessor to be authenticated with a recording function such as the number of times of OTP authentication in the present invention. 図6Eは本発明において図6CからOTP認証回数等記録機能を除いた場合のOTPを認証する関数のフローチャート図である。FIG. 6E is a flowchart of a function for authenticating an OTP when the OTP authentication count recording function is removed from FIG. 6C in the present invention. 図6Fは本発明において認証するアクセス者を限定しない場合のOTPを認証する関数のフローチャート図である。基礎的なOTP認証関数である。FIG. 6F is a flow chart diagram of a function for authenticating an OTP when the authenticated accessor is not limited in the present invention. Basic OTP authentication function. 図6Gは本発明においてOTP認証回数等記録機能を備えたOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。FIG. 6G is a flow chart showing processing of a function for determining whether an access is made by an owner of an OTP token having a function of recording the number of times of OTP authentication, etc., and authenticating the OTP in the present invention. 図6Hは本発明においてOTPトークンの保有者のアクセスか判断してOTPを認証する関数の処理を示したフローチャート図である。FIG. 6H is a flow chart diagram showing processing of a function for determining whether an access is made by an OTP token owner and authenticating the OTP in the present invention. 図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 provides services using the authentication system of the present invention. It is a chart. 図7Aは本発明の認証システムを説明するシーケンス図の一つである(TBには主にブロック番号Bnを用いる。BnTOTP型パスワードの説明図でもある)。FIG. 7A is one of sequence diagrams explaining the authentication system of the present invention (TB mainly uses block number Bn. It is also an explanatory diagram of BnTOTP type password). 図7Bは本発明においてパスワードOWPを算出するシード値となるコントラクトの内部変数KCやBCをコントラクトの管理者が関数fscbを用いて変更できる際の認証のシーケンス説明図である。FIG. 7B is an explanatory diagram of the authentication sequence when the contract manager can change the contract internal variables KC and BC, which are the seed values for calculating the password OWP in the present invention, using the function fscb. 図7CAは本発明において暗号化されたデータを復号して復号された平文データを閲覧・視聴・プログラムとして実行する際のシーケンス図である。FIG. 7CA is a sequence diagram when the encrypted data is decrypted and the decrypted plaintext data is browsed/viewed/executed as a program in the present invention. 図7CBは本発明において平文データを暗号化し暗号化データを配布・配信する際のシーケンス説明図である。FIG. 7CB is a sequence explanatory diagram for encrypting plaintext data and distributing/distributing the encrypted data in the present invention. 図7CCは本発明において閲覧済みの暗号化データをネットワークに接続されていないオフライン状態で復号し平文データとして閲覧する際のシーケンス説明図である。FIG. 7CC is a sequence explanatory diagram for decrypting browsed encrypted data in an off-line state not connected to a network and browsing as plaintext data in the present invention. 図7Dは本発明においてウェブサイト・ウェブアプリ等ウェブベースのサービスにログインする際の認証システムの動作を説明するシーケンス図である。FIG. 7D is a sequence diagram illustrating the operation of the authentication system when logging into a web-based service such as a website/web application in the present invention. 図7Eは本発明において例として有価紙葉またはNFCタグを用いてパスワードOWPにより認証しサービスの入場・解錠・始動を行うことを説明するシーケンス図である。FIG. 7E is a sequence diagram for explaining how a valuable paper or NFC tag is used as an example in the present invention to authenticate with a password OWP and to enter, unlock, and start a service. 図8Aはウェブサイトログイン時の端末の接続を説明する図である。(実施例1、実施形態1)FIG. 8A is a diagram for explaining 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 terminals when using valuable paper sheets or keys using printed matter and NFC tags. (Example 2, Embodiment 2) 図8Cは通信ネットワークを通じて暗号化データを配信(配布)する場合においてソフトウェアCRHN(403A)を利用する端末の接続を説明する図である。(実施例3、実施形態3)FIG. 8C is a diagram for explaining connection of terminals using software CRHN (403A) when delivering (distributing) encrypted data through a communication network. (Example 3, Embodiment 3) 図8Dはデータ放送により暗号化データを放送する場合においてソフトウェアCRHN(403A)を利用する端末の接続を説明する図である。(実施形態3の他の実施例)FIG. 8D is a diagram for explaining connection of terminals using software CRHN (403A) when encrypted data is broadcast by data broadcasting. (Another Example of Embodiment 3) 分散型台帳システムDLS(分散型台帳システムDLS)にブロックチェーン型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a figure explaining the outline|summary of the authentication system by the OTP token which used the block chain type data structure for distributed ledger system DLS (distributed ledger system DLS). 分散型台帳システムDLS(分散型台帳システムDLS)に有向非巡回グラフ型のデータ構造を用いたOTPトークンによる認証システムの概要を説明する図である。BRIEF DESCRIPTION OF THE DRAWINGS It is a figure explaining the outline|summary of the authentication system by the OTP token using the directed acyclic graph type data structure for 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 invention consists of several elements. A representative illustration is FIG. 8A, 8B, 8C, and 8D are explanatory diagrams of connection of terminals used in FIG. A computer terminal (computer terminal) such as a server terminal or a user terminal used in the present invention comprises a control arithmetic device (control device, arithmetic device), a storage device, an input device, and an output device as five major computer devices. In the terminal, the control arithmetic device, the storage device, the input device and the output device are connected by wiring such as a patterned conductor circuit or an electric wire. Further, the connection between the control arithmetic device (control device, arithmetic device), the storage device, the input device and the output device may be by wire (electrical cable or optical fiber) or wirelessly. The terminal includes a wireless or wired communication control device (communication device) and is connected to the network 20, an external terminal, etc., and may also be connected to an external storage device and an input/output device. The terminal is equipped with a power supply and supplies power to drive the computer terminal.
Even if it is a computer that uses some kind of quantum rather than an electronic computer, or a classical computer that uses machines such as gears that use mechanical energy without using electric power or electron movement, that is, a computer terminal that is not bound by the framework of an electronic computer. Anything that uses a storage device such as printed information on paper, a semiconductor memory, a magnetic disk, an optical disk, a hash function, and a distributed ledger described in the present invention may fall within the scope of the present invention.
1. User UA terminal DA (terminal 1A)
A user UA having a computer terminal DA or a terminal 1A (terminal 1A in FIGS. 1, 2A and 2AA) that displays or authenticates an OTP using an OTP token of the present invention, and its terminal 1A.
The terminal 1A stores a program for accessing a block chain server 3A, etc., a URI indicating a server P to be accessed (server 3A in FIG. 3A), etc., a private key PRVA (in FIG. 2AA Private key information 101A) is provided. A terminal 1A has a communication device 12A and accesses a server 3A via a network 20. FIG.
When accessing the server 3A to request OTP generation, the present invention assigned to the user identifier A calculated from the private keys PRVA101A and PRVA101A as described in the flow chart of the OTP generation function in FIGS. 6A and 6B. requires an OTP token with a token number TIDA of An OTP token with a token number TIDA of the present invention assigned to user identifier A calculated from private keys PRVA101A and 101A may also be required when requesting authentication of the OTP (FIGS. 6C, 6E, FIG. 6G, FIG. 6H), and the flow chart of the OTP authentication function in FIGS. 6F and 6D may not require the process of determining whether User Identifier A or an OTP token is assigned to User Identifier A and possesses it. can.
In addition to the user UA of the terminal 1A, there are also a user UB of the terminal 1B, a user UC of the terminal 1C, and a user UP of the terminal 4A. The terminal 4A, like the terminal 1A, is one type of user terminal that performs this authentication system. In the present invention, user UP and user UA are the same person, and secret key 101A and secret key 401A are the same, but symbols are sometimes changed for explanation.

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. Server P (Server 3A)
<Specific premises in the examples, etc.>
In the present invention, as shown in FIG. 1, a server P (3A), a server B (3B), etc., which are nodes equipped with a block chain unit that constitutes a distributed ledger system DLS such as a block chain, can be encrypted through a network 20 interconnected. Ethereum was used for distributed ledger system DLS such as blockchain. A known Ethereum is created approximately every 15 seconds (15 seconds is the value set when creating a blockchain such as Ethereum, and the creator of the blockchain can create it in any number of seconds, such as 15 seconds or 4 seconds. ), a new block is connected to the blockchain, and approximately block number Bn×15 seconds have elapsed since the time when the block number was zero.
Proof-of-work type (PoW type) for consensus building and consensus algorithm between nodes that make up the blockchain such as terminals 3A and 3B for connecting new data blocks to the blockchain on the Ethereum mainnet and testnet , Proof of Work) or Proof of Authority type (PoA type, Proof of Authority) or Proof of Stake type (PoS type, Proof of Stake) exists, and other blocks Chain-type distributed ledger systems also include Practical Byzantine Fault Tolerance (PBFT). In order to implement the present invention, the proof of authority type, practical byzantine fault tolerance type, and proof of stake type, which can be expected to consume less power and process more transactions, 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 related to consensus building algorithms for distributed ledger systems, consensus building will not be discussed in depth, but in the embodiments of the present invention, testing of Ethereum using proof of work type or proof of authority type The net was used to develop and implement the present invention.
Here, in the present invention, it is assumed that the control unit (31A) and the storage unit (30A) of the server P (3A) are equipped with equipment capable of forming and processing Ethereum, which is one of the blockchain infrastructures, in the blockchain unit. do. In the present application, all the elements that implement the blockchain system using Ethereum are not described, but in the present invention, user terminals (1A and 4A in FIGS. 1A and 1B) and server terminals 3A, 3B, 3C, 3D, 3E, 3F, 5A, 5B, 5C, etc. may have blockchain controllers and blockchain data recorders that can become Ethereum nodes. The server P (3A) is connected to the network 20 through the communication device 32A and is connected to another block chain node terminal 3B and a plurality of terminals corresponding to 3B via the network 20 to form a distributed ledger 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)が記録されている。ある識別子に対しコントラクトからトークンが発行されていたり、異なるユーザー識別子間で譲渡されるなどした最終的な所有情報が記録されている。
ブロックチェーン上ではコントラクト作成や譲渡記録やコントラクトの内部変数の変更に関するトランザクションは改ざん困難な状態で記録されており過去のトークンの保有履歴情報は消去できない。一度ブロックチェーンに記録されデプロイされたコントラクトのプログラムも改ざんが行われない。
A user's computer terminal DA (terminal 1A) or terminal DC (terminal 1C) accesses a server 3A having a block chain part through a network NT (network 20) (Fig. 1A).
It is assumed that the server 3A is installed with an operating system and web browser software and can execute ECMAScript (ISO/IEC 16262) and the like. Then, install client software such as Ethereum client software geth (Go Ethereum, https://github.com/ethereum/go-ethereum, viewed January 3, 2021), which will be an Ethereum node, and run the client software. and is working. And as an example, the Ethereum block chain is recorded in the recording unit.
Ethereum has two types of accounts: user accounts (EOA: Externally Owned Accounts) and contract accounts. In the present invention, the user account EOA is called a user identifier, and the contract account is called a contract identifier as the address of the smart contract.
In the present invention, Ethereum is used as the foundation of the blockchain, and the contract is based on the smart contract standard for non-fungible tokens of the ERC721 standard. The following three references are cited for the ERC721 standard. 1. Ethereum Foundation, https://eips.ethereum.org/EIPS/eip-721, accessed December 11, 2020, 2. OpenZeppelin, https://docs.openzeppelin.com/contracts/3.x/erc721, accessed 11 December 2020, 3. 0xcert.org, https://github.com/0xcert/ethereum-erc721, 2020. Viewed on December 11th.
In Ethereum, in the smart contract of the ERC721 standard, the administrator of the contract (with the user identifier C calculated from the secret key 101C) issues a token in one unit and sends it to the user identifiers A and B who are users. A token conforming to the ERC721 standard is issued to a user identifier A by associating a token ID represented by an unsigned integer type variable with a user identifier A who is the holder of the token ID.
Here, in the present invention, a token ID in the ERC721 standard is called a token number. Information that user identifier A owns token number TIDA is recorded in the contract.
For example, like 3014A in FIG. 3AC, user identifier A records ownership information (3015A) of a token having a TIDA number, and user identifier B records ownership information (3016A) of a token having a TIDB number. It records the final ownership information such as tokens issued from the contract for a certain identifier or transferred between different user identifiers.
On the blockchain, transactions related to contract creation, transfer records, and changes to contract internal variables are recorded in a state that is difficult to falsify, and past token holding history information cannot be erased. The contract program once recorded and deployed on the blockchain 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 distributed ledger used in the present invention>
In implementing the present invention, Ethereum was used as the foundation of the blockchain. In addition, ERC721 standard tokens used in Ethereum are considered to be usable for issuing non-fungible tokens with OTP on Ethereum, and were adopted when implementing the present invention.
A smart contract (contract) in which a one-time password (OTP)-related program is provided in an ERC721 standard token is used as the contract for the OTP token of the authentication system of the present invention. Although the ERC721 standard is used in the implementation here, this is one embodiment of the present invention, and any smart contract that can provide the functionality of the OTP token of the present invention on a distributed ledger can implement the present invention. . The OTP tokens of the present invention are not limited to ERC721 standards or similar tokens and token smart contracts.
In the present invention, an OTP token or an OTP generation token/OTP generation contract indicates a contract that performs processing such as ownership of a token that generates an OTP, token issuance processing, token transmission processing, and display of information such as the name of the token. The OTP authentication contract or the OTP authentication function inside the OTP authentication contract has variables and a processing unit for calculating an OTP that matches the OTP generation function of the OTP generation contract, and can perform OTP generation and authentication processing. FIG. 3AA, FIG. 3AB, and FIG. 3AC are explanatory diagrams of the contract, and FIG. 3DA shows an example when the terminal 3D has the authentication function instead of the terminal 3A.
In the diagram for explaining the server group (3A, 3B, etc.) having the blockchain part and the terminal (1A, 1C, etc.) connected to the blockchain part, the Ethereum blockchain used in the example and the control part ( processing unit) and a storage unit (recording unit).
The details of the controller and storage will follow the Ethereum specification and apply 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) that can issue an ERC721-type OTP generation token is used. Then, the OTP generation contract is provided with an OTP authentication function that can be set to the same value as the seed value used for OTP generation in the OTP generation contract, or an OTP authentication contract is created separately and the OTP authentication contract is provided with the OTP authentication function. ,
The OTP generated by the OTP generation function is output to the user terminal 1A or 4A, etc., and the output OTP and information necessary for OTP authentication are transmitted from the user terminal 1A or 4A to the OTP authentication function of the contract related to OTP authentication or to the terminal 3D. The OTP is input to the installed OTP authentication function to verify whether or not the OTP is correct.
In this way, the OTP generation token of the present invention is obtained by equipping the ERC721 standard with an OTP generation function. It is something that can be owned and used on a distributed ledger such as.

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

<トークンの譲渡と譲渡制限>
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関数の実行を制御する真偽値の変数を書き換えることで譲渡できる状態と譲渡できない状態の切り替えを可能にした。
(トークンの譲渡制限は異なるユーザ識別子間でのトークンの所有情報の書き換えを制限する。ユーザ識別子はユーザの秘密鍵に対応しておりトークンの譲渡制限は実態としては異なる秘密鍵間でのトークンのやり取りを制限する。)
<Token transfer and transfer restrictions>
According to the ERC721 standard, token transmission/transfer can be freely performed between different user identifiers.
Since the OTP generating token (OTP token) of the present invention conforms to the ERC721 standard, the token number TIDA can be sent to a user such as user identifier B if the user with user identifier A desires. Token transmission is performed using the token transmission function (3040A in FIG. 3AC) in FIG. 3AC. In the ERC721 standard, there is no function for the contract manager to prohibit the transmission of tokens, but in the present invention, it is possible to stop or permit the execution of 3040A using transfer restriction variables and functions (3041A).
In the present invention, it was also necessary to limit the transfer of tokens such as bank one-time password tokens, tickets and membership rights that are prohibited from being transferred, or tokens that are not transferable. function), and a group of functions (approve function) related to permission of transmission are provided. Made it possible to change and restrict transfer.
Specifically, a true/false variable that controls the execution of the transfer function and a true/false variable that controls the execution of the approve function are set in the contract (true/false as a global function that can be accessed from all functions within the contract). value variable), has a function taf which is a setter accessible only by the identifier C of the contract manager (C is calculated from 101C of terminal 1C), and taf controls the execution of the transfer function. By rewriting the false value variable and the true/false value variable that controls the execution of the approve function, it is possible to switch between the transferable state and the non-transferable state.
(The token transfer restriction restricts the rewriting of token ownership information between different user identifiers. The user identifier corresponds to the user's secret key, and the token transfer restriction actually restricts the token transfer between different secret keys.) limit interactions).

<ワンタイムパスワードにかかわるコントラクト(スマートコントラクト)>
本発明においてブロックチェーン上にワンタイムパスワードトークン(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が一致するようセッター関数など一致できるようにする手段を備える必要がある。
<Contracts related to one-time passwords (smart contracts)>
In the present invention, one-time password tokens (OTP tokens) are issued to users on the blockchain (token allocation, correspondence), token transmission (token transfer between users), rating information acquisition, token name Acquisition of information, acquisition of URI information of tokens, etc. can be performed. Then, the secret value KC, a variable TB that changes with time (the block number Bn is used as TB in the present invention), the token number TIDA, and the seed value S generated based on the user identifier A are used as arguments of the hash function fh. There is a one-time password generation contract (3008A or 3008AG shown in FIGS. 3AA, 3AB, 3AC) with a one-time password generation function that takes a value and returns it as a one-time password.
Further, in the function or contract for authenticating the one-time password of the present invention, the seed value S and the hash function fh used in the function for generating the one-time password are used to verify the function input as an argument in the function for authenticating the one-time password. If you can synchronize the seed value and hash function used for , you can confirm that it matches when it is the correct password. (Flowcharts explaining the processing of the one-time password OTP generation function 3009A are shown in FIGS. 6A and 6B. Flowcharts explaining the processing of the one-time password OTP authentication function 3018A are shown in FIGS. 6C, 6D, 6E, and 6F. 6G and Figure 6H.)
The OTP authentication function may be embedded in the OTP generation contract containing the OTP generation function, or the OTP authentication function may be embedded in the OTP authentication contract in order to store the OTP generation contract and the OTP authentication function separately. The OTP authentication contract may be separated and recorded in block data with the same block number or different block numbers on the blockchain.
Alternatively, the terminal 3D, which is not connected to the network, may have the OTP authentication function and the terminal 3A on the network may have the OTP generation function, and the terminal 1A may use the OTP obtained at the terminal 3A for authentication at the terminal 3D.
The contract may be recorded in other blockchains with different authentication functions and generation functions, and the system may divide OTP generation and authentication between the two blockchains. The calculation method, hash function fh, and seed value S used for password calculation of the recorded OTP generation function and OTP authentication function must match.
As an example, the seed values A, TIDA, KC, and Bn of the function arguments used in the flow charts of the OTP generation function in FIG. 6A and the OTP authentication function in FIG. It is necessary that the same OTP can be calculated by the function and the OTP authentication function, and after obtaining the hash value from the seed value and the hash function in F107 of FIG. In the case of an N-digit unsigned integer OTP, the OTP authentication function also obtains the remainder in the same way. The OTPs calculated by the generating function must match and synchronize.
Among the seed values, A and TIDA are token numbers corresponding to OTP token holders and serial numbers of owned tokens and are user-derived variables, but KC is a value that can be updated by the contract administrator, so the KC value can be matched by the OTP generation function and the OTP authentication function.
Also, the variable Tm that changes at a certain time T, such as the seed value Bn and BC, must also match. It is necessary to provide means for matching when a phenomenon occurs in which the generation functions do not match.
Contracts with OTP authentication functions and OTP generation functions deployed on the same blockchain (same blockchain identifier, distributed ledger system identifier) can use the same Bn, but the OTP authentication function can be used between different blockchain identifiers. and OTP generation function, when operating by adding or subtracting a correction value to Bn that differs between blockchain identifiers, if Bn does not match, setter so that Bn will match It is necessary to provide some means, such as a function, to allow matching.

<ワンタイムパスワードの算出>
ユーザ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 access from the terminal DA (terminal 1A) of the user UA. A user identifier A is calculated from the private key PRVA (private key 101A) recorded in the storage device of the terminal 1A.
As a supplement, in Ethereum, the public key is calculated from the private key, the hash value of the public key is calculated using a hash function, and the hash value is cut off and used as the user identifier. Specifically, Ethereum creates a 64-byte public key from a 32-byte private key using a method called Secp256k1, which is based on an elliptic curve. It is also used for signatures (Elliptic Curve Digital Signature Algorithm, ECDSA). Then, for the 64-byte public key, a 32-byte hash value is obtained using a hash function similar to SHA-3 called Keccak-256, and a part of it is removed, and the remaining information is the user identifier (anonymized identifier). and
In the contract of the present invention programmed in the block chain according to the data in the block chain part and the block chain recording part of the server P (terminal 3A), the OTP generation function is contracted by the user identifier A who is the executor of the function. It is confirmed whether the issued one-time password token (OTP token) is held, and the token holder receives the token number TIDA and the KC value 3011A of the secret variable of the contract (the internal A variable KC 3011A) and a variable TB that fluctuates on the blockchain at a certain time T are used as a key value (key value, seed value) for password generation, and a hash function fh (hash function fh described in FIGS. 3AA, 3AB, and 3AC 3010A). An example calculation is OTP=fh(TIDA, KC, TB). The same is true for confirming possession of the user identifier A and the OTP token when executing the OTP authentication function.
Here, the embodiment adds the user identifier A to the key value, which is calculated as OTP=fh(A, TIDA, KC, TB) in the present invention.
A one-time password BnTOTP=fh (A, TIDA, KC, Bn) based on the block number using the latest block number Bn (3001A shown in FIG. 3AA is the block number Bn) is used for the TB. The present invention uses an OTP token that uses an OTP calculation method that
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, OTP = fh (TIDA, KC, TB) is acceptable because, for example, in the case of OTP that is updated every 60 seconds for a short period of time, Bn changes every 60 seconds even if the possessing user 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, the user identifier A (and the private key 101A for calculating the user identifier A) is also intended to be used for monitoring unauthorized use of the private key for logging into web services, etc. OTP=fh (A, TIDA, KC, TB) were preferably used.
In addition, the internal variable BC value 3013A (internal variable BC3013A described in FIGS. 3AA, 3AB, and 3AC) of the contract of the OTP generation token is used for the TB, and the secret key 101C of the administrator terminal 1C of the contract is used for the 3013A. The administrator sets the one-time password OWP = fh (A, TIDA, KC, BC) by changing it to any value at any time using the setter function 3012A that can access the blockchain and rewrite 3013A. The present invention uses an OTP token using an OTP calculation method, which is characterized in that the password can be changed according to the BC value.
OTP=fh(A, TIDA, KC, TB) may be preferable to OTP=fh(TIDA, KC, TB) when using BC for Tm (or TB). Specifically, OTP=fh(A, TIDA, KC, BC) may be preferable to OTP=fh(TIDA, KC, BC).
Here, OTP = fh (A, TIDA, KC, TB) is preferable to OTP = fh (TIDA, KC, TB). Depending on the judgment of the person, there is a risk that it may not be changed for a long period of time exceeding several years or never, and if the above KC and BC are not updated for a long period of time or never, OTP = fh (TIDA, KC, BC) will be held by token transfer OTP unique to the token number but not unique to the user identifier is generated and authenticated when the user identifier to be used is changed. There is a problem that the value OTP = fh (TIDA, KC, BC) can be shared, duplicated and recorded (a problem similar to duplication of a duplicate key in a metal key), whereas OTP = fh (A, TIDA, KC, BC ), an OTP unique to the user identifier and token number can be generated and authenticated.
Similarly to the BC value 3013A, the KC value 3011A can be changed to any value at any time using the setter function 3012A that can access the blockchain using the private key 101C of the contract administrator terminal 1C and rewrite 3011A. By changing the secret variables KC of both the one-time passwords BnTOTP and OWP, the key values KC of all OTP tokens belonging to the contract can be updated with arbitrary numerical values at arbitrary times. The BC and KC values that can be changed can be regarded as the same, and the BC and KC values can be regarded as the same and OTP can be calculated as one variable. A unique KC value (mapping variable KCA, described later) may be set for the usage, user identifier or token number 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 an n-digit integer>
Information BnTOTP calculated by a hash function is type-converted to an unsigned integer to create a 7- to 6-digit integer password used in banking transactions such as Internet banking, and the integer value is n. It is also possible to find the remainder when dividing and use it as an n-digit integer password.
Here n may take a value of 6 to 7. If the contract has a function fOTPN where variable n is a setter that can only be overwritten by the administrator of the contract (if variable n and function fOTPN are recorded in 3031A), then set n as 6. After recording and deploying the contract on the blockchain with , it is possible to increase n from 6 to 12, resulting in a 12-digit password, in order to increase the computational power required for a brute force attack. This is a difficult method to implement with a hardware TOTP token. Although it is not preferable in terms of security, if a small number of digits is acceptable, n can be changed from 6 to 3 after the contract is created, and the number of digits of the OTP to be displayed can be set to 3 digits.
In addition, the contract is equipped with multiple OTP generation functions and authentication functions, and an OTP authentication function and an OTP generation function for important operations (for example, high-value transfers and payments at banks), and an OTP generation function for less important operations. An OTP authentication function requiring authentication and an OTP generation function can be provided in the contract or in the terminal 3D. When performing important operations in the above, increase the value of n, and when performing less important operations, decrease the value of n to change the number of digits at the time of input, and the effort required for the number of input characters required for OTP authentication. can be adjusted to make it easier for humans to input from the input device of the terminal with their hands.
When the same 3031A is set in the generation contract and authentication contract (or authentication function) so that the OTP authentication function and OTP generation function have the same seed value, and the value of 3030A is changed after deploying the contract to the blockchain. In order for the generation contract and the authentication contract to match, the terminal 1C, which is the contract manager, needs to send a setting change transaction to 3A and rewrite variables and the like.
The one-time password of the present invention can be expressed as an unsigned integer or as a hexadecimal number. Numeric characters, alphabetic characters, symbols, and the like can be used for passwords.

<ブロック番号に関する処理>
ブロックチェーンは例えば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 number>
In the block chain, a new block is connected every certain time such as 15 seconds or 10 minutes, and the block number Bn is incremented by one. When the time required for the user UA to generate an OTP from the server P (3A) to the terminal 1A, call it, and display it for authentication (the standby time for OTP authentication) is too short, for example, the terminal DA (1A) can be displayed on a web page such as an Internet banking site. Although it is desired to input the OTP displayed on the display, it is assumed that the OTP is updated every 15 seconds and the manual input by a human cannot catch up and the OTP cannot be input. In fact, when developing the present invention, we used a blockchain on the Ethereum test network where the block number changes every 15 seconds, but it was sometimes confirmed that it was difficult for the inventor to enter it manually.
Therefore, using a variable n that increases the display interval based on the block number Bn, as Bn mod n, the remainder m obtained by dividing Bn by n is obtained, and m is subtracted from Bn to obtain Bnr (as Bn-m=Bnr), Instead of Bn, Bnr was used as an argument of the hash function for calculating OTP. For example, when the block number is 15 seconds and n is 2, the password can be changed when the block number Bn is an odd or even number, and the password display time can be increased from 15 seconds to 30 seconds. By increasing n from 2 to 3, 4, 5, etc., the display time and the authentication time can be further increased. Functions and variables for increasing the time during which this OTP can be generated, authenticated, displayed, and waited for input are shown at 3030A in FIG. 3AC. Note that n is an unsigned integer of 1 or more. n=0 is not allowed.
Set the same 3030A in the generation contract and the authentication contract (or authentication function) so that the seed value in the authentication function and the generation function match, and even after deploying the contract to the blockchain, when changing the value of 3030A, generate In order for the contract and the authentication contract to match, the terminal 1C, which is the administrator of the contract, needs to send a setting change transaction to 3A and rewrite variables and the like.

<ブロックチェーンにて決まる値を用いた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 value determined by blockchain>
In the embodiment, a one-time password OTP token issuing unit, an OTP token and user ownership relationship recording unit, 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 of the Ethereum testnet. and an authentication part that verifies and authenticates the generated password in the blockchain contract. A block number Bn can be used in the block chain part.
In Ethereum, voting on the GasLimit value (BlockGasLimit value) is performed between the nodes that make up the blockchain. Ethereum has the feature that the block size is variable depending on the GasLimit value. The V value 3004A and the block size BSZ value 3005A determined by this voting are also used as seed values for the block chain in the present invention. For example, to perform all, 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( A, TIDA, KC, Bn, BC, BSZ) can be used to generate an OTP using a plurality of arguments that are seed values for generating an OTP. Also, the OTP can be regarded as a pseudo-random number and used as a pseudo-random number generator.
BnTOTP=fh(KC, Bn), BnTOTP=fh(Bn), or BnTOTP=fh(fh(Bn)) when used for smart contracts for TOTP-based pseudo-random number generators that simply use block number Bn on Ethereum In the present invention, after confirming that a TOTP-based pseudorandom number generator using block number Bn can be implemented, the pseudorandom number generator is applied to an OTP authentication system. When used as a pseudo-random number, a token number TIDA or a mapping variable VU of a voting value on the user side, which will be described later, may be used as a seed value.

実施例にあるイーサリアムには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)と前記変数についてトークン番号やユーザー識別子をキーとして変数の値を変更するセッター関数を備えてもよい。
Ethereum in the example includes web3. There is an ECMAScript module that connects the blockchain part such as js and the web browser of the user terminal. Using the ECMAScript module, using the user's secret key, the specified user identifier, the contract identifier, the blockchain identifier, and the name of the token, access the Ethereum blockchain on the web browser and execute the OTP generation function and OTP authentication function of the present invention. Operate, obtain OTP etc. and return value CTAU of authentication result, log on to website (Fig. 8A), enter with paper ticket 18A or near field communication (NFC) tag 19A, lock electronically with NFC tag It may also be used as a typical unlocking key (FIG. 8B).
Furthermore, 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 block chain described in FIG. 3AA etc. 3021A recorded in the contract of FIG. 3AA and 4031A in FIG. 4B obtained by OTP authentication of 3021A in FIG. 4032A in FIG. 4B) and key data TTKY (40302A in FIG. 4B) for performing common key encryption (symmetric key encryption) according to the program of 403A using the software secret key data CRKY (40302A in FIG. 4B) recorded inside 403A. 4033A) and the data 4035A encrypted with its 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 for a system that distributes and decrypts encrypted data.
The return value CATU 3021A of the OTP authentication functions 3018A, 3018A and 3018DA may be modified with means for the administrator of the contract to be modified, may return one or more return values CTAU 3021A, and may also include the user identifier A and token number. A mapping variable CATU 3021A (mapping variable 3021A called CTAU[TIDA] or CTAU[A]) with TIDA as a key and a setter function for changing the value of the variable with a token number or 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. Communication between the computer DA (terminal 1A) of the user UA and the server P (terminal 3A) is preferably 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. At this time, it is preferable that the communication path connecting the terminal 1A and the terminal 3A to the network 20 is encrypted. Interactions with the blockchain over network 20 can be read if not encrypted.
In addition, it is preferable that there is a method that can conceal the information of transaction and contract processing contents and contract variables on the foundation of blockchain.
Both wired and wireless communication methods may be used when configuring the network. Two-way communication is required when using the token of the present invention in generating and authenticating one-time passwords. However, depending on the form of use, only the generation of a one-time password is performed by two-way communication, and authentication is performed by a terminal 3D (the form of use of 3D is shown in FIG. 8B) that reads a paper ticket or an NFC tag for locking/unlocking. can be made
Further, in the application of decrypting 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. A broadcasting station is a station 5C in space and a station 5CC operating it uses the network 2 to perform wireless communication and communicate. The network 20 or the like is used for decrypting encrypted data by two-way 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. Services using passwords 4A. Website login usage <login processing>
When the authentication system of the present invention is used for login or operation of a website, login processing is performed using the server SVLogin (terminal 3C in FIG. 8A). FIG. 8A shows a connection diagram of the terminals. A terminal 1A, a terminal 3A, and a terminal 3C are connected via a network 20. FIG. The server terminal 3C may be a real server terminal 3C, a virtual server terminal 3C, or a virtual machine terminal 3C.
The storage device data of the server terminal 3C is stored in the terminal 1A, and the server terminal 3C is constructed in the terminal 1A as a virtual machine. By connecting, it becomes possible to log in to the virtual machine terminal 3C constructed in the terminal 1A. For example, the terminal 3C may be an e-book service or an online game server service that requires login after the service has ended.
Web application and website data that can be communicated and exchanged between the block chain part of the server 3A and the user's terminal 1A using ECMAScript or the like on the terminal 3C, is sent to the user and displayed, and the wallet software has the information of the private key 101A held by the user. (if there is no wallet software, the private key information 101A itself is input, described, and output to the website), and the token number that can be used to log in to the server terminal 3C owned by the user is input to the website data, and the information and From the wallet software information, the one-time password generation function of the one-time password generation contract uses the user identifier A and the token number TIDA as arguments to generate a block number-based one-time password BnTOTP, and when you enter BnTOTP on the website, the input value is authenticated by the one-time password authentication function of the one-time password authentication contract.
BnTOTP calculated by the authentication function and generation function of OTP 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 private key information and user identifier information calculated from the private key, and some can display the number of ERC721 tokens owned by a given private key and user identifier. (An example of wallet software is Metamask, a browser extension software wallet software on https://metamask.io. Some can communicate with the hardware wallet DWALT1603A that records the private key.)
When the authentication result is correct, block chain information such as the user identifier A and the token number TIDA that accessed the server 3A, the IP address or location information of the terminal 1A, the device ID (device ID) unique to the terminal 1A, or the terminal 1A It is also possible to store the sensor value of the sensor 144A of the input device 14A as the terminal environment value IPV in the data structure shown in FIG. 6X in the server 3A and monitor whether there is unauthorized access.
The sensor values of the sensor 144A of the terminal 1A mainly use 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 with the consent of the user. If it is unavoidable although it is not preferable from the viewpoint of privacy, the input itself of the input device 14A such as 140A, 141A, 143A and 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 using physical means, such as a temperature sensor, humidity sensor, atmospheric pressure sensor, pressure sensor, illuminance sensor, light sensor, chemical sensor, and odor sensor. 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 that is also used for the magnetic compass function that indicates the direction of the terminal using gravitational acceleration and the direction to geomagnetism. It is a sensor that The motion sensor 1442A includes both an accelerometer and a gyro sensor (angular velocity sensor), and is a sensor that detects motion such as acceleration of the terminal, and measures motion of the terminal.
The biometric authentication sensor 1443A is a sensor when the terminal 1A has an image sensor such as a camera or a thermography and uses the image sensor to perform authentication derived from the structure of the face, or a fingerprint sensor for performing fingerprint authentication using a scanner. Also, it is a sensor for authentication derived from the structure of the ear, and a sensor for authentication using motion and pressure signals that a terminal worn when walking or the like feels. 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 login are sent from the terminal 3C to the terminal 1A. Also, the server terminal SVLogin terminal 3C records through the network the values input by the user using the input device of the terminal 1A on the page after login, and the user data is manipulated according to the input values. Specific examples include transfer processing after login in Internet banking, processing such as data recording/change and voting in member sites, voting processing in online shareholders' meetings, and processing in online games. Depending on the processing after OTP authentication, the user and the user terminal 1A are accessed by the blockchain, and when the processing is performed, the OTP generation function is executed to obtain the OTP, and then the obtained OTP is used as an argument by the authentication function. is executed, variables such as 3017A and 3017AA are changed.
When 3017A and 3017AA are used for website authentication and login, points or currency balances of members who can use the service are recorded, and when information such as login rights and electronic tickets of the present invention is presented at the time of service provision Alternatively, the balance may be deducted by the amount of points or currency corresponding to the service. Important data such as online game data that should not be falsified may be recorded, in addition to membership points, membership-dedicated numerical values, and currency balance. 3017A and 3017AA may change the balance according to the instructions of other users in the contract or the contract administrator, and may perform transfer/transfer processing to add part of the balance of one user to the balance of another user.
(Here, when presenting a paper and electronic ticket or a terminal that can be a login right to a service providing device such as a terminal 3D and authenticating it, the points or currency balance of the member who can use the service are recorded in the 3017DA, and the electronic ticket of the present invention , When presenting the paper ticket information at the time of service provision, the balance may be deducted by the amount of points or currency corresponding to the service.Of the data in the storage device in the terminal 3D, other users and The balance may be changed according to instructions from the manager of the terminal 3D, and transfer/transfer processing may be performed by adding part of the balance of one user to the balance of another user. If it is possible to connect to the node terminal 3A, terminal 3F or 3E, the terminal 3D is considered to be equivalent to the terminal 3C and performs the same processing as the terminal 3C)
3017A and 3017AG mean the asset balance and data amount of the OTP token corresponding to the token number, and they may be manipulated after executing the authentication function. 3021A, 3022A, and 3023A in FIG. 3AB may be included as processing included in execution of the authentication function 3018A (or processing linked after the processing of the authentication function and separately performed) when the OTP authentication function 3018A is executed.
The above 3018A, 3021A, 3022A, and 3023A specifically have an authentication contract for Internet banking, and the contract records the customer's asset balance. 3022A has a process of making a transfer to a number (assuming that the token number and bank account number are associated) when the OTP authentication function matches the transfer destination within the range of the balance recorded in 3017AA. There may be.
3022A may be processing for performing settings such as transfer processing, time deposit, and transfer limit setting. In addition to banking applications, financial fields such as securities and insurance, manifesting intentions such as voting on private or public or private member sites, changing important matters, or important user data such as online games 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 of the logged-in user (hashed or processed value of IP address), location information (hashed or processed value of location information), computer device ID (or hash value), and token number , the user identifier is recorded in 3011C of the storage device 30C of SVLogin (terminal 3C in FIG. 3C) in the data structure or data format shown in FIG. , or a processing unit (3110C, 3111C, 3112C, 3113C in FIG. 3C) that monitors location information (a value obtained by hashing or processing location information) or a device ID (or hash value) of a computer. The processing unit (Fig. 3C 3110C, 3111C, 3112C, 3113C).
Here, as for the device ID of the computer, in addition to the computer manufacturing ID such as the device ID, the operating software ID, the web browser ID, the acceleration sensor, the magnetic sensor, the pressure sensor (atmospheric pressure sensor), the temperature IPV value (data structure shown in FIG. 6X) including sensor 144A (sensors shown in 1440A, 1441A, 1442A and 1443A in FIG. 144A) information of terminal 1A including sensors etc., and hashed IPV good too. This method is used in another application of the invention, 4B. 4C. Can 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 capable of detecting magnetism in three-dimensional directions capable of measuring geomagnetism, the orientation of the magnetic sensor built into the smartphone is determined by the user terminal. changes depending 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 is on a distant earth Spoofing is difficult because it must match the value of the magnetic sensor of the user's computer at a certain location. Not only one sensor but also a plurality of sensors can be used. For example, it is possible to combine a geomagnetic sensor and a temperature sensor, or a temperature and an atmospheric pressure sensor (temperature and pressure sensor). It is preferable to be able to use IP addresses (and hash or anonymized values of IP addresses) and sensor values.
Here, the sensor built into the terminal 1A will also be explained. It is not necessary to have all the sensors built into the terminal, and it is preferable to employ one or more sensors.
The environmental sensors of 1440A include a temperature sensor, an air pressure sensor (pressure sensor), a humidity sensor, and an illuminance sensor, and the measured values of the above four sensors can be individually input to the terminal 1A.
The position sensor of 1441A includes a magnetic sensor that detects magnetism and an accelerometer that detects acceleration, and is a sensor capable of detecting the position of the terminal. Measured values of magnetic sensors and accelerometer sensors can be individually input to the terminal 1A.
The 1442A's motion sensor includes an accelerometer and a gyro sensor that detects angular velocity, a sensor that can detect the movement of the terminal. Measured values of the accelerometer (acceleration sensor) and the gyro sensor can be individually input to the terminal 1A.
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 vein pattern iris, ear structure, etc. are detected by sensors that detect them. If it is information related to walking, it may be measured using a motion sensor device such as a shoe last corresponding to an acceleration sensor of an external terminal that can communicate with the 1442A of the terminal 1A or the communication device 12A of the terminal 1A, or a group of motion sensors attached to clothes. . In a terminal equipped with a microphone/sound sensor 143A for voice authentication, it is also possible to hash the acoustic information as unique acoustic information that allows the terminal to perceive sounds around the terminal and use it as an IPV value while protecting individual privacy. sell. When biometric authentication or privacy-related information 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 security reasons.

<複数の秘密鍵を用いた不正アクセス対策>
本発明の認証システムにおける実施形態では単一の秘密鍵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個以上の複数個でもよい。
<Measures 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, or a secret key different from 101A such as a secret key 101A2 may be used, and two or more secret keys may be used to authenticate the user terminal 1A or 1B, contract The contract functions and variables of the server 3A having the block chain part may be accessed from the administrator terminal 1C or the like, or the terminals 3C and 3D that provide services may be accessed. The authentication system of the present invention may be used for decrypting encrypted data.
When the token number of the OTP token associated with 101A using the secret key 101A of the terminal 1A is TIDA, BnTOTP calculated by the OTP authentication function and generation function is the hash function fh, the contract internal variable KC, and the above A, Using TIDA, it is represented by an argument and a function of BnTOTP-1=fh(A, TIDA, KC, Bn).
Here, in addition to the secret key 101A installed in the terminal 1A, there is a second secret key 101A2, and the user identifier A2 calculated from the secret key 101A2 and the token number TIDA2 of the OTP token issued in correspondence with it. , the second BnTOTP-2=fh(A2, TIDA2, KC, Bn) can be calculated.
After generating BnTOTP-1 and BnTOTP-2 with the OTP generation function, in the authentication function in the contract with the authentication function, the function arguments are in the form of A, TIDA, BnTOTP-1, A2, TIDA2, BnTOTP2-2, A user identifier calculated from the two secret keys 101A and 101A2, a token number of an OTP token, and an OTP (BnTOTP-1 and BnTOTP-2 are shown as examples here, but in the case of OWP, OWP-1 and OWP-2). format is also conceivable.) may be used to perform authentication by executing the authentication function. When one of the two secret keys is leaked by using two secret keys as described above, for example, when 101A is leaked and abused and used, if the other secret key 101A2 is not leaked, the function Since the argument BnTOTP-2 (OWP-2 in the case of OWP) is unknown to the attacker, the authentication function cannot be executed, and an 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 are used by the user UA in the contract for OTP token authentication. is the user identifier to be used, it must be registered in the variable inside the contract or in the database of the service provider/service provider. In addition to the user identifier, it may have a part for registering in the contract containing the OTP authentication function that token numbers TIDA and TIDA2 are distributed to the same user UA. The number of secret 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とブロックチェーン上のコントラクト双方に複数の秘密鍵を利用してアクセスする形態も考えられる。
Two identifiers A and A2 of UA or token numbers TIDA and TIDA2 are registered in a terminal such as a server terminal 3C or 3D that serves as a service provider in the present invention, and A, TIDA and BnTOTP-1 are registered when logging in to a website. After performing the authentication requesting the input, the authentication requesting the 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) separately at the server terminal 3C or 3D at the website login destination instead of the blockchain server 3C Authentication processing can be performed on the login screen of the website to be distributed, and OTP input and authentication of a plurality of OTP tokens can be requested on the server terminal 3C or 3D. In this case, 3C and 3D need to associate user identifiers A and A2 derived from a plurality of secret keys of user UA, and TIDA and TIDA2, and record them in the recording devices of 3C and 3D.
When the server terminal 3C or 3D is used to authenticate an OTP token using a plurality of private keys, the user identifier A calculated from the private key 101A and the private key 101A2 at the server terminals 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 have a part for registering in the server terminal 3C or 3D including the OTP authentication function that the token numbers TIDA and TIDA2 are distributed to the same user UA. It should also be recorded if the contract identifier of the OTP token is different. The number of secret keys is not limited to two, and may be three or more.
A database of correspondence between multiple secret keys and OTP tokens issued for them may be recorded only in the server terminal, only in the contract on the blockchain, or both. A form in which multiple private keys are used to access both the server terminal 3C or 3D and the contract on the blockchain is also conceivable.

本発明の実施において利用したイーサリアムでは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トークンによる本人確認を行うわけではない。本人確認方法は他の既知の方法を用いてもよい。
Ethereum used in the implementation of the present invention uses a 256-bit secret key for each 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 secret key of 256×N [bits], and the substantial data length of the secret key can be extended.
By increasing the data length, it is possible to increase resistance to attacks by those who attempt unauthorized access. As an example, if three secret keys are used, even if one of the three secret keys is leaked, access to contract functions and variables can be prevented unless the remaining two keys are leaked. If more than half of the private keys cannot be obtained, the OTP tokens assigned to those private keys cannot be authenticated, and service provision can be blocked. This is a kind of multisig technology. (Multisig: multiple signatures with multiple private keys.)
By performing OTP authentication by combining a plurality of private keys, it may be possible to perform operations related to private key identification. For example, when there are two secret keys, one is a secret key 101A2 shared with a third-party organization whose identity has been confirmed, and the other is a secret key 101A generated inside the terminal 1A by the user, and the use of the secret key immediately after the start of , when it is assumed that there will be no leakage of the private key, the user identifiers A2 and A calculated with the private keys of both 101A2 and 101A are used by a third party or a real person UA Using the TIDA and TIDA2 tokens on the server terminal 3C of the third party organization that performs the association with the third party organization Third party organization and the website of the organization that performs the association OTP authentication and login sign up.
With the OTP tokens of token numbers TIDA and TIDA2 assigned to A and A2 or A and A2, the administrator of terminal 3C knows A2's secret key 101A2 that has been communicated to user UA. , it is found that A has a private key 101A corresponding to A. At this time, it is assumed that A, A2, and the user UA are linked and the identity can be easily verified. Then, for A, it is determined that the user identifier corresponds to the secret key owned by the user UA, and the user identifier A is used as the destination address for tokens and the like, and for example, the right to log in to a certain membership 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 identifier A or A2 is the identifier of a real user UA. is issued, and it is necessary to check whether the OTP token destination user identifier is a person who can record and use the private key of the actual user, such as user UA, UB, or UC. Since we think that confirmation is necessary, the above-mentioned identity verification method is shown. However, this is only one form, and it is not always the case that personal identification using OTP tokens using a plurality of private keys is performed when the present invention is implemented. Other known methods may be used as the identity verification method.

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

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

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. Use as a paper or IC admission ticket, use ticket, or unlocking key for entrances and building facilities Server SVLog (described in Figure 8B and Figure 3D) when used for locking and unlocking tickets, admission tickets, and building facilities server terminal 3D) is used. FIG. 8B shows a connection diagram of the terminals. The server SVLog (terminal 3D) does not necessarily have to be a server if there are few users to process entry, etc., and may be a computer SVLog (terminal 3D) with smaller computing power, storage capacity, and physical size than the server. . The terminal 3D may be a built-in type terminal that operates a building locking device, an automobile locking device, or a motor starting device. 3D may be a terminal (Micro Control Unit, microcontroller, microcomputer) with an MCU for embedded systems.
In the present invention, the recorded information of the IC tag/IC card type ticket 19A or the paper ticket 18A (and the display surface 1500A of the display displaying the same OTP authentication information as the paper ticket 18A) equipped with a communication function such as NFC. A password OWP generated from a blockchain is used (here, IC is an integrated circuit).

19Aは非接触のNFCタグや、接触型端子を持つICカードであり、19Aの利用者ではないユーザーに不正使用させないように19Aに利用者がパスワードとしてPIN等を設定してもよい。19Aと端末3Dとの通信を行いOWPなどの認証情報を伝達する際に、19Aに設定されたPINによるパスワード認証を求め、パスワード認証ができた場合にNFCタグの情報を端末3Dの通信装置32Dを通じて端末3Dに伝達してもよい。 19A is a contactless NFC tag or an IC card with a contact terminal, and the user may set a PIN or the like as a password to 19A to prevent unauthorized use by a user other than the user of 19A. When communicating between 19A and terminal 3D and transmitting authentication information such as OWP, password authentication by PIN set in 19A is requested, and if the password is successfully authenticated, the information of the NFC tag is sent to communication device 32D of terminal 3D. 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コードを設定出来てもよい。
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 a four-digit integer password, for example. The PIN of 19A is used as the final means of confirming the intention of use when using the service using 19A. Since 19A communicates wirelessly, a PIN may be used to prevent the information of 19A from being transmitted to terminal 3D without the knowledge of the user who owns 19A. 19A may encrypt the content of communication when performing wireless or wired communication with 3D. The PIN or the like may be used to encrypt the authentication information using the OWP recorded in 19A (the OWP may be encrypted using means such as common key encryption using the PIN as a key). With 18A and 1500A, the user's intention to use them can be confirmed by manually presenting them, but with 19A, there is a risk that payment can be made even from a certain distance due to wireless communication, etc., so a PIN code is set. You can.
Using a PIN improves the security of 19A, but requiring PIN entry every time a service is authenticated requires the user to enter the PIN, which may lead to a decrease in user convenience. Maybe. Therefore, 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 but has a communication distance of 10 cm (specifically, a communication distance of 10 cm using a frequency such as 13.56 MHz). known short-range wireless communication technology), and 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 allowed to provide services according to the authentication result obtained, PIN etc. are not set, and OTP authentication is performed simply by holding 19A over 32D or 341D of 3D, and service is provided according to the authentication result. The present invention may be practiced. (You can also set a PIN on 19A for security purposes. And you can also use 19A without setting a PIN. If you do not set a PIN, you can improve the speed of payment at entrances and ticket gates. , It is also possible to prioritize ease of use, usability, and convenience.)
Automobile keyless entry, remote (communication distance exceeds 10 cm and exceeds 1 m) lock/unlock key 19A used for unlocking automobile doors and building door remote (communication distance exceeds 10 cm and exceeds 1 m) The locking/unlocking key 19A used for unlocking also has uses that require the use of a PIN and uses that do not. A PIN may not be required for 19A in automotive applications where the communication range exceeds 10 cm and exceeds 1 m.
It may be preferable to use the PIN for locking and unlocking of buildings, safes, and vaults where the communication distance exceeds 10 cm and exceeds 1 m.

パスワード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でもよい。
Password OWP is calculated as OWP = fh (A, TIDA, KC, BC) using hash function fh, user identifier A, token number TIDA, contract internal secret variable KC value 3011A, and variable BC value 3013A that can be changed by the contract administrator. be done. The OWP is calculated and generated by the OTP generation function 3009A using the hash function fh and arguments. 3009A includes a calculation process that can be expressed as OTP=OWP and OWP=fh(A, TIDA, KC, BC) in this example of use.
The paper ticket 18A is manufactured by printing the OWP information acquired using the one-time password OWP generation function 3009A of the present invention on paper or the like. Information recorded in 18A includes at least user identifier A, token number TIDA and password OWP. The information described in 18A can be displayed at 1500A. When a device such as a camera that reads 18A or 1500A is provided in the service providing terminal 3D, in addition to valuable papers such as tickets, it is possible to lock and unlock safes, vaults, building doors, entrances and exits, Vehicles such as automobiles and computer terminals can be made to read the authentication information, and entrance/exit and locking/unlocking can be performed.
The NFC tag 19 can be manufactured by storing authentication information including a user identifier A, a token number TIDA, and a password OWP possessed by the terminal 1A in the terminal 1A via the communication device 12A of the terminal 1A, and can be manufactured using valuable paper such as a ticket. It is used as a leaf, an entry/exit tag, a lock/unlock key, or a device for unlocking access control.
As shown in FIG. 8B, the NFC tag 19A on which A, TIDA and OWP are recorded, the display screen 1500A of the terminal 1A displaying A, TIDA and OWP, and the paper ticket 18A on which the screen 1500A is printed may be used.

図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 terminal 3D's camera/scanner 340D. At this time, 18A and 1500A may display character string information connecting A, TIDA, and OWP, or may display bar code information (one-dimensional and two-dimensional bar codes).
As shown in FIG. 8B, 19A may communicate with 32D of terminal 3D and transmit string information concatenating A, TIDA, and OWP. It is assumed that NFC is used for communication between 19A and 32D.
The password OWP authentication function 3018DA (3018DA in FIG. 3DA) provided in the control unit and storage unit (31D and 30D) of the terminal 3D that received A, TIDA, and OWP from 1500A, 18A, and 19A is shown in FIGS. 6F and 6D. VeriOWP = fh (A, TIDA, KC, BC) calculated using the KC and BC values recorded in the terminal 3D according to the flow chart regarding the processing of the OTP authentication function in When it is verified and matched, it is determined that the authentication has been completed, and the terminal 3D operates the opening/closing device 350D, locking device 350D (locking/unlocking device 350D), starting device 350D, or access control device 350D of the device in which the terminal 3D is incorporated. Then, it performs entry processing at ticket gates and entrances, unlocks vehicles such as locked buildings and automobiles, and containers such as safes, and starts vehicles, computers, machines, and equipment.

認証関数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 from the information of 1500A, 18A and 19A as arguments according to the flow charts of FIGS. 6F and 6D relating to the processing of the OTP authentication function. 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 function fh, the KC value, and the BC value used to calculate VeriOWP and ArgOWP are the seed values KC, BC, and Hash functions fh, etc. must all match.
If the return value of the authentication function 3018DA is a correct value of the authentication result, the terminal 3D can open the opening/closing device of 350D, unlock the locking device (locking/unlocking device), or start the device, and the authentication is completed. If it fails, close the opening/closing device, do not operate the locking device (locking/unlocking device), and do not start the device.
(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 correctly generated OWP Even if it is presented to the terminal 3D, an incorrect authentication result is calculated and entry processing, unlocking processing, etc. cannot be performed.Specifically, the user UA with the NFC tag 19A containing the correct authentication information records an incorrect 3011DA or 3013DA. Even if it is presented to the terminal 3D, the terminal 3D uses the wrong 3011DA or 3013DA to verify the OWP by the wrong authentication function 3018DA, and from the execution result of the authentication function, 19A is illegal, entry or unlocking can be performed. It judges that there is no such thing, and keeps the opening/closing device or locking device closed, or sounds a warning buzzer, etc.)

コントラクトの管理者とサービスおよび端末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 terminal 3D match the hash function 3010A of the node terminal 3A of the blockchain with 3010DA of the terminal 3D, match the KC value 3011A of the terminal 3A with 3011DA of the terminal 3D, and The BC value 3013A of the terminal 3D and the 3013DA of the terminal 3D are matched, and if other variables and functions are used for OWP calculation, they are matched. must match and synchronize. By matching the OTP calculation method and the variables used for calculation, the OTP authentication service of the present invention can be realized in the real world using paper using 1500A, 18A, or 19A and NFC tags.
When the terminal 3D is a terminal incorporated in a building door or a safe that manages locking, when the secret values KC and BC are changed, the user of the door, safe, etc. in which the terminal 3D is incorporated is locked. Wired or wireless communication device 32D of lock management terminal 3D provided at a position that can be accessed after unlocking the equipment (specific examples are the back side of the door of the safe, the back side of the door of the building, the indoor side of the door of the building) and update the 32D KC value 3011DA and BC value 3013DA according to software provided by the terminal 3D manufacturer.

本発明を金属製の鍵と比較すると、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, where 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 information of the key and the lock is variable, and the information of the key and the lock 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, which is assumed to be used for website login, etc., 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 can be shared by distributed ledger technology and can be stored in a state that is difficult to tamper with. When doing so, the administrator of terminal 3D updates the information to be the lock to the latest information, or provides information that can authenticate the OWP type password, user identifier A, and token number TIDA of terminal 1A at 1500A, 18A, and 19A. required to be 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 possible to consider a mode of use in which the KC values 3011A and 3011DA and the BC values 3013A and 3013DA are not changed after the contract is deployed. Although passwords are not updated in the above usage mode, which poses a security problem, it is expected to be used, for example, as a one-time admission ticket for a certain event that is used in a limited community of a small number of people. A form of use in which the KC value and the BC value can be changed but are not actually changed can reduce the labor of the service provider and may make the present invention easier to use.
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 of providing the service in the form of a disposable contract, using a method of setting a product warranty period and not managing the contract beyond 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 and 19A as admission tickets for limited community events, 1500A, 18A and 19A are manufactured or produced in addition to the three essential information of user identifier A and token numbers 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 responsible for issuing the admission ticket and providing the service, etc. may be recorded in 1500A, 18A, and 19A, and such information may be recorded as character string information. It is preferable that a person can visually check the information of the valuable paper sheet 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.
The three essential information, user identifier A, token number TIDA, and OWP, are displayed as a two-dimensional barcode so that they can be read by a camera or scanner, so that the 3D 340D can read the information necessary for authentication. Also, since the OWP can be used illegally if it is read, the user identifier and token number are described in character strings, and the three essential information of the user identifier A, token number TIDA and OWP for authentication are printed or printed as a two-dimensional barcode. Only the displayed or recorded OWP may be 1500A or 18A in the form of being recorded as a two-dimensional bar code.
With regard to 1500A, the terminal 1A may have a function of visually or audibly reading out information other than the OWP to notify the user of the token number, user identifier, service expiration date, and service provider information. If security is maintained, there may be an image recognition terminal that reads out 18A.
(OWP is confidential information that must not be input to anything other than the service providing terminal 3D. Using software with security problems, 18A and 1500A containing OWP can be read, read aloud, photographed, image recognized, and PIN If 19A information that is not protected by such as is read, OWP etc. may 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 entry, etc.>
The user performs the OTP authentication of the present invention, executes the authentication function, and is authenticated. Whether the service is used or not, whether the ticket is valid or not, or the integer value of the number of times the ticket is used may be recorded. Alternatively, if the currency balance is charged and the information of the electronic ticket 19A, the paper ticket 18A, or the screen display type ticket 1500A of the present invention is presented at the time of service provision, the balance will be deducted by the amount of points or currency corresponding to the service. It can be in the form of being worn.
3021A, 3022A, and 3023A in FIG. 3AB (or 3021DA, 3022DA, 3023DA) may be performed.
In the case of OTP tokens, which are used upon agreement between the service provider and the user, the service provider and the user use the function to mark the end of use. 3017A and 3017AA (or 3017DA) may be rewritten by the setter function set in the contract using the key 101C.
For example, at a ticket gate or a service providing window, the numerical value of 3017A or 3017AA (or 3017DA) is added to the truth value indicating the presence or absence of admission or the integer indicating the number of times, and the currency is set to the variable 3017A or 3017AA (or 3017DA) in advance payment. The administrator terminal 1C gives an OTP token that can be accessed from the terminal 1A of the user UA to charge the balance like a means and increase the variable 3017A or 3017AA (or 3017DA) according to the value of the charged currency. can.
Then, it is possible to reduce the amount equivalent to the service fee from the balance of the 3017A or 3017AA (or 3017DA) charged with the amount equivalent to money according to the usage amount of the service. In this case, in the authentication function 3018A (or 3018DA), it is determined at F115 or F116 in the flowchart of FIG. requires processing such as stopping the execution of the authentication function, prompting the balance to be recharged, or 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 unauthorized entry>
In order to determine whether or not the private key PRVA (101A of terminal 1A) is leaked and the service is used illegally, the token number and The appearance of the user identifier may be captured by security camera 342D and saved. Appearance is preferably biological information such as face, physique, body shape, motion, and walking. The intention of using the biometric information is, for example, to prevent unauthorized entry into the 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 the OWP, different people can enter using the same authentication information (A, TIDA, and OWP). Do the same for monitoring.
A monitoring camera 342D (342D in FIG. 8B) that records the appearance of the user is shown in FIG. 8B as an example of recording biometric information. However, the recording of biometric information is not an essential function for the present invention, but is a necessary function for entrance processing at station ticket gates and entrance gates. It is possible, but due to restrictions on the battery capacity used for the power supply unit 37D of the terminal 3D and economic considerations, when the terminal 3D is incorporated in a container such as a small safe or a handbag, the security camera 342D may be difficult to use or may not be necessary. There is Whether or not the 342D can be installed can be determined depending on the application and embodiment.
Similarly, when the terminal 3D is used for locking an automobile or a building locking device, the 342D may not be installed in consideration of privacy. Sometimes 342D is installed for crime prevention while sacrificing privacy. For example, it may be preferable to have a security camera in applications such as taxis and buses, and in applications such as car lending, rental cars, and car sharing. Depending on the service, it is necessary to notify the user of the use of means for recording the presence of the user, such as a security camera, when the service is provided or when the contract is signed.

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に尋ねることができる。
For 3D, when the security camera 342D is not used, as a function that can be used for crime prevention, the light emitting element 351D such as a lamp or the sound emitting element 352D such as a buzzer in FIG. Set and use the action when it fails and the action when it fails. Specifically, when the terminal 3D is used in a container such as a safe, information used for authentication is recorded in the NFC tag 19A, and the terminal 3D inside the safe receives the information of the NFC tag 19A using the communication device 32D. If the read authentication result is correct, the lock of the safe can be unlocked, and if not correct, a warning sound can be generated by a buzzer. Instead of the buzzer, the communication device 32D may wirelessly emit a radio wave beacon or a radio signal to the surroundings.
A security camera 342D and a light emitting element 351D such as a lamp or a sound generating element 352D such as a buzzer may be used together.
For example, 1500A, 18A, and 19A, which are used in ticket gates at stations, have been authenticated, used, and invalidated. When a user UA appears to attempt authentication by re-presenting the token number that has been used and invalidated, the ticket gate opening/closing device 350D is in a closed state. Then, the UA is kept on the spot, and the security camera 342D and the light-emitting element 351D such as a lamp or the sound-emitting element 352D such as a buzzer are used together to inform the surroundings, and the station employee is notified of whether or not the token is being used illegally. User UA can be asked.

端末3Dが金庫等の容器である場合に限らず、端末3Dが改札・入場口や自動車・建物においても認証結果の出力に応じて発光素子351Dや発音素子352Dを動作させ認証結果が正しいか否かを端末3Dの周囲(周囲とは351Dや352Dや32Dが信号をユーザーや端末に伝達できる距離の範囲内)やサービスの提供者に知らせることに利用される。なお発光素子351Dは電球などランプの他に発光ダイオード等の電流を流すことで光を発する半導体素子でもよい。 Not only when the terminal 3D is a container such as a safe, but also when the terminal 3D is in a ticket gate, an entrance, an automobile, or a building, the light emitting element 351D and the sound generating element 352D are operated according to the output of the authentication result to determine whether the authentication result is correct. It is used to notify the surroundings of the terminal 3D (the surroundings are within the distance where the signals can be transmitted from the terminals 351D, 352D and 32D to the user and the terminal) and the service provider. The light-emitting element 351D may be a semiconductor element such as a light-emitting diode that emits light when an electric current flows, instead of 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 times of authentication and the person who performed authentication>
1. When the terminal 3D is connected to the internetwork and connected to the server 3A at the ticket gate or the entrance.
The user UA, who has the original right to use the secret key PRVA, has the 1500A, 18A, and 19A read by a 3D input device or communication device and presents them. It is assumed that the private key PRVA (101A) is obtained by some means, duplicated and recorded in one's own terminal, and illegally used to pass through the entrance. Alternatively, illegal use of OWP due to outflow and reuse can be considered.
Image data that enables identification and tracking of the person by recording the appearance of the UB in the event of unauthorized use, time at the time of authentication payment, location and terminal number of the authentication terminal (station name at the ticket gate, etc.), walking behavior, etc. get Then, the occurrence of authentication is recorded by incrementing variables 3017A and 3017AA that record the number of executions of the authentication function 3018A of the authentication contract on the blockchain.
Also, the user UA is notified by e-mail or the like that the service has been used at the entrance where the service is located. The user UA can make a claim to the service provider that the ticket has been used illegally, and compare it with the face, body structure, walking information, etc. of the UB who has entered illegally, and it can be used to judge whether the user UA has entered illegally.
Here, when server 3D is a block chain node like server 3A, 3D has the same function as 3A, so authentication function 3018A is recorded in the 3D block chain part (300D and 310D), and 3D is not 3A. The terminal 1A of the user UA may access the block chain part of , 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 to limit the spread of damage caused by unauthorized use. Therefore, a variable that allows the service provider to stop using the OTP token of the user UA using the terminal 1C may be provided in the contract of the OTP token of the terminal 3A and changed using a setter function. Alternatively, if the main server terminal of the service provider manages the balance of each token separately from the blockchain at ticket gates, etc., it can be handled by changing the settings of the main server terminal for each customer.

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. When terminal 3D is connected to a local area network (LAN) and connected to server 3A at a ticket gate or an entrance.
When connected to a local area network of a certain station or facility and disconnected from the internetwork 20, the memory of the terminal 3D is matched with the hash functions 3010A and 3010DA used to generate 1500A, 18A and 19A, The KC values 3011A and 3011DA are matched, the BC values 3013A and 3013DA are matched, and if other variables and functions are used for OWP calculation, they are matched, and the OWP type OTP calculation method for terminals 3A and 3D and the variables used for calculation must be matched and synchronized. Then, the number of times of successful authentication by the authentication function 3018D or data changed at the time of authentication may be recorded in 3017DA or 3016D.
Through a LAN in a facility such as a movie theater or a station, a staff member of the facility has a terminal with access rights to the terminal 3D, accesses the database 3116D (including 3114D and 3115D) of the terminal 3D, and obtains the user identifier and token number. As a key, it is possible to retrieve and grasp the service provision status for the OTP token with that token number. Also, if the information required for authentication cannot be read from the paper valuable paper sheet printed on 18A, the user identifier and token number are obtained from 18A and compared with the customer information of 3116D. Determine if the user can provide it (ID may be required for 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. When the terminal 3D is offline without connecting to the network.
Even when the terminal 3D incorporated in a ticket gate, an entrance, or a locking device of a vehicle, a building locking device, a container locking device such as a safe is not connected to the network 20, the storage device of the terminal 3D stores 1500A or 18A. Match the hash functions 3010A and 3010DA used to generate 19A, match the KC values 3011A and 3011D, match the BC values 3013A and 3013DA, and use other variables and functions to calculate the OWP. They must be matched, and the OWP type OTP calculation method and variables used for the calculation must be matched and synchronized in the terminals 3A and 3D. Then, the number of times of successful authentication by the authentication function 3018DA or data changed at the time of authentication may be recorded in 3017DA or 3016D.
There is a terminal 3D in the part that can be accessed after locking and 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 accessible terminals, and is the terminal of the user or administrator. Change the KC value 3011DA or BC value 3013DA of the storage device 30D from the communication device (1A or 1C) via the communication device 32D of the terminal 3D or change the hash function fh, and the OWP generated by the OTP generation function 3009A of the terminal 3A and the OWP generated by the authentication function 3018DA are changed to be the same. By leaving a margin for updating the KC value 3011DA or BC value 3013DA used for calculating the OWP, for example, the data that becomes the unlocking key of the locking device of the car or building can be updated periodically, and the key of the locking device of the car or building 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 in the same function of the contract. It is possible to provide a variable and a processing unit that count and increment (increase) the number of executions of each OTP generation function and OTP authentication function at the time of generation and authentication. less likely to be tampered with. By monitoring the variables 3017A and 3017AG that are 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 terminal 3D)

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

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

<レイティング及び看板情報>
サーバ端末3Cを用いたサービスと同じく、紙もしくはNFCタグを用いた有価紙葉とそれを認証する端末3Dを用いた認証システムにおいても、ユーザーの対象年齢等を示すため、ワンタイムパスワード生成トークンのコントラクトにはレイティング情報が3024Aが記録される。またOTPトークンのコントラクトの看板情報3024Aも同様に設定される。例として自動車や船舶、重機といった乗物や設備・装置の利用者に求められる資格・免許情報といったレイティング情報であったり、映画館のレイティング情報等である。
また商品に18A、19Aを貼り付けるなどして添付する場合はその商品に基づいたレイティング情報となる。例えば18Aを貼り付けて酒類の流通を管理する場合は成人のみが飲用できるといったレイティング情報を記録してもよい。
<Rating and signboard information>
As with the service using the server terminal 3C, in the authentication system using valuable paper using paper or NFC tags 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 of 3024A is recorded in the contract. Signboard information 3024A of the OTP token contract is also set in the same manner. Examples include rating information such as qualification/license information required for users of vehicles such as automobiles, ships, and heavy machinery, equipment/devices, and rating information of movie theaters.
Also, when 18A and 19A are attached to a product by pasting it, the rating information is based on the product. For example, if 18A is affixed to manage the distribution of alcoholic beverages, rating information such 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) is available to decrypt encrypted data using the blockchain-based OTP authentication system of the present invention. Here software CRHN is software 403A in 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 server terminal 3A is accessed using the computer DP (terminal 4A in FIG. 4A) used by the user UP, and the secret of the terminal 4A is accessed. BnTOTP is generated and authenticated using the OTP token assigned to the key 401A, and the return value CTAU4031A of the OTP authentication function 3018A is obtained. Private key CRKY 40302A and software 403A Generate common key TTKY 4033A that can encrypt and decrypt files based on the calculation method, software 403A that encrypts and decrypts files, and viewing, viewing, and printing information using software 403A In the present invention, an authentication system capable of decrypting and using the encrypted data that performs the above can be used.
In addition to TTKY4033A calculated from CTAU4031A and AKTB4032A, TTKY4033A calculated from obfuscated or encrypted key CRKY40302A built into CTAU4031A and AKTB4032A and software CRHN is preferably used for decryption.
Furthermore, in addition to the key information, using a key CAPKY40303A obtained from a contract with a contract identifier APKY40301A recorded in a terminal that is a node of a block chain such as terminal 3A according to a program recorded in software CRHN so as to make it difficult to identify TTKY4033A Alternatively, the programs may be obfuscated and encrypted by complicating the process so as to make it difficult to identify 4033A.
At this time, the present invention functions as an access control technique to contents included in 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 a real server, a virtual server, or a virtual machine terminal. A cloud-type data storage service may also be used. It may also have a version management function, record the update history of the encrypted data and the hash value of the encrypted data, and display it to the user.
The terminal 5B may have a function of searching for encrypted data that can be decrypted by the OTP-generated token of the present invention that the user owns. In addition, for token issuers (issuers are assumed to be individuals, corporations, publishers, and software companies), keywords presented by the issuer (data name, creation time, keyword, classification of books, etc., rating information) A function that can retrieve the contract identifier of the OTP token and the encrypted data corresponding to it may be provided.
The terminal 5B has a function to sell books, audio/video, and software to a customer on an e-commerce website or web application in the form of issuing an OTP token to a user identifier A calculated from the private key of the customer's terminal 4A. be prepared for When the customer user conducts electronic commerce, the OTP token and the encrypted data search function corresponding to the OTP token, the notification of AKTB4032A and the encrypted data download function, the customer's name, e-mail address, user identifier, when purchasing the token A database may be provided to register and store personal and contact information of OTP token purchasers, such as phone numbers. The terminal 5B may record the address of the user and notify the user of the AKTB4032A notification or the OTP token purchase in the form of mail delivery.

そして前記データベースに記録された顧客のユーザー氏名、メールアドレス・住所情報・ユーザー識別子といった連絡先情報を用いて、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 customer's user name, e-mail address, address information, and user identifier recorded in the database, any arbitrary data necessary to decrypt the file 4034A encrypted by 4032A, 4031A, 40302A, and 403A The key information AKTB 4032A may be sent by e-mail together with the file 4034A encrypted by 4032A, 4031A, 40302A and 403A.
Alternatively, send a file 4034A encrypted with 4032A, 4031A, 40302A and 403A by e-mail, and AKTB 4032A will be sent by means other than block chain or e-mail (sent the text containing 4032A as a letter, by SMS of the phone number AKTB4032A is sent as a message by facsimile, etc., or a transaction describing AKTB3042A is received on a blockchain based on a blockchain different from the one on which the OTP token exists, using the private key 401A. It is transmitted to the user UP of the terminal 4A, and the UP inputs 4032A to 403A of 4A, so that the OTP token calculates TTKY 403A from the return value 4031A and the calculation procedure of the key information 40302A and 403A of the software 403A, and decrypts the encrypted file 4034A. Then, the decrypted plaintext file 4035A is obtained, and the data of 4035A can be viewed and executed.

<暗号化データを復号するトークンの流通制限機能>
トークンの流通はトークンの管理者である権利者によって譲渡制限されることがある。トークンは実施例ではイーサリアムのERC721規格によって他者への譲渡などが可能であるが、譲渡する際に権利者がその譲渡機能(送信関数3040A)の実行を制御する変数や処理3041Aが追加される。本発明のOTPトークンは譲渡されないインターネットバンキング用のTOTPトークンをブロックチェーン上で利用する過程で発明されたものであって、基本的には譲渡を制限する機能が搭載されることを特徴とする。OTPトークンに対応したサービスの提供者あるいはコンテンツの提供者が本発明のOTPトークンの異なるユーザー識別子間での譲渡を許可しない場合にはOTPトークンのコントラクトの譲渡制限用変数および関連関数3041Aは送信関数3040Aの実行を阻止する変数の値をとる。
OTPトークンに対応したデータやファイルのコンテンツの権利者がコントラクトの管理者であるとき(又はコントラクトの管理を権利者がコントラクト管理者に委託しているとき)コントラクトの送信関数3040Aの実行を停止させている状態から実行可能な状態になるようコントラクトの変数の値3041Aを変更した場合は、異なるユーザー識別子のユーザー間で譲渡可能となる。
<Function to restrict circulation of tokens that decrypt encrypted data>
The distribution of tokens may be subject to transfer restrictions by the rights holder who is the administrator of the tokens. In the embodiment, the token can be transferred to others according to the ERC721 standard of Ethereum, but when the token is transferred, a variable and a process 3041A are added for the right holder to control the execution of the transfer function (transmission function 3040A). . The OTP token of the present invention was invented in the process of using the non-transferable TOTP token for internet banking on the blockchain, and is characterized by being basically equipped with a function to restrict transfer. If the service provider or content provider corresponding to the OTP token does not permit the transfer of the OTP token between different user identifiers of the present invention, the OTP token contract transfer restriction variable and related function 3041A is the transmission function. Takes the value of a variable that prevents execution of 3040A.
When the right holder of the data or file content corresponding to the OTP token is the contract manager (or when the right holder entrusts the management of the contract to the contract manager), the execution of the contract transmission function 3040A is stopped. When the contract variable value 3041A is changed from the state of being in a state to being in an executable state, 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 an OTP token transfer is shown. User UP (user of terminal 4A) and user UB (user of terminal 1B) can exchange OTP token information on the blockchain via network 20 and server P (server terminal 3A). An OTP token can also be transferred from the UP to the UB using send function 3040A.
UB to which the UP sent the OTP (in fact, 3A receives access from 4A using the secret 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 stored by 3040A. (Owner information is rewritten from UA to UB), an encrypted file is downloaded from terminal 5B, or the encrypted data that UP, who was the owner of the token, has in terminal 1A is duplicated and used. It is possible to obtain an encrypted file that is distributed and decrypt the encrypted data.
Here, if AKTB4032A is used when encrypting an encrypted file, 4032A must be obtained from User UP. Contents for which AKTB 4032A is not set can be decrypted using encrypted file 4034A, CTAU 4031A obtained by OTP token authentication, software 403A, and secret key 40302A inside the software. When user UB obtains OTP token transfer from user UP, notification of AKTB, encrypted data, and software 403A for viewing the encrypted data, UB can view the content data that UP has been viewing, and can view the data. can acquire the right or ownership.
In the embodiment of the present invention, to decrypt the encrypted data, when the file encryption and decryption key TTKY 4033A can be generated based on the CTAU 4031A, AKTB 4032A, the secret key CRKY 40302A inside the viewing software 403A, the software 403A, etc. Can decrypt files.

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

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

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

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

<コンテンツの閲覧実行環境>
コンテンツの証明書を用いても、第三者機関が意図せず悪意のあるプログラムの存在を見逃してコンテンツの証明書(図4Bの40351Aや40352A)を発行してしまうこともあるかもしれない。そこでソフトウェア403Aの実行環境は仮想機械環境の中で実行されることが好ましいかもしれない。
<Environment for viewing content>
Even if a content certificate is used, a third party may unintentionally overlook the existence of a malicious program and issue a content certificate (40351A and 40352A in FIG. 4B). Therefore, the execution environment of software 403A may preferably be executed within a 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 contents are decrypted and browsed with this software CRHN, or when the software CRHN is browsed,
A program for connecting to the advertisement server CRHNcm (server terminal 5A in FIG. 5A) is executed, advertisements are distributed from the terminal 5A, and the IP address of the user who viewed the content or executed the software (hashed or processed IP address value),
Location information (hashed or processed value of location information), computer device information (or its hash value), terminal sensor value (or its hash value),
Then, the token number and user identifier are recorded in the terminal 5A as data as shown in FIG. 6X, and for a certain token number and user identifier,
It is possible to provide a processing unit that determines at any time whether access is made with different IP addresses, different location information, different device IDs, and sensor information from different terminal-attached input devices.
Here, the device information of the computer and the device ID of the computer include, in addition to the computer manufacturing ID such as the device ID, the operating software ID, the web browser ID, the acceleration sensor, the magnetic sensor, the pressure sensor, A measured value of a temperature sensor or the like or a hashed value of the measured value may be used.
This assumes that the advertisement server will be used as a server for monitoring unauthorized use of simple contents. 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, encrypted data can be decrypted by the OTP authentication system of the present invention without executing a 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 plaintext data of the encrypted data records a program for connecting to the server terminal 5A when the user of the software 403A or the content agrees. A program can be run that makes a connection to the .
(Here, right holders are mainly copyright holders of software and content. Plaintext data is protected from the viewpoint of copyright and other intellectual property rights. In addition, confidential information such as corporate trade secrets 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 necessary in the case of encrypting and decrypting confidential information such as design drawings of products before sale with the software of the present invention and using it as an encryption tool for internal documents. In the case of providing this software to the association, it is conceivable that the function of displaying advertisements and the function of monitoring unauthorized use of contents using an 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 illegal use monitoring function of content by advertisement, and for business use by an individual or a corporation, the advertisement function is not installed and the software and apparatus of the present invention can be used. Available.

また端末4AのソフトウェアCRHN(403A)によりデータやファイルは復号され実行されその結果が出力装置であるディスプレイ画面450Aに表示され、音声情報が含まれていればスピーカー451Aで音として出力する。
ソフトウェアCRHNの表示画面でソフトウェア的に画像をスクリーンキャプチャされにくくしたり(この場合はディスプレイ450Aを銀塩又はデジタルカメラにより複写される場合は複写できる)、コンテンツとなるファイルやソフトウェア側からプリンターによる印刷を許可しない設定にすることができる。コンテンツの権利者の要請によっては印刷を不可能にすることも可能にすることもできる。コンテンツのプレイヤー画面に常に閲覧者のユーザー識別子を表示できる。
Data and files are decoded and executed by software CRHN (403A) of terminal 4A, and the result is displayed on display screen 450A, which is an output device.
It is difficult to screen-capture the image on the display screen of the software CRHN (in this case, if the display 450A is copied with a silver salt or digital camera, it can be copied), and the file that will be the content or the printing by the printer from the software side can be set to disallow Printing can be disabled or enabled depending on 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)にて暗号化された鍵情報を復号して閲覧する鍵として利用する。この場合も、本発明はコンテンツへのアクセスコントロール技術として機能する。
<Browsing data while offline>
In the present invention, even if the terminal 4A goes offline due to a disaster or the like and is disconnected from the internetwork and isolated, it is conceivable that there is data that the terminal 4A wants to view using the software 403A. For example, it is assumed that a user would like to use a file of a book such as an encyclopedia that is useful for an evacuation route or a disaster in case of a disaster. The blockchain itself is a globally distributed database of servers and is resistant to localized 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 that the encrypted file could not be decrypted.
Therefore, in the present invention, when a file is decrypted by the software 403A in advance before a disaster occurs, the viewed certificate data 4036A (4036A shown in FIG. 4B; bookmark data, OFBKMK in this text) is transferred to The key information encrypted with the user private key PRVP (401A in FIG. 4B) recorded inside the certificate data is decrypted and used as a key for browsing. Again, the present invention functions as an access control technique to content.

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

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

ユーザーの中には端末4Aがネットワーク20から切断されたオフライン時の4036Aを用いた閲覧機能を悪用しようとする人もいるかもしれない。そこで権利者のコンテンツを守るうえで閲覧済みの証明書データをもちいてオフラインで閲覧する利用者に利用制限をかけることが好ましい時がある。(なおコンテンツの権利者の判断では閲覧制限を設けない4036Aの利用形態も考えられる。)
その具体的な対策例及び実施例として、ソフトウェア403Aはオフライン時の利用において403Aがインストールされたコンピュータやスマートフォンの時刻情報と証明書データOFBKMK4036Aの認証およびコンテンツを閲覧できた時刻を検出し、4036Aの時刻が現在のスマートフォン等コンピュータ端末の時刻よりも過去にあることを確認してから、4036Aの情報に含まれる情報を復号して4033Aを得て、暗号化データやファイル4034Aを復号し、4034Aを4036Aを用いて復号して閲覧などを行った時刻(4036Aで閲覧を始めた現在時刻)を記録し、前記4036Aで閲覧を始めた現在時刻よりある指定時刻だけ未来にある時刻まで間に限り閲覧を許可する。ある指定時刻だけ時間が経過した際には閲覧を停止する処理を行ったりソフトウェア403Aを停止させ、平文データ4035Aの利用を停止する。
Some users may try to abuse the browsing function using 4036A when terminal 4A is disconnected from network 20 and offline. Therefore, in order to protect the content of the right holder, it is sometimes desirable to restrict the use of the offline browsing users by using the certificate data that has already been browsed. (It should be noted that, at the discretion of the content right holder, it is also conceivable to use 4036A without restrictions on browsing.)
As a specific countermeasure example and embodiment, the software 403A detects the time information of the computer or smartphone on which 403A is installed and the time when the certificate data OFBKMK4036A is authenticated and the content can be viewed when used offline, After confirming that the time is past the current time of the computer terminal such as a smartphone, decrypt the information contained in the information of 4036A to obtain 4033A, decrypt the encrypted data and file 4034A, and obtain 4034A. The time at which the decryption was performed using 4036A (the current time at which the browsing was started with 4036A) is recorded, and the browsing is limited to a specified time in the future from the current time at which the browsing with 4036A is started. allow When a certain specified time has passed, processing to stop reading is performed, software 403A is stopped, and use of 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があってもよい。
Among the computer terminals 4A, most of the smartphone type terminals 4A are provided with a radio signal receiver 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. Signals from GNSS include time information. In a computer that does not have a built-in means of obtaining time information such as GNSS in a state that is difficult to remove, the time is set to a value different from the original time in the BIOS (Basic Input Output System) of the computer offline, and the software 403A is correct. There is a risk that the software 403A will prevent the time from being acquired, and allow the browsing even when the time to stop browsing has come.
In order to browse using the certificate data OFBKMK4036A that has been browsed in the software 403A, it is necessary to be able to receive from broadcasting stations such as NITZ (Network ID and Time Zone, network ID and time zone), JJY, GNSS that transmit the time even in the event of a disaster. preferable. Moreover, it is preferable that the device capable of receiving the time information is difficult to remove. For example, the wireless communication device 422A or the 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 shield has an authentication number as a wireless device (Japanese wireless device construction design certification, the United States Federal Communications Commission FCC wireless device certification ID, etc.) may be stamped, it may be sealed as a semiconductor package, or the internal parts may be sealed with a transparent adhesive or the like. It may be sealed in a visible form.
A CPU including 41A and 43A and a receiving device 422A or 423A of GNSS or JJY or NITZ are mounted on the same semiconductor package or on the same semiconductor substrate, and the CPU or system-on-chip (SoC) device is used as a terminal for control and control. It is preferable to mount it as an arithmetic unit. (Some SoC chips installed in smartphones and tablet terminals sold as of 2020 have a CPU and a modem to a wireless communication station that transmits NITZ and receive wireless signals from GNSS (GPS in the United States and QZSS in Japan). There is a SoC with a built-in modem, such as the SoC of Qualcomm in the United States.)
In SoC, it is one semiconductor chip, but it may be a semiconductor component called SIP (System in Package) in which a plurality of IC chips are mounted in one package and sealed.
In addition, NITZ (Network Identity and Time Zone), which uses base stations for mobile phones and smartphones, may not function if the base station for mobile phones is damaged and stopped in the event of a disaster. It is preferable that the time can be corrected using the time data of radio stations on the ground (such as JJY in Japan) or the time data of radio stations in outer space such as GNSS.
In addition to GNSS and JJY among systems that use broadcasting, it may be possible to acquire the time through satellite broadcasting. It is assumed that the user terminal receives time information transmitted from weather observation satellites and broadcasting satellites in geostationary orbit. 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 secret key information of the program 403A when the program 403A is executed, and a ROM or non-volatile memory NVRAM that can record the user's secret key information are mounted on the SoC etc. together with the CPU as a package. May be sealed. This is read when the terminal is disassembled and the signal exchange of the storage device is measured from the parts where the parts constituting the terminal are joined by soldering etc. using an electrical signal measuring device and the secret key of 403A etc. is executed Inevitably, it is intended to prevent attacks by measurement and reverse engineering of electrical signals at the terminals of components. In order to prevent reverse engineering in the connection path between the memory device and the control arithmetic device, it is preferable that the memory section and the processing section used in the present invention are formed on the same substrate or sealed in the same package. (This requirement also applies to Terminal 1A, Terminal 4A, and Terminal 3D.)
It is preferable to make it difficult to access the signal processing unit of the storage device and the control device, and to do so may destroy the storage device and the control device of the terminal. The control unit and storage unit of the terminal may be sealed with a sealing resin or adhesive, or may be sealed with a sealing resin or adhesive so that the terminal cannot be disassembled into the storage unit or control unit.
However, among the storage devices, it is sufficient to seal the storage device corresponding to the capacity of the information necessary for the operation of the software. A non-volatile semiconductor memory may be added to increase the capacity. A magnetic disk such as a hard disk drive or an optical disk may be used as the external storage device. Also, the storage device recording 4034A may be removed from the terminal 4A and handed over to others for distribution.

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

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

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

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

情報を保持するという観点からはオフラインであっても閲覧済みの証明書データを持つユーザーはその個人利用の範囲内でデータを紙等に記録できることが好ましいかもしれない。本発明で用いるコンピュータや記憶装置そしてブロックチェーン等の技術は、紙や粘土板及び石板といった過去に発明された記録手段のように長い実績を持った情報記録媒体ではないので、本発明を用いた情報のうち情報の権利者が望む場合には本発明で用いたデータやトークンの所有に関する情報を紙などに記録出来ることが好ましい。音楽映像データやソフトウェアデータもまた平文ファイルで磁気テープや磁気ディスク等の記憶装置に記憶することができるほうが情報が残り続けるかもしれない。
本発明は実際の紙の保存年月と同じくらいの年月、すなわち100年を超え数世紀以上機能すると仮定し設計される。本発明のソフトウェアは今ある現代の文化や生活のデータを保持する観点を持って、データの所有、コンテンツ権利者保護、情報の記録を重視し設計を行っており、情報を後世に伝えることを考えている。
本発明では暗号化ファイルの形で世界中にファイルを配布することを可能とし、OTPトークンという鍵を用いて暗号化データを復号するという情報の流通形態を取るが、暗号化データの配布元である権利者は暗号化データの原本である平文のデータを責任を持って保存することが好ましい。世界中に販売した書籍のデータがあるからといって原本の保全をしなくなってしまうことを発明者は意図していない。
また発行したOTPトークンとそれに対応した暗号データ4034Aやソフトウェア403AとAKTB4032Aなどの復号の鍵となる情報をまとめて書籍や映像音声情報として図書館などに収録することで本発明の手段による書籍が長い年月にわたり保存され易くするかもしれない。
From the viewpoint of information retention, it may be preferable for users who have viewed certificate data to be able to record the data on paper or the like within the scope of their personal use even when they are offline. Technologies such as computers, storage devices, and blockchains used in the present invention are not information recording media with a long track record like recording means invented in the past such as paper, clay tablets, and stone tablets. It is preferable that the data used in the present invention and the information about ownership of the token can be recorded on paper or the like if the right holder of the information desires. If music video data and software data can also be stored as plaintext files in storage devices such as magnetic tapes and magnetic disks, the information may continue to remain.
The present invention is designed under the assumption that it will function for as long as the actual paper is stored, i.e. over 100 years and over several centuries. The software of the present invention is designed from the viewpoint of preserving the data of modern culture and life, with an emphasis on data ownership, protection of content right holders, and information recording, so that information can be passed on to future generations. thinking.
In the present invention, files can be distributed all over the world in the form of encrypted files, and an information distribution form is adopted in which encrypted data is decrypted using a key called an OTP token. It is preferred that a right holder responsibly store the plaintext data that is the original of the encrypted data. The inventor does not intend to stop preserving the originals just because there is data on the books sold all over the world.
In addition, the issued OTP token and the corresponding encryption data 4034A, software 403A, AKTB 4032A, and other key information for decryption are collectively recorded in a library or the like as a book or video/audio information. 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 non-bidirectional encrypted data)
As an application of FIG. 8C, there is a use for encrypted data broadcasting. FIG. 8D shows a connection diagram of the terminals. As shown in FIG. 8D, the encrypted data may be the encrypted data of audio and video broadcasted by one-to-many wireless broadcasting, and the data of radio broadcasting and television broadcasting (television broadcasting) is encrypted and sent to the broadcasting station. The encrypted data transmitted from 5C (5C in FIG. 8D) and received by the wireless receiver 423A built in the terminal 1A of the user UP can be decrypted and applied to viewing audio and video.
Distribution of content by television broadcasting or the like involves exchanging data and files in two-way communication and on-demand distribution by computers and computer networks shown in FIG. It is a live broadcast/live distribution on the terminal 4A (television with a receiver).
Here, it is preferable that a plurality of receivers 4A (television-type computer terminals 4A with broadcast receivers) can be connected to the Internet in the present invention, and have an authentication system using a one-time password of the present invention and an encrypted content browsing function. If the receiver cannot connect to the Internet or the global blockchain, the broadcasting station may add time information, block number Bn, one-time password authentication, and content decryption to the broadcast data in addition to the secret key information stored in the receiver. need to send some of the key information required for
This method enables one-to-many data transmission in which data can be transmitted from one broadcasting station to a plurality of users. If radio waves can be independently secured as a communication path, 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 gazettes, textbook data, and voice There are advantages to sending videos, etc. (In existing Japanese satellite and terrestrial digital broadcasting, IC cards are used and access control using common key encryption is performed.)

本発明のOTPトークンを放送の視聴権として用い放送データの暗号化を復号して閲覧する方式を応用した場合、ICカードがない場合でも秘密鍵と、秘密鍵に割り当てられたトークンを用いてアクセスコントロールが可能になる。ICカードの再交付をしなくともトークンの追加交付・追加発行を行い、コントラクト側で暗号化に利用するキー情報を変更できる。
ただし暗号化されたデータ(コンテンツ)は放送局から1対複数の形でデータ送信されるが、OTPの取得と認証、認証関数の戻り値の取得はインターネットワーク20を通じて行う。従ってこの方式の放送データ視聴用端末4Aは放送局からの無線受信装置とインターネットとの通信装置の両方を備えることが望ましい。本発明では通信機能を持つテレビジョン端末4Aもしくはスマートフォン端末4Aもしくはタブレット型の携帯端末4Aについて図8Dに示す端末4Aのような実施形態を想定する。
When the OTP token of the present invention is used as the right to watch the broadcast and the encrypted broadcast data is decrypted and viewed, access can be made using the secret key and the token assigned to the secret key even without an IC card. control becomes possible. Tokens can be additionally issued/issued without reissuing the IC card, and key information used for encryption can be changed on the contract side.
Encrypted data (contents) is transmitted from the broadcasting station in a one-to-many manner, but OTP acquisition and authentication and 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 system be equipped with both a radio receiving device from the 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 the television terminal 4A, the smartphone terminal 4A, or the tablet-type portable 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 smart phone, and may be a large-screen television terminal 4A that cannot be carried by humans. When the television type terminal 4A is used, the secret key may be recorded in the external recording device 46A and used as 401A. This embodiment is similar to an existing television set with an IC card reader having an access control function.
Alternatively, the private key 401A can be recorded in the storage device 40 of the television terminal 4A and used. However, in this case, when the terminal 4A is discarded or transferred, it may be necessary to record the information of the private key 401A in a separate storage device and then erase 401A from 40A. In the present invention, a private key stored in the terminal 1A or terminal 4A without using a storage device for storing the private key such as a hardware wallet or an IC card (an IC card or NFC card having a private key such as a personal number card) is used. In such a case, 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 when the terminal is discarded or transferred.

<ネットワークに接続されていない受信端末について>
図8Dにおいて端末4Aがインターネットに接続されていないが、端末4Aにはスマートフォン型端末1Aと連携する無線通信装置があるとき、端末4Aは端末1Aを通じてインターネット20に接続してもよい。
<Receiving terminals 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 that cooperates 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 of connecting to the Internet and cannot communicate with a terminal that can connect to the Internet, there are methods A and B below.
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 into the television terminal 4A, or have the NFC tag 19A on which the password is recorded be read by the 420A. The broadcast encrypted data is decrypted using the returned value CTAU, and if the decryption is successful, the content is viewed.
B. Similar to FIG. 8B, when the seed value is included in the broadcast data and the decryption password is generated according to the change in the seed value, in the example shown in A, the information that is the basis of TTKY4033A that performs decryption is only CTAU4031A. Become. Therefore, information corresponding to AKTB4032A may be input to terminal 4A, and a key used for calculating TTKY4033A may be broadcast in encrypted data during data broadcasting. The broadcast key information may be anonymized or encrypted so that only 403A can decipher it.

無線受信装置のみ備えるテレビジョン端末4A等の場合には、放送局5Cの送信情報に時刻情報、あるいは5Cが3A等から読み取ったブロック番号Bnを付与し、テレビジョン端末4A側でBnを受信させ、端末4Aが備える認証関数と認証関数に用いる内部シークレット変数からOTPの生成と認証、暗号化データの復号に必要な鍵の生成を行い、放送された暗号化データを随時復号してもよい。放送データに放送データ内部の暗号化コンテンツを復号する鍵の情報の一部が含まれていても良い。 In the case of the television terminal 4A or the like having only a radio receiving device, time information or 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 by the television terminal 4A. , an OTP is generated and authenticated from the authentication function provided in the terminal 4A and an internal secret variable used for the authentication function, and a key required for decrypting the encrypted data is generated, and the broadcast encrypted data may be decrypted at any time. The broadcast data may include 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 encrypted form in the storage device (corresponding to the recording terminal of the television device) of the receiver (television receiver), and if you want to watch it again, authenticate with the OTP token required for decryption A later return value CTAU is obtained, information such as AKTB is input, a decryption key TTKY 4033A is calculated, and using 4033A, the content of the encrypted data that has been recorded can be decrypted and viewed.

<テレビジョン型コンピュータ、テレビジョン型ゲーム機、テレビジョンと接続したコンピュータおよびゲーム機>
ここで受信機端末4Aがテレビジョン装置である場合、家庭などで家族に情報を共有し娯楽などに利用できる装置である。大画面であるテレビジョン装置はヘッドマウントディスプレイ453Aと比べ複数人と情報を共有するのに適する。インターネット接続できるテレビジョン視聴機能を備えたコンピュータ端末4Aである場合も想定できる。その場合はソフトウェア403Aに暗号化されたテレビジョン用放送データの閲覧と暗号化されたデータという形でコンピュータゲームソフトウェアの実行が同一の端末で実行されうる。
放送の視聴権利とコンピュータゲームのプレイ権利、ウェブサイトログイン権利が割り当てられたOTPトークンに対応する秘密鍵401Aが端末4Aに記録されており、OTPトークンを暗号化されたテレビジョン放送の視聴・暗号化されたゲームソフトウェアの実行・暗号化された書籍データの復号による新聞雑誌の閲覧等ができ、またOTPトークンを用いたオンラインゲームサーバ端末3Cへのログインできるマルチメディア端末4Aを提供することも考えられる。
<TV type computer, TV type game machine, computer connected to TV and game machine>
Here, if the receiver terminal 4A is a television device, it is a device that can be used for entertainment by sharing information with family members at home. A television device with a large screen is more suitable for sharing information with a plurality of people than the head mounted display 453A. It can also be assumed that the computer terminal 4A is equipped with a television viewing function that can be connected to the Internet. In that case, viewing of television broadcast data encrypted by software 403A and execution of computer game software in the form of encrypted data can be performed on the same terminal.
A private key 401A corresponding to an OTP token to which a broadcast viewing right, a computer game playing right, and a website login right are assigned is recorded in the terminal 4A, and viewing/encryption of a television broadcast in which the OTP token is encrypted. It is also possible to provide a multimedia terminal 4A that can execute encrypted game software, read 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>
Although terminal 5C can use both cable and wireless broadcasts, this section preferably assumes a service that distributes information wirelessly in one direction to a plurality of recipients.

放送局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 an orbit. An artificial satellite that actively uses a propellant or the like to move by thrust may be used. It may be used for radio stations such as JJY that broadcast time information and positioning satellite systems that include 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 one-time password as a simple time stamp>
The broadcasting station 5C or 5C is a satellite type terminal 5C with a function of becoming a block chain node like 3A, and the data for broadcasting is the encrypted data part and the time stamp of the positioning data of the global positioning satellite system GNSS Partial use is also possible. 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.
In this case, the broadcasting station 5C has a clock that calculates time such as an atomic clock, has time data according to the clock or a local block chain on the server in the satellite, and the blockchain system of the present invention recorded in the contract Using a one-time password, time information and a hash value calculated using TB and KC values can be attached and transmitted as radio waves containing a signal for GNSS positioning. In addition to location information, you can also send your own encrypted data and timestamp information. The terminal 4A may be able to receive time information from the terminal 5C that has become the GNSS broadcasting station.
By attaching BnTOTP and a message authentication code MAC value to the positioning navigation data broadcast by the GNSS broadcasting station 5C, OTP authentication is performed using 3A at the time of distribution of the positioning information, which leads to checking the authenticity of the positioning information. . By attaching the BnTOTP and OWP of the present invention to the positioning signal and the navigation data for positioning, tampering with the navigation data for positioning is prevented, and incorrect calculation of position information due to spoofing of the positioning signal and incorrect navigation due to incorrect position information are prevented. can lead to Terminal 4A can know the authenticated location information and time information by the above method.
When 5C is in space, another broadcasting station 5CC can conduct two-way communication and change part of the key information K of 5C's block chain according to 5CC's instructions.

<レイティング>
もしレイティングが必要な場合はコントラクトに明記しコントラクトからユーザーにトークンを発行する。
本発明ではレイティング情報をコントラクトに記述できる変数KNBNをコントラクトに備える。
<Rating>
If a rating is required, specify it in the contract and issue a token to the user from the contract.
In the present invention, a contract is provided with a variable KNBN that can describe rating information 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 manager (Owner)
A user UA who is qualified to provide services (for example, a bank account holder who has signed an OTP token contract with the right to log in to a website/web application for Internet banking) and its private key to its terminal 1A From 101A to the user identifier A calculated from the block chain part 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 block chain, through the network 20 (network NT). Issue a token.
OTP-generated tokens are recorded on the blockchain as smart contracts. A smart contract (contract) behaves as a program that is difficult to repair and falsify, and once the contract is deployed to the blockchain part of the blockchain system DLS such as terminals 3A and 3B, variables that can be changed using setter functions etc. Others may not be altered, altered, modified or erased. The service manager changes the values of the KC value 3011A and BC value 3013A of the contract through a function fscb 3012A that serves as a setter for changing internal variables provided inside the contract.
Contract functions can be programmed with user identifiers and conditions under which they are authorized to execute. In the present invention, an internal seed value (internal secret variable) KC value 3011A and BC value 3013A for calculating an OTP that can be executed only by an administrator and a function fscb 3012A that allows only an administrator to access KC3011A or BC3013A are set, and a contract is executed. Only the administrator can rewrite and update the secret key information for calculating the OTP of the contract. The function fscb 3012A 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 password secret value generated by the OTP token. Since the one-time password BnTOTP using the block number Bn is also characterized by updating the seed value KC value 3011A, the contract includes the seed values KC3011A and BC3013A rewritten by the functions fscb and fscb. Characterized by

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

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

あるいは、セキュリティ性を高めるために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 a function with high importance in operating an OTP token such as an internal variable of a contract that manages OTP or a token issuance function in order to improve security, the secret key 101C is used to execute the function. There is a contract internal variable that can be accessed and set from a secret key that has user identifier C and user identifiers D, E, F, and G other than user identifier C, and changes the token issuing function, KC value 3011A, and BC value 3013A. 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 any one of the set values of D, E, F, and G will execute the function. When it is a variable value to be stopped (obstructed), it is possible to interrupt the execution of the token issuing function, the setter function of the KC value / BC value, and other functions that change the state of the contract and can only be changed by the contract administrator. .

前記のユーザー識別子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 secret key having the user identifiers D, E, F, and G other than the user identifier C can be compared to an existing device, which has a plurality of dials and keys. It is the same as the idea of a safe or a vault that can only be opened when the key is unlocked. A safe has a plurality of dials, metal keys and locks, and unless these multiple elements are unlocked correctly, the locked safe cannot be unlocked. Identifiers D, E, F, and G cannot be locked unless multiple elements can be unlocked (if multiple secret keys are not available, an attacker can use a setter function that rewrites the contract variables, functions that perform critical operations, such as the token issue function, cannot be unlocked).
In addition to the contract administrator's private key 101C (101C indicates user identifier C), there are one or more private keys owned by other users (auditor's user identifiers D, E, F, and G), all of which are individual It has a true/false value that can be set by accessing , and it is possible to prevent the function for the contract manager from being executed unless the true value set by the user identifier D, E, F, G is taken. This is the storage of variables or processing units such as 3042A at 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トークンのコントラクトにアクセスしコントラウトの状態を変えるようにしてもよい。
しかし何らかの複数の秘密鍵を用いて、コントラクト管理者の秘密鍵が漏洩した際の対策を行うことが好ましい。
In addition, instead of setting the variable to a true value of the boolean value with all the user identifiers D, E, F, and G agreeing, as an example, 11 auditor users are set and the mapping type corresponding to those users is set. Equipped with a boolean variable, aggregates the true number (the number of true or false votes) of the mapping type variable, and executes a contract function that can be operated by the administrator if the majority of the 11 users is not reached. It can be programmed to stop (again, at 3008A, 3008AG, 3008AA in FIG. 3AC, a variable or processor store such as 3042A).
<Simple measures to prepare for the leakage of the private key of the contract administrator>
In the specific example, five secret keys of users C, D, E, F, and G are used, but two different secret keys are used to make it impossible to operate the contract easily during unauthorized access. You can access it as an administrator. A secret key 101C of the contract manager and a secret key 101B for stopping the issuance of OTP tokens when 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 issuing function and contract internal variables (3042A, 3043A, 3024A, 3030A, 3031A, and 3011A in FIG. 3AC , 3013A).
Under the condition that secret key leakage does not occur or if leakage is acceptable, only the single secret key 101C may be used to access the contract of the OTP token and change the state of the contract.
However, it is preferable to use some kind of multiple private keys to take measures against leakage of the contract manager's private key.

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

<ブロック番号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 calling 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.
The user terminal 1A, the server terminal 3A, and the network 20 are used to generate and authenticate the OTP. In the user terminal 1A, a secret key 101A, a URI or the like in the network 20 of the server terminal 3A as a designated block chain node, a contract identifier 3019A of an OTP token that generates a designated OTP, and a block chain unit from the secret key 101A. The OTP generation function 3009A described in FIG. 3AA, FIG. 3AB, and FIG. Through the blockchain access program, the blockchain part of the server 3A is accessed through the network 20 and the function is called. The terminal 1A accesses the block chain part of the terminal 3A and performs processing according to the program of the OTP generation function 3009A of the contract recorded in the block chain part.
When the block number Bn is used for OTP generation in the embodiment of FIG. 1, the OTP generation function 3009A described in FIGS. , Bn, and A as arguments for the hash function fh, pass the arguments to the hash function, generate the hash value BnTOTP as BnTOTP=fh (A, TIDA, KC, Bn), and use the OTP authentication function 3009A. Alternatively, 3009A notifies terminal 1A of BnTOTP as the return value of function 3009A. If the arguments input to the terminal 1A or the user calling the function do not match the conditions of F101, the execution of the OTP generation function is stopped. The hash function fh is, for example, SHA256 of SHA-2.
In process F100 of the flowchart, the two arguments of the user identifier A and the token number TIDA are received as argument inputs of the OTP generation function 3009A. It should be noted that a plurality of arguments such as the third and fourth arguments may be used depending on the application.
Here, if the BnTOTP generated in F104 is not used as a return value, as shown in F107, BnTOTP is type-converted as an unsigned integer, and the n-digit password is divided by 10 to the power of n, and the remainder is the n-digit password. It can be transmitted as BnTOTP-n, and it is also possible to use the return value of the OTP generation function 3009A as a 7-digit integer OTP where n is 7. The OTP authentication function should be programmed to verify the
In the embodiment, an OTP generation function that generates a 32-byte OTP using the processes from F100 to F105 and an OTP generation function that generates an n-digit unsigned integer OTP that uses the processes from F100 to F107 are provided in the same contract. It is possible to create an OTP token contract that generates an OTP, and usually authenticates with an OTP generation function of n digits (at least the number of digits is good) and an OTP authentication function corresponding to it, and when performing a highly important operation, data Authentication can also be performed using an OTP generation function of 32 bytes (integer is a maximum of 2 raised to the 256th power, and brute force attacks are assumed to be difficult), which is larger than the amount, and an OTP authentication function corresponding thereto.

本発明の実施形態ではブロックチェーン基盤にイーサリアムを用い、ハッシュ関数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 base, the SHA256 function that outputs a return value with a hash value of 32 bytes is used as the hash function fh, and BnTOTP is used without providing the option of F104 in the processing program of the OTP generation function. = fh (A, TIDA, KC, Bn), an OTP generation function that calculates a 32-byte OTP (in FIG. 6A, the function operates through the flowchart in the order of F100, F101, F102, F103, F104, and F105; or 6B, functions that operate through the flowchart in the order of F100, F108, F101, F102, F103, F104, and F105);
An OTP generation function (F100, F101, F102, F103, F104, and F107 in FIG. 6A in the order of F100, F101, F102, F103, F104, and F107 in the flowchart of FIG. or a function that operates through the flowchart in the order of F100, F108, F101, F102, F103, F104, and F107 in FIG. 6B) in the OTP generation token contract. was carried out.
Here, the difference between FIGS. 6A and 6B is that the variables 3017A and 3017AG that store the number of times of execution of the OTP generation function 3009A are stored, and the number of times of execution of the function 3009A is recorded or increased, or It is the presence or absence of change processing F108 such as increase/decrease of numerical balance.
In F101, the user identifier of the function executor (function executor, message sender, msg.sender user identifier) that executes the OTP generation function 3009A of the OTP token from the input argument is associated with the OTP token of token number TIDA. It is determined whether it matches the identifier of the user who owns it (here, user identifier A). Without this process F101, a user who is not the owner of the OTP token can execute the OTP function, so when the message sender executes 3009A, the process of determining whether the message sender is the owner of the OTP token. is required.
In F100, it is also possible to input only TIDA and perform processing. . Since the user identifier of the sender is input to the OTP generation function as A, A is assumed to be used as an argument and described in F101.
(Note) In the conditional statement F101 for OTP token generation, it is judged whether or not the owner of the OTP token is present. It is also possible to generate an OTP using the token number as an argument. The user identifier sender is used to check the token balance (remaining number) of that user identifier (msg.sender=A if the executor is user identifier A), so it can be considered that the user identifier is used for function execution. Maybe. What is described here is only 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を生成する。
The hash function fh is SHA256 or SHA-3 of SHA-2 in the embodiment, and MD5, RIPEMD, SHA-1, SHA-2 and 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 in the order of the arguments, combined, and the hash value of the data is obtained by the SHA256 function or the like.
A specific example is processing such as SHA256 (EncodePacked (A, TIDA, KC, Bn)). Here, the function EncodePacked (WXY, Z) is a function, library, or processing method that wraps (packs) the variables W, X, Y, and Z in order, encodes them, and outputs a message Mes.
If the order in which the arguments are packed by the EncodePacked function changes, the data changes, the internal message Mes changes, and the SHA256 (Mes) argument value changes, so the hash value calculated therefrom also changes. For example, SHA256(EncodePacked(A,TIDA,KC,Bn)) and SHA256(EncodePacked(TIDA,A,KC,Bn)) produce 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 TIDA, KC, Bn, and A as arguments. The four variables processed by hash values based on TIDA, KC, Bn, and A may be processed in the OTP generation function and then used as arguments of the hash function fh. That is, in the case of TIDA, KC, Bn, and A, the arguments of the function for calculating the OTP may be derived from the above four.
TIDA and A may lead to personal information, and if the service provider and user agree to use them, A and TIDA can be used, but if not, or the handling of personal information is prohibited by law 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, TIDA needs to be used directly as an EOA or token number on Ethereum, and there is a risk that the current blockchain based on Ethereum will not be able to meet that demand.)
Also, from the viewpoint of personal information protection, it is preferable that the blockchain infrastructure is kept secret so that only a few people can understand the transaction sent to the blockchain when purchasing or issuing an OTP. In Ethereum, user identifiers and token numbers of certain contract identifiers can be viewed from all over the world, and by associating that identifier with the user's personal information, it is 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 retrieved at the server terminal 3F.
In a known example, a service corresponding to terminal 3F is provided as a blockchain search service such as Etherscan and a server terminal for blockchain search that performs it. The terminal 3F may be equipped with a function of restricting searches for privacy protection or the like. For example, when user identifier A accesses and searches 3F, contract identifiers and transaction information related to A can be displayed, and information on transactions and contract identifiers permitted to be disclosed can be viewed.
When the present invention is performed in a public network block chain system such as Ethereum in which all transactions are open to the public, the service provider records the correspondence between user identifier A and user UA when verifying the identity of the user of the user identifier. Service providers and OTP token issuers may be required to manage information so as not to leak it to the outside.
Customer information and services are owned by service providers, OTP tokens are issued by OTP token management organizations, and only service providers and users have a corresponding relationship between the OTP token token number and the user's personal information. It may be possible to protect personal information by not disclosing information to both parties.

<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 same terminal 1A can be used as the OTP generation terminal and the OTP authentication terminal. Also, the OTP generation terminal and the OTP authentication terminal can be used separately. In other words, it is possible to use a communicable hardware-type OTP generating mobile terminal 1A having an output device capable of generating and displaying an OTP and a login authentication terminal 4A having an OTP input device for website login.
There are a terminal 1A that generates an OTP, a terminal 3A that has a block chain unit that generates an OTP using an OTP token in the terminal 1A, and a terminal 4A that can access a terminal 3C that handles services such as websites. and terminal 4A are connected to network 20, and after 1A executes the OTP generation function to generate an OTP and output it to output device 15A of terminal 1A, user UA visually checks it and manually operates terminal 4A. After inputting to the input device, the terminal 4A performs OTP authentication using the input OTP, and communicates and exchanges the result with the terminal 3C. According to the authentication result, the terminal 4A can be logged in 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である。
<Authentication of one-time password based on time using block number Bn and call of authentication result>
The operation of the OTP authentication function 3018A for verifying and authenticating OTPs described in FIGS. 3AA, 3AB and 3AC is similar to the OTP generation function 3009A, and inside the authentication function 3018A, TIDA, KC, Bn, and A are hashed using fh. VeriBnTOTP=fh (A, TIDA, KC, Bn) is obtained using TIDA, A, and IF statements among the input ArgBnTOTP, which are input as arguments of the one-time password authentication function when the user accesses the server 3A. It is determined whether ArgBnTOTP matches VeriBnTOTP using the conditional expression by , and if they match, a return value indicating successful OTP authentication is returned to the terminal 1A. It is also possible to perform processing when authentication is successful.
If they do not match, a return value indicating that the authentication cannot be performed is returned to the terminal 1A, and processing for the case of the authentication failure is performed. Here, in the above BnTOTP, a 32-byte OTP is generated in the embodiment, but it is the same when BnTOTP is read as an input n-digit password BnTOTP-n to be a 7-digit integer password where n = 7. is. FIGS. 6C-6H show flowcharts for the processing of 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 flow chart of authentication function 3018A shown in FIGS. 6C-6H will now be described. In process F110 of the flowchart, three arguments of user identifier A, token number TIDA, and password ArgOTP are received as argument inputs of OTP authentication function 3018A. Note that the OTP authentication function may take a plurality of arguments such as the fourth or fifth argument depending on the application.

図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 embodiment of the authentication function 3018A, which is a basic processing example. Authentication using the process shown in FIG. 6F can be used for terminal 3C or terminal 3D and decryption of encrypted data. At F110, the user identifier A and the token number TIDA are received as arguments of the authentication function, and VeriOTP is calculated from the arguments at F113. At this time, the block number Bn and secret variable KC value are used. VeriOTP=fh(A, TIDA, KC, Bn) is calculated, and ArgOTP, which is the argument OTP input, and VeriOTP are compared in F114 to see if they match. If they match, it is determined that the authentication is successful, and the process of F116 is performed. If they do not match, the process of F118 is performed. Connection examples of terminals using FIG. 6F are shown in FIGS. 8A, 8B, 8C, and 8D.
The OTP authentication function form of FIG. 6F can be used in terminal 3C or terminal 3D.

図6Dは図6Fの処理に用いる真偽値や整数などの変数3017Aや3017AAや3017DAに対し、OTP認証関数3018Aの実行後の真偽値もしくは整数値などの書き換えを行う処理F115を追加したものである。3017Aや3017AAや3017DAは真偽値、整数、文字列などのデータである。3017Aや3017AAや3017DAはトークン番号をキーとして真偽値型、符号なし整数型、文字列型などのデータ型を持つマッピング変数である。マッピング変数は一つの例であって、トークン番号をキーとして結びつけられたデータを記録できれば良い。図6Dを用いる端末の接続例は図8A、図8B、図8C、図8Dである。 FIG. 6D shows a process F115 added to rewrite the variables 3017A, 3017AA, and 3017DA such as true/false values and integers used in the process of FIG. 6F after execution of the OTP authentication function 3018A. is. 3017A, 3017AA, and 3017DA are data such as truth values, integers, and character strings. 3017A, 3017AA, and 3017DA are mapping variables having data types such as true/false value type, unsigned integer type, and character string type with the token number as a key. A mapping variable is just one example, and it is sufficient to record data associated with a token number as a key. Examples of connection of terminals using FIG. 6D are shown in FIGS. 8A, 8B, 8C, and 8D.

図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 an example of processing that is assumed to be used for decrypting encrypted data or for logging into a website. FIG. 6C is obtained by adding the processing of F111 to the processing of FIG. 6D. At F111, it is determined whether the executor of the authentication function 3018A is the user identifier A, and if not, the process is interrupted as shown at F117. If the executor of the authentication function 3018A is the user identifier A in F111, the process of the authentication function in F112 is continued, and if the input OTP=ArgOTP is no problem, F113, F114, F115, F116, and F116 are performed. processing takes place. If ArgOTP does not match VeriOTP in F114, the process is interrupted as indicated by F118. FIG. 6E is a flowchart from which processing F115 of FIG. 6C is removed. Examples of terminal connections using FIGS. 6E and 6C are FIGS. 8A, 8C, and 8D, and FIG. 8B can be used in applications where terminal 3D can connect to network 20 and can connect to 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 block chain such as 3A and 3D are connected and the information of 3014A is not synchronized and shared, and the authentication method described in FIG. 6E are not available on terminal 3D. If the terminal 3D is a processing terminal such as a ticket gate or an entrance of a station and is connected to the terminal 3A via the network 20 or has the same block chain recording unit and control unit as the terminal 3A, then FIG. 6C and FIG. The processes of 6E, 6G and 6H are available.
If the terminal 3D is a container such as a safe or an automobile, the network 20 may be affected by restrictions on the power supply device such as a battery installed in the terminal, or by restrictions on the communication device due to the environment where the mobile body on which the terminal is mounted is in an environment where radio waves do not reach. If the connection cannot be made, it is difficult to perform the processes of FIGS. 6C, 6E, 6G and 6H.
Depending on the application of terminal 3D, FIGS. 6C, 6E, 6G, and 6H may or may not be used. 6C, 6E, 6G, and 6H are examples of usage patterns.

図6Cと図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 user identifier A is the executor (msg.sender) of the authentication function 3018A. By having this process, it is determined whether the user identifier A calculated by the private key 101A possessed by the user at the time of login process to the website is transmitting and executing the message, and the executor of the authentication function without the private key suspends function execution by The difference between FIGS. 6C and 6E is the presence or absence of processing F115 for changing 3017A, 3017AA, and 3017DA when authentication is successful. FIG. 6C has F115 and FIG. 6E does not have F115.

図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が無い。 FIGS. 6G and 6H have a process F119 for determining whether the executor of the authentication function 3018A is the holder of the OTP token. This process is similar to the process F101 described in the flowcharts of FIGS. 6A and 6B for the OTP generation function. When a message is sent to the terminal 3A, which is a node of the blockchain, using the secret key 101A possessed by the user at the time of login processing to the website by processing F119, it is determined in F119 whether the user possesses an OTP token with the token number TIDA. , suspends execution of the authentication function by performers who do not have an OTP token. The difference between FIG. 6G and FIG. 6H is the presence or absence of processing F115 for changing 3017A, 3017AA, and 3017DA when authentication is successful. 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 functions of other contracts from a contract>
The contract used in the present invention may be completed with only one smart contract recorded in a certain block number, or a smart contract with another contract identifier recorded in the same block number or recorded in another block number. The processing contents may be separately described in smart contracts with other contract identifiers. 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 perform the processing of 3022A and 3023A of FIG. 3AB, the contract X having a contract identifier different from the authentication contract 3008AA of the OTP token is accessed, the function Y of the contract X is executed, and then the authentication function 3018A may be output to the terminal 1A.
Alternatively, as another example, a function such as a hash function fh of contract X that performs OTP generation and authentication may be defined in another contract Y so that it can be selected and called like a library.
A cryptographic hash function fh has a stronger hash function fh in preparation for a situation where a plurality of message data are calculated for a single hash value due to an improvement in the performance of a computer terminal, and collision of hash values can occur. Contract Y's hash function fh may be updated for use in calculating the OTP, and Contract X may be able to utilize Contract Y's fh.

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

<4A.ウェブサイトのログイン用途>
ウェブサイトなどのログインにはブロックチェーンのある時刻において変更されうる変数TBのうち、ブロック番号Bnを基にしたTOTP型ワンタイムパスワードトークンを用いる。TBにブロックチェーン上の最新のタイムスタンプ3002Aがある場合にはそれをTBとして用いることもできる。
<4A. Website login purpose>
A TOTP type one-time password token based on the block number Bn among the variables TB that can be changed at a certain time in the blockchain is used for login to websites. If TB has the latest timestamp 3002A on the blockchain, it can also be used as 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 also be used for TB, but when using block hash, Ethereum and its smart contract programming language Solidity use block hash values up to the 256th block number counting from the latest block number. It can be called, but at that time it is considered that calculation is performed with the block number Bn as an argument. When considering that Bh is calculated using Bn as an argument, the method using the block hash Bh is the same as the method using the block number Bn.
BnTOTP=(A, TIDA, KC, Bh) and Bh=Blockhash(Bn) when expressed as an expression in the Solidity language. Since the block number Bn is also used when using , BnTOTP=(A, TIDA, KC, Bh) and BnTOTP=(A, TIDA, KC, Bn) are similar calculation methods in terms of arguments. The present invention considers that the method using the block hash value Bh as described above is also a form different from the method using the block number Bn.
It is also possible to use the block hash as TB. Note, however, that block hashes can be manipulated by the administrators of the terminals that make up the nodes. Also, it is a hash value of block data of a certain block number Bn, and although it is dynamic with respect to time, it is not a value that expresses 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を好ましく用いた。
If the block hash Bh is used as the block number of TOTP, it is necessary to record the block hash in a different server terminal or block chain, and to be able to refer to the block hash value from the contract that calculates the TOTP. There may be Also, the block hash is a value that changes every 15 seconds in Ethereum, for example, and if the block hash is used instead of the block number, the calculation becomes complicated when it is desired to extend the time interval for generating and authenticating the OTP.
If it is a block number Bn instead of a block hash Bh, a variable n that increases the display interval based on Bn is used, and as Bn mod n, the remainder m obtained by dividing Bn by n is obtained, and m is subtracted from Bn to obtain Bnr. (As Bn-m=Bnr), Bnr is used instead of Bn as an argument of the hash function that calculates the OTP, and the OTP generation and authentication time is 15 seconds, 30 seconds, 45 seconds, 60 seconds and n. It can be extended by increasing the number, and the block number Bn is preferably used in the present invention 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 use Bn as an argument to obtain the past block hash Bh, but as described above, the calculation may require Bn. The block hash value Bh itself is a hash value corresponding to data of a certain block number Bn, and the block number is a variable whose numerical value increases with time. Even if the hash value changes or increases, it is not possible to indicate when the hash value was 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 for the OTP obtained by the generation function to be authenticated by the authentication function.
Since Bn is proportional to time data, it is preferably used when a service requires a time element, for example, when a time stamp-like element is used. On the other hand, in addition to Bn, or if it is desired to generate an OTP with increased randomness using Bh and use it for logging in to a website, etc., it is also preferable to use Bh.
When an OTP token is used as a pseudo-random number generator, it is possible to add more randomness by using Bh as a seed value for OTP calculation together with a value V determined by voting between DLS node terminals, which will be described later.

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

サーバ端末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)である。
Using the server terminal 3C, the contract 3008AG with the OTP generation function and the contract 3008AA with the OTP authentication function as shown in FIG. Access the blockchain using the contract identifier CPGT3019A of the token containing the OTP generation function and the contract identifier CPAT3020A containing the OTP authentication function, authenticate with the contract CPAT3020A containing the authentication function using the BnTOTP obtained from CPGT3019A, and perform the authentication function When the return value is used for login or operation of the website, login processing is performed using the server terminal 3C (SVLogin).
Here, BnTOTP=(A, TIDA, KC, Bn) may be used, or BnTOTP=fh(A, TIDA, KC, Bn, BC, V), or BnTOTP=fh(A, TIDA, KC, Bn, BSZ) plus the block size BSZ. When the terminals 1A, 1C, 3A, and 3C are connected via the network 20 as shown in FIG. 8A, the value V and the block size BSZ determined between the node groups such as the nodes 3A and 3B of the block chain are pseudo can be used as a random element. A block hash value Bh or the like can also be used. For example, the formula for BnTOTP used in the embodiment of the present invention is BnTOTP=fh (A, TIDA, KC, Bn, BC, V, Bh).
When BSZ varies with V, it is assumed that 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といった変数を用いることができることを特徴とする。 Arguments of the hash function fh of the present invention are A and TIDA, KC, Bn and BC, and V and Bh. A calculation method may be adopted so as to make it difficult to guess how to calculate BnTOTP. The present invention is characterized by having A, TIDA, KC, Bn and A, TIDA, KC, BC as arguments and internal variables necessary for function processing. 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]) with a token number TIDA held by the user as a key as a seed value may be used. The argument VU[TIDA], which is a seed value based on 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にアクセスされている事を記録できる台帳データ、データベースであればよい。ここで前記情報はユーザーの合意の上収集し、また合意の上一部またはすべてを仮名化(暗号化)もしくは匿名化して保存する。
Terminal 1A obtains the return value of the authentication function, 1A processes the return value according to the program of the website running on 3C (SVLogin), or passes the return value to 3C, and when the authentication result is correct, the internal service of 3C to browse and manipulate content. As an example, Internet banking, membership site, etc. are assumed. If the authentication result is incorrect, login is not allowed.
Also, after obtaining the user's permission at the time of login, blockchain information such as CPGT3019A, TIDA, Bn, and user identifier A, login time information,
An identifier based on an IP address such as an IP address or a hash value of the IP address, location information, an ID unique to the terminal 1A, and sensor values such as the sensor 144A of the input device 14A of the terminal 1A are stored as IPV values in the storage device of 3C. The user identifier A or the token number TIDA is associated with the IPV value in the form of , and 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 with respect to a token number or user identifier may be used. Here, the information is collected with the user's consent, and part or all of it is pseudonymized (encrypted) or anonymized and stored.

図6Xに記載する例のように、同一の秘密鍵101Aに由来するユーザー識別子から異なるIPV値、すなわち異なる環境からアクセスがあった場合に、異なる環境からのアクセスを不正アクセスと推測し、ユーザーUAの秘密鍵が漏洩しユーザー識別子Aとトークン番号TIDAの組み合わせに対し、端末3Cに記録されたデータベースのユーザー識別子Aまたはトークン番号TIDAとそれに対応する連絡先情報に不正アクセスの疑いがあることを通知し、ユーザの許可に応じてアクセスを禁止する機能を端末3Cは持つことができる。不正アクセスを禁止する用途はインターネットバンキングなどユーザーにとって重要な情報へのアクセスと情報の操作を行う場合を想定する。 As in the example shown in FIG. 6X, when a user identifier derived from the same secret key 101A has a different IPV value, that is, when there is access from a different environment, the access from the different environment is assumed to be unauthorized access, and the user UA is leaked and the combination of user identifier A and token number TIDA is notified that there is a suspicion of unauthorized access to user identifier A or token number TIDA and corresponding contact information in the database recorded in terminal 3C. However, the terminal 3C can have a function of prohibiting access according to the user's permission. It is assumed that unauthorized access is prohibited when accessing and manipulating important information for users 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 that constructs a database as shown in FIG. 6X and does not provide a function of notifying the user of unauthorized access. For example, when it is a simple membership site or a simple online game site, the server terminal 3C, which has 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. And there is a possibility that the cost of using the server terminal 3C will increase.
In addition, the cost for protecting and managing personal information at the server terminal 3C is high. There may also be a desire to provide a login service using an authentication system. In order to meet those demands, there is also a terminal 3C that constructs a database as shown in FIG. 6X and does not provide a function of notifying the user of unauthorized access as an embodiment.

3Cにおいて図6Xの形式でのアクセス情報の記録と不正アクセスの監視はOTP認証システムとしては必須の機能ではなく、サーバ3Cのサービス提供者と端末1AのユーザーUAが図6Xの形でアクセスを記録されるかどうか同意したのちに利用できる機能である。図6Xの形式でアクセス情報の記録と不正アクセスの監視を行わなくとも本発明の実施はできる。ただしOTP認証システムにおいて秘密鍵101Aが複数の端末に記録され利用された場合には図6Xのような複数のことなる環境からのアクセスを検知する機能があることがセキュリティ上好ましい。 In 3C, the recording of access information in the form of FIG. 6X and the monitoring of unauthorized access are not essential functions for the OTP authentication system. It is a function that can be used after agreeing whether or not it will be done. The present invention can be implemented without recording access information and monitoring unauthorized access in the format of FIG. 6X. However, when the secret key 101A is recorded and used in a plurality of terminals in the OTP authentication system, it is desirable for 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 block chain of the terminal 3A can be operated.
In the OTP generation contract (3008AG in FIG. 3AB), the customer generates an OTP, and uses the OTP (mainly BnTOTP, and OWP if it can be renewed periodically), the user identifier, and the token number TIDA as an argument to the authentication function 3018A. can be used to store the number of authentications performed as a variable inside the contract. Furthermore, after execution of 3018A, a mapping variable 3023A with identifier A or token number TIDA as a key is provided, and assets, points, etc., evaluation values, and voting result values corresponding to user identifier A and token number TIDA in 3023A are converted into contracts. It may have a write-save function 3022A. 3023A and 3022A may be included in the authentication contract 3008AA and 3008A, and may be programmed and provided in 3008AA and 3008A so that they can be operated when the authentication function 3018A is successfully authenticated.
Specifically, in Internet banking, membership sites, etc., there is a function 3022A that writes and saves the value 3023A of the asset balance, points, etc. for the token number TIDA of the OTP token held by the user identifier A and the identifier A, and the contract 3023A. may be

<ウェブサイトのログイン時に認証関数を実行した回数を記録する処理>
本発明のOTP(BnTOTPおよびOWP)の生成時または認証時にコントラクトへOTP生成関数及び認証関数の実行回数を内部変数3017Aまたは3017AGまたは3017AAに記録させることができる。ここで内部変数3017Aまたは3017AGまたは3017AAはトークン番号と対応した値を持つ変数である。実施例として変数3017Aはトークン番号をキーとしたマッピング型の変数であり、マッピング型のほかにも構造体やクラスなどのデータ型でトークン番号と対応付けられている変数であれば本発明に利用できる。
(マッピング型は実施例において利用されるイーサリアムのスマートコントラクトプログラミング言語Solidityにおいて利用できる型の一つである。)
<Processing to record the number of times the authentication function is executed when logging in to the website>
When the OTP (BnTOTP and OWP) of the present invention is generated or authenticated, the contract can record the number of times the OTP generation function and the authentication function are executed in the internal variable 3017A or 3017AG or 3017AA. Here, the internal variable 3017A, 3017AG or 3017AA is a variable having a value corresponding to the token number. As an example, the variable 3017A is a mapping type variable with a token number as a key. Any variable that is associated with a token number in a data type such as a structure or a class can be used in the present invention in addition to the mapping type. can.
(The mapping type is one of the types available in the Ethereum 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 OTP authentication count or generation count in the internal variable 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 private key 101A is used to access the chain and the OTP generation function is executed to generate the OTP, the fact that the OTP generation function was illegally executed and acquired is recorded in 3017A and 3017AG.
The number of executions of the OTP generation function that the user UA should not have executed to obtain the OTP increased (if the 3017A is a point such as the fee required to generate the OTP, the balance will decrease. ) The user UA can detect whether the private key 101A is being used illegally. Alternatively, the transaction at the time of unauthorized use is added to the transaction history of the transaction with the user identifier corresponding to the secret key of 101A.
For detection of the above-mentioned unauthorized use, there are servers 3C and 3D that provide OTP token services, 3F that has a search function such as blockchain transaction, 3E that sells OTP tokens as tickets, etc., advertisement distribution server 5A, and encryption data. The distribution server 5B or the like monitors changes in the block chain part of the terminals 3A and 3B, which are nodes of the block chain, and detects changes in transactions attributed to the user identifier A calculated from the secret key 101 and the contract identifier of the OTP token. and a function to notify the contact information of the user UA.
Not only when the OTP generation function is executed, but also when the OTP authentication function is executed and executed, the user UA's e-mail address, telephone number, SMS (SMS , Short Message Service), a transaction on the blockchain that sends a contact to 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 the first embodiment, a method of recording the number of executions of the OTP authentication function while not recording the number of executions of the OTP generation function was examined. 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 any number of times without counting them. This is because we thought that it would be possible to reduce the load on blockchain resources, storage devices of servers that store and control them, and communication devices. However, for security reasons, it is preferable to record the number of times the one-time password generation function is executed.
As shown in FIGS. 6A and 6F, the OTP generation function and OTP authentication function that perform operations of low importance do not record the number of times the OTP generation function and OTP authentication function are executed. It is better for the authentication function to record the number of times of execution as shown in FIGS. 6B and 6D, and these may be used separately.
F115 in FIGS. 6C, 6D, and 6G is a process performed when the OTP authentication function is executed and the authentication result is correct, and F108 in FIG. 6B is a function for recording the number of times the OTP generation function is executed.
Although not shown in the figure, in correspondence with FIG. 6B, 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. 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 execution count in F115 at the time of authentication, the process of F115 is executed between F110 and F111. may be installed.
It would be good if the number of times the OTP generation function and the OTP authentication function were executed could be recorded on the blockchain in a tamper-resistant and immutable manner.

本発明ではOTP生成関数と認証関数の両方にその関数の実行回数を記録できることが好ましい。生成関数の実行回数を記録できる方が不正アクセスを未然に検知できる。OTP生成関数を実行し、BnTOTPやOWPといったパスワードを生成し、それを用いてに認証関数を実行する。前記の手順を踏む場合に、ユーザーUAの秘密鍵101Aが漏洩してしまい攻撃者が不正にアクセスしようとした場合には最初に生成関数を動作させることが推測される。
ブロックチェーンにアクセスしブロックチェーン上のトランザクションを監視できるサーバ端末3F等(例としてネットワーク20に接続しサーバ端末3Aのブロックチェーン部に対しアクセスできる端末3Cや端末3D、端末3Eや端末3F、端末5Aや端末5B)に、ユーザー識別子Aのブロックチェーン上の生成関数の実行回数の変化や、ユーザー識別子Aのトランザクションの変化またはイーサリアムなどで利用される内部トークンの変化をユーザーの電話番号やメールアドレスなどを用いて通知し、認証関数を実行させる前に、不正アクセスを知らせる必要がある。不正アクセスがあるとき、ユーザーUAは端末3Cや端末3Dのサービス提供者に通知させサービスの利用を停止する。
Preferably, in the present invention, both the OTP generation function and the authentication function can record the number of times the function has been executed. Unauthorized access can be detected in advance by recording the number of executions of the generated function. Run the OTP generation function to generate a password such as BnTOTP or OWP and use it to run the authentication function. If the user UA's private key 101A is leaked and an attacker tries to gain unauthorized access when following the above procedure, it is assumed that the generation function is first operated.
A server terminal 3F, etc. that can access the blockchain and monitor transactions on the blockchain (for example, a terminal 3C, a terminal 3D, a terminal 3E, a terminal 3F, a terminal 5A that can connect to the network 20 and access the blockchain part of the server terminal 3A) and terminal 5B), changes in the number of executions of the generation function on the blockchain with user identifier A, changes in transactions with user identifier A, or changes in internal tokens used in Ethereum, etc. are sent to the user's phone number, email address, etc. to inform the unauthorized access before the authorization function can be run. When there is unauthorized access, the user UA notifies the service provider of the terminal 3C or 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に知られないうちにユーザーのトークンを操作することを困難にさせ、不正アクセスを防止する。
Terminal 3D may not be able to access network 20 . In that case, 3017A and 3017AG, which are executed when the attacker's terminal accesses the terminal 3A and generates the OWP using the OTP generation function, change. It can be seen that there is a possibility that the information is acquired by a person and recorded on paper or an NFC tag. In this case also, the service provider can be consulted.
The number of authentication records stored in the terminal 3D is also immutable because it is possible to detect tampering by assigning a hash value to each transaction and concatenating and saving the history of user access and authentication to the terminal 3D like a blockchain. A recording part may be preferred. Even if it is not a block chain type, it may be preferable as a means to counter tampering etc. that a MAC value can be assigned and recorded by HMAC periodically or for each specified number of times of authentication as a message of 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 OTP generation function in this way, it becomes difficult for an attacker to manipulate the user's token without the knowledge of the user UA. Prevent access.

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

<インターネットバンキングでの処理例>
認証関数を含む関数が認証時にコントラクト内部の変数を操作する場合の一例として、簡易なインターネットバンキングもしくはコントラクト内ポイント利用システムに利用可能である。認証コントラクト3008AAはこの場合OTP認証機能と認証後の銀行口座残高情報の記録ができる。参考として次に例を示す。
<Example of Internet banking processing>
As an example of a case where a function including an authentication function manipulates variables inside a contract at the time of authentication, it can be used for a simple Internet banking or a system for using points within the contract. The authentication contract 3008AA can in this case provide OTP authentication functionality and record bank account balance information after authentication. The following example is provided 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 the following 1 to 4, set the customer variables to be used within the contract of the point use system in the Internet banking or authentication contract.
1. A bank account number GKBA (or a point account number GKBA, which may be a token number or a user identifier), which is an identifier for a bank account (point account).
2. A value MIGA obtained by anonymizing the name of the account GKBA (it is not preferable to describe it on a non-confidential blockchain platform without anonymizing the name).
3. Balance ASTA of GKBA's assets. GKBA is a variable described in 3023A and is a mapping variable ASTA [token number] with a token number (or user identifier) as a key.
4. A database GKDB in which a token number TIDA corresponding to GKBA or a user identifier A is associated.
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 set in the contract 3008AA (or 3008A) with the OTP authentication function, and the process of transferring assets to another bank account number GKBA, including the OTP authentication function or authentication process, can be performed. may
(In addition, the account type, transfer limit, account opening date or its block number, and anonymized values 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 with the token number TIDA held by the user identifier A,
When user identifier B also has TIDA's OTP token and likewise has a balance ASTA[TIDB], when A wants to transfer the number trs from A's ASTA to B's TIDB token,
The user UA designates part of the balance ASTA [TIDA] (3023A with TIDA as the key) deposited in the OTP token with the token number TIDA possessed by the user identifier A,
There is a function or process 3022A that transfers the balance ASTA [TIDB] (3023A with TIDB as a key) deposited in the OTP token of the token number TIDB possessed by the user identifier B,
The user with the user identifier A performs OTP authentication using the OTP token with the token number TIDA, executes the process 3022A and the process of the authentication function 3018A (the process of incorporating 3018 into 3022A or continuing the process of 3022A after 3018A), and OTP When the authentication result of the function is correct, the process 3022A subtracts trs from the TIDA-keyed mapping variable 3023A to obtain ASTA[TIDA]-trs, and then adds the user identifier of the TIDA owner to the TIDB-keyed mapping variable 3023A. The numerical value can be changed by adding the designated numerical value trs to ASTA[TIDB]+trs, and the numerical value trs can be transferred.
As described above, the OTP authentication system of the present invention can be used to implement a contract for performing financial operations including an OTP authentication function and a contract for exchanging points at member sites.

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

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

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

<会員サイトへのログイン用OTPトークンの有効・無効の判定を行う手段>
ウェブサイトへのログインの利用用途として会員サイト、インターネットバンキングなど金融取引、ウェブメール、オンラインストレージ、電子商取引サイト(ECサイト)、ソーシャルネットワーキングサービスSNS、音声動画配信サイト、オンラインゲーム、オンライン会議サイトなどが挙げられる。銀行の場合と同じくサーバ端末3Cに顧客をアクセスさせることができる。ここでログインする権利が期間や回数で制限されていることが考えられる。本発明の実施形態として次の3つを示す。
<Method for judging whether the OTP token for logging in to the member site is valid or invalid>
Uses for logging into websites include 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, and online conference sites. mentioned. A customer can be made to access the server terminal 3C as in the case of a bank. Here, it is conceivable that the right to log in is limited by period or 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. Method of setting time limit for display of one-time password using block number OTP generation of the OTP token can be disabled when the block number specified by the customer after the token is issued is exceeded. This is set as it may be necessary to set an expiration date in the OTP generation part if you want the token to expire within a certain period of time.
A specific example is shown below. Record the block number BnMint at the time of token issuance for a certain token number as a mapping type variable with the token number as a key in the contract that generates the OTP, and display the latest block number Bn at the time of execution in the function that generates the OTP. OTP can be generated within the block number BnValid+BnMint corresponding to the desired period.
For example, when executing a function to generate an OTP, determine whether the current block number Bn satisfies the formula Bn<BnMint+BnValid. By programming the part, the OTP generation of the OTP token is disabled 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. When the contract administrator can rewrite the variable that can be used to determine whether the contract is valid or invalid corresponding to the user's token number.
For a token number TIDA of a certain customer UA, the contract manager assigns a mapping type variable VALID [TIDA] that indicates whether the token associated with TIDA is invalid or valid when the expiration date or service provision is terminated according to the terms and conditions. It can be changed and invalidated as token data with the token switched from being valid to being invalid. This processing corresponds to the operation of cutting a paper ticket at a ticket gate. Alternatively, it corresponds to the action of stamping an admission ticket or cutting a ticket into stubs. Validity or 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 electronic money-like usage, numerical values 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 in the real world, paper securities and metal keys, and legal disputes will occur unless the user and the service provider agree. Possibilities remain. In order to avoid concentration of authority, the contract manager and the service provider are separate organizations, and the contract manager who manages terminal 1C rewrites VALID [TIDA] according to the request of the service provider who manages terminals 3C and 3D. You can also disable or enable OTP tokens with If VALID[TIDA] is an integer, the size of the numerical value can be changed, and if VALID[TIDA] is a character string, the character can be changed.

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

<会員サイトなどへの投票権としての利用>
例えば投票を行うにおいては本発明のトークンを用い、あるウェブサイトやウェブアプリに本発明のトークンとワンタイムパスワード認証システムを用いてログインし、そのコンピュータ画面で投票したい候補者の識別子に投票し、ブロックチェーン上のワンタイムパスワードを生成し認証するトークンのコントラクトの変数に投票内容を記録できる。ただし投票機能を実装するには認証関数を内蔵したコントラクトにユーザー識別子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 voting rights for membership sites, etc.>
For example, in voting, the token of the present invention is used to log in to a website or web application using the token of the present invention and the one-time password authentication system, and vote for the identifier of the candidate to vote on the computer screen, Votes can be recorded in variables of token contracts that generate and authenticate one-time passwords on the blockchain. However, in order to implement the voting function, there is a setter function that confirms that the user identifier A has a token with the token number TIDA in the contract that contains the authentication function, and inputs a value to the variable that will be the voting destination only if it has it. is necessary.
The private key 101A and the declaration of intention field corresponding to the token number TIDA of the OTP token of the contract identifier belonging to the user identifier A are set as a mapping type variable VOTE [TIDA], and the variable VOTE [TIDA] has 101A and is used as the user identifier A. Accessible only by users who have access, and users can cast the value of their votes.
If you want to take a majority vote while keeping the contents of the vote secret, make VOTE [TIDA] a private variable and vote on the blockchain base that can be made anonymous, and use VOTE [TIDA] within the contract of the OTP token. The results should be aggregated. For example, if there are only options 0 to 3, program the setter function of VOTE[TIDA] to accept integers between those digits 0 to 3, and select OTP tokens for options whose digits correspond to 0, 1, 2, 3. By summing up the number of votes (that is, the number of votes of the OTP token), it is possible to check which of the integer options from 0 to 3 is indicated. A program that aggregates VOTE [TIDA] data by reading the blockchain part of nodes 3A and 3B using ECMAScript using terminals 3C and 3F without aggregating VOTE [TIDA] in the OTP token contract. 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 the BnTOTP generated by the OTP token to generate a pseudo-random number in the login destination service, it is also possible to use the seed value VU[TIDA] based on voting that can be set by the user.
For example, in the terminal 1A, an OTP token with a token number TIDA is issued to the user identifier A, and the seed value VU[TIDA] based on voting that can be set by the user is added to the seed value of BnTOTP as an argument, for example, BnTOTP=fh(A , TIDA, KC, Bn, BC, V, Bh, VU [TIDA]) can be used as an OTP token for OTP generation, authentication, and website login. 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 an OTP token using a seed value VU[TIDA] that can be set by the user can be used for online games (online computer games) that require login to websites, web applications, etc. may be available for By applying the OTP randomness 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 to determine 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 overwritten if the game manager of terminal 3C is the manager of the contract and can operate terminal 1C, but the OTP of the OTP token that gives randomness to the user in the game is used as a pseudo-random number, a contract administrator may attempt to rewrite the KC or BC in an attempt to maliciously control the future appearance of OTP data generated by a user's OTP token.
Therefore, by providing the contract with a setter function that allows the user with the token number TIDA to rewrite the variable VU [TIDA] that the contract administrator cannot control, the user can set the variable VU [TIDA] that can be rewritten at will. .
By setting a 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]), Not only the KC value of the contract administrator but also VU[TIDA] exists, and variables that can only be controlled by the user and cannot be controlled by the contract administrator are included in the OTP (BnTOTP), so the VU[TIDA] specified by the user ] value (respecting the user's intention based on the voting value of the transaction sent by the user) or pseudo-random numbers can be generated, and can be used for OTP authentication systems and services using pseudo-random numbers.
To use VU[TIDA], it is necessary to have a setter function that allows only users who have a token with the token number TIDA to change VU[TIDA].
(Vote variables VOTE[TIDA] and VU[TIDA] used in the membership 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はオンラインゲームのログイン用ワンタイムパスワードや、ログイン後のオンラインゲーム内での疑似的なランダムさを決める数値に利用できる。
In a specific implementation, as an example, a hash value of BnTOTPrnv is expressed using SHA256 of SHA-2 as a hash function in 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,
A value V determined by voting among blockchain nodes, a seed value VU[TIDA] that can be voted for a token with number TIDA owned and used by a user.
BnTOTPrnv can be used as a one-time password for logging in to an online game, or as a numerical value that determines pseudo-randomness within 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 administrator of the online game. can't.

補足として管理者がプレイヤーを欺いて、管理者もVU[TIDA]を変更できる様に関数をコントラクトのデプロイ時に設定できてしまうとこの前提は崩れる。ログイン及び擬似乱数生成用のトークンを管理するものとゲームの管理者を分けることが好ましい。またコントラクトは秘匿化されていることが好ましく、さらに好ましくは秘匿化されている変数とその変数を変えるトランザクション以外はコントラクトの処理内容が公開できると好ましい。ユーザーの設定したVU[TIDA]に関するトランザクションも設定したユーザー以外には閲覧できないようにすること(投票した値の秘密を保持する事、秘密投票できること)が好ましい。
本発明を端末3Cのコンピュータゲームサーバのログイン権および擬似乱数生成器に用いる場合、あるいは端末4Aで暗号データを復号して実行できるコンピュータゲームの所有権及び擬似乱数生成器に用いる場合や、オンラインゲームを配信する端末3Cについてその乱数制御部を一部オープンソースとすることもあってもよい。
As a side note, if the administrator tricks the player into setting a function at the time of deploying the contract so that the administrator can also change VU[TIDA], this premise will be broken. It is preferable to separate the administrator of the game from the one who manages tokens for login and pseudo-random number generation. In addition, the contract is preferably anonymized, and more preferably, the processing contents of the contract can be disclosed except for the anonymized variables and transactions that change the variables. It is preferable that the transactions related to VU [TIDA] set by the user are not allowed to be viewed by anyone other than the set user (secrecy of voted values is maintained, secret voting is possible).
When the present invention is used for the login right of the computer game server of the terminal 3C and a pseudorandom number generator, or when it is used for the ownership of the computer game that can be executed by decrypting the encrypted data on the terminal 4A and the pseudorandom number generator, or the online game The random number control unit of the terminal 3C that distributes may be made partly 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 external users regardless of whether they are mainnet or testnet, so the contract administrator can view the contract processing. It is difficult to hide the contents.
One of the reasons for setting variables V and VU [TIDA] determined by voting is that, like Ethereum, all transaction and contract variables and processing details are open to the public, 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 a value determined by voting between nodes and allowing the user to change VU [TIDA] to any value at any time, the attacker will be able to The purpose is to make it difficult to guess the password of
In order to preferably implement the present invention, a block chain in which contracts and transactions are anonymized is preferable.
In the financial field such as banking, it is highly desirable to construct the authentication system and authentication device of the present invention in a distributed ledger system such as a block chain that is concealed.

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

<4B.入場口や建物設備への紙又はIC式入場券、利用券、解錠鍵としての利用>
紙などに情報を固定された形で印刷し入場等に利用するパスワードを生成させるにはブロック番号Bnに同期するワンタイムパスワードでは認証の実施が困難になる恐れがあった。そこで各トークン番号もしくは各ユーザー識別子に対応した時刻には同期しないが任意の時間に変えることの出来る半固定式のパスワードOWPを利用する。図8Bに端末や装置の接続例を記載する。ここで説明のため主に図8Bや図3AAと図3ABと図3ACと図3Dと図3DAを説明に用いる。
<4B. Use as paper or IC admission tickets, use tickets, and unlocking keys for entrances and building facilities>
If the information is printed on paper or the like in a fixed form to generate a password used for entry, etc., there is a possibility 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 at any time is used. FIG. 8B shows a connection example of terminals and devices. 8B, 3AA, 3AB, 3AC, 3D, and 3DA are mainly used for explanation here.

具体的にはブロックチェーンのある時刻において変更されうる変数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, of the variable TB that can be changed at a certain time in the blockchain, instead of the block number Bn, only the user with the user identifier C calculated from the secret key 101C of the terminal 1C that has the authority to manage the contract is Equipped with a function fscb 3012A that can be accessed as a setter, and provided with a variable BC value 3013A that can be rewritten at any time on the blockchain only by the user who manages the contract with the user identifier C, and uses BC instead of the block number Bn. The password OWP is used as a paper or IC admission ticket, a use ticket, and an unlocking key for entrances and building facilities.
Here, OWP is an administrator-changed one-time password, which is a fixed password when the administrator does not change it. OWP can be a dynamic password that approaches TOTP if the administrator updates it periodically (eg, every 10 minutes every 60 seconds). BC may be rewritten by an administrator, a specified user, or all users when OWP is handled in a TOTP-like manner (BnTOTP-like manner).
However, when OWP is used for paper ticket 18A and safe or car key 19A instead of TOTP, if BC is rewritten like TOTP (BnTOTP) in a short period of time, authentication by OWP cannot be performed, so the contract administrator decides whether to change BC and changes it at some time.
When reproducing the OWP using BnTOTP, the remainder r obtained by dividing the block number Bn by the unsigned integer variable M is used, and r is subtracted from Bn to obtain Bnr (Bn−m=Bnr). In calculating the Bnr as BnTOTP=fh(A, TIDA, KC, Bnr) instead of Bn, the variable M is significantly increased and M is manipulated to produce the same It is also possible to generate, display and authenticate the BnTOTP of the value.
In the above BnTOTP, when a certain number of months or years passes and the set block number is exceeded, Bnr changes and BnTOTP automatically changes. However, even in this case, a function similar to the OWP system is required to allow the contract manager to set the KC in case the KC that sets the BnTOTP is leaked. Also, if the terminal 3D cannot connect to the blockchain and cannot measure the correct block number and time, 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. do not have.

前記パスワード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 KC recorded in the contract,
Always use three variables, the variable BC that the contract manager can change at any given time.
Then, the user identifier A calculated from the private key 101A of the terminal 1A is added to the fourth variable to make the password unique to the OTP token of the token number TIDA of the user UA.
Using TIDA, KC, BC, and A as arguments of the hash function fh, password OWP=fh (TIDA, KC, BC, A) to generate the hash value OWP, and the OTP generation function uses it as a return value to send the terminal 1A. tell the OWP to Here, OWP can be type-converted as an unsigned integer and, for example, the remainder obtained by dividing a 7-digit password by 10 to the power of 7 can be transmitted as a 7-digit password OWP-n7. Here, the case of n digits instead of 7 digits is expressed as OWP-n. The hash function is SHA256 or SHA-3 in the embodiment.
In the embodiment, the variables are encoded in the order of the arguments, combined, 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 for generating the hash value that becomes the password OWP are derived from TIDA, KC, BC, and A. That is, TIDA, KC, BC, and A may be calculated, part of the variable data may be omitted, or data anonymized by hashing with a hash function 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による認証システムが提供できる。
Importantly, if the user identifier A is added to the variable, a different password OWP is generated because the user identifier part of the seed value for calculating the hash value (argument of the hash function for calculating the OTP) changes when the token is transferred. be.
For example, since user identifiers A, B, and C have different identifiers, when an OTP token that generates an OWP that uses the user identifier as an argument can be transferred from A to B, the OTP generated by user identifier B using the OTP generation function and A The OTPs generated by the OTP generation function have different values.
On the other hand, if the user identifier is not used as an argument for the hash function fh, the contents of the semi-fixed password OWP will not change if the token is transferred to a user with a different user identifier, and the same password value will be shared.
For example, it is the same as transferring a paper with a fixed PIN number that should be kept secret or a metal key that can be easily duplicated. A duplicate key is created based on this, and if the token is in circulation, an unlockable duplicate key can be duplicated countless times during the distribution. In order 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 manually uses the function fscb 3012A every time It is required to rewrite the BC value 3013A.
If the variable BC is accessed and changed at some approximate time and at approximate time intervals, either manually or by an automated program by the administrator of contract C, then the password OWP is close to TOTP. As an example, the administrator of contract C can use an automated program using pseudo-random numbers to perform periodic renewal approximately once a day, once a week, once a month, or once every several years. It is also assumed that the decision is made using pseudo-random numbers and the seed value is changed (the time to change the seed value is roughly determined, but the detailed change time is determined by random values or human will). This makes it possible to provide a pseudo TOTP-based 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 the contract including the OTP generation function of the OWP type OTP token of the terminal 3A and causes the OWP type OTP to be generated by the generation function. Then, access the 3D (access control terminal 3D) that provides the service with the OWP generated by the generation function, the user identifier A, and the token number TIDA, and input it 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, TIDA input as arguments of the OTP authentication function, and ArgOWP (or n-digit integer password ArgOWP-n) input as arguments. VeriOWP (or n-digit integer password VeriOWP-n) is obtained using function fh, and a conditional expression such as an IF statement determines whether ArgOWP (or ArgOWP-n) matches VeriOWP (or VeriOWP-n). , and if they match, it is also possible to carry out processing when authentication is successful. If they do not match, perform the processing for when the authentication failed.
This processing is similar to when 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. FIG.
(3018A and 3018AA can also be used when terminal 3D is connected to network 20 and can be connected to 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の各変数を区切るための区切り文字を含んでいてもよい。またバーコードのデータを一部またはすべて、認証するサービス提供者のみが暗号化の鍵を知る形で暗号化していてもよい。
<Production and use of valuable paper sheets 18A such as paper tickets using OWP, authentication by digital devices such as IC tags 19A>
Using the terminal 1A and the server 3A through the network 20, the password OWP is generated from the OTP generation function 3009A from the OTP generation contract on the block chain. Then, the generated password OWP, user identifier A, and token number TIDA are printed as a character string or bar code or both on paper or the like using a printer or the like to produce a paper ticket or valuable paper leaf 18A. At this time, the printed 18A contains the OTP generation contract identifier, the OTP generation token and the corresponding service name, the date and time of printing, the expiration date of the valuable paper, the name and contact information of the service provider, the error correction code, the MAC value, etc. may be printed with information necessary to provide the services of
The information contained in the bar code of the valuable paper sheet 18A and the data of the character string information contained in the IC tag 19A may contain delimiters for delimiting the variables OWP, A, and TIDA. Also, part or all of the barcode data may be encrypted in such a way that only the service provider who authenticates knows the encryption key.

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

有価紙葉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 bar code and displayed on the screen 1500A of the display 150A of 1A. The display contents of 1500A may be printed and used as 18A.
The display screen of 1500A and 18A that printed the display screen of 1500A may transmit the user identifier A, the token number TIDA and the password OWP to the terminal 3D by having the barcode (or character string) read by the terminal 340D.

有価紙葉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 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を関数の戻り値として返す。
For the user UA who presented the valuable paper sheet 18A to the camera/scanner device 340D of the terminal 3D, or presented the NFC tag 19A to 341D and 32D,
Terminal 3D reads the information of user identifier A, token number TIDA, and password OWP described in 18A via 340D Arguments TIDA and user identifier A of authentication function 3018DA (3018DA in FIG. 3DA) of storage device 30D of terminal 3D , passing a variable as the password ArgOWP,
Inside the OTP authentication function 3018DA, VeriOWP is performed using the seed value of the secret variable such as KC recorded in the terminal 3D for ArgOWP and the user identifier A and the token number TIDA which are arguments of 3018DA according to the processing of the flowchart FIG. 6F or FIG. 6D. and determine whether ArgOWP and VeriOWP input to 3018DA match,
If they match, the return value 3021DA when the OTP authentication succeeds is returned as the return value CTAU of the function, and if 3022DA is to be executed before returning 3021DA, it is executed.
Also, it is determined whether the ArgOWP and VeriOWP input to 3018DA match, and if they do not match, the return value 3021DA when the 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 the OTP authentication is successful according to the return values 3021DA and 3022DA of the function of 3018DA, the terminal 3D presents the valuable paper sheet 18A to the camera 340D or presents the NFC tag 19A to 341D and 32D. On the other hand, an access control device, a starting device, an opening/closing device, or a locking/unlocking device 350D for locking and unlocking is operated.
When 3021DA is the value when the OTP authentication is successful, the terminal 3D controls the part 350D that performs access control such as opening/closing and locking, and controls the gate device at ticket gates and entrances so that the user UA can enter/exit. Open and close. If the part 350D that performs access control such as locking is a door of a building, a door of an automobile, a prime mover of an automobile, or a starter of a computer, the lock is unlocked to enable use of the device, facility, or equipment. When the locked portion 350D is a container such as a safe, 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 the OTP authentication is successful, the terminal 3D can unlock the locked portion 350D and can unlock the surroundings of the user UA and the terminal 3D by light and sound using 351D and 352D. can let you know.
If 3021DA is a value when OTP authentication fails and entry is not possible, 351D or 352D can be used to inform the surroundings of the presence of a user who has failed authentication by emitting light, sound, or a radio signal when OTP authentication fails. can.
Furthermore, the terminal 3D that can use the security camera 342D can also photograph the appearance of the user UA who presents 18A or 19A to the terminal 3D. Applications using 342D include equipment and facilities such as large safes, vaults, computer terminals, industrial processing equipment, locking devices such as building doors, automobile locking devices, ticket gates and entrances (entrance/exit, entrance/exit gates) ).
Examples where it is difficult to use the 342D, and where it may not be used, are locks and entrances of buildings and automobiles where power supply restrictions and privacy are taken into account, and where battery power supply restrictions limit the size of the 342D. Locking devices for containers such as safes (some household safes, handbag safes) that are difficult to install from the inside, and lock-type locking devices (small locks such as padlocks and wire locks).
Surveillance by a camera using 342D is not essential in the present invention, but it is preferably used for security purposes such as ticket gates and entrances.

端末3Dに施錠を解除する装置350Dがなく、例えば入場口・退場口や改札口がヒトの手で警備され入退場を管理する場合においては3021DAがOTP認証が成功した場合の値であるとき、351Dや352Dを用いて光や音にてユーザーUAや端末3Dの周囲のユーザーや警備を行う者に解錠ができたことを知らせることができる。
また3021DAがOTP認証が失敗し入場できない場合の値の場合も、351Dや352Dを用いてOTP認証が成功した時とは異なる失敗した場合に専用の光や音を発して認証が失敗したユーザーの存在を周囲に知らせることができる。
さらに防犯カメラ等342Dを利用できる端末3DではユーザーUAの風貌の撮影などもできる。
If there is no device 350D for unlocking the terminal 3D and, for example, when the entrance/exit gate and the ticket gate are guarded by human hands to manage entry and exit, 3021DA is the value when the OTP authentication is successful, 351D and 352D can be used to notify the user UA, users around the terminal 3D, and security personnel that the lock has been unlocked by means of light or sound.
Also, in the case where 3021DA is the value when OTP authentication fails and entrance is not possible, when OTP authentication fails using 351D or 352D, a special light or sound is emitted to indicate a user who has failed authentication. You can make your presence known.
Furthermore, a terminal 3D that can use a security camera 342D can also photograph 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 entrance processing at station ticket gates and entrances. It may not be necessary. Likewise, when the terminal 3D is used for locking a car or a locking device for 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は時刻情報が使えない場合もありうる。
Terminal 3D shows the status of service provision by user identifier A, token number TIDA, service provision time T, number of times service was performed 3017DA (or number of times service was performed and price value of the service, user's number when security camera 342D is used). It is preferable that the terminal 3D is provided with a database or a ledger section 3116D for recording in association with appearance information).
In order to record the service provision time correctly, it is necessary to receive JJY, GNSS, NITZ, etc., or manually correct the time of the terminal 3D. 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 power restrictions. A 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 the capacity and price of the controller/storage device of the terminal 3D.
Also, from the information of 3116D of the terminal 3D provided in the electronic computer, the locking device of the car or building, or the container such as the safe, how many times the unlocking process and the starting process were performed, or how many times the unlocking process was performed at what time. may be known by the user of the terminal 1A by accessing the terminal 3D using the wired communication device (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 status of the 3D and the history of the unlocking process. From the unlocking history of the terminal 3D such as 3116D, it can be known whether or not a user other than the user of 1A has illegally unlocked the terminal 3D using the NFC tag 19A using OWP.
If the terminal 3D is equipped with a camera for reading the unlocking key 18A made of paper or the like, it can be determined whether or not the door is unlocked using the unlocking key 18A 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 terminal at a ticket gate or an entrance, when the terminal 3D is connected to the network 20 and can be connected to the terminal 3A, it monitors unauthorized access and entry in the same manner as the website login monitoring section of the terminal 3C. 301C or 311C can also be provided with a function to do so.
In addition, 3C and 3D can become nodes of the blockchain like 3A and 3B when equipped with a device as a terminal that becomes a node when connected to the network 20. It is also possible to have a unit and a control unit (300D or 300C and 310D or 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 the 3D is connected to the local area network in the facility where the ticket gate or entrance is located,
Having block chain parts 300D and 310D different from the block data described in 3A and 3B using the same block chain base as the recording part and control part related to the block chain of terminal 3A,
Inside the 300D, an authentication contract similar to 3008AA having an authentication function 3018DA having a hash function fh and seed values KC and BC used for the terminal 1A to access the terminal 3A on the network 20 and generate an OWP is provided. may be provided.
Deploy an OTP generation token contract 3008AG on the terminal 3A, deploy an authentication contract with an OTP authentication function 3018DA that calculates and authenticates the OTP in the same manner as 3008AG on the terminal 3D, and synchronize the seed values of the two contracts. 1500A, 18A, or 19A may be authenticated and processing such as admission may be performed.

<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), a non-contact type IC card (RFID card) in which a user identifier, a token number, and a password OWP can be written as a near field communication device (NFC device). ) are available.

NFCタグ19Aは自動車等に使われうる。自動車に対し19Aを用いてリモートコントロールにて自動車に搭載された端末3DにOWP認証情報を暗号化された無線通信により送信し3DでOWPの認証を行い自動車の施錠装置350を解錠しあるいは原動機を始動させる用途に用いる場合、19Aは電池を備え、解錠もしくは施錠またはその両方を入力できる押しボタン等の入力装置を備え、ボタンを押したときに無線にて通信していること(および電池が消耗しているかどうか)を示す出力装置として発光ダイオード等の発光素子を備える。ここで自動車の鍵は19Aの一つの例であり建物の扉や金庫あるいは設備にも利用されうる。
端末3Dが自動車の施錠や始動を管理する端末である場合を例とすると、前記端末3Dは電気自動車のドアの施錠を解除し電気自動車のモータを動作させるモータ駆動回路を制御する端末でもよいし、エンジン車(熱機関を用いる自動車)のドアの施錠を解除しセルモータなど電動によりエンジンを始動させる装置の制御端末でもよいし、エンジンを減速もしくは徐々に停止させる制御を行える電子計算機端末でもよい。モータもしくはエンジンを航続距離や速度に応じて制御する端末3Dであって本発明の認証システムを用いて認証できたときに航続距離や速度上限といった制限をなくすことができてもよい。
The NFC tag 19A can be used in automobiles and the like. The OWP authentication information is transmitted to the terminal 3D mounted on the vehicle by remote control using 19A to the vehicle by encrypted wireless communication, and the OWP is authenticated in 3D to unlock the locking device 350 of the vehicle or the prime mover. 19A is equipped with a battery and an input device such as a push button that can input unlocking or locking or both, 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 the battery is exhausted. Here, car keys are one example of 19A and can be used for building doors, safes, or equipment.
For example, if the terminal 3D is a terminal that manages the locking and starting of the automobile, the terminal 3D may be a terminal that unlocks the door of the electric automobile and controls a motor drive circuit that operates the motor of the electric automobile. , a control terminal for a device that unlocks the doors of an engine car (a car that uses a heat engine) and starts the engine electrically, such as a starter motor, or a computer terminal that can control the deceleration or gradual stop of the engine. A terminal 3D that controls a motor or an engine according to cruising distance or speed may be able to eliminate restrictions such as cruising distance and upper speed limits when authentication is possible 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に供給されるので電池を利用しない。
A configuration in which the NFC tag 19A does not include a battery or an input/output device is also conceivable. As an example, 19A may be an ISO 14443 type B compliant card-type device or tag-type device.
As a known technology, in the non-contact IC card technology called ISO14443 Type B, an antenna coil for communication and power reception is formed in a card-type or tag-type device. Power is supplied to the NFC tag 19A through the antenna coil of the NFC tag 19A from the NFC tag reader/writer (3D communication device 32D or NFC tag signal receiver 341D in terminal 3D) 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 NFC 19A may have additional necessary information in addition to the OTP authentication of the present invention. Specifically, the NFC tag 19A has a secret key 101A2, OWP type OTP authentication is performed, communication is performed by NFC when the motor is started after the door of the vehicle is unlocked, and the terminal 3D connects to the internetwork 20 using 101A2, At block chain node 3A, perform TOTP authentication using the BnTOTP type OTP token assigned to 101A2, and log in to the operating system of the car in the same way as logging in to the website to start and start the car. You may let In the above case, the condition is that the network 20 can always be connected. It can be used in automobiles connected to the internetwork 20 .
When the automobile performs BnTOTP type authentication to start the prime mover, it is necessary for the user UA to be able to move the automobile using the NFC tag 19A even when the network 20 cannot be used (in the event of a communication failure, disaster, etc.). be. Therefore, OWP type OTP authentication is performed using the user identifier A, token number TIDA, and password OWP stored in the NFC tag 19A. may start the prime mover.

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

本発明において近距離無線通信装置が用いる無線の周波数は本発明では特に制限しない。近距離無線通信装置は既知の無線通信技術によれば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 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. As for the radio frequency, specifically, the 13.56 MHz band is used for contactless IC tags and NFC tags, but radio frequencies other than 13.56 MHz may be used. For example, the 2.4 GHz band may be used.
Specific examples of standards related to NFC include ISO/IEC18092, ISO14443 type A, ISO14443 type B, etc. as standards for the 13.56 MHz band. In the 2.4 GHz band, there are known wireless communication standards such as IEEE (Institute of Electrical and Electronics Engineers) 802.11 series and 802.15.1 series, which can 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を超えることもある。 The NFC tag 19A of the present invention can use the 13.56 MHZ band and the 2.4 GHz band in the embodiment. The NFC tag 19A can communicate with the 3D communication devices 32D and 341D at a distance of about 10 cm according to ISO14443 type B. However, when the NFC tag 19A uses a wireless personal area network (wireless PAN, 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、ユーザー識別子、トークン番号を書き込むことが出来てもよい。
An NFC tag 19A may be included in a Wearable Computer terminal. Alternatively, it may be a wearable computer terminal having the function of 19A.
As an example, when there are computer terminal 1A, wearable computer terminal 1B, and NFC tag 19A,
NFC tag 19A is connected as an external storage device of 16B of wearable computer terminal 1B, 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,
It may be possible to write a user identifier, token number, and password OWP necessary for authentication using OWP.
Alternatively, after the wearable computer terminal 1B accesses the server terminal 3A via the internetwork 20 and generates an OWP,
It may be possible to write the previous password OWP, user identifier, and token number.

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

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

ウェアラブルとは言えないが身に着けられる装置という観点から見た場合に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 but not wearable, a smartphone-type or tablet-type portable computer terminal 4A equipped with an NFC tag 19A may be used, or the NFC tag 19A, which is also an employee ID card, or a wallet-type NFC. A tag 19A or a bag-type NFC tag 19A may be used. 19A can be used for authentication by mounting it inside a certain device or object. Alternatively, the NFC tag 19A provided with adhesive tape or adhesive can be used as the NFC tag 19A attached to the surface of a certain device or object.
(For example, by attaching a sticker type/film type 19A in which the same information as 18A is recorded to a paper ticket 18A with an adhesive double-sided tape or an adhesive, visual inspection by a human eye, reading by a camera, NFC Paper tickets can be produced that can be read by

ウェアブルコンピュータ端末は電源装置に電池を用いなくてもよいし、一次電池を用いてもよいし、充電可能な二次電池を用いていてもよい。充電については充電元からの有線による充電でもよいし、ワイヤレス電力伝送によって充電してもよい。端末に備えられた環境発電機能を用いて充電できてもよい。 The wearable computer terminal does not have to use a battery for its power supply, may use a primary battery, or may use a rechargeable secondary battery. As for the charging, it may be charged by wire from the charging source, or may be charged by wireless power transmission. It may be possible to charge using an 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. As for the charging, it may be charged by wire from the charging source, or may be charged by wireless power transmission. 19A may be charged using the energy harvesting function attached to it.

NFCタグ19Aは記憶装置に記録したパスワードOWP、ユーザー識別子、トークン番号を消去しすることができる。そして最新のパスワードOWP、ユーザー識別子、トークン番号を記録してもよい。
ただしNFCタグ19Aがサービス提供者に配布される形式の場合は記録装置の内容の書き換えを禁止してもよい。
The NFC tag 19A can erase the password OWP, user identifier, and 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等に記載の二次元バーコードを用い、紙のチケットのバーコード部分を形成し、レーザープリンターもしくはインクジェットプリンターにて印刷し、紙のチケットを製造した。
<Production of Valuable Paper Leaf 18A>
Regarding the manufacture of 18A, when the user identifier A, the token number TIDA, and the password OWP are used for authentication, the identifier A, the token number TIDA, and the password OWP are connected with delimiters and the like to form a two-dimensional barcode or a plurality of one-dimensional barcodes. Convert to code and print on paper. At this time, in addition to the barcode, the character string data before conversion into the barcode may be printed on the paper in a readable state together with the barcode.
Also, the contents of the bar code may be encrypted in such a way that only the service provider knows the decryption key. In the examples, a two-dimensional bar code described in Japanese Patent No. 2938338 and the like was used to form a bar code portion of a paper ticket, which was printed with a laser printer or an inkjet printer to produce a paper ticket.

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

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

例として、顧客がインターネットワーク20とコンピュータ端末1A、端末1Aに接続できるプリンタを持たず電話回線とファクシミリ装置のみを備える場合には、サービスの提供者が秘密保持を約束し、顧客のパスワードOWP等の本発明の紙チケット作成に必要なデータを顧客から問い合わせて、顧客のファクシミリ番号を基にチケットデータを送付しファクシミリにて紙のチケットを出力することもできる。 For example, if the customer does not have the internetwork 20, the computer terminal 1A, or a printer that can be connected to the terminal 1A, but has only 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 preparing 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 where the user does not have a digital device and does not have the device 1A or 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 letter. The service provider sells tickets and issues private keys for issuing tokens. Ticket data can be created, sent to the user's facsimile number, and paper tickets produced at the user's facsimile. If there is no facsimile and only a telephone number, a paper ticket (or an IC card or IC tag type ticket) will be handed over in the form of a letter by mail or by hand.
(If the token is a ticket, the paper on which the token and the password OWP generated from it are printed is valuable and may require a license to manage it. In addition, the private key is shared between the service provider and the user. , may also require qualification.)

具体的に説明する。サービス提供者の端末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は法令で規制され資格が必要となるかもしれない。)
A specific description will be given. When the user UA wants to obtain 18A or 19A to be presented on the terminal 3D of the service provider, the user UA may not have the terminals 1A or 4A, nor the telephone line, and may not be able to connect to the network 20. In the above case, the user UA has the private key 101A issued to a reliable third party UB, entrusts the private key 101A to the third party UB, requests storage and operation of the private key 101A, and a token number corresponding to the service. The OTP token of TIDA is issued by applying it to the user identifier A of 101A.
Then, the third party UB uses the OTP token issued to the user identifier A to access the blockchain of the server 3A, acquire the OWP from the OTP generation function, manufacture 18A and 19A, and specify the address specified by the user UA. Can be mailed to location. You may attach the letter which recorded 101A with 19A and 18A at the time of mail delivery. A third party UB may provide 18A and 19A directly to the user UA at the store. (There is no technical problem with this mode of operation, but the third party UB who can entrust the private key 101A may be regulated by law and may be required to be qualified.)

また、第三者101Bがユーザー識別子Bを名義としてトークン番号TIDAのOTPトークンを発行し、前記トークンのOWPから18Aや19Aを発行しユーザーUAの指定する住所や指定する場所へ郵送配達してもよい。第三者UBが店舗でユーザーUAに直接18Aや19Aを提供してもよい。(この運用形態も技術的には問題はないが、ユーザーUAのトークン番号TIDAのOTPトークンを預かる第三者UBは法令で規制され資格が必要となるかもしれない。) Also, if the third party 101B issues an OTP token with the token number TIDA under the name of the user identifier B, issues 18A or 19A from the OWP of the token, and mails it to the address or place specified by the user UA. good. A third party UB may provide 18A and 19A directly to the user UA at the store. (There is no technical problem with this operation mode, but the third party UB who keeps the OTP token of the token number TIDA of the user UA may be regulated by law and may 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 mailed and distributed instead of mailing valuable paper sheets 18A and NFC tags 19A. A customer who does not have a device such as the terminal 1A asks a third party UB (here, including a telecommunications company, a computer, or a smartphone manufacturing and sales company) based on a telephone conversation or a conversation at a store to purchase the terminal 1A and something. At the same time, the third party UB sells the terminal 1A capable of displaying 1500A to the user UA, and the terminal 1A capable of displaying 1500A can be purchased at the address of the user UA, a designated address, or directly at a store counter. You can pass it.

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

ここでサービス提供端末の処理の自動化・高速化を行い、入退場口や改札で取り扱いできるチケットの処理数を増やすという観点からは、秘密鍵101Aとユーザー識別子Aといった情報をカメラ・スキャナ等430Dで撮影する方式よりは、ICカードに記録しNFCタグ19Aなどを用いて無線通信を用いて非接触で行える事が好ましいかもしれない。ICカード19Aにはクレジットカード、デビットカード、プリペイドカードなどの決済に関する機能を備えていてもよく、非接触にて決済できるNFCを用いるIC式クレジットカード等でもよい。19Aが個人番号カードのようなNFCをもちいた身分証カードでもよい。 Here, 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 gate and the ticket gate, information such as the secret key 101A and the user identifier A can be captured by a camera/scanner 430D. It may be preferable to record the image on an IC card and perform wireless communication using the NFC tag 19A or the like rather than the method of photographing. The IC card 19A may be a credit card, a debit card, a prepaid card, or the like, which may have functions related to payment, or may be an IC credit card using NFC that enables contactless payment. 19A may be an identification card using NFC such as a personal number card.

19Aは秘密鍵101Aを記録していてもよい。ただし、19Aに秘密鍵101Aを記録する場合には店舗や店舗内の他の顧客、あるいはNFCを介してに秘密鍵101Aが漏洩しないことが必要である。19AをPINにより暗号化することで秘密鍵101Aを暗号化して記録させ、101Aを他者に読み取られないようにする事が必要である。 19A may record private key 101A. However, when recording the private key 101A in 19A, it is necessary that the private key 101A is not leaked to the store, other customers in the store, or via NFC. By encrypting 19A with a PIN, it is necessary to encrypt and record private key 101A so that 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, it is conceivable that the IC card 19A or the NFC tag 19A does not include the private key 101A, but only the user identifier A generated from the private key through the public key. In this case, the secret key 101A and the user identifier A generated according to the block chain-based format are recorded on paper or the like, and only the user identifier A is read in the form of a barcode by an IC card issuing device or issuing company, and the user An IC card or the like 19A having a credit card/prepaid card function recorded with an identifier A is issued, and an OTP token is issued to generate an OWP at an ATM or similar terminal at a store, etc., and a password OWP based on the OTP token is included. The printing and issuing of valuable paper sheets 18A such as paper tickets can be performed from the input screen after the non-contact IC card is held over the terminal and accessed from the terminal.
The present invention can be applied not only to tickets, but also to paper coupons and other valuable paper sheets 18A, as long as services can be provided using the authentication of the present invention.

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

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

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

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

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

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

端末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 uses it to store the user identifier information and the token input before performing the authentication process using the 3018DA. By checking whether the OTP token matches the number, even if the OTP token is transferred from the user UB to the UA, the user identifier B known by the user UB before the transfer, the token number TIDA, and the NFC tag 19A created from the OWP cannot be unlocked. 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 a communication device 32D that can access the terminal 3D when a container such as a door of a building or a safe is unlocked. is stored in the recording unit 30D of the terminal 3D, 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 19A are recorded. OWP is collated with the user identifier A and the token number TIDA recorded in 30D, and if the user identifier A or the token number TIDA matches the value recorded in 30D, the authentication function 3018DA is operated, and the user identifier A and the token The number TIDA and the password OWP are verified using the 3018DA to see if the OWP is correct, and if correct, the lock is unlocked.
A user identifier and a token number can be freely set from the 32D wired communication terminal. The token is transferred to terminal 1B of UB, and UB uses the wired communication terminal part of the unlocked safe to set user identifier B and token number TIDA. The generated OWP can be used to unlock the terminal 3D. Here, the terminal 3D no longer accepts the user identifier A of the user UA, the original owner, and cannot use the OWP held (stored) in the terminal 1A of the user UA.

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

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

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

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

用途の例として自動車や金庫の施錠のみならず飛行機、船舶、農業機械、林業機械、重機の施錠に用いてもよい。建物の扉、保管庫や倉庫の施錠、加工装置・産業設備・電子計算機端末の施錠及び始動装置に用いてもよい。アクセスコントロールを行うための端末3Dを組み込める機械や装置または施設や設備と容器に対し利用されうる。 Examples of applications include not only automobiles and safes, but also airplanes, ships, agricultural machinery, forestry machinery, and heavy machinery. It may be used as a locking device for doors of buildings, locks for storehouses and warehouses, and locking and starting devices for processing equipment, industrial equipment, and computer terminals. It can be used for machines, devices or facilities, installations and vessels 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 facilities unlocked using it>
The authentication system using digital devices such as IC tags of the present invention is used for buildings, vaults, automobiles, and other objects equipped with a power source, and the terminal 3D makes extensive use of input/output devices and storage devices such as security cameras to encourage users to unlock. The user can be made to perform the unlocking operation while monitoring. When a battery with a limited capacity is used as a power source for the terminal 3D, for example, when a battery is provided in a home safe, a hand-held safe, or a lock, the battery capacity may limit operation.
For example, when the terminal 3D is a container such as a safe, when the power supply device 37D of the terminal 3D is driven by a battery, a power storage device such as a primary battery or a secondary battery can be used. When a secondary battery is used, a charging terminal capable of charging a portion accessible to the terminal 3D by unlocking the locked portion, or a portion capable of being charged by wireless power transmission may be provided. Alternatively, even if the inside of the safe with the locked terminal 3D cannot be accessed, the terminal 3D inside may be charged from the locked surface by wireless power transmission. Then, it may be possible to charge using a power generation function such as a handle-type hand-cranked power generation connected to the terminal or an energy harvesting function.
Furthermore, the terminal 3D may be provided with a terminal having a function of only charging on a locked surface (an access-uncontrolled surface). If the Terminal 3D has a terminal that only performs charging on a locked surface, 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 is added to the charging function. You may have the power supply device 37D carried with it.

ここで建物や自動車等設備の錠と錠を制御する端末3Dはネットワーク20に接続できていると好ましい。ネットワーク20経由で端末3Dの認証関数3018DAのOWP計算を行うKCやBCを変更できるためである。KCやBCは建物等の定期検査や自動車の車検時などに変更されていもよい。錠を制御するコンピュータ端末3Dのシード値と鍵19Aに用いるOWPを生成するワンタイムパスワード生成トークンのシード値が合うように運用される。 Here, it is preferable that the terminal 3D that controls the locks of facilities such as buildings and automobiles is connected to the network 20 . This is because KC and BC that perform OWP calculation of the authentication function 3018DA of the terminal 3D can be changed via the network 20 . KC and BC may be changed during periodic inspections of buildings and the like, vehicle inspections, and the like. Operation is performed 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 at Terminal 3D Disconnected from Internetwork 20>
Even if it is not possible to connect to the network 20, there is a ground station or a satellite station (for example, the broadcasting station terminal 5C, which is a satellite type terminal) that can broadcast the block number Bn of the block chain, and the block number Bn from the broadcasting station terminal 5C (or block time stamp) or broadcast data such as BC value or encrypted KC value may be received by terminal 3D and terminal 1A, and BnTOTP type and OWP type authentication may be performed between terminal 1A and terminal 3D. In this case, the terminal 1A has software capable of using a function corresponding to the OTP generation function 3009A, and the terminal 3D has an OTP authentication function 3018DA. When the block number Bn is broadcast, the computer controlling the lock in the area where the broadcast can be received authenticates with the block number-based one-time password BnTOTP, unlocks the lock, and can 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 block number Bn or BC to decrypt the KC value using the key information recorded in terminal 3D or terminal 1A, so that BnTOTP=fh (A, TIDA, KC, Bn) or OWP=fh (A, TIDA, KC, BC) is generated at the terminal 1A, A or TIDA and OWP or BnTOTP are input to the terminal 3D via the communication device of the terminal 1A and the terminal 3D, and as an argument of the 3D authentication function 3018DA There is room for verification and authentication of the OWP by inputting it.

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 envisioned to obtain block numbers and time information and encrypted KC values from radio stations such as NITZ, JJY, GNSS, radio stations, time signals from television stations. Although the user owns the smartphone terminal 1A, it is assumed that the vehicle may not necessarily be equipped with communication functions equivalent to those of a smartphone. You may transmit it to terminal 3D using a communication apparatus. When using time information such as GNSS, it is also possible to use it for 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 using the time Tm obtained from a broadcasting station such as GNSS, JJY, or NITZ or a wireless communication station.
In principle, the OTP token is originally operated by connecting to a block chain node such as the terminal 3A to issue or transfer the OTP token and perform the OTP generation function.

<時刻情報受信機付きワンタイムパスワード施錠設備>
また設備に本発明のワンタイムパスワード認証機能を採用する場合にも設備内の施錠装置に付属する電池などの消耗を抑える必要がある。常時ネットワークに接続するのは電池の容量上困難であり、その場合は施錠を解除する設備内の放送受信機とコンピュータ端末を動かし、GNSSなどの時刻データや無線局のブロックチェーンのTBに関するデータ、例えば先に述べたブロック番号Bnをデータ放送により端末1Aを含む複数の端末に伝え、端末1Aにブロック番号Bnを受信させ端末3Dに伝える形で、BnTOTP型のワンタイムパスワードの認証を行わせることができる(ただしKC値の更新は手動による更新または放送データにより更新する必要がある)。
<One-time password lock facility with time information receiver>
Also, when the one-time password authentication function of the present invention is used in equipment, it is necessary to suppress consumption of batteries attached to locking devices in the equipment. It is difficult to connect to the network all the time due to the capacity of the battery. For example, the above-mentioned block number Bn 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 it to the terminal 3D to authenticate the BnTOTP type one-time password. (however, the KC value must be updated manually or via broadcast data).

<ワンタイムパスワード取得時のブロック番号Bnpを認証関数の引数に追加する場合>
GNSSなどの時刻データの送信局や通信装置を持たない場合においてもワンタイムパスワードBnTOTPを利用する方法がある。
ブロック番号Bnに基づくワンタイムパスワード認証関数にはトークン番号TIDA、ワンタイムパスワードBnTOTPの二つが少なくとも必要である。認証関数3018DAを備え認証処理を行う処理部を含む建物設備等の施錠装置や入場窓口等装置について、インターネットワーク20やGNSS等からのブロック番号Bnや時刻情報を受信できない場合が考えられる。
<When adding the block number Bnp at the time of obtaining the one-time password to the argument of the authentication function>
There is a method of using the one-time password BnTOTP even when there is no time data transmission station or communication device such as GNSS.
A one-time password authentication function based on block number Bn requires at least two of token number TIDA and one-time password BnTOTP. It is conceivable that the block number Bn and the time information from the internetwork 20, GNSS, etc. cannot be received by the locking device of the building equipment including the processing unit that has the authentication function 3018DA and performs the authentication process and 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の場合に施錠装置に解錠の信号を送付し施錠を解除する。
In order to cope with the case where block number and time information cannot be received from Internet communication or GNSS, etc., when generating a one-time password BnTOTP = fh (TIDA, KC, Bnp) with the one-time password generation function, the password The block number Bnp at the time of acquisition, the token number TIDA, and the one-time password BnTOTP are recorded on the valuable paper sheet 18A or the NFC tag 19A as bar code or character string information.
In the case of 18A barcode, it is read by 340D such as a 3D camera, in the case of NFC tag 19A, it is read by 32D and 341D of 19A 3D communication device, and in the case of character strings, it is necessary to enter a computer into a locked facility with a keyboard or the like. Equipped as an output device, the display of the output device or the like prompts for the input of arguments used in the authentication function.
When Bnp, TIDA, and BnTOTP are input to the authentication function 3018DA, and those arguments are verified by the authentication function and match the BnTOTP input to the argument and the one-time password calculated by the authentication function, the authentication result is correct. The value is passed to the authentication function 3018DA of the program (unlocking program) used for unlocking inside the computer terminal 3D, and as a result of authentication by 3018DA, if BnTOTP, TIDA, and Bnp are correct, an unlocking signal is sent to the locking device to lock. release.

なお、ここで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を用いてもよい。 Here, the case where BnTOTP is generated as fh (TIDA, KC, Bnp) has been described, but by adding the user identifier A to the argument of the hash function fh (TIDA, KC, Bnp), BnTOTP = fh (A, TIDA, KC , Bnp), output and recorded as user identifier A, block number Bnp, token number TIDA, and one-time password BnTOTP on paper 18A or NFC tag 19A, and use these 18A and 19A for authentication to terminal 3D good too. Authentication may be performed by inputting Bnp, A, TIDA, and BnTOTP to the authentication function 3018DA. 1500A that also records and displays Bnp may be used instead of 18A.

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 TIDA of user identifier A at the block number with the value of Bnp. However, if the Bnp number is a block number value 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 , KC, Bnp) and BnTOTP = fh (A, TIDA, KC, Bnp), output user identifier A, block number Bnp, token number TIDA, and one-time password BnTOTP. Suppose that the OTP token that has been released from the
In this case, the user UA after the transfer may be able to unlock the car even though he or she does not have the OTP token (the access right called the OTP token or the car key or ownership information on the blockchain). Therefore, when using the above method, the time information Tm such as GNSS and the broadcast block numbers Bn and Bnp are compared with the estimated time Tp at which BnTOTP was generated based on a certain threshold L, and the difference between Tm and Tp is L, or when the broadcast Bn and Bnp values are greater than the threshold L, it can be stored as a program in the authentication function 3018DA or the recording unit of the terminal 3D so as not to accept authentication based on the Bnp and BnTOTP values.
In addition, nonvolatile memory (nonvolatile memory such as flash memory, ferroelectric memory, magnetoresistive memory, phase change memory, and resistance change memory) that records the time information received by GNSS inside the terminal 3D and has a large number of rewrites can be installed in the terminal. A memory part in which a malicious attacker records the time information of the terminal 3D by using the non-volatile memory such as the resistance change memory and the ferroelectric memory, which has a large number of times of reading and writing, as the time information recording device of the GNSS. It is required to seal the information so that it cannot be accessed and 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 equipment not connected to the network 20, the user or service provider accesses the wireless and wired communication devices of the terminal 3D and individually updates the KC value. There is a need to. In the case of a terminal 3D that cannot receive broadcast time information and KC values or connect to the network 20, it is difficult for the owner of the contract to change the time to an arbitrary time.
If a single KC value is used for the OTP token included in the contract and all locking terminals 3D corresponding to the OTP token, if the KC information is leaked, the KC of all offline locking devices will be individually It may need to be rewritten.
In order to prevent this, it is conceivable to set multiple values for the KC according to the token number and 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] whose key is the token number TIDA. Any type other than the mapping type may be used as long as the KCA can be set using TIDA as a key.
In the OTP generation and authentication, the argument KC of the hash function fh (TIDA, KC, Bn) may be replaced with KCA, and BnTOTP=fh (TIDA, KCA[TIDA], Bn) may be used for OTP generation and authentication. =fh(A, TIDA, KCA[TIDA], Bn). OWP=fh(A, TIDA, KCA[TIDA], BC).
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 could generate a lot of transactions on the blockchain and increase the total amount of data on the blockchain.
A user identifier may be added as BnTOTP=fh(A, TIDA, KCA[TIDA], Bn). The form of OWP=fh(A, TIDA, KCA[TIDA], BC) can be used not only in terminal 3D but also in other embodiments of the present invention. For example, it can be used to access the terminal 3C, and it can also be used to decrypt the encrypted data in the terminal 4A using the software 403A. As with KC, a mapping variable KCA with a token number as a key is also used by the contract administrator to change or update the KCA value of a certain token number used in the calculation of the OTP generation function and OTP authentication function using a setter function. good too.

<シークレット変数KCを更新することの出来るオフライン型施錠装置>
KCの更新においては、建物や設備の施錠に用いる本発明の認証システムを備える端末3Dに接触型または非接触型の通信装置を備えさせ、施錠装置を操作する端末3D内部にKCを更新させる情報を入力させることが考えられる。ここで更新作業を行うのは施錠装置を購入したユーザーを想定する。ユーザーの端末1A等により施錠装置とそのコンピュータ端末3Dにアクセスし3Dの製造元から配布されたKC値(暗号化され配布されたKC値をインストールするなどして)を更新する方法が考えられる。
<Offline type locking device capable of updating secret variable KC>
In updating the KC, the terminal 3D equipped with the authentication system of the present invention used for locking buildings and facilities is equipped with a contact or non-contact communication device, and information for updating the KC inside the terminal 3D that operates the locking device. can be entered. It is assumed here that the user who has purchased the locking device performs the update work. A method of accessing the locking device and its computer terminal 3D from the user's terminal 1A or the like and updating the KC value distributed by the manufacturer of the 3D (for example, by installing the encrypted 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>
For BnTOTP type tokens, if the user identifier A is not in the argument of the hash function that performs OTP calculation, BnTOTP=fh (TIDA, KC, Bn), and BnTOTP=fh (TIDA, KC, Bn) is 15 seconds. It is updated at regular intervals such as, so it can be used. On the other hand, when the user identifier A is not an argument of the hash function with an OWP type token, the OTP token will not be distributed unless BC in OWP = fh (TIDA, KC, BC) is changed periodically by the contract administrator. It is assumed that OWP values are known to many people at times.
When generating an OWP according to the present invention, there may be a case where the identifier A is not used at all after recognizing the risk of not using the user identifier (that is, the one-time password is generated with only the token number without including the user identifier). Embodiment of the present invention for authentication). According to the wishes of the service provider, the present invention may be provided in a form in which the user identifier A is not used and only the token number TIDA is used to protect personal information, and the OWP is leaked while being transferred and distributed. do not have.
In this case, the holder of the paper ticket of the present invention cannot enter unless he/she can confirm possession on the blockchain with the help of the staff at the ticket gate or the entrance counter, but the service provider permits it by agreement etc. and distributes the token. If you have a contract to provide services to those who know OWP during A service is assumed in which a plurality of users look around the coupon code OWPcp, and the users present the OWPcp to the service provider's store, etc., to receive a privilege. ).
Since the present invention is intended to be useful in providing services by authenticating and agreeing between service providers and users, even under conditions where OWP is likely to be leaked, it is possible to meet the wishes of service providers. provided. It can also be customized.
On the other hand, service providers need to disclose and display what variables are used among the variables provided to users when using contracts on the blockchain, such as token numbers and user identifiers, which belong to users. There is

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

<発券サーバ端末>
発券サーバ端末3Eは店舗のATM等端末や端末1A、端末1B、管理者端末1C、端末4A、ブロックチェーンノード端末3A、3B、ブロックチェーン検索サーバ3Fとネットワーク20を介して接続されている。ここで端末3Dもネットワーク20に接続されることがあるが、端末3Dは常時接続を想定しない。
<Ticket issuing server terminal>
The ticket issuing server terminal 3E is connected via a network 20 to terminals such as ATMs in stores, terminals 1A, 1B, administrator terminal 1C, terminal 4A, blockchain node terminals 3A and 3B, and blockchain search server 3F. Although the terminal 3D may also be connected to the network 20 here, it is not assumed that the terminal 3D is always connected.

発券サーバ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トークン発行を行ったことを通知する。
The ticket issuing server 3E allows the user UA to operate a terminal such as an ATM in the store or the terminal 1A, search for an OTP token corresponding to the service, purchase the OTP token using the electronic commerce function, and obtain the user identifier A specified by the user UA. to issue an OTP token.
Then, the ticket issuing server 3E sends the OTP token corresponding to the service purchased by the UA to the contract administrator UC and the contract administrator terminal 1C for the user identifier A. It instructs to issue an OTP token with token number TIDA. (The token number TIDA may be determined by the contract administrator.)
The contract manager terminal 1C accesses the block chain part of the node terminal 3A according to the instructions of the ticket issuing server 3E using the contract manager's private key 101C, and enters the user identifier A and the token number TIDA into the token issuance function of the OTP token contract. Enter other OTP token information (OTP token URI information, serial number, valid/invalid true/false value, remarks, etc.) as arguments, send the execution transaction of the OTP token issuing function to 3A's blockchain section after signing, The OTP token with the token number TIDA is issued to the user identifier A by collecting the transactions into block data and linking them to the block chain.
The user who has issued the OTP token is notified by e-mail, telephone number SMS, or mail delivery that the OTP token of token number TIDA has been issued through the contract manager terminal 1C or the ticket issuing server 3E.

<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 terminal 4A having encrypted data 4034A distributed from terminal 5B or the like is transmitted via network 20 to terminal 3A. and acquire the authentication return value 4031A using the OTP authentication system using the blockchain of the present invention, and the software 403A (403A described in FIG. 4B, 403A is software CRHN) uses at least 4031A, preferably 4032A and 40302A, a common key (symmetric key) 4033A for decrypting encrypted data and encrypting plaintext data according to the processing of the software 403A program is calculated based on multiple key information such as 40302A, decrypts the encrypted data, and uses the plaintext data. enable

本発明の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 technology, and the embodiments shown in FIGS. 1B, 8C and 8D are different embodiments from FIGS. 8A and 8B.
In FIGS. 1A, 8A, and 8B, the terminal 3C and the terminal 3D are objects to be accessed by OTP authentication. However, in FIG. 1B, FIG. 8C, and FIG. 8D, the object to be accessed by OTP authentication is not the terminal but the encrypted data, and the terminal 3C and 3D do not exist, and the terminal 4A and the server terminal that is the node of the block chain are not present. 3A and network 20, encrypted data 4034A, software 403A, return values after OTP authentication 4031A, 4032A, and 40302A are stored in the recording device of terminal 4A. It is possible to calculate key information 4033A for decrypting data and encrypting plaintext data, and decrypting encrypted data into plaintext data. 4034A can be decrypted using 4033A as a common key (symmetric key) for common key encryption (symmetric key encryption) to obtain 4035A. The encryption scheme used in 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を配信・放送してもよい。
Encrypted data 4034A is created by using a version of 403A that can encrypt plaintext data 4035A. can.).
In response to access from the user terminal 4A using the network 20 such as the terminal 5B in FIG. It has a function of distributing the encrypted data 4034A to the terminal 4A via the network 20. FIG. Also, 4034A can be distributed/distributed using a known cloud storage or data sharing service without using the terminal 5B.
Furthermore, without using the network 20, optical discs (optical discs, optical discs), semiconductor memories, magnetic discs, magnetic tapes, and external recording devices capable of reading them are distributed through physical distribution or the like, and users A recorded external recording device of 4034A can be delivered to UP and terminal 4A. Alternatively, an external recording device with 4034A 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 from a terminal 5C shown in FIG. 8D which will be described later.

図8Cや図8Dに示す形態の暗号化データは、解錠できる鍵情報4033Aを紛失すると復号できなくなり失われる恐れがある。図8Bに示される例としての金庫の施錠装置のように、端末3Dそのもののハードウェアや施錠用の機械的機構が正常に動作しなくなって解錠ができない場合は施錠装置そのものを破壊し開錠することにより金庫内の物品を回収できることに対し、暗号化データではそのような開錠はできず、復号が困難となった暗号化データに含まれる平文データは失われてしまう恐れがある。 The encrypted data in the form shown in FIGS. 8C and 8D cannot be decrypted and may be lost if the key information 4033A that can be unlocked is lost. As in the locking device of a safe as an example shown in FIG. 8B, if the hardware of the terminal 3D itself or the mechanical mechanism for locking does not operate normally and unlocking cannot be performed, the locking device itself is destroyed and unlocked. By doing so, the items in the safe can be recovered, but the encrypted data cannot be unlocked, and the plaintext data contained in the encrypted data, which is 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 browse electronic books and music video information is expressed as an OTP generation token, and the contract of FIG. 3AC includes an OTP generation function 3009A, an OTP authentication function 3018A, an OTP token possession information 3014A, an OTP token issuance function 3043A, etc. Called when 3008A is used in the OTP authentication system.
The OTP token contract utilizing software 403A includes an OTP generation function such as contract 3008AG including OTP generation function and contract 3008AA including OTP authentication function as shown in FIG. 3AB or OTP authentication function 3018DA recorded in terminal 3D. Even if the contract is separated from the contract containing the OTP authentication function, it does not mean that authentication cannot be performed.
When software 403A is used, it is preferable to describe OTP generation function 3009A, OTP authentication function 3018A, KC value 3011A, BC value 3013A and their setter function 3012A in the same contract as shown in FIG. 3AC.
403A has network 20 and distributed ledger system node terminal 3A, and it is desirable that OTP generation and authentication can be completed with contract 3008A of terminal 3A. Only one contract 3008A can be managed by changing contract variables and functions such as 3041A and 3042A.
By managing changes, etc., for only one contract 3008A, it is possible to eliminate labor for setting setting variables such as the KC value to match between contracts that perform different OTP generation and authentication and between the OTP authentication functions 3018DA of the terminal 3D.
For the synchronization of the seed value 3011A, the BC value 3013A, the block number remainder variable 3030A related to the OTP calculation method, and the OTP digit number adjustment integer 3031A between the contracts separated into 3008AG and 3008AA that may be used in the service of terminal 3C Management work such as change of the terminal 3D and management work such as change between the recording units of the terminal 3D having 3008A or 3008AG and 3018DA used for the service of the terminal 3D may not be necessary when the software 403A is used.
If the OTP generation contract used by the user terminal and the OTP authentication function or contract used by the terminal 3C or 3D are separated, when changing the seed value, change the KC value etc. of each contract or function to the same value must be synchronized and synchronized, requiring effort from contract and service administrators. On the other hand, by describing the KC value 3011A and BC value 3013A and their setter function 3012A in the same contract as shown in FIG. In the case, the setter function 3012A of the contract only needs to be manipulated once, which has the advantage of less effort in updating and synchronizing the seed value. Therefore, the embodiment using software 403A utilizes a contract that uses OTP generation and authentication functions 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 during OTP authentication and the authentication result is received as a return value CTAU (3021A in FIG. 3AC and 4031A in FIG. 4B), there are multiple return values 4031A, and the first return value is Authentication when the second return value of the boolean variable CTAUtf (boolean variable CTAUtf, boolean variable CTAUtf, boolean variable CTAUtf) is the key information CTAUkey recorded in the variable built into the authentication contract The true/false value CTAUtf of the results 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 contained in 4031A is true, software 403A determines if the result of CTAUtf is true and aborts processing if the value is false.
When CTAUtf is a true value, the second return value CTAUkey included in 4031A is received, and the information for generating the CTAUkey, the key 40302A built in the software 403A, and the externally set 4032A as needed. A common key 4033A (TTY 4033A, title key 4033A) is calculated according to the program of the software 403A, and data and files encrypted by common key encryption such as AES (Advanced Encryption Standard) are calculated using 4033A as the common key. It can be decrypted, browsed and used.
Here, in the examples and embodiments of the present invention, files that can be browsed and viewed can be text files, audio files, moving image files, and the like. A file with a file extension that can be displayed in 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を設定する。 When carrying out the present invention, 128-bit and 192-bit key lengths of the AES scheme used for common key encryption in the software 403A were used. The AES scheme used in the embodiment of the present invention was specifically AES-CBC cipher, which used Cipher Block Chaining (CBC) mode with explicit Initialization Vector (IV). The software 403A sets the key data length, CBC mode, and initial vector IV.

ソフトウェア403Aの実施例として、文章形式では米国アドビ社のPDF形式、音声ではMP3形式、動画形式ではMP4形式などウェブブラウザで利用できるファイルの形式に対応する。また著作権に関するコンテンツを含むファイルのみならず、例えば外部に漏洩することを防ぎ漏洩したとしても暗号化などで復号されないようにしたい法人の顧客等個人情報(例としてある株式会社の顧客名簿、学校法人の学生名簿など)や、個人・法人・団体の内部で閲覧するべき機密文章や、製作中の音声画像動画情報、製品の設計図、製品のCADデータ(3Dプリンタに利用可能な3DCADデータも含む)、電子回路データ(プログラムロジックデバイスで利用できる設計データを含む)、半導体のフォトマスクデータなどといった多様な研究所や工場などの機密情報などを暗号化し復号して伝達する際にも本発明は利用できる。 As an example of the software 403A, it corresponds to file formats that can be used with a web browser, such as the PDF format of Adobe Inc. for text format, the MP3 format for audio, and the MP4 format for moving images. In addition to files containing copyrighted content, for example, personal information such as corporate customers who want to prevent leakage to the outside and not be decrypted by encryption even if leaked (example: customer list of a company, school Corporate student lists, etc.), confidential texts that should be viewed internally by individuals, corporations, and organizations, audio image video information during production, product design drawings, product CAD data (including 3D CAD data that can be used for 3D printers) ), 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, software 403A uses at least key information CTAU 4031A when generating key 4033A for creating or decrypting a file encrypted by common key encryption of the AES system using software 403A. Then, using the key 40302A (CRKY 40302A, CRHN software private key 40302A) built into the software 403A, and using the block chain (distributed ledger system) and the key 4032A (AKTB 4032A, password 4032A, external password 4032A) not included in the software 403A use. 4032A does not use a blockchain, but that is a recommendation, and in practice it may be notified by a transaction from a blockchain platform different from the one that uses 403A, and the notification method of 4032A is encrypted. subject to user policy.

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. Return value 4031A of the authentication function recorded in the blockchain contract
The variable 4031A having key information is included in the variables used in the authentication function of the OTP authentication contract, but may be included in the OTP generation contract together with the authentication function. 4031A is set as a return value CATU when the authentication result is correct when executing the authentication function 3018A. Here, it is preferable that contents of functions and variables of the contract 3008A, which performs processing as a non-fungible token of the ERC721 standard such as OTP token issuance and OTP generation/authentication, be kept confidential.
It may also have a setter function that allows the creator/manager of the contract to change the key information 4031A. It is assumed that the creator/manager of the contract is an individual legal person who has rights such as the copyright of the encrypted file.
When the services targeted by 403A, the OTP token, and 4031A are subscription-type magazines and newspapers, and subscription-type broadcast data, it is preferable that the key 4033A used for encryption be updated every few months or years. 4033A is also updated by the contract manager periodically changing 4031A. The plaintext data is encrypted with the changed 4033A and distributed.
In that case, a user who does not know 4031A cannot calculate 4033A, making it difficult or impossible to decrypt the encrypted data. In this case, in order for 403A to record events, it would be helpful to record culture and current affairs if 403A were able to cut out and save a portion of the newspaper article for personal use, and photocopying etc. should also be permitted. As with certificate 4036A, which will be described later, using means such as electronic signatures and HMAC, time information, block numbers of block chains, and MAC values of those messages are added to data cut out for personal use from public information such as newspapers. It may be stored as a record of a book such as a newspaper that can be attached and tampered with can be detected (if the right holder of the book such as a newspaper does not permit clipping, etc., the function of clipping and saving is stopped in 403A).
As another method, 4031A is set as a fixed data value, and 4032A is notified in advance by a transaction to the user identifier or by e-mail at the time of making a contract for a newspaper or magazine, and 4032A is updated every several months or years to obtain 4033A. Encrypted data is generated while being updated, and while the encrypted data is distributed to the user, the updated 4032A is notified to the user. Encrypted data obtained by calculating 4033A using the updated 4032A and the 4032A and using it as a key may be distributed to the user by e-mail or the like. As a method of transmitting 4032A, instead of e-mail, AKTB 4032A may be obtained automatically by connecting to a website or web application with 403A.
Optionally, 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 for the target readers, so there is a risk of tracking who subscribes to which publisher's magazines and newspapers. It is preferable to exchange user-dedicated 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 disc on which 4033A produced using 4032A and 4032A is recorded can 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 acquired in the form of wireless broadcast data, it may be difficult to track who subscribes to what data.

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

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

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

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

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

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

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

ハッシュ値の異なる同一の平文データ・コンテンツを含む暗号化ファイル4034Aを各々のユーザー識別子のユーザーに配布する場合は、オーダーメードされた暗号化データ4034Aの流通をネットワーク20上でトラッキングすることで不正なデータの流通を監視出来るかもしれないが、暗号化データ4034Aの流通をネットワーク20上で追跡することでどのような新聞や書籍がどのようなユーザーに読まれているかを補足することが容易になる恐れもある。
プライバシーの保護とコンテンツ管理者の保護を両立できるよう4032Aを用いた暗号化データ4034Aの生成と流通を行うことが望ましい。また計算資源、記憶領域、暗号化データの保存性を考慮することが好ましい。発明者としては4032Aは個人間や団体内、社内で決めた単一の文字列(合言葉としての外部パスワード)として、同一のダイジェスト値(ハッシュ値)を持つ暗号化ファイル4034Aを配布することが好ましいと考える。
When distributing encrypted files 4034A containing the same plaintext data content with different hash values to users with respective user identifiers, tracking the distribution of custom-made encrypted data 4034A on the network 20 prevents unauthorized access. It may be possible to monitor data circulation, but by tracking the circulation of encrypted data 4034A on network 20, it becomes easier to supplement what kind of newspapers and books are being read by what kind of users. There is also 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. In addition, it is preferable to consider computational resources, storage areas, and preservation of encrypted data. As the inventor, 4032A preferably distributes an encrypted file 4034A having the same digest value (hash value) as a single character string (external password as password) determined within an individual, group, or company. I think.

さらに次に示す3番目、4番目の鍵情報を追加できる。 In addition, the following third and fourth 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. As an example of the software 403A, key information 40302A (CRKY, 40302A in FIG. 4B) set in the software 403A described in the source code such as ECMAScript of 403A. Here, the source code of software 403A is preferably obfuscated. Source code can also be encrypted. If 40302A is leaked, it is used when distributing a new version of software 403A in which the value of 40302A is changed.
The calculation of 4033A requires 403A including 4031A, 4032A and 40302A. The user of the new edition 403A preferably records and stores the edition 403A corresponding to the past book's encrypted data 4034A 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 nodes 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 key 4033A of software 403A.
The contract identifier 40301A of the key management contract is described in the software 403A, and according to the processing specified by the ECMAScript of the software 403A, the getter function for obtaining the key 40303A from the key management contract is operated, and the return value of the function is 40303A. get 40301A, 40302A, 40303A are determined for each software CRHN. If 40303A is leaked, the value of 40303A is used when distributing software CRHN with changed value. Here, it is preferable that the contents of contract functions and variables are kept confidential.

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

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

本発明の実施例及び実施形態で、このような4つの鍵を利用する方式をとる理由、とくにAKTB4032Aを用いる理由としてファイルを攻撃者が開錠し復号する際に仮にブロックチェーン上の4031A,40303Aはイーサリアムでは鍵情報が解読可能な状態であり、なおかつソフトウェア403Aもソースコードを難読化し暗号化などをしても攻撃者が鍵を見破る恐れがある。
そこでブロックチェーン及びソフトウェア403Aに存在しないAKTBという変数4032Aを設定しファイルを暗号化、復号を行う。4032Aを設定することで攻撃者へ対応する。4032Aの変数の個数は一つとは限らず複数設定できる。
In the examples and embodiments of the present invention, the reason for adopting the method using such four keys, especially the reason for using AKTB4032A, is that when an attacker unlocks and decrypts a file, 4031A and 40303A on the block chain are temporarily used. In Ethereum, the key information is decipherable, and even if the source code of the software 403A is obfuscated and encrypted, there is a risk that an attacker will find out the key.
Therefore, a variable 4032A called AKTB, which does not exist in the block chain and software 403A, is set to encrypt and decrypt files. By setting 4032A, you can deal with the attacker. The number of variables in 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, we will use 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 used, 4031A and 40303A recorded in the contract can be anonymized, so it is preferable to use a blockchain platform that can anonymize 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. 8C, preferably also utilized in the embodiment of FIG. 8D. Use of terminal 3C for logging in to Internet banking websites of banks and use for logging in to web services that handle financial and valuable information, and locking and unlocking safes, vaults, automobiles, buildings, etc., in terminal 3D. It is preferably used for decryption of 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>
4031A, 40303A, 40302A, 4032A, 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 envisioned that the content will be encrypted and distributed. On the other hand, as described above, it is also possible to change 4031A and 4032A for each user and distribute encrypted files with different TTKY 4033A.
Here, it is also considered to distribute a single TTKY4033A-encrypted file for information storage. The idea that even if the unlocking means is lost as shown in the example of equipment such as a locked safe, breaking the lock is not applicable to encrypted data including contents. If the encrypted data distributed by the content right holder wants to be stored in a plurality of computers and continuously viewed, it may be preferable to distribute a single TTKY4033A-encrypted file.
In the present invention, if the method for calculating TTKY4033A is lost, it becomes impossible to restore the encrypted data. By setting the value of 4031A and 4032A to a single value, users with OTP tokens can decrypt them with software 403A, and users with OTP tokens can decrypt encrypted files with a single 4031A or 4032A all over the world. Encrypted data used around the world may be easier to store for future generations.
The above is the idea of the inventor, and the final encryption method is determined by the data right holder. 4031A, 4032A, 40302A, and other key values are set according to the request of the right holder of the data, they are input to 403A and processed, and the plaintext data is encrypted and the encrypted data is encrypted using the key 4033A used for encryption and decryption. can be decrypted.
Based on the idea of restricting access to information and storing it like a paper book for future generations, text data, etc., from the system of the present invention using 403A can be stored on paper or in an external storage device, etc., if the right holder permits it. You can have the means.
In addition, it is assumed that there are encrypted data that have not been distributed around the world due to problems such as demand, and it is assumed that the plaintext data cannot be viewed due to problems after distribution. It is necessary to store and manage the plaintext or encrypted data of the content data and the key information for decrypting it.

<広告等の表示または不正アクセスの監視ができるシステム>
ここでソフトウェア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を介して配信するウェブサイトによる広告情報は動的に広告内容を変えることができる。
<Systems that can display advertisements or monitor unauthorized access>
A URI for displaying advertisements is recorded in software 403A and plaintext data 4035A obtained by decrypting encrypted data, and software 403A executes a program for displaying advertisements distributed by server terminal 5A according to the URI information. may be provided. 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 software 403A.
The advertisement is distributed from terminal 5A to terminal 4A via network 20 according to storage unit 505A or 506A and control unit 515A or 516A of terminal 5A to terminal 4A accessing terminal 5A.
The advertisement display method by software 403A and terminal 5A is similar to printing advertisements on paper when reading paper newspapers and magazines. This is to distribute the reward for displaying the advertisement according to the number of times the user browsed the software 403A or the content.
In addition, unlike advertisements on paper media, the advertisement information by the website delivered via the network 20 from the terminal 5A of the link destination URI described in the software 403A or the encrypted content to the terminal 4A dynamically changes the advertisement contents. can be changed.

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

広告の表示機能による広告ウェブサイトへの接続と連携を自動的に行うのは企業間での秘密保持等の面で好ましくない可能性があり、広告の表示先に端末5Aが広告を作成した会社から入手したデータ内部にユーザーのコンピュータにとって意図しない有害な動作をするプログラムが含まれている場合があり、セキュリティを低下させる恐れがあるため端末5Aへ接続できる広告配信機能を省略したソフトウェア403Aも用意できることが好ましい。用途に応じてソフトウェア403Aを動作させるためのOTPトークンがあってもよい。403AのアプリケーションソフトウェアにログインするOTPトークンがあってもよい。 There is a possibility that it may not be preferable to automatically connect and cooperate with the advertisement website by the advertisement display function in terms of confidentiality between companies, etc. In some cases, the data obtained from the terminal 5A may contain a program that behaves unintendedly in a harmful way to the user's computer, and there is a risk of lowering security. It is preferable to be able to There may be an OTP token for operating software 403A depending on the application. There may be an OTP token that logs into the application software at 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 it contains confidential information between government offices and companies, it is possible that an attacker is among all parties involved in creating and selling software 403A and advertisements in order to steal the user's information. I cannot guarantee that there 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 with the OTP authentication system and the key information and the plaintext information 4035A is executed 4035A or when 403A is executed.
If the executable file formats (file extensions) of the software 403A are limited to music files, video files, and book files, the virtual machine environment may be omitted if the files are to be trusted.

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

ここで本発明のワンタイムパスワード認証システムを用いてソフトウェア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 using the one-time password authentication system of the present invention,
1. software 403A;
2. A smartphone terminal 4A or a computer terminal 4A in which the software 403A is recorded in a recording device, and access information to the blockchain and the contract and the secret key 401A are recorded (inputted);
3. Encryptable communication path network 20 (for example, communication is encrypted by encryption such as TLS),
4. A server 3A that constitutes 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. A server 5A that receives user access and displays advertisements (a server that develops a website that can perform multiple roles of notifying users of information and monitoring user access in addition to advertisements);
6. 7. URI information to server 5A for displaying advertisements contained in the program of software 403A; Encrypted data or file 4034A
8. URI information to server 5A to display the advertisement contained in encrypted data 4034A9. Server 5B delivering encrypted data 4034A to user terminal 4A through communication path network 20
is required. The terminal 4A may be a terminal capable of viewing and using plaintext data, and may be a computer terminal connected to a tablet terminal or 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 that displays the advertisement is set in the software 403A or 4035A obtained by decrypting the encrypted data, and the software 403A accesses the server 5A according to the URI of the server terminal 5A that displays the advertisement. At this time, the server 5A can record access information for a plurality of terminals, such as the terminal 4A of the user UP, the terminal 1A of the user UA, and the terminal 1B of the user UB, as shown in FIG. 6X.

図6Xではサービスを提供しているOTPトークンのコントラクト識別子やブロックチェーン識別子は省略されているが、図6Xにコントラクト識別子CPGTやブロックチェーン識別子(分散型台帳システムの識別子)をユーザー識別子やトークン番号と対応付けて記録してもよい。 Although the contract identifier and blockchain identifier of the OTP token that provides the service are omitted in FIG. 6X, the contract identifier CPGT and blockchain identifier (distributed ledger system identifier) are shown in FIG. They 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に記録することができる。
Terminal 5A is accessed by software 403A of terminal 4A, records access information of terminal 4A in 501A, and distributes advertisements according to storage section 505A or 506A and control section 515A or 516A.
After recording the identifier of the access information block chain of the terminal 4A and the contract identifier CPGT of the OTP token that generates the OTP, the user's identifier A, the token number TIDA, and the IP address or location information of the terminal 4A shown in FIG. 6X. Alternatively, the value IPV calculated from the ID information unique to the computer device or the sensor value of the input device 42A of the terminal 4A, and the login state data such as the browsing time T and browsing history information Cnt (Cnt is the number of accesses) are sent to 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 the login state data such as the contract identifier CPGT, the user identifier A, the token number TIDA, the value IPV, the browsing time T and the browsing history information Cnt (Cnt is the number of accesses) Save and save for display in a tabular format similar to FIG. 6X.
Here, the format of the table and the system of the database do not necessarily have to be the format of FIG. 6X. Figure 6X uses a table to show that multiple IPV values (a case where a 3-axis geomagnetic sensor and a 3-axis magnetic compass sensor have different Z values) exist for a given user identifier/token number and are illegal. FIG. 10 is an explanatory diagram when detecting a case where access is suspected; It suffices if it is possible to detect whether or not there is access with different IPV values for the same private key or token number of the OTP token. FIG. 6X is an explanatory diagram. Instead of using the format of FIG. 6X as it is, data may be recorded and used to monitor the accessor by modifying a portion of FIG. 6X without departing from the scope of the present invention.

端末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 the terminal 5A is accessed with a different IPV value for the token number TIDA,
It is confirmed that the token number TIDA assigned to the private key 401A of the same user identifier A has been viewed from a device having multiple IP addresses, location information, location information, and data IPV combining the sensor value of the terminal. It has 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 for connecting 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. The terminal 5A can also be equipped with the unauthorized access monitoring function to notify the customer whether the secret key is being used illegally.
Plaintext data 4035A can also be provided with an advertisement distribution function and an unauthorized access monitoring function as shown in FIG.
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 403A that does not use the unauthorized access monitoring function and the advertisement distribution function.
From the viewpoint of privacy protection, there may be 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 prevent unauthorized use of the private key, and lead to protection of the owner of the OTP token, the content of the encrypted data corresponding to the OTP token, and its right holder.
The unauthorized access monitoring function and the advertisement distribution function using the terminal 5A in the plaintext data 4035A are the functions that the right holder of the plaintext data decides to use. be done. Since the URI to the advertisement is a URI (link tag) described and embedded in plaintext data 4035A in HTML language or the like, the URI of 4035A (and the advertising content linked to the URI) may also be part of the content. do not have.
The unauthorized access monitoring function and the advertisement distribution function using the terminal 5A in the plaintext data 4035A are used by content right holders, and some content right holders do not use the above functions.

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

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

<暗号化されたデータを復号し編集した後、再度暗号化する場合>
ユーザーは暗号化データ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 encrypting again after decrypting and editing the encrypted data>
The user decrypts the encrypted data 4034A using the software 403A and the OTP authentication system, browses and edits the plaintext data, records the block number, the BnTOTP of the OTP token used for browsing, the time stamp, etc., and uses it to detect falsification. Data attached with an electronic signature or HMAC can be re-encrypted and saved.
For example, after an employee UP of a certain organization makes corrections to text files, audio and video files, spreadsheet files, blueprint files, etc., the block number, BnTOTP, time stamp, etc. are recorded, and an electronic signature is used to detect falsification of text and video data. Alternatively, encrypt and save the data with the MAC value of HMAC attached again, distribute it to another employee UA in the organization, and then give the employee UA the key information such as 4032A for decryption and the software used for encryption By distributing 403A and OTP tokens, the UA receives the data that has been re-encrypted by the employee UP, decrypts it, browses the content added and changed by the UP, and makes changes to the additions and changes by the UA, including block numbers and BnTOTP. It is possible to record a time stamp or the like, attach an electronic signature for detecting falsification of text or video data, or attach a MAC value of HMAC, and then encrypt and save the data.
In this way, a plurality of users such as UP, UA, UB, and UC of a certain organization can add text to a confidential document and attach a time stamp, HMAC MAC value, or electronic signature to the data to exchange text.

<暗号化されたデータが3次元の設計図情報である場合>
暗号化されたデータを復号して得られる3次元のCADデータ(立体の設計図情報)から、3Dプリンタにより造形し、多軸加工機等により母材を加工することで設計図に示された3次元の物体を製作する。ただし平文データのレイティングや出力設定によっては出力できない。銃刀法などの法令に違反する立体物の出力をソフトウェア403Aは禁止するべきであり、平文データのレイティング情報に記述された情報から403Aは立体の出力の可否を判断する。3次元CADデータ情報をヘッドマウントディスプレイ453Aで閲覧することもできうる。2次元のCADデータであっても同様に閲覧や出力や利用ができる。例として産業用印刷機やプロッタなどの加工機に用いる設計図データでもよい。
1次元、2次元または3次元のある物体や装置の製造にかかわる設計図データを本発明の方法で暗号データとして保存し、OTP認証システムを利用して復号することで製造に用いる情報に利用してもよい。
<When the encrypted data is 3D blueprint information>
The three-dimensional CAD data (three-dimensional design drawing information) obtained by decrypting the encrypted data is modeled with a 3D printer, and the base material is processed with a multi-axis processing machine etc. Create a three-dimensional object. However, it cannot be output depending on the rating of the plaintext data or the output settings. The software 403A should prohibit the output of a three-dimensional object that violates laws such as the Firearms and Swords Act, and the software 403A determines whether or not to output the three-dimensional object based on the information described in the rating information of the plaintext data. Three-dimensional CAD data information may also be viewed on head-mounted display 453A. Even two-dimensional CAD data can be browsed, output, and used in the same way. For example, design drawing data used for processing machines such as industrial printers and plotters may be used.
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 decrypted using the OTP authentication system to be used as information used for manufacturing. 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 schematic of the circuit. For example, it may be design drawing data of a programmable logic device. A Field Programmable Gate Array (FPGA) is a type of programmable logic device, a semiconductor IC with a field configurable circuit array that can change electronic control functions within the device. In the embodiment of the present invention, it is possible to receive the data of the circuit for configuring or reconfiguring the FPGA as encrypted data, decrypt it, and use it. The programmable logic device can be used for industrial equipment and broadcast communication equipment, and is also expected to be used for the user terminal 1A and the server terminal 3A.
Circuit information that enables reconfigurable computing may be distributed as encrypted data and decrypted with an OTP token. Encrypted circuit information that enables reconfigurable computing may be stored in version management and code repositories such as GitHub by GitHub, Inc., downloaded from user terminals, and distributed/distributed. The purpose is to perform version management to check whether the circuit information of the programmable logic device has been tampered with, obtain the usage right with the OTP token, decrypt it, and dynamically construct the circuit according to the design drawing in the programmable logic device.
When deploying the design drawing information on an FPGA or the like, it is preferable to investigate the behavior of decrypted data and malicious programs in a virtual machine environment (sandbox environment). Alternatively, when the encrypted data is decrypted by the OTP authentication system only for the first time, the data is examined in the virtual machine environment, and after determining that it is not malicious, a certificate is issued, and if there is the certificate, it is transferred to the FPGA without using the virtual machine environment. The design drawing data may be developed on an FPGA or the like.
Although a specific example was explained using the example of FPGA, data decoded by the method of the present invention is stored in the memory portion of a circuit that controls a computer such as a CPU, SoC, or MPU, and the behavior of the control operation device is changed. good too. Alternatively, it may be used when encrypting, distributing, and installing a program with a certificate similar to hardware such as computer terminal firmware or BIOS.
For the purpose of distribution within a certain organization, there is a device, circuit and semiconductor parts manufacturing line that manufactures the final CPU, SoC, MPU from the circuit board information and semiconductor of electric equipment / electronic equipment from the semiconductor substrate. may be stored as encrypted data by the method of the present invention and decrypted using the OTP authentication system to be used as information for use in manufacturing semiconductor products. It may be applied not only to electronic devices but also to manufacturing data and confidential information of certain products.

<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 non-bidirectional encrypted data, live distribution)>
The server terminal 5B, which delivers encrypted data and files 4034A to the user terminal 4A via the network 20, is a device capable of two-way communication. 5C of 5C, SVCRHNbroadcaster) are available. The broadcasting station 5C uses the communication path NTB (communication network 21, radio wave band in wireless broadcasting, broadcasting cable in cable broadcasting) by one-to-many broadcasting to user terminal 4A having receiver 423A that can receive broadcasting. On the other hand, encrypted data 4034A subjected to common key encryption such as AES encryption with a single encryption key TTKY4033A is broadcast. 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 may be installed 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 block chain as terminal 3A and can broadcast BnTOTP>
Broadcaster 5C may have the same functionality as 3A. The broadcasting station 5C is connected to a terminal 5CC controlling the broadcasting station 5C via a communication path 2 (communication network 2). The terminal 5C has a storage device capable of having a block chain part like the terminal 3A, and is connected to the network 20 via a control terminal 5CC that controls the terminal 5C. terminal 5C can have the same block chain part as terminal 3A. The terminal 5C can broadcast the block number Bn, block data, block hash value, time stamp/time information, and time information based on the clock of the terminal 5C in the block chain section of the terminal 3A. The terminal 5C may be a ground station or a 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 the global positioning satellite system and can broadcast BnTOTP together with the positioning information for authentication of the signal for the global positioning satellite system>
Terminal 5C may be an artificial satellite in outer space, equipped with an atomic clock, etc., and may be a positioning artificial satellite for Global Navigation Satellite System (GNSS). A terminal 5C has a block chain unit and is connected to a block chain node terminal 3A via a 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 block chain unit recorded in the terminal 3A and the terminal 5C, and the time information by an atomic clock or the like, Bn and BnTOTP are added to the broadcast signal of the terminal 5C. , token number, and user identifier, the broadcast signal of the GNSS satellite can be authenticated at the terminal 4A that receives the signal.
Here, the transmission message and the MAC value by HMAC of the message may be concatenated and broadcast. Tampering with the broadcast message can also be detected by attaching the HMAC MAC value of the message data including one piece of positioning data, Bn and BnTOTP to the message data including one piece of positioning data, 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 information of the block chain part including the contract of the OTP token held by 5C, the block number Bn and time information, the BnTOTP of the OTP token set exclusively for the broadcasting station 5C, and the MAC value of the HMAC of those messages. can be broadcast. Terminal 5C broadcasts a signal containing time information Bn, BnTOTP, a token number and a user identifier, and terminal 4A and the like receive the broadcast. A terminal 4A that has received broadcasts from four or more GNSS satellite terminals 5C performs positioning by the global positioning satellite system GNSS. In addition, the terminal 4A receives the BnTOTP value, the token number, the user identifier, and the block number Bn (adding the contract identifier of the OTP token and the block chain ID as necessary) and the MAC value to determine the time information and the authenticity of the signal. Verifies falsity/authenticity and authenticates broadcast data.
Broadcast the positioning signal from the GNSS satellite 5C to the terminal 1A and the terminal 4A by radio for positioning, and in addition to the time information etc. necessary for positioning the known position information, the block number Bn and the time of the block number Bn A positioning system that performs positioning by a plurality of broadcasting station satellites 5C, equipped with means capable of confirming the authenticity of GNSS positioning broadcast data by attaching an authentication password BnTOTP that dynamically changes with changes to the signal. It can be used for positioning devices and positioning methods.

GNSS衛星に本発明のBnTOTPによるOTPを添付する意図とねらいは、GNSS衛星の信号がなりすまし(スプーフィング)の偽の信号情報であるか、真のGNSS用信号情報であるかを時刻情報とBnとBnTOTPとトークン番号とユーザー識別子を添付することで判別することである。GNSS信号のなりすまし・ハッキングに対抗する際に本発明のOTP認証システムが利用されうる。本発明のこのような利用形態は飛行機や船舶や自動車、無人機、無人飛行機などのナビゲーションにおけるセキュリティ向上のために利用されうるかもしれない。 The intention and purpose 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 false signal information of spoofing or true GNSS signal information by combining time information and Bn. BnTOTP, a token number, and a user identifier are attached for determination. The OTP authentication system of the present invention can be used to combat GNSS signal spoofing/hacking. Such a mode of use of the present invention may be used to improve security in navigation of airplanes, ships, automobiles, unmanned aircraft, unmanned aircraft, and the like.

GNSS用途に用いる人工衛星5Cに秘密鍵501CとBnTOTPとブロック番号と5C専用のOTPトークン番号と5Cの記録装置に記録されたシークレット値KC3011Aがあり、それらの内、BnTOTPとブロック番号Bnとユーザー識別子トークン番号を端末5Cは放送する。 The satellite 5C used for GNSS application has a secret key 501C, BnTOTP, a block number, an OTP token number dedicated to 5C, and a secret value KC3011A recorded in the recording device of 5C, among which BnTOTP, block number Bn, and user identifier 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 private key 500 of 5C. The token number is also set by the GNSS administrator. A satellite identification number, machine number, manufacturing number, etc. of the terminal 5C can be assigned to the token number, and a user identifier calculated from a secret key managed by the operator who provides the GNSS service can be used as the user identifier. Each satellite may have a different private key and user identifier, or a single private key owned by an operator may be recorded in storage devices of a plurality of satellites and used. It is necessary to assign OTP tokens with different token numbers to four or more artificial satellites used for positioning in GNSS, generate different BnTOTPs among the satellites, and attach them to broadcast data.
As an example, when the secret key of one positioning satellite terminal 5C is the same as that of 101A and is an OTP token with token number TIDA, BnTOTP=fh (user identifier A, machine number/token number TIDA, KC value , block number Bn). As for the KC value, the administrator of the GNSS satellite terminal 5C transmits a transaction instructing the block chain unit of the terminal 3A to change the KC value, and the KC value of the block chain contract of the terminal 5C connected to the terminal 3A also changes.
A one-time password code BnTOTP using BnTOTP=fh (A, TIDA, KC, Bn) is executed by the OTP generation function 3009A in the block chain section (5000C and 5100C) of the broadcasting station terminal 5C to generate BnTOTP as an OTP, or Obtained from the network 2 or network 20 by executing the OTP generation function 3009A of the OTP token contract of the blockchain node 3A, and distributed by attaching the main data, time information, block number, and BnTOTP to the data to be broadcast/distributed Alternatively, it is possible to confirm the authenticity and authenticity of broadcasted information/data.

ここで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 using BnTOTP for GNSS broadcasting has been shown, but OWP=fh(A, TIDA, KC, BC) may be attached to 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, for example, 15 seconds or 180 seconds, and Bn is automatically updated. 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). (You can change the concatenation time of block data including ) by any number of seconds. Even when using OWP, the contract administrator may change the KC value and BC value periodically. It may be preferable to build a blockchain with a block number that changes every 10 minutes specifically for GNSS.

複数の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, and different user identifiers/token numbers or the same user identifiers/token numbers are set for them, and the four terminals 5C are known. In addition to the positioning information of the GNSS positioning method, 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. ), the block number Bn, and, if necessary, the MAC value by HMAC of the broadcast message are 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 once or several times within 180 seconds.
If the length of the GNSS message data is insufficient, the time for changing the block number Bn of the block chain unit corresponding to GNSS is increased. For example, when the block number Bn changes in 600 seconds instead of 180 seconds, After transmitting the navigation message data, broadcast the OTP authentication data of the present invention (user identifier, token number, block number, BnTOTP, MAC value of HMAC) for 30 seconds, broadcast the navigation message data again, and alternately broadcast By doing so, the authentication information may be attached during 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 applied to the US GPS (Global Positioning System) as a known example of GNSS, four or more GPS satellite terminals 5C (space segments) for measuring position information are placed in outer space. Located in the orbit of each satellite, there are ground control station 5CC (control segment) and GPS receiver terminal 4A (user segment), and terminal 5C, terminal 5CC and terminal 4A are connected via network 20 to block chain node terminal 3A or terminal 3B, etc. to synchronize the block chain part of terminal 5C.
Or, relying on the atomic clock of the terminal 5C, which is accurate, it is assumed that Bn matches with all the GNSS satellite terminals 5C, and the block number Bn is set to increase every 300 seconds, and the ground control station 5CC and the satellite terminal are set several times a year. Synchronize with 5C, check if the time and Bn have increased correctly, and when changing and updating the KC value etc., share the data with all GNSS satellite stations 5C and synchronize the block chain part.
At this time, the terminal 4A authenticates the BnTOTP contained in the broadcast received from the terminal 5C using the authentication function 3018A of the node terminal 3A of the block chain, and uses the broadcast data of the four GPS satellites in which the correct BnTOTP is recorded. position can be determined.

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 of 1500 bits is 30 seconds, authentication data is 1280 bits if one variable is 256 bits and there are 5 variables, so within 30 seconds. broadcast over. When a block chain in which the block number Bn changes in 600 seconds is constructed for the GNSS satellite, the same BnTOTP data can be sent 10 times, and the user terminal 4A detects one of these 10 times, and BnTOTP is By verifying with the authentication function and obtaining the authentication result, it is possible to know whether the received data of the satellite 5C is correct data or suspected of impersonation or the like.
Alternatively, it is conceivable not to attach the authentication data to each navigation message data. When using a blockchain where Bn increases by one every 600 seconds, the navigation data that is broadcast for 30 seconds in 600 seconds is broadcast 20 times. It may be possible to broadcast as a broadcast frame for the authentication data. If the navigation message data with authentication data broadcasted 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 number Bn and BnTOTP are calculated based on a clock such as an atomic clock mounted on the terminal 5C and the OTP generation function 3009A stored in the storage unit. , BnTOTP, message data, and their MAC values are attached and broadcast to user segment terminals such as terminal 4A.
Next, in the terminal 4A, an authentication function 3018A capable of calculating BnTOTP=fh (A, TIDA, KC, Bn) and software in which the KC value is recorded in advance, or BnTOTP=fh (A, TIDA, KC, Bn) is calculated. The authentication function 3018A, 3018A and the function of the terminal 3C in which the KC value is recorded may be provided at 423A of the communication device 42A receiving the GNSS signal.
When OWP is used instead of BnTOTP, an authentication function 3018A capable of calculating OWP=fh(A, TIDA, KC, BC) and software in which the KC value is recorded, or OWP=fh(A, TIDA, KC, BC) An authentication function 3018DA capable of calculating and a terminal 3D function in which the KC value is recorded may be provided in 423A of the communication device 42A receiving the GNSS signal.
Software in which authentication functions 3018A and 3018DA and KC values are recorded may be provided in software 403A.

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

端末5Cの放送するBnTOTPのOTP認証処理では、端末4Aが受信している人工衛星端末5Cの送付する測位用情報に添付されたブロック番号BnとBnTOTP(またはBnTOTPを算出する際に用いたユーザー識別子・トークン番号も添付されているときは、ユーザー識別子・トークン番号を用いて)をOTP認証関数3018Aを用いて認証させ、認証関数の戻り値から端末5Cの放送したデータの真偽・真贋を判断する。 In the OTP authentication process for BnTOTP broadcast by the terminal 5C, the block number Bn and BnTOTP attached to the positioning information sent by the satellite terminal 5C received by the terminal 4A (or the user identifier used when calculating BnTOTP・If the token number is also attached, use the user identifier/token number) to authenticate using the OTP authentication function 3018A, and judge the 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を増やした上で測位を行うようにする等が考えられる。
受信した信号の認証結果が正しくない場合(なりすまし信号である場合)であっても公道を走る自動車を急停止させ別の進路に切り替える等は危険であり、運転や飛行や航行の判断を運転や操縦を行う利用者に委ね、利用者に測位信号に認証できない信号があることを表示して伝えた上で運転や操縦を操縦者など利用者に行わせる必要があるかもしれない。
A user identifier/token used when calculating BnTOTP in 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. 3018A is executed by passing the number and block number Bn and BnTOTP as arguments, and when the return value is the return value when the OTP is correct (when BnTOTP is a true value), broadcasting station 5C broadcasts. The terminal 4A records what is expected to be correct and notifies/displays it to 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
When the data information broadcast by the terminal 5C cannot be OTP authenticated and is erroneous, the subsequent processing is entrusted to the service or software using the GNSS with authentication function of the present invention. Inform that the received position information cannot be used, wait to receive the signal of a new GNSS broadcasting satellite 5C different from the terminal 5C that performs the wrong broadcast, authenticate the signal received from the new terminal 5C, and authenticate It is conceivable to perform positioning after increasing the number of terminals 5C that have been set.
Even if the authentication result of the received signal is incorrect (if it is a spoofed signal), it is dangerous to suddenly stop a car running on a public road and switch to another route. It may be necessary to entrust the operation to the user, to display and inform the user that there is a positioning signal that cannot be authenticated, and then to have the user such as the operator perform the operation.

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

ユーザー端末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 receives location information and time information authenticated by the OTP authentication of the present invention from four or more terminals 5C to 4A, and block numbers Bn and BnTOTP to be broadcasted by the four 5C as plaintext data (plaintext content data or manuscript data). ), apply an electronic signature or HMAC for falsification detection to plaintext data using a private key 401A or the like, create an electronic signature or MAC value, attach it to plaintext content data, and create plaintext data 4035A. It may also be created as tamper-detectable plaintext data 4035A with an electronic signature or MAC value that is stored with location authentication, and said 4035A is encrypted using software 403A with an OTP token assigned to private key 401A. It may be possible to convert
The plaintext data 4035A may be recording/audio data or recording/moving image data relating to news gathering. The OTP authentication system of the present invention can easily certify the creation place/creation position information and the creation time of the document text/document data of the plain text data 4035A (images such as photographs and blueprints, recorded moving images, and recorded audio).
The block number Bn to be entered in the above 4035A is Bnp, and Bnp is Bn when BnTOTP is obtained. 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 for verifying authentication are provided with an authentication function for authentication in the form of BnTOTP=fh (A, TIDA, KC, Bnp), and 4035A has a user identifier A and the token number TIDA may be entered.
The encrypted data 4034A of the published 4035A is circulated, and if there is a customer user UB who has the OTP token of the token number TIDB, AKTB, and the software 403A to decrypt it, the plaintext data 4035A is viewed. Then, the customer user uses the Bnp, BnTOTP and token number TIDA recorded in the plaintext data 4035A, and if the user identifier A is entered, it is used. Obtain A, pass A, TIDA, and Bnp to the argument of the authentication function so that the OTP authentication function can perform calculation in the form of BnTOTP=fh (A, TIDA, KC, Bnp), execute the authentication function, and obtain the authentication result. You can get the time and location information created by The created location information may be accurate latitude and longitude using GNSS, etc., or for privacy protection, prefectures and municipalities (states, provinces and municipalities overseas) based on map information from latitude and longitude information It is also possible to describe the approximate position instead of the detailed position so that it can be understood.

<放送局5Cからのデータファイルの放送>
放送局5Cが地上局または人工衛星局であって、アマチュア局および業務用の放送局であり、新聞や雑誌など文章やソフトウェアのデータを放送するデータ放送局や、音声を放送するラジオ放送局や、音声動画を放送するテレビジョン放送局であってもよい。マスメディアとして放送可能なデータを放送できる放送局5Cであってもよい。
<Broadcast of data file from broadcasting station 5C>
Broadcasting station 5C is a terrestrial station or a satellite station, an amateur station and a commercial broadcasting station, a data broadcasting station that broadcasts text and software data such as newspapers and magazines, a radio station that broadcasts audio, and , or a television station that broadcasts audio and video. It may be a broadcasting station 5C that can broadcast 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 distributing text, audio, and video files is to encrypt video data (audio and video data, which tends to be larger than book data) to users with OTP token viewing rights. To avoid imposing a communication capacity load on the public two-way network 20 when distributing the data 4034A live (on a live broadcast).
However, in an emergency such as a disaster, the broadcasting station 5C, which has a public nature, sends a signal to the effect that the encryption will be canceled to the audio radio broadcast viewing software such as the software 403A and the audio video television viewing software, and the broadcast data of the plaintext data 4035A. It is necessary to be able to broadcast.
In addition, rather than transmitting redundant content information (information on popular music pieces, video works, etc.) to users via the two-way network 20, transmitting data in a one-to-many manner by broadcasting reduces 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), membership services using websites.

具体的に本発明をラジオ放送やテレビジョン放送といった音声、動画ファイルの放送に利用すると仮定した場合について述べる。放送に用いる無線機、無線局5Cは業務用でもよいしアマチュア用でもよい。広域に、多くの地域に放送する場合について、ある一つの放送局無線機の電磁波が到達する範囲は有限であり、地域ごとに異なる放送局5C、送信所5Cなどの形で設置されている。ユーザー端末4Aは最寄りの無線局5Cの暗号データ放送を閲覧するOTP生成トークンを取得する。 Specifically, a case will be described in which the present invention is assumed to be used for broadcasting audio and video files such as radio broadcasting and television broadcasting. The radio equipment and radio station 5C used for broadcasting may be for business use or for amateur use. In the case of broadcasting over a wide area in many areas, the range that the electromagnetic waves of a certain broadcasting station radio can reach is limited, and different broadcasting stations 5C, transmitting stations 5C, etc. are installed for each area. The user terminal 4A obtains an OTP generated token for browsing the encrypted data broadcast 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にて暗号化された放送データを復号し視聴できる。
Broadcasting station 5C encrypts radio or television program data 4034A with common key TTKY4033A unique to broadcasting station 5C, and transmits encrypted data 4034A to user terminal 4A nearest to which radio waves reach. 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, and BnTOTP is generated and authenticated to obtain the return value CTAU4031A of the authentication function.
Here, instead of BnTOTP, an OTP token that can acquire an OWP may be used to generate and authenticate an OWP in the software 403A to obtain a return value CTAU4031A. TTKY 4033A is generated using 4031A and, if necessary, key information 40302A inside 4032A and 403A, and broadcast data encrypted by TTKY 4033A 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 OWP is used, the contract manager follows the instructions of the broadcasting station and informs the broadcast receiver that the KC value and BC value that produce OWP will be updated at a certain time such as every year, and the reception contract will be renewed. It is possible to have the user who can send the OWP after updating the KC value and the BC value by mail without using the network 20 . The OWP notified by mail is inputted 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 decrypted. The KC and BC values updated at this time are included in the broadcast data and may be automatically updated when 4A receives the broadcast data. When OWP is used, it targets users who cannot connect the terminal 4A to the network.
The user terminal 4A connected to the network 20 can use the software 403A to connect to the blockchain terminal 3A to generate and authenticate the OWP, so there is no need to notify the OWP by mail. Also, when the network 20 is always connected, both OWP and BnTOTP can be used.
TTKY 4033A that encrypts or decrypts content can be changed by rewriting CTAU 4031A of the OTP token contract, which is the broadcast viewing right, 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, it is possible to allow users who have the right to view the broadcast to continue viewing, and to prevent users who do not have the viewing right from viewing.

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

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

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

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

この利用形態において懸念されることとして、天候不順などで通信障害が起こり放送局5Cからの無線による信号が端末4Aに届かないことが考えられる。また放送機材の不良で放送データにノイズなどが混じる恐れがある。動画や音声データの場合はノイズを含んでいても放送番組として成立する事がある(成立させざるを得ないことがある)。しかし雑誌や新聞またはコンピュータプログラムデータの場合はノイズにより閲覧ができなくなるもしくはソフトウェア等が動作しない恐れがある。その対処策として同じ内容の放送を別の日時に複数回行うこと(再放送)、衛星放送の場合は衛星放送の通信速度(通信容量、キャパシティ)を増加させるハイスループット衛星等を利用する、誤り訂正技術が利用する、などの対策をとることが好ましい。 As a matter of concern in this form of use, it is conceivable that a communication failure may occur due to bad weather or the like, and the wireless signal from the broadcasting station 5C may not reach the terminal 4A. In addition, there is a risk that noise, etc., may be mixed in the broadcast data due to defects in the broadcasting equipment. In the case of video and audio data, even if it contains noise, it may be established as a broadcast program (sometimes it is unavoidable). However, in the case of magazines, newspapers, or computer program data, there is a risk that noise will make browsing impossible or that software, etc. will not operate. As a countermeasure, broadcast the same content multiple times at different dates and times (rebroadcast), and in the case of satellite broadcasting, use high-throughput satellites, etc. to increase the communication speed (communication capacity, capacity) of satellite broadcasting. It is preferable to take countermeasures 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 there is one TTKY 4033A for one amateur station's encrypted broadcast data 4034A has been described. Even if it is the same plaintext data or content data 4035A, tokens and OWPs are assigned according to the number of different amateur stations, and the data is encrypted by TTKY 4033A and transmitted.
In one country or on a global scale, for example, when sending encrypted data for satellite broadcasting using radio, it is encrypted using common OTP tokens, OWP, and TTKY4033A and sent to users only if the rights holder of the content allows it. You can also (However, if the same TTKY4033A is used for encryption on a global scale, there is a risk that encrypted data stored all over the world will be viewable if TTKY4033A is leaked. Therefore, each station, each broadcasting network, each region, It may be preferable to use different 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 contents with live distribution elements (live broadcast distribution elements) such as web meeting software and online games. It should be noted that the software 403A may be used to record and encrypt distribution data for live distribution such as a meeting, distribute the data via the network 20, transmit the encrypted data to the distribution destination, decrypt the data, and allow the terminal to view the distribution site. 3C (server terminal SVLogin) may be used to log in to the website/web application.

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

<インターネット通信網でやり取りするデータの暗号化、暗号化されていない通信経路において>
本発明の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 will be described where the OTP authentication code of the present invention is used as a data encryption key for website communication instead of encrypted communication by TLS (encrypted communication by TLS/SSL). The software 403A shows that the encrypted data is distributed, for example, from the user UC to the user UA. Connect.
Here, TLS stands for Transport Layer Security of Transport Layer Security Protocol and is RFC8446 standard. SSL stands for Secure Socket Layer.

具体的な例としてウェブページの閲覧において、ある本発明のスマートコントラクトがあり、そのコントラクトではOTPトークンのトークン番号TIDAについてユーザーUAとコントラクトの管理者UCがワンタイムパスワードBnTOTPを生成し認証できるよう関数が設定され、UCがUAのトークン番号TIDAのBnTOTPを手に入れられる時(UCがUAのOTP生成関数を呼び出してBnTOTPを見て共有できる)を考える。 As a specific example, in browsing a web page, there is a smart contract of the present invention, which functions so that the user UA and the contract administrator UC can generate and authenticate a one-time password BnTOTP for the token number TIDA of the OTP token. is set and the UC can get the BnTOTP for the UA's 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 to be called from the user identifier of the owner of the OTP token and its secret key as described in the flow charts of FIGS. The provider may also call the OTP generation function using the private key 101C of the administrator terminal 1C. However, if the contract administrator can call the OTP generation function of the customer's OTP token, it is necessary to specify it in the terms of service when signing the contract for issuing the OTP token, and the KNBN variable of the OTP token 3024A must also be explicitly stated.
The OTP token of the present invention is the login right to the website of the terminal 3C, the admission ticket 18A and the unlocking key 19A to be presented to the terminal 3D, and the viewing, usage, and ownership that can decrypt the encrypted data using the software 403A. It is intended to be owned by a user and is primarily based on and principle that only one user with a private key assigned an OTP token can call the OTP generation function.
It is not a typical implementation that the OTP generation function can be called from more than one private key, but it can 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, BnTOTP is used for the UA as a key of common key encryption such as the AES method to encrypt the web page to generate encrypted data CRYPTWEBPAGE. 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, the UC can view the BnTOTP value (OWP value) generated by the OTP generation function 3009A with the token number TIDA of the OTP token for communication encryption of the UA.
The user UA can also decrypt the encrypted data CRYPTWEBPAGE using the BnTOTP (OWP value) of the token number TIDA and browse plaintext web pages. Similarly, when sending a message to UC, the user UA obtains BnTOTP of the token number TIDA from the OTP generation function and uses it for encryption to send encrypted data CRYPTWEBPAGE through the network 22 to the server terminal of the UC website.
The UC calls the BnTOTP value (OWP value) generated by the OTP generation function 3009A from the token number TIDA of the OTP token for communication encryption of the UA, and uses the sent encrypted data CRYPTWEBPAGE as a key for decrypting the BnTOTP. By decrypting the CRYPTWEBPAGE and obtaining the UA's plaintext message, the UA and UC perform encrypted communication on the network 22 . In this way, the present invention can also be applied to the encrypted communication field.
(However, even in this case, the communication between UA and UC in the process of obtaining BnTOTP from the blockchain must be separately encrypted and concealed. This communication may require encryption based on public key cryptography using the private key held by UA and UC.Anonymized 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 checking whether the private key 101A of the terminal 1A (private key 401A of the terminal 4A) is leaked and the server terminal 3C, the terminal 5A, etc. are illegally accessed, the terminal 3C or the terminal that provides the service is checked. 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, an atmospheric pressure sensor, a temperature sensor, an illuminance sensor that can be included in the sensor 144A in the input device 14A provided in the terminal 1A,
A method of storing in a server based on measured values derived from physical quantities measured by one or more sensors in the sensor group is conceivable.

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

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

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

この利用方法ではユーザーのスマートフォンなどコンピュータ端末のセンサ値をサービスを行うサーバが記録し、同じ時刻に一致しないセンサ値でアクセスされたかどうかを検出するものであるので、センサの測定値と測定値のハッシュ値や匿名化した値を監視に用いることができる。センサの値を使う場合は個人情報の一部を収集してしまうもののサーバーの管理者はユーザーの状態を見守りしやすい。センサの値を基にハッシュ化や各種演算による加工を行った数値を使う場合は個人情報の保護に役立つ。 In this usage method, the server that provides the service records the sensor values of the user's computer terminal such as a smartphone, and detects whether or not the sensor values that do not match are accessed at the same time. Hash values and anonymized values can be used for monitoring. When using sensor values, some personal information is collected, but the server administrator can easily monitor the user's status. It is useful to protect personal information when using numerical values processed by hashing or various calculations based on 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 combined values IPV of the user identifier of the server (3C, 5A, etc.) that provides the service, the token number of the user's OTP token, IP address, location information, terminal ID, and terminal sensor value For a certain time T, it is considered normal access that the user identifier with one sensor value or IPV value and the access information of the user's OTP token are recorded. When the user and the unauthorized accessor access at the same time, different sensor values and IPV value access information are recorded for the user identifier and the user's OTP token information, as shown in *2 in FIG. 6X.
The server that provides the service detects the access information, notifies the user who is the owner of the token of the abnormality, and may have a control unit that blocks access if accesses with different sensor values continue 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番号などの情報であったり秘密鍵情報の不正な取得に利用されかねないため、利用しないことが好ましい。
As an example, at the same time, a terminal 1A having a valid access right with a secret key 101A indicating a temperature and atmospheric pressure of 25° C., a value of 987 hPa, and a geomagnetic sensor facing north, and a terminal 1A having a valid access right, When there is access from the terminal 1B that illegally obtained the secret key 101A, the server can determine that the access has been made from a different environment. In addition to changes in the numerical values of the temperature sensor and the atmospheric pressure sensor, changes in the direction of the terminal of the smartphone that browses data or services from the accelerometer and gyro sensor after login, changes in gravitational acceleration, changes in motion, illumination, temperature, atmospheric pressure, humidity, etc. Can track changes in the environment.
As sensors, information from imaging devices such as cameras, and input data and measured values from sound sensors (mics, microphones) can also be used, but this is not recommended due to privacy concerns for users. However, technically, the information of an imaging device 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, we will also use the information of the imaging device, sound sensor, and microphone with the consent of the user. It is particularly preferable to perform hashing or the like when using camera or microphone measurement values for unauthorized access detection.
In the present invention, among the input devices of the device 1A, the camera, microphone, keyboard, and pointing information 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 personal information and information such as the PIN number output by the user for monitoring unauthorized access to the server by the user 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認証を行うようにしてもよい。
(異なるIPアドレスやオペレーティングソフトウェアおよびウェブブラウザソフトウェアの環境からのアクセスがあることをウェブサービスで表示・通知するのは既知の技術である。)
The following sensors can be used in the method of storing in the server 3C or the terminal 5A based on the measured value derived from the physical quantity measured by one or more sensors in the input device provided in the terminal 1A. Sensors include motion sensors, position sensors, and environment sensors, and motion sensors that can be used include acceleration sensors (accelerometers) and gyro sensors (angular velocity sensors). A geomagnetic sensor or an accelerometer can be used as the position sensor. A humidity sensor, an optical sensor, an illuminance sensor, an air pressure sensor, a pressure sensor, and a temperature sensor can be used as the environment sensor.
At the time of authentication, a server having a processing unit that monitors unauthorized use of the private key, such as the server terminal 3C (SVLogin) and the terminal 5A (SVCRHNcm), has a user identifier A, a token number TIDA, a viewing time T, and a viewing time T. In this system, the history information Cnt and the value IPV calculated from the values detected by the sensors installed in the computer are recorded in the recording device of the server, and the server monitors accesses from different IPVs. In the case of the financial terminal 3C, the browsing history information Cnt is preferably kept even after the user terminal logs out in order to record whether or not the access was made from a different environment. is logged in under similar conditions to the browsing history information Cnt recorded in the past, and if the user logs in from a significantly different environment, notify the user's contact information and perform OTP authentication or a preset second secret key (e.g. Alternatively, OTP authentication may be performed using an OTP token derived from the first secret key 101A and the second secret key 101A2) for multisig technology.
(It is a known technology for web services to display and notify that there is access from different IP addresses, operating software, and web browser software environments.)

<ブロックチェーン上のコントラクトの管理>
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 manager UC of the OTP token issues tokens to users who are entitled to access and provide services to the blockchain node 3A by means of the private key 101C of the terminal 1C, to the identifiers of the users.
Also, 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 and the OTP authentication function 3018A and 3018DA of the contract 3008A, 3008AG, 3008AA and 3008DA are rewritten using means such as the function 3012A and 3012DA. can also be updated by In addition, the variable 3024A that becomes the 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 services in which the terminal 1A accesses the server terminal 3C or decryption of encrypted data using the software 403A, the terminal 1A accesses the node terminal 3A of the block chain via the network 20 according to the program of 403A and performs OTP (OWP, BnTOTP). can be obtained.
Terminal 3A accepts access from administrator terminal 1C, terminal 3A receives a transaction for changing the KC value 3011A, and connects it to the blockchain to change the KC value. Authentication by OTP reflecting the rewritten KC value can be performed. On the other hand, in the service using the terminal 3D, the contract manager UC provides means for rewriting and updating the KC value 3011DA and the BC value 3013DA for the K value.

例としてユーザーUAが秘密鍵101Aを用いてアクセスするOTP生成関数とOTP認証関数について、OTP生成関数とOTP認証関数が利用するワンタイムパスワードのシード値TIDA、KC、Bn、Aの場合にはKC値3011Aを、OTP生成関数とOTP認証関数ともに同じ値、もしくは同じデータとなるように設定し同期させなければいけない。同期していない場合、生成するパスワードと認証関数内部で計算されるパスワードが一致せず、ワンタイムパスワード認証が行えなくなる。 As an example, regarding the OTP generation function and the OTP authentication function that the user UA accesses using the private key 101A, the seed values TIDA, KC, Bn, and A of the one-time passwords used by the OTP generation function and the OTP authentication function are KC 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 it is not synchronized, the generated password and the password calculated inside the authentication function will not match, and one-time password authentication will not be possible.

KC値3011Aはコントラクトがブロックチェーンのあるブロックに記録した際に書き込まれ、その後一切書換を行わないようにコントラクトをプログラムすることもできる。またKC値3011Aはコントラクトの管理者のみが変更することもできる。KC値3011Aの取り扱いはコントラクトの管理者による。KC値3011Aがコントラクトの管理者によって任意の時刻に変更される場合はパスワードOWPの算出などで用いるBC値3013Aと同じ役割を持つ変数とみなせる。 The KC value 3011A is written when the contract records a block in the blockchain, and the contract can also be programmed to never rewrite. Also, the KC value 3011A can be changed only by the contract manager. The handling of the KC value 3011A is up to the contract manager. If the KC value 3011A is changed at any time by the contract administrator, it can be regarded as a variable that has the same role as the BC value 3013A used for calculating 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値と同じ変数型の値であってもよい。
The KC value 3011A is, for example, the identifier of the OTP generation contract, the service name, or in the case of content such as a book, the content name ISBN, etc., in order to prevent collisions with other smart contracts using the present invention and the OTP value of the OTP token. It is preferred to use the KC value 3011A calculated based on
It is troublesome to set a large value for a KC value with a similar KC value, for example, a KC value with a capacity of 256 bits (an unsigned integer value can express an unsigned integer value including 0 of 2 to the 256th power). For such reasons, if the KC value is recorded in a small integer range such as 0 to 255 (up to the 8th power of 2), or even 0 to 10, if multiple OTP token contracts are used, the OTP value are likely to collide.
A specific example will be described. When the OTP token with the token number 9876 of the user identifier A of the login service of a certain member site is the login OTP token number 9876 of a different Internet banking, the KC value of the contract of the OTP tokens of both services is set to 123, etc. When the hash function was also deployed on 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 , a matching OTP is calculated between OTP tokens for two different services.
This can occur not only in BnTOTP for website login but also in OWP for locking. Therefore, in order to avoid matching or colliding OTP values of different OTP tokens for different services, it is necessary to make the KC value a unique value. should be used as part of the KC value.
Multiple KC values may be configured to complicate the KC value so that the OTP values of the OTP tokens do not match. There may be more than one KC value. For example, the first KC value is an arbitrary value (a value generated by a pseudo-random number generator or a processed value, or an ), the second KC value is set by the contract administrator to the contract identifier of the OTP token (or its processed and anonymized value), 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 restrict data types. It may be an unsigned integer type or a character string type, and a plurality of variables corresponding to the KC value and the BC value may be included in the contract 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, a hash function called SHA256 of SHA-2 is used as the hash function fh. 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. is used for OTP. The hash value BnTOTP or OWP may be used as it is for the OTP, or the hash value may be further calculated and processed by an arbitrary method to be the OTP.

OTPの計算においてハッシュ関数の衝突が発見されている(もしくは疑いのある)SHA-1等のハッシュ関数の使用は推奨されない。そして将来のある時点で既知のハッシュ関数fhの脆弱性が発見された場合、そのハッシュ関数の脆弱性に対する対策をOTPトークンのコントラクトやブロックチェーンの基盤に施すことが必要になるかもしれない。
ブロックチェーンの基盤においてブロックハッシュBhの算出に用いるハッシュ関数(例としてイーサリアムではKeccak-256をハッシュ関数に用いる)に問題が生じてしまうときはブロックチェーンの基盤の切り替えが必要になってしまう事もないとは言い切れない。
前記の問題が生じたときはOTPトークンのコントラクトをもちいてOTPの生成と認証を行う方法とOTPトークンの保有者情報を、脆弱性のないハッシュ関数を用いたブロックチェーンあるいは有方向非巡回グラフを用いる新たな分散型台帳システムにOTPトークンのコントラクトとOTPトークンの保有者情報を転記させる必要が生じるかもしれない。
The use of hash functions such as SHA-1 with known (or suspected) hash function collisions in the OTP calculation is discouraged. And if a vulnerability in the known hash function fh is discovered at some point in the future, it may be necessary to apply countermeasures against that hash function vulnerability to the OTP token contract and blockchain infrastructure.
If there is a problem with the hash function used to calculate the block hash Bh on the blockchain platform (for example, Ethereum uses Keccak-256 as the hash function), it may be necessary to switch the blockchain platform. I can't say no.
When the above problem occurs, the method of generating and authenticating OTP using the OTP token contract and the owner information of the OTP token are stored in a block chain or directed acyclic graph using a hash function without vulnerability. It may be necessary to post the OTP token contract and the 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 administrator of the contract. For example, the hash function fh may be changed from SHA2-256 of SHA-2 to SHA3-256 of SHA-3 after the contract is deployed. At this time, as in the case of the KC value, etc., OTP authentication cannot be performed unless the types of the OTP generation function and the hash function fh used for the OTP authentication function are matched.

<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 regarding one-time password calculation between the RFC6238 standard and the present invention>
In the RFC6238 standard, a key value K and a T value that changes with time are used as arguments of a hash function to calculate a one-time password. According to the RFC6238 standard, the counter C is replaced with a counter based on time T in the HOTP one-time password standard based on HMAC. Next, the formula for calculating TOTP is shown.
TOTP = HOTP(K,T)
= Truncate(HMAC-SHA-1(K.T))
where Truncate is rounding. The present invention is not limited to a hash function combined with HMAC in RFC6238. Either a hash function or a hash function combined with HMAC can be used in the present invention.
Specifically, in addition to the hash function (Keccak-256 used in Ethereum) used in the foundation of the blockchain, SHA-3, HMAC-SHA3, SHA-2 (SHA256, 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 specific function group described above is based on a hash function even when using HMAC, and utilizes the property of a hash function as a one-way function, and differs for each argument message data (or key information). There is no change in the function of being able to calculate a digest value that can be regarded as that of a password 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 10 ※具体例、BnTOTPを符号無し整数化して10のn乗で割り算しその余りをパスワードとする場合。
ここでUint(X)は引数Xを符号なし整数に型変換する関数。
In the present invention, the RFC6238 standard is used as a reference, and for the K value and T value used in that standard, the variable TB that changes at the time on the blockchain (preferably block number Bn or BC that can be changed by the contract manager at a certain time) and Access the blockchain contract using the K value (secret key KC value, token number TIDA, user identifier A, etc.) and hash function fh, and use the OTP token with the token number TIDA owned by the user identifier associated with the contract It is characterized by being used in a blockchain-based time-varying OTP authentication system that generates and authenticates OTPs.
The formula for calculating the one-time password BnTOTP of the present invention is as follows. An n-digit integer password BnTOTP-N is also shown below.
BnTOTP = fh(K,T)
= fh (KC, TIDA, A, Bn) *Specific example.
BnTOTP-N = Truncate(fh(KT))
= Uint ( fh (KC, TIDA, A, Bn) ) mod 10 n *Specific example, when converting BnTOTP into an unsigned integer, dividing by 10 to the power of n, and using the remainder as the password.
Here, Uint(X) is a function that converts the type of 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 regarding calculation of BnTOTP and password OWP>
An example of the formula for calculating 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 Tm is as follows. Tm is the same as TB.
BnTOTP = fh(K, Tm)
= fh (KC, TIDA, A, Bn) * Example On the other hand, the Tm value is a BC value that can be changed by the contract manager 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 formula for calculating 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 10
OWP-N = Uint( fh(KC,TIDA,A,BC) ) mod 10
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=Yで、好ましくは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 n-digit integer passwords OWP-N and BnTOTP-N are shown below.
BnTOTP-N = Uint( fh(KC, TIDA, A, Bn) ) mod 10 n
OWP−N=Uint(fh(KC, TIDA, A, BC)) mod 10 n
Since OWP-N and BnTOTP-N use remainder r, they can be rephrased as OWPr, BnTOTPr, or OTPr as a generic term for them.
Here, an example of dividing by 10 to the nth power is shown, but let us consider the case of dividing by Y to the Nth power instead of 10 to the nth power to obtain the remainder. A value m obtained by type-converting an OTP such as OWP or BnTOTP to an unsigned integer is used as the dividend m, and an integer obtained by multiplying 10 or an unsigned integer Y of 2 or more such as 2, 3, or 11 by an unsigned integer N of 1 or more to the Nth power is a divisor n, the contract may be provided with a processing unit and a storage unit that calculate the remainder r when the dividend m is divided by the divisor n and use the r as an integer value OTPr. When the integer value r obtained by converting OTP to an unsigned integer and finding the remainder is OTPr, the following equation is obtained.
OTPr = m-qn
where n=YN, preferably Y is an unsigned integer of 2 or more, N is an unsigned integer of 1 or more, q is the quotient, n is the divisor, m is the dividend, and r is the remainder.
For practical use as an OTP, Y is preferably 10 or more and N is preferably 6 to 7 or more. However, Y may be 10 and N may be 2 or 4 depending on the application.
As a clear note, if Y is 2 and N is 1, OTPr will pseudo-randomly output a value of 0 or 1 indicating whether it is odd or even, and can be used as a pseudo-random number generator of 0 and 1. It may be, but it is not practical for the use of the one-time password OTP, such as for website login, because if either 0 or 1 is entered, login will be possible.
Therefore, assuming the case of representing a four-digit integer PIN number in OTPr as an example, it is necessary to set Y to 2 or more and N to 14 or more, and the divisor n=2 14 =16384.
If Y is 10 and N is 7 or 6, then a 7-digit or 6-digit OTP can be generated. 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 blockchain platform>
During the operation of the present invention, it is conceivable that the blockchain part will be updated or newly created every certain number of years due to technical or storage capacity limitations. It may be necessary to update the block chain part due to the need to change the hash function that calculates the block hash of the block chain part.
Therefore, in the OTP authentication system using the blockchain of the present invention, the administrator periodically records the contract of the OTP generation token recorded in the contract, the program information of the OTP authentication contract, and the information of the seed value KC and BC in the terminal. is particularly preferred.
OTP token status information such as a user identifier A who is the owner of the OTP token, the token number of the OTP token, and the URI attached to the OTP token is recorded, and the OTP token owner list in which the OTP token status information is also stored. It is particularly preferable to create information and store it in the storage device of terminal 3C, terminal 3E, terminal 3F, terminal 5A, terminal 5B, terminal 1C, and user terminal 1A. It is preferable that the user terminal also holds list information owned by the owned OTP tokens.

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

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

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

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

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

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

<ブロックチェーン基盤とOTPコントラクトの更新>
長い年月の中で技術的な課題や新たな計算機によって公開鍵暗号用の秘密鍵101Aのデータ長などの仕様を変更し、データ長を拡張する必要も生じるかもしれない。ブロックチェーン基盤に用いる公開鍵暗号など暗号化形式やハッシュ関数の安全性に問題が生じる恐れもあるかもしれない。その結果としてブロックチェーン基盤の問題もしくはデータ量の問題からブロックチェーンの基盤を数十年ごとに更新する必要があるかもしれない。
<Renewal of blockchain platform and OTP contract>
It may be necessary to change the specifications such as the data length of the private key 101A for public key encryption and extend the data length due to technical problems or new computers over the years. There may also be concerns about 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 problems with the blockchain infrastructure or problems with the amount of data.

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

100年を超えて運用されるサービスであっても、分散型台帳技術における課題や、想定できない課題により、ブロックチェーンのブロック番号の大きさ、ブロックチェーンのブロックの長さが100年ではなく25年といった期間に区切りながら保存することが必要になることも想定される。その事態を想定し、端末3Aから端末3Eや端末3FがOTPトークンのコントラクトに関する情報を各コントラクト識別子やユーザー識別子ごとにとりまとめ、新たなブロックチェーンにコントラクト識別子やユーザー識別子に対応した最新の情報を移植もしくは更新できるようにすることも必要になるかもしれない。 Even for services that have been in operation for over 100 years, due to issues in distributed ledger technology and unforeseen issues, 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. It is also assumed that it will be necessary to store the data while dividing it into periods such as the following. Assuming that situation, terminal 3A to terminal 3E and terminal 3F collect information about OTP token contracts for each contract identifier and user identifier, and transplant the latest information corresponding to the contract identifier and user identifier to a new blockchain. Alternatively, it may be necessary to enable updating.

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

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

サービス提供者の意志に応じてOTPトークンのコントラクトを作り直す場合には顧客のユーザー識別子とトークン番号とトークンに含まれるデータを用いて元のOTPトークンとは異なるコントラクト識別子にOTPトークンのコントラクトを新規にデプロイし、元のOTPトークンのコントラクトに含まれる顧客のユーザー識別子とトークン番号とトークンに含まれるデータに従ってOTPトークンを再発行することでコントラクトの更新を行う。 When the OTP token contract is recreated according to the service provider's will, the OTP token contract is newly created with a contract identifier different from the original OTP token using the customer's user identifier, token number, and data included in the token. Deploy and update the contract by reissuing the OTP token according to the customer's user identifier, token number, and data contained in the token contained in the contract of the original OTP 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 for implementing the OTP authentication system of the present invention>
In the present invention, a server terminal 3A, which is a node of a distributed ledger system DLS such as a block chain connected to a network 20, deploys a contract for generating an OTP token and an OTP by a transaction using a secret key 101C of an administrator terminal 1C. The user terminals 1A and 4A call the function 3009A for generating the OTP of the OTP token using the private key 101A or 401A to the server terminal 3A, which is equipped with the contract for generating the OTP token, and generate the OTP. OTP is input according to 3C, 3D, or software 403A program, and if the authentication destination is 3C or 403A, the OTP is authenticated using the OTP authentication function 3018A of the server terminal 3A, and if the authentication destination is 3D, it is built into 3D. The OTP is authenticated using the authentication function 3018DA, and when the return value 3021A of the authentication result is a correct value of the authentication result, it is judged that the OTP authentication has been completed, and the system is provided with the service.
By using a tamper-resistant program called a smart contract that operates on a distributed ledger system DLS such as a blockchain, the execution results of the OTP token generation function 3009A and the authentication functions 3018A and 3018DA can be stored in a tamper-resistant state. In addition, the internal variables of the contract such as the OTP authentication function, the OTP generation function, the owner information of the OTP token, the KC value 3011A that is the seed value for calculating the OTP, etc. are also recorded as a distributed ledger that is difficult to tamper with. We have realized a blockchain-based OTP token that can be recorded by using it, 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 the OTP by a transaction using the secret key 101C of the administrator terminal of the contract manager and change and update the key values of the OTP tokens of all users belonging to the contract. and devices and terminals used in the authentication system.
In addition to updating the key value K and KC, the number of OTP digits used for OTP authentication and the time interval for OTP authentication 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 information obtained by anonymizing the environment value of the user terminal or the environment value is associated with the user identifier or token number value or the anonymized value, and the leaked private key or the secret that is reused Means may also be provided to detect 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 into a website in the one-time password authentication system (OTP authentication system) of the present invention.
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 a login destination. ) are connected through (via) network 20 . Although omitted from FIG. 8A, there can be a server terminal 3B having the same block chain part 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 the sequence when logging into a website using the OTP authentication system. FIG. 7D is similar to FIG. 7A.
6A, 6B, 6C, 6D, 6E, and 6F are block chains using a block chain type data structure as a distributed ledger recording unit 300A recorded in the storage unit 30A of the server terminal 3A of FIG. 8A. OTP generation processing and OTP authentication processing in one-time password generation and authentication smart contracts (contracts) 3008A, 3008AG and 3008AA used in the present invention recorded and deployed in the entire block chain 3006A of section 300A will be described. FIG. 4 is an explanatory diagram of a flow chart;
As a reference, FIG. 9A illustrates an outline of an authentication system using an OTP token when using a distributed ledger recording unit 300A using a blockchain type data structure in the distributed ledger system DLS, and FIG. 9B illustrates the distributed ledger system FIG. 10 is a diagram illustrating an overview of an authentication system using an OTP token when using a distributed ledger recording unit 300A using a directed acyclic graph type (DAG type) data structure for DLS;
In FIG. 7A, the terminal 1C deploys the contract to the DLS of the terminal 3A and sets the contract to the service from S110 to S113. In S114 and S115, services (mainly terminal 3C, which is assumed to be always connected to the network, decryption of encrypted data by software 403A, etc., and terminal 3D, which may be disconnected from the network 20, can also be connected to the network 20). 7A) issues an OTP token to the user identifier A as the token number TIDA, and 1C or the service sends the token number or token to the user terminal 1A. It is possible to inform the result of issuance.
In S116, the user terminal 1A accesses the service, and the service side may or may not record the access information as shown in FIG. 6X. Next, the service requests OTP authentication from 1A, and the terminal 1A accesses the terminal 3A and acquires the OTP from the OTP generation function 3009A in the sequence of S117 to S119. When SHA256 is used for the hash function, the OTP is calculated and output as 32-byte data (2 to the power of 256 -1 as an unsigned integer).
(The 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 integer OTP with a certain number of digits. As an example, 32-byte data may be encoded. It is also possible to convert the type to an unsigned integer and use the remainder OTPr of the Nth power of 10 as the OTP of the N-digit unsigned integer. When constructing the authentication system of the present invention, the OTP generation function 3009A and the OTP authentication function 3018A and 3018DA installed in the terminal 3D are also paired with the number of digits and characters converted from the output data to an unsigned integer or the like. Authentication cannot be performed unless the OTP is calculated in the same way as the OTP generation function and the password OTPr can be calculated from the remainder.)
In S120, the service can collect and record the access status and behavior of 1A during connection, or can not collect or record them. In S120, OTP authentication is requested to the terminal 1A. From S121 to S123, the terminal 1A inputs the value acquired from S117 to S119, the user identifier, and the token number of the OTP token to the OTP authentication function 3018A, executes the authentication function 3018A, and sends the return value CTAU such as the authentication result 3018A to the terminal at S123. Obtain from 3A and input/output the return value CTAU of the authentication function to/from the service. If the return value CTAU of the authentication function output from the terminal 1A is a value when the OTP authentication result is correct, login to the website, operation of the website, and operation of the web service are performed.
In S125, the service side collects the access information of the terminal 1A even after login, and checks whether there is unauthorized access or not. It is possible to monitor whether the ID value and the sensor value of the terminal are recorded as shown in FIG. 6X, and notify the user of unauthorized access when they are recorded. However, in practice, recording as shown in FIG. 6X may infringe on privacy or unnecessarily use computational resources of the terminal, and may not be economically cost-effective, so it is not necessary to do so.
In the present invention, for example, the distributed ledger system to which OTP tokens are assigned to handle monetary value and important items such as content browsing usage by decrypting encrypted data, login for Internet banking, and operation of bank account balance. We would like to collect and monitor the data shown in FIG. 6X as a means of detecting the leakage or reuse of the secret key for access. Data collection and monitoring in FIG. 6X are not performed when a terminal with low computing power is used as a server. The monitoring of unauthorized access to the service shown in FIG. 6X is used according to the mode of use 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 Example 1 (Embodiment 1), the OTP calculation for OTP generation and OTP authentication described in FIGS. to the
a user identifier A to the blockchain unit;
A token number TIDA associated with A,
Using four secret variables KC and block number Bn inside the contract,
Furthermore, a secret variable BC that can be changed by the contract administrator,
Let V be the GasLimit value determined by the voting values 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 by user identifier and token number;
A pseudo-randomness is provided by the V value, and an OTP authentication system capable of updating the BC value among the secret variables KC and BC was constructed.

実施例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 in FIG. It has a setter function fscb (3012A in FIG. 3AC) that can rewrite and update both.
The setter function fscb (3012A in FIG. 3AC) is set to variable KC (3011A in FIG. 3AC) or BC (3011A in FIG. 3AC) or BC (3011A in FIG. 3AC) only when the blockchain is accessed by the private key PRVC (101C in FIG. 3AC 3013A) and the internal variables KC and/or BC are programmed to rewrite and update the function fscb (3012A).
Contract internal variable values are preferably confidential.
In 3008A, the internal variable KC value and BC value are recorded in the same contract, but when using two contracts 3008AG and 3008AA, the variable KC (3011A) and the variable BC (3013A) used for OTP calculation are functioned. The KC and BC values of 3008AG and 3008AA must be rewritten and updated by fscb (3012A) to match and synchronize and maintain the synchronized state. The numbers and data types of KC and BC variables are not limited, but the numbers 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 and variable 3030A for changing the OTP authentication standby time and the OTPr digit number changing function and variable 3031A for obtaining the OTPr must also be synchronized and matched between 3008AG and 3008AA. In addition to the variables, the type of hash function fh required for calculating the OTP must match.
Here, the terminal 3C uses 3008AG and 3008AA, but the terminal 3D uses 3008A or 3008AG and the authentication function 3018DA of the terminal 3D. The variable/function storage unit and the terminal 3D variable/function storage unit must be matched and synchronized.

またコントラクトの管理者はその端末1CからコントラクトにOTPトークンの名前やサービスの名称、サービス提供者の住所連絡先、レイティング情報などサービスを提供するうえで必要な情報を示した看板変数とその変数を変更書換できる関数KNBN(3024A)をコントラクトに記録させ設定できる。ここで看板として記録する変数の数や配列、構造体、マッピング型など型を問わない。変数3024Aはブロックチェーンにアクセスするすべてのユーザーが読み取る事のみできる(KNBNの書換は端末1Cの秘密鍵PRVC(101C)を用いて行われる)。 In addition, the contract manager sends from the terminal 1C to the contract a billboard variable indicating 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 rating information, and the variables. A changeable rewritable function KNBN (3024A) can be recorded in the contract and set. The number of variables to be recorded as signboards, arrays, structures, mapping types, and other types are irrelevant. Variable 3024A can only be read by all users accessing the blockchain (KNBN rewriting is done using terminal 1C's private key PRVC (101C)).

実施例1に限らず実施例2や3にも起きうる問題として管理者端末1Cの秘密鍵PRVC(秘密鍵101C)が管理すべきユーザーの手から漏洩し、別のユーザーが秘密鍵101C情報を入手し、その情報を複製し、端末からコントラクト3008Aなどに不正アクセスし、サービスを受けさせる権限である本発明のOTPトークンを不正アクセス者が望むユーザー識別子に無制限に発行することが可能になりうる。そして看板情報3024Aや内部変数3011Aおよび3013Aにアクセスする可能性が考えられる。
このような事態が起きないよう、コントラクト内部にあるトークン発行関数(図3043A)や関数fscb(3012A)や3024A等に含まれるセッター関数を実行する際に秘密鍵101Cとは異なる秘密鍵に由来するユーザー識別子の同意がなければ関数関数を実行させないようにするコントラクト管理者秘密鍵漏洩対策部分3042Aを備えることができる。
As a problem that can occur not only in Embodiment 1 but also in Embodiments 2 and 3, the private key PRVC (private key 101C) of the administrator terminal 1C leaks from the hand of the user to be managed, and another user obtains the private key 101C information. obtain, copy the information, illegally access the contract 3008A etc. 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 illegal accesser without restriction. . There is also the possibility of accessing signboard information 3024A and internal variables 3011A and 3013A.
In order to prevent such a situation from occurring, when executing the setter function included in the token issuing function (Fig. 3043A), function fscb (3012A), 3024A, etc. inside the contract, a secret key different from the secret key 101C is used. A contract administrator private key compromise protection portion 3042A may be provided to prevent function execution without consent of the user identifier.

<コントラクト管理者の秘密鍵が漏洩することに備えた対策例>
コントラクト管理者秘密鍵漏洩対策部分3042Aについて説明する。
OTPを管理するコントラクトの内部変数やトークン発行を関数として実行する際に、関数の実行を行うには秘密鍵PRVCのユーザー識別子Cのコントラクト管理者以外の1つまたは複数のユーザ識別子が個別に設定できるマッピング変数または配列、構造体、それらと同等の複数変数があり、ユーザー識別子と対応したブーリアン型(真偽型)の変数値において真か偽かを記録させる。
そしてユーザー識別子に対応した真偽値が真であるとき実行でき、偽であるとき実行しないとする。ここで全てのユーザー識別子に対しユーザー識別子に対応した真偽値が真であるときOTPトークンの発行やコントラクト内部変数の操作を行い、全てのユーザー識別子のうち1つでも真偽値が偽になっている場合関数の実行を停止する場合が考えられる。この応用として全てのユーザー識別子に対しユーザー識別子に対応した真偽値の真もしくは偽の数を数え、全ユーザー識別子数の過半数(あるいは設定した割合)を超えたときに関数の実行を行うこともできる。
3042Aにはユーザー識別子に対応した真偽値をもつマッピング変数とその変数の真偽値から処理を実行させるか停止させるか判断する処理部を持ち3042Aはトークン発行関数3043Aや関数3012A等のコントラクトの状態を限定したアクセス者に対して読取または書き換えを行う関数の処理部に記述(設定)することができる。
<Example of countermeasures against leakage of private key of contract administrator>
The contract administrator private key leakage prevention section 3042A will be described.
When executing the internal variables of the contract that manages OTP and token issuance 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 is a mapping variable, array, structure, or equivalent multiple variables that can be used to record whether the user identifier and the corresponding boolean variable value are true or false.
It can be executed when the boolean value corresponding to the user identifier is true, and cannot be executed when it is false. Here, when the truth value corresponding to the user identifier is true for all user identifiers, issue OTP tokens and manipulate contract internal variables, and even one of all user identifiers becomes false. It is conceivable that execution of the function is stopped when As an application of this, count the number of true or false values corresponding to user identifiers for all user identifiers, and execute a function when the number of all user identifiers exceeds the majority (or a set percentage) can.
3042A has a mapping variable having a true/false value corresponding to the user identifier and a processing unit that determines whether to execute or stop processing based on the true/false value of the variable. It can be described (set) in the processing part of the function that reads or rewrites for the 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 private key of the contract administrator>
For example, it may be accessed as a contract administrator using two different private keys. Prepare the private key PRVC of the contract manager and the private key PRVB to stop the issuance of OTP tokens when PRVC is leaked. The OTP token issuing function and contract internal variables (3043A, 3024A, 3030A, 3031A, 3011A, 3011A, 3013A) can be set.
In addition to the method described in the present invention, what is generally called multi-sig technology may be used to set a plurality of private keys to deal with leakage of private 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 fact that the service provider has leaked the private key, the fact that it is being attacked, and the time of the attack along with the contract identifier 3019A are posted on the company's web page, etc. You can also deploy a contract with a private key and reissue OTP tokens. If a technical problem arises in a distributed ledger system that includes a blockchain, it is possible that the token will be reissued in order to transfer the token to a new blockchain or the like.
The present invention circulates OTP on a block chain that is difficult to tamper with, and uses OTP tokens to automate and record the provision of services. It depends on the content of the contract, legal restrictions, and the agreement between the service provider and the user.
If it is difficult to provide the service and the user wishes to contact the user, or if the user wishes to contact the service provider, it is necessary to post the contact information on the signboard information KNBN (3024A). The rating of the service (restriction information such as whether the service is age-restricted or whether a driver's license is required if the service is a car key) is also entered in 3024 .
The present invention intends to issue tokens for purchase using electronic commerce. In electronic commerce, information such as credit cards is used, but in that case, adults are the target. If this service is used for logging in to computer game sites and web applications for minors and for decrypting encrypted book data, purchase a terminal that records the private key for family use, and purchase the terminal for minors. you may need to think.
When a user UA who does not have a terminal 1A wants to obtain an OWP type 18A or 19A, a service provider, a ticket issuer, a convenience store, etc. can obtain an OTP token and an OWP type 18A or 19A for a service by phone. It can also be issued.
The UA may possess the NFC tag 19A or 16A on which the private key 101A is recorded, and the UA may be able to log in by having the terminal 1A without the 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 shops such as Internet cafes, hotels, guesthouses, etc. that provide terminal 1A and Internet lines.

<トークンの発行>
図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トークンの発行とトークンを用いたサービスの提供を説明する。
<Token issuance>
In FIG. 8A, contract 3008A or 3008AG issues an OTP token with token number TIDA to user identifier A calculated from private key PRVA (101A in FIG. 2AA) and private key 101A according to the sequence diagram shown in FIG. 7D.
In all embodiments of the present invention, a secret variable (seed value) KC, BC and an OTP generation function (FIGS. 6A and 6B) and an authentication function for calculating an OTP in an Ethereum ERC721 standard token in the blockchain part By adding (Fig. 6C, Fig. 6D, Fig. 6E, Fig. 6F), a contract for one-time password generation and authentication was constructed 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 for the private key PRVA (101A) of the user identifier A. The ERC721 standard has functions such as token issuance, token transmission (transfer), and token removal, but the description thereof will be omitted. In the present invention, a transfer restriction function that restricts token transmission in accordance with the ERC721 standard can be installed.
This is because the present invention intends to use OTP tokens for login use for tickets, membership rights, online games, and net banking that are not transferable.
Execution of the send token function 3040A can be controlled by the administrator of the contract using variables and setter functions 3041A that limit the sending of tokens. 3040A can be programmed to continue executing the send token function 3040A when the variable in 3041A is true and stop executing the send token function 3040A when the variable in 3041A is false.
If you want to prohibit the transfer instead of restricting the transfer, on the premise that the token will be issued after notifying the token contractor that the transfer is prohibited, a setter that can fix the 3041A variable to false and change the 3041 variable. It may be the OTP token contracts 3008A and 3008AG that are programmed such that the send token function 3040A cannot always be executed, except for functions. Alternatively, it may be the OTP token contracts 3008A and 3008AG without the token transmission function 3040A itself.
Next, using the sequence diagram of FIG. 7D, the contract deployment, OTP token issuance, and service provision using the token will be described.

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

シークエンス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を組み合わせて用いる。
In sequence S210, a block for changing the OTP token secret variable KC (3011A in FIG. 3AC) or BC (3013A in FIG. 3AC), the signboard information 3024A, and the OTP change time (number of blocks) to be deployed on the blockchain at the terminal 1C A number remainder variable 3030A, an OTP digit number adjustment unit 3031A, and the like are set. Then, a contract 3008A for generating and authenticating OTP, a contract 3008AG for generating OTP, and a contract 3008AA for authenticating OTP are set.
In the third embodiment, a contract 3008A capable of OTP generation and authentication is used.
In the second embodiment, a contract 3008A or 3008AG capable of generating an OTP, an OTP authentication function 3018DA of the terminal 3D capable of authenticating the OTP, and variables of the function and a recording part of the function are used. When 3D can connect and communicate with node 3A through network 20, authentication function 3018A of 3008AA and 3008A can be used.
In Example 1, the contract 3008A or 3008AG capable of generating OTP and the contract 3008AA capable of authenticating 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 in sequence S211. Send the contract code (bytecode for execution of the Ethereum virtual machine, bytecode) to the blockchain as a transaction and record it in the block data. For login purposes, authentication is performed, and after login, the user enters the value linked to the token in the authentication contract 3008AA (bank account balance mapping variable corresponding to the token and user identifier, remittance processing from the balance, points and voting on the member site value).
Therefore, here, 3008A in FIG. 3AC (which can also be implemented in 3008AG in FIG. 3AB) is an OTP generation contract in which an OTP generation token is recorded, and 3008AA in FIG. 3AB is deployed separately on the blockchain as an OTP authentication contract. (As shown in FIG. 9A, it is deployed to Bd1, Bd3, and Bd4 out of block data Bd0 to Bd7 of the blockchain. Terminal 1A accesses the deployed data to generate and authenticate OTP.)

シークエンスS212ではコントラクトがブロックチェーンに組み込まれた際に決定したコントラクト識別子(コントラクトアドレス)をブロックチェーン部から端末1Cの記録装置(10C)に取得しウェブサイトにログインするサーバ3CのウェブサイトのECMAScriptなどのウェブページを動作させるプログラムに記録させ設定する。同時にウェブページを動作させるプログラム(フロントエンド、サーバーサイド、データベース、そして必要に応じてブロックチェーン部など含む)を設定する。 In the sequence S212, the contract identifier (contract address) determined when the contract was incorporated into the blockchain is acquired from the blockchain unit to the recording device (10C) of the terminal 1C, and logged into the website ECMAScript, etc. of the website of the server 3C is recorded in a program that runs the web page and set. At the same time, set up the program that operates the web page (including 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のログインサービス、オンラインゲームなどのログインサービスに付属して発行される。 In sequence S213, an OTP token for generating OTP is issued. The administrator terminal 1C accesses the deployed OTP generation token and issues an OTP token with the token number TIDA for the user identifier A who made a contract or purchased the service. The issued OTP token is a contract shown in 3008A or 3008AG, and in Example 1 has the functions of the ERC721 standard. OTP tokens are purchased as login rights using payment methods in e-commerce, etc., or are used for services in the financial sector such as banks such as 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 settlement will be performed outside the blockchain. However, in Ethereum, OTP tokens are given using payment according to the payment of the crypto asset Ether on the mainnet (that is, the user inserts Ether into the contract like a coin like a vending machine, and OTP is given to the user sending a token) is also possible. However, depending on the service, it may be necessary for personnel outside the blockchain to confirm the existence of the contract and payment, confirm the existence of the user who grants the OTP token, confirm the identity, and perform KYC (Know Your Customer). Payment in currency is not mandatory. Especially in the financial field such as banks and securities, it is considered that personal identification is necessary, so the contract and issuance of OTP tokens of the present invention require personnel and devices to confirm users 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や生体認証でもよい。)
In sequence S214, login to the web page is performed. A user who has been granted an OTP token accesses the server 3C and the blockchain system DLS using the terminal 1A having the private key 101A (private key PRVA) recorded in the storage device 10A or the external recording device 16A. The server terminal 3C that has received the access from the terminal 1A distributes the website or web application data to the terminal 1A in response to the access from the terminal 1A.
In sequence S214, 3C distributes web page data requesting the input of a user name and password at the time of login to terminal 1A, and requests the first step of authentication.
Here, the wallet software may be included in the extended function of the web browser, and the web page data may include a program for determining whether the private key is installed in the wallet software. OTP authentication may be performed by performing OTP generation using a private key stored in the wallet software. Further, software for entering and recording a secret key, accessing a block chain, and displaying an OTP may be installed in 102A of the storage device 10A of the terminal 1A. Continue to the next sequence if the username and password match. (User name and password are used as one factor of authentication. Combining OTP authentication and existing user name/password authentication together constitutes two-factor or two-step authentication. In addition to user name/password authentication, PIN or biometric authentication is 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 sequence S215, the server terminal 3C receives access from the user terminal 1A for OTP authentication, distributes a web page for generating an OTP from the terminal 3C to the terminal 1A, and illegally accesses the user terminal 1A. Monitor access or not. In order to generate an OTP on a web page, it is required to enter a user identifier and token number, and input values such as the user identifier and token number of the user, the IP address and location information of the user terminal, and the sensor value of the input device of the terminal etc., and the login time, number of logins, and login status are recorded as shown in FIG. 6X. In normal use of the terminal 3C, if one individual accesses one private key from one terminal to the server terminal 3C at the same time, multiple different IPV values described in FIG. 6X should not be recorded. .
If the terminal 3C can collect information specific to the terminal such as the version of the web browser and values such as the IP address, the information should be stored in the storage device of the terminal 3C until the next login of the terminal 1A by the user UA. can also A change in the access environment may be detected by comparing the stored access information 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 sequences S216 and S217, according to a program such as ECMAScript of the web page distributed in S215, one of the nodes of the block chain using the user identifier A, the token number TIDA, and the private key 101A recorded in the user terminal 1A. Access the terminal 3A and execute the OTP generation function (3009A in FIG. 3AC) of the OTP generation contract 3008A or 3008AG deployed on the terminal 3A.
If the token number TIDA is associated with the user identifier A calculated from the secret key 101A and the owner of TIDA is the executor of the OTP generation function 3009A, the OTP is calculated and generated, and the OTP is sent to the terminal 1A as a 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.
6A or 6B, the variable OTPCT (3017A in FIG. 3AC) or OTPCTG (3017A in FIG. 3AC) or OTPCTG (Fig. 3AB 3017 AG) can change a variable on the blockchain contract, and the number of times the computation to generate the OTP is performed on the blockchain is recorded without tampering. In addition, the variable 3114C of the server terminal 3C detects the variable change of the variable 3017A or 3017AG, and sends a non-fungible token (unauthorized notification token) to the user identifier, which is different from the OTP token that notifies that there has been unauthorized use. It is also possible to notify unauthorized access to contacts such as e-mail addresses and cell phone numbers corresponding to user identifiers listed in the customer information database 3016C.
Whether the user terminal is the true user terminal of the OTP token or the user terminal illegally obtained the secret key, changes such as increase or decrease in the numerical values of 3017A and 3017AG occur when generating the OTP, and the server terminal 3C detects it. can be detected and notified to the user, and if 3017A and 3017AG are public variables, anyone who accesses the blockchain can examine their numerical changes. For users who make unauthorized access, the number of OTP generations is recorded on a block chain that is difficult to falsify at the stage of generating OTP for OTP authentication, so the authentication system of the present invention can be used without leaving evidence of unauthorized access. 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 secret key in the extension function of the web browser, etc., or cooperates with another website that manages the secret key, the secret key information is The user terminal 1A is caused to execute the OTP generation function 3009A and the authentication function 3018A. At this time, the terminal 1A requires information such as a web browser extension function loaded 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, IPV information such as the IP address of the terminal 1A, location information, and sensor information, and the login time, the number of logins, and the login status are stored in the terminal 3C. Data as shown in FIG. 6X is recorded in the access detection and monitoring database 3011C of the storage unit 30C.
Also, if the software that writes and records the secret key, accesses the blockchain and displays the OTP is installed in 102A of the storage device 10A of the terminal 1A, it is necessary to enter the secret key information with the login token number TIDA. (It is also necessary to fill in 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 of the OTP token, the user identifier, and the OTP. In addition to recording IPV information such as login time, login count, and login status, the terminal 3C distributes a web page for OTP authentication to the terminal 1A, and determines whether the access of the user terminal 1A is unauthorized access. to monitor. When authenticating the OTP on the web page, input values such as the user identifier and token number of the user, IPV values including the IP address and location information of the user terminal, sensor values of the terminal, etc., login time, number of logins, and login Record the status as shown in FIG. 6X.
In this case as well, 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生成関数が未利用であることを主張し不正利用を受けたことを主張できる。)
In sequences S220 and S221, according to the program such as ECMAScript of the web page delivered in S219, one of the nodes of the block chain using the user identifier A, the token number TIDA, and the private key 101A recorded in the user terminal 1A Access 3A and execute the OTP authentication function (3018A in FIG. 3AC) of the OTP generation contract 3008A or 3008AA deployed at 3A.
The OTP authentication function 3018A uses the user identifier A, token number TIDA, and OTP as arguments, uses the argument OTP as ArgOTP, and passes the KC value and BC value recorded in the authentication contract in the authentication function, the latest block number, and the argument. Data is created based on the user identifier A and the token number TIDA, which are the obtained values, and the data is hashed with a hash function fh to calculate VeriOTP. It is verified whether VeriOTP and ArgOTP match, and if they match, it is determined that the authentication was successful, and the process when the authentication was successful is performed, and the authentication result is returned to the terminal 1A as a return value CTAU (3021A in FIG. 3AB), and they match. If not, the processing for the case where the authentication failed is performed (the authentication function 3018A operates according to the flowchart explanatory diagram of FIG. 6C, FIG. 6D, FIG. 6E, FIG. 6F, FIG. 6G, or FIG. 6H).
When the OTP authentication function 3018A is executed as shown in FIG. 6C or 6D, increase or decrease the variable OTPCT (3017A in FIG. 3AC) or OTPCTA (3017AA in FIG. 3AB) that records the number of executions inside the processing of 3018A. and record the number of calculations to generate an OTP on the blockchain without falsification. In addition, the change in the variable 3017A or 3017AA is detected by 3114C of the server terminal 3C, and a non-fungible token (unauthorized notification token) different from the OTP token that notifies of unauthorized use is used as the user identifier. or to notify of unauthorized access to contacts such as e-mail addresses and cell phone numbers corresponding to the user identifiers listed in the customer information database 3016C.
As in the case of the OTP generation function, in the case of the OTP authentication function as well, regardless of the distinction between the genuine user terminal of the OTP token and the user terminal that illegally obtained the private key, the numerical value of 3017A or 3017AG is used when generating the OTP. When a change such as an increase or decrease occurs, the server terminal 3C can detect it and notify the user, and if 3017A and 3017AG are public variables, everyone who accesses the blockchain can check the numerical change. be able to. For unauthorized access users, the number of OTP generations is recorded on a block chain that is difficult to falsify when performing OTP authentication, so it is difficult to pass through the authentication system of the present invention without leaving evidence of unauthorized access. . (Also, if the OTP authentication count changes and the authentication function is executed even though the BnTOTP generation count does not change and BnTOTP is not generated and acquired, the service provider should take countermeasures because it is considered to be illegal use. and the user can also claim that the OTP generation function has not been used and that it has been illegally used.)

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

シークエンスS223では認証関数3018Aの認証結果CTAU(3021A)を端末1Aが取得する。 In 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 sequence S224, it is verified whether or not the CTAU acquired by the terminal 1A is the value when the authentication result is correct, and if correct, the website information after login is distributed and the service is provided.
The processing from sequence S215 to S224 can be performed by simply entering the token number (OTP generation and authentication using ECMAScript, etc.) in a web browser environment that has a token number and a secret key and is designed not to leak the user's secret key. The program can do it automatically, saving you from manually entering an OTP) to log you in. However, even if it is possible to log in automatically on the program, the OTP obtained by the terminal 1A is displayed on the display 150A of the terminal 1A in the sequence 218, and the OTP is manually input to determine whether a person actually exists as a user. A confirmation sequence may also be used.

シークエンスS225ではS215やS219と同じく端末3Cのログイン後のサービスにアクセスするユーザー端末1Aのユーザ識別子、トークン番号、IPアドレスや位置情報や端末のセンサ値などIPVを含むアクセス情報を不正アクセス検出制御部3112Cにて監視し、図6Xにある不正アクセスがあった場合にはそのユーザー識別子に不正アクセス通知トークンをブロックチェーン上で送付するか、あらかじめ登録された連絡先に電子メール等で不正利用の疑いがあることを連絡する。
シークエンスS226ではユーザのアクセスに応じてサービスを提供する。例えばネットバンキングでは口座残高の確認や口座の取引履歴(ウェブ通帳の表示)等の処理を行う。そして振り込みなどパスワード認証やOTP認証が必要な処理ではS214のパスワード入力やS215からS224までのOTP認証を行いサービスを提供する。シークエンスS227はシークエンス225と同じ処理である。
ユーザーがログアウトを実行したり、一定時間端末1Aから端末3Cへのアクセスが無い時は自動的にログアウトさせる。
In the sequence S225, as in S215 and S219, access information including IPV such as the user identifier of the user terminal 1A accessing the service after the login of the terminal 3C, the token number, IP address, location information, and terminal sensor value is detected by the unauthorized access detection control unit. 3112C monitors, and if there is unauthorized access as shown in Figure 6X, an unauthorized access notification token is sent to the user identifier on the blockchain, or a pre-registered contact is sent an e-mail, etc., to suspect unauthorized use. inform you that there is
In sequence S226, the service is provided according to the user's access. For example, in net banking, processing such as confirmation of account balance and account transaction history (display of web passbook) is performed. In a process such as a transfer that requires password authentication or OTP authentication, a password is entered in S214 and OTP authentication is performed from S215 to S224 to provide the service. Sequence S227 is the same processing as sequence S225.
When the user executes logout 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 values such as the IP address when the terminal 1A accesses. In the present invention, in services that need to handle important transactions in the financial field such as banking transactions, while protecting personal information, information on the terminal that the user normally accesses, IP address, and location information are obtained with the consent of the user. A database that collects (or obtains and collects hash values such as IP addresses and anonymized values) and adds contact information such as bank account numbers, names, telephone numbers, and e-mail addresses to the data table in FIG. 6X may be recorded in the 3C recording section. Then, when the access history of terminal 1A is once accessed from a different environment such as an IP address using the private key 101A of terminal 1A, the customer receives the private key 101 from an environment different from usual by telephone or e-mail. It may be notified that there was an access with the originating user identifier A.

図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 a display screen 1500A of a valuable paper sheet, a valuable paper sheet 18A such as a paper ticket, and an NFC tag 19A in the one-time password authentication system (OTP authentication system) of the present invention.・It is a diagram of a basic authentication system for unlocking equipment/containers. FIG. 8B is a material for explaining Example 2 (Embodiment 2).
The basic operations of Example 1 and Example 2 (Embodiment 2) are similar. When performing admission processing with 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) 3D is intended for entrance processing at entrances and ticket gates, but in addition to using 3D terminals for ticket gates at entrances, it is also possible to unlock locked buildings, vehicles, equipment, and containers. It can also be applied to applications where
In Example 2, the contract manager does not use block chain time information such as block number Bn, and has room to change the value of the variable KC (3011A in FIG. 3AC) or BC (3013A in FIG. 3AC) at any time. Use the 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 the block number Bn that changes with time. However, OWP may change when the contract manager changes BC or KC using the setter function fscb at a certain time.

図8Bにおいてユーザ端末1A(図2Aの1A)とサーバ端末3A(図3Aの3A)とコントラクト管理者端末1C(図2Cの1C)と入場口・改札又は施錠された建物・乗物・設備・容器に備え付けられた施錠の制御と本発明のOTP認証システムによる認証を行うことの出来る端末3D(図3Dの端末3D)とチケットなど有価紙葉をOTPトークンとしてを発券するサーバ端末3Eがネットワーク20を通じて接続されている。 In FIG. 8B, a user terminal 1A (1A in FIG. 2A), a server terminal 3A (3A in FIG. 3A), a contract manager terminal 1C (1C in FIG. 2C), an entrance/ticket gate or a 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 issuing valuable paper sheets such as tickets as OTP tokens through the 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を含む認証情報をもちいて認証を行い、入場口や改札での入場処理や建物・乗物および設備や装置・電子計算機端末・保管庫・金庫など容器の施錠の解錠も可能である。
Terminal 3D may or may not be connected to a network. Here, authentication functions 3018A and 3018DA capable of authenticating the OWP type OTP generated by the OTP generation contract of the terminal 3A may be recorded in the block chain recording unit 300D or 3010A of the storage device 30D of the terminal 3D. Variable information required for OTP calculation, such as KC values 3011A and BC values 3013A, 3030A, and 3031A used for the authentication functions 3018A and 3018DA, may be recorded in the terminal 3D.
Although the terminal 3D is not connected to the network 20, the authentication function capable of authenticating the OTP (OWP type OTP, OWP) generated by the contract 3008A or 3008AG regarding the OTP generation token of the server terminal 3A is stored in the 3D storage unit 300D. In preparation for 3010D, authentication is performed using a valuable paper sheet such as a paper ticket or an NFC tag that records authentication information such as OWP even in an offline state that is not connected to 3A having a blockchain part through the network 20, It may be possible to unlock entrances, ticket gates, and locked buildings, vehicles, facilities, and containers.
In particular, vehicles, buildings, and containers such as safes are not always online and can be connected to the internetwork. It may be required to be able to authenticate even in a disconnected state.
Therefore, in the present invention, OTP token issuance/distribution/generation of OWP type OTP is performed online by terminal 1A, terminal 3A, terminal 3E, and terminal 1C via network 20 and issuing tokens at the block chain unit. The OWP type is generated between 3A, and the generated OWP and the token number and user identifier used for OWP generation are printed on paper by the printer 152A of the terminal 1A to produce a 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 and 1500A for authentication.
In addition, the communication device 12A and the NFC tag 19A (19A in FIG. 2A or FIG. 8B) are made to communicate with each other, and the NFC tag 19A records the OWP and the token number and user identifier used for generating the OWP, and the NFC tag 19A is electronically entered. A ticket or a key for unlocking is communicated with the terminal 3D for authentication and entry or unlocking.
Here, the tag 19A is mainly assumed to be a contactless NFC tag, but it may be a contact IC tag or IC card, an external recording terminal 19A equipped with a communication terminal, or a magnetic stripe 19A. Contact-based or contact-based communication can be made with the terminal 3D.
Note that when the terminal 3D is connected to a network, not only the authentication function 3018DA recorded in the 3D, but also the authentication function 3018A of the block chain part existing in the terminal 3A is accessed and recorded in a paper ticket or NFC tag. Authentication is performed using authentication information including OWP, and entrance processing at entrance gates and ticket gates, and locking/unlocking of containers such as buildings, vehicles, equipment, computer terminals, safes, and safes are also possible.

<紙のチケット等有価紙葉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 Leaf 18A such as Paper Ticket or NFC Tag 19A>
The camera 340D of the terminal 3D in the offline state reads the OWP on the printed surface of the valuable paper sheet 18A and the token number and user identifier information used for OWP generation, or the 3D NFC communication device 341D reads the inside of the NFC tag 19A. Read the OWP recorded in , and the token number and user identifier information used to generate the OWP, 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) VeriOTP is equal to ArgOTP according to the OWP OTP of the paper or NFC tag, and if they match, the opening/closing/gate/locking/starting device 350A is operated to enter and lock if it is an entrance or a ticket gate. If it is a device, it is unlocked, and if it is a starting device, it is started. At the same time, operations corresponding to the case where 351D and 352D can be authenticated and the case where they cannot be authenticated may be performed.
Authentication may be performed by presenting and reading an authentication information display screen 1500A such as OWP on the display 150A of the terminal 1A to the camera 340D of the terminal 3D instead of the paper information 18A.

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

<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と同じくコンピュータの五大装置として制御演算装置と記憶装置と入力装置・出力装置を備えるカードもしくはタグ型の小型電子計算機端末であり、電源装置や通信装置も備える。電源装置はワイヤレス給電システムや一次電池、二次電池、電池を利用する回路、電池を充電するシステムを含みうる。
<Manufacture of NFC tag 19A>
When using the NFC tag 19A, it is sufficient if the communication devices 12A and 19A of the terminal 1A can communicate with each other. An NFC tag or an NFC card may be used. 19A may be a device having a shape or form having functions equivalent to those of the NFC tag. Products equipped with the NFC tag 19A function, such as eyeglasses, head-mounted displays or hearing aids, earphones, headphones, clothes or bracelets, wristwatches, wristwatch-type terminals or rings or belts, belt-type terminals, shoes, shoe parts, or shoe-shaped terminals It may be the NFC tag 19A incorporated in the device or a wearable computer terminal with the function of the NFC tag 19A.
Further, the NFC tag may be incorporated in known products such as mobile phone type terminals such as smart phones, wallets, key holders, etc., which have been used for payment of money and management of metal keys. The NFC tag 19A may be embedded in the product or attached to the product.
Also, the terminal 1A may have the NFC function and the terminal 1A itself may be a portable NFC tag 19A. In that case, the communication device 12A (including the electronic circuit of the terminal) of the terminal 1A connects the NFC tag portion 19A with the control device 11A and the storage device 10A in a wired manner.
The tag 19A may be equipped with contacts and terminals for wired communication. A contact or terminal provided in 19A may be used to read the authentication information into the terminal 3D to operate a locking device or an opening/closing device for entry controlled by the 3D.
IC-based terminals 19A and 16A are similar to the terminal 1A in that they are card or tag type compact electronic computer terminals equipped with a control operation unit, a storage unit, an input unit and an output unit as the five major computer units, and are also equipped with a power supply unit and a communication unit. The power supply device can include a wireless power supply system, a primary battery, a secondary battery, a circuit using 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 flow chart of the OTP generation function in the second embodiment is shown in FIGS. 6A and 6B, and the OTP authentication flow chart 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 information transmitted from the storage device of the NFC tag, the authentication function 3018A (or 3018DA) According to the input argument information, the verification OTP is obtained from the internal secret variables KC and BC of the contract 3008AA to which the authentication function 3018A belongs, and the user identifier A, token number TIDA, and OWP (as OWP=ArgOTP) input as arguments. Calculate VeriOTP = fh (A, TIDA, KC, BC), determine whether VeriOTP matches ArgOTP (that is, whether VeriOTP = ArgOTP or VeriOTP = OWP), and authenticate if they match performs correct processing, and if they do not match, performs processing for when authentication cannot be performed. The authentication function can also use the authentication function 3018DA recorded in the terminal 3D.

図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 the sequence when authenticating the terminal 3D using the device and the OTP authentication system shown in FIG. 8B. FIG. 7E assumes the use of tickets and memberships, automobile keys, or container keys as examples. It is assumed that tickets and membership rights have expiration dates and expiration dates, and in the field of automobile keys, it is assumed that objects that are locked periodically during vehicle inspections are connected to an internetwork or the like and can be maintained.
FIG. 7E is similar to FIG. 7B.
FIG. 7B is a sequence diagram of a general issuance of an OTP token using a password OWP. Transmit and deploy a transaction including the bytecode of the OTP token contract (generation contract, OTP generation contract) containing the OTP generation function with the KC value of k1 and the BC value of c1 to the terminal 3A so that OWP authentication can be performed. After preparation, a token with a 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 functions 3018DA, 3019AA, and 3018A must be set to the terminals 3D and 3C that provide the service, with the KC value set to k1 and the BC value set to c1. At this point, the user of the terminal 1A can generate and obtain a password OWP of OWP=fh(A, TIDA, k1, c1) and use it for authentication.
After a certain period of time has passed 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 of c2 in S145. can be done.
The user of the terminal 1A uses the OWP generation software or a dedicated website using the software that accesses the blockchain, and in a series of steps from S137 to S139, the OWP type OTP token contract of the blockchain part of the terminal 3A OTP Call the create function to get the OWP type OTP. The OWP at that time is calculated by OWP=fh(A, TIDA, k2, c2).
When terminal 3C or terminal 3D is connected to terminal 3A via network 20, call OTP authentication function 3018A in steps S141 to S143, or call 3D OTP authentication function 3018DA instead of 3A in steps similar to steps S141 to S143. to obtain the return value CTAU of the authentication result, and when the return value CTAU of the authentication is the value (data) when the authentication is successful, in S144, according to the internal program for providing the service of the terminal 3D, the switch or lock device or start The device 350D is operated to open a gate device or a ticket examination device in the case of an opening/closing device, to unlock a lock in the case of a locking device, and to start a prime mover or a computer in the case of a starting device.
In the OWP generation software or dedicated website, in order to monitor unauthorized use of the user's private key, the process of S136 and S140 detects the presence or absence of unauthorized access as shown in the data structure shown in FIG. 6X and notifies the user. Good, when it is necessary to protect personal information in devices such as doors, vehicles, containers, etc. that are locked using the NFC tag 19A using OWP, or a server 3C that collects personal information (and a 3D that can be connected to the network) ), 3E, 3F, or 5A, if there is a risk of endangering the equipment of the terminal 3D purchased by the customer or its owner, use the function of collecting access information from the user such as S136 or S140. No need.
In S146, similar to S145, after an arbitrary period of time elapses as in S144, the terminal 1C updates the OTP generation side 3A and OTP authentication, and the service side 3D and 3C to update and match the KC value and the BC value, and the OTP calculation is completed. can be set to allow The KC value can be rewritten to k3 and the BC value to c3, and after that, the KC value and BC value can be rewritten at arbitrary time intervals. In the case where the NFC tag 19A is used as a vehicle key as a form of use, even if there is a forged NFC tag 19 that rewrites the OWP that is the key of the vehicle for each vehicle inspection, it can be regarded as a thing of the past (invalid). . In addition, it is possible to forcibly prevent a use ticket 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 in Example 2 was calculated as OWP=fh(A, TIDA, KC, BC), and the NFC tag 19A on which three of A, TIDA, and OWP were recorded (and three of A, TIDA, and OWP were printed. Valuable paper sheets 18A) can be authenticated as long as the KC value and BC value are not changed. It is also possible to operate a service that does not change the KC and BC values after setting the same KC and BC values for the generation functions of the contracts 3008A and 3008AG and the 3D 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 and BC value are not changed for a long time (in this case, several years, several decades), the three pieces of information A, TIDA, and OWP in the NFC tag will be leaked and the OWP information will be duplicated to unlock the vehicle illegally. There is a risk of locking and starting the vehicle. Therefore, there may be times when it is desired to periodically update the OWP as a car key every few months or every few years. In that case, the administrator of the OTP token contract that generates the OWP rewrites the OTP token secret variable by rewriting the KC value and BC value with the setter function fscb every few months and years, and OWP is generated at arbitrary time intervals. can be changed. The updated 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 for a paper ticket, and the paper ticket printed before the OWP is updated becomes invalid. By updating the KC value BC value, it is possible to invalidate the data value of paper tickets and NFC manufactured in the past. It is up to the service provider to decide how to deal with invalid paper tickets and the like. A service provider who knows the history of changes in the KC and BC values may be able to verify whether a paper ticket ever existed and act against those with that 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 time of printing, the name and contact information of the service provider, and the contract identifier of the OTP token in the form of 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 automobile inspections (vehicle inspections), the terminal 3D built into the automobile that controls the locking and starting of the automobile should be connected to the Internet to synchronize the seed value of the authentication function. Also, it is necessary to record OWP, TIDA, and A corresponding to the authentication function 3018DA provided in the terminal 3D in the NFC tag 19A again. The administrator of the OTP token for automobiles aims at holidays such as the end of the year when automobile inspections are not conducted, and by sending a transaction that changes KC and BC to the blockchain system including terminal 3A, the NFC tags of all automobiles belonging to the contract The OWP information can be changed, and after the end of the year-end holiday, the car is inspected based on the KC and BC values of the new year, and the latest OWP is used for the terminal 3D inside the car and the customer's NFC tag key. Can update.

自動車の鍵でなく建物や容器に搭載された端末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 a terminal 3D installed in a building or container instead of a car key, it is not equipped with a communication terminal or wireless communication device, so there is a possibility that KC and BC cannot be updated, so when 3D does not have communication means The contract manager does not change the KC value BC value. However, if the terminal 3D installed in the building or container has a communication device and can update the KC value and the BC value, the contract manager can change the KC value and the BC value.
In order to update the KC value and BC value of the terminal 3D, the owner of the 3D performs the update work, or the manufacturer of the 3D performs the update work, which requires human intervention. A wire is attached to the part that can be seen when the lock is unlocked (the lever or switch that unlocks the lock located on the back side of the locked door, the surface where the locking terminal 3D or the locking device is installed in the case of a safe, or the surface inside the cabinet) It is preferable that the KC value and the BC value can be updated through an update program by providing a communication terminal of the formula.
3D can be accessed wirelessly, but in that case access rights to the terminal 3D are required. It is conceivable to access using some kind of password or secret key installed in the terminal 1A with the user identifier A holding the OTP token.
As for the shape and form of the locking device including the terminal 3A, a padlock type terminal 3D, a wire lock type or a belt type terminal 3D can be considered in addition to the locking device of a safe. For locking a bicycle, a wire lock type or a terminal 3D that serves as a key exclusively for a bicycle can be considered.

入場口や改札などサービスを行う施設に設置された端末3Dの場合はインターネットワークまたはローカルエリアネットワークLANへの接続が容易である。有線または無線を用い入場口や改札でチケットの認証に用いる端末3Dの認証関数3018DAに用いるKC値BC値を遠隔地の端末1Cから更新できる。また3Dをネットワーク20を通じてブロックチェーンのノードとなる端末3Aに接続し3Aのブロックチェーン部に記録された認証関数3018Aを用いて認証してもよい。 Terminals 3D installed at service facilities such as entrance gates and ticket gates can easily be connected to an internetwork or a local area network LAN. The KC value BC value used in the authentication function 3018DA of the terminal 3D used for ticket authentication at the entrance or ticket gate can be updated from the remote terminal 1C using a wired or wireless connection. Alternatively, 3D may be connected to terminal 3A, which is a block chain node, through network 20 and authenticated using authentication function 3018A recorded in the block chain section of 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 explains an explanatory diagram of the sequence when authenticating the terminal 3D using the device and the OTP authentication system shown in FIG. 8B. FIG. 7E explaining the second embodiment and FIG. 7D explaining the first embodiment have similarities. Sequences S230 and S231 are the same as in the first embodiment. In S230, instead of using block number Bn such as fh (A, TIDA, KC, BC) when calculating OTP, variable KC and variable BC that can be changed by the contract manager can be rewritten. In the second embodiment, the password OWP adopting secret variables BC and KC that can be changed by the contract manager is calculated as OWP=fh(A, TIDA, KC, BC). where 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 value sheets such as tickets. When 3D is used without being connected to the network 20, an authentication contract 3008AA including authentication functions 3018A and 3018A is stored in the block chain portion 300D and the basic program portion 3010D of the recording portion 30D of the 3D, and the authentication function is executed by the control portion 31D. 3018A can be executed.

端末1Aと端末3Eがあるサービスに対応したトークンの発行を契約した事を確認し、端末3Eが管理者端末1Cにトークンの発行を依頼する。シークエンスS233では1Cは1Aのユーザー識別子Aに対しトークン番号TIDAのトークンを発行する。 After confirming that the terminals 1A and 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 token number TIDA to 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の記録装置に記録させることができる。
<Production of valuable paper sheets>
In a series of sequences from S234 to S240, the ticket issuing software recorded in the ticket issuing 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 accesses the OTP generation contract 3008A of the blockchain system, and in S230 the process of generating OWP=fh (A, TIDA, KC, BC) set in 3008A as an OTP is started.
Then, OWP is OWP and other authentication information for printing along with necessary information according to the service, such as ticket pattern information recorded in 3E or ticketing software, contact information and address of service provider, expiration date of valuable paper such as ticket 1A is displayed on the display screen 1500A, and if necessary, the screen information of 1500A is printed using the printer 152A of the terminal 1A to produce a valuable sheet 18A in which OWP, A and TIDA are entered.
Also, an NFC tag 19A with OWP, A and TIDA written is manufactured. For the NFC tag 19A, similarly to the valuable paper sheet 18A, necessary information according to the service such as OWP, A, TIDA, service provider's contact information and address, expiration date of valuable paper sheet such as ticket, etc. is stored in the recording device 19A. can be recorded.

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

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

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

シークエンス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 presented paper or the printed surface of the display is read, or the data of the NFC tag ticket is read,
If the terminal 3D is not connected to the network 20 (offline), the authentication function 3018DA recorded in 300D or 3010D inside the terminal device 3D of the service section performs OWP verification and authentication processing in S242. to obtain the return value CTAU of the authentication result.
If the terminal 3D is connected to the network 20 (online), the OWP is authenticated by accessing the authentication function 3018A on the DLS in S243, and the authentication result return value CTAU is obtained from the authentication function. In S243, it is possible to set processing to increase/decrease the number of times of authentication and to mark the ticket as used at the time of authentication.
Here, examples of when the terminal 3D is offline are small safes, padlock-type locking devices, and locking parts of vehicles and buildings such as automobiles, agricultural machinery, forestry machinery, ships, and heavy machinery that are assumed to be in environments where wireless communication is difficult. is assumed. The terminal 3D, which is assumed to be used offline, is equipped with a communication terminal, a wireless communication device, and an NFC device that can change the variables KC and BC used in the authentication function 3018DA recorded in the 3D 300D and 3010D for maintenance and inspection. preferably.
Examples of when the terminal 3D is on-line include ticket gates at stations and entrances to commercial facilities such as movie theaters. However, since there is a risk that the network will be cut off in the event of a disaster, it is preferable to enable authentication even when online or offline. While replicating and synchronizing the block chain part of 3A, it is preferable that the block chain part 300D can be built in the terminal 3D even if it is cut off from the internetwork.

シークエンスS244では端末3Dは認証関数から認証結果の戻り値CTAUが正しいか判断し、正しい場合には認証ができたと判断し、入場処理や施錠を解錠するため350Dを操作する。認証結果の戻り値CTAUが正しく無い場合には再度認証を行うまで待機する。S244にて350Dを操作すると同時に351Dと352Dを認証できた場合と認証できない場合に対応した動作を行わせてもよい。
またS244において入場口や駅の改札の端末3Dなどの時に開閉装置350Dが無く人員によって入場者の制止などを行う場合は350Dを備えていなくてもよく、350Dの代わりに人員が音や光で入場させるユーザーを区別する際に役立つよう351Dと352Dを認証できた場合と認証できない場合に対応した動作を行わせてもよい。
In sequence S244, the terminal 3D determines whether or not the return value CTAU of the authentication result is correct from the authentication function. If the return value CTAU of the authentication result is not correct, it waits until authentication is performed again. At S244, when the 350D is operated, at the same time, an operation corresponding to the case where the 351D and 352D can be authenticated and the case where the authentication cannot be performed may be performed.
In addition, in S244, when there is no opening/closing device 350D in the case of the terminal 3D at the entrance or the ticket gate of the station, and the entrance is restricted by personnel, the 350D may not be provided, and the personnel may use sound or light instead of the 350D. In order to help distinguish users who are allowed to enter, an operation corresponding to the case where 351D and 352D have been authenticated and the case where they have not been authenticated 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 manager 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 furthermore authenticates the authentication functions recorded in the storage device 300D and 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. A terminal 3D that is not connected to a network requires a terminal, a wireless communication device, or an NFC device that enables communication between the terminal 3D and a user terminal. If the terminal 3D is a safe or an automobile, the owner or a person who maintains or maintains the terminal 3D needs to change the secret variable KC value and BC value.

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

シークエンス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 serving as a ROM of the terminal 3D. The authentication function of Terminal 3D performs authentication by reading A, TIDA, and OWP from the NFC tag. A token number corresponding to (the individual identification number of the product) can be incorporated into the terminal 3D when the product is manufactured.

<自動車の鍵>
例として仮に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 an OTP token and an OWP type password generated by the token are recorded in an NFC tag for a car key, 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. A terminal 3D that records the corresponding token number can be installed in the terminal 3D of the locking device of the automobile, the starting control device terminal 3D or the main computer terminal 3D of the automobile corresponding to the serial number.
Owning a car is recorded on DLS, and if the car is transferred to another person (another user identifier B), the argument for generating OWP is changed from A to B, and it has user identifier B. The user can generate an OWP different from that of the user with the user identifier A, load it on the NFC tag, and use it. Here, user A has an NFC tag with pre-update A, TIDA, and OWP, and there are two users, A and B, who can unlock the car. Therefore, in sequence S245, the KC and BC of the block chain system including 3A and the terminal 3D of the car are periodically changed and updated.
Also, the terminal 3D may record the user identifiers A and B. FIG. When transferred from User Identifier A to the user with User Identifier B, the user with User Identifier B may write User Identifier B to terminal 3D via a communication terminal accessible from inside the door of an unlocked vehicle. In the above example, if the user identifier B is internally written to the terminal 3D and fixed as an argument of the OTP authentication function 3018DA, the terminal 3D can authenticate only the OWP derived from the user identifier B when unlocking. (This operation is similar to a name change.)
When the terminal 3D of the automobile can be connected to the internetwork, updating and synchronization of KC and BC between the terminal 3D and the server terminal 3A are easy. Renewal of KC and BC can be handled under the secondhand dealer who handles the transfer and sale of the secondhand goods. It is also possible to update the authentication function of the car terminal 3D and the NFC tag 19A that drives it at the stage of regular car inspections. In addition, terminal 3D installed in agricultural machinery, heavy machinery, ships, etc. can update the status of NFC tag and terminal 3D by rewriting KC and BC at the time of maintenance inspection or transfer according to user's request. Industrial equipment and devices such as machine tools can also be locked.
Record the token number in the form of a ROM that can be written only once (in the form of a ROM that cannot be rewritten by an attacker once the token number is written by the product manufacturer such as a car) and record it in the recording device of the terminal 3D and correspond to the product serial number. It may be useful to record owner history information, distribution information, and maintenance history of products such as automobiles. It can be used to investigate the distribution status of not only automobiles but also 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 to doors of buildings, keys to containers such as safes>
For building keys and keys for containers such as safes, a token number is assigned to each safe and door product with a locking function at the time of manufacturing, just like when manufacturing a car, and a unique token number is assigned to the terminal 3D built into the product. It is possible to record in the ROM of the 3D storage device 30D and distribute products including the terminal 3D to users. On the other hand, assigning a token number corresponding to the manufacturing number of the product to the 30D ROM may require time and labor costs in the manufacturing process of the product. (As an example, individually assigning a token number to a small lock terminal 3D that is mass-produced may lead to an increase in the manufacturing cost of the small lock.)
Therefore, when the token number is recorded in the 30D, 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 user manually enters the token number used for NFC tag authentication. A recording method is conceivable. As an example, a user purchases a safe equipped with a terminal 3D, requests issuance of a token, and is issued a token with the token number TIDA. The purchased safe is not locked, and the storage device 30D is accessed from the user terminal 1A or the like using a terminal for connection to the terminal 3D installed behind the door of the safe or a communication unit such as NFC, and the token of the safe is obtained. A number is set to the token number TIDA held by the user identifier A. Then, OWP is generated from server 3A using private key 101A possessed by terminal 1A, OWP and user identifier A (and token number TIDA) are recorded in NFC tag 19, and NFC tag 19 with the authentication information is recorded. Then, the terminal 3D performs OTP authentication by OWP, and unlocks (locks or unlocks) the safe when the authentication results match.
The user identifier may be recorded in the terminal 3D installed in a safe or the like as in the case of a car. (The device may be labeled with the user's name 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 its power supply. 19A may include one or more push-button switches (or touch sensors) as input devices. In the application of automobile keys, two 19A push buttons for unlocking the doors of the automobile from a remote location by wireless communication such as NFC, and a lock button for relocking the unlocked doors. In addition, a primary battery or a secondary battery is required as a power source for operating a computer including a storage device, a control operation device, an input/output device, and wireless communication in which the OWP of 19A is recorded.
Here, when the input device of 19A is an IC card or tag with an NFC function, the input device may be only a wireless communication device as an NFC tag.
Also, although the input device has been described as a push-button type or a touch sensor as a specific example, the type is not specified in particular. (This is because various forms of input can be considered according to the type of sensor, such as voice input by a sound sensor, for example). 19A is equipped with a wireless input device including an NFC function and other sensor-based input devices.
Furthermore, 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 in operation). . 19A may comprise 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)を説明する資料である。
<Usage for decrypting encrypted data>
8C and 8D are connection diagrams of devices when decrypting and viewing encrypted data in the one-time password authentication system (OTP authentication system) of the present invention. In FIG. 8C, terminal 4A, terminal 1C, terminal 3A, terminal 5A, and terminal 5B are connected via network 20 so as to enable two-way communication. FIG. 8D is a connection diagram of devices when terminal 4A (and a plurality of terminals equivalent to 4A) receives encrypted data broadcast from broadcasting station terminal 5C and decrypts the received encrypted data.
The information 403A of the software CRHN is recorded in the recording unit of the terminal 4A, and the encrypted data EncData (4034A in FIG. 4B) obtained by executing the program of 403A and operating the software CRHN is the key obtained from the authentication system of the present invention. Create key information TTKY4033A used for decryption using information CTAU4031A and external key information AKTB4032A, decrypt 4034A using 4033A, obtain decrypted data DecData (4035A in FIG. 4B), and view or listen to 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 Example 3 (Embodiment 3) is similar to Example 1. FIG. In the first embodiment, it is used for logging in to the website and accessing the service, but in the third embodiment, the login target decrypts the encrypted data and accesses it. In the third embodiment, BnTOTP using block chain time information such as block number Bn is used. 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 changed and updated by the contract manager through the function fscb.

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

<暗号化されたデータの作成>
まずソフトウェアCRHN403Aを用いて暗号化されたファイルを作成する手順から述べる。
図7CBのシークエンスS180で平文データ(コンテンツデータ、コンテンツファイル)を用意する。S181では平文データに添付する電子証明書DecCertなど(電子証明書とコンテンツデータをある秘密鍵で電子署名した情報を含む)を取得する。これは必須ではないが、暗号化データを復号した際に平文ファイルの作成者が誰かを知り、電子証明書の発行者がソフトウェアCRHNに広告などを掲載するサーバーに登録された発行者であると分かっていれば悪意のあるプログラムではないと判断し、そのデータを実行できる。
通常、ソフトウェアCRHNが電子書籍や音楽動画の再生ソフトウェアとして利用されるのみの場合、音楽・動画・書籍ファイルであればファイル名に拡張子がついておりその拡張子に従ってファイルを処理しドキュメントファイルの表示や音楽映像ファイルの再生ができるので、悪意のあるファイルを実行する可能性は低いかもしれない。しかしファイル名に拡張子が無くあらゆるデータを実行できるようソフトウェアCRHNをプログラムする場合には悪意のあるプログラムデータに対する対抗手段が必要となり、その手段の一つとして平文のファイルや暗号化された後のファイルに登録された電子証明書と電子署名を付与することが望ましい。
<Create Encrypted Data>
First, the procedure for creating an encrypted file using software CRHN403A will be described.
Plaintext data (content data, content file) is prepared in sequence S180 in FIG. 7CB. In S181, an electronic certificate DecCert or the like attached to the plaintext data (including information obtained by electronically signing the electronic certificate and content data with a certain private key) is acquired. Although this is not essential, when the encrypted data is decrypted, the creator of the plaintext file is known, and the issuer of the electronic certificate is registered on the server that posts advertisements etc. on the software CRHN. If it is known, it can be determined that it is not a malicious program and the data can be executed.
Usually, when the software CRHN is used only as a playback software for e-books and music videos, if it is a music, video, or 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 the possibility of executing a malicious file may be low. However, when programming the software CRHN so that all data can be executed without an extension in the file name, countermeasures against malicious program data are required. It is desirable to add an 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 also assumed that the plaintext data is a magazine, a newspaper, a weekly magazine, or the like. Advertisement distribution for linking and connecting to the advertisement distribution server terminal 5A (CRHNcm) having a site for distributing advertisement data and advertisements in a plain text file, just like paper newspapers and magazines have advertisements printed on paper. You can embed the URI of the site.
Whether or not to use the function of embedding the URI to the advertisement distribution site of the terminal 5A in the plaintext data depends on the judgment of the right holder of the plaintext data. It may be desirable to install it because it is possible to expect the display of advertisements and the return of advertising income to the right holders of plaintext data due to the display of advertisements derived from plaintext data. The above function is a monetization function in which the right holder of the content decrypts the encrypted data of the right holder by using the software 403A on the user terminal and obtains advertising revenue every time the content is viewed.
It is also possible to set a different URI of an advertisement distribution site for each token number (such as setting a value derived from a user identifier or token number to a basic URI and setting advertisement data corresponding to that URI).
Advertisements to be distributed from the URI set here must be distributed according to the plaintext data and the rating information described in the corresponding OTP token. The URI described in the plaintext data included in the encrypted file that has been once encrypted and distributed worldwide 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 CRHN 403A, and the advertisement can be displayed when the software CRHN 403A is executed on the terminal 4A. 403A can check whether or not there is unauthorized access at the same time as the advertisement is displayed. In addition to the advertisement, it is possible to guide the update of the software information of the software CRHN403A. However, a 403A designed for personal or corporate business use 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, the OTP token contract is programmed to encrypt and decrypt the plaintext data created in S181 and embedded with the URI for registration and advertisement. The steps are similar to those 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, the rating, etc. is recorded in the variable 3024A serving as a signboard. In addition, variables such as the return value of the OTP authentication function, data CTAU (3021A in FIGS. 3AA, AB, and AC), or database 3023A of information operated by processing contents 3022A and 3022A during OTP processing are set as necessary.
Here, the variable required when implementing Example 3 is the return value CTAU of the authentication function, and CTAU returns the information CTAU recorded on the blockchain when authenticated to the accessor whose authentication result is correct. In that case, information other than CTAU (information when authentication cannot be performed) is returned. In the third embodiment, since the common key TTKY of common key encryption for decrypting encrypted data is calculated based on CTAU, the creator and manager of the contract need to set CTAU.
3021A's CTAU information may have a setter function that is accessed by a user identifier authorized to change the CTAU to change the CTAU. It is also possible to set a different CTAU (CTAU[TIDA] when expressed as a mapping variable) to the token number. However, even in that case, CTAU[TIDA] must be set for each user. Additionally, content needs to be encrypted and distributed per user's CTAU[TIDA] (and more transactions on the blockchain).
CTAU of 3021A is a value in terminal 3A, and is recorded as 4031A in terminal 4A after OTP authentication. 3021A and 4031A are the same value.

実施例3では簡易にブロックチェーン上から入手できる鍵として単一のCTAUをコントラクトに記録させ、認証関数の戻り値とした。本発明では好ましくはCTAUデータ3021Aの情報が秘匿できるブロックチェーンの基盤(または分散型台帳システムDLSの基盤)を用いることが好ましい。コントラクトのデプロイ時のトランザクションやKC値BC値といったシークレット変数、シード値とともにCTAUデータ3021Aも秘匿化されるか許可を受けたアクセスやまたは限定されたアクセス者のみ閲覧できるようにすることが好ましい。 In Example 3, a single CTAU is 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 platform (or a distributed ledger system DLS platform) that can conceal the information of the CTAU data 3021A. It is preferable that the CTAU data 3021A along with the transaction at the time of deploying the contract, the secret variables such as the KC value BC value, and the seed value be made anonymous or viewable only by authorized access or limited access.

本発明の実施例3を行う中で、コントラクトやトランザクション内容が世界中に公開されたイーサリアムを用いたため、CTAU(3021A)はブロックチェーン上に公開せざるを得ない。そのため3021A以外の鍵を用いて暗号化する事が必要となった。そしてブロックチェーンとは異なる経路で得られる鍵AKTB(図4Bの4032A)とコントラクトのCTAU(3021A)を用いてデータを暗号化する共通鍵TTKYとすることで暗号化を行った。 In carrying out the third embodiment of the present invention, since Ethereum, whose contract and transaction details are open to the world, was used, CTAU (3021A) cannot but be open to the public on the blockchain. Therefore, it became 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 the blockchain and a common key TTKY for encrypting data using CTAU (3021A) of the contract.

さらにソフトウェア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, obfuscated or encrypted source code inside software CRHN (403A) - add private key CRKY (40302A in FIG. 4B) inside, CTAU (3021A or 4031A), AKTB (4032A) and CRKY (40302) A key TTKY (4033A) for encrypting and decrypting a plaintext file, which is used for common key encryption, is generated.
In addition, in fact, in addition to this, multiple 4032A are used to prevent TTKY from being deciphered, and a dedicated smart contract (contract identifier APKY, 40301 in FIG. 4B) to acquire the key information CAPKY (40303A in FIG. 4B), and generate TTKY (4033A) using four variables of CAPKY including CTAU, AKTB, and CRKY. In Example 3, three variables, CTAU, AKTB, and CRKY, were used to calculate TTKY (4033A) used for common key encryption. It should be noted that 4033A is calculated by hashing or cutting a part of the variable values, instead of combining the three variables as they are to form a common key. A program including calculation methods and processing methods 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). When used for distributing the content, at least the shared key 4033A of the shared key encryption derived from the CTAU (3021) including the OTP authentication result when executing the authentication function 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, 4032A sends a password value corresponding to the token number as AKTB to a person who has purchased a certain book or audiovisual data as an OTP token by means of e-mail, postal mail, or the like, and sends the AKTB by e-mail. Common key encryption (or symmetric key encryption) of plaintext with TTKY (4033A) calculated from common CTAU in the contract, and the encrypted data is cloud storage, e-mail, magnetic tape, magnetic disk, optical disk・For encrypted data distributed by semiconductor memory, etc., and distributed by users who purchased OTP tokens using 4033A,
The user uses software CRHN 403A stored in the storage device 40A of the terminal 4A,
OTP token assigned user private key 401A;
the contract identifier of the OTP token and the OTP token number TIDA;
CTAU (3021A or 4031A) obtained by OTP authentication using 401A and token number TIDA at 403A and key AKTB (4032A) notified by e-mail or the like
can be used to decrypt encrypted data.

管理者端末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 to decrypt the encrypted data so that it can be used as the return value of the contract authentication function, sets the KC value and BC value used for OTP calculation, and sends the OTP. Programmed to calculate 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 at S183, the contract created at S182 is accessed to the server terminal 3A, which is a node of the blockchain system DLS, and deployed to DLS.

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

また、端末5Bは電子商取引に必要な顧客の氏名、生年月日等、電子メールアドレス、ログインパスワード、住所情報、電話番号等、ブロックチェーンへのアクセスに用いるユーザ識別子A、保有している(または購入履歴のある)OTPトークンのコントラクト識別子とそれに応じた保有するトークンのトークン番号といった顧客の個人データを持つ。端末5Bは前記顧客の個人データを基に、顧客の支持を受けて外部のクレジットカードなど決済事業者及びそのサーバ等端末と連携して商品の購入と決済を行うことが出来る。
そして端末5Bは顧客の電子メールアドレス、電話番号、住所に対し電子メールや電話、信書の郵送などで通知された鍵AKTB(4032A)を伝達できる。また本来はブロックチェーン上で行わないはずの4032Aの伝達を4032Aをユーザー識別子Aに内容を秘匿化できるトランザクションを用いてAKTB(4032A)を送る事もできる。またはユーザ識別子Aを計算できる端末4Aの秘密鍵401Aを基に別のブロックチェーン基盤を構築し秘密鍵401AAからユーザー識別子Aではなくユーザー識別子AAが計算される場合にユーザー識別子AAに向けて4032Aを送ることも考えられる。
具体的にはイーサリアムというブロックチェーンの基盤でユーザ識別子Aを、ハイパーレジャー(Hyperledger )というブロックチェーンの基盤でユーザ識別子AAを示す秘密鍵401Aを用い、OTPトークンの発行はイーサリアムを用い、AKTB(4032A)の通知はハイパーレジャーのトランザクションを持ちいることで、同一の秘密鍵を使いながら異なるブロックチェーンで本発明で暗号化されたデータの復号にかかわる操作が可能である。
In addition, the terminal 5B has a user identifier A used for accessing the blockchain, such as the customer's name, date of birth, etc., e-mail address, login password, address information, telephone number, etc. necessary for electronic commerce (or It has the customer's personal data such as the contract identifier of the OTP token (with purchase history) and the corresponding token number of the owned token. Based on the customer's personal data, the terminal 5B can perform purchase and settlement of merchandise in cooperation with an external settlement business operator such as a credit card and its server terminal with the support of the customer.
The terminal 5B can transmit the key AKTB (4032A) notified to the customer's e-mail address, telephone number, and address by e-mail, telephone, mailing, or the like. In addition, it is also possible to send AKTB (4032A) using a transaction that can conceal the contents of 4032A with user identifier A, which should not be transmitted on the blockchain. Alternatively, another block chain infrastructure is constructed based on the private key 401A of the terminal 4A capable of calculating the user identifier A, and when the user identifier AA is calculated from the private key 401AA instead of the user identifier A, 4032A is sent toward the user identifier AA. You can also consider sending.
Specifically, a user identifier A is used on a block chain platform called Ethereum, and a private key 401A indicating a user identifier AA is used on a block chain platform called Hyperledger. ) has a Hyperledger transaction that allows operations involving decryption of data encrypted by the present invention on different blockchains while using the same private key.

S185では広告機能を持つサーバ5A(SVCRHNcm)に対してもコントラクトの識別子やコンテンツの情報を登録することができる。 In S185, the contract identifier and content information can also be registered in the server 5A (SVCRHNcm) having the 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, the contract manager terminal 1C issues an OTP token for testing and encryption to the user identifier C corresponding to the secret key 101C of the terminal 1C before distributing the token and the encrypted data to the customer. S186 is a sequence for issuing an OTP token to the terminal 1C, creating encrypted data obtained by encrypting the plaintext content, 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 OTP token purchase, the right to view the encrypted data, and the ownership of the data that can be viewed by making a payment using 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 request. For example, the terminal 1C has a contract with an EC site, an EC type bookstore site, or the like, and a mode is conceivable in which a token number is assigned to a user identifier specified by the EC site and issued.
It is important here that the present invention cannot send the OTP token to the correct party unless the user identifier to which the token is sent is correctly notified. Token issuance requires the correct destination user identifier.

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

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

S199では403A起動時、あるいは秘密鍵(図7CBでは端末1Cの秘密鍵101C)の情報が403Aに入力された時にユーザー識別子が計算され生成され、403に埋め込まれた端末5Aの広告配信用URIへリンクさせることができ、このときコントラクト管理者1Cに対しても図6Xに示すような不正アクセスの監視を行うことができる。 In S199, the user identifier is calculated and generated when 403A is activated or when the information of the secret key (secret key 101C of terminal 1C in FIG. At this time, the contract administrator 1C can also be monitored for unauthorized access 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)を用いて暗号化してもよい。
AKTB (4032A) is set in S189. Alternatively, a predetermined AKTB (4032A) is stored in the recording device of the terminal 1C. S189 may be performed simultaneously with S188. AKTB (4032A) is set corresponding to the user to whom tokens are to be distributed.
Specifically, an organization sets different AKTB (4032A) for each year, month, week and day, and users belonging to the organization know AKTB (4032A) and encrypt only to users who can own OTP tokens You may enable it to decode the data which carried out.
Alternatively, the right holder uses the e-book publication as plaintext data, sets a unique AKTB (4032A) corresponding to a certain user identifier, notifies the AKTB (4032A) with an e-mail address, etc., and then sends the plaintext data to A may be encrypted using AKTB (4032A) corresponding to .

暗号化に関して、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) arbitrarily set as CTAU (3021A or 4031A) and notified to the distribution destination, and AKTB known only to user identifier A using software CRHN (403A) and secret key CRKY (40302A) of 403A Create encrypted data that can be decrypted using (4032A), attach it to A's mail address as an attached file and distribute it, or distribute it by cloud storage service etc. Server used in the present invention such as terminal 5B It can be distributed using a terminal. Also, even if the network 20 is not used at the time of distribution, external storage devices such as magnetic tapes, magnetic disks, optical disks, and semiconductor memories can be distributed by mail or delivery to the user's address.
When setting and distributing different AKTB (4032A) for each customer for magazines and books, it is useful to protect the plaintext data of the content right holder, while the plaintext data is encrypted according to the number of users and the AKTB (4032A) must be distributed to users with corresponding encrypted data.
In the case of books that distribute content in a one-to-many mass media format similar to broadcasting, such as newspapers and magazines, plaintext is encrypted according to the total number of users for a certain period of time (daily/weekly) for each percentage of users in Japan. computer and network resources.
In that case, AKTB (4032A), which changes depending on the period (weekly, monthly, yearly, etc.) or region (Nagano, Osaka, Tokyo, etc.) By distributing the encrypted data of the newspaper according to the If you can get the data, you can also make it possible to read newspapers.

配布された暗号化データはユーザの端末に記録され、ユーザー端末に暗号化データ(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 transferred to the user terminal as an OTP token (CTAU (3021A) obtained when the OTP token is authenticated), AKTB (4032A), and software CRHN (403A). , CRKY (40302A) and private key 401A, it can be decrypted and viewed as decrypted data/plaintext data (4035A).
A key TTKY (4033A) that can decrypt the encrypted data at the time of browsing is calculated and encrypted with the private key 401A to make CTTKY (40361A), and CTTKY (40361A) is encrypted with CRKY (40302A) recorded in the software CRHN (403A). Obtain the Transform ACTTKY (40360A) and record within the OTP Authenticated Certificate 4036A or Viewed Certificate OFBKMK (4036A) data. OFBKMK records a common key TTKY (4033A) for decrypting content encrypted with the secret key of software CRHN and the user's secret key. (OFBKMK is an offline bookmark)
OFBKMK 4036A allows offline access to users in a manner that controls viewing time and the like.
If the transfer restriction function of the OTP token is canceled and the token is sent to others, OFBKMK4036A may be able to read the book even though it does not have the right to read or own the book. .
Therefore, the content right holder of the OFBKMK function 4036A has the maximum time value of the browsing time limit every time OTP authentication is performed, and the time stamp at that time is recorded in OFBKMK in the form of HMAC, electronic signature, etc. Software 403A can be programmed so that the later the time stamp at the time of authentication described in 403A is, the less time is available for browsing when disconnected from the network 20 and going offline. In Example 3, the viewing time was set in units of 10 minutes, 30 minutes, and several hours.
As an example, if the viewing time limit is 300 minutes immediately after OTP authentication, the present invention allows viewing by the time divided by the number of years every time y years have elapsed since the OFBKMK timestamp time. For example, when y = 10 years, 10 years have passed since the timestamp, 300 minutes is divided by 10 in 10 years, and software CRHN (403A) can be viewed by Here, if the user has an OTP token, they can be authenticated by accessing the blockchain when online, create a new OFBKMK, and reset the viewing time 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 transmission station such as GNSS, JJY, or NITZ, that the terminal can receive correct time data, and that the terminal's time data is set correctly. If the right holder of the plaintext data permits, it is also possible not to set the reading time by OFBKMK.
The function of OFBKMAK4036A is to decipher encrypted data that can be viewed with a time limit and to access the plain text. It is a concept that exists. Alternatively, it is based on the fact that a person remembers an image of a book once read, and forgets the image of the read book over time, making it difficult to remember. 403A may perform processing such as displaying the plaintext data on the display of terminal 4A in a blurred manner during decoding using 4036A over time.

紙の書籍であっても資料として複写するなどのケースはあり、コンテンツをディスプレイの撮影などから保護するなどしないと複写されることの危険性は残る。一方でコンテンツがオフラインになりうる災害時にも利用できる有益なものである場合、ユーザーが読むことができるほうが好ましいので本発明では閲覧済み証明書OFBKMK(4036A)を採用した。
コンテンツをユーザー端末に残すことなく配信したい場合は実施例1のウェブサイトへのログイン方式を利用したほうが好ましい。ただし、その場合はログイン先のサーバーがサービス終了などをしてデータを無くしてしまえばユーザーが購読してきた書籍や音楽映像作品は閲覧できなくなってしまう。
紙の書籍、古文書、浮世絵などは数百年を超え後世に残され文化を伝えている。本発明ではデジタルデータであっても長い年数を経て後世に残されるべきデータに対しその所有権、閲覧権、利用権をOTPトークンの形で記録しながら、そのトークンで閲覧できるデータを暗号化データとして流通させ、かつその暗号化データを災害時などネットワークが切断されたオフラインにおいてもユーザーの手元のデータによって閲覧可能とした。ブロックチェーンにて閲覧や所有の権利となるOTPトークンは管理されるがブロックチェーンは必ずしもアクセスできるとは限らず、本発明ではユーザーが購入した書籍をオフラインでも閲覧できるよう配慮した。
Even paper books are sometimes copied as materials, and the risk of being copied remains unless the content is protected from being photographed on the display. On the other hand, if the content is useful and can be used even in the event of a disaster that can go offline, it is preferable that the user can read the content.
If you want 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 ends the service and loses the data, the user will not be able to view the books and music video works that the user has subscribed to.
Paper books, ancient documents, and ukiyo-e prints have passed down hundreds of years and passed on to future generations. In the present invention, even if it is digital data, the ownership, viewing rights, and usage rights of data that should be left to future generations after a long period of time are recorded in the form of OTP tokens, and the data that can be viewed with the tokens is encrypted data. , and the encrypted data can be viewed even offline when the network is disconnected, such as in the event of a disaster, using the data at hand of the user. Although the OTP token, which is the right to view and own, is managed by the blockchain, it is not always possible to access the blockchain, and in the present invention, consideration has been given to allowing users to view books they have purchased 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の方式をとることが本発明では可能である。新聞は過去の出来事を報じており、ユーザーの手元に残る方式のほうが出来事の記録を行うには適しているかもしれない。
If the content is a newspaper or the like, it may be necessary to periodically update the CTAU (3021A) value for the OTP token contract since it is a subscription service. Alternatively, it may be necessary to periodically update AKTB (4032A) instead of CTAU.
A valid/invalid variable corresponding to the user's OTP token number (a mapping variable representing the validity/invalidity of a boolean type token with the token number as a key) is prepared, and when the authentication function (3018A) authenticates, the variable becomes true. It is also possible to add a process of determining whether or not it is true, returning the authentication return value CTAU (3021A) if true, and not returning CTAU (3021A) if false.
Valid/invalid variable corresponding to user's OTP token number (mapping variable representing validity/invalidity of boolean type token with token number as key) You need to set a setter function that can be set to false or not.
(Even in Embodiments 1 and 2, after the expiration date, the mapping variable representing the validity of the boolean type token with the token number as the key is rewritten from true to false for the viewing rights and tickets for admission and login from the terminal 1C after the expiration date. It may be possible to stop OTP generation and authentication by doing so.
Also, if a certain OTP token is an OTP token that decrypts encrypted data related to a book, book, music record, or video, has an indefinite expiration date, and is valid as long as the OTP token is in possession, the token is valid or invalid. There is no need for a mapping function representing , or a function for stopping OTP generation authentication. )
For newspapers and magazines, if the Internet can be connected, OTP tokens are used as login rights to the rights holder sites of newspapers and magazines, as in Example 1, and content is appropriately encrypted while restricting access to users who have access. Delivery may be preferable. However, as with paper newspapers, the method of Embodiment 3 can be used in the present invention if encrypted data is stored at the user's terminal 4A and can be viewed offline when not connected to a network. . Newspapers report on past events, and a method that remains in the user's hands may be a better way to record 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 a 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 DLS OTP token contract 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 OTP generation sequence is the same as in Examples 1 and 2.

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

S196ではCTAU(3021Aまたは4031A)とAKTB(4032A)とCRKY(40302A)から平文データを暗号化する鍵TTKY(4033A)をソフトウェアCRHN(403A)のプログラムに沿って処理し生成する。ここで403Aのプログラムにおいて4033Aを生成計算する工程にハッシュ化や数値文字列の切り取り加工などの処理を含んでもよく403Aのプログラムもまた暗号化を復号する鍵となる要素である。 At S196, a key TTKY (4033A) for encrypting plaintext data is generated from CTAU (3021A or 4031A), AKTB (4032A), and CRKY (40302A) by processing according to the program of software CRHN (403A). Here, the process of generating and calculating 4033A in the program 403A may include processing such as hashing and cut processing of numerical character strings, and the program 403A is also a key element for decrypting 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 TTKY (4033A) calculated in S196 is used as the common key to encrypt the common key data (4035A, however, 4035A can also exist in the storage device of the terminal 1C and the storage device of the terminal 4A). ) to obtain encrypted data EncData (4034A, where 4034A can also exist in the storage device of terminal 1C and can also exist in the storage device of terminal 4A). AES (Advanced Encryption Standard) was used for common key encryption. In practice, AES key data lengths of 128 Bit, 192 Bit, and 256 Bit are used.

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

シークエンス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 an artificial satellite station in space, the server terminal 5CC for mutual communication with the terminal 5C is required. The terminal 5CC is also necessary 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 the broadcasting station) and transmitted to the user. Processing for digital broadcasting includes addition of error correction codes and packetization.
In the case of live broadcasting of wireless data, when 4035A to 4034A are created using 4033A as a key, there is a risk that the radio wave will not reach the user's receiver due to the weather and the data will be interrupted. In order to deal with this problem, the video and audio being shot and recorded are distributed as small data packets with 4033A as a key at any time using block encryption, an error correction code is attached, or stream encryption is used for distribution. Sometimes.
In existing examples, block encryption is used for terrestrial digital broadcasting, but in the present invention, software CRHN (403A) can perform stream encryption in addition to block encryption on plaintext data. Encrypted data stream-encrypted can be broadcast successively. In addition to broadcasting, bi-directional exchange of stream-encrypted data via the network 20 may be used for web conferences and audio/video distribution.

<暗号化されたデータの復号>
次に暗号化されたデータを受け取ったユーザー端末4Aが暗号化データの復号を行いデータの閲覧を行うシークエンスについて述べる。図7CAにユーザー端末4Aに配布された暗号化データの復号を行うシークエンスを示す。S150からS153までの一連のシークエンスは図7CBのS182からS185までの一連のシークエンスと同じである。
<Decryption of Encrypted Data>
Next, the sequence in which the user terminal 4A receives the encrypted data, decrypts the encrypted data, and browses the data will be described. FIG. 7CA shows a sequence for decrypting the encrypted data distributed to the user terminal 4A. A series of sequences from S150 to S153 is the same as a 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, terminal 1C receives an instruction to issue an OTP token. At this time, the user of the terminal 4A presents the user identifier A for the OTP token to the server terminal 5B from which the encrypted data to be purchased can be purchased, or the electronic transaction site from which the purchase can be made in addition to the terminal 5B, and performs the settlement process. terminal 1C presents a contract identifier corresponding to an OTP token capable of decrypting encrypted data from server terminal 5B or an e-commerce site to user identifier A, and OTP of the contract identifier in the designated user identifier Terminal 1C receives an instruction to issue a token.
Here, there is an expression "purchasing OTP tokens", but this means that the encrypted data is content such as magazines, books, audio and video software broadcasts, there is a content right holder, and there is a right to read, own and use the encrypted data. It is assumed that the sales of For organizations such as companies or for personal use, for example, when encrypting information that you want to keep secret and sharing the encrypted data among people in a limited group, OTP tokens are not purchased but OTP tokens. Permission is required to be granted to the user identifier that you want to use.

S155で端末1Cは端末1Cの秘密鍵101Cを用いてブロックチェーンシステムDLS(端末3Aなど)のOTPトークンのコントラクトにアクセスしトークン番号TIDAのトークンをユーザー識別子Aに発行する。端末4Aには秘密鍵401Aからユーザー識別子Aが計算できる。端末4AはOTPトークンのデータを保有していないが秘密鍵401Aを持つことでDLS上のOTPトークンにアクセスしそれを操作する所有権を持っている。 In S155, the terminal 1C accesses the OTP token contract of the blockchain system DLS (terminal 3A, etc.) using the private key 101C of the terminal 1C and issues a token with the token number TIDA to the user identifier A. The terminal 4A can calculate the user identifier A from the private key 401A. The terminal 4A does not possess the data of the OTP token, but has the ownership to access and manipulate 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 outside the blockchain in the form of a transaction, e-mail, telephone, facsimile, mail delivery, etc. from a DLS different from the DLS where the OTP token is deployed, is recorded in the recording device 40A. (AKTB is an abbreviation for password.)
By using this password AKTB, it is possible to arbitrarily set and send a password for a certain user identifier A, avoiding setting passwords individually for smart contracts on the blockchain, or user identifier A, user identifier B, etc. The password value AKTB specified like a password in an organization such as a company to which the employee belongs can be notified to the email address of each employee in the company.
The reason why AKTB was set up is that the Ethereum blockchain platform used in Examples 1, 2, and 3 has open contract variables and an attacker can analyze the CTAU value, so it was unavoidable. AKTB was used as a solution. By using 2 of AKTB and CTAU, and CRKY of software CRHN whose source code is obfuscated and encrypted, by using 3 of them, block chain, browsing software and other external passwords are encrypted if you do not know encrypted data cannot be decrypted.
The contract's CTAU value (3021A) is preferably anonymized.

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

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

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

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

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 decrypts the encrypted data EncData (4034A) using the key information TTKY (4033A) generated in S166 to obtain 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ファイルの例にあるように、任意のファイル形式、ファイル拡張子のアクセス制御プログラムを内蔵した平文データを本発明の方法で暗号化して配布され、その暗号化データが本発明の方法で復号され閲覧や実行を行う際に、平文ファイル利用時にアクセス制御を行えるようデータにプログラムしてもよい。平文ファイルにはファイルに固有の方法(それぞれのコンテンツファイルに対応した方法)でアクセス制御を行うプログラムが含まれていてもよい。)
アクセス制御はコンテンツの印刷や外部記録端末への平文ファイルの複製の可否、平文ファイル内容の変更の可否、音楽動画を再生できる機器の制限などを含む。平文データがある団体の機密情報の場合ではその書類の管理者の判断によっては紙に印刷し金庫などに保存出来たほうが運用しやすい場合はプリンタを用いた印刷が可能な事例が想定される。権利者の存在する音声動画ファイルでは権利者の指示に応じて平文のファイルを複製させないように指定できる事例が想定される。
In S168, the plaintext data 4035A obtained in the storage device of the terminal 4A by decoding the data 4034A in S167 is viewed using the output device 45A and the input device 44A of the terminal 4A. Runs and manipulates programs and makes content available to users. 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 contents such as browsing or viewing of the plaintext data ends.
In Example 3, a PDF format file (extension is .pdf) that manages text data from Adobe Inc., which can be processed by HTML5 and ECMAScript that web browser software supports, and an MP3 file that handles voice data invented by Fraunhofer IIS et al. The third embodiment of the present invention is an MP4 file (extension is .mp4) that handles multimedia data such as video audio according to ISO MPEG-4 Part 14 (ISO/IEC 14496-14:2003). Using the method, encryption and decryption were performed using OTP tokens and software CRHN, and file data was viewed and viewed. Here, access-controlled files can also be set for PDF format files.
It is also possible to create an access-controlled PDF-format plaintext file, and set access control and printing prohibition or printing permission to the plaintext file decrypted by the encryption of the present invention. In addition, as shown in the example of the PDF file, plaintext data containing an access control program of any file format and file extension is encrypted by the method of the present invention and distributed. The data may be programmed to perform access control when the plaintext file is used when the plaintext file is decrypted and viewed or executed. A plaintext file may contain a program that performs access control using a file-specific method (a method corresponding to each content file). )
Access control includes whether or not to print content or copy plaintext files to an external recording terminal, whether or not to change the contents of plaintext files, and restrict devices that can play back music and video. In the case of confidential information of an organization with plain text data, it is possible to print using a printer if it is easier to operate if it is easier to operate by printing it on paper and storing it in a safe depending on the judgment of the manager of the document. For an audio/video file with a right holder, it is possible to specify that the plaintext file should not be duplicated according to the instruction of the right holder.

ファイルの形式等に応じてソフトウェア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 plaintext data 4035A according to the file format, etc., and prints the browsing information on paper using the printer 452A on the user's terminal 4A according to the program set by the right holder 4035A. and output to the display 450A, speaker 451A, head-mounted display 453A, etc. are determined according to the output settings written in the plaintext data, and the plaintext data is output from the output device 45A. Moreover, it is browsed according to the contents inputted from the input device 44A. For example, text files, voice and video data, and if it is software, plaintext data is manipulated, viewed, viewed, and executed using input/output devices such as keys, input buttons, pointing devices, voice input, various sensors, and controllers that operate software. .
It may be output to a display 450A used in a smart phone terminal or a mobile phone terminal, or may be a display 450A having a size such as 22 inches used in a desktop personal computer terminal. The display 450A of a portable laptop or notebook personal computer terminal or tablet terminal may also be used.
In the practice of the present invention, the head-mounted display 453A may not be used, and only the normal display 450A may be used to decrypt the encrypted data by an OTP authentication system using the software 403A and the distributed ledger system DLS for viewing.
The main invention of the present invention is OTP authentication and login by DLS, entrance/exit, unlocking/unlocking, and decryption of encrypted data (login to encrypted data). Biometric authentication and content copy prevention using head-mounted displays are used from the viewpoint of content protection.
When using the head-mounted display 453A, it may be a spectacles type, binocular type, monocular type, non-transmissive type, or transmissive type spectacles or goggle type device. It may be used for an OTP authentication system when realizing virtual reality VR and augmented reality AR.
Also, when the content wants to use pseudorandom numbers when allowing the user to use the content, the OTP calculated from the OTP token of the present invention may be used as a value for realizing the pseudorandom numbers. For example, if you want to use pseudorandom numbers when some event occurs in an online game or offline game (only the blockchain is online, but the game is offline), use the BnTOTP type OTP authentication code of the present invention. may When using the OTP for pseudo-random purposes, a value with fewer digits than that used for OTP authentication, for example, if the OTP is originally 10 digits, use the last 5 digits to generate a pseudo-random value. and preferred.

また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)は書籍や音楽動画といった権利者の存在する作品を復号して読み取りのみできる版とは異なる版である事が好ましいかもしれない。
In addition, in S168, there may be a case where users of a certain organization want to share encrypted confidential texts instead of content such as books or magazines owned by rights holders. Encrypted data indicating a certain document may be rewritten between users and may be changed by adding an electronic signature.
Therefore, the input device 44A is used to rewrite the plaintext data, the hash value of the plaintext data before and after the change is obtained with the private key 401A of the terminal 4A, and the data is changed, added, or falsified at a certain time or a certain block number Bn.・Record the correction with a time stamp, MAC such as HMAC, or an electronic signature using an electronic certificate (The private key for the electronic signature may be 401A, or it may be the one recorded on the employee ID card or personal number card. ), the OTP token of the user terminal 4A is used as the modified electronic signature added plaintext data, and the modified electronic signature added plaintext data is obtained from CTAU (4031A), AKTB (4032A), and CRKY (4030A) as key information. It can also be sent as encrypted data encrypted by TTKY (4033A) to a user who wants to send a confidential text (that user has an OTP token capable of encryption and decryption like the sender). Then, every time a document file is added or changed between two or more users, the HMAC MAC value and electronic signature of the user who added or changed is added and encrypted repeatedly between users. A signature and time stamp can be entered when the data is changed while storing it as encrypted data.
The sequence of procedures described above is a combination of FIGS. 7CB and 7CC. A user UA and a user UC belong to a certain organization, and can create and view data while repeating encryption, data change, decryption, and encryption of a confidential document mutually using the MAC value of HMAC, an electronic signature, and the like. It may be preferable that the commercial software CRHN (403A) that performs this processing is of a version different from the version that can only read and decrypt works such as books and music videos that have rights holders.

通常の紙の雑誌や新聞や本、教科書では購入したそれらにユーザーが筆記用具でメモなどを書くことがある。本発明が教育分野で利用される場合には教科書などにタッチセンサや電子的なタッチペンやマーカーで書き込むことができると好ましいかもしれない。音声音楽はレコード盤や光学ディスク、動画は映画フィルムや磁気テープや光学ディスクといった形で販売されそれらにユーザーが筆記用具などで書き込むことはあまりないが、書籍に関してはユーザーが筆記用具に書き込みメモや学習のために利用するというケースがある。
そこで本発明ではS168において、書籍データに対しタッチペンやペンタブレットといったペン型のポインティングデバイスと、タッチ型の指でなぞる形式のポインティングデバイスに対応し、403Aで教科書などのデータを閲覧している際にペンで平文データを加工し、秘密鍵401Aで加工した差分のデータに電子署名を付与して保存してもよい。または教科書そのものがすべて画像データで構成されていた場合には該当する頁の画像データにポインテイングデバイスで任意の色情報や画像的な効果の情報を付与し、その結果形成された新たな平文データを暗号化し保存できる。この手順も図7CBと図7CCを組み合わせて実現できる。
紙の教科書と比べOTPトークン化した教科書のデータとすることで保存場所が少なくてよく(端末4Aと秘密鍵さえ忘れなければよく)教科書への手書きの書き込み保存機能をOTPトークンと同時に利用することで実現する。ユーザーがメモなどを書き込んだ教科書の暗号化データが紛失したり書き込みが増えすぎて見れなくなった場合には再度教科書の原本の暗号化データを入手して利用できる。書籍に書き込む事ができる用途のソフトウェアCRHN(403)は音楽や動画といった権利者の存在する作品を復号い閲覧や視聴のみできる版(バージョンまたはソフトウェアの名称)とは異なる事が好ましいかもしれない。
紙の教科書は場所を取るために処分されてしまうこともあるが電子化された教科書であればデジタル装置に記憶でき成人後に教科書を読み直すことも容易である。
In the case of ordinary paper magazines, newspapers, books, and textbooks, users sometimes write notes on purchased items using writing utensils. 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 or an electronic touch pen or marker. Voice music is sold in the form of records, optical discs, and movies in the form of movie films, magnetic tapes, and optical discs, and users rarely write on them with writing utensils. 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 touch-type pointing device that is traced with a finger are supported for book data. Plaintext data may be processed with a pen, and an electronic signature may be added to the difference data processed with the private key 401A and stored. Alternatively, if the textbook itself is entirely composed of image data, the image data of the corresponding page is given arbitrary color information and image effect information with a pointing device, and new plaintext data formed as a result can be encrypted and stored. This procedure can also be implemented by combining FIGS. 7CB and 7CC.
Compared to paper textbooks, OTP tokenized textbook data requires less space for storage (only terminal 4A and a private key need not be forgotten). Realize with If the encrypted data of the textbook in which the user has written memos is lost or cannot be viewed due to excessive writing, the original encrypted data of the textbook can be obtained and used again. It may be preferable that the software CRHN (403) that can be written in a book is different from the version (version or software name) that can only be used to decrypt and view or view works such as music and moving images that have rights holders.
Paper textbooks are sometimes disposed of because they take up space, but electronic textbooks can be stored in a digital device and can be easily read again after becoming an adult.

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 embedded in the content. This is because the program built in the software CRHN (403A) has a control statement capable of displaying an advertisement in the plaintext data 4035A obtained in S168 and S167 by decrypting 4034A in the storage device of the terminal 4A, According to the control statement, 403A receives advertisement distribution from the connection destination of the URI when the URI that can be connected to the server 5A is described. Here, the URI must be suitable for content rating.
It does not have to be provided with an advertising function, and textbooks and the like may not record such advertising URIs or programs leading to advertisements.
In S169, it is also possible to monitor access as shown in FIG. 6X based on the user identifier of the terminal 4A, the token number held, the IP address and location information, the terminal ID, the sensor value, etc., and check for unauthorized access. It is also possible to access the advertisement display server without displaying the advertisement and to record only the access information in the server 5A. For privacy protection, it is also possible not to access the advertisement distribution server terminal conforming to 5A or 5A.
In S169, advertisements can be distributed by connecting to the server 5A, and the advertiser performs only access management on the server 5A, and the original advertisements are stored in the plaintext data in the form of words, pictures, animations, and voices. It is also possible to record with Further, for privacy protection, the server 5A may not perform advertisement distribution and access management, and the advertisement may be recorded in plain text data as sentences or image data. (In this case, it can be expected that fixed advertisement information will remain for future generations, just like paper magazines.)

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)とする
At S170, the browsed 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 the TTKY (4033A), performs OTP authentication, records the date and time when the browsing is started as time stamp information, and obfuscates or encrypts 4033A and the time stamp. The concatenated data is electronically signed to detect the presence or absence of tampering.
4033A is obfuscated/encrypted in some way and made into key information 40360A that cannot be decrypted (difficult to decrypt) by the user of terminal 4A. The time data and user identifier information (40362A) at the time of OTP authentication and the data of 40360A are concatenated into one message, and HMAC (Hash -based Message Authentication Code, code message authentication using a hash function, message code authentication) is used to calculate an HMAC value and set it as authentication information (40363A). Then, 40360A, 40362A and 40363A are concatenated to form browsed 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 browsed certificate data OFBKMK (4036A) is a function that enables authentication when the terminal 4A is disconnected from the network and the block chain cannot be used while offline, that is, when the CTAU value (4031A) cannot be obtained. The browsed certificate data OFBKMK (4036A) includes information of TTKY (4033A) for decrypting encrypted data.
It is possible to write 4033A in 4036A, but in that case, if 4033A is leaked, the encryption of the distributed encrypted data will become meaningless, so it is necessary to apply some form of encryption/obfuscation. be. It is also possible to encrypt 4033A using only the secret key CRKY (40302A) built into the program of software CRHN (403A), but in that case, between users who use the same 403A If the certificate data is distributed and a different user captures it into the terminal and loads it into 403A together with the encrypted data, it may be possible to view it. (However, in this case, if the private key (101B in this case) produces a different user identifier from the user identifier described in 4036A output by 403A, 403A can detect it and prevent browsing.)
Therefore, 4033A is encrypted using terminal 4A's private key 401A (various valuable OTP tokens of terminal 4A are assigned to 401A) to obtain CTTKY (40361A). Subsequently, CTTKY (40361A) was encrypted using the private key (40302A) of software CRHN (403A) to obtain ACTTKY (40360A).
Leakage of the private key 401A or unauthorized use of the private key is detected by an unauthorized access detection mechanism as shown in FIG. 6X when a user terminal such as the terminal 4A accesses the advertising server 5A.

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

実施例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 Example 3, as a method of obfuscating or encrypting TTKY (4033A) to make key information 40360A, 4033A is encrypted with the private key 401A of terminal 4A and then encrypted with the private key CRKY (40302A) of software CRHN (403A). TTKY (4033A) is obtained and encrypted data cannot be decrypted unless the secret key 401A of the terminal 4A and the secret key 40302A of the software CRHN (403A) are available.
As a processing method, TTKY (4033A) is encrypted with a common key using the secret key 401A as a key to obtain CTTKY (40361A). (Here, public key encryption can be used in addition to common key encryption, but the certificate data OFBKMK (4036A) is data for browsing when offline and can be sent, notified, shared, or transferred to others. Common key encryption is used because it is not a thing.The means of encryption is not limited to common key encryption or public key encryption, but the key TTKY (4033A) that can be encrypted/decrypted is encrypted or obfuscated and decrypted. However, it does not matter if it can be obtained as TTKY (4033A) again.)
Then, CTTKY (40361A) is encrypted using the secret key CRKY (40302A) built into the program of the software CRHN (403A) as a key, and ACTTKY (40360A) is obtained. The number, the token, the contract identifier, the encryption data and the name of the OTP token are combined as data, and the private key 401A and HMAC are used to apply an electronic signature to the data to create certificate data OFBKMK (4036A). For example, SHA256 of SHA-2 can be used as the HMAC hash function.

<不正利用の対応>
本発明の実施例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カードの秘密鍵にアクセスできないように装置の設定を変更することが必要である。
<Response to unauthorized use>
Common to Embodiments 1, 2, and 3 of the present invention is that when the private key 401A is duplicated and leaked by an attacker, it is distributed to other malicious user terminals. There is fear. If the maliciously distributed 401A is used on another terminal, if an advertisement is placed in the contents of the plaintext data and connected to the internetwork, the server SVCRHNcm will receive the IP address and terminal device information. If the serial number and the information of the input sensor 444A of the input device 44A of the terminal are agreed to by the terms, they are notified to the server 5A, and the user identifier, the token number of the OTP token, and the IPV shown in FIG. 6X are collected and stored in the server 5A. Monitors and notifies whether there is unauthorized access. The user identifier, the token number of the OTP token, and the IPV shown in FIG.
If time information such as GNSS, JJY, or NITZ can be received in the case of offline, the time that can be browsed is set and displayed in comparison with the time information described in 4036A.
Also, if 401A is maliciously shared with other users on the network without being decrypted by 4036A, and many people are reading books that have unauthorized access to the same private key, software CRHN (403A) Many unauthorized accesses to the terminal 5A as shown in Fig. 6X via the URI to the advertising site embedded in the data of the book (10 people instead of 2 people at the same time, but 10 people, 100 people, etc.) are recorded. can be
Although it depends on the judgment of the service provider, the OTP token is specified in the protocol so that the IP address is not hashed, the IP address is recorded, and the access is monitored by the terminal 5A as shown in FIG. 6X. It may help prevent these unauthorized accesses. (The inventor determines that access at the same time on different terminals using the same secret key when using 403A or its decrypted data constitutes unauthorized access.)
Depending on whether the service provider permits such unauthorized access by sharing 401A, if the content is to be sold, the terms of use should prohibit the sharing and trading of the secret key. Also, when the private key is viewed as a service account, it can be used as a name loan, so the use of the private key is usually not permitted. It is conceivable that the secret key of the present invention is also used for OTP tokens for Internet banking of banks. When using for such purposes, sharing, selling, and lending of the secret key of the OTP token violates the terms of use and causes money laundering. Unauthorized use of the private key may be restricted by law.
From the viewpoint of private key management, the private key such as a personal number card is recorded in an IC card 46A (NFC tag 46A) that cannot be extracted. It may be preferable to have access to contracts on the blockchain. In that case, an organization is required to manage the secret key in the IC card. It is necessary to record the private key information inside the IC card in a database of the IC card manufacturing and issuing organization, and then change the setting 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 custody transfer of tokens>
The present invention uses the OTP token contract with the OTP generation authentication function shown in the first to third embodiments in accordance with the ERC721 standard. According to the ERC721 standard, a contract can be provided with a remove function for a contract manager's terminal 1C to access the contract and remove the token number. By combining the token removal function, issuance function, and transfer restriction function, the OTP token storage transfer operation can be performed by the contract administrator 1C. In this case also, the user can use the OTP token 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 the removal function, and illegal access occurs, the OTP token is transferred to the private key 401A of the terminal 4A (and its private key ) and is issued to the user identifier of another secret key separately designated by the terminal 4A.
If the unauthorized access still does not stop, the token may be removed. For this, it is necessary to specify the existence of a token removal function and the possibility of safe deposit transfer in the terms of use of the OTP token.
If the custodial transfer operation is enabled, the contract administrator can transfer the OTP token to a different private key when the private key is lost or leaked by the user. And when the user transfers or inherits the OTP token, it can be done by requesting the transfer to the contract manager. If there is no transfer function, the OTP token cannot be transmitted if the private key is not known, and inheritance between family members and relatives will not be possible.
On the other hand, the contract manager of the OTP token will be able to issue, remove, and transfer the tokens of all token numbers belonging to the contract. In response to a request from the user's family, the contract manager can carry out the custody transfer at the terminal 1C for inheritance. If the customer's token removal function is performed, it may be necessary to state in the terms of use, etc., to propose token purchases, and to comply with laws and regulations and to be externally audited so that the customer's OTP token can be custody. In addition, it may be preferable for the management to be managed by a company that has acquired qualifications related to the warehousing, trust, banking, finance, and information and communications industries.

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

S171ではコントラクト管理者が端末1Cを用いてコントラクトのKC値やBC値といったOTPを計算するシークレット値(シード値)を更新できる。実施例3では端末4Aは本発明のOTP認証時にインターネットワークに接続されBnTOTPもしくはOWPは常に最新のシード値を用いて認証が行える。またOTPトークンの名前や連絡先などを記載した看板情報KNBN(3024A)も書換えることができる。その利用例として、OTPトークンがある書籍のトークンであって、その書籍を出版する出版社が合併した際には存続会社の連絡先などをトークンのコントラクトに記載することができる。
実施例3ではBnTOTPのほかにOWPを用いてもよい。
In S171, the contract manager can update the secret value (seed value) for calculating the OTP, such as the KC value and BC value of the contract, using the terminal 1C. In Embodiment 3, 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. Signboard information KNBN (3024A) describing the name of the OTP token and contact information can also be rewritten. As an example of its use, the OTP token is a token for a book, and when the publisher that publishes the book merges, 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>
A paper book can be read without relying on the existence of the network 20. - 特許庁Book data stored in electronic computer terminals such as computers and servers can be output to an input/output device according to the data recorded in the storage device of the built-in device as long as there is a power supply to operate the device, even if it is book information. can read. Assuming the presence of the network 20, when viewing book data via the network 20, the data cannot be read unless the data is stored in the terminal and read.
In the present invention, the certificate data OFBKMK (4036A) created when the terminal 4A disconnected from the network 20 due to a disaster or the like performs OTP authentication and browses the encrypted data recorded in the terminal 4A (at the time of sequence S170) ) is used, and books, videos, audio, and software can be browsed and used by using a method that can be browsed within the time limit that can be browsed. FIG. 7CC shows a sequence diagram for viewing encrypted content when the terminal 4A is disconnected from the network 20 and is offline.
In the third embodiment of the present invention, as shown in FIG. 7CC, the encrypted data can be decrypted at the terminal 4A that is not connected to the network 20 and viewed, viewed, and used. TTKY (4033A) used for decryption is included in plaintext or in an obfuscated/encrypted state, and information such as the viewing time and viewing user identifier that records the block number, time information, and user identifier at the time of OTP authentication When message data including 40362A and concatenating 4036A and 40362A is used, the MAC value (40363A) of the message data is calculated by HMAC, and 4036A, 40362A and 40363A are concatenated to obtain 4036A.
The information necessary for 4036A is information linked to calculation of TTKY (4033A) used for decrypting encrypted data, and calculation of TTKY (4033A) by performing OTP authentication from S156 to S170 in FIG. 7CA when connected to network 20. Then, time stamp information 40362A such as the time when encrypted data can be browsed is combined, and based on secret key 401A of terminal 4A, secret key (40302A) built in 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)としてもよい。
<Case in which obfuscated/encrypted plaintext data is contained in software 403A instead of using encrypted data 4034A>
As another embodiment of 4036A of Embodiment 3, an embodiment in which plaintext data 4035A is embedded in 4030A inside software 403A in which the source code of terminal 4A described in FIG. 4C is obfuscated and encrypted can be implemented. (This is the case where the encrypted or obfuscated program source code 4030A of 403A incorporates the plaintext data 4035A together with the software private key 40302A).
In this case, when there is a private key 40302A for software 403A and a private key for user 401A, the information of user identifier A that can be calculated from 401A using secret variable K403 (40303KA) in 4030A of software 403A and the time at the time of OTP authentication A hash value HT403 is obtained by concatenating the information T403 and K403, and the hash value HTK403 is concatenated with information constituting the certificate including the readable user identifier A and authentication time stamp information T403, and the body of the certificate is obtained. The data CHT 403 (40362KA) may be 40362KA as a message, use the user secret key 401A as a key, obtain the MAC value 40363KA by HMAC, and concatenate 40362KA and the MAC value 40363A as certificate data OFBKMK (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 as a key, and the certificate data OFBKMK (4036A) is obtained by concatenating 40362KA and the MAC value 40363A, the return value CTAU of the OTP authentication function is simply A return value of only one true/false value may be used, or two or more return values may be included, including variables used in the conditional statement of the judgment expression that 403A permits the user to view. The reason why CTAU can be a single true/false value is that the internal data of the software 403 is encrypted or obfuscated including plaintext data, and it is true whether OTP authentication was performed in the contract on the blockchain when the program was executed. This is because the 403A confirms the true/false value of whether or not, and if the true value is returned and authentication is successful, the certificate data 4036A in S170 can be calculated using the 40303KA and the user's secret key 401A.

ユーザー秘密鍵401Aと証明書データ4036Aをオフライン下で403Aは読み込み、4036Aに記述されたMAC値40363Aから4036Aの改ざんが行われていないか401Aを用いて確認し、4036Aが改ざんされていない場合にはCHT403のHTK403の値をソフトウェア403は読み取り、ソフトウェア内部で計算される401Aから計算できるユーザー識別子Aの情報とOTP認証時の時刻情報とK403を連結させた情報のハッシュ値HT403と一致するか計算して検証し、4036Aの情報と403Aで計算される情報が一致した場合はプログラムに内蔵された平文データをユーザ端末4Aの入出力装置を通じて閲覧視聴利用させる。一致しない場合は平文データを利用させない。 403A reads the user secret key 401A and certificate data 4036A offline, checks whether 4036A has been tampered with from MAC value 40363A described in 4036A using 401A, and if 4036A has not been tampered with The software 403 reads the value of HTK 403 of CHT 403, and calculates whether it matches the hash value HT 403 of the information of user identifier A that can be calculated from 401A calculated inside the software, the time information at the time of OTP authentication, and K 403. If the information in 4036A matches the information calculated in 403A, the plaintext data stored 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, the method using HMAC with the secret key 401A as the common key has been described, but a method using 401A as the key of public key cryptography to create a certificate with an electronic signature (digital signature) is also conceivable. However, since 4036A is data that is not intended to be sent to others, HMAC is preferably used. When online, the secret key 401A to which the OTP token is assigned is used as a key, and the HMAC, the secret variable (K403) inside the software, and the authentication time are used to create the authentication proof data. .

ソフトウェア403AはHMACにより改ざん検知できる証明書の認証時刻データと端末4Aの現在時刻からユーザーが連続して閲覧可能な時間を計算しその時間の間に入出力装置を通じて端末4Aのユーザーにデータを閲覧・視聴・利用させる。認証時刻がより過去の時間となり、古い証明書データ(4036A)であるほど、連続して閲覧可能な時間が短くなる。そしてユーザーは閲覧時間が短くなるために再度403Aを起動しては403Aが制限時間を超えたことを検知し終了してを繰り返しソフトウェア403を頻繁に再実行しなければいけなくなる。これを解消するにはオンライン時にブロックチェーンシステムを構成する3Aにアクセスし、本発明の閲覧したい平文データに対応したOTPトークンの割り当てられた秘密鍵401Aを用いてOTP認証を再び行って平文データを閲覧し新しい証明書データ(4036A)を発行することができればよい。 The software 403A calculates the time during which the user can continuously browse from the authentication time data of the certificate that can detect falsification by HMAC and the current time of the terminal 4A, and browses the data for the user of the terminal 4A through the input/output device during that time.・Let them watch and use. The authentication time is in the past, and the older the certificate data (4036A), the shorter the continuous viewing time. Since the browsing time is shortened, the user has to re-start 403A, detect that 403A has exceeded the time limit, terminate it, and re-execute the software 403 frequently. In order to solve this problem, access 3A that constitutes the blockchain system when online, perform OTP authentication again using the secret key 401A to which the OTP token corresponding to the plaintext data to be viewed according to the present invention is assigned, and read 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 right to set the time at which the plaintext data can be viewed continuously on the software. Data right holders can set viewing hours by considering the rating of the content and how the data will be used in an emergency such as a disaster.
Also, if the right holder of the data permits, it is possible not to set the 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 off-line. According to the function of the real-time clock (RTC) included in the control processing device 41A of the terminal 4A, continue to hold the time information even in the offline 4A using the power supply device 47A (including the battery capable of operating the RTC section) of the terminal 4A. However, there is a risk that it will be overwritten by the BIOS. (Here, the RTC is a part that can provide a clock function composed of ICs such as crystal oscillators and oscillator circuits.)
In the present invention, it is preferable to prevent the time of the terminal from being rewritten by software such as the BIOS that controls the terminal 4A, and that the terminal 4A has a device for receiving time information, which is assumed to be correct from an information source such as GNSS, JJY, or NITZ. It is preferable to obtain time information from the terminal 4A and set the time of the terminal 4A to a value close to the International Atomic Time (TAI) or Coordinated Universal Time (UTC). When it is possible to falsify the time information of the hardware of the terminal 4A, the software 403A has no choice but to follow an incorrect time or a maliciously set time. cease to exist.

証明書データ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トークンを用い認証を行い暗号化データの復号を行える。
Requirements of the certificate data OFBKMK (4036A) are the time information 40362A when the data is authenticated by the OTP authentication system of the present invention and the data is browsed, and the MAC value 40363A for verifying whether or not the information has been tampered with. If the encrypted data 4034A is outside the software 403A, information 40360A, 40361A, etc. for calculating the key TTKY (4033A) for decrypting the encrypted data is required. OFBKMK (4036A) is issued in response to user private key 401A. Different 4036A is issued when the secret key is different even for the same content. Further, even when the token number is different, a different 4036A is issued.
When the encrypted data 4034A is inside the software 403A and encrypted, that is, when obfuscated or encrypted like the secret key CRKY (40302A) of the software inside 4030A, the plaintext data is the program. Since it is encrypted together with the source code and TTKY (4033A) is not required, information 40360A, 40361A, etc. for calculating the key TTKY (4033A) for decrypting the encrypted data is not required. By executing the software 403A, the user reads the private key 401A and the certificate data OFBKMK (4036A) into the 403A, and if the user wishes to browse, the plaintext data inside the software can be browsed by the software 403A even when offline.
In the present invention, both the version of the software 403A that reads the encrypted data 4034A and the software 403A that contains the plaintext data can create 4036A, and the corresponding OTP tokens can be used for authentication to decrypt the encrypted data.

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

S201ではソフトウェア403Aを実行し起動させ、少なくとも秘密鍵401Aと暗号化データ4034Aを読み込ませ(あるいは401Aと4034Aのあるファイルのディレクトリとファイル名を指定し、あるいはファイルを示すURIを指定し)、他に設定入力が必要な場合は入力を行う。 In S201, the software 403A is executed and activated, at least the secret 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 other Enter settings if required.

S202では証明書データ4036Aを読み込ませる。この時4036Aが改ざんされていないか調べるため、4036AのMAC値を秘密鍵を用いて検証する。 At S202, the certificate data 4036A is read. At this time, in order to check whether 4036A has been tampered with, the MAC value of 4036A is verified using the secret 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 TTKY 4033A decrypts the encrypted data 4034A 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 4036A, and the time information of OTP authentication time and plain text viewing time information 40362A included in 4036A is confirmed. Then, from the time information of terminal 4A and the time information of 40362A, the available time is calculated.

S206では閲覧可能な時間を現在時刻に加算した時刻になるまでユーザーにデータを閲覧もしくは使用させる(時刻を取得するには端末DAのGNSS受信器や、NITZ、JJYなどの時刻受信機が備え付けられていると好ましい)。ここで閲覧可能な時刻の算出や制御の仕方は平文データの権利者の求めにより代わり、ソフトウェアCRHN403Aのプログラムや、平文データ4035A内にその処理の仕方や処理に利用する変数が記載されるため具体的な時刻の計算方法や変数値は限定しない。S206では40362Aの時刻情報と現在時刻を基にしてユーザーが閲覧できる時間を計算して設定し時間が経過したときに403Aの実行を停止することも可能な処理が含まれる。閲覧可能な時間の制限がない場合はそれに合わせて動作させる。 In S206, the user is allowed to view or use the data until the time obtained by adding the viewable time to the current time. preferably). Here, the method of calculating and controlling the time that can be browsed depends on the request of the right holder of the plaintext data. There are no restrictions on the method of calculating time or variable values. S206 includes a process of calculating and setting the time that the user can browse based on the time information of 40362A and the current time, and stopping the execution of 403A when the time has elapsed. If there is no time limit for browsing, operate accordingly.

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

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

実施例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を変えていくことができる。
The software CRHN (403A) of Example 3 includes:
1. A CRHNReader that can only convert from EncData to DecData,
2. CRHNWriter, which converts from DecData to EncData;
3. CRHNReaderWriter that can convert between DecData and EncData
Three types are considered.
CRHNReaderWriter encrypts and decrypts the text of a certain organization every time the document data is changed (here, it is stored as EncData, and when the user decrypts and changes EncData (The DecData is stored in the storage device). Documents can be time-stamped and electronically signed when the decrypted data is changed, encrypted, and saved. The blockchain block number and BnTOTP are entered as a unique secret, and the book data is hashed and the book is blocked. It can also be stored in a form that is difficult to tamper with, such as a chain. (This is software for managing confidential documents.)
As another form of CRHNReaderWriter, only when the right holder of the primary creation permits, after decrypting the encrypted data of the content to be the primary creation, changes are made according to part of the content. It can also be used for distribution to the next OTP token holder as content that will be the next creation. In this case, content usage rights may be issued/distributed under a contract different from the OTP token for the content that is the primary creation. By programming 403A, which is CRHNReaderWriter, so that the part of the URI connected to the advertisement server 5A cannot be changed even after the encrypted data is rewritten, the primary creator can access the secondary or n-time creation. It is also possible to increase profits by advertising the server 5A connected/linked to the embedded URI information.
The CRHNReader browses, reproduces, and activates the plaintext data DecData obtained by decoding the encrypted data EncData such as books, audio/video, and software. It may have a function of recording annotations and the like separately from the plaintext data of the original, such as a sticky note in a book.
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, a contract identifier APKY40301A that manages a key dedicated to the software application, a private key 40302A for the software 403A, a return value CAPKY40303A for the key management contract obtained from the blockchain, and the like are set. By setting APKY, CRKY, and CAPKY as unique values for each software 403A of different versions and types, it can be used as information for switching whether the CRHN is operated as a CRHNWriter or as a CRHNReaderWriter. Also, for example, the software version of 403A can be changed every few years to change APKY, CRKY, and CAPKY.

<特殊な版の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トークンの利用例はコンテンツの権利者や法に従う。
<Additions to the original and nth creation by a special version of CRHNReader 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 part of the content and will be distributed to the holder of the next OTP token as the content that will be the secondary creation. This has a lot to do with copyright, which is one of the intellectual property rights.
If the copyright holder permits the n-th use of the content, it may be possible to sell the original copy of the content with the permitted advertisement, the encrypted data, the OTP token that decrypts it, and the CRHNReaderWriter for its use. The content is assumed to include text books, images and videos, audio, game software and program source code.
For example, even if the source code of a free software program is distributed as open source code under a near-free license with collaboration permitted, secondary creators who have collaborated and improved the distributed program A free OTP token corresponding to the primary creator's data and the attached advertisement URI are attached to the secondary creation program, and when the end user uses the attached program, the primary creator and 2 If 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 secondary creator, it may contribute to the programmer's profit improvement. do not have.
<Issues when rights tokens are protected by rights in the laws of countries around the world>
In relation to intellectual property rights such as the copyright of the above n-next creation, the OTP token of the present invention can be used as stock, real estate ownership, intellectual property rights, patent rights, trademark rights, and copyright ownership rights. It is conceivable, but the present invention is a means to make it difficult to falsify information and to facilitate the exercise of rights by performing OTP authentication (a method for automating authentication). It should be noted that public property rights are managed by the laws and regulations of the country, auditing the government of each country, OTP token issuers and issuers, experts such as certified public accountants in the case of companies, and real estate in the case of real estate. Outside of the distributed ledger system, an intermediary of statutory qualified professionals/professional associations such as transaction law experts, patent attorneys, and lawyers will be required.
In the present invention, regarding the use of OTP tokens corresponding to rights, OTP tokens related to legal rights may cause disputes or do not exist ( There is also a risk of becoming a record without legal support), so detailed explanation was not given in the application example of the present invention. However, for securities such as stocks, it can be an OTP token for logging in to the general meeting of shareholders, logging in to the website where shareholders vote, etc., and expressing their intentions, and the shareholder can be the right to use the service of the company corresponding to the stock. Therefore, a usage example is described.
Also, since the distributed ledger system can issue OTP tokens across national borders, it is preferable to issue and transfer OTP tokens to KYC users when converting legally protected rights into OTP tokens. When an intellectual property right such as a patent right or a copyright is obtained, it is not always the case that the right is owned only by the general public. There is a risk that an unexpected party (such as a terrorist) will take control of the majority of the rights and force them to share the proceeds from the token rights. Therefore, in this case, it is preferable to provide the OTP token with a transfer restriction function and a storage transfer function using a token removal function.
In addition, we will record the exchange of money or crypto assets between users through the purchase and sale of OTP tokens, suppress the provision of funds to unexpected organizations, and process tax related to transactions on distributed ledger systems such as OTP tokens. It is preferable to have a server terminal (an extension of terminals 3E and 3F) that automatically performs
Circulation of OTP tokens is preferably traded between KYC users.
In addition, if the user identifier is entered incorrectly, the token cannot be sent to the intended user. Therefore, in order to reduce input errors and facilitate identifier searches, a domain name system that associates user identifiers with domain names and IP addresses is used. Similarly, it may be preferable to associate addresses such as user identifiers and contract identifiers in a distributed ledger system with URLs such as domain names and record them in servers 3F, 3E, 5A, 5B, and the like.
<Remarks on copying>
Although the head-mounted display 453A prevents copying of 450A by a film camera, a digital camera, etc., it is possible to record if it is possible to see it with the human eye and write it down by hand. If it is information that remains in human memory, it can be secondary creation based on it. It is difficult to completely restrict copying and imitation. It is also possible that n-th creation and n-th use will occur in the form of spreading what was recorded by secondary creators.
However, it is not assumed that children and students will be prohibited from copying what they have memorized within the scope of personal use in the form of learning from the content for fun or study.
Usage examples of OTP tokens are subject to content rights holders and laws.

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

<暗号化ファイルの復号時の注意>
暗号化ファイル復号時に平文ファイルDecDataに悪質なプログラムが含まれることが想定される。
平文ファイルを作成する際に平文ファイルにファイル作成者以外の第三者が発行した電子証明書DecCertを付与又は電子署名し、発行者を閲覧者が電子証明書を通じて確認できるようにする。さらに書籍や音声動画コンピュータソフトなどは外部の第三者が平文の監査を行い悪質なコンピュータウイルス等のプログラムが無いことと平文ファイルのコンテンツのレイティングを付与したことを示す監査証明書AuditRatを付与することが好ましい。
なお個人や団体の機密文章を暗号化するビジネス用途ではAuditRatは付与しなくともよい。また顧客が悪質なプログラムが動作されることも許容して利用する場合はDecCertも利用されない。
暗号化ファイルにEncDataにそのデータのハッシュ値と内容を保証するEncCertを付与することもできる。
<Precautions 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, an electronic certificate DecCert issued by a third party other than the file creator is attached or signed electronically to the plaintext file so that a viewer can confirm the issuer through the electronic certificate. In addition, books, audio and video computer software, etc. are audited by an external third party and given an audit certificate AuditRat, which indicates that there is no program such as a malicious computer virus, and that the content of the plaintext file has been rated. is preferred.
AuditRat does not need to be assigned for business purposes in which confidential texts of individuals or groups are encrypted. Also, if the customer allows the malicious program to be run and uses it, DecCert will not be used either.
It is also possible to add an EncCert that guarantees the hash value and content of the data to EncData in 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 for virtually constructing a plurality of 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 behavior is unknown. It may be preferable that the software CRHN403A of the present invention is constructed in such a virtual environment system.
This is one of the means of minimizing 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 amount of processing of a third-party organization that audits plaintext is limited, and in the present invention, if various data are issued by a countless number of private corporations with the software CRHN403A, the audit will not be thorough, An audit certificate may be issued even though malicious software is embedded. Also, unknown virus programs may not be audited, so it is preferable to be able to execute them in a virtual environment. It is desirable not to store more personal information or private files than necessary in the virtual environment in which 403A operates. It may also be preferable to divide private keys into hobby 403 keys, business 403 keys, and important financial keys.
In order to realize a virtual environment, the software CRHN403A may be web browser software capable of constructing a virtual environment or operating software including a web browser, or the CRHN has a basic software portion corresponding to the BIOS of a computer. good too.

本発明を実施するにあたり、実施例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, in Example 1, Example 2, and Example 3, the block size was variable in the form of voting for the block gas limit value, and was performed on the Ethereum test net. In addition, the smart contract was written in the programming language Solidity, recorded on the blockchain, and deployed.
In Example 1, 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 is the creator and administrator of the smart contract, are connected to the network 20 (FIG. 8A or FIG. 1-20) is used to access the blockchain control processing unit 310A and the blockchain recording unit 300A of the terminal 3A to set the secret value KC and the BC value that only the contract administrator can change for the contract that generates and authenticates the one-time password. , compiled, converted to bytecode, recorded in the block data of the block number, and expanded.
In the Ethereum test network of the embodiment, a new block is concatenated every 15 seconds and the block number Bn is incremented by one. The block number Bn is a variable that varies every 15 seconds and is proportional to time, which is a physical quantity.
In Example 1 of the present invention, a block number was used as a variable representing time on the blockchain. Bn×15 [sec] is used to find how many seconds have elapsed since a block chain with a block number of 0 was created in a certain block number Bn. In Ethereum, the time interval t [sec] does not need to be 15 seconds, and any time interval t [sec] can be set, but this time, the present invention was implemented using 15 seconds determined by the testnet.

秘密鍵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, 101A of the user UA. However, depending on the situation, it may be recorded in the recording device DWALT 1603A of the external storage device 16A connected wirelessly or by wire to the terminal 1A. The DWALT 1603A may be a contact IC card type, a non-contact IC card type, a contact storage device type (hardware wallet), or a non-contact tag type (NFC tag type). Alternatively, the private key PRVA1608A recorded on paper or a board may be used.

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

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

<ブロックチェーン上のデータを検索し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 that corresponds to the right to read content related to books of publishers in demand on the blockchain, and people can use the name of the OTP token, the issuer of the OTP token (publisher name, etc.), and the OTP token Total number of issued (total number of books sold), total number of owned user identifiers (total number of purchased user accounts), presence or absence of multiple OTP tokens (how many were purchased for each user identifier), OTP token transfer Users can search for restrictions, rating information on the signboard information KNBN of OTP tokens, publisher contact information, OTP token purchasers, encrypted data distribution destinations, etc., and users can check the distribution status of OTP tokens Information on the purchaser of the OTP token can be checked, and the retrieved information can be used as a criterion for deciding whether or not to purchase 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 blockchain>
In addition, the user made a contract to use the service provided by 3F, registered as a user, and registered contact information such as an e-mail address, which is personal information, in the notification destination database 3013F using the notification destination registration unit 3113F. 3010F and 3110F monitor the occurrence of a transaction with respect to the contract identifier or user identifier specified by the user, and the 3F updates the blockchain state change notification destination database 3013F when a new transaction occurs and the state changes. It is necessary to notify the time when the state change occurred and the content of the state change by sending the e-mail address or telephone number or user identifier of the user who is the notification destination registered in the .
When the OTP generation function and OTP authentication function are executed and the number of executions can be recorded in the contract internal variables 3017A, 3017AG and 3017AA, the user can monitor the changes of 3017A, 3017AG and 3017AA recorded in the contract on the server terminal 3F. The contract identifier for which monitoring is requested, the token number of the OTP token of the contract corresponding to the contract identifier, the user identifier, etc. are associated with each other and recorded in 3010F of 3F.
The state change detection unit 3111F operated by the state change detection program 3011F detects a change in the transaction of the contract identifier or user identifier specified by the user, and the OTP token transaction or user identifier transaction belonging to the contract specified by the user is newly generated. When the state of the blockchain changes, the state change detection unit 3111F detects the state change of the blockchain, and the notification unit 3112F uses an e-mail address or phone number or SMS (Short Message Service) to perform the transaction. 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 a transaction occurs even though the user does not operate it, inform the provider of the service corresponding to the contract identifier of the OTP token that there was unauthorized use, and the user and the service provider It is expected that the two parties will discuss and resolve the issue.
3017A, 3017AG, and 3017AA are information recorded in the blockchain and are difficult to falsify. A transaction that newly changes the information is sent to the blockchain, and once it is connected to the blockchain, it is difficult to change or tamper with it. If someone illegally obtains a person's private key 401A or 101A and operates an OTP generation function or an OTP authentication function in which a variable such as 3017A is set in the OTP token of the present invention, the record cannot be canceled. In the present invention, a server that constitutes a block chain system such as 3A has a function to detect and record access information such as IP address, location information, and device ID for crime prevention. Combining functions to detect and notify unintended unauthorized use may be able to discourage those who attempt unauthorized use.
For that purpose, the block chain part such as the server 3A records the information of the person accessing the server 3A, and the service providing server part such as the server 3C and the advertisement server 5A also has an access information monitoring function as shown in FIG. In addition, it may be possible to create a 3A block chain type access database and 3C block chain type access database and store them on each server so that the access data cannot be falsified.

<ブロックチェーンシステムDLSからOTPトークンなどの資産残高を改ざん検知できる証明書の形で配布する機能>
ほか、ユーザーが3Fはブロックチェーン上のユーザー識別子とコントラクト識別子のトランザクションを取りまとめ、ユーザーの名前や住所など個人情報が記入された取引明細書(通帳)やOTPトークンなどDLS上の資産残高証明書や取引報告書をユーザー識別子やコントラクト識別子を検索キーとして検索し検索結果を取りまとめてタイムスタンプや電子署名やHMACなどを用い検索結果をあるタイムスタンプの時刻における残高や取引の明細書として、改ざん検知ができる形でユーザーに配布してもよい。
<Function to distribute asset balances such as OTP tokens in the form of certificates that can detect tampering from the blockchain system DLS>
In addition, the user 3F collects transactions of user identifiers and contract identifiers on the blockchain, statements (passbooks) in which personal information such as user names and addresses are filled, and asset balance certificates on DLS such as OTP tokens, etc. Transaction reports are searched using user identifiers and contract identifiers as search keys, and the search results are summarized. Using time stamps, electronic signatures, HMAC, etc., the search results are used as balances and transaction statements at the time of a certain time stamp to detect falsification. It may be distributed to users in any form available.

<トークンを未来のあるブロック番号までコントラクトに預けることを約束する機能>
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 future block number>
The term token deposit function (OTP token TimeDeposit function, term deposit in currency is formed into the OTP token of the present invention) that prevents the OTP token from being moved to a future block number (until a certain future period) in the OTP token. It may be incorporated into the token of the OTP token of the invention and used, and the function cancels the TimeDeposit function of the OTP token. may be used to create an asset balance certificate that is difficult to falsify.
For example, even if the OTP token transfer restriction has been lifted, the user does not intend to transfer it until a certain period of time (several years or decades). It is assumed that it will be used for Even if there is an unauthorized access due to leakage of the secret key, the TimeDeposit function can prevent the transfer by the token transmission 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 contracts>
Blockchain search monitoring that accesses information from the contract identifier and signboard information KNBN of the contract of the identifier according to the user's request from the block chain part data recorded by the server terminal 3A, and provides 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 the terminal 1A and the terminal 4A to access the 3F from the desired OTP token contract identifier, OTP token service name, OTP User identifiers that have issued tokens, information on OTP tokens with a large number of searches, information on OTP tokens with a large/small number of issued totals, etc. can be searched. Here, 3F already has an existing service example, so the explanation can be omitted.
The server terminal 3F and the search and monitoring services provided by it are Blockchain Explorer (a system for investigating, browsing, and searching information on the blockchain), and Etherscan, an information search site by an organization called Etherscan, is an existing example. (reference source, https://etherscan.io/ viewed December 8, 2020). In the present invention, the presence of the terminal 3F enables access from a terminal that does not have a secret key or a terminal 1A that has a secret key, and makes it possible to investigate, search, and view data on the blockchain according to the settings of the terminal 3F.
Without the terminal 3F, the terminal 1A would have to access the terminal 3A and find the desired information from the blockchain by itself. In addition, for users who do not have private keys to access the blockchain (101A of terminal 1A, 101B of terminal 1B, 101C of terminal 1C, 401A of terminal 4A, etc.) to see the data exchange occurring on the blockchain Also, such a blockchain search service site and a terminal 3F responsible for it are required.

ブロックチェーンについて検索するサービスとして既存の例ではイーサスキャンが挙げられる。本発明ではブロックチェーン上の情報を検索し収集することは発明内容ではないので省略するが、本発明のサーバ3Fに加えサーバーP(図1の3A)や端末1A、端末1B、端末1C、端末4A、サーバ端末3C、端末3D、端末5A等はブロックチェーンにアクセスし任意のコントラクトのトランザクションデータを記録し、データベースを構築してコントラクトに関するデータを検索してもよい。なおイーサスキャンから検索する場合はURIで指定したユーザー識別子やコントラクト識別子のトランザクションを検索できる。
次に示す3つのURIは本発明の実施例において用いたコントラクト作成者および管理者の識別子に関するURIのトランザクション検索結果画面である。(1.https://ropsten.etherscan.io/address/0x0f398803BE4319B98F164cae47589797aC5cF906、2.https://rinkeby.etherscan.io/address/0x0f398803be4319b98f164cae47589797ac5cf906、3.https://goerli.etherscan.io/address/0x0f398803be4319b98f164cae47589797ac5cf906、2020年12月8日閲覧)
Etherscan is an existing example of a service that searches for blockchains. In the present invention, it is not the content of the invention to search and collect information on the blockchain, so it is omitted, but 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 4A, server terminal 3C, terminal 3D, terminal 5A, etc. may access the blockchain to record transaction data of any contract, construct a database, and retrieve data related to the contract. When searching from EtherScan, transactions with user identifiers and contract identifiers specified by URI can be searched.
The following three URIs are transaction search result screens of URIs for contract creator and manager identifiers used in the embodiment of the present invention. (1.https://ropsten.etherscan.io/address/0x0f398803BE4319B98F164cae47589797aC5cF906、2.https://rinkeby.etherscan.io/address/0x0f398803be4319b98f164cae47589797ac5cf906、3.https://goerli.etherscan.io/address/0x0f398803be4319b98f164cae47589797ac5cf906、2020 Viewed December 8, 2020)

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

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

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

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

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

<有向非巡回グラフ系システムにスマートコントラクトを搭載したシステムへの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 Directed Acyclic Graph Systems with Smart Contracts>
In a directed acyclic graph (DAG) type system or a system in which a smart contract of a data structure not included in it operates, the user of the contract administrator accesses the contract for one-time password generation and authentication at any time, A transaction for rewriting the secret variables KC and BC is described in the distributed ledger, and it is possible to generate a password OWP by changing KC or BC and use it for authentication. In the case of password OWP, the contract manager can change the variables KC and BC at any time regardless of the block chain or DAG time information, so it can be applied to data structures such as DAG.
In the present invention, the password OWP, which can be changed by rewriting the seed value at any time T by the user of the contract administrator, is also effective and applicable to the platform that operates the smart contract with a data structure different from the blockchain. be done. In DAG, by rewriting the variables of KC and BC, which are the seed values of OWP, from the terminal of the contract manager at certain times, a dynamic password can be generated that changes at certain times, similar to TOTP. In this case, the storage device and processing device are provided with a program to change the KC and BC values of the contract for each specified date and time on the terminal of the contract manager, thereby automating the updating work of the KC and BC values. can also (With a DAG equipped with a smart contract, even if the implementation of the TOTP type is difficult, it is possible to construct a pseudo-TOTP authentication system by using an automated program that changes OWP and OWP seed values.)

本発明では実施例でイーサリアムを用いており、本発明はイーサリアムを基盤としたブロックチェーンとそれを用いたスマートコントラクトの実行システムで動作出来ることを検証しながら発明を行った。発明を行ったのは西暦2020年であり、その当時の最新の版であるイーサリアムと、プログラム言語Solidityを用いている。 In the present invention, Ethereum is used in the embodiment, and the present invention was made while verifying that it can operate with a block chain based on Ethereum and a smart contract execution system using it. It was invented in the year 2020 and uses 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 smart contract is used to use information that changes at a certain time on the blockchain as a seed value for a dynamic one-time password, and a system that decrypts encrypted data using the authentication system, A login system to a website, and an authentication system using a medium such as an NFC tag 19A using a digital device, a valuable paper sheet 18A such as paper, a display 1500A, or the like for a ticket or a key for unlocking has been explained.
The block number Bn of the latest block data in the blockchain at the time of authentication, the block hash value, the timestamp value, the token number of the token belonging to the contract, the blockchain user identifier, the IP address, the location information, the computer device information, and the computer Characterized by using a physical quantity measured using an environment sensor 4440, a position sensor 4441, a motion sensor 4442A, or a biometric authentication sensor 4443A of a sensor 444A of a built-in input device 44A, fraud of a user's secret key used in a blockchain An authentication system that can monitor and detect usage and notify the user. The above-described authentication system of the present invention has been described with reference to the embodiments, symbols, drawings, and the like.

ただし本発明はブロックチェーン基盤の発明ではないのでイーサリアムの詳細については省略している。実施例の前提として本発明はイーサリアムとイーサリアムのスマートコントラクトの動作する環境で動作する。さらにイーサリアム及びそのブロックチェーン上で動作するスマートコントラクトを用いるウェブアプリ、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 embodiments, the present invention operates in an environment in which Ethereum and Ethereum smart contracts operate. In addition, web applications using smart contracts that operate on Ethereum and its blockchain, dApps (distributed application software), web browser software, ECMAscript, Solidity, computer operating software, blockchain nodes, networks, servers that become nodes, etc. For computers, use an environment in which Ethereum can operate. Regarding implementation, preferably a blockchain infrastructure that can use encrypted transactions and contracts.

<ネットワークの定義>
本発明で示される通信網2に含まれる暗号化されたネットワーク20(ネットワークNT)、暗号化されていないネットワーク22(ネットワークNTP)は光ファイバや電線のような有線ケーブルと無線設備等を用いた、地球規模の通信網であるインターネットワークでもよい。
ネットワークには接続の制限されたローカルエリアネットワークLANを用いたものでもよい。
<Network definition>
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 wired cables such as optical fibers and electric wires and wireless equipment. , or an internetwork, which is a global communication network.
The network may be a local area network LAN with limited connections.

<インターネットワークとローカルエリアネットワーク上のコントラクトの連携>
ここでインターネットワークと物理的に接続できないネットワークとは、団体の建物のみの中で利用されるネットワークや、ある建物と遠くに離れた建物を専用の回線で結んで形成されたネットワークのことを示し、その例として企業や公的機関、大学、研究機関、金融機関等が用いる専用回線で構築されたコンピュータネットワークである。
本発明においてワンタイムパスワード認証を行う際にパスワードを算出するハッシュ関数などの処理の内容と、その引数が一致できれば認証可能である。例えば紙のチケットでパスワードOWPを生成する際は、OWPの生成はインターネット経由でブロックチェーンにアクセスして生成し紙に印刷し、紙のチケットの認証はサービスを提供する建物の入場口のチケット読み取り端末3Dは建物内のローカルエリアネットワーク(LAN)に接続され、そのLAN上で動作する建物専用のブロックチェーンのコントラクトにアクセスし認証を行う。
ここで重要なこととしてインターネットと建物のLAN間でのブロックチェーンのコントラクトはOWPを算出するハッシュ関数fhなど処理内容とシード値KCが一致していなければいけない。LANのブロックチェーンにてOWPの認証ができれば、ユーザーは建物に入場できる。
インターネットワークと物理的に接続できないネットワーク はLANの規模に限らない。大学の構内程度から一都市全域までをカバーするコンピューターネットワーク、もしくは遠隔地のLANを専用の回線で連携させたコンピューターネットワークでもよい。
<Cooperation between internetwork and contract on local area network>
Here, a network that cannot be physically connected to an internetwork refers to a network that is used only within an organization's building or a network that is formed by connecting a building far away with a dedicated line. , for example, a computer network constructed with dedicated lines used by companies, public institutions, universities, research institutions, financial institutions, and the like.
When the one-time password authentication is performed in the present invention, authentication can be performed if the content of processing such as a hash function for calculating a password and its argument match. 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 is authenticated by reading the ticket at the entrance of the building that provides the service. The terminal 3D is connected to the local area network (LAN) in the building, and accesses and authenticates the building-specific blockchain contract that operates on the LAN.
What is important here is that the block chain contract between the Internet and the building LAN must match the processing content such as the hash function fh for calculating the OWP and the seed value KC. If the OWP can be authenticated on the LAN block chain, the user can enter the building.
A network that cannot be physically connected to an internetwork is not limited to the size of a LAN. It may be a computer network that covers from the campus of a university to an entire city, or a computer network that links LANs in remote locations with a dedicated line.

<ローカルエリアネットワーク上でのコントラクトの連携>
ワンタイムパスワードの生成と認証を行う関数等とシード値が一致しているならば、同一のLAN内や異なるLANで構築されたブロックチェーン上のコントラクトにてワンタイムパスワードの生成と認証が行える。具体的にはある研究機関で研究所内の実験データなどを本発明のソフトウェア403Aを用いた暗号システムで暗号化する、または研究施設や設備を施錠するといった際に、インターネットワークに接続していないLANにブロックチェーンを形成し、研究所の職員に応じたアクセスレベルのワンタイムパスワードを社員のICカード式社員証などに付与して、暗号化データの閲覧、実験で得られた平文データの暗号化、研究施設や設備の解錠に用いる。
<Cooperation of contracts on the local area network>
If the function for generating and authenticating the one-time password matches the seed value, the one-time password can be generated and authenticated in a contract on a blockchain built in the same LAN or a different LAN. Specifically, in a research institution, when encrypting experimental data in the laboratory with an encryption system using the software 403A of the present invention, or when locking research facilities and equipment, LAN that is not connected to the internetwork A blockchain is formed in , and a one-time password with an access level according to the staff of the laboratory is given to the employee's IC card type employee ID card, etc., and the encrypted data is viewed and the plaintext data obtained in the experiment is encrypted. , used to unlock 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, storage devices such as the user terminal 1A and the server terminal 3A include a read only memory ROM (Read Only Memory) and a random access memory RAM (Random Access Memory). In addition, an SSD (Solid State Drive) composed of a flash memory which is one of semiconductor memories, an HDD (Hard Disk Drive) using a magnetic disk, and a magnetic tape 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 Issue on EU General Data Protection Regulation (GDPR)" https://www.jetro.go.jp/world/europe/eu/gdpr/ View December 8, 2020), it is expected that personal information protection will become necessary.
Personal name and address, e-mail address, telephone number, IP address, location information, ID (device ID) unique to devices such as terminals 1A and 4A, values of sensor 444A of terminal input device 44A, user identifier and OTP In the present invention, when the token number of the token is collected as shown in FIG. 6X and held in a terminal such as server 3C or server 5A, the consent of the owner of the terminal is sought, what kind of information is collected, and unauthorized access is detected. The function of explaining and asking for consent to be used for is available in the services described in Examples 1, 2, and 3 having the data structure of FIG. 6X. In the present invention, when monitoring and detecting unauthorized use of the private key of a user terminal, user identifiers, token numbers, IP addresses, terminal sensor values, etc., which are personal information of users, are collected.
In the present invention, in order to detect unauthorized access while protecting personal information, user identifiers, token numbers, IP addresses, location information, IDs (device IDs) unique to devices such as terminals 1A and 4A, and Terminal sensor values are either anonymized (preventing identification irreversibly, processed by hashing, cutting off part of the hash value after hashing, etc.) or pseudonymized (reversibly pseudonymized data and (When personal information is encrypted and stored), the information can be recorded in the data format shown in FIG.

本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、本発明の認証システムが利用されるサービス・暗号化データ・装置・容器・乗物・建物ごとに法令を遵守した利用が行われ、それに応じてコンピュータ端末、ネットワーク、サーバ端末、記録装置、入出力装置を追加して利用されうる。本発明の認証システムを利用するユーザーの個人情報の保護を行いつつ、データやサービスへのアクセスコントロールを前提として本発明を適用したシステムは運用される。また実際に利用される形態ではスマートコントラクトに本発明の説明で述べた処理の内容の他に、ユーザーに対し様々な業種や種類のサービスを提供するために必要な変数や関数・処理を追加することが考えられる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、例としてイーサリアム等に限らずその他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。
While several embodiments of the present invention have been described, these embodiments are presented by way of example and may be used for each service, encrypted data, device, vessel, vehicle or building in which the authentication system of the present invention is utilized. It can be used in compliance with laws and regulations, and can be used by adding computer terminals, networks, server terminals, recording devices, and input/output devices accordingly. A system to which the present invention is applied is operated on the premise of access control to data and services while protecting the personal information of users who use the authentication system of the present invention. In addition, in the form in which it is actually used, in addition to the contents of the processing described in the explanation of the present invention, variables, functions, and processing necessary to provide various industries and types of services to users are added to the smart contract. can be considered.
While several embodiments of the invention have been described, these embodiments have been presented by way of example and are not intended to limit the scope of the invention. These novel embodiments are not limited to Ethereum, for example, and can be implemented in various other forms, and various omissions, replacements, and modifications can be made without departing from the scope 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のユーザ。
UB 端末1Bのユーザ。
UC 端末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) Distributed ledger technology.
DLS (Distributed Ledger System) Distributed ledger system. DLS is used as an abbreviation for the blockchain system and the DAG type system to which the present invention is applied.
URI (Uniform Resource Identifier) A general term for URLs, URNs, etc. that specify the location of information on the Internet.
Manage private keys used in wallet software DLS. For example, it is used as a web browser extension function with a password. You can access the web page/DLS with the recorded private key.
Hardware wallet An external storage device for a private key that records the private key on a digital device. Some devices can work with wallet software. From the point of view of a private key storage device, it is similar to a personal number card.
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 DLS processing. In the embodiment, the private key, the public key, the hash value of the public key, and the partial data of the hash value are cut and used as the user identifier.
UA User of terminal 1A.
UB User of terminal 1B.
UC User of terminal 1C.
UP User of terminal 4A.
BnTOTP An abbreviation for a one-time password based on the time on the blockchain, which is calculated based on the block number Bn and the seed value KC inside the contract on the DLS such as the blockchain.
OWP Abbreviation for password used when the contract owner (Owner) rewrites the contract internal variables KC and BC of the distributed ledger system DLS to an arbitrary number of times at an arbitrary time to generate a pseudo OTP.
BIOS Abbreviation for Basic Input Output System. Performs basic control such as loading operating system software from the terminal's storage device or an external recording device, and recording time information.
EFI Abbreviation for Extensible Firmware Interface. The latest BIOS standard used at the time of patent application.
ROM Read Only Memory. A storage device that can only be read after data is written.
RAM Random Access Memory. A memory device that can erase and rewrite data.
CPU Central Processing Unit. A central processing unit of an electronic computer (computer), which integrates a control unit and an arithmetic unit.
SoC System on Chip. A chip that integrates multiple functions such as a CPU, graphics processing unit, GNSS and other wireless signal reception modem, and wireless communication modem. Constructs a communication device and a control arithmetic device.
Abbreviation for MCU Micro Control Unit. micro control unit.
NFC Abbreviation for Near Field Communication. Near field communication.
NITZ network id and timezone.
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 a distributed ledger system DLS such as a blockchain, among the information TB (or Tm) that changes at the latest time T on the DLS, using a variable that changes in the latest block on the blockchain depending on the time such as the block number Bn We realized a one-time password authentication system in which the password BnTOTP dynamically changes based on time.
In addition, the information TB that changes at the latest time T on the DLS can be pseudo- A contract administrator change type one-time password authentication system using the password OWP of the token number TIDA valid until the contract administrator changes the value.
Then, a time-based one-time password authentication system is realized in which the contract manager can change and update the seed values KC and BC of the password BnTOTP to arbitrary values at any time.
Furthermore, in a public blockchain, we believe that it is necessary for security to use a random seed value for BnTOTP calculation. We realized a one-time password authentication system that is used to calculate BnTOTP as the original value of . Using BnTOTP as an example, it is possible to log in to a website, decrypt encrypted data, and enter an online service providing venue in the real world by logging in to the website.

<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に行わせ認証結果が正しいときに施錠を解錠させることができる。
<Application by BnTOTP>
Website logins can be used for multi-factor authentication in banking, securities, insurance and payment businesses. It can also be applied to login to membership sites, electronic commerce, online data storage, e-mail, online commercial software, and 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.
<Application by OWP>
It is used for valuable paper sheets 18A such as tickets and NFC tags 19A for unlocking.
The password OWP is displayed and printed by the user, and the user is made to print the user identifier A, the token number TIDA, and the password OWP as a character string or bar code on paper as 18A, or record it in a contactless digital device such as an NFC tag 19A. , paper and electronic tickets are manufactured, and an authentication system that provides services can be constructed by reading and authenticating the password OWP, the user identifier A, and the token number TIDA from the previous tickets in the real world where the services are provided. Any paper can be used as long as it can print information, 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. As for the printing method, a method without a printing plate is used, and a character string or a barcode can be recorded on a medium such as paper, plastic, or metal plate according to instructions output from a computer.
If the authentication information can be read with a camera or the like, the information can be recorded not only on paper but also on metal plates, slates, and the like. Even if the camera is not used, it is possible to manually authenticate the character string. Even if there is no printer, the user can manually write down the character string required for authentication on paper or a metal plate in a readable state, bring it as a ticket to the place where the service is provided, and present or transmit the character string to the service provider. Alternatively, the service provider can manually enter the string into the authentication function for authentication. However, since this method cannot be labor-saving or automated, a character string or a bar code indicating it is printed on paper or the like, and the service provider reads the character string bar code with a camera or scanner for authentication.
When OWP, user identifier A, and token number TIDA are recorded in the NFC tag 19A, the terminal 3D that manages locking that can read the NFC tag 19A reads A, TIDA, and OWP and causes the terminal 3D to perform authentication processing. Locking 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 recording authentication information such as OWP>
Authentication by a digital device such as the NFC tag 19A is expected to be faster than paper authentication. The NFC tag 19A may be a portable terminal or a terminal that is easy to wear, and may be built in a mobile phone terminal such as a smartphone, a wallet type, an IC card type, a tag type such as a key ring, a glasses type, a hearing aid, headphones, or earphones. A mold, a garment mold with an NFC tag 19A, a watch mold, a bracelet mold, a belt mold, a shoe last, and the like. (Unauthorized access detection is also possible when a terminal such as a smart phone that can be connected to the network 20 and the NFC terminal 19A are communicating and cooperating 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 made of cloth, plastic film, paper, etc. on which OWP or the like is printed on accessories 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等の情報を印刷して有価紙葉を製造できるかもしれない。
<Authentication of products by tag using OWP>
In the present invention, tickets using OWP are assumed to be membership cards, identification cards, gift certificates, and service tickets (valuable paper sheets). In addition, when authenticating and authenticating clothing items that have acquired trademark rights (including three-dimensional trademark rights), the model number of the clothing item, the contract identifier of the OTP token, the manufacturing number and the OTP token number, User identifiers of trademarked product manufacturers, OWP codes, can be used for authentication. In this case, NFC tags embedded in products protected by trademark rights, etc., or in the form of barcodes made of cloth or paper, etc. that are visible on the surface of the product, authenticate whether the product is a legitimate distribution product. can.
When an NFC tag is mounted on clothing, the user can determine the authenticity of the clothing product authenticated by what kind of NFC tag. However, at the same time, there is a risk that the data of the NFC tag embedded in the clothing can be read by wireless communication, which may infringe on the privacy of the user who has the tag.
On the other hand, compared to the NFC tag, the method in which the OWP or the like is printed, dyed, or woven on cloth or the like is not read wirelessly, and is therefore useful for protecting personal information. If the authentication information is written on paper or cloth, put the OWP authentication information tag as the serial number of the product next to the washing indication, size information, and manufacturer information in the tag part that usually writes the size of clothes that is not usually visible. can be attached.
Although clothing is shown as an example, labels for agricultural, forestry and fishery products that are protected by rights holders, labels for daily necessities such as food, labels for alcoholic beverages such as wine and sake, labels for clothing, labels for leather products, labels and engravings for jewelry. , electrical and electronic equipment labels, housing labels, parts labels for automobiles and mechanical equipment, models/toys, paper books, music/movie discs, etc. Labels (and tags) for products with copyright holders ), the present invention can be applied to product authentication and authentication.
Even for small products such as semiconductors and electronic components, patterning, engraving, and printing of fine character strings or barcodes on semiconductor packages and built-in silicon and elements, OWP that is indistinguishable with the naked eye but can be distinguished with a microscope. By recording such authentication information, reading the OWP information, and substituting the read information into the authentication function, it is possible to check whether the product is genuine or not. When OWP is used, even if the print content or engraving content is so minute that it cannot be visually distinguished, it can be authenticated if it can be read as character information or image information by enlarging it.
Wearable computers, wristwatches, rings, jewelry, semiconductor chips (IC silicon pieces before packaging), and other small precious metals, semiconductors, and stone materials. It is also conceivable to record it with a stamp or the like and use it for authentication. In the case of accessories such as rings, stamping is performed on the base material of the main body of the ring, which fastens jewels and the like. It may be possible to manage product distribution by recording a plurality of detailed information such as OWP on products such as precious metal jewelry and ingots. When distributing valuable paper sheets made of plastic film or paper, it may be possible to manufacture valuable paper sheets by printing minute information such as OWP so that they cannot be easily read.

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

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

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

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

<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>
In OWP, the contract manager rewrites the seed value for one-time password calculation in the contract, thereby changing the password generated by the token with the token number belonging to the contract. 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 in the OWP method by sending a transaction to the DLS so that the contract manager changes the seed value BC 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 administrator can change the seed value used for calculating BnTOTP, like OWP.
In the smart contract on DLS, the concept of the OWP method and the BnTOTP method can be imagined as the case where the second hand of the clock 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 can be changed, and a dynamic password can be generated by the DLS smart contract (a variable that changes with time, such as a block number derived from DLS, is adopted as a counter variable. or send a transaction to rewrite the counter variable via smart contract).
Here, compared to BnTOTP, OWP also includes updating of the seed value, so it is a necessary element in the present invention.
In the present invention, by using OWP, it is possible to provide services in the real world using valuable paper sheets such as tickets, provide services in the digital world such as websites, software that decrypts encrypted data, and advertisement distribution services for that software. Unauthorized use monitoring service for private keys is possible.
In addition to OWP, focusing on data such as block numbers used for DLS such as blockchains that do not require manual updating of counters, BnTOTP is obtained by adding the block number Bn to the argument of the hash function that calculates the OWP password. By doing so, the seed value of the one-time password can be changed manually and the seed value can be automatically updated by the DLS.

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

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

<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 tokens as security tokens>
It has been described that it can be used as a ticket for logging in to websites in the 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 legally regulated securities. 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 Browsing, ) may be used as
As one of the specific usage forms of the security token, the OTP token used in the OTP authentication system of the present invention is tied to the stock of the corresponding company, and the contract manager of the OTP token performs transfer restrictions and custody transfer. , Dividends out of the profits of the company will be distributed by transferring them to the securities accounts of the owners of the OTP tokens in cooperation with securities companies and trust banks.
Then, it may be possible to use the OTP authentication system to log in to the website where the general meeting of shareholders is held, and to exercise voting rights by an electromagnetic method at the general meeting of shareholders through voting and the like using the OTP authentication system of the present invention. Voting rights are given to one OTP token and used for processing to log in and vote by exercising the voting rights on the website for the general meeting of shareholders. In addition, when the shareholder uses the rights (the right to use the company's own service, the shareholder's complimentary ticket, etc.) that can be received when the shareholder has a stock-type OTP token, the BnTOTP-type OTP is displayed on the display of the terminal 1A. It may be presented to the provider or the service providing terminal, and when the OTP authentication result is correct, the service may be received.
In this way, it may be used as a voucher or securities in the financial field such as banks and securities. It is also envisioned for use in relation to building locks and for ownership and use rights of building real estate.

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

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 the user identifier of the TIDA token owner. Equipped with a setter function that A can change, KCU [TIDA] can be rewritten only by user identifier A, and although contract administrator 1C cannot rewrite, only users can access and rewrite OTP tokens owned by users. It is also possible to build a pseudorandom number generator that can vary the seed value used to calculate the pseudorandom numbers.
In addition to the secret variable KC value set by the contract manager, a secret variable KCU [TIDA] that can be set by the holder of the OTP token according to the OTP token number is set, and the user sets it for each token. The OTP is generated by adding the obtained KCU[TIDA] to the argument of the hash function fh. A calculation example of the OTP is BnTOTP=fh(A, TIDA, KC, Bn, KCU[TIDA]) in the case of the BnTOTP type.
Mapping type variables such as KCU [TIDA], KCU [TIDB], KCU [token number] (or variables such as structure type and array type are also possible, it is possible if the KCU data array can be expressed using the token number as a key) By being able to set by the user, it is possible to obtain the lottery result with the KCU [token number] determined by the user instead of the KC value determined by the contract administrator. may help prevent it.
As an example of the fraudulent act of the contract manager, for example, if the side managing the game in an online game knows all the seed values including the KC value, the OTP of the specific token number of the specific user identifier will be sent at some time in the future. It is conceivable that the server 3C will know what kind of OTP value can be obtained, anticipate it, and incorporate malicious processing targeting the user identifier A or the like into the online game providing program of the server 3C.
Therefore, if the seed value KCU [token number] of the OTP token held by the user is set and can be changed (and the transaction sent when the user identifier A changes KCU [TIDA] can be made anonymous) ), it becomes difficult for the contract manager to guess the future OTP value of the user. If the user also does not know the KC value determined by the contract manager, the OTP value generated by the OTP token of the token number TIDA held by the user is not known, so it can be used as a pseudo-random number generator. Contract administrators may be discouraged from guessing because they do not know when users will change the OTP seed value KCU[TIDA].
Here, the industrial applicability of the present invention when it is used as a pseudo-random number generator for online games has been described. may be used in making decisions.

<OTPトークンをコンテンツとみなしデータ流通させる可能性>
電子書籍や紙の書籍とも異なる分散型台帳システムを利用した暗号化データの流通を可能にする。譲渡制限が行われていない状態においてOTPトークンと暗号化データとその復号用のソフトウェアCRHN403Aを別のユーザーに譲渡する事が可能になる。我が国で作成された著作物に由来するデータを海外に流通しやすくすることが可能になる。
データには小説、漫画、音楽、動画、コンピュータゲームソフトウェア、ビジネス用ソフトウェア、3DのCADデータ(及びその3DのCADデータを使い3Dプリンタから出力される模型等3次元物体)が含まれ広範なコンテンツをOTPトークンという閲覧権・データ復号鍵として二次流通市場で取り扱われる可能性もある。また二次流通時にトークンの譲渡を任意の時間に制限し、または制限を解除する機能を持つため権利者の要望に沿った流通を行える。
OTPトークンと暗号化データの流通時にデータを復号した際に広告およびアクセス監視サーバーを設けることで、閲覧されているコンテンツの権利者に広告収益を分配することを意図している。また広告表示機能は不正アクセスの防止機能を兼ねており、OTPトークンの持ち主の秘密鍵の不正利用を検知することもできる。ソフトウェアCRHN403Aにも広告等表示機能があり、不正アクセス防止と広告表示、ソフトウェア更新通知などを行う。
<Possibility of circulating data considering OTP tokens as content>
Enables the distribution of encrypted data using a distributed ledger system that is different from e-books and paper books. It is possible to transfer the OTP token, the encrypted data, and the decryption software CRHN403A to another user in a state where transfer restrictions are not applied. It will be possible to facilitate the distribution overseas of data derived from works created in Japan.
Data includes novels, comics, music, videos, computer game software, business software, 3D CAD data (and 3D objects such as models output from 3D printers using 3D CAD data), and a wide range of content. may be treated in the secondary distribution market as a viewing right/data decryption key called an OTP token. In addition, since it has a function to limit the transfer of tokens at any time during secondary distribution or cancel the limitation, distribution can be done according to the request of the right holder.
By providing an advertisement and access monitoring server when data is decrypted during circulation of OTP tokens and encrypted data, it is intended to distribute advertisement revenues to the rights holders of the content being viewed. The advertisement display function also serves as an unauthorized access prevention function, 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 to prevent unauthorized access, display advertisements, and notify 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 that is different from e-books and paper books, and distribution of OTP tokens as ownership rights and access rights. to enable. In computer software, commercial software and game software are also distributed as OTP tokens representing ownership and access rights.
As long as the OTP token contract does not have a built-in removal function, the OTP token will continue to be recorded and stored in a tamper-resistant blockchain in association with the user's private key and the corresponding user identifier. If a user has a terminal with the same function as the node terminal 3A and can become a block chain node like Ethereum, as long as there is a user who wants to keep the block chain, the OTP token possession information can be saved. If the software distributed by the computer software vendor distributes encrypted data or unencrypted plaintext data embedded in the software CRHN, the software is recorded and retained in the user's terminal and the software is operated. can continue.

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

<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 satellite terminal 5C such as GNSS that can be connected to the node terminal 3A of the block chain, and the positioning signal received by the ground station terminal 1A and the terminal 4A. By authenticating the data via the network 20 with the authentication function 3018A of the node terminal 3A of the block chain, it is possible to determine whether the positioning signal of the broadcasting station 5C is correct and whether the GNSS positioning signal is a spoof.
GNSS signals are information used by automobiles, aircraft, ships, mobile phones/smartphone terminals, and unmanned aircraft to determine their own positions. The location information and the time information are linked with the data on the block chain by using the authentication by BnTOTP, and the location information and the time information of the terminal 1A that received the positioning information including the BnTOTP and the block chain information are used to confirm that the terminal 1A is It may be possible to authenticate whether you were in a certain place at a certain time.
Then, by using the location information, time information, and block chain information of the terminal 1A that received the positioning information including BnTOTP, BnTOTP and time are added to information such as text image information, video, and audio recorded by the terminal 1A through the input/output device. By recording information and location information, it is possible to add a reliable time stamp with location information to input/output information and printed matter. (A MAC value of HMAC may be assigned to the data.)
In addition, certified location information for navigation applications in automobiles, ships, aircraft, and unmanned aerial vehicles may allow these machines to move more safely.

このGNSS信号にBnTOTPを添付するという考え方は、OWPを用いたタグによる物流管理において18Aや19Aの形で物にOWPを添付して流通を管理していた考え方を、端末5Cから放送されたデータの流通に応用したものであって、BnTOTPを放送データに添付して放送データの流通を管理するものである。GNSS信号に限らず放送データや配信データにBnTOTPやOWPを添付して認証し真贋を判定してもよい。 The idea of attaching BnTOTP to this GNSS signal is different from the idea of managing distribution by attaching OWP to things in the form of 18A or 19A in logistics management using tags using OWP. BnTOTP is attached to broadcast data to manage the distribution of the broadcast data. BnTOTP or OWP may be attached not only to GNSS signals but also to broadcast data or distribution data to authenticate and determine authenticity.

<ダウンロード販売プラットフォームとの関係>
ダウンロード販売プラットフォームにより電子書籍や音声動画データ、コンピュータソフトウェア、コンピュータゲームソフトウェアが販売されることが増えている。しかしダウンロード販売プラットフォームはそれを運営する会社ごとに異なるアプリケーションソフトウェアをインストール必要があったり、そのソフトウェアを維持する会社が存続できなくなった場合にはサービスが終了する恐れがある。
例として電子書籍やコンピューターゲームは閲覧権やプレイする権利を購入していることがあり、紙の書籍やコンピュータゲーム端末に読み込ませるゲームソフトウェアの記憶された半導体メモリ式ROMカセットや光学ディスクの所有権を販売する形態とは異なる。
本発明では権利者が許可する場合に限りその所有権をOTPトークンとして流通させ、ブロックチェーンシステム・OTPトークン・トークンの割り当てられた秘密鍵401A・ソフトウェアCRHN403Aにて復号できる暗号化データの形でコンテンツを所持可能とする狙いがある。災害などでオフラインになるときはOTP認証し閲覧できた事を証明する証明書データと秘密鍵401Aを用いて閲覧を可能とし、常にインターネットワークへの接続を必要とせずコンテンツを利用できる。
本発明においてもブロックチェーンを構成する3A、3Bなどのノードがすべてなくなってしまう場合にはOTPトークンを支えるブロックチェーンのハードウェアがなくなり、サービスが終了することは起きえる。しかし3Aや3Bのような端末を構成したいと思ったサーバ管理者がいたときには公開されたオープンソースのソフトウェアに沿ってノード端末3Aを維持できる。
OTPトークンに結びつけられたデータやサービスに価値を見出してデータやサービスに対応するOTPトークンを維持するためにノード端末3Aをユーザーが用意して用意した端末がブロックチェーンの1つのノードになることができれば、そのブロックチェーンがサービスを終了しにくくするかもしれない。
ブロックチェーンの場合にはある会社のアプリケーションとは異なり世界中でノードとなる端末が存在しネットワーク20を用いて接続されていれば動作させることができる。ブロックチェーンのノードが世界中に分散していれば地球上の局所的な災害に強いデータベースシステムになりうる。
<Relationship with download sales platform>
Electronic books, audio/video data, computer software, and computer game software are increasingly being sold by download sales platforms. However, the download sales platform requires different application software to be installed by each company that operates it, and there is a risk that the service will be terminated if the company that maintains the software becomes unable to survive.
For example, e-books and computer games may have purchased the right to read and play, and the ownership of semiconductor memory type ROM cassettes and optical discs that store game software to be loaded into paper books and computer game terminals It is different from the form of selling
In the present invention, the ownership is distributed as an OTP token only if the right holder permits it, 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 CRHN 403A. There is an aim to make it possible to possess When the user goes offline due to a disaster or the like, OTP authentication is performed, and the certificate data proving that the user has been able to view the content can be viewed using the private key 401A, and the content can be used without always needing to be connected to the internetwork.
Even in the present invention, if all the nodes such as 3A and 3B that make up the blockchain disappear, the hardware of the blockchain that supports the OTP token disappears, and the service may end. However, when there is a server administrator who wants to configure a terminal like 3A or 3B, node terminal 3A can be maintained according to open source software released to the public.
In order to find value in data and services linked to OTP tokens and to maintain OTP tokens corresponding to the data and services, a user prepares a node terminal 3A and the prepared terminal can become one node of the blockchain. If possible, the blockchain might make it harder to terminate the service.
In the case of a blockchain, unlike an application of a certain company, it can be operated as long as terminals serving as nodes exist all over the world and are connected using the network 20 . If blockchain nodes are distributed all over the world, it can become a database system that is resistant to local disasters on the earth.

<仮想機械環境での稼働>
本発明のブロックチェーンは仮想的なサーバのネットワークで処理されることも考えられる。パーソナルコンピュータやサーバなどの電子計算機の端末はハードウェア面およびソフトウェア面での変化が激しく、例えば本発明では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 network of virtual servers. Electronic computer terminals such as personal computers and servers undergo drastic changes in hardware and software. However, there is a risk that the software itself that activates the operating software, such as BIOS and EFI, will be changed, making it impossible to operate existing operating software, web browsers, and blockchain client software. It is also conceivable that blockchain-based public-key cryptography, cryptographic hash functions, and common-key cryptography could be updated.
Therefore, not only the server 3A but also the node terminals and web service terminals 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 operating software of the server terminal due to compatibility issues, it is possible to run it on a virtual computer, on a server, or on multiple servers. may be preferable. (Examples of compatibility issues are changes in Internet protocols for browsing websites, changes in programming languages such as ECMAScript)

<長期の稼働>
長期にわたり現実または仮想機械環境で利用されることも考慮し、ブロックチェーンシステムの消費する電力量は少ないほうが好ましく、Proof of AuthorityやProof of StakeなどのProof of Workよりも低い消費電力であることが期待されるブロックチェーンシステムの合意形成アルゴリズムを用いることが好ましい。端末やネットワークを動かす電源装置には持続可能なエネルギーを利用することが望ましい。
サービス提供者はブロックチェーン上からサーバ3Fなどを用いてサービスに対応したOTPトークンの持ち主の名簿を持ち、ブロックチェーンのみに依存せず持ち主の情報を名簿のように記憶できていることが好ましい。通常、実施例1や実施例2に示したウェブサイトへのログインやイベントなどでのチケットの用途、自動車や建物の鍵などは有限の期限(イベントの開催期限、自動車の耐用年数、ウェブサイト運営会社のログイン方法の変更等)があり、ヒトの寿命を超える前にサービスを提供する法的な根拠が無くなる用途が多い。
一方で実施例3に示す暗号化データを復号する用途ではヒトの寿命を超えて後世に残されることが想定される。既存の紙と墨で書かれた古文書や版画の浮世絵はヒトの寿命を超えて過去の出来事を伝えている。もし本発明がそれらのように長い期間にわたる場合には、OTPトークンが無ければ閲覧しにくい文章、音楽レコード、動画情報、コンピュータゲームソフトウェアが発生すると予想され、これらOTPトークンは古書店などで暗号化データや復号用の情報と共に紙の古文書などと同じく古物として販売されうるかもしれない。
<Long-term operation>
Considering that it will be used in a real or virtual machine environment for a long time, it is preferable that the amount of power consumed by the blockchain system is small, and the power consumption is lower than that of proof of work such as proof of authority and proof of stake It is preferable to use the consensus building algorithm of the expected blockchain system. It is desirable to use sustainable energy for the power supply devices that operate terminals and networks.
It is preferable that the service provider has a list of owners of OTP tokens corresponding to the service using the server 3F or the like on the blockchain, and can store the owner information like a list without relying only on the blockchain. Usually, login to the website shown in Example 1 and Example 2, use of tickets for events, etc., keys for cars and buildings, etc. company's login method, etc.), and there are many uses where there is no legal basis for providing services before the end of human lifespan.
On the other hand, in the application of decrypting the encrypted data shown in the third embodiment, it is assumed that it will be left for future generations beyond the human life span. Ancient documents written with existing paper and ink and ukiyo-e woodblock prints convey past events beyond the human lifespan. If the present invention lasts for such a long period of time, it is expected that texts, music records, video information, and computer game software that are difficult to read without OTP tokens will be generated. Along with the data and decryption information, it may be sold as an antiquarian item, just like paper antiquities.

<ユーザーがシード値を変更できる場合>
コントラクトにいくつかのシード値となる変数があり、一部はコントラクト管理者のみがアクセスでき、ほかの変数は全くコントラクトに関係ないユーザーが書き換えることの出来る変数と、トークンの持ち主が書き換えることのできる変数を用意し、ユーザーが任意時間、任意数値に変更できることで疑似的なランダム値になり得る。ユーザーのトークン番号に対応したワンタイムパスワード生成シード値を設定しそれをオンラインゲームなどでの擬似乱数の生成要素にすることもできる。またランダムさを用いるサービスとしてくじ引きなどにも利用されうる。
<When the user can change the seed value>
The contract has some seed variables, some of which are only accessible by the contract admin, others are totally unrelated to the contract and can be overwritten by the user, and others can be overwritten by the token owner. By preparing a variable and allowing the user to change it to any value at any time, it can become 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 lotteries and the like 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 keys for decrypting encrypted confidential information>
It is possible for a certain organization to encrypt plaintext data that is to be viewed only by users who have been granted OTP tokens, distribute the data as encrypted data, and allow viewing. In the present invention, in addition to decryption using only the distributed ledger, an external password AKTB that is used within the organization is set. As an example, a company distributes prototype vehicle parts and models as 3D CAD data as encrypted data, and uses CRHN403A software that can decrypt it and an OTP token (and the return when authenticated with the OTP token). An employee who has the value CTAU) and the external password AKTB can decrypt and view the data, and can create parts and models based on the 3D CAD data.
The confidential information OTP token is linked to 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 in which a secret key assigned to a personal number card, an IC card-type employee ID card, or a student ID card is recorded is connected and communicated. It is also intended to encrypt sensitive information, personal information, personal records, and confidential information. (In this case, if the IC card that records the private key is damaged or lost, the private key may be lost. Therefore, the IC card issuer copies the private key to a storage device, and prevents the storage device from being 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 viewing rights to decrypt encrypted data broadcasting>
When performing broadcasting or communication by amateur radio, business radio, or the like, the token of the present invention may be used to exchange encrypted radio or television viewing rights as OTP tokens. 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, cable broadcasting, and Internet broadcasting. For example, it may become possible to contract or buy/sell viewing rights for programs broadcast in one country A and another country B, and view them. Radio information can also be encrypted and broadcasted by private amateur radio stations and corporate stations. It can also be used for business communication in factories and company premises.

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

<衛星放送の閲覧権としてのOTPトークンと電波資源の関係>
宇宙空間に多数の人工衛星による通信および放送ネットワークがあって、地上において端末4Aが人工衛星型の放送局5Cからの暗号化データを無線放送により取得できるとき、暗号化データ(雑誌・新聞等データ、ソフトウェアデータの情報等を含む)を放送し、それらデータを受信した端末4Aの秘密鍵401Aにデータの復号が可能なOTPトークンがある場合に復号させ利用させるという形式も考えられる。なおこの時の暗号化の鍵TTKY(4033A)は各放送コンテンツに対応するOTPトークンごとに設定される。
具体的にはある新聞またはテレビジョンの暗号化データを放送するサービスに対応したOTPトークンがありそれを所持する人が端末4Aに備え付けた受信機にて暗号データ放送に対応した帯域(チャンネル)において受信した暗号データをOTPトークンで復号し閲覧視聴する。OTPトークンはサブスクリプションサービスにより定期購読もしくは定期視聴の契約が行われる。定期契約の契約終了後にOTPトークンは利用ができなくなるように設定される。地上波放送を災害時の放送を含め既存の放送を行いつつ、より高付加価値または大容量でなおかつ新しい用途の放送・通信を宇宙空間の人工衛星網で行うことも検討されうる。
地上の携帯電話やスマートフォン、パーソナルコンピュータ、IoTデバイスといった端末の利用に必要な電波資源の有効利用と既存の放送を両立しつつ、電波資源を災害や日常生活での必要性に照らして有効活用する必要性があるとき、本発明のような暗号化データのアクセスコントロール技術とそれを権利化したOTPトークンによる視聴権の流通が利用できるかもしれない。
<Relationship between OTP tokens as viewing rights for satellite broadcasting and radio wave resources>
When there is a communication and broadcasting network by many artificial satellites in outer space, and the terminal 4A on the ground can acquire encrypted data from the artificial satellite type broadcasting station 5C by radio broadcasting, encrypted data (data such as magazines, newspapers, etc.) , software data information, etc.) is broadcast, and if there is an OTP token capable of decrypting the data in the private key 401A of the terminal 4A that received the data, it may be decrypted and used. Note that 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 that corresponds to a service that broadcasts encrypted data of a certain newspaper or television, and the person who possesses it has a receiver attached to the terminal 4A in a band (channel) that supports encrypted data broadcasting. The received encrypted data is decrypted with the OTP token and viewed and viewed. OTP tokens are contracted for regular subscription or regular viewing by a subscription service. The OTP token is set so that it cannot be used after the end of the fixed-term contract. While existing terrestrial broadcasting, including broadcasting in times of disaster, may be conducted, it may be possible to consider using satellite networks in outer space for broadcasting and communications with higher added value or larger capacity for new uses.
Effective use of radio wave resources necessary for the use of terminals such as mobile phones, smartphones, personal computers, and IoT devices on the ground and existing broadcasting, and effective use of radio wave resources in light of disasters and needs in daily life. When necessary, access control technology for encrypted data like the present invention and distribution of viewing rights by OTP tokens enforcing it may be used.

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

本発明ではヘッドマウントディスプレイ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 viewing the encrypted data is directly or hashed. It can be obtained indirectly by performing authentication and can be browsed by simple authentication.
Here, the head-mounted display 453A has a smaller screen than a mobile terminal, a tablet computer, or a television viewing display. make it difficult. The software CRHN 403A can be programmed to operate only when the terminal 4A is connected to the CRHN 453A, and an authentication system and an encrypted data decryption viewing system can also be provided to prevent shooting of content obtained by decrypting encrypted data. .
Biometric authentication device 4530A may measure body temperature using a temperature sensor. Point-like, one-dimensional, and two-dimensional thermography is obtained from the head and eyes of the wearer of the 453A to detect the presence of the wearer and the characteristics of the wearer. Authentication related to the shape of the face of the head, biometric authentication related to the eyes, biometric authentication derived from the ear structure, biometric authentication derived from the shape of the head, and biometric authentication related to blinking may also be used.

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

<BnTOTPをタイムスタンプとして使う場合>
BnTOTPを生成した場合のKC値やBC値を除くシード値の入力を求める認証関数を用いて、BnTOTPによるとOTPを生成した際にブロック番号Bnとユーザ識別子Aとトークン番号TIDAが記録された箇所が果たしてそのブロック番号に固有のOTPを記録したタイムスタンプとして機能しているか検証できる。ここで記録する箇所は認証を行う端末1A記憶装置内のデータでもよいし端末1Aが文章データを紙などに印刷する際に付加して印刷してもよい。このときサーバ端末3Aのブロックチェーン部に存在するOTP生成コントラクトとOTP認証コントラクトは簡易なタイムスタンプサーバとして機能する。
<When using BnTOTP as a timestamp>
Location where block number Bn, user identifier A, and token number TIDA are recorded when OTP is generated according to BnTOTP using an authentication function that requests input of seed values excluding KC value and BC value when BnTOTP is generated function as a time stamp that records the OTP unique to that block number. The data to be recorded here may be the data in the storage device of the terminal 1A that performs the authentication, or the text data 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 block chain part of the server terminal 3A function as a simple timestamp 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値を変更する事は好ましくないかもしれない。
Consider the following BnTOTP as an example of time stamps to generate and authenticate an OTP.
BnTOTP=fh(A, TIDA, KC, Bn)
Arguments of the authentication function corresponding thereto are (A, TIDA, Bn) except for the secret variable KC which is anonymized as an example.
At this time, the KC of the BnTOTP is anonymized, the user terminal 1A executes the OTP generation function, and the block number Bn at the time of OTP acquisition, the user identifier A, the token number TIDA, and the secret KC Get the calculated BnTOTP. Then, the terminal 1A records A, TIDA, Bn, and BnTOTP in the plaintext data and applies an electronic signature to the file so that falsification of the data can be detected. Alternatively, add A, TIDA, Bn, and BnTOTP to the data for printing to make it a simple time stamp written at the bottom of the page, etc., execute printing, and create a printed matter that is presumed to have been printed near 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. Changing the KC value may not be desirable 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, consider a case where the next BnTOTP is calculated as another example of time stamps to generate and authenticate an OTP.
BnTOTP=fh(A, TIDA, KC, Bn, V)
Arguments of the corresponding authentication function are (A, TIDA, Bn, V) except for the secret variable KC, which is anonymized as an example.
At this time, the KC of BnTOTP is anonymized, and the user terminal 1A executes the OTP generation function, and 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. Then, the terminal 1A records A, TIDA, Bn, V, and BnTOTP in the plaintext data, applies an electronic signature to the file, and makes it possible to detect falsification of the data.
Alternatively, five of A, TIDA, Bn, V, and BnTOTP are added to the print data as time stamp data, written at the bottom of the page, etc. as a simple time stamp, and printing is executed, and when the time of the block number Bn is near, printing is performed. You can create a printed matter that is presumed to have been done. 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 existed at the time when the terminal 1A acquired the BnTOTP and the electronic signature was performed. When a printer is connected to the terminal 1A, the printing time can be authenticated by printing A, TIDA, Bn, and V as time stamps.
If the terminal 1A is a computer built into a printer, the printer itself has the function of accessing the OTP generation contract of the blockchain part of the server terminal 3A through the network 20 and printing A, TIDA, Bn, and V. It is also possible to record five of A, TIDA, Bn, V, and BnTOTP at the bottom of the page of the printed matter each time printing is performed inside the printer according to the user's request. A printer terminal 1A with a time stamp function can be used that can print while adding a simple time stamp to printed matter in cooperation with the OTP contract of the blockchain. Changing the KC value may not be desirable 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 BnTOTP is used as time stamp and OTP authentication information for valuable paper>
Using BnTOTP, simple time stamps are applied to data and recorded, or printed on paper or the like together with sentences. , Bn, V, and BnTOTP information uses OWP Add block numbers Bn and V to the three pieces of information A, TIDA, and OWP to be filled in on a paper ticket, and add them to the authentication function so that they can be read as arguments of the authentication function It is what I did.
Therefore, it is possible to create BnTOTP type paper tickets and valuable paper sheets in addition to the OWP type. In the second embodiment, OWP is used for authentication. When the OTP calculation formula is changed to BnTOTP=fh (A, TIDA, KC, Bn), the OTP obtained from the generation function, block number Bn, user identifier A, and token number TIDA are stored in storage device 10A of terminal 1A. The four pieces of information A, TIDA, Bn, and BnTOTP recorded in 10A can be printed as character strings or bar codes on paper using a printer and recorded, and used as valuable paper sheets 18A. Alternatively, the 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の放送局となるサーバ端末を制御する端末もしくは装置(例として5Cが人工衛星局の時、5CCは地上局で5Cは5CCと通信し5CC経由でネットワーク20に接続されうる。)
1A Terminal DA serving as a terminal of user UA, terminal 1A (electronic computer DA, electronic computer 1A.)
10A Storage unit of terminal 1A (including recording device, recording unit, ROM and RAM)
101A User's private key PRVA recorded in terminal 1A
101A2 User's private key PRVA2 recorded in terminal 1A
102A A block chain program for terminal 1A to access a block chain unit such as server P via a network using private key PRVA of 101A.
Here, the program 102A is a block chain identifier (block chain identification information, including network ID, chain ID, etc.),
It is also possible to include URI information indicating the server terminal 3A as an access destination node.
11A Control unit of terminal 1A 110A Control processing unit that accesses blockchain of terminal 1A
12A Communication device of terminal 1A (can also be considered as one of the input/output devices)
120A Short-range wireless communication (NFC device) of terminal 1A
121A Wireless communication device of terminal 1A 122A Wired communication device of terminal 1A (if necessary)
123A Broadcast receiver of terminal 1A (If necessary. Includes GNSS and data broadcast receiver. Wireless broadcast receiver may be included in wireless communication device.)
13A Control and arithmetic device of terminal 1A 14A Input device of terminal 1A 140A Keyboard of terminal 1A 141A Pointing device of terminal 1A (input device such as mouse, touch panel, etc.)
142A Camera or scanner of terminal 1A (solid-state imaging device for detecting photons, image sensor)
143A Terminal 1A microphone (sound sensor)
144A Terminal 1A sensor (accelerometer, gyro sensor, magnetic sensor may be able to measure three-dimensional physical quantities. One or more types of sensors may be used)
1440A Terminal 1A environment sensor (temperature sensor, humidity sensor, barometric pressure sensor, pressure sensor, illuminance sensor, light 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 capable of reading patterns such as face information, body temperature or thermography, voice, ear structure, hand structure, fingerprint, veins, etc.)
15A Output device of terminal 1A 150A Display of terminal 1A 1500A Ticket displayed on display of terminal 1A, image of valuable paper 18A, OTP authentication information 151A Speaker of terminal 1A 152A Printer of terminal 1A
16A External storage device and external input/output device of terminal 1A, external computer terminal 1600A IC card reading device of terminal 1A (contact type IC card reader, non-contact type IC card reader)
1601A Contact or non-contact IC card or non-contact IC tag of terminal 1A 1602A Secret key 101A etc. built in IC of terminal 1A 1603A Recording device DWALT (external Including connected hardware wallet DWALT, IC card type, dongle type, etc.)
1604A Secret key 101A recorded in DWALT 1603A of terminal 1A, or software containing secret key 101A 1605A Secret key processing software recorded in DWALT 1603A of terminal 1A IC chip group, MCU, etc.)
1607A Input/output device of DWALT 1603A of terminal 1A, communication device 1608A Private key 101A printed, printed, stamped or recorded on paper or metal plate by printer or human hand. (It may be recorded in the form of character strings or barcodes on paper, metal plates, slates, etc.)
17A Terminal 1A power supply (*As a premise for the device of the present invention, computers, server terminals, input/output devices, external storage devices, and networks have a power supply and are driven by electric power.)
18A Ticket printed on paper or the like with the printer of terminal 1A, valuable paper 180A Printed information of barcode or character string or both required for one-time password authentication of the present invention described in 18A 181A Barcode described in 18A OR Token number TIDA information contained in character string or both 182A Password OWP information contained in barcode or character string or both described in 182A 183A User identifier contained in barcode and/or character string described in 18A Information of A 184A Information, design, etc. necessary for use as a ticket or valuable paper sheet described in 18A.
19A Wired communication type or short-range wireless communication type IC card, IC tag type ticket, etc. Valuable paper sheet or key for locking and unlocking (mainly NFT tag, NFC card type ticket)
190A Storage device according to 19A 191A Control processing device according to 19A 192A Communication device according to 19A 193A Control arithmetic device according to 19A 194A Input device according to 19A 195A Output device according to 19A 197A Power supply according to 19A Device 1B Terminal DB of user UB, terminal 1B. 1B may be a portable terminal such as a smart phone. A terminal DB is a user terminal that has the same function as DA and possesses and uses tokens used for authentication of the present invention.
10B Storage device of terminal 1B 101B User private key PRVB recorded in terminal 1B
102B A program for terminal 1B to access a block chain unit such as server P via a network using private key PRVB of 101A.
Here, the program 102B is a block chain identifier (block chain identification information, including network ID, chain ID, etc.),
It is also possible to include URI information indicating the server terminal 3A as an access destination node.
11B Control unit of terminal 1B 110B Control processing unit that accesses blockchain of terminal 1B
12B Communication device of terminal 1B 13B Control and arithmetic device of terminal 1B 14B Input device of terminal 1B (Environment sensor, motion sensor, position sensor are provided as input devices. Examples include temperature sensor, geomagnetic sensor, magnetic compass, digital It has a compass needle device.)
15B Output device of terminal 1B 16B External storage device and external input/output device of terminal 1B, external computer 17B Power supply device of terminal 1B 1C Computer terminal DC of user UC who manages the contract related to the one-time password of the present invention, terminal 1C
10C Storage device of terminal 1C 101C User's private key PRVC recorded in terminal 1C
101C2 Arbitrary second secret key PRVC2 of user UC recorded in terminal 1C
102C A program for the terminal 1C to access a blockchain unit such as the server P via the network 20 using the private key PRVC of 101C.
Here, the program of 102C is a block chain identifier (block chain identification information, including network ID, chain ID, etc.),
It is also possible to include URI information indicating the server terminal 3A as an access destination node.
11C Control unit of terminal 1C 110C Control processing unit that accesses terminal 1C block chain
12C communication device of terminal 1C 13C control and arithmetic device of terminal 1C 14C input device of terminal 1C 15C output device of terminal 1C 16C external storage device or external computer of terminal 1C (IC card, IC tag, An NFC card or NFC tag may also be used.)
17C Power supply device of terminal 1C 2 Communication network, network 20 Communication path capable of encrypted communication, network NT (wired or wireless two-way communication path, server and terminal are connected via communication network. Encryption encrypted communication and non-encrypted communication)
21 Broadcasting communication path NTB (This is a wired or wireless broadcasting type information transmission path, and one-to-many one-way communication is possible. The information sender sends information to multiple user receivers at the broadcasting station in real time. )
22 Unencrypted Network NTP (Two-way communication path, wired or wireless. No encryption, so plaintext message data must be encrypted if necessary.)
3A Server P, server terminal 3A (Terminal that becomes a node of the distributed ledger system connected by the user. Shares the distributed ledger part with other nodes. A virtual server built in a certain terminal may be used.)
30A Server storage unit of server terminal 3A (storage device of server P)
300A Distributed ledger recording unit of server terminal 3A (300A is a blockchain-type or DAG-type distributed ledger or a recording unit for a distributed ledger)
3000A Latest block data recorded in 300A 3001A Block number Bn in the latest block recorded in 300A
3002A The latest block recorded in 300A or the timestamp value in the system 3003A The hash value Bh in the latest block recorded in 300A
3004A Value V determined by votes among nodes constituting 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, 3008AG, 3008AA etc. is recorded)
3007A Basic information of the blockchain recorded in 300A (including data recording how many seconds the blockchain is connected)
3008A OTP generation contract (one-time password: OTP) with authentication function recorded in 300A
3008AG OTP generation contract recorded in 300A 3008AA OTP authentication contract recorded in 300A 3009A OTP generation function recorded in 300A 3010A Hash function fh used for OTP generation and authentication recorded in 300A
3011A secret key variable KC recorded in 300A
3012A Function fscb that can use either or both of the variable KC and the variable BC recorded in 300A in an arbitrary block number
3013A Variable BC that can only be changed by the user identifier C who is the contract administrator recorded in 300A
3014A A database that associates the token number of the token issued in 3008 recorded in 300A with the user identifier of its owner 3015A In 3014A, the user identifier A and the token number TIDA calculated from the private key PRVA101A of the user UA Associated information 3016A In 3014A, 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 portion that records the number of OTP generation and authentication function executions, etc. In the embodiment, a mapping variable OTPCT with a token number as a key and the number of executions as a value is used)
OTPCTG recorded in 3017AG 300A (OTP generating function execution count storage/recording unit. In the embodiment, a mapping variable with a token number as a key and an execution count as a value is used.)
OTPCTA recorded in 3017AA 300A (OTP authentication function execution count storage/recording unit. In the embodiment, a mapping variable with a token number as a key and an execution count as a value is used.)
3018A OTP authentication function recorded in 300A 3019A OTP generated contract identifier CPGT recorded in 300A
3020A OTP authentication contract identifier CPAT recorded in 300A
3021A Return value or data of the OTP authentication function recorded in 300A 3022A Processing details when the OTP authentication function is executed recorded in 300A, processing functions, etc. Such)
3023A A variable or database that is rewritten according to the process when authentication is successful with the OTP authentication function recorded in 300A (for example, the balance of a bank account, which is rewritten in the remittance process within the bank)
3024A Contract billboard information KNBN recorded in 300A (includes contract name, creator information, administrator information and contact information, rating, etc., with setter functions to change them)
3030A Block number remainder variable m recorded in 300A and its setter function (OTP authentication period extension variable and function)
3031A Integer n for adjusting the number of OTP digits recorded in 300A and its setter function (variables and functions for increasing and decreasing the number of OTP characters and digits)
3040A Token transmission function (token transfer function) recorded in 300A
3041A Assignment restriction variables tf and af recorded in 300A and their setter functions 3042A Contract administrator secret key leakage countermeasure portion recorded in 300A 301A Basic control program recording unit of server terminal 3A 31A Server terminal 3A Server control unit (control device of server P)
310A Distributed ledger system control unit (blockchain control processing unit or DAG type distributed ledger control processing unit) of server terminal 3A
311A Server basic control unit of server terminal 3A 32A Communication device and communication control device of server terminal 3A (communication device of server P)
33A Processing and control arithmetic device of server terminal 3A (control unit, processing unit, arithmetic unit device of server P)
34A Input device of server terminal 3A (input device of server P)
35A Output device of server terminal 3A (output device of server P)
37A Power supply for server terminal 3A (power supply for server P, power source for operating server P)
3B Server terminal 3B (server terminal B), and a server group that can be a block chain node like server terminal 3B and server terminal 3A 30B Server storage unit of server terminal 3B (storage unit has 300A same as server 3A)
31B Server control unit of server terminal 3B (control unit has 310A same as server 3A)
32B Communication device of server terminal 3B 33B Control and arithmetic device of server terminal 3B
34B Input device of server terminal 3B 35B Output device of server terminal 3B 37B Power supply device of server terminal 3B 3C Server SVLogin, server terminal 3C (terminal mainly used for website login, terminal providing web services such as website. It may be a virtual server terminal within a certain real terminal.)
30C Recording unit of server terminal 3C 300C Block chain recording unit of terminal 3C (if necessary. 300A and 300C are the same)
301C Service program and recording unit of terminal 3C Basic program of SVLogin of 3010C terminal 3C (including a program that connects to a blockchain to a website etc. It may have functions specific to services such as banking and electronic commerce)
3011C Database for access detection and monitoring of terminal 3C (Refer to 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 for terminal 3C (contacts the registered e-mail address, sends a dedicated notification token to the user identifier, sends a transaction and notifies of an abnormality)
3014C OTPCT change detection unit of terminal 3C (if necessary. Part that detects changes in the number of OTP generation or authentication contract executions)
3015C OTPCT change notification unit of terminal 3C (if necessary. Part that notifies OTP generation or changes in the number of authentication contract executions)
3016C Customer information database of terminal 3C (if necessary. Record user identifiers and token numbers that are eligible for use, such as service purchase history.)
31C Server control unit of terminal 3C 310C Block chain control unit of terminal 3C (not essential, 310A and 310C are the same)
311C Login and service control unit of terminal 3C 3110C Basic program control unit of SVLogin of terminal 3C (including a program that connects a website or a web application to a blockchain)
3111C Database for access detection and monitoring of terminal 3C (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 or not there is access with different IP addresses or IPV values such as sensor values for the same user identifier or token number information)
3113C Unauthorized access notification program for terminal 3C (contacts the registered e-mail address, sends a dedicated notification token to the user identifier, sends a transaction and notifies the abnormality.)
3114C OTPCT change detection unit of terminal 3C (if necessary. Part that detects changes in the number of OTP generation or authentication contract executions)
3115C OTPCT change notification unit of terminal 3C (if necessary. Part that notifies OTP generation or changes in the number of authentication contract executions)
3116C Customer information database of terminal 3C (if necessary. Record information such as service purchase history, user identifiers and token numbers that are qualified for use.)
32C Communication device and communication control device of terminal 3C 33C Control and arithmetic device of terminal 3C 34C Input device of terminal 3C 35C Output device of terminal 3C 37C Power supply device of terminal 3C 3D Server SVLog, terminal 3D access control terminal 3D (3D is a server terminal, computer terminal, or embedded system terminal)
30D Server storage unit of terminal 3D (30D stores OTP authentication function and variables and functions used for calculation of OTP authentication function)
300D Terminal 3D block chain recording part (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 that connects a website or web application to a blockchain)
3011D Terminal 3D access detection and monitoring database (stores time of access, number of accesses, user token information, or current service status at any time)
3012D Unauthorized access detection program for terminal 3D (if necessary. When 3011D includes information such as the appearance of the visitor and the device ID number unique to the NFC tag of the unlocker, determine whether it is different from past information)
3013D Unauthorized access notification program for terminal 3D (if necessary. Notifies the person managing 3D of the abnormality, and notifies the abnormality by sending a notification transaction to the registered e-mail address/user identifier)
3014D OTPCT change detection unit of terminal 3D (If necessary. The part that detects changes in the number of OTP generation or authentication contract executions. For example, a safe or car equipped with terminal 3D records the number of unlocks.)
3015D OTPCT change notification unit of terminal 3D (if necessary. Part that notifies OTP generation or changes in authentication contract execution count. Notifies change in unlock count via network when 3D is online)
3016D Terminal 3D customer information database (if necessary, records user identifiers and token numbers that are eligible for use, such as service purchase history)
Hash function fh recorded in 3010DA 30D
Secret variable KC recorded in 3011DA 30D
3012DA Setter function fscb (accessed by terminal 3D administrator) that modifies and updates either or both variables KC or BC recorded in 30D
3013DA Variable BC modified by contract manager recorded in 30D
3017DA Number of OTP authentication function executions recorded in 30D or numerical value recording part (expressed as a mapping variable or the like using the OTP token number at the time of authentication as a key)
3018DA OTP authentication function recorded in 30D of terminal 3D (provided with variables, functions and processing methods capable of calculating OTP equal to OTP generated by node terminal 3A)
3021DA OTP authentication function return value or data CTAU
3022DA 30D Recorded in OTP Authentication Processing Contents 3023DA 30D Variables or Databases to be Rewritten in OTP Authentication Processing Recorded in 3023DA 30D
31D Server control unit of terminal 3D 310D Block chain control unit of terminal 3D (not essential, 310A and 310D are the same)
311D Terminal 3D login and service control unit 3110D Terminal 3D SVLog basic program (including a program that connects a website or web application to a blockchain)
3111D Terminal 3D access detection and 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 email address and send a transaction to the user identifier to notify the abnormality.)
3114D Terminal 3D OTPCT change detector (if necessary. Part that detects changes in the number of OTP generation or authentication contract executions)
3115D OTPCT change notification part of terminal 3D (if necessary. part that notifies change in OTP generation or execution count of authentication contract)
3116D Terminal 3D customer information database (if necessary. Record user identifiers and token numbers that are eligible for use, such as service purchase history.)
32D Terminal 3D communication device, communication control device 33D Terminal 3D control and arithmetic device 34D Terminal 3D input device 340D Character string barcode reader such as camera of terminal 3D A camera or scanner that reads barcodes or character strings on paper (optical imaging device)
341D NFC tag signal receiver of terminal 3D (shared with 32D)
342D Terminal 3D visitor recording device or visitor recording means (for example, a security camera records the entry or unlocking person, etc. Instead of the device, personnel may be assigned to observe and record the visitor.)
35D Terminal 3D output device 350D Terminal 3D opening/closing device, gate device, locking device, starting device, locking/unlocking device, access control device (locked objects include doors of buildings, vehicles such as automobiles, machine tools, containers such as safes , including devices such as computers)
351D Terminal 3D lamps and other light-emitting elements, light-emitting devices (After authentication, users who are allowed to enter will be notified of the color and letters indicating that they can enter, and light will be used to indicate that they are not allowed to enter.)
352D 3D terminal buzzer, sound element, sound device (After authentication, users who are allowed to enter will hear the sound when they are authenticated. For users who cannot enter, they will hear a warning sound to inform the surroundings.)
37D Power supply device of terminal 3D 3E Server SVtk, terminal 3E (tickets 18A used by terminal 1A and play guides of NFC tags 19A used as tickets and keys. Tokens of encrypted data for 403A used by terminal 4A can also be sold. )
30E Server storage unit of terminal 3E 300E Block chain recording unit of terminal 3E (if necessary. 300A and 300E are the same)
301E Token-type ticket issuance information of terminal 3E (including website or application information that displays tickets to customers and token and service database using 300A/300E)
31E Server control unit of terminal 3E 310E Blockchain control unit of terminal 3E (if necessary. 300A and 310E are the same)
311E Ticket issuance processing control unit of terminal 3E (Part that sells tokens according to user instructions, displays ticket surface information such as tickets from the block chain, and enables printing. Includes 312E, 313E, and 314E.)
312E Part for acquiring information such as expiration date, pattern, display and print time of ticket set in block chain part 300E of terminal 3E and server 3E, print block number, time stamp 313E Processed by 311E and 312E of terminal 3E A processing unit 314E which draws the received information on the display of the user with the user identifier A who has received the access and converts it into an image of a valuable paper sheet such as a ticket or text data. , a processing unit that transmits information to be printed and recorded on a tag 19A or the like, or allows a web browser or the like to print and executes it 32E Communication device of terminal 3E 33E Control and arithmetic device of terminal 3E
34E Input device of terminal 3E 35E Output device of terminal 3E 37E Power supply device of terminal 3E 3F Server SVfind, terminal 3F (a device capable of searching transactions, contracts and user identifiers in the block chain part, monitoring and notifying usage.)
(Blockchain search engine that can search, confirm and issue the balance of user OTP tokens, and can also search and notify usage status.)
30F Server storage unit of terminal 3F 300F Block chain storage unit of terminal 3F (if necessary. 300A and 300F are the same)
301F Basic program such as block chain search monitoring of terminal 3F (Basic part for providing services such as searching and transaction monitoring, user balance calculation and output etc.)
(Including programs that connect blockchains to websites, etc.)
3010F Blockchain monitoring unit program of terminal 3F 3011F State change detection unit program of terminal 3F 3012F State change notification unit program of terminal 3F 3013F State change notification destination database of terminal 3F 3014F Blockchain search program of terminal 3F 3015F Blockchain of terminal 3F Searched information display program 3016F Blockchain search information database of terminal 3F 31F Server control unit of terminal 3F 310F Blockchain control unit of terminal 3F (if necessary. 300A and 310F are the same)
311F Basic processing unit/control unit such as block chain search monitoring of terminal 3F 3110F Monitoring unit of terminal 3F 3111F Status change detection unit of terminal 3F 3112F Status change notification unit of terminal 3F 3113F Status change notification destination registration unit of terminal 3F 3114F Blockchain information search unit of terminal 3F 3115F Blockchain search information display unit of terminal 3F 3116F Blockchain search information database processing unit of terminal 3F 32F Communication device of terminal 3F 33F Control and arithmetic device of terminal 3F
34F Input device of terminal 3F 35F Output device of terminal 3F 37F Power supply device of terminal 3F 4A Computer DP serving as a terminal of user UP, terminal 4A (P: user terminal equipped with player and playback device)
40A Recording unit of terminal 4A (storage device of computer DP)
401A User's private key PRVP recorded in terminal 4A (where PRVP is a private key indicating user identifier A like PRVA)
402A A program for the terminal 4A to access the blockchain (a URI or the like for accessing the node terminal 3A of the blockchain may be recorded)
403A Information of software CRHN for decrypting and browsing encrypted files using the present invention recorded in recording unit 40A of terminal 4A, software CRHN program and related data.
4030A Program information of software CRHN of 403A of terminal 4A (source code is obfuscated or encrypted. Variables included in 4030A are also obfuscated or encrypted)
(The URI for accessing the blockchain node terminal 3A 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 Identifier APKY of the contract that manages the key dedicated to the software application described in 403A
40302A Built-in private key CRKY described in 403A (It may be a private key of public key encryption that can access the block chain part DLS. 40302A is built in 4030A and obfuscated or encrypted)
40303A The return value CAPKY of the key management contract obtained from the blockchain described in 403A (not required, but can be set for additional security measures)
40303KA Secret variable K403 inside the software described in 403A (K403 is obfuscated or encrypted)
4031A Storage unit in terminal 4A of return value CTAU of OTP authentication function obtained from blockchain (CTAU can be changed by administrator of return value of authentication function)
4032A Storage in terminal 4A of password AKTB set outside blockchain and software CRHN 403A (AKTB can be changed by plaintext data manager)
4033A Storage unit for key information TTKY used for encryption and decryption described in 403A (key information including at least CTAU and calculated using AKTB and further using CRKY.)
4034A Encrypted data or file EncData decrypted by software CRHN used for 403A (4034A should be included in 40A)
40340A Encrypted data body EtData of 4034A
40341A Electronic certificate EncCert given to the encrypted data 4034A of the plaintext data issuer of 4034A (It may also contain an electronic signature. It may contain a MAC value. It may not exist.)
4035A Plaintext data or file DecData to be encrypted by software CRHN used for 403A (4035A should be included in 40A. DecData is access-controlled.)
40350A Plaintext data body CtData of 4035A
40351A 4035A plaintext data issuer's electronic certificate DecCert (Electronic signature may also be included. It is not necessary.)
40352A 4035A plaintext data audit certificate AuditRat (an audit certificate showing that the plaintext data is not a malicious program, or a third-party review result and rating; preferably)
4036A Browsed certificate data OFBKMK recorded in 40A (OTP-authenticated access certificate data. Data for offline access during disasters, etc. 4036A should be included in 40A.)
40360A ACTTKY obtained by encrypting CTTKY recorded in 4036A with secret key CRKY etc. built into CRHN program
40361A Data CTTKY obtained by encrypting TTKY recorded in 4036A with a private key PRVA (Information contained in 4036A. Either public key encryption or common key encryption can be used for encryption.)
40362A Information such as browsing time and browsing user identifier recorded in 4036A 40363A Authentication information such as HMAC recorded in 4036A 40362KA Certificate body data CHT403 recorded in 40A
40363KA Authentication information such as HMAC using 40362KA recorded in 40A as a message 404A Management program such as operating system for operating software CRHN recorded in 40A 405A External recording device of computer DP recorded in 40A (non-volatile memory, hard disk, optical disk, etc.)
41A Control unit of terminal 4A 410A Control processing unit that accesses blockchain of terminal 4A
411A Control processing unit of software CRHN of terminal 4A 42A Communication device of terminal 4A 420A Proximity wireless communication device of communication device 42A (if necessary)
421A Wireless communication device of communication device 42A 422A Wired communication device of communication device 42A (if necessary)
423A Broadcast receiver for communication device 42A (if necessary, including NITZ, JJY for time acquisition, GNSS receiver for time and location information positioning, and encrypted data broadcast receiver)
43A Control and arithmetic device of terminal 4A 44A Input device of terminal 4A 440A Keyboard of terminal 4A 441A Pointing device of terminal 4A (input device by mouse, touch screen, etc.)
442A camera or scanner of terminal 4A 443A microphone of terminal 4A 444A sensor of terminal 4A (accelerometer, gyro sensor, magnetic sensor may be capable of measuring physical quantities in three dimensions. One or more of the sensors may be may be used)
4440A Terminal 4A environment sensor (temperature sensor, humidity sensor, barometric pressure sensor, pressure sensor, illuminance sensor, light sensor, chemical sensor, odor sensor)
4441A Position sensor of terminal 4A (magnetic sensor or geomagnetic sensor or accelerometer)
4442A Motion sensor of terminal 4A (accelerometer or gyro sensor)
4443A Biometric authentication sensor of terminal 4A (sensor that can read patterns such as facial structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, fingerprint, veins, etc.)
45A Output device of terminal 4A 450A Display of terminal 4A (displays encrypted video data)
451A Speaker of terminal 4A (plays audio of encrypted music data and video data)
452A Printer of terminal 4A (Related data can be printed on paper as two-dimensional information when permission is obtained from the content right holder of the encrypted data. The type of printer includes a 3D printer that can output three-dimensional images.)
453A Head-mounted display of terminal 4A (HMD, head-mounted display. Used when the wearer wants to view the contents of encrypted data. Glasses-type display is also possible.)
4530A A biometric sensor attached to the HMD of terminal 4A.
4530A measures multiple biological information of the wearer (facial structure, body temperature or thermography, eye structure, blinking, voice, ear structure, hand structure, eye vein pattern, etc.), confirms the presence of the wearer and biometrics authenticate
4530A may share functionality with the sensor described in 4443A.
(Here, the sensor of 4530A is an input device that assists 453A. It is a sensor for confirming the existence of the wearer, and the biometric authentication function is attached to the existence confirmation function.)
(In the present invention, it is assumed that the HMD wearer's eye temperature measurement and thermography image are used for the purpose of confirming the presence of the wearer, not for authentication purposes, in consideration of privacy.)
(For body temperature, an infrared temperature sensor is installed inside the HMD to measure the temperature of the eyes and skin around the eyes of the vehicle. The sensor can be measured at one point, or the sensors can be arranged in a two-dimensional line or image. may be measured in the form of
(The sensor of the 4530A measures the temperature distribution around the wearer's eyes and the thermography of the wearer's face around the eyes, and uses it as simple biometric authentication information and existence confirmation information in consideration of privacy.)
(The temperature detected by the sensor of the HMD and its hash value may be notified to the service server such as the terminal 5A in order to detect unauthorized access to the private key if the wearer allows 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. Private key may be stored.)
47A Power supply device of terminal 4A 5A Server SVCRHNcm of terminal 5A (advertisement access destination server in encrypted file decryption browsing software)
50A Server recording unit of terminal 5A 500A SVCRHNcm operation program of terminal 5A (program for services such as advertisement information distribution targeted for link URI specified in software CRHN.
Includes a program that connects a website or web app to a blockchain. )
501A Access monitor database of terminal 5A (Database relating to user terminals and token numbers that accessed SVCRHNcm.
Information that associates a user identifier or token number with an IP address or location information or terminal ID or terminal sensor value and service usage status.
Accessor information may be hashed and processed to protect personal information before being stored. A diagram showing the data structure is shown in FIG. 6X. )
502A Unauthorized access detection program for terminal 5A (detects access from a terminal that indicates a different IP address, location information, terminal ID, or terminal sensor value for the user identifier or token number)
503A Unauthorized access notification program of terminal 5A (502A sends a notification token to the user identifier who may be subject to unauthorized access, or notifies the user by e-mail, SMS, etc. corresponding to the identifier)
504A Customer information database of terminal 5A (not essential. A ledger that records contact information corresponding to the user identifier.)
(For privacy considerations, if there is no customer information, unauthorized access will be notified by sending a notification token.)
(If you want to notify customers of unauthorized use at any time, you need a resident program to notify that the token has been sent to the terminal DP when the notification token is sent.)
505A Advertisement information distributed when accessed from URI information embedded in encrypted data of terminal 5A (advertisement content is controlled by token signboard information and rating obtained when encrypted data is decrypted.)
506A Information such as advertisements linked to information contained in software CRHN of terminal 5A (506A includes a function of distributing notifications such as version updates of software CRHN)
5000A Any block chain storage unit of terminal 5A (if necessary. 300A and 5000A are the same)
51A Server control unit of terminal 5A 510A SVCRHNcm control unit of 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 514A Customer information database management unit of terminal 5A 515A Encrypted data advertisement distribution unit for terminal 5A 516A Software CRHN advertisement distribution unit for terminal 5A 5100A Any blockchain control unit for terminal 5A (if necessary, 310A and 5100A are the same)
52A Communication device of terminal 5A 53A Control and arithmetic device of terminal 5A 53A Input device of terminal 5A 54A Output device of terminal 5A 57A Power supply device of terminal 5A 5B Server SVCRHNdrive, terminal 5B (encrypted data and file distribution, sharing, search , server use for version control.)
50B Server recording unit of terminal 5B 500B Program of terminal 5B (basic program unit of server for distributing encrypted data desired by user)
501B Encrypted file database recorded in terminal 5B (encrypted data or file hash value, 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 for information requested by the user from the database and downloads it from the server)
503B Encrypted file registration unit recorded in terminal 5B (the user uploads the encrypted file to the database,
A program that registers the identifier, file name, hash value, etc. of the one-time password generation and authentication contract that decrypts it)
504B Key information AKTB notification unit of terminal 5B (This may be an e-mail, or may be linked with a correspondence or telephone number SMS service. Key notification may be performed outside terminal 5B.)
505B Notification unit of delivery destination such as URI of file encrypted by AKTB of terminal 5B (mail notification unit for notifying URI of file encrypted with key TTKY generated using AKTB as one of keys)
506B Electronic commerce program for terminal 5B (if necessary. Used when selling content files such as books and video audio together with encrypted files and OTP generation tokens corresponding to them. Cooperation with payment function)
507B OTP generation and authentication OTP token issuing unit of terminal 5B (if necessary. Program for confirming completion of settlement of 506B and issuing OTP token capable of decoding data. Issue instruction to terminal 1C)
508B Database of access users of terminal 5B (if necessary. Database on access of customer users. Data structure is the same as in FIG. 6X.)
509B Unauthorized access detection unit of terminal 5B (This is not essential when only distributing encrypted data. It is preferable to be installed in terminal 5B when buying and selling encrypted data and OTP tokens using money in electronic commerce. )
5000B Any block chain storage unit of terminal 5B (if necessary, 300A and 5000B are the same)
51B Server control unit of terminal 5B 510B Service control unit of terminal 5B (parts controlled according to programs 500B, 501B, 502B, 503B, 504B, 505B, 506B, 507B, 508B, and 509B)
5100B Any blockchain control unit of terminal 5B (if necessary, 310A and 5100B are the same)
52B Communication device of terminal 5B 53B Control and arithmetic device of terminal 5B 53B Input device of terminal 5B 54B Output device of terminal 5B 57B Power supply device of terminal 5B 5C Server SVCRHNbroadcaster serving as broadcasting station, terminal 5C, broadcasting station terminal 5C
50C Server recording unit of terminal 5C 501C Private key for blockchain access of terminal 5C 502C Program for accessing blockchain using private key 501C of terminal 5C 503C Broadcast software of terminal 5C (even if software 403A is included May include software that broadcasts GNSS positioning information.)
5000C Arbitrary block chain storage unit of terminal 5C (if necessary. 300A and 5000C are the same. In particular, satellite type terminal 5C may have 5000C.)
5034C Encrypted data broadcast by terminal 5C (Data broadcast after encrypting 5035C with key TTKY that can be decrypted by 403A)
5035C Plaintext data of encrypted data broadcast by the terminal 5C (Normally not broadcast. However, the plaintext data itself may be held in the storage device 50C in preparation for broadcasting after decryption in an emergency.)
51C server control unit of terminal 5C 510C control unit of terminal 5C 5100C block chain control unit that can be optionally installed in terminal 5C (if necessary, 310A and 5100C are the same)
52C Communication device of terminal 5C 520C Broadcast radio device of terminal 5C 521C Radio communication device of terminal 5C (for communication with terminal 5CC controlling 5C)
522C Wired communication device for terminal 5C (If necessary. Can be used when 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 Antenna for broadcasting of terminal 5C 521C Two-way communication device of terminal 5C (In the case of artificial satellite, it transmits distribution data and controls and manages the broadcasting station server by radio with the ground station. can be operated.)
53C Control and arithmetic device of terminal 5C 53C Input device of terminal 5C 54C Output device of terminal 5C 57C Power supply device of terminal 5C (including secondary battery and solar battery in the case of artificial satellite),
5CC A terminal or device that controls a server terminal that serves as a broadcasting station for terminal 5C.

Claims (10)

分散型台帳システムのスマートコントラクトの動的パスワード生成部から生成された動的パスワードの、of the dynamic password generated from the dynamic password generator of the smart contract of the distributed ledger system,
動的パスワード認証のための処理を実行させるプログラムであって、A program that executes processing for dynamic password authentication,
前記分散型台帳システムのノード端末3Aの前記分散型台帳システムの台帳の記録部に、In the recording unit of the ledger of the distributed ledger system of the node terminal 3A of the distributed ledger system,
動的パスワード生成部から生成された前記動的パスワードをレコードしないことが可能な特徴を持つ、Having the feature that the dynamic password generated from the dynamic password generation unit can not be recorded,
前記動的パスワード生成部を備えた前記ノード端末3Aと、the node terminal 3A having the dynamic password generation unit;
前記ノード端末3Aの、of the node terminal 3A,
前記動的パスワード生成部から得た前記動的パスワードを記憶したユーザ端末1A、a user terminal 1A that stores the dynamic password obtained from the dynamic password generation unit;
又は、前記動的パスワード生成部から得た前記動的パスワードを記録した記録手段と、Alternatively, recording means for recording the dynamic password obtained from the dynamic password generation unit;
前記動的パスワードが、前記ユーザ端末1A、又は、前記記録手段から、When the dynamic password is received from the user terminal 1A or the recording means,
前記動的パスワードの認証部をもつサーバ3Dの動的パスワード認証部に入力された時に、When entered into the dynamic password authentication unit of the server 3D having the dynamic password authentication unit,
前記動的パスワード認証部を実行し、executing the dynamic password authenticator;
前記動的パスワードを認証する前記サーバ3Dであって、The server 3D authenticating the dynamic password,
前記動的パスワード認証部を記憶した前記サーバ3Dであって、The server 3D storing the dynamic password authenticator,
前記動的パスワード生成部と同じ計算アルゴリズムの動的パスワード認証部を持つ前記サーバ3Dと、said server 3D having a dynamic password authenticator with the same calculation algorithm as said dynamic password generator;
を含む、動的パスワードの認証システムに対して、For dynamic password authentication systems, including
前記動的パスワード認証のための認証処理を実行させるプログラムであって、A program for executing authentication processing for the dynamic password authentication,
前記ノード端末3Aと、前記ユーザ端末1A又は前記記録手段と、前記サーバ3Dを含む、動的パスワードの認証システムを、A dynamic password authentication system including the node terminal 3A, the user terminal 1A or the recording means, and the server 3D,
前記動的パスワードを認証する手段として機能させることを特徴とするプログラム。A program that functions as means for authenticating the dynamic password.
前記認証処理後に、After the authentication process,
前記動的パスワード認証部の戻り値CTAUに応じて、According to the return value CTAU of the dynamic password authentication unit,
前記動的パスワードの認証システムに、サービス提供処理を実行させるプログラムであって、A program that causes the dynamic password authentication system to execute a service providing process,
前記認証処理後に、After the authentication process,
前記動的パスワードの認証システムを、前記動的パスワード認証部の戻り値CTAUに応じて、According to the return value CTAU of the dynamic password authentication unit, the dynamic password authentication system
サービスを提供する手段として機能させることを特徴とする、characterized by functioning as a means of providing services,
請求項1に記載のプログラム。A program according to claim 1.
前記認証処理後に、After the authentication process,
前記サービス提供処理として、As the service providing process,
前記動的パスワードの認証システムに、前記動的パスワード認証部の戻り値CTAUを、The return value CTAU of the dynamic password authentication unit to the dynamic password authentication system,
データ暗号化の鍵CTAUとして生成させる処理を実行させるプログラムであって、A program for executing a process of generating a data encryption key CTAU,
前記認証処理後に、After the authentication process,
前記動的パスワードの認証システムを、前記鍵CTAUを生成する手段として機能させることを特徴とする、characterized in that the dynamic password authentication system functions as means for generating the key CTAU,
請求項2に記載のプログラム。3. A program according to claim 2.
請求項3に記載の動的パスワード認証のための処理を実行させるプログラムにおいて、In the program for executing the process for dynamic password authentication according to claim 3,
前記サーバ3Dに、前記データ暗号化の鍵CTAUとして生成させる処理を実行させた後、After causing the server 3D to generate the data encryption key CTAU,
前記サーバ3Dに、前記サーバ3Dから前記ユーザ端末1Aへ、to the server 3D, from the server 3D to the user terminal 1A,
前記鍵CTAUを通信により伝達させる処理と、a process of communicating the key CTAU;
前記鍵CTAUの入力により暗号化データを復号するデータ復号ソフトウェア403Aを含む、including data decryption software 403A for decrypting encrypted data by input of said key CTAU;
ユーザ端末1Aの記憶装置に前記サーバ3Dから伝達された前記鍵CTAUを、The key CTAU transmitted from the server 3D to the storage device of the user terminal 1A,
前記ユーザ端末1Aに記憶させる処理と、A process to be stored in the user terminal 1A;
前記ユーザ端末1Aに、記憶された前記ソフトウェア403Aに含まれる鍵TTKYの計算方法と、前記鍵CTAUから、From the calculation method of the key TTKY included in the software 403A stored in the user terminal 1A and the key CTAU,
前記ユーザ端末1Aに、暗号化データを復号できる前記鍵TTKYを計算し生成させる処理とを、a process of calculating and generating the key TTKY capable of decrypting the encrypted data in the user terminal 1A;
前記認証システムに対して実行させるプログラムであって、A program to be executed by the authentication system,
前記サーバ3Dが前記鍵CTAUを生成する機能と、the ability of the server 3D to generate the key CTAU;
前記サーバ3Dが前記ユーザ端末1Aに前記鍵CTAUを送信する機能と、a function of the server 3D transmitting the key CTAU to the user terminal 1A;
前記ユーザ端末1Aが前記サーバ3Dから送信された前記鍵CTAUを受信して記憶装置に記憶する機能と、a function of the user terminal 1A receiving the key CTAU transmitted from the server 3D and storing it in a storage device;
前記ユーザ端末1Aが前記ソフトウェア403Aと前記鍵CTAUを用いて前記鍵TTKYを生成する機能とを、The function of the user terminal 1A generating the key TTKY using the software 403A and the key CTAU,
前記認証システムとして実現するプログラム。A program implemented as the authentication system.
請求項4に記載のプログラムにおいて、
前記ユーザ端末1Aに、前記ソフトウェア403Aと前記鍵CTAUから、
暗号化データを復号できる鍵TTKYを計算し生成させる処理において、
前記ユーザ端末1Aが、
前記鍵CTAUと、
前記戻り値CTAU及び前記動的パスワードを得る場合に用いる通信経路とは異なる
情報の伝達経路から得られるデータAKTBと、
前記戻り値CTAU及び前記データAKTBを利用し前記鍵TTKYを計算する計算方法を含む前記ソフトウェア403Aとを、
用いて、前記鍵TTKYを計算し生成する処理を、
前記認証システムに対して実行させるプログラムであって、
前記ユーザ端末1Aが、
前記鍵CTAUと、前記ソフトウェア403Aと、前記データAKTBとを用いて、
前記鍵TTKYを生成する機能を、
前記認証システムとして実現するプログラム。
In the program according to claim 4,
From the software 403A and the key CTAU to the user terminal 1A,
In the process of calculating and generating a key TTKY that can decrypt encrypted data,
The user terminal 1A is
the key CTAU;
Different from the communication path used to obtain the return value CTAU and the dynamic password ,
data AKTB obtained from the information transmission path ;
said software 403A including a calculation method for calculating said key TTKY using said return value CTAU and said data AKTB;
The process of calculating and generating the key TTKY using
A program to be executed by the authentication system,
The user terminal 1A is
Using the key CTAU, the software 403A, and the data AKTB,
The function to generate the key TTKY,
A program implemented as the authentication system.
請求項4に記載のプログラムにおいて、In the program according to claim 4,
前記ユーザ端末1Aが前記ソフトウェア403Aと前記鍵CTAUから、From the software 403A and the key CTAU, the user terminal 1A
暗号化データを復号できる鍵TTKYを計算し生成させる処理において、In the process of calculating and generating a key TTKY that can decrypt encrypted data,
前記ユーザ端末1Aに、to the user terminal 1A,
前記鍵TTKYを、the key TTKY,
前記ユーザ端末1Aに記憶された前記ソフトウェア403Aに含まれる前記鍵CRKYを用いて暗号化し、encrypted using the key CRKY included in the software 403A stored in the user terminal 1A;
前記鍵CTTKYを生成させる処理を、The process of generating the key CTTKY,
前記認証システムに対して実行させるプログラムであって、A program to be executed by the authentication system,
前記ユーザ端末1Aが、The user terminal 1A is
前記ソフトウェア403Aと、the software 403A;
前記鍵CRKYと、the key CRKY;
前記鍵TTKYとを用いて、Using the key TTKY,
前記鍵CTTKYを生成する機能を、the function to generate the key CTTKY,
前記認証システムとして実現するプログラム。A program implemented as the authentication system.
前記計算アルゴリズムに、The calculation algorithm includes:
ブロックチェーンのブロック番号Bnを基にする変数を、A variable based on the block number Bn of the blockchain,
ハッシュ関数fhに入力する処理を、The process of inputting to the hash function fh is
前記認証システムに対して実行させる、請求項1に記載のプログラム。2. The program according to claim 1, which is executed by said authentication system.
前記計算アルゴリズムに、The calculation algorithm includes:
或る時刻またはブロック番号Bnにおいて、At a certain time or block number Bn,
前記分散型台帳システムのノード端末3Aの前記動的パスワード生成部と、the dynamic password generator of the node terminal 3A of the distributed ledger system;
前記サーバ3Dの前記動的パスワード認証部にて、At the dynamic password authentication unit of the server 3D,
更新または変更または書き換えることの出来る変数Kを基にする変数を、A variable based on a variable K that can be updated, changed or rewritten,
ハッシュ関数fhに入力する処理を、The process of inputting to the hash function fh is
前記認証システムに対して実行させる、請求項1に記載のプログラム。2. The program according to claim 1, which is executed by said authentication system.
請求項4に記載のプログラムにおいて、In the program according to claim 4,
前記ユーザ端末1Aが前記鍵TTKYを生成する処理を行った後、After the user terminal 1A performs the process of generating the key TTKY,
前記ユーザ端末1Aに記憶された暗号化データを前記鍵TTKYにより復号する処理と、a process of decrypting the encrypted data stored in the user terminal 1A with the key TTKY;
前記ユーザ端末1Aに前記鍵TTKYにより復号された前記暗号化データに含まれる広告配信サーバ5Aへのリンク情報を読み込ませる処理と、A process of causing the user terminal 1A to read the link information to the advertisement distribution server 5A included in the encrypted data decrypted with the key TTKY;
前記ユーザ端末1Aに前記リンク情報に従って広告配信サーバ5Aへ接続させる処理と、A process of connecting the user terminal 1A to the advertisement distribution server 5A according to the link information;
前記広告配信サーバ5Aに広告情報を前記ユーザ端末1Aへ配信させる処理と、A process of causing the advertisement distribution server 5A to distribute advertisement information to the user terminal 1A;
前記ユーザ端末1Aに前記広告配信サーバ5Aから配信された広告情報を受信させる処理と、a process of causing the user terminal 1A to receive advertisement information distributed from the advertisement distribution server 5A;
前記ユーザ端末1Aに前記受信した前記広告情報を出力装置から出力させる処理とを、a process of causing the user terminal 1A to output the received advertisement information from an output device;
前記認証システムと前記広告配信サーバ5Aからなる広告配信システムに対して実行させるプログラムであって、A program to be executed by an advertisement distribution system comprising the authentication system and the advertisement distribution server 5A,
前記ユーザ端末1Aが前記鍵TTKYを生成する機能と、a function for the user terminal 1A to generate the key TTKY;
前記ユーザ端末1Aが前記ソフトウェア403Aと前記鍵TTKYを用いて暗号化データを復号する機能と、a function of the user terminal 1A decrypting encrypted data using the software 403A and the key TTKY;
前記ユーザ端末1Aが前記ソフトウェア403Aと前記暗号化データに含まれるリンク情報を用いて、The user terminal 1A uses the link information included in the software 403A and the encrypted data to
リンク情報に従って広告配信サーバに接続し通信する機能と、A function of connecting to and communicating with an advertisement distribution server according to link information;
前記広告配信サーバ5Aが広告情報を前記ユーザ端末1Aへ配信する機能と、A function of the advertisement distribution server 5A to distribute advertisement information to the user terminal 1A;
前記ユーザ端末1Aが前記ソフトウェア403Aと前記広告配信サーバから配信された広告情報を出力装置から出力する機能とを、The function of the user terminal 1A outputting the software 403A and the advertisement information distributed from the advertisement distribution server from the output device,
前記認証システムと前記広告配信サーバ5Aからなる広告配信システムとして実現するプログラム。A program implemented as an advertisement distribution system comprising the authentication system and the advertisement distribution server 5A.
請求項6に記載のプログラムにおいて、In the program according to claim 6,
前記ユーザ端末1Aが前記ソフトウェア403Aと前記鍵CTAUから、From the software 403A and the key CTAU, the user terminal 1A
暗号化データを復号できる鍵TTKYを計算し生成させる処理において、In the process of calculating and generating a key TTKY that can decrypt encrypted data,
前記ユーザ端末1Aが前記鍵TTKYを生成した時の前記ユーザ端末1Aの時刻情報を、Time information of the user terminal 1A when the user terminal 1A generated the key TTKY,
ユーザ端末1Aに記憶させる処理を実行させるプログラム。A program for executing a process stored in the user terminal 1A.
JP2021205792A 2021-07-26 2021-12-20 Authenticator of dynamic passwords generated based on distributed ledger Active JP7157864B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021205792A JP7157864B2 (en) 2021-07-26 2021-12-20 Authenticator of dynamic passwords generated based on distributed ledger
JP2022016773A JP7245936B2 (en) 2021-07-26 2022-02-05 Authentication device, authentication system, and authentication processing method
JP2022179929A JP2023015252A (en) 2021-07-26 2022-11-09 Token with transfer restriction function, authentication token, and token changeover method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
JP2021205792A JP7157864B2 (en) 2021-07-26 2021-12-20 Authenticator of dynamic passwords generated based on distributed ledger

Related Parent 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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022016773A Division JP7245936B2 (en) 2021-07-26 2022-02-05 Authentication device, authentication system, and authentication processing method

Publications (2)

Publication Number Publication Date
JP2022091158A JP2022091158A (en) 2022-06-20
JP7157864B2 true JP7157864B2 (en) 2022-10-20

Family

ID=87853081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021205792A Active JP7157864B2 (en) 2021-07-26 2021-12-20 Authenticator of dynamic passwords generated based on distributed ledger

Country Status (1)

Country Link
JP (1) JP7157864B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3137473A1 (en) * 2022-07-04 2024-01-05 Psa Automobiles Sa Method for opening a motor vehicle using a non-fungible token, associated device and vehicle
CN115208676B (en) * 2022-07-19 2023-09-08 中软航科数据科技(珠海横琴)有限公司 Data encryption method and system based on blockchain technology

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004385A1 (en) 2003-06-30 2005-01-13 Fujitsu Limited Radio communication authentication program and radio communication program
JP2008071097A (en) 2006-09-14 2008-03-27 Nomura Research Institute Ltd Authentication device, authentication system, program and storage medium
JP2008263548A (en) 2007-04-13 2008-10-30 Toshiba Corp Communication terminal, information management system and information management method
JP2014229983A (en) 2013-05-20 2014-12-08 Necプラットフォームズ株式会社 Content distribution system, home gateway device, receiver, decryption key transmission method and program
JP2018101367A (en) 2016-12-21 2018-06-28 富士通株式会社 Information processing system, information processing method, program and information processor
US20200244457A1 (en) 2019-01-25 2020-07-30 Accenture Global Solutions Limited Blockchain intelligent security implementation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005004385A1 (en) 2003-06-30 2005-01-13 Fujitsu Limited Radio communication authentication program and radio communication program
JP2008071097A (en) 2006-09-14 2008-03-27 Nomura Research Institute Ltd Authentication device, authentication system, program and storage medium
JP2008263548A (en) 2007-04-13 2008-10-30 Toshiba Corp Communication terminal, information management system and information management method
JP2014229983A (en) 2013-05-20 2014-12-08 Necプラットフォームズ株式会社 Content distribution system, home gateway device, receiver, decryption key transmission method and program
JP2018101367A (en) 2016-12-21 2018-06-28 富士通株式会社 Information processing system, information processing method, program and information processor
US20200244457A1 (en) 2019-01-25 2020-07-30 Accenture Global Solutions Limited Blockchain intelligent security implementation

Also Published As

Publication number Publication date
JP2022091158A (en) 2022-06-20

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
EP2810402B1 (en) A method and database system for secure storage and communication of information
US9830600B2 (en) Systems, methods and devices for trusted transactions
US20160098723A1 (en) System and method for block-chain verification of goods
US20220407702A1 (en) Systems and Methods for Token Creation and Management
JP7157864B2 (en) Authenticator of dynamic passwords generated based on distributed ledger
EP2062228A1 (en) Visual code transaction verification
US20230004970A1 (en) Distributed Ledgers with Ledger Entries Containing Redactable Payloads
JP2022137088A (en) Mountable authentication device using thermal image
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
US20230086191A1 (en) Systems and Methods for Token Content Unlocking, Biometric Authentication using Privacy-Protecting Tokens, Ownership-Based Limitations of Content Access, Policy-Based Time Capsule Technology, and Content Lock Mechanisms
US20230114684A1 (en) Cryptographic Content Co-Creation Mechanisms and Linking Physical Elements to Cryptographic Elements
Bond Understanding Security APIs
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
CN117426073A (en) Trusted chain of custody for verifiable credentials
JP2005063077A (en) Method and device for personal authentication and connector
JP7007077B1 (en) Unauthorized access prevention system that collects data derived from the environment of the terminal with key information
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
KR20130037790A (en) Method and system of brokering real estate transactions using smart portable devices
Mostofa et al. Modernization of land registry by adapting blockchain with Proof-of-Work (PoW)
Leahey Tax, Technology and Privacy: The Coming Collision
WO2023060284A1 (en) Cryptographic content co-creation mechanisms and linking physical elements to cryptographic elements

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211226

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20211226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20220126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220811

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

R150 Certificate of patent or registration of utility model

Ref document number: 7157864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250