Internet History, Technology, and Security(week9)——Web Security
Secure Web Connections:
Security Public/Private Key - Secure Sockets

凯撒密码容易被破解,后来人们发明了公钥和私钥,由于私钥一定是要发送方和接收方两方私有的,担心在网络传输中被破解,进而又出现了Public-key cryptography(公钥加密系统)。这套系统最早由Diffie和Hellman在1976年提出。最基本的概念是这样:公钥加密系统会有两个密钥,一个是公开的,另一个是私有的。公钥用来加密,私钥用来解密。公钥体系的密钥是非对称的。

公钥系统的设计来源于大数字的因式分解的困难。主要原理如下:先挑选两个比较大的素数a与b,然后将其相乘,得到一个结果c。此时c便是公钥,a、b便是私钥。当我们已知c的时候,由于c的数字很大,很难求出它的因子。但如果我们已知c以及一个因子b,我们就很容易求出另一个因子a。
对于分解大素数之积,如果已知一个因子,那么知道另一个因子会相当容易。但是如果只想通过积来得出两个因子,那会相当困难。这就是公钥加密安全性能的理论:公司保存私钥,用来解密。用网络传递公钥给用户,用户用公钥加密,用户不需要解密,所以不需要了解私钥。

TLS(Transport Layer Security,传输层安全协议)也被称作SSL(Secure Sockets Layer,安全套接层协议),由Netscape研发,可以被看作传输层和应用层之间额外协议层,基于公钥加密系统,为网络信息安全服务。
TLS的功能:
连接具有保密性
连接具有完整性
过去的通信记录不会被可能在未来被泄露的密钥所解密
支持多种方法来处理分享密钥、加密数据和消息完整性检查,因此可以根据需要来配置不同的安全参数
数据是否被加密对IP和TCP等底层协议来说是未知且无影响的
Identity on the Web

CA(Certificate Authority,证书授权机构)是能够证明公钥所属和所有人身份并生成证书的组织或机构,其中既有有国际性组织和政府设立的组织,也有通过提供认证服务来盈利的组织,如Verisign。
举个例子:网站服务器提供公钥给Verisign,Verisign用自己的私钥给网站的公钥加密(两者非配对),生成数字签名。最后Verisign把公钥,数字签名,附加一些服务器信息整合在一起,生成证书发回网站,这样别的人就很难去伪造它。
小结:

Internet History, Technology, and Security(week9)——Web Security的更多相关文章
- Coursera-Note: Internet History, Technology and Secure (1st week to 9th week)
目录 Coursera-Note: Internet History, Technology and Secure 第一周 第二周 数据交换: Packet switching技术: 第三周 创造ht ...
- Spring Security(一):官网向导翻译
原文出自 https://spring.io/guides/topicals/spring-security-architecture Spring Security Architecture ...
- Internet History,Technology,and Security - History Through Supercomputing(Week2)
时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...
- Internet History, Technology and Security (Get Started)
Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...
- Internet History,Technology and Security
Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...
- Spring Security(08)——intercept-url配置
http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...
- Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Security
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- Spring Security(三)
Spring Security(三) 个性化用户认证流程 自定义登录页面 在配置类中指定登录页面和接收登录的 url @Configuration public class BrowserSecuri ...
- Spring Security(二)
Spring Security(二) 注:凡是源码部分,我已经把英文注释去掉了,有兴趣的同学可以在自己项目里进去看看.:-) 定义用户认证逻辑 用户登录成功后,用户的信息会被 Security 封装在 ...
随机推荐
- docker私有仓库-harbor
简单说一下Harbor的部署,踩了几个坑,参考同事大神的配置文件,一脸懵逼的部署出来了,其中部分内容参考了网上一些大神的文档,本篇文章仅供参考学习,如有雷同,万分荣幸. 这篇文档仅限于centos7参 ...
- 红帽学习笔记[RHCSA] 第六课[进程、服务相关]
第六课 进程 进程:已经启动的可执行程序的运行中的实例.每个进程都有自己的地址空间,并占用了一定的系统资源. 如何产生一个进程 执行程序或命令 计划任务 在终端中对进程管理 运行一个前台进程 [roo ...
- vue使用笔记二
es6\es2015特性http://lib.csdn.net/article/reactnative/58021?knId=1405 使用express-generator初始化你的项目目录http ...
- [19/10/13-星期日] Python中的函数
一.函数 # 第五章 函数 ## 函数简介(function) - 函数也是一个对象 - 对象是内存中专门用来存储数据的一块区域 - 函数可以用来保存一些可执行的代码,并且可以在需要时,对这些语句进行 ...
- (3.5)常用知识-NULL与零长度、字符串尾部填充空格
概述:NULL与零长度是不同的,NULL表示数据未知或不可用,它是与零(数值或2进制).零长度字符串不 同的一种值,也可以理解为一种状态. 即可以理解为:所有的变量都有2种状态,一种有值,一种为NUL ...
- 使用批处理命令注册运行mysql数据库,无需注册mysql服务,可以在任意电脑登录使用
使用批处理命令初始化和开启mysql服务,移植数据库之后可以直接运行访问,对于学习数据库的人来说特别的方便哦. 我们可以从mysql官网下载官方社区版本的mysql: 这里使用之前下载的8.0.15来 ...
- [多校联考2019(Round 4 T1)][51nod 1295]Xor key(可持久化trie)
[51nod 1295]Xor key(可持久化trie) 题面 给出一个长度为n的正整数数组A,再给出Q个查询,每个查询包括3个数,L, R, X (L <= R).求A[L] 至 A[R] ...
- [LeetCode] 203. 移除链表元素
题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/ 题目描述: 删除链表中等于给定值 val 的所有节点. 示例: 输 ...
- java中的四种引用方式(强引用,软引用,弱引用,虚引用)
java内存管理主要有内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java中对象的引用主要有四种:强引用,软引用,弱引用,虚引用. Java中提供这四种引 ...
- python中的Tkinter模块
Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macinto ...