基于超文本传输协议的认证方法与认证系统的制作方法

文档序号:7695512阅读:92来源:国知局
专利名称:基于超文本传输协议的认证方法与认证系统的制作方法
技术领域
本发明涉及网络认证技术,尤其是一种基于超文本传输协议(Hypertext Transfer Protocol,以下简称HTTP)的i人证方法与iU正系统。
背景技术
在用户通过互联网访问服务器上受保护的网络资源时,通常需要向服务 器提供用户帐号与密码,服务器对用户输入的用户帐号与密码进行认证。只 有在用户帐号与密码通过认证后,服务器才许可用户访问该网络资源。
目前常用的iU正方式有基于超文本标i己i吾言(Hypertext Markup Language, 以下简称HTML)的认证与基于HTTP的认证。在基于HTML认证方式中, 用户在HTML页面上输入用户帐号与密码,服务器即可进行认证。但是基于 HTML页面的认证方式要求客户端设备中设置有浏览器才能完成认证过程, 对客户端设备要求较高。
在基于HTTP认证方式中,常用的网络验证方法有基本验证法与摘要验 证法。现有技术中通过HTTP认证方式对用户进行认证的方法包括如下步骤 用户通过客户端设备向服务器发送访问受保护的网络资源的访问请求; 服务器向客户端设备返回认证请求,客户端提示用户输入用户帐号与密
码;
用户输入用户帐号与密码后发送认证请求;
若采用基^证法,客户端设备将用户帐号与密码进行Base64编码后传 输给服务器;若采用摘要验证法,客户端设备采用消息摘要(MessageDigest 5,以下简称MD5)算法将密码与其它需要的数据进行计算,将计算结果传 输给服务器;服务器-验证客户端设备发来的认证信息,并向客户端设备返回认证结果。
在现有的HTTP认证方式中,采用基本验证法认证时,由于进行Base64 编码后的数据为未经加密的可读文本,安全性较低,容易被其它用户窃取; 而采用摘要验证法认证时,只能采用MD5摘要算法对密码与其它需要的数据 进行计算,不能支持其它加密算法。

发明内容
本发明的目的是提供一种基于HTTP的认证方法,可以在嵌入式设备 中没有浏览器的情况下,使用加密算法对用户进行认证,客户端实现筒单, 并且提高了网络资源的安全性。
为实现上述发明目的,本发明提供的一种基于HTTP的认证方法,包括 以下步骤
服务器接收嵌入式设备发送的资源获取请求,该资源获取请求中携带嵌 入式设备标识;
若所述嵌入式设备标识未通过认证,所述服务器向所述嵌入式设备发送 认证指示消息,该认证指示消息中包含随机生成的挑战字;
所述嵌入式设备使用预先生成的用户密钥加密所述挑战字,并将用户帐 号与加密后的挑战字发送给所述服务器;
所述服务器对用户帐号与加密后的挑战字进行认证,并在所述用户帐号 与加密后的挑战字通过认证时,产生并向所述嵌入式设备返回授权码。
本发明提供的一种基于HTTP的认证系统,包括嵌入式设备与服务器, 其中
所述嵌入式设备用于向所述服务器发送的资源获取请求,该资源获取请 求中携带嵌入式设备标识,并接收所述服务器返回的挑战字,使用预先生成 的用户密钥加密所述挑战字,并将用户帐号与加密后的挑战字发送给所述服 务器,以及接收所述服务器返回的授权码;所述服务器用于在所述嵌入式设备标识未通过认证时,向所述嵌入式设备发送认证指示消息,该认证指示消 息中包含随机生成的挑战字,并对所述嵌入式设备发送的用户帐号与加密后 的才兆战字进行认证,以及在所迷用户帐号与加密后的挑战字通过认证时,产 生并向所述嵌入式设备返回授权码。
本发明提供的基于HTTP的认证方法与认证系统中,可以在嵌入式设备 中没有浏览器的情况下,使用加密算法对用户进行认证,客户端实现简单, 并且提高了网络资源的安全性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


图1为本发明基于HTTP的认证方法实施例一的流程图; 图2为本发明基于HTTP的认证方法实施例二的流程图; 图3为本发明基于HTTP的认证系统实施例一的结构示意图; 图4为本发明基于HTTP的认证系统实施例二的结构示意图。
具体实施例方式
如图1所示,为本发明基于HTTP的认证方法实施例一的流程图,其包 括以下步骤
步骤101,服务器接收嵌入式设备发送的资源获取请求,该资源获取请 求中携带嵌入式设备标识。
步骤102,若嵌入式设备标识未通过认证,服务器向嵌入式设备发送认 证指示消息,该i人证指示消息中包含随机生成的挑战字。
具体地,该认证指示消息可以是一个对资源获取请求的HTTP应答消息, 其包括头部参数与内容部分。其中,头部参数包括消息内容类型(Content-Type) ,其可以为一个预设值。内容部分包含随机生成的挑战字。
步骤103,嵌入式设备使用预先生成的用户密钥加密挑战字,并将用户 帐号与加密后的挑战字发送给服务器。步骤104,服务器对用户帐号与加密后的挑战字进行认证,并在用户帐 号与加密后的挑战字通过认证时,产生并向嵌入式设备返回授权码。
如图2所示,为本发明基于HTTP的认证方法实施例二的流程图,其包 括以下步骤
步骤201,嵌入式设备向服务器发送资源获取请求,例如请求访问服 务器上的某个文件,该资源获取请求中携带有嵌入式设备标识。
步骤202,服务器接收到资源获取请求后,查询已经通过认证的嵌入式 设备标识信息,判断资源获取请求中携带的嵌入式设备标识是否通过认证, 也即发送该资源获取请求的嵌入式设备是否通过认证,若通过认证,则服 务器向嵌入式设备^C供其请求获取的资源,嵌入式设备与服务器执行后续的 网络资源访问流程;否则,执行步骤203。
步骤203,服务器随机生成用于标识本次认证的挑战字,并向嵌入式设 备发送认证指示消息,该认证指示消息是对资源获取请求的HTTP应答消息, 应答消息的头部参数包括消息内容类型(Content-Type),其可以为一个预设 值。应答消息的内容部分包括随机生成的挑战字。
如下所示为 一 个iU正指示消息内容的具体实例
HTTP 消息的头部参数包含Content-Type , 其值设为 x-application/iptv-auth;
HTTP消息的内容部分包含CHALLENGE参数和AUTHURL参数。
其中,Content-Type表示认证指示消息的类型;CHALLENGE参数表示 挑战字,作为一个具体实例,该参数长度为16个字节,取值方式可以由要求 认证的服务器自行确定;AUTHURL参数表示指定用于认证的统一资源定位 符(Uniform Resource Locator,以下简称URL),嵌入式设备接收到认证 指示消息后,可以使用该URL向服务器发送认证请求。
步骤204,嵌入式设备接收到服务器发送的认证指示消息后,从中获取 挑战字,并采用三次数据加密标准(Tripple Data Encryption Standard,以下简称3DES)电子代码本(ECB)算法,使用预先生成的用户密钥加密挑战字。 若对挑战字进行加密时,嵌入式设备尚不存在用户密钥,则在该步骤204 之前,还执行嵌入式设备与服务器运行密钥生成算法,生成一对匹配的用 户密钥与服务密钥,其中的用户密钥存储在嵌入式设备中,服务密钥存储在 服务器中。
步骤205,嵌入式设备对加密后的挑战字进行Base64编码。
步骤206,嵌入式设备向服务器发送认证请求,该认证请求中携带有用 户的帐号与Base64编码的挑战字密文。
具体地,嵌入式设备可以使用步骤203认证指示消息中携带的URL向服 务器发送该认证请求。
如下所示为 一个认证请求内容的具体实例
HTTP消息的请求类型,设为HTTP GET;
HTTP消息所请求的URL的请求命令部分,由AUTHURL参数指定;
HTTP消息所请求的URL中必需包含参数USERID和 AUTHENTICATOR。
其中,HTTP GET表示HTTP消息类型;USERID表示用户帐号, AUTHENTICATOR表示嵌入式设备采用3DES ECB算法,使用预先生成的 用户密钥(UserKey)加密挑战字,并对加密的挑战字进行Base64编码后得 到的数据,其可以表示为
AUTHENTICATOR= Base64(3DES画ECB (CHALLENGE,UserKey))。 步骤207,服务器对Base64编码的挑战字进行Base64解码,并采用3DES EBC算法,使用服务器存储的密钥对Base64解码后的挑战字密文进行解密, 然后根据预先存储的用户帐号与挑战字信息,对用户帐号与解码后的挑战字 进行认证。具体地,查询嵌入式设备标识与分配的挑战字之间的对应关系, 判断向该用户帐号当前所在的嵌入式设备的嵌入式设备标识分配的挑战字是 否为解密获得的挑战字。若认证通过,执行步骤208;否则,执行步骤210。步骤208,服务器产生并向嵌入式设备返回授权码。
步骤209,嵌入式设备向服务器发送新资源获取请求,该新资源获取请 求中携带有服务器返回的授权码,表明该嵌入式设备已经通过了服务器认证。 之后,嵌入式设备可以与服务器执行后续的网络资源访问流程,并在发送的 请求中携带该授权码。
步骤210,服务器向嵌入式设备返回认证失败的提示信息,服务器也可 以直接结束该网络资源访问流程。
如图3所示,为本发明基于HTTP的认证系统实施例一的结构示意图, 该实施例可用于实现如图1所示认证方法的实施例流程,其包括嵌入式设备 l与服务器2。其中,嵌入式设备1用于向服务器2发送的资源获取请求,该 资源获取请求中携带嵌入式设备标识,并接收服务器2返回的挑战字,使用 预先生成的用户密钥加密挑战字,并将用户帐号与加密后的挑战字发送给服 务器2,以及接收服务器2返回的授权码;服务器2用于在嵌入式设备1标 识未通过i人证时,向嵌入式设备1发送认证指示消息,该认证指示消息中包 含挑战字,并对嵌入式设备1发送的用户帐号与加密后的挑战字进行认证, 以及在该用户帐号与加密后的挑战字通过认证时,产生并向嵌入式设备1返 回授权码。
在图3所示的认证系统中,嵌入式设备1可以包括第一发送模块11、加 密模块12、编码模块与第一接收模块14。
其中,第一发送模块11用于向服务器2发送的资源获取请求,该资源获 取请求中携带嵌入式i殳备标识,以及向服务器2发送用户帐号与Base64编码 后的挑战字密文;加密模块12用于使用预先生成的用户密钥加密挑战字, 生成4兆战字密文;编码模块13用于对加密后的挑战字进行Base64编码;第 一接收;f莫块14用于接收服务器2发送的挑战字与授权码。
另外,在图3所示的i人证系统中,服务器2可以包括第二接收模块21、 查询模块22、解码模块23、解密模块24、认证模块25与第二发送模块26。其中,第二接收模块21用于接收嵌入式设备1发送的资源获取请求、用 户帐号与Base64编码后的挑战字密文,资源获取请求中携带嵌入式设备1标 识;查询模块22用于查询嵌入式设备1标识是否通过认证;解码模块23用 于对Base64编码后的挑战字密文进行Base64解码;解密4莫块24用于采用 3DES ECB算法,使用服务器存储的密钥对Base64解码后的挑战字密文进行 解密;认证才莫块25用于对嵌入式设备1发送的用户帐号与解密获得的挑战字 进行认证;第二发送模块26用于根据查询结果,在嵌入式设备1标识未通过 认证时,向嵌入式设备l发送认证指示消息,该认证指示消息中包括挑战字, 以及根据认证结果,在用户帐号与加密后的挑战字通过认证时,产生并向嵌 入式设备1返回授权码。如图4所述,为本发明基于HTTP的认证系统实施 例二的结构示意图,该实施例可用于实现如图2所示认证方法的实施例流程。
本发明实施例可以在嵌入式设备中没有浏览器的情况下,使用3DES ECB 加密算法对用户进行认证,客户端实现简单,不需要支持HTML页面也可以 实现对用户的认证,并且与MD5算法相比,提高了网络资源的安全性。
最后所应说明的是以上实施例仅用以说明本发明的技术方案,而非对 本发明作限制性理解。尽管参照上述较佳实施例对本发明进行了详细说明, 本领域的普通技术人员应当理解其依然可以对本发明的技术方案进行修改 或者等同替换,而这种修改或者等同替换并不脱离本发明技术方案的精神和 范围。
权利要求
1、一种基于超文本传输协议的认证方法,其特征在于,包括服务器接收嵌入式设备发送的资源获取请求,该资源获取请求中携带嵌入式设备标识;若所述嵌入式设备标识未通过认证,所述服务器向所述嵌入式设备发送认证指示消息,该认证指示消息中包含随机生成的挑战字;所述嵌入式设备使用预先生成的用户密钥加密所述挑战字,并将用户帐号与加密后的挑战字发送给所述服务器;所述服务器对用户怅号与加密后的挑战字进行认证,并在所述用户帐号与加密后的挑战字通过认证时,产生并向所述嵌入式设备返回授权码。
2、 根据权利要求l所述的方法,其特征在于,所述认证指示消息具体为 HTTP应答消息,所述HTTP应答消息包括头部参数与内容部分,所述头部 参数包括消息内容类型参数,所述内容部分包括所述挑战字。
3、 根据权利要求l所述的方法,其特征在于,还包括 嵌入式设备与服务器运行密钥生成算法,生成一对匹配的用户密钥与服务密钥,所述用户密钥存储在嵌入式设备,所述服务密钥存储在所述服务器。
4、 根据权利要求l、 2或3所述的方法,其特征在于,所述嵌入式设备 使用预先生成的用户密钥加密所述挑战字具体为所述嵌入式设备采用3DES ECB算法, -使用预先生成的用户密钥加密所述4兆战字。
5、 根据权利要求4所述的方法,其特征在于,所述嵌入式设备采用3DES ECB算法,使用预先生成的用户密钥加密所述挑战字后,还包括所述嵌入 式设备对加密后的挑战字进行Base64编码;所述将用户帐号与加密后的挑战字发送给所述服务器具体为将用户帐 号与Base64编码的挑战字发送给所述服务器。
6、 根据权利要求5所述的方法,其特征在于,所述服务器对用户帐号与 加密后的4兆战字进行认证包括所述服务器对Base64编码的挑战字进行Base64解码,并采用3DES EBC 算法,使用服务密钥对Base64解码后的挑战字进行解密,然后根据预先存储 的用户帐号与挑战字信息对所述用户帐号与解码后的挑战字进行认证。
7、 才艮据权利要求6所述的方法,其特征在于,向所述嵌入式设备返回授 权码之后,还包括所述月良务器接收嵌入式设备发送的新资源获取请求,该新资源获取请求 中携带有所述授权码。
8、 一种基于超文本传输协议的认证系统,其特征在于,包括嵌入式设备 与服务器,其中所述嵌入式设备用于向所述服务器发送的资源获取请求,该资源获取请 求中携带嵌入式设备标识,并接收所述服务器返回的挑战字,使用预先生成 的用户密钥加密所述挑战字,并将用户帐号与加密后的挑战字发送给所述服 务器,以及接收所述服务器返回的授权码;所述服务器用于在所述嵌入式设 备标识未通过认证时,向所述嵌入式设备发送认证指示消息,该认证指示消 息中包含随机生成的挑战字,并对所述嵌入式设备发送的用户帐号与加密后 的挑战字进行认证,以及在所述用户帐号与加密后的挑战字通过认证时,产 生并向所述嵌入式设备返回授权码。
9、 才艮据权利要求8所述的系统,其特征在于,所述嵌入式设备包括 第一发送模块,用于向所述服务器发送的资源获取请求,该资源获取请求中携带嵌入式设备标识,以及向所述服务器发送用户帐号与Base64编码后 的挑战字;加密才莫块,用于使用预先生成的用户密钥加密所述^^战字; 编码才莫块,用于对加密后的挑战字进行Base64编码; 第一接收模块,用于接收服务器发送的挑战字与授权码。
10、 根据权利要求9所述的系统,其特征在于,所述服务器包括 第二接收模块,用于接收所述嵌入式设备发送的资源获取请求、挑战字、用户帐号与Base64编码后的挑战字,所述资源获取请求中携带嵌入式设备标 识;查询模块,用于查询所述嵌入式设备标识是否通过认证; 解码才莫块,用于对所述Base64编码后的4兆战字进行Base64解码; 解密模块,用于采用3DESECB算法,使用服务密码对Base64解码后的 挑战字进行解密;认证模块,用于对所述嵌入式设备发送的用户帐号与解密获得的挑战字 进行认证;第二发送模块,用于根据查询结果,在所述嵌入式设备标识未通过认证 时,向所述嵌入式设备发送认证指示消息,该认证指示消息中包含挑战字, 以及根据认证结果,在所述用户帐号与加密后的挑战字通过认证时,产生并 向所述嵌入式设备返回授权码。
全文摘要
本发明公开了一种基于超文本传输协议的认证方法与认证系统,其中,认证方法包括服务器接收嵌入式设备发送的资源获取请求,该资源获取请求中携带嵌入式设备标识;若所述嵌入式设备标识未通过认证,所述服务器向所述嵌入式设备发送认证指示消息,该认证指示消息中包含挑战字;所述嵌入式设备使用预先生成的用户密钥加密所述挑战字,并将用户帐号与加密后的挑战字发送给所述服务器;所述服务器对用户帐号与加密后的挑战字进行认证,并在所述用户帐号与加密后的挑战字通过认证时,产生并向所述嵌入式设备返回授权码。本发明可以在嵌入式设备中没有浏览器的情况下,使用加密算法对用户进行认证,客户端实现简单,并且提高了网络资源的安全性。
文档编号H04L29/08GK101309293SQ20081011584
公开日2008年11月19日 申请日期2008年6月27日 优先权日2008年6月27日
发明者仇剑书 申请人:中国网络通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1