密码加密方式

常见攻击方式:
字典攻击:早期base64+md5

破解方式--把常见密码进行base63+md5加密 通过重复登陆服务器 或者拖库进行匹配破解【破解方式属于开放状态】

对称加密

加密解密效率高、速度快、空间占用小、加密强度高
缺点是 参与多方都需要持有密钥、一旦有一个人泄露则安全性遭到破坏、另外再不容安全通道下分发密钥也是个问题

    代表算法:DES、3DES、AES、IDEA等等
    DES:其密钥长度为56位+8位校验  破解方式:暴力破解
    3DES:3重DES操作 算法不能靠累积增加防御力
    AES:分组算法、分组长度为128、192、256位三种、其优势在于 速度快 整个过程可以数学化描述、目前尚未有效破解手段
    
    
    适用于大量数据加解密、不能用于签名场景 需要提前分法密钥

非对称加密

    即公钥+私钥 公钥是公开的、私钥是个人持有的

    代表算法:RSA、EIGamal、椭圆算法 ECC
    RSA:经典的公钥算法 安全性未知
    EIGamal:利用了模运算下求离散对数困难的特性
    椭圆曲线算法:现代备受关注的算法系列,基于对椭圆曲线上特定点进行特殊乘法逆运算难以计算的特性。
    
RSA 算法等已被认为不够安全,一般推荐采用椭圆曲线系列算法。

混合加密机制

先用计算复杂度高的非对称加密协商一个临时的对称加密密钥(会话密钥,一般相对内容来说要短得多),然后对方在通过对称加密对传递的大量数据进行加解密处理。
    
典型应用:现在大家常用的HTTPS机制、
    HTTPS实际上是利用了Transport Layer Security/Secure Socket Layer(TLS/SSL)来实现可靠性传输、TLS为SSL升级版本
    目前广泛应用的为  TLS1.0  对应到SSL3.1 版本

建立安全连接的具体步骤如下:

    客户端浏览器发送信息到服务器,包括随机数 R1,支持的加密算法类型、协议版本、压缩算法等。注意该过程为明文。
    服务端返回信息,包括随机数 R2、选定加密算法类型、协议版本,以及服务器证书。注意该过程为明文。
    浏览器检查带有该网站公钥的证书。该证书需要由第三方 CA 来签发,浏览器和操作系统会预置权威 CA 的根证书。如果证书被篡改作假(中间人攻击),很容易通过 CA 的证书验证出来。
    如果证书没问题,则用证书中公钥加密随机数 R3,发送给服务器。此时,只有客户端和服务器都拥有 R1、R2 和 R3 信息,基于 R1、R2 和 R3,生成对称的会话密钥(如 AES算法)。后续通信都通过对称加密进行保护。

最简单的哈希加密

例如SHA256,SHA512,RipeMD和WHIRLPOOL。

hash("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

破解方式:字典攻击 、暴力攻击
加密算法公开
将常见密码哈希之后与目标进行比对
暴力攻击尝试每一个在给定长度下各种字符的组合
彩虹表枚举哈希值-来更高效的破解密码

加盐方式

加盐需要注意两点:短盐值、盐值重复

两大弊端:盐值重复或者硬编到软件中、可以通过破解软件、专门为这个软件生成彩虹表和查询表
盐值太短:就相当于降低密码复杂度、这使得破解字典体积更小、跑字典破解更快

组合哈希函数

    md5(sha1(password))
    md5(md5(salt) + md5(password))
    sha1(sha1(password))
    sha1(str_rot13(password + salt))
    md5(sha1(md5(md5(password) + sha1(password)) + md5(password)))
    
    源码一丢、系统完蛋

盐值应该使用基于加密的伪随机数生成器
(Cryptographically Secure Pseudo-Random Number Generator – CSPRNG)来生成
java.security.SecureRandom

存储密码的步骤

使用CSPRNG生成一个长度足够的盐值

将盐值混入密码,并使用标准的加密哈希函数进行加密,如SHA256
把哈希值和盐值一起存入数据库中对应此用户的那条记录

校验密码的步骤

从数据库取出用户的密码哈希值和对应盐值
将盐值混入用户输入的密码,并且使用同样的哈希函数进行加密
比较上一步的结果和数据库储存的哈希值是否相同,如果相同那么密码正确,反之密码错误

    在Web程序中,永远在服务器端进行哈希加密
    让密码更难破解:慢哈希函数

PBKDF2、BCRYPT、SCRYPT曾经是最常用的三种密码Hash算法,
至于哪种算法最好,多年以来密码学家们并无定论。但可以确定的是,这三种算法都不完美,各有缺点。
其中
PBKDF2因为计算过程需要内存少所以可被GPU/ASIC加速,
BCRYPT不支持内存占用调整且容易被FPGA加速,
SCRYPT不支持单独调整内存或计算时间占用且可能被ASIC加速并有被旁路攻击的可能。

关于密码学的另一篇文章
http://www.qingruanit.net/blog/23930/note3641.html

PBKDF2算法【三种】介绍:

https://en.wikipedia.org/wiki/PBKDF2

http://blog.jobbole.com/61872/#java

http://blog.csdn.net/u014375869/article/details/46773995

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容

  • 【作者】张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发。作为互联网公司的信息安全从业人员经常要处理撞...
    滕的世界阅读 2,061评论 1 2
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,421评论 0 6
  • 〇、序言 货币由于其天然属性决定了其与安全不可分割的联系,从最早的金库、保险柜、镖局到后来的ATM机、运钞车;从存...
    怒马2048阅读 38,767评论 4 79
  • 在我稍微年少的时候,我一直以为,三十而立,端的只是少年郎,而不是我等二八少女。 那时候每日幻想的便是何时遇到自己的...
    七牙牙阅读 388评论 0 0
  • 为什么每一段时间小朋友都爱不约而同的生同样类型的病呢? 究其原因,皆因时令节气使然。立春以后,阳气复苏,肝木升发。...
    创业生活嘉阅读 224评论 0 0