Secure Web Connections:

  • Security Public/Private Key - Secure Sockets

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

公钥系统的设计来源于大数字的因式分解的困难。主要原理如下:先挑选两个比较大的素数ab,然后将其相乘,得到一个结果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。

举个例子:网站服务器提供公钥给VerisignVerisign用自己的私钥给网站的公钥加密(两者非配对),生成数字签名。最后Verisign公钥数字签名,附加一些服务器信息整合在一起,生成证书发回网站,这样别的人就很难去伪造它。

小结:

Internet History, Technology, and Security(week9)——Web Security的更多相关文章

  1. Coursera-Note: Internet History, Technology and Secure (1st week to 9th week)

    目录 Coursera-Note: Internet History, Technology and Secure 第一周 第二周 数据交换: Packet switching技术: 第三周 创造ht ...

  2. Spring Security(一):官网向导翻译

    原文出自  https://spring.io/guides/topicals/spring-security-architecture Spring Security Architecture   ...

  3. Internet History,Technology,and Security - History Through Supercomputing(Week2)

    时间飞逝,一周又过去了,这周我们来到了Internet History, Technology and Security (Week 2)的学习,从标题就可以看出,这周主要是介绍“互联网”雏形的诞生. ...

  4. Internet History, Technology and Security (Get Started)

    Abstract 课程名称:互联网的历史.技术和安全 coursera地址 制作方:密歇根大学(University of Michigan) 教师:Charles Severance, Associ ...

  5. Internet History,Technology and Security

    Internet History,Technology and Security(简单记录) First Week High Stakes Research in Computing,and Comm ...

  6. Spring Security(08)——intercept-url配置

    http://elim.iteye.com/blog/2161056 Spring Security(08)--intercept-url配置 博客分类: spring Security Spring ...

  7. Java Spring Boot VS .NetCore (九) Spring Security vs .NetCore Security

    Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...

  8. Spring Security(三)

    Spring Security(三) 个性化用户认证流程 自定义登录页面 在配置类中指定登录页面和接收登录的 url @Configuration public class BrowserSecuri ...

  9. Spring Security(二)

    Spring Security(二) 注:凡是源码部分,我已经把英文注释去掉了,有兴趣的同学可以在自己项目里进去看看.:-) 定义用户认证逻辑 用户登录成功后,用户的信息会被 Security 封装在 ...

随机推荐

  1. js函数的定义和调用

    函数的定义 函数使用function 声明,后跟一组参数以及函数体,语法如下: function functionName([age0,age1,......argn]){ statements } ...

  2. .Net Core - 使用Supervisor进行托管部署

    环境 CentOS 7 x64,详见 安装CentOS7虚拟机 .Net Core 2.1.801 详见 CentOS 7 下安装.NET Core SDK 2.1 ftp  详见  CentOS7 ...

  3. express接受ajax的发送post请求

    两种常用的方式: $.ajax({ type: "POST", url: '/everdayPost', // data: JSON.parse({cont:data}),注意: ...

  4. golang 一个字符串表达式替换的函数

    package util import ( "fmt" "reflect" "regexp" "strconv" &qu ...

  5. A广搜

    <span style="color:#330099;">/* A - 广搜 基础 Time Limit:2000MS Memory Limit:65536KB 64b ...

  6. Css网页样式设计

    第一章 概述 一.CSS简介1.CSS是Cascading Style Sheets(层叠样式表单)的简称.通常所称的CSS是指CSS1,即层叠样式表单1级. 2.编辑CSS文档:与编辑HTML的方法 ...

  7. js中的Math对象

    绝对值Math.abs()     console.log(Math.abs(-25));     console.log(Math.abs('-25'));//存在隐式转换可以求绝对值     co ...

  8. python之 yield --- “协程”

    在编程中我们经常会用到列表,以前使用列表时需要声明和初始化,在数据量比较大的时候也需要把列表完整生产出来,例如要存放1000给数据,需要准备长度1000的列表,这样计算机就需要准备内存放置这个列表,在 ...

  9. Linux架构之Nginx 高可用

    第53章 Nginx之高可用Keepalived 一.Keepalived高可用基本概述 1.1)什么是高可用 一般是指2台机器启动着完全相同的业务系统,当有一台机器down机了,另外一台服务器就能快 ...

  10. python--线程锁,队列

    #线程数据安全处理--同步锁 import time def sub(): global num print("ok") lock.acquire()#获取这把锁--->只有 ...