密码学

浅析HTTPS与SSL原理

孤街浪徒 提交于 2019-12-06 19:04:09
版权声明:本文由盛旷 原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/134 来源:腾云阁 https://www.qcloud.com/community HTTPS是指结合HTTP和SSL来实现网络浏览器和服务器之间的安全通信。HTTPS被融合到当今网络操作系统和网络浏览器中,他依赖于网络服务器是否支持HTTPS协议。本文重点是阐述HTTPS和SSL证书的原理,不涉及具体实现。在开始叙述原理之前,先明确几个网络安全方面的基础概念。 一.基础概念 1. 对称加密算法 一个对称加密算法由五个部分组成: 明文:原始消息或数据 加密算法 密钥 密文:使用密钥通过加密算法对明文计算后的结果 解密算法:使用密文和相同密钥通过解密算法产生原文 2. 非对称加密算法 与对称加密算法不同的是,非对称加密算法使用的加密密钥和解密密钥是不同的。 3. 公钥密码与RSA 公钥密码属于对称加密算法中的一种,公钥密码体系中有一个公钥和一个密钥,公钥是公开给所有人使用的,密钥只有自己知道,通常公钥根据一个密钥进行加密,根据另一个密钥进行解密。 RSA公钥密码算法是公钥密码算法中的一种,RSA中的加密和解密都可以使用公钥或者私钥,但是用公钥加密的密文只能使用私钥解密,用私钥加密的密文智能使用公钥解密。 二.SSL证书的原理

SHA-1算法

蓝咒 提交于 2019-12-06 16:56:59
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种 密码散列函数 , 美国国家安全局 设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160 位 (20 字节 )散列值,散列值通常的呈现形式为40个 十六进制 数。 介绍 SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种 密码散列函数 , 美国国家安全局 设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160 位 (20 字节 )散列值,散列值通常的呈现形式为40个 十六进制 数。 [1] SHA-1已经不再视为可抵御有充足资金、充足计算资源的攻击者。2005年,密码分析人员发现了对SHA-1的有效攻击方法,这表明该算法可能不够安全,不能继续使用,自2010年以来,许多组织建议用 SHA-2 或SHA-3来替换SHA-1。 Microsoft 、 Google 以及 Mozilla 都宣布,它们旗下的浏览器将在2017年前停止接受使用SHA-1算法签名的 SSL证书 。 2017年2月23日,CWI Amsterdam与 Google 宣布了一个成功的SHA-1碰撞攻击,发布了两份内容不同但SHA

SSL 杂谈

蓝咒 提交于 2019-12-06 11:18:32
什么是 SSL SSL (Secure Sockets Layer) 是一种在应用层和传输层之间的协议,对传输层(TCP)到应用层(HTTP)的数据进行加密,主要是为了保证 Internet 上数据传输的安全性,确保数据在传输过程中不被截取或监听 SSL 在技术上位与应用层,但从开发者的角度来看,它是一个提供 TCP 服务的传输层协议 TLS(Transport Layer Security)是 SSL 的继任者,在很多场合还是用 SSL 来指代 SSL/TLS 基本大部分支持 SSL 加密数据的服务器,都是采用 OpenSSL 库来实现的 OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具 SSL 协议的安全机制 SSL 通过以下三种机制,实现了网络通信的安全性 1. 数据传输的机密性 通过对称/非对称加密算法,在通信双方之间建立加密通道,保证数据传输的机密性 2. 身份验证机制 使用数字签名来验证通信对端的身份 3. 消息完整性验证 基于 md5/sha 等 hash 算法来保证消息的完整性,避免网络中传输的数据被非法篡改 SSL 的工作原理 简单了解下网络通信加密的发展过程,假设 A 和 B 之间需要网络通信 远古 远古时期民风淳朴,路不拾遗、夜不闭户,A 要发数据给 B

支付相关-证书知识学习2

。_饼干妹妹 提交于 2019-12-06 02:55:18
参考资料:关于pfx证书和cer证书 资料地址:https://blog.csdn.net/a1510841693/article/details/84110107 cer证书只包含公钥信息,一般只能用于解密使用(解密该公钥对应的私钥加密的数据)。 pfx证书既可以导出为pfx证书,也可以导出为cer证书。 pfx证书导出时,会提示是否导出私钥,导出私钥即pfx证书,不到出则是cer证书。 如果选择导出私钥,出于安全性考虑,浏览器会提示你指定一个密码用于保护该私钥,日后再次导入该pfx证书时,浏览器会要求你提供该私钥保护密码。 导入pfx证书时,需要指定私钥保护密码,另外还有一个选项“标志此密钥为可导出密钥。这将允许您稍后备份或传输密钥”,出于安全性考虑,该选项默认是不勾选的,如果不勾选,下次从浏览器导出该证书时,则无法导出pfx格式了,只能导出不包含私钥的cer格式了。 -------------------------------------------------------------------------------- 参考资料:pfx 百度百科 资料地址:https://baike.baidu.com/item/pfx/7168664?fr=aladdin 公钥加密技术12号标准。 公钥 加密技术12号标准(Public Key Cryptography

2019-11-26:密码学基础知识,csrf防御

核能气质少年 提交于 2019-12-05 18:55:57
信息安全的基础是数学--->密码算法--->安全协议(ssl VPN)-->应用(证书 PKI) 密码学入门 密码编码学:研究加解密算法的学科 密码分析学:研究破译密码算法的学科 加解密分类 古典密码学 移位(置换),不改数据内容只是重新排序来隐藏信息,如 栅栏密码、列置换密码 替换(代替),明文数据被其他字母、数字、或其他符号替换,单表替换,仿射密码,多表替换,维吉尼亚密码 近现代密码学 对称密码算法(单钥密码系统),加密和解密的密钥是同一个,其安全性取决于密钥的保密性,常用加密算法AES,DES,3DES,RC4,SM4国密等 非对称密码算法(公钥密码算法),由加解密的密钥不一样,一般加密是公钥,解密使用私钥,其安全性问题取决于困难性问题,非对称常用密码算法,RSA(困难性在于大整数分解困难性问题),EIGamal(困难性在于离散对数问题),ECC(椭圆曲线离散对数问题),SM2国密(困难问题取决于椭圆曲线离散对数问题)等 单向散列函数(哈希函数),md4,md5,sha1,sm3国密,将不定长明文数据加密成定长的密文数据,并且解密不出明文,解密利用彩虹表 csrf依赖关系 1,web浏览器支持会话相关的功能,如cookie和http认证信息 2,攻击者知道合法的web应用url 3,应用程序进行会话管理所需要的信息,浏览器已经获得 4,直接进行http

网络安全与密码学

时光毁灭记忆、已成空白 提交于 2019-12-05 04:08:31
1、网络安全威胁   破坏网络安全的一些理论方式:     窃听:窃听信息,在网路通信双方直接进行窃听。     插入:主动在网络连接中插入信息(可以在message中插入恶意信息)     假冒:伪造(spoof)分组中的源地址,假冒客户端或服务器。     劫持:通过移除/取代发送方发或接收方“接管”(take over)连接     拒绝服务(dos):阻止服务器为其他用户提供服务。   破坏网络安全的一些实践方式:     映射(mapping):①探路。②ping命令获取主机地址。③端口扫描(nmap www.insecure.org/nmap/)     嗅探(sniffing):在广播介质(共享的以太网或无线网络中),混杂(promiscuous)模式的网络接口卡,可以接受所有经过的分组。(wireshark就是一个分组嗅探软件)     ip欺骗(spoofing)发送分组的源ip地址可以任意改写。网络攻击中大量使用ip欺骗。(应对策略,入口过滤:路由器不转发源ip地址不属于此网络的分组)     DOS拒绝服务攻击:向接受方恶意泛洪(flood)分组,淹没(swamp)接受方(即耗尽接受方的资源)。     DDOS分布式拒绝服务攻击:入侵网络中的主机,构建僵尸网络(肉鸡),发动僵尸网络同时攻击目标服务器。     反射式DDOS攻击:控制僵尸网络,选择反射服务器

第十个知识点:RSA和强RSA问题有什么区别?

夙愿已清 提交于 2019-12-05 03:07:22
第十个知识点:RSA和强RSA问题有什么区别 这个密码学52件事数学知识的第一篇,也是整个系列的第10篇.这篇介绍了RSA问题和Strong-RSA问题,指出了这两种问题的不同之处. 密码学严重依赖于这样的假设,某些数学问题难以在有限的时间内解决.让我们看公钥(非对称)密码学,这也是这篇文章中我们使用的一个假设----单向函数(One-Way function)存在.例如,一个函数在一种情况下很容易计算,而在另一种情况下不容易计算.我们使用数论算法来产生这样的函数. 分解 数论中最先讨论的问题就是分解.给一个合数 \(N\) ,分解问题就是找出正整数 \(p\) , \(q\) 使得 \(N=pq\) .尽管这面临的似乎是一个简单的问题,但事实上它是很难的,值得深入研究的问题.我们可以在指数时间检查所有的 \(p=2,...,\sqrt N\) .然而解决问题在指数时间不是足够快的.尽管有多年的研究,还没有多项式算法可以解决分解大数的问题.很显然对 \(N\) 的某个特定的值很容易解决.例如 \(N\) 是偶数.但是,我们讨论的密码学构造中, \(N\) 是一个非常大的数,同时被连个大素数构造 \(p,q\) . RSA问题 在RSA公钥加密中,Alice使用Bob的公钥 \((n,e)\) 加密明文 \(M\) 生成 \(C\) ,计算方法为 \(C=M^e(mod\space

枯燥高深的哈希函数分析

与世无争的帅哥 提交于 2019-12-04 23:53:22
今天看到一篇报道王小云的文章,描述了她是如何破解MD5和SHA-1这两大哈希函数的。 其中王小云提到自己做 哈希函数分析 10年,心里就是下定决心要做这方面的研究,自然而然也就获得了成功。 在我看来,密码学作为区块链技术的基础,是非常高深,同时也是非常枯燥的。各种各样的区块链上层应用让我觉得丰富多彩,但是唯独密码学这项底层技术如同一座大山一般令我无法翻越。要研究这些必须要能静下心来。 我曾和SimpleChain团队专门研究密码学的同学交流,从大佬那学到不少。 大佬表示,很多密码学的技术都是基于最基础的密码学知识,例如哈希算法、椭圆曲线等等。如果能过对其中一些关键的算法步骤手算推导,加深对基础的理解,很多复杂的技术就能很快吸收掌握。 所以,学习技术还是要从最基础的一步步开始啊。 来源: https://my.oschina.net/u/4090317/blog/3131245

2019-2020-2-20175209 20175213 20175214-实验二固件程序设计

青春壹個敷衍的年華 提交于 2019-12-04 18:52:01
实验二 固件程序设计 本小组成员: 20175209 王梓鸿 20175213 吕正宏 20175214 林郅聪 实验二 固件程序设计-1-MDK 实验内容: 1.注意不经老师允许不准烧写自己修改的代码 2.三人一组 3.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 4.提交破解程序中产生LIC的截图 5.提交破解成功的截图 实验步骤: 找到exp2\软件资料\MDK4.74路径下的mdk474.exe文件,点击并安装。注意此过程中安装目标路径是自己创建的一个名为Keil 4的文件夹。 安装Ulink驱动。 在桌面上创建的快捷方式“Keil uVision4”上右键,选择“以管理员身份运行”。 按照实验指导书上的操作进行软件安装,然后运行 uVision4,点 File>>License Management-->复制 CID-->运行keil-MDK注册机(在“Z32开发指南\2.软件资料\keil-MDK 注册机”双击“keil mdk474注册机”),最后粘贴 CID 并选择 ARM。 将LIC复制并将其粘贴到keil4中的LIC输入框中,进行破解。 实验二 固件程序设计-2-LED 实验内容: 0