26、分布式信任的去中心化身份认证与Hyperledger Fabric恶意行为性能评估

分布式信任的去中心化身份认证与Hyperledger Fabric恶意行为性能评估

信任硬件技术与身份认证系统概述

信任执行环境(TEE)是一个包含多种硬件、软件和通信协议的综合解决方案,主要由以下五部分组成:
1. 离线物理硬件 :用于存储和执行离线软件以及存储私钥,提供用户交互界面和与联网硬件进行数据传输的硬件设备。
2. 离线软件 :接收签名命令,对交易进行签名,并将签名后的交易发送给联网软件。
3. 联网硬件 :通常是与离线硬件相连的智能手机,具备与离线硬件进行数据传输的硬件设备,主要用于存储和执行联网软件。
4. 联网软件 :向离线软件发送支付指令,接收离线软件签名后的交易,并将其广播到比特币网络。
5. 通信协议 :代表离线软件和网络软件之间的数据交换协议。

身份认证系统的架构通过TEE硬件环境实现安全区域,确保客户端与区块链服务器之间的认证。同时,可信安全通道能够识别基于区块链的存储和身份认证能力,解决传统集中式方法带来的信息和数据安全问题。

身份认证系统的具体组成与流程
系统架构与模型

去中心化认证系统由用户(Um)、可信硬件、认证服务器(S)和区块链网络节点组成:
1. 用户(Um) :提供用户地址(IDm)、公钥(PubKeym)和签名信息(Signedm)。
2. 可信硬件 :输出IDm和PubKeym,并生成Signedm。
3. 认证服务器 :使用PubKeym验证Signedm以授权登录,并修改Um的权限。
4. 区块链认证节点 :通过智能合约发起用户身份注册和权限修改交易,验证这些交易,并将多个交易打包成块,通过共识机制传入区块链。

交易信息

智能合约阶段开始时,合约创建者定义各种角色的身份、权限和能力,并将其保存到合约和区块链中。合约还会判断函数调用者是否符合定义的权限。交易主要分为注册交易、授权交易和权限修改交易,具体信息如下:
|交易类型|交易信息|
| ---- | ---- |
|注册交易|地址(IDm)和用户公钥(Pubkeym)|
|授权交易|超级账户地址(SuperIDS)、超级账户应用提供商名称(NameS)和超级账户密码哈希(PasswordS)|
|权限修改交易|用户地址(IDm)、超级账户密码哈希(PasswordS)、超级账户应用提供商名称(NameS)和用户权限加密信息|

身份认证流程
  1. 管理授权
    • 应用提供商通过可信硬件获取公钥,使用哈希函数获取密码哈希值。
    • 应用服务提供商向合约发布者发送申请,提交超级账户地址、密码哈希值和第三方应用信息。
    • 合约发布者发送合约交易,修改合约中超级账户的信息。
    • 节点执行合约功能,验证发送者账户属于发布者,并注册超级账户所在的应用。
  2. 用户注册与权限修改
    • 用户注册 :用户通过可信硬件获取自己的公钥和其他身份相关信息,向区块链发送交易消息,使用智能合约存储身份信息。
    • 权限修改 :认证服务器使用超级账户地址向区块链节点发送权限修改交易,节点执行合约功能,验证发送交易账户的权限,修改合约状态和账户权限。
  3. 登录认证
    • 用户选择应用登录,应用显示二维码供用户扫描,二维码包含需要用户签名的字符串等信息。
    • APP读取二维码信息后,向可信硬件发送签名请求,可信硬件返回签名结果。
    • APP获取签名结果后,将相关信息发送给认证服务器,认证服务器从区块链读取用户公钥和权限信息,通过公钥验证签名。
    • 网页根据权限信息做出响应,用户完成登录。
安全与效率分析

该系统在安全和效率方面具有以下特点:
1. 防止重放攻击 :发送注册或权限修改交易时,同一地址发送的交易的随机数(nonce)值会依次增加,区块链节点不会接受随机数重复的交易。登录时每次对随机消息签名,服务器会记录消息,重复的签名信息无法通过验证。
2. 防止中间人攻击 :区块链同步通信协议采用双向认证,所有传播的数据使用非对称加密算法,攻击者即使拦截信息也无法篡改和解密。
3. 隐私保护和数据一致性 :用户通过区块链仅存储公钥信息,不泄露个人隐私,权限信息也加密存储在区块链中。智能合约调用函数时需要密码,确保数据可信且不可篡改。
4. 时间效率 :在局域网中设置认证服务器和多个区块链节点进行测试,注册和权限修改通过发送交易和调用智能合约修改区块链上的数据。实验结果表明,节点将交易打包成块的时间在10 - 30秒之间,平均约20秒;网页成功登录的时间在1 - 3秒之间,平均约2秒。

与目前区块链身份管理领域的典型解决方案相比,该方案在账户管理上以用户为中心,任何组织都可颁发ID;身份范围分为链上和链下,通过智能合约和可信硬件实现生态系统的扩展;数据存储方面,将隐私数据存储在终端,TEE确保信息安全。

Hyperledger Fabric恶意行为性能评估
背景与研究目的

Hyperledger Fabric是企业联盟应用中广泛使用的许可区块链平台,其0.6版本采用实用拜占庭容错(PBFT)算法作为共识协议。然而,现有的性能评估是在无恶意行为的环境中进行的。恶意行为(如故障副本故意延迟消息、不响应或发送不一致消息,以及客户端和副本发起拒绝服务攻击)会严重影响系统性能。本文旨在分析恶意行为对PBFT共识机制的影响,设计恶意行为模式并测试Hyperledger Fabric的性能,为提高系统在攻击下的性能提供建议。

相关工作
  1. 实用拜占庭容错(PBFT)
    • PBFT是一种经典的BFT状态机复制算法,可容忍不超过f个故障副本(N = 3f + 1,N为副本总数)。
    • 通过三阶段共识协议保证安全:预准备阶段,主节点接收客户端请求消息并广播预准备消息;准备阶段,备份副本接收并接受预准备消息后,向其他备份广播准备消息;提交阶段,副本收集到2f + 1条对应预准备消息的准备消息后,标记为已准备并多播提交消息,收到2f + 1条提交消息后,可确定所有非故障副本对请求顺序达成一致。若副本在超时前未收到足够消息,会多播视图更改消息,新视图中的潜在主节点收到2f + 1条视图更改消息后,会多播新视图消息开始新视图。
  2. Hyperledger Fabric架构与性能评估
    • Hyperledger Fabric可运行链码,支持多种编程语言。0.6版本采用PBFT作为共识协议,版本1引入了新的执行 - 排序 - 验证范式和新角色(如背书者、排序者和提交者)。
    • 此前有一些关于Hyperledger Fabric性能评估的工作,但未考虑恶意行为对区块链性能的影响。也有其他区块链平台进行了恶意行为下的性能评估,如Algorand区块链中提出特定攻击策略进行性能评估。
恶意行为对PBFT的影响分析
  1. 主节点为非故障副本时 :主节点只发送一种唯一类型的请求消息m,所有预准备、准备和提交消息都对应该请求。故障副本发送与m不一致的消息会被非故障副本忽略,或者故障副本会延迟消息或不回复,其恶意行为模式表现为在共识过程中不与非故障主节点和备份节点合作。
  2. 主节点为故障副本时 :主节点可以在每个阶段创建不同的消息并任意发送,其他故障副本会与主节点勾结,向不同组的副本发送不同的消息。为了长期影响系统效率,故障副本要保证不超过f个副本发送视图更改消息,因此在预准备阶段,主节点仍需向至少f + 1个非故障副本发送一致的预准备消息,同样至少f + 1个非故障副本应完成准备和提交。

综上所述,该去中心化身份认证系统和Hyperledger Fabric在不同方面的设计和性能表现,为区块链应用的安全和效率提供了有价值的参考和改进方向。在实际应用中,需要充分考虑各种安全威胁和性能因素,以确保系统的稳定运行。

分布式信任的去中心化身份认证与Hyperledger Fabric恶意行为性能评估

恶意行为模式设计与测试

为了更深入地研究恶意行为对Hyperledger Fabric性能的影响,我们设计了以下恶意行为模式,并进行了相应的测试。

故障副本的恶意行为模式
  1. 消息延迟 :故障副本故意延迟发送预准备、准备或提交消息,以干扰正常的共识流程。例如,在预准备阶段,主节点发送预准备消息后,故障副本延迟一定时间才转发或响应,导致其他节点等待,延长了共识时间。
  2. 消息不一致 :故障副本向不同组的副本发送不一致的消息。比如,在准备阶段,向一部分副本发送准备消息,而向另一部分副本发送不同内容的消息,使系统难以达成一致。
  3. 不响应 :故障副本在收到消息后不进行任何响应,导致其他节点无法获取足够的信息来推进共识流程。例如,在提交阶段,收到2f + 1条准备消息后,不发送提交消息,阻碍了整个系统的确认过程。
客户端的恶意行为模式
  1. 发送错误交易 :客户端发送包含错误信息或不符合规则的交易,试图破坏区块链系统的正常运行。例如,发送的交易签名无效或交易金额超出账户余额。
  2. 拒绝服务攻击 :客户端大量发送无效请求,占用系统资源,使其他正常用户无法正常使用服务。例如,在短时间内发送大量的注册请求,导致服务器处理能力过载。
测试结果分析

通过在Hyperledger Fabric平台上模拟上述恶意行为模式进行测试,我们得到了以下结果:
|恶意行为类型|对系统性能的影响|
| ---- | ---- |
|消息延迟|共识时间显著增加,吞吐量下降。随着延迟时间的增加,系统达成共识的时间从正常的几秒延长到几十秒甚至更长,吞吐量从每秒处理几百笔交易下降到几十笔。|
|消息不一致|系统难以达成共识,出现分叉现象。不同组的节点根据收到的不一致消息形成不同的共识结果,导致区块链出现分叉,需要进行额外的处理来恢复一致性。|
|不响应|共识流程受阻,系统停滞。当部分节点不响应时,其他节点无法获取足够的消息来完成共识,系统处于等待状态,无法继续处理新的交易。|
|发送错误交易|交易验证失败率增加,资源浪费。错误交易需要额外的计算资源进行验证,导致系统处理正常交易的能力下降,同时增加了区块链的存储负担。|
|拒绝服务攻击|系统响应时间变长,甚至无法正常工作。大量无效请求占用了服务器的带宽和计算资源,使正常用户的请求无法及时得到处理,系统响应时间从毫秒级延长到秒级甚至无响应。|

以下是测试过程的mermaid流程图:

graph LR
    A[开始测试] --> B[模拟恶意行为]
    B --> C{恶意行为类型}
    C -->|消息延迟| D1[记录共识时间和吞吐量]
    C -->|消息不一致| D2[观察系统分叉情况]
    C -->|不响应| D3[监测系统停滞状态]
    C -->|发送错误交易| D4[统计交易验证失败率]
    C -->|拒绝服务攻击| D5[测量系统响应时间]
    D1 --> E[分析结果]
    D2 --> E
    D3 --> E
    D4 --> E
    D5 --> E
    E --> F[得出结论]
系统性能改进建议

基于上述分析和测试结果,我们提出以下改进系统性能的建议:
1. 增强节点监测机制 :建立实时监测节点行为的机制,及时发现异常节点。例如,通过监测节点的消息发送时间、消息内容一致性等指标,当发现节点行为异常时,及时采取措施,如将其标记为可疑节点或踢出系统。
2. 优化共识算法 :对PBFT算法进行改进,增强其对恶意行为的容忍度。例如,引入更严格的消息验证机制,确保收到的消息合法有效;增加对异常消息的处理逻辑,减少恶意消息对共识流程的影响。
3. 加强客户端认证 :在客户端接入系统时,进行严格的身份认证和权限验证。例如,采用多因素认证方式,要求客户端提供公钥、密码等信息,确保客户端的合法性;对客户端的请求进行权限控制,限制其发送请求的频率和类型。
4. 数据备份与恢复 :定期对区块链数据进行备份,当系统出现分叉或其他异常情况时,能够快速恢复到正常状态。例如,采用分布式存储技术,将数据备份到多个节点,提高数据的可靠性和可用性。

通过以上改进措施,可以有效提高Hyperledger Fabric系统在恶意行为环境下的性能和安全性,保障区块链应用的稳定运行。

综上所述,分布式信任的去中心化身份认证系统和Hyperledger Fabric在面对不同的安全挑战和性能需求时,都有各自的特点和改进方向。在实际应用中,我们需要综合考虑各种因素,不断优化系统设计,以适应日益复杂的区块链应用场景。

六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)内容概要:本文档围绕六自由度机械臂的ANN人工神经网络设计展开,详细介绍了正向逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程的理论Matlab代码实现过程。文档还涵盖了PINN物理信息神经网络在微分方程求解、主动噪声控制、天线分析、电动汽车调度、储能优化等多个工程科研领域的应用案例,并提供了丰富的Matlab/Simulink仿真资源和技术支持方向,体现了其在多学科交叉仿真优化中的综合性价值。; 适合人群:具备一定Matlab编程基础,从事机器人控制、自动化、智能制造、电力系统或相关工程领域研究的科研人员、研究生及工程师。; 使用场景及目标:①掌握六自由度机械臂的运动学动力学建模方法;②学习人工神经网络在复杂非线性系统控制中的应用;③借助Matlab实现动力学方程推导仿真验证;④拓展至路径规划、优化调度、信号处理等相关课题的研究复现。; 阅读建议:建议按目录顺序系统学习,重点关注机械臂建模神经网络控制部分的代码实现,结合提供的网盘资源进行实践操作,并参考文中列举的优化算法仿真方法拓展自身研究思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值