一种安全通讯方法和装置的制造方法_3

文档序号:9711403阅读:来源:国知局
密后得到的请求进行检验,检验是否包含攻击代码。该检验方式可以基于白名单或者黑名单的方式。其中基于白名单的方式主要是基于一些语法格式或者预设的规则,基于黑名单主要是基于一些攻击代码特征。如果检验出请求包含攻击代码,则可以拒绝转发该请求。
[0093]同样,本步骤中,也可以利用令牌连线密钥C_Token-Sess1n_Key对请求进行解
I_L| ο
[0094]如果在步骤205中加密请求的同时加密Sess1n-1D,贝lj在本步骤中还可以进一步包括完整性验证的处理,即验证Sess1n-1D是否未使用过且在合理范围。
[0095]对于后续步骤208中对响应进行加密的处理,也可以使用C_AKE-Sess1n-Key或C_Token-Sess1n_Key,在步骤 28 中仅以 C_AKE-Sess1n_Key 为例。
[0096]在207中,安全代理设备获取服务器返回的响应R。
[0097]在208中,安全代理设备利用连线密钥C_AKE-Sess1n-Key对服务器返回的响应R进行加密,将加密后的响应转发给客户端。
[0098]加密后的响应可以表示为:Ec—ake Sesslon Key(R,H(R)),H(R)为可选项。其中加密的内容还可以包括Sess1n_ID,以便客户端利用Sess1n_ID进行完整性检查。
[0099]在令牌有效期内,客户端可以通过令牌直接获取访问权限,后续客户端与服务器的通讯可以将Sess1n-1D+Ι后,重复执行步骤205?208所示的过程。令牌超出有效期后,客户端需要从步骤201开始重新协商密钥和获取令牌。
[0100]以上是对本发明所提供的方法进行的详细描述,下面结合实施例对本发明提供的装置进行详细描述。
[0101]图3为本发明实施例提供的设置于安全代理服务器的装置结构图,该装置可以通过硬件、软件或虚拟机等形式实现。如图3中所示,该装置可以包括:密钥协商单元01、身份认证单元02、令牌分配单元03、请求处理单元04和响应处理单元05。其中各单元的主要功能如下:
[0102]密钥协商单元01负责利用密钥交换机制与客户端进行连线密钥的协商。
[0103]身份认证单元02负责对客户端进行身份认证。
[0104]令牌分配单元03负责在对客户端进行身份认证通过后,为客户端分配令牌。
[0105]请求处理单元04负责接收到客户端发送给服务器的请求时,验证连同请求发送来的令牌是否是为客户端分配的令牌;如果验证通过,则将利用连线密钥或令牌连线密钥对请求进行解密后得到的请求转发给服务器。如果验证出连同请求发送来的令牌不是为客户端分配的令牌,则拒绝处理请求。其中令牌连线密钥是令牌分配单元03为客户端分配后并利用连线密钥进行加密后发送给客户端的。
[0106]响应处理单元05负责接收到服务器返回的响应后,利用连线密钥或令牌连线密钥对响应进行加密,将加密后的响应转发给客户端。
[0107]其中,上述身份认证单元02对客户端进行的身份认证,可以在连线密钥的协商过程中完成,此时令牌分配单元03在连线密钥协商完成后,为客户端分配令牌。
[0108]具体地,密钥协商单元01可以执行以下操作:
[0109]操作1:利用密钥协商保护密钥对客户端发送的包含客户端标识的数据进行解密,其中密钥协商保护密钥预先设置于客户端和安全代理设备。例如,解密客户端发送的Ec—AKE Key(Client-1D, (gx mod p),H(gx mod p))后得到 Client-1D,在此还可以进一步利用 H(gxmod p))对(gx mod p)进行验证,目的是对数据完整性进行验证,验证通过后执行操作2。
[0110]操作2:利用解密后得到的客户端标识产生服务器验证密钥,例如利用C_AKE-Sess1n-Key-2 = Hash(2, Client-1D, gy, gx, gxy)产生服务器验证密钥 C_AKE-Sess1n-Key-2。
[0111]操作3:利用服务器验证密钥对包含安全代理设备标识的数据进行加密,将加密后的数据发送给客户端,以便客户端利用客户端标识和安全代理设备标识产生连线密钥。其中在利用服务器验证密钥对包含安全代理设备标识的数据进行加密时,可以利用安全代理设备的根证书私钥对安全代理设备标识和客户端标识进行签名;再利用服务器验证密钥对签名和安全代理设备的证书进行加密。例如,可以利用Ee—AKE Sess1n Key 2(Proxy-Cert, Sigproxy (2, Proxy-1D, Client-1D, gy, gx)),其中Sigproxy表示利用安全代理设备的根证书私钥进行签名,该签名得到的Sigproxy (2,Proxy-1D, Client-1D, gy, gx)在客户端可以通过安全代理设备的根证书公钥解密。
[0112]上述操作均对应于图2中的202。
[0113]操作4:利用客户端标识和安全代理设备标识,产生连线密钥。此处采用与客户端一致的方式产生连线密钥,例如 C_AKE-Sess1n_Key = Hash (0, Client-1D, Proxy-1D, gx, gy,gxy),产生连线密钥C_AKE-Sess1n-Key。本操作对应于图2中的204。
[0114]上述的身份认证单元02可以采用但不限于以下方式或者以下方式的任意结合,对客户端进行身份认证:
[0115]第一种方式:获取到客户端标识后,对客户端标识进行认证。身份认证单元02可以在密钥协商单元01执行上述操作1得到客户端标识后,利用该客户端标识进行认证。该认证可以基于白名单或黑名单的方式,判断客户端标识是否在预设的黑名单中,如果否,则客户端通过身份认证,如果是,则客户端未通过身份认证。或者,判断客户端标识是否在预设的白名单中,如果是,则客户端通过身份认证;否则客户端未通过身份认证。
[0116]第二种方式:获取到客户端环境信息后,对客户端环境信息进行验证。客户端在生成连线密钥后,可以利用连线密钥对客户端环境信息进行加密后发送给安全代理设备,因此身份认证单元02可以在操作4生成连线密钥后,利用连线密钥对接收到的客户端环境信息进行解密,然后对客户端环境信息进行验证。其中环境信息包括客户端设备标识、客户端应用签名和客户端环境参数中的至少一种,在此特别是对客户端环境参数进行验证。需要说明的是,由于客户端预先向安全代理设备注册的过程中,安全代理设备能够获取到客户端环境参数,因此,在这对客户端环境参数进行的验证是基于注册过程中获取的客户端环境参数的。
[0117]第三种方式:获取到客户端应用签名信息后,对客户端应用签名信息进行验证。客户端在生成连线密钥时,会生成客户端验证密钥,利用客户端验证密钥对客户端应用签名进行加密后发送给安全代理服务器。安全代理服务器利用客户端标识和安全代理设备标识,采用与客户端相同的方式生成客户端验证密钥,再利用客户端验证密钥对客户端应用签名进行解密,然后对该客户端应用签名进行验证。
[0118]上述令牌分配单元03在为客户端分配令牌时,可以利用令牌密钥对包含连线密钥和随机参数的数据或者对包含令牌连线密钥和随机参数的数据进行加密,得到为客户端分配的令牌,令牌密钥预置于安全代理设备或者由安全代理设备动态产生。例如,可以采用EAccess Token Enc Key(C_AKE-Sess1n-Key, Client ID, Sess1n-1D, Time Stamp),即利用令牌密钥 Access-Token-Enc-Key 对 C_AKE-Sess1n_Key、Client ID、Sess1n-1D (连线序列号)和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。其中,Sess1n-1D为可选内容。
[0119]令牌的生成,还可以采用另外一种方式,即生成一个令牌连线密钥C_Token-Sess1n-Key,然后采用如下方式生成令牌:
[0120]EAccess Token Enc Key(C_Token-Sess1n-Key, Client ID, Sess1n-1D, Time Stamp),即利用令牌密钥 Access-Token-Enc-Key 对 C_Token-Sess1n_Key、Client ID、Sess1n_ID 和时间戳Time Stamp进行加密后获得令牌。其中Access-Token-Enc-Key只有安全代理设备自己保留,不向外公开。
[0121]更进一步地,令牌分配单元03在发送令牌时,进一步发送利用连线密钥对连线序列号进行加密后的数据。请求处理单元04在对请求进行解密时,解密得到连线序列号,进一步验证连线序列号是否正确,只有连线序列号正确才将解密后得到的请求转发给服务器。响应处理单元05在对响应进行加密时,进一步加密连线序列号,将加密后的连线序列号发送给客户端。
[0122]图4为本发明实施例提供的设置于客户端的装置结构图,如图4所示,该装置可以包括:密钥协商单元11、令牌获取单元12、请求发送单元13和响应获取单元14,还包括身份提供单元15。其中各单元的主要功能如下:
[0123]密钥协商单元11负责利用密钥交换机制与安全代理设备进行连线密钥的协商。
[0124]令牌获取单元12负责获取安全代理设备在对客户端进行身份认证通过后分配给客户端的令牌。
[0125]请求发送单元13负责利用连线密钥或令牌连线密钥对发送给服务器的请求进行加密,将加密后的请求连同令牌发送至安全代理设备。
[0126]响应获取单元14负责获取安全代理设备转发来的响应,利用连线密钥或令牌连线密钥对响应进行解密。
[0127]其中,令牌连线密钥是安全代理设备分配给客户端,并利用连线密钥加密该令牌连线密钥后发送给客户端的。
[0128]具体地,密钥协商单元11可以执行以下操作:
[0129]操作1:利用密钥协商保护密钥对包含客户端标识的数据进行加密,将加密后的数据发送给安全代理设备
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1