
1) 【一句话结论】移动端调用云端AI服务时,需通过TLS/HTTPS协议实现端到端加密,结合服务器/客户端证书双向认证,并配合短效令牌、数据完整性校验等机制,有效防范中间人攻击、数据泄露及模型劫持风险。
2) 【原理/概念讲解】首先解释中间人攻击(MITM):攻击者截获通信双方的数据,并可能篡改或窃取。移动端调用云端服务时,数据在传输过程中易受攻击。网络层传输层防护的核心是加密与认证。
TLS(传输层安全协议,即HTTPS的底层)通过非对称加密(公钥)建立安全连接,然后使用对称加密(密钥)传输数据,确保数据机密性和完整性。证书(如SSL证书)用于身份验证:服务器证书由CA(证书颁发机构)颁发,客户端验证证书的有效性(域名、有效期、CA是否可信)。
类比:就像快递的“防伪标签”,只有收货人和发货人能验证标签的真实性,中间人无法伪造。
3) 【对比与适用场景】
| 对比项 | 单向认证(服务器验证客户端) | 双向认证(客户端验证服务器) |
|---|---|---|
| 定义 | 服务器持有客户端证书,验证客户端身份 | 客户端持有服务器证书,验证服务器身份 |
| 特性 | 服务器端配置复杂,客户端简单 | 客户端需存储服务器证书,配置复杂 |
| 使用场景 | 移动端调用普通API,如用户登录后调用AI服务 | 需要高安全场景,如金融、医疗AI服务,防止服务器被劫持 |
| 注意点 | 依赖OAuth2.0等令牌机制,令牌需加密传输 | 需要客户端存储证书,证书更新麻烦,可能影响性能 |
4) 【示例】调用人脸识别API的请求示例(伪代码):
{
"method": "POST",
"url": "https://api.ai.360.com/v1/face/recognize",
"headers": {
"Content-Type": "application/json",
"Authorization": "Bearer <access_token>",
"X-Client-Cert": "client.crt", // 客户端证书标识
"X-Security-Timestamp": "2023-10-27T10:00:00Z"
},
"body": {
"image": "base64编码的人脸图片",
"model": "standard"
}
}
其中,Authorization字段使用OAuth2.0的access token(加密传输),X-Client-Cert标识客户端证书,X-Security-Timestamp用于防止重放攻击。服务器验证access token的签名和过期时间,验证客户端证书(通过CA链),并检查请求的完整性(如HMAC校验)。
5) 【面试口播版答案】移动端调用云端AI服务时,为防范中间人攻击、数据泄露或模型劫持,核心是采用TLS/HTTPS协议实现端到端加密,并配合证书验证和短效令牌等机制。具体来说,首先,所有网络请求必须通过HTTPS加密传输,确保数据在传输过程中不被窃听或篡改。其次,服务器会通过SSL证书(由可信CA颁发)向客户端证明其身份,客户端验证证书的有效性(域名、有效期、CA信任列表),防止中间人替换证书。对于用户身份,采用OAuth2.0等授权框架,生成短效的access token(包含用户信息和过期时间),token通过HMAC或RSA加密后传输,服务器验证token的签名和过期时间,确保只有合法用户能调用服务。此外,为防止重放攻击,请求头中添加时间戳或nonce,服务器校验请求的时效性。这样,即使网络被中间人截获,攻击者也无法解密数据或伪造有效请求,有效保护用户隐私和模型安全。
6) 【追问清单】
7) 【常见坑/雷区】