JPWO2018168723A1 - ネットワーク上の装置認証技術 - Google Patents

ネットワーク上の装置認証技術 Download PDF

Info

Publication number
JPWO2018168723A1
JPWO2018168723A1 JP2019505988A JP2019505988A JPWO2018168723A1 JP WO2018168723 A1 JPWO2018168723 A1 JP WO2018168723A1 JP 2019505988 A JP2019505988 A JP 2019505988A JP 2019505988 A JP2019505988 A JP 2019505988A JP WO2018168723 A1 JPWO2018168723 A1 JP WO2018168723A1
Authority
JP
Japan
Prior art keywords
authentication
key
physical address
network
node
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
Application number
JP2019505988A
Other languages
English (en)
Inventor
渡辺 浩志
浩志 渡辺
敦寛 木下
敦寛 木下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JPWO2018168723A1 publication Critical patent/JPWO2018168723A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 using challenge-response
    • H04L9/3278Cryptographic 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 using challenge-response using physically unclonable functions [PUF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic 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 involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

【課題】物理ノード同士の間のデータ転送を改ざんから防ぎ、物理ノード同士のネットワークである、物のネットワークの信頼性を向上させること。【解決手段】物のネットワークの最小構成単位を半導体チップと見なし、半導体チップに固有の物理的乱雑さを物理ノードの物理アドレスと関連付け、この物理アドレスと更に関連する論理アドレスをネットワーク上の論理アドレスと関連付け、公開台帳(ブロックチェーン)技術を用いこのネットワーク上の論理ノード同士の間のデータ転送を改ざんから防ぐことによって、対応する物理ノード同士の間のデータ転送を改ざんから防ぎ、結果として、物のネットワークのセキュリティを効率的に向上させることを特徴としている。【選択図】図17

Description

本発明は、ネットワーク上に存在する装置を認証する技術に関する。
進化し続けるインターネットに接続する装置の数は年とともに増大し、そのネットワーク構造も複雑化・多様化してきている。しかしながら、基本的には、特別な機能を有するサーバーを中心的なノード(基幹ノード)に据えたクライアント・サーバー(CS)型と、このような基幹ノードが存在せずすべてのノードが基本的に対等な形で接続するピアトゥア(P2P)型に大別することができる。ただし、いずれの型に属するネットワークであっても、ネットワークには図1に示すような最小単位が存在する。
このように、ネットワークは一般に結節点(ノード)と通信線(リンク)からなる。図1では、第一のノード2001と第二のノード2002が、通信線である信号伝達路1000によってリンクしている。たとえば、第一のノード2001と第二のノード2002は、信号伝達路1000を介してプロトコル・データ・ユニットを交換している。この第一のノード2001と第二のノード2002は、それぞれ一定の整合性を持つプロトコルに従ってプロトコル・データ・ユニットを扱う。
プロトコル・データ・ユニットの仲間でよく使われる言葉にフレーム、パケット、セグメント等がある。名称の違いは通信階層(通信レイヤー、あるいは、レイヤー)に対応して使い分けられ、ネットワークシステム全体の概念によって決定される。たとえば、図2のように、下の階層から順に、物理層(レイヤー1)、データリンク層(レイヤー2)、ネットワーク層(レイヤー3)、トランスポート層(レイヤー4)、上位層(レイヤー5)となる。ただし、この階層構造はほんの一例に過ぎず、異なる概念の元では、たとえば、トランスポート層を更に3分割して7階層にする。いずれにしろ、データリンク層(レイヤー2)ではプロトコル・データ・ユニットをフレームと呼び、ネットワーク層(レイヤー3)ではパケットと呼び、トランスポート層(レイヤー4)ではセグメントと呼ぶのが一般的である。

(通信階層)
一般に、インターネットを用いた情報通信は、適当な大きさに切り分けられたデジタルデータの一片をネットワーク上の情報端末であるノード同士で交換することである。このデータの一片にネットワーク上での管理に必要な制御情報を付与した塊をプロトコル・データ・ユニットと呼ぶ。データの一片と制御情報の並べ方をフォーマットと呼び、フォーマットおよびその活用は、プロトコルと呼ばれる一種の手続きによって規定されている。互いに情報通信する任意の2つのノードは、それぞれ一定の整合性を持つプロトコルに従わなければならない。
以下、図2の5階層を前提にして説明を続ける。
まず、伝送される元の情報は適当な大きさのデータの集まりに分割される。こうして得られるデータが存在する通信階層は、図2で説明した上位層(レイヤー5)である。
このデータにTCPヘッダーを添付する。TCPはトランスミッション・コントロール・プロトコルの略であり、プロトコルの一種である。こうして、データにTCPヘッダーを添付したものをセグメントと呼ぶ。セグメントを扱う通信階層がトランスポート層(レイヤー4)である。
セグメントにインターネット・プロトコル・ヘッダー(IPヘッダー)を添付すると、プロトコル・データ・ユニットはパケットと呼ばれるようになる。パケットを扱う通信階層がネットワーク層(レイヤー3)であり、プロトコルはIPである。バージョンによってIPv4やIPv6などがある。
パケットにイーサネット(登録商標)・プロトコル・ヘッダー(イーサネット(登録商標)ヘッダー)を添付すると、プロトコル・データ・ユニットはフレームと呼ばれるようになる。フレームを扱う通信階層がデータリンク層(レイヤー2)であり、プロトコルはイーサネット(登録商標)である。
イーサネット(登録商標)規格では、最下層(レイヤー1)の物理層への変換、すなわち、光信号への変換や電気信号への変換も定義されることがある。変換後のフレームは10BASE-Tなどの回線に渡される。
通信階層はそれぞれ入れ子の状態になっており、各階層(あるいは、各レイヤー)はそれぞれ独立しているとみなせる。具体的には、図2に示したとおり、レイヤー4(トランスポート層)のセグメント(データにTCPヘッダーのみを添付したもの)のフォーマットは、レイヤー5(上位層)のフォーマット(データのみ)を変換せずに含んでいる。このように、TCPヘッダーと元のデータは不可逆的に掛け合わされていない。同様に、レイヤー3(ネットワーク層)のパケットのフォーマット(セグメントにIPヘッダーのみを添付したもの)は、レイヤー4(トランスポート層)のフォーマット(セグメント)を変換せずに含んでいる。このように、IPヘッダーとセグメントは不可逆的に掛け合わされていない。さらに、レイヤー2(データリンク層)のフレームのフォーマット(パケットにイーサネット(登録商標)ヘッダーおよびFCSを添付したもの)は、レイヤー3(ネットワーク層)のフォーマット(パケット)を変換せずに含んでいる。このように、イーサネット(登録商標)ヘッダーおよびFCSとパケットは不可逆的に掛け合わされていない。ここで、FCSはフレーム・チェック・シークエンスの略であり、パケットが正しく届いたかどうかを確認するために利用される。
このような構造のため、下位の通信階層でプロトコルやフォーマットを変更しても上位の通信階層にはまったく影響しない。
たとえば、図2において、レイヤー4(トランスポート層)でTCPヘッダーを何か別のヘッダーに置き換えても、元のデータにはまったく影響がない。つまり、レイヤー4(トランスポート層)で何か変更を加えてもレイヤー5(上位層)には影響がない。
同様に、レイヤー3(ネットワーク層)のIPヘッダーをIPv4からIPv6に変更してもセグメントには何も影響しない。つまり、レイヤー3(ネットワーク層)で何か変更を加えてもレイヤー4(トランスポート層)には何も影響がない。レイヤー4(トランスポート層)に影響がなければレイヤー5(上位層)にも影響がない。
更に、レイヤー2(データリンク層)でイーサネット(登録商標)ヘッダーを何か別のものに置き換えてもパケットには何も影響しない。たとえば、プロトコルをイーサネット(登録商標)からポイント・トー・ポイント・プロトコル(PPP)に変更してもパケットには何も変化がない。したがって、レイヤー2(データリンク層)で何か変更を加えても、レイヤー3(ネットワーク層)には何も影響がない。レイヤー3(ネットワーク層)に何も影響がなければレイヤー4(トランスポート層)にも何も影響がない。レイヤー4(トランスポート層)に何も影響がなければレイヤー5(上位層)にも何も影響がない。
更に、レイヤー1(物理層)で何か変更を加えてもレイヤー2(データリンク層)には何も影響がない。たとえば、信号伝達路を光ファイバーから無線LANに変更する。この場合でも伝達される情報の内容(フレーム)は、光ファイバーで伝達されても無線LANで伝達されても同じでなければならない。レイヤー2(データリンク層)に何も変更がなければレイヤー3(ネットワーク層)にも何も影響がない。レイヤー3(ネットワーク層)に何も影響がなければレイヤー4(トランスポート層)にも何も影響がない。レイヤー4(トランスポート層)に何も影響がなければレイヤー5(上位層)にも何も影響がない。
こうして、下位のどの通信階層で何か変更を施しても上位のどの通信階層にも何も影響がないことが判る。これは、後の技術革新の妨げとならないような設計である。
一方、本願は最下層の物理層とデータリンク層に関するものである。このような事情により、本願によって論理層(レイヤー3より上の層)で伝送されるデータに影響を及ぼすことはない。
ネットワークを物理的実態として構成するには、ネットワークの結節点(ノード)となる情報機器(ハードウェア)と、ノード同士を接続する信号伝達路が必要である。信号伝達路は有線であっても無線であっても構わない。また、信号の種類も複数の可能性がある。大雑把に分類すると、たとえば、電気信号と光信号である。すなわち、有線・無線の電気信号伝達路または光信号伝達路が、ネットワーク上でノード同士を物理的に接続する。このような物理的な接続・伝送方式を規定するレイヤーが物理層(レイヤー1)である。
同じ階層で採用されるプロトコルは一定の整合性を持っていなければならないが、階層が異なればその必要はない。すなわち、階層を設計するということは、複数のプロトコルの関係性を設計することである。上記では、物理層とデータリンク層をそれぞれ別の階層(レイヤー1とレイヤー2)としたが、別の階層概念によれば、同じイーサネット(登録商標)・プロトコルに従わせて一つの階層とみなすことも可能である。この場合レイヤー数は一つ減って4階層となる。また、トランスポート層(レイヤー4)とネットワーク層(レイヤー3)のフォーマットを合わせてTCP/IP形式と呼ぶこともある。あるいは、逆に細分化する階層の設計概念もありうる。たとえば、OSI基本参照モデルでは、上位層を更に3つに分割し、下位からセッション層(レイヤー5)、プレゼンテーション層(レイヤー6)、アプリケーション層(レイヤー7)とする。
一般に、ネットワークの接続構造は複雑であるが、信号伝達路の両端はそれぞれ一つのノードで終端していなければならない。図1はそのもっとも簡単な一例を示す図面である。まず、何らかのソースから第一のノード2001に入力された情報は、所定のフォーマットに従ってプロトコル・データ・ユニットに変換(コード)され、信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、第一のノードが従うフォーマットと一定の整合性のある所定のフォーマットに従って、受信したプロトコル・データ・ユニットを逆変換(デコード)し、第一のノード2001に入力される前の元の情報を再生する。こうして、プロトコル・データ・ユニットに変換(コード)されたデータの一片がネットワーク上で送受信される。これがデータ伝送の基本的な仕組みである。
上述したように、図1において、一つの信号伝達路1000の両端を終端する二つのノード(第一のノード2001と第二のノード2002)は、それぞれ一定の整合性のあるプロトコルに従わなければならない。もし、それぞれが従うプロトコルに一定の整合性がなかった場合、この信号伝達路1000は、第一のノード2001と第二のノード2002を接続していないとみすことがある。
図1に対応する通信がトランスポート層(レイヤー4)における通信である場合、プロトコル・データ・ユニットはセグメントであり、変換プロトコルはTCPである。たとえば第一のノード2001がデータを受信すると、TCP形式のフォーマットに従ってTCPヘッダーをデータに添付し、セグメントを構成する。このセグメントは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このセグメントを受信し、TCP形式のフォーマットに従って逆変換(デコード)し、元のデータを再生する。具体的には、TCPヘッダーを取り除く。
図1に対応する通信がネットワーク層(レイヤー3)における通信である場合、プロトコル・データ・ユニットはパケットであり、変換プロトコルはIPv4やIPv6などである。たとえば第一のノード2001がデータ(この場合セグメント)を受信すると、IPv4形式あるいはIPv6形式などのフォーマットに従ってIPヘッダーをセグメントに添付し、パケットを構成する。このパケットは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このパケットを受信し、IPv4形式あるいはIPv6形式等のフォーマットに従って逆変換(デコード)し、元のセグメントを再生する。具体的には、IPヘッダーを取り除く。あるいは、TCPヘッダーも取り除いてデータを復元することができる。
図1に対応する通信がデータリンク層(レイヤー2)における通信である場合、プロトコル・データ・ユニットはフレームである。たとえば第一のノード2001がデータ(この場合パケット)を受信すると、イーサネット(登録商標)形式に従ってイーサネット(登録商標)ヘッダーをパケットに添付し、フレームを構成する。イーサネット(登録商標)形式では、更に、パケットが正しく届いたかどうかを確認するためフレーム・チェック・シークエンス(FCS)を添付する。こうして生成されたフレームは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このフレームを受信し、イーサネット(登録商標)形式に従って逆変換(デコード)し、元のパケットを再生する。具体的には、FCSをチェックしてパケットが正しく伝送されたかどうかを確認する。必要に応じて修復や再送依頼などの処置を施す。正しく伝送されたことが確認されたらイーサネット(登録商標)ヘッダーとFCSを取り除く。
上述したデータの伝送は、第一のノード2001から第二のノード2002への一方向のみを説明したが、伝送の向きが逆になってもプロトコルの利用方法になんら変更はない。その場合、まず、第二のノード2002に入力された情報は所定のフォーマットに従ってプロトコル・データ・ユニットに変換(コード)され、信号伝達路1000を通して第一のノード2001に伝送される。第一のノード2001は、受信したプロトコル・データ・ユニットを逆変換(デコード)し、第二のノード2002に入力される前の元データを再生する。
また、第一のノード2001が、任意の第三のノードから第二のノード2002への中継器である場合、第一のノード2001は、第三のノードから受信したプロトコル・データ・ユニットをデコードせず、そのまま信号伝達路1000を介して第二のノード2002に転送することが可能である。あるいは、受信したプロトコル・データ・ユニットの一部(例えばヘッダー)を編集してから信号伝達路1000を介して第二のノード2002に伝送することが可能である。この編集の結果として、意図的あるいは非意図的に関らず、第一のノード2001を経由したことを示すコードがプロトコル・データ・ユニットに追加されることがある。第二のノード2002では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換(デコード)し、任意の第三のノードに入力される前のデータを再生する
より具体的には、当該レイヤーに対応するヘッダーを適当に編集してから転送する。たとえば、中継器である第一のノード2001がデータリンク層(レイヤー2)に存在する場合、フレームのイーサネット(登録商標)ヘッダーを編集して転送することが可能である。より具体的には、少なくとも中継器である第一のノード2001の所定の認証をイーサネット(登録商標)ヘッダーに追加する。その経由地は、物理的実態を伴うアドレス(物理アドレス)として認識される。
あるいは、中継器である第一のノード2001がネットワーク層(レイヤー3)に存在する場合、パケットのTCP/IPヘッダーを編集して転送することが可能である。たとえば、少なくとも中継器である第一のノード2001のシステムに対応する所定の認証を追加する。こうして、第二のノード2002がプロトコル・データ・ユニットを受信する際このプロトコル・データ・ユニットがどこをどう経由して来たかということが追跡できるようになる。その経由地は物理的実態を伴わないアドレス(論理アドレス)として認識される。この論理アドレスのことを特にIPアドレスと呼ぶ。IPアドレスは、たとえば、オペレーティングシステムに割り当てられた固有のアドレスである。レイヤー3(ネットワーク層)以上の上位レイヤーのアドレスは、すべて論理アドレスであり、物理的実態とは無関係である。
すなわち、TCP/IP形式のネットワーク(ネットワーク層以上)では、ノードも信号伝達路も論理的に定義された仮想的存在であり、物理的実態とは関連性がない。これに対し、イーサネット(登録商標)形式のネットワーク(データリンク層)では、ノードも信号伝達路も物理的実態を持っている。たとえば、このノードはどの端末に対応しているか?この信号伝達路はどのLANケーブルに対応しているのか?と言った問いに答えられるものである。
たとえば、ネットワーク層(レイヤー3)上の任意の第三のノードから中継器である第一のノード2001にパケットが入力される場合、このパケットはイーサネット(登録商標)形式に従ってフレームに変換され、信号伝達路1000を介して第二のノード2002に送信される。このとき、第一のノード2001、第二のノード2002、および信号伝達路1000は、どれも物理的実態を持つ。したがって、中継器である第一のノードの物理的所在を示す物理アドレスがフレームに添付される。
あるいは、トランスポート層(レイヤー4)上の任意の第三のノードからセグメントが中継器である第一のノード2001に入力される場合、このセグメントはIP形式に従ってパケットに変換され、ネットワーク層上の信号伝達路1000を通して第二のノード2002に送信される。このとき、第一のノード2001、第二のノード2002、信号伝達路1000は、いずれも論理的存在であり物理的実態とは関係がない。従って、中継器である第一のノードの論理的所在を示す論理アドレスがパケットに添付される。
物理アドレスと論理アドレスの違いは次の説明で自明である。たとえば、中継器である第一のノード2001を構成する電子機器を入れ替えることを考える。その場合、入れ替え前の中継器ノードを構成する電子機器(旧電子機器)のオペレーティングシステムを、入れ替え後の中継器ノードを構成する電子機器(新電子機器)へ再インストールしなければならない。このとき、物理的実態である電子機器固有の認証である物理アドレスは変更することになる。一方、オペレーティングシステムに固有の論理アドレスは入れ替え後も第三のノードのIPアドレスとして引き継がれる。これが論理ネットワーク(TCP/IPネットワーク)を採用する理由の一つである。
図3は、物理ネットワークと論理ネットワークの関係を通信階層上で説明する図である。LANケーブルや光・ADSL線あるいはWiFiなどから構成される最下層の物理層の下に、そこでお互い接続する物理ノードが配置している。物理アドレスは、物理層でお互いを認識し、接続するために使われる。物理層のすぐ上にはデータリンク層があり、更にその上には論理層1がある。論理層1は、たとえば、TCP/IPプロトコルに従う。データリンク層より上が論理ネットワークを構成する部分で、論理層1の上には論理ノードが配置してある。論理アドレス(IPアドレス等)は、論理ノード同士がお互いを認識し、種々選択して接続するのに使われる。
このように、データリンク層は論理ネットワークと物理ネットワークの間にあり、両ネットワークはデータリンク層を介して関連づけられている。しかしながら、これは論理ノードと物理ノードの関連づけを意味している訳ではない。なぜなら、物理アドレスと論理アドレスは全く独立だからである。
悪質なハッカーが攻撃するのは、主に論理層である。論理層はすべてが論理空間で管理されているため、攻撃も論理空間のみで完結させられる。したがって、ネットワークにつながっている限り、常時地球の裏側からでも攻撃を仕掛けられる。物理層に関しては、物理アドレスを奪い機器を乗っ取ることも可能である。
論理層1の脆弱性が発覚しセキュリティが破られると、図4のように、その脆弱性を改善した論理層2が開発され、使用されるようになる。この例では、HTTP/SSLを取り上げているが、ここで説明していることはHTTP/SSLに限った話ではない。重要なことは、論理層2は論理層1の上に積み上げられ、論理アドレスは論理層2の中で扱われるようになることである。論理ノードは、論理層2上でお互いを認識し、種々選択して接続する。
論理層2の脆弱性が発覚しセキュリティが破られると、図5のように、その脆弱性を改善した論理層3が開発され、使用されるようになる。この例では、OAuthやDKIMを取り上げているが、ここで説明していることはそれらに限った話ではない。重要なことは、論理層3は論理層2の上に積み上げられ、論理アドレスは論理層3の中で扱われるようになることである。論理ノードは、論理層3上でお互いを認識し、種々選択して接続する。
このように、ハッカーの攻撃と論理層の積み上げには際限がない。更に、どんなに論理層を改善し積み上げても、論理アドレスと物理アドレスは関連付けられない。これは、論理層上にどのようなセキュリティ技術を構築しても、ハッカーは物理層を攻撃できることを意味している。物理層への攻撃が意味を持つのは、物理的実態を持つ物同士が広大なネットワークを構築する物のインターネット(Internet-of-Things、IoT)である。
IoT以前のネットワークでは論理層の防御で十分であったが、IoTの時代に入るとネットワーク化された機器(産業機器、産業ロボット、家電製品、インフラ設備、自動運転車などなど)をどのように安全に扱えるようにするかが大きな問題になってくる。
一方、論理層のセキュリティ技術にも昨今重大な革新があった。それがブロックチェーンと呼ばれるものである。ブロックチェーンは、ビットコインと呼ばれる暗号通貨の送金データを改ざん不能にするために考案された公開台帳システムである。詳細は後で述べるが、簡単に言えば、ある論理層上でつながっている不特定多数の論理ノード同士がお互いの通信を見張り合い、不正な改ざんや送金をできないようにするシステムである。ブロックチェーンのお蔭で、銀行を介さずに国の内外を問わず安全に送金できるようになる。すなわち、銀行を介さないので送金手数料が限りなくゼロに近づく。更に、政府や税務当局が一切の取引を監視することができる。その上誰も改ざんできない。
ブロックチェーンは論理層上で完結する金融サービスの大幅なコストダウンと時間短縮を実現可能とし、情報発信の大幅なコストダウンと時間短縮を実現するインターネット以来の大革新である。このブロックチェーンを通信階層の中に組み込んだ概念図が図6である。ブロックチェーン層の上には論理層3があり、更にその上に各論理ノードが配置されている。これらの論理ノード間の通信は、ブロックチェーンによる公開台帳システムで改ざん不可能な形で衆人監視される。その中には各国の税務当局や情報当局そ公的期間も含まれるだろう。

(ブロックチェーン)
ここでブロックチェーンについて簡単に説明する。
ブロックチェーンは、ピア・トゥ・ピア(P2P)型ネットワークにおける公開台帳システムである。P2P型ネットワーク構造では、中核を担うサーバーの存在を仮定せず、ネットワークに結節するすべてのノード(結節点)が非中核的であり、対等であり、互いを監視し合うことによってセキュリティを担保することが必要である。すなわち、中核(コア)となるクライアント・サーバーの存在を仮定したクライアント・サーバー型ネットワークでは実現不可能なアプリケーションを提供できる。
その最も重要なものがビットコインと呼ばれる暗号通貨による送金システムである。ビットコインでは、まず過去の処理履歴と処理する主体となるアカウント名を合成して暗号化する。それを電子署名として転送し新たな処理とするものである。したがって、処理手段を金融機関にゆだねない。更新され転送された処理履歴は、ネットワーク上の他の多くの非中核的ノードによって監視され、多数決に似た手法で公認される。またこのように電子署名を生成するため秘密鍵で暗号化することを署名するという。
処理履歴の転送は通貨の転送と同義であり、公認された処理履歴が通貨のように扱われる。こうして、銀行のように特定の中核的存在を介さずに処理が進行してゆく。
ネットワーク上を流れる電子署名に利用される暗号は、アリスとボブの喩で有名な公開鍵暗号と呼ばれる一般的なものである。図7に示すように、アリスは予めボブに自分の公開鍵を送っておく。この公開鍵はネット上で誰かに盗み取られても構わない。ボブは、アリスから貰った公開鍵で手紙を暗号化し、アリスに送る。この暗号化された手紙を解読するには、アリスの公開鍵と対になっている秘密鍵が必要である。したがって、暗号が解読されない限り、ネットワーク上で誰かに盗まれても手紙の中身を読まれることはない。その秘密鍵を持っているのはアリスだけだからである。アリスは、自分で持っている秘密鍵でボブの手紙の暗号を解き、それを読むことができる。
このように、公開鍵はネットワーク上に晒して構わない。したがって、アリスが公開鍵を送るのはボブだけではない。ただし、その公開鍵で暗号化された暗号を解いて手紙を読めるのは、暗号が解読されない限り秘密鍵を所有しているアリスだけである。公開鍵と秘密鍵は必ず一組で生成されるが、公開鍵から秘密鍵を再生することは現実的に不可能であるようにしなければならない。また、秘密鍵で暗号化した手紙は公開鍵で解号できる。公開鍵と秘密鍵の区別は、基本的に公開するか秘密にするかのみである。
公開鍵のもう一つの重要な役割は、アリスへ手紙を送るための宛先、すなわち、アリスのネットワーク上のアドレスになることである。ボブが暗号化した手紙をネットワークに流すとき、ネットワークに接続している任意の受信者の手に渡ることになる。このとき解号できなければ読めない。どのようにしても読めないということは、受信しなかったことと同意である。したがって、アリスのみが解号できるということは、アリスのみに届いたということと等価である。こうして、公開鍵のもう一つの役割がネットワーク上のアドレスになることが明らかになる。したがって、ビットコインで使用される公開鍵は、ビットコインアドレスとも呼ばれる。
図8は、電子マネー等を納める財布の基本概念の一例を説明するための図面である。ビットコインなどの暗号通貨には共通の構図である。財布にはネットワーク上のアドレスが予め付与され、財布の中身には、何らかの貨幣価値のあるもの(通貨やそれと等価なコインなど)が納められる。更に、何らかの暗号技術を用い、アドレスと財布の中身を電子署名として財布に取り付けられるようになっている。
図9に示すように、このような財布は、たとえば、専用アプリをパーソナルコンピューター、タブレット、スマートフォン、スマートカード等のハードウェアにインストールして使うことができる。そのとき、財布の中身は、専用アプリをインストールしたハードウェアのストレージにデジタルデータとして保存される。このデジタルデータの管理は、たとえば、P2Pを前提とした電子処理では、ハードウェアの管理者・所有者が自ら責任を持って行う必要がある。この点がクライアント・サーバー型と異なる点である。クライアント・サーバー型では、金融機関などが責任を持って行うことになる。P2Pでの電子処理は、このように中核的機能を有する金融機関のような存在を必要としない。
図10は、処理(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は任意の自然数。
財布(N-1)の中身は、たとえば、どこかから振り込まれた1000円だったとしよう。この1000円の振り込み元を財布(N-2)とし、更にこの1000円には電子署名(N-2)が添付されているとする。ただし、1000円というのは一例に過ぎず、他の貨幣価値と等価または可換なデジタル情報であれば何でも良い。財布(N-1)は、財布の中身である1000円と、次の電子署名作成のために用いる秘密鍵(N-1)と、それと一組をなす固有の公開鍵(N-1)からなる。上述したように、公開鍵(N-1)は、財布(N-1)のネットワーク上のアドレスである。一例として、ビットコインアドレスが上げられる。
次に、公開鍵(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)に転送する。
こうして財布(N)は、ハッシュ値(N-1)と、電子署名(N-1)と、さらに一組の固有の公開鍵(N)及び秘密鍵(N)から構成されることになる。こうして、財布(N-1)から財布(N)へ1000円を送金する処理が完了する。
ハッシュ値(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)が不正処理したことが判る。
ただし、過去の履歴に不正処理がないことを証明するには別の方法が必要である。なぜなら、電子署名だけでは、秘密鍵(N-1)を正規に所有している者が不正を働く可能性を否定できないからである。たとえば、所有者による秘密鍵の乱用が考えられる。P2Pを前提にしたビットコインでは、それを「仕事による証明」(PoW)によって防ごうとしている。これは、概ね上手く行っていると考えられている。「仕事による証明」(PoW)について下で述べる。
一般に、クライアント・サーバー型のネットワークでは、処理の確認には信頼すべき第三者の介在が必要である。それは、例えば信頼のおける金融機関などであり、信頼のネットワーク上では中核的ノード(サーバー)となる。すなわち、財布(N-1)の所有者は、ある金融機関を介して財布(N)の所有者に送金することができる。しかしながら、このような中核的ノードの信頼性を完全に証明する方法はなく、送金処理の度に送金元に確認依頼が寄せられることになる。複数の金融機関を跨いだ送金などもあり、確認依頼は膨大な数になる。また、一つの確認作業には一定以上のコストが必要である。そのため送金処理の手数料には一定の下限が設けられることになる。たとえば、この下限を500円とすると、500円以下の送金をする度に500円余計に支払わなければならなくなる。こうして、クライアント・サーバー型は無数の少額の処理を前提としたビジネスには向かないことが判る。
図10では、続いて公開鍵(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)に送付する。
以上から、財布(N)の中身には、財布(N-1)から財布(N)への処理(N-1、N)がハッシュ値(N-1)として記録されていることが判る。同様に、財布(N+1)の中身には、財布(N)から財布(N+1)への処理(N、N+1)がハッシュ値(N)として記録されていることが判る。こうして、任意の財布の中身は、過去のすべての処理履歴を連鎖的に含んでいることが判る。すなわち、過去の最新のハッシュ値が、過去のすべての履歴を代表している。
一方、一つの財布に送金する財布は、図10の例のように一つとは限らない。実際には複数の財布から一つの財布に送金する場合は少なくないだろう。また、一つの財布から複数の財布に送金される場合も少なくないだろう。こうして、送金の処理履歴はより複雑になり、その作業を一つ一つ確認が必要なクライアント・サーバー型で行うには膨大なコストがかかることが判る。
また、P2Pで過去の送金処理をすべて記録しておくということは、一つのノードが過去に遡って全世界のノードのすべての処理履歴を保存しておかなければならないということである。これは、財布の専用アプリをインストールしたハードウェアのストレージを飽和させてしまう可能性がある。しかしながら、最新の履歴を含むハッシュ値は必ずたった一つである。それをメルクルの根という。したがって、メルクルの根から過去を遡ることができる。それは、図11のように、メルクルの根から枝分かれした樹形図のようになる。これをメルクル樹形図という。たとえば、メルクルの根であるハッシュ値(ABCD)は、ハッシュ値(AB)およびハッシュ値(CD)に対応する履歴に繋がっている。ハッシュ値(AB)は、更にハッシュ値(A)およびハッシュ値(B)に対応する過去の履歴、すなわち、処理(A)および処理(B)にそれぞれ繋がっている。ハッシュ値(CD)は、更にハッシュ値(C)およびハッシュ値(D)に対応する過去の履歴、すなわち、処理(C)および処理(D)にそれぞれに繋がっている。
しかしながら、そもそもハッシュ値は逆変換不可能なのでハッシュ値を解読することによって送金処理の履歴を辿ることは不可能である。たとえば財布(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は任意の自然数とする。
こうして、論理的には過去の処理履歴を遡ってゆくことができるわけであるが、このようにハッシュ値を使って過去の履歴をひとつずつ遡ることは実は必ずしも必要ない。むしろ、数百から千個程度の処理を一塊に集め、これらの処理が現実に存在したことを何らかの方法でまとめて承認してしまえば良い。具体的には、メルクルの根以外のハッシュ値をすべて削除し、最新のハッシュ値(たとえばABCD)を符号として用いれば良い。一つの符号で代表される処理の集まりをブロックと呼ぶ。こうして財布の専用アプリをインストールしたハードウェアのストレージを節約することが可能である。
このようにメルクルの根(上の例ではハッシュ値(ABCD))に代表される過去の処理の集まりが確かに存在していたことを、タイムスタンプを付けることで承認する。こうして承認されたブロックがネットワーク上に公開される。この公開は、公証役場に書類を持ち込み、日付を付けて封書してもらう日付認証に似た作業(ワーク)である。ビットコインでは、新たなブロックの公開を記帳と呼び、記帳した者には認証作業の対価として一定の報酬が与えられる。最初の210,000番目までの記帳では、一回あたりの報酬は50BTCである。BTCはビットコインの単位。210,001番目から420,000番目までは25BTCである。すなわち、210,000番目ごとに半減して行き、6,929,999番目のブロックが記帳されるときゼロになる仕組みである。2016年6月時点の報酬は、記帳一回で25BTCである。
P2Pでは公証役場(中核的ノードの一例)がないので、公証人に代わって処理の集まりを承認し、タイムスタンプを付けるのはP2Pに参加している不特定多数のビットコインの利用者である。しかしながら一度にタイムスタンプを添付して新しいブロックを公開(記帳)できるのは一人である。したがって、記帳して与えられる報酬を求め、複数の利用者が先を争って承認作業を行う。
一例として図12を用い、この承認作業を簡単に説明する。まず承認済みの過去のブロックに関する何らかのハッシュ値を獲得する。次にネットワーク上に存在する未承認処理の集まりを発見し、その集まりのメルクルの根(ハッシュ値)を獲得する。この二つのハッシュ値に可変のノンス値というものを追加し、更にハッシュ化してブロックハッシュを作る。このとき、ビットコインではハッシュ関数としてSHA-256を利用する。もちろん、他のハッシュ関数を利用してブロックハッシュを生成することも可能である。
ノンス値は、一般に、32ビットの任意の値である。このノンス値を含めて生成されたハッシュ値(ここではブロックハッシュ)は256ビットの値である。2の256乗は10の77乗より大きく、ブロックハッシュは膨大な自由度を持っていることが判る。前記ノンス値を調整すると、ブロックハッシュの最初の数ビットをゼロにすることができる。一例として、新たに生成したブロックハッシュの最初の16ビットがすべてゼロになる確率は2の16乗分の1、すなわち65,536分の1である。すなわち、偶然にはほとんど起こりえないことであり、このようなノンス値を掘り当てるには相応の仕事(ワーク)が必要である。
ただし、ハッシュ関数は非可逆的である。したがって、最初の数ビット(この例では16ビット)がゼロとなるハッシュ値(ここではブロックハッシュ)を生成するようなナンス値を、逆変換で求めることは一般に不可能である。つまり、ナンス値を変えながらハッシュ化を繰り返し、その都度生成したハッシュ値の最初の数ビットがすべてゼロになるまでそれを繰り返さなければならない。こうして、ブロックを生成するためのナンス値の決定には、一定以上の計算機の活用が不可欠であることが判る。その対価として、ブロックを生成すると報酬(一定のビットコイン)が与えられる。金を採掘するのに似ているので、この仕事をマイニングと言う。この報酬を狙ってマイニングする(ビットコインの)利用者をマイナーと言う。
P2Pネットワークでは、マイニングを行うのは特定の中核的機能を持つノードではない。一定以上の計算機リソースを活用できれば誰でもマイニング可能である。マイナーは、より正確には、そのマイナーが活用するP2P上のノードは、ナンス値を変更しながらネットワーク上で総当たり探索を行い、最初の数桁がすべてゼロとなるような未承認処理の集まりを見つけ出せばよい。つまり、ナンス値を変更しながらネットワーク上を採掘(マイニング)して回っているのである。このように、必ずしも特定の未承認処理の集まりに対してナンス値を調整する必要はない。
こうして最初の数ビット(この例では16ビット)がゼロのブロックハッシュが掘り出されると、このブロックハッシュに対応する未承認処理の集まりは、新たに承認されたブロックとして前出の承認済みの過去のブロックに連結することが許される。すなわち、最初の所定のビット数をすべてゼロにすることがブロック連結の条件である。そして、最初にこの条件を満たすブロックハッシュを掘り当てたマイナーが記帳することを許される。この作業(マイニング)を繰り返すことによって複数のブロックが連結され、ブロックチェーンが形成される。
上述したことから判るように、ビットコインでは通貨の信頼性は過去の処理履歴の信頼性である。公正認証に代わりその信頼性を保証しているのがブロックチェーンである。ブロックチェーンが長く伸びるほど改ざんが難しくなる。たとえば、一部のブロックのデータを書き換えると、前後につながったブロックとの連結条件(ブロックハッシュの最初の数ビットがすべてゼロ)を満たさなくなる。そこで前後のブロックのナンス値を修正してこの条件が満たされるようにしなければならない。上述したように、ハッシュ関数は非可逆なのでそれには相応の計算が必要とされる。しかしながら、前後のブロックのナンス値を調整すると、更にその先のブロックのナンス値も調整しなければならない。結局、一部のデータを改ざんするだけでブロックチェーンに連結されているすべてのブロックのナンス値を調整しなければならなくなる。これは、更に膨大な計算機能力を必要とする。こうして、ブロックチェーンが長く伸びるほど幾何級数的に改ざんが難しくなるとされている。
それでもブロックチェーンにも弱点はある。まず暗号が破られ秘密鍵が盗用されることである。財布のアドレスである公開鍵がネット上に公開されており、暗号を破り公開鍵から秘密鍵を再生すれば他人のアカウントで自由に電子署名を偽造できるようになる。これは電子署名を無意味化するのですべての処理が信頼できなくなる。
暗号の最大の脅威は量子コンピュータである。ブロックの生成が10分間で一つと仮定すると、最後のビットコインが採掘されるのは2140年頃と試算されている。それまでに量子コンピュータが普及している可能性は低くないと考えられる。そうなると、現代の暗号を使った電子署名は成り立たなくなるので、最後のビットコインが採掘される前にブロックチェーンは使われなくなるだろう。しかしながら、それまでにはまだ大分時間があると考えられる。いずれにしろ、理論的根拠はないが今後10年から数十年の間ブロックチェーンは世界中で広く使用されると期待される。
一方、通貨の偽造とは過去の処理履歴の改ざんや不正コピーである。処理の検証が成功した証として電子署名を処理履歴に添付するのであるから、通貨の偽造とは電子署名の偽造である。電子署名を作成できるのは、暗号が破られない限り、唯一電子署名に必要な秘密鍵を所有する前の財布の所有者のみである。逆に言えば、暗号が破られなかったとしても、秘密鍵の正規の利用者は過去の処理履歴を改ざんしようと思えば可能である。しかしながら、上記のように一度ブロックチェーンをくみ上げてしまうと、たとえ秘密鍵の正規の利用者であっても、ブロックチェーンを連結させるナンス値すべてを改ざんすることは難しい。ブロックチェーンが長く伸びるほどその難易度は劇的に上昇する。すなわち、一度ブロックチェーンを長くしてしまえば過去に遡って改ざん、あるいは、編集することはほぼ不可能になる。これが「仕事による証明」(PoW)の仕組みである。
しかしながら、新たな処理をする場合には秘密鍵の正規の利用者が不正処理を行える方法がある。たとえば、財布(N)から財布(N+1)に正規の処理(N,N+1)が行われる一方、財布(N)の所有者は、秘密鍵(N)を悪用して電子署名(N’)を生成し、不正が発覚する前にそれを添付して財布(M)に送金する。すなわち、貨幣を不正に発行したのと同じことになる。これを二重処理問題という。
このように処理(N,M)は不正処理である。財布(M)の所有者は、電子署名(N’)を信じて次の処理を行い、財布(M+1)に送金する。財布(N+1)の所有者も電子署名(N)を信じて次の処理を行い、財布(N+2)に送金する。不正処理は唯一処理(N,M)のみであるが、その後処理(M+1、M+2)、処理(M+2、M+3)…と続いて行く。これらをまとめて新たなブロックが生成できる。
ここで、不正処理(N,M)を含まない正規のブロックは、財布(N)で二重処理が行われる以前から存在する。したがって、不正処理(N,M)を含むブロックから派生するブロックの生成速度が正規のブロックの生成速度を凌駕しない限り、長いブロックが正規のブロックである。ブロックチェーンでは、チェーンの長さで真贋を判定している。
しかしながら、不正を働く側の計算能力が全世界の他のマイナーに分配されている計算能力を凌駕するとき、不正チェーンが正規のチェーンより長くなる可能性がある。これを「51%攻撃」という。
51%攻撃は、費用対効果の関係で現実的ではないという議論がある。しかしながら、ある集団の財政基盤を脆弱にするためサイバー攻撃として行われる場合はこの限りではない。たとえば、ある大国でブロックチェーンを基盤としたフィンテック2.0が広く普及していたとしよう。ある小国がこの大国の金融システムを麻痺させるためマイニングに国防費用を投入することがあるかも知れない。この場合核兵器の開発よりコストを抑えることが可能となるだろう。また、クラウドマイニングの発達により一部の業者が一時的に51%攻撃の能力を獲得することはありえる。
この場合攻撃されるであろう大国もブロックチェーンに参加する必要が出てくる。複数の国家が参加し、どの国家も51%攻撃を実施できないような状態にしておけば問題はなくなる。このようにブロックチェーンはP2Pであるが、国際的な情報通信インフラという側面を併せ持つようになるだろう。
このように、P2Pネットワーク上で処理の履歴を共有しマイナーに承認作業を任せ信頼性を担保するという公開台帳システムの考え方は、情報通信インフラとしてビットコイン以外にも幅広い応用が期待されている。これは、最低コストで過去の処理の改ざんを現実的に不可能にできるという理由による。現実的に改ざん不可能なデータベースの需要は、たとえば、日々増大する蓄積された医療データを利用したヘルスケアや、日々増大する蓄積された処理データを利用した証券取引や、その他日々増大する蓄積されたビッグデータを活用するありとあらゆる情報サービスが考えられる。そして、フィンテック2.0と呼ばれる世界的な金融技術革新の波を引き起こしている。
51%攻撃を抑制するにはもう一つポイントがある。まず、攻撃するノードの数を無限大にしないことである。ノードに割り当てるアドレスがIPアドレスのような論理アドレスであると、攻撃者は無限の数の攻撃用ノードを獲得することが可能となる。したがって、P2Pに結節するノードは、すべてCPUなどとリンクした物理アドレスを割り当てるべきである。この考え方をOne-CPU-One-Vote(一台一票)と呼ぶ。たとえば、投票用紙一人一枚というのは、多数決のようなシステムでは不可欠な条件である。
こうして、秘密鍵と物理的実態を持つ個別認証とを関連付けることが必要であることが判る。しかしながら、秘密鍵はソフトウェアによる産物であり物理的実態とは縁がない。そもそもソフトウェアは、同じ規格で設計・製造されたどの情報機器にインストールしても同じく機能するように作られたものである。それゆえ物理的実態とは成り立ちから言って無縁である。にも拘わらず、ネットワークを構成するのは、無数の情報機器とそれらを連結し電子データを交換する有線無線の信号伝達路の集合である。情報機器ばかりでなく、信号伝達路も物理的実態であることは自明である。ここに秘密鍵と物理的実態とを関連付けるヒントがある。
具体的には、公開鍵と物理アドレスを改ざんされない何らかのの方法でリンクさせることである。
ここで図6に戻ろう。いまだに物理アドレスは論理アドレスと分離されたままである。51%攻撃を防ぐのみならず、ブロックチェーンのメリットが物理的実態を持つノード同士のネットワーク、すなわち、IoTには及ばないことを意味している。しかしながら、もしこの問題を解決できれば、51%攻撃を防ぎつつ公開台帳システムをIoTに持ち込むことが可能となる。

(物理アドレス)
図13は、現在物理アドレスとしてもっとも広く使われているメディアアクセスコントローラー(MAC)アドレスの活用事例を簡便にまとめたものである。
MACアドレスは、情報機器に搭載されているイーサネット(登録商標)カードに固有の管理番号として割り当てられているコード情報の一種である。典型的なイーサネット(登録商標)カード3000は、たとえばMAC用演算処理チップ3020と、MACアドレスを記録する不揮発性メモリチップ3010を含む。
電気電子技術者学会(IEEE)によって標準化され、図14に一例を示すように、長さ48ビット(6バイト)、したがって情報量およそ280兆もの0と1の数列の集合である。上位の24ビット(図14の例で左半分)はベンダーコード3071と呼ばれ、ベンダーごとに割り当てられる。下位の24ビット(図14の例で右半分)は、シリアル番号3072と呼ばれ、各ベンダーが重複しないよう割り当てている。ベンダーコード3071の最後の2ビットは、ULビットとIGビットである。MACアドレスを表記するには、このULビットとIGビットを含む48ビットの数列を8ビットごとに区切ってそれぞれ16進数で表す。
MACアドレスがグローバルアドレスの場合、ULビットは1である。そうでない場合0である。すなわち、グローバルアドレス(ULビット=1)の場合では全世界で重複を起こさないよう、MACアドレスを割り当てられなければならない。ベンダーコードの24ビットの内、別の1ビットはIGビットと呼ばれるものに割り当てられる。IGビットが0の場合ユニキャスト通信を意味し、1の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してデータ(フレーム)を送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してデータ(フレーム)を送信することである。こうして、48ビットの内ULビットとIGビットの2ビットを除いた46ビットが実際に割り当てられるMACアドレスの自由度ということになる。数にしておよそ70兆ほどである。
ここで注意すべきことは、現在現役で使用されている情報機器だけでなく、すでに廃棄されたり紛失したりして使用されなくなった情報機器にまで渡って全世界で重複しないよう、MACアドレスを割り当てられなければならないことである。現在、MACアドレスはまだ枯渇していない。しかしながら来るIoTの時代には、現役でネットワークに接続する物理ノードの数は10兆個を超えると考えられている。しかしながら、MACアドレスは編集可能となっているため、何らかの理由で使われなくなったMACアドレスを再利用することができる。こうして枯渇の問題を回避できるように見えるが、MACアドレスの編集はMACアドレスの偽造や乗っ取りを容易にしているのも事実である。(
参照。) http://pc.mogeringo.com/archives/1826
このように、MACアドレスは図14のフォーマットに従ってイーサネット(登録商標)ボード3000に割り当てられ不揮発性メモリ3010に書き込まれたコードであり、書き換えも可能である。したがって、一台一票を保証できない。

(書き換え不能の物理アドレス)
このように、MACアドレスに代わり少なくとも(書き換え不能の物理アドレス)が必要なことは明白である。それを実現する方法は、ソフトウェアでも、ネットワークでも、ハードウェアでも何でもよい。いずれにしろ、ソフトウェア技術、ネットワーク技術、ハードウェア技術、あるいは、それら技術の何等かの組み合わせによって実現する認証装置が存在し、物理的実態を有するチップに搭載することが可能であれば十分である。

(物理的にクローン不可能な機能)
このような状況において、ネットワーク上のデバイスの認証として近年期待されているものに、物理的にクローン不可能な機能(PUF)がある。(
参照。)これは、指紋や網膜などの生体情報を用いて人の個人認証を行うのと同様に、半導体のチップにおいても一つ一つ異なる物理的特性を用いてチップの固体認証行うものである。しかもその特性が、物理的にクローン不可能であるという特徴を持っている。PUFに要求される主な特徴は、(1)同一のPUFに異なる入力をすれば常に異なる出力をすること。(2)同一の入力をした異なるPUFは常に異なる出力をすること。(3)入力と出力の組み合わせを盗まれても、未知の入力に対する出力は予測不可能であること、(4)入力と出力の関係が安定していて信頼できること、などである。
特許公開2009-519473 特開2015−201884号公報 公告番号 WO2011118548A1 特開2013−131868号公報
ICチップ製品(半導体チップ製品)の場合、パッケージ剤の化学光学的性質を用いたPUFを利用するもの(コーティングPUF)
と、チップそのものに依存したPUFを利用するもの(チップPUF)がある。特に近年では、チップ内に保存された暗号鍵の盗難や偽造チップ問題が注目されていることもあり、後者のチップPUFをチップ内に搭載する技術への注目度が高い。
チップPUFは、回路のばらつきを利用した回路PUFと、回路以外の微細構造のばらつきを応用したもの(製造PUF)
に大別できる。回路PUFは、更に、回路の配線遅延を利用するもの(遅延PUF) と、回路のメタスタビリティを利用するもの(メタスタビリティPUF) に分かれる。遅延PUFとは、IC内で同様の設計仕様で集積化された複数の回路の動作時間に関する制御不能のばらつきを利用するものである。利用される回路の代表例は、アービター回路、グリッチ回路、リング発信回路などである。メタスタビリティPUFで使用される回路は、主にスタティックランダムアクセスメモリ(以下SRAM)とラッチ回路(バタフライPUF)である。
しかしながら回路PUFには致命的な弱点がある。個体差が小さく出力が不安定であり、(入出力の信頼性)を満たすのに不利である。更に温度変化などの外部環境に影響されやすく、フォールト攻撃に弱い。そのため増幅回路や温度センサー回路などを追加する必要がある。こうして回路設計への負荷が高くなり、チップに搭載する際の認証装置のコストを増大させてしまう。程度にもよるがコスト増は量産チップ製品ではできる限り避けなければならない。チップには暗号装置と連携させるためPUF以外にも付属部品が必要である。PUFが更にコスト増の要因になるのは出来る限り避けなければならない。
製造PUFでは、意図的に集積化された層間バイアの製造ばらつきに起因するランダムな断線などが利用される。回路PUFの弱点の多くを解消できる可能性があるが、従来の半導体製品に含まれない特殊な構造を集積化する必要があり、一般的に製造工程への負荷が大きくなる。やはり全般的に普及するにはコスト面でのハードルが高いと言える。
そのほか、デバイスの信頼性を利用するもの
も提案されているが、信頼性そのものが低く(入出力の信頼性)を満たさない。また、電源オン時のダイナミックランダムアクセスメモリ(以下DRAM)のキャパシタのばらつきを利用するもの も報告されているが、原理的にラッチ回路PUFと共通の問題を抱えている。すなわち、個体差が小さく環境要因の変化を利用したフォールト攻撃に弱い。 特開2015−139010号公報 Fatemeh Tehranipoor, Nima Karimian, Kan Xiao, John Chandy,"DRAM based Intrinsic Physical Unclonable Functions for System Level Security", in GLSVLSI'15 Proceedings of the 25th edition on Great Lakes Symposium on VLSI, pp. 15-20, 2015.
上述のように、様々な種類が提案されているPUFには個々に解決すべき問題がある。
本発明は上記事情を鑑みて成されたものであり、論理ネットワークと巧妙に連携することによって物理アドレスの改ざんを防ぐ技術を提供し、ハードウェアのネットワーク管理をより安全にする方法を提供することを目的とする。
本発明は、上記課題を解決するため、以下の手段を採用する。
複数のノードから構成されるネットワークにおいて、各ノードが、それぞれ処理ユニットおよび認証コアから構成され、
前記認証コアは、それぞれ認証装置と鍵生成装置を有し、
前記認証装置は、それぞれ固有の物理アドレスを有し、
前記鍵生成装置は、前記物理アドレスから互いに一対の組みをなす秘密鍵および公開鍵を生成し、
前記公開鍵は、前記処理ユニットの論理アドレスとなり、
前記秘密鍵は、前記認証コアに閉じ込められ、
互いに一対の組みをなす前記秘密鍵および前記公開鍵によって、前記物理アドレスと前記論理アドレスが共に認証アドレスとして関連づけられ、
前記処理ユニットが前記各ノード間の情報通信の処理を司り、前記認証コアが前記各ノードの認証を司る、
ことを特徴とする。
複数のノードから構成されるネットワークにおいて、
前記ネットワークを構成する第一のノードは、第一の処理ユニットおよび第一の認証コアから構成され、
前記ネットワークを構成する第二のノードは、第二の処理ユニットおよび第二の認証コアから構成され、

前記第一の処理ユニットは、第一の公開鍵、第一のハッシュ値、第一の電子署名から構成され、
前記第二の処理ユニットは、第二の公開鍵、第二のハッシュ値、第二の電子署名から構成され、

前記第一の認証コアは、第一の物理アドレス、第一の秘密鍵、および、第一の鍵生成装置から構成され、
前記第二の認証コアは、第二の物理アドレス、第二の秘密鍵、および、第二の鍵生成装置から構成され、

前記第二のハッシュ値は、前記第一の処理ユニットをハッシュ化したものであり、かつ、前記第一のノードから前記第二のノードに転送された情報の少なくとも一部であり、
前記第二の電子署名は、前記第二のハッシュ値および前記第二の公開鍵を前記第一の秘密鍵で暗号化したものであり、前記第二のハッシュ値と共に前記第一のノードから前記第二のノードに転送された情報の別の一部であり、

前記第一の鍵生成装置は、前記第一の物理アドレスから前記第一の公開鍵と前記第一の秘密鍵とを互いに一対一の組みを成すように生成し、
前記第二の鍵生成装置は、前記第二の物理アドレスから前記第二の公開鍵と前記第二の秘密鍵とを互いに一対一の組みを成すように生成する、
ことを特徴とする、
ネットワークに関する。
複数のノードから構成されるネットワークにおいて、
各ノードが、それぞれ処理ユニットおよび認証コアから構成され、
前記認証コアは、それぞれ認証装置と鍵生成装置を有し、
前記認証装置は、それぞれ固有の物理アドレス、および、コード変換装置を有し、
前記コード変換装置は、前記物理アドレスから秘密鍵を生成し、
前記鍵生成装置は、前記秘密鍵から公開鍵を生成し、
前記公開鍵は、前記処理ユニットの論理アドレスとなり、
前記秘密鍵は、前記認証コアに閉じ込められ、
前記秘密鍵および前記公開鍵が互いに一対の組みをなし、前記物理アドレスと前記論理アドレスが共に認証アドレスとして関連づけられ、
前記処理ユニットが前記各ノード間の処理を司り、前記認証コアが前記各ノードの認証を司る、
ことを特徴とする、
ネットワークに関する。
複数のノードから構成されるネットワークにおいて、
前記ネットワークを構成する第一のノードは、第一の処理ユニットおよび第一の認証コアから構成され、
前記ネットワークを構成する第二のノードは、第二の処理ユニットおよび第二の認証コアから構成され、

前記第一の処理ユニットは、第一の公開鍵、第一のハッシュ値、第一の電子署名から構成され、
前記第二の処理ユニットは、第二の公開鍵、第二のハッシュ値、第二の電子署名から構成され、

前記第一の認証コアは、第一の物理アドレス、第一の秘密鍵、および、第一の鍵生成装置から構成され、
前記第二の認証コアは、第二の物理アドレス、第二の秘密鍵、および、第二の鍵生成装置から構成され、

前記第二のハッシュ値は、前記第一の処理ユニットをハッシュ化したものであり、かつ、前記第一のノードから前記第二のノードに転送された情報の少なくとも一部であり、

前記第二の電子署名は、前記第二のハッシュ値および前記第二の公開鍵を前記第一の秘密鍵で暗号化したものであり、前記第二のハッシュ値と共に前記第一のノードから前記第二のノードに転送された情報の別の一部であり、

前記第一の鍵生成装置は、前記第一の秘密鍵から前記第一の公開鍵を生成し、
前記第二の鍵生成装置は、前記第二の秘密鍵から前記第二の公開鍵を生成し、

前記第一の秘密鍵と前記第一の公開鍵は、互いに一対一の組をなし、
前記第二の秘密鍵と前記第二の公開鍵は、互いに一対一の組をなし、

前記第一の秘密鍵は、前記第一の物理アドレスから生成され、
前記第二の秘密鍵は、前記第二の物理アドレスから生成される

ことを特徴とする、
ネットワークに関する。
本発明によれば、真に物理的実態を持つネットワークノードに対して一意に割り当てられ、公開台帳によって物理アドレスの改ざんを防ぐ技術を提供し、IoTに接続するハードウェア間の情報通信を安全にすることが可能となる。
以下、発明を実施するための最良の形態について、具体的に説明する。
上述してきたように、ネットワーク技術、ソフトウェア技術、ハードウェア技術、あるいは、これらの技術の意図的な組み合わせによって(書き換え不能の物理アドレス)を実現する認証装置を提案する。
これらの特徴を利用するための構成を精緻に設計することにより、論理ノードのネットワーク(論理ネットワーク)で威力を発揮する公開台帳の優れた性能を物理ノードのネットワーク(物理ネットワーク)に適用することが可能となる。以下図面を用いて具体的に説明してゆく。

(第一の実施形態)
図15は、本願に関連する認証装置を搭載したハードウェアが参加する物理ネットワークと公開台帳を活用する論理ネットワークの関係を説明する図面である。前記ハードウェアは物理的実態を持ち、物理ネットワークを構成するノードとなるので物理ノードである。予め設定した物理アドレスを何らかの方法で秘密鍵と一対一にリンクする。公開鍵暗号によってこの秘密鍵と対をなす公開鍵を論理アドレスとする論理ノードが、この物理ノード、あるいはそれに対応するハードウェアと対をなす。このように論理アドレスと物理アドレスが対をなす通信層を認証層と呼ぶことにする。図2には見られない概念である。
図10のように、前記物理アドレスとリンクした公開鍵を論理アドレスとする論理ノード間で情報が転送される。財布(N)の中身であるハッシュ値(N-1)は、財布(N-1)の中身であるハッシュ値(N-2)、その論理アドレスである公開鍵(N-1)および電子署名(N-2)をまとめてハッシュ化したものである。ここで、財布(N−1)、財布(N)、財布(N+1)…は、それぞれ論理ノード(N-1)、論理ノード(N)、論理ノード(N+1)…に対応する。
ここで論理ノード(N-1)と対をなす物理ノードのアドレス、すなわち物理アドレス(N-1)を改ざんしたとしよう。この物理アドレス(N-1)と一対一にリンクする秘密鍵(N-1)は、論理ノード(N-1)の論理アドレスである公開鍵(N-1)とも一対一にリンクしている。したがって、物理アドレス(N-1)を改ざんするということは、公開鍵(N-1)の改ざんを同時に行うことを意味する。
図10で説明したように、公開鍵(N-1)は、ハッシュ値(N-2)および電子署名(N-2)と共にハッシュ値(N-1)にハッシュ化される。したがって、ハッシュ値(N-1)の改ざんである。一般に、ハッシュ値(N-1)は最新のハッシュ値、すなわちメルクルの根とは限らない。しかしながら、メルクル樹形の一部でも改ざんすれば、それはメルクルの根を改ざんしたことと同意である。
図12で示したように、ブロック(N)の中身を構成するブロックハッシュ(N-1)は、ブロック(N-1)すべてをまとめてハッシュ化したものである。ブロック(N-1)はメルクルの根を含んでいる。このメルクルの根が上述したように改ざんされているとすると、ブロック(N-1)とブロック(N)の間の連結条件を破壊する。したがって、連結条件を回復するよう、ブロック(N−1)のノンス値を再調節する必要がある。たとえば、ブロックハッシュ(N-1)の最初の16ビットが再びすべてゼロになるようブロック(N-1)のノンス値を再計算しなければならない。ここで、ハッシュ関数は非可逆なのでこの計算には一定以上の計算能力が必要である。
このようにノンス値を再調整して(一例として)最初の16ビットを全てゼロにすることに成功したとしても、メルクルの根が改ざんされている限り第17ビット以降のデータは改ざんされる。結局ブロックハッシュ(N-1)の改ざんされ、ブロック(N)とブロック(N+1)の連結条件を破壊する。上述したのと同様にこの連結条件を回復するためには一定以上の計算能力の消費が必要であり、更にブロック(N+1)とブロック(N+2)の連結条件を破壊する。このようにブロックが長く連なっている限り、延々とブロック連結条件の回復のために計算を続けなければならなくなる。
このように十分長いブロックチェーンが構成されている限りたとえ一部であっても物理アドレスの改ざんは現実的に不可能になる。こうして、秘密鍵とリンクした物理アドレスを用いることによってブロックチェーンなどの公開台帳技術で(書き換え不可能な物理アドレス)を実現することが可能となる。
図16は、論理アドレスと物理アドレスが連結された状態を示している。まず、概念的にデータリンク層と物理層の間に認証層を形成する。公開議暗号で論理アドレス(公開鍵)と秘密鍵が対をなす。更にこの秘密鍵と物理アドレスが互いに一対一の関係をなす。こうして認証層で論理アドレスと物理アドレスが認証アドレスとして関連付けられる。図15の例では、秘密鍵が認証アドレスに対応する。こうして論理層の上に配置される論理ノードと物理層の下に配置される物理ノードが改ざん不可能な状態で連結される。

(第二の実施形態)
図17は、処理(N-2、N-1)を財布(N-2)から財布(N-1)に対して行い、処理(N-1、N)を財布(N-1)から財布(N)に対して行い、処理(N、N+1)を財布(N)から財布(N+1)に対して行う場合の一例である。ただし、Nは、何らかの方法でネットワークに接続する物理ノードに割り付けられた任意の自然数であり、財布(N)は第Nの論理ノードのことである。各論理ノードは公開鍵、ハッシュ値、電子署名からなり、処理ユニット20000を構成する。これに対し、上段には、鍵生成装置、認証装置、および秘密鍵(書き換え不可能な物理アドレス)を含む認証コア10000が3つ並んで存在する。
具体的に働き方を見るため、下段中央の財布(N)に着目する。ハッシュ値(N-1)は財布(N)の中身であり、一つ前の財布(N-1)で次の方法により生成する。まず、財布(N-1)のネットワーク上の論理アドレス(ビットコインではビットコインアドレス)である公開鍵(N-1)、財布(N-1)の中身であるハッシュ値(N-2)、および電子署名(N-2)をまとめてハッシュ化する。ハッシュ化にはハッシュ関数を用いればよい。ハッシュ関数は、MD2、MD4、MD5、RIPE-MD160、SHA-256、SHA-384、SHA-512など多数存在し、このうち一例としてビットコインではSHA-256を使用している。
財布(N-1)は、財布(N)のネットワーク上の論理アドレスである公開鍵(N)を取得し、ハッシュ値(N-1)と一緒に秘密鍵(N-1)で暗号化する。それを電子署名(N-1)とし、ハッシュ値(N-1)と共に財布(N)に転送する。財布(N)では、公開鍵(N)、ハッシュ値(N-1)および電子署名(N-1)をまとめてハッシュ化し、ハッシュ値(N)を生成し、電子署名(N)と共に財布(N+1)に転送する。電子署名(N-2)および電子署名(N)の生成方法は、電子署名(N-1)の生成方法と同様なので、説明を省略する。
このように、秘密鍵が認証コア10000に含まれていること以外、図10のビットコインの説明とまったく同様である。したがって、本発明は従来のブロックチェーンと完全な整合性がある。
したがって、図10との決定的な違いは認証コア10000にある。下段の処理ユニット20000の中に納まっている公開鍵は、上段の認証コア10000によって所定の物理的生成プロセスを用いて生成されたものである。さらに、認証コア10000は、すくなくと物理アドレスを有している。
次に、本実施形態での認証コア10000の働きについて説明する。
認証コア10000では、認証装置からの出力を鍵生成装置に入力し、互いに一対の組みをなす秘密鍵と公開鍵を生成する。また、少なくとも公開鍵から秘密鍵を再生することは非常に困難である。このような鍵生成アルゴリズムは複数存在している。その一例をリベスト・シャミア・エーデルマン(RSA)法(
参照)で下記のように説明することができる。このように鍵生成装置から互いに一対の組みを成す秘密鍵と公開鍵を生成する方法を以後RSA型とする。 Rivest, Ronald L.Shamir, Adi. Adelman, Len M. (1977-07-04), "A Method for Obtaining Digital Signature and Public-key Cryptsystems", MIT-LCS-TM-082 (MIT Laboratory for Computer Science).
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}は破棄するか認証コア10000の外部に漏れないようにしなければならない。素数の組み{p、q}を外部に漏れないよう保存しているのであれば組み{d、p、q}が秘密鍵であるという見方もできる。秘密鍵は認証コア10000内に閉じ込めて置き、公開鍵のみ処理ユニットに引き渡す。
図18に図示するように、本実施形態では認証装置のコード変換装置を使って物理アドレスをコード変換し、鍵生成装置に入力する変数を生成する。一例としてRSA法で用いられる前述した素数{p、q}を生成する。その際適当な正の整数eは認証装置の外部から外部入力として入力することも可能であるが、コード変換装置や認証装置の内部の別の一部から内部入力として入力することも可能である。たとえば、図17に内部入力を追加したものが図20であり、外部入力を追加したものが図21である。両方を追加したものが図22である。あるいは、物理アドレスの一部から抽出しても良い。たとえば、コード化した物理アドレスから最初の数ビットを切り出し、1を加算して前記eとすることも可能である。このとき切り出さなかった残りのコードを改めて物理アドレスとしてコード変換装置に入力すればよい。あるいは、物理アドレスに1を加えて正の整数eを生成しても構わない。
物理アドレスから前記素数{p、q}を生成する方法は、一例として、物理アドレスから1を引き算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に1を引き算して素数かどうかを確かめる。これを繰り返し、素数pを決める。素数pを決めたのち同じ手続きを繰り返し、素数qを決める。こうして前記素数{p、q}を求めることができる。
素数qの決め方の別の一例は、物理アドレスから2を引き算して素数かどうかを確かめる。素数であればその素数をqとする。素数でなければ更に2を引き算して素数かどうかを確かめる。これを繰り返して素数qを決める。
素数pまたはqを求めるために物理アドレスから引き算する数は1や2のみではなく、任意の整数(たとえばk)を採用することが可能である。このとき前記kをセキュリティパラメータとすることができる。たとえば、物理乱数発あるいは疑似乱数などを用いて一定の範囲内の整数からランダムに選択し、それをセキュリティパラメータkとすることが可能である。あるいは、物理アドレスとkを何らかの方法で合成したものが素数になるまで合成を繰り返すことが可能である。いずれにしろ、物理アドレスが数値として十分大きい限りpもqも十分大きな素数となり、セキュリティパラメータkの選択もより多様になる。
物理乱数を発生する物理乱数発生装置は、認証装置の中に含めることも出来るし、あるいは、外部に設置したものを採用することも可能である。後者の場合認証装置には外部から入力として乱数が与えられる。ソフトウェアで疑似乱数を発生する場合も同様である。ここで、物理アドレスとkの合成方法は、加減乗除すべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。いずれにしろ、物理アドレス(N)あるいは外部入力が数値として十分大きい限りpも十分大きな素数となる。
いずれにしろ、物理アドレスから素数pまたはqを求める方法は、一例として、物理アドレスと適当に与えられた変数を合成する合成ステップと、合成された数が素数であるかどうかを判定する判定ステップとから構成され、実際に素数が得られるまで前記合成ステップおよび前記判定ステップを繰り返すことである。図19参照。

(第三の実施形態)
図21のように前記実施形態の認証装置に外部入力を入力し、生成される秘密鍵と公開鍵を変更することが可能である。本実施形態は、同じ端末を家族や仲間で共有するときに便利である。すなわち、外部入力が異なれば端末が同じでも異なる認証アドレスとなる。また端末が異なれば、同じ外部入力を入力しても異なる認証アドレスとすることが可能である。
一例として、外部入力とはネットワーク上で動作する何らかのアプリを起動するためのパスコード、PINコード、バーコード、QRコード(登録商標)などのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報などである。
別の一例として、外部入力とはネットワーク上で動作する何らかのアプリが必要に応じてユーザーに要求するパスコード、PINコード、バーコード、QRコード(登録商標)などのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報などである。
更に別の一例として、外部入力とはネットワーク上で動作する何らかのアプリがインストールされている情報端末を起動するためのパスコード、PINコード、バーコード、QRコード(登録商標)などのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報などである。
あるいは、更に別の一例として、外部入力とは何等かの物理的プロセスにより認証装置を構成する半導体チップに固有な状態で生成される物理乱数を取得するための特殊モード取得コードなどである。ここで特殊モード取得コードは、少なくともチップ内部のデータに対するアクセスモード、アドレス、動作モードを指定するコードである。
あるいは、外部入力とは、上記複数の外部入力の組み合わせにより構成されるものであても良い。ただし、上記説明においてNはノードの番号を示す任意の整数である。また、図22のように、外部入力と内部入力両方を利用する方法もある。この内部入力は図20と同様なので説明を省略する。
図23は、認証装置に上記外部入力あるいは上記内部入力を入力する例を示す図面である。
一例として、物理アドレスと外部入力を何らかの方法で合成する。この合成方法は、加減乗除あるいはそれらの組み合わせ、あるいは可能な限りあらゆるビット演算が可能である。この整数から1を引き算あるいは足し算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に1を引き算あるいは足し算して素数かどうかを確かめる。これを繰り返し、素数pを決める。素数pを決めたのち同じ手続きを繰り返し、素数qを決める。こうして前記素数{p、q}を求めることができる。
素数qの決め方の別の一例は、物理アドレスと外部入力を上述したように何らかの方法で合成する。この整数から2を引き算あるいは足し算し、素数かどうかを確かめる。素数であればその素数をqとする。素数でなければ更に2を引き算あるいは足し算して素数かどうかを確かめる。これを繰り返し、素数qを決める。ただし、素数pまたはqを求めるために物理アドレスと外部入力を何らかの方法で合成したもの(i)から引き算あるいは足し算する数は1や2のみではなく、任意の整数jを採用することが可能である。あるいは、iをjとを何らかの方法で合成したものが素数になるまでiとjの合成を繰り返すことが可能である。
この合成方法は、加減乗除などすべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。いずれにしろ、物理アドレスあるいは外部入力が数値として十分大きい限りpもqも十分大きな素数となる。いずれにしろ、物理アドレスから素数pまたはqを求める方法は、一例として、物理アドレスと適当に与えられた変数を合成する合成ステップと、合成された数が素数であるかどうかを判定する判定ステップとから構成され、実際に素数が得られるまで前記合成ステップおよび前記判定ステップを繰り返すことである。図19参照。
図21と図17、および、図22と図20を比べて一目瞭然のように、外部入力が無ければ(第二の実施形態)と同じである。したがって、外部入力に関わらない他の説明はすべて(第二の実施形態)と同様なのでここでは省略する。
以上秘密鍵および公開鍵の生成方法としてRSA法を仮定し、(第二の実施形態)および(第三の実施形態)を説明して来た。ただし、これはあくまで一例に過ぎず、鍵生成装置が認証装置から何らかの入力を受け入れて秘密鍵と公開鍵を生成する限り他のどのようなアルゴリズムによる鍵生成方法を採用しても構わない。

(第四の実施形態)
図24は認証コア10000の別の一例を説明する図面である。
本実施形態の認証コア10000においては、認証装置が出力した秘密鍵を鍵生成装置に入力し公開鍵を生成する。このとき秘密鍵と公開鍵は互いに一対の組みをなす関係にある。このような鍵生成アルゴリズムは複数存在している。また、公開鍵から秘密鍵を再生することは現実的に不可能である。その中で本実施形態に当てはまる最も有名な一例としてエルガマル法(
参照。)があげられる。このように鍵生成装置が秘密鍵から公開鍵を生成する方法を以後エルガマル型とする。 A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, Taher Elgamal, IEEE Transactions on Information Theory, v. IT-31, n. 4, 1985, pp. 469-472.
エルガマル法では、まず大きな素数pとその原始根gを決める。素数pおよび原始根gは設計仕様に応じて選択し、鍵生成装置あるいは認証コア10000内の別のモジュールに保存しておくことができる。その他の動作は(第二の実施形態)とほぼ同様である。簡単のため同様の説明は省く。次に、p−1より小さい非負整数xをランダムに選び秘密鍵とする。本実施形態では、一例として、認証装置の物理アドレスから適当なコード変換を施し秘密鍵を得ることができる。こうして物理アドレスと秘密鍵をリンクすることが可能となる。続いて、前記原始根gのx乗をpで割った余りを公開鍵(N)とする。秘密鍵は認証コア10000内に閉じ込めて置き、公開鍵のみ処理ユニットに引き渡す。
図18は認証装置の一例を示す図面である。認証装置はコード変換装置を使って物理アドレスをコード変換し、秘密鍵を生成する。本実施形態では、一例として、認証装置の物理アドレスをp−1で割った余りを秘密鍵とすることができる。これを鍵生成装置に入力して公開鍵を生成する。
図25のように、認証装置に内部入力を加えても良い。すなわち、認証装置の物理アドレスと前記内部入力を何らかの演算で合成したものをp−1で割った余りを秘密鍵とすることができる。これを鍵生成装置に入力して公開鍵を生成する。
前記合成方法は各種多様である。たとえば、足し算、引き算、掛け算、割り算、これら算術演算の組み合わせ、論理演算、その他可能な限りのあらゆるビット演算を活用することが可能である。
図23では、認証装置の物理アドレスと内部入力とを何らかの演算で合成したものをp−1で割った余りを秘密鍵とすることも可能である。これを鍵生成装置に入力して上述の方法で公開鍵を生成する。
前記合成方法は各種多様である。たとえば、足し算、引き算、掛け算、割り算、これら算術演算の組み合わせ、論理演算、その他可能な限りのあらゆるビット演算を活用することが可能である。

(第五の実施形態)
図26のように前記実施形態の認証装置に外部入力を入力し、生成される秘密鍵と公開鍵を変更することが可能である。本実施形態は(第四の実施形態)の変形であり、同じ端末を家族や仲間で共有するときに便利である。すなわち、外部入力が異なれば端末が同じでも異なる認証アドレスとなる。また端末が異なれば、同じ外部入力を入力しても異なる認証アドレスとすることが可能である。
この外部入力は(第三の実施形態)のものと同様なので、詳細な説明を省略する。ただし、下記のように本実施形態ではこの外部入力から前記素数pおよび原始根gを生成することが可能である。また、図27のように認証装置への内部入力を併用することも可能である。
図23では、認証装置の物理アドレスと外部入力あるいは内部入力とを何らかの演算で合成したものをp−1で割った余りを秘密鍵とすることも可能である。これを鍵生成装置に入力して上述の方法で公開鍵を生成する。
一例として、まず物理アドレスと外部入力あるいは内部入力を何らかの方法で合成する。この合成方法は、加減乗除あるいはそれらの組み合わせ、あるいは可能な限りあらゆるビット演算が可能である。この整数から1を引き算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に1を引き算して素数かどうかを確かめる。これを繰り返して素数pを決める。
素数pの決め方の別の一例は、まず物理アドレスと外部入力あるいは内部入力を上述したように何らかの方法で合成する。この整数から2を引き算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に2を引き算して素数かどうかを確かめる。これを繰り返して素数pを決める。
素数pを求めるために物理アドレスと外部入力あるいは内部入力を上述したように何らかの方法で合成したもの(i)から引き算する数は1や2のみではなく、任意の整数(j)を採用することが可能である。あるいは、iをjとを何らかの方法で合成したものが素数になるまでiとjの合成を繰り返すことが可能である。
この合成方法は、加減乗除すべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。いずれにしろ、物理アドレス(N)、外部入力、あるいは内部入力が数値として十分大きい限りpも十分大きな素数となる。
上記いずれの方法によっても、あるいは、更に別な方法により十分に大きな素数pを得ることが可能である。
更に、一例として外部入力をを原始根gとすることができる。あるいは別の一例として、外部入力と内部入力を何らかの方法で合成したものを原始根gとすることが可能である。この合成方法は、加減乗除すべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。
以上秘密鍵および公開鍵の生成方法としてエルガマル法を仮定し、(第四の実施形態)および(第五の実施形態)を説明して来た。ただし、これはあくまで一例に過ぎず、図24、図25、図26および図27に示すように、秘密鍵を鍵生成装置に入力して公開鍵を生成する限り他のどのようなアルゴリズムによる鍵生成方法を採用しても構わない。
図26と図24、図27と図25、および、図23と図18を比べて一目瞭然のように、外部入力が無ければ(第四の実施形態)と同じである。したがって、外部入力に関わらない他の説明はすべて(第四の実施形態)と同様なのでここでは省略する。

(第六の実施形態)
前記物理アドレス(一例として図18および図23の物理アドレス)は、編集の可能不可能にかかわらず何らかの方法で情報機器に設定された情報機器の個別認証のためのコードである。一例として、MACアドレスがあげられる。

(第七の実施形態)
前記物理アドレス(一例として図18および図23の物理アドレス)は、物理的実態を有する半導体チップ内のセルアレイから抽出した何らかの物理的乱雑さより合成できる。このようなチップを認証チップと呼ぶ。
図28は、ワード線503およびビット線902からなるセルアレイの一例である。ワード線503およびビット線902が交差したところに認証素子977が配置している。この例では、行数(ワード線数)はNであり、列数(ビット線数)はMである。ただし、行と列はいつでも入れ替え可能である。
一例として、認証素子はそれぞれ少なくとも二つの端子(第一の端子および第二の端子)を持ち、ワード線503およびビット線902の一方が前記第一の端子に接続し、他方が前記第二の端子に接続する。
認証素子977は、図29のように抵抗985である。あるいは図30のようにキャパシタ982である。あるいは図31のようにPN接合986である。あるいは図32のようにショットキー接合987である。あるいは図33のようにトランジスタ983である。あるいは図34のようにトランジスタ983およびキャパシタ982からなるDRAMセル984である。あるいは図35のようにトランジスタ983および可変抵抗981からなる可変抵抗メモリセル989である。あるいは図36のようにトランジスタ983および磁気抵抗980からなる磁気抵抗メモリセル990である。あるいは図37のように電荷蓄積層付き不揮発性メモリセル988である。電荷蓄積層は電荷トラッピング層でも浮遊ゲートでも良い。
あるいは、図38のように意図的にビット線端子を排除したNAND型配列上に配置した電荷蓄積層付き不揮発性メモリセル988である。あるいは、図39のように意図的にビット線端子を排除したNAND型配列上に配置したトランジスタ983である。
図40および図41は、ビット線902およびワード線503を使って認証素子977にアクセスする別の一例である。この例における認証素子977の具体例は上述したものと同様であり、詳細な説明を省略する
いずれにしろ、このようにワード線503およびビット線902と認証素子977により形成されるセルアレイからチップに固有で物理的にランダムな認証を取得することができる。
以下その方法の一例を具体的に説明する。
まずワード線デコーダを使ってワード線を選択し、ビット線デコーダを使ってビット線を選択し、それぞれ選択されたワード線とビット線に関連する認証素子を選択セルとする。
ここで、認証素子は大きく分けて2種類ある。第一の種類は、図42のように、破壊されると読み出し電圧を印加した際電流を流しやすく、破壊されていないと電流を流しにくい。したがって破壊されているからどうかを判定するには、破壊判定電圧932を印加したときの電流の絶対値が破壊判定電流値933より高いか非破壊判定電流値934より低いかを調べれば良い。
第二の種類は、図43のように、破壊されると読み出し電圧を印加した際電流を流しにくく、破壊されていないと電流を流しやすい。したがって破壊されているからどうかを判定するには、破壊判定電圧932を印加したときの電流の絶対値が非破壊判定電流値934より高いか破壊判定電流値933より低いかを調べれば良い。
ここで、破壊判定された認証素子からなるビットセル(破壊ビット)のアドレスはワード線番号およびビット線番号からなる配列である。セルアレイ上の認証素子の集団から複数のセルを選択し、図42あるいは図43の方法で読み出すと一般に複数の破壊ビットが見つかる。これら複数の破壊ビットのアドレスを並べてコード表現すれば破壊ビットの分布に応じたコード(認証コード)が得られる。破壊ビットの発生が物理的にランダムである限りチップに固有で物理的にランダムな認証コードを取得することができる。
破壊ビットの数をQとし、選択セルの数をRとする。ただし、QはRより小さな数である。このとき認証コードの場合の数はRからQを選ぶ場合の数に等しい。すなわち、Rが十分大きく破壊ビットの存在確率が無視できるほど小さくなければ認証コードの場合の数は非常にに大きな数になる。
Qを1ギガ(10億)とし、Rを1キロ(1000)とすると、認証コードの場合の数はおよび10の6432乗に2.5を掛けた程度になる。すなわち、トリリオンノードに必要な1兆個(10の12乗)の認証チップを生産したとき偶然に二つの認証チップの認証コードが同じになる確率が10の6420乗に2.5を掛けた数の逆数(4E−6421)になることを意味している。認証チップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は10の−6419乗の4倍(4E−6419)になる。これは現実的にほぼゼロである。
また、Qが1ギガでRが1キロというのは不良率100万分の1に相当する。すなわち、認証チップがシックスシグマ(100万分の3.4以下)を達成するほど不良率が低いと仮定しても、偶然に二つの認証チップの認証コードが同じになる確率はほぼゼロであると言える。
また、シックスシグマ(100万分の3.4以下)に沿って考えると、1ギガビットのチップ製品において100万分の1以下に相当する1キロビットを他の目的に使用することは何ら問題にならない。したがって、1キロビットを認証素子用のセルアレイに割り当て、認証セル用のセルアレイに何らかのストレスを印加してちょうど半分を破壊することにする。このとき、認証コードの場合の数は10の299乗の2.7倍程度になる。すなわち、認証チップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は10の−285乗の2.7倍(3.7E−286)になる。すなわち、現実的にほぼゼロである。
前記ストレスは、電気的ストレス、光学的ストレス、機械的ストレス、電磁場的ストレスなど多種多様である。
電気的ストレスの一例は、まず認証セル用のセルアレイのすべてのセルを同時に選択し、全選択セルに高電圧パルスを印加する。各セルを読み出し、非破壊ビットの数が破壊ビットの数より少なかった場合非破壊ビットのみ選択して2回目の高電圧パルスを印加する。非破壊ビットの数が破壊ビットの数とほぼ同数になるまでこの作業を繰り返す。
光学的ストレスの一例は、アセンブリする前に認証素子用のセルアレイにX線や紫外線などを一定量照射する。照射量は、非破壊ビットと破壊ビットの数がほぼ同数になる程度に調整する。
機械的ストレスの一例は、認証チップを湾曲させることである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。
電磁場的ストレスの一例は、認証チップを強い電磁場に晒すことである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。
いずれにしろ、認証セルの破壊が確率的に発生する限り認証コードは物理的にランダムに生成される。また、偶然に二つの認証チップの認証コードが同じになる確率が現実的にほぼゼロである限り、認証コードは物理アドレスとして十分通用する。この物理アドレスを図18および図21のように認証装置に採用する。これには認証装置を認証チップで構成すればよい。
このように、意図的にランダムに破壊することで認証コードを生成することが可能である。

(第八の実施形態)
一部のメモリ製品ではメモリセルの中に予め一定の割合以下で不良ビットが発生することを考慮に入れ、不良ビットが発生したビット線をビット線ごと入れ替えるための冗長ビット線を備えている。このような不良の発生原因は多種多様であり、製造段階における製造ばらつきや部材の物理的な形成過程において自然発生するばらつきに依存する。冗長ビット線は通常メモリ製品のビット容量には含まれない。一例として図44参照。
図44では、行方向に配列したビット線群を二つのグループに分ける。一方を複数の冗長ビット線からなる冗長ビット線群とし、他方を正規ビット線からなる正規ビット線群とする。正規ビット線群の行数をNとし、冗長ビット線群の行数をLとする。NもLも非負整数であり、NはLより大きい。メモリ製品のビット容量は、この正規ビット線群に含まれるセル数に相当する。
出荷前検査で正規ビット線群の中に一定の条件を満たす不良ビット377が発生していることが判明すると、その不良ビットを含む正規ビット線のアドレスを冗長ビット線群の中の一つの冗長ビット線に割り当てる。このような読み換え(図中読み換えA、読み替えB…)を、不良ビットを含む正規ビット線それぞれに対して行い、不良ビットを実質的に取り除くことが可能となる。
より具体的には、出荷前検査で不良が見つかったビット線のビット線番号とそのビット線を読み換える冗長ビット線のビット線番号を周辺領域に混載している周辺メモリ(一例としてフューズメモリなど)に記録する。本実施形態では、この周辺メモリに記録された情報が(第七の実施形態)の認証コードと同じ役割を果たす。あるいは、(第一の実施形態)から(第六の実施形態)の物理アドレスに対応する。この物理アドレスを図18および図21のように認証装置に採用する。これには認証装置をメモリチップで構成すればよい。
このような条件を満たすメモリチップの一例としてDRAMがあげられる。そのほかフラッシュメモリ、相変化メモリ、抵抗変化メモリ、磁気抵抗変化メモリ(MRAM)、スピントルク型MRAM等が考えられる。
出荷前検査で発覚する回復不能の不良ビットの数をmとすると、その場合の数はNの中からmを選ぶ組み合わせである。すなわち、C(N,m)である。それぞれをどの冗長ビット線に読み換えるかを考慮に入れると、場合の数は更にmの階上とLの中からmを選んで並べる順列の数を掛け合わせなければならない。すなわち、C(N,m)P(L,m)である。つまり、過小評価しても場合の数はC(N,m)程度ある。
典型的な4ギガビットDRAM製品の場合、たとえば、全ビット線数655万本に対して冗長ビット線数は15万3千本程度である。すなわち、何らかの事情によって正規ビット群内のビット線に不良ビットが発生する行数は、最大15万3千程度まで量産DRAMとして許容できる。このとき冗長ビット線への再割り付けの場合の数は655万の内から15万3千を選ぶ組み合わせに等しい。計算すると約10の315、289乗になる。すなわち、認証チップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は10の−315、275乗(1E−315、275)になる。現実的にほぼゼロである。
なお、本実施形態ではビット線とワード線を入れ替えることも可能である。すなわち、ビット線の代わりにワード線を行方向に配置した場合では、ワード線数440万本から3、044本を選ぶ組み合わせの数を計算すれば良い。これは、およそ2.9×10の10、938乗となる。前者の場合の数より大分少なくなるが、それでも恐ろしく大きな数である。すなわち、認証チップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は10の−10、924乗(1E−10、924)になる。現実的にほぼゼロである。
こうして、非常に大きな情報エントロピーを有する認証コードを生成することが可能となる。ここで着目すべきことは、本実施形態では認証コードを生成するために1ビットも余計に割いていないことである。すなわち、冗長ビット線(あるいは冗長ワード線)は既に製品メモリチップに搭載されているものであり、読み替え情報を記録する周辺メモリも同様である。
図17、図20、図21、図22、図24、図25、図26および図27のハッシュ値は、論理ノードである財布の間を転送される署名付き処理情報である。それが貨幣価値のあるものであればビットコインなどのような暗号通貨となるが、それは特殊な一例に過ぎない。また図17、図20、図21、図22、図24、図25、図26および図27のいずれの方法であっても、処理(N,N+1)に必要な作業はすべて財布(N)側で完結する。したがって、秘密鍵を認証コア10000の外に出す必要がない。
図17、図20、図21、図22、図24、図25、図26および図27を見ながら具体的に説明する。たとえば、秘密鍵(N)を用いて電子署名(N)を生成する方法から始める。まず財布(N)は、財布(N)の中身であるハッシュ値(N-1)と公開鍵(N)と電子署名(N-1)をまとめてハッシュ化し、ハッシュ値(N)を生成する。これは、財布(N)の内部に一時的に保存できる。次に、処理の転送先である財布(N+1)のネットワーク上の論理アドレスである公開鍵(N+1)を取得する。続いて、財布(N)にリンクする認証コア10000のチップ内部に閉じ込めた秘密鍵(N)を用い、認証コア内部の鍵生成装置でハッシュ値(N)および公開鍵(N+1)をまとめて暗号化する。こうして電子署名(N)を生成する。最後に、生成した電子署名(N)とハッシュ値(N)を共に財布(N+1)に送付する。
図18および図23のコード変換装置は、物理アドレスを鍵生成装置に入力するのに適した形に成形するためのものである。自明なので特に図示しないが、そのような成形が必要とされない場合何も変換をしないダミーの装置とすることも可能である。このとき、認証装置は物理アドレスを直接鍵生成装置に入力する。

(第九の実施形態)
図45では、RSA型の鍵生成装置を使用した別の一例を示す図面である。各論理ノードは、認証コア10000および処理ユニット20000からなる。前記認証コアはRSA型鍵生成装置を含む。前記鍵生成装置は、処理ユニットに含まれるハッシュ値から互いに一対の組をなす秘密鍵および公開鍵を生成し、前記公開鍵を処理ユニット20000に渡し、前記秘密鍵は、認証コア10000のに閉じ込める。すなわち、認証コア10000外部から秘密鍵へのアクセスは不能である。前記公開鍵は、それぞれ対応する論理ノードの論理アドレスとなる。処理ユニット20000では、前記ハッシュ値および前記公開鍵を、前記ハッシュ値を送付してきた論理ノードの秘密鍵を用いて電子署名が生成される。こうして処理ユニット20000は、前記ハッシュ値、前記公開鍵、前記秘密鍵、および前記電子署名から構成される。
図46では、エルガマル型の鍵生成装置を使用した別の一例を示す図面である。各論理ノードは、認証コア10000および処理ユニット20000からなる。認証コア20000は、エルガマル型鍵生成装置および変換装置を含む。前記変換装置は、処理ユニット20000に含まれるハッシュ値から秘密鍵を生成し、認証コア10000に閉じ込める。すなわち、認証コア10000外部から秘密鍵へのアクセスは不能である。前記鍵生成装置は、前記秘密鍵から公開鍵を生成し、処理ユニット20000に渡す。前記公開鍵は、それぞれ対応する論理ノードの論理アドレスとなる。処理ユニット20000では、前記ハッシュ値および前記公開鍵を、前記ハッシュ値を送付してきた論理ノードの秘密鍵を用いて電子署名が生成される。こうして処理ユニット20000は、前記ハッシュ値、前記公開鍵、前記秘密鍵、および前記電子署名から構成される。
本実施形態では、物理アドレスを予め準備する必要がない。その代わり論理ノードをネットワークに初期登録もしくは再登録する際、その次点でのハッシュ値を用いて秘密鍵と公開鍵を生成する。以後論理ノード間の情報のやり取りに応じてハッシュ値は変更してゆくが、上記のように一対の組をなす秘密鍵および公開鍵を一度生成してしまえばそれでかまわない。また、再登録によってネットワークの構成を随時変更することが出来る。これは、必要に応じて閉じたネットワークを作りたいときに便利である。すなわち、登録された論理ノードのみがブロックチェーンでお互いを監視することによって、必要に応じて随時閉じたネットワークを構築することが出来る。
こうして、何らかの方法でチップに割り当てられる物理アドレスあるいはハッシュ値などから一対の秘密鍵と公開鍵が生成される。公開鍵はネットワーク上の論理アドレスとして利用され、秘密鍵は認証コア10000に閉じ込めることが望ましい。すなわち、認証コア10000外部から秘密鍵へのアクセスは不能である。こうして、本願の認証コア10000によって物理的実態である半導体チップ(ハードウェア)と論理ネットワーク(ソフトウェア)を有機能的に連結することが可能となる。
更に、電子署名技術と合わせてハードウェアとブロックチェーンに代表される公開台帳システムを有機能的に連携させることが可能となる。結果としてネットワークシステムの安全性や信頼性を強化することに優れている。
RSA型の鍵生成方法もエルガマル型鍵生成方法も、具体的なアルゴリズムは複数存在する。この中で現在電子署名に良く使われているのはDSA法というものとその改良版であるECDSA法である。他にもシュノール法、ランダムオラクル法、クラマーショウプ法など多種多様あるが、これらの共通点は公開鍵から秘密鍵を生成することが現実的に難しいことである。(数学的に不可能であることを証明できないが、実際に実施することは困難であると言える。)また、秘密鍵でハッシュ値等を暗号化して電子署名を生成することも共通点として挙げられる。異なる点は、秘密鍵から公開鍵を生成するか、あるいは、別の変数から公開鍵と秘密鍵を生成するか、などである。あるいは、変数変換に用いる代数上の問題の違いもある。たとえば、素因数分解、離散対数問題、ランダムオラクル仮定、楕円曲線問題などなどである。
なお、特に図示しないが、本願に関わる認証装置を制御する認証制御装置は、認証装置の一部または全部として活用するメモリチップのメモリセルアレイの制御装置も兼ねることが可能である。
秘密鍵は、秘密鍵を必要とする任意の作業を行うとき、任意の方法でチップあるいは認証コアの内部で生成すればよい。チップあるいは認証コアの内部に秘密鍵を閉じ込める、という意味は、通常の利用方法では、チップあるいは認証コアの外部から秘密鍵へのアクセスが不可能である、ということである。また、特に断りのない限り、秘密鍵を必要とする作業をチップあるいは認証コアの内部で行うとき以外は、秘密鍵を消去しておくことが可能である。たしかに、通常の利用方法において、チップあるいは認証コアの外部から消去された秘密鍵にアクセスすることは困難である。このように、自明なので詳細の説明は省くが、秘密鍵をチップあるいは認証コアに閉じ込める、と言う意味は、秘密鍵を必要とする任意の作業をチップあるいは認証コアの内部で行うとき以外は秘密鍵を消去しておくことも含む。さらに、本願の認証コアが秘密鍵を含む、という意味は、認証コアが秘密鍵を必要とする任意の作業をする際あるいはその事前に、認証コア内部で秘密鍵を生成することを含む。秘密鍵を必要とする任意の作業とは、一例として、電子署名や公開鍵の生成などである。秘密鍵を生成する方法の例は、すでにいくつか説明した通りであるが、ここで説明した方法を用いなくても本願の概念を逸脱するものではない。
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
安全かつ利便性の高いネットワークビジネスの情報基盤技術を、より低いコストで提供することが可能となる
ネットワークシステムの最小ユニットを説明する図。 通信階層の仕組みを説明する図。 論理ネットワークと物理ネットワークの関係を説明する図。 論理ネットワークと物理ネットワークの関係を説明する図。 論理ネットワークと物理ネットワークの関係を説明する図。 論理ネットワークと物理ネットワークの関係を説明する図。 公開鍵暗号の仕組みを説明する図。 暗号通貨の仕組みを説明する図。 暗号通貨の仕組みを説明する図。 暗号通貨の送金の仕組みを説明する図。 メルクルの樹形図を説明する図。 ブロックチェーンの仕組みを説明する図。 MACアドレスを使用する仕組みを説明する図。 MACアドレスの形式を説明する図。 物理ネットワークと論理ネットワークを関連付ける概念の一例を説明する図。 本願に関する認証層を通信階層に挿入した様子を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証装置の仕組みの一例を説明する図。 本願に関する素数を生成する方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証装置の仕組みの一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関する認証コアの導入方法の一例を説明する図。 本願に関る認証素子のセルアレイの一例を説明する図。 本願に関る認証素子が抵抗である例を説明する図。 本願に関る認証素子がキャパシタである例を説明する図。 本願に関る認証素子がPN接合である例を説明する図。 本願に関る認証素子がショットキー接合である例を説明する図。 本願に関る認証素子がトランジスタである例を説明する図。 本願に関る認証素子がトランジスタおよびキャパシタからなるDRAMメモリセルである例を説明する図。 本願に関る認証素子がトランジスタおよび可変抵抗からなる可変抵抗メモリメモリセルである例を説明する図。 本願に関る認証素子がトランジスタおよび磁気抵抗からなる磁気抵抗メモリメモリセルである例を説明する図。 本願に関る認証素子が電荷蓄積層付きトランジスタからなる不揮発性メモリメモリセルである例を説明する図。 本願に関る認証素子が電荷蓄積層付きトランジスタからなる不揮発性メモリセルであり、NAND型に配列している例を説明する図。 本願に関る認証素子がトランジスタであり、NAND型に配列している例を説明する図。 本願に関る認証素子へのアクセス方法の一例を示す図。 本願に関る認証素子へのアクセス方法の一例を示す図。 認証素子の破壊非破壊を判定する方法の一例を示す図。 認証素子の破壊非破壊を判定する方法の一例を示す図。 メモリセルの不良ビットを利用する方法の一例を示す図。 本願に関する鍵生成装置の使い方の一例を説明する図。 本願に関する鍵生成装置の使い方の一例を説明する図。
377 不良ビット
503 ワード線
902 ビット線
932 破壊判定電圧
933 破壊判定電流値
934 非破壊判定電流値
977 認証素子
985 抵抗
982 キャパシタ
986 PN接合
987 ショットキー接合
983 トランジスタ
984 DRAMセル
981 可変抵抗
989 可変抵抗メモリセル
980 磁気抵抗
988 電荷蓄積層付き不揮発性メモリセル
990 磁気抵抗メモリ
1000 信号伝達路
2001 第一のノード
2002 第二のノード
3000 イーサネット(登録商標)カード
3010 不揮発性メモリチップ
3020 メディア・アクセス・コントローラー(MAC)用演算処理チップ
3071 ベンダーコード
3072 シリアル番号
10000 認証コア
20000 処理ユニット

Claims (22)

  1. 複数のノードから構成されるネットワークにおいて、
    各ノードが、それぞれ処理ユニットおよび認証コアから構成され、
    前記認証コアは、それぞれ鍵生成装置を含み、
    前記鍵生成装置は、互いに一対の組みをなす秘密鍵および前記公開鍵を生成し、
    前記公開鍵は、前記処理ユニットの論理アドレスとなり、
    前記秘密鍵は、前記認証コアの外部からアクセス不可能であり、

    前記処理ユニットが前記各ノード間の情報通信の処理を司り、前記認証コアが前記各ノードの認証を司る、
    ことを特徴とするネットワーク。
  2. 前記処理ユニットは、更にハッシュ値を含み、
    前記鍵生成装置は、前記ハッシュ値から前記秘密鍵および公開鍵を生成する、
    ことを特徴とする請求項1記載のネットワーク。
  3. 前記認証コアは、更に認証装置を含み、
    前記認証装置は、それぞれ固有の物理アドレスを有し、
    互いに一対の組みをなす前記秘密鍵および前記公開鍵によって、
    前記物理アドレスと前記論理アドレスが、共に認証アドレスとして関連づけられる、
    ことを特徴とする請求項1のネットワーク。
  4. 前記認証装置は、更にコード変換装置を有し、
    前記コード変換装置は、前記物理アドレスから変数を生成し、前記変数を前記鍵生成装置に入力する、
    ことを特徴とする、
    請求項3記載のネットワーク。
  5. 前記コード変換装置の動作の少なくとも一部は、前記物理アドレスおよび適当に与えられた数を合成する、合成ステップと、
    前記合成して得た数が素数になるかどうかを判定する、判定ステップと、から構成され、
    前記合成して得た数が素数になるまで、前記合成ステップおよび前記判定ステップを繰り返す、
    ことを特徴とする、
    請求項4記載のネットワーク。
  6. 前記認証コア外部から前記認証装置に外部入力を入力し、
    前記コード変換装置は、前記外部入力および前記物理アドレスから変数を生成し、前記鍵生成装置に入力する、
    ことを特徴とする、
    請求項4記載のネットワーク。
  7. 前記認証コア内部の別の一部から前記認証装置に内部入力を入力し、
    前記コード変換装置は、前記内部入力および前記物理アドレスから変数を生成し、前記鍵生成装置に入力する、
    ことを特徴とする、
    請求項4記載のネットワーク。
  8. 前記物理アドレスは、前記各ノードにそれぞれ割与えられたコード情報であり、前記認証コアに付属の不揮発性メモリに記録する、
    ことを特徴とする、
    請求項3記載のネットワーク。
  9. 前記物理アドレスは、前記認証コアを構成する半導体チップから所定の手続きで生成される、
    ことを特徴とする、
    請求項3記載のネットワーク。
  10. 前記半導体チップは、セルアレイを含み、
    前記セルアレイは、複数のアドレス上にそれぞれ分布する複数の認証素子から構成され、
    前記複数の認証素子の一部は、所定の特性からずれた不良ビットであり、あるいは、所定のストレス印加によって破壊された破壊ビットであり、
    前記不良ビットあるいは前記破壊ビットが分布するアドレスの集合から、前記物理アドレスを生成することを特徴とする、
    請求項9記載のネットワーク。
  11. 複数のノードから構成されるネットワークにおいて、
    前記ネットワークを構成する第一のノードは、第一の処理ユニットおよび第一の認証コアから構成され、
    前記ネットワークを構成する第二のノードは、第二の処理ユニットおよび第二の認証コアから構成され、

    前記第一の処理ユニットは、第一の公開鍵、第一のハッシュ値、第一の電子署名から構成され、
    前記第二の処理ユニットは、第二の公開鍵、第二のハッシュ値、第二の電子署名から構成され、

    前記第一の認証コアは、第一の物理アドレス、第一の秘密鍵、および、第一の鍵生成装置から構成され、
    前記第二の認証コアは、第二の物理アドレス、第二の秘密鍵、および、第二の鍵生成装置から構成され、

    前記第二のハッシュ値は、前記第一の処理ユニットをハッシュ化したものであり、かつ、前記第一のノードから前記第二のノードに転送された情報の少なくとも一部であり、
    前記第二の電子署名は、前記第二のハッシュ値および前記第二の公開鍵を前記第一の秘密鍵で暗号化したものであり、前記第二のハッシュ値と共に前記第一のノードから前記第二のノードに転送された情報の別の一部であり、

    前記第一の鍵生成装置は、前記第一の物理アドレスから前記第一の公開鍵と前記第一の秘密鍵とを互いに一対一の組みを成すように生成し、
    前記第二の鍵生成装置は、前記第二の物理アドレスから前記第二の公開鍵と前記第二の秘密鍵とを互いに一対一の組みを成すように生成する、

    ことを特徴とする、
    請求項1記載のネットワーク。
  12. 複数のノードから構成されるネットワークにおいて、
    各ノードが、それぞれ処理ユニットおよび認証コアから構成され、
    前記認証コアは、それぞれ鍵生成装置および秘密鍵を含み、
    前記鍵生成装置は、前記秘密鍵から公開鍵を生成し、
    前記公開鍵は、前記処理ユニットの論理アドレスとなり、
    前記秘密鍵および前記公開鍵が互いに一対の組みをなし、
    前記処理ユニットが前記各ノード間の情報通信の処理を司り、前記認証コアが前記各ノードの認証を司る、
    ことを特徴とするネットワーク。
  13. 前記認証コアは、更に変換装置を含み、
    前記処理ユニットは、更にハッシュ値を含み、
    前記変換装置は、前記ハッシュ値から前記秘密鍵を生成する、
    ことを特徴とする請求項12のネットワーク。
  14. 前記認証コアは、更に認証装置を含み、
    前記認証装置は、それぞれ固有の物理アドレス、および、コード変換装置を有し、
    前記コード変換装置は、前記物理アドレスから前記秘密鍵を生成し、
    前記物理アドレスと前記論理アドレスが、共に認証アドレスとして関連づけられる、
    ことを特徴とする請求項11のネットワーク。
  15. 前記コード変換装置の動作の少なくとも一部は、前記物理アドレスおよび適当に与えられた数を合成する、合成ステップと、
    前記合成して得た数が素数になるかどうかを判定する、判定ステップと、から構成され、
    前記合成して得た数が素数になるまで、前記合成ステップおよび前記判定ステップを繰り返す、
    ことを特徴とする、
    請求項14記載のネットワーク。
  16. 前記秘密鍵は、前記素数から1を引いた数を前記物理アドレスで割った余りである、
    ことを特徴とする、
    請求項15記載のネットワーク。
  17. 前記物理アドレスは、前記各ノードにそれぞれ割与えられたコード情報であり、前記認証コアに付属の不揮発性メモリに記録する、
    ことを特徴とする、
    請求項14記載のネットワーク。
  18. 前記認証コア外部から前記認証装置に外部入力を入力し、
    前記コード変換装置は、前記外部入力および前記物理アドレスから変数を生成し、前記鍵生成装置に入力する、
    ことを特徴とする、
    請求項14記載のネットワーク。
  19. 前記認証コア内部の別の一部から前記認証装置に内部入力を入力し、
    前記コード変換装置は、前記内部入力および前記物理アドレスから変数を生成し、前記鍵生成装置に入力する、
    ことを特徴とする、
    請求項14記載のネットワーク。
  20. 前記物理アドレスは、前記認証コアを構成する半導体チップから所定の手続きで生成される、
    ことを特徴とする、
    請求項14記載のネットワーク。
  21. 前記半導体チップは、セルアレイを含み、
    前記セルアレイは、複数のアドレス上にそれぞれ分布する複数の認証素子から構成され、

    前記複数の認証素子の一部は、所定の特性からずれた不良ビットであり、あるいは、所定のストレス印加によって破壊された破壊ビットであり、
    前記不良ビットあるいは前記破壊ビットが分布するアドレスの集合から、前記物理アドレスを生成することを特徴とする、
    請求項20記載のネットワーク。
  22. 複数のノードから構成されるネットワークにおいて、
    前記ネットワークを構成する第一のノードは、第一の処理ユニットおよび第一の認証コアから構成され、
    前記ネットワークを構成する第二のノードは、第二の処理ユニットおよび第二の認証コアから構成され、

    前記第一の処理ユニットは、第一の公開鍵、第一のハッシュ値、第一の電子署名から構成され、
    前記第二の処理ユニットは、第二の公開鍵、第二のハッシュ値、第二の電子署名から構成され、

    前記第一の認証コアは、第一の物理アドレス、第一の秘密鍵、および、第一の鍵生成装置から構成され、
    前記第二の認証コアは、第二の物理アドレス、第二の秘密鍵、および、第二の鍵生成装置から構成され、

    前記第二のハッシュ値は、前記第一の処理ユニットをハッシュ化したものであり、かつ、前記第一のノードから前記第二のノードに転送された情報の少なくとも一部であり、

    前記第二の電子署名は、前記第二のハッシュ値および前記第二の公開鍵を前記第一の秘密鍵で暗号化したものであり、前記第二のハッシュ値と共に前記第一のノードから前記第二のノードに転送された情報の別の一部であり、

    前記第一の鍵生成装置は、前記第一の秘密鍵から前記第一の公開鍵を生成し、
    前記第二の鍵生成装置は、前記第二の秘密鍵から前記第二の公開鍵を生成し、

    前記第一の秘密鍵と前記第一の公開鍵は、互いに一対一の組をなし、
    前記第二の秘密鍵と前記第二の公開鍵は、互いに一対一の組をなし、

    前記第一の秘密鍵は、前記第一の物理アドレスから生成され、
    前記第二の秘密鍵は、前記第二の物理アドレスから生成される

    ことを特徴とする、
    請求項12記載のネットワーク。
JP2019505988A 2017-03-17 2018-03-10 ネットワーク上の装置認証技術 Pending JPWO2018168723A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017053289 2017-03-17
JP2017053289 2017-03-17
PCT/JP2018/009360 WO2018168723A1 (ja) 2017-03-17 2018-03-10 ネットワーク上の装置認証技術

Publications (1)

Publication Number Publication Date
JPWO2018168723A1 true JPWO2018168723A1 (ja) 2020-05-14

Family

ID=63519804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505988A Pending JPWO2018168723A1 (ja) 2017-03-17 2018-03-10 ネットワーク上の装置認証技術

Country Status (4)

Country Link
US (1) US10693636B2 (ja)
JP (1) JPWO2018168723A1 (ja)
CN (1) CN108632028B (ja)
WO (1) WO2018168723A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706177B2 (en) * 2017-02-13 2020-07-07 Hiroshi Watanabe Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
US11212075B2 (en) * 2018-03-27 2021-12-28 Nokia Technologies Oy Method and apparatus for achieving a target transaction rate in a blockchain network
US10868876B2 (en) * 2018-08-10 2020-12-15 Cisco Technology, Inc. Authenticated service discovery using a secure ledger
CN109067791B (zh) * 2018-09-25 2020-05-12 阿里巴巴集团控股有限公司 网络中用户身份认证方法和装置
CN111104678B (zh) * 2018-10-25 2022-03-18 北京国盾量子信息技术有限公司 一种区块链共识方法及装置
US10425230B1 (en) * 2019-03-01 2019-09-24 Capital One Services, Llc Identity and electronic signature verification in blockchain
US10735205B1 (en) * 2019-03-08 2020-08-04 Ares Technologies, Inc. Methods and systems for implementing an anonymized attestation chain
US11496326B2 (en) * 2019-03-13 2022-11-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Physical unclonable function-based encryption schemes with combination of hashing methods
US11283633B2 (en) * 2019-03-13 2022-03-22 Arizona Board Of Regents On Behalf Of Northern Arizona University PUF-based key generation for cryptographic schemes
JP6650157B1 (ja) * 2019-05-08 2020-02-19 株式会社モールサービス 情報管理システム、情報管理方法及び情報管理プログラム
US11239414B2 (en) 2020-03-24 2022-02-01 International Business Machines Corporation Physical unclonable function for MRAM structures
WO2021241590A1 (ja) * 2020-05-26 2021-12-02 渡辺浩志 電子装置のネットワーク及び電子装置
AU2020480104A1 (en) * 2020-12-01 2023-05-04 Gve Ltd. Currency management system and electronic signature device
CN113312651A (zh) * 2021-06-24 2021-08-27 中国农业银行股份有限公司 交互认证方法、装置、设备及计算机可读存储介质

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203837B2 (en) * 2001-04-12 2007-04-10 Microsoft Corporation Methods and systems for unilateral authentication of messages
GB2385955A (en) * 2002-02-28 2003-09-03 Ibm Key certification using certificate chains
CN1319337C (zh) * 2003-07-02 2007-05-30 华为技术有限公司 基于以太网认证系统的认证方法
JP2006173673A (ja) * 2004-12-10 2006-06-29 Canon Inc 通信装置およびその制御方法
WO2007046037A1 (en) 2005-10-17 2007-04-26 Koninklijke Philips Electronics N.V. Integrated puf
JP4918717B2 (ja) * 2006-02-13 2012-04-18 セイコーインスツル株式会社 計測装置
JP2008219742A (ja) * 2007-03-07 2008-09-18 Sky Kk 添付ファイル暗号化方法及びこの方法を実施するメールサーバ
CN101442522B (zh) * 2008-12-25 2011-08-10 中国电子科技集团公司第五十四研究所 一种基于组合公钥的通信实体标识认证方法
JP5499358B2 (ja) 2010-03-24 2014-05-21 独立行政法人産業技術総合研究所 認証処理方法及び装置
CN101873216B (zh) * 2010-07-08 2012-09-05 布日古德 主机认证方法、数据包发送方法和接收方法
JP5474705B2 (ja) * 2010-08-23 2014-04-16 ルネサスエレクトロニクス株式会社 半導体装置
KR101139630B1 (ko) 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
JP5857726B2 (ja) 2011-12-20 2016-02-10 富士通株式会社 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
JP6354172B2 (ja) 2014-01-20 2018-07-11 富士通株式会社 半導体集積回路及び認証システム
US9830593B2 (en) * 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
US20150356523A1 (en) * 2014-06-07 2015-12-10 ChainID LLC Decentralized identity verification systems and methods
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
CN104243462A (zh) * 2014-09-05 2014-12-24 中国科学院计算机网络信息中心 一种用于发现服务的用户身份验证方法及系统
CN104320262B (zh) * 2014-11-05 2017-07-21 中国科学院合肥物质科学研究院 基于加密数字货币公开账本技术的用户公钥地址绑定、检索和校验的方法及系统
US9374373B1 (en) * 2015-02-03 2016-06-21 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Encryption techniques for improved sharing and distribution of encrypted content
WO2017026930A1 (en) * 2015-08-11 2017-02-16 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for privacy enhancement in networks
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN105701372B (zh) * 2015-12-18 2019-04-09 布比(北京)网络技术有限公司 一种区块链身份构建及验证方法
GB2562622A (en) * 2016-02-23 2018-11-21 Nchain Holdings Ltd Cryptographic method and system for secure extraction of data from a blockchain
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
EP3466137B1 (en) * 2016-05-25 2022-04-27 Nokia Technologies Oy Method, device and system for utilizing block chain to define trusted circle
CN105959307A (zh) * 2016-06-30 2016-09-21 中国科学院计算技术研究所 基于区块链技术的存在证明及认证服务方法及系统
US10785022B2 (en) * 2016-09-13 2020-09-22 Hiroshi Watanabe Network without abuse of a private key
US20180268386A1 (en) * 2016-09-13 2018-09-20 C. Jay Wack Identity Management Distributed Ledger and Blockchain
JP6684930B2 (ja) * 2016-09-18 2020-04-22 深▲セン▼前▲海▼▲達▼▲闥▼▲雲▼端智能科技有限公司Cloudminds (Shenzhen) Robotics Systems Co., Ltd. ブロックチェーンに基づくアイデンティティ認証方法、装置、ノード及びシステム
US11222324B2 (en) * 2016-10-10 2022-01-11 Paypal, Inc. Virtual currency secured physical currency transmission system
US10581841B2 (en) * 2017-02-13 2020-03-03 Zentel Japan Corporation Authenticated network
US10476682B2 (en) * 2017-03-01 2019-11-12 Cisco Technology, Inc. Transaction management in distributed ledger systems

Also Published As

Publication number Publication date
US20180270058A1 (en) 2018-09-20
WO2018168723A1 (ja) 2018-09-20
CN108632028A (zh) 2018-10-09
CN108632028B (zh) 2022-01-25
US10693636B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
CN108632028B (zh) 认证网络
JP6592621B2 (ja) 認証ネットワーク
CN107819583B (zh) 密钥的防滥用技术
Raikwar et al. SoK of used cryptography in blockchain
Shamsoshoara et al. A survey on physical unclonable function (PUF)-based security solutions for Internet of Things
US11797683B2 (en) Security chip with resistance to external monitoring attacks
Cecchetti et al. Solidus: Confidential distributed ledger transactions via PVORM
WO2018174112A1 (ja) ネットワーク上の装置認証技術
Zhao et al. ePUF: A lightweight double identity verification in IoT
CN107070896B (zh) 一种安全高效的区块链网络客户化登录方法及安全加固系统
CN109245894A (zh) 一种基于智能合约的分布式云存储系统
Khelifi et al. Enhancing protection techniques of e-banking security services using open source cryptographic algorithms
Tan et al. Challenges of post-quantum digital signing in real-world applications: A survey
Sathya et al. A comprehensive study of blockchain services: future of cryptography
US10706177B2 (en) Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
US20200304306A1 (en) Cryptographic System and Method
Alghamdi et al. The future of cryptocurrency blockchains in the quantum era
El-Hajj et al. Secure PUF: Physically unclonable function based on arbiter with enhanced resistance against machine learning (ML) attacks
Choudhary et al. Blockchain for IoT Security and Privacy: Challenges, Application Areas and Implementation Issues
Clupek et al. Robust mutual authentication and secure transmission of information on low-cost devices using physical unclonable functions and hash functions
Mayes et al. Information security best practices
Jain Enhancing security in Tokenization using NGE for storage as a service
Lao et al. RAP: RAnsomware Protection Scheme Based on Blockchain
Trinh Quantum-safe Bitcoin
Torres et al. Systems Security Affectation with the Implementation of Quantum Computing

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20201224