RSA的网络安全模型、iOS签名机制总结

RSA 的网络安全模型、iOS 签名机制总结

一、登录、登录保持

登录机制分为三个阶段:

1、登录验证:指客户端提供用户名和密码,向服务器提出登录请求,服务器判断客户端是否可以登录并向客户端确认。

2、登录保持:是指客户端登录后,服务器能够分辨出已登录的客户端,并为其持续提供登权限的服务器。

3、退出:是指客户端主动退出登录状态。

第一种网络请求情况(安全级别:II)

一般的情况是这样:一旦用户登陆成功(单方面 md5 加密:服务器加密则客户端不加密,客户端加密则明文传输),服务器为客户端分配 sessionID(也成为 userID),然后每次网络请求都将 sessionID 当做参数传给服务器。

优点:
能够保持用户登录状态、区分用户,相对于不返回任何信息的登录要安全一些。

缺点:
如果通过网络嗅探器(青花瓷)可以获取到http的链接,服务器返回的 sessionID 可以被获取到,会造成信息泄露,并且还能被伪造请求。

第二种网络请求情况(安全级别:III)

第一种存在明显的安全隐患,但是好多 APP 依然采用第一种方法去实现登录和网络请求,但是对于安全级别比较高的 APP,已经不太试用。所以在此基础上进行优化---采用非对称加密(公钥、私钥)。

登录模型

客户端第一次发出登录请求时,用户密码以明文的方式传输,一旦被截获,后果严重,因此密码需要加密,例如可以采用RSA非对称加密,具体流程如下:

1️⃣ 客户端向服务器第一次发起登录请求(不传输用户名和密码)

2️⃣ 服务器利用 RSA 算法产生一对公钥和私钥,并保留私钥,将公钥发送到客户端。

3️⃣ 客户端收到公钥后,加密用户密码,向服务器发起第二次登录请求(传输用户名和加密后的密码)

4️⃣ 服务器利用保留的私钥对密文进行解密,得到真正的密码

第三种网络请求情况(安全级别:IIII)

再仔细核对上述的登录流程,我们发现服务器判断用户是否登录,完全是依赖于 sessionID,一旦其被截获黑客就可以模拟出用户的请求、于是需要引用 token 的概念:用户登陆成功后,服务器不但为其分配了sessionID还分配了 token,token 是维持登录状态的关键秘密数据。在服务器向客户端发送的token数据,也需要加密。

  • 客户端向服务器第一次发起登录请求(不传输用户名和密码)服务器利用 RSA 算法产生一堆公钥和私钥,并保留私钥,将公钥发送到客户端。
  • 客户端收到公钥后,加密用户密码,向服务器发送用户名和加密后的用户密码,同时另外产生一对公钥和私钥,自己保留私钥,向服务器发送公钥,于是第二次登录请求传输用户名和加密后的密码以及客户端生成的公钥。
  • 服务器利用保留的私钥对密文进行解密,得到真正的密码。经过判断,确定用户可以登录后,生成sessionID和token,同时利用客户端发送的公钥,对token进行加密。最后将sessionID和加密后的token返回客户端。
  • 客户端利用自己生成的私钥对token密文解密,得到真正的token。

登录保持(http 数据请求阶段)
引入 token 之后,http 请求被获取的问题便可以得到解决。客户端将 token和其他的一些变量,利用散列加密算法得到签名后,连同 sessionID 一并发给服务器。服务器取出保存于服务器端的 token,利用相同的法则生成校验签名,如果客户端签名与服务器的校验签名一致,就认为请求来自登录的客户端。(与支付宝一样的机制)

注:token 失效的两种情况:1.用户退出系统 2. token 在后台的规定时间内失效
失效原理:在服务器端的 redis 中删除相应 key 为 session 的键值对。

二、散列算法

散列是信息的提炼,通常其长度要比信息小得多,且为一个固定长度。加密性强的散列一定是不可逆的,这就意味着通过散列结果无法推出任何部分的原始信息。任何输入信息的变化,哪怕仅一位,都将导致散列结果的明显变化,这称之为雪崩效应。散列还应该是防冲突的,即找不出具有相同散列结果的两条信息。具有这些特性的散列结果就可以用于验证信息是否被修改。

散列算法可以用来加密 token 生成签名,以便 token 信息不暴露在网络同时还能验证登录的有效性。

MD5

全写:Message Digest Algorithm MD5 (消息摘要算法第五版)

输出:128 bit

MD5 算法具有以下特点:

1.压缩性 :任何长度的数据算出的 MD5 的值长度都是固定的

2.容易计算 :从原数据计算出 MD5 值很容易

3.抗修改性 :对原数据进行任何改动,所得到的 MD5 值都会有很大的区别。

4.弱抗碰撞:已知原数据和其 MD5 值,想找到一个具有相同 MD5 值的数据是很困难的。

5.强抗碰撞:想找到两个不同的数据,使它们具有相同的 MD5 值是很困难的。

MD5 已老,在安全性要求比较高的场合不建议使用。

SHA1

全名:安全哈希算法(Secure Hash Algorithm)

输出:160 bit

1.对强行攻击的安全性:SHA1 比 MD5 要长 32 位,使用强行攻击。对于 MD5 的难度是 2^128 而对于 SHA1 的难度是 2^160,所以 SHA1 对于强行攻击有更大的强度。

2.对密码分析的安全性:由于 MD5 的设计易受密码分析的攻击,SHA1 显得不易受这样的攻击。

3.速度:在相同的硬件上,SHA1 的运行速度比 MD5 慢

加盐

加盐就是在原本需要加密的信息的基础上,加入其他内容 salt。签名的生成就是一次加盐的过程。

对称加密

本系统使用对称加密对用户密码进行加密以及生成 token 字符串

AES加密:高级加密(Advanced Encryption Standard)

非对称加密

RSA 是目前最有影响力的公钥加密算法,它能够抵抗目前为止已知的 绝大多数的密码攻击,已被 ISO 推荐为公钥数据加密标准。RSA 的安全基于大数分解的难度。其公钥和私钥是一对大素数(100 到 200 位十进制数或者更大)的函数。从一个公钥和密文恢复出明文的难度,等价于分解两个素数之积

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

推荐阅读更多精彩内容