使用区块链及DICE-RIOT来远程管理装置的制作方法

专利检索2022-05-10  69


使用区块链及dice

riot来远程管理装置
1.相关申请案
2.本技术案主张2019年3月25日申请且标题为“使用区块链及dice

riot来远程管理装置(remotely managing devices using blockchain and dice

riot)”的第16/363,295号美国专利申请案的优先权,所述申请案的全部公开内容特此以引用的方式并入本文中。
3.版权声明
4.本技术案包含受版权保护的材料。版权所有者不反对任何人以专利及商标局文件或记录中出现的形式对专利公开进行传真复制,但在其它方面保留所有版权权利。


背景技术:

5.所公开实施例涉及计算机安全性且具体来说,涉及用于使用区块链及dice

riot来远程管理计算装置的装置、计算机可读媒体及方法。
6.存在其中出于安全性原因,机关能够监管一些连网装置(例如,仪器、电话、膝上型计算机等)的功能很重要的不同环境。例如,在医院中,重症监护室及手术室中的装置的功能以及例如实验室设备、高压舱等的特定装置的功能必须受到严格监管。作为另一实例,在紧急情况期间,机关可能需要限制装置的使用以获取用于紧急救援的带宽。
7.为了改进危险环境的安全性,对一些区域中存在的连网电子设备进行直接控制很重要。然而,要求个人(及因此个别装置)执行这个控制会带来重大的安全性问题。目前使用两种技术来据称补偿需要其它装置的个别控制。
8.在一个场景中,用户装置被强制控制。即,在负面行为的威胁下用户被迫服从中央机关(例如,关掉手机等)。例如,在航空旅行期间,法律要求用户关闭手机和其他无线设备,否则将被从飞机上带走或受到民事处罚。
9.在第二场景中,用户自愿将装置的管理授予远程实体。例如,用户可接受用户的雇主可经由提供配置文件存取他们的装置且安装/删除应用程序、控制设置等。在一些实施例中,这些方案可能受限于其中可施加控制的地理区域或经施加控制的类型。
10.这些系统存在众多缺陷。在第一场景中,用户可能根本不会遵守,从而阻挠控制的目的。实际上,由于所述场景不是技术上实施的,所以在不手动检查每一装置的情况下无法确认合规性。在第二系统中,用户通常必须与控制实体有关系(例如,雇主

雇员)且必须明确同意被控制。因此,在公共场景中,这种解决方案在技术上是不可能的。此外,用户可利用不受控制的不同装置,从而达到阻挠目的。
11.因此,所属领域需要一种不依赖于用户干预而远程管理电子装置的方式。另外,为了实施此技术方案,需要确保控制装置能够可靠地被识别为具有适当权限的装置。


技术实现要素:

12.本文中公开用于使用区块链及dice

riot来远程管理计算装置的方法、计算机可读媒体及装置。
13.在一个实施例中,公开一种方法,其包括:扫描网络以获得所述网络上的装置的列
表;将所述装置分类为受控或不受控装置;与所述受控装置建立安全通道;通过所述安全通道向所述受控装置发出一或多个控制命令,所述一或多个控制命令被包含在签署消息中,所述签署消息是使用发送者的私钥来签署且使用接收者的公钥来验证,所述私钥及公钥是在所述安全通道的所述建立期间生成;接收对所述控制命令的响应;及将所述控制命令及所述响应记录在区块链中。
14.在另一实施例中,公开一种用于有形地存储能够由计算机处理器执行的计算机程序指令的非暂时性计算机可读存储媒体,所述计算机程序指令定义以下步骤:扫描网络以获得所述网络上的装置的列表;将所述装置分类为受控、不受控或受限装置;与所述受控装置建立安全通道;通过所述安全通道向所述受控装置发出一或多个控制命令,所述一或多个控制命令被包含在签署消息中,所述签署消息是使用发送者的私钥来签署且使用接收者的公钥来验证,所述私钥及公钥是在所述安全通道的所述建立期间生成;接收对所述控制命令的响应;及将所述控制命令及所述响应记录在区块链中。
15.在另一实施例中,公开一种装置,其包括:处理器;及存储媒体,其用于在其上有形地存储程序逻辑以供所述处理器执行,所述经存储程序逻辑包括:由所述处理器执行以扫描网络以获得所述网络上的装置的列表的逻辑;由所述处理器执行以将所述装置分类为受控、不受控或受限装置的逻辑;由所述处理器执行以与所述受控装置建立安全通道的逻辑;由所述处理器执行以通过所述安全通道向所述受控装置发出一或多个控制命令的逻辑,所述一或多个控制命令被包含在签署消息中,所述签署消息是使用发送者的私钥来签署且使用接收者的公钥来验证,所述私钥及公钥是在所述安全通道的所述建立期间生成;由所述处理器执行以接收对所述控制命令的响应的逻辑;及由所述处理器执行以将所述控制命令及所述响应记录在区块链中的逻辑。
附图说明
16.从对如附图中所说明的实施例的以下描述,本公开的前述及其它目的、特征及优点将是显而易见的,其中参考字符贯穿各个视图指代相同部件。附图未必按比例绘制,而是将重点放在说明本公开的原理上。
17.图1是根据本公开的一个实施例的用于管理远程装置的系统的框图。
18.图2a是说明根据本公开的一些实施例的用于控制封闭区域中的远程装置的方法的流程图。
19.图2b是说明根据本公开的一些实施例的用于控制开放区域中的远程装置的方法的流程图。
20.图3是说明根据本公开的一些实施例的用于响应于远程控制请求的方法的流程图。
21.图4是说明根据本公开的一些实施例的dice

riot通信系统的框图。
22.图5是根据本公开的一些实施例的区块链数据结构及所述结构的相应区块的图。
23.图6是根据本公开的一些实施例的计算装置的框图。
具体实施方式
24.图1是根据本公开的一个实施例的用于管理远程装置的系统的框图。
25.在所说明实施例中,网络(118)连接扫描仪(102)、装置(108a

108n)、证书机关(120)、不受限装置(116)及不受控装置(114)。在一个实施例中,网络(118)可包括多个不同网络,例如wi

fi网络、蜂窝网络、个域网(例如,蓝牙)、近场通信(nfc)网络及任何其它网络。
26.在一个实施例中,扫描仪(102)包括被设计成控制一或多个装置的装置。作为一个实例,扫描仪(102)包括放置在需要控制的封闭区域中的硬件模块或独立装置。例如,扫描仪(102)可包括附接到机场、医院实验室、飞机机舱或其中存在对电子装置的控制的其它区域处的x射线机的装置。
27.扫描仪(102)包含dice/riot子系统(104)及区块链模块(106)。在一个实施例中,dice/riot子系统(104)包括生成如将在本文中描述的第1层公钥、装置识别符及证书的l0及l
1 dice/riot子系统。dice/riot子系统(104)可包括固件(rom)代码及上层软件的组合。dice/riot子系统(104)的操作结合图4更完全地描述,其全文以引用的方式并入本文中。
28.扫描仪(102)另外包含区块链模块(106)。在一个实施例中,区块链模块(106)负责区块链数据的实际存储(如图5中所说明)以及执行所有区块链操作(例如,区块证实、共识等)。如将描述,区块链模块(106)提供发送到装置(108a

108n)的指令以及那些装置对指令做出反应的方式的防篡改记录。
29.装置(108a

108n)被称为受控装置,因为它们能够被扫描仪(102)控制。在一个实施例中,如果装置含有dice/riot子系统(112),那么所述装置是可控的。如图4中将描述,dice/riot子系统的存在允许受控装置验证扫描仪的身份且还生成它们自身的可验证身份,所述身份可用于相互确认每一装置(扫描仪及受控装置)是它们所说的装置。如所说明,每一受控装置包含多种标准网络接口(110a

110c)。这些接口作为标准接口操作且使受控装置(108a

108n)能够经由各种网络与扫描仪(102)进行通信。
30.除受控装置之外,所述图还说明不受限装置(116)及不受控装置(114)。在所说明实施例中,不受限装置可具有(或可不具有)dice/riot子系统,但在其它方面免除控制。在一个实施例中,不受限装置具有记录为已知不受限装置的三元组且因此扫描仪(102)在试图控制其覆盖区域内的装置时忽略此装置。不受限装置的一个实例包括可能存在于被扫描仪覆盖的区域中的电信设备(例如,路由器等)。
31.与不受限装置(116)相比,不受控装置(114)是不包含dice/riot子系统的装置。由于缺失这个子系统,不受控装置(114)无法验证扫描仪(102)的身份且因此不会响应于控制所述装置的命令(出于安全性目的)。对于这些装置,所述系统可回退到控制装置的现存方法(先前所讨论)。应注意,虽然dice/riot主要在说明书中讨论,但也可使用其它认证方案,前提是它们满足本文中所描述的要求。
32.最后,所述系统说明证书机关(120)。这个证书机关(120)包括可签署由扫描仪(102)或受控装置(108a

108n)生成的证书的可信实体。在一些实施例中,证书机关(120)可能不存在且装置可签署它们自身的证书。
33.图2a是说明根据本公开的一些实施例的用于控制封闭区域中的远程装置的方法的流程图。在所说明实施例中,图2a中的方法可由前述扫描仪来执行。
34.在步骤202中,所述方法扫描网络。
35.在一个实施例中,所述网络包含蓝牙网络,即,可经由蓝牙连接到的附近网络的列
表。替代地,所述方法可通过wi

fi网络或其它网络传输广播请求以识别网络上的装置。因此,在步骤202中,所述方法获得装置及网络地址(例如,ip地址、mac地址、蓝牙地址等)的列表。
36.在步骤204中,所述方法对在步骤202中识别的装置进行分类。
37.在一个实施例中,当检测到装置时,其可报告所述装置的各种性质。例如,在蓝牙场景中,扫描仪可在检测到其蓝牙地址之后与所述装置建立不安全的套接字以进行控制。如果所述装置包含dice/riot系统,那么其可经配置以通过不安全通道广播那种能力。对于不包含dice/riot系统的装置,所述方法不接收此指示且将所述装置分类为不受支持装置。
38.在步骤206中,对于每一装置,所述方法确定所述装置是受支持还是不受支持。
39.如果所述装置不受支持,那么所述方法继续回退到控制装置的现存方法。例如,所述方法可将通知传输到所述装置以将其本身关掉(步骤208)或执行某个其它动作。这个消息又可显示在所述装置上以向用户通知所要动作。当然,用户可选择忽略这个通知。
40.在一些实施例中,除通知用户关掉所述装置(步骤210)之外,所述方法还可干扰通信。在一个实施例中,通信的干扰可为任选的且仅在特定场景中采用。
41.在步骤212中,所述方法接着将发送到不受控装置的通知记录在区块链区块中。在一个实施例中,所述方法记录发送到所述装置的所有消息,而不管所述装置是否可或确实响应于所述消息。以这种方式,所述方法将在扫描仪的操作期间发送的消息的记录维持在安全的防篡改数据结构中。
42.与上述相比,如果所述方法确定所述装置被分类为支持远程控制的装置(例如,是具有dice

riot子系统的装置),那么所述方法继续向所述装置认证且建立安全通道(步骤214)。在一个实施例中,这包括所述方法将识别信息传送到所述装置且所述装置确认扫描仪的身份。在一个实施例中,识别信息包括三元组,所述三元组包括经由l
1 dice

riot密钥生成过程(本文中所描述)生成的装置识别符、公钥及证书。本文中所使用,第0及1层用于认证,而第2层及以上(在两个装置中)用于发消息。在一个实施例中,安全通道包括在交换密钥之后形成的tls连接。
43.在步骤216中,在认证之后,所述方法发出通信控制命令。
44.在一个实施例中,所述方法生成将导致所述装置执行动作(例如,关掉)的控制命令。在一个实施例中,针对各种装置类型记录这些命令。在替代实施例中,这些命令可由接收装置传输到所述方法。在任何情况下,所述方法基于实施所述方法的装置的配置参数来选择必要的命令。
45.在一个实施例中,所述方法将控制指令打包成消息且使用其l1私钥来签署所述消息。所述方法接着将这个指令传输到所述装置,其中所述装置可使用其l2公钥来验证签名。在一个实施例中,所述消息另外包含新鲜度值以避免重放攻击,例如单调计数器、时间戳等。
46.在接收到命令之后,所述装置执行如图3中所描述的命令。在执行命令之后(或如果命令是影响其发送消息的能力),所述装置传回对所述方法的响应(步骤218)。
47.在一个实施例中,响应可包含关于指令执行的各种数据。例如,其可包含指令的明确确认、将执行指令的时间戳、执行时的堆叠迹线及与指令相关的任何其它数据。与指令类似,响应可使用装置l1密钥来签署且使用方法l2密钥(例如,扫描仪l2密钥)来验证。
48.在步骤220中,所述方法确定响应是否真实。在一个实施例中,这包括通过使用所述方法的l2密钥来验证响应的签名。另外,所述方法可确认发送者的证书及公共识别符是有效的。
49.如果响应未被认证,那么所述方法回退到现存方法(如结合步骤208

212所描述)。
50.如果响应被认证,那么所述方法将响应记录到区块链(步骤222)。与步骤212类似,扫描仪将指令及响应记录到区块链以记录装置之间的交互。在一个实施例中,所述方法可在接收到响应之前记录指令。替代地,所述方法可同时记录两个记录。
51.图2b是说明根据本公开的一些实施例的用于控制开放区域中的远程装置的方法的流程图。
52.在步骤224中,所述方法接收广泛的请求。
53.与图2a中的操作相比,图2b中所说明的方法可应用于大的地理区域(例如,几英亩、一个城市等)。在这个实施例中,广播请求可由机关(例如,警方)发出。广播请求可声明所定义区域内的所有装置执行包含在所述请求内的一或多个操作(例如,关掉、限制带宽)。
54.由于所述请求可由任何装置发送,且所述系统不假设通道的安全性,所述方法进行检查以查看传输所述请求的装置是否被认证(步骤226)。所述方法可采用dice

riot证书检查来确认发送者的身份(例如,通过双重解密与发送者相关联的三元组以确认它们的身份)。
55.如果检查(226)失败,那么所述方法拒绝所述请求(步骤228)且将请求(230)记录到区块链存储装置。在所说明实施例中,所述方法通过简单地忽略所述请求来拒绝所述请求。所述方法还出于执法或其它目的而记录所述请求。在一些实施例中,记录包含发送者的身份(例如,ip地址等)以识别潜在的恶意用户。
56.替代地,如果所述方法认证发送者,那么所述方法将所述请求广播到服务区域(步骤232)。这个服务区域可在广播请求中定义或者可与实施所述方法本身的装置相关联。在一个实施例中,所述方法重新打包所述请求且使用其自身的私钥来签署所述请求,以确保消息的安全性。
57.在步骤234中,所述方法基于接收者的类型来执行单独动作。在一个实施例中,所述方法从紧急车辆或人员接收忽略消息(步骤240)。例如,如果控制指令是在紧急情况期间关掉所有手机(或限制带宽),那么这个控制指令可被紧急工作人员及设备忽略。
58.替代地,对于任何其它装置,所述方法将控制指令传输到那些装置且接收确认响应(步骤238)。这两个步骤在图2a中,且具体来说在步骤216、218、220、208、210、212及222中完全地描述,其公开内容的全文以引用的方式并入本文中。
59.在一个实施例中,步骤234可包括识别服务区域内类似于图2a的步骤202及204中所描述的装置的列表。然而,应注意,由于服务区域更大,所扫描网络可包括蜂窝网络区域(例如,由给定蜂窝塔服务的一或多个区域)。在这个实例中,扫描网络包括识别给定区域中的ip地址的列表(例如,通过询问蜂窝基站设备)。
60.图3是说明根据本公开的一些实施例的用于响应于远程控制请求的方法的流程图。在所说明实施例中,所述方法可由受控装置来执行。受控装置的许多特征已从控制装置的背景进行描述且那些细节在本文中不再重复,但以引用的方式并入。
61.在步骤302中,所述方法接收请求。如上文所描述,这个请求包括来自远程装置(例
如,图1中的扫描仪)的控制指令。
62.在步骤304中,所述方法认证所述请求。如上文所描述,这可包括使用l2公钥来验证数字签名。
63.在步骤310中,如果签名证实失败,那么所述方法拒绝所述请求,且任选地,将所述装置不会接受所述请求的通知传输到发送者。
64.在步骤306中,如果签名证实通过,那么所述方法接受所述请求。在这个步骤中,所述装置可执行包含在所述请求内的一或多个动作,例如关掉装置、限制带宽、启用全带宽(如果装置是路由器或其它电信设备)等。
65.在步骤308中,所述方法生成、签署且传输响应。
66.在一个实施例中,响应包括所述请求的服务信息,例如所述请求将被履行的时间、将采取什么特定动作等。所述方法使用其私钥来签署所述请求且将响应传输到发送者以供记录在区块链中,如上文所描述。
67.图4是说明根据本公开的一些实施例的dice

riot通信系统的框图。
68.如所说明,扫描仪(502a)及目标(502b)经由双向通信路径(512)进行通信。经由分别安装在扫描仪(502a)及目标(502b)内的uds服务器(504、408)确保路径(512)上的所有通信。在一个实施例中,uds服务器(504、408)包括安装在扫描仪(502a)及目标(502b)内的相同或类似硬件装置。因此,除非另有区分,否则对一个uds服务器的描述同样适用于另一uds服务器。
69.每一uds服务器具有“装置秘密”(例如,404a)。在所说明实施例中,装置秘密仅为装置的制造商及服务器的处理核心(例如,l
0 rom 404b)所知,且用在由处理核心创建复合装置识别符(“cdi”)中。在一个实施例中,cdi是用于识别在用于生成数据的系统上运行的软件的一组数据。
70.在一个实施例中,cdi是使用单向散列函数(表示为h)来创建。首先,uds服务器计算散列(或l1代码(504c)的其它唯一量度)。在一些实施例中,uds服务器在计算散列时可进一步利用装置的硬件状态及配置数据。这个散列被附加到经检索装置秘密(例如,404a)且输入到单向散列函数中以生成cdi。接着移除对装置秘密(例如,404a)的存取且从易失性存储器完全移除装置秘密的内容。接着将装置的控制传送到l1代码(504c)(步骤420e)。在一些实施例中,可使用散列消息认证代码(hmac)函数来代替单向散列函数。在这个实施例中,装置秘密可用作密钥且l1代码的散列用作消息。
71.l1代码(504c)接收cdi且使用cdi来生成安全密钥及证书以识别装置。由于cdi是使用uds及生成此类密钥的代码的散列来生成,其确保所生成的密钥/证书的真实性。在生成cdi之后,l1代码(504c)将cdi从存储器永久删除,从而防止cdi泄漏。在一个实施例中,l1代码(504c)从未被修改且因此cdi在提供l1代码(504c)的装置的整个寿命中保持相同。
72.uds服务器在dice

riot架构中生成安全密钥对以供其它层(例如,层l
2 406a)使用。uds服务器使用从l0代码接收的cdi来生成非对称deviceid密钥对(上文所讨论)。在一个实施例中,所述方法使用确定性非对称密钥生成算法来生成公钥及私钥,特定算法的选择并非意在限制性。uds服务器将所述密钥对的公共部分导出到下一代码层(例如,l2层)。uds服务器创建含有公钥的证书结构。证书可包括x.509格式证书。uds服务器另外可使用cid及下一软件层的散列来生成一或多个别名密钥。例如,uds服务器可使用cid及l2软件
(506a)的散列来生成别名密钥。在一个实施例中,uds服务器可询问目标装置(502b)以请求l2代码的散列。在其它实施例中,uds服务器存储在制造期间安装或由远程服务带外更新的l2代码的散列。在一个实施例中,l2代码与安装在目标(502b)或扫描仪(502a)中的特定硬件相关联且因此在装置的寿命期间是相对静态及不变的。例如,单个实体可制造与l1及l2软件相关联的芯片,因此这个代码的散列可是系统所熟知的。
73.l2软件可加载额外模块,前提是它们由固件安全性描述符授权。最终,l2软件(或由l2软件加载的代码)可使用由l1提供的密钥及证书以使用输送层安全性(tls)来对其本身进行认证。在一个实施例中,l2软件确保所述软件仅使用颁发给其的别名密钥。即,l2软件不应使用颁发给较早固件版本的别名凭证。
74.可在整个目标(502b)中重复前述过程。即,l2软件(506a)生成下一层的新别名密钥,连同对上一层的散列进行编码的别名证书。例如,l2软件(506a)使用os(506b)的散列来生成os(506b)的别名密钥,os(506b)使用应用程序(506c)的散列来生成应用程序(506c)的别名密钥等。颁发给下一层的别名证书是用授予底层的别名密钥(而非deviceid密钥)签署。换句话说,额外层充当额外从属证书机关。这个方案可一直扩展到应用程序层,其中每一应用程序获得唯一别名密钥及对其身份进行编码的证书。在这些情况下,依赖方可遍历别名证书链来建立顶层的身份及包括顶层的可信计算基础的所有较低层的身份。
75.应注意,与dice

riot的传统使用相比,所说明系统在两个或更多个装置当中分配协议层。即,代替l2软件(506a)驻留在扫描仪上的是,其驻留在目标装置上且与单独硬件相关联。在所说明实施例中,扫描仪及目标装置可能仅在彼此非常接近时(即,在100米内或在范围内)才使用dice

riot协议进行操作。所述两个装置可采用个域网(pan)、近场通信网络或其它高速自组网络来以上文所描述之方式交换用于生成别名密钥的层的散列。在指派密钥及证书之后,这些密钥及证书可用于签署且在一些实施例中加密所述两个装置之间的所有未来通信,从而确保防止中间人攻击,所述攻击将使用假冒密钥来控制目标装置。
76.在发消息时,扫描仪通常将传输包含使用扫描仪的私钥生成的数字签名的消息。在接收到这个消息后,l2软件(506a)可使用在上文所描述的过程期间接收的扫描仪证书来验证识别。在一些实施例中,还将保护消息免受重放攻击。在这个实施例中,l2软件(506a)将随机字符串(例如,随机消息)提供到l1代码。当签署消息时,l1代码将使用其私钥以及随机消息两者来签署消息。当验证时,l2软件(506a)将知道随机消息且能够验证发送者确实被授权。
77.图5是根据本公开的一些实施例的区块链数据结构及所述结构的相应区块的图。
78.在图5中所说明的区块链中,说明多个区块(501

505)以及创世区块(500)。如所属领域中已知,区块链表示交易或数据状态变化的不可变且以密码方式验证的记录。在即时应用程序中,每当执行及操作的请求(及其响应)时,将请求及响应记录到区块链。在一个实施例中,仅扫描仪装置(或其它控制装置)存取区块链。以这种方式,验证及记录所有请求/响应以供将来需要时检索。另外,区块链的固有验证确保流氓实体无法恶意地试图发出控制命令(或错误地假装对它们做出响应)。这由于使用dice

riot密钥作为区块链地址而得以确保,因为dice

riot密钥无法被破坏或篡改。
79.图5另外说明由例如扫描仪的控制装置生成的链中的区块(502)的内容。如所说
明,所述区块包含主分类账区块标头(502a),所述主分类账区块标头包含当前区块的散列及前一区块的散列。所述区块另外包含三元组,所述三元组包含扫描仪id(502b)、扫描仪证书(502c)及上文所描述的扫描仪(502d)的公钥。还记录请求(“目标”)装置的目的地(502e)。最后,包含新鲜度字段(502f),其可包括时间戳、单调值或其它值。
80.所述区块另外包含可任选地加密的指令细节(502g)。这些细节包含扫描仪向目标装置发出的特定控制指令。
81.最后,每一区块由发送者(例如,区块502的扫描仪)签署且签名被打包且作为经打包数字签名(502h)包含在所述区块中。在所说明实施例中,签名(502h)是使用发送者私钥来签署且由接收者使用接收者公钥来验证。
82.如所说明,所述链包含例如响应区块(503)的响应。这个响应区块(503)由扫描仪生成,但利用由受控装置响应于请求而传回的数据。区块(503)与区块(502)类似且区块(502)的许多细节以引用的方式并入区块(503)的描述中。正如区块(502),区块(503)包含标头(503a)、新鲜度值(503f)、三元组(503b

503d)及目的地识别符(503e)。应注意,三元组及目的地识别符分别是指目标装置及扫描仪,这与区块(502)相反。此外,区块(503)包含服务信息(503g),所述服务信息包括目标装置如何响应于指令的细节。
83.在所说明实施例中,所述方法分多个步骤将数据记录到区块链数据结构。在每一步骤中,如上文所描述,记录数据包括将区块添加到区块链数据结构。在所说明实施例中,如果满足两个条件,那么区块被辨识为分块的部分(即,包含在分类账中)。首先,在插入期间,前一区块的散列必须与如先前计算的前一区块的散列匹配。即,参考图5,在插入区块503之前,标头503a的“散列(前一本地区块)”必须与前一区块502a的“散列(当前本地区块)”匹配。除这个要求之外,区块还必须满足区块由系统的经授权主机生成的第二、非标准条件。这个特殊要求实际上是传统区块链系统中的工作量证明的替代方案(即,节点当中的数学竞争)。具体来说,在所说明区块链中,参与系统的节点试图猜测用于将区块插入在区块链中的正确签名。然而,在系统中,系统中的一个实体拥有用于生成签名的私钥且因此可快速“赢得”竞争(而断言能够由使用私钥所有者的公钥的任何其它节点来证实)。以这种方式,仅真正的签名者可赢得竞争,从而防止区块未经授权地进入区块链。
84.图6是根据本公开的一些实施例的计算装置的框图。
85.处理装置可包含比图6中所展示的组件更多或更少的组件。例如,前述实例可能不需要音频接口、显示器、键区、照明器或摄像机/传感器。然而,所展示组件足以公开用于实施本公开的说明性实施例。此外,在一些实施例中,图6中所说明的装置可被实施为虚拟机,而在其它实施例中,所述装置可被实施为物理机。在一些实施例中,所述装置被实施为两者,其中虚拟机在图6中所描绘的装置上运行。
86.如图6中所展示,装置(600)包含经由总线(614)与大容量存储器(604)进行通信的处理单元(cpu)(602)。装置(600)还包含一或多个网络接口(616)、音频接口(618)、显示器(620)、键区(622)、照明器(624)、输入/输出接口(626)及(若干)摄像机或其它光学、热或电磁传感器(628)。装置(600)可包含一个摄像机/传感器(628)或多个摄像机/传感器(628),如所属领域的技术人员所理解。
87.装置(600)可任选地与基站(未展示)进行通信,或直接与另一计算装置进行通信。网络接口(616)包含用于将装置(600)耦合到一或多个网络的电路系统且经构造以与一或
多种通信协议及技术一起使用。网络接口(616)有时被称为收发器、收发装置或网络接口卡(nic)。
88.音频接口(618)经布置以产生及接收音频信号,例如人声的声音。例如,音频接口(618)可经耦合到扬声器及麦克风(未展示)以实现与其它装置的远程通信且生成某个动作的音频确认。显示器(620)可为液晶显示器(lcd)、气体等离子体、发光二极管(led)或与计算装置一起使用的任何其它类型的显示器。显示器(620)还可包含经布置以从例如触笔或来自人手的手指的对象接收输入的触敏屏幕。
89.键区(622)可包括经布置以从用户接收输入的任何输入装置。例如,键区(622)可包含按钮数字拨盘或键盘。键区(622)还可包含与选择及发送图像相关联的命令按钮。照明器(624)可提供状态指示且提供光。照明器(624)可在特定时间段内或响应于事件保持活动。例如,当照明器(624)活动时,其可为键区(622)上的按钮提供背光且在装置(600)被供电时保持导通。而且,当执行动作时,照明器(624)可以各种模式为这些按钮提供背光,例如拨打另一处理装置。照明器(624)还可响应于动作而引起定位在装置(600)的透明或半透明外壳内的光源进行照明。
90.装置(600)还包括用于与图6中未展示的外部装置进行通信的输入/输出接口(626)。输入/输出接口(626)可利用一或多种通信技术,例如usb、红外线、bluetooth
tm
等。
91.大容量存储器(604)包含ram(606)、rom(610)及其它存储部件。大容量存储器(604)说明用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的计算机存储媒体的另一实例。大容量存储器(604)存储用于控制处理装置(600)的低级操作的基本输入/输出系统(“bios”)(612)。大容量存储器还可存储用于控制处理装置(600)的操作的操作系统。将明白,这个组件可包含通用操作系统,例如unix或linux
tm
的版本,或专用客户端通信操作系统,例如windows client
tm
或操作系统。操作系统可包含或对接java虚拟机模块,所述模块实现经由java应用程序控制硬件组件及操作系统操作。存储器(604)包含用于实施上文所描述的一些或所有方法(除上文明确地描述的基于rom的密码术dice

riot操作(其在rom(61)中执行)以外)的一或多个软件应用程序。
92.然而,上文所公开的标的物可以各种不同形式体现且因此,所涵盖或所主张标的物意在被解释为不限于本文中所阐述的任何实例实施例;提供实例实施例仅仅是说明性的。同样地,预期所主张或所涵盖标的物的合理广泛范围。除其它事项外,例如,标的物可被体现为方法、装置、组件或系统。因此,实施例可例如采取硬件、软件、固件或其任何组合(除软件本身以外)的形式。因此,以下详细描述并非意在具限制性意义。
93.贯穿说明书及权利要求书,术语可能具有超出明确陈述含义的上下文中建议或暗示的细微含义。同样地,如本文中所使用的短语“在一个实施例中”未必是指同一实施例且如本文中所使用的短语“在另一实施例中”未必是指不同实施例。例如,所主张标的物意在全部或部分地包含实例实施例的组合。
94.一般来说,可至少部分地根据上下文用法来理解术语。例如,如本文中所使用的例如“及”、“或”或“及/或”的术语可包含可至少部分地取决于使用此类术语的上下文的多种含义。通常,“或”(如果用于关联列表,例如a、b或c)意在表示a、b及c(本文以包含性意义使用)以及a、b或c(本文以排他性意义使用)。另外,如本文中所使用的术语“一或多个”至少部分地取决于上下文,可用于以单数意义描述任何特征、结构或特性,或可用于以复数意义描
述特征、结构或特性的组合。类似地,例如“一”、“一个”或“所述”的术语可再次被理解为至少部分地取决于上下文而传达单数用法或传达复数用法。另外,术语“基于”可被理解为未必意在传达一组排他因素且可代替地再次至少部分地取决于上下文而允许存在未必明确描述的额外因素。
95.参考方法及装置的框图及操作说明来描述本公开。应理解,可借助于模拟或数字硬件及计算机程序指令来实施框图或操作说明中的每一框及框图或操作说明中的框的组合。可将这些计算机程序指令提供给通用计算机的处理器以如本文中详述那样改变其功能、专用计算机、asic或其它可编程数据处理设备,使得经由计算机或其它可编程数据处理设备的处理器执行的指令实施框图或操作框或若干操作框中所指定的功能/动作。在一些替代实施方案中,框中所指出的功能/动作可不按操作说明中所指出的顺序发生。例如,取决于所涉及的功能/动作,实际上可基本上同时执行连续展示的两个框,或有时可按相反顺序执行所述框。
96.这些计算机程序指令可被提供给以下各者的处理器:通用计算机以将其功能改变为特殊用途;专用计算机;asic;或其它可编程数字数据处理设备,使得经由计算机或其它可编程数据处理设备的处理器执行的指令实施框图或操作框或若干操作框中所指定的功能/动作,由此根据本文中的实施例变换其功能。
97.出于本公开的目的,计算机可读媒体(或计算机可读存储媒体/若干计算机可读存储媒体)存储计算机数据,所述数据可包含可由计算机执行的呈机器可读形式的计算机程序代码(或计算机可执行指令)。作为实例而非限制,计算机可读媒体可包括用于数据的有形或固定存储的计算机可读存储媒体,或用于含代码信号的瞬时解释的通信媒体。如本文中所使用,计算机可读存储媒体是指物理或有形存储装置(与信号相反)且包含但不限于以用于例如计算机可读指令、数据结构、程序模块或其它数据的信息的有形存储的任何方法或技术实施的易失性及非易失性、可卸除及不可卸除媒体。计算机可读存储媒体包含但不限于ram、rom、eprom、eeprom、快闪存储器或其它固态存储器技术、cd

rom、dvd或其它光学存储装置、磁带盒、磁带、磁盘存储装置或其它磁性存储装置,或可用于有形地存储所要信息、数据或指令且可由计算机或处理器存取的任何其它物理或材料媒体。
98.出于本公开的目的,模块是执行或促进本文中所描述的过程、特征及/或功能的软件、硬件或固件(或其组合)系统、过程或功能或其组件(具有或没有人类交互或增强)。模块可包含子模块。模块的软件组件可经存储在计算机可读媒体上以供处理器执行。模块可与一或多个服务器成一体,或可由一或多个服务器加载及执行。一或多个模块可被分组为引擎或应用程序。
99.所属领域的技术人员将认识到,本公开的方法及系统可以许多方式来实施且因而不受前述例示性实施例及实例限制。换句话说,由单个或多个组件以硬件及软件或固件的各种组合执行的功能元件及个别功能可经分布在客户端级或服务器级或两者的软件应用程序当中。在这方面,本文中所描述的不同实施例的任何数目个特征可被组合成单个或多个实施例,且具有少于或多于本文中所描述的所有特征的替代实施例是可能的。
100.功能也可全部或部分地以现在已知或将来已知的方式分布在多个组件当中。因此,在实现本文中所描述的功能、特征、接口及偏好时,多种软件/硬件/固件组合是可能的。此外,本公开的范围涵盖用于实行所描述特征及功能及接口的常规已知方式,以及如所属
领域的技术人员现在及以后将理解的可对本文中所描述的硬件或软件或固件组件进行的那些变动及修改。
101.此外,以实例方式提供在本公开中作为流程图呈现及描述的方法的实施例以提供对技术的更完整理解。所公开方法不限于本文中所呈现的操作及逻辑流程。考量替代实施例,其中改变各种操作的顺序且其中独立地执行被描述为较大操作的部分的子操作。
102.虽然已出于本公开的目的而描述各种实施例,但此类实施例不应被认为将本公开的教示限于那些实施例。可对上文所描述的元件及操作进行各种改变及修改以获得保持在本公开中所描述的系统及过程的范围内的结果。
转载请注明原文地址:https://win.8miu.com/read-6665.html

最新回复(0)