1 / 6

App 加密算法建议

App 加密算法建议. Possible lab 土豪军 小陈. 设计思路. 设计简单易实现 基于安卓平台 用户密码储存于本地,即没有密钥服务器, 存入 / 取出过程完全不涉及网络数据交换 用对称加密 (symmetric encryption) ,简单效率 同时用 MAC 保证数据真实性. 安全性分析. 由于两把密钥存于本地,如果用户手机被黑, 密钥丢失可能性大 解决方案: 1 使用 密钥服务器(不考虑) 2 人脑记忆(一般密钥都长于 128 位,不实际) 3 加密密钥(可行)

Download Presentation

App 加密算法建议

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. App 加密算法建议 Possible lab 土豪军 小陈

  2. 设计思路 • 设计简单易实现 • 基于安卓平台 • 用户密码储存于本地,即没有密钥服务器, 存入/取出过程完全不涉及网络数据交换 • 用对称加密(symmetric encryption),简单效率 • 同时用MAC保证数据真实性

  3. 安全性分析 • 由于两把密钥存于本地,如果用户手机被黑, 密钥丢失可能性大 • 解决方案:1 使用密钥服务器(不考虑)2 人脑记忆(一般密钥都长于128位,不实际)3 加密密钥(可行) • 加密密钥的密钥可以是较短的用户密码, 这样用户只用一个密码就可以加密存储的N个密码

  4. 流程图 用户下载app 内嵌的随机数列生成器生成两把密钥,k1 & k2 用户安装app 用户进入app,被要求设置一个密码 用户输入的密码 p, 用来加密k1, k2。 Encp(k1), Encp(k2), 密文储存本地 用户写入的任何信息m, 使用block cipher(GCM mode) 加密(谷歌也用), 即c= Enck1(m), MACk2(c) 用户写入要存储的密码组

  5. 流程图cont. 用户本地只存储用密码加密过的密钥,用密钥加密过的用户密码组 用户要求取出密码 用户输入密码 p, 用来解密取出k1, k2。 然后用k1解密c= Enck1(m),取出m, 并用k2验证m的真实性 用户被要求输入原始密码p 用户取出密码组 窗口关闭后flush掉内存里的k1,k2和p. 用户关闭窗口

  6. 可行性分析 • 弱口令(p)加密密钥(k1, k2)理论上不安全, 用brutal force可以破解密钥的加密 • 目前最流行的包是PBKDF2, 可以解决 • 原理:用户输入初始密码(p)后只存Hash1000(p), 这样每次attacker尝试的密码需要被hash 1000次,即 需要约5秒试一个密码, brutal force需要很长很长时间来破。 • 可以考虑每隔一段时间(一个月?)内部更换密码的一位,比如p’ = p-1, hash(p’). hash值完全更改, attacker又需要重新算一遍

More Related