2024年5月6日发(作者:)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.X
(22)申请日 2014.08.18
(71)申请人 四川长虹电器股份有限公司
地址 621000 四川省绵阳市高新区绵兴东路35号
(72)发明人 李强 李晓东 刘东
(74)专利代理机构 成都九鼎天元知识产权代理有限公司
代理人 袁春晓
(51)
H04L29/06
H04L29/08
H04L9/32
(10)申请公布号 CN 104219228 A
(43)申请公布日 2014.12.17
权利要求说明书 说明书 幅图
(54)发明名称
统
(57)摘要
本发明公开了一种用户注册、用户
一种用户注册、用户识别方法及系
识别方法及系统,旨在提供一种基于http
协议的加密的客户端注册及用户识别方
法。本发明技术要点:包括:步骤1:客
户端利用对称加解密算法对用户名及密码
进行加密;步骤2:客户端按照http协议
将加密后的用户名及密码传输给服务器;
步骤3:服务器利用对称加解密算法对接
收到的用户名及密码进行解密;查找数据
库中是否已经存在所述用户名,若不存
在,服务器则利用对称加解密算法对注册
成功信息及一非对称加密算法的公钥加
密,同时向其数据库写入用户名及密码;
若存在则利用所述对称加解密算法对将返
回的注册失败信息进行加密;步骤4:服
务器按照http协议将执行步骤3得到的加
密信息传输给客户端等。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种用户注册方法,其特征在于,客户端与服务器上均包含有相同的对称加解密
算法,包括:
步骤1:客户端利用所述对称加解密算法对用户名及密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及密码进行解密;查找
服务器的数据库中是否已经存在所述用户名,若不存在,服务器先利用非对称加密
算法为此用户产生一公私钥对,利用所述对称加解密算法对将返回的注册成功信息
及所述公钥进行加密,同时服务器向其数据库写入所述用户名、密码及所述私钥;
若存在,服务器则利用所述对称加解密算法对将返回的注册失败信息进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到注册
成功信息及所述公钥或者得到注册失败信息;
所述公钥用于客户端在登录服务器时向服务器传输登录信息前加密其登录信息。
2.根据权利要求1所述的一种用户注册方法,其特征在于,在所述步骤5中,客户
端收到的是注册失败信息,则重复执行步骤1~5,直到注册成功。
3.根据权利要求1或2所述的一种用户注册方法,其特征在于,在所述步骤3中,
服务器在将客户端的密码写入所述数据库的具体方法包括:先利用不可逆加密算法
计算所述客户端密码的哈希值,再将所述哈希值连同所述用户名一起写入数据库。
4.一种用户识别方法,其特征在于,客户端与服务器上均包含有相同的对称加解密
算法,包括:
步骤1:客户端利用所述对称加解密算法对用户名及登录密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及登录密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及登录密码进行解密;
然后将解密得到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对
比,若相同,服务器生成一随机密钥并则利用所述对称加解密算法对登录成功信息
及随机密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信
息进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到登录
成功信息及所述随机密钥或者得到登录失败信息;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
5.根据权利要求4所述的一种用户识别方法,其特征在于,步骤1进一步包括:客
户端先利用注册得到的公钥对登录密码进行加密,然后再使用所述对称加解密算法
对用户名及非对称加密后的登录密码进行加密;
相应的,步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行
解密,得到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对
应的私钥对所述公钥加密后的登录密码解密,得到登录密码;服务器然后将解密得
到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对比,若相同,
服务器生成一随机密钥并则利用所述对称加解密算法对登录成功信息及随机密钥进
行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行加密。
6.根据权利要求5所述的一种用户识别方法,其特征在于,服务器的数据库中存储
有所有注册成功的用户名,及其对应的登录密码的哈希值,所述登录密码的哈希值
由使用不可逆加密算法计算登录密码得到的;
步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解密,得
到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥
对所述公钥加密后的登录密码解密,得到登录密码;服务器然后将解密得到的登录
密码的哈希值与服务器的数据库中所述用户名对应的登录密码的哈希值进行对比,
若相同,服务器生成一随机密钥并利用所述对称加解密算法对登录成功信息及随机
密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行
加密。
7.一种用户登录的客户端系统,其特征在于,包括:
对称加密模块,用于利用对称加解密算法对用户名及登录密码进行加密;
信息发送模块,用于按照http协议将对称加密模块加密后的信息传输给服务器;
以及,对称解密模块,用于利用所述对称加解密算法对服务器返回的信息进行解密,
得到登录成功信息及所述随机密钥或者得到登录失败信息;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
8.根据权利要求7所述的一种用户登录的客户端系统,其特征在于,还包括非对称
加密模块,用于利用注册时获得的公钥对所述登录密码进行加密;
相应的,所述对称加密模块用于利用所述对称加解密算法对用户名及公钥加密后的
登录密码进行加密。
9.一种识别用户的服务器系统,其特征在于,包括:
对称解密模块,用于利用对称加解密算法对接收到的用户名及登录密码进行解密;
登录信息认证模块,用于将解密得到的登录密码与服务器的数据库中所述用户名对
应的登录密码进行对比,若相同,则生成一随机密钥,将所述随机密钥及登录成功
信息交由对称加密模块,若不相同,则将登录失败信息交由对称加密模块;
对称加密模块,用于利用所述对称加解密算法对登录信息认证模块输出的所述随机
密钥及登录成功信息或登录信息认证模块输出的登录失败信息进行加密;
信息发送模块,用于按照http协议将所述对称加密模块加密得到的信息传输给客
户端;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
10.根据权利要求9所述的一种识别用户的服务器系统,其特征在于,还包括非对
称解密模块,以及服务器的数据库中存储有所有注册成功的用户名及其对应的登录
密码的哈希值,所述登录密码的哈希值由使用不可逆加密算法计算登录密码得到的;
所述对称解密模块用于利用所述对称加解密算法对接收到的用户名及公钥加密的登
录密码进行解密,得到用户名及公钥加密的登录密码;
所述非对称解密模块用于利用数据库中所述用户名对应的私钥对所述公钥加密后的
登录密码解密,得到登录密码;
不可逆加密模块,用于利用不可逆加密算法计算解密后的登录密码的哈希值;
登录信息认证模块,用于将解密得到的登录密码的哈希值与服务器的数据库中所述
用户名对应的登录密码的哈希值进行对比,若相同,则生成一随机密钥,将所述随
机密钥及登录成功信息则交由所述对称加密模块,若不相同,则将登录失败信息交
由所述对称加密模块。
说 明 书
技术领域
本发明涉及网络安全技术,尤其是一种基于加密技术的客户端注册及用户识别方法。
背景技术
常见的云计算平台在识别用户时,通常采用的方式是使用HTTPS协议,它保证了
终端与服务器之间的信息传输是加密的、安全的。但这种技术对于智能电视、智能
空调等终端设备来说,就没那么适合。因为对于家电的应用APP领域,HTTPS协
议有很多缺点。主要有:
1)HTTPS协议需要到CA申请证书,证书都是收费的,这增加了终端的成本。
2)HTTPS是具有安全性的SSL加密传输协议,与HTTP协议相比,它对网络带宽
资源的消耗要大得多。
3)它增加了服务器资源的损耗,需要更多的硬件服务器,也就增加了厂家的服务
成本。
也就是说,一台服务器假如原本使用HTTP协议供多个客户端连接,支持的客户端
连接数可达到3000个,而采用HTTPS协议供多个客户端连接,支持的客户端连接
数只能达到600多个。因此若某一厂家需要支持100万用户数量的访问时,就需要
配置更多的服务器。
发明内容
可见,https协议虽然能保证终端与服务器之间的信息传输安全但是成本却不及基
于http协议的信息传输成本低。针对这一存在的问题,本发明提供一种基于http
协议的加密的客户端注册及用户识别方法。
本发明采用了如下技术方案:
一种用户注册方法,其特征在于,客户端与服务器上均包含有相同的对称加解密算
法,包括:
步骤1:客户端利用所述对称加解密算法对用户名及密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及密码进行解密;查找
服务器的数据库中是否已经存在所述用户名,若不存在,服务器先利用非对称加密
算法为此用户产生一公私钥对,利用所述对称加解密算法对将返回的注册成功信息
及所述公钥进行加密,同时服务器向其数据库写入所述用户名、密码及所述私钥;
若存在,服务器则利用所述对称加解密算法对将返回的注册失败信息进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到注册
成功信息及所述公钥或者得到注册失败信息;
所述公钥用于客户端在登录服务器时向服务器传输登录信息前加密其登录信息。
进一步,在所述步骤5中,客户端收到的是注册失败信息,则重复执行步骤1~5,
直到注册成功。
进一步,在所述步骤3中,服务器在将客户端的密码写入所述数据库的具体方法包
括:先利用不可逆加密算法计算所述客户端密码的哈希值并经过加盐算法,再将所
述哈希值连同所述用户名、私钥字符串、加盐字符串一起写入数据库。
本发明还提供了一种用户识别方法,客户端与服务器上均包含有相同的对称加解密
算法,包括:
步骤1:客户端利用所述对称加解密算法对用户名及登录密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及登录密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及登录密码进行解密;
然后将解密得到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对
比,若相同,服务器生成一随机密钥并则利用所述对称加解密算法对登录成功信息
及随机密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信
息进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到登录
成功信息及所述随机密钥或者得到登录失败信息;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
进一步,步骤1进一步包括:客户端先利用注册得到的公钥对登录密码进行加密,
然后再使用所述对称加解密算法对用户名及非对称加密后的登录密码进行加密;
相应的,步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行
解密,得到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对
应的私钥对所述公钥加密后的登录密码解密,得到登录密码;服务器然后将解密得
到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对比,若相同,
服务器生成一随机密钥并则利用所述对称加解密算法对登录成功信息及随机密钥进
行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行加密。
进一步,服务器的数据库中存储有所有注册成功的用户名,及其对应的登录密码的
哈希值,所述登录密码的哈希值由使用不可逆加密算法计算登录密码得到的;
步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解密,得
到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥
对所述公钥加密后的登录密码解密,得到登录密码;服务器然后将解密得到的登录
密码的哈希值与服务器的数据库中所述用户名对应的登录密码的哈希值进行对比,
若相同,服务器生成一随机密钥并利用所述对称加解密算法对登录成功信息及随机
密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行
加密。
对应上述方法,本发明还提供了一种用户登录的客户端软系统,包括:
对称加密模块,用于利用对称加解密算法对用户名及登录密码进行加密;
信息发送模块,用于按照http协议将对称加密模块加密后的信息传输给服务器;
以及,对称解密模块,用于利用所述对称加解密算法对服务器返回的信息进行解密,
得到登录成功信息及所述随机密钥或者得到登录失败信息;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
进一步,还包括:
非对称加密模块,用于利用注册时获得的公钥对所述登录密码进行加密;
相应的,所述对称加密模块用于利用所述对称加解密算法对用户名及公钥加密后的
登录密码进行加密。
一种识别用户的服务器软系统,包括:
对称解密模块,用于利用对称加解密算法对接收到的用户名及登录密码进行解密;
登录信息认证模块,用于将解密得到的登录密码与服务器的数据库中所述用户名对
应的登录密码进行对比,若相同,则生成一随机密钥,将所述随机密钥及登录成功
信息交由对称加密模块,若不相同,则将登录失败信息交由对称加密模块;
对称加密模块,用于利用所述对称加解密算法对登录信息认证模块输出的所述随机
密钥及登录成功信息或登录信息认证模块输出的登录失败信息进行加密;
信息发送模块,用于按照http协议将所述对称加密模块加密得到的信息传输给客
户端;
所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
进一步,还包括非对称解密模块,以及服务器的数据库中存储有所有注册成功的用
户名及其对应的登录密码的哈希值,所述登录密码的哈希值由使用不可逆加密算法
计算登录密码得到的;
所述对称解密模块用于利用所述对称加解密算法对接收到的用户名及公钥加密的登
录密码进行解密,得到用户名及公钥加密的登录密码;
所述非对称解密模块用于利用数据库中所述用户名对应的私钥对所述公钥加密后的
登录密码解密,得到登录密码;
不可逆加密模块,用于利用不可逆加密算法计算解密后的登录密码的哈希值;
登录信息认证模块,用于将解密得到的登录密码的哈希值与服务器的数据库中所述
用户名对应的登录密码的哈希值进行对比,若相同,则生成一随机密钥,将所述随
机密钥及登录成功信息则交由所述对称加密模块,若不相同,则将登录失败信息交
由所述对称加密模块。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1.由于本发明中客户端及服务器发出的信息都是经过加密的,即使传输信息从传输
信道中非法窃取,也无法破解传输信息的明文,实现了基于http协议的用户信息
安全认证,同时保留了http协议的低成本优势。
2.本发明中的用户识别方法中,还进一步使用了非对称加密算法及不可逆加密算法,
更加确保了认证的可靠性。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1为本发明中用户注册方法一个实施例的流程图。
图2为本发明中用户登录方法一个实施例的流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的
特征和/或步骤以外,均可以以任何方式组合。
本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替
代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一
个例子而已。
第一实施例:
如图1,一种用户注册方法,客户端与服务器上均包含有相同的对称加解密算法,且
双方遵循http通信协议,包括:
步骤1:客户端利用所述对称加解密算法对用户名及密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及密码进行解密;查找
服务器的数据库中是否已经存在所述用户名,若不存在,服务器则利用非对称加密
算法为此用户产生一个公钥/私钥的密钥对,并且服务器利用所述对称加解密算法
对将返回的注册成功信息及所述公钥进行加密,同时服务器向数据库写入所述用户
名、密码以及所述私钥;若存在,服务器则利用所述对称加解密算法对将返回的注
册失败信息进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到注册
成功信息及所述公钥或者得到注册失败信息。
所述对称加解密算法可以是现有的任意一种算法,非对称加密算法可以是现有的,
所述非对称加密算法位于服务器上,提供一对公钥与私钥,服务器上存储有私钥,
将公钥分发给注册成功的用户,后续用户可利用所述公钥加密登录密码等登录信息。
在另一实施例中,在所述步骤5中,客户端收到的是注册失败信息时,可重复执行
步骤1~5,直到注册成功。
进一步,在所述步骤3中,服务器在将客户端的密码写入所述数据库的具体方法包
括:先利用不可逆加密算法计算所述客户端密码的哈希值,再将所述哈希值连同所
述用户名、所述私钥一起写入数据库。
在其他实施例中,所述登录密码的哈希值由使用不可逆加密算法,如SHA-1算法,
这样的话,即使是内部运营/运维人员也无法从数据库中得到密码的明文,从而保
护了账户的安全。为了使得不可逆加密算法计算得到的密文更加难以破解,还可以
同时使用加盐算法。此时,在所述步骤3中,服务器在将客户端的密码写入所述数
据库的具体方法包括:先利用不可逆加密算法计算所述客户端密码的哈希值,再使
用加盐算法将哈希值与一加盐值组合在一起得到一串字符串,再将所述字符串连同
所述用户名、所述私钥以及加盐值一起写入数据库。
第二实施例:
如图2,注册完毕后用户通过用户名及登录密码登录服务器,具体过程是这样的:
首先,客户端与服务器上均包含有相同的对称加解密算法,包括:
步骤1:客户端利用所述对称加解密算法对用户名及登录密码进行加密;
步骤2:客户端按照http协议将加密后的用户名及登录密码传输给服务器;
步骤3:服务器利用所述对称加解密算法对接收到的用户名及登录密码进行解密;
然后将解密得到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对
比,若相同,服务器生成一随机密钥并利用所述对称加解密算法对登录成功信息及
随机密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息
进行加密;
步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端;
步骤5:客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到登录
成功信息及所述随机密钥或者得到登录失败信息;
所述随机密钥为客户端使用服务器提供的服务应用所需要的短时验证密码。服务器
把用户名和随机密钥保存在内存或高速存储设备(如SSD)中,并且为随机密钥
设定有效时间(比如8小时有效)。用户拿到随机密钥后,在随机密钥有效期间只
需使用用户名及随机密钥登录并使用服务器提供的服务应用,无需用公钥加密密码
去登录,既保证了信息安全又简化了用户的登录程序。本实施例中的对称加密算法
与第一实施例中的一样,随机密码可以是一组随机数。
在其他实施例中,步骤5中当客户端收到登录失败的信息后,可以重复执行步骤
1~5。
第三实施例:
本实施例在第二实施例基础上对其中的步骤1、3做了改进。
步骤1进一步包括:客户端先利用注册时获得的公钥对登录密码进行加密,然后再
使用所述对称加解密算法对用户名及公钥加密后的登录密码进行加密;
相应的,步骤3进一步包括:利用所述对称加解密算法对接收到的信息进行解密得
到用户名及登录密码的密文;然后将使用数据库中所述用户名对应的私钥解密所述
密文,得到用户的登录密码,将解密得到的登录密码与服务器的数据库中所述用户
名对应存储的登录密码进行对比,若相同,则表示用户登录成功,服务器生成一随
机密钥并则利用所述对称加解密算法对登录成功信息及随机密钥进行加密;若不相
同,服务器则利用所述对称加解密算法对登录失败信息进行加密。
第四实施例:
为了进一步确保登录密码的安全,本实施例在第三实施例基础上做了进一步优化。
服务器的数据库中存储有所有注册成功的用户名及其对应的登录密码的哈希值,所
述登录密码的哈希值由使用不可逆加密算法,如SHA-1算法,计算登录密码得到
的。这样的话,即使是内部运营/运维人员也无法从数据库中得到密码的明文,从
而保护了账户的安全。
步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解密,得
到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥
对所述公钥加密后的登录密码进行解密,得到登录密码;服务器再利用不可逆加密
算法计算解密后的登录密码得到一哈希值,并将该哈希值与服务器的数据库中所述
用户名对应的登录密码的哈希值进行对比,若相同,服务器生成一随机密钥并则利
用所述对称加解密算法对登录成功信息及随机密钥进行加密;若不相同,服务器则
利用所述对称加解密算法对登录失败信息进行加密。
对称加密算法易于被破解,而公钥/私钥的非对称加密算法是不易破解的,在实际
应用中,使服务器定期(如每隔半年)更换一次公钥/私钥的密钥对,有效防止人
为泄密。
为了使本实施例里中的不可逆加密算法计算登录密码得到的哈希值更加安全可靠,
还可以同时使用加盐算法。那么步骤3进一步包括:服务器利用所述对称加解密算
法对接收到的信息进行解密,得到用户名及公钥加密后的登录密码;服务器再利用
数据库中所述用户名对应的私钥对所述公钥加密后的登录密码进行解密,得到登录
密码;服务器再利用不可逆加密计算解密后的登录密码的哈希值,再使用加盐算法
将该哈希值与数据库中该用户名对应的加盐值进行组合运算得到一字符串,将该字
符串与服务器的数据库中所述用户名对应的字符串进行对比,若相同,服务器生成
一随机密钥并则利用所述对称加解密算法对登录成功信息及随机密钥进行加密;若
不相同,服务器则利用所述对称加解密算法对登录失败信息进行加密。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新
特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
发布评论