当EFISH-SBC-RK3576遇上区块链:物联网安全与可信数据网络
在工业物联网场景中,设备身份伪造与数据篡改是核心安全隐患。EFISH-SBC-RK3576 通过 硬件安全模块 + 区块链链上验证,实现设备身份可信锚定与数据全生命周期加密,安全性能提升10倍以上。
1. 安全架构:从芯片到链的端到端防护
硬件配置:

- 主控单元:EFISH-SBC-RK3576(支持USB/SPI安全外设扩展)
- 安全模块:
- 江南天安SJK1926硬件加密狗(国密SM2/SM3/SM4算法)
- Infineon OPTIGA™ TPM 2.0芯片(FIPS 140-2认证)
- 区块链节点:
- 内置Hyperledger Fabric轻节点(ARM64优化版)
- 基于SPI接口连接LoRaWAN模组(Semtech SX1302)
关键特性:
- 抗物理攻击:加密狗支持防旁路攻击(SCA)与安全启动
- 零信任验证:设备身份密钥(DIK)永久写入TPM安全存储区
- 链上存证:关键操作记录实时上链(≤3秒完成共识)
2. 核心功能实现
设备身份链上锚定:
- 密钥生成:
# 通过TPM芯片生成非对称密钥对
from tpm2_pytss import TCTI, TPM2
tcti = TCTI(device="/dev/tpm0")
tpm = TPM2(tcti)
key_handle = tpm.create_primary(
hierarchy="owner",
key_alg="ecc", # 使用SM2椭圆曲线
key_attrs=["sign", "decrypt"]
)
- 区块链注册:
bashCopy Code
# 调用智能合约写入设备公钥
fabric-cli chaincode invoke \
--channelID industrial \
--name device-registry \
--args '{"function":"register", "did":"DEV-3576-01", "pubkey":"0x..."}'
数据安全流转:
- 端到端加密:
// 使用SM4-CBC模式加密传感器数据
#include "sjk1926.h"
SJK1926_Init(USB_DEVICE);
uint8_t cipher[256];
SJK1926_SM4_Encrypt(
plaintext,
sizeof(plaintext),
cipher,
SM4_KEY, // 从TPM安全区读取
SM4_IV
);
- 链上存证:
数据哈希通过LoRa发送至区块链网关,触发以下合约逻辑:
function recordDataHash(string memory deviceID, bytes32 hash) public {
require(verifySignature(deviceID, hash, msg.sender));
emit DataAnchor(deviceID, hash, block.timestamp);
}
3. 典型应用场景
场景1:分布式设备身份认证
- 痛点:
- 传统中心化CA易成单点攻击目标
- 跨厂商设备互信难
- EFISH方案:
- TPM生成设备唯一密钥对
- 公钥注册至联盟链(Hyperledger Fabric)
- 设备间通信时通过链上公钥验证签名
场景2:防篡改数据管道
- 流程:
mermaidCopy Code
graph LR
A[传感器采集] --> B{SM4加密}
B --> C[上传至云端]
C --> D[计算数据哈希]
D --> E((区块链存证))
E --> F[第三方审计]
- 优势:
- 数据接收方可通过链上哈希验证完整性
- 支持国密算法满足等保2.0要求4. 性能预计提升
| 指标 | EFISH安全方案 | 纯软件加密方案 |
| SM2签名速度 | 1500次/秒 | 220次/秒 |
| SM4加密吞吐量 | 85MB/s | 12MB/s |
| 身份验证延迟 | 800ms(含链上验证) | 300ms(本地验证) |
| 抗量子攻击能力 | 支持SM9后量子算法 | 依赖RSA-2048 |
注:测试环境为EFISH-SBC-RK3576连接SJK1926加密狗,区块链网络包含4个共识节点。
5. 开发者集成指南
硬件准备:
- 将加密狗插入EFISH-SBC的USB 3.0接口
- TPM芯片通过SPI总线连接(需焊接20Pin排针)
代码库:
- 国密算法SDK:提供SM2/SM3/SM4硬件加速API
- 区块链轻节点:预编译的Hyperledger Fabric客户端
- 安全配置工具:一键生成符合等保2.0的策略文件
快速验证:
# 生成设备身份密钥并注册到链
python3 secure_demo.py \
--action register \
--tpm /dev/tpm0 \
--chain industrial
# 加密数据并触发存证
openssl sm4 -e -in sensor_data.bin -out encrypted.bin -k $(cat key.txt)
curl -X POST http://gateway/blockchain -d "{\"hash\": \"$(sha256sum encrypted.bin)\"}"
方案价值总结
- 硬件级信任根:TPM+加密狗构建不可克隆的安全基石
- 国密合规:满足《网络安全法》及金融行业安全标准
- 低功耗广域:LoRa + 区块链实现千米级安全物联
- 透明审计:所有关键操作链上留痕,支持穿透式监管
相关文章:
当EFISH-SBC-RK3576遇上区块链:物联网安全与可信数据网络
在工业物联网场景中,设备身份伪造与数据篡改是核心安全隐患。EFISH-SBC-RK3576 通过 硬件安全模块 区块链链上验证,实现设备身份可信锚定与数据全生命周期加密,安全性能提升10倍以上。 1. 安全架构:从芯片到链的端到端防…...
关于spark在yarn上运行时候内存的介绍
在YARN上运行Spark时,内存管理是性能调优的核心环节。以下是 Driver Memory、Executor Memory、堆内存(Heap Memory) 和 堆外内存(Off-Heap Memory) 的区别与配置方法,以及实际场景中的最佳实践:…...
分布式系统面试总结:3、分布式锁(和本地锁的区别、特点、常见实现方案)
仅供自学回顾使用,请支持javaGuide原版书籍。 本篇文章涉及到的分布式锁,在本人其他文章中也有涉及。 《JUC:三、两阶段终止模式、死锁的jconsole检测、乐观锁(版本号机制CAS实现)悲观锁》:https://blog.…...
【VSCode的安装与配置】
目录: 一:下载 VSCode二:安装 VSCode三:配置 VSCode 一:下载 VSCode 下载地址:https://code.visualstudio.com/download 下载完成之后,在对应的下载目录中可以看到安装程序。 二:安装…...
ElasticSearch常用优化点
关闭交换分区:因为Linux采用了三级页表虚存管理,关闭交换分区可以减少系统IO,页面换入唤出时所耗费的总线时间以及减少系统中断次数;swap的使用会显著增加延迟和降低吞吐量。文件描述符配置:任何网络应用都需要增加文件…...
脱围机制-react18废除forwardRef->react19直接使用ref的理解
采用ref,可以在父组件调用到子组件的功能 第一步:在父组件声明ref并传递ref interface SideOptsHandle {refreshData: () > Promise<void> }const sideOptsRef useRef<SideOptsHandle>(null) // 创建 ref<SideOpts ref{sideOptsRef…...
Spark2 之 Expression/Functions
ExpressionConverter src/main/scala/org/apache/gluten/expression/ExpressionConverter.scala TopNTransformer src/main/scala/org/apache/gluten/execution/TopNTransformer.scala...
Windows中安装git工具
下载好git安装包 点击next 选择安装目录 根据需要去勾选 点击next 点击next PATH环境选择第二个【Git...software】即可,再点击【Next】。 第一种配置是“仅从Git Bash使用Git”。这是最安全的选择,因为您的PATH根本不会被修改。您只能使用 Git Bash 的…...
【CSS】CSS 使用全教程
CSS 使用全教程 介绍 CSS(层叠样式表,Cascading Style Sheets)是一种样式表语言,用于描述 HTML 或 XML 文档的布局和外观,它允许开发者将文档的内容结构与样式表现分离,通过定义一系列的样式规则来控制网页…...
《HarmonyOS Next自定义TabBar页签凸起和凹陷案例与代码》
引言 自定义TabBar在HarmonyOS Next应用中很常见,本文将介绍如何实现页签的凸起和凹陷效果,并通过代码示例展示实现过程。 实现思路 基于已有的自定义TabBar思路,通过调整布局和样式实现凸起和凹陷效果。凸起效果可以通过在选中的页签下方…...
全分辨率免ROOT懒人精灵-自动化编程思维-设计思路-实战训练
全分辨率免ROOT懒人精灵-自动化编程思维-设计思路-实战训练 1.2025新版懒人精灵-实战红果搜索关键词刷视频:https://www.bilibili.com/video/BV1eK9kY7EWV 2.懒人精灵-全分辨率节点识别(红果看广告领金币小实战):https://www.bili…...
如何在IDEA中借助深度思考模型 QwQ 提高编码效率?
通义灵码上新模型选择功能,不仅引入了 DeepSeek 满血版 V3 和 R1 这两大 “新星”,Qwen2.5-Max 和 QWQ 也强势登场,正式加入通义灵码的 “豪华阵容”。开发者只需在通义灵码智能问答窗口的输入框中,单击模型选择的下拉菜单&#x…...
C++11QT复习 (四)
Day6-1 输入输出流运算符重载(2025.03.25) 1. 拷贝构造函数的调用时机 2. 友元2.1 友元函数 3. 输入输出流运算符重载3.1 关键知识点3.2 代码3.3 关键问题3.4 完整代码 4. 下标访问运算符 operator[]4.1 关键知识点4.2 代码 5. 函数调用运算符 operator…...
LVS的 NAT 模式实验
文章目录 目录 文章目录 概要 IP规划与题目分析 实验步骤 一、nginx配置(rs1、rs2、rs3) 二、LVS配置 三、客户端配置 四、防火墙和selinux配置 实验结果 痛点解答 概要 LVS/NAT lvs/nat网络地址转换模式,进站/出站的数据流量经过分发器(IP负…...
【MacOS】2025年硬核方法清理MacOS中的可清除空间(Purgeable space)
背景 MacOS使用一段时间之后,硬盘空间会越来越少,但自己的文件没有存储那么多,在储存空间中可以发现可用空间明明还剩很多,但磁盘工具却显示已满,见下图。 尝试解决 df -h 命令却发现磁盘已经被快被占满。使用du命…...
ue材质学习感想总结笔记
2025 - 3 - 27 1.1 加法 对TexCoord上的每一个像素加上一个值,如果加上0.1,0.1, 那么左上角原来0,0的位置变成了0.1,0.1 右上角就变成了1.1,1.1,那么原来0,0的位置就去到了左上角左上边,所以图像往左上偏移。 总而言…...
Go 语言 sync 包使用教程
Go 语言 sync 包使用教程 Go 语言的 sync 包提供了基本的同步原语,用于在并发编程中协调 goroutine 之间的操作。 1. 互斥锁 (Mutex) 互斥锁用于保护共享资源,确保同一时间只有一个 goroutine 可以访问。 特点: 最基本的同步原语&#x…...
约束文件SDC常用命令
约束文件SDC常用命令 定义时钟create_clock -name CLK-period 2 [get_ports_clk]告诉工具主时钟周期是2ns(频率500MHz),从clk端口输入 输入信号延迟set_input_delay 0.5 -clock CLK [get_ports data_in]数据进芯片前,外部电路已消耗0.5ns,综合要预留这段“堵车时间”。 输出…...
信而泰PFC/ECN流量测试方案:打造智能无损网络的关键利器
导语: AI算力爆发的背后,如何保障网络“零丢包”? 在当今数据中心网络中,随着AI、高性能计算(HPC)和分布式存储等应用的飞速发展,网络的无损传输能力变得至关重要。PFC(基于优先级的…...
golang不使用锁的情况下,对slice执行并发写操作,是否会有并发问题呢?
背景 并发问题最简单的解决方案加个锁,但是,加锁就会有资源争用,提高并发能力其中的一个优化方向就是减少锁的使用。 我在之前的这篇文章《开启多个协程,并行对struct中的每个元素操作,是否会引起并发问题?》中讨论过多协程场景下struct的并发问题。 Go语言中的slice在…...
Android 底部EditView输入时悬浮到软键盘上方
1. 修改 Activity 的 Manifest 配置 确保你的 Activity 在 AndroidManifest.xml 中有以下配置: <activityandroid:name".YourActivity"android:windowSoftInputMode"adjustResize|stateHidden" /> 关键点: adjustResize 是…...
CNN和LSTM的计算复杂度分析
前言:今天做边缘计算的时候,在评估模型性能的时候发现NPU计算的大部分时间都花在了LSTM上,使用的是Bi-LSTM(耗时占比98%),CNN耗时很短,不禁会思考为什么LSTM会花费这么久时间。 首先声明一下实…...
UniApp 表单校验两种方式对比:命令式与声明式
目录 前言1. 实战2. Demo 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 以下主要针对Demo讲解,从实战中的体会 何为命令式 何为声明式 命令式的体验,随时都会有提交的按钮ÿ…...
【树莓派Pico FreeRTOS】-Mutex(互斥体)
Mutex(互斥体) 文章目录 Mutex(互斥体)1、硬件准备2、软件准备3、FreeRTOS的Mutex介绍4、完整示例RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (P…...
LCR 187. 破冰游戏(python3解法)
难度:简单 社团共有 num 位成员参与破冰游戏,编号为 0 ~ num-1。成员们按照编号顺序围绕圆桌而坐。社长抽取一个数字 target,从 0 号成员起开始计数,排在第 target 位的成员离开圆桌,且成员离开后从下一个成员开始计数…...
【漏洞修复】为了修复ARM64 Android10系统的第三方库漏洞,将ARM64 Android16的系统库直接拷贝到Android10系统如何?
直接替换系统库的风险分析 将高版本Android(如Android 16)的系统库直接拷贝到低版本系统(如Android 10)可能会导致以下问题: 符号与依赖不兼容 高版本库可能依赖更高版本的NDK或Bionic libc(Android的C库&…...
Flutter环境配置
配置环境变量 PUB_HOSTED_URLhttps://pub.flutter-io.cnFLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn 这个命令是用来配置 Flutter 的镜像源地址,主要是为了解决在中国大陆地区访问 Flutter 官方资源较慢的问题。 具体的操作如下: 右键点…...
centOS 7.9 65bit 修复Openssh漏洞
一、背景: 在使用centos 7.9 64bit版本操作系统时有扫描出如下的漏洞: 二、修复openssh漏洞操作 升级注意事项 (一下所有的操作默认都是root或者管理员权限,如果遇到权限问题每个指令以及指令组合都要在前面加sudo) 1、查看CentOS操作系统信…...
金融级密码管理器——生物特征密钥绑定方案
目录 金融级密码管理器 —— 生物特征密钥绑定方案一、模块概述与设计目标1.1 模块背景与意义1.2 设计目标二、系统架构设计2.1 系统模块划分2.2 系统架构图(Mermaid示意图)三、核心算法与安全原理3.1 生物特征数据预处理3.2 密钥生成算法3.3 安全认证与密钥绑定验证3.4 密钥…...
JDBC-添加数据
文章目录 准备数据库添加数据引入数据库依赖包 准备数据库 自行安装软件,利用小皮内嵌的数据 添加数据 引入数据库依赖包 结构 drivercom.mysql.cj.jdbc.Driver urljdbc:mysql://127.0.0.1:3308/yanyuuserroot passwordrootpackage com.yanyu;import java.sql.*;…...
