安全与合规

构建安全可信的AI应用

45分钟
进阶安全合规隐私

🎯学习目标

  • 1理解AI应用的主要安全风险
  • 2掌握数据隐私保护措施
  • 3了解合规要求和认证标准
1

开篇:AI应用的特殊安全挑战

AI应用不仅有传统软件的安全问题,还有独特挑战: - 用户可能输入敏感信息 - 模型可能泄露训练数据 - 输出可能包含有害内容

本节课讨论如何构建安全可信的AI应用。

2

AI应用的安全风险

**风险一:数据泄露** - 用户输入敏感信息(密码、身份证) - 模型输出包含其他用户的数据 - 日志中存储敏感内容

**风险二:Prompt注入** - 用户输入覆盖系统指令 - 诱导模型执行危险操作 - 绕过安全过滤

**风险三:有害输出** - 生成暴力、歧视内容 - 提供非法建议 - 泄露商业机密

**风险四:模型窃取** - 通过API查询重建模型 - 知识产权被盗 - 竞争对手复制

**风险五:滥用风险** - 批量生成垃圾内容 - 自动化攻击脚本 - 社交工程攻击

💡 AI应用面临数据泄露、Prompt注入、有害输出、模型窃取、滥用等安全风险。

3

数据隐私保护

**原则**:最小化收集,最大化保护

**保护措施**:

**1. 输入过滤** - PII检测:识别并脱敏敏感信息 - 关键词过滤:阻止危险输入 - 格式检查:验证输入合法性

**2. 输出审计** - 敏感词检测 - 事实性验证 - 格式校验

**3. 数据存储** - 加密存储(AES-256) - 访问控制(RBAC) - 审计日志

**4. 数据处理** - 不存储原始输入(可选用) - 定期删除历史数据 - 匿名化处理

**示例:PII检测与脱敏** ``` 输入:"我的手机号是13812345678" 检测:识别11位手机号 脱敏:"我的手机号是138****5678" ```

4

代码示例:敏感信息检测

实现PII检测和脱敏:

python
import re
from typing import List, Tuple

class PIIDetector:
    """敏感信息检测与脱敏"""

    def __init__(self):
        self.patterns = {
            "phone": (r'1[3-9]\d{9}', self._mask_phone),
            "id_card": (r'\d{17}[\dXx]', self._mask_id_card),
            "email": (r'[\w.-]+@[\w.-]+\.\w+', self._mask_email),
            "credit_card": (r'\d{13,19}', self._mask_credit_card),
        }

    def detect_and_mask(self, text: str) -> Tuple[str, List[dict]]:
        """检测并脱敏敏感信息"""
        masked_text = text
        detected = []

        for pii_type, (pattern, mask_func) in self.patterns.items():
            matches = re.findall(pattern, text)
            for match in matches:
                # 记录检测结果
                detected.append({
                    "type": pii_type,
                    "value": match,
                    "position": text.find(match)
                })
                # 脱敏处理
                masked_value = mask_func(match)
                masked_text = masked_text.replace(match, masked_value, 1)

        return masked_text, detected

    def _mask_phone(self, phone: str) -> str:
        """手机号脱敏:138****5678"""
        return phone[:3] + "****" + phone[-4:]

    def _mask_id_card(self, id_card: str) -> str:
        """身份证脱敏:110***********1234"""
        return id_card[:3] + "***********" + id_card[-4:]

    def _mask_email(self, email: str) -> str:
        """邮箱脱敏:a***@example.com"""
        parts = email.split("@")
        return parts[0][0] + "***@" + parts[1]

    def _mask_credit_card(self, card: str) -> str:
        """银行卡脱敏:**** **** **** 1234"""
        return "**** **** **** " + card[-4:]

# 使用示例
detector = PIIDetector()
text = "我的手机是13812345678,邮箱是zhang@example.com"
masked, detected = detector.detect_and_mask(text)
print(masked)
# 输出:我的手机是138****5678,邮箱是z***@example.com
5

合规要求

**主要法规**:

**1. 《个人信息保护法》(中国)** - 明确告知用户信息用途 - 获得用户同意 - 提供删除和导出功能 - 数据出境审批

**2. GDPR(欧盟)** - 用户有权访问、更正、删除数据 - 数据最小化原则 - 隐私保护设计(Privacy by Design) - 72小时内报告数据泄露

**3. 《数据安全法》(中国)** - 数据分类分级 - 重要数据保护 - 数据安全评估

**AI特定合规**: - 《生成式人工智能服务管理暂行办法》(中国) - 内容审核要求 - 算法备案 - 安全评估报告

**认证标准**: - ISO 27001:信息安全管理体系 - SOC 2:服务组织控制 - 等保2.0:网络安全等级保护

6

实战:企业合规检查清单

**数据收集阶段**: - [ ] 隐私政策已更新,明确说明数据用途 - [ ] 用户同意机制已实现(勾选框、弹窗) - [ ] 数据收集最小化,不收集无关信息

**数据处理阶段**: - [ ] 敏感信息自动检测和脱敏 - [ ] 数据加密存储 - [ ] 访问控制已配置

**数据存储阶段**: - [ ] 存储加密(传输和静止) - [ ] 备份机制完善 - [ ] 保留期限设置

**用户权利**: - [ ] 用户可查看自己的数据 - [ ] 用户可请求删除数据 - [ ] 用户可导出数据

**安全审计**: - [ ] 操作日志完整记录 - [ ] 定期安全评估 - [ ] 漏洞扫描和修复

7

合规是动态过程

法规在不断更新,合规不是一次性工作,需要持续关注新规定、定期评估、及时调整。建议组建专门的合规团队或咨询专业律师。

📝课后小结

AI应用面临数据泄露、Prompt注入等特殊安全风险。数据隐私保护需要输入过滤、输出审计、加密存储。合规要求包括个人信息保护法、GDPR等法规,需要建立完整的合规体系。

1AI安全风险:数据泄露、Prompt注入、有害输出、模型窃取
2数据保护:输入过滤、输出审计、加密存储、访问控制
3主要法规:个人信息保护法、GDPR、生成式AI管理办法
4合规是动态过程,需要持续关注和调整

课后练习

1

PII指的是?

A. Public Internet Information
B. Personally Identifiable Information(个人身份信息)
C. Private International Internet
D. Protected Information Index

答案:Personally Identifiable Information(个人身份信息)

PII(个人身份信息)是能够单独或结合其他信息识别特定个人的数据,如姓名、身份证号、手机号等。

2

GDPR要求多久内报告数据泄露?

A. 24小时
B. 72小时
C. 7天
D. 30天

答案:72小时

GDPR规定,发现个人数据泄露后,必须在72小时内向监管机构报告。