金融行业专题|超融合对国密卡和国产加密技术的支持能力如何?

news2024/11/17 15:57:52

目前,不少金融机构都使用国密卡(满足国密算法要求的加密卡)和国产密码解决方案保障金融信息安全。而在传统虚拟化架构下,单块加密卡通常只能服务一个系统,经常会出现资源利用率低、加密处理性能不足等问题,影响业务开展并提升使用成本。

近期,SmartX 与某金融机构开展合作,共同探索超融合信创云基础设施对国产加密技术的支持能力。得益于 SmartX 超融合虚拟化 PCIe 设备虚拟化、VFIO 设备直通,以及对于基于 CPU 实现加密方案兼容适配等技术优势,超融合信创云基础设施不仅可良好对接国密卡、海光 HCT 等国产加密技术,还可进一步优化资源分配,提升加密效率,满足现代金融行业对于加密服务的需求。

本文,我们将简单介绍国产加密技术现状,并分享金融用户基于超融合架构开展的国产加密技术探索。

更多金融用户行业实践与超融合支持能力验证,请下载阅读《金融核心生产业务场景探索合集》系列电子书。

1 国产加密技术:发展、场景与实现

1.1 国产加密技术发展与现状

为了保证金融交易的安全性,国内金融机构曾广泛使用国际通用的商业密码算法对关键数据进行加密。例如传统 SSL 网关技术,就是通过纯软件的方式结合国际商业密码算法实现的。

hci-encryption-adatption-1.png

图 1:传统 SSL 网关系统逻辑架构图

而面对复杂多变的国际形势,密码算法的自主可控能力成为重中之重,加密技术的“国产化转型”也被提上日程——证监会发布的《证券期货业密码应用工作规划(2015-2020 年)》明确强调,证券期货机构需在 2020 年全面应用国产密码技术保护行业信息安全。同时,等保三级标准也对国产密码算法的应用提出了要求,在全栈信创验收中,符合国家密码算法标准也会获得更多的分数。

国产密码算法是指由中国国家密码管理局发布的密码算法标准,旨在保障国家信息安全。目前,国家密码管理局已发布了一系列国产商用密码标准算法,包括 SM1(SCB2)、SM2、SM3、SM4、SM7、SM9 以及祖冲之密码算法(ZUC)等,其中 SM1 和 SM7 对外是不公开的,若想调用则需要通过加密芯片的接口。

1.2 国产加密技术使用场景

国产密码的引入要求通常发生在业务流程的设计和更新阶段,如 CA 证书改造、算法升级改造、支付系统改造、交易系统改造、终端系统改造等场景下,金融机构可能会选择实施符合国密标准的加密算法。这涉及到评估现有系统的加密方案,选择合适的国密算法,以及更新系统以集成新的加密技术。在实施过程中,可能需要进行算法替换、系统测试和性能调优,以及硬件设备、云底座选型以确保业务流程的顺利运行。

常见国产密码场景:

  1. 数据加密:在数据加密传输、加密存储方面,主要通过国产的对称加密算法 SM4 替换 DES/AES 等国际算法。
  2. 身份认证:在防止身份信息被篡改、冒用方面,主要通过国产的非对称加密算法 SM2 替换 RSA 等国际算法。
  3. 消息认证:在保证数据完整性、防止消息被篡改方面,主要通过国产哈希函数算法 SM3 替换 MD5/SHA-256 等国际算法。

除此之外,SM1 算法安全保密强度及相关软硬件实现性能与 AES 相当,主要实现芯片领域的国密替换,ZUC 算法主要用于移动通信加密。

1.3 国产加密技术实现与改造

国产密码算法的实现主要依赖于加密机或加密卡:加密机是一种独立的硬件设备,专门用于执行密钥管理和加密运算,通常被设计来处理高强度的加密任务;加密卡是一种可以插入服务器或其他计算设备的硬件组件,用于执行加密运算和安全密钥管理。与加密机相比,加密卡成本更低、部署更灵活,具备易于扩展、易于集成等优势,在适应性和能效比上也优于加密机,是一种更加实用和经济的加密解决方案。

我们以网上交易系统模块为例介绍下加密卡的使用模式。网上交易系统通常采用账户 + 身份认证口令进行认证,通过单向 SSL 通道进行加密传输,从客户端发出的指令流到达服务端后将根据请求功能的不同把不同的交易指令送达后台系统并转发到交易所和银行。该系统的国产密码改造方案主要是由支持国密算法的协同签名网关结合了数字证书系统和硬件加密卡。架构示意如下所示:

hci-encryption-adatption-2.png

协同签名网关包含了安全认证网关和协同签名服务。其中安全认证网关主要负责客户端的安全接入和通讯数据的加密,协同签名服务以及数字证书系统负责维护客户端身份的安全性。硬件加密卡安装在主板上,为协同签名网关和密钥管理系统提供基础的密码计算和密钥存储服务,应用层通过使用加密卡的驱动程序和接口来调用加密功能。此外,加密卡还提供硬件级别随机数的能力来确保密钥安全。

在进行国密改造时,金融机构需要评估现有系统的加密方案、选择合适的国密算法,以及更新系统以集成新的加密技术。目前,成熟的国产加密解决方案种类繁多,选择哪一种需要根据业务需求和技术对接要求综合评估,涉及到安全性、性能、成本以及与现有系统的兼容性等多个方面的考量。同时,国密改造也可能涉及 IT 基础架构的选型,需充分评估 IT 基础架构的架构统一性、先进性、成熟性、可靠性、规范性、兼容性、扩展性等方面,以确保业务流程的顺利运行。

2 用户实践:验证 SmartX 超融合与国产加密技术的适配效果

为了提升交易系统互联网接入的安全级别,优化密码服务的成本和灵活性,某证券用户针对超融合信创环境下某国产厂商国密卡和海光 HCT(Hygon Cryptographic Technology)技术的适配进行了深入探索

2.1 与某国产国密卡的适配

2.1.1 适配思路

在传统的加密卡应用场景中,通常一台服务器配备的单块加密卡仅服务于一个系统,这种一对一的配置方式在很多情况下会导致资源的低效利用,尤其是当服务器的计算能力和加密需求不是恒定的时候,加密卡的潜能往往无法得到充分发挥。

针对这一问题,SmartX 超融合可通过 PCIe 设备虚拟化技术,即 SR-IOV(Single Root Input/Output Virtualization),来优化资源配置。通过 SR-IOV 技术,一块物理的加密卡能够被分割为多个独立的虚拟加密卡,每个虚拟加密卡都可以分配给不同的虚拟机使用。这种方式不仅显著提升了加密卡的利用率,还增加了系统的灵活性和扩展性。此外,SR-IOV 技术的引入还意味着加密任务可以在多个虚拟环境中并行进行,不仅提高了加密处理的效率,也为加密任务的管理和监控提供了便利。

2.1.2 适配流程

适配的软硬件环境:

  • 某国产厂商加密卡 PCIe v7.x
  • Suma R6240 海光服务器(或者其他适配该加密卡的海光服务器)
  • SMTX OS 5.0.5 及以上版本

服务器 BIOS 配置:

除了常规配置,并特别注意开启以下选项(这些设置对于后续操作至关重要):

  • IOMMU: 设置为 Enabled
  • SR-IOV: 设置为 Enabled

具体适配过程:

1. SMTX OS 安装部署:在海光平台安装 SMTX OS 的主机操作系统,进行 SmartX 超融合集群的常规安装部署,通过 CloudTower 启用节点 IOMMU 特性。2. 国密卡 PF 驱动安装:

  • 首先,将国密卡驱动上传到节点目录,并解压。
  • 执行 pf driver 安装程序。安装完成后,运行 lspci 命令,预期如下输出显示设备列表,其中第一个设备是 PF,其余的设备是 VF。
c1:00.0 Encryption controller: Device 464d:e700 (rev 01)
c1:01.0 Encryption controller: Device 464d:e780 (rev 01)
c1:01.1 Encryption controller: Device 464d:e780 (rev 01)
c1:01.2 Encryption controller: Device 464d:e780 (rev 01)
c1:01.3 Encryption controller: Device 464d:e780 (rev 01)
c1:01.4 Encryption controller: Device 464d:e780 (rev 01)
c1:01.5 Encryption controller: Device 464d:e780 (rev 01)
c1:01.6 Encryption controller: Device 464d:e780 (rev 01)
c1:01.7 Encryption controller: Device 464d:e780 (rev 01)
c1:02.0 Encryption controller: Device 464d:e780 (rev 01)
c1:02.1 Encryption controller: Device 464d:e780 (rev 01)
c1:02.2 Encryption controller: Device 464d:e780 (rev 01)
c1:02.3 Encryption controller: Device 464d:e780 (rev 01)
c1:02.4 Encryption controller: Device 464d:e780 (rev 01)
c1:02.5 Encryption controller: Device 464d:e780 (rev 01)
c1:02.6 Encryption controller: Device 464d:e780 (rev 01)
c1:02.7 Encryption controller: Device 464d:e780 (rev 01)

3. VF 直通到虚拟机:

  • 以 c1:01.1 为例,首先在 Tower 界面查找虚拟机的 uuid,并执行 virsh list 来确定虚拟机的 Id(注意,确保虚拟机已经启动)。
  • 创建 pci.xml 文件,并替换其中的 bus=’0x’ slot=’0x’ function=’0x’ 为对应 c1:01.1 的内容,实现 VF 直通到指定虚拟机。
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<address domain='0x0' bus='0xc1' slot='0x01' function='0x1'/>
</source>
</hostdev>
  • 将 VF 直通给该虚拟机
virsh attach-device 1 pci.xml

4. 虚拟机中的驱动安装:

  • 将驱动包上传到虚拟机目录,并进行 vf driver 安装。
  • 执行 lspci 命令,预期如下输出证明安装完成
00:0e.0 Encryption controller: Device 464d:e788 (rev 01)
2.1.3 适配结果

通过与 SmartX 超融合适配,国密卡能够被高效地分配给虚拟机使用。具体来说,一块国密卡通过虚拟化技术最多能够生成 16 个 VF,这些 VF 可以被独立挂载到不同的虚拟机上。用户此前对 SSL 网关进行国密改造采用的是一虚二方式,单块国密卡虚化出两块 VF 分别提供给两台虚拟机使用。SmartX 超融合搭配国密卡的方案,不仅优化了资源的利用率,还显著提升了性价比,使得单一物理设备能够支持更多的虚拟机环境。

在集成国密卡到 SMTX OS 操作系统的过程中,SmartX 研发团队还与加密卡厂商工程师共同定位并解决了在驱动适配中遇到技术问题。此外,针对不同的操作系统,SmartX 工程师还可以按照需求进行专门的驱动适配工作,确保了国密卡在多种 OS 环境下的兼容性。

目前该方案已经完成了对接,在客户环境中进行应用并持续进行更新迭代,在未来 SmartX 超融合更新版本中也将正式加入标准支持功能。

2.2 与海光 HCT 的适配

海光 HCT 是基于密码协处理器和密码指令集自主设计和研发的一套密码算法加速技术软件开发套件,旨在提供软硬件结合的国密算法加密服务。HCT 技术通过在 CPU 中集成专门的加密指令集,能够在不依赖外部硬件模块的情况下,直接利用 CPU 资源高效执行国密算法,具备降低硬件成本、简化系统架构、提高加密处理的效率(可以达到高端物理加密卡性能的 2-3 倍)等优势。

2.2.1 适配思路

通过 Hygon 提供的 CCP* 设备,运行配套提供的 HCT** 加密套件即可实现加密。因此,若想实现 HCT 支持,需要给 host kernel 和 QEMU 打上 Hygon 的 HCT 设备支持 patch,然后将 CCP 设备以 MDEV 的形式透传给虚拟机使用,从而实现在 SMTX OS 上支持虚拟机使用 HCT。*CCP:全称 Crypto Coprocessor,以一种专门用来辅助加密的 co-processor,一般很多加密算法非常复杂,因此也需要硬件的协助来让其变得更加高效。**HCT:基于 CCP 开发的密码加速开发套件。

而 Hygon HCT 设备是作为 QEMU 中的一种 VFIO 设备来实现的。通常用户空间对物理设备的访问都需要经过内核,VFIO 则是一种让硬件设备直接安全地暴露给用户空间的解决方案框架,虚拟机也是利用了这个框架实现的设备透传。

2.2.2 适配流程

采用海光自带的 HCT 加密套件实现对于传输数据的加密,从而避免使用加密卡的方式。业务系统的主要应用场景为 SSL 网关提供服务。

适配的软硬件环境:

  • 海光 7380 CPU
  • 新华三海光芯片服务器(支持 BIOS 版本 2.1.0.4 及以上)
  • SMTX OS 超融合软件

服务器 BIOS 配置:

除了常规配置,需特别注意开启以下选项:

  • HYGON CBS -> NBIO Common Options -> NB Configuration -> IOMMU [Enabled]
  • HYGON CBS -> Moksha Common Options -> SEV-ES ASID Space Limit 1
  • HYGON CBS -> Moksha Common Options -> SMEE Control [Enabled]

具体适配过程:

1. 离线导入安全证书:

(1) 获取芯片的 Chip ID 和证书版本号

$ cd /opt/hygon/bin
$ sudo ./hag general get_id
$ sudo ./hag general hgsc_version

(2) 网站下载证书说明:在可以连接互联网的机器上,访问 https://cert.hygon.cn/hgsc,如下图所示,输入服务器的 Chip ID、证书版本号,以及公司信息。

hci-encryption-adatption-3.png

(3) 导入证书

$ cd /opt/hygon/bin
$ sudo ./hag general hgsc_import -offline -in /realpath/to/hgsc_certchain

说明:将下载的证书拷贝到对应的服务器,证书名称类似为hygon-hgsc-certchain-v1.0-H905P0005040204.bin。如下图,使用 hag 离线导入该证书。

hci-encryption-adatption-4.png

2. 确认证书导入成功

$ cd /opt/hygon/bin
$ sudo ./hag csv platform_status

hci-encryption-adatption-5.png

3. CCP 设备透传

后续更新 kernel 及 QEMU patch ,可以通过后台支持指定 CCP 设备透传,这里对具体步骤不进行赘述。

2.2.3 适配结果

通过 VFIO 方法透传 CCP 设备给到指定虚拟机后,成功实现了在 SmartX 超融合平台虚拟机上支持 HCT。

在这个过程中,SmartX 的技术人员克服了 libvirt 设备识别问题、HCT 套件卡死、内存泄漏等多项技术挑战,仅用两周时间就完成了客户对 HCT 环境的需求交付。同时,实现过程中还排查出 HCT 驱动问题,已反馈海光团队进行修复。

目前该方案已经完成了对接,在客户环境中进行应用并持续进行更新迭代,在未来 SmartX 超融合更新版本中也将正式加入标准支持功能。

3 总结

总体而言,SmartX 超融合信创云基础设施可良好适配国产加密卡和海光 HCT 解决方案,充分利用 SmartX 超融合虚拟化 I/O 加速等技术支持优势和广泛的硬件兼容性,提升资源利用率与加密效率,同时解决适配中遇到的多种技术问题,帮助用户顺利实现国密改造。

除了国密卡和海光 HCT,SmartX 也在协助其他企业用户实现多种国产加密技术(如鲲鹏 KAE)的适配与调优,我们将在未来进一步进行分享。

欲深入了解更多超融合在 TA 注册登记、估值、BI 报表、O32、柜台交易系统等多种金融核心业务系统下的能力表现,欢迎点击链接,免费获取《金融核心生产业务场景探索文章合集》系列电子书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神经网络与深度学习——第14章 深度强化学习

本文讨论的内容参考自《神经网络与深度学习》https://nndl.github.io/ 第14章 深度强化学习 深度强化学习 强化学习&#xff08;Reinforcement Learning&#xff0c;RL&#xff09;&#xff0c;也叫增强学习&#xff0c;是指一类从与环境交互中不断学习的问题以及解决这类问题…

最简单的安卓模拟器抓包?

安装模拟器抓包似乎是有个绕不开的话题&#xff0c;但是现在普遍的安卓模拟器抓包会遇到以下问题&#xff1a; 1.证书配置繁琐 2.模拟器不兼容软件 3.系统设置繁琐。 前几天写过一次微信小程序如何抓包&#xff0c;现在来讲一下模拟器怎么抓包吧。首先使用的工具还是TangGo测…

开源集运wms系统

集运WMS系统是一种专为集运业务设计的仓库管理系统&#xff0c;它能够高效地处理来自多个来源的货物&#xff0c;优化存储和发货流程。 经过长时间的开发和测试&#xff0c;推出了我的集运WMS系统。它不仅具备传统WMS系统的所有功能&#xff0c;还针对集运业务的特点进行了特别…

Python轻量级的插件框架库之pluginbase使用详解

概要 在软件开发中,插件系统是一个常见的需求。插件系统允许开发者动态加载和卸载功能模块,从而提高应用程序的灵活性和可扩展性。Python的pluginbase库是一个轻量级的插件框架,旨在简化插件系统的构建过程。pluginbase库提供了一套简单易用的API,使开发者能够快速集成插件…

初步研究Pose_300W_LP datasets.py

mat文件参数解读 Color_para&#xff1a;颜色参数&#xff0c;用于描述图像的颜色属性&#xff0c;比如图像的亮度、对比度等信息。 亮度属性、对比度属性、饱和度属性&#xff08;颜色越鲜艳&#xff09;、色调属性&#xff08;色调越偏向蓝色&#xff09;、色温属性&#xf…

结构体(自定义类型)

1.结构体 结构体这种自定义的数据类型&#xff0c;让程序员可以自己创造适合的类型 结构是一些值的集合&#xff0c;这些值称为成员变量&#xff0c;结构的每个成员可以是不同类型的变量&#xff0c;可以是标量&#xff0c;数组&#xff0c;指针甚至是其他结构体 1.1.1 结构…

六西格玛培训:企业逆袭的秘密武器!——张驰咨询

为了提升企业的运营效率、产品质量和客户满意度&#xff0c;六西格玛培训成为了一个不可或缺的环节。以下是企业成功实施六西格玛培训的关键步骤&#xff1a; 一、清晰设定培训目标 首先&#xff0c;企业应明确六西格玛培训的具体目标&#xff0c;如提升产品质量、降低成本、…

武汉城投城更公司与竹云科技签署战略协议,携手构建智慧城市新未来!

2024年5月16日&#xff0c;武汉城投城更公司与深圳竹云科技股份有限公司&#xff08;以下简称“竹云”&#xff09;签订战略合作协议&#xff0c;双方将深入推进产业项目合作。 签约现场&#xff0c;双方围绕产业项目合作方向、路径和内容等进行了全面深入交流。城投城更公司党…

Windows和Linux系统部署Docker(2)

目录 一、Linux系统部署docker 前置环境&#xff1a; 1.安装需要的软件包&#xff0c; yum-util 提供yum-config-manager功能 2.添加阿里云 docker-ce 仓库 3.安装docker软件包 4.启动 docker并设置开机自启 5.查看版本&#xff1a; 二、windows系统部署docker 1.查看…

如何用unittest帮你快速生成自动化测试报告?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一直以来很多使用 pythonunittest 做自动化测试的的小伙伴都在想&#xff0c;unittest 这个官方库…

MFC工控项目实例之一主菜单制作

1、本项目用在WIN10下安装的vc6.0兼容版实现。创建项目名为SEAL_PRESSURE的MFC对话框。在项目res文件下添加相关256色ico格式图片。 2、项目名称&#xff1a;密封压力试验机 主菜单名称&#xff1a; 系统参数 SYS_DATA 系统测试 SYS_TEST 选择型号 TYP_CHOICE 开始试验 TES_STA…

Tasker+SendSilentMail实现钉钉自动打卡

Tasker 允许用户根据自定义的“配置文件”(Profiles)&#xff0c;在特定的“背景”(Contexts)下&#xff0c;执行指定的“任务”(Tasks)。以下是关于Tasker的详细介绍&#xff1a; 强大的自定义能力&#xff1a;用户可以根据自己的需求&#xff0c;创建各种配置文件和任务&…

vwmare虚拟机我已复制和我已移动的区别

问题 此虚拟机可能已被移动或复制。 为了配置特定的管理和网络功能&#xff0c;WMware Workstation需要知道是否已移动或复制了此虚拟机。 如果您不知道&#xff0c;请回答“我已复制该虚拟机(P)” 我已复制 意味着复制出了一个完全相同的副本。 这两个副本可以运行在一台物理…

Linux 服务器配置 SSH 服务登录失败处理

任务目标 配置 Linux 服务器ssh远程登录失败处理机制&#xff0c;防止黑客爆破服务器密码 操作步骤 备份原配置文件 $ sudo cp /etc/pam.d/sshd /etc/pam.d/sshd.bak $ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak安装 pam_tally2 统计登陆失败次数 # 对于Debia…

CyberDAO M级共识交流会·西安站圆满落幕:共筑Web3美好未来

CyberDAO M级共识交流会于2024年5月28日在西安隆重举行&#xff0c;这是一场CyberDAO精英汇聚的盛会&#xff0c;以同心共筑&#xff0c;志在必达为主题口号与DAO精英携手并进&#xff0c;共筑CyberDAO美好宏图。CyberDAO的使命是降低WEB3的门槛&#xff0c;帮助用户轻松抓住行…

每日一题《leetcode--117.填充每个结点的下一个右侧结点指针||》

https://leetcode.cn/problems/populating-next-right-pointers-in-each-node-ii/ 这道题与我之前发布的题目116是一样的解题过程&#xff0c;只是本题所给的数组大小与116不同&#xff0c;这是需要注意的。 116题目链接&#xff1a; http://t.csdnimg.cn/3Ub02 struct Node* c…

中断向量码

中断请求引脚 INTR-可屏蔽中断请求信号输入引脚 NMI-不可屏蔽中断请求信号输入引脚 #INTA-可屏蔽中断请求信号应答引脚 IF-中断允许标志位 TF-陷阱标志位 中断向量表 由中断向量码确定中断源的类型 存储结构 中断向量地址 中断程序入口地址 示例 中断类型 内存中结构 5个…

2024-05-29 服务器开发-c++线程池与task-思考

摘要: 无论是什么系统&#xff0c;线程池和task都是给上层所提供的基础的功能单元。本文记录一些核心的设计思想。 线程池要面对的场景: 调用下层接口时&#xff0c;被IO阻塞&#xff0c;导致整个服务无法对外提供服务更上层调用本模块接口时&#xff0c;是需要做到同步&#…

为师妹写的《Java并发编程之线程池十八问》被表扬啦!

写在开头 之前给一个大四正在找工作的学妹发了自己总结的关于Java并发中线程池的面试题集,总共18题,将之取名为《Java并发编程之线程池十八问》,今天聊天时受了学妹的夸赞,心里很开心,毕竟自己整理的东西对别人起到了一点帮助,记录一下! Java并发编程之线程池十八问 经过…

月赚2万佣金的AI数字人,已成为新型带货神器,完整制作教程分享

大家好&#xff0c;我是设计师阿威 今天和大家分享一下用AI绘画制作数字人带货的副业创收教程&#xff0c;目前数字人类型的账号在短视频平台上&#xff0c;数字人带货能力非常强&#xff01; 今天我会分享4个爆款数字人账号案例&#xff0c;深度讲解目前数字人的最新玩法。 …