认证方法和认证系统的制作方法
【技术领域】
[0001]本申请涉及计算机网络技术领域,具体涉及计算机网络认证技术领域,尤其涉及认证方法和认证系统。
【背景技术】
[0002]在公有云服务中,客户(如网站主)需要在网页或应用中向用户(如网民)提供保存于云端的资源(如音视频)的直接访问,以避免数据经过客户的服务器中转带来无谓的网络传输。而云端存储对外提供的应用程序编程接口,为保证安全性,是通过公私钥对请求进行签名实现的,网页或应用访问时,需要配置使用公私钥。但网页或应用是分发到用户(网民)的,存在被恶意用户破译出客户的密钥,进而拿到客户身份进行破坏的风险。
[0003]现有技术中,可以通过两种方式避免在公有云服务中客户密钥被泄露:1、允许客户分发密钥的片段到网页或应用,云存储服务端为这类网页或应用访问需要的接口开放特殊认证机制,网页或应用在请求时仅需基于密钥的片段进行请求签名,即可对资源进行访问。2、使用临时密钥机制,即网页或应用先向客户的服务端请求获取一份短期有效的密钥,基于此短期密钥向云端服务进行资源访问。
[0004]然而,上述的两种技术,存在以下风险:1、基于密钥片段的授权机制,云端服务所开放的支持密钥片段签名的接口是固定的,在客户有新需求需要增加接口的临时访问时,需要云端服务器升级配置;同时在恶意用户获取到密钥片段后,这些开放的接口也就相当于对其完全开放了,仍然有客户数据会被破坏的问题。2、临时密钥机制由于网页或应用每次向客户端请求临时密钥时,客户端需要向云端的身份识别与访问管理系统IAM进行申请,客户业务上涨或客户业务逻辑不当(如反复申请临时密钥)时,IAM的自身压力过大,影响基础的认证服务。
【发明内容】
[0005]鉴于现有技术中的上述缺陷或不足,期望能够提供一种安全性好、云端服务及认证压力小的方案。为了实现上述一个或多个目的,本申请提供了认证方法和认证系统。
[0006]第一方面,本申请提供了一种用于认证系统的用户端的认证方法,所述认证系统包括:用户端、客户服务端和云端服务器,所述方法包括:向所述客户服务端发送第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;接收所述客户服务端响应于用户身份通过验证发送的响应所述分配请求信息的第一响应信息,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;向所述云端服务器发送基于所述第一响应信息生成的云端服务请求信息,所述云端服务请求信息携带所述用户密钥账号、所述会话策略信息和使用所述第一临时密钥生成的所述云端服务请求信息的签名;接收所述云端服务器发送的响应云端服务请求信息的第二响应信息,其中,所述第二响应信息通过以下步骤得到:所述云端服务器基于所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证,响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0007]第二方面,本申请提供了一种用于认证系统的客户服务端的生成第一响应信息的方法,所述认证系统包括:用户端、客户服务端和云端服务器,所述方法包括:接收所述用户端发送的第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;基于所述会话身份标识,对用户身份进行验证;响应于用户身份通过验证,生成响应所述分配请求信息的第一响应信息,其中,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;向所述用户端发送所述第一响应信息。
[0008]第三方面,本申请提供了一种用于认证系统的云端服务器的认证方法,所述认证系统包括:用户端、客户服务端和云端服务器,所述方法包括:接收所述用户端发送的用户密钥账号、会话策略信息和使用第一临时密钥签名的云端服务请求信息,其中,所述第一临时密钥由所述客户服务端使用第一会话密钥对用于描述用户权限的访问控制列表进行签名得到,所述用户密钥账号由所述客户服务端生成以向云端服务器确认客户身份,所述会话策略信息由所述客户服务端使用所述第一会话密钥加密所述访问控制列表得到,所述第一会话密钥为所述客户服务端持有的与所述云端服务器进行会话的会话密钥;基于所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证;以及响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0009]第四方面,本申请提供了一种用于认证系统的认证方法,所述认证系统包括:用户端、客户服务端和云端服务器,所述方法包括:所述用户端向所述客户服务端发送第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;所述客户服务端接收所述分配请求信息,基于所述会话身份标识,对用户身份进行验证;以及响应于用户身份通过验证,生成响应所述分配请求信息的第一响应信息并向所述用户端发送所述第一响应信息,其中,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;所述用户端响应于接收到所述第一响应信息,向所述云端服务器发送基于所述第一响应信息生成的云端服务请求信息,所述云端服务请求信息携带所述用户密钥账号、所述会话策略信息和使用所述第一临时密钥生成的所述云端服务请求信息的签名;所述云端服务器基于接收的所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证,以及响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0010]第五方面,本申请提供了一种用于认证系统的用户端,所述用户端用于:向所述客户服务端发送第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;接收所述客户服务端响应于用户身份通过验证发送的响应所述分配请求信息的第一响应信息,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;向所述云端服务器发送基于所述第一响应信息生成的云端服务请求信息,所述云端服务请求信息携带所述用户密钥账号、所述会话策略信息和使用所述第一临时密钥生成的所述云端服务请求信息的签名;接收所述云端服务器发送的响应云端服务请求信息的第二响应信息,其中,所述第二响应信息通过以下步骤得到:所述云端服务器基于所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证,响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0011]第六方面,本申请提供了一种用于认证系统的客户服务端,所述客户服务端用于:接收所述用户端发送的第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;基于所述会话身份标识,对用户身份进行验证;响应于用户身份通过验证,生成响应所述分配请求信息的第一响应信息,其中,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;向所述用户端发送所述第一响应信息。
[0012]第七方面,本申请提供了一种用于认证系统的云端服务器,所述云端服务器用于:接收所述用户端发送的用户密钥账号、会话策略信息和使用第一临时密钥签名的云端服务请求信息,其中,所述第一临时密钥由所述客户服务端使用第一会话密钥对用于描述用户权限的访问控制列表进行签名得到,所述用户密钥账号由所述客户服务端生成以向云端服务器确认客户身份,所述会话策略信息由所述客户服务端使用所述第一会话密钥加密所述访问控制列表得到,所述第一会话密钥为所述客户服务端持有的与所述云端服务器进行会话的会话密钥;基于所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证;以及响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0013]第八方面,本申请提供了一种认证系统,所述认证系统包括:用户端,用于向所述客户服务端发送第一临时密钥的分配请求信息,所述分配请求信息携带用于验证用户身份的会话身份标识;接收所述客户服务端响应于用户身份通过验证发送的响应所述分配请求信息的第一响应信息,所述第一响应信息包括:用于向云端服务器确认客户身份的用户密钥账号,使用第一会话密钥签名用于描述用户权限的访问控制列表得到的第一临时密钥,以及使用所述第一会话密钥加密所述访问控制列表得到的会话策略信息,其中,所述第一会话密钥为客户服务端持有的与所述云端服务器会话的会话密钥;向所述云端服务器发送基于所述第一响应信息生成的云端服务请求信息,所述云端服务请求信息携带所述用户密钥账号、所述会话策略信息和使用所述第一临时密钥生成的所述云端服务请求信息的签名;所述客户服务端,用于接收所述分配请求信息,基于所述会话身份标识,对用户身份进行验证;以及响应于用户身份通过验证,生成响应所述分配请求信息的第一响应信息并向所述用户端发送所述第一响应信息;所述云端服务器,用于基于接收的所述用户密钥账号和所述会话策略信息,对接收的所述云端服务请求信息的签名进行认证,以及响应于所述认证通过,向所述用户端发送响应所述云端服务请求信息的第二响应信息。
[0014]本申请提供的认证方法和认证系统,通过用户端向客户服务端发送第一临时密钥的分配请求信息,通过客户服务端在验证分配请求信息后,生成并向用户端发送包括用户密钥账号、第一临时密钥和会话策略信息的第一响应信息,通过用户端向云端服务器发送基于第一响应信息生成的云端服务请求信息,云端服务请求信息携带用户密钥账号、会话策略信息和使用第一临时密钥生成的云端服务请求信息的签名,通过云端服务器基于用户密钥账号和会话策略信息认证云端服务请求信息的签名,认证通过后向