安全登录及数字签名原理

Qinz
你的APP登录安全?数字签名的原理是怎样的呢?为了更加形象和简练的展示本文要传达的思想,我特意使用了PPT进行了梳理和图片绘制,下面将不会做过多的概念介绍,一切从实际出发!
一、最早的对称加密:凯撒密码
凯撒密码
二、登录安全
  1. 明文传输,这种方法基本等于裸奔,使用charles抓包数据就可以展漏无疑,如果仍然有公司使用此方案,建议尽快Hop:
    明文传输
  2. 常用的密码加密方式就是使用Hash,因为Hash的特点很适合做密码加密:
    Hash特点
  3. 最基本的安全意识,对密码进行MD5加密,应该有不少公司停留在此,其实这种方式安全性并不高:
    MD5加密
  4. 有些APP的密码强度设置的不高,就会导致密码可以被破解,这里的破解并不是真正意义上的破解,只是用一个大的数据库进行匹配,如MD5破解网站,不乏不少盈利的灰产:

    MD5破解

  5. 继续提高安全:在代码中加入静态Salt,此种方式的盐也容易泄露:
    加盐
  6. 将静态Salt改为服务端返回,当然依然会有被劫持的风险:
    动态Key
  7. 较为安全的处理方式就是时时校验,加上时间,服务器校验这一分钟和上一分钟的Hash值,只要有一个匹配就可以验证通过,这样会大大加大破解难度。当然在注册的时候Key也可能会被截获,如果要继续提高安全,可以将Key进行RSA加密传输,即数字签名,下面会讲到,这种方式的破解成本是非常非常之高的:
    安全登录
二、RSA原理
  1. 首先得知道欧拉函数:
    欧拉函数特点
  2. 欧拉定理,既然是定理,记住就行:
    欧拉定理
  3. 欧拉定理推导
    欧拉推导
  4. RSA算法说明:
    RSA算法
  5. 迪菲赫尔曼密钥交换原理,第三方窃取到的数据会让他懵逼:
    迪菲赫尔曼密钥交换
  6. RSA公钥加密,私钥解密;私钥加密,公钥解密原理如下:


    RSA
三、数字签名原理
  • 下面就是数字签名的原理,如支付宝支付原理也是如此:
    数字签名

数据的交互安全在传统互联网领域是很容易被忽视的,本文要传达的核心思想就是要重视数据传输的安全性,不要等到财产损失了才后悔莫及!

我是Qinz,希望我的文章对你有帮助!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 文中首先解释加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的...
    sunny冲哥阅读 3,021评论 0 2
  • 这篇文章主要讲述在Mobile BI(移动商务智能)开发过程中,在网络通信、数据存储、登录验证这几个方面涉及的加密...
    雨_树阅读 2,641评论 0 6
  • 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现...
    sunny冲哥阅读 1,401评论 0 3
  • 原文地址:数字证书原理,公钥私钥加密原理 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例...
    淇滨杜隆坦阅读 4,178评论 4 46
  • 就这样没有任何的征兆下了一场雨 微信里发来了一条信息 是姐姐发来的图片 是他和他未来伴的结婚照 照片里的姐姐依旧很...
    Tiramis_nini阅读 160评论 0 0