JPWO2018174112A1 - Device authentication technology on the network - Google Patents
Device authentication technology on the network Download PDFInfo
- Publication number
- JPWO2018174112A1 JPWO2018174112A1 JP2019507724A JP2019507724A JPWO2018174112A1 JP WO2018174112 A1 JPWO2018174112 A1 JP WO2018174112A1 JP 2019507724 A JP2019507724 A JP 2019507724A JP 2019507724 A JP2019507724 A JP 2019507724A JP WO2018174112 A1 JPWO2018174112 A1 JP WO2018174112A1
- Authority
- JP
- Japan
- Prior art keywords
- client
- public key
- block
- key
- hash
- 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.)
- Pending
Links
- 238000005516 engineering process Methods 0.000 title description 11
- 238000000034 method Methods 0.000 claims description 84
- 239000004065 semiconductor Substances 0.000 claims description 28
- 230000002950 deficient Effects 0.000 claims description 25
- 230000002194 synthesizing effect Effects 0.000 claims description 9
- 230000006378 damage Effects 0.000 claims description 8
- 238000009826 distribution Methods 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 230000005672 electromagnetic field Effects 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 16
- 238000013403 standard screening design Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 230000001066 destructive effect Effects 0.000 description 12
- 230000008054 signal transmission Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005065 mining Methods 0.000 description 6
- 239000000126 substance Substances 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003324 Six Sigma (6σ) Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000010485 coping Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 208000024335 physical disease Diseases 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
【課題】ブロックチェーンを用いてハードウェアのネットワークの信頼性を向上させ、かつ、非公開台帳を用いて故障したハードウェアを交換可能とし、ハードウェアのネットワークであるシステムの保守管理を経済的に行えるようにすること。【解決手段】ブロックチェーンと、サーバー内に備える非公開台帳を併用し、ハードウェアにリンクする論理ノード間のデータ送受信の履歴を改ざん不能にしつつ、故障したハードウェアを交換してもハードウェアにリンクしたブロックチェーンに影響が出ないようにする。PROBLEM TO BE SOLVED: To improve the reliability of a hardware network by using a block chain and replace a failed hardware by using a private ledger, and to economically perform maintenance management of a system which is a network of hardware. To be able to do it. SOLUTION: A blockchain and a private ledger provided in a server are used together to make it impossible to tamper with the history of data transmission / reception between logical nodes linked to the hardware, and to replace the failed hardware with the hardware. Make sure that the linked blockchain is not affected.
Description
本発明は、ネットワーク上に存在する装置を認証する技術に関する。 The present invention relates to a technique for authenticating a device existing on a network.
進化し続けるインターネットに接続する装置の数は年とともに増大し、そのネットワーク構造も複雑化・多様化してきている。しかしながら、基本的には、特別な機能を有するサーバーを中心的なノード(基幹ノード)に据えたクライアント・サーバー(CS)型と、このような基幹ノードが存在せずすべてのノードが基本的に対等な形で接続するピアトゥア(P2P)型に大別することができる。 The number of devices connected to the ever-evolving Internet has increased over the years, and the network structure has become complicated and diversified. However, basically, there is no client / server (CS) type in which a server with a special function is set as a central node (backbone node), and there is no such core node, and all nodes are basically It can be roughly divided into peer-to-peer (P2P) types that connect in an equal manner.
ネットワークは一般に結節点(ノード)と通信線(リンク)からなる。第一のノードと第二のノードが、通信線である信号伝達路によってリンクしている。たとえば、第一のードと第二のノードは、信号伝達路を介してデータの一形態であるプロトコル・データ・ユニット(PDU)を交換している。この第一のノードと第二のノードは、それぞれ一定の整合性を持つプロトコルに従ってプロトコル・データ・ユニットを扱う。 A network generally consists of nodes (nodes) and communication lines (links). The first node and the second node are linked by a signal transmission line which is a communication line. For example, the first node and the second node exchange protocol data units (PDUs), which are a form of data, via signaling paths. The first node and the second node each handle a protocol data unit according to a protocol having a certain consistency.
物のインターネット(IoT)では、これら第一および第二のノードはネットワークに接続する装置(ハードウェア)であり、物理的実態を持つので物理ノードと呼ぶ。このとき、第一の物理ノードと第二の物理ノードが物理的実態を有する信号伝達路によって接続されているとみなされる。このような信号伝達路は、有線・無線の電子信号あるいは光信号を伝達する。このように複数の物理ノードと信号伝達路で構築されるネットワークを物理ネットワークと呼ぶ。 In the Internet of Things (IoT), these first and second nodes are devices (hardware) that connect to the network, and are called physical nodes because they have a physical substance. At this time, it is considered that the first physical node and the second physical node are connected by a signal transmission path having a physical substance. Such a signal transmission path transmits a wired / wireless electronic signal or an optical signal. A network constructed by a plurality of physical nodes and signal transmission paths in this way is called a physical network.
物理ネットワーク上で物理ノードを認識するために用いられるアドレスを物理アドレスと呼ぶ。つまり、第一の物理ノードが第一の物理アドレスを持ち、第二の物理ノードが第二の物理アドレスを持つ。第一の物理ノードから第二の物理ノードにデータを送るということは、第一の物理アドレスから第二の物理アドレスに、物理的実態を有する信号伝達路を通してデータ(この場合一例としてフレーム)が送られるということである。 An address used to recognize a physical node on a physical network is called a physical address. That is, the first physical node has the first physical address and the second physical node has the second physical address. Sending data from the first physical node to the second physical node means that data (frame in this case as an example) is transmitted from the first physical address to the second physical address through a signal transmission path having a physical substance. It is to be sent.
一方、第一および第二のノードに物理的実態が無い場合、これらのノードを論理ノードと呼ぶ。論理ノードは、ネットワーク上で仮想的に定義された論理アドレスに関連づけられたノードであり、必ずしも特定のバードウェアに関連づけられていない。複数の論理ノードで構築されるネットワークを論理ネットワークと呼ぶ。このとき、第一の論理ノードと第二の論理ノードを結びつける信号伝達路は必ずしも物理的実態を持っていなくて良い。 On the other hand, when the first and second nodes have no physical substance, these nodes are called logical nodes. The logical node is a node associated with a logical address virtually defined on the network, and is not necessarily associated with a specific piece of birdware. A network constructed by a plurality of logical nodes is called a logical network. At this time, the signal transmission path that connects the first logic node and the second logic node does not necessarily have a physical reality.
論理ネットワーク上で論理ノードを認識するために用いられるアドレスを論理アドレスと呼ぶ。つまり、第一の論理ノードから第二の論理ノードにデータを送るということは、第一の論理アドレスから第二の論理アドレスにデータが送られると解釈される。実際には、転送されるデータに第一の論理アドレスと第二の論理アドレスを順に符号として添付することでもある。したがって転送を繰り返すと、データには複数の論理アドレスのリストが添付されることになる。この論理アドレスのリストは、このデータの最新の論理アドレスと過去の転送履歴を含むものである。こうして、このデータにアクセスするすべての論理ノードが、このデータがどこをどう転送され、今どの論理ノードに仮想的に存在していると定義されているかを知ることができる。このように、最新の論理アドレスを含む転送履歴が添付されたデータをブロック、あるいは、論理ブロックと呼ぶ。転送履歴が改ざんされない限り、論理ブロックは最新の論理アドレスによって適切に認識できる。 An address used to recognize a logical node on a logical network is called a logical address. That is, sending data from the first logical node to the second logical node is interpreted as sending data from the first logical address to the second logical address. Actually, the first logical address and the second logical address are sequentially attached as codes to the data to be transferred. Therefore, when the transfer is repeated, a list of a plurality of logical addresses will be attached to the data. This list of logical addresses includes the latest logical address of this data and the past transfer history. In this way, all the logical nodes that access this data can know where and how this data was transferred, and which logical node is now defined as virtually existing. The data to which the transfer history including the latest logical address is attached is called a block or a logical block. Unless the transfer history is tampered with, the logical block can be properly recognized by the latest logical address.
転送履歴を改ざん不能にする技術として近年脚光を浴びているのが公開台帳と呼ばれる技術である。公開台帳技術の中でも最も有名なものが、ビットコインと呼ばれる暗号通貨の送金データを改ざん不能にするために考案されたブロックチェーンである。すなわち、送金履歴を改ざんできないようにすることで不正送金を防ぐネットワークシステムである。
(ブロックチェーン)A technique called an open ledger has been in the limelight in recent years as a technique for making the transfer history tamper-proof. The most famous public ledger technology is a blockchain designed to make it impossible to tamper with remittance data of cryptocurrency called Bitcoin. In other words, it is a network system that prevents unauthorized remittance by preventing the remittance history from being tampered with.
(Block chain)
ここでブロックチェーンについて簡単に説明する。 Here, the block chain will be briefly described.
ブロックチェーンは、ピア・トゥ・ピア(P2P)型ネットワークにおける公開台帳システムである。P2P型ネットワーク構造では、中核を担うサーバーの存在を仮定せず、ネットワークに結節するすべてのノード(結節点)が非中核的であり、対等であり、互いを監視し合うことによってセキュリティを担保することが必要である。すなわち、中核(コア)となるサーバーの存在を仮定したクライアント・サーバー型ネットワークでは実現不可能なアプリケーションを提供できる。 Blockchain is a public ledger system for peer-to-peer (P2P) networks. In the P2P type network structure, all the nodes (nodes) that connect to the network are non-core, equal, and do not assume the existence of a server that plays a central role, and secure security by monitoring each other. It is necessary. That is, it is possible to provide an application that cannot be realized in a client / server network that assumes the existence of a core server.
その最も重要なものがビットコインと呼ばれる暗号通貨による送金システムである。ビットコインでは、まず過去の処理履歴と処理する主体となるアカウント名を合成して暗号化する。それを電子署名として転送し、新たな処理とするものである。したがって、処理手段を金融機関にゆだねない。更新され転送された処理履歴は、ネットワーク上の他の多くの非中核的ノードによって監視され、多数決に似た手法で公認される。 The most important one is the remittance system using cryptocurrency called Bitcoin. In Bitcoin, first, the past processing history and the account name that is the subject of processing are combined and encrypted. It is transferred as an electronic signature for new processing. Therefore, the processing means should not be left to financial institutions. The updated and forwarded processing history is monitored by many other non-core nodes on the network and authorized in a voting-like manner.
処理履歴の転送は通貨の転送と同義であり、公認された処理履歴が通貨のように扱われる。こうして、銀行のように特定の中核的存在を介さずに処理が進行してゆく。 Transfer of processing history is synonymous with transfer of currency, and the approved processing history is treated like currency. In this way, processing proceeds without going through a specific core existence like a bank.
ネットワーク上を流れる電子署名に利用される暗号は、アリスとボブの喩で有名な公開鍵暗号で説明するのが最も簡単である。アリスは予めボブに自分の公開鍵を送っておく。この公開鍵はネット上で誰かに盗み取られても構わない。ボブは、アリスから貰った公開鍵で手紙を暗号化し、アリスに送る。この暗号化された手紙を解読するには、アリスの公開鍵と対になっている秘密鍵が必要である。したがって、暗号が解読されない限り、ネットワーク上で誰かに盗まれても手紙の中身を読まれることはない。その秘密鍵を持っているのはアリスだけだからである。アリスは、自分で持っている秘密鍵でボブの手紙の暗号を解き、それを読むことができる。 The cryptography used for digital signatures flowing on the network is the easiest to explain with public key cryptography, which is famous for the metaphor of Alice and Bob. Alice sends Bob her public key in advance. This public key can be stolen by anyone on the net. Bob encrypts the letter with Alice's public key and sends it to Alice. Decryption of this encrypted letter requires a private key paired with Alice's public key. Therefore, the contents of a letter cannot be read if someone steals it on the network unless the code is decrypted. This is because only Alice has the secret key. Alice can decrypt and read Bob's letter with her private key.
このように、公開鍵はネットワーク上に晒して構わない。したがって、アリスが公開鍵を送るのはボブだけではない。ただし、その公開鍵で暗号化された暗号を解いて手紙を読めるのは、暗号が解読されない限り秘密鍵を所有しているアリスだけである。公開鍵と秘密鍵は必ず一組で生成されるが、公開鍵から秘密鍵を再生することは現実的に不可能であるようにしなければならない。つまり、暗号を解くということは公開鍵から秘密鍵を再生することである。また、秘密鍵で暗号化した手紙は公開鍵で解号することもできる。 In this way, the public key may be exposed on the network. Therefore, Alice is not the only one who sends public keys. However, only Alice, who possesses the private key, can decrypt the cipher encrypted with the public key and read the letter. The public key and the private key are always generated as a pair, but it must be practically impossible to reproduce the private key from the public key. In other words, descrambling means reproducing the secret key from the public key. The letter encrypted with the private key can also be decrypted with the public key.
公開鍵のもう一つの重要な役割は、アリスへ手紙を送るための宛先、すなわち、アリスのネットワーク上のアドレスになることである。ボブが暗号化した手紙をネットワークに流すとき、ネットワークに接続している任意の受信者の手に渡ることになる。このとき解号できなければ読めない。どのようにしても読めないということは、受信しなかったことと同意である。したがって、アリスのみが解号できるということは、アリスのみに届いたということと等価である。こうして、公開鍵のもう一つの役割がネットワーク上の論理アドレスになることが明らかになる。したがって、ビットコインで使用される公開鍵は、ビットコインアドレスとも呼ばれる。 Another important role of the public key is to be the destination for sending letters to Alice, the address on Alice's network. When Bob sends the encrypted letter over the network, it will fall into the hands of any recipient connected to the network. At this time, you cannot read it unless you can unravel. Unreadable in any way agrees to not having received it. Therefore, the fact that only Alice can issue an issue is equivalent to the fact that only Alice reached. In this way, it becomes clear that another role of the public key is a logical address on the network. Therefore, the public key used in Bitcoin is also called a Bitcoin address.
たとえば、論理ノードとは、ビットコイン等の暗号通貨を納める財布のことであり、予め論理アドレスが付与されている。財布の中身には何らかの貨幣価値のあるもの(通貨やそれと等価なコインなどに関するデータ)が納められる。更に何らかの暗号技術を用い、アドレスと財布の中身を電子署名として財布に取り付けられるようになっている。 For example, a logical node is a wallet that stores cryptocurrencies such as bit coins, and is given a logical address in advance. Something of monetary value (data about currency and equivalent coins) is stored in the wallet. Furthermore, some encryption technology can be used to attach the address and the contents of the wallet to the wallet as an electronic signature.
このような財布は、たとえば、専用アプリをパーソナルコンピューター、タブレット、スマートフォン、スマートカード等のハードウェアにインストールして使うことができる。そのとき、財布の中身は、専用アプリをインストールしたハードウェアのストレージにデジタルデータとして保存される。このデジタルデータの管理は、たとえば、P2Pを前提とした電子処理では、ハードウェアの管理者・所有者が自ら責任を持って行う必要がある。この点がクライアント・サーバー型と異なる点である。クライアント・サーバー型では、金融機関などが責任を持って行うことになる。P2Pでの電子処理は、このように中核的機能を有する金融機関のような存在を必要としない。 Such a wallet can be used, for example, by installing a dedicated application on hardware such as a personal computer, a tablet, a smartphone, and a smart card. At that time, the contents of the wallet are stored as digital data in the storage of the hardware in which the dedicated application is installed. For digital processing, for example, in electronic processing premised on P2P, it is necessary for the manager / owner of the hardware to take responsibility for the management. This is the difference from the client / server type. In the client / server type, financial institutions will be responsible for this. Electronic processing in P2P does not require existence like financial institutions with such core functions.
図1は、処理(N-2、N-1)、処理(N-1,N)、処理(N、N+1)、…の鎖を示す図面である。処理(N-2,N-1)は財布(N-2)から財布(N-1)への何らかの処理であり、処理(N-1,N)は財布(N-1)から財布(N)への何らかの処理であり、処理(N,N+1)は財布(N)から財布(N+1)への何らかの処理である。ただし、Nは3以上の任意の自然数。 FIG. 1 is a drawing showing a chain of processes (N-2, N-1), processes (N-1, N), processes (N, N + 1), .... Process (N-2, N-1) is any process from wallet (N-2) to wallet (N-1), and process (N-1, N) is from wallet (N-1) to wallet (N ), And the process (N, N + 1) is a process from the wallet (N) to the wallet (N + 1). However, N is an arbitrary natural number of 3 or more.
財布(N-1)の中身は、たとえば、どこかから振り込まれた1000円だったとしよう。この1000円の振り込み元を財布(N-2)とし、更にこの1000円には電子署名(N-2)が添付されているとする。ただし、1000円というのは一例に過ぎず、他の貨幣価値と等価または可換なデジタル情報であれば何でも良い。財布(N-1)は、財布の中身である1000円と、その電子署名と、次の電子署名作成のために用いる秘密鍵(N-1)と、それと一対の組をなす固有の公開鍵(N-1)からなる。上述したように、公開鍵(N-1)は、財布(N-1)のネットワーク上のアドレスである。一例として、ビットコインアドレスが上げられる。 Let's say that the contents of the wallet (N-1) was, for example, 1,000 yen transferred from somewhere. It is assumed that the transfer source of these 1000 yen is a wallet (N-2), and that the electronic signature (N-2) is attached to the 1000 yen. However, 1000 yen is only an example, and any digital information equivalent to or commutative with other monetary values may be used. The wallet (N-1) is the contents of the wallet, 1000 yen, its electronic signature, the private key (N-1) used to create the next electronic signature, and a unique public key that forms a pair with it. It consists of (N-1). As described above, the public key (N-1) is the address of the wallet (N-1) on the network. As an example, the Bitcoin address is raised.
次に、公開鍵(N-1)、財布(N-1)の中身、および電子署名(N-2)から、ハッシュ関数(一例としてSHA-256)を用いて、ハッシュ値(N-1)を生成する。このハッシュ値(N-1)を財布(N)に送付し、財布(N)ではそれを財布(N)の中身として保存する。一方、転送元の秘密鍵(N-1)を用いて、財布(N)のアドレスである公開鍵(N)と中身であるハッシュ値(N-1)を暗号化して電子署名(N−1)を生成し、ハッシュ値(N-1)と共に財布(N)に転送する。 Next, using the hash function (SHA-256 as an example) from the public key (N-1), the contents of the wallet (N-1), and the electronic signature (N-2), the hash value (N-1) To generate. This hash value (N-1) is sent to the wallet (N), and the wallet (N) stores it as the contents of the wallet (N). On the other hand, by using the private key (N-1) of the transfer source, the public key (N) which is the address of the wallet (N) and the hash value (N-1) which is the content are encrypted and the electronic signature (N-1 ) Is generated and is transferred to the wallet (N) together with the hash value (N-1).
こうして財布(N)は、ハッシュ値(N-1)と、電子署名(N-1)と、さらに一対の組を成す、財布(N)に固有の公開鍵(N)及び秘密鍵(N)から構成されることになる。こうして、財布(N-1)から財布(N)へ1000円を送金する処理が完了する。 In this way, the wallet (N) forms a pair of a hash value (N-1), an electronic signature (N-1), and a pair of public key (N) and private key (N) unique to the wallet (N). It will consist of In this way, the process of transferring 1000 yen from the wallet (N-1) to the wallet (N) is completed.
ハッシュ値(N-1)には、この1000円が財布(N-1)から来たという情報が含まれているはずである。しかしながら、ハッシュは暗号と異なり逆変換不能なので、ハッシュ値(N-1)を逆変換(解号)してそれを読むことができない。そのため、電子署名(N-1)が添付されている。この電子署名(N-1)は、秘密鍵(N-1)を使い、公開鍵(N)およびハッシュ値(N-1)をまとめて暗号化したものである。したがって、この電子署名が本当に財布(N-1)から来たものであるかどうか確かめるには、この電子署名(N-1)を公開鍵(N-1)で解号したものと、財布(N)に納められている公開鍵(N)およびハッシュ値(N-1)と比較すれば良い。暗号が破られていない限り、一致していれば確かに秘密鍵(N-1)で電子署名したことに偽りはない。一致していなければその電子署名は偽りである。あるいは別の公開鍵、例えば公開鍵(Q)で解号した結果と一致すれば、公開鍵(Q)をアドレスとして所有する財布(Q)が不正処理したことが判る。 The hash value (N-1) should include information that this 1000 yen came from the wallet (N-1). However, since the hash cannot be reverse-converted unlike the cryptography, the hash value (N-1) cannot be reverse-converted (signed) and read. Therefore, the electronic signature (N-1) is attached. The electronic signature (N-1) is a public key (N) and a hash value (N-1) that are collectively encrypted using the secret key (N-1). Therefore, in order to confirm whether this digital signature really came from the wallet (N-1), the digital signature (N-1) was decrypted with the public key (N-1) and the wallet ( Compare with the public key (N) and hash value (N-1) stored in N). As long as the code is not broken, it is true that the digital signature was made with the private key (N-1) if they match. If they do not match, the electronic signature is false. Alternatively, if the result agrees with the issue of another public key, for example, the public key (Q), it can be known that the wallet (Q) having the public key (Q) as an address has been illegally processed.
ただし、過去の履歴に不正処理がないことを証明するには別の方法が必要である。なぜなら、電子署名だけでは、秘密鍵(N-1)を正規に所有している者が不正を働く可能性を否定できないからである。たとえば、所有者による秘密鍵の乱用が考えられる。P2Pを前提にしたビットコインでは、それを「仕事による証明」(PoW)によって防ごうとしている。これは、概ね上手く行っていると考えられている。「仕事による証明」(PoW)について以下で述べる。 However, another method is required to prove that there is no illegal processing in the past history. This is because the electronic signature alone cannot deny the possibility that a person who legally possesses the private key (N-1) will commit fraud. For example, the owner may misuse the private key. Bitcoin, which is based on P2P, is trying to prevent it by "proof of work" (PoW). This is generally considered to work well. "Proof of work" (PoW) is described below.
図1では、続いて公開鍵(N)、財布(N)の中身(この場合ハッシュ値(N-1))、および電子署名(N-1)から、ハッシュ関数(一例としてSHA-256)を用いて、ハッシュ値(N)を作成する。財布(N)はこのハッシュ値(N)を財布(N+1)に送信し、財布(N+1)はそれを財布(N+1)の中身として納める。一方、財布(N)は、秘密鍵(N)を用いて、財布(N+1)のアドレスである公開鍵(N+1)とこのハッシュ値(N)を暗号化し、電子署名(N)を生成する。続いて、ハッシュ値(N)と共にこの電子署名(N)を財布(N+1)に送付する。 In FIG. 1, a hash function (SHA-256 as an example) is then calculated from the contents of the public key (N), wallet (N) (hash value (N-1) in this case), and electronic signature (N-1). Use to create a hash value (N). The wallet (N) sends this hash value (N) to the wallet (N + 1), and the wallet (N + 1) stores it as the contents of the wallet (N + 1). On the other hand, the wallet (N) uses the private key (N) to encrypt the public key (N + 1), which is the address of the wallet (N + 1), and this hash value (N) to obtain the electronic signature (N). To generate. Then, this electronic signature (N) is sent to the wallet (N + 1) together with the hash value (N).
以上から、財布(N)の中身には、財布(N-1)から財布(N)への処理(N-1、N)がハッシュ値(N-1)として記録されていることが判る。同様に、財布(N+1)の中身には、財布(N)から財布(N+1)への処理(N、N+1)がハッシュ値(N)として記録されていることが判る。こうして、任意の財布の中身は、過去のすべての処理履歴を連鎖的に含んでいることが判る。すなわち、過去の最新のハッシュ値が、過去のすべての履歴を代表している。 From the above, it is understood that the processing (N-1, N) from the wallet (N-1) to the wallet (N) is recorded as the hash value (N-1) in the content of the wallet (N). Similarly, it is understood that the processing (N, N + 1) from the wallet (N) to the wallet (N + 1) is recorded as the hash value (N) in the content of the wallet (N + 1). In this way, it can be seen that the contents of any purse include all past processing histories in a chain. That is, the latest past hash value represents all past histories.
一方、一つの財布に送金する財布は、図1の例のように一つとは限らない。実際には複数の財布から一つの財布に送金する場合は少なくないだろう。また、一つの財布から複数の財布に送金される場合も少なくないだろう。こうして、送金の処理履歴はより複雑になることが判る。しかしながら、最新の履歴を含むハッシュ値は必ずたった一つである。それをメルクルの根という。したがって、メルクルの根から過去を遡ることができる。それは、図2のように、メルクルの根から枝分かれした樹形図のようになる。これをメルクル樹形図という。このように、メルクル樹形は過去のすべての履歴の集まりを時系列で並べたもである。すなわち、これが上述した論理ブロックに相当する。また、最新の履歴であるメルクルの根が論理ブロックを特徴づける符号となる。 On the other hand, the number of wallets that send money to one wallet is not limited to one as in the example of FIG. In reality, it is not uncommon to transfer money from multiple wallets into a single wallet. Also, it is not uncommon for money to be transferred from one wallet to multiple wallets. Thus, it can be seen that the remittance processing history becomes more complicated. However, there is always only one hash value containing the latest history. It is called the root of Merkle. Therefore, the past can be traced back from the root of Merkle. It looks like a dendrogram branching from the root of the Merkle, as in Figure 2. This is called the Merkle tree diagram. In this way, the Merkle tree is a time series of all past histories. That is, this corresponds to the logic block described above. In addition, the root of the newest history, the Merkle, is a code that characterizes the logical block.
たとえば、メルクルの根であるハッシュ値(ABCD)は、ハッシュ値(AB)およびハッシュ値(CD)に対応する履歴に繋がっている。ハッシュ値(AB)は、更にハッシュ値(A)およびハッシュ値(B)に対応する過去の履歴、すなわち、処理(A)および処理(B)にそれぞれ繋がっている。ハッシュ値(CD)は、更にハッシュ値(C)およびハッシュ値(D)に対応する過去の履歴、すなわち、処理(C)および処理(D)にそれぞれに繋がっている。 For example, the hash value (ABCD), which is the root of Merkle, is connected to the history corresponding to the hash value (AB) and the hash value (CD). The hash value (AB) is further connected to the past history corresponding to the hash value (A) and the hash value (B), that is, the process (A) and the process (B), respectively. The hash value (CD) is further connected to the past history corresponding to the hash value (C) and the hash value (D), that is, the process (C) and the process (D), respectively.
しかしながら、そもそもハッシュ値は逆変換不可能なのでハッシュ値を解読することによって送金処理の履歴を辿ることは不可能である。たとえば財布(N)の中身(ハッシュ値(N-1))の過去の処理履歴を実際に辿る一つの方法は、任意の他の財布(M)を選び、その公開鍵(M)を使って電子署名(N)を解号し、その結果を公開鍵(N)およびハッシュ値(N-1)と比較する。一致しなければ別の財布(M+1)を選び、公開鍵(M+1)使って解号し同じ作業をする。一致すればその処理は財布(M+1)からの送金であったことが判る。このときM+1はN−1であることが判る。続いてハッシュ値(N-3)を含む財布(N-2)の公開鍵(N−2)も同様の方法で検索できる。この作業を繰り返すことによって処理履歴を遡ることが可能である。ここでMおよびNは任意の自然数とする。 However, since the hash value cannot be inversely converted in the first place, it is impossible to trace the history of remittance processing by decrypting the hash value. For example, one way to actually trace the past processing history of the contents of the wallet (N) (hash value (N-1)) is to select any other wallet (M) and use its public key (M). The digital signature (N) is decrypted and the result is compared with the public key (N) and hash value (N-1). If they do not match, select another wallet (M + 1), use your public key (M + 1) to unlock, and do the same. If they match, it is understood that the process was a remittance from the wallet (M + 1). At this time, it can be seen that M + 1 is N-1. Subsequently, the public key (N-2) of the wallet (N-2) including the hash value (N-3) can be searched by the same method. By repeating this operation, the processing history can be traced back. Here, M and N are arbitrary natural numbers.
こうして、論理的には過去の処理履歴を遡ってゆくことができるわけであるが、このようにハッシュ値を使って過去の履歴をひとつずつ遡ることは実は必ずしも必要ない。むしろ、数百から千個程度の処理を一塊に集め、これらの処理が現実に存在したことを何らかの方法でまとめて承認してしまえば良い。具体的には、メルクルの根以外のハッシュ値をすべて削除し、最新のハッシュ値(たとえばABCD)を符号として用いれば良い。一つの符号で代表される処理の集まりを論理ブロックと呼ぶ。 In this way, it is logically possible to trace back the past processing history, but it is not always necessary to trace back the past history one by one using the hash value in this way. Rather, it is sufficient to collect a few hundred to a thousand processes in a single block, and collectively approve that these processes actually existed in some way. Specifically, all hash values other than the root of Merkle may be deleted, and the latest hash value (for example, ABCD) may be used as the code. A set of processes represented by one code is called a logical block.
メルクルの根(上の例ではハッシュ値(ABCD))に代表される過去の処理の集まりが存在することをタイムスタンプで承認する。こうして承認された論理ブロックがネットワーク上に公開される。したがって、これを公開台帳と呼ぶ。この承認は、公証役場に書類を持ち込み日付を付けて封書してもらう日付認証に似た作業(ワーク)である。未承認の処理の集まりを新たな論理ブロックとして承認することを記帳と呼び、記帳した者には認証作業の対価として一定の報酬がビットコインで与えられる。こうしてビットコインを獲得することを採掘(マイニング)と言い、採掘するビットコインの利用者を採掘者(マイナー)と言う。しかしながら、一度に記帳できるマイナーは一人だけなので、マイナーたちは先を競って採掘する。採掘されたビットコインは論理ネットワーク上の市場で流通する。 Confirm that there is a collection of past processes represented by the root of Merkle (hash value (ABCD) in the above example) with a time stamp. The logical block thus approved is published on the network. Therefore, this is called a public ledger. This approval is a work similar to the date authentication in which a document is brought to the notary public office and dated and sealed. Approving a group of unapproved processes as a new logical block is called bookkeeping, and a certain reward is given in bitcoin to the person who posted the book as a consideration for the authentication work. Obtaining bitcoins in this way is called mining, and users of the mined bitcoins are called miners. However, since only one miner can be booked at a time, the miners compete and mine for the first time. The mined Bitcoin is distributed in the market on the logical network.
一例として図3を用い、この承認作業を簡単に説明する。まず承認済みの過去の論理ブロックに関する何らかのハッシュ値を獲得する。次にネットワーク上に存在する未承認処理の集まりを発見し、その集まりのメルクルの根(ハッシュ値)を獲得する。この二つのハッシュ値に可変のノンス値というものを追加し、更にハッシュ化してブロックハッシュを作る。このとき、ビットコインではハッシュ関数としてSHA-256を利用する。もちろん、他のハッシュ関数を利用してブロックハッシュを生成することも可能である。 This approval work will be briefly described with reference to FIG. 3 as an example. First, some hash value for the approved past logical block is acquired. Next, a group of unapproved processes existing on the network is discovered, and the root (hash value) of the Merkle of the group is acquired. A variable nonce value is added to these two hash values and hashed to create a block hash. At this time, SHA-256 is used as a hash function in Bitcoin. Of course, it is also possible to generate the block hash using another hash function.
ノンス値は、一般に、32ビットの任意の値である。このノンス値を含めて生成されたハッシュ値(ここではブロックハッシュ)は256ビットの値である。2の256乗は10の77乗より大きく、ブロックハッシュは膨大な自由度を持っていることが判る。前記ノンス値を調整すると、ブロックハッシュの最初の数ビットをゼロにすることができる。一例として、新たに生成したブロックハッシュの最初の16ビットがすべてゼロになる確率は2の16乗分の1、すなわち65,536分の1である。すなわち、偶然にはほとんど起こりえないことである。 The nonce value is generally an arbitrary value of 32 bits. The hash value (block hash in this case) generated including this nonce value is a 256-bit value. 2 256 is larger than 10 77, and it can be seen that the block hash has enormous degrees of freedom. Adjusting the nonce value allows the first few bits of the block hash to be zero. As an example, the probability that the first 16 bits of the newly generated block hash are all zero is 1 in 2 to the 16th power, that is, 1 in 65,536. That is, it almost never happens by chance.
ハッシュ関数は非可逆的である。したがって、最初の数ビット(この例では16ビット)がゼロとなるハッシュ値(ここではブロックハッシュ)を生成するようなナンス値を、逆変換で求めることは一般に不可能である。つまり、ナンス値を変えながらハッシュ化を繰り返し、その都度生成したハッシュ値の最初の数ビットがすべてゼロになるまでそれを繰り返さなければならない。こうして、最初の16ビットがすべてゼロとなるようなブロックハッシュを生成するためのナンス値の決定には、一定以上の計算機の活用が不可欠であることが判る。 Hash functions are irreversible. Therefore, it is generally impossible to obtain the nonce value by the inverse transform so as to generate the hash value (here, the block hash) in which the first few bits (16 bits in this example) are zero. In other words, hashing must be repeated while changing the nonce value, and it must be repeated until the first few bits of the generated hash value are all zero. Thus, it can be seen that the use of a computer above a certain level is indispensable for determining the nonce value for generating the block hash in which the first 16 bits are all zero.
P2Pネットワークでは、マイニングを行うのは特定の中核的機能を持つノードではない。一定以上の計算機リソースを活用できれば誰でもマイニング可能である。マイナーは、より正確には、そのマイナーが活用するP2P上のノードは、ナンス値を変更しながらネットワーク上で総当たり探索を行い、最初の数桁がすべてゼロとなるような未承認処理の集まりを見つけ出せばよい。つまり、ナンス値を変更しながらネットワーク上を採掘(マイニング)して回っているのである。このように、必ずしも特定の未承認処理の集まりに対してナンス値を調整する必要はない。 In P2P networks, it is not the nodes that have a particular core function that perform mining. Anyone can mine if they can utilize the computer resources above a certain level. A miner is, more accurately, a group of unapproved processes in which the nodes on P2P used by that miner perform a brute force search on the network while changing the nonce value, and the first few digits are all zeros. You just have to find out. In other words, it is mining around the network while changing the nonce value. Thus, it is not necessary to adjust the nonce value for a particular set of unapproved processes.
いずれにしろ、最初の数ビット(この例では16ビット)がゼロのブロックハッシュが掘り出されると、このブロックハッシュに対応する未承認処理の集まりは、新たに承認された論理ブロックとして前出の承認済みの過去の論理ブロックに連結し公開することが許される。こうして論理ブロックの記帳が完成する。すなわち、最初の所定のビット数をすべてゼロにすることが論理ブロック連結の条件である。マイニングを繰り返すことによって複数のブロックが連結され、ブロックチェーンが形成されてゆく。 In any case, when a block hash with the first few bits (16 bits in this example) zero is mined, the set of unapproved processes corresponding to this block hash is the newly admitted logical block described above. It is allowed to link and publish to the approved past logical block. In this way, the entry of the logical block is completed. That is, the condition for logical block concatenation is to set all the first predetermined bits to zero. By repeating the mining, multiple blocks are linked and a block chain is formed.
上述したことから判るように、ビットコインでは通貨の信頼性は過去の処理履歴の信頼性である。公正認証に代わりその信頼性を保証しているのがブロックチェーンである。ブロックチェーンが長く伸びるほど改ざんが難しくなる。たとえば、一部の論理ブロックのデータを書き換えると、その論理ブロックにつながる論理ブロックとの連結条件(ブロックハッシュの最初の数ビットがすべてゼロ)を満たさなくなる。そこでその論理ブロックのナンス値を修正してこの条件が満たされるようにしなければならない。上述したように、ハッシュ関数は非可逆なので、それには相応の計算が必要とされる。しかしながら、その論理ブロックのナンス値を調整すると、それ以降の論理ブロックのナンス値も調整しなければならない。結局、一部のデータを改ざんするだけでブロックチェーンに連結されている複数の論理ブロックのナンス値を再調整しなければならなくなる。これには更に膨大な計算機能力を必要とする。こうして、ブロックチェーンが長く伸びるほど幾何級数的に改ざんが難しくなるとされている。 As can be seen from the above, the reliability of currency in Bitcoin is the reliability of past processing history. Instead of fair certification, the blockchain guarantees its reliability. Tampering becomes more difficult as the block chain grows longer. For example, when the data of a part of the logical blocks is rewritten, the connection condition with the logical blocks connected to the logical block (the first few bits of the block hash are all zero) cannot be satisfied. Therefore, the nonce value of the logical block must be modified so that this condition is satisfied. As mentioned above, since the hash function is irreversible, it requires a corresponding calculation. However, if the nonce value of that logical block is adjusted, the nonce value of the subsequent logical blocks must also be adjusted. In the end, it becomes necessary to readjust the nonce values of a plurality of logical blocks connected to the block chain simply by tampering with some data. This requires a huge amount of computing power. Thus, it is said that the longer the blockchain grows, the more difficult it becomes to tamper with it geometrically.
ビットコインにおいて、通貨の偽造とは過去の処理履歴の改ざんや不正コピーである。処理の検証が成功した証として電子署名を処理履歴に添付するのであるから、通貨の偽造とは電子署名の偽造である。電子署名を作成できるのは、暗号が破られない限り、唯一電子署名に必要な秘密鍵を所有する前の財布の所有者のみである。逆に言えば、暗号が破られなかったとしても、秘密鍵の正規の利用者は過去の処理履歴を改ざんしようと思えば可能である。しかしながら、上記のように一度ブロックチェーンをくみ上げてしまうと、たとえ秘密鍵の正規の利用者であっても、ブロックチェーンを連結させるナンス値すべてを改ざんすることは難しい。ブロックチェーンが長く伸びるほどその難易度は劇的に上昇する。すなわち、一度ブロックチェーンを長くしてしまえば過去に遡って改ざん、あるいは、編集することはほぼ不可能になる。これを「仕事による証明(Proof-of-Work)」(PoW)という。 In Bitcoin, forgery of currency is falsification or illegal copying of past processing history. Since the electronic signature is attached to the processing history as a proof that the processing has been successfully verified, the forgery of the currency is the forgery of the electronic signature. The electronic signature can be created only by the owner of the wallet before possessing the private key required for the electronic signature, unless the code is broken. Conversely, even if the code is not broken, it is possible for the legitimate user of the private key to tamper with the past processing history. However, once the blockchain is pumped up as described above, it is difficult for even a legitimate user of the private key to falsify all the nonce values that connect the blockchains. The difficulty increases dramatically as the blockchain grows longer. In other words, once the blockchain is lengthened, it is almost impossible to tamper with or edit it retroactively. This is called "Proof-of-Work" (PoW).
しかしながら、不正を働く側の計算能力が全世界の他のマイナーに分配されている計算能力を凌駕するとき、不正チェーンが正規のチェーンより長くなる可能性がある。これを「51%攻撃」という。 However, when the fraudulent computing power exceeds the computing power distributed to other miners around the world, the fraud chain can be longer than the legitimate chain. This is called "51% attack".
51%攻撃は、費用対効果の関係で現実的ではないという議論がある。しかしながら、ある集団の財政基盤を脆弱にするためサイバー攻撃として行われる場合はこの限りではない。たとえば、ある大国でブロックチェーンを基盤としたフィンテック2.0が広く普及していたとしよう。ある小国がこの大国の金融システムを麻痺させるためマイニングに国防費用を投入することがあるかも知れない。この場合核兵器の開発よりコストを抑えることが可能となるだろう。また、クラウドマイニングの発達により一部の業者が一時的に51%攻撃の能力を獲得することはありえる。 It is argued that a 51% attack is not practical due to its cost effectiveness. However, this is not the case when a cyber attack is performed to weaken the financial base of a group. For example, let's say that blockchain-based FinTech 2.0 was widely used in a large country. It is possible that a small country may spend defense money on mining to paralyze the financial system of this large country. In this case, it will be possible to reduce costs more than the development of nuclear weapons. Also, due to the development of cloud mining, it is possible that some companies will temporarily gain the ability to attack by 51%.
このような攻撃を防ぐため、攻撃されるであろう大国もブロックチェーンに参加する必要が出てくる。複数の国家が参加し、どの国家も51%攻撃を実施できないような状態にしておけば問題はなくなる。このようにブロックチェーンはP2Pであるが、国際的な情報通信インフラという側面を併せ持つようになるだろう。 In order to prevent such attacks, it will become necessary for the powerhouses that will be attacked to join the blockchain. There will be no problem if multiple nations participate and no nation can carry out a 51% attack. Thus, although the blockchain is P2P, it will also have the aspect of an international information and communication infrastructure.
P2Pネットワーク上で処理の履歴を共有化し、マイナーに承認作業を任せて信頼性を担保するという公開台帳システムの考え方は、情報通信インフラとしてビットコイン以外にも幅広い応用が期待されている。これは、最低コストで過去の処理の改ざんを現実的に不可能にできるという理由による。現実的に改ざん不可能なデータベースの需要は、たとえば、日々増大する蓄積された医療データを利用したヘルスケアや、日々増大する蓄積された処理データを利用した証券取引や、その他日々増大する蓄積されたビッグデータを活用するありとあらゆる情報サービスが考えられる。そして、フィンテック2.0と呼ばれる世界的な金融技術革新の波を引き起こしている。 The idea of an open ledger system that shares processing history on a P2P network and entrusts miners with approval work to ensure reliability is expected to have a wide range of applications other than bitcoin as an information and communication infrastructure. This is because tampering with past processes can be practically impossible at the lowest cost. The demand for a database that cannot be tampered with is, for example, healthcare that uses accumulated medical data that increases daily, securities transactions that use accumulated processed data that increases daily, and other accumulated demand that increases daily. All kinds of information services that utilize big data are possible. And it is causing a wave of global financial innovation called FinTech 2.0.
51%攻撃を抑制するにはもう一つポイントがある。まず、攻撃するノードの数を無限大にしないことである。ノードに割り当てるアドレスがIPアドレスのような論理アドレスであると、攻撃者は無限の数の攻撃用ノードを仮想空間で獲得することが可能となる。したがって、P2Pに結節するノードは、すべてCPUなどと一対一の組みを成すようにリンクしなければならない。この考え方をOne-CPU-One-Vote(一台一票)と呼ぶ。たとえば、投票用紙一人一枚というのは、多数決のようなシステムでは不可欠な条件である。 There is another point in suppressing 51% attacks. First, do not make the number of attacking nodes infinite. If the address assigned to the node is a logical address such as an IP address, the attacker can acquire an infinite number of attack nodes in the virtual space. Therefore, all nodes that connect to P2P must be linked so as to form a one-to-one combination with a CPU or the like. This idea is called One-CPU-One-Vote. For example, one ballot is an essential condition in a system such as majority voting.
こうして、秘密鍵と物理的実態を持つハードウェアの個別認証とを関連付けることが必要であることが判る。しかしながら、秘密鍵はソフトウェアによる産物であり物理的実態とは縁がない。そもそもソフトウェアは、同じ規格で設計・製造されたどのハードウェアにインストールしても同じく機能するように作られたものである。すなわち、個々の物理的実態の違いに関らず同様に動くことが求められている。それゆえ物理的実態とは成り立ちから言って無縁である。にも拘わらず、IoTネットワークを構成するのは、無数のハードウェアと、それらを連結して電子データを交換する有線無線の信号伝達路の集合である。ここに秘密鍵と物理的実態とを関連付ける理由と一つのヒントの両方がある。 Thus, it can be seen that it is necessary to associate the private key with the individual authentication of hardware that has a physical substance. However, the private key is a product of software and has nothing to do with the physical reality. In the first place, software is designed to function the same when installed on any hardware designed and manufactured to the same standard. That is, it is required to move similarly regardless of the difference in individual physical reality. Therefore, it has nothing to do with the physical reality. Nevertheless, what constitutes an IoT network is a collection of innumerable hardware and wired and wireless signal transmission paths that connect them to exchange electronic data. Here is both a reason and a hint to associate the private key with the physical reality.
具体的には、公開鍵と物理アドレスを改ざんされない何らかの方法でリンクさせることである。ここで要求される物理アドレスとは、MACアドレスなどとは違って書き換え不能なものでなければならない。
(書き換え不能の物理アドレス) Specifically, the public key and the physical address are linked by some method that is not falsified. The physical address required here must not be rewritable, unlike the MAC address.
(Unrewritable physical address)
このように、(書き換え不能の物理アドレス)が必要なことは明白である。それを実現する方法は、ソフトウェア技術でも、ネットワーク技術でも、ハードウェア技術でも何でもよい。いずれにしろ、ソフトウェア技術、ネットワーク技術、ハードウェア技術、あるいは、それら技術の何等かの組み合わせによって何らかの形で物理的実態を有するチップに関連させることが可能であれば十分である。 Thus, it is clear that (non-rewritable physical address) is needed. The method for realizing it may be software technology, network technology, or hardware technology. In any case, it suffices if it is possible to be associated with a chip having a physical reality in some way by software technology, network technology, hardware technology, or some combination of these technologies.
図4は、(書き換え不能の物理アドレス)を搭載したハードウェアが参加する物理ネットワークと、公開台帳を活用する論理ネットワークの関係を説明する図面である。前記ハードウェアは物理的実態を持ち、物理ネットワークを構成するノードとなるので物理ノードである。予め設定した物理アドレスを何らかの方法で秘密鍵と一対一にリンクする。公開鍵暗号によってこの秘密鍵と一対の組をなす公開鍵を論理アドレスとする論理ノードが、この物理ノード、あるいはそれに対応するハードウェアと対をなす。 FIG. 4 is a diagram for explaining the relationship between a physical network in which hardware equipped with (non-rewritable physical address) participates and a logical network that utilizes a public ledger. The hardware is a physical node because it has a physical reality and serves as a node that constitutes a physical network. The preset physical address is linked to the private key one-to-one by some method. A logical node whose logical address is a public key forming a pair with this private key by public key cryptography forms a pair with this physical node or the corresponding hardware.
図1のように、前記物理アドレスとリンクした公開鍵を論理アドレスとする論理ノード間で情報が転送される。財布(N)の中身であるハッシュ値(N-1)は、財布(N-1)の中身であるハッシュ値(N-2)、その論理アドレスである公開鍵(N-1)および電子署名(N-2)をまとめてハッシュ化したものである。ここで、財布(N−1)、財布(N)、財布(N+1)…は、それぞれ論理ノード(N-1)、論理ノード(N)、論理ノード(N+1)…に対応する。 As shown in FIG. 1, information is transferred between logical nodes whose logical address is a public key linked to the physical address. The hash value (N-1) that is the contents of the wallet (N) is the hash value (N-2) that is the contents of the wallet (N-1), its logical address is the public key (N-1) and the electronic signature. It is a hashed version of (N-2). Here, the wallet (N-1), the wallet (N), the wallet (N + 1) ... Corresponds to the logical node (N-1), the logical node (N), the logical node (N + 1), respectively. ..
ここで論理ノード(N-1)と対をなす物理ノードのアドレス、すなわち物理アドレス(N-1)を改ざんしたとしよう。この物理アドレス(N-1)と一対一にリンクする秘密鍵(N-1)は、論理ノード(N-1)の論理アドレスである公開鍵(N-1)とも一対一にリンクしている。したがって、物理アドレス(N-1)を改ざんするということは、公開鍵(N-1)の改ざんを同時に行うことを意味する。 Here, it is assumed that the address of the physical node forming a pair with the logical node (N-1), that is, the physical address (N-1) has been tampered with. The private key (N-1) linked to this physical address (N-1) one-to-one is also linked to the public key (N-1) which is the logical address of the logical node (N-1) one-to-one. .. Therefore, falsifying the physical address (N-1) means simultaneously falsifying the public key (N-1).
図1で説明したように、公開鍵(N-1)は、ハッシュ値(N-2)および電子署名(N-2)と共にハッシュ値(N-1)にハッシュ化される。したがって、公開鍵(N-1)の改ざんはハッシュ値(N-1)の改ざんでもある。一般に、ハッシュ値(N-1)は最新のハッシュ値、すなわちメルクルの根とは限らない。しかしながら、メルクル樹形、すなわち、論理ブロックの一部でも改ざんすればそれはメルクルの根を改ざんしたことと同意である。 As described in FIG. 1, the public key (N-1) is hashed into the hash value (N-1) together with the hash value (N-2) and the electronic signature (N-2). Therefore, falsification of the public key (N-1) is also falsification of the hash value (N-1). In general, the hash value (N-1) is not always the latest hash value, that is, the root of Merkle. However, if you tamper with the Merkle tree, that is, a part of the logic block, you agree that you have tampered with the root of the Merkle.
図3で示したように、論理ブロック(N+1)の中身を構成するブロックハッシュ(N)は、論理ブロック(N)をすべてまとめてハッシュ化したものである。論理ブロック(N)はメルクルの根を含んでいる。このメルクルの根が上述したように改ざんされているとすると、論理ブロック(N)と論理ブロック(N+1)との間の連結条件を破壊する。したがって、連結条件を回復するよう、論理ブロック(N)のノンス値を再調節する必要がある。たとえば、ブロックハッシュ(N+1)の最初の16ビットが再びすべてゼロになるよう論理論理ブロック(N)のノンス値を再計算しなければならない。ここで、ハッシュ関数は非可逆なのでこの計算には一定以上の計算能力が必要である。 As shown in FIG. 3, the block hash (N) forming the contents of the logical block (N + 1) is a hash of all the logical blocks (N). The logic block (N) contains the root of Merkle. If the root of this Merkle is falsified as described above, the connection condition between the logical block (N) and the logical block (N + 1) is destroyed. Therefore, it is necessary to readjust the nonce value of the logical block (N) so as to recover the concatenation condition. For example, the nonce value of the logical logic block (N) must be recalculated so that the first 16 bits of the block hash (N + 1) are all zero again. Here, since the hash function is irreversible, a certain computing power or more is required for this calculation.
このようにノンス値を再調整して(一例として)最初の16ビットを全てゼロにすることに成功したとしても、メルクルの根が改ざんされている限り第17ビット以降のデータは改ざんされる。結局ブロックハッシュ(N-1)も改ざんされ、論理ブロック(N)と論理ブロック(N+1)の連結条件を破壊する。上述したのと同様にこの連結条件を回復するためには一定以上の計算能力の消費が必要であり、更に論理ブロック(N+1)と論理ブロック(N+2)の連結条件を破壊する。このようにブロックチェーンが長く連なっている限り、延々とブロック連結条件の回復のために計算を続けなければならなくなる。 In this way, even if the nonce value is readjusted (as an example) and the first 16 bits are all zero, the data after the 17th bit is tampered as long as the root of the Merkle is tampered with. Eventually, the block hash (N-1) is also tampered with, destroying the connection condition between the logical block (N) and the logical block (N + 1). As described above, in order to recover this connection condition, it is necessary to consume a certain amount of computing power or more, and the connection condition between the logical block (N + 1) and the logical block (N + 2) is destroyed. As long as the block chain continues for a long time in this way, the calculation will have to be continued to recover the block connection condition endlessly.
このように十分長いブロックチェーンが構成されている限り、たとえ一部であっても物理アドレスの改ざんは現実的に不可能になる。無理に改ざんすれば論理ブロック間の連結条件が満たされなくなり、ブロックチェーンが破壊される。こうして秘密鍵とリンクした物理アドレスを用いることによってブロックチェーンなどの公開台帳技術で(書き換え不可能な物理アドレス)を実現することが可能となる。
(鍵生成方法) As long as a sufficiently long blockchain is constructed in this way, it is practically impossible to tamper with a physical address even if it is a part. If it is tampered with forcibly, the connection condition between logical blocks will not be satisfied and the block chain will be destroyed. Thus, by using the physical address linked to the private key, it becomes possible to realize (non-rewritable physical address) by public ledger technology such as block chain.
(Key generation method)
秘密鍵と互いに一対の組みをなす公開鍵を生成する方法について説明する。大別すると、ある入力から互いに一対の組みを成す秘密鍵と公開鍵を生成するRSA型鍵生成装置を用いる方法と、秘密鍵を入力してこの秘密鍵と互いに一対の組みを成す公開鍵を生成するエルガマル型鍵生成装置に大別できる。いずれにしろ、少なくとも公開鍵から秘密鍵を再生することは非常に困難である。なお、これらの鍵生成装置は、メモリに記録された一種のプログラムであっても良いし、半導体チップに搭載された組み込み回路であっても良い。 A method of generating a public key that forms a pair with the private key will be described. Broadly speaking, a method of using an RSA type key generation device that generates a pair of a private key and a public key from a certain input, and a method of inputting a private key and a public key that forms a pair with the private key It can be roughly classified into an Ergamal-type key generation device for generation. In any case, at least it is very difficult to recover the private key from the public key. It should be noted that these key generation devices may be a kind of program recorded in a memory or an embedded circuit mounted on a semiconductor chip.
まずRSA型の説明をする。これはリベスト・シャミア・エーデルマンにより発明された暗号鍵生成方法である。(
RSA法では、まず適当な非負整数eを準備する。通常2の16乗に1を足したものを採用するがそれ以外の正の自然数を採用することも出来る。次に大きな二つの素数の組み{p、q}を何らかの方法で生成し、それらの積n(=pq)を計算する。このとき{e、n}が公開鍵となる。続いて、(p−1)および(q−1)の積で割った余りが1となる正の整数を更にeで割ったものを秘密鍵dとする。ただし、{e、n}以外に{p、q}も既知になれば計算によってdを獲得することが可能になるので、{p、q}は破棄するか外部に漏れないようにしなければならない。素数の組み{p、q}を外部に漏れないよう保存しているのであれば組み{d、p、q}が秘密鍵であるという見方もできる。 In the RSA method, first, an appropriate non-negative integer e is prepared. Normally, 2 to the 16th power plus 1 is adopted, but other positive natural numbers can be adopted. Next, a pair of two next-larger prime numbers {p, q} is generated by some method, and a product n (= pq) of them is calculated. At this time, {e, n} is the public key. Subsequently, a secret integer d is obtained by further dividing a positive integer having a remainder of 1 divided by the product of (p-1) and (q-1) by e. However, if {p, q} is known in addition to {e, n}, then d can be obtained by calculation, so {p, q} must be discarded or not leaked to the outside. .. If the set of prime numbers {p, q} is stored so as not to be leaked to the outside, the set {d, p, q} can be viewed as a secret key.
コード表示した物理アドレスから最初の数ビットを切り出し、1を加算して前記eとすることが可能である。あるいは、コード表示した物理アドレスに1を加えて正の整数eを生成すること可能である。 It is possible to cut out the first few bits from the coded physical address and add 1 to obtain e. Alternatively, it is possible to generate a positive integer e by adding 1 to the coded physical address.
物理アドレスから前記素数{p、q}を生成することも可能である。一例として、コード表示した物理アドレスに1を足し算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に1を足し算して素数かどうかを確かめる。これを繰り返し、素数pを決める。素数pを決めたのち同じ手続きを繰り返し、素数qを決める。こうして前記素数{p、q}を求めることができる。 It is also possible to generate the prime number {p, q} from a physical address. As an example, 1 is added to the coded physical address to check whether it is a prime number. If it is a prime number, let p be the prime number. If it is not a prime number, add 1 to it to see if it is a prime number. This is repeated to determine the prime number p. After determining the prime number p, the same procedure is repeated to determine the prime number q. In this way, the prime number {p, q} can be obtained.
素数qの決め方の別の一例は、物理アドレスに2を足し算して素数かどうかを確かめる。素数であればその素数をqとする。素数でなければ更に2を足し算して素数かどうかを確かめる。これを繰り返して素数qを決める。 Another example of how to determine the prime number q is to add 2 to the physical address to check whether it is a prime number. If it is a prime number, let that prime number be q. If it is not a prime number, add 2 more to see if it is a prime number. This is repeated to determine the prime number q.
素数pまたはqを求めるために物理アドレスに足し算する数は1や2のみではなく、任意の整数(たとえばk)を採用することが可能である。このとき前記kをセキュリティパラメータとすることができる。たとえば、物理乱数あるいは疑似乱数などを用いて一定の範囲内の整数からランダムに選択し、それをセキュリティパラメータkとすることが可能である。いずれにしろ、コード表示した物理アドレスとkを何らかの方法で合成したものが素数になるまで合成を繰り返すことが可能である。物理アドレスが数値として十分大きい限りpもqも十分大きな素数となり、セキュリティパラメータkの選択もより多様になる。 The number to be added to the physical address to obtain the prime number p or q is not limited to 1 or 2, but an arbitrary integer (for example, k) can be adopted. At this time, k can be used as a security parameter. For example, it is possible to randomly select from an integer within a certain range using a physical random number or a pseudo random number, and use it as the security parameter k. In any case, the composition can be repeated until the composition of the coded physical address and k by some method becomes a prime number. As long as the physical address is sufficiently large as a numerical value, both p and q are sufficiently large prime numbers, and the selection of the security parameter k becomes more diverse.
コード表示した物理アドレスとkの合成方法は、加減乗除すべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。いずれにしろ、物理アドレス(N)あるいは前記kが数値として十分大きい限りpも十分大きな素数となる。前記kは、内部入力でも外部入力でも良い。 As for the method of synthesizing the coded physical address and k, all arithmetic operations of addition, subtraction, multiplication and division and combinations thereof, or all possible bit operations are possible. In any case, p is a sufficiently large prime number as long as the physical address (N) or k is sufficiently large as a numerical value. The k may be an internal input or an external input.
いずれにしろ、物理アドレスから素数pまたはqを求める方法は、一例として、物理アドレスと適当に与えられた変数を合成する合成ステップと、合成された数が素数であるかどうかを判定する判定ステップと、から構成され、実際に素数が得られるまで前記合成ステップおよび前記判定ステップを繰り返すことである。図5参照。 In any case, the method of obtaining the prime number p or q from the physical address is, as an example, a synthesizing step of synthesizing the physical address and an appropriately given variable, and a determining step of determining whether the synthesized number is a prime number. And is repeated, and the synthesizing step and the determining step are repeated until a prime number is actually obtained. See FIG.
続いてエルガマル型を説明する。これはエルガマルによって発明された暗号鍵生成方法である。(
エルガマル法では、まず大きな素数pとその原始根gを決める。素数pおよび原始根gは設計仕様に応じて選択することができる。次に、p−1より小さい非負整数xをランダムに選び秘密鍵とする。続いて、前記原始根gのx乗をpで割った余りを公開鍵とする。 In the Ergamal method, first, a large prime number p and its primitive root g are determined. The prime number p and the primitive root g can be selected according to the design specifications. Next, a non-negative integer x smaller than p-1 is randomly selected and used as a secret key. Subsequently, the remainder obtained by dividing the primitive root g to the power of x by p is used as a public key.
物理アドレスから適当なコード変換を施し秘密鍵を得ると、物理アドレスと秘密鍵をリンクすることが可能となる。一例として、コード表示した物理アドレス、あるいは前記物理アドレスに1以上の整数を加えてp−1で割った余りを秘密鍵とすればよい。 If the private key is obtained by performing appropriate code conversion from the physical address, it becomes possible to link the physical address and the private key. As an example, the physical address represented by the code or the remainder obtained by adding an integer of 1 or more to the physical address and dividing by p-1 may be used as the secret key.
RSA型鍵生成方法もエルガマル型鍵生成方法も具体的なアルゴリズムは複数存在する。この中で現在電子署名に良く使われているのはDSA法というものとその改良版であるECDSA法である。他にもシュノール法、ランダムオラクル法、クラマーショウプ法など多種多様あるが、これらの共通点は公開鍵から秘密鍵を生成することが現実的に難しいことである。(数学的に不可能であることを証明できないが、実際に生成することは困難であると言える。)また、秘密鍵でハッシュ値等を暗号化して電子署名を生成することも共通点として挙げられる。異なる点は、秘密鍵から公開鍵を生成するか、あるいは、別の入力変数から公開鍵と秘密鍵を生成するか、などである。あるいは、変数変換に用いる代数上の問題の違いもある。たとえば、素因数分解、離散対数問題、ランダムオラクル仮定、楕円曲線問題などなどである。
(システムインテグレーション)There are multiple concrete algorithms for both the RSA-type key generation method and the Ergamal-type key generation method. Of these, the DSA method and its improved version, the ECDSA method, are often used for digital signatures. There are various other methods such as the Schnorr method, the random oracle method, and the Kramer-Shoup method, but the common point of them is that it is practically difficult to generate a private key from a public key. (It is difficult to prove that it is mathematically impossible, but it can be said that it is difficult to actually generate it.) In addition, it is also common to generate a digital signature by encrypting a hash value with a secret key. Be done. The difference is whether to generate a public key from a secret key, or to generate a public key and a secret key from another input variable. Alternatively, there are differences in algebraic problems used for variable conversion. For example, prime factorization, discrete logarithm problem, random oracle assumption, elliptic curve problem, etc.
(System integration)
多数のハードウェアより構成される大規模システムを考える。このシステムへのハッキングは、少なくとも一つハードウェアへのハッキングに他ならない。ハッキングしたことを秘密にするには、そのハードウェアへのアクセス履歴を消し去れねばならない。これは履歴の改ざんに他ならない。また、このシステムを乗っ取るためには、少なくとも構成要素である一部のハードウェアの物理アドレスを改ざんすることが必要である。 Consider a large-scale system consisting of many pieces of hardware. Hacking this system is nothing but hacking at least one piece of hardware. To keep the hack secret, you have to erase the access history to the hardware. This is nothing but tampering with the history. Further, in order to take over this system, it is necessary to falsify the physical addresses of at least some of the hardware components.
したがって、上述のような方法で物理アドレスと論理アドレスと一対一に連結すれば、ブロックチェーンによってシステムをハッキングから守ることが可能となる。
(ハードウェア特有の問題) Therefore, if the physical address and the logical address are connected one-to-one by the above method, the block chain can protect the system from hacking.
(Hardware specific problem)
しかしながら、物理的実態を持つハードウェアには、物理的実態を持たない論理ノードにはありえない問題が存在する。すなわち、論理ノードは機械的故障を起こしえないが、ハードウェアには常に機械的故障のリスクがつきまとう。故障したハードウェアは、システムを保持するために新しいハードウェアと交換しなければならない。 However, hardware that has a physical reality has a problem that cannot occur in a logical node that does not have a physical reality. That is, the logic node cannot cause mechanical failure, but the hardware is always at risk of mechanical failure. Failed hardware must be replaced with new hardware to keep the system.
このとき交換するハードウェアの物理アドレスが故障したハードウェアと異なれば、物理アドレスも交換されることになる。これは、物理アドレスを改ざんしたのと同じである。こうしてブロックチェーンを構成する論理ブロックが改ざんされることになる。結果として、論理ブロックの連結条件を満たせなくなり、ブロックチェーンも破壊される。 At this time, if the physical address of the hardware to be replaced is different from that of the failed hardware, the physical address will also be replaced. This is the same as tampering with the physical address. In this way, the logical blocks that make up the block chain are tampered with. As a result, the link condition of the logical blocks cannot be satisfied, and the block chain is destroyed.
このようなブロックチェーンの破壊を防ぐためには、物理アドレスのみならず、故障したハードウェアに記録されている履歴(ハッシュ値)や電子署名などの情報もすべて交換するハードウェアに移さなければならない。しかしながら、故障したハードウェからこのような情報を全て完全な状態で取り出すことはいつでも可能とは限らない。むしろ、故障によって不可能である場合の対処方法を準備しなければシステムを維持・管理することが不可能となる。 In order to prevent such block chain destruction, not only the physical address, but also the history (hash value) recorded in the failed hardware, electronic signature, and other information must all be transferred to the exchanged hardware. However, it is not always possible to retrieve all such information in perfect condition from a failed hardware. Rather, it will be impossible to maintain and manage the system unless a method for coping with a situation that is impossible due to a failure is prepared.
例えば、上記システムをが大規模データセンターである場合、無数の個体ドライブ(SSD)に物理アドレスが割り当てられ、それぞれ物理アドレスが論理アドレスと一対一に連結され、ブロックチェーンで外部からのハッキングを遮断することが出来る。こうして、安価に安全なイントラネットが構築できる。 For example, if the above system is a large-scale data center, physical addresses are assigned to innumerable individual drives (SSDs), and each physical address is linked to a logical address one-to-one, and blockchain blocks external hacking. You can do it. In this way, a safe intranet can be constructed inexpensively.
全世界からの検索などのアクセスに常時対処できるよう、このような大規模データセンターは膨大な数のSSDで構成される。SSDはハードウェアであり、機械的故障を逃れられない。如何に信頼性が高く故障頻度が低かったとしても、SSDの数が膨大であるため保守点検のために日常的にSSDの交換が必要である。ブロックチェーンの性質から、たった一つでもSSDを入れ替えればブロックチェーンは破壊される。こうして、ブロックチェーンを使って大規模システムを悪質なハッカーの攻撃から守ることは困難になる。また、仮に故障したハードウェアからブロックチェーンの破壊を防ぐために必要な情報が運よく取り出せたとしても、実際にそのような情報を取り出すには時間と労力がかかり経済的ではない。 Such a large-scale data center is configured with a huge number of SSDs so that access such as search from the whole world can be dealt with at all times. SSDs are hardware and cannot escape mechanical failure. No matter how reliable and low the failure frequency is, the number of SSDs is huge, so SSDs must be replaced on a daily basis for maintenance and inspection. Due to the nature of the blockchain, replacing just one SSD will destroy the blockchain. This makes it difficult to use blockchain to protect large systems from malicious hacker attacks. Even if the information necessary to prevent the blockchain from being broken can be retrieved from the broken hardware, it is time-consuming, labor-intensive, and uneconomical to actually retrieve such information.
本発明は上記事情を鑑みて成されたものであり、構成要素の一部であるハードウェアを交換しても論理ブロックが改ざんされないネットワーク管理技術を提供し、ブロックチェーンを用いて安全なイントラネットを安価に構築することを目的とする。 The present invention has been made in view of the above circumstances, and provides a network management technique in which a logical block is not tampered with even if hardware that is a part of a component is replaced, and a secure intranet is provided by using a block chain. Aim to build cheaply.
本発明は、上記課題を解決するため、以下の手段を採用する。 The present invention adopts the following means in order to solve the above problems.
複数のクライアントと、少なくとも一つのサーバーから構成されるネットワークにおいて、
前記サーバーは、各クライアントとデータのやり取りをする入出力インターフェースを有し、
前記複数のクライアントは、それぞれ固有の物理アドレスを有し、前記入出力インターフェースを通して前記物理アドレスを前記サーバーに送信し、
前記サーバーは、更に鍵生成装置および合成装置を含み、
前記鍵生成装置および前記合成装置は、前記物理アドレスから、それぞれのクライアントに対応する秘密鍵および公開鍵を生成し、
前記秘密鍵および前記公開鍵は、それぞれ対応する前記クライアントに渡し、
前記サーバーは、前記複数のクライアントそれぞれに対応して、前記物理アドレス、前記秘密鍵、および前記公開鍵の組み合わせからなる認証変数を生成し、
前記複数のクライアントに対応する認証変数を集めて非公開台帳に記録する、
ことを特徴とする、
ネットワークに関する。In a network consisting of multiple clients and at least one server,
The server has an input / output interface for exchanging data with each client,
Each of the plurality of clients has a unique physical address, and sends the physical address to the server through the input / output interface.
The server further includes a key generator and a synthesizer,
The key generation device and the synthesis device generate a private key and a public key corresponding to each client from the physical address,
The private key and the public key are passed to the corresponding clients,
The server generates an authentication variable composed of a combination of the physical address, the private key, and the public key for each of the plurality of clients,
Collecting authentication variables corresponding to the plurality of clients and recording them in a private ledger,
Characterized by that
Regarding the network.
前記複数のクライアントは、互いに異なる第一のクライアントと、第二のクライアントと、第三のクライアントと、を含み、
前記鍵生成装置は、前記第一のクライアントに対応する第一の秘密鍵から第一の公開鍵を生成し、
前記合成装置は、前記第一の公開鍵と、前記第二のクライアントに対応する第二の物理アドレスと、から前記第二のクライアントに対応する第二の秘密鍵を生成し、
前記鍵生成装置は、前記第二の秘密鍵から、前記第二のクライアントに対応する第二の公開鍵を生成し、
前記合成装置は、前記第二の公開鍵と、前記第三のクライアントに対応する第三の物理アドレスとから、前記第三のクライアントに対応する第三の秘密鍵を生成し、
前記鍵生成装置は、前記第三の秘密鍵から、第三の公開鍵を生成し、
前記第一の公開鍵と前記第一の秘密鍵は、互いに一対の組みを成し、
前記第二の公開鍵と前記第二の秘密鍵は、互いに一対の組みを成し、
前記第三の公開鍵と前記第三の秘密鍵は、互いに一対の組みを成す、
ことを特徴とする、
ネットワークに関する。The plurality of clients includes a first client, a second client, and a third client that are different from each other,
The key generation device generates a first public key from a first secret key corresponding to the first client,
The synthesizer generates a second secret key corresponding to the second client from the first public key and a second physical address corresponding to the second client,
The key generation device generates a second public key corresponding to the second client from the second secret key,
The synthesizer generates a third secret key corresponding to the third client from the second public key and a third physical address corresponding to the third client,
The key generation device generates a third public key from the third secret key,
The first public key and the first secret key form a pair with each other,
The second public key and the second private key form a pair with each other,
The third public key and the third private key form a pair with each other,
Characterized by that
Regarding the network.
前記第二のクライアントは、第四の物理アドレスを有する第四のクライアントに置き換えられ、
前記第四の物理アドレスは、前記入出力インターフェースを通して、前記サーバーに送信され、
前記非公開台帳において、前記第二のクライアントに対応する前記認証変数が、前記第四の物理アドレス、前記第二の秘密鍵、および前記第二の公開鍵を含む組み合わせに置き換えられ、
前記第四のクライアントは、前記サーバーから前記第二の秘密鍵および前記第二の公開鍵を渡され、前記第一のクライアントから前記第二のハッシュ値および前記第二の電子署名を渡される、
ことを特徴とする、
ネットワークに関する。The second client is replaced with a fourth client having a fourth physical address,
The fourth physical address is transmitted to the server through the input / output interface,
In the private ledger, the authentication variable corresponding to the second client is replaced with a combination including the fourth physical address, the second secret key, and the second public key,
The fourth client is passed the second secret key and the second public key from the server, and is passed the second hash value and the second electronic signature from the first client,
Characterized by that
Regarding the network.
ある時点で第一のタイムスタンプを添付した第一の論理ブロックと、その前のある時点で第二のスタンプを添付した第二の論理ブロックと、更にその前のある時点で第三のスタンプを添付した第三の論理ブロックとが、連結し、ブロックチェーンの一部あるいは全部を構成し、
前記第一のタイムスタンプは、前記第一の論理ブロック、第一のブロックハッシュ、および第一のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第二のタイムスタンプは、前記第二の論理ブロック、第二のブロックハッシュ、および第二のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第三のタイムスタンプは、前記第三の論理ブロック、第三のブロックハッシュ、および第三のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第一のブロックハッシュは、前記第二のブロック、前記第二のブロックハッシュ、前記第二のノンス値を、まとめてハッシュ化して生成したものであり、
前記第二のブロックハッシュは、前記第三のブロック、前記第三のブロックハッシュ、前記第三のノンス値を、まとめてハッシュ化して生成したものである、
ことを特徴とする、
ネットワークに関する。The first logical block with the first time stamp attached at a certain point, the second logical block with the second stamp attached at a certain point before that, and the third stamp at a certain point before that. The attached third logical block is connected to form part or all of the block chain,
The first time stamp is at least a portion of a record of a public ledger that collectively approved the first logical block, the first block hash, and the first nonce value,
The second time stamp is at least a portion of a record of a public ledger that collectively approved the second logical block, the second block hash, and the second nonce value,
The third time stamp is at least a portion of a record of a public ledger that collectively approved the third logical block, the third block hash, and the third nonce value,
The first block hash is generated by collectively hashing the second block, the second block hash, and the second nonce value,
The second block hash is generated by collectively hashing the third block, the third block hash, and the third nonce value.
Characterized by that
Regarding the network.
本発明によれば、膨大な数のハードウェアより構成される大規模システムの保守管理の経済性と安全性の向上を両立させることが可能となる。 According to the present invention, it is possible to achieve both the economical efficiency of maintenance and the improvement of safety of a large-scale system composed of a huge number of hardware.
以下、発明を実施するための最良の形態について、具体的に説明する。 Hereinafter, the best mode for carrying out the invention will be specifically described.
(第一の実施形態)
(First embodiment)
一般に、規模の大小に関わらず、システムを構成するのは複数の物理ノードである。これら複数の物理ノードはそれぞれ一種のハードウェアであり、信号伝達路を介してお互いにデータを交換しながらシステムとしての機能を生み出している。このような大規模システムを構成する複数の物理ノードは、中核的機能を担当する基幹ノードと、基幹ノードと連携して一部の機能を担当する周辺ノードに大別できる。必然的にネットワークとしての構造はクライアント・サーバー型になるので、以下基幹ノードをサーバー、周辺ノードをクライアントと呼ぶことにする。 In general, regardless of the size of the system, it is a plurality of physical nodes that make up the system. Each of these plurality of physical nodes is a kind of hardware, and exchanges data with each other via a signal transmission path to produce a function as a system. The plurality of physical nodes that constitute such a large-scale system can be roughly divided into a core node that handles core functions and a peripheral node that handles some functions in cooperation with the core node. Inevitably, the network structure will be a client-server type, so the core nodes will be called servers and peripheral nodes will be called clients below.
このようなシステムがデータセンターである場合、クライアントは一例としてSSDである。システムがSSDである場合、クライアントは一例としてNANDフラッシュであり、サーバーはコントローラーである。システムがコントローラーである場合、サーバーは演算処理装置であり、クライアントはキャッシュメモリなどである。 When such a system is a data center, the client is an SSD as an example. If the system is SSD, the client is NAND flash as an example and the server is the controller. When the system is a controller, the server is a processor and the client is a cache memory or the like.
図6は、システムに組み込む前のクライアント(N-1)、クライアント(N)、およびクライアント(N+1)である。それぞれ物理アドレス(N-1)、物理アドレス(N)、および物理アドレス(N+1)が割り当てられている。ただし、Nは2以上の自然数とする。 FIG. 6 shows a client (N-1), a client (N), and a client (N + 1) before being incorporated in the system. A physical address (N-1), a physical address (N), and a physical address (N + 1) are assigned respectively. However, N is a natural number of 2 or more.
図7は、これらのクライアントをサーバーに認証登録する方法を示している。クライアントを始めてシステムに組み込むことを初期設定と言い、保守・管理などの都合で認証登録をやり直すことを再設定と言う。サーバーは、各クライアントに対応して入出力インターフェース(I/F)を割り当てる。各クライアントは、このI/Fを介して物理アドレス(N-1)、物理アドレス(N)、物理アドレス(N+1)をそれぞれサーバーに送信する。 FIG. 7 shows a method of authenticating and registering these clients with the server. Initializing the client for the first time in the system is called initial setting, and re-registering authentication for convenience of maintenance and management is called resetting. The server assigns an input / output interface (I / F) to each client. Each client sends a physical address (N-1), a physical address (N), and a physical address (N + 1) to the server via this I / F.
サーバーは、各クライアントから受信した物理アドレス(N)を用い、適当な方法で秘密鍵(N)を生成する。サーバーは更に鍵生成装置を含み、前記鍵生成装置はエルガマル型暗号鍵生成方法に則って秘密鍵(N)から公開鍵(N)を生成する。ここで、秘密鍵(N)および公開鍵(N)は互いに一対の組みを成す。以下順を追って具体的に説明する。 The server uses the physical address (N) received from each client to generate a secret key (N) by an appropriate method. The server further includes a key generation device, and the key generation device generates the public key (N) from the secret key (N) according to the Elgamar-type encryption key generation method. Here, the private key (N) and the public key (N) form a pair with each other. A detailed description will be given below in order.
N=2とし、物理アドレス(1)から秘密鍵(1)を生成する。続いて、鍵生成装置がこの秘密鍵(1)から公開鍵(1)を生成する。秘密鍵(1)および公開鍵(1)をクライアント(1)に渡す。こうして、クライアント(1)には(物理アドレス(1)、秘密鍵(1)、公開鍵(1))の組み合わせが形成される。一方、サーバーの中にもクライアント(1)に対応する(物理アドレス(1)、秘密鍵(1)、公開鍵(1))の組合わせが残る。この組み合わせ認証変数と呼び、サーバー内の台帳に登録する。この台帳はサーバー外に非公開とするので非公開台帳と呼ぶことができる。 With N = 2, the secret key (1) is generated from the physical address (1). Then, the key generation device generates a public key (1) from this secret key (1). Pass the private key (1) and public key (1) to the client (1). In this way, a combination of (physical address (1), secret key (1), public key (1)) is formed in the client (1). On the other hand, the combination of (physical address (1), private key (1), public key (1)) corresponding to the client (1) remains in the server. It is called this combination authentication variable and is registered in the ledger in the server. Since this ledger is closed to the outside of the server, it can be called a closed ledger.
サーバーは更に合成装置を含む。この合成装置は、公開鍵(1)と物理アドレス(2)を合成し、その合成結果から秘密鍵(2)を生成する。続いて鍵生成装置は、この秘密鍵(2)をから公開鍵(2)を生成する。秘密鍵(2)および公開鍵(2)をクライアント(2)に渡す。こうして、クライアント(2)には(物理アドレス(2)、秘密鍵(2)、公開鍵(2))の組み合わせが形成される。一方、サーバーの中にもクライアント(2)に対応する認証変数(物理アドレス(2)、秘密鍵(2)、公開鍵(2))が残り、それをサーバー内の非公開台帳に登録する。 The server further includes a synthesizer. This synthesizer synthesizes a public key (1) and a physical address (2) and generates a secret key (2) from the synthesis result. Subsequently, the key generation device generates a public key (2) from this secret key (2). Pass the private key (2) and public key (2) to the client (2). In this way, a combination of (physical address (2), secret key (2), public key (2)) is formed in the client (2). On the other hand, the authentication variables (physical address (2), secret key (2), public key (2)) corresponding to the client (2) also remain in the server and are registered in the private ledger in the server.
以後Nを更新しながらこの作業を繰り返す。すなわち、前記合成装置が物理アドレス(N)と公開鍵(N−1)を合成し、その合成結果から秘密鍵(N)を生成する。続いて、前記鍵生成装置がこの秘密鍵(N)から公開鍵(N)を生成する。秘密鍵(N)および公開鍵(N)をクライアント(N)に渡す。こうして、クライアント(N)には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))の組み合わせが形成される。一方、サーバーの中にもクライアント(N)に対応する認証変数(物理アドレス(N)、秘密鍵(N)、公開鍵(N))が残り、それをサーバー内の非公開台帳に登録する。 After that, this work is repeated while updating N. That is, the synthesizing device synthesizes the physical address (N) and the public key (N-1), and generates the secret key (N) from the synthesis result. Then, the key generation device generates a public key (N) from the secret key (N). Pass the private key (N) and public key (N) to the client (N). Thus, a combination of (physical address (N), secret key (N), public key (N)) is formed in the client (N). On the other hand, the authentication variables (physical address (N), secret key (N), public key (N)) corresponding to the client (N) remain in the server and are registered in the private ledger in the server.
続いて前記合成装置が秘密鍵を生成する具体的な方法を説明する。一例として、まず適当な方法で大きな素数pを用意する。次に、物理アドレス(N)と公開鍵(N−1)を合成したものをハッシュ化し、その合成結果をp−1で割り、その余りを秘密鍵(N)とする。ここで、物理アドレスのハッシュ化は書式を整える役割も含む。物理アドレスが既に秘密鍵を生成するのに適した形式に整えられているのであれば省略することも可能である。また、N=1の場合、公開鍵(0)は存在しないのでダミーである。したがって、予めサーバー側で初期入力として用意しておく必要がある。この初期入力を公開鍵(0)の代わりに用いれば良い。 Next, a specific method for the synthesizer to generate a secret key will be described. As an example, first, a large prime number p is prepared by an appropriate method. Next, a combination of the physical address (N) and the public key (N-1) is hashed, the combined result is divided by p-1, and the remainder is used as the secret key (N). Here, the hashing of physical addresses also includes the role of formatting. It can be omitted if the physical address is already in a format suitable for generating a private key. When N = 1, the public key (0) does not exist and is a dummy. Therefore, it is necessary to prepare in advance as an initial input on the server side. This initial input may be used instead of the public key (0).
前記合成装置が物理アドレスと公開鍵を合成する方法は各種多様である。たとえば、足し算、引き算、掛け算、割り算、これら算術演算の組み合わせ、論理演算、その他可能な限りのあらゆるビット演算を活用することが可能である。 There are various methods of synthesizing the physical address and the public key by the synthesizer. For example, it is possible to utilize addition, subtraction, multiplication, division, combinations of these arithmetic operations, logical operations, and all possible bit operations.
こうして、クライアント(N)には(物理アドレス(N)、秘密鍵(N)および公開鍵(N))の組が保管される。同時に、前記非公開台帳には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))の組がN=1から順に登録される。この非公開台帳はサーバーで保管・管理し、安全性を高めるため外部に開示しない。 Thus, the set of (physical address (N), secret key (N) and public key (N)) is stored in the client (N). At the same time, a set of (physical address (N), secret key (N), public key (N)) is registered in the secret ledger in order from N = 1. This private ledger is stored and managed on the server and is not disclosed to the outside to enhance security.
図8は、初期設定・再設定した後のクライアントをハッシュ化によって連結し、論理ブロックを形成する方法を示している。この論理ブロックの生成方法は、ビットコインと同様である。すなわち、クライアント(N-1)の公開鍵(N-1)、ハッシュ値(N-2)および電子署名(N-2)の組み合わせがビットコインの財布(N-1)に対応するものであり、本願では論理ノード(N-1)である。この論理ノード(N-1)をハッシュ化し、ハッシュ値(N−1)を生成する。続いて、このハッシュ値(N−1)とクライアント(N)の公開鍵(N)をまとめて秘密鍵(N-1)で暗号化し、電子署名(N−1)を生成する。最後に、クライアント(N-1)は、ハッシュ値(N-1)と電子署名(N-1)を共にクライアント(N)に送付する。クライアント(N)では、公開鍵(N)、ハッシュ値(N−1)および電子署名(N−1)から論理ノード(N)が形成される。 FIG. 8 shows a method of forming a logical block by connecting clients after initial setting / resetting by hashing. The method of generating this logical block is similar to that of bitcoin. That is, the combination of the public key (N-1) of the client (N-1), the hash value (N-2), and the electronic signature (N-2) corresponds to the bitcoin purse (N-1). In this application, it is a logical node (N-1). This logical node (N-1) is hashed to generate a hash value (N-1). Then, the hash value (N-1) and the public key (N) of the client (N) are collectively encrypted with the secret key (N-1) to generate an electronic signature (N-1). Finally, the client (N-1) sends the hash value (N-1) and the electronic signature (N-1) together to the client (N). In the client (N), a logical node (N) is formed from the public key (N), hash value (N-1) and electronic signature (N-1).
続いて、論理ノード(N)をハッシュ化し、ハッシュ値(N)を生成する。続いて、このハッシュ値(N)とクライアント(N+1)の公開鍵(N+1)をまとめて秘密鍵(N)で暗号化し、電子署名(N)を生成する。最後に、クライアント(N)はハッシュ値(N)と電子署名(N)を共にクライアント(N+1)に送付する。クライアント(N+1)では、公開鍵(N+1)、ハッシュ値(N)および電子署名(N)から論理ノード(N+1)が形成される。 Then, the logical node (N) is hashed to generate a hash value (N). Then, the hash value (N) and the public key (N + 1) of the client (N + 1) are collectively encrypted with the secret key (N) to generate an electronic signature (N). Finally, the client (N) sends the hash value (N) and the electronic signature (N) together to the client (N + 1). In the client (N + 1), a logical node (N + 1) is formed from the public key (N + 1), hash value (N) and electronic signature (N).
この作業を繰り返し、複数の論理ノードから構成される論理ブロックが形成される。上述のような方法でハッシュ値をクライアント間で転送して行く方法は、クライアント間でデータを転送する一つの方法である。暗号通貨であればそのデータとは貨幣価値のある何かであり、ビットコインの場合それは処理記録である。(実際にはハッシュ化されたハッシュ値である。)クライアントがSSDなどのストレージであれば、必ずしもこのデータに貨幣価値は必要ない。単純にハッシュ化されたデータがSSD間を転送されるのみである。それでもこのように論理ブロックを形成することが可能である。すなわち、データの内容に関わらず論理ブロックが形成可能である。 By repeating this operation, a logical block including a plurality of logical nodes is formed. The method of transferring the hash value between the clients by the method as described above is one method of transferring the data between the clients. In the case of cryptocurrency, the data is something with a monetary value, and in the case of bitcoin it is a transaction record. (Actually, it is a hashed value.) If the client is a storage such as SSD, this data does not necessarily have a monetary value. Simply hashed data is transferred between SSDs. Nevertheless, it is possible to form logical blocks in this way. That is, a logical block can be formed regardless of the content of data.
前記論理ブロックを含むクライアントがハードウェアである場合、上述したようにハードウェアの機械的故障に対処する方法が必要である。すなわち、故障したハードウェアを新しいハードウェアに取り換えなければならない。 When the client including the logic block is hardware, a method for coping with mechanical failure of hardware is necessary as described above. That is, the failed hardware must be replaced with new hardware.
図9のように、クライアント(N)のハードウェアが故障した場合を考えよう。このとき、故障したハードウェアには物理アドレス(N)が添付されており、これと交換する新しいハードウェアには物理アドレス(N’)が添付されている。サーバーに保管されている非公開台帳には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))が記録されている。これをクライアント(N)に対応する認証変数とする。故障したクライアント(N)とサーバーを結んでいたI/Fを介して物理アドレス(N’)がサーバーに入力される。サーバーは、非公開台帳を編集し、前記認証変数を(物理アドレス(N’)、秘密鍵(N)、公開鍵(N))に修正する。あるいは(物理アドレス(N’)、秘密鍵(N)、公開鍵(N);物理アドレス(N))と記録しなおし、クライアント(N)がハードウェアを交換した履歴まで残すことも可能である。ここで、秘密鍵(N)と公開鍵(N)を修正する必要はない。 Consider the case where the hardware of the client (N) fails as shown in FIG. At this time, the physical address (N) is attached to the failed hardware, and the physical address (N ') is attached to the new hardware to be replaced. The private ledger stored on the server records (physical address (N), private key (N), public key (N)). This is the authentication variable corresponding to the client (N). The physical address (N ') is input to the server through the I / F that connects the failed client (N) and the server. The server edits the private ledger and modifies the authentication variable to (physical address (N '), private key (N), public key (N)). Alternatively, it is possible to re-record (physical address (N '), secret key (N), public key (N); physical address (N)) and leave the history of the client (N) exchanging hardware. .. Here, it is not necessary to modify the private key (N) and public key (N).
図10は、故障したハードウェアを置き換えた後の様子を示す図である。図8と見比べると、論理ノードは全く同じであることが判る。すなわち、論理ノードが改ざんがされなくて済む。こうして、本実施形態に関するサーバーを利用することによって、論理ブロックを改ざんすることなく故障したハードウェアを交換することが可能となる。 FIG. 10 is a diagram showing a state after replacing the failed hardware. It can be seen from comparison with FIG. 8 that the logical nodes are exactly the same. That is, the logical node does not have to be tampered with. Thus, by using the server according to the present embodiment, it becomes possible to replace the failed hardware without tampering with the logical block.
ハードウェアが故障する以前に、図8の論理ノードの集まりとそのデータ転送履歴が論理ブロックとして公開されているとしよう。この論理ブロック、あるいはこの論理ブロックを内包するより広範な論理ブロックを掘り当てたマイナーが、公開台帳(たとえばブロックチェーン)に記帳する。その後ハードウェアが故障し、図9の方法でハードウェアを交換する。しかしながら、図10のように、本実施形態ではハードウェアを交換したクライアントの論理ノードに変化はない。したがって、論理ブロックが改ざんされることはなく、ブロックチェーンの連結条件を壊す心配がない。 It is assumed that the set of logical nodes in FIG. 8 and the data transfer history thereof have been disclosed as logical blocks before the hardware fails. A miner who digs into this logical block or a wider logical block that includes this logical block records in a public ledger (for example, block chain). After that, the hardware fails, and the hardware is replaced by the method shown in FIG. However, as shown in FIG. 10, in this embodiment, there is no change in the logical node of the client whose hardware has been exchanged. Therefore, the logical block is not tampered with, and there is no fear of breaking the block chain connection condition.
こうして本実施形態に関する非公開台帳を利用すれば、ブロックチェーンの連結条件を破壊することなく故障したハードウェアを交換することが可能となる。外部のブロックチェーンの利用に追加コストは発生しないので、前記サーバーと前記複数のクライアントからなるイントラネットを外部のハッキングから低コストで守ることができる。
(第二の実施形態)In this way, by using the private ledger relating to the present embodiment, it becomes possible to replace the failed hardware without destroying the block chain connection conditions. Since no additional cost is incurred by using an external blockchain, the intranet including the server and the plurality of clients can be protected from external hacking at low cost.
(Second embodiment)
クライアントの間でデータをやり取りするごとに論理ノードの一部を構成するハッシュ値が変化する。したがって論理ブロックも変化する。時間軸を縦軸に取り、この変化を適当な時間間隔で区切ってタイムスタンプを添付すると、図11のように下から上に変化する論理ブロックを積み上げることが可能である。最新のものが論理ブロック(M)であり、一つ前に承認されたものが論理ブロック(M-1)である。更にその一つ前が論理ブロック(M-2)である。ただし、本実施形態では、このタイムスタンプを発行するのは論理ブロックを構成するクライアントが接続するサーバーである。タイムスタンプは、本実施形態に関するサーバーを使ったクライアントの保守管理の都合で定められた所定の時間間隔ごとに発行される。 Each time data is exchanged between clients, the hash value that forms part of the logical node changes. Therefore, the logical block also changes. By taking the time axis as the vertical axis and dividing this change at appropriate time intervals and attaching a time stamp, it is possible to stack logical blocks that change from bottom to top as shown in FIG. The latest one is the logical block (M), and the one approved one before is the logical block (M-1). Further immediately before that is the logical block (M-2). However, in the present embodiment, it is the server connected to the client that constitutes the logical block that issues this time stamp. The time stamp is issued at predetermined time intervals determined for the convenience of client maintenance management using the server according to this embodiment.
サーバーがタイムスタンプを発行するということは、その時点でその論理ブロックが存在していたことを公開台帳(たとえばブロックチェーン)に代わってサーバーが承認するということである。一方、P2P型ネットワークを前提にしたブロックチェーンでは、この承認作業は任意のマイナーによって行われる。この点で本実施形態に関する論理ブロックの承認は従来のブロックチェーンを利用する方法とは根本的に異なる。すなわち、図11の縦に連続する論理ブロックの連鎖は通常のブロックチェーンとは異なる。 When the server issues a time stamp, it means that the server approves the existence of the logical block at that time on behalf of the public ledger (eg, blockchain). On the other hand, in the blockchain based on the P2P type network, this approval work is performed by an arbitrary miner. In this respect, the approval of the logical block according to the present embodiment is fundamentally different from the conventional method using the block chain. That is, the chain of vertically continuous logical blocks in FIG. 11 is different from the normal block chain.
図12は、本実施形態に関するサーバーによる承認作業の一例を示す図面である。論理ブロックの変遷とタイムスタンプが図中左から右に向かって並べてある。最新のものがタイムスタンプ(M)であり、一つずつ遡ってタイムスタンプ(M-1)、タイムスタンプ(M-2)…となる。同様に論理ブロック(M)、論理ブロック(M-1)、論理ブロック(M-2)…と遡ることができる。 FIG. 12 is a diagram showing an example of the approval work by the server according to the present embodiment. The transitions and time stamps of logic blocks are arranged from left to right in the figure. The latest one is the time stamp (M), which goes back one by one to become the time stamp (M-1), the time stamp (M-2) .... Similarly, it can be traced back to a logical block (M), a logical block (M-1), a logical block (M-2) ...
論理ブロック(M-2)にブロックハッシュ(M-3)および適当に選んだノンス値を併せ、ハッシュ化してブロックハッシュ(M-2)を生成する。論理ブロック(M−1)に前記ブロックハッシュ(M−2)および適当に選んだノンス値を併せ、ハッシュ化してブロックハッシュ(M−1)を生成する。次のブロックハッシュ(M)を生成するには前記ブロックハッシュ(M-1)に論理ブロック(M)および適当に選んだノンス値を併せ、ハッシュ化すれば良い。 The block hash (M-3) and the appropriately selected nonce value are combined with the logical block (M-2) and hashed to generate the block hash (M-2). The block hash (M-2) and an appropriately selected nonce value are combined with the logical block (M-1) and hashed to generate a block hash (M-1). In order to generate the next block hash (M), the block block (M-1) may be combined with the logical block (M) and an appropriately selected nonce value and hashed.
ビットコインでは、ノンス値は一般に32ビットの任意の値である。このノンス値を含めて生成されたハッシュ値(ここではブロックハッシュ)は256ビットの値である。2の256乗は10の77乗より大きく、ブロックハッシュは膨大な自由度を持っていることが判る。前記ノンス値を適当に調整するとブロックハッシュの最初の数ビットをゼロにすることができる。一例として、新たに生成したブロックハッシュの最初の16ビットがすべてゼロになる確率は2の16乗分の1、すなわち65,536分の1である。偶然にはほとんど起こりえないことであり、このようなノンス値を掘り当てるには相応の仕事(ワーク)が必要である。また、ブロックハッシュの最初の16ビットをゼロにすることが既存の論理ブロックに新たな論理ブロックを接続するための接続条件である。最初にゼロにするビット数を16にしたのは、新たな論理ブロックが承認される頻度が全世界で10分に一回程度になるよう調整するためである。 In Bitcoin, the nonce value is generally an arbitrary value of 32 bits. The hash value (block hash in this case) generated including this nonce value is a 256-bit value. 2 256 is larger than 10 77, and it can be seen that the block hash has enormous degrees of freedom. By properly adjusting the nonce value, the first few bits of the block hash can be zero. As an example, the probability that the first 16 bits of the newly generated block hash are all zero is 1 in 2 to the 16th power, that is, 1 in 65,536. It rarely happens by chance, and appropriate work is needed to find out such a nonce value. Further, setting the first 16 bits of the block hash to zero is a connection condition for connecting a new logical block to an existing logical block. The number of bits to be set to zero is set to 16 at the beginning for the purpose of adjusting the frequency of approval of a new logical block to be about once every 10 minutes in the world.
16ビットの連結条件はサーバーによる管理を介さないP2P型ネットワークでのデータ転送の信頼性を維持するためであり、本願のようにサーバーを介してつながる特定のクライアント同士の間のデータ転送の信頼性を維持するためであれば、16ビットは十分すぎると考えられる。むしろこのビット数を少なくし、本実施形態に関するサーバーが新たな論理ブロックを承認するために要する平均時間を短くすることが必要な場合がある。 The 16-bit connection condition is for maintaining the reliability of data transfer in a P2P type network without management by the server, and the reliability of data transfer between specific clients connected via the server as in the present application. 16 bits is considered more than sufficient to maintain Rather, it may be necessary to reduce this number of bits to reduce the average time it takes for the server in this embodiment to accept a new logical block.
このような状況を鑑み、本願での論理ブロック接続条件は、ブロックハッシュの最初のLビットを全てゼロにすることである。ただし、Lは16より小さい自然数とする。本願に関わるノンス値はこの接続条件を満たすよう調整される。 In view of such a situation, the logical block connection condition in the present application is to set all the first L bits of the block hash to zero. However, L is a natural number smaller than 16. The nonce value according to the present application is adjusted to satisfy this connection condition.
こうしてノンス値を調整し、新たな論理ブロックを承認し、図12のようにタイムスタンプを発行することができる。この作業は本願に関するサーバーで行うことが好ましい。 Thus, the nonce value can be adjusted, the new logic block approved, and the time stamp issued as in FIG. This work is preferably performed on the server for this application.
このように、本願に関するブロックチェーンはビットコインなどに利用される従来のブロックチェーンとは異なる。本願では、新たな論理ブロックを承認するサーバーの保守管理さえ適切にしておけば外部から処理履歴の改ざんを防ぐことが可能となる。また、公開鍵と秘密鍵を一対一に対応させる公開暗号が破られない限り、図4で示すように論理アドレスと物理アドレスをリンクさせることができる。 As described above, the block chain related to the present application is different from the conventional block chain used for bit coins and the like. In the present application, it is possible to prevent tampering with the processing history from the outside if the maintenance and management of the server that approves the new logical block is properly performed. Further, as long as the public code that makes the public key and the private key correspond one-to-one is not broken, the logical address and the physical address can be linked as shown in FIG.
サーバーに保存される非公開台帳を適切に管理する限り、サーバー以外から物理アドレスを書き換えることは不可能である。こうして、(外部から書き換え不能の物理アドレス)を実現することができる。更に、故障したハードウェアを交換しても本願に関わるブロックチェーンを破壊しなくて済む。これは、論理ネットワーク内のみで稼働する従来のブロックチェーン(本願に関わる非公開台帳を採用しないブロックチェーン)にはない特徴である。 As long as the private ledger stored in the server is properly managed, it is impossible to rewrite the physical address from other than the server. In this way, (a physical address that cannot be rewritten from the outside) can be realized. Furthermore, even if the broken hardware is replaced, it is not necessary to destroy the block chain related to the present application. This is a feature that does not exist in the conventional blockchain that operates only in the logical network (blockchain that does not adopt the private ledger related to the present application).
例えば、データセンターで大量に稼動しているSSDなどのストレージは、互いに連携してビッグデータを扱うことが考えらえる。SSDは本願のクライアントの一例であり、SSD間のデータのやり取りの履歴はハッシュ化されて本願に関するブロックチェーンで改ざんできないよう管理される。この管理は、実質的には非公開台帳を保存するサーバーによる管理である。 For example, it is conceivable that storages such as SSDs that are operating in large quantities in data centers handle big data in cooperation with each other. The SSD is an example of the client of the present application, and the history of data exchange between SSDs is hashed and managed so that it cannot be tampered with by the blockchain related to the present application. This management is substantially management by the server that stores the private ledger.
論理ブロックの更新は、データーセンターの活動を制御するサーバーで行う。電子署名技術と本願に関するサーバーに保存される非公開台帳を利用することにより、一度サーバーによって初期設定されたSSDの物理アドレスを外部から改ざんできないようにですることができる。(外部から書き換え不能の物理アドレス)また、前記非公開台帳をサーバー内部で利用することによって、ブロックチェーンを破壊せずに故障したSSDを交換することが可能となる。
(第三の実施形態)The update of the logical block is performed by the server that controls the activity of the data center. By using the electronic signature technology and the private ledger stored in the server related to the present application, it is possible to prevent the physical address of the SSD once initialized by the server from being tampered with from the outside. (Physical address that cannot be rewritten from the outside) By using the private ledger inside the server, it becomes possible to replace the failed SSD without destroying the blockchain.
(Third embodiment)
前記物理アドレスは、物理的実態を有する半導体チップ内のセルアレイから抽出した何らかの物理的乱雑さより生成できる。このようなチップを認証チップと呼ぶ。 The physical address can be generated from some physical randomness extracted from a cell array in a semiconductor chip having a physical substance. Such a chip is called an authentication chip.
図13は、ワード線およびビット線からなるセルアレイの一例である。ワード線およびビット線が交差したところに認証素子が配置している。この例では、行数(ワード線数)はNであり、列数(ビット線数)はMである。ただし、行と列はいつでも入れ替え可能である。 FIG. 13 is an example of a cell array composed of word lines and bit lines. The authentication element is arranged at the intersection of the word line and the bit line. In this example, the number of rows (the number of word lines) is N and the number of columns (the number of bit lines) is M. However, the rows and columns can be swapped at any time.
一例として、認証素子はそれぞれ少なくとも二つの端子(第一の端子および第二の端子)を持ち、ワード線およびビット線の一方が前記第一の端子に接続し、他方が前記第二の端子に接続する。あるいは別の一例として、図14のように、ワード線を第一の制御ゲートに接続し、ビット線を第二の制御ゲートに接続する。あるいは、図15のように、ビット線を第一の制御ゲートに接続し、ワード線を第二の制御ゲートに接続する。いずれにしろ、こうして第一の端子と認証素子との間のアクセスを制御することができる。第二の端子は、必要に応じてソース線、基板電極、あるいは、グランドに落とす。 As an example, the authentication element has at least two terminals (first terminal and second terminal), respectively, one of the word line and the bit line is connected to the first terminal, the other to the second terminal. Connecting. Alternatively, as another example, as shown in FIG. 14, the word line is connected to the first control gate and the bit line is connected to the second control gate. Alternatively, as shown in FIG. 15, the bit line is connected to the first control gate and the word line is connected to the second control gate. In any case, it is thus possible to control the access between the first terminal and the authentication element. The second terminal is dropped to the source line, substrate electrode, or ground as necessary.
一例として認証素子は抵抗体(あるいは導電体)である。あるいは、キャパシタある。あるいはPN接合である。あるいはショットキー接合である。あるいはトランジスタある。あるいはトランジスタおよびキャパシタからなるDRAMセルである。あるいはトランジスタおよび可変抵抗からなる可変抵抗メモリセルである。あるいはトランジスタおよび磁気抵抗からなる磁気抵抗メモリセル(MRAM)である。あるいはスピントルク型MRAM(STT-MRAM)である。あるいは電荷蓄積層付き不揮発性メモリセルである。電荷蓄積層は電荷トラッピング層でも浮遊ゲートでもどちらでも良い。 As an example, the authentication element is a resistor (or a conductor). Alternatively, there is a capacitor. Alternatively, it is a PN junction. Alternatively, it is a Schottky junction. Or there is a transistor. Alternatively, it is a DRAM cell including a transistor and a capacitor. Alternatively, it is a variable resistance memory cell including a transistor and a variable resistance. Alternatively, it is a magnetoresistive memory cell (MRAM) including a transistor and a magnetoresistive element. Alternatively, it is a spin torque MRAM (STT-MRAM). Alternatively, it is a nonvolatile memory cell with a charge storage layer. The charge storage layer may be either a charge trapping layer or a floating gate.
あるいは、図16のように意図的にビット線端子を排除したNAND型配列上に配置した電荷蓄積層付き不揮発性メモリセルである。あるいは、図17のように意図的にビット線端子を排除したNAND型配列上に配置したトランジスタである。ただし、ビット線方向に直列する認証素子の集団の両端の一方にはビット線端子が接続し、他方にはソース線端子が接続する。このようにビット線端子を取り除いても、ビット線とワード線が交差するところの認証素子は、通常のNAND型の読み出し方法によって読み出すことが可能である。より具体的には、読み出す認証素子(選択セル)が含まれるビット線(選択ビット線)に連なる他のすべての認証素子のワード線(非選択ワード線)に転送電圧を印加し、選択セル以外すべてスイッチオン状態にする。その上で選択セルのワード線(選択ワード線)には転送電圧より低い電圧(読み出しゲート電圧)を印加すればよい。このとき、ビット線端子とソース線端子の間に適度な電圧(読み出しドレイン電圧)を印加してその間を流れる電流を測定すれば良い。 Alternatively, as shown in FIG. 16, it is a nonvolatile memory cell with a charge storage layer arranged on a NAND type array in which bit line terminals are intentionally excluded. Alternatively, as shown in FIG. 17, the transistors are intentionally arranged on a NAND type array in which the bit line terminals are excluded. However, the bit line terminal is connected to one of both ends of the group of the authentication elements serially arranged in the bit line direction, and the source line terminal is connected to the other. Even if the bit line terminal is removed in this way, the authentication element at the intersection of the bit line and the word line can be read by a normal NAND type reading method. More specifically, the transfer voltage is applied to the word lines (non-selected word lines) of all the other authentication elements connected to the bit line (selected bit line) including the authentication element (selected cell) to be read, and the other than the selected cell. Turn on all switches. Then, a voltage (read gate voltage) lower than the transfer voltage may be applied to the word line (selected word line) of the selected cell. At this time, an appropriate voltage (read drain voltage) may be applied between the bit line terminal and the source line terminal and the current flowing between them may be measured.
ここで、前記セルアレイ上の複数の認証素子の一部が何らかの原因で破壊され、破壊ビットとなっている、あるいは、何らかの原因で規定の特性を示さない不良ビットになっている、としよう。このような破壊ビットあるいは不良ビットのセルアレイ内での分布は、半導体チップに固有で物理的にランダムであると考えられる。また、破壊ビットは、何らかのストレスを半導体チップに意図的に印可することで確率的に発生し、セルアレイ上にランダムに分布する。不良ビットは、半導体チップ製造段階の制御不能の何らかのばらつきによって確率的に発生し、セルアレイ上にランダムに分布する。いずれにしろ、発生メカニズムはどのようなアルゴリズムとも関係しないので、物理的にランダムである。 Here, it is assumed that some of the plurality of authentication elements on the cell array are destroyed for some reason and become a destroyed bit, or for some reason a defective bit that does not exhibit specified characteristics. The distribution of such destroyed bits or defective bits in the cell array is considered to be unique to the semiconductor chip and physically random. Further, the destruction bits are stochastically generated by intentionally applying some stress to the semiconductor chip, and are randomly distributed on the cell array. The defective bits are stochastically generated due to some uncontrollable variation at the semiconductor chip manufacturing stage, and are randomly distributed on the cell array. In any case, the generation mechanism is physically random since it has nothing to do with any algorithm.
以下その方法の一例を具体的に説明する。 An example of the method will be specifically described below.
まずワード線デコーダを使ってワード線を選択し、ビット線デコーダを使ってビット線を選択し、それぞれ選択されたワード線(選択ワード線)とビット線(選択ビット線)で選択された認証素子を選択セルとする。 First, the word line decoder is used to select the word line, the bit line decoder is used to select the bit line, and the authentication element selected by the selected word line (selected word line) and bit line (selected bit line), respectively. Is the selected cell.
ここで、認証素子は大きく分けて2種類ある。第一の種類は、破壊されると読み出し電圧を印加した際電流を流しやすく、破壊されていないと電流を流しにくい。主な例は、キャパシタ、PN接合、ショットキー接合などである。破壊されているからどうかを判定するには、破壊判定電圧を印加したときの電流の絶対値が破壊判定電流値より高いか非破壊判定電流値より低いかを調べれば良い。ただし、破壊判定電流値は非破壊判定電流値より高い。 Here, there are roughly two types of authentication elements. In the first type, a current flows easily when a read voltage is applied when it is destroyed, and it is difficult to flow a current when it is not destroyed. Typical examples are capacitors, PN junctions and Schottky junctions. In order to determine whether or not it is destroyed, it is necessary to check whether the absolute value of the current when the breakdown determination voltage is applied is higher than the breakdown determination current value or lower than the non-destruction determination current value. However, the destructive determination current value is higher than the non-destructive determination current value.
第二の種類は、破壊されると読み出し電圧を印加した際電流を流しにくく、破壊されていないと電流を流しやすい。主な例は抵抗体(あるいは導電体)である。破壊されているかどうかを判定するには、破壊判定電圧を印加したときの電流の絶対値が非破壊判定電流値より高いか破壊判定電流値より低いかを調べれば良い。ただし、破壊判定電流値は非破壊判定電流値より低い。 In the second type, it is difficult for a current to flow when a read voltage is applied when it is destroyed, and it is easy to flow a current when it is not destroyed. The main examples are resistors (or conductors). In order to determine whether or not it has been destroyed, it is sufficient to check whether the absolute value of the current when the breakdown determination voltage is applied is higher than the non-destruction determination current value or lower than the breakdown determination current value. However, the destructive determination current value is lower than the non-destructive determination current value.
セルアレイ上の認証素子の集団から複数のセルを選択して読み出すと、一般に複数の破壊ビットが見つかる。あるいは、規定の特性を示さない不良ビットが見つかる。破壊ビットあるいは不良ビットのセルアレイ上の位置情報は、ワード線番号およびビット線番号からなる配列である。これら複数の破壊ビットあるいは不良ビットの位置情報を並べてコード表示すれば、破壊ビットあるいは不良ビットの分布に応じた認証コードが得られる。破壊ビットあるいは不良ビットの発生が物理的にランダムである限り、この認証コードは半導体チップに固有で物理的にランダムであると期待される。この認証コードの書式を適当に成形し、本願に使用される物理アドレスとする。 When a plurality of cells are selected and read from a group of authentication elements on a cell array, a plurality of destructive bits are generally found. Alternatively, a defective bit that does not exhibit the specified characteristics is found. The position information of the destroyed bit or the defective bit on the cell array is an array of word line numbers and bit line numbers. If the position information of the plurality of destroyed bits or defective bits is arranged and displayed as a code, an authentication code corresponding to the distribution of the destroyed bits or defective bits can be obtained. The authentication code is expected to be unique to the semiconductor chip and physically random, as long as the generation of the destruction bit or the defective bit is physically random. The format of this authentication code is appropriately formed into a physical address used in the present application.
破壊ビットあるいは不良ビットの数をQとし、選択セルの数をRとする。ただし、QはRより小さな数である。このとき認証コードの場合の数はRからQを選ぶ場合の数に等しい。すなわち、Rが十分大きく破壊ビットあるいは不良ビットの存在確率が無視できるほど小さくなければ、認証コードの場合の数は非常にに大きな数になる。 The number of destroyed or defective bits is Q, and the number of selected cells is R. However, Q is a number smaller than R. At this time, the number for the authentication code is equal to the number for selecting Q from R. That is, if R is sufficiently large and the existence probability of a destroyed bit or defective bit is not so small that it can be ignored, the number of authentication codes will be a very large number.
Qを1ギガ(10億)とし、Rを1キロ(1000)とすると、認証コードの場合の数はおよび10の6432乗に2.5を掛けた程度になる。すなわち、トリリオンノードに必要な1兆個(10の12乗)の半導体チップを生産したとき偶然に二つの半導体チップチップの認証コードが同じになる確率が4E−6421になることを意味している。半導体チップを100兆個供給したとしても偶然に二つの半導体チップの認証コードが同じになる確率は4E−6419になる。これは現実的にほぼゼロである。 If Q is 1 giga (1 billion) and R is 1 kilo (1000), the number of authentication codes is approximately 106432 raised to 2.5. That is, it means that when one trillion (10 12) semiconductor chips required for a trillion node are produced, the probability that the authentication codes of two semiconductor chip chips are the same by chance is 4E-6421. .. Even if 100 trillion semiconductor chips are supplied, the probability that the authentication codes of two semiconductor chips are the same is 4E-6419. This is practically zero.
また、Qが1ギガでRが1キロというのは不良率100万分の1に相当する。すなわち、半導体チップがシックスシグマ(100万分の3.4以下)を達成するほど不良率が低いと仮定しても、偶然に二つの半導体チップの認証コードが同じになる確率はほぼゼロであると言える。 Further, a Q of 1 giga and an R of 1 kg correspond to a defect rate of 1 in 1,000,000. That is, even if it is assumed that the defect rate is low enough for the semiconductor chips to attain Six Sigma (3.4 / million or less), the probability that the authentication codes of the two semiconductor chips are the same is almost zero. I can say.
また、シックスシグマ(100万分の3.4以下)に沿って考えると、1ギガビットのチップ製品において100万分の1以下に相当する1キロビットを他の目的に使用することは何ら問題にならない。したがって、1キロビットを認証素子用のセルアレイに割り当て、認証セル用のセルアレイに何らかのストレスを印加してほぼ半分を意図的に破壊することにする。このとき、認証コードの場合の数は10の299乗の2.7倍程度になる。すなわち、半導体チップを100兆個供給したとしても偶然に二つの半導体チップの認証コードが同じになる確率は3.7E−286になる。すなわち、現実的にほぼゼロである。 Further, considering along Six Sigma (3.4 / million or less), it is no problem to use 1 kilobit, which corresponds to 1 / million or less, for other purposes in a 1-gigabit chip product. Therefore, 1 kilobit is assigned to the cell array for the authentication element, and some stress is applied to the cell array for the authentication cell to intentionally destroy approximately half. At this time, the number of authentication codes is about 2.7 times 10 299. That is, even if 100 trillion semiconductor chips are supplied, the probability that the authentication codes of the two semiconductor chips are the same is 3.7E-286. That is, it is practically zero.
前記ストレスは、電気的ストレス、光学的ストレス、機械的ストレス、電磁場的ストレスなど多種多様である。 There are various types of stress such as electrical stress, optical stress, mechanical stress, and electromagnetic field stress.
電気的ストレスの一例は、まず全セルアレイの中から認証コードを生成するために選ばれた一部の領域の認証セルを同時に選択し、全選択セルに高電圧パルスを印加する。各セルを読み出し、非破壊ビットの数が破壊ビットの数より少なかった場合非破壊ビットのみ選択して2回目の高電圧パルスを印加する。非破壊ビットの数が破壊ビットの数とほぼ同数になるまでこの作業を繰り返す。 As an example of electrical stress, first, authentication cells in a partial region selected for generating an authentication code are simultaneously selected from all cell arrays, and a high voltage pulse is applied to all selected cells. When each cell is read and the number of non-destructive bits is less than the number of destructive bits, only the non-destructive bits are selected and the second high voltage pulse is applied. This process is repeated until the number of non-destructive bits becomes almost the same as the number of destructive bits.
光学的ストレスの一例は、アセンブリする前に認証素子用のセルアレイにX線や紫外線などを一定量照射する。照射量は、非破壊ビットと破壊ビットの数がほぼ同数になる程度に調整する。ただし、認証素子用のセルアレイの領域が非常狭い場合、それ以外の素子にも同様にストレスが印可される。全チップを認証素子用のセルアレイとするときに比較的有効な方法である。 One example of the optical stress is to irradiate the cell array for the authentication element with a certain amount of X-rays or ultraviolet rays before assembling. The irradiation amount is adjusted so that the number of non-destructive bits and the number of destructive bits are almost the same. However, when the area of the cell array for the authentication element is very small, stress is similarly applied to the other elements. This is a relatively effective method when all the chips are used as the cell array for the authentication element.
機械的ストレスの一例は、認証チップを湾曲させたり、打撃を加えるたりすることである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。 One example of mechanical stress is bending or striking the authentication chip. However, since stress is similarly applied to the cell array for the authentication element, this method is effective only when all the chips are used as the cell array for the authentication element.
電磁場的ストレスの一例は、認証チップを強い電磁場に晒すことである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。 One example of electromagnetic field stress is exposing the authentication chip to a strong electromagnetic field. However, since stress is similarly applied to the cell array for the authentication element, this method is effective only when all the chips are used as the cell array for the authentication element.
いずれにしろ、認証素子の破壊が確率的に発生する限り、認証コードは物理的にランダムに生成される。また、偶然に二つの半導体チップの認証コードが同じになる確率が現実的にほぼゼロである限り、認証コードは半導体チップに固有の物理アドレスとして十分通用する。 In any case, as long as the destruction of the authentication element occurs stochastically, the authentication code is physically randomly generated. Further, as long as the probability that the authentication codes of the two semiconductor chips are coincidentally the same is substantially zero, the authentication code is sufficiently valid as a physical address unique to the semiconductor chip.
このように、本実施形態の物理アドレスは、セルアレイ内での破壊ビットの分布から生成することが可能である。あるいは、本実施形態の物理アドレスは、セルアレイ内での不良ビットの分布から生成することが可能である。あるいは、本実施形態の物理アドレスは、セルアレイ内での破壊ビットおよび不良ビットの分布から生成することが可能である。
(第四の実施形態)As described above, the physical address of this embodiment can be generated from the distribution of the destruction bits in the cell array. Alternatively, the physical address of the present embodiment can be generated from the distribution of defective bits in the cell array. Alternatively, the physical address of this embodiment can be generated from the distribution of destroyed bits and defective bits in the cell array.
(Fourth embodiment)
一部のメモリチップ製品では、メモリセルの中に予め一定の割合以下で不良ビットが発生することを考慮に入れ、不良ビットが発生したビット線をビット線ごと入れ替えるための冗長ビット線を備えている。このような不良の発生原因は多種多様であり、半導体チップ(この例ではメモリチップ)の製造段階における製造ばらつきや部材の物理的な形成過程において自然発生するばらつきに依存する。一般に、これらのばらつきは制御不能である。冗長ビット線は通常メモリチップ製品のビット容量には含まれない。一例として図18参照。 Some memory chip products are equipped with redundant bit lines to replace the bit lines in which defective bits have occurred with each bit line in consideration of the fact that defective bits occur in memory cells at a certain rate or less beforehand. There is. There are various kinds of causes of such defects, and they depend on manufacturing variations at the manufacturing stage of the semiconductor chips (memory chips in this example) and naturally occurring variations in the physical forming process of the members. Generally, these variations are out of control. Redundant bit lines are not normally included in the bit capacity of memory chip products. See FIG. 18 for an example.
図18では、行方向に配列したビット線群を二つのグループに分ける。一方を複数の冗長ビット線からなる冗長ビット線群とし、他方を正規ビット線からなる正規ビット線群とする。正規ビット線群の行数をNとし、冗長ビット線群の行数をLとする。NもLも非負整数であり、NはLより大きい。メモリチップ製品のビット容量は、この正規ビット線群に含まれるセル数に相当する。 In FIG. 18, the bit line group arranged in the row direction is divided into two groups. One is a redundant bit line group including a plurality of redundant bit lines, and the other is a normal bit line group including normal bit lines. The number of rows of the normal bit line group is N, and the number of rows of the redundant bit line group is L. N and L are non-negative integers, and N is larger than L. The bit capacity of the memory chip product corresponds to the number of cells included in this normal bit line group.
出荷前検査で正規ビット線群の中に一定の条件を満たす不良ビットが発生していることが判明すると、その不良ビットを含む正規ビット線を冗長ビット線群の中の一つの冗長ビット線に割り当てる。このような読み換え(図中読み換えA、読み替えB…)を、不良ビットを含む正規ビット線それぞれに対して行い、不良ビットを実質的に取り除くことが可能となる。 If it is found in the pre-shipment inspection that defective bits satisfying a certain condition are generated in the normal bit line group, the normal bit line including the defective bit is set to one redundant bit line in the redundant bit line group. assign. Such read-out (read-out A, read-out B in the figure) is performed for each normal bit line including the defective bit, and the defective bit can be substantially removed.
より具体的には、出荷前検査で不良が見つかったビット線のビット線番号とそのビット線を読み換える冗長ビット線のビット線番号を周辺領域に混載している周辺メモリ(一例としてフューズメモリなど)に記録する。この周辺メモリは、メモリセルにアクセスする際参照される。本実施形態では、この周辺メモリに記録された情報をコード表示し、所定の書式に成形したものが物理アドレスの役割を果たす。 More specifically, a peripheral memory in which a bit line number of a bit line in which a defect is found in the pre-shipment inspection and a bit line number of a redundant bit line for rereading the bit line are mixedly mounted in a peripheral area (for example, a fuse memory, etc. ). This peripheral memory is referred to when accessing the memory cell. In the present embodiment, the information recorded in the peripheral memory is code-displayed and shaped into a predetermined format to serve as a physical address.
このような条件を満たすメモリチップ製品の一例としてDRAMがあげられる。そのほかフラッシュメモリ、相変化メモリ、抵抗変化メモリ、磁気抵抗変化メモリ(MRAM)、スピントルク型MRAM等が考えられる。 A DRAM is an example of a memory chip product that satisfies such conditions. In addition, a flash memory, a phase change memory, a resistance change memory, a magnetic resistance change memory (MRAM), a spin torque type MRAM, etc. can be considered.
出荷前検査で発覚する不良ビットの数をmとすると、その場合の数はNの中からmを選ぶ組み合わせである。すなわち、C(N,m)である。それぞれをどの冗長ビット線に読み換えるかを考慮に入れると、場合の数は更にLの中からmを選んで並べる順列の数を掛け合わせなければならない。すなわち、C(N,m)P(L,m)である。つまり、過小評価しても場合の数はC(N,m)程度ある。 Assuming that the number of defective bits detected in the pre-shipment inspection is m, the number in that case is a combination in which m is selected from N. That is, C (N, m). Taking into consideration which redundant bit line to read each, the number of cases must be further multiplied by the number of permutations in which m is selected from L. That is, C (N, m) P (L, m). That is, the number of cases is about C (N, m) even if it is underestimated.
典型的な4ギガビットDRAM製品の場合、たとえば、全ビット線数655万本に対して冗長ビット線数は15万3千本程度である。すなわち、何らかの事情によって正規ビット線群内のビット線に不良ビットが発生する行数は、最大15万3千程度まで量産DRAMとして許容できる。このとき冗長ビット線への再割り付けの場合の数は655万の内から15万3千を選ぶ組み合わせに等しい。計算すると約10の315、289乗(1E315、289)になる。すなわち、DRAMチップを100兆個供給したとしても偶然に二つのDRAMチップの認証コードが同じになる確率は1E−315、275になる。現実的にほぼゼロである。 In the case of a typical 4 gigabit DRAM product, for example, the number of redundant bit lines is about 153,000 with respect to the total number of bit lines of 650,000. That is, the number of rows in which a defective bit occurs in the bit line in the normal bit line group for some reason can be allowed up to about 153,000 as a mass production DRAM. At this time, the number in the case of reallocation to the redundant bit line is equal to the combination of 155,000 selected from 655,000. When it is calculated, it becomes about 315 to the power of 289 (1E315, 289). In other words, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two DRAM chips are the same is 1E-315, 275. It is practically zero.
なお、本実施形態では、ビット線とワード線を入れ替えることも可能である。すなわち、全ワード線数440万本に対して冗長ワード線数は3、044本程度である。全冗長ワード線を読み換えに使ったと仮定すると、その場合の数はおよそ2.9E10、938となる。前者の場合の数より大分少なくなるが、それでも恐ろしく大きな数である。すなわち、DRAMチップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は1E−10、924になる。現実的にほぼゼロである。 In this embodiment, the bit line and the word line can be exchanged. That is, the total number of word lines is 4.4 million, and the number of redundant word lines is about 30,44. Assuming that all redundant word lines have been used for reading, the number in that case is approximately 2.9E10, 938. It's much smaller than the former case, but still a terribly large number. That is, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two authentication chips are the same is 1E-10,924. It is practically zero.
こうして、非常に大きな情報エントロピーを有する認証コードを生成することが可能となる。ここで着目すべきことは、本実施形態では認証コードを生成するために1ビットも余計に割いていないことである。すなわち、冗長ビット線(あるいは冗長ワード線)は既にメモリチップ製品に搭載されているものであり、読み替え情報を記録する周辺メモリも同様である。その上偶然に二つの半導体チップの認証コードが同じになる確率が現実的にほぼゼロでるほど小さい。この認証コードは、本願の物理アドレスとして十分通用する。 In this way, it is possible to generate an authentication code with a very large information entropy. What should be noted here is that, in the present embodiment, even one bit is not excessively generated in order to generate the authentication code. That is, the redundant bit line (or redundant word line) is already mounted in the memory chip product, and the peripheral memory for recording the replacement information is also the same. Moreover, the probability that the authentication codes of the two semiconductor chips are the same by chance is so small that it is practically zero. This authentication code is sufficiently valid as the physical address of the present application.
本願に関する物理アドレスは、ハードウェアに割り当てられたコード情報である。あるいは、ハードウェアを構成する部品の一部に割り当てられたコード情報である。あるいは、ハードウェアを構成する半導体チップに割り当てられるチップ認証である。前記チップ認証は、半導体チップに固有の物理的乱雑さに基づいて生成されることを特徴とする。前記半導体チップは複数の素子で構成され、前記複数の素子は、所定のストレスを印加することによって確率的に破壊され、前記破壊された素子の位置情報の集合(分布)が前記半導体チップに固有の物理的乱雑さとなることを特徴とする。あるいは、前記半導体チップを構成する複数の素子は、製造過程における制御不能のばらつきにより、確率的に不良ビットとなる。前記不良ビットの位置情報の集合(分布)が前記半導体チップに固有の物理的乱雑さとなることを特徴とする。前記所定のストレスは、電気的ストレス、力学的ストレス、電磁場的ストレス、光学的ストレス等であることを特徴とする。 The physical address related to the present application is code information assigned to hardware. Alternatively, it is code information assigned to a part of the components that make up the hardware. Alternatively, it is chip authentication assigned to a semiconductor chip that constitutes hardware. The chip authentication is generated based on physical randomness unique to the semiconductor chip. The semiconductor chip is composed of a plurality of elements, the plurality of elements are stochastically destroyed by applying a predetermined stress, and a set (distribution) of position information of the destroyed elements is unique to the semiconductor chip. It is characterized by being a physical disorder of. Alternatively, the plurality of elements forming the semiconductor chip become stochastic defective bits due to uncontrollable variations in the manufacturing process. The set (distribution) of position information of the defective bits is a physical disorder unique to the semiconductor chip. The predetermined stress is electrical stress, mechanical stress, electromagnetic field stress, optical stress, or the like.
本願に関する巧妙なネットワーク・ハードウェア・セキュリティ・システムを構築することにより、非公開台帳を使ってブロックチェーンを破壊せずに故障した物理ノードを交換するとが可能となる。このブロックチェーンは、(第一の実施形態)では外部の論理ネットワークから任意のマイナーによって記帳されるものを利用する。すなわち、従来のブロックチェーンと整合性のあるものであり、外部のネットワークを利用してデータセンターの保守管理を効率よく安全に行うことができるようになる。一方(第二の実施形態)では、非公開台帳を保管するサーバーが論理ブロックを記帳して独自のブロックチェーンを構成する。 By building a clever network hardware security system for the present application, it is possible to use a private ledger to replace a failed physical node without destroying the blockchain. In this block chain (first embodiment), the one that is registered by an arbitrary miner from an external logical network is used. That is, it is compatible with the conventional block chain, and the maintenance and management of the data center can be efficiently and safely performed using the external network. On the other hand, in the second embodiment, the server that stores the private ledger records the logical blocks to form a unique block chain.
本願によれば、過去の処理履歴の改ざんを不能にし、(外部から書き換え不能の物理アドレス)を実現し、なおかつ、故障したハードウェアを交換することが可能なネットワーク・ハードウェア・セキュリティ・システムを構築することが可能となる。 According to the present application, there is provided a network hardware security system capable of tampering with past processing history, realizing (a physical address that cannot be rewritten from the outside), and replacing failed hardware. It is possible to build.
本願ではハッシュ化を頻繁に使っている。ハッシュ化にはハッシュ関数を用いればよい。ハッシュ関数は、MD2、MD4、MD5、RIPE-MD160、SHA-256、SHA-384、SHA-512など多数存在し、このうち一例としてビットコインではSHA-256が使用されている。
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
Hashing is frequently used in this application. A hash function may be used for hashing. There are many hash functions such as MD2, MD4, MD5, RIPE-MD160, SHA-256, SHA-384, and SHA-512. Of these, SHA-256 is used in Bitcoin as an example.
The technical scope of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
安全かつ利便性の高いIoTビジネスの基盤技術をより低いコストで提供することが可能となる
It will be possible to provide safe and convenient basic technology for IoT business at a lower cost
Claims (13)
前記サーバーは、各クライアントとデータのやり取りをする入出力インターフェースを有し、
前記複数のクライアントは、それぞれ固有の物理アドレスを有し、前記入出力インターフェースを通して前記物理アドレスを前記サーバーに送信し、
前記サーバーは、更に鍵生成装置および合成装置を含み、
前記鍵生成装置および前記合成装置は、前記物理アドレスから、それぞれのクライアントに対応する秘密鍵および公開鍵を生成し、
前記秘密鍵および前記公開鍵は、それぞれ対応する前記クライアントに渡される、
ことを特徴とするネットワーク。
In a network consisting of multiple clients and at least one server,
The server has an input / output interface for exchanging data with each client,
Each of the plurality of clients has a unique physical address, and sends the physical address to the server through the input / output interface.
The server further includes a key generator and a synthesizer,
The key generation device and the synthesis device generate a private key and a public key corresponding to each client from the physical address,
The private key and the public key are passed to the corresponding clients,
A network characterized by that.
前記複数のクライアントに対応する前記認証変数を集めて非公開台帳に記録する、
ことを特徴とする、
請求項1記載のネットワーク。
The server generates an authentication variable composed of a combination of the physical address, the private key, and the public key for each of the plurality of clients,
Collecting the authentication variables corresponding to the plurality of clients and recording them in a private ledger,
Characterized by that
The network according to claim 1.
請求項1記載のネットワーク。
The private ledger is stored in the server and is private to the outside of the server,
The network according to claim 1.
前記鍵生成装置は、前記第一のクライアントに対応する第一の秘密鍵から第一の公開鍵を生成し、
前記合成装置は、前記第一の公開鍵と、前記第二のクライアントに対応する第二の物理アドレスと、から前記第二のクライアントに対応する第二の秘密鍵を生成し、
前記鍵生成装置は、前記第二の秘密鍵から、前記第二のクライアントに対応する第二の公開鍵を生成し、
前記合成装置は、前記第二の公開鍵と、前記第三のクライアントに対応する第三の物理アドレスとから、前記第三のクライアントに対応する第三の秘密鍵を生成し、
前記鍵生成装置は、前記第三の秘密鍵から、第三の公開鍵を生成し、
前記第一の公開鍵と前記第一の秘密鍵は、互いに一対の組みを成し、
前記第二の公開鍵と前記第二の秘密鍵は、互いに一対の組みを成し、
前記第三の公開鍵と前記第三の秘密鍵は、互いに一対の組みを成す、
ことを特徴とする、
請求項1記載のネットワーク。
The plurality of clients includes a first client, a second client, and a third client that are different from each other,
The key generation device generates a first public key from a first secret key corresponding to the first client,
The synthesizing device generates a second secret key corresponding to the second client from the first public key and a second physical address corresponding to the second client,
The key generation device generates a second public key corresponding to the second client from the second secret key,
The synthesizer generates a third secret key corresponding to the third client from the second public key and a third physical address corresponding to the third client,
The key generation device generates a third public key from the third secret key,
The first public key and the first secret key form a pair with each other,
The second public key and the second secret key form a pair with each other,
The third public key and the third secret key form a pair with each other,
Characterized by that
The network according to claim 1.
ことを特徴とする、
請求項4記載のネットワーク。
The synthesizer divides a value obtained by synthesizing the first public key and the second physical address by a predetermined synthesizing method by a value obtained by subtracting 1 from a predetermined prime number, The second secret key,
Characterized by that
The network according to claim 4.
前記第二の公開鍵、第二のハッシュ値、および第二の電子署名から、第二の論理ノードを形成し、
前記第三の公開鍵、第三のハッシュ値、および第三の電子署名から、第三の論理ノードを形成し、
前記第二のハッシュは、前記第一の論理ノードをハッシュ化して生成したものであり、
前記第三のハッシュは、前記第二の論理ノードをハッシュ化して生成したものであり、
前記第二の電子署名は、前記第二のハッシュ値と前記第二の公開鍵とを前記第一の秘密鍵で暗号化して生成したものであり、
前記第三の電子署名は、前記第三のハッシュ値と前記第三の公開鍵とを前記第二の秘密鍵で暗号化して生成したものである、
ことを特徴とする、
請求項4記載のネットワーク。
Forming a first logical node from the first public key, the first hash value, and the first digital signature,
Forming a second logical node from the second public key, the second hash value, and the second digital signature,
Forming a third logical node from the third public key, the third hash value, and the third digital signature,
The second hash is generated by hashing the first logical node,
The third hash is generated by hashing the second logical node,
The second electronic signature is generated by encrypting the second hash value and the second public key with the first secret key,
The third electronic signature is generated by encrypting the third hash value and the third public key with the second secret key.
Characterized by that
The network according to claim 4.
前記第四の物理アドレスは、前記入出力インターフェースを通して、前記サーバーに送信され、
前記非公開台帳において、前記第二のクライアントに対応する前記認証変数が、前記第四の物理アドレス、前記第二の秘密鍵、および前記第二の公開鍵を含む組み合わせに置き換えられ、
前記第四のクライアントは、前記サーバーから前記第二の秘密鍵および前記第二の公開鍵を渡され、前記第一のクライアントから前記第二のハッシュ値および前記第二の電子署名を渡される、
ことを特徴とする、
請求項6記載のネットワーク。
The second client is replaced with a fourth client having a fourth physical address,
The fourth physical address is transmitted to the server through the input / output interface,
In the private ledger, the authentication variable corresponding to the second client is replaced with a combination including the fourth physical address, the second secret key, and the second public key,
The fourth client is passed the second secret key and the second public key from the server, and is passed the second hash value and the second electronic signature from the first client,
Characterized by that
The network according to claim 6.
前記第一の論理ノードは、前記第一のクライアントに対応し、
前記第二の論理ノードは、前記第二のクライアントに対応し、
前記第三の論理ノードは、前記第三のクライアントに対応し、
前記第一のクライアントから前記第二のクライアントにデータを転送することによって、前記第二のハッシュ値が更新され、前記論理ブロックが変化し、
前記サーバーは、所定の時間間隔で前記論理ブロックを承認し、その時点でのタイムスタンプを添付し、前記論理ブロックの変化の履歴の少なくとも一部を記録することを特徴とする、
請求項6記載のネットワーク。
The first logic node, the second logic node, and the third logic node form part or all of a logic block,
The first logical node corresponds to the first client,
The second logical node corresponds to the second client,
The third logical node corresponds to the third client,
By transferring data from the first client to the second client, the second hash value is updated, the logical block changes,
The server approves the logical block at a predetermined time interval, attaches a time stamp at that time, and records at least a part of a history of changes of the logical block.
The network according to claim 6.
請求項8記載のネットワーク。
The first logical block with the first time stamp attached at a certain point, the second logical block with the second stamp attached at a certain point before that, and the third stamp at a certain point before that. The attached third logic block is connected to form a part or all of the block chain,
The network according to claim 8.
前記第二のタイムスタンプは、前記第二の論理ブロック、第二のブロックハッシュ、および第二のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第三のタイムスタンプは、前記第三の論理ブロック、第三のブロックハッシュ、および第三のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第一のブロックハッシュは、前記第二の論理ブロック、前記第二のブロックハッシュ、前記第二のノンス値を、まとめてハッシュ化して生成したものであり、
前記第二のブロックハッシュは、前記第三の論理ブロック、前記第三のブロックハッシュ、前記第三のノンス値を、まとめてハッシュ化して生成したものである、
ことを特徴とする、
請求項9記載のネットワーク。
The first time stamp is at least a portion of a record of a public ledger that collectively approved the first logical block, the first block hash, and the first nonce value,
The second time stamp is at least a portion of a record of a public ledger that collectively approved the second logical block, the second block hash, and the second nonce value,
The third time stamp is at least a portion of a record of a public ledger that collectively approved the third logical block, the third block hash, and the third nonce value,
The first block hash is generated by hashing the second logical block, the second block hash, and the second nonce value together.
The second block hash is generated by collectively hashing the third logical block, the third block hash, and the third nonce value.
Characterized by that
The network according to claim 9.
前記複数のビットは、それぞれ、第一の値、あるいは、第二の値、のどちらかの値であり、
前記第二のノンス値は、前記第一のブロックハッシュの最初のQ桁のビットが第一の値になるように調整され、
前記第三のノンス値は、前記第二のブロックハッシュの最初のQ桁のビットが前記第一の値になるように調整され、
前記Qが16より小さい自然数である、
ことを特徴とする、
請求項10記載のネットワーク。
The first block hash, the second block hash, and the third block hash are each composed of a sequence of a plurality of bits with a predetermined number of digits,
Each of the plurality of bits is either a first value or a second value,
The second nonce value is adjusted such that the first Q-th bit of the first block hash is a first value,
The third nonce value is adjusted such that the first Q-bits of the second block hash are the first value,
The Q is a natural number less than 16,
Characterized by that
The network according to claim 10.
前記複数のハードウェアは、それぞれ少なくとも一つの半導体チップを含み、
前記半導体チップは、少なくともセルアレイを含み、
前記セルアレイは、複数の認証素子で構成され、
前記複数の認証素子の一部は、前記半導体チップの製造段階における制御不能のばらつきにより、不良ビットとなり、
あるいは、前記複数の認証素子の一部は、前記半導体チップに意図的に印可したストレスにより、破壊ビットとなり、
前記不良ビット、あるいは、前記破壊ビットの、前記セルアレイ内での分布に応じて、前記物理アドレスを生成する、
ことを特徴とする、
請求項1記載のネットワーク。
Each of the plurality of clients is composed of a plurality of hardware,
Each of the plurality of hardware includes at least one semiconductor chip,
The semiconductor chip includes at least a cell array,
The cell array is composed of a plurality of authentication elements,
Some of the plurality of authentication elements become defective bits due to uncontrollable variations in the manufacturing process of the semiconductor chip,
Alternatively, a part of the plurality of authentication elements becomes a destruction bit due to stress intentionally applied to the semiconductor chip,
Generating the physical address according to the distribution of the defective bit or the destroyed bit in the cell array,
Characterized by that
The network according to claim 1.
ことを特徴とする、
請求項12記載のネットワーク。
The stress is electrical stress, optical stress, mechanical stress, or electromagnetic field stress,
Characterized by that
The network according to claim 12.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017054728 | 2017-03-21 | ||
JP2017054728 | 2017-03-21 | ||
PCT/JP2018/011231 WO2018174112A1 (en) | 2017-03-21 | 2018-03-21 | Technology for authenticating device on network |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2018174112A1 true JPWO2018174112A1 (en) | 2020-05-14 |
Family
ID=63584558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019507724A Pending JPWO2018174112A1 (en) | 2017-03-21 | 2018-03-21 | Device authentication technology on the network |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2018174112A1 (en) |
WO (1) | WO2018174112A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MY194395A (en) | 2018-12-19 | 2022-11-30 | Advanced New Technologies Co Ltd | Data isolation in a blockchain network |
JP7344543B2 (en) * | 2019-07-12 | 2023-09-14 | シスナ株式会社 | Valuables management system |
JP6683332B1 (en) * | 2019-08-26 | 2020-04-15 | シスナ株式会社 | Valuables management system |
US11665159B2 (en) | 2020-04-22 | 2023-05-30 | Kyndryl, Inc. | Secure resource access by amalgamated identities and distributed ledger |
US20230198961A1 (en) * | 2020-05-26 | 2023-06-22 | Yukiko Watanabe | Electronic apparatus and network of electronic apparatus |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6161213A (en) * | 1999-02-17 | 2000-12-12 | Icid, Llc | System for providing an integrated circuit with a unique identification |
WO2005064843A1 (en) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Industrial Co.,Ltd. | Prime calculation device, method, and key issuing system |
EP3281163B1 (en) * | 2015-04-05 | 2023-12-13 | Digital Asset (Switzerland) GmbH | Digital asset intermediary electronic settlement platform |
-
2018
- 2018-03-21 WO PCT/JP2018/011231 patent/WO2018174112A1/en active Application Filing
- 2018-03-21 JP JP2019507724A patent/JPWO2018174112A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2018174112A4 (en) | 2018-11-29 |
WO2018174112A1 (en) | 2018-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108632028B (en) | Authentication network | |
CN107819583B (en) | Techniques for preventing misuse of keys | |
US11818269B2 (en) | Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets | |
JP6592621B2 (en) | Authentication network | |
CN109194466B (en) | Block chain-based cloud data integrity detection method and system | |
WO2018174112A1 (en) | Technology for authenticating device on network | |
JP5525133B2 (en) | System and method for digital signature and authentication | |
CN116670673A (en) | Transferring cryptocurrency from a remote limited access wallet | |
CN107171812A (en) | It is a kind of based on block chain without key signature infrastructure construction method | |
BR112019007232B1 (en) | COMPUTER-IMPLEMENTED METHODS FOR INFORMATION PROTECTION, SYSTEMS FOR INFORMATION PROTECTION AND NON-TRANSITORY COMPUTER-LEABLE STORAGE MEDIA | |
KR20200118303A (en) | Private key securing methods of decentralizedly storying keys in owner's device and/or blockchain nodes | |
US20220224532A1 (en) | Systems and Methods for Hiding Private Cryptographic Keys in Multimedia Files | |
CN111476573B (en) | Account data processing method, device, equipment and storage medium | |
CN107070896B (en) | Safe and efficient block chain network customized login method and safe reinforcement system | |
US10706177B2 (en) | Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network | |
Ren et al. | Blockchain‐Based Proof of Retrievability Scheme | |
CN101355428A (en) | Method for protecting data integrity using increment checkout | |
Keerthana et al. | Slicing, Tokenization, and Encryption Based Combinational Approach to Protect Data-at-Rest in Cloud Using TF-Sec Model | |
JP2019145926A (en) | Chip wallet | |
Chen et al. | Security and trust model for data disaster-recovery service on the cloud | |
CN112258169B (en) | Parallel signature system and method based on key generation | |
Aithal | Multi-Privacy Level Encryption Technique For Secure Cloud-Based Data Repositories | |
Patil | Auditing authorization of big data on cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20201224 |