- 浏览: 66691 次
文章分类
最新评论
-
小灯笼:
ZooKeeper分布式专题与Dubbo微服务入门网盘地址:h ...
dubbo+zookeeper构建高可用分布式集群 -
qingfengxiu1985:
有没有全部工程代码?发一个呗,邮箱:qingfengxiu19 ...
mongodb+spring +morphia完整版框架搭建
1.Java API支持
位于java.security包及子包中
2.Jsp容器支持
常见的应用容器通过简单的配置支持SSL/TLS,获取证书配置,有效的构建https应用。
3.Java工具支持
通过KeyTool可以很好的完成密钥管理、证书管理等;通过JarSigner可以完成代码签名。
4.第三方jar包支持
commons-codec、bouncycastle
密码在线破解
1)http://www.cmd5.com/
2)http://www.xmd5.com/
3)http://www.somd5.com/
4)https://crackstation.net/
十款最流行的破解工具
Brutus、RainbowCrack、Wfuzz、Cain and Abel、John the Ripper、THC Hydra、Medusa、OphCrack、L0phtCrack、Aircrack-NG
密码管理利器
Linux -- KeePassX Windows -- KeePass android – KeePassDroid
加密软件
truecrypt
保护密码措施
正确的加盐保存密码姿势
盐值应该使用基于加密的伪随机数生成器生成。( java.security.SecureRandom )
避免使用短的盐和盐的复用。(用户每次创建或者修改密码一定要使用一个新的随机的盐。)
要在服务端进行hash。
使用经过充分测试的加密hash函数,比如SHA256, SHA512, RipeMD, WHIRLPOOL, SHA3等;设计良好的key扩展hash算法,比如PBKDF2,bcrypt,scrypt;尽量不要使用过时的hash函数,比如MD5,SHA1。
密码找回功能常见利用点
密码找回凭证太弱,容易被爆破
密码找回凭证可以从客户端、URL中直接获取
密码找回凭证可以在网页源代码中直接获取
密码找回的邮箱链接易猜解,如时间的md5
密码找回凭证存并非只是与单个用户并绑定的问题。
密码找回的手机或邮箱从页面获取,可以通过firebug修改
最后提交新密码时修改用户ID为其他ID
跳过验证步骤、找回方式,直接到设置新密码页面
找回密码时没有在服务器上验证用户名与邮箱是否匹配便发送了验证码
重置密码时返回的token没有与账号以及验证码绑定
服务器只验证了对应的验证信息是否存在,没有验证是否与账号匹配
在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回信息是可控的内容,或者可以得到的内容
发送短信等验证信息的动作在本地进行,可以通过修改返回包进行控制
提交新密码时的,只验证了部分可控的信息是否匹配
在找回密码处存在注入漏洞
说明:找回密码凭证够复杂并且不可猜测,任何动作放在服务器端进行,传输的验证参数做好加密,同时对参数做好过滤
完整密码学练习代码:GitHub:https://github.com/java-datas/encryptDemo
位于java.security包及子包中
2.Jsp容器支持
常见的应用容器通过简单的配置支持SSL/TLS,获取证书配置,有效的构建https应用。
3.Java工具支持
通过KeyTool可以很好的完成密钥管理、证书管理等;通过JarSigner可以完成代码签名。
4.第三方jar包支持
commons-codec、bouncycastle
密码在线破解
1)http://www.cmd5.com/
2)http://www.xmd5.com/
3)http://www.somd5.com/
4)https://crackstation.net/
十款最流行的破解工具
Brutus、RainbowCrack、Wfuzz、Cain and Abel、John the Ripper、THC Hydra、Medusa、OphCrack、L0phtCrack、Aircrack-NG
密码管理利器
Linux -- KeePassX Windows -- KeePass android – KeePassDroid
加密软件
truecrypt
保护密码措施
- 不要使用弱口令,千万不要用明文保存密码
- 加盐来保护密码强度
- 归避密码找回功能的缺陷
- 登录认证使用https协议
- 认证凭证不可猜测性
- 不要直接把认证凭证添加到URL来完成认证,使用cookie和post
- 保证接口干净,app和web接口不能混用
- 同IP不同port,尽量不要部署多个不同的web服务,因为cookie不 区分端口
- 自动登录,绑定,退出等敏感功能,需做csrf防护,referrer+token
正确的加盐保存密码姿势
盐值应该使用基于加密的伪随机数生成器生成。( java.security.SecureRandom )
避免使用短的盐和盐的复用。(用户每次创建或者修改密码一定要使用一个新的随机的盐。)
要在服务端进行hash。
使用经过充分测试的加密hash函数,比如SHA256, SHA512, RipeMD, WHIRLPOOL, SHA3等;设计良好的key扩展hash算法,比如PBKDF2,bcrypt,scrypt;尽量不要使用过时的hash函数,比如MD5,SHA1。
import org.junit.Test; import java.security.Provider; import java.security.SecureRandom; import java.security.Security; import java.util.Map; public class BasicSecretTest { /** * 生成随机数盐 */ @Test public void SecureRandomTest(){ SecureRandom secureRandom = new SecureRandom(); System.err.println(secureRandom.nextLong()); } /** * 打印当前系统所配置的全部安全提供者 */ @Test public void testProvider(){ for(Provider provider: Security.getProviders()){ //打印提供者信息 System.err.println(provider); //遍历提供者set实例 for(Map.Entry<Object,Object> entry: provider.entrySet()){ System.err.println("\t"+entry.getKey()); } } } }
密码找回功能常见利用点
密码找回凭证太弱,容易被爆破
密码找回凭证可以从客户端、URL中直接获取
密码找回凭证可以在网页源代码中直接获取
密码找回的邮箱链接易猜解,如时间的md5
密码找回凭证存并非只是与单个用户并绑定的问题。
密码找回的手机或邮箱从页面获取,可以通过firebug修改
最后提交新密码时修改用户ID为其他ID
跳过验证步骤、找回方式,直接到设置新密码页面
找回密码时没有在服务器上验证用户名与邮箱是否匹配便发送了验证码
重置密码时返回的token没有与账号以及验证码绑定
服务器只验证了对应的验证信息是否存在,没有验证是否与账号匹配
在本地验证服务器的返回信息,确定是否执行重置密码,但是其返回信息是可控的内容,或者可以得到的内容
发送短信等验证信息的动作在本地进行,可以通过修改返回包进行控制
提交新密码时的,只验证了部分可控的信息是否匹配
在找回密码处存在注入漏洞
说明:找回密码凭证够复杂并且不可猜测,任何动作放在服务器端进行,传输的验证参数做好加密,同时对参数做好过滤
完整密码学练习代码:GitHub:https://github.com/java-datas/encryptDemo
发表评论
-
Java 设计模式源码
2020-08-17 20:17 141经过一段时间学习和实践,整理了绝大多数设计模式源码demo 。 ... -
mac ngrok 使用
2018-12-20 18:22 873ngrok 是一个反向代理,通过在公共端点和本 ... -
Java元组学习
2018-12-19 15:38 619在Java 中我们平时用的接口和方法 只是单一 ... -
base64 和 base32 源码解析
2018-11-30 14:19 1483package com.zd.demo; import ... -
maven 常用命令
2018-01-22 14:43 364mvn compile 编译源代码 mvn test-comp ... -
包裹分箱 算法
2017-08-24 16:30 1151包裹 分箱简单算法 算出临界值 分箱数量加1 / ... -
上传excel 通过url下载文件
2017-07-06 16:22 1057/** * 下载图片 */ ... -
多线程实现原理并发机制
2017-03-07 20:29 819进程: 查询百度大致可以理解为一段具有独 ... -
网络编程TCP/IP协议组
2017-03-04 13:42 556TCP/IP是个协议组: 主要可以分为4层,分别是应 ... -
Guava包的ListenableFuture解析
2016-10-09 13:40 1045package com.downjoy.test.guava. ... -
spring+guava事件异步分发处理
2016-10-09 09:56 4370Guava是Google开源的一个Java基础类库,它在Goo ... -
httpUtil工具和apche httpclient 工具类使用
2016-09-26 15:38 2408httpUtil请求网络请求工具: package demo ... -
mongodb+spring +morphia完整版框架搭建
2016-09-09 10:22 5716Morphia是一个开放源代 ... -
mongodb注解详解
2016-09-06 09:26 40541、@Entity 如果你想通过Morphia把你的对 ... -
自定义MD5加盐加密方式代码实现
2016-09-02 16:45 5061按照自己的理解对密码加盐加密。当用户注册时候会先生成盐值 ... -
密码学
2016-08-25 11:14 5711 密码学简介 2.1 ... -
kafka
2016-08-11 14:08 718Kafka is a distributed,partiti ... -
dubbo+zookeeper构建高可用分布式集群
2016-08-24 09:47 4962(1) 当服务越来越多时, ... -
java生产6为邀请码
2016-08-09 17:23 1957package demo.dcn.vo; import ... -
jxl
2016-08-09 14:30 496Java生成和操作Excel文件 package dem ...
相关推荐
2. 区块链安全:理解区块链中的密码学原理,如哈希函数、非对称加密和时间戳在区块链中的应用。 3. 移动通信安全:如短信加密、手机应用的数据保护。 五、课后作业解答技巧 1. 逻辑清晰:正确理解问题要求,构建...
### 密码学与网络安全试题解析 #### 一、判断题解析 1. **网络安全的四大特征**:保密性、完整性、可用性、可控性。题干中的“可查性”通常指“可控性”,因此该题目的表述基本正确,但需要注意术语的准确性。 2. ...
密码学是一门涉及信息安全、数据保护以及网络安全的学科,它主要研究如何在不安全的环境中进行安全通信。在这个“密码学课后题答案”压缩包中,包含了从第一章到第十章的英文版答案,这对于正在学习密码学的学生来说...
密码学是计算机安全的一个重要分支,它涉及到信息的加密与解密,以及身份验证和数据完整性等方面。在短短一个小时的时间里,我们需要了解密码学的基本概念、主要目标、常见错误以及一些实际应用。以下是对这些关键点...
【密码学】是一门涉及信息安全、编码理论和计算复杂性的学科,主要研究如何在不安全的环境中保护数据的安全。在2015年的广工(广东工业大学)密码学试卷中,我们可以推测它可能会涵盖以下几个核心知识点: 1. **...
密码学是信息科学的一个分支,主要研究如何保护信息的安全性,包括信息的机密性、完整性、可用性以及认证和不可否认性等。通过密码学的原理,信息可以被加密来防止未授权的访问,同时也可以通过相应的解密过程被授权...
同时,理解密码学中的攻击模型和安全性证明也是至关重要的,比如生日攻击、中间人攻击和重放攻击等。 总的来说,这份大学密码学实验报告通过代码实现,深入浅出地展示了密码学的基本原理和应用,对于学习者来说是一...
配套 密码编码学与网络安全第六版 注意是在线部分 不包括原书
根据给定的文件信息,我们可以推断出这份文档与海南大学的《密码学》课程期末考试相关。然而,在提供的部分内容中,...此外,还需要注意跟踪密码学领域的最新进展和技术动态,以便更好地理解和应对不断变化的安全挑战。
在IT领域,密码学是信息安全的核心组成部分,它涉及到数据加密、解密以及验证等技术,以确保信息的安全传输和存储。在这个"C#密码学算法程序"的资源中,包含了古典密码学方法以及现代公钥密码体制RSA和对称加密算法...
计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...
密码学是一门涉及信息安全和数据保护的学科,它结合了数学、计算机科学和通信理论,为网络安全提供了基础。在桂林电子科技大学的密码学实验中,学生将深入理解并实践各种密码算法和技术,以增强对安全通信的理解。 ...
密码学是信息安全领域的重要组成部分,主要研究如何在不安全的环境中保护信息的机密性、完整性和可用性。本资源包含的"密码学模拟题有详解答案"是针对学习密码学的学生或爱好者的一个宝贵资料,特别适合期末复习使用...
计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...
本压缩包文件“应用密码学密码算法源代码”提供了一组用C语言编写的密码学算法实现,这为我们深入理解这些算法提供了宝贵的参考资料。 首先,我们来讨论一些常见的密码学算法: 1. **对称加密**:这类算法使用相同...
本书全面深入地介绍了现代密码学的基础理论。全书共分15章和1个附录。内容包括密码学研究的基本问题、古典密码学、密码学的信息论基础和计算复杂性理论基础、单向函数和伪随机序列生成器的严格理论、序列密码、分组...
### 椭圆曲线密码学引论 ...通过对本书的学习,读者不仅可以深入了解椭圆曲线密码学的核心原理,还能掌握其实现过程中的关键技术和注意事项,这对于推动椭圆曲线密码学的应用和发展具有重要意义。
随着时代的发展和技术的进步,现代密码学已经发展成为一个集数学、计算机科学等多门学科于一体的综合领域,广泛应用于互联网安全、金融交易等多个方面,成为保障现代社会信息安全的重要基石。 通过学习这些经典密码...
密码学的应用广泛,包括网络安全、电子商务、数据保护和隐私维护等多个方面。 1. 加法密码(Caesar Cipher) 加法密码是最简单的密码学示例之一,它通过将明文中的每个字母按字母表顺序向后(或向前)移动特定数量...
计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...