一种动态加密方法、终端、服务器与流程

文档序号:18713073发布日期:2019-09-20 20:47阅读:171来源:国知局
一种动态加密方法、终端、服务器与流程
本发明涉及加密技术,尤其涉及一种动态加密方法、终端、服务器。
背景技术
:终端与服务器之间的通信一般使用以安全为目标的超文本传输协议通道(HTTPS,HyperTextTransferProtocoloverSecureSocketLayer)进行服务器的身份认证和建立可信的通道,具体通过浏览器的CA证书认证服务器证书,从而获取服务器的公钥,并利用服务器的公钥和存储在服务器的私钥进行非对称密钥的协商,一旦协商好,则保持到会话对象中。终端与服务器双方在后续会话中使用非对称密钥加密。终端与服务器之间的通信还可以通过业务自己开发对称加密体系,把对称密钥硬编码到终端,对称加密效率较高。现有的HTTPS的技术由于使用非对称加密算法,对计算资源要求高,并且需要进行安全套接层/安全传输层(SSL/TLS,SecureSocketLayer/TransportLayerSecurity)的会话握手机制,浪费网络资源;在配置方面需要准备认证证书,并且需要后续维护,操作繁琐。单纯的高级加密标准(AES,AdvancedEncryptionStandard)等对称加密体系无法满足动态密钥和防篡改的要求。技术实现要素:为解决上述技术问题,本发明实施例提供了一种动态加密签名方法、终端、服务器。本发明实施例提供的动态加密签名方法包括:通过原生数据生成一个以上密钥以及一个以上签名;当进行会话连接时,选择预定的第一密钥索引以及随机的第一签名索引;根据所述第一密钥索引和所述第一签名索引,从所述一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;利用所述第一签名对会话请求数据进行签名,并利用所述第一密钥对所述会话请求数据进行加密后发送至服务器;当所述服务器对所述会话请求数据进行解密及验签通过后,接收所述服务器发送的利用随机的第二签名进行签名以及随机的第二密钥进行加密的会话响应数据。本发明另一实施例提供的动态加密签名方法包括:当进行会话连接时,接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据;获取预定的第一密钥索引以及随机的第一签名索引;根据所述第一密钥索引和所述第一签名索引,从预存的一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;利用所述第一密钥对所述会话请求数据进行解密,并利用所述第一签名对所述会话请求数据进行验签;验签通过后,随机选择出第二密钥索引以及第二签名索引;利用所述第二签名索引对应的第二签名对会话响应数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述会话响应数据进行加密后发送至所述终端。本发明实施例提供的终端包括:密钥签名库单元,用于通过原生数据生成一个以上密钥以及一个以上签名;选择单元,用于当进行会话连接时,选择预定的第一密钥索引以及随机的第一签名索引;索引单元,用于根据所述第一密钥索引和所述第一签名索引,从所述一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;签名加密单元,用于利用所述第一签名对会话请求数据进行签名,并利用所述第一密钥对所述会话请求数据进行加密;发送单元,用于将加密后的所述会话请求数据发送至服务器;接收单元,用于当所述服务器对所述会话请求数据进行解密及验签通过后,接收所述服务器发送的利用随机的第二签名进行签名以及随机的第二密钥进行加密的会话响应数据。本发明实施例提供的服务器包括:接收单元,用于当进行会话连接时,接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据;获取单元,用于获取预定的第一密钥索引以及随机的第一签名索引;索引单元,用于根据所述第一密钥索引和所述第一签名索引,从预存的一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;解密验签单元,用于利用所述第一密钥对所述会话请求数据进行解密,并利用所述第一签名对所述会话请求数据进行验签;第一选择单元,用于验签通过后,随机选择出第二密钥索引以及第二签名索引;签名加密单元,用于利用所述第二签名索引对应的第二签名对会话响应数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述会话响应数据进行加密;发送单元,用于将加密后的所述会话响应数据发送至所述终端。本发明另一实施例提供的动态加密签名方法包括:向服务器发送请求配置消息,所述请求配置消息经第一签名进行签名,以及第一密钥进行加密;接收服务器发送的配置信息,所述配置信息由服务器经第二签名进行签名,以及第二密钥进行加密;对所述配置信息进行解密及验签通过后,利用所述配置信息查找到第一指令集;利用所述第一指令集进行读卡操作,得到卡信息。本发明另一实施例提供的终端包括:发送单元,用于向服务器发送请求配置消息,所述请求配置消息经第一签名进行签名,以及第一密钥进行加密;接收单元,用于接收服务器发送的配置信息,所述配置信息由服务器经第二签名进行签名,以及第二密钥进行加密;查找单元,用于对所述配置信息进行解密及验签通过后,利用所述配置信息查找到第一指令集;读卡单元,用于利用所述第一指令集进行读卡操作,得到卡信息。本发明实施例的技术方案中,终端原生埋入了一系列对称的密钥和签名,同时在服务器也埋入了和终端一一对应的密钥和签名,这些密钥和签名通过原生数据生成,提高了密钥和签名的安全性,避免了密钥和签名被破解的风险。终端与服务器建立会话的过程中,服务器随机选取了密钥索引和签名索引,建立了对称加密体系。该协商的签名密钥生命周期是登录态会话,利用该对称加密通道协商一个会话生命周期的签名密钥和一次性有效的签名密钥,从而实现了加密通信和动态签名的三层体系,解决了通信过程中固定签名容易被劫持后破解伪造数据的问题。再者,对于具有依赖关系的操作流程,服务器每次会动态生成一次性有效的签名并随同服务器响应数据一起发送给终端,终端在处理完业务逻辑后,在下次交互中,利用上次下发的签名进行签名后发送至服务器,可以保证终端请求结果的防篡改。附图说明图1为本发明实施例一的动态加密签名方法的流程示意图;图2为本发明实施例二的动态加密签名方法的流程示意图;图3为本发明实施例三的动态加密签名方法的流程示意图;图4为本发明实施例四的动态加密签名方法的流程示意图;图5为本发明实施例的终端的结构组成示意图;图6为本发明实施例的服务器的结构组成示意图;图7为本发明另一实施例的动态加密签名方法的流程示意图;图8为本发明另一实施例的终端的结构组成示意图。具体实施方式为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。图1为本发明实施例一的动态加密签名方法的流程示意图,本示例中的动态加密签名方法应用于终端侧,如图1所示,所述动态加密签名方法包括以下步骤:步骤101:通过原生数据生成一个以上密钥以及一个以上签名。这里,所述终端可以为个人计算机(PC,PersonalComputer)这种固定的电子设备,还可以为如个人数字助理(PAD)、平板电脑、手提电脑这种便携式的电子设备,当然还可以为如智能手机这种智能移动终端。本发明实施例中,为了实现终端和服务器建立高效可靠的加密通道,且为了防止密钥硬编码到终端导致被暴力破解的问题,终端的密钥以及签名通过原生数据实现,例如C语言,并以动态原生库的方式提供相关接口。同时,为了防止只有一个密钥或签名被破解,在原生库中埋入一系列对称密钥和签名,并且提供了基于密钥索引和签名索引的访问方式,避免了埋入的对称密钥和签名被读出。服务器同样配置了和终端一一对应的对称密钥和签名。参见表1,表1共配置了5组密钥索引以及对应的密钥,5组签名索引及其对应的签名。利用密钥索引可索引出与其对应的密钥,利用签名索引可以索引出与其对应的签名。例如,利用密钥索引2可以索引出对应的密钥为C1,利用签名索引0可以索引出对应的签名为A2。密钥索引密钥签名索引签名0A10A21B11B22C12C23D13D24E14E2表1步骤102:当进行会话连接时,选择预定的第一密钥索引以及随机的第一签名索引。本发明实施例中,在每次会话初始化过程中,终端首先选择预定的第一密钥索引以及随机的第一签名索引。这里,预定的第一密钥索引为终端和服务器提前约定好的密钥索引,一般可设置为默认的密钥索引,密钥索引号为0。这里,随机的第一签名索引可通过获取当前时间戳或者随机数的方式进行确定。具体地,获取当前时间戳,对所述当前时间戳进行第一变换处理,得到所述第一签名索引;或者,获取随机数,对所述随机数进行第二变换处理,得到所述第一签名索引。例如,当前时间戳为2015.05.05.08.34,表明的是2015年5月5号8时34分,则对该时间戳进行变换处理,例如,取秒数除以5后取余数,得到的结果即为签名索引。再例如,利用终端的随机函数取随机数,对该随机数除以5后取余数,得到的结果即为签名索引。本发明实施例中,会话是管理一系列相互有状态依赖的对象,通过会话可以把一个业务流程的上下文进行串联起来。步骤103:根据所述第一密钥索引和所述第一签名索引,从所述一个以上密钥以及一个以上签名中索引出第一密钥和第一签名。终端确定出第一密钥索引和第一签名索引后,即可根据第一密钥索引和第一签名索引从所述一个以上密钥以及一个以上签名中索引出第一密钥和第一签名。例如表1,利用密钥索引2可以索引出对应的密钥为C1,利用签名索引0可以索引出对应的签名为A2。步骤104:利用所述第一签名对会话请求数据进行签名,并利用所述第一密钥对所述会话请求数据进行加密后发送至服务器。这里,会话请求数据根据终端的具体实现方式而不同,例如,终端为近场通信(NFC,NearFieldCommunication)类型的电子设备时,且终端利用NFC实现了圈存功能,则会话请求数据中包括了用户标识、交易信息等。这里,NFC是一种短距高频的无线电技术,在13.56MHz频率运行于20厘米距离内。其传输速度有106Kbit/秒、212Kbit/秒或者424Kbit/秒三种。目前近场通信已通过成为ISO/IECIS18092国际标准、ECMA-340标准与ETSITS102190标准。NFC技术能够用作机场登机验证、大厦的门禁钥匙、交通一卡通、信用卡、支付卡等等。圈存是指将消费者银行户头中的钱直接圈存(存入)IC晶片上,亦即有了电子钱包的过程,这样一来,消费者就免除携带现金找零、遗失、伪钞、被抢之风险。此外,终端为NFC类型的电子设备时,且利用NFC实现了信息验证功能,则会话请求数据中包括了用户标识。再例如,终端具有蓝牙(Bluetooth)功能时,终端通过蓝牙向服务器发送查询账单的请求,则会话请求数据包括了用户标识、查询对象信息等。步骤105:当所述服务器对所述会话请求数据进行解密及验签通过后,接收所述服务器发送的利用随机的第二签名进行签名以及随机的第二密钥进行加密的会话响应数据。其中,登录会话对象中存储有第二密钥索引以及第二签名索引。这里,终端与服务器之间一旦建立会话,该会话则一直存在,会话处于登录状态,直到终端空闲(未进行会话请求)时间超过了某一个时限,服务器才释放该会话资源。在会话的登录期间,终端可能给服务器发送了很多会话请求,这些会话请求都存储在同一会话中。而会话对象则是用于存储某一特定终端会话所需的信息,如会话标识(ID,IDentification),会话密钥等等;在会话建立时,由服务器为终端建立一个会话对象,由于该会话对象适用于登录状态,因此,称为登录会话对象。本发明实施例中,将第二密钥索引以及第二签名索引存储至登录会话对象中,这样,终端与服务器都能够通过登录会话对象获得第二密钥索引以及第二签名索引,从而进一步获得对应的第二密钥和第二签名实现双方的数据加密解密,提高了数据的安全性。服务器对终端的会话请求数据,按照约定的密钥索引和签名索引进行解密和验签,验签通过后,服务器随机选择一个新的密钥索引和签名索引,并且把这个新的密钥索引和签名索引跟随登录态一起保存到登录会话对象中,因此,该密钥索引和签名索引会存在于整个登录会话中,同时,利用新的签名索引对应的签名(FirstKey)对响应数据进行签名,并利用新的密钥索引对应的密钥加密响应数据后发送到终端。从而,终端接收服务器发送的利用新的签名(FirstKey)进行签名以及新的密钥进行加密的会话响应数据。通过上述步骤建立了一个从终端到服务器之间的登录态生命周期的加密通道。本发明实施例中,利用所述第一密钥对所述会话请求数据进行加密的同时,对所述第一签名索引进行加密;将加密后的所述会话请求数据以及第一签名索引发送至所述服务器。这里,将第一签名索引加密后发送至服务器后,服务器可获取到第一签名索引,然后再索引出第一签名进行验签。在一实施方式中,当建立了加密通道后,终端与服务器之间可进行后续的会话,具体地:获取第一操作,确定所述第一操作对应的第一数据;根据所述第二密钥索引和所述第二签名索引,从所述一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;利用所述第二签名对所述第一数据进行签名,并利用所述第二密钥对所述第一数据进行加密后发送至服务器;当所述服务器对所述第一数据进行解密及验签通过后,接收所述服务器发送的利用所述第二签名进行签名以及所述第二密钥进行加密的第二数据,其中,所述第二数据为所述第一数据的执行结果。上述方案适用于一次性操作流程,如终端请求订单列表,由于该流程没有相互流程的依赖关系,终端进行如下处理:用户在终端上触发第一操作(请求订单列表),终端获取到第一操作对应的第一数据(账户数据,订单列表标识等信息),使用新的签名(第二签名)对第一数据进行签名后,使用新的密钥(第二密钥)进行加密,然后发送至服务器。服务器首先进行登录态的判断,从登录态会话对象中读取密钥索引和签名索引,利用密钥索引对应的密钥进行解密,利用签名索引对应的签名进行验签,若通过则执行业务逻辑,获得第二数据,再利用新的密钥和签名对第二数据签名加密后发送至终端。在另一实施方式中,当建立了加密通道后,终端与服务器之间可进行后续的会话,具体地:获取第二操作,确定所述第二操作对应的第三数据;根据所述第二密钥索引和所述第二签名索引,从所述一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;利用所述第二签名对所述第三数据进行签名,并利用所述第二密钥对所述第三数据进行加密后发送至服务器;当所述服务器对所述第三数据进行解密及验签通过后,接收所述服务器发送的利用第三签名进行签名以及所述第二密钥进行加密的第四数据,其中,所述第四数据为所述第三数据的执行结果,所述登录会话对象中存储有第二密钥索引以及第三签名索引。上述方案适用于多次具有依赖关系的操作流程,如NFC圈存需要多次交互,且各个交互流程之前存在依赖关系的流程中,每次请求响应过程中,服务器指定一个全新的签名索引,并把该签名索引一起存入登录会话对象后随同响应一起发送给终端。在接下来的终端请求中,整个通信过程使用密钥索引对应的密钥(第二密钥)进行加密,使用不断更新的签名索引对应的签名(NextKey)进行签名。对接下来的终端请求处理中,服务器除了继续使用登录会话对象中的密钥索引对应的密钥进行解密外,会用一次性有效的签名索引对应的签名(NextKey)进行验签,从而极大的提升了安全性。下面参照图2对上述动态加密签名方法再做描述,本示例中的密钥和签名都是根据上述方案中的密钥索引和签名索引所获得,此时不再赘述,直接描述加密签名的过程,本领域技术人员应当理解,此处还包括有利用密钥索引得到密钥,以及利用签名索引得到签名的过程,图2为本发明实施例二的动态加密签名方法的流程示意图,包括以下步骤:步骤201:终端使用默认的密钥和随机的签名对会话请求数据签名加密,发送至服务器。步骤202:服务器收到会话请求数据,解密验签通过后,随机选择新的密钥和签名并发送至终端。步骤203:终端利用新的密钥和签名对后续会话数据进行签名加密,发送至服务器。下面参照图3对上述动态加密签名方法再做描述,本示例中的密钥和签名都是根据上述方案中的密钥索引和签名索引所获得,此时不再赘述,直接描述加密签名的过程,本领域技术人员应当理解,此处还包括有利用密钥索引得到密钥,以及利用签名索引得到签名的过程,图3为本发明实施例三的动态加密签名方法的流程示意图,包括以下步骤:步骤301:终端使用当前登录会话对象中的密钥和签名对请求数据签名加密,发送至服务器。步骤302:服务器收到请求数据,解密验签通过后,随机选择新签名并发送至终端。新的签名保存至登录会话对象中。步骤303:终端利用当前登录会话对象中的密钥和新的签名对后续会话数据进行签名加密,发送至服务器。对于具有依赖关系的操作流程,服务器每次会动态生成一次性有效的签名并随同服务器响应数据一起发送给终端,终端在处理完业务逻辑后,在下次交互中,利用上次下发的签名进行签名后发送至服务器,可以保证终端请求结果的防篡改。图4为本发明实施例四的动态加密签名方法的流程示意图,本示例中的动态加密签名方法应用于服务器侧,如图4所示,所述动态加密签名方法包括以下步骤:步骤401:当进行会话连接时,接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据。步骤402:获取预定的第一密钥索引以及随机的第一签名索引。这里,终端与服务器预先约定了第一密钥索引,因此,服务器可直接获取第一密钥索引。本发明实施例中,第一签名索引通过以下步骤获得:接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据的同时,接收终端发送的利用第一密钥进行加密的第一签名索引;利用预定的第一密钥索引对所述加密的第一签名索引进行解密,得到所述第一签名索引。步骤403:根据所述第一密钥索引和所述第一签名索引,从预存的一个以上密钥以及一个以上签名中索引出第一密钥和第一签名。步骤404:利用所述第一密钥对所述会话请求数据进行解密,并利用所述第一签名对所述会话请求数据进行验签。步骤405:验签通过后,随机选择出第二密钥索引以及第二签名索引。步骤406:将所述第二密钥索引以及第二签名索引存储至登录会话对象中,利用所述第二签名索引对应的第二签名对会话响应数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述会话响应数据进行加密后发送至所述终端。通过上述步骤建立了一个从终端到服务器之间的登录态生命周期的加密通道。在一实施方式中,建立了加密通道后,接收所述终端发送的利用第二签名进行签名以及第二密钥进行加密的第一数据;根据所述第二密钥索引和所述第二签名索引,从预存的一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;利用所述第二密钥对所述第一数据进行解密,并利用所述第二签名对所述第一数据进行验签;验签通过后,对所述第一数据进行处理,得到第二数据;利用所述第二签名对所述第二数据进行签名,并利用所述第二密钥对所述第二数据进行加密后发送至所述终端。上述方案适用于一次性操作流程,如终端请求订单列表,由于该流程没有相互流程的依赖关系,终端进行如下处理:用户在终端上触发第一操作(请求订单列表),终端获取到第一操作对应的第一数据(账户数据,订单列表标识等信息),使用新的签名(第二签名)对第一数据进行签名后,使用新的密钥(第二密钥)进行加密,然后发送至服务器。服务器首先进行登录态的判断,从登录态会话对象中读取密钥索引和签名索引,利用密钥索引对应的密钥进行解密,利用签名索引对应的签名进行验签,若通过则执行业务逻辑,获得第二数据,再利用新的密钥和签名对第二数据签名加密后发送至终端。在另一实施方式中,建立了加密通道后,接收所述终端发送的利用第二签名进行签名以及第二密钥进行加密的第三数据;根据所述第二密钥索引和所述第二签名索引,从预存的一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;利用所述第二密钥对所述第三数据进行解密,并利用所述第二签名对所述第三数据进行验签;验签通过后,对所述第三数据进行处理,得到第四数据;随机选择第三签名索引,并将所述登录会话对象中的第二签名索引替换为所述第三签名索引;利用所述第三签名索引对应的第三签名对所述第四数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述第四数据进行加密后发送至所述终端。上述方案适用于多次具有依赖关系的操作流程,如NFC圈存需要多次交互,且各个交互流程之前存在依赖关系的流程中,每次请求响应过程中,服务器指定一个全新的签名索引,并把该签名索引一起存入登录会话对象后随同响应一起发送给终端。在接下来的终端请求中,整个通信过程使用密钥索引对应的密钥(第二密钥)进行加密,使用不断更新的签名索引对应的签名(NextKey)进行签名。对接下来的终端请求处理中,服务器除了继续使用登录会话对象中的密钥索引对应的密钥进行解密外,会用一次性有效的签名索引对应的签名(NextKey)进行验签,从而极大的提升了安全性。图5为本发明实施例的终端的结构组成示意图,如图5所示,所述终端包括:密钥签名库单元51,用于通过原生数据生成一个以上密钥以及一个以上签名;选择单元52,用于当进行会话连接时,选择预定的第一密钥索引以及随机的第一签名索引;索引单元53,用于根据所述第一密钥索引和所述第一签名索引,从所述一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;签名加密单元54,用于利用所述第一签名对会话请求数据进行签名,并利用所述第一密钥对所述会话请求数据进行加密;发送单元55,用于将加密后的所述会话请求数据发送至服务器;接收单元56,用于当所述服务器对所述会话请求数据进行解密及验签通过后,接收所述服务器发送的利用随机的第二签名进行签名以及随机的第二密钥进行加密的会话响应数据,其中,登录会话对象中存储有第二密钥索引以及第二签名索引。本发明实施例中,所述选择单元52,还用于获取当前时间戳,对所述当前时间戳进行第一变换处理,得到所述第一签名索引;或者,获取随机数,对所述随机数进行第二变换处理,得到所述第一签名索引。本发明实施例中,所述签名加密单元54,还用于利用所述第一密钥对所述会话请求数据进行加密的同时,对所述第一签名索引进行加密;所述发送单元55,还用于将加密后的所述会话请求数据以及第一签名索引发送至所述服务器。本发明实施例中,所述终端还包括:第一获取单元57,用于获取第一操作,确定所述第一操作对应的第一数据;所述索引单元53,还用于根据所述第二密钥索引和所述第二签名索引,从所述一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;所述签名加密单元54,还用于利用所述第二签名对所述第一数据进行签名,并利用所述第二密钥对所述第一数据进行加密;所述发送单元55,还用于将加密后的所述第一数据发送至服务器;所述接收单元56,还用于当所述服务器对所述第一数据进行解密及验签通过后,接收所述服务器发送的利用所述第二签名进行签名以及所述第二密钥进行加密的第二数据,其中,所述第二数据为所述第一数据的执行结果。本发明实施例中,所述终端还包括:第二获取单元58,用于获取第二操作,确定所述第二操作对应的第三数据;所述索引单元53,还用于根据所述第二密钥索引和所述第二签名索引,从所述一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;所述签名加密单元54,还用于利用所述第二签名对所述第三数据进行签名,并利用所述第二密钥对所述第三数据进行加密;所述发送单元55,还用于将加密后的所述第三数据发送至服务器;所述接收单元56,还用于当所述服务器对所述第三数据进行解密及验签通过后,接收所述服务器发送的利用第三签名进行签名以及所述第二密钥进行加密的第四数据,其中,所述第四数据为所述第三数据的执行结果,所述登录会话对象中存储有第二密钥索引以及第三签名索引。本领域技术人员应当理解,图5所示的终端中的各单元的实现功能可参照前述动态加密签名方法的相关描述而理解。图5所示的终端中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。、图6为本发明实施例的服务器的结构组成示意图,如图6所示,所述服务器包括:接收单元61,用于当进行会话连接时,接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据;获取单元62,用于获取预定的第一密钥索引以及随机的第一签名索引;索引单元63,用于根据所述第一密钥索引和所述第一签名索引,从预存的一个以上密钥以及一个以上签名中索引出第一密钥和第一签名;解密验签单元64,用于利用所述第一密钥对所述会话请求数据进行解密,并利用所述第一签名对所述会话请求数据进行验签;第一选择单元65,用于验签通过后,随机选择出第二密钥索引以及第二签名索引;保存单元66,用于将所述第二密钥索引以及第二签名索引存储至登录会话对象中;签名加密单元67,用于利用所述第二签名索引对应的第二签名对会话响应数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述会话响应数据进行加密;发送单元68,用于将加密后的所述会话响应数据发送至所述终端。本发明实施例中,所述接收单元61,还用于接收终端发送的利用第一签名进行签名以及第一密钥进行加密的会话请求数据的同时,接收终端发送的利用第一密钥进行加密的第一签名索引;所述解密验签单元64,还用于利用预定的第一密钥索引对所述加密的第一签名索引进行解密,得到所述第一签名索引。本发明实施例中,所述接收单元61,还用于接收所述终端发送的利用第二签名进行签名以及第二密钥进行加密的第一数据;所述索引单元63,还用于根据所述第二密钥索引和所述第二签名索引,从预存的一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;解密验签单元64,还用于利用所述第二密钥对所述第一数据进行解密,并利用所述第二签名对所述第一数据进行验签;所述服务器还包括:执行处理单元69,用于验签通过后,对所述第一数据进行处理,得到第二数据;所述签名加密单元67,还用于利用所述第二签名对所述第二数据进行签名,并利用所述第二密钥对所述第二数据进行加密;所述发送单元68,还用于将加密后的所述第二数据发送至所述终端。本发明实施例中,所述接收单元61,还用于接收所述终端发送的利用第二签名进行签名以及第二密钥进行加密的第三数据;所述索引单元63,还用于根据所述第二密钥索引和所述第二签名索引,从预存的一个以上密钥以及一个以上签名中索引出第二密钥和第二签名;所述解密验签单元64,还用于利用所述第二密钥对所述第三数据进行解密,并利用所述第二签名对所述第三数据进行验签;所述服务器还包括:执行处理单元69,用于验签通过后,对所述第三数据进行处理,得到第四数据;第二选择单元610,用于随机选择第三签名索引;所述保存单元66,还用于将所述登录会话对象中的第二签名索引替换为所述第三签名索引;所述签名加密单元67,还用于利用所述第三签名索引对应的第三签名对所述第四数据进行签名,并利用所述第二密钥索引对应的第二密钥对所述第四数据进行加密;所述发送单元68,还用于将加密后的所述第四数据发送至所述终端。本领域技术人员应当理解,图6所示的服务器中的各单元的实现功能可参照前述动态加密签名方法的相关描述而理解。图6所示的服务器中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。图7为本发明另一实施例的动态加密签名方法的流程示意图,应用于终端,如图7所示,所述方法包括以下步骤:步骤701:向服务器发送请求配置消息,所述请求配置消息经第一签名进行签名,以及第一密钥进行加密。本发明实施例中,终端具有NFC功能,可作为公交卡使用。公交卡中的信息具体有该公交卡归属哪个城市,该公交卡的余额信息等等。本发明实施例中的公交卡可适用于多个城市,为此,需要多种不同的配置信息来支持NFC具有这些功能。基于此,终端上安装有与公交卡相关的应用,用户打开该应用后,向服务器发送初始化的请求,该初始化请求中包括所述请求配置信息。步骤702:接收服务器发送的配置信息,所述配置信息由服务器经第二签名进行签名,以及第二密钥进行加密。这里,服务器不是每次都向终端发送配置信息,因为这样将消耗大量的流量,为此,终端发送请求配置信息时,还将终端当前的版本号发送给服务器,服务器对比终端的版本号与需要更新的版本号是否一致,只有当不一致的情况下,才向终端发送更新的配置信息。步骤703:对所述配置信息进行解密及验签通过后,利用所述配置信息查找到第一指令集。这里,第一指令集也即是配置信息,第一指令集包括但不限于:应用协议数据单元(APDU,ApplicationProtocolDataUnit)指令集、UI动态文案、业务流程开关等。步骤704:利用所述第一指令集进行读卡操作,得到卡信息。这里,卡信息可以是该卡所述的城市以及对应的余额信息等等。本示例中的密钥和签名都是根据上述方案中的密钥索引和签名索引所获得,此时不再赘述,直接描述加密签名的过程,本领域技术人员应当理解,此处还包括有利用密钥索引得到密钥,以及利用签名索引得到签名的过程。图8为本发明另一实施例的终端的结构组成示意图,如图8所示,所述终端包括:发送单元81,用于向服务器发送请求配置消息,所述请求配置消息经第一签名进行签名,以及第一密钥进行加密;接收单元82,用于接收服务器发送的配置信息,所述配置信息由服务器经第二签名进行签名,以及第二密钥进行加密;查找单元83,用于对所述配置信息进行解密及验签通过后,利用所述配置信息查找到第一指令集;读卡单元84,用于利用所述第一指令集进行读卡操作,得到卡信息。本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1