• 塔吉克斯坦驻华大使:“上合八国”将凸显组织影响力 2019-07-16
  • 扫黄打非办约谈网易云、B站等多家网站 2019-07-16
  • 这是房产私有化的结果,如果没有房产私有化,人们就不会买房、炒房,从而也就不会产生目前诸多房地产乱象。 2019-07-04
  • 我国纳米核心技术取得重大突破 2019-07-04
  • 德国:网上发布不当言论最高可获刑5年 2019-06-28
  • 这些中药串起来竟然是首诗 知道它们治什么病吗?(图) 2019-06-08
  • 人民电视--安徽频道--人民网 2019-06-07
  • 2018年汉诺威IT展全新亮相 2019-06-06
  • 高清组图:全国妇联新时代“巾帼志愿者暖心故事”网络展播揭晓仪式 2019-06-05
  • 电影导演霍建起:用电影观察与讲述 2019-06-04
  • 2018年俄罗斯世界杯开赛在即:助威世界杯  勺子显身手 2019-06-04
  • 山东临沭:农民宣讲员诠释十九大精神 2019-06-03
  • 河北省公布8起交办群众信访举报问题查处整改情况 2019-06-03
  • 高清:F1英国站 汉密尔顿强势夺冠 2019-06-02
  • 触电人身伤害案件压降安全大检查专项整治行动启动 2019-06-02
  • 我们用服务每一个客户

    Our intention to service each customer

    诚实 守信 专业 专注

    吉林快3开奖号码:常见的几种数据加密与应用场景

    We will do our best to provide you with better service!

    起因

     吉林快3豹子号遗漏 www.cbzkr.tw 
    最近被一个同事问到,在网络交互中,那部分数据需要被加密那一部分不需要被加密。我觉得这个问题有点太泛了,所以给他科普了一次常见的数据加密与应用场景的课。突然间觉得这个还挺有教育意义的。所以我还是吧这个记录一下吧。

    啊,年轻犯下的错

    当初我们给某个建站平台做手机客户端的时候就没有考虑这些事情,现在想想被攻击实在是太简单了。我们当初做的内容其实根本就没有数据加密的防护,所有的内容都是公开的。尴尬尴尬。

    前一段时间的钓鱼Wifi是怎么做的

    我想讲明白这件事情,你首先得了解一下DNS究竟是怎么工作的。作为一篇数据加密的文章呢,我就不做太多的DNS的介绍,这类介绍应该很多。简单点说,就是通过URL转换为IP的一个步骤。很多时候,连接网络之后,如果你不特殊设置,会遵循路由给你的推荐设置。比如下图,就是我电脑的截图。

    当我访问网络的时候,比如说www.taobao.com那么浏览器会首先查询这个地址的IP是啥。中间的查询过程就不描述了,一般会询问道上图中的10.8.8.8这个服务器中,然后返回淘宝的正确IP地址,然后发起协议,获取网页数据。然后展示出来网页。当然这个是正常情况下,如果DNS告诉你的网址并不是正常的网址,比如说有人写的跟淘宝一毛一样的一个网站你也浑然不知道。如果你在他们网页上输入了账号密码,然后提交的话。实际上就把这个消息发送给了这个网站的制作者,达到了钓鱼的目的。对付小白用户这样肯定是一来一个准,不过大部分人在进入这个系统之后就会发现猫腻了,比如说登陆了很多次,明明账号密码都是对的却登陆不上,进入系统之后发现数据不对,比如说,我之前买的东西居然没有之前订单了。一般人就会警觉可能被钓鱼了。然后修改密码。这样钓到账号密码就已经失效了。

    怎么来做一个简单高效,不容易被发现的钓鱼Wifi

    怎么叫做个简单呢?就是我不用去架设各式各样的假网站,我可以直接截获真网站的各条网络协议。当然了如果路由器支持这是非常方便的事情。不过我对于这种事情并没有设么研究,咱是一个程序员。咱们考虑的当然是怎么用咱的程序解决这个问题。比如说通过反向代理某些网站,比如说反向代理淘宝。你访问我的代理跟你直接访问淘宝是一样的结果。然后我在我的代理上绑定淘宝的域名。当然了,这样做一般是没有效果的,因为访问淘宝的请求不会到我这边来,因为DNS解析并不是指向我的。但是如果这个路由器是我的,那么,我就可以让访问淘宝的请求指向我。这样一来,我就建设好了一个域名是淘宝内容也是淘宝的代理服务器,我就能拿到你所有的网络请求。这只是一个架构设想,千万别拿来做坏事,咱们只讨论技术。其实就是网络请求的截取,我们也只是简单的讨论这一种还有很多很多请求截获手段,我们就不讨论了。

    怎么进行攻击防御

    这个命题就变成了

    怎么让攻击者拿到你的网络请求,却没有什么用

    起因中也介绍了,这是一个跟一个同事讨论引起的帖子,那么,我先贴上他当时回答。他说数据加密就可以了呀??墒鞘菁用芊趾芏嘀盅?,你觉得那种数据加密在这个场景下会奇效呢?他说MD5(不可逆加密)、对称加密、非对称加密。实际上这个地方只有一种数据加密是有效的。来,让我们来分析一下哪个是有效的。

    MD5

    在用户密码的处理中这是一种非常常见的处理方式。但是在登陆场景下这种数据加密方式并不常用。如果使用MD5来进行登录,一般情况需要将用户密码 + 当前时间分钟戳,然后算出一个密文提交给服务器,服务器拿到信息之后,将密码 + 当前时间和当前时间的前后各一分钟算出三个结果。如果客户端提交的数据在三个数据之中,那么就登陆成功,否则就登陆失败。不过这种用法比较局限性。如果你想连用户名都隐去,这种方式是做不到的。

    对称加密

    首先得了解对称加密是什么,对称加密是加密解密用同一个密钥。前端在加密的时候,你肯定要在前端输出一边明文密钥。那么传送的是什么。找到你的密钥之后,你传送的数据不论是什么都可以直接进行解密。

    非对称加密

    这才是正规改用的方式,在服务器上公开公钥??突Ф?、Web页面拿到公钥之后。将内容加密,然后传送给服务器,服务器进行数据解密。这样的话,就算是被人拿到你的信息,也不怕你的数据泄露了。因为没有地方公开私钥,只有服务器自己知道。这样你的账号密码就可以得到有效的?;?。

    那么加密的时候,我都需要怎么处理呢?

    或许你会这么想,如果我数据都要加密那得多累?服务器能够受的了吗?如果只是登陆部分进行加密,那么其他的连接信息怎么保证用户信息不背泄露呢?会不会存在特殊情况呢?这几种加密方式都什么时候会用的到呢?

    举个例子

    登陆

    前面我们已经讲过了,有两种实现方式MD5+时间戳?;蛘叻嵌猿剖羌用芊绞?。

    注册

    这个恐怕只能用非对称加密算法了。因为你得让服务器知道账号密码的原始内容,却不能让截获者知道。

    其他需要身份认证的协议

    一般情况下,我们的身份认证是通过一个Token(其实这个东西不一定存在什么地方,有的时候是放到Body里边的有的时候是放到Cookie的,有时候是放到Head里的,放到什么地方不重要,关键是他的意义)来做的。那么?;ず谜飧鯰oken就非常重要了,因为你的Token一旦被别人抓到了。那么你的消息也就泄露了。其实这个比用户名、密码来的还要更加麻烦一些。因为用户名密码你需要拿到原始明文才算数。但是Token不一样。他直接使用密文也是一样的,因为服务器解密之后会发现你上传来的数据是对的。关于这个,有几种方式来处理来让Token失效,这个一会我们在讲。

    其实聊天中也比较常用

    其实非对称式加密,聊天的过程中用的更多。你想,你的聊天不希望其他人看到的吧。因为毕竟这个是你的隐私呀。所以一般是两个客户端互持对方公钥,然后发送消息。不过如果传送对象是一个群,你需要发送消息给每个人。如果这个群里边有200个人,那么你需要将内容压缩成200种密文然后发送吗?那也忒费劲了。好在我们还有对称加密,我们可以首先使用非对称加密的方式,将对称加密的密钥发送给个个人,然后将内容通过对称加密加密,然后发送给个个人,让他们用之前的对称加密的密钥解密,就可以完美的解决这个问题。当然了,对于大点的内容也是一样的。因为非对称加密的性能是比不上对称加密的。

    日防夜防,家贼难防

    其实很多时候,自己人是比较难搞的。比如说密码的问题吧。早期的网站很多时候,账号密码就是明文的(安全意识不强,当然了早期嘛,谁都会犯错)。这个时候运营打开自家数据库。那么所有的账号密码那是一览无余呀。这种时候只能靠运营的节操来保证数据不会被偷了。就算是运营不会自己偷这部分数据。但是你要知道,总有一些黑客能够偷偷溜进服务器,偷了一块数据库。如果你有加密(不可逆加密)的话,就算拿到数据库也是没有什么用的,因为密码那一栏被干掉了。这样保证最起码,账号密码不会同时被盗?;八滴业乃姓撕琶苈攵蓟旧鲜且惶?,一套掉了,基本上全套都得换,这是意见非??植赖氖虑?。(因为场景用的多了,难免会有一些你想不到,没有去改的,却给你带来比较严重的后果)

    怎么让Token失效

    服务器端更换密钥

    因为密钥更换了,所以所有的加密使用原来公钥加密的数据都会失效。所以可以达到更换Token的目的。不过这样的确定十分明显,因为你是在同一个时间点上换的,所以所有数据都会失效,然后重新拉取凭证。这个时候服务器压力应该会很大。再一个就是没什么用,因为攻击者可以在失败之后直接获取一个新的有效Token就可以了。

    客户端服务器数据协同

    就是让服务器跟客户端数据保持时间上的一致性,一般情况下要求保持分钟数据相同就可以了。这样客户端算出来自己的Token + 时间分钟戳的密文,然后发送给服务器。服务器接收到密文不需要解密(因此这种是使用不可逆加密算法更为靠谱),直接算出三个结果 (Token + 当前时间和Token + 当前前后各一分钟的时间)判定用户上传的数据是否属于这三个之一,如果是属于就通过,不属于就不通过。

    客户端的每一个Token都是不一样的

    客户端(或者Web网页)用自己的Token + 当前的时间戳(假定不会再同一时间上有多个请求,时间戳可以定的单位更小一些或者进行排队)生成一个密文,然后发送给服务器。服务器拿到密文之后解密,获取并验证Token如果Token通过了就看时间戳是不是在上一个时间戳之后。如果不是在上一个时间戳之后,那么就验证失败好了。

    Copyright © 2009-2017 仙桃云科网络科技有限公司 (吉林快3豹子号遗漏 www.cbzkr.tw) All Rights Reserved.
    鄂ICP备12009831号-1
    • 在线咨询

    • 在线咨询:
    • 仙桃网站建设
    • 仙桃网站运营
    • 仙桃SEO推广
    • 电话:

    • 13047143144
    • 13047143144
  • 塔吉克斯坦驻华大使:“上合八国”将凸显组织影响力 2019-07-16
  • 扫黄打非办约谈网易云、B站等多家网站 2019-07-16
  • 这是房产私有化的结果,如果没有房产私有化,人们就不会买房、炒房,从而也就不会产生目前诸多房地产乱象。 2019-07-04
  • 我国纳米核心技术取得重大突破 2019-07-04
  • 德国:网上发布不当言论最高可获刑5年 2019-06-28
  • 这些中药串起来竟然是首诗 知道它们治什么病吗?(图) 2019-06-08
  • 人民电视--安徽频道--人民网 2019-06-07
  • 2018年汉诺威IT展全新亮相 2019-06-06
  • 高清组图:全国妇联新时代“巾帼志愿者暖心故事”网络展播揭晓仪式 2019-06-05
  • 电影导演霍建起:用电影观察与讲述 2019-06-04
  • 2018年俄罗斯世界杯开赛在即:助威世界杯  勺子显身手 2019-06-04
  • 山东临沭:农民宣讲员诠释十九大精神 2019-06-03
  • 河北省公布8起交办群众信访举报问题查处整改情况 2019-06-03
  • 高清:F1英国站 汉密尔顿强势夺冠 2019-06-02
  • 触电人身伤害案件压降安全大检查专项整治行动启动 2019-06-02
  • 重庆麻将机批发价格 12月21日富勒姆vs曼城 北京11选5走势图五码 日日进财APP 新疆时时彩走势图大全 天鸽彩金捕鱼安卓版 昂热对雷恩 比利亚雷亚尔阵容2015 辽宁十一选五走势图电脑牌 百家乐大转轮官网