CN111133434A - 用于受密码保护地运行虚拟机的设备和方法 - Google Patents
用于受密码保护地运行虚拟机的设备和方法 Download PDFInfo
- Publication number
- CN111133434A CN111133434A CN201880063078.4A CN201880063078A CN111133434A CN 111133434 A CN111133434 A CN 111133434A CN 201880063078 A CN201880063078 A CN 201880063078A CN 111133434 A CN111133434 A CN 111133434A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- link
- blockchain
- operating state
- data record
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 39
- 238000004590 computer program Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 30
- 230000015654 memory Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 3
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 2
- 101100258328 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) crc-2 gene Proteins 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 241000712062 Patricia Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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/53—Monitoring 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Finance (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明要求保护一种用于运行受密码保护的虚拟机的设备、尤其是适合于区块链(510)的运行环境的用于运行受密码保护的虚拟机的设备,该设备具有:‑如下装置,该装置用于提供区块链的至少一个第一环节(511),该至少一个第一环节包括至少一个交易数据记录(410),该至少一个交易数据记录描述了该虚拟机的至少一个第一运行状态而且具有至少一个用于在该区块链中形成第二环节(512、513)的命令,其中该第二环节的至少一个交易数据记录描述了该虚拟机的相对于该第一运行状态(T)被改变的第二运行状态(T'、T"λ);‑如下装置,该装置用于提供检查功能,该检查功能在该虚拟机的第二运行状态是否容许方面检查通过该至少一个交易数据记录所限定的、待实施的交易;和‑如下装置,该装置用于根据所检查到的是否容许来实施该交易。
Description
技术领域
本发明涉及一种用于运行受密码保护的虚拟机的设备和方法以及一种所属的计算机程序(产品)。
背景技术
硬件和软件组件可能有功能失效或者被蓄意篡改。在此,即使所使用的平台可能并不值得信赖,关键功能也应该可靠地被实施。
计算机系统通常可以被描述为执行转变的机或机器。在此,转变可以被理解为通过实施指令或指令序列而引起的存储器和寄存器的状态变换。实施命令或指令序列(也被称作程序代码)导致转变的序列。示例是图灵机、寄存器机或机器可编程CPU。这种计算机不仅仅可以以硬件来实现,而且这种计算机可以以软件来实现(仿真)。虚拟机尤其可以通过解释程序来实现,该解释程序实施这些命令(程序代码)。这例如被Java虚拟机或微软通用语言运行平台(Microsoft Common Language Runtime)虚拟机所公知。
在安全(Safety)(功能安全性)的领域,公知“编码处理(Coded Processing)”,该“编码处理”在Martin Süßkraut、Jörg Kaienburg的Safety-Critical Smart Systemswith Software Coded Processing, Conference on Smart Systems Integration(智能系统集成会议),哥本哈根,2015年中被提出(参见https://www.researchgate.net/publication/273351261_Safety-Critical_Smart_Systems_with_Software_Coded_Processing)。
在此,在硬件平台上利用不一样地编码的数据重复地执行计算。由此,可以在单个的计算机系统上实现安全关键的系统,其中例如公开了硬件的缺陷。因此,避免了多通道计算机的硬件实现花费。然而,“编码处理”所公知的方法只防止偶然错误,没有防止蓄意篡改。
为了识别出瞬时错误,代码复制是可能的,其中代码多次被实施。
发明内容
本发明的任务是提供如下方法和设备,所述方法和设备提供关于已知的方法的替选方案或改进方案。
该任务通过在独立权利要求中说明的特征来解决。在从属权利要求中示出了本发明的有利的扩展方案。
本发明要求保护一种用于运行受密码保护的虚拟机的设备、尤其是适合于区块链的运行环境的用于运行受密码保护的虚拟机的设备,该设备具有:
- 如下装置,该装置用于提供区块链的至少一个第一环节,该至少一个第一环节包括至少一个交易数据记录,该至少一个交易数据记录描述了该虚拟机的至少一个第一运行状态而且具有至少一个用于在该区块链中形成第二环节的命令,其中该第二环节的至少一个交易数据记录描述了该虚拟机的相对于该第一运行状态被改变的第二运行状态;
- 如下装置,该装置用于提供检查功能,该检查功能在该虚拟机的第二运行状态是否容许方面检查通过该至少一个交易数据记录所限定的、待实施的交易;和
- 如下装置,该装置用于根据所检查到的是否容许来实施该交易。
该检查功能尤其可以是针对虚拟机的程序代码的解释功能。该检查功能(也就是说用于VM的解释程序代码、也就是说解释功能)可以被设置到区块链平台中或者替选地专门被设置到第一区块链交易中,该第一区块链交易限定了虚拟机的初始状态(也就是说将虚拟机实例化)。
该检查功能可以集成在区块链中的第一环节中,尤其是集成在第一交易数据记录中。这意味着:第一交易数据记录除了虚拟机的第一运行状态之外也具有用于实施虚拟机的程序代码的检查功能或解释功能、也就是说至少一个用于在区块链中形成第二环节的命令。区块链的该第一环节可以是区块链的任意一个区块环节。该第一环节尤其可以是创世区块环节或者可以是后续的(区块)环节之一。
然而,该检查功能/解释功能也可以布置在用于实施交易的运行环境下的区块链之外。该检查功能通常执行完整性检查。在信息安全性方面,完整性意味着:正确性、完整性以及数据未被篡改。根据此,虚拟机的运行状态可以是容许的或有效的。该检查功能还可以承担解释程序的任务,该解释程序解释和/或实施用于运行虚拟机的指令。随着交易的实施,引起了虚拟机从第一运行状态到第二运行状态的运行状态变换。
该检查功能可以通过区块链的所谓的智能合约(Smart Contract)来表示。这是实现受密码保护的虚拟机的多种途径之一。
运行状态变化可以涉及机器内部的状态或者布置在机器之外的传感器、执行器和/或用于仪器或设施的控制装置的状态。
本发明的另一方面是一种用于区块链的环节的交易数据记录,该环节可以是第一环节,该交易数据记录描述了虚拟机的至少一个第一运行状态,该交易数据记录具有:
- 至少一个用于在该区块链中形成至少一个其它(第二)环节的命令,其中该其它环节的交易数据记录描述了虚拟机的相对于第一运行状态被改变的第二运行状态;和
- 检查功能,该检查功能在该虚拟机的第二运行状态是否容许方面检查通过该交易数据记录所限定的、待实施的交易。
交易数据记录能借助于运行环境作为交易来实施。
区块链(英文Blockchains或Block Chains)或“分布式账本(DistributedLedgers)”技术当前是集中讨论的技术。
区块链或Blockchain通常被理解为数据库,该数据库的完整性(保护免受后续篡改)通过将前一个数据记录或区块或环节的单向函数值(也被称作哈希值)存储在相应下一个数据记录或区块或环节中、即通过密码链接来保护。通过区块链网络中的大多数可信节点来形成保护,所述大多数可信节点执行对区块的所谓的挖掘或确证。在参与区块链的节点的网络中,每隔一定时间、例如每10分钟就形成新的区块并且在此一并寄存现有的区块的哈希值。在链中出现一次的交易不再能够未经察觉地被改变。在该挖掘过程中,检查要寄存在区块中的交易的有效性。除了作为“工作量证明(Proof of Work)”的挖掘过程之外,也公知替选方案,尤其是:“权益证明(Proof of Stake)”,其中通过伪随机地、但确定性地选择的区块链节点来确认区块;或者受访问控制的区块链(permissioned Blockchain(许可区块链))。
公知的区块链系统是比特币(Bitcoin)和以太坊(Ethereum)。比特币最初是被创造用来进行加密货币转移的,而以太坊建立在所谓的智能合约(Smart Contract)的集成的基础上。在智能合约中约定的条件受区块链保护,而合约本身通过网络来办理。合同条件的实现通过附属的所执行的交易来控制:在被编程的智能合约中规定的后续行动可以根据所进行的交易来执行。其它区块链实现方案、例如超级账本(Hyperledger)都是可能的。
受区块链包括的交易数据记录通常包括程序代码。术语“智能合约”被理解为如下程序代码,在创建时间点可以在该程序代码中限定条件而且可以在该程序代码运行时对其进行分析,使得能够或不能以某个(金额)数值向一个确定的或多个确定的接收方进行某些交易。
可以借助于交易记录来实施交易。交易被理解为虚拟或真实商品或付款或其它信息从发送方到接收方的相互转移。在比特币的情况下,使用相对简单的基于堆栈的运行环境。在此,交易包括校验和,用于检查该交易的有效性。区块链平台以太坊支持可自由编程的运行环境,使得区块链的程序代码可以灵活地被实现。在此,例如业务逻辑作为程序代码被寄存在交易数据记录中并且借此被寄存在区块链中。这样看来,待实施的交易寄存在区块链的(链)环节中。因此,在该上下文中,在待实施的交易与被设计用于实施该交易的交易数据记录之间几乎不可能有区别。区块链平台超级账本也支持可自由编程的用于实施智能合约的运行环境。
按照本发明,可以使用区块链平台,以便防篡改地实现虚拟机,该虚拟机可以被设计为状态机、图灵机、堆栈机或寄存器机。任意的常规程序都可以通过基于区块链的虚拟机来受密码保护地或防篡改地予以实施。虚拟机通过区块链来实现。在此,虚拟机的状态通过区块链的交易来产生。区块链的智能合约指定了有效的后续状态是什么。该状态同样作为在区块链中的交易被记录在下一个区块中。在此,区块链的智能合约实现了虚拟机的解释程序。该解释程序说明了哪些状态变换(虚拟机的交易)是容许的。由此,可以在区块链平台中实现不同的虚拟机。这样,可作为硬件来支配的处理器(CPU)、诸如6502、Z80、ARM CortexM0、TMS320例如也可以通过区块链平台的智能合约被实现为虚拟机。由此,被设置用于在CPU上实施的程序代码可以在基于区块链的虚拟机中防篡改地被实施。同样,虚拟机、诸如Java虚拟机(JVM)或微软通用语言运行平台(CLR)虚拟机可以在基于区块链的虚拟机中防篡改地被实施。由此,被设置用于在已知的虚拟机上实施的程序代码可以在基于区块链的虚拟机中防篡改地被实施。
因此,通过区块链或Blockchain的逻辑,保证了虚拟机正确地被实施。区块链可以简单地通过多个不同的节点(不同的硬件、不同的操作系统)来实现。状态变换的序列对于外部人员来说是透明的并且借此能被检查,因为区块链交易的序列能再现。由此,可以实现极其可靠的计算机系统,而不必使用特殊的计算机架构或编码处理。
此外,该实施的完整性不仅受保护以防偶然错误,而且通过基于区块链的实施方案而受保护以防有针对性的篡改。此外,区块链平台可以在不同的硬件平台上被实施,使得防止硬件平台的硬件木马的利用或者至少使硬件平台的硬件木马的利用变得困难。
本发明的另一方面是一种用于受密码保护地运行虚拟机的方法,该方法具有如下步骤:
- 提供区块链的至少一个第一环节,该至少一个第一环节包括至少一个交易数据记录,该至少一个交易数据记录描述了该虚拟机的至少一个第一运行状态而且具有至少一个用于在该区块链中形成第二环节的命令,其中该第二环节的至少一个交易数据记录描述了该虚拟机的相对于该第一运行状态被改变的第二运行状态;
- 提供检查功能,该检查功能在该虚拟机的第二运行状态是否容许方面检查通过该至少一个交易数据记录所限定的、待实施的交易;而且
- 根据所检查到的是否容许,借助于适合于该区块链的运行环境的设备、尤其是上文提到的类型的设备来实施该交易。
该方法能重复。可以形成或生成开始于初始环节的多个环节,其中每个环节本身都可以相对应地包含上文提到的类型的检查功能或者该检查功能的子功能。这意味着:区块链具有如下交易的序列,这些交易分别具有虚拟机的一个运行状态。在此,虚拟机包括多个命令。根据虚拟机的命令来确定或检查后续运行状态。在此,对于每个命令来说都可以分别形成具有虚拟机的后续运行状态的环节。也可以将多个命令组合在一起,以便形成具有虚拟机的后续运行状态的环节。还可能的是:虚拟机具有终止命令,该终止命令结束该虚拟机的实施。该方法可以根据上文提到的设备的扩展方案和实施方式来扩展。
优选地,该方法计算机辅助地来执行。
只要在随后的描述中不另作说明,术语“执行”、“计算”、“计算机辅助”、“算出”、“确定”、“生成”、“配置”、“重建”以及诸如此类的术语就优选地涉及如下操作和/或过程和/或处理步骤,这些操作和/或过程和/或处理步骤改变和/或生成数据和/或将这些数据转变成其它数据,其中这些数据尤其可以作为物理量来呈现或存在,例如作为电脉冲存在。尤其是,表述“计算机”应该尽可能宽泛地来解释,以便尤其是覆盖具有数据处理特性的所有电子设备。因此,计算机例如可以是个人计算机、服务器、存储可编程控制器(SPS)、手提式计算机系统、口袋PC(Pocket-PC)设备、移动无线电设备以及其它可计算机辅助地处理数据的通信设备、处理器和其它用于数据处理的电子设备。
结合本发明,“计算机辅助”例如可以被理解为对该方法的实现,其中尤其是处理器实施该方法的至少一个方法步骤。
结合本发明,处理器例如可以被理解为机器或电子电路。处理器尤其可以是中央处理器(英文Central Processing Unit,CPU)、微处理器或微控制器,例如专用集成电路或数字信号处理器,它们可能与用于存储程序指令的存储单元相结合,等等。处理器例如也可以是IC(集成电路,英文Integrated Circuit),尤其是FPGA(英文Field ProgrammableGate Array(现场可编程门阵列))或者ASIC(专用集成电路,英文Application-SpecificIntegrated Circuit)或者DSP(数字信号处理器,英文Digital Signal Processor)或者图形处理器GPU(Graphic Processing Unit)。处理器也可以被理解为虚拟处理器、虚拟机或者软(Soft)CPU。例如,也可涉及可编程处理器,该可编程处理器配备有用于实施所提到的按照本发明的方法的配置步骤,或者该可编程处理器利用配置步骤被配置为使得该可编程处理器实现了本发明的方法、组件、模块、装置或者其它方面和/或子方面的按照本发明的特征。
结合本发明,“存储单元”例如可以被理解为以工作存储器为形式的存储器(英文Random-Access Memory,RAM(随机访问存储器))或者硬盘。
结合本发明,装置例如可以被理解为处理器和/或用于存储程序指令的存储单元。例如,处理器专门设立为实施程序指令,以便该处理器实施功能,从而实现按照本发明的方法或者按照本发明的方法的步骤。
结合本发明,“提供”例如可以被理解为在数据载体或平台上或者由数据载体或平台来创建、加载或存储交易数据记录。
本发明的一个实施方式是包括一个或多个交易数据记录的区块链的区块或环节。一个区块链由多个区块组成。
结合本发明,“环节”可以被理解为尤其是实现为数据结构的区块链的区块。
结合本发明,“区块链的第一环节的之前的环节”例如可以被理解为只是区块链的尤其是紧挨着地在第一环节之前的环节。替选地,“区块链的第一环节的之前的环节”尤其也可以被理解为区块链的在第一环节之前的所有环节。
结合本发明,“交易数据记录”例如也可以被理解为区块链(英文Blockchain)的交易的数据。交易数据记录例如可以包括程序代码,该程序代码例如可以是智能合约。
还要求保护用于上文提到的类型的设备的具有程序指令的计算机程序(产品),该计算机程序(产品)借助于这些程序指令来配置,这些程序指令适合于尤其是根据上文提到的方法来运行虚拟机而且形成区块链的至少一个环节,该至少一个环节描述了该虚拟机的运行状态,而且这些程序指令实施该虚拟机的所容许的运行状态变化。
该计算机程序(产品)可形成上文提到的类型的运行环境。
附加地,要求保护具有用于配置建造设备的程序指令的计算机程序产品的变型方案,例如3D打印机、计算机系统或者适合于建造处理器和/或设备的制造机器,其中……。
这些应用、设备和计算机程序(产品)可以根据上面提到的方法及其扩展方案/实施方式来构造。
还可能的是一种用于存储和/或提供计算机程序产品的提供装置。提供装置例如是数据载体,所述数据载体存储和/或提供该计算机程序产品。替选地和/或附加地,提供装置例如是网络服务、计算机系统、服务器系统、尤其是分布式计算机系统、基于云的计算机系统和/或虚拟计算机系统,所述虚拟计算机系统优选地以数据流的形式存储和/或提供该计算机程序产品。
例如作为以程序数据块和/或指令数据块的形式的下载、优选地作为文件、尤其是作为下载文件,或者作为完整的计算机程序产品的数据流、尤其是作为下载数据流来实现所述提供。但是,所述提供例如也可以作为部分下载来实现,所述部分下载由多个部分组成而且尤其是通过对等(Peer-to-Peer)网络来下载或者作为数据流来提供。这种计算机程序产品例如在使用以数据载体的形式的提供装置的情况下被读入到系统中并且实施程序指令,使得按照本发明的方法在计算机上实施,或者将建造设备配置为使得建造该按照本发明的设备和/或环节和/或区块链。
附图说明
本发明的上面描述的特性、特征和优点以及如何实现这些的方式和方法能结合对实施例的下面的描述更清楚并且更明显地被理解,所述实施例结合附图进一步予以阐述。在此以示意图:
图1示出了本发明的一个实施例作为区块链;
图2示出了区块链的环节的交易数据记录的一个实施例;
图3示出了可以如何设计虚拟机的实施例。
在所述附图中,只要不另作说明,功能相同的要素就配备有相同的附图标记。
具体实施方式
图1详细地示出了区块链510的环节,例如第一环节511、第二环节512和第三环节513。
这些环节分别包括多个交易T。附加地,这些环节还分别包括密码哈希值CRC1、CRC2、CRC3,该密码哈希值根据前辈环节来形成。因此,第一环节511包括其前辈环节的第一哈希值CRC1,第二环节512包括第一环节511的哈希值CRC2,而第三环节513包括第二环节512的第三哈希值CRC3。哈希值尤其可以是密码哈希值,该密码哈希值例如能借助于SHA2-256、SHA2-384、SHA-3、BLAKE2来确定。
图2示出了一个实施例作为区块链。
借助于交易数据记录410可以实施交易T。这些环节可以分别关于它们的交易T包括哈希(函数)值,该哈希(函数)值根据交易数据记录来形成。通常,使用哈希树、例如梅克尔树或者帕特里夏树,该哈希树的根哈希值被寄存在区块或环节中。
区块还可以具有时间戳、数字签名、工作量证明。在该上下文中,“工作量证明”例如可以被理解为对计算密集型任务的解决,该计算密集型任务尤其应根据环节内容/交易数据记录的内容来解决。这种计算密集型任务例如也被称作密码难题。
在此,程序代码460例如是智能合约。交易数据记录410还可包括其它数据,诸如事由420(例如西门子公司SiemensABC)、公钥430(3A76E21876EFA03787FD629A65E9E990...)、公钥430的所使用的算法440(例如ECC)和关于该算法的参数说明450(例如曲线:brainpoolP160r1)。
交易数据记录410包含用于智能合约460的哈希值(例如SHA256)。借此,智能合约事后不再能够未经察觉地被改变。
图3示出了可能的虚拟机的实施方式,这些虚拟机通过交易T、T'和T"来表达。在此,对于虚拟机来说存在不同的寄存器状态、存储器状态和/或堆栈(Stack)状态,这些寄存器状态、存储器状态和/或堆栈状态在图3中示例性地用寄存器Flags(RegisterFlags)、寄存器A(RegisterA)、寄存器B(RegisterB)和/或存储器(Memory)、PLC程序(PLC-Programm)等等来表示。T、T'、Τ"表示不同的状态,例如开始于T中的初始状态、T'中的第二状态和T"中的最终状态。这些不同的状态通过对上文提到的类型410的一个或多个交易数据记录的解释和/或实施来实现。在此,虚拟机的命令(程序代码)通过智能合约来实施,其中该智能合约又在区块链运行环境下被实施。
对于区块链510来说,存在在这些附图中未明确示出的区块链运行环境,在该区块链运行环境下,借助于一个计算机以及借助于多个计算机(例如对于每个环节511、512或513来说都有一个计算机)来解释或实施交易T并且解释或实施实现了虚拟机的智能合约。在该附图中未明确示出用于对通过智能合约来实现的虚拟机(虚拟机解释程序智能合约(virtual machine Interpreter smart contract))的检查或解释功能的完整性检查功能,该虚拟机用于解释/实施关于该虚拟机的当前状态方面的交易和该虚拟机的一个或多个命令(程序代码)。该完整性检查功能可以集成到交易数据记录410中或者布置在该交易数据记录之外。对于集成方案来说,所提到的完整性检查功能或解释功能可以构造为智能合约460。
以这种方式,可以在区块链中形成虚拟机,该虚拟机可以以寄存器机、堆栈机或状态机的形式来实现。
在此,虚拟机的状态是区块链的交易、例如T。通过区块链的智能合约460来指定所容许的或有效的下一个状态是什么。该状态同样作为在区块链中的交易、例如T'被记录在下一个环节中。
区块链的一个环节确认多个交易。按照本发明,除了一般的交易(未示出)之外,还包含如下交易,所述交易包含虚拟机的状态:
如上文已经暗示并且在图3中示意性地示出的那样,虚拟机及其(运行)状态的如下实现形式是可能的:
- 寄存器机的状态通过寄存器(Register)(程序计数器(Program Counter)、Flags(标志位)、A、B)和存储器(Memory)来给出。如果由存储器中的程序计数器引用的机器指令正确地被实施,则区块链的后续交易是有效的。对机器指令的实施通常导致寄存器和存储器的内容被改变。
- 同样,可以实施基于堆栈(Stack)的虚拟机(例如Forth机)。该虚拟机的状态由堆栈和存储器组成。
- 另一虚拟机实现了哈佛(Harvard)结构,该哈佛结构具有分开的数据存储器和程序存储器。
- 此外,虚拟机也可以是有限状态机。在这种情况下,该有限状态机由当前状态以及输入符号(Input Symbols)序列和输出符号(Output Symbols)序列组成。
- 此外,虚拟机可以是存储可编程控制器(SPS)、用英语表达是Programmable LogicController(PLC,可编辑逻辑控制器),该存储可编程控制器将物理系统状态保持在变量中。在这种情况下,也可能的是:使关于通过传感器来确定的值的外部信息能作为区块链交易来支配;而且使至少一个用于操控物理执行器的执行器信号同样能作为区块链交易来支配。
因此,通过区块链的逻辑,保证了虚拟机正确地被实施。区块链可以简单地通过多个不同的节点(不同的硬件、不同的操作系统)来实现。状态变换的序列对于外部人员来说是透明的并且借此能被检查,因为区块链交易的序列能再现。由此,可以实现极其可靠的计算机系统,而不必使用特殊的计算机架构或编码处理。
此外,该实施的完整性不仅受保护以防偶然错误,而且通过基于区块链的实施方案而受保护以防有针对性的篡改。在一个实施方式中,针对虚拟机的每个单独的机器指令都形成区块链交易。在另一实施方式中,实施多个机器指令,并且将多个被实施的机器指令的结果作为区块链交易记录在区块链中。例如,在固定数目个指令(例如128个指令)之后可以生成新的区块链交易。然而,其它标准也是可能的,尤其是也包括取决于程序流的标准。这样,在每次跳转子程序时或在每次调用子程序(Jump Subroutine(JSR))时或者在从子程序返回(Return(RET))时可以生成新的区块链交易。这具有如下优点:虚拟机的实施速度不受区块链速度限制,使得对于区块链的每个环节来说(例如每20秒)只实施单个机器指令。然而,也可能的是;通过在区块链中实现的虚拟机来实施更高级的编程语言,尤其是脚本语言,诸如Python或JavaScript或用于存储可编程控制器(SPS、PLC)的编程语言,如尤其是梯形图(Ladder、LAD)、功能块图(Function Block Diagram、FBD)或指令清单(InstructionList、IL)。同样可能的是:也通过在区块链中实现的虚拟机来实施可作为硬件来支配的处理器(CPU)、诸如6502、Z80、ARM Cortex M0、TMS320或者JVM或CLR虚拟机。
区块链平台可以使多个虚拟机并行地、彼此无关地来实施。该区块链平台可以公开或者访问受限。尤其可能的是:实现基于区块链算法的安全的计算机(例如作为控制计算机或作为基于云的控制功能)。
尽管本发明是详细地通过优选的实施例进一步图解说明和描述的,但是本发明并不限于所公开的示例,而且其它变型方案可以由本领域技术人员从中推导出来,而不脱离本发明的保护范围。
上文描述的过程或方法流程的实现方案可以依据如下命令来实现,所述命令存在于计算机可读的存储介质上或者存在于易失性计算机存储器(在下文概括地称为计算机可读的存储器)中。计算机可读的存储器例如是易失性存储器、如缓存、缓冲或RAM,以及非易失性存储器、如可移动磁盘、硬盘,等等。
在此,上面描述的功能或步骤可以以至少一个命令语句的形式存在于计算机可读的存储器上/计算机可读的存储器中。在此,这些功能或步骤没有绑定到某一命令组上或绑定到命令组的某一形式上或者绑定到某一存储介质上或者绑定到某一存储器上或者绑定到某一实施方案上,而且可以通过软件、固件、微码。硬件、处理器、集成电路等等单独运行地或以任意的组合地来实施。在此,可以使用各种各样的处理策略,例如单个的处理器的串行处理或者多重处理或多任务处理或并行处理等等。
这些命令可以存储在本地存储器中,但是也可能的是,将这些命令存储在远程系统上并且经由网络来访问该远程系统。
术语“处理器”、“中央信号处理装置”、“控制单元”或“数据分析装置”如这里所使用的那样包括广义上的处理装置,即例如服务器、通用处理器、图形处理器、数字信号处理器、专用集成电路(ASIC)、可编程逻辑电路(如FPGA)、分立式模拟或数字电路和它们的任意的组合,包括所有其它本领域技术人员已知的或者在将来研发的处理装置在内。在此,处理器可由一个或多个设备或装置或单元组成。如果一个处理器由多个设备组成,那么这些设备可以被设计或配置用于并行地或串行地处理或实施命令。
Claims (13)
1.一种用于运行受密码保护的虚拟机的设备、尤其是适合于区块链(510)的运行环境的用于运行受密码保护的虚拟机的设备,所述设备具有:
- 如下装置,所述装置用于提供区块链的至少一个第一环节(511),所述至少一个第一环节包括至少一个交易数据记录(410),所述至少一个交易数据记录描述了所述虚拟机的至少一个第一运行状态而且具有至少一个用于在所述区块链中形成第二环节(512、513)的命令,其中所述第二环节的至少一个交易数据记录描述了所述虚拟机的相对于所述第一运行状态(T)被改变的第二运行状态(T'、T");
- 如下装置,所述装置用于提供检查功能,所述检查功能在所述虚拟机的第二运行状态是否容许方面检查通过所述至少一个交易数据记录所限定的、待实施的交易;和
- 如下装置,所述装置用于根据所检查到的是否容许来实施所述交易。
2.根据上一权利要求所述的设备,其特征在于,所述检查功能集成在所述区块链(510)中的第一环节(511)中。
3.根据上述权利要求之一所述的设备,其特征在于,所述检查功能通过所谓的智能合约(460)来表示。
4.根据上述权利要求之一所述的设备,其特征在于,运行状态变化涉及机器内部的状态。
5.根据上述权利要求之一所述的设备,其特征在于,运行状态变化涉及布置在机器之外的传感器、执行器和/或用于仪器或设施的控制装置的状态。
6.一种用于受密码保护地运行虚拟机的方法,所述方法具有如下步骤:
- 提供区块链(510)的至少一个第一环节(511),所述至少一个第一环节包括至少一个交易数据记录(410),所述至少一个交易数据记录描述了所述虚拟机的至少一个第一运行状态(T)而且具有至少一个用于在所述区块链中形成第二环节的命令,其中所述第二环节的至少一个交易数据记录描述了所述虚拟机的相对于所述第一运行状态被改变的第二运行状态(T'、T");
- 提供检查功能,所述检查功能在所述虚拟机的第二运行状态是否容许方面检查通过所述至少一个交易数据记录所限定的、待实施的交易;而且
- 根据所检查到的是否容许,借助于适合于所述区块链的运行环境的尤其是根据上述设备权利要求之一所述的设备来实施所述交易。
7.根据上一权利要求所述的方法,其特征在于,所述检查功能集成在所述区块链(510)中的第一环节(511)中地被提供。
8.根据上述权利要求之一所述的方法,其特征在于,所述检查功能通过所谓的智能合约(460)来表示。
9.根据上述权利要求之一所述的方法,其特征在于,运行状态变化涉及机器内部的状态。
10.根据上述权利要求之一所述的方法,其特征在于,运行状态变化涉及布置在机器之外的传感器、执行器和/或用于仪器或设施的控制装置的状态。
11.一种用于区块链(510)的环节(511、512、513)的交易数据记录(410),所述交易数据记录描述了虚拟机的至少一个第一运行状态,所述交易数据记录具有:
- 至少一个用于在所述区块链中形成至少一个其它环节(512、513)的命令,其中所述其它环节的交易数据记录描述了所述虚拟机的相对于所述第一运行状态(T)被改变的第二运行状态(T、T'、T");和
- 检查功能,所述检查功能在所述虚拟机的第二运行状态是否容许方面检查通过所述交易数据记录所限定的、待实施的交易。
12.根据权利要求1所述的设备,所述设备具有至少一个根据权利要求11所述的交易数据记录(410)。
13.一种用于根据上述设备权利要求之一所述的设备的具有程序指令的计算机程序产品,所述计算机程序产品借助于所述程序指令来配置,所述程序指令适合于根据上述方法权利要求之一所述的方法来运行虚拟机而且形成区块链(513)的至少一个环节(511、512、513),所述至少一个环节描述了所述虚拟机的运行状态,而且所述程序指令实施所述虚拟机的所容许的运行状态变化。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17183586.1 | 2017-07-27 | ||
EP17183586.1A EP3435270B1 (de) | 2017-07-27 | 2017-07-27 | Vorrichtung und verfahren zum kryptographisch geschützten betrieb einer virtuellen maschine |
PCT/EP2018/061676 WO2019020233A1 (de) | 2017-07-27 | 2018-05-07 | Vorrichtung und verfahren zum kryptographisch geschützten betrieb einer virtuellen maschine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111133434A true CN111133434A (zh) | 2020-05-08 |
CN111133434B CN111133434B (zh) | 2023-11-21 |
Family
ID=59485223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880063078.4A Active CN111133434B (zh) | 2017-07-27 | 2018-05-07 | 用于受密码保护地运行虚拟机的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200219096A1 (zh) |
EP (1) | EP3435270B1 (zh) |
CN (1) | CN111133434B (zh) |
WO (1) | WO2019020233A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3696698A1 (en) * | 2019-02-18 | 2020-08-19 | Verimatrix | Method of protecting a software program against tampering |
CN110597926A (zh) * | 2019-10-10 | 2019-12-20 | 山东爱城市网信息技术有限公司 | 基于水平扩展数据库建立区块链侧链的方法及系统 |
CN112636927B (zh) * | 2020-12-28 | 2022-08-16 | 郑州信大先进技术研究院 | 一种基于kpi双证书的云平台密码化方法 |
US20220374974A1 (en) * | 2021-05-24 | 2022-11-24 | International Business Machines Corporation | Securely paying for stored energy |
CN114327759A (zh) * | 2021-07-06 | 2022-04-12 | 支付宝(杭州)信息技术有限公司 | 区块链数据的处理方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997050063A2 (en) * | 1996-06-27 | 1997-12-31 | Europay International N.V. | Portable, secure transaction system for programmable, intelligent devices |
US20110035601A1 (en) * | 2007-12-21 | 2011-02-10 | University Of Virginia Patent Foundation | System, method and computer program product for protecting software via continuous anti-tampering and obfuscation transforms |
CN105531692A (zh) * | 2012-01-06 | 2016-04-27 | 奥普帝奥实验室有限公司 | 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略 |
CN105931052A (zh) * | 2016-04-21 | 2016-09-07 | 四川大学 | 一种基于区块链多因子交叉验证的虚拟货币交易验证方法 |
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
US20160330027A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Certifying Transactions Between Devices |
CN106131048A (zh) * | 2016-08-13 | 2016-11-16 | 深圳市樊溪电子有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN106295401A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种用于区块链的只读安全文件存储系统及其方法 |
US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
CN106548091A (zh) * | 2016-10-14 | 2017-03-29 | 北京爱接力科技发展有限公司 | 一种数据存证、验证的方法及装置 |
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约系统及实现方法 |
JP2017098806A (ja) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | 電子データの存在証明プログラムおよび存在証明サーバ |
US20170163733A1 (en) * | 2015-12-02 | 2017-06-08 | Olea Networks, Inc. | System and method for data management structure using auditable delta records in a distributed environment |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2797963B1 (fr) * | 1999-08-23 | 2002-11-29 | Trusted Logic | Protocole de gestion, procede de verification et de transformation d'un fragment de programme telecharge et systemes correspondants |
GB0107921D0 (en) * | 2001-03-30 | 2001-05-23 | Ibm | Computer system with multiple heaps and heap reset facility |
US7082604B2 (en) * | 2001-04-20 | 2006-07-25 | Mobile Agent Technologies, Incorporated | Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents |
GB2381092B (en) * | 2001-10-19 | 2005-10-19 | Ibm | Object locking in a shared VM environment |
US8572677B2 (en) * | 2010-07-14 | 2013-10-29 | William G. Bartholomay | Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices |
JP5614226B2 (ja) * | 2010-10-15 | 2014-10-29 | 富士通株式会社 | 仮想マシン制御装置、仮想マシン制御プログラムおよび仮想マシン制御方法 |
US8972746B2 (en) * | 2010-12-17 | 2015-03-03 | Intel Corporation | Technique for supporting multiple secure enclaves |
WO2012086106A1 (ja) * | 2010-12-21 | 2012-06-28 | パナソニック株式会社 | 仮想計算機システム及び仮想計算機システム制御方法 |
US8850581B2 (en) * | 2012-11-07 | 2014-09-30 | Microsoft Corporation | Identification of malware detection signature candidate code |
US20140137188A1 (en) * | 2012-11-14 | 2014-05-15 | Domanicom Corporation | Devices, systems, and methods for simultaneously delivering personalized/ targeted services and advertisements to end users |
US20180094953A1 (en) * | 2016-10-01 | 2018-04-05 | Shay C. Colson | Distributed Manufacturing |
US20160164880A1 (en) * | 2014-12-03 | 2016-06-09 | Bitdefender IPR Management Ltd. | Systems And Methods Of Transaction Authorization Using Server-Triggered Switching To An Integrity-Attested Virtual Machine |
US10614216B2 (en) * | 2015-04-14 | 2020-04-07 | Gigavation, Inc. | Paravirtualized security threat protection of a computer-driven system with networked devices |
US9443192B1 (en) * | 2015-08-30 | 2016-09-13 | Jasmin Cosic | Universal artificial intelligence engine for autonomous computing devices and software applications |
US11164165B1 (en) * | 2016-04-08 | 2021-11-02 | Greenberg & Lieberman, Llc | Multi-asset blockchain network platform |
US10445698B2 (en) * | 2016-06-30 | 2019-10-15 | Clause, Inc. | System and method for forming, storing, managing, and executing contracts |
US10296764B1 (en) * | 2016-11-18 | 2019-05-21 | Amazon Technologies, Inc. | Verifiable cryptographically secured ledgers for human resource systems |
US10944546B2 (en) * | 2017-07-07 | 2021-03-09 | Microsoft Technology Licensing, Llc | Blockchain object interface |
ES2866885T3 (es) * | 2017-08-31 | 2021-10-20 | Siemens Ag | Sistema y procedimiento para la vigilancia protegida criptográficamente de al menos un componente de un aparato o de una instalación |
US11263656B1 (en) * | 2018-04-17 | 2022-03-01 | Walgreen Co. | Coupon clearinghouse with blockchain |
EP3878135A1 (en) * | 2018-11-09 | 2021-09-15 | Velo Holdings Limited | Blockchain with non-turing complete system guards |
CA3125579A1 (en) * | 2019-02-05 | 2020-08-13 | Adp, Llc | Payslip verification for blockchain transaction |
US11509464B2 (en) * | 2019-06-13 | 2022-11-22 | Luis Eduardo Gutierrez-Sheris | System and method using a fitness-gradient blockchain consensus and providing advanced distributed ledger capabilities via specialized data records |
RU2752241C2 (ru) * | 2019-12-25 | 2021-07-23 | Общество С Ограниченной Ответственностью «Яндекс» | Способ и система для выявления вредоносной активности предопределенного типа в локальной сети |
US20220327529A1 (en) * | 2021-03-31 | 2022-10-13 | Williams Richard K | Advanced Transactional Protocols And Ecosystem For Smart Contract Authoring And Deployment |
-
2017
- 2017-07-27 EP EP17183586.1A patent/EP3435270B1/de active Active
-
2018
- 2018-05-07 WO PCT/EP2018/061676 patent/WO2019020233A1/de active Application Filing
- 2018-05-07 US US16/632,985 patent/US20200219096A1/en active Pending
- 2018-05-07 CN CN201880063078.4A patent/CN111133434B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997050063A2 (en) * | 1996-06-27 | 1997-12-31 | Europay International N.V. | Portable, secure transaction system for programmable, intelligent devices |
US20110035601A1 (en) * | 2007-12-21 | 2011-02-10 | University Of Virginia Patent Foundation | System, method and computer program product for protecting software via continuous anti-tampering and obfuscation transforms |
CN105531692A (zh) * | 2012-01-06 | 2016-04-27 | 奥普帝奥实验室有限公司 | 针对由在虚拟机里面运行的移动应用加载、链接和执行本地代码的安全策略 |
US20160275461A1 (en) * | 2015-03-20 | 2016-09-22 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
US20160330027A1 (en) * | 2015-05-05 | 2016-11-10 | ShoCard, Inc. | Identity Management Service Using A Blockchain Providing Certifying Transactions Between Devices |
US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
JP2017098806A (ja) * | 2015-11-26 | 2017-06-01 | 株式会社bitFlyer | 電子データの存在証明プログラムおよび存在証明サーバ |
US20170163733A1 (en) * | 2015-12-02 | 2017-06-08 | Olea Networks, Inc. | System and method for data management structure using auditable delta records in a distributed environment |
CN105931052A (zh) * | 2016-04-21 | 2016-09-07 | 四川大学 | 一种基于区块链多因子交叉验证的虚拟货币交易验证方法 |
CN106131048A (zh) * | 2016-08-13 | 2016-11-16 | 深圳市樊溪电子有限公司 | 一种用于区块链的非信任远程交易文件安全存储系统 |
CN106295401A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种用于区块链的只读安全文件存储系统及其方法 |
CN106548091A (zh) * | 2016-10-14 | 2017-03-29 | 北京爱接力科技发展有限公司 | 一种数据存证、验证的方法及装置 |
CN106598549A (zh) * | 2016-12-08 | 2017-04-26 | 天津米游科技有限公司 | 一种基于区块链的智能合约系统及实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111133434B (zh) | 2023-11-21 |
WO2019020233A1 (de) | 2019-01-31 |
EP3435270B1 (de) | 2020-09-23 |
EP3435270A1 (de) | 2019-01-30 |
US20200219096A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111133434B (zh) | 用于受密码保护地运行虚拟机的设备和方法 | |
EP3674954B1 (en) | Security control method and computer system | |
CN111264046A (zh) | 用于密码保护地监控设备或设施的至少一个组件的系统和方法 | |
US20180052999A1 (en) | Domain-Specific Hardwired Web Browser Machine | |
JP5786511B2 (ja) | ソフトウェア・モジュールの仕様要件を検証するためのハイブリッド制約条件の求解 | |
CN105579955A (zh) | 应用控制流模型 | |
EP3035228B1 (en) | Code integrity protection by computing target addresses from checksums | |
CN106815524B (zh) | 恶意脚本文件的检测方法及装置 | |
Zubair et al. | PEM: Remote forensic acquisition of PLC memory in industrial control systems | |
EP3918494B1 (en) | Systems, methods, and storage media for obfuscating a computer program by representing the control flow of the computer program as data | |
CN113779578B (zh) | 移动端应用的智能混淆方法和系统 | |
Faugeron | Manipulating the frame information with an underflow attack | |
Chekole et al. | Enforcing memory safety in cyber-physical systems | |
Bouffard et al. | Reversing the operating system of a Java based smart card | |
KR101832594B1 (ko) | 중간 언어 파일의 로딩 속도 개선을 위한 방법 및 시스템 | |
Awad et al. | Towards generic memory forensic framework for programmable logic controllers | |
US7606254B1 (en) | Evaluatable high-assurance guard for security applications | |
Bouffard et al. | The ultimate control flow transfer in a Java based smart card | |
CN112425121A (zh) | 关于分布式数据库的使用控制数据网络 | |
CN113050927B (zh) | 基于自定义指令的权限控制方法、装置和计算机设备 | |
CN111488558B (zh) | 脚本保护方法、装置、计算机可读存储介质和计算机设备 | |
CN113706131A (zh) | 一种基于加密卡的区块链交易方法、装置和设备 | |
Bytes et al. | Post-exploitation and persistence techniques against programmable logic controller | |
CN111475152A (zh) | 一种代码处理方法及装置 | |
CN110709814A (zh) | 程序代码生成装置和程序代码生成程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |