首页> 中国专利> 基于CHAP协议的数据交互方法及装置

基于CHAP协议的数据交互方法及装置

摘要

本发明提供了一种基于CHAP协议的数据交互方法及装置,其中,基于CHAP协议的数据交互装置包括客户端和服务器,所述客户端和所述服务器在身份验证成功后进行数据交互。采用第一随机数、非对称加密算法以及安全散列算法来验证所述客户端和所述服务器的合法性,从而实现所述客户端和所述服务器之间的身份验证,避免了中间人的攻击。在身份验证成功后,再在所述客户端和所述服务器之间进行数据传输,保证了所述客户端和所述服务器之间数据传输的安全性及可靠性,同时也避免了重放攻击。

著录项

  • 公开/公告号CN105282168A

    专利类型发明专利

  • 公开/公告日2016-01-27

    原文格式PDF

  • 申请/专利权人 盛趣信息技术(上海)有限公司;

    申请/专利号CN201510745887.1

  • 发明设计人 袁炯;

    申请日2015-11-06

  • 分类号H04L29/06(20060101);H04L9/32(20060101);

  • 代理机构上海思微知识产权代理事务所(普通合伙);

  • 代理人菅秀君

  • 地址 201203 上海市浦东新区张江高科技园区碧波路690号1号楼

  • 入库时间 2023-12-18 13:43:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-05

    授权

    授权

  • 2016-02-24

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20151106

    实质审查的生效

  • 2016-01-27

    公开

    公开

说明书

技术领域

本发明涉及移动通讯数据业务领域,尤其是一种基于CHAP协议的数据交 互方法及装置。

背景技术

随着计算机技术的发展,客户端与服务器之间的数据交互越来越频繁,所 述客户端和所述服务器之间数据传输的安全性所面临的挑战越来越严峻。

当前,通常选择将所述客户端和所述服务器之间的请求进行参数签名,或 者加入迭代次数和时间戳来防止中间人攻击,以保证所述客户端和所述服务器 之间数据传输的安全。这种技术方案简单,但是依赖于时间同步,实现困难, 也不太精确。同时,也面临蛮力和猜测攻击。

发明内容

本发明的目的在于提供一种基于CHAP协议的数据交互方法及装置,以解 决客户端和服务器之间数据传输的安全问题。

为了达到上述目的,本发明提供了一种基于CHAP协议的数据交互方法及 装置,其中,基于CHAP协议的数据交互方法,包括以下步骤:

所述客户端采用非对称加密算法将存储在本地的授权码用一公钥加密,然 后将加密后的授权码发送给服务器进行挑战;

所述服务器接收到所述加密后的授权码后,用与所述公钥对应的私钥进行 解密,获取所述授权码,并验证所述授权码的合法性;

当验证所述授权码合法后,所述服务器生成一第一随机数,将所述服务器 上存储的与所述授权码对应的随机数更新为所述第一随机数,利用安全散列算 法对所述授权码和所述第一随机数进行加密形成一第一密文,并将所述第一密 文和所述第一随机数作为第一挑战值发送给所述客户端;

所述客户端接收到所述第一挑战值后,利用所述安全散列算法对存储在本 地的授权码和所述第一随机数进行加密形成一第二密文,比较所述第一密文和 所述第二密文,当所述第一密文与所述第二密文相同时,则所述服务器身份合 法,所述客户端对所述服务器作出应答;

所述服务器接收并验证所述客户端的应答,当所述客户端的应答正确时, 所述客户端合法,所述客户端和所述服务器之间进行数据传输。

优选的,在上述的基于CHAP协议的数据交互方法中,所述服务器在验证 所述授权码的合法性时,当所述授权码在所述服务器上已注册,且在有效期内, 则所述授权码合法。

优选的,在上述的基于CHAP协议的数据交互方法中,所述客户端在将加 密后的授权码发送给服务器之前,需要对所述加密后的授权码进行编码,所述 服务器在接收到编码后的所述加密后的授权码后,先解码以获取所述加密后的 授权码。

优选的,在上述的基于CHAP协议的数据交互方法中,所述服务器接收并 验证所述客户端的应答,当所述客户端的应答正确时,所述客户端合法,所述 客户端和所述服务器之间进行数据传输的步骤包括:

所述客户端利用安全散列算法对存储在本地的授权码、通行密语以及所述 第一随机数进行加密,形成第三密文,并将所述第三密文作为对所述服务器的 应答,并将一业务参数发送给所述服务器;

所述服务器接收到所述第三密文和所述业务参数后,验证所述客户端的应 答,当所述客户端的应答正确时,所述客户端合法,根据第三密文和所述业务 参数,获取与所述业务参数相关的业务数据,对所述业务数据进行加密,形成 第四密文,将所述第四密文发送给所述客户端;所述服务器生成一第二随机数, 并将所述服务器上存储的与所述授权码对应的随机数更新为所述第二随机数。

优选的,在上述的基于CHAP协议的数据交互方法中,所述服务器利用对 称加密算法对所述业务数据进行加密形成所述第四密文。

优选的,在上述的基于CHAP协议的数据交互方法中,所述客户端和所述 服务器上均存储有所述通行密语。

优选的,在上述的基于CHAP协议的数据交互方法中,所述通行密语为一 字符串。

本发明还提供了一种使用如上所述基于CHAP协议的数据交互方法的装置, 包括:

客户端和服务器,所述客户端对存储在本地的授权码进行加密后传输给所 述服务器,所述服务器接收到加密后的授权码进行解密并验证其合法性;当验 证所述授权码合法时,所述服务器生成一第一随机数,并利用安全散列算法对 所述授权码和所述第一随机数进行加密形成第一密文,将所述第一密文和所述 第一随机数发送给所述客户端,所述客户端接收到所述第一密文和所述第一随 机数后,利用安全散列算法对存储在本地的授权码和所述第一随机数进行加密, 形成第二密文,并对所述第一密文和所述第二密文进行比较,当所述第一密文 和所述第二密文相同时,所述客户端和所述服务器身份合法;所述客户端利用 安全散列算法对存储在本地的授权码、通行密语以及所述第一随机数进行加密, 形成第三密文,并将所述第三密文作为对所述服务器的应答,并将一业务参数 发送给所述服务器,所述服务器接收到所述第三密文和所述业务参数后,验证 所述客户端的应答,当所述客户端的应答正确时,所述客户端合法,然后根据 第三密文和所述业务参数,获取与所述业务参数相关的业务数据,对所述业务 数据进行加密,形成第四密文,将所述第四密文发送给所述客户端。

优选的,在上述的基于CHAP协议的数据交互装置中,所述客户端包括: 客户端控制模块、客户端发送模块、客户端接收模块、客户端存储模块以及客 户端比较模块,其中,

所述客户端控制模块将存储在本地的授权码进行加密,形成加密后的授权 码,利用所述安全散列算法对本地存储的授权码和所述第一随机数进行加密形 成第二密文;

所述客户端发送模块将所述加密后的授权码、所述第三密文和所述业务参 数发送给所述服务器接收模块;

所述客户端接收模块用于接收所述服务器发送模块发送的所述第一密文、 所述第一随机参数以及所述第四密文;

所述客户端存储模块用于存储所述授权码、所述第一密文、所述第二密文、 所述第三密文、所述第四密文、所述业务参数、所述第一参数以及所述通行密 语;

所述客户端比较模块用于比较所述第一密文和所述第二密文。

优选的,在上述的基于CHAP协议的数据交互装置中,所述服务器包括: 服务器控制模块、服务器发送模块、服务器接收模块以及服务器存储模块,其 中,

所述服务器控制模块用于验证所述授权码的合法性、生成所述第一随机参 数、形成所述第一密文以及所述第四密文;

所述服务器发送模块用于发送所述第一密文、所述第一随机参数以及所述 第四密文;

所述服务器接收模块用于接收所述客户端发送模块发送的所述加密后的授 权码、所述第三密文和所述业务参数;

所述服务器存储模块用于存储所述授权码、所述第一密文、所述第二密文、 所述第三密文、所述第四密文、所述业务参数、所述第一参数以及所述通行密 语。

在本发明提供的基于CHAP协议的数据交互方法及装置中,采用第一随机 数、非对称加密算法以及安全散列算法来验证所述客户端和所述服务器的合法 性,从而实现所述客户端和所述服务器之间的身份验证,避免了中间人的攻击。 在身份验证成功后,再在所述客户端和所述服务器之间进行数据传输,保证了 所述客户端和所述服务器之间数据传输的安全性及可靠性,同时也避免了重放 攻击。

附图说明

图1为本发明实施例中基于CHAP协议的数据交互装置结构示意图;

图2为本发明实施例中基于CHAP协议的数据交互方法的流程图;

图3为图2中步骤S5的流程图;

图中:100-客户端;1001-客户端控制模块;1002-客户端发送模块;1003- 客户端接收模块;1004-客户端存储模块;1005-客户端比较模块;

200-服务器;2001-服务器控制模块;2002-服务器发送模块;2003-服务器接 收模块;2004-服务器存储模块。

具体实施方式

下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列 描述和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用 非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明 实施例的目的。

本实施例提供了一种基于CHAP协议的数据交互装置,如图1所示,包括: 客户端100和服务器200,所述客户端100对存储在本地的授权码进行加密后传 输给所述服务器200,所述服务器200接收到加密后的授权码进行解密并验证其 合法性;当验证所述授权码合法时,所述服务器200生成一第一随机数,并利 用安全散列算法对所述授权码和所述第一随机数进行加密形成第一密文,将所 述第一密文和所述第一随机数发送给所述客户端100,所述客户端100接收到所 述第一密文和所述第一随机数后,利用安全散列算法对存储在本地的授权码和 所述第一随机数进行加密,形成第二密文,并对所述第一密文和所述第二密文 进行比较,当所述第一密文和所述第二密文相同时,所述客户端100和所述服 务器200身份合法;所述客户端100利用安全散列算法对存储在本地的授权码、 通行密语以及所述第一随机数进行加密,形成第三密文,并将所述第三密文和 一业务参数发送给所述服务器200作为应答,所述服务器200接收到所述第三 密文和所述业务参数后,验证所述客户端100的应答,当所述客户端100的应 答正确时,所述客户端100合法,然后根据第三密文和所述业务参数,获取与 所述业务参数相关的业务数据,对所述业务数据进行加密,形成第四密文,将 所述第四密文发送给所述客户端100。

具体的,所述客户端100包括:客户端控制模块1001、客户端发送模块1002、 客户端接收模块1003、客户端存储模块1004以及客户端比较模块1005,其中, 所述客户端控制模块1001将存储在本地的授权码进行加密,形成加密后的授权 码,利用所述安全散列算法对本地存储的授权码和所述第一随机数进行加密形 成第二密文;所述客户端发送模块1002将所述加密后的授权码、所述第三密文 和所述业务参数发送给所述服务器接收模块2003;所述客户端接收模块1003用 于接收所述服务器发送模块2002发送的所述第一密文、所述第一随机参数以及 所述第四密文;所述客户端存储模块1004用于存储所述授权码、所述第一密文、 所述第二密文、所述第三密文、所述第四密文、所述业务参数、所述第一参数 以及所述通行密语;所述客户端比较模块1005用于比较所述第一密文和所述第 二密文。

所述服务器200包括:服务器控制模块2001、服务器发送模块2002、服务 器接收模块2003以及服务器存储模块2004,其中,所述服务器控制模块2001 用于验证所述授权码的合法性、生成所述第一随机参数、形成所述第一密文以 及所述第四密文;所述服务器发送模块2002用于发送所述第一密文、所述第一 随机参数以及所述第四密文;所述服务器接收模块2003用于接收所述客户端发 送模块1002发送的所述加密后的授权码、所述第三密文和所述业务参数;所述 服务器存储模块2004用于存储所述授权码、所述第一密文、所述第二密文、所 述第三密文、所述第四密文、所述业务参数、所述第一参数以及所述通行密语。

其具体的实现方法如图2所示,包括以下步骤:

步骤S1:客户端将存储在本地的授权码用一公钥加密,然后将加密后的授 权码发送给服务器进行挑战。

所述客户端采用非对称加密算法对存储在所述客户端存储模块1004上的授 权码进行加密,且利用所述公钥加密,与所述公钥对应的有一私钥,用于对利 用所述公钥加密的文件进行解密。

进一步的,为了使得所述加密后的授权码能够通过HTTP接口进行传输, 通常需要对所述加密后的授权码进行编码。在本实施例中,对所述加密后的授 权码进行Base64编码之后再向所述服务器传输。在本发明的其他实施例中,还 可以利用其他编码方法进行编码,在此不再赘述。

步骤S2:所述服务器接收到所述加密后的授权码后,用与所述公钥对应的 私钥进行解密,获取所述授权码,并验证所述授权码的合法性。

所述服务器在接收到编码后的所述公钥加密后的授权码后,先对其进行解 码,在本实施例中,即进行利用Base64解码,在本发明的其他实施例中,当在 所述客户端采用其他编码方法时,在所述服务器即采用相同的方法进行解码即 可,在此不再赘述。再用与所述公钥对应的所述私钥进行解密,以获得所述客 户端存储的授权码。

在获取到所述客户端发来的所述授权码后,需要对所述授权码进行验证。 通过验证所述授权码是否在所述服务器上已注册以及是否在有效期内来判断所 述授权码的合法性。具体的,当所述授权码在所述服务器上已注册且在有效期 内,则所述授权码合法。

步骤S3:当验证所述授权码合法后,所述服务器生成一第一随机数,将所 述服务器上存储的与所述授权码对应的随机数更新为所述第一随机数,利用安 全散列算法对所述授权码和所述第一随机数进行加密形成一第一密文,并将所 述第一密文和所述第一随机数作为第一挑战值发送给所述客户端。

具体的,在服务器端,所述服务器生成一第一随机数_random,同时将所述 服务器上存储的与所述授权码对应的随机数修改为所述第一随机数_random,然 后所述服务器利用安全散列算法对所述授权码和所述第一随机数进行加密形成 一第一密文,并将所述第一密文和所述第一随机参数发送给所述客户端。

在本实施例中,采用sha256算法对所述授权码和所述第一随机数进行加密, 如式(1)所示:

A=sha256(授权码+_random);(1)

A即为所述第一密文。

步骤S4:所述客户端接收到所述第一挑战值后,利用所述安全散列算法对 存储在本地的授权码和所述第一随机数进行加密形成一第二密文,比较所述第 一密文和所述第二密文,当所述第一密文与所述第二密文相同时,则所述服务 器身份合法,所述客户端对所述服务器作为应答。

在本实施例中,采用sha256算法对存储在本地的授权码和所述第一随机数 进行加密,如式(2)所示:

C=sha256(本地授权码+_random);(2)

C即为所述第二密文。

具体的,所述安全散列算法具有不可逆性,也就是说只能利用所述安全散 列算法进行加密,不能进行解密,对于相同的内容利用所述安全散列算法进行 加密后的密文是唯一的。也就是说,如果所述客户端存储在本地的授权码与所 述服务器存储的授权码一致,且所述客户端接收到的所述第一随机数与所述服 务器发出的所述第一随机数一致,那么据此利用所述安全散列算法进行加密形 成的所述第一密文和所述第二密文的内容是相同的。而所述客户端存储在本地 的授权码与所述服务器存储的授权码的一致在步骤S2中已经得到验证,即所述 客户端在所述服务器端是合法的。那么如果所述第一密文和所述第二密文的内 容相同,则说明所述客户端接收到的所述第一随机数与所述服务器发出的所述 第一随机数相同,即可验证所述服务器在所述客户端是合法的。

因此,需要对所述第一密文和所述第二密文进行比较,当所述第一密文和 所述第二密文的内容相同时,在说明所述客户端接收到的所述第一随机数与所 述服务器发出的所述第一随机数相同,即验证所述服务器在所述客户端是合法 的。至此,所述服务器身份验证完毕,还需要验证所述客户端的合法性。所述 客户端需要对所述服务器作出应答。

步骤S5:所述服务器接收并验证所述客户端的应答,当所述客户端的应答 正确时,所述客户端合法,所述客户端和所述服务器之间进行数据传输。

具体的,如图3所示,包括以下步骤:

步骤S51:所述客户端利用安全散列算法对存储在本地的授权码、通行密语 以及所述第一随机数进行加密,形成第三密文,并将所述第三密文作为对所述 服务器的应答,并将一业务参数发送给所述服务器。

在本实施例中,采用sha256算法对存储在本地的授权码、通行密语以及所 述第一随机数进行加密,如式(3)所示:

D=sha256(本地授权码+通行密语+_random);(3)

D即为第三密文,即为所述客户端对所述服务器作出的应答。

所述客户端将对所述服务器作出的应答所述第三密文D以及所述业务参数 发送给所述服务器。

所述客户端和所述服务器上均存储有所述通行密语,且所述通行密语为一 字符串。

步骤S52:所述服务器接收到所述第三密文和所述业务参数后,验证所述客 户端的应答,当所述客户端的应答正确时,所述客户端合法,根据第三密文和 所述业务参数,获取与所述业务参数相关的业务数据,对所述业务数据进行加 密,形成第四密文,将所述第四密文发送给所述客户端;所述服务器生成一第 二随机数,并将所述服务器上存储的与所述授权码对应的随机数更新为所述第 二随机数。

具体的,所述服务器接收到所述第三密文D和所述业务参数后,根据所述 客户端对所述服务器的应答,即所述第三密文D来验证所述客户端的合法性。 当所述客户端对所述服务器的应答正确时,所述客户端合法。至此,所述客户 端和所述服务器的身份验证完毕,所述客户端和所述服务器之间可以安全的进 行数据交互。

所述服务器根据所述业务参数获取所述客户端需要的业务数据,然后利用 对称加密算法对所述业务数据进行加密形成第四密文,并将所述第四密文发送 给所述客户端,从而实现所述客户端与所述服务器之间的数据交互。

在本实施例中,采用AES128对称加密算法对所述业务数据进行加密形成所 述第四密文,在本发明的其他实施例中,还可以采用其他对称加密方法加密, 在此不再赘述。

所述服务器生成一第二随机数,并将所述服务器上存储的与所述授权码对 应的随机数更新为所述第二随机数,即将所述服务器上存储的与所述授权码对 应得到所述第一随机数更新为所述第二随机数,防止重放攻击。

综上,在本发明实施例提供的基于CHAP协议的数据交互方法及装置中, 采用第一随机数、非对称加密算法以及安全散列算法来验证所述客户端和所述 服务器的合法性,从而实现所述客户端和所述服务器之间的身份验证,避免了 中间人的攻击。在身份验证成功后,再在所述客户端和所述服务器之间进行数 据传输,保证了所述客户端和所述服务器之间数据传输的安全性及可靠性,同 时也避免了重放攻击。

上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任 何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明 揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离 本发明的技术方案的内容,仍属于本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号