iOS安全:【敏感信息的脱敏规范】(数据类型包括日志相关、账户订单、个人信息、账户认证、持卡数据)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 应用场景:商户结算账户信息加密保存,脱敏显示

前言

应用场景:商户结算账户信息加密保存,脱敏显示

I、脱敏规范

数据类型 数据元素 敏感信息的脱敏规则
持卡数据 信用卡卡号(PAN) 信用卡号可显示前6后4,中间部分需要脱敏,可以“*”或其他字符代替
有效期 因PCI要求,有效期,验证码不可存储。
验证码:CAV2/CVV2/CVC2/CID
账户认证 账户名(UID) 根据业务处理原则脱敏相应信息
账户密码(Passwd) 对于已加密或未加密的账户密码需要使用PBKDF2加密存储;
安全问题 对于已加密或未加密的问题和答案使用PBKDF2加密存储
按照字符 数长度计算,字符数长度/3,字符数长度1/3位数正常显示,字符数长度(3/1+1)位数部分隐藏以星号替代。剩余部分字符数正常显示;
例:
1、护照号码G12345678,共9位字符,则显示为G12****78
2、身份证号码,共18位,只保留前3位和后4位,中间11位打*处理
3、电话号码:021-34064880-15518 区号和分机号不做隐藏,34064880为8位字符,则显示为34***880
4、手机号码:+8613812345678 不含区号为11位字符,则显示:+86138****678
5、地址:上海市长宁区金钟路100号B栋602室 不含省市区为13位字符,则显示:上海市长宁区金钟路1*****602室
6、 邮箱用户名或证件号等整个需要做处理的字符数长度过短,小于等于3位,则显示第一位,其余部分需要脱密可用星号替代; 绑定邮箱 预留手机 预留邮箱 证件信息 联系手机 常用地址 账户订单 订单 订单号根据业务场景选择字符的2/3进行脱敏。
订单中的个人类信息,证件、联系手机等需进行部分参照个人信息的标准进行脱敏; 日志相关 登陆日志 日志中的持卡数据、账户认证类信息、个人信息及订单信息等敏感信息应参照相应的脱敏标准进行脱敏;
对于特殊业务,如账户风控业务,处理敏感业务需求的部门,需确定敏感信息类型,对敏感信息进行脱敏; 操作日志 cookie 应用程序日志 用户行为日志

II、 相关术语: PBKDF2算法

Password-Based Key Derivation Function是一个用来导出密钥的函数,常用于生成加密的密码

通过多次hash来对密码进行加密。
原理是通过password和salt进行hash,然后将结果作为salt在与password进行hash,多次重复此过程,生成最终的密文
此过程可能达到上千次,逆向破解的难度太大,破解一个密码的时间可能需要几百年,所以PBKDF2算法是安全的.
使用PBKDF2算法时,HASH算法一般选用sha1或者sha256,随机盐的长度一般不能少于8字节,HASH次数至少也要1000次,这样安全性才足够高。一次密码验证过程进行1000次HASH运算,对服务器来说可能只需要1ms,但对于破解者来说计算成本增加了1000倍,而至少8字节随机盐,更是把建表难度提升了N个数量级,使得大批量的破解密码几乎不可行,该算法也是美国国家标准与技术研究院推荐使用的算法。

在这里插入图片描述

DK = PBKDF2(PRF, Password, Salt, c, dkLen)

   //PRF是一个伪随机函数,例如HASH_HMAC函数,它会输出长度为hLen的结果。
   //Password是用来生成密钥的原文密码。
   //Salt是一个加密用的盐值。
   //c是进行重复计算的次数。
   //dkLen是期望得到的密钥的长度。
   //DK是最后产生的密钥。

在这里插入图片描述

在这里插入图片描述

see also

iOS安全规范指南之参数签名:参数按照ASCII码从小到大排序、拼接、加密(采用递归的方式进行实现)【案例:条码支付综合前置平台申请退款】 丨蓄力计划

从CSDN下载demo地址:https://download.csdn.net/download/u011018979/15483107
规则:
1、demo 数组用[]表示,对象(字典)用{} 表示进行排序拼接。
2、数组排序可选,数组内部,只对字符串元素进行排序,并不与字典key参与排序。 字典和数组独立排序
原文: https://blog.csdn.net/z929118967/article/details/115669856
应用场景: 防止请求参数被恶意修改;比如在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。
在这里插入图片描述
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
18天前
|
SQL 存储 监控
|
19天前
|
存储 数据采集 JavaScript
深入理解数仓开发(一)数据技术篇之日志采集
深入理解数仓开发(一)数据技术篇之日志采集
|
16天前
|
监控 关系型数据库 Java
|
17天前
|
机器学习/深度学习 数据可视化
【tensorboard】深度学习的日志信息events.out.tfevents文件可视化工具
【tensorboard】深度学习的日志信息events.out.tfevents文件可视化工具
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第9天】mongoDB查看数据的插入日志
322 4
|
1月前
|
存储 监控 数据可视化
无需重新学习,使用 Kibana 查询/可视化 SLS 数据
本文演示了使用 Kibana 连接 SLS ES 兼容接口进行查询和分析的方法。
66640 11
|
1月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第2天】mongoDB查看数据的插入日志
338 0
|
1月前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用合集之从Oracle数据库同步数据时,checkpoint恢复后无法捕获到任务暂停期间的变更日志,如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
1天前
|
监控 数据库
neo4j数据插入操作有日志吗
【6月更文挑战第29天】neo4j数据插入操作有日志吗
12 1
|
8天前
|
C++
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富
31 6