在互联互通的场景驱动下,同一开发者旗下常常拥有多款应用或者多个应用形态,用户在同一设备的不同应用或端口登录时,即便使用同一帐号,仍需要重复输入密码进行验证,操作复杂,直接影响到用户的使用体验,而华为钥匙环服务的出现则有效地解决了这一问题。

钥匙环服务功能盘点

华为钥匙环服务(Keyring)为开发者提供全生命周期的凭据管理能力,包括对凭据进行获取、加密存储、授权共享、查询读取、删除等等,保障开发者的业务流畅性。

1.本地加密存储

使用钥匙环服务所获取的凭据在可信执行环境(TEE)中可以随机生成密钥,然后再进行加密,每个设备的密钥均不相同,而且密钥只能在TEE内使用,无法离开设备,华为也不掌握密钥的内容,支持凭据在本地安全存储。保存凭据时,开发者还可以设置读取此凭据的内容时是否通过锁屏密码或生物特征认证用户的身份。

1.凭据共享授权

钥匙环服务能够提供同一团队开发的App之间授权共享凭据的能力,被授权使用凭据的应用可以是Android应用、快应用或者Web应用。

用户在下次进行登录操作时,应用在钥匙环服务中查找可用的凭据。查找到的凭据可能是本应用存储的凭据,也可能是其它应用授权给本应用使用的凭据。

1.保障数据安全

除此之外,使用钥匙环服务,共享凭据过程中的安全性也能够得到保障。钥匙环服务通过验证安卓应用的APK包名、快应用的包名和证书哈希,或者获取当前网页的真实URL作为身份信息等方式,认证读写凭据的APK或网站的真实身份,防止凭据被仿冒的程序或网站盗用。

1.凭据删除或更新

钥匙环服务向开发者提供删除和更新凭据的API。如果用户需要退出应用帐户,相应的认证凭据也将从钥匙环服务中删除。

应用场景

跨形态登录

同一应用App在移动端的入口呈现多样化的分布趋势,用户在不同的应用形态之间来回切换,反复登录,导致体验割裂。而钥匙环服务对于不同的应用形态提供了不同的接口,包括钥匙环服务SDK、快应用API和Web API,支持跨应用形态共享用户认证凭据。

以电商购物类应用为例,节假日促销短信推送是我们最常用的营销方式之一,也普遍被用户所接受。用户在安卓应用登录之后,点开促销短信中的链接,在华为浏览器中打开Web应用,直接处于登录状态,无需重复登录即可完成下单。

跨应用登录

在业务发展过程中,同一个团队往往会开发多个App,新应用上架之后,获得用户并非易事。针对全新业务场景的应用,钥匙环服务会为其提供一条畅通无阻、高效便捷的桥梁,将流量从原有的应用当中引进来,用户无需重复输入帐号密码,只要一键授权,就可以实现无缝登录。

也就是说,用户在应用A已登录,安装同一开发者旗下的新应用B,无需输入帐号密码,能使用登录应用A的帐号,实现直接登录应用B。

帐号易切换

钥匙环服务还可以存储多个凭据,如果用户在某一应用登录过多个帐号,应用可以提供确认页面,让用户自主选择某个帐号登录,操作便捷。当然了,作为开发者,您可以选择在用户登录之前,验证用户的生物特征或者锁屏密码,有效规避帐号被冒用等安全隐患。

商业价值

钥匙环服务的跨应用登录场景将帮助同一开发者旗下的关联应用之间共享流量,助力孵化新产品。同时实现流量在安卓应用、快应用、Web应用之间的双向流转。通过创造一处登录,处处登录的无缝登录体验,钥匙环服务帮助开发者缩短用户的交互转化路径,降低登录操作的复杂度,进一步提升导流转化率。总之,钥匙环服务是助力开发者获得商业成功的利器。

总体来看,华为钥匙环服务具有便捷登录、安全无忧、流量共享等核心优势,可以帮助开发者快速满足用户在购物、出行、社交、阅读等多个使用场景下的安全需求。

之后,华为钥匙环服务还会推出其他特性,HMS Core也将在安全领域开放新的能力,为开发者们带来更优质的服务和体验。

更多精彩内容,请见华为开发者官方论坛→https://developer.huawei.com/consumer/cn/forum/home?ha_source=sanfang

全面解析 | 钥匙环服务的应用场景&商业价值的更多相关文章

  1. Dubbo原理和源码解析之服务暴露

    github新增仓库 "dubbo-read"(点此查看),集合所有<Dubbo原理和源码解析>系列文章,后续将继续补充该系列,同时将针对Dubbo所做的功能扩展也进行 ...

  2. 【HMS Core 6.0全球上线】华为钥匙环服务,打造跨应用跨形态无缝登录体验

    华为钥匙环服务(Keyring),是HMS Core在安全领域开放的全新服务,为全球开发者提供用户认证凭据(以下简称"凭据")本地存储和跨应用.跨形态共享能力,帮助您在安卓应用.快 ...

  3. Netty 4源码解析:服务端启动

    Netty 4源码解析:服务端启动 1.基础知识 1.1 Netty 4示例 因为Netty 5还处于测试版,所以选择了目前比较稳定的Netty 4作为学习对象.而且5.0的变化也不像4.0这么大,好 ...

  4. 探索解析微服务下的RabbitMQ

    概览 本文主要介绍如何使用RabbitMQ消息代理来实现分布式系统之间的通信,从而促进微服务的松耦合. RabbitMQ,也被称为开源消息代理,它支持多种消息协议,并且可以部署在分布式系统上.它轻量级 ...

  5. 基于OpenSIPS做注册服务下,场景A打B,一方发起BYE挂断后收到500,另一方无法挂断的问题

    基于OpenSIPS做注册服务下,场景A打B,一方发起BYE挂断后收到500,另一方无法挂断的问题     最近在工作中遇到一个看似很奇怪的,排除起来很费劲,但最后的解决方式又及其简单的问题,下面我们 ...

  6. 无服务计算应用场景探讨及 FaaS 应用实战

    作者 | 宋文龙(闻可)  阿里云全球技术服务部高级交付专家 什么是无服务计算 无服务器计算(Serverless Computing)在构建和运行应用时无需管理服务器等基础设施.它描述了一个细粒度的 ...

  7. C#二次开发BIMFACE系列60 File Management文件管理服务及应用场景

    系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<C#二次开发BIMFACE系列>教程中详细介绍了如何注册BIMFACE.测试.封装服务器端接口并提供了丰富的Demo.视 ...

  8. Dubbo原理和源码解析之服务引用

    一.框架设计 在官方<Dubbo 开发指南>框架设计部分,给出了引用服务时序图: 另外,在官方<Dubbo 用户指南>集群容错部分,给出了服务引用的各功能组件关系图: 本文将根 ...

  9. 吴太银:华为消费者云服务Cassandra使用场景与最佳实践

    大家好,我是华为消费者云的吴太银. 我今天分享的主要是华为消费者云服务使用Cassandra的应用场景和最佳实践.我这个可能跟其他嘉宾分享的不太一样,因为前几个嘉宾讲的实际上对Cassandra原生的 ...

随机推荐

  1. 关于使用idea工具debug时,断点颜色由红色变成灰色

    在使用断点调试的时候,发现断点由原来的红色变成灰色的,后来发现是由于错误操作将Debug断点t调试禁用了 ,只需要点击禁用按钮取消就可以了 

  2. 让textarea根据文本的长度自动调整它的高度

    ... <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR ...

  3. 关于新手使用mpb开发代码的一些小知识

    mac 前端端口占用解决   1.查看8080端口,复制进程PID  lsof -i :8080 2.杀死进程 kill -9 「进程PID」   如果你的mac不能使用sudo解决办法   错误提示 ...

  4. dart系列之:在dart中使用packages

    目录 简介 pubspec.yaml get packages 使用packages 升级依赖 总结 简介 java中使用jar包来封装有用的功能,然后将其分发到maven仓库中,供其他人使用.同样的 ...

  5. [hdu6134]Battlestation Operational

    1 #include<bits/stdc++.h> 2 using namespace std; 3 #define mod 1000000007 4 #define N 1000005 ...

  6. [atARC105D]Let's Play Nim

    先对$n$分奇偶两种情况考虑-- $n$为奇数,显然先手希望最终产生的$x_{1}\oplus x_{2}\oplus...\oplus x_{n}=0$ 对于后手,考虑构造:将最大的未被选择的$a_ ...

  7. 【Tool】JDK8 安装

    JDK8 2019-07-26  14:05:21  by冲冲 1. 下载 通常前往官网 https://www.oracle.com/technetwork/java/javase/download ...

  8. 力扣 - 剑指 Offer 10- I. 斐波那契数列

    题目 剑指 Offer 10- I. 斐波那契数列 思路1(递归 / 自顶向下) 这题是很常见的一道入门递归题,可以采用自顶向下的递归方法,比如我们要求第n个位置的值,根据斐波那契数列的定义fib(n ...

  9. IE 跨域设置

    开发的时候会发现IE下跨域无法访问,报错: Failed to load resource: net::ERR_CONNECTION_REFUSED 解决方法有两种: 自己写代理服务,访问代理服务,代 ...

  10. [NOI2020] 制作菜品

    看懂题目是生产第一要素. 考虑\(m = n - 1\)则必定有解.我们每次选择最小的和最大的拼在一起即可. 当\(m\)大于\(n\),那么我们只要每次选择最大的给他消掉即可. \(m = n - ...