CN108200014B - 利用智能密钥装置访问服务器的方法、装置及系统 - Google Patents

利用智能密钥装置访问服务器的方法、装置及系统 Download PDF

Info

Publication number
CN108200014B
CN108200014B CN201711362951.3A CN201711362951A CN108200014B CN 108200014 B CN108200014 B CN 108200014B CN 201711362951 A CN201711362951 A CN 201711362951A CN 108200014 B CN108200014 B CN 108200014B
Authority
CN
China
Prior art keywords
dynamic
key
server
key device
client application
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
CN201711362951.3A
Other languages
English (en)
Other versions
CN108200014A (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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield Technology Co Ltd
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 Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201711362951.3A priority Critical patent/CN108200014B/zh
Publication of CN108200014A publication Critical patent/CN108200014A/zh
Application granted granted Critical
Publication of CN108200014B publication Critical patent/CN108200014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/068Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0846Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种利用智能密钥装置访问服务器的方法、装置及系统,涉及信息安全技术领域,能够实现使用同一个智能密钥装置支持访问多个服务器,提升用户访问体验,本发明的主要技术方案为:服务器接收客户端应用程序发送的第一请求消息,第一请求消息中携带与客户端应用程序关联的智能密钥装置的信息;服务器根据智能密钥装置的信息对智能密钥装置进行身份验证,若验证通过,则服务器为智能密钥装置分配动态密钥,并且建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系;服务器对动态密钥执行加密操作;服务器将加密后的动态密钥发送给客户端应用程序,以便于客户端应用程序将加密后的动态密钥提供给智能密钥装置。

Description

利用智能密钥装置访问服务器的方法、装置及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种利用智能密钥装置访问服务器的方法、装置及系统。
背景技术
OTP(One-time Password),也称动态口令,是根据专门的算法每隔设定时间生成一个与时间相关的、不可预测的随机数字组合,每个动态口令只能使用一次。动态口令是一种安全便捷的账号防盗技术,可以有效保护交易和登录的认证安全,采用动态口令就无需定期更换密码,安全省心。
目前,对于通过动态口令访问服务器的方法,是将令牌装置与服务器绑定的,那么当用户使用令牌装置访问其绑定的服务器时,令牌装置上同时会生成动态码字,这些动态码字其实就是动态口令,通过客户端将这些动态码字发送给服务器进行验证,若验证通过,则被允许访问服务器。然而,由于令牌装置与服务器是存在绑定关系的,因而每个令牌装置只能支持访问与其绑定的服务器,那么当用户欲访问多个不同的服务器时,就需要频繁地、多次地更换令牌装置,这将使得访问服务器操作变得繁琐复杂,大大降低了用户的访问体验。
发明内容
有鉴于此,本发明提供一种利用智能密钥装置访问服务器的方法、装置及系统,主要目的在于通过同一个智能密钥装置可以管理多个服务器所分配的动态密钥,进而实现使用同一个智能密钥装置可以支持访问多个服务器,大大提升了用户的访问体验。
为达到上述目的,本发明主要提供如下技术方案:
第一方面,本发明提供了一种服务器支持智能密钥装置访问的方法,该方法包括:
服务器接收客户端应用程序发送的第一请求消息,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息;
所述服务器根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证,若验证通过,则所述服务器为所述智能密钥装置分配动态密钥,并且建立所述动态密钥、所述智能密钥装置的信息及所述客户端应用程序的信息之间的关联关系;
所述服务器对所述动态密钥执行加密操作;
所述服务器将加密后的所述动态密钥发送给所述客户端应用程序,以便于所述客户端应用程序将加密后的所述动态密钥提供给所述智能密钥装置。
优选的,所述智能密钥装置的信息中包括所述智能密钥装置的证书;
所述服务器根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证,包括:
所述服务器使用CA证书对所述智能密钥装置的证书进行验证。
优选的,所述智能密钥装置的信息中包括所述智能密钥装置的公钥;
所述服务器对所述动态密钥执行加密操作至少包括以下一项:
所述服务器使用所述智能密钥装置的公钥对所述动态密钥加密;
所述服务器利用本地存储的服务器私钥对所述动态密钥签名。
优选的,所述方法还包括:
所述服务器接收所述客户端应用程序发送的动态码字;
所述服务器根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与所述客户端应用程序及相应的智能密钥装置关联的原始动态密钥;
所述服务器根据接收到所述动态码字的时间确定多个验证时刻;
所述服务器根据所述原始动态密钥和所述多个验证时刻,生成多个验证码字;
所述服务器将接收到的所述动态码字分别与所述多个验证码字比对,若与其中一个一致,则所述服务器允许所述客户端应用程序进行访问。
第二方面,本发明还提供了一种基于智能密钥装置访问服务器的方法,该方法包括:
智能密钥装置接收客户端应用程序发送的第二请求消息,所述第二请求消息中携带有所述客户端应用程序的信息;
所述智能密钥装置根据所述客户端应用程序的信息查找与其关联的动态密钥,其中,所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
所述智能密钥装置根据查找到的动态密钥和当前系统时间生成动态码字;
所述智能密钥装置将所述动态码字提供给所述客户端应用程序,以使所述客户端应用程序根据所述动态码字访问服务器。
优选的,所述方法还包括:
所述智能密钥装置接收客户端应用程序发送的动态密钥;
所述智能密钥装置建立所述动态密钥与客户端应用程序的信息的关联关系,其中,所述客户端应用程序的信息与相应的服务器信息映射。
优选的,所述智能密钥装置生成所述动态码字之前,还包括以下至少一项:
所述智能密钥装置使用本地存储的智能密钥装置的私钥对查找到的所述动态密钥解密;
所述智能密钥装置根据所述客户端应用程序的信息查找相应的服务器公钥,并且使用所述服务器公钥对所述动态密钥验签。
第三方面,本发明提供了一种服务器,所述服务器支持智能密钥装置的访问,该服务器包括:
接收单元,用于接收客户端应用程序发送的第一请求消息,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息;
验证单元,用于根据所述接收单元接收的智能密钥装置的信息对所述智能密钥装置进行身份验证;
分配单元,用于当所述验证单元根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证通过时,则为所述智能密钥装置分配动态密钥;
建立单元,用于建立所述分配单元分配的动态密钥、所述接收单元接收的智能密钥装置的信息及所述客户端应用程序的信息之间的关联关系;
加密单元,用于对所述分配单元分配的动态密钥执行加密操作;
发送单元,用于将所述加密单元加密后的所述动态密钥发送给所述客户端应用程序,以便于所述客户端应用程序将加密后的所述动态密钥提供给所述智能密钥装置。
优选的,所述智能密钥装置的信息中包括所述智能密钥装置的证书,所述验证单元包括:
验证模块,用于使用CA证书对所述智能密钥装置的证书进行验证。
优选的,所述智能密钥装置的信息中包括所述智能密钥装置的公钥,所述加密单元至少包括以下一项:
加密模块,用于使用所述智能密钥装置的公钥对所述动态密钥加密;
签名模块,用于利用本地存储的服务器私钥对所述动态密钥签名。
优选的,所述服务器还包括:
所述接收单元,还用于接收所述客户端应用程序发送的动态码字;
查找单元,用于根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与所述客户端应用程序及相应的智能密钥装置关联的原始动态密钥;
确定单元,用于根据所述接收单元接收到所述动态码字的时间确定多个验证时刻;
生成单元,用于根据所述查找单元查找的原始动态密钥和所述确定单元确定的多个验证时刻,生成多个验证码字;
比对单元,用于将所述接收单元接收到的所述动态码字分别与所述生成单元生成的多个验证码字比对,若与其中一个一致,则所述服务器允许所述客户端应用程序进行访问。
第四方面,本发明还提供了一种智能密钥装置,所述智能密钥装置能够用于访问服务器,该智能密钥装置包括:
接收单元,用于接收客户端应用程序发送的第二请求消息,所述第二请求消息中携带有所述客户端应用程序的信息;
查找单元,用于根据所述接收单元接收的客户端应用程序的信息查找与其关联的动态密钥,其中,所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
生成单元,用于根据所述查找单元查找到的动态密钥和当前系统时间生成动态码字;
发送单元,用于将所述生成单元生成的动态码字提供给所述客户端应用程序,以使所述客户端应用程序根据所述动态码字访问服务器。
优选的,所述智能密钥装置还包括:
所述接收单元,还用于接收客户端应用程序发送的动态密钥;
建立单元,用于建立所述接收单元接收的动态密钥与客户端应用程序的信息的关联关系,其中,所述客户端应用程序的信息与相应的服务器信息映射。
优选的,所述智能密钥装置生成所述动态码字之前,还包括以下至少一项:
解密单元,用于使用本地存储的智能密钥装置的私钥对所述查找单元查找到的所述动态密钥解密;
所述查找单元,还用于根据所述客户端应用程序的信息查找相应的服务器公钥;
验签单元,用于使用所述查找单元查找到的服务器公钥对所述动态密钥验签。
第五方面,本发明还提供一种利用智能密钥装置访问服务器的系统,该系统包括有如上述的服务器以及如上述的智能密钥装置。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供的一种利用智能密钥装置访问服务器的方法、装置及系统,本发明使用服务器根据智能密钥装置的信息为智能密钥装置分配动态密钥,并建立动态密钥、智能密钥装置信息及客户端应用程序的信息之间的关联关系,依据这种关联关系,将分配的动态密钥从服务器侧传递至智能密钥装置侧,继而实现在智能密钥装置内存储多个服务器分别与智能密钥装置协商的动态密钥,在服务器对客户端应用程序的访问请求信息进行验证的过程中,在智能密钥装置内查找与客户端应用程序关联的、服务器所分配的动态密钥,并依据查找的动态密钥与当前系统时间生成动态码字,将动态码字从智能密钥装置侧发送至服务器侧,以使客户端应用程序根据动态码字访问服务器。相比较现有的使用令牌装置只能访问与其捆绑的服务器,本发明通过同一个智能密钥装置管理多个服务器所分配的动态密钥,从而实现使用同一个智能密钥装置可以支持访问多个服务器,大大提升了用户的访问体验。同时本发明还通过对智能密钥装置进行身份验证以及对动态密钥执行加密操作的方法,以避免使用恶意伪造的智能密钥装置登录服务器、或者通过恶意窃取动态密钥登录服务器所带来的网络安全威胁。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种服务器支持智能密钥装置访问的方法流程图;
图2示出了本发明实施例提供的另一种服务器支持智能密钥装置访问的方法流程图;
图3示出了本发明实施例提供的一种基于智能密钥装置访问服务器的方法流程图;
图4示出了本发明实施例提供的另一种基于智能密钥装置访问服务器的方法流程图;
图5示出了本发明实施例提供的一种利用智能密钥装置访问服务器的方法流程图;
图6示出了本发明实施例提供的一种服务器的组成框图;
图7示出了本发明实施例提供的另一种服务器的组成框图;
图8示出了本发明实施例提供的一种智能密钥装置的组成框图;
图9示出了本发明实施例提供的另一种智能密钥装置的组成框图;
图10示出了本发明实施例提供的一种利用智能密钥装置访问服务器的系统的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种服务器支持智能密钥装置访问的方法,该方法是使用服务器向智能密钥装置分配动态密钥,并建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,以实现将分配的动态密钥从服务器侧传递至智能密钥装置侧,便于在智能密钥装置内可以存储多个服务器所分配的动态密钥,如图1所示,该方法应用于服务器侧,对此本发明实施例提供以下具体步骤:
101、接收客户端应用程序发送的第一请求消息。
其中,第一请求消息中携带与客户端应用程序关联的智能密钥装置的信息。
其中,智能密钥装置可以是加密锁、加密卡、usbkey等电子设备。智能密钥装置的信息至少包括:智能密钥装置在出厂时内置的证书、智能密钥装置标识信息。其中,智能密钥装置内置的证书是由证书授权中心(Certificate Authority,CA)签发的,是对智能密钥装置身份的认证,智能密钥装置的标识信息可以至少包括序列号信息,并且不同的智能密钥装置的序列号信息是不同的,据此,依据智能密钥装置的信息,在出厂时每一个智能密钥装置都应该是独一无二的。
在本发明实施例中,智能密钥装置与客户端连接,当用户在使用客户端应用程序访问服务器时,客户端应用程序会向服务器发送访问请求信息,同时还将访问请求信息携带的与客户端应用程序关联的智能密钥装置的信息发送至服务器。
102、根据智能密钥装置的信息对智能密钥装置进行身份验证,若验证通过,则服务器为智能密钥装置分配动态密钥,并且建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系。
其中,动态密钥可以与时间相关,或者可以是随机密钥,该动态密钥用于生成动态码字,依据动态码字,服务器实现对客户端应用程序的访问请求信息进行验证。
在本发明实施例中,当服务器接收到客户端应用程序发送的访问请求信息时,首先对访问请求信息中携带的智能密钥装置的信息进行身份验证,比如验证智能密钥装置的信息中的证书或者智能密钥装置的标识信息,以便确定智能密钥装置身份是安全的,以避免服务器与恶意伪造的智能密钥装置建立通信所带来的网络安全威胁,在本发明实施例中对智能密钥装置的验证方法不做限定。当智能密钥装置通过服务器安全身份验证后,服务器为智能密钥装置分配动态密钥,并且由于在出厂时每一个智能密钥装置都是独一无二的,则依据智能密钥装置的信息,比如智能密钥装置内置的证书、智能密钥装置的标识信息,使得分配给每一个智能密钥装置的动态密钥都应该是不相同的。
在本发明实施例中,由于客户端应用程序与服务器是对应的,比如在台式电脑或者手机终端上通过淘宝网客户端程序实现访问淘宝网服务器,那么,通过建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,使得动态密钥、智能密钥装置的信息及被请求访问的服务器之间也是存在关联关系的,这样,在用户使用客户端应用程序访问服务器时需要选择与被访问的服务器对应的动态密钥,如此才能依据该动态密钥生成的动态码字通过被访问的服务器的验证,继而实现登录被访问的服务器。
103、对动态密钥执行加密操作。
当服务器依据智能密钥装置的信息为每个智能密钥装置分配动态密钥后,服务器会将动态密钥发送至对应的智能密钥装置所连接的客户端应用程序,同时为了避免动态密钥被窃取或者恶意盗用,并保证动态密钥在服务器和智能密钥装置之间传递的安全性,一般将对动态密钥执行加密操作,其中,对动态密钥执行的加密可以是采用对称加密、非对称加密等加密方法实现,具体的,在本发明实施例中不做限定。
104、将加密后的动态密钥发送给客户端应用程序,以便于客户端应用程序将加密后的动态密钥提供给智能密钥装置。
当将加密后的动态密钥发送至客户端上与动态密钥存在关联关系的客户端应用程序时,客户端应用程序会将加密后的动态密钥提供给智能密钥装置,以便在智能密钥装置内使用动态密钥生成动态码字,以用于依据动态码字可以通过服务器的验证并实现登录服务器。
本发明实施例提供的一种服务器支持智能密钥装置访问的方法,该方法应用于服务器侧,本发明实施例使用服务器根据智能密钥装置的信息为智能密钥装置分配动态密钥,并建立动态密钥、智能密钥装置信息及客户端应用程序的信息之间的关联关系,依据这种关联关系,将分配的动态密钥从服务器侧传递至智能密钥装置侧,继而当使用同一个智能密钥装置实现访问多个服务器时,多个服务器将分别对该智能密钥装置分配的动态密钥都会传递并存储在该智能密钥装置内,以便在用户使用客户端应用程序实现访问服务器时,依据选择服务器分配的动态密钥,能够通过服务器的登录请求验证,从而实现使用同一个智能密钥装置可以支持访问多个服务器,大大提升了用户的访问体验。同时本发明实施例还通过对智能密钥装置进行身份验证以及对动态密钥执行加密操作的方法,以避免使用恶意伪造的智能密钥装置登录服务器、或者通过恶意窃取动态密钥登录服务器所带来的网络安全威胁。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种服务器支持智能密钥装置访问的方法,该方法主要使用依据服务器向智能密钥装置分配的动态密钥所生成的动态码字与服务器存储的原始动态密钥生成的多个验证码字与作比对的方法,实现判断是否允许客户端应用程序访问服务器,如图2所示,该方法应用于服务器侧,对此本发明实施例提供以下具体步骤:
201、接收客户端应用程序发送的第一请求消息。
其中,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息。
在本发明实施例中,对于本步骤的陈述,请参考步骤101,此处不再赘述。
202、根据智能密钥装置的信息对智能密钥装置进行身份验证,若验证通过,则服务器为智能密钥装置分配动态密钥,并且建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系。
在本发明实施例中,基于步骤102做进一步的详细描述,智能密钥装置的信息中包括智能密钥装置在出厂时内置的证书,其是由CA机构签发的,证书中包含密钥对(即公钥和私钥)、电子签证机关的信息、CA机构的签字和证书有效期等等数据信息。对于本发明实施例,服务器根据智能密钥装置的信息对智能密钥装置进行验证的方法,可以包括:服务器使用CA证书对智能密钥装置的证书进行验证,具体的陈述如下:
CA机构也拥有一个证书(内含公钥和私钥),由于当在向CA机构申请证书时,CA机构会向申请者分配公钥,同时将公钥与该申请者的身份信息捆绑在一起,并为之签字,最终形成证书发放给申请者,因而,当欲鉴定一个证书的真伪时,就可以使用CA证书的公钥对待鉴定的证书上的签字进行验证,当验证通过时,则认为该证书是有效的。
在本发明实施例中,当服务器接收到客户端应用程序发送的访问请求信息时,可以利用CA证书对智能密钥装置信息中证书包含的公钥进行验证,进而验证该证书是否有效,从而实现对智能密钥装置的身份验证,以防止使用具有伪造证书的智能密钥装置登录服务器的恶意操作行为给服务器带来的网络安全威胁。
203、对动态密钥执行加密操作。
在本发明实施例中,基于步骤103做进一步的详细描述,服务器对动态密钥执行加密操作可以至少包括如下任一种方式:
其中,一种方式是服务器使用智能密钥装置的公钥对动态密钥加密,具体陈述,如下:
在本发明实施例中,由于智能密钥装置信息中包含证书,证书中包含密钥对(公钥和私钥),因而可以根据非对称密钥加密方法对动态密钥执行加密操作,即可以使用密钥对(公钥和私钥)来实现对动态密钥的加密和解密,比如当使用公钥加密,则需使用私钥解密,而当使用私钥加密时,则只能使用相应的公钥解密。据此,当使用智能密钥装置的公钥对动态密钥执行加密操作,相应的,也只能利用智能密钥装置的私钥才能实现对加密的动态密钥解密,进而避免动态密钥被窃取或者恶意盗用,并保证动态密钥在服务器和智能密钥装置之间传递的安全性。
其中,另一种方式是服务器利用本地存储的服务器私钥对动态密钥签名,具体陈述,如下:
在本发明实施例中,可以依据服务器内置的密钥对(公钥和私钥)对动态密钥执行签名操作,执行签名操作的具体步骤包括:利用哈希函数对待传递的动态密钥数据进行运算,生成数据摘要,然后用服务器的私钥对该数据摘要执行加密操作,将加密后的数据摘要作为签名和动态密钥数据一并发送客户端应用程序,以便客户端应用程序将签名和动态密钥数据发送至对应的智能密钥装置。此外,与执行签名操作对应的,执行验签操作的具体步骤包括:在智能密钥装置侧,当智能密钥装置接收到签名和动态密钥数据时,可以利用相同的哈希函数对动态密钥数据进行运算生成数据摘要,并同时使用服务器的公钥对接收到的签名进行解密,将得到的解密后的数据摘要与在智能密钥装置内生成的数据摘要作比较,若相同,则可以验证服务器在向智能密钥装置侧发送的动态密钥数据的过程中,动态密钥数据并未被修改过,是完整的,进而确定智能密钥装置接收到的动态密钥数据是完整的、安全的。
通过使用服务器的私钥对动态密钥执行签名操作,以便在智能密钥装置侧执行对签名的动态密钥验签,如此不仅能够验证服务器的身份,同时也能够验证智能密钥装置接收到的动态密钥是否被恶意修改、伪造以及是否是安全。
需要说明的是,在本发明实施例中,当同时采用上述两种方式对动态密钥执行加密操作时,对于动态密钥是先执行签名或是公钥加密操作,不作具体要求,即签名和公钥加密是两种独立的操作,其都是对动态密钥所采取的安全保护措施。
204、将加密后的动态密钥发送给客户端应用程序,以便于客户端应用程序将加密后的动态密钥提供给智能密钥装置。
在本发明实施例中,对于本步骤的陈述,请参考步骤104,此处不再赘述。
205、接收客户端应用程序发送的动态码字。
在客户端应用程序将动态密钥提供给智能密钥装置后,在智能密钥装置内动态密钥和当前系统时间可以生成动态码字,智能密钥装置会将该动态码字提供给客户端应用程序,并由客户端应用程序发送至服务器,以用于完成服务器对客户端应用程序的访问请求信息的验证。
206、根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与客户端应用程序及相应的智能密钥装置关联的原始动态密钥。
其中,对于使用同一个智能密钥装置支持的同一个客户端应用程序的访问请求信息,原始动态密钥与服务器向智能密钥装置分配的动态密钥是相同的。
对于本发明实施例,在服务器对客户端应用程序的访问请求信息进行验证的过程中,依据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,可以查找到依据该访问请求信息服务器向智能密钥装置分配的动态密钥,在此,将查找到的动态密钥称为原始动态密钥,因而,在本发明实施例中所称的原始动态密钥与之间在接收到客户端应用程序的访问请求信息时服务器向智能密钥装置分配的动态密钥是相同的,以便后续完成服务器使用原始动态密钥生成的验证码字实现对从客户端应用程序接收的动态码字的验证过程。
207、根据接收到动态码字的时间确定多个验证时刻。
在本发明实施例中,由于动态码字是在智能密钥装置内根据动态密钥和智能密钥装置的系统时间生成的,以及动态码字是智能密钥装置提供并经客户端应用程序发送至服务器的。在服务器侧,服务器接收到动态码字后,根据接收到动态码字时的系统时间确定多个验证时刻,例如,以接收到动态码字的时间为基准时间,在基准时间之前和基准时间之后分别确定多个验证时刻,并且通过原始动态密钥和多个验证时刻分别生成多个验证码字,以用于查找是否存在与动态码字一致的验证码字,进而完成服务器对客户端应用程序的访问请求信息的验证。
在本发明实施例中,对于确定多个验证时刻的方法,具体的,可以预先设置时间阈值,以服务器接收到动态码字的时间为起始时间位置,在起始时间位置之前的时间阈值范围内确定多个验证时刻,对于本发明实施例,对于确定多个验证时刻的方法不做限定。
208、根据原始动态密钥和多个验证时刻,生成多个验证码字。
当确定多个验证时刻后,可以根据原始动态密钥和多个验证时刻分别生成多个验证码字,以用于验证客户端应用程序发送的动态码字。
209、将接收到的动态码字分别与多个验证码字比对,若与其中一个一致,则服务器允许客户端应用程序进行访问。
当服务器接收到的客户端应用程序发送的动态码字与多个验证码字中的一个一致时,则服务器可以验证生成动态码字的动态密钥与服务器内存储的原始动态密钥是相同的,即该动态密钥是服务器向智能密钥装置分配的,进而服务器验证通过客户端应用程序的访问请求信息,使得服务器允许客户端应用程序进行访问。
对应于上述本发明的上述两个实施例,在服务器侧服务器向智能密钥装置分配动态密钥,使得在智能密钥装置内可以存储多个服务器所分配的动态密钥,进而实现使用同一个智能密钥装置可以支持访问多个服务器。本发明实施例还提供了一种基于智能密钥装置访问服务器的方法,该方法是在服务器对客户端应用程序的访问请求信息验证之前,智能密钥装置选择与该服务器对应的动态密钥,生成动态码字,并提供给客户端应用程序,以使客户端应用程序根据动态码字访问服务器,如图3所示,该方法应用于智能密钥装置侧,对此本发明实施例提供以下具体步骤:
301、接收客户端应用程序发送的第二请求消息。
其中,第二请求消息中携带有客户端应用程序的信息。
当客户端应用程序将服务器向智能密钥装置分配的动态密钥发送至智能密钥装置后,客户端应用程序会向智能密钥装置发送请求信息,目的是从智能密钥装置内获取客户端应用程序关联的动态密钥所生成的动态码字,以用于客户端应用程序根据动态码字实现访问服务器。
302、根据客户端应用程序的信息查找与其关联的动态密钥。
其中,智能密钥装置中存储有多个动态密钥,每个动态密钥分别与相应的客户端应用程序的信息建立有关联关系。
动态密钥是在服务器接收到客户端应用程序的访问请求信息时,服务器向智能密钥装置分配的,并且每个动态密钥与相应的客户端应用程序的信息是存在关联关系的,因而,在向服务器验证客户端应用程序的访问请求信息时,应该在智能密钥装置内的多个动态密钥中选择与客户端应用程序关联的动态密钥,否则,若选择与客户端应用程序无关联的动态密钥,并依据该动态密钥所生成的动态码字,客户端应用程序的访问请求信息是不可能通过服务器的验证的。
303、根据查找到的动态密钥和当前系统时间生成动态码字。
其中,动态码字是动态密钥和当前系统时间生成的,因而,实现生成动态码字需要两个必备条件,包括:选择匹配的动态密钥和确定系统时间,其中,选择匹配的动态密钥是指为使得客户端应用程序的访问请求信息通过服务器的验证,需要选择与该客户端应用程序关联的动态密钥,否则选择其他的不相关联的动态密钥是不可能使得访问请求信息通过服务器的验证的。对于本发明实施例,当查找到匹配的动态密钥以及确定准确的当前系统时间后,根据动态密钥和当前系统时间生成动态码字。
304、将动态码字提供给客户端应用程序,以使客户端应用程序根据动态码字访问服务器。
智能密钥装置将生成的动态码字提供给客户端应用程序,并依据动态密钥、智能密钥装置的信息及客户端应用程序的信息的关联关系,客户端应用程序将动态码字发送至对应的服务器,以依据动态码字可以通过服务器验证,进而实现访问服务器。
本发明实施例提供的一种基于智能密钥装置访问服务器的方法,该方法应用于智能密钥装置侧,本发明实施例通过在智能密钥装置内存储的多个动态密钥中选择与验证客户端应用程序的访问请求信息关联的动态密钥,并依据动态密钥和当前系统时间生成动态码字,并将动态码字提供得客户端应用程序,以使客户端应用程序将动态码字发送至服务器,以便根据动态码字实现通过服务器对客户端应用程序的访问请求信息的验证,进而实现访问服务器。在本发明实施例中智能密钥装置与服务器不存在捆绑关系,而是在智能密钥装置内存储多个服务器所分配的动态密钥,进而实现同一个智能密钥装置可以支持访问多个服务器,大大提升了用户的访问体验。
为了对上述实施例做出更加详细的说明,本发明实施例还提供了另一种基于智能密钥装置访问服务器的方法,该方法中智能密钥装置内存储的动态密钥与客户端应用程序的信息存在关联关系,在依据关联关系选择动态密钥生成动态码字之前,还需根据服务器侧执行的加密操作,对动态密钥执行相应的解密操作,如图4所示,该方法应用于智能密钥装置侧,对此本发明实施例提供以下具体步骤:
401、接收客户端应用程序发送的第二请求消息。
其中,第二请求消息中携带有客户端应用程序的信息。
在本发明实施例中,基于步骤301做进一步的详细描述,在接收客户端应用程序发送的请求消息之前,智能密钥装置接收客户端应用程序发送的动态密钥。智能密钥装置建立动态密钥与客户端应用程序的信息的关联关系,由于客户端应用程序的信息与相应的服务器信息映射,比如通过淘宝网客户端应用程序登录淘宝网服务器实现的用户访问体验,据此,动态密钥、智能密钥装置、服务器之间是存在关联关系的,进而为实现通过服务器对客户端应用程序访问请求信息的验证,应该在智能密钥装置内选择与客户端应用程序关联的动态密钥,也就是选择与服务器对应的动态密钥,以便依据被选择的动态密钥生成动态码字,使得客户端应用程序能够访问服务器。
402、根据客户端应用程序的信息查找与其关联的动态密钥。
其中,智能密钥装置中存储有多个动态密钥,每个动态密钥分别与相应的客户端应用程序的信息建立有关联关系。
在本发明实施例中,对于本步骤的陈述,请参考步骤302,此处不再赘述。
403、使用本地存储的智能密钥装置的私钥对查找到的动态密钥解密。
在将动态密钥从服务器侧传递至智能密钥装置侧之前,在服务器侧有对动态密钥执行加密操作,在智能密钥装置侧在使用加密的动态密钥生成动态码字之前,则需要对加密的动态密钥执行解密操作,具体的,若在服务器侧是使用智能密钥装置的公钥执行的加密操作,由于其是非对称加密,相应的,在智能密钥装置侧,使用智能密钥装置的私钥对加密的动态密钥执行解密操作。
404、根据客户端应用程序的信息查找相应的服务器公钥,并且使用服务器公钥对动态密钥验签。
在将动态密钥从服务器侧传递至智能密钥装置侧之前,在服务器侧有对动态密钥执行签名操作,在智能密钥装置侧在使用签名的动态密钥生成动态码字之前,则需要对签名的动态密钥执行验签操作。具体的,对签名及验签的相关陈述,请参见步骤203,此处不再赘述。
需要说明的是,在本发明实施例中,当智能密钥装置侧接收的动态密钥是被执行公钥加密和签名处理的,则对于动态密钥是先执行私钥解密操作或是验签操作,不作具体要求,即公钥加密和签名是两种独立的操作,其都是对动态密钥所采取的安全保护措施。
405、根据查找到的动态密钥和当前系统时间生成动态码字。
在本发明实施例中,对于本步骤的陈述,请参考步骤303,此处不再赘述。
406、将动态码字提供给客户端应用程序,以使客户端应用程序根据动态码字访问服务器。
在本发明实施例中,对于本步骤的陈述,请参考步骤304,此处不再赘述。
为了更加详细说明本发明服务器和智能密钥装置之间的数据交互关系,通过综合上述本发明实施例提供的服务器支持智能密钥装置访问的方法和基于智能密钥装置访问服务器的方法,如图5所示,本发明实施例还提供了一种利用智能密钥装置访问服务器的方法,对此本发明实施例提供以下具体步骤:
501、服务器接收客户端应用程序发送的第一请求消息。
其中,第一请求消息中携带与客户端应用程序关联的智能密钥装置的信息。
在本发明实施例中,智能密钥装置与客户端连接,当用户在使用客户端应用程序访问服务器时,客户端应用程序会向服务器发送访问请求信息,同时还将访问请求信息携带的与客户端应用程序关联的智能密钥装置的信息发送至服务器。
502、服务器为智能密钥装置分配动态密钥,并且建立动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系。
在执行本步骤之前,还可以根据智能密钥装置的信息对智能密钥装置进行身份验证,以便确定智能密钥装置身份是安全的,以避免服务器与恶意伪造的智能密钥装置建立通信所带来的网络安全威胁。
503、服务器将动态密钥发送给客户端应用程序。
在执行本步骤之前,还可以对动态密钥执行加密操作,具体的加密操作可以至少包括以下一项:服务器使用智能密钥装置的公钥对动态密钥加密,或者,服务器利用本地存储的服务器私钥对动态密钥签名,进而可以避免动态密钥被窃取或者恶意盗用,保证动态密钥在服务器和智能密钥装置之间传递的安全性。
504、客户端应用程序将动态密钥提供给智能密钥装置。
505、智能密钥装置接收客户端应用程序发送的第二请求信息。
其中,第二请求消息中携带有客户端应用程序的信息。
客户端应用程序会向智能密钥装置发送请求信息,目的是从智能密钥装置内获取客户端应用程序关联的动态密钥所生成的动态码字,以用于客户端应用程序根据动态码字实现访问服务器。
506、智能密钥装置根据客户端应用程序的信息查找与其关联的动态密钥。
其中,智能密钥装置中存储有多个动态密钥,每个动态密钥分别与相应的客户端应用程序的信息建立有关联关系。
动态密钥是在服务器接收到客户端应用程序的访问请求信息时,服务器向智能密钥装置分配的,并且每个动态密钥与相应的客户端应用程序的信息是存在关联关系的,因而,在向服务器验证客户端应用程序的访问请求信息时,应该在智能密钥装置内的多个动态密钥中选择与客户端应用程序关联的动态密钥,否则,若选择与客户端应用程序无关联的动态密钥,并依据该动态密钥所生成的动态码字,客户端应用程序的访问请求信息是不可能通过服务器的验证的。
507、智能密钥装置根据查找到的动态密钥和当前系统时间生成动态码字,并将动态码字提供给客户端应用程序。
508、客户端应用程序向服务器发送动态码字。
509、服务器接收客户端应用程序发送的动态码字,并对接收到的动态码字进行验证。
在本步骤中,具体的,服务器对接收到的动态码字进行验证的步骤,包括:服务器根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与客户端应用程序及相应的智能密钥装置关联的原始动态密钥;服务器根据接收到动态码字的时间确定多个验证时刻;服务器根据原始动态密钥和多个验证时刻,生成多个验证码字;服务器将接收到的动态码字分别与多个验证码字比对,若与其中一个一致,则服务器允许客户端应用程序进行访问。
需要说明的是,在本发明实施例中,关于步骤501至步骤509的描述,请参考上述实施例中对服务器支持智能密钥装置访问的方法和基于智能密钥装置访问服务器的方法相关详细描述,本发明实施例在此不再进行一一赘述。
作为对上述图1及图2所示方法的实现,本发明另一实施例还提供了一种服务器。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该服务器应用于支持智能密钥装置的访问,具体如图6所示,该服务器包括:
接收单元601,用于接收客户端应用程序发送的第一请求消息,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息;
验证单元602,用于根据所述接收单元601接收的智能密钥装置的信息对所述智能密钥装置进行身份验证;
分配单元603,用于当所述验证单元602根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证通过时,则为所述智能密钥装置分配动态密钥;
建立单元604,用于建立所述分配单元603分配的动态密钥、所述接收单元601接收的智能密钥装置的信息及所述客户端应用程序的信息之间的关联关系;
加密单元605,用于对所述分配单元603分配的动态密钥执行加密操作;
发送单元606,用于将所述加密单元605加密后的所述动态密钥发送给所述客户端应用程序,以便于所述客户端应用程序将加密后的所述动态密钥提供给所述智能密钥装置。
进一步的,如图7所示,所述智能密钥装置的信息中包括所述智能密钥装置的证书,所述验证单元602包括:
验证模块6021,用于使用CA证书对所述智能密钥装置的证书进行验证。
进一步的,如图8所示,所述智能密钥装置的信息中包括所述智能密钥装置的公钥,所述加密单元605至少包括以下一项:
加密模块6051,用于使用所述智能密钥装置的公钥对所述动态密钥加密;
签名模块6052,用于利用本地存储的服务器私钥对所述动态密钥签名。
进一步的,如图7所示,所述服务器还包括:
所述接收单元601,还用于接收所述客户端应用程序发送的动态码字;
查找单元607,用于根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与所述客户端应用程序及相应的智能密钥装置关联的原始动态密钥;
确定单元608,用于根据所述接收单元601接收到所述动态码字的时间确定多个验证时刻;
生成单元609,用于根据所述查找单元607查找的原始动态密钥和所述确定单元608确定的多个验证时刻,生成多个验证码字;
比对单元610,用于将所述接收单元601接收到的所述动态码字分别与所述生成单元609生成的多个验证码字比对,若与其中一个一致,则所述服务器允许所述客户端应用程序进行访问。
进一步的,作为对上述图3及图4所示方法的实现,本发明另一实施例还提供了一种智能密钥装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该智能密钥装置应用于访问服务器,具体如图8所示,该智能密钥装置包括:
接收单元701,用于接收客户端应用程序发送的第二请求消息,所述第二请求消息中携带有所述客户端应用程序的信息;
查找单元702,用于根据所述接收单元701接收的客户端应用程序的信息查找与其关联的动态密钥,其中,所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
生成单元703,用于根据所述查找单元702查找到的动态密钥和当前系统时间生成动态码字;
发送单元704,用于将所述生成单元703生成的动态码字提供给所述客户端应用程序,以使所述客户端应用程序根据所述动态码字访问服务器。
进一步的,如图9所示,所述智能密钥装置还包括:
所述接收单元701,还用于接收客户端应用程序发送的动态密钥;
建立单元705,用于建立所述接收单元701接收的动态密钥与客户端应用程序的信息的关联关系,其中,所述客户端应用程序的信息与相应的服务器信息映射。
进一步的,如图9所示,所述智能密钥装置生成所述动态码字之前,还包括以下至少一项:
解密单元706,用于使用本地存储的智能密钥装置的私钥对所述查找单元702查找到的所述动态密钥解密;
所述查找单元702,还用于根据所述客户端应用程序的信息查找相应的服务器公钥;
验签单元707,用于使用所述查找单元702查找到的服务器公钥对所述动态密钥验签。
进一步的,作为对上述方法的实现以及上述服务器、智能密钥装置的应用,本发明实施例还提供一种利用智能密钥装置访问服务器的系统,如图10所示,该系统包括含有上述图6、7所示的服务器81以及含有上述图8、9所示的智能密钥装置82。
综上所述,本发明实施例提供的一种利用智能密钥装置访问服务器的方法、装置及系统。本发明实施例使用服务器根据智能密钥装置的信息为智能密钥装置分配动态密钥,并建立动态密钥、智能密钥装置信息及客户端应用程序的信息之间的关联关系,依据这种关联关系,将分配的动态密钥从服务器侧传递至智能密钥装置侧,继而实现在智能密钥装置内存储多个服务器分别与智能密钥装置协商的动态密钥,在服务器对客户端应用程序的访问请求进行验证的过程中,在智能密钥装置内查找与客户端应用程序关联的、服务器分配的动态密钥,并依据查找的动态密钥与当前系统时间生成的动态码字,将动态码字从智能密钥装置侧发送至服务器侧,并将动态码字与依据原始动态密钥和多个验证时刻分别生成的多个验证码字作比对,若与其中一个一致时,则服务器允许客户端应用程序进行访问,进而实现客户端应用程序根据动态码字访问服务器。本发明实施例通过同一个智能密钥装置管理多个服务器所分配的动态密钥,从而实现使用同一个智能密钥装置可以支持访问多个服务器,大大提升了用户的访问体验。同时本发明还通过对智能密钥装置进行身份验证以及对动态密钥执行加密操作的方法,其中,加密的方法可以至少包括签名或者非对称密钥加密,以避免使用恶意伪造的智能密钥装置登录服务器、或者通过恶意窃取动态密钥登录服务器所带来的网络安全威胁。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (15)

1.一种服务器支持智能密钥装置访问的方法,其特征在于,所述方法包括:
服务器接收客户端应用程序发送的第一请求消息,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息;
所述服务器根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证,若验证通过,则所述服务器为所述智能密钥装置分配动态密钥,并且建立所述动态密钥、所述智能密钥装置的信息及所述客户端应用程序的信息之间的关联关系,其中,所述动态密钥用于生成动态码字;
所述服务器对所述动态密钥执行加密操作;
所述服务器将加密后的所述动态密钥发送给所述客户端应用程序,以便于所述客户端应用程序将加密后的所述动态密钥提供给所述智能密钥装置,在所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
所述服务器接收所述客户端应用程序发送的动态码字;
所述服务器根据接收到的所述动态码字对客户端应用程序的访问请求信息进行验证。
2.根据权利要求1所述的方法,其特征在于,所述智能密钥装置的信息中包括所述智能密钥装置的证书;
所述服务器根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证,包括:
所述服务器使用CA证书对所述智能密钥装置的证书进行验证。
3.根据权利要求1所述的方法,其特征在于,所述智能密钥装置的信息中包括所述智能密钥装置的公钥;
所述服务器对所述动态密钥执行加密操作至少包括以下一项:
所述服务器使用所述智能密钥装置的公钥对所述动态密钥加密;
所述服务器利用本地存储的服务器私钥对所述动态密钥签名。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述服务器根据接收到的所述动态码字对客户端应用程序的访问请求信息进行验证,包括:
所述服务器根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与所述客户端应用程序及相应的智能密钥装置关联的原始动态密钥;
所述服务器根据接收到所述动态码字的时间确定多个验证时刻;
所述服务器根据所述原始动态密钥和所述多个验证时刻,生成多个验证码字;
所述服务器将接收到的所述动态码字分别与所述多个验证码字比对,若与其中一个一致,则所述服务器允许所述客户端应用程序进行访问。
5.一种基于智能密钥装置访问服务器的方法,其特征在于,包括:
智能密钥装置接收客户端应用程序发送的第二请求消息,所述第二请求消息中携带有所述客户端应用程序的信息;
所述智能密钥装置根据所述客户端应用程序的信息查找与其关联的动态密钥,其中,所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
所述智能密钥装置根据查找到的动态密钥和当前系统时间生成动态码字;
所述智能密钥装置将所述动态码字提供给所述客户端应用程序,以使所述客户端应用程序根据所述动态码字访问服务器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述智能密钥装置接收客户端应用程序发送的动态密钥;
所述智能密钥装置建立所述动态密钥与客户端应用程序的信息的关联关系,其中,所述客户端应用程序的信息与相应的服务器信息映射。
7.根据权利要求5或6所述的方法,其特征在于,所述智能密钥装置生成所述动态码字之前,还包括以下至少一项:
所述智能密钥装置使用本地存储的智能密钥装置的私钥对查找到的所述动态密钥解密;
所述智能密钥装置根据所述客户端应用程序的信息查找相应的服务器公钥,并且使用所述服务器公钥对所述动态密钥验签。
8.一种服务器,其特征在于,所述服务器支持智能密钥装置的访问,其中,所述服务器包括:
接收单元,用于接收客户端应用程序发送的第一请求消息,所述第一请求消息中携带与所述客户端应用程序关联的智能密钥装置的信息;
验证单元,用于根据所述接收单元接收的智能密钥装置的信息对所述智能密钥装置进行身份验证;
分配单元,用于当所述验证单元根据所述智能密钥装置的信息对所述智能密钥装置进行身份验证通过时,则为所述智能密钥装置分配动态密钥其中,所述动态密钥用于生成动态码字;
建立单元,用于建立所述分配单元分配的动态密钥、所述接收单元接收的智能密钥装置的信息及所述客户端应用程序的信息之间的关联关系;
加密单元,用于对所述分配单元分配的动态密钥执行加密操作;
发送单元,用于将所述加密单元加密后的所述动态密钥发送给所述客户端应用程序,以便于所述客户端应用程序将加密后的所述动态密钥提供给所述智能密钥装置,在所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
所述服务器还包括:
所述接收单元,还用于接收所述客户端应用程序发送的动态码字;
所述服务器还用于根据接收到的所述动态码字对客户端应用程序的访问请求信息进行验证。
9.根据权利要求8所述的服务器,其特征在于,所述智能密钥装置的信息中包括所述智能密钥装置的证书,所述验证单元包括:
验证模块,用于使用CA证书对所述智能密钥装置的证书进行验证。
10.根据权利要求8所述的服务器,其特征在于,所述智能密钥装置的信息中包括所述智能密钥装置的公钥,所述加密单元至少包括以下一项:
加密模块,用于使用所述智能密钥装置的公钥对所述动态密钥加密;
签名模块,用于利用本地存储的服务器私钥对所述动态密钥签名。
11.根据权利要求8至10任一项所述的服务器,其特征在于,所述服务器还包括:
查找单元,用于根据预先存储的动态密钥、智能密钥装置的信息及客户端应用程序的信息之间的关联关系,查找与所述客户端应用程序及相应的智能密钥装置关联的原始动态密钥;
确定单元,用于根据所述接收单元接收到所述动态码字的时间确定多个验证时刻;
生成单元,用于根据所述查找单元查找的原始动态密钥和所述确定单元确定的多个验证时刻,生成多个验证码字;
比对单元,用于将所述接收单元接收到的所述动态码字分别与所述生成单元生成的多个验证码字比对,若与其中一个一致,则所述服务器允许所述客户端应用程序进行访问。
12.一种智能密钥装置,其特征在于,所述智能密钥装置能够用于访问服务器,其中,所述智能密钥装置包括:
接收单元,用于接收客户端应用程序发送的第二请求消息,所述第二请求消息中携带有所述客户端应用程序的信息;
查找单元,用于根据所述接收单元接收的客户端应用程序的信息查找与其关联的动态密钥,其中,所述智能密钥装置中存储有多个动态密钥,每个所述动态密钥分别与相应的客户端应用程序的信息建立有关联关系;
生成单元,用于根据所述查找单元查找到的动态密钥和当前系统时间生成动态码字;
发送单元,用于将所述生成单元生成的动态码字提供给所述客户端应用程序,以使所述客户端应用程序根据所述动态码字访问服务器。
13.根据权利要求12所述的智能密钥装置,其特征在于,所述智能密钥装置还包括:
所述接收单元,还用于接收客户端应用程序发送的动态密钥;
建立单元,用于建立所述接收单元接收的动态密钥与客户端应用程序的信息的关联关系,其中,所述客户端应用程序的信息与相应的服务器信息映射。
14.根据权利要求12或13所述的智能密钥装置,其特征在于,所述智能密钥装置生成所述动态码字之前,还包括以下至少一项:
解密单元,用于使用本地存储的智能密钥装置的私钥对所述查找单元查找到的所述动态密钥解密;
所述查找单元,还用于根据所述客户端应用程序的信息查找相应的服务器公钥;
验签单元,用于使用所述查找单元查找到的服务器公钥对所述动态密钥验签。
15.一种利用智能密钥装置访问服务器的系统,其特征在于,所述系统中包括有如权利要求8至11任一项所述的服务器以及如权利要求12至14任一项所述的智能密钥装置。
CN201711362951.3A 2017-12-18 2017-12-18 利用智能密钥装置访问服务器的方法、装置及系统 Active CN108200014B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711362951.3A CN108200014B (zh) 2017-12-18 2017-12-18 利用智能密钥装置访问服务器的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711362951.3A CN108200014B (zh) 2017-12-18 2017-12-18 利用智能密钥装置访问服务器的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108200014A CN108200014A (zh) 2018-06-22
CN108200014B true CN108200014B (zh) 2020-10-09

Family

ID=62576924

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711362951.3A Active CN108200014B (zh) 2017-12-18 2017-12-18 利用智能密钥装置访问服务器的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108200014B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109740321B (zh) * 2018-12-25 2020-03-31 北京深思数盾科技股份有限公司 吊销加密机管理员锁的方法、加密机及厂商服务器
CN110492989B (zh) * 2019-08-23 2020-11-13 广州华多网络科技有限公司 私钥的处理方法、访问方法和对应方法的介质、装置
CN112003706B (zh) * 2020-08-24 2023-07-18 北京字节跳动网络技术有限公司 一种签名的方法、装置、计算机设备及存储介质
CN111817851B (zh) * 2020-09-10 2020-12-08 北京深思数盾科技股份有限公司 Otp生成方法、验证方法、终端、服务器、芯片和介质
CN115001828A (zh) * 2022-06-02 2022-09-02 中国工商银行股份有限公司 交易数据的安全访问方法、系统、电子设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101393628A (zh) * 2008-11-12 2009-03-25 北京飞天诚信科技有限公司 一种新型的网上安全交易系统和方法
CN102184354A (zh) * 2011-04-02 2011-09-14 方园 一种网上支付防止数据被伪造和劫持的方法
CN104243451A (zh) * 2014-08-19 2014-12-24 天地融科技股份有限公司 一种信息交互方法、系统和智能密钥设备
CN104580180A (zh) * 2014-12-26 2015-04-29 北京佳月隶平软件有限公司 数据加密方法、数据解密方法及装置
CN105871915A (zh) * 2016-06-07 2016-08-17 得理电子(上海)有限公司 软件的网络认证绑定方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050152305A1 (en) * 2002-11-25 2005-07-14 Fujitsu Limited Apparatus, method, and medium for self-organizing multi-hop wireless access networks
CN1973480A (zh) * 2004-04-21 2007-05-30 松下电器产业株式会社 内容提供系统、信息处理设备以及存储卡
KR101725801B1 (ko) * 2013-12-31 2017-04-11 구글 인코포레이티드 컴퓨팅 디바이스에 대한 액세스 제어를 제공하기 위한 방법들, 시스템들 및 매체들

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101393628A (zh) * 2008-11-12 2009-03-25 北京飞天诚信科技有限公司 一种新型的网上安全交易系统和方法
CN102184354A (zh) * 2011-04-02 2011-09-14 方园 一种网上支付防止数据被伪造和劫持的方法
CN104243451A (zh) * 2014-08-19 2014-12-24 天地融科技股份有限公司 一种信息交互方法、系统和智能密钥设备
CN104580180A (zh) * 2014-12-26 2015-04-29 北京佳月隶平软件有限公司 数据加密方法、数据解密方法及装置
CN105871915A (zh) * 2016-06-07 2016-08-17 得理电子(上海)有限公司 软件的网络认证绑定方法和系统

Also Published As

Publication number Publication date
CN108200014A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN108200014B (zh) 利用智能密钥装置访问服务器的方法、装置及系统
CN110519260B (zh) 一种信息处理方法及信息处理装置
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US20220394026A1 (en) Network identity protection method and device, and electronic equipment and storage medium
KR20190088048A (ko) 사물 인터넷 디바이스의 기록 및 검증 방법과 장치, 그리고 아이덴티티 인증 방법 및 장치
CN110677376B (zh) 认证方法、相关设备和系统及计算机可读存储介质
US20230139222A1 (en) Non-custodial tool for building decentralized computer applications
CN108141444B (zh) 经改善的认证方法和认证装置
US20100228987A1 (en) System and method for securing information using remote access control and data encryption
GB2543096A (en) Data Processing Device
CN103095704A (zh) 一种可信介质的在线验证方法及装置
CN111917536A (zh) 身份认证密钥的生成方法、身份认证的方法、装置及系统
CN114666168B (zh) 去中心化身份凭证验证方法、装置,以及,电子设备
CN110740116B (zh) 一种多应用身份认证的系统及方法
US20150326402A1 (en) Authentication Systems
CN116458117A (zh) 安全数字签名
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
CN114826661A (zh) 一种基于开放式api接口的数据访问方法、设备及介质
CN110798322B (zh) 一种操作请求方法、装置、存储介质及处理器
CN101582876A (zh) 用户生成内容的注册方法、装置和系统
JP2015104020A (ja) 通信端末装置、通信端末関連付けシステム、通信端末関連付け方法、及びコンピュータプログラム
CN106992978B (zh) 网络安全管理方法及服务器
US20090327704A1 (en) Strong authentication to a network
CN115514578B (zh) 基于区块链的数据授权方法和装置、电子设备和存储介质
CN103281188A (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
CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder