掌桥专利:专业的专利平台
掌桥专利
首页

服务密码获取方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 12:07:15


服务密码获取方法、装置、电子设备及存储介质

技术领域

本发明涉及安全领域,尤其涉及一种服务密码获取方法、装置、电子设备及计算机可读存储介质。

背景技术

随着企业内各系统的运行和发展,目前生产环境内的各应用的服务密码都托管在服务端上,通过客户端实现托管的服务密码获取,但是这样的方式意味着不同的客户端获取托管在服务端上的服务密码的实现方式都是不同的,且客户端实现托管密码获取的方式是每次应用服务需要使用密码时就向服务端发起请求,这样容易导致在获取服务密码时带来一定的安全风险。

发明内容

本发明提供一种服务密码获取方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高服务密码获取的安全性。

为实现上述目的,本发明提供的一种服务密码获取方法,包括:

接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验;

在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码;

若未查询到所述服务密码,则根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端;

若查询到所述服务密码,则对所述服务密码进行解密后返回至所述客户端。

可选地,所述调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验之前,所述方法还包括:

获取所述客户端对应的密码托管平台的接口参数对象,并将所述接口参数对象转换成对应的接口响应报文;

对所述接口响应报文进行解析后生成对应的接口校验脚本。

可选地,所述调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验,包括:

获取所述服务密码获取请求的密码请求参数,对所述密码请求参数进行接口转换,生成接口调用参数;

根据所述接口校验脚本,执行所述接口调用参数的接口校验。

可选地,所述根据所述接口校验脚本,执行所述接口调用参数的接口校验,包括:

计算所述服务密码获取请求中接口调用参数与所述接口校验脚本中接口响应报文的匹配度;

若所述匹配度不大于预设匹配度,则所述服务密码获取请求校验失败;

若所述匹配度大于预设匹配度,则所述服务密码获取请求校验成功。

可选地,所述计算所述所述服务密码获取请求中接口调用参数与所述接口校验脚本中接口响应报文的匹配度,包括:

利用下述公式计算所述服务密码获取请求中接口调用参数与所述接口校验脚本中接口响应报文的匹配度:

其中,T(x,y)表示匹配度,x

可选地,所述根据所述服务密码获取请求,从所述密码托管平台中查询服务密码,包括:

获取所述服务密码获取请求的密码服务标识;

从所述密码托管平台中查询与所述密码服务标识对应的密码配置标识,得到查询结果。

可选地,所述根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,包括:

获取所述服务密码获取请求的密码服务标识及客户端标识;

根据所述客户端标识,利用查询语句从所述客户端对应的服务端获取所述密码服务标识的服务密码。

为了解决上述问题,本发明还提供一种服务密码获取装置,所述装置包括:

检验模块,用于接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验;

查询模块,用于在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码;

返回模块,用于在未查询到所述服务密码时,根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端;

所述返回模块,还用于在查询到所述服务密码时,对所述服务密码进行解密后返回至所述客户端。

为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:

至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的服务密码获取方法。

为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的服务密码获取方法。

本发明实施例首先接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验,以识别所述服务密码获取请求可以正常访问客户端对应的应用服务程序,保障后续服务密码获取的安全性;其次,本发明实施例在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码,可以实现对服务密码进行统一的管理,及兼容不同的托管密码请求的方式,以进一步地提高服务密码获取请求的安全性。因此,本发明提出的一种服务密码获取方法、装置、电子设备以及存储介质可以提高服务密码获取的安全性。

附图说明

图1为本发明一实施例提供的服务密码获取方法的流程示意图;

图2为本发明第一实施例中图1提供的服务密码获取方法其中一个步骤的详细流程示意图;

图3为本发明一实施例提供的服务密码获取装置的模块示意图;

图4为本发明一实施例提供的实现服务密码获取方法的电子设备的内部结构示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本申请实施例提供一种服务密码获取方法。所述服务密码获取方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述服务密码获取方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。

参照图1所示,为本发明一实施例提供的服务密码获取方法的流程示意图。在本发明实施例中,所述服务密码获取方法包括:

S1、接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述密码获取请求进行接口校验。

本发明实施例中,所述客户端也可以称为移动端,用于进行应用服务的加载和访问。所述服务密码获取请求是指访问客户端中对应的应用服务程序的明文密码,可以了解为一个应用服务启动时的加载口令,比如,用户登录需求口令、加载商城订单口令以及查找某台服务器的IP地址口令。所述密码托管平台是指一种托管明文密码的软件开发工具包,可以兼容不同的密码请求及密码管理的方式,由Java编程语言编译,所述软件开发工具包(Software Development Kit,SDK)指的是由软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具集合。

进一步地,应该了解,在访问客户端对应的应用服务程序时,对应的服务密码获取请求可能会存在一些不合法的数据,比如字符编码格式有误、访问权限受阻以及用户信息错误等等,因此,本发明通过在调用所述客户端对应的密码托管平台对所述密码获取请求进行接口校验之前,利用预构建的过滤器对所述服务密码获取请求进行合法校验,以拦截所述服务密码获取请求中的非法数据,保障所述服务密码获取请求的正常访问。

在本发明其中一个实施例,所述预构建的过滤器利用Java框架开发得到,所述Java框架包括:Spring框架、Mybatis框架以及SpringMVC框架,所述过滤器包括filter过滤器和Servlet过滤器。所述过滤器的创建技术属于当前较为成熟的技术,在此不做赘述。

进一步地,在所述服务密码获取请求校验成功时,则表示所述服务密码获取请求可以正常访问客户端对应的应用服务程序,因此,本发明实施例通过调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验,以获取所述服务密码获取请求对应的服务密码,实现客户端对应的应用服务加载和访问。

进一步地,本发明实施例中,所述调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验之前,还包括:在所述密码托管平台中配置接口校验脚本,以实现与所述服务密码获取请求的接口检验。具体的,所述在所述密码托管平台中配置接口校验脚本,包括:获取所述客户端对应的密码托管平台的接口参数对象,利用session方法将所述接口参数对象转换成接口响应报文,通过JavaScript脚本语言对所述接口响应报文进行解析后生成接口校验脚本。其中,所述接口响应报文可以理解为密码托管平台的接口实现类,用于兼容多种托管密码请求的方式,从而可以验证服务密码获取请求的合法性以及保障客户端与对应密码托管平台的正常数据访问。

详细地,参阅图2所示,所述调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验,包括:

S20、获取所述服务密码获取请求的的密码请求参数,对所述密码请求参数进行接口转换,生成接口调用参数;

S21、根据所述接口校验脚本,执行所述接口调用参数的接口校验。

一个可选实施例中,所述服务密码获取请求中的密码请求参数通过request指令获取,其中,所述密码请求参数包括应用名、应用版本及口令等参数。

一个可选实施例中,所述密码请求参数的接口转换可以通过预设的参数接口转换规则实现,所述参数接口转换参数可以通过SpringMVC框架进行自定义配置。

一个可选实施例中,所述根据所述接口校验脚本,执行所述接口调用参数的接口校验,包括:计算所述服务密码获取请求中接口调用参数与所述接口校验脚本中接口响应报文的匹配度,若所述匹配度不大于预设匹配度,则所述服务密码获取请求校验失败,若所述匹配度大于预设匹配度,则所述服务密码获取请求校验成功。可选的,所述预设匹配度为0.89,也可以根据实际业务场景进行设置。

一个可选实施例中,利用下述公式计算所述服务密码获取请求中接口调用参数与所述接口校验脚本中接口响应报文的匹配度:

其中,T(x,y)表示匹配度,x

S2、在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码。

应该了解,在所述接口检验成功时,则表示对应服务密码获取请求可以正常访问所述密码托管平台,因此本发明实施例根据所述服务密码获取请求,从所述密码托管平台中查询服务密码,以获取所述客户端对应的应用服务的启动密码,保障应用服务的正常启动。

进一步,本发明实施例根据所述服务密码获取请求,从所述密码托管平台中查询服务密码之前还包括:构建所述密码托管平台的密码配置标识,以实现后续密码标识的匹配。其中,所述密码配置标识是指在所述密码托管平台中缓存的配置项标识,所述配置项标识是按照预设的编码规则对配置项进行编码后的编号代码。其中,所述配置项标识与所述配置项存在一一对应的映射关系,如配置项A对应的配置项标识为001,配置项B的配置项标识为002。可选的,本发明实施例通过将spring容器中的的配置项作为缓存,并通过spring容器管理缓存的配置项资源,从而对服务密码进行统一的管理,能够提高所述密码托管平台的运行性能及用户体验。

具体的,所述根据所述服务密码获取请求,从所述密码托管平台中查询服务密码,包括:获取所述服务密码获取请求的密码服务标识,从所述密码托管平台中查询与所述密码服务标识对应的密码配置标识,得到查询结果。

其中,所述服务密码标识用于表征需要加载所述服务密码获取请求对应服务应用的信息,如Password_1、Password_2以及Password_3等等,所述Password_1可以用于表征短信查询应用的查询标识,Password_2可以用于表征用户登录应用的登录标识,Password_3可以用于表征订单支付应用的支付标识。

一个可选实施例中,所述密码配置标识的查询可以通过查询语句实现,如select语句。

若未查询到服务密码,则执行S3、根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端。

应该了解,在所述密码托管平台中没有查询到所述服务密码获取请求的服务密码,则表示所述密码托管平台托管未存在所述服务密码获取对应的服务密码或者托管对应的服务密码已经失效,因此,本发明实施例中,根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,以保障所述服务密码获取请求对应的服务应用的正常加载。

其中,所述根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,包括:获取所述服务密码获取请求的密码服务标识及客户端标识,根据所述客户端标识,利用查询语句从所述客户端对应的服务端获取所述密码服务标识的服务密码。

进一步地,本发明实施例将查询到的服务密码返回至所述客户端,以保障所述客户端对应的服务应用正常加载。

本发明另一申请实施例还包括:将查询到的服务密码进行加密后返回至所述密码托管平台中,以用于下次对应服务密码获取请求可以直接查询相应的服务密码。其中,所述服务密码的加密可以通过当前已知的加密算法(如对称加密算法)实现。

若查询到服务密码,则执行S4、对所述服务密码进行解密后返回至所述客户端。

应该了解,在所述密码托管平台中查询到所述服务密码获取请求的服务密码,则表示所述密码托管平台托管存在所述服务密码获取请求对应的服务密码,进一步地,应该了解的是,所述密码托管平台中的服务密码从服务端获取,为了保障服务密码的安全性,所述托管平台中的服务密码都是通过加密算法进行加密生成,所述密码算法可以为上述对称加密算法,因此,本发明实施例中对所述服务密码进行解密后返回至所述客户端。其中,所述服务密码的解密基于对应加密算法实现,例如所述加密算法为对称加密算法,在采用加密算法对所述服务密码进行加密时,会生成一个密钥,所述密码托管平台会将所述密钥返回至对应客户端,以实现所述服务密码的解密。

本发明实施例首先接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验,以识别所述服务密码获取请求可以正常访问客户端对应的应用服务程序,保障后续服务密码获取的安全性;其次,本发明实施例在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码,可以实现对服务密码进行统一的管理,及兼容不同的托管密码请求的方式,以进一步地提高服务密码获取请求的安全性因此,本发明提出的一种服务密码获取方法可以提高服务密码获取的安全性。

如图3所示,是本发明服务密码获取装置的功能模块图。

本发明所述服务密码获取装置100可以安装于电子设备中。根据实现的功能,所述服务密码获取装置可以包括检验模块101、查询模块102以及返回模块103。本发所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。

在本实施例中,关于各模块/单元的功能如下:

所述检验模块101,用于接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验;

所述查询模块102,用于在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码;

所述返回模块103,用于在未查询到所述服务密码时,根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端;

所述返回模块103,还用于在查询到所述服务密码时,对所述服务密码进行解密后返回至所述客户端。

详细地,本发明实施例中所述服务密码获取装置100中的所述各模块在使用时采用与上述的图1和图2中所述的服务密码获取方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。

如图4所示,是本发明实现服务密码获取方法的电子设备的结构示意图。

所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如服务密码获取程序12。

其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如服务密码获取的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如执行服务密码获取程序12等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。

所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。

图4仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图4示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。

可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。

应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。

所述电子设备1中的所述存储器11存储的服务密码获取12是多个计算机程序的组合,在所述处理器10中运行时,可以实现:

接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验;

在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码;

若未查询到所述服务密码,则根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端;

若查询到所述服务密码,则对所述服务密码进行解密后返回至所述客户端。

具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。

本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:

接收客户端的服务密码获取请求,调用所述客户端对应的密码托管平台对所述服务密码获取请求进行接口校验;

在所述接口校验成功时,根据所述服务密码获取请求,从所述密码托管平台中查询服务密码;

若未查询到所述服务密码,则根据所述服务密码获取请求,从所述客户端对应的服务端查询服务密码,并将查询到的服务密码返回至所述客户端;

若查询到所述服务密码,则对所述服务密码进行解密后返回至所述客户端。

在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 服务密码获取方法、装置、电子设备及存储介质
  • 获取网页木马连接密码的方法、装置、电子设备、及存储介质
技术分类

06120113177601