高级加密标准

计算机网络学习笔记:第七章.网络安全与攻防

丶灬走出姿态 提交于 2019-12-03 20:46:25
本文是《计算机网络》的自学课程,视频地址为: https://www.bilibili.com/video/av47486689。仅做个人学习使用,如有侵权,请联系删除 第七章:网络安全 安全分类 安全有: 数据安全(对文件的访问、储存) 应用程序安全(要确保应用程序是安全的) 操作系统安全(操作系统漏洞,要定时升级、设置用户权限) 网络安全:网络传输信息时的安全 物理安全 用户安全教育 本课程主要关注网络安全 网络安全问题概述 CAIN软件截获信息、篡改信息 CAIN只能对本网段起作用。 使用的原理依然是ARP欺骗 DNS劫持(修改DNS解析的结果) 如果交换机支持监视端口的功能的话,将该设备设置为内网的监视端口设备也能做的这样的效果 CAIN必须结合抓包工具来实现 CAIN只保留账号密码信息 DNS欺骗: DNS常常被用来做钓鱼网站 伪造 伪造身份,从而得以访问有访问控制的资源 例如设置网站只有特定ip才能访问: 直接访问就是这样的: 一般冒充设备要等到原设备关机等时候,防止出现冲突、露出马脚 这个不需要其他软件,直接改ip等就可以 中断 来源: https://baike.baidu.com/item/DoS%E6%94%BB%E5%87%BB DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击

加密和安全

易管家 提交于 2019-12-03 10:18:04
墨菲定律 墨菲定律:一种心理学效应,是由爱德华·墨菲(Edward A. Murphy)提出的, 原话:如果有两种或两种以上的方式去做某件事情,而其中一种选择方式将导 致灾难,则必定有人会做出这种选择 主要内容: 任何事都没有表面看起来那么简单 所有的事都会比你预计的时间长 会出错的事总会出错 如果你担心某种情况发生,那么它就更有可能发生 安全机制 信息安全防护的目标 保密性 Confidentiality 完整性 Integrity:数据确定完好,不能被篡改 可用性 Usability:read5(高可用性)系统的总体运行时间占全部时间的百分比,百分比越 高,可用性越高,百分比按年计算,%99.9 当机10小时 可控制性Controlability 不可否认性 Non-repudiation 安全防护环节 物理安全:各种设备/主机、机房环境 系统安全:主机或设备的操作系统 应用安全:各种网络服务、应用程序 (文件共享) 网络安全:对网络访问的控制、防火墙规则(iptables -vnL iptables -F) 数据安全:信息的备份与恢复、加密解密 管理安全:各种保障性的规范、流程、方法 安全攻击: STRIDE 1 Spoofing 假冒 (钓鱼网站,可以通过看域名辨别) 2 Tampering 篡改 (发邮件给tom mail -s test tom .或者ctrl

Android 加密算法归纳

匿名 (未验证) 提交于 2019-12-03 00:33:02
密钥:分为加密密钥和解密密钥。 明文:没有进行加密,能够直接代表原文含义的信息。 密文:经过加密处理处理之后,隐藏原文含义的信息。 加密:将明文转换成密文的实施过程。 解密:将密文转换成明文的实施过程。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。 为安全框架提供类和接口,如解析和管理证书、密钥生成、算法参数。 java.security java.security.acl java.security.cert java.security.interfaces java.security.spec 2.为加密操作提供类和接口,如加密操作包括加密,密钥生成和密钥协议以及消息认证码(MAC)生成。 支持加密包括对称,非对称,块和流密码。 javax.crypto javax.crypto.interfaces javax.crypto.spec 可参考谷歌开发者文档: https://developer.android.com/reference/packages Base64 Base64只是一种编码方式,将二进制数据转化为字符

小程序登录的AES加密解释

匿名 (未验证) 提交于 2019-12-03 00:12:02
前情回顾 通过wx.getUserInfo()的success回调得到的加密数据( encryptedData ) 对加密数据( encryptedData )解密后可得到openId和unionId。 如何解密,官方文档是这样解释的! 首次看到如上解密说明时,我只知道encryptedData和session_key获得方式。 session_key在上篇有介绍,如下: 获得session_key和openId(加解密、签名系列) 产生的疑问: 1:AES是什么? 2:128是什么? 3:CBC是什么? 4:初始向量iv是做什么用的? 5:数据采用PKCS#7填充什么意思? 6:1,2,3,4条分别说明的算法,密文,密钥,初始向量iv如何组合使用? 7:Base64_Decode又是什么? 1. AES是什么? 美国国家标准技术研究所在2001年发布了高级加密标准(AES)Advanced Encryption Standard。 AES是基于数据块的加密方式, 即,每次处理的数据是一块(16字节),当数据不是16字节的倍数时填充, 这就是所谓的分组密码(区别于基于比特位的流密码),16字节是分组长度。 AES是一个对称分组密码算法。 1 在这里简单介绍下对称加密算法与非对称加密算法的区别。 对称加密算法 加密和解密用到的密钥是相同的,这种加密方式加密速度非常快

几种常见的加密算法

匿名 (未验证) 提交于 2019-12-02 23:51:01
转载自: https://blog.csdn.net/zyhlwzy/article/details/77946086 由于计算机软件的非法复制,通信的泄密、数据安全受到威胁,解密及盗版问题日益严重,甚至引发国际争端,所以在信息安全技术中,加密技术占有不可替代的位置,因此对信息加密技术和加密手段的研究与开发,受到各国计算机界的重视,发展日新月异。现在我们就几种常用的加密算法给大家比较一下。 DES加密算法 DES加密算法是一种分组密码,以64位为分组对数据加密,它的密钥长度是56位,加密解密用同一算法。DES加密算法是对密钥进行保密,而公开算法,包括加密和解密算法。这样,只有掌握了和发送方相同密钥的人才能解读由DES加密算法加密的密文数据。 DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。 DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密

接口请求 URL转码

匿名 (未验证) 提交于 2019-12-02 23:45:01
ʲô 是 URL转码 不管是以何种方式传递 url时,如果要传递的url中包含特殊字符,如想要传递一个+,但是这个+会被url会被编码成空格,想要传递&,被url处理成分隔符。 尤其是当传递的url是经过Base64加密或者RSA加密后的,存在特殊字符时,这里的特殊字符一旦被url处理,就不是原先你加密的结果了。 如图所示,访问接口参数我传递参数为 1+1 结果浏览器显示结果为 1 1 很明显 '+' 被转化成了空格。 转码之前访问: 如果别人调用你接口传递的参数如果有特殊字符,那么你就需要进行转码进行处理,不然就会导致参数错误,如上图所示。 解决方案: public static void main(String[] args) { //转码方法 String encode = URLEncoder.encode("1+1"); System.out.println("转码:" + encode); //解码方法 String decode = URLDecoder.decode(encode); System.out.println("解码:" + decode);} 控制台输出结果:转码:1%2B1 解码:1+1转码之后访问: url特殊符号及对应的编码: 符号 url中的含义 编码 + URL 中+号表示空格 %2B 空格 URL中的空格可以用+号或者编码 %20 /

对称加密和非对称加密

廉价感情. 提交于 2019-12-02 23:20:47
对称加密 什么是对称加密? 对称加密就是指,加密和解密使用同一个密钥的加密方式。 对称加密的工作过程 发送方使用密钥将明文数据加密成密文,然后发送出去,接收方收到密文后,使用同一个密钥将密文解密成明文读取。 对称加密的优点 加密计算量小、速度块,适合对大量数据进行加密的场景。 常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES。 对称加密的两大不足 密钥传输问题:如上所说,由于对称加密的加密和解密使用的是同一个密钥,所以对称加密的安全性就不仅仅取决于加密算法本身的强度,更取决于密钥是否被安全的保管,因此加密者如何把密钥安全的传递到解密者手里,就成了对称加密面临的关键问题。(比如,我们客户端肯定不能直接存储对称加密的密钥,因为被反编译之后,密钥就泄露了,数据安全性就得不到保障,所以实际中我们一般都是客户端向服务端请求对称加密的密钥,而且密钥还得用非对称加密加密后再传输。) 密钥管理问题:再者随着密钥数量的增多,密钥的管理问题会逐渐显现出来。比如我们在加密用户的信息时,不可能所有用户都用同一个密钥加密解密吧,这样的话,一旦密钥泄漏,就相当于泄露了所有用户的信息,因此需要为每一个用户单独的生成一个密钥并且管理,这样密钥管理的代价也会非常大。 AES加密 AES加密算法就是众多对称加密算法中的一种,它的英文全称是Advanced

API设计之道

99封情书 提交于 2019-12-02 23:09:59
接口安全要求: 1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口) 2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改) 3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放) 4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等) 设计原则: 1.轻量级 2.适合于异构系统(跨操作系统、多语言简易实现) 3.易于开发 4.易于测试 5.易于部署 6.满足接口安全需求(满足接口安全1,2,3),无过度设计。 其它:接口安全要求防数据信息泄漏部分,主要针对目前用户中心的登录接口 设计原则是:使用HTTPS安全协议 或 传输内容使用非对称加密,目前我们采用的后者。 适用范围: 1.所有写操作接口(增、删、改 操作) 2.非公开的读接口(如:涉密/敏感/隐私 等信息) 接口参数签名 实现思路参考: 必要的输入参数: 签名算法过程: 1.对除签名外的所有请求参数按key做的升序排列,value无需编码。(假设当前时间的时间戳是12345678) 例如:有c=3,b=2,a=1 三个参,另加上时间戳后, 按key排序后为:a=1,b=2,c=3,_timestamp=12345678。 2 把参数名和参数值连接成字符串,得到拼装字符:a1b2c3_timestamp12345678 3

python 各种加密

匿名 (未验证) 提交于 2019-12-02 22:54:36
加密学习 对称加密 对称密钥加密 , 又叫私钥加密。即信息发送的方和接受方用一个密钥去加密和揭秘数据。 最大的优势是 加解密速度快,适合对大量数据进行加密, 对称加密的缺点是密钥的管理和分配, 换句话说就是 如何把密钥发送到需要解密你的消息的人手里的问题。在发送密钥的过程中, 密钥有很大的风险被黑客拦截。 现实中的做法是将对称加密的密钥进行非对称加密然后传给需要他的人。 非对称加密 1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。 (2) Alice的浏览器向银行的网站请求公钥。 (3) 银行将公钥发送给Alice。 (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。 (5) Alice的浏览器将加密后的对称密钥发送给银行。 (6) 银行使用私钥解密得到Alice浏览器的对称密钥。 (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。 (三)总结 (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。 (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。 (3) 解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。 python3

Python的加密与解密

匿名 (未验证) 提交于 2019-12-02 22:51:30
前言 据记载,公元前400年,古希腊人发明了置换密码。1881年世界上的第一个电话 保密专利出现。在第二次世界大战期间,德国军方启用“恩尼格玛”密码机, 密码学在战争中起着非常重要的作用。 随着信息化和数字化社会的发展,人们对信息安全和保密的重要性认识不断提高, 于是在1997年,美国国家标准局公布实施了“美国数据加密标准(DES)”, 民间力量开始全面介入密码学的研究和应用中,采用的加密算法有DES、RSA、SHA等。 随着对加密强度需求的不断提高,近期又出现了AES、ECC等。 使用密码学可以达到以下目的: 保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 加密算法分类 对称加密算法: 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥 发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥。 相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高。 常见的对称加密算法:DES,AES,3DES等等 非对称加密算法: 文件加密需要公开密钥(publickey)和私有密钥(privatekey)。 接收方在发送消息前需要事先生成公钥和私钥,然后将公钥发送给发送方。发送放收到公钥后,将待发送数据用公钥加密,发送给接收方