发布信息

信息认证方法、装置及计算机可读存储介质与流程

作者:admin      2022-09-30 22:45:48     728



计算;推算;计数设备的制造及其应用技术1.本发明涉及信息安全领域,具体涉及一种信息认证方法、装置及计算机可读存储介质。背景技术:2.随着网络技术的发展,网络业务趋向于多元化发展,为了提高网络业务的安全性,需要对每个网络业务平台实施用户身份信息登记。为了简化不同网络业务平台之间的用户身份信息管理,通常将各网络业务平台的应用程序绑定在一个开发平台上,并引入一种共用标识机制,实现以同一用户身份信息在不同网络业务平台进行登录,如联合身份标识(union identity,unionid)。开发平台拥有多个移动应用、网站应用、公众帐号(包括小程序),可通过unionid来区分用户的唯一性,从而实现将用户的联合身份标识应用于同一个开发平台下的不同应用。3.在对现有技术的研究和实践过程中,本发明的发明人发现,现有技术中在简化不同网络业务平台之间的用户身份信息管理时,需要将不同网络业务平台的应用程序绑定在同一开发平台下,并将unionid应用于不同应用程序,才可实现同一unionid登录不同的应用程序,当不同的应用程序不方便绑定在同一开发平台下时,无法通过unionid登录认证不同应用程序,降低了可用性,以及降低信息认证的效率。技术实现要素:4.本技术实施例提供一种信息认证方法、装置及计算机可读存储介质,可以解决,需要将不同网络业务平台的应用程序绑定在同一开发平台下,并将unionid应用于不同应用程序,才可实现unionid登录不同的应用程序的问题。5.本技术实施例提供一种信息认证方法,包括:6.接收第一业务程序发送的用户信息的验证请求,所述用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,所述用户信息包含第一签名信息和用户标识;7.获取所述第二业务程序的目标标签信息;8.根据所述目标标签信息及用户标识生成第二签名信息;9.当检测到所述第一签名信息和第二签名信息匹配时,将所述认证通过指令返回至所述第一业务程序,使得所述第一业务程序根据所述认证通过指令和所述用户信息进行登录。10.相应的,本技术实施例还提供一种信息认证装置,包括:11.接收单元,用于接收第一业务程序发送的用户信息的验证请求,所述用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,所述用户信息包含第一签名信息和用户标识;12.获取单元,用于获取所述第二业务程序的目标标签信息;13.生成单元,用于根据所述目标标签信息及用户标识生成第二签名信息;14.返回单元,当检测到所述第一签名信息和第二签名信息匹配时,将所述认证通过指令返回至所述第一业务程序,使得所述第一业务程序根据所述认证通过指令和所述用户信息进行登录。15.在一些实施例中,所述生成单元包括:16.读取子单元,用于读取预置的密钥列表,所述预置的密钥列表包含各标签信息与密钥的对应关系;17.查找子单元,用于基于所述预置的密钥列表包含各标签信息与密钥的对应关系,查找所述目标标签信息对应的目标密钥;18.生成子单元,用于根据所述目标密钥、用户标识及目标标签信息生成所述第二签名信息。19.在一些实施例中,所述装置还包括:20.提取单元,用于提取所述第一签名信息对应的第一数字指纹,及提取所述第二签名信息对应的第二数字指纹;21.对比单元,用于将所述第一数字指纹与所述第二数字指纹进行对比;22.确定单元,用于若所述第一数字指纹与所述第二数字指纹相等,则确定所述第一签名信息和第二签名信息匹配。23.在一些实施例中,所述获取单元,还具体用于:24.将所述第一签名信息进行解密,得到解密后的用户标识、标签信息;25.将所述用户标识与所述解密后的用户标识进行对比;26.若所述用户标识与所述解密后的用户标识相同,则获取所述标签信息作为所述第二业务程序的目标标签信息。27.在一些实施例中,所述获取单元,还具体用于:28.发送所述第一签名信息的源端口地址获取请求至所述第一业务程序,使得所述第一业务程序向所述第二业务程序获取源端口地址信息;29.接收来自所述第一业务程序发送的所述源端口地址信息;30.根据所述源端口地址信息查找预置的标签信息列表,以获取所述源端口地址信息对应的所述第二业务程序的目标标签信息。31.在一些实施例中,所述装置还包括:32.检测单元,用于在检测到所述第一业务程序的页面加载请求后,检测第一业务程序与所述第二业务程序之间的注册主体关系;33.发送单元,用于在检测到所述第一业务程序与所述第二业务程序属于不同的注册主体时,发送所述用户信息的获取请求至所述第一业务程序。34.在一些实施例中,所述检测单元,包括:35.获取子单元,用于获取用户在所述第一业务程序的第一联合身份标识,及获取用户在所述第二业务程序的第二联合身份标识;36.对比子单元,用于将所述第一联合身份标识与所述第二联合身份标识对比;37.检测子单元,用于若所述第一联合身份标识与所述第二联合身份标识不同,则检测到所述第二业务程序与所述第一业务程序属于不同的注册主体。38.在一些实施例中,所述检测单元,还具体用于:39.将程序绑定信息的获取请求发送至所述第二业务程序对应的服务器,使得所述第二业务程序对应的服务器响应所述程序绑定信息的获取请求,并返回程序绑定信息;40.解析所述程序绑定信息,得到程序端口信息列表,所述程序端口信息列表包含至少一个程序端口信息;41.根据所述第一业务程序的程序端口信息查找所述程序端口信息列表;42.若无法查找到与所述第一业务程序的程序端口信息匹配的目标程序端口信息,则检测到所述第一业务程序与所述第二业务程序属于不同的注册主体。43.相应的,本技术还提供一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本技术实施例提供的任一种信息认证方法中的步骤。44.相应的,本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本技术实施例提供的任一种信息认证方法中的步骤。45.此外,本技术实施例还提供一种计算机程序,所述计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例所提供的任一种信息认证方法中的步骤。46.本技术实施例可以接收第一业务程序发送的用户信息的验证请求,该用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;获取第二业务程序的目标标签信息;根据目标标签信息及用户标识生成第二签名信息;当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。该方案在接收到第一业务程序发送的用户信息的验证请求后,根据第二业务程序生成的用户标识及目标标签信息生成第二签名信息,并根据第二签名信息验证第二业务程序的第一签名信息,以实现对用户信息的认证。以此,打通不同网络业务平台之间的联系,通过第二业务程序的用户标识快速登录第一业务程序,实现了同一用户标识登录不同的应用程序,极大的提升了信息认证的效率和安全。附图说明47.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。48.图1是本技术实施例提供的信息认证系统的场景示意图;49.图2是本技术实施例提供的信息认证方法的步骤流程示意图;50.图3为本技术实施例提供的信息认证方法的时序流程示意图;51.图4是本技术实施例提供的信息认证装置的结构示意图;52.图5是本技术实施例提供的计算机设备的结构示意图。具体实施方式53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。54.本技术实施例提供一种信息认证方法、装置及计算机可读存储介质。具体地,本技术实施例的信息认证方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备,该终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、计算机、工业计算机等具有信息认证能力的设备。其中,终端可以为一个或多个具有数据运行能力的计算机等,服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。55.云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。56.例如,参见图1,图1为本技术实施例提供的信息认证系统的场景示意图。在该场景中,包括终端和服务器,终端与服务器之间通信连接,该通信连接方式不限于包括无线网络连接和有线网络连接。57.具体的,该终端可以为手机、平板电脑、笔记本电脑、智能电视、穿戴式智能设备、个人计算机(pc,personal computer)、vr/ar设备、车载计算机等具有通信能力的终端设备。以上终端设备可安装一些应用或客户端,如安装微信、qq、浏览器等具有数据交互能力客户端,通过客户端实现与对应服务器中的服务端是实现数据交互。这些客户端上可包含一些程序组件,该程序组件可以理解为小程序或者h5页面,该小程序为一种无需下载和安装的简易应用,该h5(html 5)页为一种可交互的高级网页,即在客户端上开发的一些业务程序,此外,还可通过客户端上的功能程序挂接有一些业务内容链接,以使得用户通过客户端对业务程序的内容进行访问;需要说明的是,假若通过客户端上的功能程序挂接有一些业务内容链接,当用户通过客户端对一些业务内容进行访问时,由客户端上的功能程序加载对应的业务页面,实现从高功能程序上跳转至业务页面,以供用户对业务内容的访问、下载等。该终端可以实现以下步骤:在检测到第二业务程序发送的加载第一业务程序页面指令时,请求获取第二业务程序生成的用户信息;接收第二业务程序发送的用户信息,用户信息包括用户标识和第一签名信息;获取第二业务程序的目标标签信息;将用户信息的验证请求及目标标签信息发送至服务器,使得服务器根据用户标识和目标标签信息生成第二签名信息,及根据第二签名信息验证第一签名信息,在验证通过时,返回认证通过指令;响应于认证通过指令,根据用户信息进行登录第一业务程序。58.具体的,服务器可以是后端的单台服务器,也可以是由后端的多个服务器组成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。该服务器可以实现以下步骤:接收第一业务程序发送的用户信息的验证请求,用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;获取第二业务程序的目标标签信息;根据目标标签信息及用户标识生成第二签名信息;当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。59.以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。60.本技术实施例提供了一种信息认证方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行。61.本技术实施例以信息认证方法由服务器执行为例来进行说明。62.如图2所示,图2为本技术实施例提供的一种信息认证方法的步骤流程示意图,服务器上的处理器执行该信息认证方法对应的程序时,该信息认证方法的具体流程可以如下:63.步骤201:接收第一业务程序发送的用户信息的验证请求,用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识。64.在本实施例中,终端可安装一个或多个客户端,该客户端可以为应用(application,app),而该第一业务程序、第二业务程序可为在客户端上开发或设置的一种功能程序,如该业务程序可为小程序、插件、h5(html5)页或公众号等,用户可以通过打开以上任一功能程序实现业务访问等操作。65.进一步的,为了方便用户对业务内容的访问,通过可建立不同业务开发平台之间的业务程序之间的关联性,如该业务程序上预设置一个或多个其他业务程序的入口,如小程序内包含h5页的入口,及用户可通过小程序内的h5页入口实现对h5页内的业务内容进行访问等操作。以此,提高了用户对各业务内容访问的便利性。在本实施例中,该第二业务程序与第一业务程序属于不同的业务开发平台的程序,可将第二业务程序挂接在第一业务程序上,以建立第一业务程序与第二业务程序之间的关联性,以实现用户打开在第一业务程序时,通过打开的第一业务程序内的入口或功能组件可实现对第二业务程序的访问。66.由于不同的业务程序的业务开发平台可能不同,则不同业务程序之间用于登录的用户身份信息不具有共通性。本技术实施例为了简化用户身份信息的管理,可通过用户的同一用户标识作为在不同业务程序登录时的身份认证标识。在本技术实施例中,当用户通过第二业务程序内的接口或功能组件打开第一业务程序时,以第二业务程序生成的用户信息登录第一业务程序,以提高用户信息在不同的业务程序可用性,降低各业务开发平台对用户身份信息或用户身份标识的管理压力。67.在本技术实施例中,该用户信息为用户在打开客户端上的第二业务程序时,由该客户端或第二业务程序或对应的开发后台生成并存储的信息,用于用户访问第二业务程序时的身份信息认证。该用户信息包含第一签名信息和用户标识,该用户标识为第二业务程序对应的开发平台针对用户生成的认证信息,用于针对该用户在第二业务程序登录时的认证,即为了识别用户,当用户在首次打开或访问第二业务程序时,对应的开发平台会针对该第二业务程序生成对应的用户标识,例如该用户标识可以为用户身份证号、手机号、用户唯一标识(open identity,openid)等,此处不做限定。第一签名信息为根据用户标识、第二业务程序的标签信息及密钥通过加密算法进行运算得到对应的签名信息,该签名信息用于对用户标识对应的用户身份信息进行验证,例如,用户在打开第二业务程序时,通常通过该第一签名信息对用户标识进行认证。需要说明的是,在生成签名信息时,采用的算法可为信息摘要算法(message-digest algorithm 5,md5)、数据加密标准(data encryption standard,des)等,此处不做限定。68.在一些实施方式中,步骤201之前可包括:69.(1)在检测到第一业务程序的页面加载请求后,检测第一业务程序与第二业务程序之间的注册主体关系;70.(2)在检测到第一业务程序与第二业务程序属于不同的注册主体时,发送用户信息的获取请求至第一业务程序,使得第一业务程序向第二业务程序请求获取用户信息。71.具体的,该第一业务程序的页面加载请求可由第二业务程序发送至第一业务程序,由第一业务程序发送至服务器,也可以由第二业务程序发送该第一业务程序的页面加载请求至服务器,此处不做限定。72.该注册主体是指业务程序的管理后台,该注册主体可对业务程序所产生的数据处理以及对用户信息进行管理。一般情况下,不同的业务程序对应的注册主体可能不同,则用于登录不同业务程序的用户信息也不同。例如,“微信小程序”与“网易云小程序”本属于不同的开发平台下的业务程序,假若这两者不绑定在同一开发平台下时,两者的注册主体是不同。进一步的,当“网易云小程序”与“微信小程序”不绑定在微信开发平台下的同一用户账户下时,则“网易云小程序”与“微信小程序”在用于登录时的用户信息是不同的;当两者之间具有绑定在同一开发平台下,则可通过两者的联合身份标识(union identity,unionid)进行登录认证,也可通过本技术实施例的用户信息进行登录认证。73.在获取用户登录信息之前,为了确定第一业务程序与第二业务程序之间是否属于同一开发平台,本实施例通过检测不同业务程序之间的注册主体关系。如,当第一业务程序的服务器接收到第一业务程序的页面加载请求时,根据该加载请求获取对应的发送端口地址,根据该发送端口地址判断是否为第一业务程序直接发出的,若不由第一业务程序直接发出的页面加载请求时,则视为与第一业务程序具有关联关系的第二业务程序发出的页面加载请求,即检测到用户通过第二业务程序请求打开第一业务程序对应的页面请求,因此,需要检测第二业务程序与第一业务程序之间的注册主体关系。74.进一步的,“检测第一业务程序与第二业务程序之间的注册主体关系”包括以下步骤:75.(1.1)获取用户在第一业务程序的第一联合身份标识,及获取用户在第二业务程序的第二联合身份标识;76.(1.2)将第一联合身份标识与第二联合身份标识对比;77.(1.3)若第一联合身份标识与第二联合身份标识不同,则检测到第二业务程序与第一业务程序属于不同的注册主体。78.具体的,该联合身份标识为(union identity,unionid),当两个不同开发平台下的第一业务程序和第二业务程序绑定在其中一个开发平台,或相互绑定在对应的开发平台下时,可通过该联合身份标识作为第一业务程序和第二业务程序的共同登录信息,即可凭借该联合身份标识登录第一业务程序和第二业务程序。该联合身份标识用于登录不同的开发平台的业务程序的实现方式如下:在第一业务程序和第二业务程序绑定在同一开发平台时,开发平台给予用户针对第一业务程序的第一用户标识,以及给予用户针对第二业务程序的第二用户标识,该第一用户标识和第二用户标识具有对应的联合身份标识,通过该联合身份标识可登录第一业务程序和第二业务程序。79.关于该联合身份标识的获取方式可为:根据用户在第一业务程序的第一用户标识获取对应的第一联合身份标识,以及根据用户在第二业务程序的第二用户标识获取对应的第二联合身份标识。进一步的,通过确定第一联合身份标识和第二联合身份标识是否一致,从而可确定第一业务程序和第二业务程序是否属于相同的注册主体。80.此外,“检测第一业务程序与第二业务程序之间的注册主体关系”还可包括以下步骤:81.将程序绑定信息的获取请求发送至第二业务程序对应的服务器,使得第二业务程序对应的服务器响应程序绑定信息的获取请求,并返回程序绑定信息;82.解析程序绑定信息,得到程序端口信息列表,程序端口信息列表包含至少一个程序端口信息;83.根据第一业务程序的程序端口信息查找程序端口信息列表;84.若无法查找到与第一业务程序的程序端口信息匹配的目标程序端口信息,则检测到第一业务程序与第二业务程序属于不同的注册主体。85.在本实施方式中,第一业务程序的服务器与第二业务程序的服务器之间可建立通信连接,以实现两个服务器之间的数据交互。该程序绑定信息包含开发平台与各业务程序之间的绑定关系,可理解为相关的服务器与各业务程序的绑定关系,并存储于业务程序对应的服务器中。该程序端口信息可为业务程序的端口地址、接口地址等,该程序端口信息用于与业务程序与服务器或其他业务程序的访问接入及数据传输。86.为了确定业务程序之间的注册主体关系,本实施例中,当第二业务程序请求加载第一业务程序页面时,第一业务程序发送页面加载请求至所属的服务器,该服务器向第二业务程序的服务器获取存储的程序绑定信息,并从该程序绑定信息解析得到第二业务程序的服务器所绑定的全部程序端口信息,根据该全部程序端口信息可确定第一业务程序是否与第二业务程序的服务器之间具有绑定关系,从而确定第一业务程序与第二业务程序是否属于同一个注册主体。87.步骤202:获取第二业务程序的目标标签信息。88.该标签信息为业务程序的标签信息,该标签信息可为:业务程序名称、业务程序标识等,用于在业务程序与其他程序或任一服务器进行数据交互时识别信息来源,通过该标签信息也可识别对应的业务程序及该业务程序对应的服务器;例如,标签信息为“微信游戏小程序”时,则可确定对应的业务程序属于微信小程序,以及对应的服务器为腾讯平台服务器。需要说明的是,该标签信息可由各开发平台之间共同定义生成,也可以由开发平台的标志性标识(如腾讯、网易云、谷歌等)或自主定义生成,只要可以让其他开发平台识别业务程序的信息来源即可。89.在一些实施方式中,步骤202可具体包括以下步骤:90.(1)将第一签名信息进行解密,得到解密后的用户标识、标签信息;91.(2)将用户标识与解密后的用户标识进行对比;92.(3)若用户标识与解密后的用户标识相同,则获取标签信息作为第二业务程序的目标标签信息。93.在本实施方式中,该第一签名信息由第二业务程序或第二业务程序的服务器生产,具体可将用户标识、标签信息、密钥等进行加密运算生成,如加密算法可为数据加密标准(des),还可为其他可实现“加密/解密”功能的算法实现,此处不做限定。本实施方式在得到用户在第二业务程序的第一签名信息和用户标识后,通过对该第一签名信息进行解密,得到第一签名信息对应的解密后的用户标识、标签信息,并将接收到的用户标识与解密后的用户标识进行对比,以确定两者是否一致,在一致时,即可确定解密得到的标签信息为第二业务程序的标签信息,即所需获取的目标标签信息。通过本实施方式,可提高获取标签信息时的准确性,防止数据信息错误无法获取第二业务程序的目标标签信息,以及防止恶意伪造的标签信息冒充目标标签信息,具有可靠性。94.在一些实施方式中,步骤202可具体包括以下步骤:95.发送第一签名信息的源端口地址获取请求至第一业务程序,使得第一业务程序向第二业务程序获取源端口地址信息;96.接收来自第一业务程序发送的源端口地址信息;97.根据源端口地址信息查找预置的标签信息列表,以获取源端口地址信息对应的第二业务程序的目标标签信息。98.具体的,该预置的标签信息列表包含不同业务程序的源端口地址信息与标签信息的对应关系,该标签信息列表可由第一业务程序的开发平台在与第二业务程序的开发平台协定后生成;还可由第一业务程序的开发平台通过与第二业务程序进行数据交互,以获取第二业务程序的服务器所关联或绑定的业务程序的源端口地址信息及标签,从而生成该标签信息列表,存储于第一业务程序的服务器中。99.在本实施方式中,第一业务程序的服务器通过第一业务程序获取第一签名信息的源端口地址,即获取生成或发送该第一签名信息的源端口地址,如第一业务程序或第一业务程序的服务器对应的源端口地址,此处不做限定。进一步的,通过第二业务程序对应的源端口地址来查找预置的标签信息列表,以确定第二业务程序的目标标签信息,提高获取标签信息的准确性,以及有利于第一业务程序的服务器对第二业务程序的识别。100.步骤203:根据目标标签信息及用户标识生成第二签名信息。101.为了对用户信息进行校验,在本实施例中,第一业务程序的服务器在得到用户标识、第一签名信息及目标标签信息后,需要计算一遍签名信息,即“第二签名信息”,以用于后续的校验,提高安全性。102.在一些实施方式中,步骤203可具体包括以下步骤:103.(1)读取预置的密钥列表,预置的密钥列表包含各标签信息与密钥的对应关系;104.(2)基于预置的密钥列表包含各标签信息与密钥的对应关系,查找目标标签信息对应的目标密钥;105.(3)根据目标密钥、用户标识及目标标签信息生成第二签名信息。106.具体的,该密钥为加密字符,用于对生成签名信息时的加密。该密钥可由第一业务程序的开发平台及第二业务程序的开发平台共同制定,针对每一个业务程序或同一平台下所有的业务程序采用一个加密密钥。进一步的,通过制定的密钥与各标签信息建立密钥列表,该密钥列表包含每个密钥与一个或多个标签信息的映射关系。107.在本实施方式中,根据预置的密钥列表,查找目标标签信息对应的目标密钥,从而根据目标密钥、用户标识及目标标签信息生成第二签名信息。其中,第一业务程序的服务器在生成第二签名信息时,可通过信息摘要算法(message-digest algorithm 5,md5)计算生成第二签名信息。其中,该第二签名信息的表示如下:108.sign2=md5(`${key}${openid}${tag}`),其中,sign2表示通过md5算法计算得到的第二签名信息,key表示密钥,openid表示用户标识,tag表示目标标签信息。109.在一些实施方式中,步骤203,之后包括以下步骤:110.(4)提取第一签名信息对应的第一数字指纹,及提取第二签名信息对应的第二数字指纹;111.(5)将第一数字指纹与第二数字指纹进行对比;112.(6)若第一数字指纹与第二数字指纹相等,则确定第一签名信息和第二签名信息匹配。113.为了对接收的用户信息进行认证,本实施方式中,第一业务程序的服务器在计算得到第二签名信息后,需要根据第二签名信息对第一签名信息进行认证。114.具体的,第一业务程序的管理后台(或开发平台)与第二业务程序的管理后台通过协定加密时所采用的加密算法,以使得服务器采用相同的算法计算生成标签信息。因此,第一标签信息和第二标签信息所采用的加密算法是相同的,如采用信息摘要算法(message-digest algorithm 5,md5)。通过md5计算得到的值就是对任何一个文件的明文密码进行加密后的密码,又称“数字指纹”,当对文件或明文进行改动时,其md5值也就是对应的“数字指纹”都会发生变化。115.在本实施方式中,通过提取第一签名信息对应的第一数字指纹,及提取第二签名信息对应的第二数字指纹,通过将第一数字指纹及第二数字指纹进行对比,在第一数字指纹与第二数字指纹相等时,则认为第一签名信息与第二签名信息匹配,说明第二业务程序的用户信息在第一业务程序上进行登录认证时是合法的。通过以上实施方式,可防止用户标识被非法篡改,提高第一签名信息的可信度,以及加强验证第一签名信息时的力度,提高用户信息认证时的安全性。116.步骤204:当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。117.具体的,第一业务程序的服务器根据第二签名信息验证第一签名信息,当检测到第一签名信息和第二签名信息相同时,则认为第一签名信息与第二签名信息匹配,进而确认第一签名信息的认证通过,即用于在第二业务程序登录认证的用户信息在第一业务程序的服务器认证成功,表示用户在第二业务程序的用户信息可用于第一业务程序进行登录认证。进一步的,第一业务程序的服务器在对用户信息认证成功后,将认证通过指令返回至第一业务程序。第一业务程序在接收到来自服务器的认证通过指令后,响应于该认证通过指令,根据用户信息进行登录,并在登录完成后,允许第二业务程序加载第一业务程序页面,使得用户通过第一业务程序页面的业务内容进行访问。118.在一些实施方式中,步骤204之后可包括以下步骤;119.间隔单位时间,发送用户信息的获取请求至第一业务程序,使得第一业务程序发送当前用户信息至服务器;120.在接收来自第一业务程序发送的当前用户信息时,根据目标标签信息及当前用户信息对应的用户标识生成当前第二签名信息;121.当检测到第一签名信息与当前第二签名信息不匹配时,将认证失败指令返回至第一业务程序,使得第一业务程序停止加载第一业务程序页面。122.为了提高第一业务程序页面被访问过程中的安全性,本实施例通过定期验证用户信息。具体的,通过设定单位时间,如5分钟、10分钟、30分钟、1小时等,此处不做限定;间隔单位时间,服务器需要重新向第一业务程序获取用户信息,使得第一业务程序向第二业务程序请求当前的用户信息,并将当前用户信息发送至服务器;进而,服务器根据目标标签信息及当前用户标识生成当前用户信息对应的当前第二标签信息时,需要说明的是,由于已之前获得第二业务程序对应的目标标签信息,因此不需要重新获取第二业务程序的目标标签信息。在生成当前第二标签信息后,可根据当前第二签名信息对第一签名信息进行验证,还可根据之前的第二签名信息对当前第二签名信息进行验证;在验证不匹配时,说明当前用户信息来源非法,则发出指令至第一业务程序,使得第一业务程序拒绝向第二业务程序加载第一业务程序页面。通过以上实施方式,可提高用户信息认证的安全性。123.由上可知,本技术实施例可以接收第一业务程序发送的用户信息的验证请求,该用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;获取第二业务程序的目标标签信息;根据目标标签信息及用户标识生成第二签名信息;当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。该方案在接收到第一业务程序发送的用户信息的验证请求后,根据第二业务程序生成的用户标识及目标标签信息生成第二签名信息,并根据第二签名信息验证第二业务程序的第一签名信息,以实现对用户信息的认证;以此,打通不同网络业务平台之间的联系,通过第二业务程序的用户标识快速登录第一业务程序,实现了同一用户标识登录不同的应用程序,极大的提升了信息认证的效率和安全。124.本技术还以信息认证方法由终端和服务器共同执行的另一实施例来进行说明。125.本实施例包括终端和服务器,其中,该终端上安装有客户端、软件或应用,例如,该客户端可为微信应用,微信应用上开发或设置有微信小程序、公众号、插件等,微信小程序内可开发或设置有其他开发平台的小程序组件,该小程序组件用于转接至其他业务内容页面(如h5页)。服务器可以是后端的单台服务器,也可以是由后端的多个服务器组成的服务器集群或分布式系统。在本实施例中,以h5页作为第一业务程序,以微信小程序作为第二业务程序,则该服务器包括第一业务程序对应的第一服务器及第二业务程序对应的第二服务器。该第一业务程序与第一服务器通信连接,第二业务程序与第二服务器通信连接。126.具体的,参见图3,图3为本技术实施例提供的信息认证方法的时序流程示意图;该终端和服务器上的处理器执行该信息认证方法对应的程序时,该信息认证方法的具体步骤流程可以如下:127.301:终端在检测到客户端上第二业务程序请求加载第一业务程序页面时,请求第二服务器生成第一业务程序的页面加载请求。128.例如,当用户通过打开微信客户端上的微信小程序,并点击微信小程序内的h5页组件,则请求微信小程序后台(第二服务器)加载该h5页面。129.302:第二服务器生成第一业务程序的页面加载请求,并返回至第二业务程序。130.第二服务器在检测到该h5页与微信小程序之间属于挂接的关系,即该h5也不绑定在第二服务器上,则生成第一业务程序的页面加载请求,并返回至微信程序。131.303:第二业务程序将第一业务程序的页面加载请求发送至第一业务程序。132.微信小程序将该h5页的页面加载请求发到至h5页。133.304:第一业务将该页面加载请求发送至第一服务器。134.h5页在接收到页面加载请求后,将该页面加载请求发生至h5页对应的第一服务器(h5后台)。135.305:第一服务器在检测到第一业务程序的页面加载请求后,生成第二业务程序的用户信息获取请求,并返回第一业务程序。136.第一服务器在检测到h5的页面加载请求后,识别该第一业务程序的页面加载请求的源端口地址是否为第一业务程序,若识别到该页面加载请求不是第一业务程序直接请求的,即该页面加载请求是由第一业务程序转发的,则根据决策生成h5页的用户信息的获取请求,并将该请求返回至h5页。具体的,在检测到第一业务程序的页面加载请求后,检测第一业务程序与第二业务程序之间的注册主体关系;在检测到第一业务程序与第二业务程序属于不同的注册主体时,发送用户信息的获取请求至第一业务程序。137.306:第一业务程序将第二业务程序的用户信息获取请求发生至第二业务程序。138.h5页将接收到的用户信息获取请求发送至微信小程序。139.307:第二业务程序根据用户信息获取请求向第二服务器获取用户信息。140.微信小程序在接收到h5页发送的用户信息获取请求后,向第二服务器(微信小程序后台)请求该微信小程序的用户标识对应的用户信息,该用户信息包括用户标识和第一签名信息。141.具体的,使得第二服务器根据目标标签信息、用户标识及密钥生成第一签名信息,如以目标标签信息作为明文,通过密钥进行加密运算,得到第一签名信息。进一步的,可基于信息摘要算法(message-digest algorithm 5,md5),根据目标标签信息、用户标识及密钥生成第一签名信息;该第一签名信息可表示为sign1=md5(`${key}${openid}${tag}`),其中,sign1表示通过md5算法计算得到的第一签名信息,key表示密钥,openid表示用户标识,tag表示第二业务程序的目标标签信息。142.308:第二服务器将用户信息返回至第二业务程序。143.微信小程序接收第二服务器(微信小程序后台)发送的用户信息。144.309:第二业务程序在接收到用户信息后,将该用户信息发送至第一业务程序。145.微信小程序将该用户信息发送至h5页。146.310:第一业务程序在接收到来自第二业务程序的用户信息后,生成该用户信息的验证请求,并将该用户信息的验证请求发送至第一服务器。147.h5页基于接收到的用户信息,生成该用户信息的验证请求,并发送至第一服务器(h5后台)。148.311:第一服务器接收到来自第一业务程序的用户信息的验证请求后,获取第二业务程序的目标标签信息,根据目标标签信息、用户标识及密钥生成第二签名信息。149.第一服务器(h5后台)接收h5页发送的用户信息的验证请求,该用户信息包括用户标识和第一签名信息。并获取第二业务程序的目标标签信息。其中,获取目标标签信息的过程如下:发送第一签名信息的源端口地址获取请求至第一业务程序,使得第一业务程序向第二业务程序获取源端口地址信息;接收来自第一业务程序发送的源端口地址信息;根据源端口地址信息查找预置的标签信息列表,以获取源端口地址信息对应的第二业务程序的目标标签信息。150.该密钥为加密字符,用于对生成签名信息时的加密。该密钥可由第一业务程序的开发平台及第二业务程序的开发平台共同制定。151.具体的,第一服务器根据目标标签信息、用户标识及密钥生成第二签名信息,如以目标标签信息作为明文,通过密钥进行加密运算,得到第二签名信息。进一步的,可基于信息摘要算法(message-digest algorithm 5,md5),根据目标标签信息、用户标识及密钥生成第二签名信息;该第二签名信息可表示为sign2=md5(`${key}${openid}${tag}`),其中,sign2表示通过md5算法计算得到的第二签名信息,key表示密钥,openid表示用户标识,tag表示第二业务程序的目标标签信息。152.312:第一服务器根据第二签名信息验证第一签名信息。153.具体的,第一服务器提取第一签名信息对应的第一数字指纹,及提取第二签名信息对应的第二数字指纹;将第一数字指纹与第二数字指纹进行对比;若第一数字指纹与第二数字指纹相等,则确定第一签名信息和第二签名信息匹配。154.为了对接收的用户信息进行认证,需要提取md5加密计算后的“数字指纹”,即第一签名信息对应的第一数字指纹,及第二签名信息对应的第二数字指纹;通过将第一数字指纹及第二数字指纹进行对比,以实现对用户信息的认证。155.313:第一服务器检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序。156.具体的,第一服务器根据第二签名信息验证第一签名信息,当检测到第一签名信息和第二签名信息相同时,则认为第一签名信息与第二签名信息匹配,进而确认第一签名信息的认证通过,即用于在第二业务程序登录认证的用户信息在第一服务器认证成功,表示用户在第二业务程序的用户信息可用于第一业务程序进行登录认证。进一步的,第一服务器在对用户信息认证成功后,将认证通过指令返回至第一业务程序。157.314:第一业务程序根据认证通过指令和用户信息进行登录。158.第一业务程序在接收到来自第一服务器的认证通过指令后,响应于该认证通过指令,根据用户信息进行登录,并在登录完成后,允许第二业务程序加载第一业务程序页面,使得用户通过第一业务程序页面的业务内容进行访问。159.具体实施时,以上各个步骤流程可以作为独立实现,也可以进行任意组合,以上各个方法步骤流程的具体实施可参见前面的方法实施例,在此不再赘述。160.为便于更好地实施以上方法,本技术实施例还提供了一种信息认证装置,该信息认证装置可以具体可以集成在终端中。其中名词的含义与上述信息认证方法中相同,具体实现细节可以参考方法实施例中的说明。161.例如,如图4所示,该信息认证装置可以包括接收单元401、获取单元402、生成单元403以及返回单元404,如下:162.接收单元401,用于接收第一业务程序发送的用户信息的验证请求,用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;163.获取单元402,用于获取第二业务程序的目标标签信息;164.生成单元403,用于根据目标标签信息及用户标识生成第二签名信息;165.返回单元404,当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。166.在一些实施例中,生成单元403,包括:167.读取子单元,用于读取预置的密钥列表,预置的密钥列表包含各标签信息与密钥的对应关系;168.查找子单元,用于基于预置的密钥列表包含各标签信息与密钥的对应关系,查找目标标签信息对应的目标密钥;169.生成子单元,用于根据目标密钥、用户标识及目标标签信息生成第二签名信息。170.在一些实施例中,装置还包括:171.提取单元,用于提取第一签名信息对应的第一数字指纹,及提取第二签名信息对应的第二数字指纹;172.对比单元,用于将第一数字指纹与第二数字指纹进行对比;173.确定单元,用于若第一数字指纹与第二数字指纹相等,则确定第一签名信息和第二签名信息匹配。174.在一些实施例中,获取单元402,还具体用于:175.将第一签名信息进行解密,得到解密后的用户标识、标签信息;176.将用户标识与解密后的用户标识进行对比;177.若用户标识与解密后的用户标识相同,则获取标签信息作为第二业务程序的目标标签信息。178.在一些实施例中,获取单元402,还具体用于:179.发送第一签名信息的源端口地址获取请求至第一业务程序,使得第一业务程序向第二业务程序获取源端口地址信息;180.接收来自第一业务程序发送的源端口地址信息;181.根据源端口地址信息查找预置的标签信息列表,以获取源端口地址信息对应的第二业务程序的目标标签信息。182.在一些实施例中,装置还包括:183.检测单元,用于在检测到第一业务程序的页面加载请求后,检测第一业务程序与第二业务程序之间的注册主体关系;184.发送单元,用于在检测到第一业务程序与第二业务程序属于不同的注册主体时,发送用户信息的获取请求至第一业务程序。185.进一步的,该检测单元,包括:186.获取子单元,用于获取用户在第一业务程序的第一联合身份标识,及获取用户在第二业务程序的第二联合身份标识;187.对比子单元,用于将第一联合身份标识与第二联合身份标识对比;188.检测子单元,用于若第一联合身份标识与第二联合身份标识不同,则检测到第二业务程序与第一业务程序属于不同的注册主体。189.进一步的,该检测单元,还具体用于:190.将程序绑定信息的获取请求发送至第二业务程序对应的服务器,使得第二业务程序对应的服务器响应程序绑定信息的获取请求,并返回程序绑定信息;191.解析程序绑定信息,得到程序端口信息列表,程序端口信息列表包含至少一个程序端口信息;192.根据第一业务程序的程序端口信息查找程序端口信息列表;193.若无法查找到与第一业务程序的程序端口信息匹配的目标程序端口信息,则检测到第一业务程序与第二业务程序属于不同的注册主体。194.在一些实施例中,该装置还包括认证单元,该认证单元具体用于:195.间隔单位时间,发送用户信息的获取请求至第一业务程序,使得第一业务程序发送当前用户信息至服务器;196.在接收来自第一业务程序发送的当前用户信息时,根据目标标签信息及当前用户信息对应的用户标识生成当前第二签名信息;197.当检测到第一签名信息与当前第二签名信息不匹配时,将认证失败指令返回至第一业务程序,使得第一业务程序停止加载第一业务程序页面。198.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。199.由上可知,本技术实施例的信息认证装置可以通过接收单元401接收第一业务程序发送的用户信息的验证请求,该用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;通过获取单元402获取第二业务程序的目标标签信息;生成单元403用于根据目标标签信息及用户标识生成第二签名信息;返回单元404用于当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。该方案在接收到第一业务程序发送的用户信息的验证请求后,根据第二业务程序生成的用户标识及目标标签信息生成第二签名信息,并根据第二签名信息验证第二业务程序的第一签名信息,以实现对用户信息的认证;以此,打通不同网络业务平台之间的联系,通过第二业务程序的用户标识快速登录第一业务程序,实现了同一用户标识登录不同的应用程序,极大的提升了信息认证的效率和安全。200.以上各个单元的具体实施可参见前面的实施例,在此不再赘述。201.本技术实施例还提供一种计算机设备,如图5所示,其示出了本技术实施例所涉及的计算机设备的结构示意图,具体来讲:202.该计算机设备可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:203.处理器501是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。204.存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及信息认证。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、影像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。205.计算机设备还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。206.该计算机设备还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。207.尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,可实现:接收第一业务程序发送的用户信息的验证请求,该用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;获取第二业务程序的目标标签信息;根据目标标签信息及用户标识生成第二签名信息;当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。208.以上各个操作具体可参见前面的实施例,在此不作赘述。209.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。210.为此,本技术实施例提供一种计算机可读存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种信息认证方法中的步骤。例如,该计算机程序可以执行如下步骤:211.接收第一业务程序发送的用户信息的验证请求,该用户信息为第二业务程序中存储并转发至第一业务程序的用户信息,用户信息包含第一签名信息和用户标识;获取第二业务程序的目标标签信息;根据目标标签信息及用户标识生成第二签名信息;当检测到第一签名信息和第二签名信息匹配时,将认证通过指令返回至第一业务程序,使得第一业务程序根据认证通过指令和用户信息进行登录。212.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。213.其中,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。214.由于该计算机可读存储介质中所存储的指令,可以执行本技术实施例所提供的任一种信息认证方法中的步骤,因此,可以实现本技术实施例所提供的任一种信息认证方法所能实现的有益效果,详见前面的实施例,在此不再赘述。215.以上对本技术实施例所提供的一种信息认证方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部