HSM 和自定义模块

2023-11-29

我们正在实施安全关键系统,其中FIPS 140-2需要兼容的 HSM(硬件安全模块)来生成和存储密钥材料、执行加密/解密以及运行自定义代码,并为自定义模块设置以下要求:

  • 模块可通过 RPC 访问
  • 模块可以访问所有 HSM 密钥和服务
  • 模块具有内存和持久存储(均为 1+ MB)
  • 模块内存受到保护(FIPS 140-2 3 级以上)

对于HSM服务本身,需要:

  • 支持 AES、RSA 和 HMAC
  • 有键的别名
  • 生成带有别名的新密钥PKCS11界面
  • 通过别名检索公钥和证书PKCS11界面
  • 删除带有别名的键PKCS11界面

由于 NDA,有关 HSM 产品的信息非常少,因此很难评估要求和选项。任何标准或供应商特定的解决方案是否满足这些要求,例如Utimaco?


如果您确实需要在 HSM 设备内运行自定义代码,您可以在多个供应商中进行多种选择:

SafeNet 保护服务器 (and SafeNet Luna 网络/PCIe HSM从 7.4 版本开始)

SafeNet ProtectServer HSM 提供独特的灵活性 应用程序开发人员创建自己的固件并执行它 在 HSM 的安全范围内。称为功能模块, 该工具包提供了全面的工具来开发和部署 定制固件。

泰雷兹nShield (CodeSafe)

大多数 nShield HSM 还支持托管关键数据的独特功能 强化安全边界内的应用程序,因此您可以 除了建立防篡改业务流程 保护加密操作。

Utimaco 加密服务器 (SDK)

CryptoServer 软件开发套件 (SDK) 是专业的 所有 Utimaco 硬件安全模块的开发环境。它 使集成商和最终用户能够创建特定的应用程序, 例如专有算法、自定义密钥派生程序或 在防篡改环境中运行的复杂协议 CryptoServer 硬件安全模块。由于 SDK 提供完全访问权限 根据 Utimaco 基础固件,可以开发定制固件模块 在很短的时间内。


我敢打赌,如果您确实需要 FIPS 140 认证,您还需要验证在 HSM 内运行的自定义代码(因为此类代码非常强大,可以绕过访问控制、以纯文本形式提取密钥……因此它很容易打破任何安全假设)。


任何产品都应该满足您的要求(甚至无需在 HSM 内运行自定义代码——这取决于您的应用程序需要的控制级别)。

祝你好运!

免责声明:我不是加密专家,所以请验证我的想法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HSM 和自定义模块 的相关文章

  • VSCode 扩展的安全性和隐私性

    我发现 VSCode 有很多不错的扩展 然而 我担心这些扩展是否将我的代码发送到他们的任何服务器 有什么办法可以查到吗 我可以使用 fiddler 并隔离插件中可能发生的调用 但不想对我安装的每个扩展都这样做 VScode 团队对此有一些指
  • 信任所有将文件发送到 https Web 服务的 java 类

    我需要编写自己的类来告诉 mule 与服务 wsdl 的 https 连接已验证 我的 mule 项目已经接近完成 但最后一块丢失了 在特定的 url 发送文件 我想要实现的目标 建立连接并将 xml 发送到目标 url 读取 xml 格式
  • 如何编写凯撒密码 Python

    我不知道如何开始编写程序 input input Input the text you would like encrypted def cipher text letter code for i in input number code
  • 易于使用的Python加密库/包装器?

    我想在Python中用密码加密任意长度的字符串 我会比较喜欢not处理填充 密钥生成和 IV 因为说实话 我对密码学还不太了解 而且我想避免搞砸 我还更喜欢使用众所周知的密码作为 AES 我理想的库 我们称之为 MagicCrypt 会像这
  • Java GuardedString - 用于加密的随机密钥是否存储在 Java 堆内存中?如果不是,那么密钥保存在哪里?

    Oracle 的 org identityconnectors common security GuardedString 要转换为 GuardedString 的原始数据需要由 EncryptorImpl class 随机生成的加密密钥
  • RSA 加密-解密:BadPaddingException:数据必须以零开头

    对于一个被问了很多次的问题 我很抱歉向您询问您的技能 我有一个关于 RSA 加密的问题 我已经检查过有关此问题的其他主题 但没有找到任何有用的答案 我希望你能帮助我 我想读取一个文件 加密其内容 然后解密它并将这些解密的字节放入一个新文件中
  • 加密成本高,解密成本低

    我希望该用户 攻击者加密数据并发送给服务器 现在我想要一种与标准算法完全相反的算法 使用快 难以解密 即很难使用服务器发送的密钥来加密密码等数据 以防止随机攻击 但很容易解密这样服务器在验证用户时消耗的时间非常少 但是对于攻击者来说 每次使
  • 如何在将数据发送到 Firebase 数据库之前对其进行加密?

    我正在使用 Firebase 实时数据库制作聊天应用程序 我知道 Firebase 非常安全 只要您的规则正确 但我自己可以阅读使用我的应用程序的人的所有聊天记录 我想阻止这种情况 为此我需要一种解密和加密方法 我尝试使用凯撒解密 但失败了
  • 如何在 C# 中创建 PKCS12 .p12 文件?

    这可能是一个n00b问题 但我在这方面确实没有任何经验 我需要创建一个包含 X509 证书和私钥的 p12 捆绑包 我当前有两个对象 X509Certificate2 和包含关键信息的 RSAParameters 对象 如何将它们合并到 p
  • Cloud Firestore 安全规则使用的语言名称是什么?

    我想知道用于 Cloud Firestore 安全规则的语法名称 如下所述https firebase google com docs firestore security get started authuser 0 https fire
  • 在 MySQL 表中存储用户密码的最佳 PHP 哈希方法?

    我已经阅读 Stack Overflow 问题大约 15 分钟了 每一个问题似乎都与我之前读到的问题相矛盾 Bcrypt SHA1 MD5 等 我目前对我的密码进行 MD5 但我想让我的数据库在发生泄露时更加安全 我知道这个问题已经被问了一
  • 出于安全目的,您是否有理由不执行自己的算法来打乱 ID?

    我计划实现我自己的非常简单的 哈希 公式 为具有多个用户的应用程序添加一层安全性 我目前的计划如下 用户创建一个帐户 此时后端会生成一个 ID ID 通过公式运行 假设 ID 57 8926 36 7 或同样随机的东西 然后 我将新的用户
  • 使用 SSL 设置 .Net IBM.XMS 客户端

    我必须创建一个客户端来侦听队列上的消息 正在使用 SSL 我正在 dot net 中进行开发 我浏览了数百页的文档和论坛 找到了一些清晰简洁的内容 但看起来事实并非如此 我有一个 jks 并且我能够 telnet 到正在发布队列的服务器 下
  • 安全转义表名/列名

    我在 php 中使用 PDO 因此无法使用准备好的语句转义表名或列名 以下是我自己实现它的万无一失的方法 tn str replace REQUEST tn column str replace REQUEST column sql SEL
  • ActiveMQ发送ObjectMessage

    我正在使用 ActiveMQ 在我当前的项目中实现消息系统 我需要发送和接收 Java 对象 而不是简单的文本或二进制消息 Java 对象 我的消息对象 根据需要实现了 Serialized 接口 ActiveMQ 的最新版本添加了一些安全
  • 如何将pgp私钥传输到另一台计算机? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 I read 本文 http www robertsosinski com 2008 02 18 working with pgp and mac o
  • 如何在 Web 应用程序中使用 Javascript 安全地访问 Windows Azure 移动服务?

    我需要一本 web javascript 安全入门书 根据如何使用 Windows Azure 移动服务的 HTML JavaScript 客户端 http www windowsazure com en us develop mobile
  • AES 输出是否小于输入?

    我想加密一个字符串并将其嵌入到 URL 中 因此我想确保加密的输出不大于输入 AES 是可行的方法吗 不可能创建任何始终会创建比输入更小的输出的算法 但可以将任何输出反转回输入 如果您允许 不大于输入 那么基本上您只是在谈论同构算法alwa
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private

随机推荐

  • 在 Windows 批处理脚本中解析并存储 json 文件中的文本

    我有一个包含以下内容的 json 文件 STATUS PASS PASSRATE 96 95238 我想存储密码 以便我可以使用它附加到文件名 Check jsonextractor bat您可以使用它通过给定的点表示的对象路径从 json
  • 将生成的代码保存在“rtwbuild”中的特殊文件夹中

    我在用rtwbuild从模拟图生成 C 代码 并希望将生成的代码保存到任意目录 有什么办法可以做到吗 您可以通过 3 种不同的方式控制生成文件的文件夹 您可以在 Simulink Preferences 中设置 代码生成文件夹 选项 您可以
  • 为什么 Java 编译器作为可执行文件而不是 JVM 字节码分发?

    在答案中Java 字节码中的平台独立性 据说Java编译器在所有平台上都是相同的 我确实明白这一点 我的问题是为什么 Java 编译器作为 exe 文件 对于 Windows 分发 为什么不作为 JVM 字节码由 JRE 执行 这样就不会有
  • 如何将 Windows Phone 8.1 Silverlight 应用程序发布到 Windows Phone 商店?

    我创建了 Windows Phone 8 1 Silverlight 应用程序 但无法将其上传到 WP 商店 我想用Create App PackagesVisual Studio 2013 Professional 中提供了一个工具 但对
  • Entity Framework 6 ToString()、格式化(DateTime 格式)、查询拦截

    我没有找到在 DateTime DateTime 字段中使用 linq2sql 进行搜索的正确方法 db Items Where x gt x DateTime1 ToString Contains 2014 08 不起作用 因为在 lin
  • 如何使用纬度和经度计算距离?

    我有一个带有纬度和经度的表 Lat Longitude 40 8151 73 0455 U 36103 40 8132 73 0476 U 36103 所以我想要的是我从我的页面传递两个经度和纬度我如何使用存储过程找到最近的地方我对此没有太
  • 如何在 Swift 中保存从 UIImagePickerController 中选取的图像?

    我正在构建一个应用程序 让用户从其照片库中选择图像 我正在使用这段代码来保存它 func imagePickerController picker UIImagePickerController didFinishPickingImage
  • 捕获要在 ASP.NET 中处理的 IIS 级别错误

    我正在 IIS 7 上使用 C 开发一个 ASP NET 站点 但我希望得到一个也适用于 IIS 6 的答案 该网站的一部分功能是能够一次上传最多 5 张图像 我有一个很好的算法来调整上传的图像大小到我的最佳大小和比例 因此 我唯一真正的大
  • 使用正则表达式提取括号之间的文本

    在这样的句子中 x 阿尔法 33 贝塔 我提取一组括号内的数据作为 x 33 使用 VBA 正则表达式模式 x d 我无法直接将未括起来的数据数组提取为 x 33 使用网络资源建议进行模式 lt 这是 VBA 特定问题吗 即对其 Regex
  • Visual Studio Code - 如何向 python 路径添加多个路径?

    我正在尝试使用 Visual Studio Code 到目前为止 它看起来很棒 轻 快等 我正在尝试让我的 Python 应用程序之一运行 该应用程序使用虚拟环境 但也使用不在我的虚拟环境的站点包中的库 我知道在settings json
  • 公历到希伯来语

    如何将公历日期转换为等效的希伯来日期 另外请告诉我这些日历 因为我对此了解不多 有一个方便的类叫做NSCalendar 您可以像这样创建一个 NSCalendar gregorian NSCalendar alloc initWithCal
  • 自动 Killall 然后 Killall 9 级

    有时我想killall某个进程 但正在运行killall不起作用 因此 当我尝试再次启动该进程时 它会失败 因为前一个会话仍在运行 然后我就得无聊的跑killall 9在上面 所以为了简化我的生活 我创建了一个realkill脚本 它是这样
  • java.io.FileNotFoundException:(访问被拒绝)

    我试图读取文件夹内的文件 但是当我运行程序时它会抛出此异常 我也尝试过其他一些文件夹 它抛出相同的异常 Exception in thread main java io FileNotFoundException C backup Acce
  • Delphi 中重复直到中使用的函数 Sleep() 的奇怪行为

    我的功能是单击按钮时的反应 当我单击按钮时 它应该开始重复并写入数组中的值 并将它们显示在主窗体的标签中 问题在于功能睡眠 有一些错误或其他原因 因为当我单击按钮时 它等待了很长一段时间 然后它最终开始执行操作 但速度很快 让我们看看我的代
  • JavaScript 缩放整个 Div

    我正在寻找一个可以放大整个 div 的 JQuery 脚本 我找到了以下插件 http test dpetroff ru jquery iviewer test and 这些插件正是我需要的东西 只需用滚轮放大和缩小 但我有一个问题 我需要
  • npm install 在出现如此多的警告后给出错误

    我的 ReactJS 项目直到上周都运行良好 但从周日开始 它在 npm install 上出现以下错误 PS C Projects Interface ClientApp gt npm install npm WARN deprecate
  • 如何使用IpropertyStorage读取文件的属性?

    如何使用 iPropertyStorage 读取文件的属性 如标题 作者 页数等 谁知道c 中的代码请发布它 实际上 我正在尝试以编程方式 使用 c 读取文件属性 标题 摘要 作者 注释等 当您看到文件的属性时 摘要 选项卡上显示的内容 F
  • 事务回滚,但插入一条记录

    大家好 我已经使用 jsf spring 3 0 hybernate JPA 和atomikos 进行了 XA 交易管理 mysql 是我的后端 这里一切正常 但是插入操作 当异常抛出时 交易应该回滚 但是它没有发生 这是我们应用程序的一个
  • 使用jquery附加vue js组件

    我正在尝试动态附加vue使用 jquery 将组件添加到我的应用程序中 但什么也没有发生 附加元素没有渲染 div div 我想要的结果是附加时
  • HSM 和自定义模块

    我们正在实施安全关键系统 其中FIPS 140 2需要兼容的 HSM 硬件安全模块 来生成和存储密钥材料 执行加密 解密以及运行自定义代码 并为自定义模块设置以下要求 模块可通过 RPC 访问 模块可以访问所有 HSM 密钥和服务 模块具有