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

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

前言

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

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码从小到大排序。
在这里插入图片描述
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
1743 4
|
SQL 监控 Java
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
这篇文章介绍了如何在IDEA和Spring Boot中使用AOP技术实现日志信息的记录到数据库的详细步骤和代码示例。
在IDEA 、springboot中使用切面aop实现日志信息的记录到数据库
|
运维 安全 数据可视化
日志审查安排工具实战攻略:中小团队如何通过日志审查安排工具建立可控、安全的审查机制?
在审计敏感时代,日志审查安排工具成为安全运维与合规管理的关键利器。它实现审查任务的流程化、周期化与可视化,支持多系统协作、责任到人,确保“可控、可查、可追”的日志治理。工具如板栗看板、Asana、Monday 等提供任务调度、问题闭环与合规对接能力,助力企业构建高效、透明的日志审查体系,提升安全与合规水平。
|
存储 监控 API
【Azure App Service】分享使用Python Code获取App Service的服务器日志记录管理配置信息
本文介绍了如何通过Python代码获取App Service中“Web服务器日志记录”的配置状态。借助`azure-mgmt-web` SDK,可通过初始化`WebSiteManagementClient`对象、调用`get_configuration`方法来查看`http_logging_enabled`的值,从而判断日志记录是否启用及存储方式(关闭、存储或文件系统)。示例代码详细展示了实现步骤,并附有执行结果与官方文档参考链接,帮助开发者快速定位和解决问题。
458 22
|
SQL 缓存
【YashanDB知识库】YashanDB run.log中有slow log queue is full信息
【YashanDB知识库】YashanDB run.log中有slow log queue is full信息
|
存储 监控 安全
云日志管理|从云端进行安全日志管理
Log360 Cloud 是一款基于云的SIEM解决方案,旨在为企业提供灵活、安全的日志管理。它从本地和云环境中收集日志并存储于云端,通过实时图形仪表板提供网络安全的全面视图。用户可随时随地访问日志,减少存储成本,轻松扩展,并确保符合IT合规性要求。该平台支持代理和无代理日志收集,具备强大的搜索、分析、审计和实时警报功能,帮助企业及时检测和解决潜在威胁,保障信息安全。
375 1
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
439 1
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
Kubernetes 数据安全/隐私保护 容器
【Azure APIM】APIM Self-Hosted网关中,添加网关日志以记录请求头信息(Request Header / Response Header)
【Azure APIM】APIM Self-Hosted网关中,添加网关日志以记录请求头信息(Request Header / Response Header)
357 3
|
iOS开发 开发者
iOS平台RTMP|RTSP播放器如何实时回调YUV数据
我们在做RTMP、RTSP播放器的时候,有开发者需要自己处理拉取到的YUV数据,做二次分析之用,为此,我们做了以下的设计:InitPlayer之后,再调用SmartPlayerStart()接口之前,设置yuv数据回调即可。
388 6