PKCS#11认识(二)—Object 与 Attribute
文章目录0 背景1 什么是Object2 什么是Attribute2.1 什么是Attribute2.2 为什么设计 Attributes2.3 Attributes分类概览3 借助工具理解概念3.1 Object3.1.1 列出现有Object3.1.2 查询 slots3.1.3 登录 Token 创建 AES Key3.1.4 再次查看Object3.2 Attribute3.2.1 属性结构3.2.2 通用属性所有对象共有3.2.3 密钥相关属性3.2.4 RSA 密钥特有属性3.2.5 证书相关属性4.参考文献0 背景场景问题描述如果我们将一个私钥或者对称密钥写入到HSM/TEE但又不允许导出密钥材料的的情况下下次如何确认里边的密钥与预期导入的密钥一样呢PKCS#11 的解决方案存储的密钥不仅仅含有密钥本身还有会有属性这些属性可以理解为密钥的说明书有密钥的id有密钥的用途类型描述。PKCS#11不仅仅定义了很多标准化的属性还支持属性的扩展。如下图流程可以达到不获取真实密钥而实现校验的目的1 什么是ObjectObject 是 PKCS#11 对所有安全资源密钥、证书、数据等的统一抽象。它屏蔽了不同资源类型的差异使应用程序可以通过统一的 API 创建、查找、使用、复制和销毁对象而对象的具体特性则由 Attributes 描述应用程序通过 Object Handle 引用和操作这些对象。这里的安全资源包括密钥Key证书Certificate普通数据Data厂商扩展对象Vendor ObjectPKCS#11 │ 管理 Object │ ┌────────┴────────┐ │ │ Handle Attributes 如何访问 对象是什么2 什么是Attribute2.1 什么是AttributeAttribute属性就是用于描述 PKCS#11 Object 特征的一组键值对Key-Value Pair。例如一把 AES 密钥AES Key在 PKCS#11 中并不是只有Key Value而是一个 Object 数据Value Attributes元数据Object ├── CKA_CLASS Secret Key ├── CKA_KEY_TYPE AES ├── CKA_LABEL AES_KEY ├── CKA_ID 01 ├── CKA_VALUE ******** ├── CKA_ENCRYPT TRUE ├── CKA_DECRYPT TRUE ├── CKA_WRAP FALSE ├── CKA_UNWRAP FALSE ├── CKA_SENSITIVE TRUE ├── CKA_EXTRACTABLE FALSE └── ...2.2 为什么设计 Attributes如果没有 Attributes一把密钥只有00112233445566778899AABBCCDDEEFFKCS#11 根本不知道是 RSA是 ECC是 AES能不能签名能不能加密能不能导出谁拥有它敲黑板PKCS#11 不仅需要保存 Key Value更需要保存 Key 的身份和行为2.3 Attributes分类概览3 借助工具理解概念3.1 Object3.1.1 列出现有Object上一篇文章中在token中生成了RSA密钥pkcs11-tool \ --module /usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so \ --login \ --pin 123456 \ --list-objects Using slot 0 with a present token (0x7de1ea57) Private Key Object; RSA label: MyRSA_key1 ID: 01 Usage: decrypt, sign, signRecover, unwrap Access: sensitive, always sensitive, never extractable, local Public Key Object; RSA 2048 bits label: MyRSA_key1 ID: 01 Usage: encrypt, verify, verifyRecover, wrap Access: local3.1.2 查询 slots目的为了查询slot的 Label下一步新建AES key的时候需要指定softhsm2-util --show-slots Available slots: Slot 2111957591 Slot info: Description: SoftHSM slot ID 0x7de1ea57 Manufacturer ID: SoftHSM project Hardware version: 2.6 Firmware version: 2.6 Token present: yes Token info: Manufacturer ID: SoftHSM project Model: SoftHSM v2 Hardware version: 2.6 Firmware version: 2.6 Serial number: e63da68afde1ea57 Initialized: yes User PIN init.: yes Label: test13.1.3 登录 Token 创建 AES Keypkcs11-tool \ --module /usr/lib/softhsm/libsofthsm2.so \ --login \ --pin 123456 \ --token-label test1 \ --keygen \ --key-type AES:16 \ --label AES_KEY_128 \ --id 023.1.4 再次查看Object发现已经新增了~/Desktop$ pkcs11-tool \ --module /usr/lib/softhsm/libsofthsm2.so \ --login \ --pin 123456 \ --token-label test1 \ --list-objects3.2 Attribute3.2.1 属性结构/* General Structure definitions */structCK_ATTRIBUTE{CK_ATTRIBUTE_TYPE type;void*pValue;CK_ULONG ulValueLen;};3.2.2 通用属性所有对象共有CKA_CLASS // 对象类型密钥/证书/数据对象等 CKA_TOKEN // 是否存储在 Token 中true持久化, false会话对象 CKA_PRIVATE // 是否需要登录才能访问 CKA_LABEL // 人类可读的标签名 CKA_MODIFIABLE // 属性是否可修改 CKA_COPYABLE // 是否可复制 CKA_DESTROYABLE // 是否可销毁3.2.3 密钥相关属性CKA_KEY_TYPE// 密钥类型RSA/EC/AES等CKA_ID// 密钥标识符用于匹配公私钥对和证书CKA_SENSITIVE// 是否敏感true私钥值不可读出CKA_ENCRYPT// 是否可用于加密CKA_DECRYPT// 是否可用于解密CKA_SIGN// 是否可用于签名CKA_VERIFY// 是否可用于验签CKA_EXTRACTABLE// 密钥是否可导出CKA_VALUE_LEN// 密钥长度3.2.4 RSA 密钥特有属性CKA_MODULUS// 模数 nCKA_MODULUS_BITS// 模数位数如 2048CKA_PUBLIC_EXPONENT// 公钥指数 eCKA_PRIVATE_EXPONENT// 私钥指数 d3.2.5 证书相关属性CKA_CERTIFICATE_TYPE // 证书类型X.509 等 CKA_SUBJECT // 证书主题 CKA_ISSUER // 证书颁发者 CKA_SERIAL_NUMBER // 序列号 CKA_VALUE // 证书的 DER 编码内容4.参考文献PKCS #11 Cryptographic Token Interface Base Specification Version 2.40https://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.htmlSoftHSM2https://github.com/softhsm/SoftHSMv2OpenSChttps://github.com/OpenSC/OpenSC

相关新闻

AI时代,为什么泛知识能力正在变得越来越重要

AI时代,为什么泛知识能力正在变得越来越重要

——从专业深度到知识连接能力的转变AI 时代,人类的竞争力正在从“掌握多少知识”转向“如何组织、理解和应用知识”。摘要过去几十年,技术人员的成长路径非常明确:选择一个方向,持续深入,成为某个领域的专家。程序员学…

2026/7/30 0:01:20 阅读更多 →
2026吉安黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐

2026吉安黄金回收白银回收铂金回收工商备案可查全城上门回收旧金老店联系方式推荐

2026吉安黄金白银铂金回收实测榜单|工商备案可查全城上门回收旧金老店联系方式推荐 吉安黄金回收哪家靠谱|工商公安双备案中检认证实体门店 吉安贵金属回收店铺遍地丛生,行业套路层出不穷,不少市民变现遭遇虚高报价、克扣损耗、未…

2026/7/29 20:18:54 阅读更多 →
安得和众|制造行业:产线图纸与工艺参数安全防护方案

安得和众|制造行业:产线图纸与工艺参数安全防护方案

行业背景:图纸流转失控,工艺数据外泄风险高企装备制造企业的核心竞争力凝结在一张张设计图纸和一份份工艺参数中。从研发设计到工艺规划、从生产制造到外协加工,图纸和工艺数据在企业内部及供应链上下游高频流转。然而,多数制造企…

2026/7/29 1:47:20 阅读更多 →

最新新闻

ADS设计2.4GHz切比雪夫微带带通滤波器:从理论到EM仿真实战

ADS设计2.4GHz切比雪夫微带带通滤波器:从理论到EM仿真实战

1. 项目概述:从需求到方案 最近在做一个射频前端的项目,里面有个模块对带外抑制的要求特别高,普通的巴特沃斯滤波器插损和带外滚降总是差那么点意思,甲方爸爸的指标又卡得死。折腾了好几轮,最后还是决定上切比雪夫&…

2026/7/31 12:23:13 阅读更多 →
Axure RP 中文语言包深度解析:技术实现与高效部署方案

Axure RP 中文语言包深度解析:技术实现与高效部署方案

Axure RP 中文语言包深度解析:技术实现与高效部署方案 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn Axure RP 中文…

2026/7/31 12:23:13 阅读更多 →
OfflineInsiderEnroll深度解析:无微软账户加入Windows预览计划的终极方案

OfflineInsiderEnroll深度解析:无微软账户加入Windows预览计划的终极方案

OfflineInsiderEnroll深度解析:无微软账户加入Windows预览计划的终极方案 【免费下载链接】offlineinsiderenroll OfflineInsiderEnroll - A script to enable access to the Windows Insider Program on machines not signed in with Microsoft Account 项目地址…

2026/7/31 12:23:13 阅读更多 →
终极免费视频下载解决方案:VideoDownloadHelper完整指南

终极免费视频下载解决方案:VideoDownloadHelper完整指南

终极免费视频下载解决方案:VideoDownloadHelper完整指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为网页视频无法保存而…

2026/7/31 12:23:13 阅读更多 →
新版ASTM D4169-23E1运输包装测试标准是啥?

新版ASTM D4169-23E1运输包装测试标准是啥?

一、标准定位:别再混淆!它不是快递小包测试模板很多包装从业者容易把 ASTM D4169 和单包裹标准 D7386 弄混,二者底层逻辑完全割裂。D4169-23E1 面向整托货物、大件设备、多式联运整箱,覆盖工厂出库到终端全流通链路;而…

2026/7/31 12:23:12 阅读更多 →
切问学术:深耕学术研究领域 为广大学者提供专业高效的学术服务平台

切问学术:深耕学术研究领域 为广大学者提供专业高效的学术服务平台

做科研最耗人的,从来不是难题本身,而是检索、整理、写作、分析里的重复劳动——2026年,一批更精准、更贴合科研全流程的AI工具已成熟,能帮你把时间还给思考。本文实测7款全新工具,覆盖文献检索、阅读、写作、数据分析、…

2026/7/31 12:22:12 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻