安全高效:Paxos专为BUSD设计的第三方授权
PAX
2019-11-20
热度10276

Paxos联合币安发行了一款新稳定币BUSD。BUSD受纽约金融服务管理局监管,与美元1:1锚定,并可在币安以及其它平台上交易。

2019年9月,Paxos联合币安发行了一款新稳定币--Binance USD(BUSD)。BUSD受纽约金融服务管理局监管,与美元1:1锚定,并可在币安以及其它平台上交易。我们专为该产品设计了独特的第三方授权流程,该设计方案也可用于未来任何第三方合作伙伴。

合作伊始,Paxos团队就深刻了解到币安相整合的主要目标是打造简单无缝的用户体验,同时确保安全性与稳定性。为了改进关于BUSD铸币与赎回的用户流程,我们专为币安开发了一套API。通过这些API,币安BUSD铸币与赎回的前端体验保持和其平台的其它使用性保持一致那么,如何才能打造一款高度安全同时非常便捷的解决方案呢?

第三方授权

第三方授权能够让像币安这样的外部合作伙伴安全地从Paxos获取客户信息。为了在币安平台上有效支持BUSD,我们需要在验证客户密钥并得到客户许可的情况下,授权Binance.com使用其Paxos密钥进行访问。我们使用了Oauth2技术实现这一目标

OAuth2与授权类型

OAuth 2.0是一种行业标准的授权协议,它可以使外部应用获得对用户帐户的指定访问权限。一般而言,它是每一个“使用微信帐号登录”或“使用微博帐号登录按钮背后所采用的协议。

任何应用得以使用Paxos OAuth2授权服务之前,它必须注册为经过核实的第三方应用在这一方面,Paxos需要应用提供应用名称、使用范围、重定向URL或回URL等信息。我们设计独特的第三方入口,以协助第三方轻松申请注册

值得注意的是,OAuth2定义了多个授权类型这里我们主要使用了授权代码与刷新令牌流程,但是有可能其他授权类型更适合您,具体包括:

● 授权代码——允许个人对想要获取API访问令牌的应用进行授权。

● 客户端密钥——允许客户端应用访问其自身的服务帐号信息。

● 设备代码——为非网页应用提供一种更佳的用户认证方式。

● 隐式授权——在无需额外操作的情况下立即授予访问令牌,并可被公共客户端所使用(不建议此等操作)。

● 密码——直接通过API交换访问令牌。

● 刷新令牌——在访问令牌到期的情况下,能够让客户端应用请求新的访问令牌。

Paxos第三方授权设计

授权代码类型的流程最为常见,且最适用于第三方授权。它与用户代理(情况下为网页浏览器进行交互,并在每一步骤中将用户重定向至不同页面。以下是我们为币安设计的授权代码流程 —— 以用户角度所看到的示意图。


如上图所示,用户被浏览器多次跳转于Paxos网页App与币安网页App之间。连接两款App的纽带实际上是授权代码。它能够让用户准许币安访问其Paxos信息,还能让币安向Hydra请求访问令牌刷新令牌,以便于代表客户与Paxos进行交互。

刷新令牌流程旨在方便使用第三方网页app的用户,让其无需在每次授权代码到期时均再次完成整个授权流程。刷新令牌的存续时间将始终长于普通的访问令牌。但是,它无法用于直接与Paxos交互,只能用来请求新的访问令牌。


为何选择Hydra

该服务以安全为本,其架构与工作流程旨在抵消包括OWASP大风险在内的常见攻击媒介。此外,Hydra通过HTTP重定向与加密方法实现的Oauth2流程,可令用户使用任意认证端点。对于我们而言,其灵活性无疑是支持Paxos认证服务与之集成的一个关键特性。

结论

之所以采用上述方式是因为我们面临着一个挑战:如何为用户创建更加无缝的跨平台使用体验。本着这个目的,我们打造了一款强大的API解决方案,并使其可以扩展至未来的合作伙伴。总而言之,该项功能不仅能帮助我们的客户与合作伙伴节省时间与降低风险,同时保持最高安全水平。如有需要,您可以尝试一下,并告诉我们您的想法

本内容旨在传递行业动态,不构成投资建议或承诺。
为你推荐

商务合作:TG:@Lottie96