1.一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法,其步骤包括:首先,公钥基础设施(PKI)域中的认证中心CA与私钥认证体制(Kerberos)域中的认证服务器AS通过公钥证书进行交互认证;然后,Kerberos域的用户和PKI域的资源通过访问授权票据进行交互认证和会话密钥协商,其特征在于:所述的Kerberos域的用户和PKI域的资源通过访问授权票据进行交互认证和会话密钥协商的具体方法是:A1、访问授权票据请求
Kerberos域的用户向认证服务器AS提出跨域访问PKI域资源的认证请求,认证服务器AS对Kerberos域的用户身份进行认证,若认证未通过则转步骤A4;否则,向PKI域的认证中心CA发送访问授权票据请求;
所述的Kerberos域用户向认证服务器AS提出跨域访问PKI域资源的认证请求时的请求消息MA1为:
其中IDU表示Kerberos域用户的身份标识,IDS表示PKI域资源的身份标识,T1表示Kerberos域用户产生的时间戳,kU,AS表示Kerberos域用户和认证服务器AS的共享对称密钥, 表示用对称密钥kU,AS对{IDU,IDS,T1}加密;
所述的认证服务器AS对Kerberos域的用户身份进行认证的具体做法是:认证服务器AS接收到请求消息MA1后,用kU,AS解密 得到Kerberos域用户的解密身份标识ID’U、解密的时间戳T’1;当解密身份标识ID’U与请求消息MA1中明文的Kerberos域用户的身份标识IDU一致且解密的时间戳T’1具有新鲜性,则认证通过,否则,认证不通过;
所述的认证服务器AS向PKI域的认证中心CA发送访问授权票据请求的具体做法是:认证服务器AS产生新的时间戳T2,向PKI域资源所在域的认证中心CA发送访问授权票据请求MA2:
其中IDAS表示认证服务器的身份标识,IDCA表示认证中心的身份标识, 表示认证服务器AS用私钥SKAS对消息{IDAS,IDCA,IDU,IDS,T2}的签名,表示用认证中心CA的公钥PKCA对消息 加密;
A2、访问授权票据生成和发放
认证中心CA验证认证服务器AS的身份,若验证未通过则转步骤A4;否则,生成Kerberos域用户访问PKI域资源的会话密钥、包括该会话密钥的访问授权票据,再对会话密钥和访问授权票据打包加密,然后发送给认证服务器AS;认证服务器AS解密出会话密钥和访问授权票据并验证其有效性,若验证不通过则转步骤A4;否则,将会话密钥和访问授权票据打包加密并发送给Kerberos域的用户;
所述的认证中心CA验证认证服务器AS的身份的具体做法为:
认证中心CA收到MA2后,用私钥SKCA解密MA2,解密得到认证服务器AS的签名SIGNAS及时间戳T2,若验证签名SIGNAS正确,并且T2是具有新鲜性,则认证服务器AS的身份验证通过,否则验证不通过;
所述的认证中心CA生成Kerberos域的用户访问PKI域的资源的会话密钥、包括该会话密钥的访问授权票据,再对会话密钥和访问授权票据打包加密,然后发送给认证服务器AS的具体做法为:认证中心CA产生Kerberos域的用户和PKI域的资源之间的会话密钥kU,S及其使用期限lt(kU,S的起止时间),新的时间戳T3,认证中心CA为Kerberos域用户生成的用于访问PKI域资源的访问授权票据TKT,作为认证中心CA信任Kerberos域用户的凭证:
其中, 表示用认证中心CA的私钥SKCA对{IDCA,IDU,kU,S,lt}签名,表示用PKI域资源的公钥PKS对{IDCA,IDU,kU,S,lt,signSKCA}加密;
然后,认证中心CA生成消息MA3发送给认证服务器AS:
其中, 表示用认证中心CA的私钥SKCA对{IDCA,IDAS,IDU,IDS,kU,S,lt,TKT,T3}签名, 表示用认证服务器AS的公钥PKAS对加密;
所述的认证服务器AS解密出会话密钥和访问授权票据并验证其有效性的具体做法是:认证服务器AS用私钥SKAS解密MA3得到证认证中心CA签名 及时间戳T3,验证的有效性和T3的新鲜性,若 有效性且T3新鲜,则验证通过,否则不通过;将解密得到的kU,S、lt、TKT连同认证服务器AS新产生的时间戳T4一起用Kerberos域用户和认证服务器AS之间的共享密钥kU,AS加密作为消息MA4发送给用户:
其中,HASH表示{IDU,IDS,kU,S,lt,TKT,T4}的哈希摘要值,表示用Kerberos域用户与认证服务器AS的共享对称密钥kU,AS对{IDU,IDS,kU,S,lt,TKT,T4,HASH}加密;
A3、双向身份认证及会话密钥协商
Kerberos域用户解密提取出会话密钥和访问授权票据,验证其有效性,若验证未通过则转步骤A4,否则将自己的身份信息用该会话密钥加密后并连同访问授权票据一起发送给PKI域资源;PKI域资源解密访问授权票据获得并存储会话密钥,再用该会话密钥解密出用户的身份信息并验证Kerberos域用户身份的有效性,若验证未通过则转步骤A4,否则将自己的身份信息用该会话密钥加密发送给Kerberos域用户;Kerberos域用户用会话密钥解密出资源的身份信息并验证资源身份的有效性,若验证未通过则转步骤A4;否则,Kerberos域用户利用该会话密钥安全访问PKI域资源;
所述的Kerberos域的用户解密提取出会话密钥和访问授权票据,验证其有效性的具体做法是:Kerberos域用户用kU,AS解密MA4得到Kerberos域的用户身份信息ID’U、PKI域资源的身份信息ID’S及时间戳T’4,若解密出的ID’U及自己的身份标识IDU一致,ID’S与和PKI域资源的身份标志IDS一致,并且T’4具有新鲜性,则验证通过,并认为kU,S、lt、TKT有效,否则不通过;
所述的Kerberos域的用户将自己的身份信息用该会话密钥加密后并连同访问授权票据一起发送给PKI域的资源的具体做法是:Kerberos域的用户产生新的时间戳T5连同自己的身份信息IDU用kU,S加密后,再加入TKT作为消息MA5发送给资源:
其中, 表示用会话密钥kU,S对{IDU,T5}加密;
所诉的PKI域的资源解密访问授权票据获得并存储会话密钥,再用该会话密钥解密出用户的身份信息并验证用户身份的有效性,其具体做法是:PKI域的资源收到MA5后,首先用自己的私钥SKS解密TKT,得到认证中心CA的签名及有效期lt,验证 和lt的有效性;若验证通过,则认为解密TKT得到的kU,S有效并存储;然后,利用kU,S解密消息 得到Kerberos域用户的身份标识ID’U以及时间戳T’5,验证ID’U是否和TKT中的IDU一致,并验证T’5是否具有新鲜性,若验证都通过则认为Kerberos域用户的身份有效;
所述的PKI域的资源将自己的身份信息用该会话密钥加密发送给Kerberos域用户,其作法是:PKI域资源生成新的时间戳T6,用会话密钥kU,S加密{IDS,T6},向Kerberos域用户发送一条确认消息MA6:所述的Kerberos域的用户用会话密钥解密出PKI域资源的身份信息并验证PKI域资源身份的有效性,具体作法是:Kerberos域的用户收到MA6后,用会话密钥kU,S解密MA6,得到PKI域资源的身份标识ID’S以及时间戳T’6,若解密结果ID’S正确且T’6新鲜即可确认资源的有效性;随后,Kerberos域用户和PKI域资源之间可利用会话密钥kU,S实现安全通信;
A4、终止会话。