🔐 账户安全与合规设计

本章详述即时配送小程序的账户安全设计、支付安全措施、风控规则、合规要求,以及权限控制与审计日志设计。确保金融操作的安全性与合规性。

安全必选 反洗钱 合规审计

安全红线:涉及资金的操作必须满足以下要求——①身份验证(JWT/支付密码)②操作审计(日志留存5年)③风控拦截(异常检测)④权限分离(审批与执行分离)。

一、账户安全设计

1.1 身份认证体系

认证方式适用场景安全级别
微信登录用户/骑手首次登录高(微信实名验证)
JWT Token接口访问鉴权中(需配合刷新机制)
支付密码余额支付/提现高(独立密码)
生物识别指纹/面容支付高(设备本地验证)
短信验证码敏感操作二次验证中(可能被劫持)

1.2 支付安全流程

sequenceDiagram participant U as 用户 participant APP as 小程序 participant API as 后端服务 participant SEC as 安全风控 participant PAY as 微信支付 U->>APP: 发起支付 APP->>API: 提交支付请求 API->>SEC: 风控检查 SEC->>SEC: 检查账户异常 SEC->>SEC: 检查交易限额 alt 风控拦截 SEC-->>API: 拦截(可疑交易) API-->>APP: 风控拦截提示 APP-->>U: 提示身份验证 else 风控通过 SEC-->>API: 通过 API->>PAY: 发起支付 PAY-->>API: 支付成功 API->>SEC: 记录交易风控 end

1.3 密码安全策略

策略项规则
支付密码长度6位数字
密码错误限制连续5次错误锁定30分钟
密码修改需验证原密码或短信验证码
密码存储SHA256加盐哈希(前端传输用SSL)
无密码提示禁止将密码作为任何信息提示

二、风控规则设计

2.1 交易风控规则

规则名称触发条件处理方式
单笔限额单笔超过5000元提示限额,需拆单
日累计限额单用户日累计超过20000元暂停支付,提示客服
异地登录检测IP地址与常用地不符增加验证码校验
频繁失败检测5分钟内连续失败3次锁定15分钟后重试
新设备登录首次使用该设备推送安全通知
夜间交易23:00-06:00交易增加验证或延迟到账

2.2 欺诈检测规则

规则名称触发条件处理方式
账户共用检测同一设备多账号/同IP多账号标记审查,限制提现
虚假交易检测短时间多笔相同金额冻结账户,人工审查
洗钱特征检测快进快出、分散转集中上报央行反洗钱系统
套现检测充值后立即提现延迟提现,标记审查

2.3 风控处置措施

flowchart TD A[触发风控规则] --> B{风险等级} B -->|低| C[增强验证] B -->|中| D[延迟处理+通知] B -->|高| E[拦截+人工审查] B -->|极高| F[上报监管+冻结账户] C --> G[验证码/人脸] D --> H[2小时延时到账] E --> I[等待人工确认] F --> J[上报反洗钱系统]

三、合规要求

3.1 反洗钱(AML)合规

监管要求:根据人民银行相关规定,支付机构必须建立反洗钱内部控制制度,对可疑交易进行监测、记录和报告。
合规项要求实现方式
客户身份识别用户注册需实名认证(微信已验证)微信openId映射
大额交易报告单笔50万或日累计200万以上自动标记并上报
可疑交易监测符合人行可疑交易特征的风控规则+人工审查
交易记录保存留存5年备查数据库+归档存储
黑名单管理制裁名单、高风险名单实时黑名单匹配

3.2 数据安全合规

合规项要求
数据加密敏感数据(身份证、银行卡)加密存储,传输全程SSL
数据脱敏接口返回手机号脱敏(138****1234)
数据删除用户注销后保留30天后彻底删除(法律要求除外)
隐私政策明确告知用户数据收集和使用范围

四、权限控制与审计

4.1 财务权限分离

操作员(发起) → 组长(初审) → 财务(复核) → 出纳(执行)
         |         |          |          |
      提交申请    审核       最终审批    执行打款
   (记录日志)  (记录日志)  (记录日志)  (记录日志)

4.2 敏感操作权限矩阵

操作普通运营财务财务主管超级管理员
查看账单
导出账单
审核退款(<1000)
审核退款(>=1000)
审批提现
执行打款
调整余额
查看审计日志

4.3 审计日志要求

日志类型记录内容保留时间
登录日志用户ID、IP、设备、时间、结果5年
支付日志订单号、金额、时间、支付渠道、状态5年
资金变动日志用户ID、变动类型、变动金额、余额、操作人5年
管理操作日志操作人、被操作对象、操作类型、IP、时间5年
风控日志触发规则、风险等级、处理结果5年

五、安全相关数据表

5.1 安全风控记录表 ot_security_log

字段类型说明
idbigint主键
user_idbigint用户ID
event_typetinyint事件类型(1登录/2支付/3风控/4余额调整)
event_namevarchar(50)事件名称
risk_leveltinyint风险等级(0无/1低/2中/3高/4极高)
risk_rulevarchar(100)触发规则
ipvarchar(50)IP地址
device_infovarchar(200)设备信息
request_datatext请求数据(脱敏)
handle_statustinyint处理状态
handle_remarkvarchar(200)处理备注
created_atdatetime创建时间

5.2 资金变动审计表 ot_fund_audit

字段类型说明
idbigint主键
audit_novarchar(32)审计单号
user_idbigint用户ID
user_typetinyint用户类型(1用户/2骑手)
change_typetinyint变动类型(1充值/2消费/3退款/4提现/5调整)
amountdecimal(12,2)变动金额
balance_beforedecimal(12,2)变动前余额
balance_afterdecimal(12,2)变动后余额
source_typevarchar(20)来源类型
source_idbigint来源ID
operator_idbigint操作人ID
operator_namevarchar(50)操作人姓名
remarkvarchar(200)备注/原因
created_atdatetime创建时间

文档同步:requirements_v2.md 安全合规模块 | 维护:项目团队