嵌入式与边缘设备常用安全工具速通 📅 发布时间:2026/7/5 8:52:14 👁️ 浏览次数: B站博主个人介绍博主书籍-京东购买链接*Yocto项目实战教程加博主微信进技术交流群jerrydev工具篇嵌入式与边缘设备常用安全工具速通本篇只讲“工具怎么用、输出怎么看、结果怎么验证”。不展开算法推导也不绑定任何特定平台Jetson、RK、NXP、Qualcomm、Raspberry Pi 都适用。在安全工程里最怕的不是“不会某个算法”而是你生成了东西但不知道它是什么私钥还是证书、哈希还是签名。你执行了命令但不知道输出意味着什么通过还是失败、覆盖范围是什么。你做了保护但没法给出可验收的证据无法复现、无法定位。所以本篇的定位是把常用安全工具当作“工程验证工具箱”让你能在命令行里把安全结论落成证据。1 工具清单总览下面是一份最常用、最值得写进书里的工具清单。你可以把它当作“工具地图”。任务最常用工具你要得到的证据文件是否被改sha256sum / openssl dgst哈希值是否一致文件来源是否可信opensslsign/verify验签通过/失败证书/密钥到底是什么opensslx509/pkey/ file类型、长度、格式做一个加密分区验证cryptsetup/dev/mapper 是否出现、是否能挂载做只读镜像防篡改验证veritysetupverify 是否通过、篡改是否能发现看二进制结构hexdump / xxd关键字段是否如预期搜索泄露信息strings / grep是否出现证书、路径、明文关键字快速排错lsblk / blkid / dmesg / journalctl设备、映射、错误日志你会发现真正能让你“心里有底”的不是理论而是这些可重复的检查动作。2 使用工具的三条“工程规则”很多人学工具只记参数导致遇到问题就卡住。更有效的方式是遵守三条规则每个命令都要能回答“输入是什么、输出是什么”。每个输出都要能给出“如何验证对不对”的下一步。每套流程都要能复现命令、文件、版本、路径要固定。建议你在项目里建一个目录例如security-lab/ keys/ certs/ samples/ scripts/ notes/把所有示例产物与命令记录下来你会很快形成自己的“安全实验室”。3 sha256sum最常用的文件指纹工具3.1 它解决什么问题给文件计算SHA-256 哈希摘要你可以把它理解为文件指纹。文件内容改了一个字节摘要就会变化。它适合做下载文件校验镜像对比生成 manifest 清单它不适合直接做证明来源可信哈希没有身份3.2 最常用的 3 个用法用法 1 计算文件哈希sha256sum firmware.bin输出通常是hash firmware.bin你要看的就是hash。用法 2 校验多个文件是否匹配sha256sum -c manifest.txtmanifest.txt 里是类似这样的内容hash1 kernel.img hash2 rootfs.squashfs输出会告诉你每个文件OK或FAILED。用法 3 用于生成清单sha256sum kernel.img rootfs.squashfsmanifest.txt这是后续“签名清单”最常见的起点。3.3 常见问题文件路径不对你以为算的是 A其实算了 B。文件在计算过程中被修改尤其是日志文件或正在写入的镜像。最简单的排查方式ls-l firmware.binstatfirmware.bin确认文件大小与修改时间是否稳定。4 OpenSSL最强的通用安全工具箱OpenSSL 的定位可以用一句话概括它既是密码学库也是命令行工具。在嵌入式/边缘设备中我们更常用它的命令行能力算摘要dgst生成/查看密钥genpkey/pkey生成/查看证书req/x509签名与验签dgst -sign/-verify生成随机数rand4.1 openssl dgst摘要与签名验签4.1.1 计算 SHA-256等价于 sha256sumopenssl dgst -sha256 firmware.bin输出类似SHA2-256(firmware.bin) hash和 sha256sum 的哈希应当一致。4.1.2 生成 HMAC带密钥的完整性KEYtest_keyopenssl dgst -sha256 -hmac$KEYconfig.bin适用于配置文件防篡改小数据授权文件校验4.1.3 文件签名与验签最常用# 生成 RSA 私钥openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out sign_key.pem# 导出公钥openssl pkey -in sign_key.pem -pubout -out verify_pub.pem# 对固件签名openssl dgst -sha256 -sign sign_key.pem -out firmware.sig firmware.bin# 验签openssl dgst -sha256 -verify verify_pub.pem -signature firmware.sig firmware.bin你得到的“工程证据”是验签通过说明firmware.sig与firmware.bin匹配并且使用的是对应公钥。验签失败说明文件被改、签名被改或公钥不匹配。注意验签通过并不自动意味着“来源可信”。来源可信取决于verify_pub.pem 的可信性这个话题属于平台启动链或密钥管理章节。4.2 openssl pkey看懂密钥文件新手最常见的问题是这是私钥还是公钥这是 RSA 还是 ECC密钥长度是多少用下面命令即可openssl pkey -in sign_key.pem -text -noout你要关注的字段Key typeRSA/ECKey size3072/4096 或 P-256导出公钥openssl pkey -in sign_key.pem -pubout -out verify_pub.pem4.3 openssl req / x509证书与 CSR 的基本操作如果你只想写“工具篇”证书部分建议只讲如何生成 CSR如何自签开发验证如何查看证书内容4.3.1 生成 CSR证书请求openssl req -new -key sign_key.pem -out device.csr4.3.2 自签证书用于开发验证openssl req -x509 -new -key sign_key.pem -days365-out device.crt4.3.3 查看证书内容openssl x509 -in device.crt -text -noout你要看Subject / IssuerValidity有效期Public Key Info4.4 openssl rand生成随机数据openssl rand -hex3232表示 32 字节-hex输出为 hex方便拷贝和保存用途生成测试用密钥生成 nonce/随机种子测试生产环境里随机数质量与密钥存储是大话题本篇只讲工具用法。4.5 OpenSSL 常见排错证书解析失败检查 PEM/DER 格式验签失败确认签的是同一个文件、同一种哈希算法、没有换行或编码变化OpenSSL 3.x 算法不可用可能涉及 provider这个属于环境问题可在书中单独给一个 FAQ5 cryptsetup磁盘/分区加密卷管理工具5.1 它解决什么问题cryptsetup 用于管理LUKS/dm-crypt加密卷。你可以把它理解为负责初始化加密卷格式LUKS 头负责解锁并创建映射设备/dev/mapper/name真正加解密由内核 dm-crypt 完成5.2 最小可复现示例开发验证警告luksFormat 会清空目标分区。# 假设 /dev/sdb1 是测试分区sudocryptsetup luksFormat /dev/sdb1# 解锁创建映射设备sudocryptsetupopen/dev/sdb1 secure_volume# 在映射设备上创建文件系统sudomkfs.ext4 /dev/mapper/secure_volume# 挂载sudomount/dev/mapper/secure_volume /mnt# 写入测试文件echohello|sudotee/mnt/test.txtsync# 卸载并关闭sudoumount/mntsudocryptsetup close secure_volume5.3 你要拿到的证据open成功后是否出现/dev/mapper/secure_volume能否mkfs与mount关闭后 mapper 是否消失辅助排查命令lsblk blkidsudocryptsetup status secure_volume5.4 常见问题选错设备把系统盘格式化极其危险文件系统建在 /dev/sdb1 而不是 mapper 上逻辑错误忘记 close导致资源占用6 veritysetup只读系统镜像防篡改验证6.1 它解决什么问题veritysetup 是 dm-verity 的用户态工具用来为只读镜像生成校验元数据哈希树在挂载或验证前检查镜像是否被篡改它的价值是你可以用非常明确的方式证明镜像只要被改校验一定失败。6.2 最小示例验证篡改可检测准备一个测试镜像ddif/dev/zeroofrootfs.imgbs1Mcount32生成 verity 元数据veritysetupformatrootfs.img rootfs.verity验证veritysetup verify rootfs.img rootfs.verity模拟篡改改 1 个字节printf\x01|ddofrootfs.imgbs1seek10count1convnotrunc veritysetup verify rootfs.img rootfs.verity你应当看到篡改前 verify 通过篡改后 verify 失败6.3 你要拿到的证据“篡改 1 字节必失败”这一点非常关键适合作为验收条款。7 hexdump 与 xxd把二进制看明白二进制文件里经常包含LUKS 头证书/公钥片段固件头magic、版本号、长度、偏移7.1 常用命令hexdump -C firmware.bin|headxxd -g1-l256firmware.bin你通常要看文件开头的 magic 字段某段偏移处是否符合预期7.2 一个实用小技巧配合 grep 搜索二进制中的可见字符串strings -n8firmware.bin|grep-icert8 strings快速发现“是否泄露了不该出现的东西”strings 的作用非常朴素但非常实用从二进制里提取可读字符串典型用途检查是否把测试密钥、证书、路径、域名、账号等打进了固件检查编译信息与版本信息是否暴露常用命令strings -n8app.bin|headstrings -n8app.bin|grep-iBEGINstrings -n8app.bin|grep-ipassword9 file识别文件类型新手强烈建议掌握很多“看不懂”的问题用 file 一下就清楚。filesign_key.pemfiledevice.crtfilefirmware.bin它可以帮你快速判断这是 PEM 还是 DER这是证书还是私钥这是 ELF 还是 raw 镜像10 一套最小可交付的“工具验证流程”如果你想把工具篇写得更像“工程教材”建议在结尾给一个完整的闭环练习。10.1 练习目标对一个更新包做完整性与来源验证10.2 练习材料firmware.bin模拟固件sign_key.pem / verify_pub.pem签名密钥对10.3 发布侧sha256sum firmware.binmanifest.txt openssl dgst -sha256 -sign sign_key.pem -out manifest.sig manifest.txt10.4 设备侧openssl dgst -sha256 -verify verify_pub.pem -signature manifest.sig manifest.txt sha256sum -c manifest.txt10.5 验收点篡改 firmware.bin 任意 1 字节必须失败替换 manifest.txt 必须失败这就是你后续写“启动链与 OTA 安全”时最常复用的工具闭环。11 常见问题速查11.1 为什么我用 openssl 和 sha256sum 算出来不一样不是同一个文件路径文件在计算时被修改命令选的算法不一致sha256 vs sha111.2 cryptsetup 能用但性能很差是否启用了加密加速不在工具层讨论但你可以先用工具确认“功能正确”再到平台章看性能与加速。11.3 veritysetup verify 通过了就安全了吗它证明镜像内容没被改但不加密也不证明来源。12 小结本篇只讲工具但你应该已经形成一个非常实用的能力用 sha256sum/openssl 把文件一致性与签名验签做成证据用 cryptsetup 把“存储保密性”做成可复现流程用 veritysetup 把“篡改可检测”做成验收条款用 hexdump/xxd/strings/file 快速定位二进制与产物类型问题B站博主个人介绍博主书籍-京东购买链接*Yocto项目实战教程加博主微信进技术交流群jerrydev
建议收藏|千笔ai写作,专科生论文写作利器 论文写作,对很多专科生来说是一场“硬仗”。选题难、资料找不全、结构混乱、查重率高、格式错误……这些问题是否让你感到焦虑?面对导师的反复修改要求,你是否常常力不从心?别让这些困难成为你毕业路上的绊脚石。千笔AI࿰… 2026/7/3 2:11:22
摆脱论文困扰!顶尖配置的AI论文网站 —— 千笔·专业学术智能体 你是否曾为论文选题发愁,面对空白文档无从下手?是否在反复修改中感到力不从心,却始终无法达到满意效果?论文写作不仅是学术能力的考验,更是时间与精力的消耗战。对于专科生来说,这更是一场充满挑战的旅程。… 2026/7/4 9:13:36
阿里面试:订单创建失败,积分却扣了?分布式事务 TCC / Seata / Saga 到底选哪个?TCC的三个坑,90%的人答不上来! 写在开头 昨天,一位 5 年经验的粉丝找我复盘 阿里 P7 面试。他说前面聊 JVM 和 Redis 都很顺,结果在 分布式事务 这一块翻车了。 面试官问了一个经典的 “微服务数据一致性” 问题: 面试官: “用户下单场景,涉及三个… 2026/5/17 4:50:30
2026视频转文字提取全操作指南:免费工具、在线网站、手机电脑端完整教程 随着短视频、线上课程、线上会议普及,很多人都需要把视频里的人声内容提取成文字文稿,方便整理笔记、剪辑文案、留存会议记录。2026 年市面上可供选择的提取渠道分为四类:手机端专用 APP、电脑端专业处理软件、无需下载的在线网页工具、微信轻… 2026/7/5 8:46:29
01_CLAUDE.md CLAUDE.md 的作用 CLAUDE.md 是最重要的配置文件,它是项目的整体约束,每次启动 Claude Code 会话时,它都会自动读取并加载这个文件中的内容。 CLAUDE.md文件告诉AI,这个项目是什么、遵循什么规范、有哪些注意事项,让AI… 2026/7/5 8:44:29
05_子代理 什么是子代理 子代理本质上是一个拥有独立上下文窗口的专用 AI 实例。当你在 Claude Code 主对话中下达任务时,Claude 可以判断该任务是否适合委派给某个子代理,由子代理独立完成后将结果摘要返回主对话。 每个子代理拥有: 独立的系统提示词 … 2026/7/5 8:42:28
Encore运行时嵌入Redis服务器:本地开发与生产环境行为一致的秘诀 运行时嵌入Redis服务器:本地与生产环境一致性的探索2026年6月25日,这篇阅读时长6分钟的文章将介绍如何在运行时中为本地开发和测试运行内存版Redis,以及如何确保其行为与生产环境中的Redis一致。Encore:跨环境运行后端代码的利器E… 2026/7/5 8:42:28
【Software Engineering】Agile Development,Built for Change 软件开发模型系列(五):敏捷开发 —— 从"按计划行事"到"拥抱变化"2001 年 2 月,17 个"软件方法论轻量级选手"在犹他州雪鸟滑雪场开了一次会。他们来自不同的方法论阵营——XP、Scrum、DSDM、Crysta… 2026/7/5 8:42:28
稿费赚了3510元,不接单了 独孤做AI供稿1年多。 带过很多学员。 也见过各式各样的学员。 有的学员学历低,只有初中。 有的学员学历高,高到硕士。 那是不是,硕士的学员就一定比初中学员做的快,赚的多呢? 并不是。 有的初中的学员ÿ… 2026/7/5 8:40:28
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36