发明内容
本申请实施例提供一种信任登录方法及装置,用以解决现有的基于SSO进行信任认证的方式,无法满足集团内各应用系统之间不同的信任登录需求的问题。
本申请实施例提供的一种信任登录方法包括:
在确定用户需要从第一应用系统登录第二应用系统后,采用所述第一应用系统的私钥对信任登录请求参数进行签名;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号;
将签名后的所述信任登录请求参数发送给所述第二应用系统,以使所述第二应用系统采用所述第一应用系统的公钥对所述信任登录请求参数进行解签,并在对解签后的所述信任登录请求参数认证通过后,允许所述用户登录所述第二应用系统。
可选地,所述信任登录请求参数还包括所述用户的用户标识信息。
本申请另一实施例提供的一种信任登录方法包括:
接收第一应用系统发送的采用所述第一应用系统的私钥签名后的信任登录请求参数;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号;
采用所述第一应用系统的公钥对所述信任登录请求参数进行解签;
对解签后的所述信任登录请求参数进行认证,在认证通过后,允许所述用户登录所述第二应用系统。
可选地,对解签后的所述信任登录请求参数进行认证,包括:
根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号,若是,则确定认证通过。
可选地,所述信任登录请求参数还包括所述用户的用户标识信息;
对解签后的所述信任登录请求参数进行认证,包括:
根据存储的已注册用户的用户标识信息,和需要登录第二应用系统的所述用户的用户标识信息,判断需要登录第二应用系统的所述用户是否属于已注册用户,以及,根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号;
若确定需要登录第二应用系统的所述用户属于已注册用户,且所述第一应用系统发送的信任登录编号属于所述第二应用系统分配的信任登录编号,则确定认证通过。
本申请实施例提供的一种信任登录装置包括:
签名模块,用于在确定用户需要从第一应用系统登录第二应用系统后,采用所述第一应用系统的私钥对信任登录请求参数进行签名;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号;
发送模块,用于将签名后的所述信任登录请求参数发送给所述第二应用系统,以使所述第二应用系统采用所述第一应用系统的公钥对所述信任登录请求参数进行解签,并在对解签后的所述信任登录请求参数认证通过后,允许所述用户登录所述第二应用系统。
本申请实施例中,每个应用系统可以独立选择需要信任登录的应用系统,也可以独立选择允许对自己进行信任登录的应用系统,从而可以满足各应用系统之间不同的信任登录需求。同时,本申请实施例采用非对称加密方式进行信任登录请求的校验,可以提高信任登录的安全性。
具体实施方式
本申请实施例的基本思想是:第二应用系统为能够对自己进行信任登录的应用系统(其中包括第一应用系统)分配信任登录编号,第一应用系统生成公私钥对,将其中的公钥发送给需要信任登录的其它应用系统(其中包括第二应用系统),并在有用户需要从第一应用系统登录到第二应用系统时,采用其中的私钥对第二应用系统分配的信任登录编号等信任登录请求参数进行签名后发送给第二应用系统;第二应用系统则采用第一应用系统的公钥对该信任登录请求参数进行解签,并验证参数的真实性,在验证通过后,允许该用户对第二应用系统进行信任登录。
本申请实施例中,每个应用系统可以独立选择需要信任登录的应用系统,也可以独立选择允许对自己进行信任登录的应用系统,从而可以满足各应用系统之间不同的信任登录需求。同时,本申请实施例采用非对称加密方式进行信任登录请求的校验,可以提高信任登录的安全性。
下面结合说明书附图对本申请实施例作进一步详细描述。
如图1所示,为本申请实施例一提供的信任登录方法流程图,包括以下步骤:
S101:第一应用系统在确定用户需要从第一应用系统登录第二应用系统后,采用所述第一应用系统的私钥对信任登录请求参数进行签名;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号。
该步骤中,第一应用系统和第二应用系统可以为同一集团内部能够相互信任登录的应用系统。
在具体实施过程中,创建该第一应用系统后,可以生成该第一应用系统的公私钥对,并将其中的公钥发送给需要信任登录的其它应用系统,其中包括第二应用系统。第一应用系统在已登录的用户需要从第一应用系统登录到第二应用系统时,采用生成的私钥对包括第二应用系统分配给自己的信任登录编号parter_code在内的信任登录请求参数进行签名。
除parter_code外,第一应用系统签名发送的信任登录请求参数还可以包括有着登录需求的用户的用户标识信息。这里的用户标识信息为在该用户注册时保存的用户标识,比如用户名称,该用户标识对于整个集团内部各个应用系统是共享的,比如用户在第一应用系统注册后,第一应用系统和第二应用系统都会保存该用户的注册信息,其中包括用户标识。第一应用系统还可以向第二应用系统发送具体的加密算法信息,比如RSA(Rivest-Shamir-Adleman)算法,第二应用系统在获知该加密算法后,可以确定具体的解密方式,当前,该加密算法也可以是预先约定的。
这里,第一应用系统除了作为对其它应用系统有着信任登录需求的一方外,还可以作为允许其它应用系统对自己进行信任登录的一方,因此,在创建第一应用系统后,除生成属于该应用系统的公私钥对外,该应用系统也可以为能够对自己进行信任登录的应用系统分配parter_code,具体地,第一应用系统可以为不同的应用系统分配不同的parter_code,也可以为不同的应用系统分配相同的parter_code。
S102:第一应用系统将签名后的所述信任登录请求参数发送给所述第二应用系统,以使所述第二应用系统采用所述第一应用系统的公钥对所述信任登录请求参数进行解签,并在对解签后的所述信任登录请求参数认证通过后,允许所述用户登录所述第二应用系统。
该步骤中,第一应用系统将签名后的信任登录请求参数发送给第二应用系统;第二应用系统在接收到该信任登录请求参数后,采用所述第一应用系统发送的公钥对该信任登录请求参数进行解签,得到其中的信任登录请求参数,并对其进行认证,若认证通过,则允许用户登录第二应用系统。
基于同一发明构思,本申请实施例二提供了基于第二应用系统侧的信任登录方法,以下实施例二与实施例一内容重复之处,不再细述。
如图2所示,为本申请实施例二提供的信任登录方法流程图,包括以下步骤:
S201:第二应用系统接收第一应用系统发送的采用所述第一应用系统的私钥签名后的信任登录请求参数;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号。
在该步骤之前,第二应用系统为能够对自己进行信任登录的应用系统分配信任登录编号,其中,第二应用系统为不同的应用系统分配的信任登录编号可以相同,也可以不同。第二应用系统将为第一应用系统分配的信任登录编号发送给该第一应用系统,第一应用系统保存该信任登录编号,并在需要对第二应用系统进行信任登录时,将该信任登录编号签名后发送给第二应用系统。
S202:第二应用系统采用所述第一应用系统的公钥对所述信任登录请求参数进行解签。
该步骤之前,第一应用系统在生成公私钥对后,将其中的公钥发送给包括第二应用系统在内的需要进行信任登录的应用系统。第二应用系统保存该第一应用系统的公钥,在接收到第一应用系统发送的采用私钥签名后的信任登录请求参数后,采用保存的公钥进行解签。
S203:第二应用系统对解签后的所述信任登录请求参数进行认证,在认证通过后,允许所述用户登录所述第二应用系统。
该步骤中,根据信任登录请求参数的不同,具体认证的过程也不同。
若所述信任登录请求参数只包括所述第二应用系统分配给所述第一应用系统的信任登录编号,则对解签后的所述信任登录请求参数进行认证,包括:
根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号,若是,则确定认证通过。
若所述信任登录请求参数不仅包括所述第二应用系统分配给所述第一应用系统的信任登录编号,还包括所述用户的用户标识信息;则对解签后的所述信任登录请求参数进行认证,包括:
根据存储的已注册用户的用户标识信息,和需要登录第二应用系统的所述用户的用户标识信息,判断需要登录第二应用系统的所述用户是否属于已注册用户,以及,根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号;
若确定需要登录第二应用系统的所述用户属于已注册用户,且所述第一应用系统发送的信任登录编号属于所述第二应用系统分配的信任登录编号,则确定认证通过。
如图3所示,为本申请实施例中第一应用系统对第二应用系统进行信任登录的示意图。第一应用系统在用户需要从第一应用系统登录第二应用系统时,基于设定的加密算法RSA,采用生成的私钥对该用户的用户标识user_id、第二应用系统分配的信任登录编号(partner_code)进行封装签名后,作为信任登录请求参数发送至第二应用系统的入口(gateway)。第二应用系统采用第一应用系统的公钥,对签名后的信任登录请求参数进行解签,对解签后的用户标识进行会员认证,并判断partner_code是否为该第二应用系统分配的,在验证无误后,允许该用户登录第二应用系统。
下面,通过一个具体的实施例来进一步说明本申请进行信任登录扼方法流程。
如图4所示,为本申请实施例三提供的信任登录方法流程图,包括:
S401:第一应用系统生成公私钥对,并将其中的公钥发送给第二应用系统。
S402:第二应用系统将为第一应用系统分配的信任登录编号发送给第一应用系统。
S403:第一应用系统在用户需要从第一应用系统登录到第二应用系统时,采用生成的私钥对包括第二应用系统分配的信任登录编号和该用户的用户标识在内的信任登录请求参数进行签名,并将签名后的信任登录请求参数发送给第二应用系统。
S404:第二应用系统接收第一应用系统发送的信任登录请求参数,并采用第一应用系统的公钥对该信任登录请求参数进行解签,获取解签后的用户标识和信任登录编号。
S405:第二应用系统根据存储的已注册用户的用户标识信息,和需要登录第二应用系统的所述用户的用户标识信息,判断需要登录第二应用系统的所述用户是否属于已注册用户,以及,根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号;若确定需要登录第二应用系统的所述用户属于已注册用户,且所述第一应用系统发送的信任登录编号属于所述第二应用系统分配的信任登录编号,则确定认证通过,允许所述用户登录所述第二应用系统。
基于同一发明构思,本申请实施例中还提供了一种与信任登录方法对应的信任登录装置,由于该装置解决问题的原理与本申请实施例信任登录方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,为本申请实施例四提供的信任登录装置结构示意图,包括:
签名模块51,用于在确定用户需要从第一应用系统登录第二应用系统后,采用所述第一应用系统的私钥对信任登录请求参数进行签名;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号;
发送模块52,用于将签名模块51签名后的所述信任登录请求参数发送给所述第二应用系统,以使所述第二应用系统采用所述第一应用系统的公钥对所述信任登录请求参数进行解签,并在对解签后的所述信任登录请求参数认证通过后,允许所述用户登录所述第二应用系统。
可选地,所述信任登录请求参数还包括所述用户的用户标识信息。
如图6所示,为本申请实施例五提供的信任登录装置结构示意图,包括:
接收模块61,用于接收第一应用系统发送的采用所述第一应用系统的私钥签名后的信任登录请求参数;所述信任登录请求参数包括所述第二应用系统分配给所述第一应用系统的信任登录编号;
解签模块62,用于采用所述第一应用系统的公钥对所述信任登录请求参数进行解签;
认证模块63,用于对解签模块62解签后的所述信任登录请求参数进行认证,在认证通过后,允许所述用户登录所述第二应用系统。
可选地,所述认证模块63具体用于:根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号,若是,则确定认证通过。
可选地,所述信任登录请求参数还包括所述用户的用户标识信息;
所述认证模块63具体用于:根据存储的已注册用户的用户标识信息,和需要登录第二应用系统的所述用户的用户标识信息,判断需要登录第二应用系统的所述用户是否属于已注册用户,以及,根据存储的分配给能够信任登录所述第二应用系统的各个应用系统的信任登录编号,判断所述第一应用系统发送的信任登录编号是否属于所述第二应用系统分配的信任登录编号;若确定需要登录第二应用系统的所述用户属于已注册用户,且所述第一应用系统发送的信任登录编号属于所述第二应用系统分配的信任登录编号,则确定认证通过。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。