1.流程图: HMAC的一个典型应用是结合“挑战/响应”(Challenge/Response)来保障客户端和服务器传输数据的安全性 . 2.安全性分析: 使用的密钥是双方事先约定的,第三方不可能知道.从整个流程可看出,攻击者只能截获作为“挑战”的随机数和作为“响应”的HMAC结果,无法根据这两个数据推算出密钥.由于不知道密钥,所以攻击者无法伪造出正确的响应.同时,由于每次请求获得的“挑战”随机数都不一样,攻击者也无法对请求进行重放攻击. 3.HMAC Python实例: 3.1.源代码: 客户…
HMAC的一个典型应用是用在"挑战/响应"(Challenge/Response)身份认证中. 认证流程 (1) 先由客户端向服务器发出一个验证请求. (2) 服务器接到此请求后生成一个随机数并通过网络传输给客户端(此为挑战). (3) 客户端将收到的随机数提供给ePass,由ePass使用该随机数与存储在ePass中的密钥进行HMAC-MD5运算并得到一个结果作为认证证据传给服务器(此为响应). (4) 与此同时,服务器也使用该随机数与存储在服务器数据库中的该客户密钥进行HMAC-M…
前言 前段时间和同事讨论HTTPS的工作原理,当时对这块知识原理掌握还是靠以前看了一些博客介绍,深度不够,正好我这位同事是密码学专业毕业的,结合他密码学角度对tls加解密这阐述,让我对这块原理有了更进一步的理解,正文开始... 今天我们讨论2个话题 TLS是如何保障数据传输安全的 中间人攻击的原理和攻防 什么是TLS TLS(Transport Layer Security)是新的标准,旧的标准叫SSL(Secure Sockets Layer). 不管新旧标准,他们的目的都是同一个,那就是保护…
摘 要:电网安全是电力的基础,随着智能电网的快速发展,越来越多的ICT信息通信技术被应用到电力网络.本文分析了历史上一些重大电网安全与网络安全事故,介绍了电网安全与网络安全.通信技术与电网安全的关系以及相应的电网安全标准,分享了中国国家电网公司保障电网安全的相关措施和成功经验,并对5G.AI等新技术在电网安全和网络安全方面的创新和应用做了分析和展望. 关键词:电网安全:网络安全:5G:人工智能 引言 从1882年世界首个发电厂建设开始,电网已经有一百多年的历史,成为人们生产和生活的重要基础设施.…
Hash-based message authentication code,利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出 可以查看python的内置模块hmac.py的源码来学习hmac的用法 举例: 一. import hmac import hashlib mac = hmac.new('secret_key','message_be_crypted',hashlib.md5)#第一个参数是密钥key,第二个参数是待加密的字符串,第三个参数是hash函数 print…
from: http://www.cnblogs.com/songhan/archive/2012/07/29/2613898.html Hash, MAC,HMAC Hash-MD5, SHA-1, integrity MAC- keyed hash, integrity & authenticity. HMAC 长度和其所用的hash长度一样 Hash 是一种从任何一种数据中创建小的数字“指纹”的方法.散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来. 如果两个散列值是不…
HMAC算法是一种基于密钥的报文完整性的验证方法 ,其安全性是建立在Hash加密算法基础上的.它要求通信双方共享密钥.约定算法.对报文进行Hash运算,形成固定长度的认证码.通信双方通过认证码的校验来确定报文的合法性. HMAC算法可以用来作加密.数字签名.报文验证等 .(我感觉实际情况中用HMAC做加密也是为的不可逆加密,不像用DES/AES这种可逆加密:感觉HMAC和随机盐Hash算法非常像) 一句话总结:HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Auth…
信息安全基础 信息安全目标 真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别, 就是身份认证. 保密性:保证机密信息不被窃听,盗取,或窃听者不能了解信息的真实含义. 完整性:保证数据的一致性,防止数据被非法用户篡改或部分丢失. 可用性:保证合法用户对信息和资源的使用不会被不正当地拒绝. 不可抵赖性:建立有效的责任机制,防止用户否认其行为. 常见攻击手段 破坏信息的完整性,篡改信息 拒绝服务 窃听,拦截信息 假冒 抵赖 重放 猜测预测 拖库, 信息泄露 密码学基础 HASH 介绍 摘要性,…
WEB安全入门 信息安全基础 信息安全目标 真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别, 就是身份认证. 保密性:保证机密信息不被窃听,盗取,或窃听者不能了解信息的真实含义. 完整性:保证数据的一致性,防止数据被非法用户篡改或部分丢失. 可用性:保证合法用户对信息和资源的使用不会被不正当地拒绝. 不可抵赖性:建立有效的责任机制,防止用户否认其行为. 常见攻击手段 破坏信息的完整性,篡改信息 拒绝服务 窃听,拦截信息 假冒 抵赖 重放 猜测预测 拖库, 信息泄露 密码学基础 HASH…
01.安全设计Checklist 输入验证 校验跨信任边界传递的不可信数据(策略检查数据合法性,含白名单机制等)格式化字符串时,依然要检验用户输入的合法性,避免可造成系统信息泄露或者拒绝服务 禁止向Java Runtime.exec()方法传递不可信.未净化的数据(当参数中包含空格,双引号,以-或者/符号开头表示一个参数开关时,可能会导致参数注入漏洞),建议如果可以禁止JVM执行外部命令,未知漏洞的危害性会大大降低,可以大大提高JVM的安全性. 验证路径之前应该先将其标准化为实际路径(特殊的文件…
ssh 配置文件讲解大全  ssh调试模式  sftp scp strace进行调试  特权分离 http://blog.chinaunix.net/uid-16728139-id-3265394.html 1995 年,芬兰学者Tatu Ylonen 设计了SSH 协议,将登录信息全部加密,成为互联网安全的一个基本解决方案.这个方案迅速在全世界获得推广,目前已经成为Linux 系统的标准配置.SSH 只是一种协议,存在多种实现,既有商业实现,也有开源实现.目前,在Linux下广泛使用的是Ope…
1数字证书登录认证的优点 作为企业信息系统的第一道大门,身份认证是确保企业信息资源只能被合法用户所访问的重要保障. 传统的口令认证方式虽然简单,但是由于其易受到窃听.重放等攻击的安全缺陷,使其已无法满足当前复杂网络环境下的安全认证需求. 传统账号+口令登录的弊端: 1.         口令易被猜测.由于有的用户为了方便记忆,使用非常简单的口令,比如“1234”.“abcd”等这些非常容易被猜测的口令. 2.         口令易被窃听.大家都知道,WEB应用在互联网上是基于TCP/IP协议的…
编者按:本文是SDNLAB“企业+”特别报道之一.“企业+”是SDNLAB重点打造的栏目,汇聚信息行业运营商.设备商.互联网公司.软件公司.集成公司.融创投资公司.科研院所等企业,重新定义IT行业撮合方式. 信息通信领域日新月异,历经个人PC业务革命.互联网大规模扩容.智能手机爆发.云计算风行等多个阶段,沉浮其中的企业选择了不同的命运钥匙,走向了不同的征途. 有的黯然神伤:昔日强大的IBM错过了智能手机.云时代,据悉其营收已下滑至与1998年持平:明星企业Oracle裁员事件前段时间刷屏,入局云…
[原]AFNetworking源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 上一篇的话,主要是讲了如何通过构建一个request来生成一个data task.但是对于NSURLSession部分却没有提及.主要是精力有限,准备在这一部分把NSURLSession的知识好好梳理一遍.一切先从上一篇中的addDelegateForDataTask:函数说起,然后再介绍AFURLSessionManagerTaskDelegate,最后结合AFURLSes…
本文是基于嵌入式物联网研发工程师的视觉对网络编程和web编程进行阐述.对于专注J2EE后端服务开发的童鞋们来说,这篇文章可能稍显简单.但是网络编程和web编程对于绝大部分嵌入式物联网工程师来说是一块真空领域.本文的知识体系属于全栈工程师的范畴. 的确,物联网研发应该以团队协作分工的方式进行,所以有嵌入式设备端.网关.web前端.APP.后端开发等专属岗位.作为系统架构师,自然需要掌握各种岗位的关键技术.作为嵌入式工程师,掌握网络编程.web编程,能够极大地拓展自己的视野和架构思维,能够主动地对系…
TCP序列号和确认号详解 完整的PDF下载: 在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱序.但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了.近段时间由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助. 1.   序列号和确认号…
HttpClient 4.3教程(转载) 转自:http://www.yeetrack.com/?p=779 前言 Http协议应该是互联网中最重要的协议.持续增长的web服务.可联网的家用电器等都在继承并拓展着Http协议,向着浏览器之外的方向发展. 虽然jdk中的java.net包中提供了一些基本的方法,通过http协议来访问网络资源,但是大多数场景下,它都不够灵活和强大.HttpClient致力于填补这个空白,它可以提供有效的.最新的.功能丰富的包来实现http客户端. 为了拓展,Http…
RSA安全性应用场景说明 在刚接触RSA的时候,会混淆RSA加密解密和RSA加签验签的概念.简单来说加密解密是公钥加密私钥解密,持有公钥(多人持有)可以对数据加密,但是只有持有私钥(一人持有)才可以解密并查看数据:加签验签是私钥加签公钥验签,持有私钥(一人持有)可以加签,持有公钥(多人持有)可以验签. 在金融行业在设计到数据交互传输的时候,需要考虑数据的安全性问题.下文通过介绍RSA的加密和加签两个特性,说明RSA加密技术在保障数据传输过程中的安全性以及实现数据的防篡改和防否机制的应用场景及代码…
背景:查阅了一下MongoDB的相关文档,发现中文文档还是比较少的,工作中需要用到MongoDB,而这本<MongoDB最佳实践>是很好的选择,所以就把这本手册翻译了一下,其中生涩的专业用语是参考MongoDB中文官网进行翻译,校对的时间比较少,难免会有不合理的地方,恳请大家指正. 简介 MongoDB是一款为广泛的现代应用程序设计的高性能.可扩展.分布式数据库系统.MongoDB可用于不同规模大小的组织,为那些对系统低延迟.高吞吐量以及可持续性有很高要求的应用提供稳定关键的服务. 尽管Mon…
本文介绍如何保护API,无需看前边文章也能明白吧. 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cgzl/p/9019314.html 建立成熟度2级的 API请看这里: https://www.cnblogs.com/cgzl/p/9047626.html https://www.cnblogs.com/cgzl/p/9080960.html https://www.cnblogs.com/cg…
01.安全培训 安全意识培训(全员) 邮件安全 钓鱼邮件 邮件伪造 第三方转存 检查发件人 开启二次验证 邮件转发 第三方代收 邮件附件敏感信息加密 病毒防范 什么是木马病毒 我安装哪些杀毒软件? 定期更新病毒库 浏览器安全 不浏览恶意网站 不从恶意网站下载软件 下载软件从官网下载 信息泄露 敏感数据上传到云笔记.GitHub 共享账号 使用公司邮箱注册外部账号或者私人账号 社交网络发布公司技术解决方案&保密产品信息 公司账号和私人账号要隔离 打印后及时取走 定期删除浏览记录和搜索记录 个人电脑…
catalogue . 引言 . Kademlia协议 . KRPC 协议 KRPC Protocol . DHT 公网嗅探器实现(DHT 爬虫) . BitTorrent协议 . uTP协议 . Peer Wire协议 . BitTorrent协议扩展与ut_metadata和ut_pex(Extension for Peers to Send Metadata Files) . 用P2P对等网络思想改造C/S.B/S架构的思考 0. 引言 平常我们高端用户都会用到BT工具来分享一些好玩的资源…
一.TCP头部简介 ACK :即确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符.表示发来的数据已确认接收无误.TCP报文格式中的控制位由6个标志比特构成,其中一个就是ACK,ACK为1表示确认号有效,为0表示报文中不包含确认信息,忽略确认号字段.在TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据. SYN(SYNchronization) : 在连接建立时用来同步序号.当SYN=1而ACK=0时,表明这是一个连接请求报文.对方若同意建立连接,则应在响应报文中…
引子: 以下文字,是UPYUN系统开发工程师timebug在SegmentFault D-Day南京站技术沙龙上所做分享的内容要义提炼,主题为UPYUN系统开发团队在进行业务逻辑由C模块到ngx_lua的迁移过程中产生的心得体会,以及在NGINX上基于ngx_lua的方面的最佳实践方案. Upyun公众号:upaiyun --------------------------------------------------------------------- ngx_lua 是一个NGINX的第…
本文记录开发.实现IMS项目时,整理的SIP协议基础知识:若有侵权,请告之. SIP协议 1.      SIP协议简介 SIP是一个应用层的控制协议,可以用来建立.修改.和终止多媒体会话(或者会议)例如Internet电话.SIP也可以邀请参与者参加已经存在的会话,比如多方会议.媒体可以在一个已经存在的会话中方便的增加(或者删除).SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点.SIP在建立和维持终止多媒体会话协议上,…
在网络分析中,读懂TCP序列号和确认号在的变化趋势,可以帮助我们学习TCP协议以及排查通讯故障,如通过查看序列号和确认号可以确定数据传输是否乱 序.但我在查阅了当前很多资料后发现,它们大多只简单介绍了TCP通讯的过程,并没有对序列号和确认号进行详细介绍,结合实例的讲解就更没有了.近段时间 由于工作的原因,需要对TCP的序列号和确认号进行深入学习,下面便是我学习后的一些知识点总结,希望对TCP序列号和确认号感兴趣的朋友有一定帮助. [b]1.  序列号和确认号的简介及作用[/b] TCP协议工作在…
一.概述 在程序开发过程中,很多时候会涉及用户信息验证环节,这类场景下我们往往需要对字符串进行加密处理.python中也有专门的加密模块,它就是hashlib.下面章节将详述它的常见用法. 二.常见加密算法的使用 hashlib模块支持业界主流常见的一些加密算法,如md5,sha1,sha256,sha384,sha 512,hmac加密等,具体用法都差不多,只是调用的算法不同而已.需要注意的是,在输入需要被加密的字符串时,必须先encode等二进制串,所以在字符串前面要加上b. 2.1 md5…
TCP 协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了传送数据包的顺序.顺序是用一个序列号来保证的.响应包内也包括一个序列号,表示接收方准备好这个序列号的包.在TCP传送一个数据包时,它会把这个数据包放入重发队列中,同时启动计时器,如果收到了关于这个包的确认信息,便将此数据包从队列中删除,如果在计时器超时的时候仍然没有收到确认信息,则需要重新发送该数据包.另外,TCP通过数据分段中的序列号来 保证所有传输的数据可以按照正常的顺序进行重组,从而保障数据…
简介 MongoDB是一款为广泛的现代应用程序设计的高性能.可扩展.分布式数据库系统.MongoDB可用于不同规模大小的组织,为那些对系统低延迟.高吞吐量以及可持续性有很高要求的应用提供稳定关键的服务. 尽管MongoDB与传统的关系型数据库的有些特性不一样,但是对于之前部署和操作其他数据库系统的人员来说,MongoDB的很多概念,比如操作.策略.存储过程还是很相似的.公司的DBA和运营团队可以在保持现有系统的前提下,直接把MongoDB集成到生产环境中,并且不需要定制操作流程和工具 本文档为部…
本文介绍如何保护API,无需看前边文章也能明白吧. 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cgzl/p/9019314.html 建立成熟度2级的 API请看这里: https://www.cnblogs.com/cgzl/p/9047626.html https://www.cnblogs.com/cgzl/p/9080960.html https://www.cnblogs.com/cg…