本申请涉及数据安全领域,公开了一种数据验证方法及装置。主旨在于解决了现有技术中客户端通过登录账号和登录密码来验证用户身份时,存在泄漏及篡改的安全风险问题,主要方案包括管理员添加用户信息,根据用户信息生成唯一的访问连接,并将生成的访问链接推送至用户,用户通过访问链接使用用户名跟密码请求登录,服务端收到请求后验证用户名及密码信息,如验证成功,服务器签发一个token,并将token发送给用户端,用户端将token存放在Cookie里,所述用户信息包括用户名、密码、手机号;用户端每次向服务端请求资源的时上送服务端签发的Token,服务端收到请求,然后去验证请求里面带着的Token,如果验证成功,就向客户端返回请求的数据,否则拒绝。否则拒绝。
【技术实现步骤摘要】
一种数据验证方法及装置
[0001]本申请涉及互联网安全
,尤其涉及一种数据验证方法及装置。
技术介绍
[0002]在互联网应用中,用户登录应用网站时,需要在软件界面输入账号密码,在通过短信验证码来验证并登入时,需要用户手动输入或粘贴验证码到验证码输入框,操作繁琐且验证码存在泄漏及篡改的安全风险。
技术实现思路
[0003]根据本专利技术实施例提供的方案解决了现有技术中客户端通过登录账号和登录密码来验证用户身份时,存在泄漏及篡改的安全风险问题。
[0004]为了解决上述技术问题,本专利技术采用以下技术手段:
[0005]一种数据验证方法,包括以下步骤:
[0006]管理员添加用户信息,根据用户信息生成唯一的访问连接,并将生成的访问链接推送至用户,用户通过访问链接使用用户名跟密码请求登录,服务端收到请求后验证用户名及密码信息,如验证成功,服务器签发一个token,并将token发送给用户端,用户端将token 存放在Cookie里,所述用户信息包括用户名、密码、手机号;
[0007]用户端每次向服务端请求资源的时上送服务端签发的Token,服务端收到请求,然后去验证请求里面带着的Token,如果验证成功,就向客户端返回请求的数据,否则返回“404”即“无权限访问”。
[0008]上述技术方案中,访问连接由域名与token进行拼接,token包括Header、Payload 载荷、Signature三部分;
[0009]利用行base64加密算法生成令牌的Header,对{
’
typ
’
:
’
JWT
’
,
’
alg
’
:
’
HS256
’
}进行 base64编码,得到
″
eyJOeXAiOiJKV1QiLCJhbGciOiJIUzI1NJJ9
″
,其中alg表述签名算法, typ表述令牌的类型;
[0010]将用户信息及实际需要传递的数据生成json字符串利用HS256算法进行编码得到令牌的Header部分;
[0011]将Header、Payload载荷、预先设置的秘钥secret通过算法生成Signature签名。
[0012]上述技术方案中,服务端收到请求,然后去验证请求里面带着的Token,具体包括以下步骤:
[0013]服务器接收到Token后,从token的Header解析出签名算法;
[0014]根据解析出的签名算法对Payload载荷进行解析,得到PAYLOAD载荷部分携带的解析用户信息,解析用户信息与服务器存储库内存储的用户对应的注册信息进行匹配,若匹配成功,则验证通过,若匹配不成功,即不存在与PAYLOAD载荷部分信息匹配信息则返回“404”,即“无权限访问”。
[0015]本专利技术还提供了一种数据验证装置,包括:
[0016]访问链接生成模块:管理员添加用户信息,根据用户信息生成唯一的访问连接,并将生成的访问链接推送至用户;
[0017]token签发模块:用户通过访问链接使用用户名跟密码请求登录,服务端收到请求后验证用户名及密码信息,如验证成功,服务器签发一个token,并将token发送给用户端,用户端将token存放在Cookie里,所述用户信息包括用户名、密码、手机号;
[0018]验证模块:用户端每次向服务端请求资源的时上送服务端签发的Token,服务端收到请求,然后去验证请求里面带着的Token,如果验证成功,就向客户端返回请求的数据,否则返回“404”即“无权限访问”。
[0019]上述技术方案中,访问连接由域名与token进行拼接,token包括Header、Payload 载荷、Signature三部分;
[0020]利用行base64加密算法生成令牌的Header,对{
’
typ
’
:
’
JWT
’
,
’
alg
’
:
’
HS256
’
}进行 base64编码,得到
″
eyJ0eXAiOiJKVlQiLCJhbGciOiJIUzIlNiJ9
″
,其中alg表述签名算法, typ表述令牌的类型;
[0021]将用户信息及实际需要传递的数据生成json字符串利用HS256算法进行编码得到令牌的Header部分;
[0022]将Header、Payload载荷、预先设置的秘钥secret通过算法生成Signature签名。
[0023]上述技术方案中,服务端收到请求,然后去验证请求里面带着的Token,具体包括以下步骤:
[0024]服务器接收到Token后,从token的Header解析出签名算法;
[0025]根据解析出的签名算法对Payload载荷进行解析,得到PAYLOAD载荷部分携带的解析用户信息,解析用户信息与服务器存储库内存储的用户对应的注册信息进行匹配,若匹配成功,则验证通过,若匹配不成功,即不存在与PAYLOAD载荷部分信息匹配信息则返回“404”,即“无权限访问”。
[0026]因为本专利技术采用上述技术方案,因此具备以下有益效果:
[0027]1、基于json,方便解析,自定义丰富内容、易维护、扩展性强;
[0028]2、资源服务器使用JWT可以不依赖认证服务器,即可完成授权;
[0029]3、将用户状态分散到了客户端中,可以明显减轻服务端的内存压力,降低服务器查询数据库的次数,可以有效减少性能问题;
[0030]4、安全性,临时且唯一保证不能够重复(缓存有效期机制),修改了数据就要重新签发一个,例如payload中有数据被修改,登录链接马上失效,要重新签发一个,可以防止数据被伪造和篡改;
[0031]5、兼容性,适用移动端应用,token可以被客户端存储就能够使用,而且token还可以跨语言使用;
[0032]6、前后端分离,后端只负责通过暴露的RestApi提供数据,而页面的渲染、路由都由前端完成。因为rest是无状态的,因此也就不会有session记录到服务器端;
具体实施方式
[0033]下面将对本申请实施例中的技术方案进行清楚、完整地描述;
[0034]根据所述客户端登录账号发起的登录请求依次通过登录请求Header头部,用来声
明 token类型和base64自定义加密算法形成第一签名,如{“alg”:“HS256”,“typ”:“JWT”}alg属性表示签名的算法(algorithm),默认是HMAC SHA256(写成HS256);typ 属性表示这个令牌(token)的类型(type),JWT令牌固定写为JWT。
[0035]{“alg”:“HS256本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种数据验证方法,其特征在于包括以下步骤:管理员添加用户信息,根据用户信息生成唯一的访问连接,并将生成的访问链接推送至用户,用户通过访问链接使用用户名跟密码请求登录,服务端收到请求后验证用户名及密码信息,如验证成功,服务器签发一个token,并将token发送给用户端,用户端将token存放在Cookie里,所述用户信息包括用户名、密码、手机号;用户端每次向服务端请求资源的时上送服务端签发的Token,服务端收到请求,然后去验证请求里面带着的Token,如果验证成功,就向客户端返回请求的数据,否则返回“404”即“无权限访问”。2.根据权利要求1所述的一种数据验证方法,其特征在于,访问连接由域名与token进行拼接,token包括Header、Payload载荷、Signature三部分;利用行base64加密算法生成令牌的Header,对{
’
typ
’
:
’
JWT
’
,
’
alg
’
:
’
HS256
’
}进行base64编码,得到
″
eyJ0eXAiOiJKVlQiLCJhbGciOiJIUzI1NiJ9
″
,其中alg表述签名算法,typ表述令牌的类型;将用户信息及实际需要传递的数据生成json字符串利用HS256算法进行编码得到令牌的Header部分;将Header、Payload载荷、预先设置的秘钥secret通过算法生成Signature签名。3.根据权利要求1所述的一种数据验证方法,其特征在于,服务端收到请求,然后去验证请求里面带着的Token,具体包括以下步骤:服务器接收到Token后,从token的Header解析出签名算法;根据解析出的签名算法对Payload载荷进行解析,得到PAYLOAD载荷部分携带的解析用户信息,解析用户信息与服务器存储库内存储的用户对应的注册信息进行匹配,若匹配成功,则验证通过,若匹配不成功,即不存在与PAYLOAD载荷部分信息匹配信息则返回“404”,即“无权限访问”。4.一种数据验证装置,其特征在于包...
【专利技术属性】
技术研发人员:王清锋,程峰,李耀,彭磊,石龙,吴海斌,
申请(专利权)人:武汉众邦银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。