1.一种基于微信的动态口令认证系统,其特征在于,所述系统包括:动码云服务器以及微信平台;所述动码云服务器与微信平台数据相接,并通过微信通道与用户的微信客户端数据通信,向用户提供认证所需的动态口令,并向第三方系统提供动态口令认证服务,在用户不安装专门的动态口令应用,服务方不设置专用的动态口令认证系统的情况下,用户由第三方系统直接调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证,实现在用户与服务方之间直接进行动态口令认证;在动态口令认证前,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于绑定的动态口令和令牌信息,并由此建立用户与令牌,第三方系统与令牌的绑定关系;接着,基于建立的绑定关系,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于认证的动态口令,最后,第三方系统调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证。
2.根据权利要求1所述的一种基于微信动态口令认证的系统,其特征在于,所述动码云服务器提供第三方系统接入openAPI;
所述动码云服务器提供获取动态口令服务,动码云服务器通过微信平台接受到微信客户端请求获取动态口令,并根据请求下发对应的令牌序列号和动态口令,返回微信客户端;
所述动码云服务器提供绑定服务,动码云服务器接受第三方系统绑定请求,并建立令牌序列号和第三方系统的绑定关系;
所述动码云服务器提供认证服务,动码云服务器根据第三方系统上报的令牌序列号、动态口令进行动态口令认证,进行交易保护。
3.一种基于微信的动态口令认证方法,其特征在于,所述方法首先由提供统一认证服务的动码云服务器通过微信通道向用户微信客户提供认证所需的动态口令,再由第三方系统直接调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证,在用户不安装专门的动态口令应用,服务方不设置专用的动态口令认证系统的情况下,在用户与服务方之间直接进行动态口令认证;在动态口令认证前,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于绑定的动态口令和令牌信息,并由此建立用户与令牌,第三方系统与令牌的绑定关系;接着,基于建立的绑定关系,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于认证的动态口令,最后,第三方系统调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证。
4.根据权利要求3所述的一种基于微信的动态口令认证方法,其特征在于,所述认证方法具体包括如下步骤:
(1)用户通过自己的微信客户端关注动码云服务器的微信平台,获取令牌序列号和动态口令;
(2)用户利用步骤(1)中获取到的令牌序列号和动态口令,在第三方系统上完成令牌和用户之间的绑定、令牌和商户之间的绑定;
(3)在绑定关系建立成功之后,用户通过自己的微信客户端关注动码云服务器的微信平台,获取对应的动态口令,并通过第三方系统调用动码云服务器完成认证,实现对第三方系统上的交易进行保护。
5.根据权利要求4所述的一种基于微信的动态口令认证方法,其特征在于,所述步骤(1)在具体实施时,用户通过自己的微信客户端关注动码云服务器的微信平台,向动码云服务器发送获取动态口令请求,动码云服务器在获取到该请求后,提取对应的令牌序列号和动态口令,并通过微信平台发送至用户的微信客户端。
6.根据权利要求4所述的一种基于微信的动态口令认证方法,其特征在于,所述步骤(2)通过如下步骤完成绑定操作:
(21)第三方系统根据动码云服务器提供的openAPI接入动码云服务器;
(22)用户利用步骤(1)中获取到的令牌序列号和动态口令,在第三方系统上完成令牌和用户之间的绑定;
(23)第三方系统根据用户提供的令牌序列号和动态口令,请求动码云服务器建立令牌和商户之间的绑定。
7.根据权利要求4所述的一种基于微信的动态口令认证方法,其特征在于,所述步骤(2)中还包括取消用户和令牌的绑定关系和/或令牌和商户绑定的操作。
一种基于微信的动态口令认证系统及认证方法\n技术领域\n[0001] 本发明涉及信息安全领域,具体设计动态口令的认证技术。\n背景技术\n[0002] OTP全称叫One-time Password,也称动态口令,是根据专门的算法生成一个与时间相关的、不可预测的随机数字组合,每个口令只能使用一次。\n[0003] OTP产生的因素包括种子,时间,算法;保障OTP安全的唯一要素就是保障种子数据的安全性(算法公开)。\n[0004] 现有在线动态口令认证方案在应用时,口令认证方(即服务方,如在线游戏、在线支付系统等),都需要设置自己独立的口令认证系统,同时需要用户使用自己的动态口令令牌(如手机令牌、客户端等)。这样用户在进行动态口令认证时,就需要安装各种不同的在线令牌应用,而且每次使用都需要调用不同的在线令牌应用,非常的繁琐,不同令牌应用之间的频繁切换使用,容易造成用户信息泄漏,影响用户的信息安全性。\n发明内容\n[0005] 针对现有动态口令认证方案所存在的应用繁琐和安全性不高的问题,本发明的目的在于提供一种基于微信动态口令认证的系统,该系统能够在服务方(如在线游戏、在线支付系统等)中没有独立的动态口令认证系统以及用户无需使用专用客户端的情况下,在用户和第三方系统之间完成动态口令的认证。\n[0006] 在此基础上,本发明还提供基于上述系统进行动态口令认证方法。\n[0007] 为了达到上述目的,本发明采用如下的技术方案:\n[0008] 一种基于微信的动态口令认证系统,所述系统包括:动码云服务器以及微信平台;\n所述动码云服务器与微信平台数据相接,并通过微信通道与用户的微信客户端数据通信,向用户提供认证所需的动态口令,并向第三方系统提供动态口令认证服务。\n[0009] 在该系统的优选方案中,所述动码云服务器提供第三方系统接入openAPI;\n[0010] 所述动码云服务器提供获取动态口令服务,动码云服务器通过微信平台接受到微信客户端请求获取动态口令,并根据请求下发对应的令牌序列号和动态口令,返回微信客户端;\n[0011] 所述动码云服务器提供绑定服务,动码云服务器接受第三方系统绑定请求,并建立令牌序列号和第三方系统的绑定关系;\n[0012] 所述动码云服务器提供认证服务,动码云服务器根据第三方系统上报的令牌序列号、动态口令进行动态口令认证,进行交易保护。\n[0013] 基于上述动态口令认证系统实施的动态口令认证方法,该方法首先由提供统一认证服务的动码云服务器通过微信通道向用户微信客户提供认证所需的动态口令,再由第三方系统调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证。\n[0014] 在该认证方法的优选方案中,所述方法在动态口令认证前,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于绑定的动态口令和令牌信息,并由此建立用户与令牌,第三方系统与令牌的绑定关系;接着,基于建立的绑定关系,由提供统一认证服务的动码云服务器通过微信通道向用户微信客户端发送用于认证的动态口令,最后,第三方系统调用动码云服务器提供的动态口令认证服务对用户提供的动态口令进行认证。\n[0015] 进一步的,所述认证方法具体包括如下步骤:\n[0016] (1)用户通过自己的微信客户端关注动码云服务器的微信平台,获取令牌序列号和动态口令;\n[0017] (2)用户利用步骤(1)中获取到的令牌序列号和动态口令,在第三方系统上完成令牌和用户之间的绑定、令牌和商户之间的绑定;\n[0018] (3)在绑定关系建立成功之后,用户通过自己的微信客户端关注动码云服务器的微信平台,获取对应的动态口令,并通过第三方系统调用动码云服务器完成认证,实现对第三方系统上的交易进行保护。\n[0019] 进一步的,所述步骤(1)在具体实施时,用户通过自己的微信客户端关注动码云服务器的微信平台,向动码云服务器发送获取动态口令请求,动码云服务器在获取到该请求后,提取对应的令牌序列号和动态口令,并通过微信平台发送至用户的微信客户端。\n[0020] 进一步的,所述步骤(2)通过如下步骤完成绑定操作:\n[0021] (21)第三方系统根据动码云服务器提供的openAPI接入动码云服务器;\n[0022] (22)用户利用步骤(1)中获取到的令牌序列号和动态口令,在第三方系统上完成令牌和用户之间的绑定;\n[0023] (23)第三方系统根据用户提供的令牌序列号和动态口令,请求动码云服务器建立令牌和商户之间的绑定。\n[0024] 进一步的,所述步骤(2)中还包括取消用户和令牌的绑定关系和/或令牌和商户绑定的操作。\n[0025] 本发明提供的方案能够在用户不安装专门的动态口令应用,服务方不设置专用的动态口令认证系统的情况下,实现用户与服务方之间的动态口令认证,对交易进行保护。该方案对动态口令的认证进行集中化、集成化管理,大大简化现有动态口令认证的实现方案,提供动态口令认证操作的便捷性,以及安全性。\n[0026] 本方案在具体应用时,由于其基于微信通道传输信息,其普及性广、易用性好且关注度强,便于方案的推广,应用前景广。再者,用户和服务方都无需任何的客户端,可操作性强。\n附图说明\n[0027] 以下结合附图和具体实施方式来进一步说明本发明。\n[0028] 图1为本发明实施的流程示意图。\n具体实施方式\n[0029] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。\n[0030] 参见图1,本发明提供的基于微信的动态口令认证系统主要由动码云服务器101、第三方系统(如OA\ERP系统等)102以及用户的微信客户端103配合组成。\n[0031] 其中,动码云服务器101用于实现动态口令认证的集中化、集成化管理,对用户提供其认证所需的动态口令,同时针对所有第三方系统提供统一的动态口令认证服务。其内存储有若干的在线动态令牌相关信息,如令牌的序列号、令牌种子等等。\n[0032] 据此,该动码云服务器101还具有如下模块:\n[0033] 接入模块:动码云服务器101通过该模块,提供第三方系统(如OA\ERP系统等)接入OpenAPI(绑定、认证、解绑、获取动态口令等)。\n[0034] 动态令牌分配模块:动码云服务器101通过该模块,可根据用户的请求,分配令牌序列号,并根据OTP技术,计算该令牌序列号对应令牌的动态口令,并返回给用户。\n[0035] 商户-令牌绑定模块:动码云服务器101通过该模块,根据第三方系统(如OA\ERP系统等)请求绑定时,提供的商户序列号、令牌序列号、动态口令建立令牌和商户(即第三方系统)之间的绑定关系。\n[0036] 动态口令认证模块:动码云服务器101通过该模块,根据第三方系统(如OA\ERP系统等)的认证请求(商户序列号+令牌序列号+动态口令),进行动态口令认证,进而进行交易保护。\n[0037] 在具体实现时,为了便于动码云服务器101与用户之间的信息传输(如动态口令获取请求、动态口令传输等),动码云服务器101通过设立对应的微信平台(图中未示出),由该微信平台通过微信通道与用户的微信客户端进行信息的传输。\n[0038] 由此,用户通过登录自己的微信客户端,微信客户端提供的关注功能,对动码云服务器101的微信平台进行关注,动码云服务器101的微信平台通过微信通道获知,某个微信客户端关注后,与其建立相应的通信链接。\n[0039] 第三方系统(如OA\ERP系统等)102,用于向用户提供服务,并对用户的身份进行认证,对两者之间的交易进行保护。\n[0040] 为此,该第三方系统(如OA\ERP系统等)102将具有如下功能模块:\n[0041] 接入模块:第三方系统(如OA\ERP系统等)102通过该模块根据动码云服务器101提供的OpenAPI成功接入动码云服务器101。\n[0042] 用户-令牌绑定模块:第三方系统(如OA\ERP系统等)102通过该模块,使得用户可以在第三方系统(OA\ERP系统等)上建立用户和令牌之间的绑定关系;\n[0043] 商户-令牌绑定请求模块:第三方系统(OA\ERP系统等)通过该模块,根据用户建立用户和令牌绑定关系时,所上报的令牌序列号、动态口令、商户序列号请求动码云服务器进行令牌和商户建立绑定关系;\n[0044] 用户-令牌绑定解除模块:第三方系统(OA\ERP系统等)通过该模块,提供解除用户和令牌之间的绑定关系;\n[0045] 商户-令牌绑定接触模块:第三方系统(OA\ERP系统等)通过该模块,请求动码云服务器解除令牌和商户之间的绑定关系,便于令牌的回收再利用。\n[0046] 微信客户端103,为用户平时安装使用的微信客户端,用户通过自己的微信客户端来关注动码云服务器101的微信平台,以便在两者之间连接基于微信通道的通信链接,并进行信息的传输。\n[0047] 据此,用户登录自己的微信客户端,并对动码云服务器101的微信平台进行关注,根据需要向动码云服务器101的微信平台发送绑定请求;同时,用户通过微信客户端获取动码云服务器101反馈的令牌序列号和动态口令。\n[0048] 用户认证需要,通过微信客户端向动码云服务器101的微信平台发送获取动态口令请求,同时,用户通过微信客户端获取动码云服务器101反馈的用于身份认证的动态口令。\n[0049] 用户在通过微信客户端获取相应的信息后,将可根据获取到的信息在第三方系统(OA\ERP系统等)上进行绑定和动态口令认证操作。具体如下:\n[0050] 用户根据获取到的令牌序列号和动态口令,在第三方系统(OA\ERP系统等)上进行令牌和用户绑定操作;\n[0051] 用户在第三方系统(OA\ERP系统等)上根据进行令牌和用户绑定时,所上报的令牌序列号和动态口令,进行令牌和商户绑定操作;\n[0052] 在绑定关系成功建立之后,用户可以在第三方系统(OA\ERP系统等)上,根据微信通道获取的动态口令进行交易保护。\n[0053] 用户亦可以取消对动联官方微信的关注,取消令牌和用户的绑定关系,这样可以对令牌进行回收,资源的回收利用。\n[0054] 以下通过一实例来具体说明一下,利用上述方案形成的基于微信的动态口令认证系统进行动态口令认证的过程。\n[0055] 如,用户需要登录自己的银行帐号进行交易,在进行交易时,需要用户输入相应的动态密码进行身份认证。\n[0056] 在利用上述的基于微信动态口令认证的系统进行动态口令认证时,需要在动态口令认证前完成用户与令牌和商户与令牌的绑定,具体如下:\n[0057] 作为服务方,其系统将通过动码云服务器提供的OpenAPI,接入到动码云服务器,由此成为动码云服务器的签约商户。例如,网上银行的APP应用通过OpenAPI接入到动码云服务器,并成为动码云服务器的签约商户。\n[0058] 用户第一次使用时,需要向动码云服务器提出动态令牌申请,并实现用户与令牌之间的绑定。由此,用户可通过自己的移动终端登录自己微信客户端,并关注关注动码云服务器额微信平台,在两者之间建立基于微信通道的通信链接。用户通过自己的微信客户端向动码云服务器的微信平台发送动态令牌申请请求。\n[0059] 微信平台在接受到该信息后,将发送令牌申请请求的微信账号连通该请求一同发送至动码云服务器,动码云服务器根据用户的请求,分配令牌序列号,并根据OTP技术,利用该令牌序列号对应的动态令牌计算对应的动态口令,该动态口令用于实现用户与令牌的绑定,并将分配的令牌序列号以及计算得到的动态口令由微信平台,通过微信通道发送至用户关注微信平台的客户端上。同时,动码云服务器对用户的微信账号和分配的令牌、令牌的序列号进行对应存储。\n[0060] 用户通过微信终端获取到令牌序列号和动态口令后,即可在网上银行的APP应用中(即上述的第三方系统)进行令牌与用户的绑定操作。具体如下\n[0061] 用户通过自己的网上银行账号登录到网上银行APP中,接着通过其上提供的用户绑定功能,上报用户通过微信客户端接受到的令牌序列号和动态口令,并由此完成用户与令牌的绑定操作,在网上银行APP中建立用户与令牌的绑定关系。具体如何其来确定两者之间的对应关系,可通过相应信息认证来确定。\n[0062] 用户在网上银行的APP应用中完成用户与令牌之间的绑定后,即可完成用户APP引用与令牌之间的绑定,具体操作如下:\n[0063] 用户在登录网上银行APP后,操作商户绑定功能,网上银行APP将根据用户上报的令牌序列号、动态口令连通自己的商户序列号生成令牌-商户绑定请求,并发送至动码云服务器。\n[0064] 动码云服务器接受并解析该请求,获取其中的令牌序列号、动态口令以及商户序列号,并利用该令牌序列号查找对应的令牌,再利用该令牌计算得到对应的动态口令,再将计算得到的动态口令与解析请求获得动态口令进行对比,若相同,则确定商户与令牌的绑定,将解析请求获得商户序列号与令牌序列号对应的令牌形成对应关系,实现绑定;从而也与动码云服务器中存储的用户微信账号形成对应关系,动码云服务器将确定用户与令牌的绑定关系,不再将该令牌进行分配;并将确定绑定的结果返回给APP。若不相同,则无法形成绑定,并将结果返回给APP。\n[0065] 在完成用户和令牌,商户与令牌的绑定后,即可进行动态口令的认证,对用户与商户之间的交易进行保护。\n[0066] 此时用户若需要进行汇款,用户在登录网上银行APP完成汇款前的操作后,在最后一步时,网上银行APP要求用户输入相应的动态口令。\n[0067] 用户则登录自己的微信客户端,并通过关注的动码云服务器微信平台,向动码云服务器请求动态口令。动码云服务器根据请求中微信客户端的账号,查找绑定的令牌(具体是查找是否有对应的令牌序列号),若有,则调用该令牌,根据OTP技术计算得到对应的动态口令,并由微信平台通过微信通道发送至用户的微信客户端;若没有,则返回错误。\n[0068] 用户通过微信客户端获得动态口令后,将输入至网上银行APP。网上银行APP接受到该动态口令,将连同自己的商户序列号形成认证请求,并发送至动码云服务器。\n[0069] 动码云服务器在接受到网上银行APP发送的认证请求后,对其进行解析获得待认证的动态口令和商户序列号,并根据该商户序列号,查找该商户绑定的令牌(具体由商户序列号查找是否有对应的令牌序列号,再由令牌序列号调取对应的令牌),若有,则调用该令牌,根据OTP技术计算得到对应的动态口令,并将计算得到的动态口令与解析得到的待认证动态口令进行对比认证,若相同,则认证通过;若不相同,则认证不通过。\n[0070] 若根据商户序列号,没有查找到对应的令牌,则认证不通过。\n[0071] 届时,动码云服务器将认证结果反馈给网上银行APP。\n[0072] 网上银行APP接收动码云服务器反馈的认证结果,若认证通过,则完成汇款操作;\n若认证不通过,结束本次操作,返回错误信息。\n[0073] 作为替代方案,在进行动态口令认证时,还可采用如下方案:\n[0074] 用户则登录自己的微信客户端,并通过关注的动码云服务器微信平台,向动码云服务器请求动态口令。动码云服务器根据请求中微信客户端的账号,查找绑定的令牌(具体是查找是否有对应的令牌序列号),若有,则调用该令牌,根据OTP技术计算得到对应的动态口令,将该动态口令连同令牌对应的令牌序列号一起由微信平台通过微信通道发送至用户的微信客户端;若没有,则返回错误。\n[0075] 用户通过微信客户端获得动态口令和令牌序列号后,将输入至网上银行APP。网上银行APP接受到该动态口令和令牌序列号,根据之前用户在网上银行APP上确定的用户和令牌绑定关系,判断此时操作的用户与之前确定绑定关系的用户是否相同,若不相同,则返回错误;若相同,则将连同自己的商户序列号形成认证请求,并发送至动码云服务器。\n[0076] 动码云服务器在接受到网上银行APP发送的认证请求后,对其进行解析获得待认证的动态口令、令牌序列号和商户序列号,并根据该令牌序列号和商户序列号,查找是否有对应的用户和令牌绑定信息(具体由商户序列号查找是否有对应的令牌序列号,再与解析结果进行对比),若有,则调用该令牌,根据OTP技术计算得到对应的动态口令,并将计算得到的动态口令与解析得到的待认证动态口令进行对比认证,若相同,则认证通过;若不相同,则认证不通过。\n[0077] 若根据商户序列号,没有查找到对应的令牌,则认证不通过。\n[0078] 届时,动码云服务器将认证结果反馈给网上银行APP。\n[0079] 网上银行APP接收动码云服务器反馈的认证结果,若认证通过,则完成汇款操作;\n若认证不通过,结束本次操作,返回错误信息。\n[0080] 上述认真过程中的“令牌序列号”除了用于认证,提高安全性外,其用户保证动码云服务器与网上银行APP之间通信的准确性。\n[0081] 在完成相应的操作或不使用后,用户可在网上银行APP解除用户和令牌之间的绑定关系;并通过网上银行APP请求动码云服务器解除令牌和商户之间的绑定关系,便于令牌的回收再利用。或者,直接通过用户取消对动码云服务器微信平台的关注,由动码云服务器自动取消令牌和用户的绑定关系。\n[0082] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
法律信息
- 2018-12-28
- 2015-05-27
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201410854401.3
申请日: 2014.12.31
- 2015-04-29
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2014-07-23
|
2014-04-24
| | |
2
| |
2007-10-24
|
2006-04-18
| | |
3
| |
2013-02-20
|
2012-10-25
| | |
4
| |
2003-08-13
|
2002-01-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |