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

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

近期,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.mzph.cn/web/19246.shtml

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

相关文章

第十五讲:C语言内存函数

第十五讲&#xff1a;C语言内存函数 1.memcpy函数的使用和模拟实现1.1函数原型1.2函数的使用1.3函数使用的注意事项1.4memcpy函数的模拟实现 2.memmove函数的使用和模拟实现2.1函数原型2.2函数使用2.2.1使用函数处理整形数据2.2.2使用函数处理重叠类型&#xff08;源空间和目标…

python探索时钟模拟之旅:从设计到实现

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言 二、设计时钟类 三、代码实现 四、扩展功能&#xff1a;指定步数后自动停止 五…

开一个抖音小店可以经营几个类目?经营几个类目最合适?

大家好&#xff0c;我是喷火龙。 抖音小店的商品类目和商品数量是没有限制的&#xff0c;只要是在营业执照的经营范围之内的类目都能入驻抖音小店&#xff0c;但是选择的主营类目不能超过三个。 有些商家可能会想&#xff0c;自己经营多个类目&#xff0c;做多种商品种类&…

VMware安装Ubuntu系统(超详细)

一.Ubuntu官网下载镜像 Ubuntu官网&#xff1a;Enterprise Open Source and Linux | Ubuntu 二.安装Ubuntu系统 选择文件->创建虚拟机新建虚拟机&#xff08;ControlN&#xff09;&#xff0c;这里直接选择典型即可 选择稍后安装系统 选择linux Ubuntu 64位 填写虚拟机名称…

R语言入门 | 使用 dplyr 进行数据转换

3.1简介 3.1.1准备工作 3.1.2 dplyr 基础 • 按值筛选观测&#xff08; filter() &#xff09;。 • 对行进行重新排序&#xff08; arrange() &#xff09;。 • 按名称选取变量&#xff08; select() &#xff09;。 • 使用现有变量的函数创建新变量&#xff08; …

数字孪生3D智慧园区可视化能耗管控平台

智慧园区是园区与互联网的完美融合。通过整合信息技术和各类资源&#xff0c;我们实现了园区内各个服务的数字化运营&#xff0c;不仅降低了企业的运营成本&#xff0c;更提高了管理效率 智慧园区3D互动大屏系统利用web3d开发、三维可视化、模拟仿真和数字孪生技术&#xff0c;…

【算法工程师】(三年面试五年模拟版)总结

写在前面&#xff1a; WeThinkIn &#xff08;公主号&#xff09; 学习经验分享 目录 1、机器学习基础 2、深度学习基础 2.1 1*1卷积的作用 注&#xff1a;卷积核的个数对应输出的通道数&#xff08;channels&#xff09;&#xff0c;比如输入6*6*64&#xff0c;卷积核1…

香橙派Orange AI Pro 初体验

什么是香橙派 &#xff1f; 香橙派&#xff08;Orange Pi&#xff09;是深圳市迅龙软件有限公司旗下的开源产品品牌。它专注于为全球个人和企业提供高性价比的开源硬件、开源软件以及OEM/ODM服务。香橙派已经迭代了30多款产品&#xff0c;形成了涵盖开源硬件、开源软件、开源芯…

使用Jmeter进行性能测试的基本操作方法

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

如何去除input框在复制内容时自动填充的背景颜色

今天在项目开放时遇到了一个问题在输入复制内容时会有一个自带的背景颜色无法去除&#xff1b; 效果图&#xff1a; 修改的核心代码&#xff1a; /* 修改自动填充时的背景颜色 */ input:-internal-autofill-previewed, input:-internal-autofill-selected {-webkit-text-fil…

Java开发-特殊文本文件,日志技术

目录 01.特殊文件,日志技术概述 02.特殊文件:Properties属性文件 ​编辑Properties案例 特殊文件:XML文件 XML的作用和应用场景 读取XML文件中的数据 XML的生成 约束XML文件的编写[了解] 日志技术 日志技术的体系 ​编辑 ​编辑 Logback日志框架的概述 Logback快…

cocos creator做圆形进度条

效果图&#xff1a; 我们在开发过程中经常要用到圆形进度条&#xff0c;例如技能CD 原文链接 之前写了一篇cocos2dx-lua_ProgressTimer创建扇形进度条,这里简单记录下在cocosCreator中如何制作。 具体方法 cocosCreator做起来比2dx还是要简单很多&#xff0c;首先给节点添加p…

Activity详解,用最通俗的语言告诉你什么是Activity(一)

大家好&#xff0c;我是小布丁。 今天还是分享Android基础知识&#xff0c;有Android基础的朋友都知道&#xff0c;Activity作为Android四大组件之一&#xff0c;掌管可视化界面。也是大多数人刚接触Android学的第一课。下面我来带大家学习/复习这部分知识&#xff0c;请大家不…

DotNetty ByteBuffer

DotNetty是一个高性能的.NET网络通信框架&#xff0c;基于Netty&#xff0c;支持TCP、UDP、HTTP、WebSocket等协议。适用于高并发、低延迟场景&#xff0c;如实时通信、游戏服务器、IoT应用及大型分布式系统&#xff0c;通过异步I/O、零拷贝等技术提升性能&#xff0c;具备易用…

【3.vi编辑器使用(上)】

一、vi编辑器的三种模式及切换命令 1、vi是linux中最基本的编辑器。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。 2、vi编辑器的三种模式&#xff1a;命令行模式、插入模式、底行模式。 &#xff08;1&#xff09;命令行模式&#xff1a;用户在用vi编辑文件…

智能变革:领域大模型重塑企业知识管理!

在如今知识密集型的行业领域里&#xff0c;企业员工每天都要与海量的文档和信息打交道&#xff0c;工作邮箱里充斥着无数邮件&#xff0c;办公桌上堆满了各种报告和文档&#xff0c;而每一个文件里都可能藏有关键信息。 然而&#xff0c;要从这些杂乱无章的信息海洋中找到需要…

AI生成四季变化解决方案,四季之美,一图尽揽

随着AI技术已经渗透到我们生活的方方面面&#xff0c;在这个充满变化的时代&#xff0c;美摄科技以其前沿的AI生成技术&#xff0c;为企业带来了全新的视觉体验——AI生成四季变化解决方案。这一方案不仅能够让车辆实拍的照片焕发不同季节的风采&#xff0c;更能在不改变原图构…

【Windows配置nginx开机自启】

Windows配置nginx开机自启 方式一&#xff1a;将nginx加入到windows服务中方式二&#xff1a;通过windows任务计划设定nginx开机自启 方式一&#xff1a;将nginx加入到windows服务中 下载window service wraper&#xff08;https://github.com/winsw/winsw/releases&#xff0…

C++ 进阶(3)虚函数表解析

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;C 请多多指教&#xff01; 目录 一、虚函数表 二、单继承&#xff08;无虚函数覆盖&#xff09; 继承关系表&#xff1a; 对于实例&#xff1a;derive d 的虚函数表&#xff1a; 对于实例&#xff1a;b…

QT系列教程(5) 模态对话框消息传递

模态对话框接受和拒绝消息 我们创建一个模态对话框&#xff0c;调用exec函数后可以根据其返回值进行不同的处理&#xff0c;exec的返回值有两种&#xff0c;Qt的官方文档记录的为 QDialog::Accepted QDialog::RejectedAccepted 表示接受消息&#xff0c; Rejected表示拒绝消息…