一种用户注册、用户识别方法及系统的制作方法

文档序号:7811655阅读:179来源:国知局
一种用户注册、用户识别方法及系统的制作方法
【专利摘要】本发明公开了一种用户注册、用户识别方法及系统,旨在提供一种基于http协议的加密的客户端注册及用户识别方法。本发明技术要点:包括:步骤1:客户端利用对称加解密算法对用户名及密码进行加密;步骤2:客户端按照http协议将加密后的用户名及密码传输给服务器;步骤3:服务器利用对称加解密算法对接收到的用户名及密码进行解密;查找数据库中是否已经存在所述用户名,若不存在,服务器则利用对称加解密算法对注册成功信息及一非对称加密算法的公钥加密,同时向其数据库写入用户名及密码;若存在则利用所述对称加解密算法对将返回的注册失败信息进行加密;步骤4:服务器按照http协议将执行步骤3得到的加密信息传输给客户端等。
【专利说明】-种用户注册、用户识别方法及系统

【技术领域】
[0001] 本发明涉及网络安全技术,尤其是一种基于加密技术的客户端注册及用户识别方 法。

【背景技术】
[0002] 常见的云计算平台在识别用户时,通常采用的方式是使用HTTPS协议,它保证了 终端与服务器之间的信息传输是加密的、安全的。但这种技术对于智能电视、智能空调等终 端设备来说,就没那么适合。因为对于家电的应用APP领域,HTTPS协议有很多缺点。主要 有: 1) HTTPS协议需要到CA申请证书,证书都是收费的,这增加了终端的成本。
[0003] 2) HTTPS是具有安全性的SSL加密传输协议,与HTTP协议相比,它对网络带宽资 源的消耗要大得多。
[0004] 3)它增加了服务器资源的损耗,需要更多的硬件服务器,也就增加了厂家的服务 成本。
[0005] 也就是说,一台服务器假如原本使用HTTP协议供多个客户端连接,支持的客户端 连接数可达到3000个,而采用HTTPS协议供多个客户端连接,支持的客户端连接数只能达 到600多个。因此若某一厂家需要支持100万用户数量的访问时,就需要配置更多的服务 器。


【发明内容】

[0006] 可见,https协议虽然能保证终端与服务器之间的信息传输安全但是成本却不及 基于http协议的信息传输成本低。针对这一存在的问题,本发明提供一种基于http协议 的加密的客户端注册及用户识别方法。
[0007] 本发明采用了如下技术方案: 一种用户注册方法,其特征在于,客户端与服务器上均包含有相同的对称加解密算法, 包括: 步骤1 :客户端利用所述对称加解密算法对用户名及密码进行加密; 步骤2 :客户端按照http协议将加密后的用户名及密码传输给服务器; 步骤3 :服务器利用所述对称加解密算法对接收到的用户名及密码进行解密;查找服 务器的数据库中是否已经存在所述用户名,若不存在,服务器先利用非对称加密算法为此 用户产生一公私钥对,利用所述对称加解密算法对将返回的注册成功信息及所述公钥进行 加密,同时服务器向其数据库写入所述用户名、密码及所述私钥;若存在,服务器则利用所 述对称加解密算法对将返回的注册失败信息进行加密; 步骤4 :服务器按照http协议将执行步骤3得到的加密信息传输给客户端; 步骤5 :客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到注册成 功信息及所述公钥或者得到注册失败信息; 所述公钥用于客户端在登录服务器时向服务器传输登录信息前加密其登录信息。
[0008] 进一步,在所述步骤5中,客户端收到的是注册失败信息,则重复执行步骤1~5,直 到注册成功。
[0009] 进一步,在所述步骤3中,服务器在将客户端的密码写入所述数据库的具体方法 包括:先利用不可逆加密算法计算所述客户端密码的哈希值并经过加盐算法,再将所述哈 希值连同所述用户名、私钥字符串、加盐字符串一起写入数据库。
[0010] 本发明还提供了一种用户识别方法,客户端与服务器上均包含有相同的对称加解 密算法,包括: 步骤1 :客户端利用所述对称加解密算法对用户名及登录密码进行加密; 步骤2 :客户端按照http协议将加密后的用户名及登录密码传输给服务器; 步骤3 :服务器利用所述对称加解密算法对接收到的用户名及登录密码进行解密;然 后将解密得到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对比,若相 同,服务器生成一随机密钥并则利用所述对称加解密算法对登录成功信息及随机密钥进行 加密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行加密; 步骤4 :服务器按照http协议将执行步骤3得到的加密信息传输给客户端; 步骤5 :客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到登录成 功信息及所述随机密钥或者得到登录失败信息; 所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
[0011] 进一步,步骤1进一步包括:客户端先利用注册得到的公钥对登录密码进行加密, 然后再使用所述对称加解密算法对用户名及非对称加密后的登录密码进行加密; 相应的,步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解 密,得到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥 对所述公钥加密后的登录密码解密,得到登录密码;服务器然后将解密得到的登录密码与 服务器的数据库中所述用户名对应的登录密码进行对比,若相同,服务器生成一随机密钥 并则利用所述对称加解密算法对登录成功信息及随机密钥进行加密;若不相同,服务器则 利用所述对称加解密算法对登录失败信息进行加密。
[0012] 进一步,服务器的数据库中存储有所有注册成功的用户名,及其对应的登录密码 的哈希值,所述登录密码的哈希值由使用不可逆加密算法计算登录密码得到的; 步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解密,得到 用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥对所述公 钥加密后的登录密码解密,得到登录密码;服务器然后将解密得到的登录密码的哈希值与 服务器的数据库中所述用户名对应的登录密码的哈希值进行对比,若相同,服务器生成一 随机密钥并利用所述对称加解密算法对登录成功信息及随机密钥进行加密;若不相同,月艮 务器则利用所述对称加解密算法对登录失败信息进行加密。
[0013] 对应上述方法,本发明还提供了一种用户登录的客户端软系统,包括: 对称加密模块,用于利用对称加解密算法对用户名及登录密码进行加密; 信息发送模块,用于按照http协议将对称加密模块加密后的信息传输给服务器; 以及,对称解密模块,用于利用所述对称加解密算法对服务器返回的信息进行解密,得 到登录成功信息及所述随机密钥或者得到登录失败信息; 所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
[0014] 进一步,还包括: 非对称加密模块,用于利用注册时获得的公钥对所述登录密码进行加密; 相应的,所述对称加密模块用于利用所述对称加解密算法对用户名及公钥加密后的登 录密码进行加密。
[0015] 一种识别用户的服务器软系统,包括: 对称解密模块,用于利用对称加解密算法对接收到的用户名及登录密码进行解密; 登录信息认证模块,用于将解密得到的登录密码与服务器的数据库中所述用户名对应 的登录密码进行对比,若相同,则生成一随机密钥,将所述随机密钥及登录成功信息交由对 称加密模块,若不相同,则将登录失败信息交由对称加密模块; 对称加密模块,用于利用所述对称加解密算法对登录信息认证模块输出的所述随机密 钥及登录成功信息或登录信息认证模块输出的登录失败信息进行加密; 信息发送模块,用于按照http协议将所述对称加密模块加密得到的信息传输给客户 端; 所述随机密钥为客户端使用服务器提供的服务应用所需要的验证密码。
[0016] 进一步,还包括非对称解密模块,以及服务器的数据库中存储有所有注册成功的 用户名及其对应的登录密码的哈希值,所述登录密码的哈希值由使用不可逆加密算法计算 登录密码得到的; 所述对称解密模块用于利用所述对称加解密算法对接收到的用户名及公钥加密的登 录密码进行解密,得到用户名及公钥加密的登录密码; 所述非对称解密模块用于利用数据库中所述用户名对应的私钥对所述公钥加密后的 登录密码解密,得到登录密码; 不可逆加密模块,用于利用不可逆加密算法计算解密后的登录密码的哈希值; 登录信息认证模块,用于将解密得到的登录密码的哈希值与服务器的数据库中所述用 户名对应的登录密码的哈希值进行对比,若相同,则生成一随机密钥,将所述随机密钥及登 录成功信息则交由所述对称加密模块,若不相同,则将登录失败信息交由所述对称加密模 块。
[0017] 综上所述,由于采用了上述技术方案,本发明的有益效果是: 1.由于本发明中客户端及服务器发出的信息都是经过加密的,即使传输信息从传输信 道中非法窃取,也无法破解传输信息的明文,实现了基于http协议的用户信息安全认证, 同时保留了 http协议的低成本优势。
[0018] 2.本发明中的用户识别方法中,还进一步使用了非对称加密算法及不可逆加密算 法,更加确保了认证的可靠性。

【专利附图】

【附图说明】
[0019] 本发明将通过例子并参照附图的方式说明,其中: 图1为本发明中用户注册方法一个实施例的流程图。
[0020] 图2为本发明中用户登录方法一个实施例的流程图。

【具体实施方式】
[0021] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥 的特征和/或步骤以外,均可以以任何方式组合。
[0022] 本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的 替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子 而已。
[0023] 第一实施例: 如图1,一种用户注册方法,客户端与服务器上均包含有相同的对称加解密算法,且双 方遵循http通信协议,包括: 步骤1 :客户端利用所述对称加解密算法对用户名及密码进行加密; 步骤2 :客户端按照http协议将加密后的用户名及密码传输给服务器; 步骤3 :服务器利用所述对称加解密算法对接收到的用户名及密码进行解密;查找服 务器的数据库中是否已经存在所述用户名,若不存在,服务器则利用非对称加密算法为此 用户产生一个公钥/私钥的密钥对,并且服务器利用所述对称加解密算法对将返回的注册 成功信息及所述公钥进行加密,同时服务器向数据库写入所述用户名、密码以及所述私钥; 若存在,服务器则利用所述对称加解密算法对将返回的注册失败信息进行加密; 步骤4 :服务器按照http协议将执行步骤3得到的加密信息传输给客户端; 步骤5 :客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到注册成 功信息及所述公钥或者得到注册失败信息。
[0024] 所述对称加解密算法可以是现有的任意一种算法,非对称加密算法可以是现有 的,所述非对称加密算法位于服务器上,提供一对公钥与私钥,服务器上存储有私钥,将公 钥分发给注册成功的用户,后续用户可利用所述公钥加密登录密码等登录信息。
[0025] 在另一实施例中,在所述步骤5中,客户端收到的是注册失败信息时,可重复执行 步骤1~5,直到注册成功。
[0026] 进一步,在所述步骤3中,服务器在将客户端的密码写入所述数据库的具体方法 包括:先利用不可逆加密算法计算所述客户端密码的哈希值,再将所述哈希值连同所述用 户名、所述私钥一起写入数据库。
[0027] 在其他实施例中,所述登录密码的哈希值由使用不可逆加密算法,如SHA-1算法, 这样的话,即使是内部运营/运维人员也无法从数据库中得到密码的明文,从而保护了账 户的安全。为了使得不可逆加密算法计算得到的密文更加难以破解,还可以同时使用加盐 算法。此时,在所述步骤3中,服务器在将客户端的密码写入所述数据库的具体方法包括: 先利用不可逆加密算法计算所述客户端密码的哈希值,再使用加盐算法将哈希值与一加盐 值组合在一起得到一串字符串,再将所述字符串连同所述用户名、所述私钥以及加盐值一 起写入数据库。
[0028] 第二实施例: 如图2,注册完毕后用户通过用户名及登录密码登录服务器,具体过程是这样的:首 先,客户端与服务器上均包含有相同的对称加解密算法,包括: 步骤1 :客户端利用所述对称加解密算法对用户名及登录密码进行加密; 步骤2 :客户端按照http协议将加密后的用户名及登录密码传输给服务器; 步骤3 :服务器利用所述对称加解密算法对接收到的用户名及登录密码进行解密;然 后将解密得到的登录密码与服务器的数据库中所述用户名对应的登录密码进行对比,若相 同,服务器生成一随机密钥并利用所述对称加解密算法对登录成功信息及随机密钥进行加 密;若不相同,服务器则利用所述对称加解密算法对登录失败信息进行加密; 步骤4 :服务器按照http协议将执行步骤3得到的加密信息传输给客户端; 步骤5 :客户端利用所述对称加解密算法对服务器返回的信息进行解密,得到登录成 功信息及所述随机密钥或者得到登录失败信息; 所述随机密钥为客户端使用服务器提供的服务应用所需要的短时验证密码。服务器把 用户名和随机密钥保存在内存或高速存储设备(如SSD)中,并且为随机密钥设定有效时间 (比如8小时有效)。用户拿到随机密钥后,在随机密钥有效期间只需使用用户名及随机密 钥登录并使用服务器提供的服务应用,无需用公钥加密密码去登录,既保证了信息安全又 简化了用户的登录程序。本实施例中的对称加密算法与第一实施例中的一样,随机密码可 以是一组随机数。
[0029] 在其他实施例中,步骤5中当客户端收到登录失败的信息后,可以重复执行步骤 1?5。
[0030] 第三实施例: 本实施例在第二实施例基础上对其中的步骤1、3做了改进。
[0031] 步骤1进一步包括:客户端先利用注册时获得的公钥对登录密码进行加密,然后 再使用所述对称加解密算法对用户名及公钥加密后的登录密码进行加密; 相应的,步骤3进一步包括:利用所述对称加解密算法对接收到的信息进行解密得到 用户名及登录密码的密文;然后将使用数据库中所述用户名对应的私钥解密所述密文,得 到用户的登录密码,将解密得到的登录密码与服务器的数据库中所述用户名对应存储的登 录密码进行对比,若相同,则表示用户登录成功,服务器生成一随机密钥并则利用所述对称 加解密算法对登录成功信息及随机密钥进行加密;若不相同,服务器则利用所述对称加解 密算法对登录失败信息进行加密。
[0032] 第四实施例: 为了进一步确保登录密码的安全,本实施例在第三实施例基础上做了进一步优化。 [0033] 服务器的数据库中存储有所有注册成功的用户名及其对应的登录密码的哈希值, 所述登录密码的哈希值由使用不可逆加密算法,如SHA-1算法,计算登录密码得到的。这样 的话,即使是内部运营/运维人员也无法从数据库中得到密码的明文,从而保护了账户的 安全。
[0034] 步骤3进一步包括:服务器利用所述对称加解密算法对接收到的信息进行解密, 得到用户名及公钥加密后的登录密码;服务器再利用数据库中所述用户名对应的私钥对所 述公钥加密后的登录密码进行解密,得到登录密码;服务器再利用不可逆加密算法计算解 密后的登录密码得到一哈希值,并将该哈希值与服务器的数据库中所述用户名对应的登录 密码的哈希值进行对比,若相同,服务器生成一随机密钥并则利用所述对称加解密算法对 登录成功信息及随机密钥进行加密;若不相同,服务器则利用所述对称加解密算法对登录 失败信息进行加密。
[0035] 对称加密算法易于被破解,而公钥/私钥的非对称加密算法是不易破解的,在实 际应用中,使服务器定期(如每隔半年)更换一次公钥/私钥的密钥对,有效防止人为泄密。
[0036] 为了使本实施例里中的不可逆加密算法计算登录密码得到的哈希值更加安全可 靠,还可以同时使用加盐算法。那么步骤3进一步包括:服务器利用所述对称加解密算法对 接收到的信息进行解密,得到用户名及公钥加密后的登录密码;服务器再利用数据库中所 述用户名对应的私钥对所述公钥加密后的登录密码进行解密,得到登录密码;服务器再利 用不可逆加密计算解密后的登录密码的哈希值,再使用加盐算法将该哈希值与数据库中该 用户名对应的加盐值进行组合运算得到一字符串,将该字符串与服务器的数据库中所述用 户名对应的字符串进行对比,若相同,服务器生成一随机密钥并则利用所述对称加解密算 法对登录成功信息及随机密钥进行加密;若不相同,服务器则利用所述对称加解密算法对 登录失败信息进行加密。
[0037] 本发明并不局限于前述的【具体实施方式】。本发明扩展到任何在本说明书中披露的 新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。
【权利要求】
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所述的一种识别用户的服务器系统,其特征在于,还包括非对称解 密模块,以及服务器的数据库中存储有所有注册成功的用户名及其对应的登录密码的哈希 值,所述登录密码的哈希值由使用不可逆加密算法计算登录密码得到的; 所述对称解密模块用于利用所述对称加解密算法对接收到的用户名及公钥加密的登 录密码进行解密,得到用户名及公钥加密的登录密码; 所述非对称解密模块用于利用数据库中所述用户名对应的私钥对所述公钥加密后的 登录密码解密,得到登录密码; 不可逆加密模块,用于利用不可逆加密算法计算解密后的登录密码的哈希值; 登录信息认证模块,用于将解密得到的登录密码的哈希值与服务器的数据库中所述用 户名对应的登录密码的哈希值进行对比,若相同,则生成一随机密钥,将所述随机密钥及登 录成功信息则交由所述对称加密模块,若不相同,则将登录失败信息交由所述对称加密模 块。
【文档编号】H04L29/06GK104219228SQ201410405307
【公开日】2014年12月17日 申请日期:2014年8月18日 优先权日:2014年8月18日
【发明者】李强, 李晓东, 刘 东 申请人:四川长虹电器股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1