HTTPS通信中的身份认证机制_网站劫持检测

news/2024/5/12 23:02:56/文章来源:https://blog.csdn.net/weixin_34409703/article/details/93935552

当你访问一个网站时,有没有想过这个问题:如何保证我的访问能直达目标网站,而没有被中间人攻击和劫持。想要解决这个问题,就得依靠HTTPS中的身份认证机制。

网站劫持检测


1、检测网站是否被劫持
2、域名是否被墙
3、DNS污染检测
4、网站打开速度检测
5、网站是否被黑、被入侵、被改标题、被挂黑链

【深度检测】
1、可以检测多层js劫持、图片劫持、FLASH劫持、地区电信劫持、DNS劫持、域名被墙、DNS污染
2、可以获取严重占用加载时间的JS或者图片、css等html所用文件
3、不支持搜索引擎快照劫持检测
最长等待时间为10分钟。 此项选择考虑方向为:各大电信商链接检测网站速度有快慢。

 

HTTPS的基本概念,我在前面的文章介绍过,可以理解为HTTP+TLS。TLS协议是HTTPS的关键,其设计目标是构建安全的传输层,主要通过数据加密、身份认证、数据完整性来实现,同时还具备高扩展性、兼容性的特点。

本文将介绍HTTPS功能中的身份认证,及其工作机制。

X.509v3证书

X.509是PKI体系中的一个证书标准,PKI体系将在后面的文章中再介绍。RFC文档中有对X.509的详细描述[RFC文档](https://tools.ietf.org/html/rfc5280#section-4.1.1.2) 。当前野狗官网(https://www.wilddog.com)使用的证书格式正是X.509v3。

X.509v3证书由三部分组成:

  • tbsCertificate (to be signed certificate),待签名证书
  • SignatureAlgorithm,签名算法
  • SignatureValue,签名值

tbsCertificate又包含10项内容,在HTTPS握手过程中以明文方式传输:

  • Version Number,版本号
  • Serial Number,序列号
  • Signature Algorithm ID,签名算法ID
  • Issuer Name,发行者
  • Validity period,有效时间
  • Subject name ,证书主体名称
  • Subject Public Key Info ,证书主体公钥信息,包含公钥算法和公钥值
  • Issuer Unique Identifier (optional),发行商唯一ID
  • Subject Unique Identifier (optional),主体唯一ID
  • Extensions (optional),扩展

SignatureAlgorithm是指定对tbsCertificate签名使用的算法。SignatureValue是使用SignatureAlgorithm指定的哈希和签名算法对tbsCertificate进行哈希和签名后的签名值。

图片 1_meitu_5

可以使用Wireshark抓包查看这些字段信息,结果如下:

图片 2

如果觉得wireshark操作太复杂,也可以在浏览器上点击导航栏https小图标查看。

图片 3_meitu_7

如何进行身份认证?

我们以某用户访问野狗官网为例,分析身份认证的过程(以下过程并非完整HTTPS握手过程,只是身份认证相关的过程)。

1. 浏览器向Server发送请求;
2. Server返回野狗官网的X.509v3证书,其包含三部分:tbsCertificate、SignatureAlgorithm、SignatureValue;
3. 浏览器读取证书中的tbsCertificate部分(明文),使用SignatureAlgorithm中的散列函数计算得到信息摘要,并利用tbsCertificate中的公钥解密SignatureValue得到信息摘要,然后对比双方的信息摘要,判断是否一致;如果一致,则成功;如果不一致,则失败。

图片 8

虽然野狗官网的认证完成,但整个身份认证过程并没有结束,因为还需要认证证书链,这在文章后面将介绍。

身份认证算法

身份认证算法有多种,最常见的是RSA。通过openssl命令可以查看到:
# openssl ciphers –V | column –t

我截取了部分输出结果,其中加密套件是认证、加密、MAC、密钥交换、密钥衍生的组合,如 ECDHE-RSA-AES256-GCM-SHA384,ECDHE做密钥交换、RSA做身份认证、AES256-GCM做加密算法、SHA384做摘要。

图片 5

RSA如何保证安全性

更直接的说:私钥加密、公钥解密,如何保证整个过程的安全。引用维基百科对RSA的描述:对极大整数做因素分解难度决定了RSA算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA算法愈可靠。我们来看下RSA的过程:

1. 随机选择两个大的质数p和q,p不等于q,计算N=pq;
2. 根据欧拉函数,求得r=φ(N) = φ(p)φ(q)=(p-1)(q-1);
3. 选择一个小于r的整数e,使e与r互质。并求得e关于r的模反元素d,ed ≡ 1 (mod r);
4. 将p和q的记录销毁。
最后得到:(N,e)是公钥,(N,d)是私钥。

使用公钥(N,e)加密明文m,得到密文c
me ≡ c (mod N)
使用私钥(N,d)解密密文c,得到明文m
cd ≡ m (mod N)

真正安全的保证是N不能被分解得到q和p。实际通信中,N通常非常大,比如2的2048次方,这在目前是不能被破解的。

在生成证书时,可以指定RSA的密钥长度;证书使用后,在证书信息中也可以查看。

证书信任链机制

实际上,在HTTPS通信中,Server下发给Client的不仅仅是对端网站的证书,而是一个证书链。这个证书链是从网站证书开始,逐级往上,到根证书。每个证书都被下个证书的私钥签署,每个证书的 Issuer 就是下个证书的 Subject,root CA内置在浏览器中,是被浏览器所信任的。服务器远程桌面连接

那么为什么会使用证书链?使用证书链的好处有两个:1.安全,2.保持CA的私钥离线,方便部署和撤销。如果没有证书链,那么当由CA来验证网站的证书时,如何保障这个过程中的CA是可靠的而不是伪造的。这就是证书链的作用。证书链的顶端是内置在浏览器或操作系统中的rootCA,一级一级的信任,保证了最后网站身份的可靠认证。每个证书的证书链往往是多条的,野狗官网证书的证书链有两条。

图片 7

我们以野狗官网证书的三级证书链为例,wilddog.com证书 –> Go Daddy Secure Certificate Authority证书 –> Go Daddy Root Certificate Authority证书 。浏览器在接收到wilddog.com网站的证书链后,首先会对wilddog.com网站证书认证:

图片 8

验证完wilddog.com证书后,向上验证中间证书GoDaddy Secure证书,过程与之类似;验证完GoDaddy Secure证书后,继续验证GoDaddy Root证书,因为GoDaddy Root证书是自签名的,是浏览器内置的CA证书,所以是被浏览器所信任的。
这就是证书的信任链,浏览器信任内置CA证书–Go Daddy Root证书,Go Daddy Root证书信任Go Daddy Secure证书,Go Daddy Secure证书信任wilddog.com证书,所以浏览器信任wilddog.com证书。

当然每个浏览器内置的CA列表存在差异,Mozilla的CA证书列表:
http://mxr.mozilla.org/mozilla-release/source/security/nss/lib/ckfw/builtins/certdata.txt

Go Daddy Root证书在Chrome浏览器内置的CA列表中看到。

图片 9

转载于:https://www.cnblogs.com/baidu404/p/10059616.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_732482.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5 个在线的网站测试和验证工具

网站上线前的测试和验证是非常重要的一个环节,验证的意思是检查网站的页面和其他数据是否符合标准规范,设计规范的网站在各种浏览器上表现会一致而且良好。 为了帮助你执行这些测试和验证,今天我们列表了 5 个在线的工具。 Pingdom Tools Pin…

mai模板html,纯PC网站模板改为自适应模板方法

随着互联网WEB前端技术的发展,各项技术诞生,BS架构、HTML5、CSS3、JQ各种新的技术出现在我们的面前,今天我们就分享下只有PC站情况下,如何快速做成自适应结构,满足移动端用户体验。网站自适应结构很多人认为很麻烦&…

svn同步到网站服务器,svn hook同步更新svn到web服务器

转到SVN项目的hooks目录下面新建post-commit文件.内容如下export LANGzh_CN.UTF-8WEB/www/vhostsvn update $WEB --username user --password passwd --no-auth-cache需要注意就是必须指定字符集还有运行 svn update 需要提供用户名密码且不要缓存用户认证令牌export LANGzh_CN…

学成在线网站首页_呕心整理!最全无版权图片网站都在这了,赶紧收藏!

在亚马逊上,买家大多数需要靠图片和文字来了解商品,而买家在搜索产品时,最先看到的是产品图片。可以说商品的主图是决定点击率的重要因素之一,而listing的图片是否具有吸引力是卖家能够为自己的Listing带来更高的转化率的另一个重…

用R语言进行网站评论文本挖掘聚类

对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。频率能反映词语在文本中的重要性,一般越重要的词语,在文…

oa办公系统含手机版源码_贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会...

为提高集团公司办公信息资源的利用效率,2020年1月7日,贵阳投资控股集团召开OA协同办公系统(含网站)建设项目启动大会。集团党委委员、副总经理付洪伟出席会议并讲话,信息科技部部长周康主持会议,上海泛微网络科技股份有限公司贵州…

scrapy爬虫框架和selenium的使用:对优惠券推荐网站数据LDA文本挖掘

介绍 最近我们被客户要求撰写关于爬虫的研究报告,包括一些图形和统计输出。 每个人都喜欢省钱。我们都试图充分利用我们的资金,有时候这是最简单的事情,可以造成最大的不同。长期以来,优惠券一直被带到超市拿到折扣,…

7个设计师必备的国际顶尖设计网站

成为dA(deviantart)的忠实用户有很多理由——dA是最大的艺术社区;成为dA用户简直是设计新手的必经之路。但是,这些都不妨碍你加入其他专业的网站来展现你的才华。 创立于12年前的dA现在拥有最多的艺术爱好者受众。然而&#xff0c…

追踪服务器的网站,网站Tracert路由追踪|在线Tracert工具—卡卡网 www.webkaka.com

Tracert是一个dos下的网络命令,主要作用是对路由进行跟踪。它是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在IP 网络中每一跳的延迟。(这里的延迟是指:分组从信息源发送到目的地所需的时间,延迟也分为…

大型分布式网站架构技术总结

出处:ITFLY8 网址:http://www.cnblogs.com/itfly8/p/4967966.html 本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一…

Apache+php+mysq配置本地多个虚拟网站

首先我下载的是wampserver 64位, 按照自己的电脑系统下载 一般就分两种 ,1 32为操作系统, 2 64为操作系统。 下面是软件图 文件64位; 安装教程就不写了。 下一步下一步就行 下面改到了配置了 首先第一步、 这里的 gao.com 就…

一个程序员单枪匹马,靠一个网站一年赚1个亿

是什么 网站叫BuiltWith.com,通过它可以查看其他网站使用了什么技术,什么编程语言、服务器及广告系统 可以客户生成、销售情报和市场分析提供的许多服务的用户使用,潜在客户列表的客户等,帮助企业赚钱、发现潜在客户。 这个网站仅…

Caddy实战(一)| 托管你的网站,只需一行命令

点击上方蓝色“飞雪无情”关注我,设个星标,第一时间看文章继续在Github猎奇,又看到了caddy这个Web服务器,发现star已经33K了,而且最近上升的也比较快,所以打算研究下它。周末抽了点时间,看了下c…

django实战仿慕课网在线视频网站(完成了85%以上的功能已上传github:https://github.com/huwei86/mxonline):...

1. 前台功能模块 基本模块:登录 注册 找回密码 / 全局搜索 / 个人中心, 课程功能:课程管理 / 讲师管理 / 授课机构管理 热门推荐 相关课程推荐 用户操作管理:用户收藏 / 课程评论2.后台管理系统课程管理模块:课程管理…

原创:LNMP架构部署个人博客网站 禁止转载复制

nginx编译安装步骤 ①. 检查软件安装的系统环境 cat /etc/redhat-release uname -r ②. 安装nginx的依赖包(pcre-devel openssl-devel)---假设不进行安装 yum install -y pcre-devel openssl-devel ③. 下载nginx软件---1.10.2 复制链接地址&#xff0…

setrequestproperty参数_「setrequestproperty」详解HttpURLConnection - seo实验室

setrequestproperty请求响应流程设置连接参数的方法setAllowUserInteractionsetDoInputsetDoOutputsetIfModifiedSincesetUsecachessetDefaultAllowUserInteractionsetDefaultUseCaches设置请求头或响应头HTTP请求允许一个key带多个用逗号分开的values,但是HttpURLC…

maven依赖查询网站

https://mvnrepository.com/,是maven依赖查询网站。 比如,现在要查询docker-maven-plugin这个插件。 搜到 com.spotify docker-maven-plugin 点击版本号,可以知道如何在pom.xml中引入这个依赖 点击Central,可以知道该依赖所在中…

使用Python-Flask框架开发Web网站系列课程(一)构建项目

前言 使用IDE:PyCharm 操作系统: Mac Python版本:3.6 我的邮箱:51263921qq.com 交流群: 372430835 请注意,既然要学习开发,那么要注意以下几个问题。 1、开发语言版本不一样,尤其是Python,会导致同一段代码…

网站复制工具:HTTrack

HTTrack简介: HTTrack是Kali中内置的工具,主要用于克隆网站。渗透测试人员可以利用它来在自主可控制的环境中查看该网站的完整内容:所有离线文件。同时可以利用该网站的副本来开发假冒的钓鱼网站。【遵守法律法规】 (1&#xff09…

企业建站“智能化”成小成本建站趋势

2019独角兽企业重金招聘Python工程师标准>>> 随着电子商务的不断走热,中小企业对网络营销越来越看重,于是企业建站成了众多企业间的热门话题。虽然大家对建设网站表现出了足够的热心,但是如何建设网站却成了中小企业的拦路虎。是请…