手机卡中查询微信记录拆下来手机借给别人会看到你微信和QQ信息吗

966,690 十一月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
从有到优:百度前端接入技术的升级之路
从有到优:百度前端接入技术的升级之路
Author Contacted
相关厂商内容
相关赞助商
QCon北京-18日,北京&国家会议中心,
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。session-ticket - 必应 词典网络对话票证;会话证明1.对话票证...DC)就会向客户端发放一个有效期一般为8个小时的“对话票证(Session Ticket)”。|2.会话证明...“证明颁发服务器”)提交TGT,同时请求颁发一个“会话证明” (即session ticket)。|例句释义:全部,对话票证,会话证明类别:全部,口语,书面语,标题,技术来源:全部,字典,网络难度:全部,简单,中等,难更多例句筛选收起例句筛选1.
2. the course of your
the copy of the
runs a session the martial wide ferriporphyrin
booth doesn't
decrypts the
recovers the
one必应词典应用准确权威无广告下 载 手 机 版 必 应 词 典体 验 P C 版 必 应 词 典进入HTTPS时代 分析HTTPS SSL对性能和访问速度的影响(2)
3.1 HTTPS对访问速度的影响 我用一张图来表示一个用户访问使用HTTPS网站可能增加的延时: HTTPS增加的延时主要体现在三个阶段,包含了上图所示的2和3阶段。 302跳转。为什么需要302?因为用户懒。我想绝大部分网民
3.1 HTTPS对访问速度的影响
我用一张图来表示一个用户访问使用HTTPS网站可能增加的延时:
HTTPS增加的延时主要体现在三个阶段,包含了上图所示的2和3阶段。
实际测试发现,在没有任何优化的情况下,HTTPS会增加200ms以上的延时。
那是不是对于这些延时我们就无法优化了呢?显然不是,部分优化方式参考如下:
3.2 HTTPS 对性能的影响
HTTPS为什么会严重降低性能?主要是握手阶段时的大数运算。其中最消耗性能的又是密钥交换时的私钥解密阶段(函数是rsa_private_decryption)。这个阶段的性能消耗占整个SSL握手性能消耗的95%。
前面提及了openssl密钥交换使用的算法只有四种:rsa, dhe, ecdhe,dh。dh由于安全问题目前使用得非常少,所以这里可以比较下前面三种密钥交换算法的性能,具体的数据如下:
上图数据是指完成1000次握手需要的时间,显然时间数值越大表示性能越低。图片和测试方法都可以参考原文,地址如下:http://vincent.bernat.im/en/blog/2011-ssl-perfect-forward-secrecy.html。
密钥交换步骤是SSL完全握手过程中无法绕过的一个阶段。我们只能采取如下措施:
openssl 自带的工具可以计算出对称加密、数字签名及HASH函数的各个性能,所以详细数据我就不再列举,读者可以自行测试 。
结论就是对称加密RC4的性能最快,但是RC4本身不安全,所以还是正常情况下还是采用AES。HASH函数MD5和SHA1差不多。数字签名是ecdsa算法最快,但是支持率不高。
事实上由于密钥交换在整个握手过程中消耗性能占了95%,而对称加解密的性能消耗不到0.1%,所以server端对称加密的优化收益不大。相反,由于客户端特别是移动端的CPU计算能力本来就比较弱,所以对称加密和数字签名的优化主要是针对移动客户端。
是google推出的号称优于aes-gcm的对称加密算法,适用于移动端,可以试用一下。
最后经过测试,综合安全和性能的最优cipher suite配置是: ?ECDHE-RSA-AES128-GCM-SHA256.
如果性能出现大幅度下降,可以修改配置,提升性能但是弱化了安全性,配置是:rc4-md5,根据openssl的规则,密钥交换和数字签名默认都是使用rsa。
4,HTTPS的支持率分析
分析了百度服务器端一百万的无线访问日志(主要为手机和平板电脑的浏览器),得出协议和握手时间的关系如下:
tls协议版本
客户端使用率
握手时间 ms
从上表可以发现,ssl3.0速度最慢,不过支持率非常低。tls 1.0支持率最广泛。
加密套件和握手时间的关系如下:
客户端使用率
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
ECDHE-RSA-AES128-GCM-SHA256
显然DHE对速度的影响比较大,ECDHE的性能确实要好出很多,而AES128-GCM对速度也有一点提升。
通过tcpdump分析client hello请求,发现有56.53%的请求发送了session id。也就意味着这些请求都能通过session cache得到复用。其他的一些扩展属性支持率如下:
server_name
session_tickets
next_protocol_negotiation
elliptic_curves
ec_point_formats
这几个扩展都非常有意义,解释如下:
server_name,,即 sni (server name indicator),有77%的请求会在client hello里面携带想要访问的域名,允许服务端使用一个IP支持多个域名。
next_protocol_negotiation,即NPN,意味着有40.54%的客户端支持spdy.
session_tickets只有38.6%的支持率,比较低。这也是我们为什么会修改nginx主干代码实现session cache多机共享机制的原因。
elliptic_curves即是之前介绍的ECC(椭圆曲线系列算法),能够使用更小KEY长度实现DH同样级别的安全,极大提升运算性能。
现在互联网上HTTPS的中文资料相对较少,同时由于HTTPS涉及到大量协议、密码学及PKI体系的知识,学习门槛相对较高。另外在具体的实践过程中还有很多坑和待持续改进的地方。希望本文对大家有一些帮助,同时由于我本人在很多地方掌握得也比较粗浅,一知半解,希望大家能多提意见,共同进步。
最后,为了防止流量劫持,保护用户隐私,大家都使用HTTPS吧,全网站支持。事实上,HTTPS并没有那么难用和可怕,只是你没有好好优化。
文章转载请注明来自:新辉网
标题:进入HTTPS时代 分析HTTPS SSL对性能和访问速度的影响(2)
原文地址:.cn/a/comment/72.html
(编辑:allanx)
关键词:HTTPS时代,HTTPS,用户隐私,网络安全
------分隔线----------------------------
当前的猫眼显然已经成为了电影O2O平台中的独角兽,如今猫眼完全独立出来,这家O2O新公..
阿里钉钉的一则地铁广告将腾讯微信牵扯了进来,继而后来所引发的业内对于钉钉与微信的..
中国智能手机市场已经从增量竞争过渡到了存量竞争,这几乎是所有业内人士给出的定论,..
在炒房团的眼里,房子的主要功能变成了洗钱工具,居住功能不过是掩人耳目的一个条件。..
建议媒体报道及网络舆论克制贸易战和阴谋论的炒作,为事件的尽快解决创造良好的舆论环..
3月5日下午近五点,北京UME安贞店、北京UME双井店明天(3月6日)的部分《叶问3》放映..关于Token,你应该知道的十件事(转载) - 简书
<div class="fixed-btn note-fixed-download" data-toggle="popover" data-placement="left" data-html="true" data-trigger="hover" data-content=''>
写了21064字,被20人关注,获得了35个喜欢
关于Token,你应该知道的十件事(转载)
原文是一篇很好的讲述 Token 在 Web 应用中使用的,而这是我和
合作翻译的译文。
Token 应该被保存起来(放到 local / session stograge 或者 cookies)在单页应用程序中,有些用户刷新浏览器后会带来一些跟 token 相关的问题。而解决方法很简单:你应该把 token 保存到起来:。而浏览器不支持 session storage 时都应该转存到 cookies 里。如果你想“我把 token 保存到 cookie ,不就跟以前没有任何分别?”。可是在这种情况下你只是把 cookie 当作一个储存机制,而不是一种。(比如说,这个 cookie 不会被 Web 框架用于用户验证,所以没有 XSRF 攻击的危险)。
Tokens 除了像 cookie 一样有有效期,而且你可以有更多的操作方法Tokens 应该有一个有效期(在
中是作为 exp属性),否则其他人只要登录过一次就可以永远地通过 API 的验证。Cookies 基于同样的理由也有一个有效期。在 Cookies 的使用中,有不同的选项可以控制 cookie 的生命周期:
cookies 可以在浏览器关闭后删除(session cookies);2. 另外你可以实现服务器端的检查(通常由你使用的 Web 框架完成),还有也可以实现绝对有效期或弹性有效期(sliding window expiration);3. Cookies 可以带有有效期地保存起来(浏览器关闭后也不删除)。
而在 tokens 的使用中,一旦 token 过期,只需要重新获取一个。你可以使用一个接口去刷新 token:
让旧的 token 失效;2. 检查这个用户是不是还存在,权限是否被取消或者任何对你的程序来说是有必要的;3. 得到一个更新了有效期的 token。
你甚至可以把 token 原来的发布时间也保存起来,并且强制在两星期后重新登录什么的。
app.post('/refresh_token', function (req, res) { // verify the existing token var profile = jwt.verify(req.body.token, secret); // if more than 14 days old, force login if (profile.original_iat - new Date() & 14) { // iat == issued at return res.send(401); // re-logging } // check if the user still exists or if authorization hasn't been revoked if (!valid) return res.send(401); // re-logging // issue a new token var refreshed_token = jwt.sign(profile, secret, { expiresInMinutes: 60*5 }); res.json({ token: refreshed_token });});
如果你需要撤回 tokens(当 token 的生存期比较长的时候这很有必要)那么你需要一个 token 的生成管理器去作检查。
Local / session storage 不会跨域工作,请使用一个标记 cookie如果你设置一个 cookie 的域名为 .它将可以被 和 获取,这样用户登录并且转到后也能很容易地从主域名找回这个 cookie(假如你的是电商网站)。而另一方面,保存在 local / session storage 的 tokens,就不能从不同的域名中读取(甚至是子域名也不行)。那你能怎么做?一个可能的选择是,当用户通过 上面的验证时你生成一个 token 并且作为一个 cookie 保存到 .
$.post('/authenticate, function() { // store token on local/session storage or cookie .... // create a cookie signaling that user is logged in $.cookie('loggedin', profile.name, '.');});
中你可以检查这个 cookie 是不是已经存在了,并且如果存在的话就转到 去。从这以后,这个 token 将会对程序的子域名以及之后通常的流程都有效(直到这个 token 超过有效期)。不过这将会导致 cookie 存在但 token 被删除了或其他意外情况的发生。在这种情况下,用户将不得不重新登录。但重要的是,像我们之前说的,我们不会这个用 cookie 作为验证方法,只是作为一个存储机制去支持存储信息在不同的域名中。
每个 CORS(跨域资源共享)请求都会带上预请求(Preflight request)有些人指出 Authorization header 不是一个,因此对于一个特定的 URLs 的所有请求都会带上一个预请求。
Authorization: Bearer ....OPTIONS
Authorization: Bearer ....GET
Authorization: Bearer ....
但这只会发生在你发送 Content-Type: application/json 时。不过这说明已经出现在绝大多数的程序中了。一个小小的警告,the OPTIONS 请求不会带有 Authorization header 自身,所以你的网络框架应该支持区别对待 OPTISON 和后来的请求。(微软的 IIS 因为某些原因好像会有问题)。
当你需要流传送某些东西,请用 token 去获取一个已签名的请求。当使用 cookies 时,你可以很容易开始一个文件的下载或流传送内容。然而,在 tokens 的使用中,请求是通过 XHR 完成的,你不能依赖于它。而解决方法应该是像 AWS 那样通过生成一个签名了的请求,例如,Hawk Bewits 是一个很好的框架去启用它:Request:
POST /download-file/123Authorization: Bearer...
ticket=lahdoiasdhoiwdowijaksjdoaisdjoasidja
这个 ticket 是无状态并且是基于 URL 的:host + path + query + headers + timestamp + HMAC,并且有一个有效期。所以它可以用于像只能在5分钟内去下载一个文件。你然后可以转到 /download-file/123? ticket=lahdoiasdhoiwdowijaksjdoaisdjoasidja 中去。服务器就会检查这个 ticket 是不是有效然后像正常一样开始下一步的服务。
要更容易防范XSS 攻击的原理是,攻击者插入一段可执行的 JavaScripts 脚本,该脚本会读出用户浏览器的 cookies 并将它传输给攻击者,攻击者得到用户的 Cookies 后,即可冒充用户。但是要防范 XSS 也很简单,在写入 cookies 时,将 HttpOnly设置为 true,客户端 JavaScripts 就无法读取该 cookies 的值,就可以有效防范 XSS 攻击。因为 Tokens 也是储存在本地的 session storage 或者是客户端的 cookies 中,也是会受到 XSS 攻击。所以在使用 tokens 的时候,必须要考虑过期机制,不然攻击者就可以永久持有受害用户帐号。相比 XSS,XSRF 的危害性更大,因为大多数 Web 框架都已经内置了 XSS 防范机制(例如在 Ruby on Rails 中,用户的输入在输出的时候都会做转义操作,攻击者插入的脚本就无法执行),对于大部分开发者而言,甚至连 XSRF 都不知道是什么玩意,更别提防范了。XSRF 目前并不是每个 Web 框架都有防范机制,因此开发者更应该留意 XSRF 。
注意 token 的大小Token 机制在每次请求 API 的时候,都需要带上一个 Authorization的 Http Header 。
TokenGET /fooAuthorization: Bearer ...2kb token...
CookieGET /fooconnect.sid: ...20 bytes cookie...
Token 的大小其实由你储存在 token 中的信息量所决定,例如可能有 nickname,openid 等开发者另外加上的信息。但是 session cookies 机制只需要一个字串作为用户标识即可(例如 PHP 的 PHPSESSIONID),其中关于用户的信息都会直接储存到服务端的数据库中,当用户请求时才从数据库中捞出来用。当然 Token 机制也可以仿照 session cookies 机制这么做了,也是个有效控制 token 大小的方法。Token 中只保留关键的几条身份标识信息,其余都放到数据库里面了,权限控制的时候再捞出。这样做的好处是,开发者可以完全掌控 token,因为关键信息都已经是你代码和数据库中的一部分了,想怎么弄都可以了。举个例子:
GET /fooAuthorization: Bearer ……500 bytes token….Then on the server:
app.use('/api', // 首先检查 token; expressJwt({secret: secret}), // 然后再从数据库中捞出用户信息。 function(req, res, next) { req.user.extra_data = get_from_db(); next(); });
另外值得一提的是,你也可以把东西都丢 Cookies 里面(而不是只丢个身份标识字串)。只要确保资料经过了严格的加密,攻击者无法利用,现在有些 Web 框架已经有类似机制,例如 Nodejs 的这个插件 。
有需要的话,要加密并且签名 token虽然 TLS/SSL 机制可以隔绝大多数中间人攻击,但是如果 token 中带有了用户的敏感信息,开发者也应该要加密这些信息。使用 JWT(文中第 9 点) 可以加密 token,但是由于目前大多数 Web 框架还未支持 JWT,所以可以使用 AES-CBC 算法加密 token。
app.post('/authenticate', function (req, res) { // 校验用户; // 加密 token; var encrypted = { token: encryptAesSha256('shhhh', JSON.stringify(profile)) }; // 给加密后的 token 签名; var token = jwt.sign(encrypted, secret, { expiresInMinutes: 60*5 }); res.json({ token: token });}function encryptAesSha256 (password, textToEncrypt) { var cipher = crypto.createCipher('aes-256-cbc', password); var crypted = cipher.update(textToEncrypt, 'utf8', 'hex'); crypted += cipher.final('hex');}// 上面就是 encrypt-then-MAC (加密后签名)做法。
当然你也可以用文中的第 7 点,直接将敏感信息丢数据库中。
将 JSON Web Tokens 应用到 OAuth 2OAuth 2 是一个解决身份验证的授权协议,并且广泛地使用了 token 。用户通过 OAuth 2 协议授权第三方应用权限,然后服务器返回一个 access_token给第三方应用,通常也带有 scope参数,第三方应用通过带上access_token请求服务器,可以在授权范围(scope)内调用 API。一般来说,类似这种 token 是不透明的,就是核心数据都储存以 hash-table 结果储存在服务器中,客户端只持有一个令牌(access_token),任何人都可以用这个令牌在授权范围(scope)内调用服务器端的 API。Signed tokens(例如 ))和这种形式的 token 最主要的区别是,JWT 是无状态的,它不储存在服务端 hash-table 中,服务端中不保留 JWT 请求的相关信息,JWT 会把授权信息和 API 调用返回都丢一起返回给客户端。JWT 通常以 Base64 + AES 方式编码传输。OAuth 2 协议也支持 JWT,因为 OAuth 2 并未限制 access_token 数据格式,你可以将 JWT 应用在 OAuth 2 上。
Tokens 不是万能的解决方法,得根据你的需求自行采用这些年来,我们帮助过不少大公司实现了他们的以 Token 为基础的验证授权架构。曾经有一家 10k + 员工,有着大量数据的公司,他们想实现一个中央权限管理系统,其中有一个需要是某个员工只能读取某个国家某个医院某个床位的id和name字段数据,想想这样的细粒度的权限管理是多么难实现,无论是技术上还是行政上。当然采用 tokens 与否,得看大家的具体需求,但是,要忠告大家的是,不要什么内容都写到 tokens 了,加之前想想有没有这个必要。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
被以下专题收入,发现更多相似内容:
【最新投稿方式】
为了保证专题文章的质量,暂时关闭投稿申请,改为【私信文章链接】给本专题的管理员 (花前月下) (判若...
· 7982人关注
CSS & HTML & HTML5 & Javascript
· 488人关注
这里注重架构设计为主,功能实现为辅。探索在Java Web领域理标准设计,主流设计方案,让更多人少走弯路,离梦想更近一点。
· 58人关注
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:}

我要回帖

更多关于 微信借给别人 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信