CN112052446A - 密码单元创建方法、数据处理方法、装置及电子设备 - Google Patents
密码单元创建方法、数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112052446A CN112052446A CN202010959128.6A CN202010959128A CN112052446A CN 112052446 A CN112052446 A CN 112052446A CN 202010959128 A CN202010959128 A CN 202010959128A CN 112052446 A CN112052446 A CN 112052446A
- Authority
- CN
- China
- Prior art keywords
- password
- component
- cryptographic
- data
- image file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003672 processing method Methods 0.000 title claims description 15
- 230000001419 dependent effect Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000003068 static effect Effects 0.000 claims abstract description 15
- 238000009434 installation Methods 0.000 claims abstract description 14
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000010276 construction Methods 0.000 claims abstract description 8
- 238000011161 development Methods 0.000 claims description 24
- 238000013486 operation strategy Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000010354 integration Effects 0.000 claims description 10
- 230000009286 beneficial effect Effects 0.000 abstract description 8
- 238000011084 recovery Methods 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 31
- 230000018109 developmental process Effects 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种密码单元创建方法、数据处理方法、装置及电子设备。创建方法包括:获取用于执行密码处理操作的密码组件;根据密码组件与依赖组件的依赖关系,获取与密码组件对应的每类目标依赖组件;通过构建工具,将密码组件、每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件。在本方案中,通过将密码组件及目标依赖组件独立出来,然后以静态链接的方式封装成镜像文件,该镜像文件便可以在运行时实现相应的密码运算操作。基于此,密码单元容量较小,有利于减少攻击面以提高数据的安全性,另外,由于容量小,有利于提高使用密码服务功能时的启动速度和回收速度。
Description
技术领域
本发明涉及计算机密码技术领域,具体而言,涉及一种密码单元创建方法、数据处理方法、装置及电子设备。
背景技术
在计算机领域中,为了提高数据的安全性,通常需要密码设备对传输的数据进行相应的加密或解密操作。目前,密码设备依赖于Linux系统,通过专用的硬件,提供密码功能。密码设备与Linux系统的耦合程度高,而Linux系统本身并非为密码专用领域所使用的。近年来,随着Linux内核的不断发展,支持越来越多类型的硬件驱动、文件系统、调度模式、应用软件等,使得Linux内核和发行版变得庞大,从而使得启动速度降低,且攻击面变大。在密码设备中,即便Linux系统经过一系列裁剪,仍然有和系统功能组件结合紧密的部分无法裁掉,从而影响密码设备的启动速度,增大数据的安全风险。
发明内容
本申请提供一种密码单元创建方法、数据处理方法、装置及电子设备,能够改善使用密码服务功能时的启动速度,并提高数据的安全性。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种密码单元创建方法,应用于开发终端,所述方法包括:
获取用于执行密码处理操作的密码组件;
根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件;
通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
在上述的实施方式中,通过将密码组件及目标依赖组件独立出来,然后以静态链接的方式封装成镜像文件,该镜像文件便可以在运行时实现相应的密码运算操作。密码单元自身为一个包含操作系统的单元,密码单元启动和运行不再需要通用Linux操作系统,可以独立启动运行提以供密码服务。即密码单元已经包含了启动和运行所必需的操作系统功能,因此无需额外操作系统的支持,有利于减少攻击面以提高数据的安全性。另外,由于密码单元所包含的操作系统的组件少,使得密码单元的容量小,从而有利于提高使用密码服务功能时的启动速度和回收速度。
结合第一方面,在一些可选的实施方式中,获取用于执行密码处理操作的密码组件,包括:
获取用于通过密码运算策略执行密码运算操作的第一类密码组件、用于将待处理数据发送至相应的密码运算组件的第二类密码组件中的至少一类密码组件。
在上述的实施方式中,通过获取多种密码组件,便于根据需求选择相应密码处理方式,以丰富密码处理的实现方式。
结合第一方面,在一些可选的实施方式中,在根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件之前,方法还包括:
创建所述密码组件与依赖组件的依赖关系,其中,与所述密码组件对应的依赖组件包括基础依赖组件、TCP协议栈组件、网络支持组件、编程语言运行库组件。
在上述的实施方式中,通过获取密码组件的依赖组件,然后进行封装,可以使得密码单元无需依赖Linux系统便可以运行,进而便于移植搬迁密码单元。
结合第一方面,在一些可选的实施方式中,所述镜像文件用于安装于实体计算机以形成所述密码单元,或者用于被虚拟化管理器加载,以形成所述密码单元。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将得到的多个所述镜像文件发送至密码设备,以使所述密码设备根据多个所述镜像文件构建密码集成服务系统。
第二方面,本申请实施例还提供一种数据处理方法,应用于密码设备,所述密码设备存储有上述的镜像文件,所述方法包括:
获取密码处理请求及与所述密码处理请求对应的待处理数据;
根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
第三方面,本申请实施例还提供一种密码单元创建装置,应用于开发终端,所述装置包括:
第一获取模块,用于获取用于执行密码处理操作的密码组件;
第二获取模块,用于根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件;
封装模块,用于通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
第四方面,本申请实施例还提供一种数据处理装置,应用于密码设备,所述密码设备存储有上述的镜像文件,所述装置包括:
第三获取模块,获取密码处理请求及与所述密码处理请求对应的待处理数据;
密码运算单元,用于根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
第五方面,本申请实施例还提供一种电子设备,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行上述的密码单元创建方法或数据处理方法。
第六方面,本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的密码单元创建方法或数据处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的开发终端与密码设备的通信连接示意图。
图2为本申请实施例提供的密码单元创建方法的流程示意图。
图3为本申请实施例提供的密码单元的功能模块示意图。
图4为本申请实施例提供的密码单元创建装置的功能框图。
图5为本申请实施例提供的数据处理方法的流程示意图。
图6为本申请实施例提供的数据处理装置的功能框图。
图标:10-开发终端;20-密码设备;200-密码单元创建装置;210-第一获取模块;220-第二获取模块;230-封装模块;400-数据处理装置;410-第三获取模块;420-密码运算模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
目前的密码设备通常以是一台专用计算机的形式存在。密码设备主要运行在Linux系统下,密码设备与Linux系统的耦合程度高。而Linux系统的复杂机制容易使密码服务功能变慢且增加复杂度,比如,目前的密码服务通过TCP/HTTP方式提供给外部,当密码设备接收到请求后,需要密码设备进行用户模式和内核模式的切换,读取到请求内容,然后调用密码计算功能,再次进行用户模式和内核模式切换,最后完成密码功能后,再次切换发送响应给客户端,该方式便会降低密码功能的响应速度。另外,用户管理是Linux的重要组成部分,用户通过在本地或远程登录到Linux可以进行操作。在密码设备这种专用设备中,需要注重用户信息和口令信息的保管,比如,对于Root用户(管理员),若泄露了用户信息和口令信息,便会增大密码设备处理数据的安全风险。
鉴于上述问题,本申请发明人提出以下实施例以解决上述问题。下面结合附图,对本申请实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请实施例提供一种电子设备,该电子设备可以是开发终端10或密码设备20。当电子设备为开发终端10时,可以用于执行下述的密码单元创建方法的各步骤。当电子设备为密码设备20时,可以用于执行下述的数据处理方法中的各步骤。
其中,开发终端10可以是但不限于,个人电脑(Personal Computer,PC)、服务器等。密码设备20可以是但不限于,服务器、工控机、虚拟机等。
在本实施例中,电子设备包括存储器、处理器,存储器内存储计算机程序。当然,电子设备还可以包括其他模块。例如,电子设备还可以包括通信模块、密码单元创建装置、数据处理装置等。
若电子设备为开发终端10,当计算机程序被处理器执行时,使得电子设备能够执行下述的密码单元创建方法的各步骤。若电子设备为密码设备20,当计算机程序被处理器执行时,使得电子设备能够执行下述的数据处理方法的各步骤。
第一实施例
请参照图3,本申请实施例还提供一种密码单元创建方法,可以应用于上述的开发终端10,由开发终端10执行或实现方法的各步骤,方法可以包括以下步骤:
步骤S110,获取用于执行密码处理操作的密码组件;
步骤S120,根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件;
步骤S130,通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
在上述的实施方式中,通过将密码组件及目标依赖组件独立出来,然后以静态链接的方式封装成镜像文件,该镜像文件便可以在运行时实现相应的密码运算操作。密码单元自身为一个包含操作系统的单元,密码单元启动和运行不再需要通用Linux操作系统,可以独立启动运行提以供密码服务。即密码单元已经包含了启动和运行所必需的操作系统功能,因此无需额外操作系统的支持,有利于减少攻击面以提高数据的安全性。另外,由于密码单元所包含的操作系统的组件少,使得密码单元的容量小,从而有利于提高使用密码服务功能时的启动速度和回收速度。
下面将对方法的各步骤进行详细阐述,如下:
在步骤S110中,当需要创建密码单元时,开发终端可以获取预先准备的各类密码组件。单个密码组件可以用于通过相应的密码运算策略执行密码运算操作,或者可以将待处理数据发送至相应的密码运算组件,由密码运算组件通过相应的密码运算策略,对待处理数据执行密码运算操作。其中,开发终端所获取的密码组件的类型及数量可以根据实际情况进行确定。密码运算策略可理解为用于实现加密和解密的密码服务功能的算法,可以根据实际情况进行选择。例如,密码运算策略可以是但不限于数字签名、字符加解密算法、数据摘要算法等。密码组件包括但不限于可以用于实现数字签名、字符加解密算法、数据摘要算法等密码运算的组件、以及用于将待处理数据发送至相应的密码运算组件的组件。
可理解地,密码组件自身可以通过密码运算策略,对待处理数据进行相应的密码运算操作。或者,密码组件可以作为传输工具,可以将待处理数据传输至相应的密码运算组件,以使密码运算组件根据相应的密码运算策略来对待处理数据进行密码运算,此时,密码组件与相应的密码运算组件建立有对应关系,密码运算组件即为用于对数据进行数字签名、字符加解密算法、数据摘要算法等密码运算的组件。
在本实施例中,在执行步骤S110之前,密码组件可以预先存储于服务器或存储于开发终端的本地存储器。当需要创建密码单元时,密码设备可以从服务器或本地的存储器获取到各类密码组件。只要密码设备可以获取到密码组件,这里对获取密码组件的来源或获取方式不作具体限定。
在步骤S120中,开发终端可以预先存储有密码组件与依赖组件的依赖关系。其中,依赖组件为在安装或运行密码单元时,所需要的组件。各类依赖组件可以以数据库的形式,预先存储于服务器或开发终端。密码组件与依赖组件之间的依赖关系可以根据实际情况进行确定。开发终端在获取到密码组件后,可以根据该密码组件与依赖组件之间的依赖关系,确定与密码组件对应的依赖组件作为目标依赖组件,然后获取目标依赖组件,以作为密码单元的组成部分。
在步骤S130中,构建工具可以是但不限于IncludeOS工具、Unik工具等,可以用于对得到的密码组件、依赖组件,以静态链接的形式进行封装。即,通过IncludeOS工具或Unik工具等构建工具,可以将密码组件、依赖组件等组件链接到一块生成可执行程序。在本实施例中,该可执行程序为表征密码单元安装包的镜像文件,可以如图3所示。
当密码单元应用于实体设备(例如个人计算机、服务器)时,实体设备的系统可以安装镜像文件,在部署时,镜像文件可以自动将各种内容安装到实体设备的相应安装目录下,在安装镜像文件后,便可以形成密码单元。
当密码单元应用于虚拟化场景时,例如,密码单元应用于虚拟化管理器时,镜像文件为可以为被虚拟化管理器编译的镜像文件,虚拟化管理器可以直接加载镜像文件,无需安装镜像文件。通过运行镜像文件,便可以作为密码单元,对数据进行加密解密处理。镜像文件的形式可以与虚拟化管理器所支持的虚拟磁盘对应(例如,Vmdk文件),镜像文件中包含密码单元的密码组件以及所需的引导程序、驱动程序等。
在本实施例中,密码单元仅包括密码组件这一类服务组件,因此密码单元仅提供用于实现密码服务的逻辑接口,不提供其他接口,以提高数据处理的安全性。
可理解地,镜像文件包括了密码组件运行所需要的组件,无需依赖Linux系统便可以直接运行,便于密码单元的移植和安装。另外,密码单元仅包括密码组件这一类服务组件,不涉及其他类的服务组件。例如,相比于现有的密码机需要包括实现用户管理的服务组件以及服务组件所需的依赖组件,本申请实施例的密码单元不包括用户管理的服务组件,也不需要额外添加用户管理的服务组件所需的依赖组件。因此,可以减少密码单元的容量,实现轻量级的密码单元的创建。在密码单元的容量减少后,有利于密码单元快速启动,以缩短启动所需的时长,同时还可以提高回收速度(关闭密码单元的速度)。另外,由于密码单元仅提供密码服务,不提供用户管理,减少了对外交互的逻辑接口,从而有利于缩小攻击面,以提升数据处理的安全性。
作为一种可选的实施方式,步骤S110可以包括:获取用于通过密码运算策略执行密码运算操作的第一类密码组件、用于将待处理数据发送至相应的密码运算组件的第二类密码组件中的至少一类密码组件。
可理解地,密码组件可以根据执行加密解密操作的原理或算法进行划分。不同类的密码组件执行加密解密所采用的算法通常不同。在本实施例中,第一类密码组件包括但不限于用于通过数字签名执行密码运算操作的第一密码组件、用于通过字符加解密算法执行密码运算操作的第二密码组件、用于通过数据摘要算法执行密码运算操作的第三密码组件等。第二类密码组件可以包括用于将待处理数据发送至相应的密码运算组件的第四密码组件。当待处理数据为敏感数据时,第四密码组件可以通过预设的口令,将待处理数据传输至相应的密码运算组件,以使密码运算组件对待处理数据进行相应的密码运算处理。
密码组件还可以为其他类的密码组件。例如,密码组件可以包括用于实现散列函数加密、解密的密码组件。方法通过获取多种密码组件,便于根据需求选择相应加密解密方式,以丰富加解密的实现方式。
在本实施例中,密码组件可以为设计人员预先创建得到的。在创建密码组件时,可以根据密码功能或算法,进行密码组件的创建。例如,密码功能包括但不限于数字签名、字符加密解密、数据摘要、散列函数、传输待处理数据等。密码功能实现时,可以通过不同的编程语言来实现各类密码功能,例如实现数字签名、字符加密解密、数据摘要、散列函数等。或者,密码功能可以通过软件方式,例如OpenSSL等开源库或自行编写代码实现,也可以通过其它的各类密码模块如PCI密码库、软件密码模块或虚拟密码模块实现。
其中,密码功能可以选择在实体机(例如个人计算机)上实现,也可以选择在虚拟机上实现。在实体机上实现时,可以根据实际情况选择相应的硬件驱动程序,例如CPU驱动、主板驱动等。在虚拟机实现时,虚拟化出的硬件通常为标准硬件。此时,可以根据实际情况选择相应的虚拟化软件,例如VirtualBox、Xen、Qemu、VMWare等。
在密码功能实现完成后,可以将密码功能以网络服务形式对外提供服务。例如,基于TCP或HTTP或HTTPS的请求/响应机制。其中,在以网络服务形式提供密码功能时,需要安装密码单元的操作系统底层提供TCP协议栈、HTTP/HTTPS支持。另外,在密码单元为多并发场景服务时,操作系统还需要支持多线程,例如POSIX。
作为一种可选的实施方式,在步骤S120之前,方法还可以包括:创建所述密码组件与依赖组件的依赖关系,其中,与所述密码组件对应的依赖组件包括基础依赖组件、TCP协议栈组件、网络支持组件、编程语言运行库组件。
在创建依赖关系时,密码组件可以设置有唯一编码,用于表示密码组件的唯一ID,各类依赖组件也可以设置有唯一编码,用于表示依赖组件的唯一ID。不同的依赖组件的ID不同,以便于进行区分。在建立依赖关系时,可以将密码组件的ID与该密码组件所需要的依赖组件的ID进行关联,基于此,便可以建立得到密码组件与依赖组件之间的依赖关系。其中,密码组件所需要的依赖组件可以根据实际情况进行选择,这里不作具体限定。
可理解地,目前的嵌入式开发系统和微内核(Unikernel)系统可以提供包括各种标准的CPU驱动、主板驱动、引导程序、磁盘管理,作为基础依赖组件libOS.a。密码单元的设计人员可以识别其它的各种依赖组件,包括TCP协议栈组件、网络支持组件、数学库Libm、编程语言运行库组件(比如C语言运行时库libc、C++语言运行时库libstdc++、多线程支持库posix等组件),以及所使用密码组件的支持软件等,为本领域技术人员所熟知的组件。各类组件可以预先存储于服务器、开发终端等设备上。或者,各类组件可以配置在编译链接工具(比如上述的IncludeOS工具、Unik工具)所指定的配置文件中。
在创建依赖关系时,密码组件的程序代码可以自动识别所需要的依赖组件,或者通过编译命令行指定链接、通过配置文件指定链接等方式,将密码组件与所需要的依赖组件建立链接,以实现依赖关系的建立。
在上述的实施方式中,通过获取密码组件的依赖组件,然后进行封装,可以让密码单元自身包括操作系统,便于移植搬迁密码单元。
作为一种可选的实施方式,方法可以通过多次执行步骤S110至步骤S130,以得到多个镜像文件,每个镜像文件为一个密码单元的安装包。
可理解地,所创建的镜像文件的数量可以根据实际情况进行确定。其中,多个镜像文件有利于实现大规模密码单元的搭建,以便于同时对外提供多条密码服务线路。
作为一种可选的实施方式,方法还可以包括:将得到的多个所述镜像文件发送至密码设备,以使所述密码设备根据多个所述镜像文件构建密码集成服务系统。
可理解地,密码集成服务系统可以同时对外提供多个密码服务的接口,可以对多路数据进行加密、解密处理,有利于提高密码处理的效率。另外,因为镜像文件中包含的操作系统是通过静态链接而得到的,密码单元启动速度快,密码集成服务系统,能够通过快速增加密码单元、删除密码单元,实现密码服务的快速动态扩展,以及实现资源的快速回收。即,本申请实施例提供的密码集成服务系统的动态水平扩展速度和动态资源回收速度都能够得到提高。
请参照图3,通过上述的构件工具,可以将基础依赖组件、TCP协议栈组件、网卡驱动、主板驱动等依赖组件封装成一个静态库文件Os.a;将数学库Libm、Libc、Libstdc++、Posix等编程语言运行库组件封装成Os基础库;将密码运算策略、密钥管理组件封装成Crypto.c文件;将密码服务封装成Service.c文件,最后,将封装的各类文件封装形成镜像文件。
在本实施例中,所构建的密码单元,由于其中包含了引导程序和基本计算机系统的内容,在由实体机或虚拟机管理程序如Qemu、Xen加载时,能够找到密码单元的引导程序,以启动实体计算机或虚拟机,驱动所安装的硬件如CPU、内存、磁盘、总线,进而加载密码单元中的密码组件、加载网络驱动和网络协议栈,通过密码组件接收加密请求,为请求者完成加密操作,或者接收解密请求,为请求者完成解密操作,或者对待处理数据传输至相应的密码运算组件,以实现传输功能。
在本实施例中,密码单元可以安装到工控机、专用服务器等密码设备中,成为具备快速启动、快速服务特征的硬件密码设备,同时降低实体设备因自身复杂度带来的安全隐患。
在本实施例中,可以以若干个虚拟的轻量级密码单元替换传统硬件密码机的密码能力。密码设备可以提供密钥管理和密码计算能力,通过本申请创建得到的轻量级密码单元封装特定使用者的敏感参数例如访问者账号口令和安全策略例如最大连接数等,从而达到密码设备计算能力安全共享的效果。
在本实施例中,可以将密码单元的软件模块(即为上述的镜像文件),封装在一个轻量级虚拟机中,由于轻量级虚拟机具有复杂度低、镜像体积小、资源消耗低、隔离程度高的特性,从而能够快速启动、高效安全提供密码服务。
在本实施例中,所构建的密码单元,可以通过网络层面的规划,组成大规模的密码单元集群,共同提高密码服务能力,可以配合各种密钥管理系统、数字证书系统、身份认证系统、电子签章系统等,共同完成所需的复杂密码功能。
基于上述设计,能够构建复杂度低于目前各类专用密码机的密码单元。在密码单元中,仅包含为提供密码设备运行和提供服务所必须的各种组件,其它均排除在外。例如,密码单元中不包括例如Linux系统的用户管理、Telnet远程连接服务、SSH(Secure Shell,安全外壳)协议服务等服务组件,从而使得密码设备的设计、开发人员以及管理人员无须为这些服务组件隐含风险进行针对性的防御设计,从而降低了系统的复杂度,减少其他服务组件潜在的安全隐患。
当密码单元应用于虚拟机上时,与传统密码机虚拟化不同。由于本申请创建的轻量级密码单元具有依赖项少、复杂度低、体积小、占用资源少的特性,使单台密码设备能够支持虚拟化成为大量的虚拟化密码单元,同时,能够快速启动、快速回收。
请参照图5,本申请实施例还提供一种密码单元创建装置200,可以应用于上述的开发终端10,用于执行或实现密码单元创建方法的各步骤。密码单元创建装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储器中或固化在开发终端10操作系统(Operating System,OS)中的软件功能模块。处理器用于执行存储器中存储的可执行模块,例如密码单元创建装置200所包括的软件功能模块及计算机程序等。
密码单元创建装置200可以包括第一获取模块210、第二获取模块220、封装模块230。
第一获取模块210,用于获取用于执行密码处理操作的密码组件。
第二获取模块220,用于根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件。
封装模块230,用于通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
可选地,第一获取模块210还可以用于:获取用于通过密码运算策略执行密码运算操作的第一类密码组件、用于将待处理数据发送至相应的密码运算组件的第二类密码组件中的至少一类密码组件。
可选地,密码单元创建装置200还可以包括创建模块,在第二获取单元根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件之前,创建模块用于创建所述密码组件与依赖组件的依赖关系,其中,与所述密码组件对应的依赖组件包括基础依赖组件、TCP协议栈组件、网络支持组件、编程语言运行库组件。
可选地,密码单元创建装置200还可以包括发送模块,用于将得到的多个所述镜像文件发送至密码设备,以使所述密码设备根据多个所述镜像文件构建密码集成服务系统。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的开发终端、密码单元创建装置200的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
第二实施例
请参照图5,本申请实施例还提供一种数据处理方法,可以应用于上述的密码设备20。密码设备20存储有通过第一实施例创建得到的镜像文件,可以由密码设备20执行或实现方法的各步骤。其中,方法可以包括以下步骤:
步骤310,获取密码处理请求及与所述密码处理请求对应的待处理数据;
步骤320,根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
在第二实施例中,密码运算策略可以是但不限于上述的数字签名、字符加解密算法、数据摘要算法、扩散函数、传输待处理数据等。密码设备可以与其他设备建立通信连接,用于与其他设备进行数据交互。其中,发送至密码设备的数据通常为待处理数据。待处理数据即为需要进行数字签名、字符加解密算法、数据摘要算法、扩散函数等密码运算的数据。例如,用户终端可以将待处理数据发送至密码设备,由密码设备对待处理数据通过字符加解密算法进行加密处理,然后将加密处理后的数据发送至其他终端或服务器。
用户终端在向密码设备发送待处理数据时,需要请求密码设备提供相应的密码服务。例如,用户终端可以通过向密码设备发送加密请求或解密请求的方式,告知密码设备,以使密码设备根据加密请求对待处理数据进行加密操作,或者根据解密请求对待处理数据进行解密操作。其中,加密或解密操作可以为上述的密码组件自身实现的,或者,由密码组件将待处理数据发送至密码运算单元,由密码运算单元实现加密或解密操作。
例如,当密码处理请求为加密请求时,加密请求中可以包括加密策略的类型,例如为数字签名、字符加密解密算法、数据摘要算法等,以便于密码单元根据相应的加密策略对待处理数据进行加密处理。同样地,密码处理请求为解密请求时,解密请求中,可以包括相应的解密策略,以便于密码设备对待处理数据进行相应的解密处理。
在本实施例中,通过第一实施例所构建的密码单元,可以以虚拟镜像的方式提供密码服务。在提供密码服务时,除密码服务所提供的接口外,不包含任何可能访问密钥和密码功能实现程序的访问途径,在镜像文件中不包含任何可能威胁密钥和密码功能实现安全的内容。例如,镜像文件中无法启动除去密码服务的其它进程,无法利用镜像文件通过操作系统进行用户访问。如此,为密码单元构建一层屏障,以提高密码单元数据处理的安全性。
在第二实施例中,密码设备可以根据多个镜像文件构建密码集成服务系统。例如,通过虚拟机,搭建多个密码单元,能够支持构建大规模、快速水平扩展的密码集成服务系统。采用本申请构建的镜像文件,如前文所述,由于镜像文件中包含组件减少,复杂度低,体积小,能够提高安全性,并且提升启动速度,满足10-20毫秒内启动。该速度比当前的大多Docker实现的密码机更快,可以在秒级的时间内启动(加载)上百个虚拟密码机的镜像文件,在不需要使用时,可以快速关闭以回收资源。
另外,与VxWork等嵌入式系统开发不同,本申请提供的密码单元,可以按照微内核机制而链接出的系统镜像,可以运行在通用邮件或虚拟层如VmWare、Qemu上的,而非嵌入式硬件。用户可以采用大量PC服务器来构建密码集成服务系统而无需购买大量的专用密码机,以降低搭建密码服务系统的成本。
请参照图6,本申请实施例还提供一种数据处理装置400,可以应用于上述的密码设备,用于实现数据处理方法中的各步骤。数据处理装置400包括至少一个可以软件或固件(Firmware)的形式存储于密码设备的存储器中或固化在密码设备操作系统(OperatingSystem,OS)中的软件功能模块。处理器用于执行存储器中存储的可执行模块,例如数据处理装置400所包括的软件功能模块及计算机程序等。
数据处理装置400可以包括第三获取模块410及密码运算模块420。
第三获取模块410,用于获取密码处理请求及与所述密码处理请求对应的待处理数据;
密码运算模块420,用于根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的密码设备20、数据处理装置400的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
在本实施例中,电子设备中的处理器、通信模块、存储器各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理器可以是一种集成电路芯片,具有信号的处理能力。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
通信模块用于通过网络建立电子设备与其他设备(例如,用户终端)的通信连接,并通过网络收发数据。
存储器可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储器可以用于存储密码组件、密码组件与依赖组件的依赖关系等。当然,存储器还可以用于存储程序,处理器在接收到执行指令后,执行该程序。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的密码单元创建方法、数据处理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种密码单元创建方法、数据处理方法、装置及电子设备。创建方法包括:获取用于执行密码处理操作的密码组件;根据密码组件与依赖组件的依赖关系,获取与密码组件对应的每类目标依赖组件;通过构建工具,将密码组件、每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。在本方案中,通过将密码组件及目标依赖组件独立出来,然后以静态链接的方式封装成镜像文件,该镜像文件便可以在运行时实现相应的密码运算操作。基于此,密码单元的容量较小,有利于减少攻击面以提高数据的安全性,另外,由于容量小,有利于提高使用密码服务功能时的启动速度和回收速度。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种密码单元创建方法,其特征在于,应用于开发终端,所述方法包括:
获取用于执行密码处理操作的密码组件;
根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件;
通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
2.根据权利要求1所述的方法,其特征在于,获取用于执行密码处理操作的密码组件,包括:
获取用于通过密码运算策略执行密码运算操作的第一类密码组件、用于将待处理数据发送至相应的密码运算组件的第二类密码组件中的至少一类密码组件。
3.根据权利要求1所述的方法,其特征在于,在根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件之前,方法还包括:
创建所述密码组件与依赖组件的依赖关系,其中,与所述密码组件对应的依赖组件包括基础依赖组件、TCP协议栈组件、网络支持组件、编程语言运行库组件。
4.根据权利要求1所述的方法,其特征在于,所述镜像文件用于安装于实体计算机以形成所述密码单元,或者用于被虚拟化管理器加载,以形成所述密码单元。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将得到的多个所述镜像文件发送至密码设备,以使所述密码设备根据多个所述镜像文件构建密码集成服务系统。
6.一种数据处理方法,其特征在于,应用于密码设备,所述密码设备存储有如权利要求1-5中任一项所述的镜像文件,所述方法包括:
获取密码处理请求及与所述密码处理请求对应的待处理数据;
根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
7.一种密码单元创建装置,其特征在于,应用于开发终端,所述装置包括:
第一获取模块,用于获取用于执行密码处理操作的密码组件;
第二获取模块,用于根据所述密码组件与依赖组件的依赖关系,获取与所述密码组件对应的每类目标依赖组件;
封装模块,用于通过构建工具,将所述密码组件、所述每类目标依赖组件以静态链接封装成表征密码单元安装包的镜像文件,所述镜像文件为包括操作系统的文件。
8.一种数据处理装置,其特征在于,应用于密码设备,所述密码设备存储有如权利要求1-5中任一项所述的镜像文件,所述装置包括:
第三获取模块,获取密码处理请求及与所述密码处理请求对应的待处理数据;
密码运算单元,用于根据所述密码处理请求对应的密码运算策略,通过运行所述镜像文件对所述待处理数据进行密码运算操作,得到经过密码运算后的待处理数据。
9.一种电子设备,其特征在于,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行如权利要求1-5中任意一项所述的密码单元创建方法或如权利要求6所述的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-5中任意一项所述的密码单元创建方法或如权利要求6所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010959128.6A CN112052446A (zh) | 2020-09-14 | 2020-09-14 | 密码单元创建方法、数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010959128.6A CN112052446A (zh) | 2020-09-14 | 2020-09-14 | 密码单元创建方法、数据处理方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112052446A true CN112052446A (zh) | 2020-12-08 |
Family
ID=73611330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010959128.6A Pending CN112052446A (zh) | 2020-09-14 | 2020-09-14 | 密码单元创建方法、数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112052446A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434158A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种大数据组件的自定义管理方法、装置、设备及介质 |
CN114338124A (zh) * | 2021-12-23 | 2022-04-12 | 成都卫士通信息产业股份有限公司 | 云密码计算服务的管理方法、系统、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170279797A1 (en) * | 2016-03-22 | 2017-09-28 | International Business Machines Corporation | Container Independent Secure File System for Security Application Containers |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及系统 |
CN110806919A (zh) * | 2019-09-25 | 2020-02-18 | 苏州浪潮智能科技有限公司 | 一种云环境下保护虚拟机镜像的方法及系统 |
-
2020
- 2020-09-14 CN CN202010959128.6A patent/CN112052446A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170279797A1 (en) * | 2016-03-22 | 2017-09-28 | International Business Machines Corporation | Container Independent Secure File System for Security Application Containers |
CN108415795A (zh) * | 2018-02-12 | 2018-08-17 | 人和未来生物科技(长沙)有限公司 | 一种容器Dockerfile、容器镜像快速生成方法及系统 |
CN110806919A (zh) * | 2019-09-25 | 2020-02-18 | 苏州浪潮智能科技有限公司 | 一种云环境下保护虚拟机镜像的方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434158A (zh) * | 2021-07-08 | 2021-09-24 | 恒安嘉新(北京)科技股份公司 | 一种大数据组件的自定义管理方法、装置、设备及介质 |
CN113434158B (zh) * | 2021-07-08 | 2023-12-15 | 恒安嘉新(北京)科技股份公司 | 一种大数据组件的自定义管理方法、装置、设备及介质 |
CN114338124A (zh) * | 2021-12-23 | 2022-04-12 | 成都卫士通信息产业股份有限公司 | 云密码计算服务的管理方法、系统、电子设备及存储介质 |
CN114338124B (zh) * | 2021-12-23 | 2024-04-12 | 成都卫士通信息产业股份有限公司 | 云密码计算服务的管理方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541785B (zh) | 基于云计算的区块链数据处理方法及装置 | |
CN109858265B (zh) | 一种加密方法、装置及相关设备 | |
CN107667347B (zh) | 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 | |
US9703586B2 (en) | Distribution control and tracking mechanism of virtual machine appliances | |
CN111143869B (zh) | 应用程序包处理方法、装置、电子设备及存储介质 | |
AU2015358292B2 (en) | Computing systems and methods | |
CN107704308B (zh) | 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质 | |
KR102134491B1 (ko) | 보호된 데이터 세트의 네트워크 기반 관리 기법 | |
CN110390184B (zh) | 用于在云中执行应用的方法、装置和计算机程序产品 | |
JP2022522678A (ja) | セキュア実行ゲスト所有者環境制御 | |
CN112052446A (zh) | 密码单元创建方法、数据处理方法、装置及电子设备 | |
US10382456B2 (en) | Remote computing system providing malicious file detection and mitigation features for virtual machines | |
US20220374512A1 (en) | Software-based hardware security module (hsm) for a virtualized computing environment | |
Chang et al. | TSD: a flexible root of trust for the cloud | |
US20220070225A1 (en) | Method for deploying workloads according to a declarative policy to maintain a secure computing infrastructure | |
Sule et al. | Deploying trusted cloud computing for data intensive power system applications | |
US10691356B2 (en) | Operating a secure storage device | |
US11755721B2 (en) | Trusted workload execution | |
CN113806787A (zh) | 一种arm平台自动解密的方法、装置、设备及可读介质 | |
CN114491544A (zh) | 一种虚拟可信平台模块的实现方法及相关装置 | |
Ma et al. | A virtual machine cloning approach based on trusted computing | |
Chu et al. | Secure cryptography infrastructures in the cloud | |
CN111475844A (zh) | 一种数据共享方法、装置、设备及计算机可读存储介质 | |
EP4216087A1 (en) | Method for implementing virtual trusted platform module and related device | |
US11922211B2 (en) | System and method for cross-architecture trusted execution environment migration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |