一种基于可信计算的身份认证方法及装置的制造方法_3

文档序号:9667680阅读:来源:国知局
5',并将当前的度量值存储至TCM内部的PCR中。读取TCM内部的NV中存储的计算机A的硬件、系统软件和应用软件的各自基准值,为基准值A1、基准值A4、基准值A5,读取TCM内部的PCR中存储的相应的当前度量值,为度量值AP、度量值AV和度量值A5'。
[0090]然后,比较计算机A的硬件、系统软件和应用软件的当前度量值和基准值是否均相同,即是否同时满足A1 =A1'、A4 = A4'、A5 = A5',如果是,说明计算机A的系统环境良好,从而完成了计算机A操作系统基于可信计算的自检,允许用户的登录请求,否则,说明计算机A的系统已遭到攻击或破坏,拒绝用户的登录请求。经比较,发现计算机A的硬件、系统软件和应用软件的当前度量值和基准值均相同,计算机A自检完成。
[0091]这一基于可信计算的计算机自检方式通过检查计算机系统是否遭到攻击或破坏,可以在用户登录之前,首先保证计算机系统的安全可信。
[0092]计算机A自检完成后,USBKeyX通过USB插口与计算机A相连接。在计算机A获取到USBKeyX的登录请求时,读取TCM内部PCR中所存储的计算机A的硬件、系统软件和应用软件当前的度量值,以及读取USBKeyX中存储的相应基准值。假如无法获取USBKeyX中存储的相应基准值,说明USBKeyX在此次登录之前并未与计算机A进行绑定,对于计算机A是不可信的,或是USBKeyX可能遭到破坏,故计算机A与USBKeyX的绑定关系不成立,拒绝用户B的登录请求。
[0093]同样的,假如USBKeyX在此次登录之前并未与计算机A进行绑定,在保证USBKeyX未遭到破坏的情况下,亦可以在此次登录时进行与上述USBKey I相同的操作,建立计算机A与USBKeyX的绑定关系,使USBKeyX对计算机A可信,则USBKeyX之后亦可以在计算机A上进行用户身份的可信认证。在保证USBKey未遭到破坏且计算机系统未被攻击的情况下,这一实现方式可以使USBKey与任何计算机建立绑定关系,从而用户可以根据USBKey在任何计算机上进行用户身份的安全可信认证。
[0094]由于同一计算机可以对不同USBKey进行可信认证,同一 USBKey也可以在不同计算机上进行安全可信登录,故有效提高了用户信息可信登录的方便性和实用性。
[0095]步骤204:逐个对每一个部件的度量值与USBKeyX中存储的基准值进行比较,在比较结果为每一个部件的度量值与USBKeyX中存储的基准值均相同时,执行步骤205,否则,执行步骤207。
[0096]现在,计算机A已获取到TCM内部PCR中所存储的计算机A的硬件、系统软件和应用软件的当前度量值,即度量值AP、度量值AV和度量值A5',同时也获取到USBKeyX中存储的相应基准值,即基准值A1、基准值A4和基准值A5时,然后逐个对比硬件、系统软件和应用软件的当前度量值和相应基准值是否均相同,如果是,即A1 =A1'、A4 = A4'、A5 =A5丨时,执行后续的USBKeyX身份信息的认证,否则,执行步骤207,计算机A与USBKeyX的绑定关系不成立,拒绝USBKeyX的登录请求。经对比,发现计算机A中TCM内部PCR中存储的当前度量值和用户B所持有的USBKeyX中存储的相应基准值均相同,即A1 = ΑΡ、A4 =A4'、A5 = A5'。
[0097]步骤205:认证USBKeyX的身份信息,认证通过,执行步骤206,否则,认证不通过,执行步骤207。
[0098]在本实施例中,可以通过随机数加密解密的方式对该USBKeyX进行身份信息的认证,该过程可以包括:生成一个随机数Y ;读取USBKeyX的私钥X对随机数Y加密,得到加密数t ;读取TCM内部的NV中存储的与USBKeyX的标识X相对应的公钥X,并利用公钥X对加密数^解密,得到随机数Y";判断随机数Y和随机数Y"是否相等,如果是,表明对USBKeyX的身份信息认证通过,否则,则表明对所述目标USBKey的身份信息认证不通过,拒绝USBKeyX的登录请求。经判断,随机数Y =随机数Y〃,USBKeyX的身份信息认证通过。
[0099]其中,该随机数Y可以是随机赋予的一个数值,也可以是通过B1S调用TCM内部的随机数算法生成的。
[0100]步骤206:认证USBKeyX的登录信息,认证通过,登录系统,否则,认证不通过,执行步骤207。
[0101]此外,假若USBKeyX的登录信息认证不通过,除了拒绝USBKeyX的登录请求外,也可以提示用户重新输入登录密码,再次认证。
[0102]在对USBKeyX的身份信息认证通过后,在本实施例中,可以显示软件系统C的用户登录对话框,以此来获取用户输入的登录密码M',并通过读取TCM内部的NV中预先存储的用户登录密码Μ来判断Μ和M'是否相等。若Μ = Μ',表征该用户输入的登录密码Μ'是正确的,软件系统C允许该用户Β登录;若Μ # Μ',表征用户输入的登录密码是错误的,拒绝USBKeyX的登录请求,或用户重新输入登录密码。经判断,用户B输入的登录密码等于TCM内部的NV中预先存储的用户登录密码,即M = M',用户Β身份可信,成功打开软件系统C。
[0103]步骤207:拒绝USBKeyX的登录请求。
[0104]在本实施例中,可以当遇到计算机A与USBKeyX的绑定关系不成立,或USBKeyX的身份信息认证不通过,或USBKeyX的登录信息认证不通过中的任一可能情况时,均拒绝USBKeyX的登录请求。
[0105]本实施例通过计算机系统和USBKey的信息绑定和可信验证,实现了在确定用户登录密码正确性的基础之上,同时要求对用户USBKey身份信息的可信认证,从而当用户的登录信息遭到黑客或恶意软件的攻击而被泄露时,在一定程度上对用户的信息安全提供了有效保障。
[0106]本实施例首先通过计算机系统自检,有效保证了计算机系统自身的安全可信,给用户创造了一个安全可信的信息登录环境,并通过计算机内部TCM和USBKey的绑定关系,实现了信任链在计算机和用户USBKey之间的完整性传递,同时对用户USBKey的身份信息进行认证,进一步验证了用户USBKey的安全可信性,再根据用户登录密码正确性的判定,最终实现用户的安全可信登录。
[0107]如图3所示,本发明实施例提供了一种基于可信计算的身份认证装置,包括:
[0108]绑定单元301,用于将计算机系统内的TCM与USBKey进行绑定;
[0109]第一发送单元302,用于将计算机系统内各个部件的基准值存储至与其内部TCM相绑定的USBKey中;
[0110]获取单元303,用于在获取到目标USBKey的登录请求时,获取TCM内部PCR中所存储的当前计算机系统内各个部件的度量值,以及获取所述目标USBKey中存储的各个部件的基准值;
[0111]处理单元304,用于逐个对每一个部件的度量值与所述目标USBKey中存储的基准值进行比较,在比较结果为每一个部件的度量值与所述目标USBKey中存储的基准值均相同时,通知认证单元305,否则,拒绝所述目标USBKey的登录请求;
[0112]认证单元305,用于认证所述目标USBKey的身份信息;
[0113]响应单元306,用于根据所述认证单元305的认证结果响应所述目标USBKey的登录请求。
[0114]在一种可能的实现方式中,请参考图4,所述第一发送单元302,包括:
[0115]计算子单元3021,用于对计算机系统内各个部件的基准值进行计算;
[0116]第一发送子单元3022,用于将计算所得的计算机系统内各个部件的基准值存储至TCM内部的非易失性存储器中;
[0117]第二发送子单元3023,用于读取TCM内部的非易失性存储器中的基准值,存储至与TCM相绑定的USBKey中。
[0118]在一种可能的实现方式中,请参考图4,所述绑定单元301,用于将USBKey的标识和与其标识相对应的USBKey公钥存储至计算机系统内的TCM内部的非易失性存储器中;
[0119]所述认证单元305,包括:
[0120]随机数生成子单元3051,用于生成第一随机数;
[0121]加密子单元3052,用于读取所述目标USBKey的USBKey私钥对所述第一随机数加密;
[0122]解密子单元3053,用于根据所述目标USBKey的标识,读取TCM内部的非易失性存储器中存储的与所述目标USBKey的标识相对应的USBKey公钥,利用读取的该USBKey公钥对加密后的所述第一随机数解密,得到第二随机数;
[0123]判断子单元3054,用于判断所述第一随机数和所述第二随机数是否相等,如果是,表明对所述目标USBKey的身份信息认证通过,否则,则表明对所述目标USBKey的身份信息认证不通过。
[0124]在一种可能的实现方式中,还包括:
[0125]第二发送单元307,用于将用户登录密码存储至TCM内部的非易失性存储器中;
[0126]所述响应单元306,用于在所述认证结果包括对所述目标USBKey的身份信息认证通过时,获取用户输入的登录密码,根据TCM内部的非易失性存储器中预先存储的用户登录密码对用户输入的登录密码进行验证,若验证通过,则允许所述目标USBKey的登录请求,否则,拒绝所述目标USBKey的登录请求;在所述认证结果包括对所述目标USBKey的身份信息认证不通过时,则拒绝所述目标USBKey的登录请求。
[0127]在一种可能的实现方式中,所述计算机系统内各个部件,包括硬件、固件、硬件驱动、系统软件和应用软件中的任意一种或多种。
[
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1