`

密码学2 密码安全注意

阅读更多
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



保护密码措施
  • 不要使用弱口令,千万不要用明文保存密码
  • 加盐来保护密码强度
  • 归避密码找回功能的缺陷
  • 登录认证使用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






分享到:
评论

相关推荐

    四川大学网络空间安全学院应用密码学课后作业

    2. 区块链安全:理解区块链中的密码学原理,如哈希函数、非对称加密和时间戳在区块链中的应用。 3. 移动通信安全:如短信加密、手机应用的数据保护。 五、课后作业解答技巧 1. 逻辑清晰:正确理解问题要求,构建...

    密码学与网络安全试题

    ### 密码学与网络安全试题解析 #### 一、判断题解析 1. **网络安全的四大特征**:保密性、完整性、可用性、可控性。题干中的“可查性”通常指“可控性”,因此该题目的表述基本正确,但需要注意术语的准确性。 2. ...

    密码学课后题答案

    密码学是一门涉及信息安全、数据保护以及网络安全的学科,它主要研究如何在不安全的环境中进行安全通信。在这个“密码学课后题答案”压缩包中,包含了从第一章到第十章的英文版答案,这对于正在学习密码学的学生来说...

    一小时了解密码学-自译

    密码学是计算机安全的一个重要分支,它涉及到信息的加密与解密,以及身份验证和数据完整性等方面。在短短一个小时的时间里,我们需要了解密码学的基本概念、主要目标、常见错误以及一些实际应用。以下是对这些关键点...

    2015广工密码学试卷

    【密码学】是一门涉及信息安全、编码理论和计算复杂性的学科,主要研究如何在不安全的环境中保护数据的安全。在2015年的广工(广东工业大学)密码学试卷中,我们可以推测它可能会涵盖以下几个核心知识点: 1. **...

    密码学练习题(含答案).pdf

    密码学是信息科学的一个分支,主要研究如何保护信息的安全性,包括信息的机密性、完整性、可用性以及认证和不可否认性等。通过密码学的原理,信息可以被加密来防止未授权的访问,同时也可以通过相应的解密过程被授权...

    大学密码学实验报告(含代码)

    同时,理解密码学中的攻击模型和安全性证明也是至关重要的,比如生日攻击、中间人攻击和重放攻击等。 总的来说,这份大学密码学实验报告通过代码实现,深入浅出地展示了密码学的基本原理和应用,对于学习者来说是一...

    密码编码学与网络安全 在线部分

    配套 密码编码学与网络安全第六版 注意是在线部分 不包括原书

    海南大学《密码学》期末试卷题.pdf

    根据给定的文件信息,我们可以推断出这份文档与海南大学的《密码学》课程期末考试相关。然而,在提供的部分内容中,...此外,还需要注意跟踪密码学领域的最新进展和技术动态,以便更好地理解和应对不断变化的安全挑战。

    C#密码学算法程序

    在IT领域,密码学是信息安全的核心组成部分,它涉及到数据加密、解密以及验证等技术,以确保信息的安全传输和存储。在这个"C#密码学算法程序"的资源中,包含了古典密码学方法以及现代公钥密码体制RSA和对称加密算法...

    MMX-密码学书籍包-共3部分.zip.003 全部 pdf

    计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...

    密码学实验报告指导

    密码学是一门涉及信息安全和数据保护的学科,它结合了数学、计算机科学和通信理论,为网络安全提供了基础。在桂林电子科技大学的密码学实验中,学生将深入理解并实践各种密码算法和技术,以增强对安全通信的理解。 ...

    密码学模拟题有详解答案

    密码学是信息安全领域的重要组成部分,主要研究如何在不安全的环境中保护信息的机密性、完整性和可用性。本资源包含的"密码学模拟题有详解答案"是针对学习密码学的学生或爱好者的一个宝贵资料,特别适合期末复习使用...

    MMX-密码学书籍包-共3部分.zip.001 全部 pdf

    计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...

    应用密码学密码算法源代码

    本压缩包文件“应用密码学密码算法源代码”提供了一组用C语言编写的密码学算法实现,这为我们深入理解这些算法提供了宝贵的参考资料。 首先,我们来讨论一些常见的密码学算法: 1. **对称加密**:这类算法使用相同...

    现代密码学课件和习题答案

    本书全面深入地介绍了现代密码学的基础理论。全书共分15章和1个附录。内容包括密码学研究的基本问题、古典密码学、密码学的信息论基础和计算复杂性理论基础、单向函数和伪随机序列生成器的严格理论、序列密码、分组...

    椭圆曲线密码学引论

    ### 椭圆曲线密码学引论 ...通过对本书的学习,读者不仅可以深入了解椭圆曲线密码学的核心原理,还能掌握其实现过程中的关键技术和注意事项,这对于推动椭圆曲线密码学的应用和发展具有重要意义。

    密码学简介

    随着时代的发展和技术的进步,现代密码学已经发展成为一个集数学、计算机科学等多门学科于一体的综合领域,广泛应用于互联网安全、金融交易等多个方面,成为保障现代社会信息安全的重要基石。 通过学习这些经典密码...

    密码学相关知识

    密码学的应用广泛,包括网络安全、电子商务、数据保护和隐私维护等多个方面。 1. 加法密码(Caesar Cipher) 加法密码是最简单的密码学示例之一,它通过将明文中的每个字母按字母表顺序向后(或向前)移动特定数量...

    MMX-密码学书籍包-共3部分.zip.002 全部 pdf

    计算机安全和密码学.Computer.Security.And.Cryptography.pdf 英文版 《深入浅出密码学——常用加密技术原理与应用》-有书签.pdf 程序员密码学.pdf 计算机加密解密200例-带书签.pdf 计算密码学+卢开澄-走向数学...

Global site tag (gtag.js) - Google Analytics