JP7317084B2 - トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 - Google Patents

トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 Download PDF

Info

Publication number
JP7317084B2
JP7317084B2 JP2021154187A JP2021154187A JP7317084B2 JP 7317084 B2 JP7317084 B2 JP 7317084B2 JP 2021154187 A JP2021154187 A JP 2021154187A JP 2021154187 A JP2021154187 A JP 2021154187A JP 7317084 B2 JP7317084 B2 JP 7317084B2
Authority
JP
Japan
Prior art keywords
verification
program
remote
key
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021154187A
Other languages
English (en)
Other versions
JP2022071827A (ja
Inventor
京奇 曹
相敏 黎
佳晨 丁
虹妍 王
博 ▲荊▼
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
Publication of JP2022071827A publication Critical patent/JP2022071827A/ja
Application granted granted Critical
Publication of JP7317084B2 publication Critical patent/JP7317084B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3247Cryptographic 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 digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、コンピュータ技術分野に関し、特に、ブロックチェーン技術に関し、クラウドコンピューティングまたはクラウドサービスに使用でき、具体的には、トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体に関する。
インターネット技術の発展および日々のオープン化に伴い、データプライバシーはますます重要となる。プライバシーデータ処理過程の安全性を向上させるために、通常、トラステッドコンピューティングに基づいて厳格に所定の処理論理に従ってプライバシーデータを処理し、プライバシーデータ自体およびコンピューティング論理が誰にも不正に読み取られたり破壊されたりする可能性がないようにする必要がある。
現段階のトラステッドコンピューティング技術は、通常、Intel SGX(Intel Software Guard Extensions、インテルソフトウェア保護拡張)技術に基づいて実現される。一方、Intel SGX技術の使用過程において、通常、トラステッド環境の真実性を検証する必要がある。
従来技術は、トラステッドコンピューティング環境の参加者プラットフォーム間でトラステッド環境を遠隔検証する時に、その認証過程が外部要因による影響を受け、汎用性が悪い。
本発明は、汎用性がより良好なトラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体を提供する。
本発明の一態様によれば、
検証元にて実行されるトラステッド環境の遠隔検証方法であって、
検証要求元の遠隔検証要求に応答し、検証元の検証プログラムによりターゲットエンクレーブをローカル検証することと、
検証プログラムの第1鍵を用いてローカル検証結果に署名し、前記検証要求元にフィードバックすることにより、前記検証要求元に、前記第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させることとを含む、
トラステッド環境の遠隔検証方法を提供する。
本発明の別の態様によれば、
検証要求元にて実行されるトラステッド環境の遠隔検証方法であって、
検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信することにより、前記検証元に、前記検証元の検証プログラムにより前記ターゲットエンクレーブをローカル検証し、前記検証プログラムの第1鍵を用いてローカル検証結果に署名するという動作を実行させることと、
前記第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定することとを含む、
トラステッド環境の遠隔検証方法を更に提供する。
本発明の別の態様によれば、
検証元に配置され、
検証要求元の遠隔検証要求に応答し、検証元の検証プログラムによりターゲットエンクレーブをローカル検証するためのローカル検証モジュールと、
検証プログラムの第1鍵を用いてローカル検証結果に署名し、前記検証要求元にフィードバックすることにより、前記検証要求元に、前記第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させるためのフィードバックモジュールとを備える、
トラステッド環境の遠隔検証装置を更に提供する。
本発明の別の態様によれば、
検証要求元に配置され、
検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信することにより、前記検証元に、前記検証元の検証プログラムにより前記ターゲットエンクレーブをローカル検証し、前記検証プログラムの第1鍵を用いてローカル検証結果に署名するという動作を実行させるための遠隔検証要求送信モジュールと、
前記第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定するための遠隔検証結果確定モジュールとを備える、
トラステッド環境の遠隔検証装置を更に提供する。
本発明の別の態様によれば、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信接続されたメモリとを備え、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
前記命令は、前記少なくとも1つのプロセッサが本発明の実施例に記載のいずれかのトラステッド環境の遠隔検証方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
電子機器を更に提供する。
本発明の別の態様によれば、
検証元と検証要求元とを含み、
前記検証要求元は、検証元のターゲットエンクレーブに基づいて前記検証元に遠隔検証要求を発信し、
前記検証元は、検証プログラムにより前記ターゲットエンクレーブをローカル検証し、前記検証プログラムの第1鍵を用いてローカル検証結果に署名し、
前記検証要求元は、前記第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定する、
トラステッド環境の遠隔検証システムを更に提供する。
本発明の別の態様によれば、
本発明の実施例に記載のいずれかのトラステッド環境の遠隔検証方法をコンピュータに実行させるためのコンピュータ命令が記憶されている、
非一時的なコンピュータ可読記憶媒体を更に提供する。
本発明の技術によれば、遠隔検証の汎用性を向上させる新たなトラステッド環境の遠隔検証方法を提供する。
本発明に記載された内容は、本発明の実施例のキーとなるまたは重要な特徴を標識するためのものではなく、本発明の範囲を限定するものでもないことが理解されるべきである。本発明の他の特徴は、以下の明細書により容易に理解することができる。
図面は本形態をより良く理解するためのものであり、本発明を限定するものではない。
従来技術のトラステッド環境の遠隔検証過程の模式図である。 本発明の実施例に係るトラステッド環境の遠隔検証方法のフローチャートである。 本発明の実施例に係る別のトラステッド環境の遠隔検証方法のフローチャートである。 本発明の実施例に係る別のトラステッド環境の遠隔検証方法のフローチャートである。 本発明の実施例に係る別のトラステッド環境の遠隔検証方法のフローチャートである。 本発明の実施例に係る別のトラステッド環境の遠隔検証方法のフローチャートである。 本発明の実施例に係るトラステッド環境の遠隔検証装置の構造図である。 本発明の実施例に係る別のトラステッド環境の遠隔検証装置の構造図である。 本発明の実施例のトラステッド環境の遠隔検証方法を実現するための電子機器のブロック図である。
以下、図面を参照しながら本発明の例示的な実施例について説明し、ここで、理解を容易にするために、本発明の実施例の様々な詳細を含み、それらが例示的なものに過ぎないと見なされるべきである。従い、当業者は、本発明の範囲および精神から逸脱することなく、ここで記載される実施例に対して様々な変更および修正を行うことができることを認識すべきである。それと同様に、明瞭かつ簡単にするために、以下の説明において公知の機能および構造についての説明を省略する。
トラステッドコンピューティングは、トラステッドコンピューティンググループ(トラステッドコンピューティングクラスタ)により推進されて開発できる技術である。トラステッドコンピューティングは、コンピューティングおよび通信システムにおいて、ハードウェアセキュリティモジュールのサポートに基づくトラステッドコンピューティングプラットフォームを広く使用することにより、システム全体の安全性を向上させる。トラステッドコンピューティングに基づき、厳格に所定の処理論理に従ってコンピューティングすることができ、保護されたプライバシーデータおよびコンピューティング論理が誰にも不正に読み取られたり破壊されたりすることができなくなり、データプライバシーを保護した前提でデータに対する融合コンピューティングを実現する。
現段階のトラステッドコンピューティング技術では、比較的成熟しているのが、CPU(Central Processing Unit、中央プロセッサ)ハードウェアに基づいて実現されるトラステッドコンピューティングであり、クラウドサービスまたはクラウドコンピューティング分野では、典型的なものが、Intel SGX技術(以下、SGX技術と略称される)を用いて汎用のトラステッドコンピューティングを実現することである。
SGX技術において、CPUの特定の命令によりenclave(エンクレーブ)と呼ばれるトラステッド環境を構成し、このようなトラステッド環境において、プログラムおよびデータは暗号化された形式で存在し、プログラムが所望の論理に従って実行され、且つメモリ内のデータのいずれの平文情報も取得できないことが確保できる。ここで、トラステッド環境は、トラステッド環境の真実性を判断するために、検証する必要がある。その検証には、ローカル検証および遠隔検証という2種類の形式がある。
ここで、ローカル検証は、トラステッドコンピューティングプラットフォームのうちの同じ参加者プラットフォーム(同じCPU)における異なるenclaveの間で、相手のトラステッド環境を互いに検証するために用いられる。該方式は、SGXに関連するCPU命令を呼び出すことにより、ターゲットenclaveが同じCPU下で実行されるenclaveであるか否かを検証するために用いられる。
ここで、遠隔検証は、トラステッドコンピューティングプラットフォームのうちの異なる参加者プラットフォームの間で、1つの参加者プラットフォームのプログラムで別の参加者プラットフォームにおけるターゲットenclaveのトラステッド環境の真実性を検証するために用いられる。
トラステッド環境の遠隔検証がトラステッドコンピューティングプラットフォームを建築する重要な技術であるため、本発明のトラステッド環境の遠隔検証は、従来技術の基に改良された。
本発明の技術案を明らかに説明するために、まず、従来技術におけるトラステッド環境の遠隔検証方法について例示的に説明する。
図1Aに示す従来技術のトラステッド環境の遠隔検証過程の模式図を参照し、トラステッドコンピューティングプラットフォームにおいて、検証要求元と、検証元と、Intel(インテル)検証サービスとが含まれる。具体的な遠隔検証過程は以下のとおりである。
S1において、検証要求元の開始プログラム(エンクレーブプログラムであってもよいし、非エンクレーブプログラムであってもよい)は、検証元におけるターゲットエンクレーブを遠隔検証する要求を発信する。
S2において、検証元における検証プログラムは、ターゲットエンクレーブの検証待ち情報に基づいて検証待ち情報の真実性を検証し、検証レポートを生成し、Intel SDK(Software Development Kit、ソフトウェア開発キット)を呼び出してCPU内から検証プログラムに対応する秘密鍵を取得し、秘密鍵を用いて検証結果に署名する。
S3において、署名された検証結果を開始プログラムにフィードバックする。
S4において、開始プログラムは、署名された検証結果をIntel検証サービスに送信し、署名検証を行う。
S5において、Intel検証サービスは、署名検証の結果を開始プログラムにフィードバックし、署名検証に成功すれば、検証結果を認め、そうでなければ、検証結果を認めない。
上記動作過程において、Intel SDKを呼び出す必要があるとともに、Intel検証サービスに依存して検証結果を確定する必要もあるため、従来技術の形態は、Intelを信頼した前提で実現される必要があり、外部ネットワークのアクセスがないプライベート環境および将来の予測不可能な国境を跨いだネットワーク環境で、上記遠隔検証形態は、常に外部環境の制約を受け、汎用性が悪い。
トラステッド環境の遠隔検証の汎用性を向上させるために、本発明は、新たなトラステッド環境の遠隔検証方法を提供し、該方法は、トラステッドコンピューティングプラットフォームにおける異なる参加者間のターゲットエンクレーブのトラステッド環境を遠隔検証する場合に適用される。本発明の実施例に係るトラステッド環境の遠隔検証方法は、トラステッド環境の遠隔検証装置により実行でき、該装置は、ソフトウェアおよび/またはハードウェアを用いて実現でき、具体的に電子機器に配置される。該電子機器は、ブロックチェーンノードが搭載されたコンピューティング機器であってもよい。
図1Bは、本発明の実施例に係るトラステッド環境の遠隔検証方法のフローチャートであり、該方法は、検証元にて実行され、以下のステップを含む。
S101において、検証要求元の遠隔検証要求に応答し、検証元の検証プログラムによりターゲットエンクレーブをローカル検証する。
ここで、検証要求元は、トラステッドコンピューティングプラットフォームに含まれる各参加者のうち、他の参加者におけるターゲットエンクレーブのトラステッド環境の真実性に対して検証要求を有する参加者と理解でき、検証元は、検証されるターゲットエンクレーブが属する参加者と理解できる。ここで、ターゲットエンクレーブは、検証元における検証待ちエンクレーブである。
ここで、検証プログラムは、検証元においてターゲットエンクレーブの真実性を検証するためのプログラムと理解できる。なお、検証元の検証プログラムが検証元におけるターゲットエンクレーブをローカル検証する必要があるため、検証元のトラステッドハードウェアから検証待ち情報を取得し、取得した検証待ち情報に基づいてターゲットエンクレーブの実在性を検証する必要がある。従い、検証プログラムはトラステッドハードウェアアクセス機能を持つ必要がある。検証元には、トラステッド環境で実行されるエンクレーブプログラムが含まれてもよいし、非トラステッド環境で実行される非エンクレーブプログラムが含まれてもよく、エンクレーブプログラムだけがトラステッドハードウェアアクセス機能を持つため、ここでの検証プログラムは、エンクレーブプログラムである必要がある。
なお、検証元におけるエンクレーブプログラムは、通常のトラフィックプログラムに対応することができるため、対応するトラフィック機能を実現するためにトラステッド環境で実行するために用いられる。プログラムの管理を容易にするとともに、プログラムの難読化がユーザに与える影響を回避するために、通常、検証プログラムはローカル検証機能だけを持ち、実際のトラフィック機能を持たない。
検証プログラムが実質的にエンクレーブプログラムであるため、検証プログラムの実行論理および実行過程におけるデータが読み取られたり破壊されたりすることができなくなり、ローカル検証結果の安全性が良く、信頼性が高いことが理解できる。
1つの好ましい実施例において、検証要求元は、検証元のターゲットエンクレーブの真実性を検証する遠隔検証要求がある場合、検証元に遠隔検証要求を発信し、検証元は、ローカル検証プログラムにより該遠隔検証要求に応答し、ターゲットエンクレーブをローカル検証する。
例示的には、検証要求元は、開始プログラムにより検証元に遠隔検証要求を発信することができ、検証元の受信プログラムは該遠隔検証要求を受信し、遠隔検証要求に応答するように検証プログラムに知らせる。
ここで、開始プログラムは、検証要求元におけるメインプログラムであってもよいし、トラフィック機能を実現するためのトラフィックプログラムであってもよいし、トラフィックプログラムとは別に遠隔検証要求の生成および開始の機能に専用のアプリケーションであってもよい。ここで、開始プログラムは、検証要求元におけるエンクレーブプログラムまたは非エンクレーブプログラムであってもよく、本発明の実施例はこれについていずれの限定もしない。
なお、遠隔検証要求は、ターゲットエンクレーブの測位を実現し、検証ミスまたは検証漏れの状況の発生を回避するように、検証元IDおよびターゲットエンクレーブIDを含む必要がある。また、本発明の実施例は、遠隔検証要求の生成方式、フォーマット要求および送信方式についていずれの限定もしない。
ここで、受信プログラムは、検証元におけるメインプログラムであってもよいし、トラフィック機能を実現するためのトラフィックプログラムであってもよいし、トラフィックプログラムとは別に遠隔検証要求の受信機能に専用のアプリケーションであってもよいし、検証プログラムそのものであってもよい。
S102において、検証プログラムの第1鍵を用いてローカル検証結果に署名し、検証要求元にフィードバックすることにより、検証要求元に、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させる。
ここで、検証プログラムの第1鍵および第1鍵に関連する第2鍵は、それぞれ公開鍵・秘密鍵ペアにおける秘密鍵および公開鍵である。同じトラステッドコンピューティングプラットフォームのデータの一貫性を確保するために、同一のトラステッドコンピューティングプラットフォームにおける検証プログラムは同じであってもよく、それに対応し、参加者における第1鍵および第2鍵も対応して同じである。異なるトラステッドコンピューティングプラットフォームの各参加者間に検証混乱が発生することを回避するために、通常、異なるトラステッドコンピューティングプラットフォームにおける検証プログラムを異なるように設定し、それに対応し、異なるトラステッドコンピューティングプラットフォームの参加者における第1鍵および第2鍵も対応して異なる。
好ましくは、検証プログラムによりローカルCPUまたは他の記憶領域から第1鍵を取得し、取得した第1鍵に基づいてローカル検証結果に署名し、検証要求元にフィードバックすることができる。なお、本発明の実施例は、第1鍵の具体的な記憶位置および取得方式についていずれの限定もしない。
しかし、第1鍵をローカルCPUまたは他の記憶領域中に記憶することは、一定の安全リスクが存在し、また、第1鍵の取得動作を実行する必要があり、ローカル検証結果への署名過程にデータ遅延をもたらす。上記状況の発生を回避するために、第1鍵を検証プログラムにハードコードしてもよく、それに対応し、第2鍵は平文形式で検証プログラムに関連し、これにより、検証元が検証要求元である場合、第2鍵の取得または使用が容易となる。
ここで、ハードコードは、データをプログラムまたは他の実行可能オブジェクトのソースコード内に直接埋め込むソフトウェア開発の実践であり、外部からデータを取得することまたは実行時にデータを生成することと異なる。ハードコードデータは、通常、ソースコードを編集して実行可能ファイルを再集約することだけで修正できるため、第1鍵を検証プログラムにハードコードすることにより、第1鍵の漏洩を回避することができる。
第1鍵のプライバシーに鑑み、トラステッドコンピューティングプラットフォームにおける単一の参加者が持っている第1鍵が暴力的に解読され、更に該トラステッドコンピューティングプラットフォームにおける他の参加者の遠隔検証状況の安全性に影響を及ぼすことを回避するために、検証プログラムは、基本プログラムの各プログラムコピーのうちの1つであってもよい。第1鍵は、プログラムコピーによって異なっている。典型的には、同一のトラステッドコンピューティングプラットフォームにおける異なる参加者が異なるプログラムコピーを使用し、トラステッドコンピューティングプラットフォームにおける第1鍵の全体的な漏洩を回避し、更に、遠隔検証の安全性を確保する。
即ち、基本プログラムを集約する時に、異なる第1鍵をそれぞれ生成し、各第1鍵をそれぞれ基本プログラムにハードコードし、対応するプログラムコピーを取得し、そのうちの1つのプログラムコピーを検証プログラムとして選択する。
1つの好ましい実施例において、トラステッドコンピューティングプラットフォームのうちの少なくとも1つの参加者により、検証プログラムを集約する時に第1鍵および第2鍵を生成することができる。しかし、参加者が鍵の生成に参加すると、鍵が漏洩し、更にトラステッドコンピューティングプラットフォーム全体でのエンクレーブ真実性に対する遠隔検証結果の精度に影響を及ぼす可能性がある。
検証プログラム自体の安全性の問題を解決し、更にトラステッドコンピューティングプラットフォーム全体でのエンクレーブ真実性に対する遠隔検証結果の精度を確保するために、別の好ましい実施例において、検証要求元および検証元の共同管理元により、検証プログラムを集約する時に第1鍵および第2鍵を生成することもでき、これにより、検証要求元および検証元等のプラットフォーム参加者を鍵の生成過程から剥離し、第1鍵の漏洩の発生を回避し、トラステッドコンピューティングプラットフォームでのエンクレーブ真実性に対する遠隔検証結果の精度のために基礎を定める。
ここで、共同管理元は、検証要求元および検証元に対していずれも監督または管理の権限を持つ機構に設けられたコンピューティング機器、または検証要求元および検証元がいずれもその権威性または信頼性を認める機構に設けられたコンピューティング機器と理解できる。好ましくは、共同管理元は、トラステッドコンピューティングプラットフォームにおける少なくとも1つの参加者であってもよい。あるいは、好ましくは、共同管理元は、トラステッドコンピューティングプラットフォーム以外の独立したプラットフォーム者である。
1つの具体的な実現形態において、検証要求元および検証元は、ある銀行の本店の下の異なる支店であってもよく、それに対応し、共同管理元は該銀行の本店である。別の具体的な実現形態において、共同管理元は政府機関であってもよい。
なお、1つのトラステッドコンピューティングプラットフォームにおいて、少なくとも1つの共同管理元が対応してあってもよい。共同管理元の数が多すぎて遠隔検証過程に混乱が発生することを回避するために、典型的には、1つのトラステッドコンピューティングプラットフォームに1つの共同管理元が対応して設けられている。
検証プログラムの記憶論理がリバースエンジニアリングによって暴力的に読み取られないことを確保し、更に、検証プログラムに第1鍵がハードコードされている場合、第1鍵の漏洩を回避するために、1つの好ましい実施例において、検証プログラムを作成および/または集約する時に、検証プログラムに対してコード難読化を行うことができる。
ここで、コード難読化(Obfuscated code)は、ジャンクコードとも呼ばれ、コンピュータプログラムのコードを、機能上で等価であるが、読みにくくて理解しにくい形式に変換する行為である。
例示的には、検証元は、検証プログラムの第1鍵を用いてローカル検証結果に署名し、署名されたローカル検証結果を検証要求元にフィードバックし、検証要求元は、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、ローカル検証結果に応じてターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、ローカル検証結果を拒否し、今回の遠隔検証に失敗したことを確定する。
本発明の実施例は、検証元の検証プログラムの第1鍵を用いてターゲットエンクレーブに対してローカル検証結果の署名を行い、検証要求元により第2鍵に基づいて署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定することにより、トラステッドコンピューティングプラットフォームの遠隔検証過程において、特定の遠隔検証サービスに依存する必要がなくても、トラステッドコンピューティングプラットフォームでの参加者間のトラステッド環境の遠隔検証を自主的に実現することができ、汎用性がより良好である。
上記各技術案の基に、図2を更に参照し、本発明の実施例は、別のトラステッド環境の遠隔検証方法のフローチャートを更に提供し、該方法は検証要求元にて実行され、以下のステップを含む。
S201において、検証元のターゲットエンクレーブに基づき、検証元に遠隔検証要求を発信することにより、検証元に、検証元の検証プログラムによりターゲットエンクレーブをローカル検証し、検証プログラムの第1鍵を用いてローカル検証結果に署名するという動作を実行させる。
ここで、検証要求元は、トラステッドコンピューティングプラットフォームに含まれる各参加者のうち、他の参加者におけるターゲットエンクレーブのトラステッド環境の真実性に対して検証要求を有する参加者と理解でき、検証元は、検証されるターゲットエンクレーブが属する参加者と理解できる。ここで、ターゲットエンクレーブは、検証元における検証待ちエンクレーブである。
ここで、検証プログラムは、検証元においてターゲットエンクレーブの真実性を検証するためのプログラムと理解できる。なお、検証元の検証プログラムが検証元におけるターゲットエンクレーブをローカル検証する必要があるため、検証元のトラステッドハードウェアから検証待ち情報を取得し、取得した検証待ち情報に基づいてターゲットエンクレーブの実在性を検証する必要がある。従い、検証プログラムはトラステッドハードウェアアクセス機能を持つ必要がある。検証元には、トラステッド環境で実行されるエンクレーブプログラムが含まれてもよいし、非トラステッド環境で実行される非エンクレーブプログラムが含まれてもよく、エンクレーブプログラムだけがトラステッドハードウェアアクセス機能を持つため、ここでの検証プログラムは、エンクレーブプログラムである必要がある。
なお、検証元におけるエンクレーブプログラムは、通常のトラフィックプログラムに対応することができるため、対応するトラフィック機能を実現するためにトラステッド環境で実行するために用いられる。プログラムの管理を容易にするとともに、プログラムの難読化がユーザに与える影響を回避するために、通常、検証プログラムはローカル検証機能だけを持ち、実際のトラフィック機能を持たない。
検証プログラムが実質的にエンクレーブプログラムであるため、検証プログラムの実行論理および実行過程におけるデータが読み取られたり破壊されたりすることができなくなり、ローカル検証結果の安全性が良く、信頼性が高いことが理解できる。
1つの好ましい実施例において、検証要求元は、検証元のターゲットエンクレーブの真実性を検証する遠隔検証要求がある場合、検証元に遠隔検証要求を発信し、検証元は、ローカル検証プログラムにより該遠隔検証要求に応答し、ターゲットエンクレーブをローカル検証する。検証元は、検証プログラムの第1鍵を用いてローカル検証結果に署名し、検証要求元が後続の検証処理を行うように署名されたローカル検証結果を検証要求元にフィードバックする。
例示的には、検証要求元は、開始プログラムにより検証元に遠隔検証要求を発信することができ、検証元の受信プログラムは該遠隔検証要求を受信し、遠隔検証要求に応答するように検証プログラムに知らせる。
ここで、開始プログラムは、検証要求元におけるメインプログラムであってもよいし、トラフィック機能を実現するためのトラフィックプログラムであってもよいし、トラフィックプログラムとは別に遠隔検証要求の生成および開始の機能に専用のアプリケーションであってもよい。ここで、開始プログラムは、検証要求元におけるエンクレーブプログラムまたは非エンクレーブプログラムであってもよく、本発明の実施例はこれについていずれの限定もしない。
なお、遠隔検証要求は、ターゲットエンクレーブの測位を実現し、検証ミスまたは検証漏れの状況の発生を回避するように、検証元IDおよびターゲットエンクレーブIDを含む必要がある。また、本発明の実施例は、遠隔検証要求の生成方式、フォーマット要求および送信方式についていずれの限定もしない。
ここで、受信プログラムは、検証元におけるメインプログラムであってもよいし、トラフィック機能を実現するためのトラフィックプログラムであってもよいし、トラフィックプログラムとは別に遠隔検証要求の受信機能に専用のアプリケーションであってもよいし、検証プログラムそのものであってもよい。
ここで、検証プログラムの第1鍵は、検証プログラムの公開鍵・秘密鍵ペアにおける秘密鍵であってもよく、ローカル検証結果に署名するために用いられる。その後に記載される第1鍵に関連する第2鍵は、検証プログラムの公開鍵・秘密鍵ペアにおける公開鍵であってもよく、署名されたローカル検証結果に対して署名検証を行うために用いられる。
同じトラステッドコンピューティングプラットフォームのデータの一貫性を確保するために、同一のトラステッドコンピューティングプラットフォームにおける検証プログラムは同じであってもよく、それに対応し、参加者における第1鍵および第2鍵も対応して同じである。異なるトラステッドコンピューティングプラットフォームの各参加者間に検証混乱が発生することを回避するために、通常、異なるトラステッドコンピューティングプラットフォームにおける検証プログラムを異なるように設定し、それに対応し、異なるトラステッドコンピューティングプラットフォームの参加者における第1鍵および第2鍵も対応して異なる。
ここで、第1鍵は、検証元のローカルCPUまたは他の記憶領域にあってもよく、それに対応し、検証元の検証プログラムはローカルCPUから第1鍵を取得し、第1鍵に基づいてローカル鍵に署名し、検証要求元にフィードバックする。なお、本発明の実施例は、第1鍵の具体的な記憶位置および取得方式についていずれの限定もしない。
しかし、第1鍵をローカルCPUまたは他の記憶領域中に記憶することは、一定の安全リスクが存在し、また、第1鍵の取得動作を実行する必要があり、ローカル検証結果への署名過程にデータ遅延をもたらす。上記状況の発生を回避するために、第1鍵を検証プログラムにハードコードしてもよく、それに対応し、第2鍵は平文形式で検証プログラムに関連し、これにより、検証元が検証要求元である場合、第2鍵の取得または使用が容易となる。
ここで、ハードコードは、データをプログラムまたは他の実行可能オブジェクトのソースコード内に直接埋め込むソフトウェア開発の実践であり、外部からデータを取得することまたは実行時にデータを生成することと異なる。ハードコードデータは、通常、ソースコードを編集して実行可能ファイルを再集約することだけで修正できるため、第1鍵を検証プログラムにハードコードすることにより、第1鍵の漏洩を回避することができる。
第1鍵のプライバシーに鑑み、トラステッドコンピューティングプラットフォームにおける単一の参加者が持っている第1鍵が暴力的に解読され、更に該トラステッドコンピューティングプラットフォームにおける他の参加者の遠隔検証状況の安全性に影響を及ぼすことを回避するために、検証プログラムは、基本プログラムの各プログラムコピーのうちの1つであってもよい。第1鍵は、プログラムコピーによって異なっている。典型的には、同一のトラステッドコンピューティングプラットフォームにおける異なる参加者が異なるプログラムコピーを使用し、トラステッドコンピューティングプラットフォームにおける第1鍵の全体的な漏洩を回避し、更に、遠隔検証の安全性を確保する。
即ち、基本プログラムを集約する時に、異なる第1鍵をそれぞれ生成し、各第1鍵をそれぞれ基本プログラムにハードコードし、対応するプログラムコピーを取得し、そのうちの1つのプログラムコピーを検証プログラムとして選択する。
1つの好ましい実施例において、トラステッドコンピューティングプラットフォームのうちの少なくとも1つの参加者により、検証プログラムを集約する時に第1鍵および第2鍵を生成することができる。しかし、参加者が鍵の生成に参加すると、鍵が漏洩し、更にトラステッドコンピューティングプラットフォーム全体でのエンクレーブ真実性に対する遠隔検証結果の精度に影響を及ぼす可能性がある。
検証プログラム自体の安全性の問題を解決し、更にトラステッドコンピューティングプラットフォーム全体でのエンクレーブ真実性に対する遠隔検証結果の精度を確保するために、別の好ましい実施例において、検証要求元および検証元の共同管理元により、検証プログラムを集約する時に第1鍵および第2鍵を生成することもでき、これにより、検証要求元および検証元等のプラットフォーム参加者を鍵の生成過程から剥離し、第1鍵の漏洩の発生を回避し、トラステッドコンピューティングプラットフォームでのエンクレーブ真実性に対する遠隔検証結果の精度のために基礎を定める。
検証プログラムの記憶論理がリバースエンジニアリングによって暴力的に読み取られないことを確保し、更に、検証プログラムに第1鍵がハードコードされている場合、第1鍵の漏洩を回避するために、1つの好ましい実施例において、検証プログラムを作成および/または集約する時に、検証プログラムに対してコード難読化を行うことができる。
ここで、コード難読化は、ジャンクコードとも呼ばれ、コンピュータプログラムのコードを、機能上で等価であるが、読みにくくて理解しにくい形式に変換する行為である。
ここで、共同管理元は、検証要求元および検証元に対していずれも監督または管理の権限を持つ機構に設けられたコンピューティング機器、または検証要求元および検証元がいずれもその権威性または信頼性を認める機構に設けられたコンピューティング機器と理解できる。好ましくは、共同管理元は、トラステッドコンピューティングプラットフォームにおける少なくとも1つの参加者であってもよい。あるいは、好ましくは、共同管理元は、トラステッドコンピューティングプラットフォーム以外の独立したプラットフォーム者である。
1つの具体的な実現形態において、検証要求元および検証元は、ある銀行の本店の下の異なる支店であってもよく、それに対応し、共同管理元は該銀行の本店である。別の具体的な実現形態において、共同管理元は政府機関であってもよい。
なお、1つのトラステッドコンピューティングプラットフォームにおいて、少なくとも1つの共同管理元が対応してあってもよい。共同管理元の数が多すぎて遠隔検証過程に混乱が発生することを回避するために、典型的には、1つのトラステッドコンピューティングプラットフォームに1つの共同管理元が対応して設けられている。
S202において、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定する。
検証要求元が検証元からフィードバックされた署名されたローカル検証結果を受信すると、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、ローカル検証結果に応じてターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、ローカル検証結果を拒否し、今回の検証に失敗したことを確定する。
具体的には、ローカル検証結果に応じてターゲットエンクレーブの遠隔検証結果を確定することは、以下のとおりであってもよい。ローカル検証結果そのものが、ターゲットエンクレーブが真に存在するトラステッド環境であるものである場合、ターゲットエンクレーブの遠隔検証結果が検証合格であることを確定し、ローカル検証結果そのものが、ターゲットエンクレーブが真に存在するトラステッド環境ではないものである場合、ターゲットエンクレーブの遠隔検証結果が検証不合格であることを確定する。
なお、同一のトラステッドコンピューティングプラットフォームにおける少なくとも2つの参加者の採用する検証プログラムコピーが異なる場合、少なくとも2つのプログラムコピーに対応する第2鍵を検証要求元に記憶することができる。それに対応し、検証要求元は、各第2鍵をトラバースして使用する方式により、署名されたローカル検証結果に対して署名の検証動作を行う。
好ましくは、署名検証の効率を向上させ、更に遠隔検証効率を向上させるために、検証要求元は、更に鍵IDに基づいて検証元が採用する検証プログラムに対応する第2鍵を取得し、取得した第2鍵に基づいて署名の検証動作を行うこともできる。
本発明の実施例は、検証元の検証プログラムの第1鍵を用いてターゲットエンクレーブに対してローカル検証結果の署名を行い、検証要求元により第2鍵に基づいて署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定することにより、トラステッドコンピューティングプラットフォームの遠隔検証過程において、特定の遠隔検証サービスに依存する必要がなくても、トラステッドコンピューティングプラットフォームでの参加者間のトラステッド環境の遠隔検証を自主的に実現することができ、汎用性がより良好である。
検証要求元が第2鍵を適切に管理しないことによるリスクを軽減するとともに、検証要求元の複雑度を低減するために、上記各技術案の基に、1つの好ましい実施例において、検証要求元における一部の検証動作を検証要求元および検証元の共同管理元に移行して実現することもできる。
図3に示す別のトラステッド環境の遠隔検証方法を参照し、検証要求元にて実行され、以下のステップを含む。
S301において、検証元のターゲットエンクレーブに基づき、検証元に遠隔検証要求を発信することにより、検証元に、検証元の検証プログラムによりターゲットエンクレーブをローカル検証し、検証プログラムの第1鍵を用いてローカル検証結果に署名するという動作を実行させる。
S302において、署名されたローカル検証結果を検証要求元および検証元の共同管理元に送信することにより、共同管理元に、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させる。
ここで、共同管理元は、検証要求元および検証元に対していずれも監督または管理の権限を持つ機構に設けられたコンピューティング機器、または検証要求元および検証元がいずれもその権威性または信頼性を認める機構に設けられたコンピューティング機器と理解できる。好ましくは、共同管理元は、トラステッドコンピューティングプラットフォームにおける少なくとも1つの参加者であってもよい。あるいは、好ましくは、共同管理元は、トラステッドコンピューティングプラットフォーム以外の独立したプラットフォーム者である。
1つの具体的な実現形態において、検証要求元および検証元は、ある銀行の本店の下の異なる支店であってもよく、それに対応し、共同管理元は該銀行の本店である。別の具体的な実現形態において、共同管理元は政府機関であってもよい。
なお、1つのトラステッドコンピューティングプラットフォームにおいて、少なくとも1つの共同管理元が対応してあってもよい。共同管理元の数が多すぎて遠隔検証過程に混乱が発生することを回避するために、典型的には、1つのトラステッドコンピューティングプラットフォームに1つの共同管理元が対応して設けられている。
例示的には、検証要求元が署名されたローカル検証結果を取得すると、署名されたローカル検証結果を検証要求元および検証元の共同管理元に直接送信し、共同管理元は、ローカル記憶された第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、ローカル検証結果を受け、ローカル検証結果を含む最終遠隔検証結果を生成し、署名検証に成功しなければ、ローカル検証結果を拒否し、検証失敗結果を含む最終遠隔検証結果を生成し、最終遠隔検証結果を検証要求元にフィードバックする。
S303において、共同管理元からフィードバックされた遠隔検証結果を確定する。
例示的には、検証要求元は、該最終遠隔検証結果を取得し、最終遠隔検証結果に応じ、ターゲットエンクレーブの実在性を確定する。
最終遠隔検証結果の有効性を確保するために、共同管理元は、最終遠隔検証結果を生成する時に、自体の秘密鍵に基づいて最終遠隔検証結果に署名し、署名された最終遠隔検証結果を検証要求元にフィードバックすることもできる。それに対応し、検証要求元は、ローカル記憶された共同管理元の公開鍵を用いて、共同管理元からフィードバックされた最終遠隔検証結果に対して署名検証を行い、署名検証の状況に基づいてターゲットエンクレーブの実在性を確定する。
検証要求元の動作の容易さを向上させるとともに、検証要求元のローカル動作のリスクを低減するために、共同管理元の鍵、即ち、共同管理元の公開鍵をローカルプログラムにハードコードしてもよい。ここで、ローカルプログラムは、検証要求元における開始プログラムであってもよい。それに対応し、検証要求元は、ローカルハードコードされた共同管理元の鍵に基づき、共同管理元からフィードバックされた最終遠隔検証結果に対して署名検証を行い、署名検証の状況に基づいてターゲットエンクレーブの実在性を確定する。
具体的には、署名検証の状況に基づいてターゲットエンクレーブの実在性を確定することは、署名検証に成功すれば、今回の遠隔検証に成功したことを確定し、該最終遠隔検証結果を認め、署名検証に成功しなければ、今回の遠隔検証に失敗したことを直接確定することであってもよい。
なお、トラステッドコンピューティングプラットフォームにおける検証要求元は、少なくとも2つのターゲットエンクレーブを検証する必要があり、少なくとも2つのターゲットエンクレーブが同じまたは異なる検証元に由来してもよく、または、トラステッドコンピューティングプラットフォームにおける少なくとも2つの検証要求元が同じまたは異なる少なくとも1つのターゲットエンクレーブを遠隔検証する必要がある場合、本発明の実施例により、遠隔検証結果に対する実際の検証動作を共同管理元に移行し、共同管理元で統一的に処理し、各遠隔検証結果を一括してフィードバックし、各検証要求元が第2鍵を適切に管理しないことによるリスクを軽減するとともに、各検証要求元の複雑度を低減する。
上記各技術案の基に、本発明は、トラステッド環境の遠隔検証方法の好ましい実施例を更に提供する。
図4Aに示すトラステッド環境の遠隔検証方法のフローチャートを参照し、該方法は以下のステップを含む。
S401において、検証要求元の開始プログラムは、検証元のターゲットエンクレーブの実在性を検証する必要がある場合、検証元の検証プログラムに遠隔検証要求を発信する。
S402において、検証プログラムは、トラステッドハードウェアからターゲットエンクレーブの検証待ち情報を取得し、検証待ち情報に基づいてターゲットエンクレーブをローカル検証し、ローカル検証結果を取得する。
S403において、検証プログラムは、自体でハードコードした秘密鍵を用いてローカル検証結果に署名し、署名されたローカル検証結果を検証要求元にフィードバックする。
S404Aにおいて、検証要求元は、検証プログラムの公開鍵をローカル取得し、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、今回の遠隔検証に成功したことを確定し、署名検証されたローカル検証結果をターゲットエンクレーブの遠隔検証結果とし、署名検証に成功しなければ、ローカル検証結果を拒否し、今回の検証に失敗したことを確定する。
ここで、検証プログラムはエンクレーブプログラムであり、検証元における各ターゲットエンクレーブをローカル検証するために用いられる。エンクレーブプログラムがトラステッド環境で実行されるため、検証プログラムの実行論理および実行過程におけるデータが読み取られたり破壊されたりすることができなくなり、検証の安全性を向上させる。
好ましくは、検証プログラムは、複数のプログラムコピーのうちの1つであってもよく、各プログラムコピーは、異なるランダムパラメータを用いて単独で集約して得られ、単一のプログラムコピーが暴力的に解読された後の影響範囲を低減する。ここで、各プログラムコピーには、署名用の1対の独立した公開鍵・秘密鍵ペアが含まれている。
好ましくは、検証過程の容易さを向上させるとともに、秘密鍵の記憶セキュリティを向上させるために、秘密鍵を検証プログラムにハードコードすることにより、プログラムを集約した後に該秘密鍵を取得するいずれの方法がないことを確保できる。ここで、公開鍵は公開され、署名検証に使用されるように、いつでも検証プログラムから読み取られる。
秘密鍵のプログラムにおける記憶論理がリバースエンジニアリングによって暴力的に読み取られないことを確保するために、検証プログラムは、コードの作成時および/またはコードの集約時に、コード難読化を行う。
検証プログラムそのものの安全性問題を解決し、秘密鍵の漏洩を回避するために、検証プログラムを集約する動作者は、検証元および検証要求元の共同管理元であってもよい。
上記各技術案の基に、別の好ましい実施例において、検証要求元が鍵を適切に管理しないことによるリスクを軽減するとともに、検証要求元の複雑度を低減するために、S404Aを共同管理元に移行して実行してもよい。
図4Bに示すトラステッド環境の遠隔検証方法のフローチャートを更に参照し、S404AをS404B~S406Bに置き換える。
S404Bにおいて、検証要求元は、署名されたローカル検証結果を共同管理元に送信する。
S405Bにおいて、共同管理元は、検証プログラムの公開鍵をローカル取得し、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、今回の遠隔検証に成功したことを確定し、署名が検証されたローカル検証結果をターゲットエンクレーブの遠隔検証結果とし、署名検証に成功しなければ、ローカル検証結果を拒否し、今回の検証に失敗したことを確定する。共同管理元の秘密鍵を用いて遠隔検証結果に署名した後、検証要求元の開始プログラムにフィードバックする。
S406Bにおいて、検証要求元の開始プログラムは、ローカルハードコードの共同管理元の公開鍵に基づき、共同管理元からフィードバックされた遠隔検証結果に対して署名検証を行い、署名検証に成功すれば、今回の遠隔検証に成功したことを確定し、今回の遠隔検証結果を受け、署名検証に失敗すれば、今回の遠隔検証に失敗したことを確定する。
上記各トラステッド環境の遠隔検証方法の実現として、本発明は、トラステッド環境の遠隔検証方法の仮想装置の1つの実施例を更に提供する。図5に示すトラステッド環境の遠隔検証装置の構造図を更に参照し、該装置500は、検証元に配置され、ローカル検証モジュール501とフィードバックモジュール502とを備える。
ローカル検証モジュール501は、検証要求元の遠隔検証要求に応答し、検証元の検証プログラムによりターゲットエンクレーブをローカル検証するために用いられる。
フィードバックモジュール502は、検証プログラムの第1鍵を用いてローカル検証結果に署名し、検証要求元にフィードバックすることにより、検証要求元に、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させるために用いられる。
本発明の実施例は、検証元の検証プログラムの第1鍵を用いてターゲットエンクレーブに対してローカル検証結果の署名を行い、検証要求元により第2鍵に基づいて署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定することにより、トラステッドコンピューティングプラットフォームの遠隔検証過程において、特定の遠隔検証サービスに依存する必要がなくても、トラステッドコンピューティングプラットフォームでの参加者間のトラステッド環境の遠隔検証を自主的に実現することができ、汎用性がより良好である。
更に、第1鍵が検証プログラムにハードコードされる。
更に、検証プログラムは基本プログラムの各プログラムコピーのうちの1つであり、第1鍵は、プログラムコピーによって異なっている。
更に、検証要求元および検証元の共同管理元により、検証プログラムを集約する時に第1鍵および第2鍵を生成する。
更に、検証プログラムを作成および/または集約するお時に、検証プログラムに対してコード難読化を行う。
上記トラステッド環境の遠隔検証装置は、本発明のいずれかの実施例に係るトラステッド環境の遠隔検証方法を実行することができ、トラステッド環境の遠隔検証方法の実行に対応する機能モジュールおよび有益な効果を備える。
上記各トラステッド環境の遠隔検証方法の実現として、本発明は、トラステッド環境の遠隔検証方法の仮想装置の別の実施例を更に提供する。図6に示すトラステッド環境の遠隔検証装置の構造図を更に参照し、該装置600は、検証要求元に配置され、遠隔検証要求送信モジュール601と遠隔検証結果確定モジュール602とを備える。
遠隔検証要求送信モジュール601は、検証元のターゲットエンクレーブに基づき、検証元に遠隔検証要求を発信することにより、検証元に、検証元の検証プログラムによりターゲットエンクレーブをローカル検証し、検証プログラムの第1鍵を用いてローカル検証結果に署名するという動作を実行させるために用いられる。
遠隔検証結果確定モジュール602は、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定するために用いられる。
本発明の実施例は、検証元の検証プログラムの第1鍵を用いてターゲットエンクレーブに対してローカル検証結果の署名を行い、検証要求元により第2鍵に基づいて署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定することにより、トラステッドコンピューティングプラットフォームの遠隔検証過程において、特定の遠隔検証サービスに依存する必要がなくても、トラステッドコンピューティングプラットフォームでの参加者間のトラステッド環境の遠隔検証を自主的に実現することができ、汎用性がより良好である。
更に、第1鍵が検証プログラムにハードコードされる。
更に、検証プログラムは基本プログラムの各プログラムコピーのうちの1つであり、第1鍵は、プログラムコピーによって異なっている。
更に、検証要求元および検証元の共同管理元により、検証プログラムを集約する時に第1鍵および第2鍵を生成する。
更に、検証プログラムを作成および/または集約する時に、検証プログラムに対してコード難読化を行う。
更に、遠隔検証結果確定モジュール602は、
署名されたローカル検証結果を検証要求元および検証元の共同管理元に送信することにより、共同管理元に、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定するという動作を実行させるための署名後結果送信ユニットと、
共同管理元からフィードバックされた遠隔検証結果を確定するための遠隔検証結果確定ユニットと、
を備える。
更に、ターゲットエンクレーブの遠隔検証結果が共同管理元の署名情報を含む場合、遠隔検証結果確定ユニットは、
ローカルハードコードされた共同管理元の鍵に基づいて遠隔検証結果に対して署名検証を行うための遠隔検証結果署名検証サブユニットを備える。
上記トラステッド環境の遠隔検証装置は、本発明のいずれかの実施例に係るトラステッド環境の遠隔検証方法を実行することができ、トラステッド環境の遠隔検証方法の実行に対応する機能モジュールおよび有益な効果を備える。
本発明の実施例によれば、本発明は、電子機器と可読記憶媒体とを更に提供する。
図7に示すように、本発明の実施例のトラステッド環境の遠隔検証方法を実現する電子機器のブロック図である。電子機器は、ラップトップ型コンピュータ、デスクトップ型コンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形式のデジタルコンピュータを表すことを目的とする。電子機器は、携帯端末、携帯電話、スマートフォン、ウェララブル機器および他の類似する計算装置のような様々な形式の移動装置を表すこともできる。本発明に示されたコンポーネント、それらの接続、関係、およびそれらの機能は例示的なものに過ぎず、本発明に記載および/または要求される本発明の実現を限定するものではない。ここで、電子機器は、ブロックチェーンノードを搭載しているコンピューティング機器であってもよい。
図7に示すように、該電子機器は、1つまたは複数のプロセッサ701と、メモリ702と、高速インタフェースおよび低速インタフェースを含む各コンポーネントを接続するためのインタフェースとを備える。各コンポーネントは、異なるバスで互に接続され、共通のマザーボードに取り付けられるかまたは必要に応じて他の方式で取り付けることができる。プロセッサは、電子機器内で実行される命令を処理することができ、メモリ内またはメモリ上に記憶されて外部の入力/出力装置(例えば、インタフェースにカップリングされた表示機器)にGUIのグラフィクス情報を表示するための命令を含む。他の実施形態において、必要がある場合、複数のプロセッサおよび/または複数本のバスと、複数のメモリとを共に使用することができる。それと同様に、複数の電子機器に接続することができ、各機器は、一部の必要な動作(例えば、サーバアレイ、ブレードサーバ群、またはマルチプロセッサシステムとする)を提供する。図7において、1つのプロセッサ701と例とする。
メモリ702は、本発明に係る非一時的なコンピュータ可読記憶媒体である。ここで、少なくとも1つのプロセッサに本発明に係るトラステッド環境の遠隔検証方法を実行させるために、メモリには少なくとも1つのプロセッサにより実行可能な命令が記憶されている。本発明の非一時的なコンピュータ可読記憶媒体はコンピュータ命令を記憶し、該コンピュータ命令は、コンピュータに本発明に係るトラステッド環境の遠隔検証方法を実行させるために用いられる。
メモリ702は、非一時的なコンピュータ可読記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能プログラムおよびモジュール、例えば、本発明の実施例におけるトラステッド環境の遠隔検証方法に対応するプログラム命令/モジュール(例えば、図5に示すローカル検証モジュール501、フィードバックモジュール502、および/または図6に示す遠隔検証要求送信モジュール601、遠隔検証結果確定モジュール602)を記憶するために使用できる。プロセッサ701は、メモリ702に記憶された非一時的なソフトウェアプログラム、命令およびモジュールを実行することにより、サーバの各機能アプリケーションおよびデータ処理を実行し、即ち、上記方法の実施例におけるトラステッド環境の遠隔検証方法を実現する。
メモリ702は、プログラム記憶エリアおよびデータ記憶エリアを備えてもよく、ここで、プログラム記憶エリアは、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶エリアは、トラステッド環境の遠隔検証方法を実現する電子機器の使用により作成されたデータ等を記憶することができる。また、メモリ702は、高速ランダムアクセスメモリを含んでもよく、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリ、または他の非一時的な固体記憶装置のような非一時的なメモリを更に含んでもよい。いくつかの実施例において、メモリ702は、プロセッサ701に対して遠隔に設けられたメモリを含むことが好ましく、これらの遠隔メモリは、ネットワークを介して電子地図の検索の電子機器に接続することができる。上記ネットワークの実例は、インターネット、イントラネット、ローカルエリアネットワーク、移動体通信ネットワークおよびその組み合わせを含んでもよいが、それらに限定されない。
トラステッド環境の遠隔検証方法を実現する電子機器は、入力装置703と、出力装置704とを更に備えてもよい。プロセッサ701、メモリ702、入力装置703および出力装置704は、バスまたは他の方式で接続することができ、図7において、バスを介して接続することを例とする。
入力装置703は、入力された数字または文字情報を受信し、トラステッド環境の遠隔検証方法を実現する電子機器のユーザ設定および機能制御に関連するキー信号入力を生成することができ、例えば、タッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、インジケータ、1つまたは複数のマウスボタン、トラックボール、ジョイスティック等の入力装置である。出力装置704は、表示機器、補助照明装置(例えば、LED)、および触覚フィードバック装置(例えば、振動モータ)等を含んでもよい。該表示機器は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、およびプラズマディスプレイを含んでもよいが、これらに限定されない。いくつかの実施形態において、表示機器はタッチパネルであってもよい。
ここで説明するシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向けASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実現できる。これらの各実施形態は以下を含んでもよい。1つまたは複数のコンピュータプログラムに実施され、該1つまたは複数のコンピュータプログラムは、少なくとも1つのプログラム可能プロセッサを含むプログラム可能システムで実行および/または解釈することができ、該プログラム可能プロセッサは、ストレージシステム、少なくとも1つの入力装置、および少なくとも1つの出力装置からデータおよび命令を受信し、且つデータおよび命令を、該ストレージシステム、該少なくとも1つの入力装置、および該少なくとも1つの出力装置に伝送することができる専用または汎用のプログラム可能プロセッサであってもよい。
これらの計算プログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラム可能プロセッサの機械命令を含み、且つ、高度なプロセスまたはオブジェクト指向プログラミング言語、またはアセンブリ/機械言語を用いてこれらの計算プログラムを実施することができる。本発明に使用されるように、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータをプログラム可能プロセッサに提供するための任意のコンピュータプログラム製品、機器、または装置(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理装置(PLD))を意味し、機械可読信号としての機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令またはデータをプログラム可能プロセッサに提供するための任意の信号を意味する。
ユーザとのインタラクションを提供するために、ここで説明するシステムおよび技術をコンピュータで実施することができ、該コンピュータは、ユーザに情報を表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザがそれにより入力をコンピュータに提供することができるキーボードおよび指向装置(例えば、マウスまたはトラックボール)とを有する。他の種類の装置は、更にユーザとのインタラクションを提供するために使用できる。例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、且つ、任意の形式(音入力、音声入力または、触覚入力を含む)でユーザからの入力を受信することができる。
ここで説明するシステムおよび技術を、バックグラウンドコンポーネントを含むコンピューティングシステム(例えば、データサーバとする)、または中間コンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、ユーザがそれによりここで説明するシステムおよび技術の実施形態とインタラクションできるグラフィカルユーザインタフェースまたはネットワークブラウザを有するユーザコンピュータ)、またはこのようなバックグラウンドコンポーネント、中間コンポーネント、またはフロントエンドコンポーネントの任意の組み合わせを含むコンピューティングシステムに実施することができる。任意の形式または媒体のデジタルデータ通信(例えば、通信ネットワーク)により、システムのコンポーネントを互に接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ブロックチェーンネットワーク、およびインターネットを含む。
本発明の実施例の技術案によれば、検証元の検証プログラムの第1鍵を用いてターゲットエンクレーブに対してローカル検証結果の署名を行い、検証要求元により第2鍵に基づいて署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定することにより、トラステッドコンピューティングプラットフォームの遠隔検証過程において、特定の遠隔検証サービスに依存する必要がなくても、トラステッドコンピューティングプラットフォームでの参加者間のトラステッド環境の遠隔検証を自主的に実現することができ、汎用性がより良好である。
上記各技術案の基に、本発明は、トラステッド環境の遠隔検証システムの1つの好ましい実施例を更に提供する。該実施例において、該システム検証元と検証要求元とを含む。
検証要求元は、検証元のターゲットエンクレーブに基づき、検証元に遠隔検証要求を発信する。
検証元は、検証程度によりターゲットエンクレーブをローカル検証し、検証プログラムの第1鍵を用いてローカル検証結果に署名する。
検証要求元は、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定する。
検証要求元が第2鍵を適切に管理しないことによるリスクを軽減するとともに、検証要求元の複雑度を低減するために、本発明は、トラステッド環境の遠隔検証システムを実現する別の好ましい実施例を更に提供する。該実施例において、該システムは、検証元および検証要求元の共同管理元を備え、検証要求元における一部の検証動作を共同管理元に移行するために用いられる。
例示的には、検証要求元は、検証元のターゲットエンクレーブに基づき、検証元に遠隔検証要求を発信する。
検証元は、検証程度によりターゲットエンクレーブをローカル検証し、検証プログラムの第1鍵を用いてローカル検証結果に署名する。
検証要求元は、署名されたローカル検証結果を共同管理元に送信する。
共同管理元は、第1鍵に関連する第2鍵に基づき、署名されたローカル検証結果に対して署名検証を行い、署名検証の結果に応じてターゲットエンクレーブの遠隔検証結果を確定する。
共同管理元は、自体の鍵を用いて遠隔検証結果に署名した後、検証要求元にフィードバックする。
検証要求元は、署名された遠隔検証結果に対して署名検証を行い、最終遠隔検証結果を取得する。
クラウドコンピューティング(cloud computing)は、ネットワークを介して柔軟で拡張可能な共有物理または仮想リソースプール(リソースは、サーバ、オペレーティングシステム、ネットワーク、ソフトウェア、アプリケーションおよび記憶装置等を含んでもよい)にアクセスし、オンデマンド、セルフサービスの方式でリソースを配置して関連付けることができる技術体系を指す。クラウドコンピューティング技術により、人工知能、ブロックチェーン等の技術応用、モデルトレーニングに効率的で強力なデータ処理能力を提供することができる。
コンピューティングシステムはクライアントおよびサーバを含んでもよい。クライアントとサーバとは、一般的に互いに離れ、且つ、通常、通信ネットワークを介してインタラクションを行う。対応するコンピュータで実行されて互いにクライアント-サーバ関係を持つコンピュータプログラムにより、クライアントとサーバとの関係を生成する。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービス体系における1つのホスト製品であり、従来の物理ホストおよびVPS(Virtual Private Server、仮想専用サーバ)サービスに存在する管理しにくく、トラフィックの拡張性が弱いという欠陥を解決するために使用される。
上記に示す様々な形式のフローを用い、ステップを並べ替え、追加または削除することができることを理解すべきである。例えば、本発明に記載された各ステップは、並列に実行されてもよいし、順に実行されてもよいし、異なる順序で実行されてもよく、本発明に開示された技術案の所望する結果を達成できる限り、本発明はここで限定しない。
上記具体的な実施形態は、本発明の保護範囲を限定するものではない。当業者は、設計要求および他の要因に基づき、様々な修正、組み合わせ、サブ組み合わせおよび代替が可能であることを理解すべできる。本発明の精神および原則内で行われる任意の修正、均等置換および改良等は、いずれも本発明の保護範囲内に含まれているべきである。

Claims (23)

  1. 検証要求元は、検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信することと、
    前記検証元は、前記遠隔検証要求に応答し、前記検証元の検証プログラムにより前記ターゲットエンクレーブをローカル検証し、前記検証プログラムの第1鍵を用いてローカル検証結果に署名し、署名されたローカル検証結果を前記検証要求元にフィードバックすることと、
    前記検証要求元は、前記第1鍵に関連する第2鍵に基づき、遠隔検証サービスに依存しない場合には、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、前記ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、前記ローカル検証結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、前記ローカル検証結果を拒否し、今回の遠隔検証に失敗したことを確定することとを含む、
    トラステッド環境の遠隔検証方法。
  2. 前記第1鍵が前記検証プログラムにハードコードされる、
    請求項1に記載の遠隔検証方法。
  3. 前記検証プログラムは、基本プログラムの各プログラムコピーのうちの1つであり、
    前記第1鍵は、プログラムコピーによって異なっている、
    請求項2に記載の遠隔検証方法。
  4. 前記検証要求元および前記検証元の共同管理元により、前記検証プログラムを集約する時に前記第1鍵および前記第2鍵を生成する、
    請求項2に記載の遠隔検証方法。
  5. 前記検証プログラムを作成および/または集約する時に、前記検証プログラムに対してコード難読化を行う、
    請求項1~4のいずれか1項に記載の遠隔検証方法。
  6. 検証要求元にて実行されるトラステッド環境の遠隔検証方法であって、
    検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信することと、
    前記検証元がフィードバックした、署名されたローカル検証結果を受信し、第1鍵に関連する第2鍵に基づき、遠隔検証サービスに依存しない場合には、前記署名されたローカル検証結果に対して署名検証を行い、前記第1鍵は前記検証元が検証プログラムにより前記ターゲットエンクレーブをローカル検証した後、前記ローカル検証結果に署名するために用いられる鍵であることと、
    署名検証に成功すれば、前記ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、前記ローカル検証結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、前記ローカル検証結果を拒否し、今回の遠隔検証に失敗したことを確定することとを含む、
    トラステッド環境の遠隔検証方法。
  7. 前記第1鍵が前記検証プログラムにハードコードされる、
    請求項6に記載の遠隔検証方法。
  8. 前記検証プログラムは、基本プログラムのプログラムコピーのうちの1つであり、
    前記第1鍵は、プログラムコピーによって異なっている、
    請求項7に記載の遠隔検証方法。
  9. 前記検証要求元および前記検証元の共同管理元により、前記検証プログラムを集約する時に前記第1鍵および前記第2鍵を生成する、
    請求項7に記載の遠隔検証方法。
  10. 前記検証プログラムを作成および/または集約する時に、前記検証プログラムに対してコード難読化を行う、
    請求項6~9のいずれか1項に記載の遠隔検証方法。
  11. 検証元と検証要求元とを含み、
    前記検証要求元は、前記検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信し、
    前記検証元は、前記遠隔検証要求に応答し、前記検証元の検証プログラムにより前記ターゲットエンクレーブをローカル検証し、前記検証プログラムの第1鍵を用いてローカル検証結果に署名し、署名されたローカル検証結果を前記検証要求元にフィードバックし、
    前記検証要求元は、前記第1鍵に関連する第2鍵に基づき、遠隔検証サービスに依存しない場合には、署名されたローカル検証結果に対して署名検証を行い、署名検証に成功すれば、前記ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、前記ローカル検証結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、前記ローカル検証結果を拒否し、今回の遠隔検証に失敗したことを確定する、
    トラステッド環境の遠隔検証システム。
  12. 前記第1鍵が前記検証プログラムにハードコードされる、
    請求項11に記載の遠隔検証システム。
  13. 前記検証プログラムは、基本プログラムの各プログラムコピーのうちの1つであり、
    前記第1鍵は、プログラムコピーによって異なっている、
    請求項12に記載の遠隔検証システム。
  14. 前記検証要求元および前記検証元の共同管理元により、前記検証プログラムを集約する時に前記第1鍵および前記第2鍵を生成する、
    請求項12に記載の遠隔検証システム。
  15. 前記検証プログラムを作成および/または集約する時に、前記検証プログラムに対してコード難読化を行う、
    請求項1114のいずれか1項に記載の遠隔検証システム。
  16. 検証要求元に配置され、
    検証元のターゲットエンクレーブに基づき、前記検証元に遠隔検証要求を発信するための遠隔検証要求送信モジュールと、
    前記検証元がフィードバックした、署名されたローカル検証結果を受信し、第1鍵に関連する第2鍵に基づき、遠隔検証サービスに依存しない場合には、署名されたローカル検証結果に対して署名検証を行い、前記第1鍵は前記検証元が検証プログラムにより前記ターゲットエンクレーブをローカル検証した後、前記ローカル検証結果に署名するために用いられる鍵であり、署名検証に成功すれば、前記ローカル検証結果を受け、今回の遠隔検証に成功したことを確定し、前記ローカル検証結果に応じて前記ターゲットエンクレーブの遠隔検証結果を確定し、署名検証に成功しなければ、前記ローカル検証結果を拒否し、今回の遠隔検証に失敗したことを確定するための遠隔検証結果確定モジュールとを備える、
    トラステッド環境の遠隔検証装置。
  17. 前記第1鍵が前記検証プログラムにハードコードされる、
    請求項16に記載の遠隔検証装置。
  18. 前記検証プログラムは、基本プログラムの各プログラムコピーのうちの1つであり、
    前記第1鍵は、プログラムコピーによって異なっている、
    請求項17に記載の遠隔検証装置。
  19. 前記検証要求元および前記検証元の共同管理元により、前記検証プログラムを集約する時に前記第1鍵および前記第2鍵を生成する、
    請求項17に記載の遠隔検証装置。
  20. 前記検証プログラムを作成および/または集約する時に、前記検証プログラムに対してコード難読化を行う、
    請求項1619のいずれか1項に記載の遠隔検証装置。
  21. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信接続されたメモリとを備え、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な命令が記憶され、
    前記命令は、前記少なくとも1つのプロセッサが請求項1~10のいずれか1項に記載のトラステッド環境の遠隔検証方法を実行可能であるように、前記少なくとも1つのプロセッサにより実行される、
    電子機器。
  22. 請求項1~10のいずれか1項に記載のトラステッド環境の遠隔検証方法をコンピュータに実行させるためのコンピュータ命令が記憶されている、
    非一時的なコンピュータ可読記憶媒体。
  23. 請求項1~10のいずれか1項に記載のトラステッド環境の遠隔検証方法をコンピュータに実行させるためのプログラム。
JP2021154187A 2020-10-28 2021-09-22 トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体 Active JP7317084B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011174379.XA CN112231652B (zh) 2020-10-28 2020-10-28 可信环境远程验证方法、装置、设备、系统及介质
CN202011174379.X 2020-10-28

Publications (2)

Publication Number Publication Date
JP2022071827A JP2022071827A (ja) 2022-05-16
JP7317084B2 true JP7317084B2 (ja) 2023-07-28

Family

ID=74110663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021154187A Active JP7317084B2 (ja) 2020-10-28 2021-09-22 トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体

Country Status (5)

Country Link
US (1) US20210409206A1 (ja)
EP (1) EP3901806A3 (ja)
JP (1) JP7317084B2 (ja)
KR (1) KR102532057B1 (ja)
CN (1) CN112231652B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220198064A1 (en) * 2020-12-22 2022-06-23 International Business Machines Corporation Provisioning secure/encrypted virtual machines in a cloud infrastructure
CN112699399B (zh) * 2021-03-22 2021-10-08 阿里云计算有限公司 加密数据库系统、实现加密数据库系统的方法以及装置
CN113591159B (zh) * 2021-07-30 2024-08-02 支付宝(杭州)信息技术有限公司 一种可信度量方法和可信计算节点
CN114282237B (zh) * 2021-12-21 2023-01-17 北京百度网讯科技有限公司 一种通信方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018519705A (ja) 2016-03-29 2018-07-19 ファーウェイ インターナショナル プライベート リミテッドHuawei International Pte. Ltd. 電子装置のインテグリティを検証するシステム及び方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
US7770000B2 (en) 2005-05-02 2010-08-03 International Business Machines Corporation Method and device for verifying the security of a computing platform
EP3193290A1 (en) * 2014-09-12 2017-07-19 Shenzhen Cifpay Network Bank Technology Co., Ltd. Logistics verification system and method
US11036870B2 (en) * 2016-08-22 2021-06-15 Mastercard International Incorporated Method and system for secure device based biometric authentication scheme
EP4155996A1 (en) * 2018-04-30 2023-03-29 Google LLC Enclave interactions
CN110858246B (zh) * 2018-08-24 2023-04-11 阿里巴巴集团控股有限公司 安全代码空间的认证方法和系统、及其注册方法
CN109150517B (zh) * 2018-09-04 2021-03-12 大唐高鸿信安(浙江)信息科技有限公司 基于sgx的密钥安全管理系统及方法
CN109361668B (zh) * 2018-10-18 2021-06-11 国网浙江省电力有限公司 一种数据可信传输方法
CN109510708B (zh) * 2018-10-24 2021-07-13 中国科学院信息工程研究所 一种基于Intel SGX机制的公钥密码计算方法和系统
CN111371726B (zh) * 2018-12-25 2022-06-14 阿里巴巴集团控股有限公司 安全代码空间的认证方法、装置、存储介质及处理器
US11025424B2 (en) * 2019-02-19 2021-06-01 Arris Enterprises Llc Entitlement management message epoch as an external trusted time source
ES2870823T3 (es) * 2019-04-19 2021-10-27 Advanced New Technologies Co Ltd Métodos y dispositivos para ejecutar aplicaciones confiables en un procesador que admite entornos de ejecución protegidos
WO2019137565A2 (en) * 2019-04-26 2019-07-18 Alibaba Group Holding Limited Distributed key management for trusted execution environments
CN110716724B (zh) * 2019-09-25 2021-01-08 支付宝(杭州)信息技术有限公司 基于fpga实现隐私区块链的方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018519705A (ja) 2016-03-29 2018-07-19 ファーウェイ インターナショナル プライベート リミテッドHuawei International Pte. Ltd. 電子装置のインテグリティを検証するシステム及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
町田 卓謙 ほか,Intel SGXに関する調査・分析および実機検証,2017年 暗号と情報セキュリティシンポジウム(SCIS2017),日本,2017年01月24日,p.1-8

Also Published As

Publication number Publication date
KR20210117996A (ko) 2021-09-29
EP3901806A3 (en) 2022-03-23
EP3901806A2 (en) 2021-10-27
CN112231652B (zh) 2022-02-22
JP2022071827A (ja) 2022-05-16
US20210409206A1 (en) 2021-12-30
KR102532057B1 (ko) 2023-05-15
CN112231652A (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
JP7317084B2 (ja) トラステッド環境の遠隔検証方法、装置、機器、システムおよび媒体
KR102377187B1 (ko) 블록체인의 프라이버시 데이터 처리방법, 장치, 디바이스 및 저장매체
EP3852338A1 (en) Method and apparatus for verifying digital identity, device and storage medium
JP7069286B2 (ja) プライバシーデータの処理方法、プライバシーデータの処理装置、機器及び媒体
CN111460429B (zh) 基于可信执行环境的任务处理方法、装置、设备和介质
KR20210049721A (ko) 블록체인에 기반한 데이터 처리 방법, 장치, 기기, 저장매체 및 프로그램
CN111310216B (zh) 区块链数据处理方法、装置、电子设备和介质
JP7096920B2 (ja) ブロックチェーンネットワークに基づくデータ共有方法、装置、機器及び媒体
US20210203475A1 (en) Blockchain-based data processing methods, devices, and media
CN111737366A (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
JP2020502657A (ja) 認証されたログインのための方法およびデバイス
KR102490490B1 (ko) 자기 디스크 암호화 보호 방법 및 장치
EP3855382B1 (en) Method, apparatus, medium and program for performing review based on blockchain
CN111339569B (zh) 区块链数据处理方法、装置、电子设备和介质
CN111400743B (zh) 基于区块链网络的事务处理方法、装置、电子设备和介质
EP3869374A2 (en) Method, apparatus and electronic device for processing user request and storage medium
JP2022109880A (ja) トランザクション要求の構築方法、処理方法、装置、機器および記憶媒体
KR20210110779A (ko) 미니프로그램 능력을 제공하는 방법, 장치, 전자 기기 및 저장 매체
CN116011590A (zh) 联邦学习方法、装置和系统
CN114363088B (zh) 用于请求数据的方法和装置
EP4149053B1 (en) Authorization processing method and apparatus, and storage medium
CN111858089B (zh) 以太坊节点的调用方法以及装置
CN111339571B (zh) 一种区块链密钥管理方法、装置、设备和存储介质
US20220029821A1 (en) Offloading signature generation for api calls, and applications thereof
KR20210040298A (ko) 블록체인 운영 방법, 장치, 기기, 저장매체 및 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230613

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230718

R150 Certificate of patent or registration of utility model

Ref document number: 7317084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150