先说个大伙儿应该都知道的背景:9月11日下午,华为开发者大会安全与隐私分论坛在松山湖举行了。
其中,华为消费者业务云服务安全技术专家,对HMS安全架构与数据保护做了解析。内容上总的来说就是,介绍了HMS Core从开发者接入到服务处理的全流程安全机制、列举了典型HMS发放能力的安全与保护技术。
一、HMS Core的“开放”能力,对谁“开放”的?
先科普一下: HMS Core(华为移动核心服务)是华为移动服务(HMS,HUAWEI Mobile Services)助力开发者高效构建精品应用,是华为为其设备生态系统提供的一套应用程序和服务。开发者只需集成HMS SDK即可使用华为的多个开放能力。(百度百科)
意思就是开发者可以通过接入HMS Core的开放能力,以低成本、低门槛地开发、更高效地创新精品应用内容、服务及体验。
二、被“开放”的HMS Core,安全如何保障?
首先,HMS Core的“开放”给开发者,并不意味着每个开发者可以随意用。一般需要经过三步:开发者联盟门户的注册 - 申请接入和获取认证凭证 - 开发者集成HMS SDK(HMS软件开发工作包)使用开放能力,HMS进行接入认证。
其中5大安全技术,可以保障基于HMS Core开发的应用的安全:
Ø 认证鉴权:用户认证、接入认证、设备认证;
Ø 数据安全与隐私保护:数据安全存储、数据使用安全、数据传输安全、密钥管理、隐私保护;
Ø 内容保护:版权保护、数字水印、防盗链;
Ø 应用安全:上架四重检测、下载安装保障、运行防护机制;
Ø 业务风控:帐号风控、交易风控、内容风控、广告防作弊;
也就是说,从开发者接入HMS Core,到HMS App和三方App的最终应用,每一步都有一道密不透风的安全防线。
三、开发者接入HMS Core的“敲门砖”:认证凭据
HMS Core接入认证时的安全保证有认证凭据、接入约束和权限控制3种措施。开发者访问HMS Core的开放能力时,需要先在开发者联盟网站创建认证凭据,开发者应用通过携带的认证凭据访问HMS开放能力。当前支持的凭据有API Key、Oauth2.0 ClientID、Service Account Key。这些凭据使用安全随机数生成,生成后在服务器使用AES-GCM加速算法进行加密后存储,防止认证凭据泄露。
除了开发者层面上的保障措施,在应用市场层面,HMS Core实行上架四重检测、下载安装保障、运行防护机制的保障机制。
四、几种印象比较深的HMS Core开放能力的数据保护
帐号安全保障方面,Account kit为应用提供安全便捷的登录能力,例如采用当下主流的FIDO免密身份认证登录,确保账户数据等安全。除了集成FIDO Kit,华为帐号服务在登录、重置密码等环节都设置了主动风控监测机制来防止帐号盗用,并将操作异常等多种风险识别手段与专家规则、机器学习结合,用来识别虚假帐号、防止垃圾注册。这样,华为终端云风控平台就可以做到快速精确地识别风险。
以基于PKI(公钥基础设施)的指纹及人脸支付,和交易支付时的活体检测这一更加强有力的风控措施为例,IAP kit可以在应用中提供安全便捷的支付服务,在PKI体系下,线上支付更加安全。这些密钥或证书被有效管理,从而为客户建立起一个安全的网络运行环境。
手机上Push推送服务很常见,Push kit基于Push Token接入认证App,为不同设备里的各个应用都分配一个独一无二的token,并对Push消息加密缓存、自动审核敏感信息,使得跨平台的推送服务更精准可靠;传输安全方面,使用会话密钥加密Push消息,辅以订阅消息完整性保护措施,使得信息传输更安全!
五、不放过每个细节:全流程的安全隐私质量保证
HMS Core的安全防护措施,从刚开始的需求分析、安全设计,到安全代码的开发、安全测试都尽量做到抓准每一步、不放过每个细节。例如安全编码方面,要求输出针对HMS项目的安全开发指南,并输出可以覆盖到43个端云安全漏洞的防护沙盘,提供优秀的安全编码实践;再比如安全测试方面,实施双重防线,除了华为终端云服务部,还有ICSL(华为公司网络安全实验室)投入40+安全测试人员重重防守。
SilverNeedle银针实验室
面对外来蓝军攻击,HMS自建蓝军,SilverNeedle Lab,专注于研究防范外来蓝军攻击。前不久,SilverNeedle Lab 在松山湖举办攻防渗透主题沙龙,汇集了60位攻防经验丰富的一线安全研究员,共同讨论渗透工具、生物认证、OAuth2、HMS安全攻防等热门议题。
除了自建蓝军,HMS还与业界知名安全公司NCC等公司合作,进行安全测试。
目前第一阶段HMS安全众测已经完成邀请了腾讯、360、长亭科技、安恒等13家业界TOP团队及60+奖励计划受邀高质量白帽(覆盖国内、欧洲、新加坡、俄罗斯等区域),针对HMS (包括HMS Core和HMS App等)进行安全渗透测试。
第二阶段(2020年1月-8月),HMS Core正在进行欧洲专项测试,采购欧洲安全厂商NCC的专业服务对HMS Core进行专项在线渗透测试,本次覆盖现网全部24个Kit,一阶段共计11个Kit的渗透测试活动已经完成。
第三阶段HMS Core正在规划HMS安全挑战赛,邀请全球应用开发者及安全研究员针对HMS产品发起渗透测试,大赛面向全球的开发者和安全研究员。并设置百万奖金池,用于奖励比赛中发现的高价值漏洞,最高单个漏洞奖励42万。
可以期待,经过更多测试者和开发投入后的HMS Core安全体系将更加完善。
欲了解更多详情,请参阅:
华为开发者联盟官网:https://developer.huawei.com/consumer/cn/hms
获取开发指导文档:https://developer.huawei.com/consumer/cn/doc/development
参与开发者讨论请到Reddit社区:https://www.reddit.com/r/HMSCore/
下载demo和示例代码请到Github:https://github.com/HMS-Core
解决集成问题请到Stack Overflow:
https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest
原文链接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0203356635592190793&fid=18
作者:晚上吃啥