一种安全设置终端系统时间方法和系统与流程

文档序号:12752581阅读:299来源:国知局
一种安全设置终端系统时间方法和系统与流程

本发明涉及通信技术领域,特别涉及一种安全设置终端系统时间方法和系统。



背景技术:

用户在使用安全性有要求的终端(如POS终端)时,有时会发现POS的系统时间发生偏差,由于处于使用态下的POS不提供修改系统时间的功能,对发生时间偏差的终端,客服整改时,需要拆机,进入维修态,以便修改POS系统时间。这样导致维修后的POS需要重新进行下载密钥等操作。从而使得系统时间的修改相对复杂和麻烦。



技术实现要素:

为此,需要提供一种安全设置终端系统时间方法,解决现有终端在安全的情况下修改系统时间麻烦的问题。

为实现上述目的,发明人提供了一种安全设置终端系统时间的方法,技术方案如下:

一种安全设置终端系统时间的方法,包括步骤:

服务端获取认证账号,服务端判断所述认证账号是否有设置系统时间权限;若有,服务端发送第一待认证数据给客户端工具,所述客户端工具从U-KEY获取操作员证书,所述U-KEY包括:操作员私钥;客户端工具使用所述操作员私钥对所述第一待认证数据进行加密,生成第一认证数据,客户端工具发送所述操作员证书和所述第一认证数据给服务端;服务端对第一认证数据进行认证;若认证通过,终端发送第二待认证数据给客户端工具,客户端工具发送所述第二待认证数据给服务端;服务端接收所述第二待认证数据,服务端对所述第二待认证数据进行认证,若认证通过,服务端使用认证私钥对所述第二待认证数据进行加密生成第二认证数据,服务端发送所述第二认证数据给终端;终端使用认证公钥对所述第二认证数据进行认证,若认证通过,服务端使用认证私钥加密系统时间,并通过客户端发送加密后的系统时间给终端;

终端使用认证公钥对加密后的系统时间进行解密,并设置终端的系统时间为解密后的系统时间。

进一步的,在服务端获取认证账号前,还包括步骤:服务端生成认证公私钥对,服务端发送认证公钥到终端;终端接收所述认证公钥。

进一步的,终端使用认证公钥对所述第二认证数据进行认证,包括步骤:终端使用所述认证公钥对所述第二认证数据进行解密,获取所述第二认证数据中的待认证数据明文,比对所述第二认证数据中的待认证数据明文与所述第二待认证数据是否一致,若一致,认证通过。

进一步的,服务端对第一认证数据进行认证,包括步骤:服务端接收所述操作员证书,服务端提取所述操作员证书中的公钥,服务端使用所述公钥对所述第一认证数据进行解密,获取所述第一认证数据中的待认证数据明文,比对所述第一认证数据中的待认证数据明文与所述第一待认证数据是否一致,若一致,认证通过。

进一步的,所述第一待认证数据是随机数,所述第二待认证数据至少包括:终端序列号、主板特征码和随机数。

为实现上述目的,发明人还提供了一种安全设置终端系统时间系统,技术方案如下:

一种安全设置终端系统时间系统,包括:服务端、终端、客户端工具;所述服务端用于:服务端获取认证账号,服务端判断所述认证账号是否有设置系统时间权限,若有,服务端发送第一待认证数据给客户端工具;所述客户端工具用于:从U-KEY获取操作员证书,所述U-KEY包括:操作员私钥,及使用所述操作员私钥对所述第一待认证数据进行加密,生成第一认证数据,客户端工具发送所述操作员证书和所述第一认证数据给服务端;所述服务端还用于:对第一认证数据进行认证;若认证通过,所述终端用于:发送第二待认证数据给客户端工具;所述客户端工具还用于:发送所述第二待认证数据给服务端;所述服务端还用于:服务端接收所述第二待认证数据,服务端对所述第二待认证数据进行认证,若认证通过,服务端使用认证私钥对所述第二待认证数据进行加密生成第二认证数据,服务端发送所述第二认证数据给终端;所述终端还用于:终端使用认证公钥对所述第二认证数据进行认证;若认证通过,所述服务端还用于使用认证私钥加密系统时间,并通过客户端发送加密后的系统时间给终端;

所述终端还用于使用认证公钥对加密后的系统时间进行解密,并设置终端的系统时间为解密后的系统时间。

进一步的,所述服务端用于:在服务端获取认证账号前,服务端生成认证公私钥对,服务端发送认证公钥到终端;所述终端还用于:接收所述认证公钥。

进一步的,所述终端还用于:终端使用所述认证公钥对所述第二认证数据进行解密,获取所述第二认证数据中的待认证数据明文,比对所述第二认证数据中的待认证数据明文与所述第二待认证数据是否一致,若一致,认证通过。

进一步的,所述服务端还用于:服务端接收所述操作员证书,服务端提取所述操作员证书中的公钥,服务端使用所述公钥对所述第一认证数据进行解密,获取所述第一认证数据中的待认证数据明文,比对所述第一认证数据中的待认证数据明文与所述第一待认证数据是否一致,若一致,认证通过。

进一步的,所述第一待认证数据是随机数,所述第二待认证数据至少包括:终端序列号、主板特征码和随机数。

本发明的有益效果是:维修人员通过使用账号登录认证,服务端判断该账号是否有权限设置系统时间,如果有权限设置系统时间。则使用操作员使用U-KEY,服务端认证该U-KEY的合法性,如果认证U-KEY是合法的,则服务端根据从终端获取第二待认证数据,生成第二认证数据,终端对第二认证数据通过后,才允许对终端进行设置系统时间操作,整个过程采用双因素认证,大大确保了安全性,并且对终端设置系统时间是经过服务端认可的合法行为,确保了设置系统时间操作的合法性。以及设置系统时间不需要拆机和重新下载密钥,方便了系统时间的设置。

附图说明

图1为本发明一种安全设置终端系统时间方法的流程图;

图2为本发明一种安全设置终端系统时间系统的模块图。

附图标记说明:

10、服务端,

20、终端,

30、客户端工具,

40、U-KEY,

401、操作员证书,

402、操作员私钥。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

请参阅图1,在本实施例中,U-KEY是插在客户端工具上,U-KEY包括:操作员私钥,本实施例中,客户端工具为PC,其中U-KEY中存储有操作员证书及操作员私钥,当U-KEY插在客户端工具上后,客户端工具上安装有交互软件,使得客户端工具可以从U-KEY上获取操作员证书和直接使用操作员私钥。其次本实施例中在PC上安装有特定的APP,在APP登录界面,需要维修人员输入账号密码登录系统;通过账号密码登录系统,服务端会对账号密码做权限判断,确保了账户的合法性。

在其他实施例中,也可以通过浏览器直接输入特定的网址,同样也是需要维修人员输入账号密码登录系统。

具体实施步骤如下:步骤S101:生成认证公私钥对Pr,Pu,包括认证公钥Pu和认证私钥Pr。首先我们确保终端、服务端和客户端工具要联网,联网后,服务端会生成认证公私钥对Pr,Pu,并且把认证公钥Pu发送给终端,既步骤S102:预置认证公钥Pu在终端上。通过预先设置好认证公钥Pu在终端上,是为了后面服务端从终端获取第二待认证数据,服务端判断第二待认证数据的合法性,确认合法后,服务端会使用所述私钥Pr对第二待认证数据进行加密,生成第二认证数据,服务端会发生所述第二认证数据给终端,终端就可以使用预先预置好的认证公钥Pu来对第二认证数据进行解密,获取到第二认证数据的明文。

待预置好认证公钥Pu在终端上后,进入步骤S103:账号登录认证。本实施例中客户端工具上安装有特定的APP,在APP登录界面,维修人员输入账号密码登录系统。

其中服务端存储有所有合法的账号密码,也包括这些账号所对应的权限。步骤S104账号是否有权限设置系统时间,具体步骤如下:维修人员输入账号密码,服务端获取维修人员输入的账号密码,判断该账号密码是否存储在服务端中,如果存储在服务端中,维修人员成功登陆系统,同时服务端也会进一步去获取该账号的权限,判断该账号是否有权限设置系统时间。通过服务端对账号密码的权限认证,确保了后续操作的合法性。

在某些实施例中,可能需要临时对账号的权限就行修改,或者某些终端不允许进行设置系统时间操作,那么可以根据需要通过在服务端直接开启或关闭某些账号的权限。另外因为终端序列号可以唯一标识一个终端,因此服务端也可以根据终端序列号,来限制某些终端不允许进行设置系统时间操作,整个操作简单便携快速。

服务端验证账号拥有权限设置系统时间后,进入步骤S105:认证操作员U-KEY合法性。具体步骤如下:

客户端工具从服务端获取第一待认证数据;首先服务端自己生成第一待认证数据,本实施例中第一待认证数据是16字节随机数,客户端工具再去从服务端获取第一待认证数据。

在其它实施例中,第一待认证数据也可以是其它字节的随机数,可以是32字节的字母、数字和特殊符号等等的组合,本实施例中通过每次生成16字节随机数,确保了每次产生的随机数不一样。

客户端工具使用U-KEY生成第一认证数据;客户端工具收到第一待认证数据后,客户端工具使用U-KEY中存储的操作员私钥对第一待认证数据进行加密,加密后生成第一认证数据。通过使用U-KEY中存储的操作员私钥对第一待认证数据进行加密,确保了生成的第一认证数据在数据传输的过程中不会被其它非法的U-KEY截取,去冒充真正合法的U-KEY,引发安全性问题。

生成第一认证数据后,客户端工具将第一认证数据和操作员证书发给服务端进行认证,既步骤S106:U-KEY是否合法;这边的认证是指服务端通过对接收到的第一认证数据进行解密,获取明文,比对明文是否与服务端的第一待认证数据相同,如果相同,则U-KEY通过了服务端的认证,获得了服务端的认可,既U-KEY取得了可以从服务端获取信息并且给服务端发送信息的权限。其中这边所发送的操作员证书里面含有可以解密第一认证数据的公钥,是为了方便服务端收到以后可以提取里面的公钥,再去解密第一认证数据。比如第一待认证数据是:D1,使用操作员私钥S对其进行加密,生成第一认证数据:D2,操作员私钥S对应的公钥是G,客户端工具把D2和含有G的证书发送给了服务端,服务端从证书中提取G,再用G去解密D2,获取到D2的明文信息。比对D1与D2的明文信息是否一致,如果一致,U-KEY通过了服务端的认证;如果不一致,U-KEY不通过服务端的认证。

服务端确认U-KEY合法以后,进入步骤S107:获取第二待认证数据,具体步骤如下:

客户端工具从终端获取第二待认证数据;同样地,终端生成第二待认证数据,本实施例中第二待认证数据是终端序列号、主板特征码和随机数的组合,这边的终端序列号和主板特征码具有唯一性,可以唯一标识一个终端。在本实施例中随机数为16字节随机数,在其他实施例中,随机数可以为其他位数的字母或者字符都可以。通过使用具有唯一标识终端的终端序列号、主板特征码与随机数的组合,确保了第二待认证数据的唯一性。

终端生成第二待认证数据后,客户端工具就去获取第二待认证数据。

客户端工具获取第二待认证数据后,发送所述第二待认证数据给服务端,服务端通过对第二待认证数据进行认证,来判断终端设备信息是否合法,如果合法。服务端使用认证私钥(既预置好的认证私钥Pr)对第二待认证数据进行加密,生成第二认证数据。

在本实施例中,出于安全性要求较高的考虑,因为每个终端使用的认证公钥都是不一样的,因此在服务端判断终端信息的时候,不仅仅判断其合法性,同时也根据该终端信息,使用与该终端对应的私钥对待认证数据进行加密。通过使用私钥对待认证数据进行加密,确保了生成的认证数据在数据传输的过程中不会被其它非法者截取,去冒充真正合法的服务端,对终端进行欺骗,引发安全性问题。

而在一些其他的实施例中,出于方便性和通用性的考虑,每个终端使用的认证公钥是一样的,因此服务端只需判断终端信息的合法性,并且服务端用通用的私钥对待认证数据进行加密。

步骤S108:返回第二认证数据,具体如下:服务端通过客户端工具把第二认证数据发送给终端,终端对其进行认证,既步骤S109:认证第二认证数据是否通过,具体如下:终端使用步骤S102中预置好的认证公钥Pu对第二认证数据进行解密,获得第二认证数据的明文,比对所述第二认证数据的明文与第二待认证数据是否一致,如果一致,则认证通过。

若认证通过,既意味着服务端也通过了终端的认可,那么通过服务端认可的U-KEY的持有者便有权限可以使用客户端工具对终端进行合法的设置系统时间,避免了非法操作,并且在U-KEY通过服务端认证通过以后,后续的步骤都可以自动完成,大大提高了设置系统时间的速度。而后在步骤S110中,服务端使用认证私钥加密系统时间,而后进入步骤S111通过客户端发送加密后的系统时间给终端;步骤S112终端使用认证公钥对加密后的系统时间进行解密,并设置终端的系统时间为解密后的系统时间。这样就可以完成终端系统时间的设定,而不用对终端进行拆解,方便了终端系统时间的设定。

请参阅图2,在某些实施例中,本发明一种安全设置终端系统时间系统的方案如下:

系统包括:服务端10、终端20和客户端工具30,其中U-KEY40是插在客户端工具30上,U-KEY40包括:操作员私钥402,本实施例中,客户端工具30为PC,其中U-KEY40中存储有终端根认证公钥证书下属的操作员证书401及操作员私钥402,当U-KEY40插在客户端工具30上后,客户端工具30上安装有交互软件,使得客户端工具30通过交互软件可以获取到操作员证书401及直接使用操作员私钥402。

本系统中,服务端10用于:生成认证公私钥对Pr,Pu,并且把认证公钥Pu发送给终端20。发送好后。

本实施例中客户端工具30上安装有特定的APP,在APP登录界面,维修人员输入账号密码登录系统。

其中服务端10存储有所有合法的账号密码,也包括这些账号所对应的权限。维修人员输入账号密码,服务端10获取维修人员输入的账号密码,判断该账号密码是否存储在服务端10中,如果存储在服务端10中,维修人员成功登陆系统,同时服务端10也会进一步去获取该账号的权限,判断该账号是否有权限设置系统时间。通过服务端10对账号密码的权限认证,确保了后续操作的合法性。

服务端10验证账号拥有权限设置系统时间后,认证操作员U-KEY40合法性。具体如下:

客户端工具30从服务端10获取第一待认证数据;首先服务端10自己生成第一待认证数据,本实施例中第一待认证数据是16字节随机数,客户端工具30再去从服务端10获取第一待认证数据。

客户端工具30使用U-KEY生成第一认证数据;客户端工具30收到第一待认证数据后,客户端工具30使用U-KEY中存储的操作员私钥402对第一待认证数据进行加密,加密后生成第一认证数据。通过使用U-KEY中存储的操作员私钥402对第一待认证数据进行加密,确保了生成的第一认证数据在数据传输的过程中不会被其它非法的U-KEY40截取,去冒充真正合法的U-KEY40,引发安全性问题。

生成第一认证数据后,客户端工具30将第一认证数据和操作员证书401发给服务端10进行认证;这边的认证是指服务端10通过对接收到的第一认证数据进行解密,获取明文,比对明文是否与服务端10的第一待认证数据相同,如果相同,则U-KEY40通过了服务端10的认证,获得了服务端10的认可,既U-KEY40取得了可以从服务端10获取信息并且给服务端10发送信息的权限。

服务端10确认U-KEY40合法以后,客户端工具30从终端获20取第二待认证数据;同样地,终端20生成第二待认证数据,本实施例中第二待认证数据是终端序列号、主板特征码和随机数的组合,这边的终端序列号和主板特征码具有唯一性,可以唯一标识一个终端20。通过使用具有唯一标识终端的终端序列号、主板特征码与随机数的组合,确保了第二待认证数据的唯一性。

终端20生成第二待认证数据后,客户端工具30就去获取第二待认证数据。

客户端工具30获取第二待认证数据后,发送所述第二待认证数据和终端信息给服务端10,服务端10通过对第二待认证数据进行认证,来判断终端设备信息是否合法,如果合法。服务端10使用认证私钥(既预置好的私钥Pr)对第二待认证数据进行加密,生成第二认证数据。

服务端10通过客户端工具30把第二认证数据发送给终端20,终端20对其进行认证,具体如下:终端20使用预置好的认证公钥Pu对第二认证数据进行解密,获得第二认证数据的明文,比对所述第二认证数据的明文与第二待认证数据是否一致,如果一致,则认证通过。

若认证通过,既意味着服务端10也通过了终端20的认可,那么通过服务端10认可的U-KEY40的持有者便有权限可以使用客户端工具30对终端20进行合法的设置系统时间,避免了非法操作,并且在U-KEY40通过服务端10认证通过以后,后续的步骤都可以自动完成,大大提高了设置系统时间的速度。

认证通过后,服务端还用于使用认证私钥加密系统时间,并通过客户端发送加密后的系统时间给终端;所述终端还用于使用认证公钥对加密后的系统时间进行解密,并设置终端的系统时间为解密后的系统时间。这样就在安全的前提下,完成了系统时间的设定,而不用拆机,方便了系统时间的设定。

本发明所有实施例中,如果认证不合法或者账号没有相应的权限,则方法提前结束,系统中的数据流也就不会流向下一个模块。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。

上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1