CN112270000B - 密码服务提供方法、装置和计算机可读存储介质 - Google Patents

密码服务提供方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN112270000B
CN112270000B CN202010987721.1A CN202010987721A CN112270000B CN 112270000 B CN112270000 B CN 112270000B CN 202010987721 A CN202010987721 A CN 202010987721A CN 112270000 B CN112270000 B CN 112270000B
Authority
CN
China
Prior art keywords
middleware
encryption equipment
password
password service
encryption
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.)
Active
Application number
CN202010987721.1A
Other languages
English (en)
Other versions
CN112270000A (zh
Inventor
潘峰
张力
夏波
裴佩
蔡斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
722th Research Institute of CSIC
Original Assignee
722th Research Institute of CSIC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 722th Research Institute of CSIC filed Critical 722th Research Institute of CSIC
Priority to CN202010987721.1A priority Critical patent/CN112270000B/zh
Publication of CN112270000A publication Critical patent/CN112270000A/zh
Application granted granted Critical
Publication of CN112270000B publication Critical patent/CN112270000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种密码服务提供方法、装置和计算机可读存储介质,属于计算机安全领域。该方法包括加密设备适配软件接收来自中间件的密码设备申请请求;获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;采用所述目标加密设备为所述中间件提供密码服务。该方法能自动为中间件选择合适的目标密码设备提供密码服务。

Description

密码服务提供方法、装置和计算机可读存储介质
技术领域
本公开涉及计算机安全领域,特别涉及一种密码服务提供方法、装置和计算机可读存储介质。
背景技术
随着信息安全理论的发展,各种密码体制、保障体系不断增加。同时,计算平台不断发展,具备更多的外设接口,使其能够同时连接更多的加密设备。因此,同一个计算平台,同时支持多种密码体制、保障体系以及多个加密设备成为必然。
多密码体制、多保障体系在同一时期必然共存。同一计算平台不同的外设接口可以提供不同的密码服务。对于分布式系统或云平台,上层应用获取的密码服务可以来自不同的计算平台或者云端。不同的密码体制、保障体系遵循的标准不同,其密码服务API(Application Programming Interface,应用程序接口)库的封装形式也不相同;同一密码服务API库,不同设备厂家提供的密码服务也可能有差异。
相关技术中,需要由用户根据上层应用支持的密码体制和API接口标准等信息选择提供密码服务的加密设备,需要用户对加密设备的信息了解十分全面,否则选择的加密设备容易出错,对用户要求较高。
发明内容
本公开实施例提供了一种密码服务提供方法、装置和计算机可读存储介质,能够在使用加密设备提供的密码服务时屏蔽加密设备的差异,降低对用户的要求。所述技术方案如下:
一方面,本公开实施例提供了一种密码服务提供方法,所述方法包括:
加密设备适配软件接收来自中间件的密码设备申请请求;
获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;
根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;
采用所述目标加密设备为所述中间件提供密码服务。
可选地,所述根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备,包括:
获取加密设备列表,所述加密设备列表包括多个加密设备的标识和配置信息,所述加密设备的配置信息包括加密设备的厂家、版本、加密设备支持的密码体制和API接口标准;
在所述加密设备列表中查找与所述中间件支持的密码体制和API接口标准相同的加密设备,作为目标加密设备;
与所述目标加密设备建立连接通道,并保存所述连接通道的通道号;
向所述中间件发送加密设备申请成功的响应消息。
可选地,在所述采用所述目标加密设备为所述中间件提供密码服务之前,所述方法还包括:
接收所述中间件发送的密码服务请求;
根据所述密码服务请求与所述目标加密设备建立会话连接;
将所述会话连接对应的会话连接值发送给所述中间件。
可选地,所述密码服务请求中包括所述中间件的标识;
所述根据所述密码服务请求与所述目标加密设备建立会话连接,包括:
根据所述中间件的标识获取所述加密设备适配软件与所述目标加密设备之间的连接通道的通道号;
基于所述通道号,建立与所述连接通道对应的会话连接。
可选地,在所述根据所述密码服务请求与所述目标加密设备建立会话连接之后,所述方法还包括:
将所述中间件的通用密码服务库初始化为对应密码体制的标准密码服务库,所述中间件支持的密码体制和API接口标准与所述通用密码服务库支持的密码体制和API接口标准相同。
可选地,所述采用所述目标加密设备为所述中间件提供密码服务,包括:
接收所述中间件通过通用密码服务库发送的第一密码服务调用指令,所述第一密码服务调用指令包括所述通用密码服务库中的第一函数和所述会话连接值;
根据目标加密设备的设备密码服务库,将所述第一密码服务调用指令转换为第二密码服务调用指令,所述设备密码服务库与所述目标加密设备的厂家和版本匹配,所述第一密码服务调用指令和所述第二密码服务调用指令对应相同的密码服务,所述第二密码服务调用指令包括所述设备密码服务库中的第二函数、所述通道号和所述会话连接值;
将所述第二密码服务调用指令发送给所述目标加密设备,以通过所述目标加密设备为所述中间件提供密码服务。
可选地,所述方法还包括:
在所述中间件安装后,将所述中间件对应的通用密码服务库的配置文件写入所述中间件的配置文件中;
在所述目标加密设备安装后,将所述目标加密设备的设备密码服务库的配置信息写入对应的通用密码服务库的配置文件中。
另一方面,提供了一种密码服务提供装置,包括:
接收模块,用于接收来自中间件的密码设备申请请求;
获取模块,用于获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;
分配模块,用于根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;
服务提供模块,用于采用所述目标加密设备为所述中间件提供密码服务。
另一方面,本公开实施例提供了一种密码服务提供装置,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器存储有计算机指令,处理器通过执行计算机指令,从而执行如上述实施例中的密码服务提供方法。
另一方面,本公开实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如上述实施例中的密码服务提供方法。
本公开实施例提供的技术方案至少包括以下的有益效果是:
在中间件需要使用密码服务时,先发送密码设备申请请求,加密设备适配软件即可根据中间件的配置信息为中间件分配合适的加密设备,并通过分配的目标加密设备为中间件提供密码服务,无需人工选择,降低了对工作人员的要求。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例的应用场景图;
图2是本公开实施例提供的密码服务提供方法的流程示意图;
图3是本公开实施例提供的密码服务提供方法的流程示意图;
图4是本公开实施例提供的密码服务提供装置的结构示意图;
图5是本公开实施例提供的密码服务提供装置的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
图1显示了本公开实施例的应用场景。如图1所示,本公开实施例适用于连接有加密设备12的计算机设备11。示例性地,计算机设备包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。加密设备12可以通过外设物理接口与计算机设备11连接。外设物理接口包括但不限于串行通信接口、通用串行总线(Universal Serial Bus,简称USB)接口或者高速串行计算机扩展总线(peripheral component interconnect express,简称PCIE)接口。
该计算机设备11中安装有需要使用密码服务的中间件(下文中将简称为中间件)(包括直接访问加密设备12的中间件或应用软件)和用于管理需要使用密码服务的中间件的应用程序,下文中将该应用程序简称为加密设备适配软件。
为了便于理解本公开实施例,下面先对本公开实施例涉及的名词进行解释。
密码体制:完成加密和解密的算法,例如可以分为对称加密算法和非对称加密算法。
保障体系:指密码管理系统,同一密码体制可以根据不同的使用场景,配置不同的密码使用方法,从而构成不同的密码应用。不同的密码应用,通过相应的密码管理系统进行管理和保障。
密码服务:加密设备提供的各种对信息进行加密或解密相关的服务,包括但不限于打开设备、获取设备信息、关闭设备、登陆设备、登出设备、获取设备状态、加密、解密等。
设备密码服务库:包括多个函数,与不同的密码服务对应,通过各个函数可以调用加密设备的不同功能,以使得加密设备提供不同的密码服务。
通用密码服务库:包括多个函数,每个函数与不同的密码服务对应。每个通用密码服务库对应一种API接口标准,能够被初始化为不同密码体制对应的标准密码服务库。在初始化之前,通用密码服务库中的函数指针为空,初始化之后,为通用密码服务库中的函数指针赋值,得到标准密码服务库。
标准密码服务库:通用密码服务库初始化完成之后得到。每个标准密码服务库对应一种密码体制和API接口标准的组合,也即是,支持相同的密码体制和API接口标准的中间件可以共用一个标准密码服务库。
图2是本公开一实施例提供的密码服务提供方法的流程示意图,如图2所示,该密码服务提供方法的执行主体可以为加密设备适配软件,该方法包括以下步骤:
步骤201:接收来自中间件的密码设备申请请求。
步骤202:获取中间件的配置信息。
所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号。
步骤203:根据中间件的配置信息,从多个加密设备中为中间件分配目标密码设备。
所述目标加密设备与所述中间件支持的密码体制和API接口标准相同。这多个加密设备为安装在计算机设备中的,计算机设备能够使用的加密设备。
步骤204:采用目标加密设备为中间件提供密码服务。
在本公开实施例中,在中间件需要使用密码服务时,先发送密码设备申请请求,加密设备适配软件即可根据中间件的配置信息为中间件分配合适的加密设备,并通过分配的目标加密设备为中间件提供密码服务,无需人工选择,降低了对工作人员的要求。
图3是本公开另一实施例提供的密码服务提供方法的流程示意图,如图3所示,该方法包括以下步骤:
步骤301:加密设备适配软件获取设备密码服务库的配置文件。
设备密码服务库是在安装加密设备时,和该加密设备的驱动程序等软件包一起安装在计算机设备中的,不同加密设备类型、不同加密设备的厂家和/或版本对应的设备密码服务库不同。在本公开实施例中,加密设备的类型根据加密设备的物理接口类型划分。
在安装设备密码服务库时,产生该设备密码服务库的配置文件,该配置文件包括设备密码服务库的版本信息、设备厂家、支持的密码体制代码号及支持的API接口标准代码号等配置信息。
该配置文件保存在某个系统目录下,该系统目录下保存了安装在该计算平台上的多个设备密码服务库的配置文件。也即是,该计算平台上安装的设备密码服务库的配置文件统一保存在该系统目录下。
该步骤301可以在设备密码服务库安装完成之后执行。
可选地,该步骤301可以在设备密码服务库安装完成且通过认证之后执行。加密设备适配软件发现新加密设备后,调用该加密设备支持的标准接口对加密设备进行认证。认证的方式包括口令登录以及完成在线资源的下载等。如果认证通过,可以将该加密设备加入加密设备白名单,并动态分配设备号,进行统一管理;如果认证没有通过,则表明该加密设备不符合管理规范或设备异常,禁用该加密设备。
步骤302:加密设备适配软件将该设备密码服务库的安装路径和配置信息作为配置条目写入到对应密码体制及API接口标准的通用设备密码服务库的配置文件中。
设备密码服务库的配置信息包括设备密码服务库的版本信息、设备厂家、支持的密码体制代码号以及支持的API接口标准代码号。
计算机设备中具有多个通用设备密码服务库的配置文件,不同的通用设备密码服务库对应的密码体制和API接口标准中的至少一个不同。每个通用设备密码服务库的配置文件中包括多个配置条目,每个配置条目对应一个设备密码服务库的安装路径。
需要说明的是,通用密码服务库可以是在执行该方法之前预先安装在计算机设备中的,例如,与加密设备适配软件同时安装。
示例性地,通用密码服务库的命名为:“CSL_”||密码体制代码号||“_”||API接口标准代码号||“_”||主版本号||“_”||次版本号||。例如,通用密码服务库的密码体制代码号为xxx,API接口标准代码号为yyy,版本号为0.001,则该通用密码服务库的名称为“CSL_xxx_yyy_0_001”。
通用密码服务库包括多个第一函数,每个第一函数对应不同的密码服务,并且初始状态下,每个第一函数的指针为空,这样,中间件无法通过该通用密码服务库直接获得密码服务。
示例性地,该通用密码服务库为CSL(Common Service Library,通用服务库)。该通用密码服务库的结构如下:
typedefstructFUN_SET_st
{
intVersion;//初始版本为0
charDeviceModel[64];
charFactoryName[64];
(*CSL_OpenDevice);
(*CSL_GetDeviceInfo);
(*CSL_GetErrorString);
(*CSL_EnumDevice);
(*CSL_CLoseDevice);
(*CSL_LoginDevice);
(*CSL_LogoutDevice);
(*CSL_GetDeviceStatus);
}CSL_FUN_SET,*pCSL_FUN_SET;
其中,intVersion为通用服务库的版本号;char DeviceModel[64]为设备类型,例如USB接口设备,PCIE接口设备;charFactoryName[64]为通用密码服务库的提供厂家信息。
(*CSL_OpenDevice);(*CSL_GetDeviceInfo);(*CSL_GetErrorString);(*CSL_EnumDevice);(*CSL_CLoseDevice);(*CSL_LoginDevice);(*CSL_LogoutDevice);(*CSL_GetDeviceStatus)为第一函数。
步骤303:加密设备适配软件在中间件安装之后,根据中间件的配置信息,获取中间件对应的通用密码服务库的安装目录,并写入到该中间件的配置文件中。
即与中间件支持的密码体制代码号、支持的API接口标准代码号相同的通用密码服务库的安装目录。这样,在中间件运行时,可以加载该通用密码服务库。
在一些实施例中,在中间件安装到计算机设备之后,需要先进行注册,注册完成后才能使用密码服务,这种情况下,该步骤303在中间件注册成功之后执行。在另一些实施例中,中间件安装到计算机设备之后,无需注册即可使用密码服务,在这种情况下,该步骤303在中间件安装成功之后即可执行。
示例性地,中间件的注册过程可以包括:
第一步、中间件发送注册请求给加密设备适配软件。
在一种可能的实施方式中,有一部分中间件是由上级单位或者任务需求进行授权安装,这部分的中间件在安装后就具有访问加密设备的权限,在这部分中间件安装到计算机之后,中间件生成注册请求,然后将注册请求发送给加密设备适配软件。相应地,加密设备适配软件接收该注册请求。
第二步、响应于该注册请求,加密设备适配软件获取中间件的配置信息。
在本公开实施例中,在加密设备适配软件收到该注册请求后,获取该中间件的配置信息,该中间件的配置信息包括中间件的版本信息、支持的密码体制代码号、支持的API接口标准代码号以及安装路径等信息。
示例性地,中间件的配置信息记录在中间件的配置文件中,该中间件的配置文件是管理人员安装完新的中间件后生成的,中间件的配置文件统一保存在该计算机设备的系统目录下,加密设备适配软件可以从对应的中间件的配置文件中获取该中间件的配置信息。
第三步、加密设备适配软件为中间件分配标识。
该标识可以是功能号。示例性地,中间件的功能号是加密设备适配软件在该中间件注册成功后分配的,注册成功表示加密设备适配软件确定该中间件具有访问加密设备的权限。该功能号的取值范围可以为0x100000~0x7fffffff,例如,加密设备适配软件确定该中间件具有访问加密设备的权限,将0x101000作为功能号分配给该中间件。
需要说明的是,对于同一个加密设备适配软件分配的标识,每个标识唯一对应一个中间件。而不同的加密设备适配软件分配给不同的加密设备的标识可以相同。
第四步、加密设备适配软件将中间件的标识和中间件的配置信息对应保存在白名单中。
在本公开实施例中,加密设备适配软件将中间件的标识和配置信息对应保存在白名单,该白名单中包括所有已注册中间件的标识和配置信息。
步骤304:中间件运行时,加载对应的通用密码服务库。
中间件运行时,根据中间件的配置文件中的安装路径,加载对应的通用密码服务库。
在该步骤304中,加载的通用密码服务库中第一函数的指针均为空。
步骤305:中间件向加密设备适配软件发送加密设备申请请求。
相应地,加密设备适配软件接收该加密设备申请请求。
如果中间件是注册过的中间件,则该加密设备申请请求中包括该中间件的标识。并且,加密设备适配软件会确定该加密设备申请请求中的中间件的标识是否存在于白名单中。若中间件的标识存在于白名单中,则执行步骤306;若中间件的标识不存在于白名单中,则退出当前流程。
在没有注册过程的情况下,在步骤305之后,直接执行步骤306。
步骤306:加密设备适配软件获取中间件的配置信息。
示例性地,可以根据中间件的标识从白名单中查找中间件的配置信息。
在另一种可能的实施方式中,也可以从中间件的配置文件中获取中间件的配置信息。
步骤307:加密设备适配软件为中间件分配目标加密设备。
在本公开实施例中,加密设备适配软件根据中间件的配置信息中的中间件支持的密码体制代码号和支持的API接口标准代码号为中间件分配目标加密设备,目标加密设备支持该中间件支持的密码体制以及API接口。
在一种可能实施方式中,可以通过加密设备列表管理多个加密设备,该加密设备列表中包括各个加密设备的名称和配置信息,加密设备的配置信息至少包括加密设备支持的密码体制、API接口标准代码号、版本信息和设备厂家。在这种情况下,该步骤S308可以包括:从该加密设备列表中选择一个与中间件的配置信息匹配的加密设备,作为目标加密设备。
在一种可能的实施方式中,该加密设备列表仅包括通过认证的加密设备。
在另一种可能的实施方式中,该加密设备列表仅包括通过认证且处于正常工作状态的加密设备。
如果认证通过,配置管理模块对该加密设备当前状态进行查询;如果该加密设备进入正常工作状态,则将该加密设备加入加密设备白名单,并动态分配设备号,进行统一管理;如果认证没有通过,则表明该加密设备不符合管理规范或设备异常。如果该加密设备不被许可,则该设备不能加入白名单。
步骤308:加密设备适配软件与加密设备建立连接通道。
加密设备适配软件根据加密设备的配置信息,得到加密设备对应的接口通讯协议,并基于该接口通讯协议与加密设备建立连接通道。
示例性地,加密设备适配软件通过打开设备函数(handle=opendevice())打开设备,即建立连接通道。
加密设备适配软件为该连接通道建立上下文,并保存加密设备句柄。该加密设备句柄用于关联该上下文。
步骤309:加密设备适配软件和加密设备分别保存该连接通道的通道号。
加密设备接收加密设备适配软件发送的通道号,并保存该通道号。
步骤310:加密设备适配软件向中间件返回响应消息。
该响应消息用于指示加密设备申请成功。中间件收到该响应消息后,即可申请密码服务。
通过该步骤305~310实现根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备。
需要说明的是,在本公开实施例中,加密设备适配软件可以包括两个部分:配置管理模块和适配层软件,配置管理模块执行步骤305~307和步骤309,配置管理模块统一保存中间件的标识、对应的通道号等,而适配层软件执行步骤308,并且不保存该通道号。也即是,配置管理模块在为中间件分配目标加密设备之后,将目标加密设备的配置信息和中间件的标识传递给适配层软件,适配层软件在与目标加密设备建立本次连接通道之后,为该连接通道建立上下文,并保存加密设备句柄,并将通道号保存在配置管理模块和加密设备中。
由于配置管理模块仅用于匹配加密设备和保存通道号,升级改动的可能性较小,而适配层软件需要随着加密设备的更新而进行升级,升级的可能性较大,所以将两部分功能分别采用不同的模块实现,有利于加密设备适配软件的升级和维护。
步骤311:中间件向加密设备适配软件发送密码服务请求。
该密码服务请求中携带中间件的标识。
相应地,加密设备适配软件接收该密码服务请求。
需要说明的是,如果通道号保存在配置管理模块中,则该步骤311包括:向配置管理模块发送密码服务请求;配置管理模块在收到该密码服务请求后,将中间件的标识和通道号传递给适配层软件,由适配层软件执行后续步骤311。
步骤312:加密设备适配软件基于中间件的标识获取对应的通道号,并基于所述通道号,建立与连接通道对应的会话连接。
加密设备适配软件根据通道号、中间件的标识查找上下文,并产生与目标加密设备对应的接口通讯协议,基于该接口通讯协议与目标加密设备建立会话连接。
示例性地,加密设备适配软件通过opensession(handle,…)函数建立会话连接。加密设备接收加密设备适配软件发送的会话连接值,并对应保存该会话连接值和相应的通道号。
也即是,通过该步骤311和312实现根据所述密码服务请求与所述目标加密设备建立会话连接。
在本公开实施例中,加密设备适配软件根据中间件的标识(功能号)、本次连接通道的通道号加载加密设备的密码设备服务库,通过加密设备支持的API接口与加密设备的密码设备服务库建立会话连接。
步骤313:加密设备适配软件将中间件对应的通用密码服务库初始化为对应密码体制的标准密码服务库。
也即是,对通用密码服务库的函数指针进行赋值,将对应的函数指针赋值为标准密码服务库对应的函数。
步骤314:加密设备适配软件向中间件发送会话连接对应的会话连接值。
该会话连接值为后续服务的令牌。用于作为所述中间件访问所述加密设备的输入参数。
在本申请实施例中,会话连接值是加密设备适配软件基于所述标识、所述通道号生成的。
示例性地,加密设备适配软件将中间件的功能号、通道号作为输入数据,根据一定策略计算出来的数值作为会话连接值。例如,对所述标识、所述通道号和随机数进行摘要算法得到会话连接值。加密设备根据会话连接值建立相应的上下文,该上下文可以是储存了会话连接值和通道号、中间计算结果及密码资源配置等信息的一组值。
步骤315:中间件通过通用密码服务库发送第一密码服务调用指令。
相应地,加密设备适配软件接收该第一密码服务调用指令,所述第一密码服务调用指令包括所述通用密码服务库中的第一函数和所述会话连接值。
在本申请实施例中,通用密码服务库通过适配传输协议向加密设备适配软件传递该第一密码服务调用指令。
步骤316:根据目标加密设备的设备密码服务库,将所述第一密码服务调用指令转换为第二密码服务调用指令。
其中,所述设备密码服务库与所述目标加密设备的厂家和版本匹配,所述第一密码服务调用指令和所述第二密码服务调用指令对应相同的密码服务,所述第二密码服务调用指令包括所述设备密码服务库中的第二函数、所述通道号和所述会话连接值。
该步骤316包括:第一步、加密设备适配软件根据该会话连接值确定对应的通道号(例如适配层软件根据会话连接值向配置管理模块获取已建立的通道号);第二步、加密设备适配软件根据会话连接值和对应的通道号查找连接上下文,将适配传输协议转换为与目标加密设备对应的接口通讯协议;第三步、根据目标加密设备对应的接口通讯协议,将第一密码服务调用指令转换为第二密码服务调用指令。
在本申请实施例中,适配传输协议为加密设备适配软件与初始化之后的通用密码服务库(即标准密码服务库)之间的通讯协议,接口通讯协议为加密设备适配软件与设备密码服务库之间的通讯协议。
步骤317:加密设备适配软件将所述第二密码服务调用指令发送给所述目标加密设备,以通过所述目标加密设备为所述中间件提供密码服务。
步骤318:目标加密设备将密码服务的结果通过对应的接口通讯协议,返回给加密设备适配软件。
目标加密设备接收到该第二密码服务调用指令后,对通道号和会话连接值进行校验,如果通道号和会话连接值通过校验,则确定密码服务的结果。校验方式包括但不限于在本地查找相同的通道号和会话连接值的组合,如果查找到相同的通道号和会话连接值的组合,表示通过校验;如果没有查找到相同的通道号和会话连接值的组合,表示未通过校验。
步骤319:加密设备适配软件将密码服务的结果返回给通用密码服务库。
这里,加密设备适配软件通过适配传输协议将密码服务的结果返回给通用密码服务库。
通用密码服务库收到该密码服务的结果之后,将该密码服务的结果返回给中间件,从而中间件获得密码服务。
在本公开实施例中,在中间件需要使用密码服务时,先发送密码设备申请请求,加密设备适配软件即可根据中间件的配置信息为中间件分配合适的加密设备,并通过分配的目标加密设备为中间件提供密码服务,无需人工选择,降低了对工作人员的要求。
另外,在本公开实施例中,中间件通过加密设备适配软件来获取加密设备提供的密码服务。由于加密设备通过初始化后的通用密码服务库从加密设备获取密码服务,对于支持相同密码体制的中间件而言,使用的通用密码服务库相同,无需考虑不同设备厂家的加密设备提供的密码服务的差异,即屏蔽了密码服务库的差异性。
并且,在本公开实施例中,中间件在接收到会话连接值后通过加密设备适配软件与加密设备建立会话连接,中间件将会话连接值作为本次会话的输入参数,加密设备适配软件根据中间件的输入参数将会话连接值和通道号发送给加密设备。加密设备根据该会话连接值和通道号获取密码服务的上下文,执行相应的密码服务,并将执行结果返回给中间件。其他中间件即使通过非法手段获取到会话连接值,也会因为无法提供相应的通道号不能与加密设备建立会话连接。
此外,本公开实施例降低了中间件、密码服务库、加密设备的耦合程度,在密码服务提供厂家日益增多和加密设备版本日益增多的情况下,只需要更新加密设备和对应的密码服务库即可。
图4是本公开一实施例提供的密码服务提供装置的结构示意图,该装置可以通过软件、硬件或者两者的结合实现成为装置中的部分或者全部。如图4所示,密码服务提供装置包括:接收模块401、获取模块402、分配模块403和服务提供模块404。其中,接收模块401,用于接收来自中间件的密码设备申请请求;
获取模块402,用于获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;分配模块403,用于根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标密码设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;服务提供模块404,用于采用所述目标加密设备为所述中间件提供密码服务。
可选地,分配模块403包括:获取子模块4031、查找子模块4032、通道建立子模块4033和发送子模块4034。其中,获取子模块4031用于获取加密设备列表,所述加密设备列表包括多个加密设备的标识和配置信息,所述加密设备的配置信息包括加密设备的厂家、版本、加密设备支持的密码体制和API接口标准;查找子模块4032用于在所述加密设备列表中查找与所述中间件支持的密码体制和API接口标准相同的加密设备,作为目标加密设备;通道建立子模块4033用于与所述目标加密设备建立连接通道,并保存所述连接通道的通道号;发送子模块4034用于向所述中间件发送加密设备申请成功的响应消息。
可选地,所述装置还包括:接收模块405、连接建立模块406和发送模块407。其中,接收模块405用于接收所述中间件发送的密码服务请求;连接建立模块406用于根据所述密码服务请求与所述目标加密设备建立会话连接;发送模块407用于将所述会话连接对应的会话连接值发送给所述中间件。
可选地,连接建立模块406用于根据所述中间件的标识获取所述加密设备适配软件与所述目标加密设备之间的连接通道的通道号;基于所述通道号,建立与所述连接通道对应的会话连接。
可选地,所述装置还包括:初始化模块408,用于在所述根据所述密码服务请求与所述目标加密设备建立会话连接之后,将所述中间件的通用密码服务库初始化为对应密码体制的标准密码服务库,所述中间件支持的密码体制和API接口标准与所述通用密码服务库支持的密码体制和API接口标准相同。
可选地,服务提供模块404包括:接收子模块4041、转换子模块4042和发送子模块4043。其中,接收子模块4041用于接收所述中间件通过通用密码服务库发送的第一密码服务调用指令,所述第一密码服务调用指令包括所述通用密码服务库中的第一函数和所述会话连接值;转换子模块4042用于根据目标加密设备的设备密码服务库,将所述第一密码服务调用指令转换为第二密码服务调用指令,所述设备密码服务库与所述目标加密设备的厂家和版本匹配,所述第一密码服务调用指令和所述第二密码服务调用指令对应相同的密码服务,所述第二密码服务调用指令包括所述设备密码服务库中的第二函数、所述通道号和所述会话连接值;发送子模块4043用于将所述第二密码服务调用指令发送给所述目标加密设备,以通过所述目标加密设备为所述中间件提供密码服务。
可选地,所述装置还包括:写入模块409,用于在所述中间件安装后,将所述中间件对应的通用密码服务库的配置文件写入所述中间件的配置文件中;在所述目标加密设备安装后,将所述目标加密设备的设备密码服务库的配置信息写入对应的通用密码服务库的配置文件中。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是本公开一实施例提供的一种密码服务提供装置的结构示意图。如图5所示,所述密码服务提供装置500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。所述计算机设备500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
所述基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中所述显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。所述基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。所述大容量存储设备507及其相关联的计算机可读介质为密码服务提供装置500提供非易失性存储。也就是说,所述大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本发明的各种实施例,所述计算机设备500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备500可以通过连接在所述系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器501通过执行该一个或一个以上程序来实现图2至图3所示的密码服务提供方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备的处理器执行以完成本发明各个实施例所示的密码服务提供方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种密码服务提供方法,其特征在于,包括:
加密设备适配软件接收来自中间件的加密设备申请请求;
获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;
根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标加密设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;
采用所述目标加密设备为所述中间件提供密码服务。
2.根据权利要求1所述的方法,其特征在于,所述根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标加密设备,包括:
获取加密设备列表,所述加密设备列表包括多个加密设备的标识和配置信息,所述加密设备的配置信息包括加密设备的厂家、版本、加密设备支持的密码体制和API接口标准;
在所述加密设备列表中查找与所述中间件支持的密码体制和API接口标准相同的加密设备,作为目标加密设备;
与所述目标加密设备建立连接通道,并保存所述连接通道的通道号;
向所述中间件发送加密设备申请成功的响应消息。
3.根据权利要求2所述的方法,其特征在于,在所述采用所述目标加密设备为所述中间件提供密码服务之前,所述方法还包括:
接收所述中间件发送的密码服务请求;
根据所述密码服务请求与所述目标加密设备建立会话连接;
将所述会话连接对应的会话连接值发送给所述中间件。
4.根据权利要求3所述的方法,其特征在于,所述密码服务请求中包括所述中间件的标识;
所述根据所述密码服务请求与所述目标加密设备建立会话连接,包括:
根据所述中间件的标识获取所述加密设备适配软件与所述目标加密设备之间的连接通道的通道号;
基于所述通道号,建立与所述连接通道对应的会话连接。
5.根据权利要求3所述的方法,其特征在于,在所述根据所述密码服务请求与所述目标加密设备建立会话连接之后,所述方法还包括:
将所述中间件的通用密码服务库初始化为对应密码体制的标准密码服务库,所述中间件支持的密码体制和API接口标准与所述通用密码服务库支持的密码体制和API接口标准相同。
6.根据权利要求4所述的方法,其特征在于,所述采用所述目标加密设备为所述中间件提供密码服务,包括:
接收所述中间件通过通用密码服务库发送的第一密码服务调用指令,所述第一密码服务调用指令包括所述通用密码服务库中的第一函数和所述会话连接值;
根据目标加密设备的设备密码服务库,将所述第一密码服务调用指令转换为第二密码服务调用指令,所述设备密码服务库与所述目标加密设备的厂家和版本匹配,所述第一密码服务调用指令和所述第二密码服务调用指令对应相同的密码服务,所述第二密码服务调用指令包括所述设备密码服务库中的第二函数、所述通道号和所述会话连接值;
将所述第二密码服务调用指令发送给所述目标加密设备,以通过所述目标加密设备为所述中间件提供密码服务。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述中间件安装后,将所述中间件对应的通用密码服务库的配置文件写入所述中间件的配置文件中;
在所述目标加密设备安装后,将所述目标加密设备的设备密码服务库的安装路径和配置信息写入对应的通用密码服务库的配置文件中。
8.一种密码服务提供装置,其特征在于,包括:
接收模块,用于接收来自中间件的加密设备申请请求;
获取模块,用于获取所述中间件的配置信息,所述中间件的配置信息包括中间件支持的密码体制代码号和API接口标准代码号;
分配模块,用于根据所述中间件的配置信息,从多个加密设备中为所述中间件分配目标加密设备,所述目标加密设备与所述中间件支持的密码体制和API接口标准相同;
服务提供模块,用于采用所述目标加密设备为所述中间件提供密码服务。
9.一种密码服务提供装置,其特征在于,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器存储有计算机指令,处理器通过执行计算机指令,从而执行如权利要求1-7任一项所述的密码服务提供方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7任一项所述的密码服务提供方法。
CN202010987721.1A 2020-09-18 2020-09-18 密码服务提供方法、装置和计算机可读存储介质 Active CN112270000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010987721.1A CN112270000B (zh) 2020-09-18 2020-09-18 密码服务提供方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010987721.1A CN112270000B (zh) 2020-09-18 2020-09-18 密码服务提供方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112270000A CN112270000A (zh) 2021-01-26
CN112270000B true CN112270000B (zh) 2023-10-27

Family

ID=74349700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010987721.1A Active CN112270000B (zh) 2020-09-18 2020-09-18 密码服务提供方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112270000B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117097564B (zh) * 2023-10-18 2024-02-02 沃通电子认证服务有限公司 密码服务调用方法、装置、终端设备以及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818265A (zh) * 2017-10-23 2018-03-20 中国银行股份有限公司 加密方法、装置和系统
CN109347839A (zh) * 2018-10-25 2019-02-15 深圳壹账通智能科技有限公司 集中式密码管理方法、装置、电子设备及计算机存储介质
CN109583154A (zh) * 2018-12-04 2019-04-05 北京华大智宝电子系统有限公司 一种基于Web中间件访问智能密码钥匙的系统及方法
CN109672675A (zh) * 2018-12-20 2019-04-23 成都三零瑞通移动通信有限公司 一种基于OAuth2.0的密码服务中间件的WEB认证方法
CN109672519A (zh) * 2018-10-17 2019-04-23 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种密码装置及其数据加解密方法
CN111026461A (zh) * 2019-12-06 2020-04-17 联想(北京)有限公司 用于区块链系统的数据处理方法、装置和电子设备
CN111291366A (zh) * 2020-05-11 2020-06-16 北京东方通科技股份有限公司 安全中间件系统
CN111428226A (zh) * 2020-03-24 2020-07-17 中安云科科技发展(山东)有限公司 一种安全调用密码卡接口的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101401390B (zh) * 2006-01-11 2012-10-31 三星电子株式会社 多媒体中间件中的安全管理方法和设备及其存储介质
US9009473B2 (en) * 2011-10-13 2015-04-14 International Business Machines Corporation Providing consistent cryptographic operations across several applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107818265A (zh) * 2017-10-23 2018-03-20 中国银行股份有限公司 加密方法、装置和系统
CN109672519A (zh) * 2018-10-17 2019-04-23 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种密码装置及其数据加解密方法
CN109347839A (zh) * 2018-10-25 2019-02-15 深圳壹账通智能科技有限公司 集中式密码管理方法、装置、电子设备及计算机存储介质
CN109583154A (zh) * 2018-12-04 2019-04-05 北京华大智宝电子系统有限公司 一种基于Web中间件访问智能密码钥匙的系统及方法
CN109672675A (zh) * 2018-12-20 2019-04-23 成都三零瑞通移动通信有限公司 一种基于OAuth2.0的密码服务中间件的WEB认证方法
CN111026461A (zh) * 2019-12-06 2020-04-17 联想(北京)有限公司 用于区块链系统的数据处理方法、装置和电子设备
CN111428226A (zh) * 2020-03-24 2020-07-17 中安云科科技发展(山东)有限公司 一种安全调用密码卡接口的方法
CN111291366A (zh) * 2020-05-11 2020-06-16 北京东方通科技股份有限公司 安全中间件系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Wissam Razouk.A new security middleware architecture based on fog computing and cloud to support IoT connstrained devices.IML'17:Preceedings of the 1st International Conference on Internet of Things and Machine Learning.2017,全文. *
密码服务平台的设计与实现;王九林;夏潇;王一帆;;北京电子科技学院学报(04);全文 *

Also Published As

Publication number Publication date
CN112270000A (zh) 2021-01-26

Similar Documents

Publication Publication Date Title
US9100172B2 (en) Method for interworking with trustzone between normal domain and secure domain, and management method of trusted application download, management server, device and system using it
US7752463B2 (en) Automatically filling a drive table
CA2881539C (en) Secure app ecosystem with key and data exchange according to enterprise information control policy
US9430211B2 (en) System and method for sharing information in a private ecosystem
US9525592B2 (en) Client/server network environment setup method and system
US8370643B2 (en) Cryptographic module selecting device and program
CN108540433B (zh) 用户身份校验方法及装置
US20090138699A1 (en) Software module management device and program
US9117055B2 (en) Method and apparatus for downloading DRM module
US20140195582A1 (en) System and method for providing an inter-application communication framework
US20180027018A1 (en) System and Method for Sharing Information in a Private Ecosystem
CN101547202B (zh) 处理网络上的装置的安全等级的方法和设备
US20240111907A1 (en) A device and a communication method
CN108400875B (zh) 基于键值的授权认证方法、系统、电子设备、存储介质
US11805182B2 (en) User profile distribution and deployment systems and methods
CN112270000B (zh) 密码服务提供方法、装置和计算机可读存储介质
US8006009B2 (en) Methods and device for implementing multifunction peripheral devices with a single standard peripheral device driver
US9529978B2 (en) Cloud E-DRM system and service method thereof
KR20130053867A (ko) 보안 어플리케이션 다운로드 관리방법, 이를 적용한 보안 어플리케이션 다운로드 관리서버, 단말기, 및 관리시스템
US20130219510A1 (en) Drm/cas service device and method using security context
US20210377308A1 (en) Reducing memory footprint after tls connection establishment
US9823944B2 (en) Deployment control device and deployment control method for deploying virtual machine for allowing access
CN113934554A (zh) Rpc跨语言通信方法、装置、存储介质和电子设备
US20110214159A1 (en) Computer system
CN112367347B (zh) 加密设备访问方法、装置和计算机可读存储介质

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
GR01 Patent grant
GR01 Patent grant