12 2017 档案
摘要:重放攻击(Replay Attacks)1.什么是重放攻击顾名思义,重复的会话请求就是重放攻击。可能是因为用户重复发起请求,也可能是因为请求被攻击者获取,然后重新发给服务器。2.重放攻击的危害请求被攻击者获取,并重新发送给认证服务器,从而达到认证通过的目的。我们可以通过加密,签名的方式防止信息泄露,
阅读全文
摘要:基本认证便捷灵活,但极不安全。用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改。安全使用基本认证的唯一方式就是将其与 SSL 配合使用。 摘要认证是另一种 HTTP 认证协议,它与基本认证兼容,但却更为安全。摘要认证试图修复基本认证协议的严重缺陷。具体来说,摘要认证进行了如下改下
阅读全文
摘要:基本概念 对于许多人来说,都知道的是,cookie是存储在客户端的,可以用来放需要长期使用的内容,例如用户密码、用户账户等等,服务器是可以获取到cookie的内容的;而session则是存储在服务器端,通过唯一的session_id来区别用户,用于保存用户的登录状态和请求等,客户是不能获取到其内容的
阅读全文
摘要:token 登录握手与身份验证; cookie、session 记录会话状态 兼有 token的功能; cookie session 功能更强大。 所有这些都是为了便捷和密码安全考虑。
阅读全文
摘要:token的作用:认证、授权; 生成:随机码、时间戳、用户 设备 合成; 验证:是否存在、合成验证; 管理:有效期(服务器存储时间or cookie存储过期时间)、展期。 token生成:或者和用户信息一起传输、或者token本身自带用户信息和其他信息。
阅读全文
摘要:服务器端不存token,而存设备ID、登录时时间戳、userID等。 服务器端使用存储信息生成token,与会话token比较完成鉴权。 在做接口测试时,经常会碰到请求参数为token的类型,但是可能大部分测试人员对token,cookie,session的区别还是一知半解。为此我查阅大量的资料做了
阅读全文
摘要:基于挑战/应答属于密码鉴别的一种。特定是密码不在网络上传输。该认证机制中认证者(服务器)每次向被认证者(客户端)发送一个不同的”挑战“字串,客户端收到这个”挑战“字串后,按照双方事先协商好的方法应答。挑战相当于咨询,应答相当于回答。 (1)客户端向服务器端发错请求,要求进行身份验证。 (2)服务器从
阅读全文
摘要:In computer security, challenge–response authentication is a family of protocols in which one party presents a question ("challenge") and another part
阅读全文
摘要:主要工作: 1)算法协商; 2)密钥交换; 3)身份认证; 4)数据通信; 1、2、3主要使用握手协议; 4使用记录协议。 SSL协议可分为两层:记录协议、握手协议 SSL Record Protocol:建立在可靠的传输协议如TCP之上为高层协议提供数据封装、压缩、加密等基本功能 SSL Hand
阅读全文
摘要:以前一直分不清 authentication 和 authorization,其实很简单,举个例子来说: 在 computer science 领域再举个例子: 你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 authentication;再一check用户张三是
阅读全文
摘要:在看ldap的时候发现了两个关键词, authentication验证 和 authorization授权 http://www.cyberciti.biz/faq/authentication-vs-authorization/#comment-724439 这篇文章讲得很好, authentif
阅读全文
摘要:Content-Encoding值 gzip 表明实体采用GNU zip编码 compress 表明实体采用Unix的文件压缩程序 deflate 表明实体是用zlib的格式压缩的 identity 表明没有对实体进行编码。当没有Content-Encoding header时, 就默认为这种情况
阅读全文
摘要:RFC 2616 for HTTP 1.1 specifies how web servers must indicate encoding transformations using the Content-Encoding header. Although on the surface, Con
阅读全文
摘要:网上关于WEB缓存的文章很多,今天汇总一下。 为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影响网站交互的前提下可以大大加快网站加载速度。 节省带宽:对于已缓存的文件,可以减少请求带宽甚至无需请
阅读全文
摘要:1、缓存的分类 2、浏览器缓存机制详解 2.1 HTML Meta标签控制缓存 2.2 HTTP头信息控制缓存 2.2.1 浏览器请求流程 2.2.2 几个重要概念解释 3、用户行为与缓存 4、Refer: https://www.cnblogs.com/520yang/articles/48074
阅读全文
摘要:在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度。其中提高网页反应速度的一个方式就是使用缓存。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。那么下面我们就来看看服务器端缓存的原理。
阅读全文
摘要:https://tools.ietf.org/html/draft-ietf-httpbis-p6-cache-25#page-21 5.2. Cache-Control 5.2.1. Request Cache-Control Directives
阅读全文
摘要:https://www.cnblogs.com/caiyanhu/p/6931624.html 下面的内容展示了一个常见的 Response Headers,这些 Headers 要求客户端最多缓存 3600 秒,也给出了一个 pub1259380237;gz 的校验值。 对于缓存而言,我们主要用了
阅读全文
摘要:缓存的存与用的控制 Cache-Control指定了请求和响应遵循的缓存机制。好的缓存机制可以减少对网络带宽的占用,可以提高访问速度,提高用户的体验,还可以减轻服务器的负担。 Cache-Control主要有以下几种类型: (1) 请求Request: [1] no-cache 不要读取缓存中的文件
阅读全文
摘要:参考链接: HTTP 协议中的 Transfer-Encoding 分块传输编码 https://www.cnblogs.com/xuehaoyue/p/6639029.html 一、背景: 二、分块编码(Transfer-Encoding: chunked) 具体方法 例: HTTP/1.1 20
阅读全文
摘要:PKCS 15 个标准 PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准。 可以到官网上看看 What is PKCS PKCS 目前共发布过 15 个标准:(1)PKCS#1:RS
阅读全文
摘要:The difference between the PKCS#5 and PKCS#7 padding mechanisms is the block size; PKCS#5 padding is defined for 8-byte block sizes, PKCS#7 padding wo
阅读全文
摘要:首先再说说密码体制那点事,密码体制按密钥分为两派,对称和公钥,不过也可以分为分组密码和流密码(序列密码)。刚才看了一眼,发现忘把图片传上来了,下次有功夫的。 说句废话,分组密码主要采用混淆原则和扩散原则来抵抗攻击者对该密码体制的统计分析。 那分组密码是什么东西呢? 通俗讲就是将明文分块,然后分块加密
阅读全文
摘要:在进行RSA运算时需要将源数据D转化为Encryption block(EB)。其中pkcs1padding V1.5的填充模式安装以下方式进行 (1) EB = 00+ BT+PS +00 + D 说明 EB:为转化后Hex进制表示的数据块,长度为128个字节(密钥1024位的情况下) 00:开头
阅读全文
摘要:最近在做一个项目中需要,在android对一个密码字段首先进行 一次md5加密后再进行一次rsa加密,然后把加密的结果通过 json协议传输给nginx服务器进行解密。在android中,可以直接 使用java提供Cipher类来进行加密,nginx服务器使用openssl来进行解密。 androi
阅读全文
摘要:1)RSA_PKCS1_PADDING 填充模式,最常用的模式要求:输入 必须 比 RSA 钥模长(modulus) 短至少11个字节, 也就是 RSA_size(rsa) – 11 如果输入的明文过长,必须切割, 然后填充 输出 和modulus一样长根据这个要求,对于512bit的密钥, blo
阅读全文
摘要:1.HTTPS传输流程 2.常用加密算法 3.AFN证书校验策略及核心方法 4.SSL Pinning 5.CA证书申请流程 HTTPS经由超文本传输协议进行通信,但利用SSL/TLS来对数据包进行加密。HTTPS开发的主要目的,是提供对网络服务器的身份认证,保护交换数据的隐私与完整性 1.HTTP
阅读全文
摘要:NSURLCredential 代表认证结果证书?
阅读全文
摘要:- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthC
阅读全文
摘要:这篇文章是我一边学习证书验证一边记录的内容, 稍微整理了下,共扯了三部分内容: HTTPS 简要原理; 数字证书的内容、生成及验证; iOS 上对证书链的验证。 HTTPS 概要 HTTPS 是运行在 TLS/SSL 之上的 HTTP,与普通的 HTTP 相比,在数据传输的安全性上有很大的提升。 要
阅读全文
摘要:http://wiki.nginx.org/HttpSslModule#ssl_ciphers 推荐配置: A) 在Apache 的 SSL 配置中禁用 SSLv3 和 SSLv3SSLProtocol all -SSLv2 -SSLv3SSLCipherSuite HIGH:!aNULL:!MD5
阅读全文
摘要:A digital certificate is a collection of data used to securely distribute the public half of a public/private key pair. Figure 1 shows the parts of a
阅读全文
摘要:关系就是。。。。并列关系 最新版本的TLS(Transport Layer Security,传输层安全协议)是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。在
阅读全文
摘要:SSL协议提供的服务主要有: 1)认证用户和服务器,确保数据发送到正确的客户机和服务器; 2)加密数据以防止数据中途被窃取; 3)维护数据的完整性,确保数据在传输过程中不被改变。
阅读全文
摘要:iOS 中可用的受信任根证书列表 iOS 受信任证书存储区中包含随 iOS 一并预装的受信任根证书。 关于信任和证书 以下所列的各个 iOS 受信任证书存储区均包含三类证书: “可信”的证书用于建立信任链,以验证由受信任根证书签署的其他证书;例如,与网页服务器建立安全连接。IT 管理员在创建 iOS
阅读全文
摘要:iOS 受信任证书存储区包含随 iOS 预安装的可信根证书。 iOS 受信任证书存储区包含随 iOS 预安装的可信根证书。 https://support.apple.com/zh-cn/HT205205 关于信任和证书 iOS 9 受信任证书存储区包含三类证书: 可信的根证书用于建立信任链,以验证
阅读全文
摘要:本周,CloudFlare宣布,开始提供Keyless服务,即你把网站放到它们的CDN上,不用提供自己的私钥,也能使用SSL加密链接。 我看了CloudFlare的说明(这里和这里),突然意识到这是绝好的例子,可以用来说明SSL/TLS协议的运行机制。它配有插图,很容易看懂。 下面,我就用这些图片作
阅读全文
摘要:An SSL connection between a client and server is set up by a handshake, the goals of which are: To satisfy the client that it is talking to the right
阅读全文
摘要:The following is a standard SSL handshake when RSA key exchange algorithm is used: 1. Client Hello Information that the server needs to communicate wi
阅读全文
摘要:TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、可靠的、基于字节流的传输层协议 TCP报文格式: 源端口号(2字节): d5 df(54751) 目的端口号(2字节): 22 b8(8888) TCP报头中的源端口号和目的端口号同IP数据报中的源IP
阅读全文
摘要:TCP报文是TCP层传输的数据单元,也叫报文段。 1、端口号:用来标识同一台计算机的不同的应用进程。 1)源端口:源端口和IP地址的作用是标识报文的返回地址。 2)目的端口:端口指明接收方计算机上的应用程序接口。 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连
阅读全文
摘要:TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号。一个TCP数据包中包含多个字节流的数据(即数据段),而且每个TCP数据包中的数据大小不一定相同。在建立TCP连接的三次握手过程中,
阅读全文
摘要:Host https://www.charlesproxy.com Path / Notes SSL Proxying not enabled for this host. Enable in the Proxy Menu, SSL Proxying Settings Protocols HTTP/
阅读全文
摘要:数字证书是一个电子文档,其中包含了持有者的信息、公钥以及证明该证书有效的数字签名。而数字证书以及相关的公钥管理和验证等技术组成了PKI(公钥基础设施)规范体系。一般来说,数字证书是由数字证书认证机构(Certificate authority,即CA)来负责签发和管理,并承担PKI体系中公钥合法性的
阅读全文
摘要:由于苹果规定2017年1月1日以后,所有APP都要使用HTTPS进行网络请求,否则无法上架,因此研究了一下在iOS中使用HTTPS请求的实现。相信大家对HTTPS都或多或少有些了解,这里我就不再介绍了,主要功能就是将传输的报文进行加密,提高安全性。 1、证书准备 证书分为两种,一种是花钱向认证的机构
阅读全文
摘要:首先来分析一下什么是HTTPS以及了解HTTPS对于iOS开发者的意义 HTTPS 以及SSL/TSL 什么是SSL? SSL(Secure Sockets Layer, 安全套接字层),因为原先互联网上使用的 HTTP 协议是明文的,存在很多缺点,比如传输内容会被偷窥(嗅探)和篡改。 SSL 协议
阅读全文
摘要:iOS适配HTTPS,创建一个自签名的SSL证书(x509)具体步骤 引言(创建生成的证书只能用于测试使用。如果想使用自签名证书就只能以自己为 CA机构颁发证书,进行双向认证才能使用) 使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的。也就是说,任何人都可以通过适当的工具拦截或者监听
阅读全文
摘要:1.需求 了解服务端如何处理http请求,了解基本的处理流程 2.实战 处理http请求分为7个步骤 2.1 Tcp连接 建立一条tcp链接,(若之前不存在持久链接keep-alive),把客户端的ip和port,服务端的ip和port数据放到web服务器连接表中。服务器随时监听链接表中的链接,看有
阅读全文
摘要:Servlet,-let是专门在计算机领域表示非完整应用的软件模块,需要嵌入其他应用才能工作。本义是“小”的意思。Java里带-let的东西就是相对于普通的通过主类main方法启动的应用,由已经启动的程序主题实例化主类后调用主类实现的抽象方法工作的模块。servlet是应用于http服务端的这类软件
阅读全文
摘要:众所周知,每一个HTTP响应都会带有一个HTTP状态码(HTTP Status Code),是用来表示HTTP服务器响应状态的代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。作为web开发者,平时经常20
阅读全文
摘要:CFNetwork SSLHandshake failed (-9806)
阅读全文
摘要:lldb的问题属于调试器: 下面命令用于在调试时设值 e self.apiModel.apiParams = [NSDictionary dictionaryWithObjectsAndKeys:@"一切", @"content", nil] @weakify(self) 属于便捷语法 #defin
阅读全文
摘要:一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。 代码 说明 100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部
阅读全文
摘要:ICMP ICMP是(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但
阅读全文
摘要:http://blog.csdn.net/wudiyi815/article/details/8505726 TCP:SYN ACK FIN RST PSH URG简析 三次握手Three-way Handshake 一个虚拟连接的建立是通过三次握手来实现的 1. (B) --> [SYN] -->
阅读全文
摘要:SYN(synchronous)是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机
阅读全文
摘要:面向过程强调的是发展的观点;是简单方法论。 面向对象强调的是联系与要素;是系统论的观点;
阅读全文
摘要:面向过程与面向对象的本质区别 一位计算机界的大师曾说过,“我认为,面向对象的目标从来都不是复用和扩展,而是提供一种处理复杂问题的方法”。 面向过程讲究自顶向下逐步求精。找到一个系统的入口然后顺藤摸瓜,分析出每一步以及影响这一步的其他因素,我们就能够定义这个系统。 面向对象认为世界是有很多对象组成的,
阅读全文
摘要:1)取消点的位置;耗时操作、大的业务逻辑; 2)取消后的资源释放。 pthread_cleanup_push 执行取消操作存在一定的危险。大多数危险都与完全恢复不变量和释放共享资源有关。取消线程时一定要格外小心,否则可能会使互斥保留为锁定状态,从而导致死锁状态。或者,已取消的线程可能保留已分配的内存
阅读全文
摘要:Concurrency and Application Design In the early days of computing, the maximum amount of work per unit of time that a computer could perform was deter
阅读全文
摘要:One of the technologies for starting tasks asynchronously is Grand Central Dispatch (GCD). This technology takes the thread management code you would
阅读全文
摘要:Replacing Threads with Dispatch Queues To understand how you might replace threads with dispatch queues, first consider some of the ways you might be
阅读全文
摘要:Dispatch Queues Dispatch queues are a C-based mechanism for executing custom tasks. A dispatch queue executes tasks either serially or concurrently bu
阅读全文
摘要:所有崩溃都有cpu执行指令引起。主要包含两种:1)指令非法;2)访问非法。 访问非法又包含两种:(1)访问不存在;2)访问越界;3()访问受限。 指令非法:cpu不支持的指令。 An illegal opcode, also called an undocumented instruction, i
阅读全文
摘要:When you create a static library you don't link in the dependent libraries. As a result, when you rename one of the files from .m to .mm it starts to
阅读全文
摘要:语言混编的核心在于建立联系。 语言混编是两种以上的语言合作,利用各自的优点,协作完成软件的功能。 要完成语言的混合编程开发,需要各种层次的支持,分别是开发时、编译时、运行时;同时要准对不同语言的特点区别对待。 开发要做的事情: 1)建立语言同等层次的对象和值的映射关系; 2)建立联系;包含赋值、调用
阅读全文
摘要:理论上完美的可执行文件可以不包含任何符号; 之所以有的可执行文件包含符号,是为了支持语言的运行时特点;比如c++和oc; 更进一步,理论上只包含函数符号和地址的对应关系即可,比如c++; 但是对于oc语言,变量是作为运行时结构的一部分存在的,所以变量符号在可执行文件中也存在。
阅读全文
摘要:http://blog.csdn.net/gaoyp/article/details/46912753 一、错误报告中的三种地址:stack addressload addresssymbol address1)stack address同意词:runtime address从操作系统的堆栈0点算起
阅读全文
摘要:Address space layout randomization (ASLR) is a computer security technique involved in preventing exploitation of memory corruption vulnerabilities. I
阅读全文
摘要:ASLR: Address space layout randomization:地址空间布局随机化,是参与保护缓冲区溢出问题的一个计算机安全技术。是为了防止攻击者在内存中能够可靠地对跳转到特定利用函数。ASLR包括随机排列程序的关键数据区域的位置,包括可执行的部分、堆、栈及共享库的位置。历史:在1
阅读全文
摘要:1、程序存储器(program storage)在计算机的主存储器中专门用来存放程序、子程序的一个区域。2、指令寄存器(IR ):用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存取到数据寄存器(DR)中,然后再传送至IR。指令划分为操作码和地址码字段,由二进制数字组成。为了执行任何给定
阅读全文
摘要:Symbols have always presented a conundrum for developers: You want to remove all symbols from your program because this makes the code smaller, and po
阅读全文
摘要:Architecture The foundation layer of Darwin and OS X is composed of several architectural components, as shown in Figure 3-3. Taken together, these co
阅读全文
摘要:http://my.oschina.net/chenliang165/blog/125825. 最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制
阅读全文
摘要:调试器工作原理(3):调试信息 本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。 本篇主要内容 在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。 调试信息 现代的编译器在转换高级
阅读全文