一种人机识别方法、网络服务接入方法及相应的设备转让专利

申请号 : CN201310113912.5

文献号 : CN104104652B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 付颖芳张玉东张谦

申请人 : 阿里巴巴集团控股有限公司

摘要 :

一种人机识别方法、网络服务接入方法及相应的设备,该人机识别方法应用于与用户终端、网络服务器和可信方同处于可信网络的人机识别决策点,包括:收到用户终端接入网络服务的第一请求,携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;根据该第一身份证书验证该用户和/或可信模块合法后,根据该用户ID和/或该可信模块ID,如判断该用户和/或该可信平台请求接入网络服务的频度超出设定阈值,拒绝该第一请求。本申请的人机识别方法难攻破且能提高人机识别率。本申请还提供了基于该人机识别方法的网络服务接入方法及相应设备。

权利要求 :

1.一种人机识别方法,应用于与用户终端、网络服务器和可信方同处于可信网络的人机识别决策点,该人机识别方法包括:接收到用户终端接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;

根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,再根据该用户ID和/或该可信模块ID,判断该用户和/或可信平台请求接入网络服务的频度是否超出设定阈值;

如超出阈值,拒绝该第一请求,如未超出阈值,允许该第一请求。

2.如权利要求1所述的人机识别方法,其特征在于:

所述判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值,包括:在设定的单位时间段内,对收到的携带有该用户ID的第一请求的次数进行统计,如统计的次数超过设定的第一阈值,则认为该用户请求接入网络服务的频度超出设定阈值;

在设定的单位时间段内,对收到的携带有该可信模块ID的第一请求的次数进行统计,如统计的次数超过设定的第二阈值,则认为该可信平台请求接入网络服务的频度超出设定阈值。

3.如权利要求1或2所述的人机识别方法,其特征在于:

所述拒绝该第一请求之后,还包括:将该用户ID和/或该可信模块ID拉入黑名单;

所述接收到用户终端接入网络服务的第一请求之后,还包括:判断该第一请求中携带的用户ID和/或该可信模块ID是否在所述黑名单中,如是,拒绝该第一请求,如否,再根据该第一身份证书验证该用户和/或可信模块是否合法。

4.一种网络服务接入方法,应用于包括可信方、用户终端、人机识别决策点和网络服务器的可信网络,该网络服务接入方法包括:用户终端向人机识别决策点发送接入网络服务的第一请求,携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;

该人机识别决策点收到该第一请求后,按照如权利要求1或2或3所述的人机识别方法进行人机识别,如允许该第一请求,将为该用户终端分配的授权凭据发送给该用户终端和提供所述网络服务的网络服务器;

该用户终端以收到的该授权凭据为证明向该网络服务器发送接入网络服务的第二请求;该网络服务器根据从该人机识别决策点收到的授权凭据验证该第二请求中的授权凭据,如验证通过,允许该用户终端接入网络服务。

5.如权利要求4所述的网络服务接入方法,其特征在于:

所述将为该用户终端分配的授权凭据发送给该用户终端,包括:用该用户终端的身份信息作为公钥对该授权凭据加密,加密结果和所述可信方为该人机识别决策点颁发的第二身份证书一起发送给该用户终端;

该用户终端以收到的该授权凭据为证明向该网络服务器发送接入网络服务的第二请求,包括:该用户终端收到该加密结果和第二身份证书后,验证该第二身份证书,验证通过后,用本用户终端的身份信息对应的私钥解密该加密结果,获得该授权凭据,然后以该授权凭据为证明向该网络服务器发送接入网络服务的第二请求。

6.如权利要求4所述的网络服务接入方法,其特征在于:

所述将为该用户终端分配的授权凭据发送给提供所述网络服务的网络服务器,包括:用该网络服务器的身份信息作为公钥对该授权凭据加密,加密结果和所述可信方为该人机识别决策点颁发的第二身份证书一起发送给该网络服务器;

该网络服务器从该人机识别决策点收到该授权凭据,包括:该网络服务器收到该加密结果和第二身份证书后,验证该第二身份证书,验证通过后,用本网络服务器的身份信息对应的私钥解密该加密结果,获得该授权凭据。

7.如权利要求4所述的网络服务接入方法,其特征在于:

所述该网络服务器允许该用户终端接入网络服务,包括:

该网络服务器向该用户终端发送允许接入网络服务的响应,携带所述可信方为该网络服务器颁发的第三身份证书;

该用户终端收到该响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。

8.一种可信网络中的人机识别决策设备,其特征在于,包括:

接收模块,用于接收用户终端接入网络服务的第一请求,该第一请求中携带可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;

验证和判决模块,用于根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,再根据该用户ID和/或该可信模块ID判断该用户和/或可信平台请求接入网络服务的频度是否超出设定阈值;

决策模块,用于在该用户和/或可信模块非法或请求接入网络服务的频度超出设定阈值时,拒绝该第一请求并通知该用户终端。

9.如权利要求8所述的人机识别决策设备,其特征在于:

所述验证和判决模块判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值,包括:在设定的单位时间段内,对收到的携带有该用户ID的第一请求的次数进行统计,如统计的次数超过设定的第一阈值,则认为该用户请求接入网络服务的频度超出设定阈值;

在设定的单位时间段内,对收到的携带有该可信模块ID的第一请求的次数进行统计,如统计的次数超过设定的第二阈值,则认为该可信平台请求接入网络服务的频度超出设定阈值。

10.如权利要求8或9所述的人机识别决策设备,其特征在于:

还包括:屏蔽单元,用于在验证和判决模块拒绝该第一请求时,将该用户ID和/或该可信模块ID拉入黑名单;

所述验证和判决模块还用于先判断该第一请求中携带的用户ID和/或该可信模块ID是否在所述黑名单中,如是,通知决策模块,如否,再根据该第一身份证书验证该用户和/或可信模块是否合法;

所述决策模块还用于在获知该第一请求中携带的用户ID和/或该可信模块ID在所述黑名单中时,拒绝该第一请求。

11.如权利要求8或9所述的人机识别决策设备,其特征在于:

所述决策模块还用于在该用户和/或可信模块合法且请求接入网络服务的频度没有超出设定阈值时,允许该第一请求,用该用户终端的身份信息为公钥对授权凭据加密,加密结果和该可信方为该人机识别决策设备颁发的第二身份证书一起发送给该用户终端,用该网络服务器的身份信息为公钥对该授权凭据加密,加密结果和该第二身份证书一起发送给该网络服务器。

12.一种可信网络中的用户终端,其特征在于,包括第一请求模块和第二请求模块,其中:该第一请求模块包括:

发送单元,用于向人机识别决策点发送接入网络服务的第一请求,该第一请求中携带可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;

验证单元,用于接收人机识别决策点对第一请求的允许接入网络服务的响应后,验证该响应中的人机识别决策点的第二身份证书,验证通过后,用本用户终端的相应私钥解密该响应中的加密结果,获得授权凭据;

该第二请求模块包括:

发送单元,用于以该授权凭据为证明向网络服务器发送接入网络服务的第二请求;

验证单元,用于收到网络服务器对第二请求的允许接入网络服务的响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。

13.一种可信网络中的网络服务器,其特征在于,包括接入控制模块,该接入控制模块包括第一验证单元和第二验证单元,其中:第一验证单元,用于接收人机识别决策点发送的加密后授权凭据和人机识别决策点的第二身份证书,验证该第二身份证书,验证通过后,用本网络服务器的相应私钥解密该加密结果,获得该授权凭据;

第二验证单元,用于接收用户终端发送的接入网络服务的请求,用解密获得的该授权凭据对该请求中的授权凭据进行验证,如验证通过,向该用户终端发送允许接入网络服务的响应,携带可信方为本网络服务器颁发的第三身份证书。

说明书 :

一种人机识别方法、网络服务接入方法及相应的设备

技术领域

[0001] 本申请涉及计算机领域,更具体地,涉及一种人机识别方法、网络服务接入方法及相应的设备。

背景技术

[0002] 随着互联网的普及,各种网络服务日益成为人们日常生活的一部分,如电子商务、免费的电子邮箱服务、免费的资源下载等等。然而,这些面向人类用户的服务时常被非法用户攻击和一些恶意计算机程序滥用(恶意计算机程序利用一机多账户,或一账户多机的方法)占用服务资源,产生大量的网络垃圾,影响合法用户的网络体验,对网络服务的安全性造成极大威胁。
[0003] 人机识别系统是一种全自动开放式人机区分图灵机测试(Completely Automated Public Turing test to tell computers and humans apart,CAPTCHA),利用进行问答式身份验证的安全措施来区分计算机与人为目标的系统。CAPTCHA的运行机制如下:一个专门的服务器负责产生和评估CAPTCHA测试,用户使用某个需验证的网络服务时,服务器提供给用户一个测试,用户做完后将测试结果提交给服务器,服务器根据结果进行评估,决定该用户能否通过测试。
[0004] 目前CAPTCHA技术主要采用的技术有文本CAPTCHA、图像CAPTCHA、声音CAPTCHA技术,3类CAPTCHA技术基于AI领域的不同问题,具有不同的特性:
[0005] 文本CAPTCHA利用人和机器在字符识别方面的差异,利用验证码技术来区别人和机器。所谓验证码,就是将一串随机产生的数字或符号,生成一幅扭曲字符串的图片,图片里加上一些干扰像素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能使用某项功能。如CSDN网站用户登录用的是GIF格式+数字方式;QQ网站注册采用随机生成的汉字,登录采用PNG格式,图片用的随机数字+随机大写英文字母;MSN的hotmail申请时用的BMP格式,随机数字+随机大写英文字母+随机干扰像素+随机位;google的gmail注册的时候采用JPG格式,随机数字+随机颜色+随机位置+随机长度;某些大型论坛采用XBM格式,内容随机。文本CAPTCHA通过扭曲文字或字符来识别人和机器,在某种程度上防止了计算机程序的恶意注册或登录,但是随着字符分割和光学字符识别(Optical Character Recognition,OCR)技术的发展,大多数文本CAPTCHA已被成功破解,简单的字符识别问题已不能阻止计算机程序,况且扭曲的文字让人也难以识别,使得用户体验很不好。
[0006] 图像CAPTCHA利用人和机器在图像分类、目标识别、常见理解等方面的差异,通常独立于不同语言,无需用户文本输入、更难破解。如CMU设计的CAPTCHA BONGO,利用两组视觉模型(如线、圆、方块等),让用户判断新模式的类别,然而2选1的设计无法保证其安全性;带标注的图像数据库,此类CAPTCHA的致命弱点是一旦用户拥有了这个数据库,算法不攻自破;google推出一种基于图像方向识别的CAPTCHA What’s up,一幅图像旋转到它的垂直方向。What’s up无需图像标注,通过在测试中加入候选图,利用用户反馈结果修正初始标注。
此外,What’s up训练了一个自动图像方向检测器过滤掉能被机器识别的图像,根据反馈机制过滤掉不易被人类用户识别的图像,确保测试能被大多数人类用户通过而机器不能通过。与基于图像分类的CAPTCHA相比,What’s up利用更难的图像理解问题,需要用户对图像中的内容进行分析;可用图像的数量庞大,不受限于具体的物品图像;根据用户反馈自动标注图像,少了繁琐的人工参与。图像CAPTCHA虽然比文本CAPTCHA难破解,但是这些图像CAPTCHA需要庞大的数据库支持,无法大规模产生,此外,易遭受机器学习算法的攻击,如:
Golle设计了一个结合颜色和纹理特征的SVM分类器对猫狗图像进行分类,在单幅图像上获得82.7%的高正确率,对包含12幅图的Asirra破解成功率可达10.3%。
[0007] 声音CAPTCHA利用人和机器在语音识别上的差异,以随机间隔播放随机选择的一个或多个人播报的数字、字母或单词,并添加背景噪声以抵抗ASR的攻击,在声音CAPTCHA ABYAN-Ⅰ和BYAN-Ⅱ中,用户被提示选择惯用语言,计算机据此随机选择6个数字生成测试音频,音频中添加另一个讲话者的声音作为背景噪声,用户需正确输入测试音频中的6个数字。其中,BYAN-Ⅰ的背景噪声是相同的6个数字,BYAN-Ⅱ的背景噪声是随机选取的词汇。但是声音CAPTCHA同样容易受到机器学习算法的攻击。Tam等人用固定长度的窗口搜索音频,筛选出能量峰进行识别,在其上提取3种音频特征:梅尔倒谱系数、感知线性预测、相关频谱转换-感知线性预测,采用AdaBoost,SVM,k-NN3种机器学习算法分别训练,对Google,Digg和ReCAPTCHA的破解成功率分别为67%,71%和45%。也有人采用相似的方法破解了eBay的声音CAPTCHA,破解率达75%。

发明内容

[0008] 本申请要解决的技术问题是提供一种难攻破且能提高人机识别率的人机识别方法和人机识别决策设备。
[0009] 为了解决上述问题,本申请提供了一种人机识别方法,应用于与用户终端、网络服务器和可信方同处于可信网络的人机识别决策点,该人机识别方法包括:
[0010] 接收到用户终端接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0011] 根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,再根据该用户ID和/或该可信模块ID,判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值;
[0012] 如超出阈值,拒绝该第一请求,如未超出阈值,允许该第一请求。
[0013] 较佳地,
[0014] 所述判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值,包括:
[0015] 在设定的单位时间段内,对收到的携带有该用户ID的第一请求的次数进行统计,如统计的次数超过设定的第一阈值,则认为该用户请求接入网络服务的频度超出设定阈值;
[0016] 在设定的单位时间段内,对收到的携带有该可信模块ID的第一请求的次数进行统计,如统计的次数超过设定的第二阈值,则认为该可信平台请求接入网络服务的频度超出设定阈值。
[0017] 较佳地,
[0018] 所述拒绝该第一请求之后,还包括:将该用户ID和/或该可信模块ID拉入黑名单;
[0019] 所述接收到用户终端接入网络服务的第一请求之后,还包括:判断该第一请求中携带的用户ID和/或该可信模块ID是否在所述黑名单中,如是,拒绝该第一请求,如否,再根据该第一身份证书验证该用户和/或可信模块是否合法。
[0020] 相应地,本申请还提供了一种可信网络中的人机识别决策设备,包括:
[0021] 接收模块,用于接收用户终端接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0022] 验证和判决模块,用于根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,再根据该用户ID和/或该可信模块ID判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值;
[0023] 决策模块,用于在该用户和/或可信模块非法或请求接入网络服务的频度超出设定阈值时,拒绝该第一请求并通知该用户终端。
[0024] 较佳地,
[0025] 所述验证和判决模块判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值,包括:
[0026] 在设定的单位时间段内,对收到的携带有该用户ID的第一请求的次数进行统计,如统计的次数超过设定的第一阈值,则认为该用户请求接入网络服务的频度超出设定阈值;
[0027] 在设定的单位时间段内,对收到的携带有该可信模块ID的第一请求的次数进行统计,如统计的次数超过设定的第二阈值,则认为该可信平台请求接入网络服务的频度超出设定阈值。
[0028] 较佳地,
[0029] 还包括:屏蔽单元,用于在验证和判决模块拒绝该第一请求时,将该用户ID和/或该可信模块ID拉入黑名单;
[0030] 所述验证和判决模块还用于先判断该第一请求中携带的用户ID和/或该可信模块ID是否在所述黑名单中,如是,通知决策模块,如否,再根据该第一身份证书验证该用户和/或可信模块是否合法;
[0031] 所述决策模块还用于在获知该第一请求中携带的用户ID和/或该可信模块ID在所述黑名单中时,拒绝该第一请求。
[0032] 较佳地,
[0033] 所述决策模块还用于在该用户和/或可信模块合法且请求接入网络服务的频度没有超出设定阈值时,允许该第一请求,用该用户终端的身份信息为公钥对该授权凭据加密,加密结果和该可信方为该人机识别决策设备颁发的第二身份证书一起发送给该用户终端,用该网络服务器的身份信息为公钥对该授权凭据加密,加密结果和该第二身份证书一起发送给该网络服务器。
[0034] 本申请提出的人机识别方案可以有效识别出非法用户和恶意计算机程序,与现前的文本、图像、声音CAPTCHA技术相比,难攻破,且能提高人机识别率,从而有效保障系统网络服务的安全。
[0035] 本申请要解决的另一技术问题是提供一种难攻破且能提高人机识别率的网络服务接入方法和相应的设备。
[0036] 为了解决上述问题,本申请提供了一种网络服务接入方法,应用于包括可信方、用户终端、人机识别决策点和网络服务器的可信网络,该网络服务接入方法包括:
[0037] 用户终端向人机识别决策点发送接入网络服务的第一请求,携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0038] 该人机识别决策点收到该第一请求后,按照如权利要求1或2或3所述的人机识别方法进行人机识别,如允许该第一请求,将为该用户终端分配的授权凭据发送给该用户终端和提供所述网络服务的网络服务器;
[0039] 该用户终端以收到的该授权凭据为证明向该网络服务器发送接入网络服务的第二请求;该网络服务器根据从该人机识别决策点收到的授权凭据验证该第二请求中的授权凭据,如验证通过,允许该用户终端接入网络服务。
[0040] 较佳地,
[0041] 所述将为该用户终端分配的授权凭据发送给该用户终端,包括:用该用户终端的身份信息作为公钥对该授权凭据加密,加密结果和所述可信方为该人机识别决策点颁发的第二身份证书一起发送给该用户终端;
[0042] 该用户终端以收到的该授权凭据为证明向该网络服务器发送接入网络服务的第二请求,包括:该用户终端收到该加密结果和第二身份证书后,验证该第二身份证书,验证通过后,用本用户终端的身份信息对应的私钥解密该加密结果,获得该授权凭据,然后以该授权凭据为证明向该网络服务器发送接入网络服务的第二请求。
[0043] 较佳地,
[0044] 所述将为该用户终端分配的授权凭据发送给提供所述网络服务的网络服务器,包括:用该网络服务器的身份信息作为公钥对该授权凭据加密,加密结果和所述可信方为该人机识别决策点颁发的第二身份证书一起发送给该网络服务器;
[0045] 该网络服务器从该人机识别决策点收到该授权凭据,包括:该网络服务器收到该加密结果和第二身份证书后,验证该第二身份证书,验证通过后,用本网络服务器的身份信息对应的私钥解密该加密结果,获得该授权凭据。
[0046] 较佳地,
[0047] 所述该网络服务器允许该用户终端接入网络服务,包括:
[0048] 该网络服务器向该用户终端发送允许接入网络服务的响应,携带所述可信方为该网络服务器颁发的第三身份证书;
[0049] 该用户终端收到该响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。
[0050] 相应地,本申请提供的可信网络中的用户终端,包括第一请求模块和第二请求模块,其中:
[0051] 该第一请求模块包括:
[0052] 发送单元,用于向人机识别决策点发送接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0053] 验证单元,用于接收人机识别决策点对第一请求的允许接入网络服务的响应后,验证该响应中的人机识别决策点的第二身份证书,验证通过后,用本用户终端的相应私钥解密该响应中的加密结果,获得授权凭据;
[0054] 该第二请求模块包括:
[0055] 发送单元,用于以该授权凭据为证明向该网络服务器发送接入网络服务的第二请求;
[0056] 验证单元,用于收到网络服务器对第二请求的允许接入网络服务的响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。
[0057] 相应地,本申请提供的可信网络中的网络服务器,包括接入控制模块,该接入控制模块包括第一验证单元和第二验证单元,其中:
[0058] 第一验证单元,用于接收人机识别决策点发送的加密后授权凭据和人机识别决策点的第二身份证书,验证该第二身份证书,验证通过后,用本网络服务器的相应私钥解密该加密结果,获得该授权凭据;
[0059] 第二验证单元,用于接收用户终端发送的接入网络服务的请求,用解密获得的该授权凭据对该请求中的授权凭据进行验证,如验证通过,向该用户终端发送允许接入网络服务的响应,携带所述可信方为本网络服务器颁发的第三身份证书。
[0060] 本申请提出的网络服务接入方案及设备除可以识别出非法用户和恶意计算机程序,与现前的文本、图像、难攻破,能提高人机识别率的技术效果外,因为用户接入网络服务,不提交用户及其平台信息,而是提交授权凭据,可以有效保障用户及其平台隐私。另外,可以通过将用户和可信模块绑定并由Privacy CA验证和颁发身份证书,可以防止平台替换攻击。

附图说明

[0061] 图1是本申请实施例一人机识别方法的流程图;
[0062] 图2是本申请实施例二网络服务接入方法的流程图;
[0063] 图3A和图3B是本申请实施例二系统的分层示意图和网络架构图;
[0064] 图4是本申请实施例二系统中各设备的模块图;
[0065] 图5是本申请的一个应用示例的流程示意图。

具体实施方式

[0066] 为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0067] 可信计算的本质主要是通过增强现有的终端体系结构的安全性来保证整个系统的安全。其主要思路是在包括台式机、笔记本及智能手机等多种设备中,以所嵌入的可信平台模块(Trusted Platform Module,TPM)为核心为用户和平台提供安全保障。TPM通过存储、度量、报告等一系列手段来建立一个可信的计算环境,解决了部分针对内部攻击的问题。TPM具有远程证明的能力,能够响应远程认证方的请求,证明平台身份和平台完整性等可信属性。可信计算组织(TCG)在其TPM v1.1b规范中提出了隐私证书权威(Privacy Certificate Authority,PrivacyCA)匿名认证系统,它采用PrivacyCA作为可信方为客户平台的EK证书签发别名证书来保证匿名性,并通过一次一密的方法保证平台的多次认证间的不可关联。
[0068] 针对密钥的不同用途,TCG定义了七种类型的密钥,其中与平台身份认证有关的主要密钥有:
[0069] 签署密钥(EK,Endorsement Key):用于唯一标识平台身份的密钥,一般由TPM生产商在制造TPM时生成。EK影响到整个系统的安全性,它只用于两个操作:一是在确定平台属主时,解密属主的授权数据;二是生成AIK密钥并创建平台身份的别名证书。
[0070] 身份证明密钥(AIK,Attestation Identity Key):专用于对TPM产生的数据(如PCRs值等)进行签名,证明平台身份的合法性及平台环境的可信性。
[0071] 为了实现密钥的应用、管理及平台的可信证明,TCG定义了五类证书,每类都被用于为特定操作提供必要的信息,包括:
[0072] 签署证书(Endorsement Credential):又称EK证书,一般由生成EK的厂商发布,包含TPM制造者名、TPM型号、TPM版本号和EK公钥等信息。EK公钥虽然是公开的,但它是鉴别TPM身份的唯一证据,因此也具有秘密性和敏感性。
[0073] 身份证明证书(AIK Credential):又称AIK证书,用于鉴定对PCR值进行签名的AIK私钥,它包括AIK公钥和其它签发者认为有用的信息。AIK证书是由一个可信的、能够校验各种证书和保护用户隐私的服务方签发。通过签发证书,服务方可以证明提供TPM信息的TPM是真实的。
[0074] 其他的还有一致性证书(Conformance Credential)、平台证书(Platform Endorsement Credential)和确认证书(Validation Credential)。
[0075] 2007年12月,中国国家密码管理局颁布了《可信计算密码支撑平台功能与接口规范》,该规范定义了一个以可信方(第三方)为中心的平台身份认证系统,以可信密码模块(TCM,Trusted Cryptographic Module)替代TPM作为可信根,其工作原理及签发证书的协议流程基本与TCG PrivacyCA系统相同,但为适应我国的国情,采用了双证书体系和不同的密码算法。
[0076] TCG的可信网络连接架构(TNC)包含三类实体:访问请求者(AR)、策略执行点(PEP)和策略决策点(PDP),这些都是逻辑实体,可以分布在任意位置。为实现各组件之间的互操作,TNC架构中规定了一系列接口,IF-PEP,IF-T,IF-TNCCS,IF-IMC,IF-IMV和IF-M。当访问请求者AR接入网络时,向PDP发送访问请求和收集到的平台完整性信息,申请建立网络连接;该消息由策略执行点PEP转发;PDP收到该消息后,根据本地安全策略以及AR的身份和AR的平台完整性对AR的访问请求进行决策,判定结果为允许/禁止/隔离;PDP将决策发送给PEP,由PEP执行。
[0077] TNC架构在纵向分为三个层次,从下到上为:网络访问层:这一层用于支持传统的网络连接技术,如802.1X和VPN等,进行用户身份认证和密钥协商并建立安全信道,完成后通知上层进行完整性评估层协议;完整性评估层:负责评估所有请求访问网络的平台的完整性,这一层协议的运行受网络访问层安全信道的保护;及完整性度量层:收集和校验请求访问者的完整性相关信息的组件。
[0078] 实施例一
[0079] 本实施例提出一种基于可信计算的人机识别方法,基于可信计算的身份认证可以识别出非法用户。另外,在现实中,一用户ID只会绑定有限的几台TPM ID(或TCM ID),或一TPM ID绑定有限的几个用户ID。因此,在有限的时间内,一台机器只能被有限的用户操纵,或一人只能操纵有限的机器,如果在有限时间内,发现一用户ID绑定大量的TPM ID,或一TPM ID绑定大量用户ID,可以判定其是恶意的计算机程序在操作。
[0080] 是本实施例人机识别方法应用于与用户终端、网络服务器和可信方同处于可信网络的人机识别决策点,如图1所示,该人机识别方法包括:
[0081] 步骤110,接收到用户终端接入网络服务的第一请求,该第一请求中携带可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0082] 可信模块指可信计算技术中嵌入设备的TPM或TCM等,作为可信计算的核心为用户和平台提供安全保障。
[0083] 步骤120,根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,执行步骤130,否则,执行步骤140,结束;
[0084] 步骤130,根据该用户ID和/或该可信模块ID,判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值,如超出阈值,执行步骤140,如未超出阈值,执行步骤150;
[0085] 在设定的单位时间段内,对收到的携带有该用户ID的第一请求的次数进行统计,如统计的次数超过设定的第一阈值,则认为该用户请求接入网络服务的频度超出设定阈值;
[0086] 在设定的单位时间段内,对收到的携带有该可信模块ID的第一请求的次数进行统计,如统计的次数超过设定的第二阈值,则认为该可信平台请求接入网络服务的频度超出设定阈值。
[0087] 步骤140,拒绝该第一请求,结束;
[0088] 步骤150,允许该第一请求。
[0089] 允许该第一请求之后,人机识别决策点可以将为该用户终端分配的授权凭据发送给该用户终端和提供所述网络服务的网络服务器。在将授权凭据发送给该用户终端时,较佳地,用该用户终端的身份信息作为公钥(也可以采用该用户终端的其他公钥)对该授权凭据加密,将加密结果和可信方为该人机识别决策点颁发的第二身份证书一起发送给该用户终端;在将授权凭据发送给网络服务器时,较佳地,用该网络服务器的身份信息作为公钥(也可以采用该网络服务器的其他公钥)对该授权凭据加密,加密结果和可信方为该人机识别决策点颁发的第二身份证书一起发送给该网络服务器。
[0090] 在另一实施例中,在步骤140拒绝该第一请求之后,可以将该用户ID和/或该可信模块ID拉入黑名单;相应地,在步骤110之后,先判断该第一请求中携带的用户ID和可信模块ID是否在所述黑名单中,如是,直接拒绝该第一请求,如否,再执行步骤120以根据该第一身份证书验证该用户和/或可信模块是否合法。
[0091] 相应地,本实施例还提供了一种可信网络中的人机识别决策设备,可参见图4,包括:
[0092] 接收模块21,用于接收用户终端接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID。
[0093] 验证和判决模块22,用于根据该第一身份证书验证该用户和/或可信模块是否合法,如合法,再根据该用户ID和/或该可信模块ID判断该用户和/或该可信平台请求接入网络服务的频度是否超出设定阈值。具体判断方法见步骤130的记载,不再重复。
[0094] 决策模块23,用于在该用户和/或可信模块非法或请求接入网络服务的频度超出设定阈值时,拒绝该第一请求并通知该用户终端,在该用户和/或可信模块合法且请求接入网络服务的频度没有超出设定阈值时,允许该第一请求(不排除还有其他准入条件)。允许该第一请求时,可以用该用户终端的身份信息为公钥(也可以是该用户终端的其他公钥)对该授权凭据加密,加密结果和该可信方为该人机识别决策设备颁发的第二身份证书一起发送给该用户终端,及用该网络服务器的身份信息为公钥(也可以是该网络服务器的其他公钥)对该授权凭据加密,加密结果和该第二身份证书一起发送给该网络服务器。
[0095] 该人机识别决策设备还可以包括:屏蔽单元24,用于在验证和判决模块拒绝该第一请求时,将该用户ID和/或该可信模块ID拉入黑名单,还可以通知可信方启动证书注销管理功能。相应地,验证和判决模块接还用于先判断该第一请求中携带的用户ID和/或该可信模块ID是否在所述黑名单中,如是,通知决策模块,如否,再根据该第一身份证书验证该用户和/或可信模块是否合法;而决策模块还用于在获知该第一请求中携带的用户ID和/或该可信模块ID在所述黑名单中时,拒绝该第一请求。
[0096] 本实施例通过验证用户id和/或可信模块id的签名证书来判定用户是否合法,证书验证不通过者,认为是非法用户,不允许其接入网络服务,从而保证网络服务资源不被非法用户滥用;同时通过对用户id请求和/或可信模块id请求计数,分别有效控制一账户多机和一机多账户的恶意程序对网络服务的滥用。与现前的文本、图像、声音CAPTCHA技术相比,难攻破,且能提高人机识别率,从而有效保障系统网络服务的安全。
[0097] 实施例二
[0098] 本实施例提出了一种网络服务接入方法,应用于包括可信方、用户终端、人机识别决策点和网络服务器的可信网络,如图2所示,该网络服务接入方法包括:
[0099] 步骤210,用户终端向人机识别决策点发送接入网络服务的第一请求,携带可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0100] 步骤220,该人机识别决策点收到该第一请求后,进行人机识别,如拒绝该第一请求,执行步骤230;如允许该第一请求,执行步骤240;
[0101] 此步骤中的人机识别采用实施例一的人机识别方法。
[0102] 步骤230,向用户终端返回拒绝请求的响应,结束;
[0103] 步骤240,将为该用户终端分配的授权凭据发送给该用户终端和提供所述网络服务的网络服务器;
[0104] 在将授权凭据发送给该用户终端时,较佳地,用该用户终端的身份信息作为公钥对该授权凭据加密,将加密结果和可信方为该人机识别决策点颁发的第二身份证书一起发送给该用户终端。
[0105] 在将授权凭据发送给网络服务器时,较佳地,用该网络服务器的身份信息作为公钥对该授权凭据加密,加密结果和可信方为该人机识别决策点颁发的第二身份证书一起发送给该网络服务器。
[0106] 步骤250,该用户终端以收到的该授权凭据为证明向该网络服务器发送接入网络服务的第二请求;
[0107] 如人机识别服务用用户终端的身份信息加密授权凭据并同时发送第二身份证书,该用户终端收到该加密结果和第二身份证书后,先验证该第二身份证书,验证通过后,用本用户终端的身份信息对应的私钥解密该加密结果,获得该授权凭据,然后以该授权凭据为证明向该网络服务器发送接入网络服务的第二请求。
[0108] 步骤260,该网络服务器根据从该人机识别决策点收到的该授权凭据如对第二请求中的授权凭据验证通过,执行步骤270,否则执行步骤230;
[0109] 如人机识别服务用网络服务器的身份信息加密授权凭据并同时发送第二身份证书,该网络服务器收到该加密结果和第二身份证书后,先验证该第二身份证书,验证通过后,用本网络服务器的身份信息对应的私钥解密该加密结果,获得该授权凭据,通过和第二请求中的授权凭据比较,如两者相同,则对该第二请求中的授权凭据验证通过。
[0110] 步骤270,允许该用户终端接入网络服务。
[0111] 本步骤中,网络服务器可以向该用户终端发送允许接入网络服务的响应,携带可信方为该网络服务器颁发的第三身份证书;该用户终端收到该响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。
[0112] 相应地,本实施例基于可信计算的网络服务接入控制系统包括可信网络中的可信方、用户终端、人机识别决策点和网络服务器,可信网络中的这些成员均具有可信模块(TPM或TCM),如图3A所示,可信方如Privacy CA和人机识别决策点(本实施例用人机识别服务器实现)构成接入人机识别服务层,用户终端构成用户终端层,各种网络服务器构成网络服务层。同时请参照图3B所示的架构图。用户终端要使用某个需要验证的网络服务时,必须通过人机识别决策点验证通过后,才能获取网络服务。
[0113] 请参照图4(图中略去了各设备中的可信模块),上述系统中:
[0114] 所述人机识别决策点20用于验证并决策是否允许用户终端接入网络服务,可以采用实施例一中的人机识别决策设备,包括接收模块21、验证和判决模块22和决策模块23。验证和决策可以是逻辑实体,也可以分别分布在任意位置,比如防火墙、接入点或服务器上,本实施例是一个统一部署在人机识别服务器上的一个基于可信计算的人机识别架构。
[0115] 所述用户终端10,可以是PC、智能手机、PDA等,包括第一请求模块和第二请求模块,其中:
[0116] 该第一请求11模块包括:
[0117] 发送单元111,用于向人机识别决策点发送接入网络服务的第一请求,该第一请求中携带所述可信方为该用户终端颁发的第一身份证书,该第一身份证书的签名中包括该用户终端的用户ID和/或可信模块ID;
[0118] 验证单元112,用于接收人机识别决策点对第一请求的允许接入网络服务的响应后,验证该响应中的人机识别决策点的第二身份证书,验证通过后,用本用户终端的相应私钥解密该响应中的加密结果,获得授权凭据;
[0119] 该第二请求12模块包括:
[0120] 发送单元121,用于以该授权凭据为证明向该网络服务器发送接入网络服务的第二请求;
[0121] 验证单元122,用于收到网络服务器对第二请求的允许接入网络服务的响应后,验证该网络服务器的第三身份证书,验证通过后,接入网络服务。
[0122] 所述网络服务器30包括接入控制模块31,该接入控制模块又包括第一验证单元311和第二验证单元312,其中:
[0123] 第一验证单元311,用于接收人机识别决策点发送的加密后授权凭据和人机识别决策点的第二身份证书,验证该第二身份证书,验证通过后,用本网络服务器的私钥解密该加密结果,获得该授权凭据;
[0124] 第二验证单元312,用于接收用户终端发送的接入网络服务的请求,用解密获得的该授权凭据对该请求中的授权凭据进行验证,如验证通过,向该用户终端发送允许接入网络服务的响应,携带所述可信方为本网络服务器颁发的第三身份证书。
[0125] 可信方,如Privacy CA,用于在收到系统成员(如用户终端、人机识别决策点和网络服务器)的身份注册请求后,验证用户信息的合法性、平台信息合法性及平台的完整性,如果验证正常,向其分配用户标识(ID)及可信模块标识(ID),颁发基于用户ID和/或可信模块ID的身份证书,用于向系统的其他成员证明该用户和/或可信模块的身份。该身份证书可以遵循X.509标准(但不局限于此),证书中包括主体部分(tbsCertificate)、签名算法标识部分(signatureAlgorithm)和签名值部分(signatureValue),signatureValue是使用signatureAlgorithm部分指定的签名算法对tbsCertificate证书主题部分签名后的值。文中,将证书中的主体部分和签名值部分统称为签名。该签名中包括用户ID和/或可信模块ID(也可称为可信平台ID)。较佳地,同时包括用户ID和可信模块ID。可信方在颁发身份证书中,还可以为系统成员分配基于用户ID和/或可信模块ID的身份密钥。证书颁发过程可以采用PCA系统中TPM获取AIK证书或中国规范中TPM获取PIK证书的类似方式,但不局限于此,这里不再赘述。此外,可信方还可以用于对用户终端的身份密钥及身份证书进行存储、修改和注销管理。
[0126] 在本实施例中,平台证书和/或用户身份证书由Privacy CA产生,可以保证用户的平台隐私和身份隐私。在其他实施例中,可信方也可以包括Privacy CA和虚拟CA,该虚拟CA可以由人机识别服务器按(n,t)门限体制产生,此时,签名中包含可信模块ID的身份证书由Privacy CA产生,签名中包含用户ID和可信模块ID的身份证书由虚拟CA按(n,t)门限体制产生,该方案性能得到了提高,可防止单点失效攻击。
[0127] 本实施例除具有实施例一提到的可以识别出非法用户和恶意计算机程序,与现前的文本、图像、难攻破,能提高人机识别率的技术效果外,因为用户接入网络服务,不提交用户及其平台信息,而是提交授权凭据,可以有效保障用户及其平台隐私。另外,与TCG可信计算网络连接相比,TCG的可信计算网络连接是识别用户再识别用户平台,这存在平台替换攻击,本实施例可以通过将用户和可信模块绑定并由Privacy CA验证和颁发身份证书,可以防止平台替换攻击。
[0128] 下面给出一个基于上述实施例的具体应用中的示例,请同时参照图5:
[0129] (1)Alice先到Privacy CA进行身份注册;
[0130] (2)Privacy CA对Alice的EK证书、平台完整性等校验通过后,为Alice分配user_id&TPM_id、基于user_id&TPM—_id的身份密钥及身份证书,假设user_id&TPM_id为Alice_001&TPM_001;
[0131] (3)Alice携带自身身份证书向人机识别服务器请求接入电子商务网络服务;
[0132] (4)人机识别服务器验证验证Alice身份证书的合法性,并评估请求的合法性;
[0133] (5-1)如果用户身份证书合法,人机识别服务器携带自身身份证书及分配给Alice的授权凭据,授权凭据用Alice的身份信息Alice_001&TPM_001加密;同时(5-2)把Alice的授权凭据同步给网络服务器,此时Alice的授权凭据用网络服务器的身份信息EC_001&TPM_200加密,网络服务器从Privacy CA那获取EC_001&TPM_200;
[0134] (6)Alice验证人机识别服务器的身份证书,并用自己的身份密钥解密获得授权凭据;
[0135] (7)Alice携带授权凭据向电子商务服务器请求接入网络服务;
[0136] (8)网络服务器携带自身身份证书向Alice发送准入接入(即允许接入)网络服务的信息;
[0137] (9)Alice验证电子商务服务器身份证书的合法性,如合法,接入网络服务。
[0138] 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
[0139] 以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。