安全芯片:隐私可信计算环境

为什么需要专用区块链安全芯片?

还记得我们在前面说过的Web3.0的核心世界观吗?三条:去中心化!安全!隐私!

是的,在以太坊2.0公链基础上,我们完全可以迎来一个更加去中心化的节点体系,毕竟这个世界还有什么比每个人都拥有的智能手机更加去中心化呢?但它足够安全足够隐私保护吗?

在区块链的世界里,一旦你弄丢私人秘钥,钱包将永远也不再属于你了,没有中心机构可以追溯,也没有法律可以对你进行保护。

谁来保护你的资产永远属于你?

你怎么证明你知道某些东西或拥有某些资产,而不会泄露你知道或拥有什么的任何信息?

你怎么证明你拥有无聊猿NFT,而无需透露你拥有哪一个、购买时间或所花金额?

你怎么证明将USDC从账户 A 发送到账户 B 的交易的有效性,而无需透露任一账户的Token余额或发送的金额?

Web3要走向芸芸众生,安全与隐私保护是前提,没有更彻底的个人数据保护,谈何数据资产所有权和价值的转移?没有这个前提,其它都是无本之木!

2022年上半年发生187起安全事件,损失高达19.76亿美元。

2022年7月,Web3因漏洞、黑客攻击行为造成了近6500万美元的损失。

2022年8月1日,跨链互操作性协议Nomad桥遭黑客攻击,1.9亿美元资金被转移,甚至演变成DeFi史上最大规模、最混乱的“去中心化”抢劫案。

2022年8月3日,Solana生态系统被持续攻击,7767千个钱包被破解,损失超800万美元。遭受攻击后,Solana的原生代币SOL在几个小时内下跌了4%。

8月13日,这次大规模盗币事件被推上舞台中央的主角——Slope(Solana生态中的钱包)在推特上表示:推迟审计报表。

用户发现,他们热钱包内的代币在其不知情的情况下被黑客转移。遭受攻击的热钱包包括Phantom、Slope和 TrustWallet等。涉及到的币种除了SOL、SPL和其他基于Solana的代币以外,还有USDC、USDT、BTC、ETH等主流币和稳定币。

黑客可以签署未经同意的交易,暗示这很可能是第三方授权遭到破解,也就是所谓的“供应链攻击”。虽然黑客的身份未知,但其很明显针对的是Solana生态,而且是冲着使用热钱包的用户而来。

被盗事件发生后,Solana官方账号在社交媒体表示:工程师目前正在与多个安全研究人员和生态系统团队合作,以确定漏洞利用的根本原因。没有证据表明硬件钱包受到影响,强烈建议用户使用硬件钱包,并且不要在硬件钱包上重复使用助记词,创建一个新的助记词。

由于Solana链上NFT市场Magic Eden的官方账号最先发出盗币警报,因此Magic Eden被怀疑与此次攻击事件有关。Magic Eden是目前Solana生态领域最大的参与者,这家成立不到一年的初创公司,交易量占到Solana所有交易总量的90%或以上。在其最新一轮风险投资融资后,Magic Eden在6月的估值达到了16亿美元。

自去年年底以来,Solana Monkey Business、Okay Bears和DeGods等著名项目已经出现在Solana上,根据CryptoSlam的数据,迄今为止,Solana NFT交易量超过25亿美元,与NFT市场霸主OpenSea展开激烈竞争。

在宣传中,Solana已成为NFT的新兴网络,与目前的以太坊相比,它费用更低、交易速度更快、对环境的影响更小。但是,它中心化程度更高。

Solana NFT社区的成员指出,Magic Eden托管所有上线的资产,而不是允许它们留在用户自己的钱包中。用户的NFT通过市场智能合约保存在托管钱包里,这样集中托管的方式,可能会让用户的资产容易受到攻击。

作为一家相对中心化的加密巨头,Solana近两年来风头正盛,被人们誉为“以太坊杀手”,通过效率和网络拓展能力,不仅布局公链、钱包、Defi、NFT等区块链全赛道,还和苹果一样做线上商城、做手机、做体恤......Solana俨然将自己打造成一个像Binance、阿里巴巴、谷歌这样的互联网巨头。

不过,繁华背后尽是隐忧。大规模用户遭遇损失的事件并非孤例,Solana被认为是2021年公链赛道的黑马,被行业称为“以太坊杀手”,而如今却多次发生宕机事件,现在又发生了整个生态钱包丢币事件,因此被讽刺为“宕机链”。

2022年2月,黑客利用Solana在跨链桥上的漏洞盗取了3.2亿美元ETH。

2022年8月5日,媒体报道,Solana上锁定的总价值(TVL)被一位开发者伪造,以致在一段时间内被严重夸大。Solana生态最大的Defi项目Sabre,其首席架构师Ian Macalinao伪造了11个开发者身份,在Solana的TVL达到105亿美元峰值时,Ian的项目占了其70%以上。创建了一个庞大的连锁DeFi协议网络,数十亿美元的价值被重复计算。

以一己之力,便为Solana贡献了超过70%以上的关键数据,而耐人寻味的是,这位开发者做完这一切之后,宣布不再呆在Solana生态里,转去竞争对手Aptos那边“工作”了。

实际上,随着暴雷事件的增多,Solana生态里可以被完全信任的机构或者产品,正在面临人们普遍的质疑。

@0xfoobar讽刺Solana脆弱的安全性和糟糕的用户体验,他说,“以太坊攻击需要几个小时才能完成,并且需要整个社区参与进来,而Solana黑客可以在几秒钟内清理你的钱包。这真是无与伦比的用户体验。”

一个奇怪的事实是:Solana foundation提供的数据显示近60%被盗用户使用Phantom钱包,30%左右地址使用Slope钱包,其余用户使用Trust Wallet,并且iOS和Android版本的应用都有相应的受害者。显然,这既不是Slope一家公司的问题,也不是iOS和Android背后所站立的苹果公司和谷歌公司的问题。Solana又宣称不是自己核心代码的问题。难道是用户的问题?

TVL,不可信;钱包,不可信;跨链桥,不可信;NFT平台,不可信......生活于加密世界,就如身处黑暗森林,对于Solana来说,其广阔的生态,成为了加密黑客们的乐土,而对于普通用户而言,就如在黑暗森林中鲁莽点起火把的小孩。

关键是,如果找不到问题所在,2500万个钱包还安全吗?上百万的Solana用户和开发者,还能安心建设吗?

此次大范围攻击事件在区块链发展史上当属首次。过去,大部分黑客攻击多集中在单一的交易所、应用协议或跨链桥上,比如利用某个链上协议的漏洞,将协议内的用户资金一锅端。而此次,黑客则更像是通过一种叫做供应链的供给方式攻击破解了大量的用户私钥,并逐一转走了用户资产。

所谓“供应链供给”就是指JS库被黑客入侵,窃取了用户的私钥。JS库一般指被封装好的JavaScript函数,其特点是可以直接在程序中进行调用。从一些失窃用户的反馈来看,被盗的钱包似乎是在过去9个月内创建的,但也有报告说新创建的钱包也受到影响,因此暂时无法确定是哪个供应链软件出现了漏洞。

供应链攻击是一种新型的攻击手法,似乎已经开始渗透区块链领域,尤其在注重智能合约相互耦合的Web3的领域,攻击者往往会在上游或中游介入,将其恶意活动及其后效应向下游传播给更多用户。因此,与孤立的安全漏洞相比,成功的供应链攻击带来的损失规模更大,影响更深远。

在这些安全事件中,约77%(144起)源于项目自身存在漏洞被攻击者利用,损失金额约18.4亿美元,占安全事件总损失的93%。区块链安全涉及到生态的各方,包括用户、钱包、交易所、链、应用。

尤其是区块链钱包就在手机中,手机已经是我们每个人的又一“器官”,它能够解决生活中的大部分问题,渗透到生活的各个角落。但在Web2.0时代,各种个人信息的泄露,很大程度上都出自于手机,比如:

你的手机系统在出卖你:通讯录,短信,设备号,IP等等等等,你的一切,在手机厂家眼中,都是透明的,系统层面的读取,甚至都不需要权限申请。

手机输入法在出卖你:很多人总是怀疑APP监控你的聊天记录,你首先要怀疑的是,你的输入法有没有卖你。谁知道你输入的具体的一切?当然是输入法了。只要你打字,你一定躲不过的就是输入法,你输入了什么内容,在什么APP输入(搜索引擎?社交软件?地图?短信?卖家讨价还价?),这对于输入法都是透明的。而且你经常输入哪些词,代表了什么意思,并不难获得或者分析,上面说的语义分析难是真对纯音频的,纯文本的语意分析可是相对成熟的技术。另外所有输入法都是越用越好用,越用越懂你。那么,你思考一下,到底是怎么懂你的?当你在触摸方便的时候,方便也在触摸你。

大量的SDK在出卖你:什么叫SDK?你可以理解为是软件包,嵌入APP中执行特定功能的特定模块。最流行的SDK是推送类SDK,就是你手机收到的各类APP推送消息,是有专门的公司做成SDK嵌入到各大APP里,然后专门负责推送。专业推送SDK往往对于各类手机和应用的适配做的很好,比自己开发要好用很多,所以很多APP都是外采推送SDK的。你手机上30个APP,可能都是同一家公司提供的推送SDK,那么对这家公司而言,你的手机基本是透明的;而且很显然会知道一台手机到底装了哪些APP,用户到底常用什么APP,甚至用户对于手机的应用轨迹,应用行为。这些行为就可以被做成标签,然后打包交易,这个市场目前很成熟。

手机APP在出卖你:手机APP会关注你的什么信息呢?首先就是APP List。就是你的手机曾经安装过哪些APP,当前手机安装了什么什么APP,以及每一个APP的打开率,使用时长等等。每一个APP都是代表了一大串的信息,毕竟每个APP都有自己的属性和目标用户,这些特征都是很显著的。你安装了拼多多,可能代表你是一个价格敏感型用户,可以给你推送便宜货,也可能你只是被生活打趴下了;你安装了B站,可能代表你是一个喜欢二次元的用户,可以给你推荐动漫周边或者女装大佬最爱;你安装了母婴类APP,可能代表你是一个有母婴需求的人,可以给你推送母婴用品。你安装了一些球鞋类APP,可能代表你对时尚有一定的追求,可以推荐相关的商品。你每天大量时间沉迷在各种沙雕短视频APP,可能说明你是一个很无聊的人,适合给你推送游戏。你用什么APP,某种程度上在机器眼中你就是什么人。

第五个出卖你的,才是所谓的浏览记录,搜索记录,让你有明确的感知,这是最表层的东西。你在搜索引擎上的搜索,你在购物网站的搜索,你在各种APP中的搜索,这些你主动搜索的信息,都是精准的信息。如果是网页端的搜索,那么浏览器和搜索引擎都会留存你的cookie,即使你有定期清除浏览记录的习惯或者知道每次上完网清cookie也没用,现在留存都是实时的。

这些从各种APP,各类输入法,各种手机中收集来的用户数据,都是可以交易的,各家公司都在利用这些数据。用户在某某资讯类APP中用某输入法输入【尿不湿】,然后大家就都知道了这个数据,并且是直接关联用户手机号的,就是说,大家知道是谁,在什么时间,在哪个APP里,输入了什么。而这条精准的用户信息,是可以卖给购物类APP,也可以卖给视频类APP,大家获取了这个信息之后,就可以对这个手机号关联的用户去进行相关的推送。

讲一个基于数据采集的用户画像案例吧,看看我们的一生是如何被数据拆解。下面的文字部分为正常生活描述,括号内为获取这些数据的途径(这只是最基础最基础的用户画像,实际上成熟的商业公司做的要比这个复杂和精准100倍):

小明,在某广告公司上班(通过短信读取公积金信息,或者某些APP绑定公积金)。

40岁,男性,(身份证号拆解)。

本科学历(学信网接口通过身份证号调用),外地人(身份证号前6位对比工作所在地)。

租房(租房APP,或者短信账单,或者代缴水电费账户名字与本人不同)。

贷款买了一辆小车(贷款APP数据,支付宝绑定行驶证,每月短信还款提醒)。

平时的消费爱好是买书和买(支付类APP付款记录),以及打手游(游戏类APP以及账号体系)。

经常去XX网吧通宵(外卖收货地址,网吧管理软件用户体系)。

住在XX小区(快递收货地址,手机LBS活跃圈,WIFI连接热点)。

偶尔也去旅游(车票酒店购买记录,异地网红店消费记录)。

甚至喜欢看点小电影(浏览器记录,购买付费记录,转发记录)。

朋友很多(好友数,日常活跃好友数,通话记录与通讯录的交集),朋友们的消费水平也一般般(相关手机号关联的支付和交易数据)。

收入一般般(短信读取银行到账短信,手机话费余额消费账单)。

有一个女朋友小红(聊天记录,通讯录,通话详单),已经同居(购买大量女性生活用品,小红手机号关联的账户收货地址与小明相同)。

女朋友公司在XXX(基于小明除家里以外的收货地址,关联一些女性物品交易记录)。

快要结婚了(网上搜索大量与结婚有关的信息,下载了婚礼类APP)。

最近可能要当父亲了(查看婴儿用品,网上搜索很多育儿经)。

最近手头有点紧(下载了很多借款APP,读取短信可以知道有些下款了,外部可以采购到他的多头负债情况)。

等等等等等等等,无数个等等等等。

如果你是广告商,你拿到了这些数据,你可以非常精准的在小明人生的每一个阶段,都恰恰好推送一些恰恰好的广告,很多专业人士光看这些描述就已经在构思营销方案了。

这个年代数据就是金钱,隐私就是金钱。

所以每一个巨头都在拼命获取这一切。

在大数据多维交叉验证面前,大家都是透明的。

通过数据挖掘和收集,我知道你的爱好,知道你的活动范围,知道你的详细信息,知道你的社交圈,知道你可能要做的事情,知道你的一切。

我比你还要懂你。

当企业知道用户的一切的时候,某种程度上,就可以通过推送,来影响用户的一切。

这个影响可以是精准推送广告赚钱,也可以是做的更多。

回到我们自己。

我们的一切,在公司眼中,只是一个个数据标签,是达到他们目的的必要生产资料而已。

他们做的就是把我们做成数据,然后向我们灌输数据,从我们身上得到他们想要的东西。

我们一生的欢笑与泪水,开心与难过,认真的思考,谨慎的决策,最终都不过是一组数据,都是可以被拿来利用的。

人家甚至都不屑于支配我们,你会去冲着一堆数据使劲儿吗?

只需要调整参数就可以达到目的。

在技术飞速进步的年代,金钱并不能阻止这一切发生,除了死亡外,人类在大数据面前也是平等的。

更大的问题在于:这种被设计好的生活,真的是我们想要的吗?

怎么办?

如果不能真正彻底解决这个问题,不能真正让手机中的Web3.0应用怎么做更安全更隐私,就不可能让每个人都可以自如放心的使用Web3手机,所以,我们首先就要回答的问题是,怎么让Web3手机更安全更加保护隐私?或者说,为什么Web3手机需要一块专用的区块链安全芯片来保证钱包的安全,以及怎么做到?

我们认为,在手机终端内置区块链安全芯片是最好的选择,这样基于硬件的信任根,对隐私数据的计算环境进行了彻底隔离和度量。数据和算法被加密输入可行执行环境,仅对外输出最终的计算结果,原始数据和过程数据被就地销毁,从而实现数据的“可用不可见”。区块链安全芯片采用TEE+SE的硬件安全计算技术,来充当执行以太坊智能合约的黑匣子,加密的数据与智能合约一起进入黑匣子,数据被解密,由智能合约处理,然后再进行加密,然后再将其发送到手机终端中,以保证数据自始自终都保持机密。

区块链之所以可以去中心化的基石在于私钥技术,保证了个人的私有数据和隐私。

那么,什么是私钥?

私钥就是私人的钥匙,是一串利用SHA-256或SHA-512加密算法对随机数加密生成的唯一且无法破解的有固定长度的加密字符串。私钥字符串的长度可以是256位,也可以是512位,加密算法不同,字符串长度不同,比如:利用SHA-256加密算法生成的私钥就是256位。利用SHA-512加密算法生成的私钥就是512位。私钥是不可逆的,无法通过私钥破解出随机数。

为什么得私钥者得一切?

因为区块链私钥技术要求存储在区块链上的数据和资产,只有拥有私钥的人才能得到。采用哈希加密算法生成的私钥是唯一的,且现有技术无法破解和伪造。因此,我们如果要得到别人区块链中的数据和资产,就必须得到别人的私钥。

为什么用哈希算法加密生成的私钥是唯一且无法破解?

区块链使用的哈希算法主要是SHA-256和SHA-512。以SHA-256为例来说明如下:

SHA-256加密生成的私钥是2的256次方个私钥中的一个。2的256次方约等于10的77次方。10的77次方又是多少呢?目前,科学家计算过宇宙中原子的总数,大概是10的80次方个原子,和宇宙背景辐射的计算误差保持在上下两个数量级上。也就是说,宇宙的总原子数在10的78次方~10的82次方之间。

所以,私钥的数量,等于宇宙原子的数量。

一个SHA-256加密生成的私钥相当于10的78次方个宇宙原子中的一个原子,几乎是唯一的。如果我们想要破解该私钥,就相当于从10的78次方个宇宙原子中找一个原子,这就需要一个一个地试。这种暴力破解行为不是大海捞针,而是宇宙寻原。目前,地球上最先进的超级计算机和量子计算机均无法破解。

区块链钱包就是利用密码学技术,尤其哈希算法,对随机数进行加密,衍生出私钥,确保私钥的唯一性和无法破解。然后再对私钥进行哈希加密,衍生出公钥,确保公钥的唯一性和无法破解。私钥和公钥都是不可逆的。无法通过公钥破解出私钥,也无法通过私钥破解出随机数。

所以,区块链钱包控制着用户访问权限,管理密钥和地址,跟踪余额以及创建和签署交易。更为狭义的是,从程序员的角度来看,“钱包”是指用于存储和管理用户密钥的数据结构,钱包其实是私钥的容器。常见误解是比特币钱包含有比特币,其实钱包里只有钥匙。也可以说拥有了私钥就拥有了该钱包的使用权。

安全性对于钱包来说就如银行的存储卡,钱包安全很重要;首先是防盗;防止私钥泄漏,保存好。助记词作为钱包私钥的友好格式,是非常方便大家做备份和导入的,由于它的明文性,我们不建议它以电子方式保存,而是抄写在本子上保管好。其次就是防丢;多重备份, 多次备份。比如备份一个钱包的时候备份助记词和私钥, 这是多重备份。而且在使用过程中要时常记住钱包的助记词和私钥的重要性,因为所有的资产都掌握在这类似于银行卡的钱包里。只有真正的保管好自己的钱包,才是真正拥有这些数字资产。

在更多的公链用户登录、数据采集、业务交易等场景中,区块链精神在于基于“trustless”原则,很多区块链应用采用区块链钱包进行数字签名并到区块链上进行验证,确保用户登录、数据采集、业务交易的行为、身份和数据的真实可信、不可抵赖,甚至将区块链钱包等同于每个人的DID身份鉴证,所以安全性,就是Web3手机的生命线!

根据钱包是否接触网络可划分为「冷钱包」和「热钱包」

冷钱包:又称离线钱包。网络不能访问到你私钥的钱包。冷钱包往往依靠“冷”设备确保比特币私钥的安全,比如不联网的电脑、手机、写着私钥地址的重要记录本等。冷钱包避免了被黑客盗取私钥的风险,但是可能面临物理安全风险,如电脑硬盘损坏、重要记录本被无意间的丢失等等。

现在常见的冷钱包有纸钱包、脑钱包、U盘、硬件钱包、智能手表和其他智能存储硬件等。

热钱包:是指互联网能够访问你私钥的钱包。热钱包是在线钱包的形式。使用热钱包时,最好在不同平台设置不同密码,且开启二次认证,以确保自己的资产安全。因而也被称为在线钱包。它通常以 App 或网页的形式出现,一般由第三方或服务商开发完成。

使用冷钱包的一般是拥有庞大资产的用户,他们更加注重预防黑客入侵的风险。但一般来说,大多数用户更愿意使用热钱包,因为它用起来比较方便,尤其是在Web3手机中,安全且便捷,是普通用户的刚需!

手机中安装区块链安全芯片完美地解决了这个问题,因为这块芯片整合了手机的TEE架构基础上加入独特的SE加密算法机制,打造一个完全隔离外部环境的隐私可信计算环境。

TEE(Trusted Execute Environment),中文名叫可信执行环境,是芯片层面上单独划分出来的一片“区域”,这片区域并不一定会占有芯片的物理位置,也许只是在逻辑上占用了一定的执行空间。这片空间,在Intel SGX中被称作Enclave,而在ARM TrustZone中则被称为Secure World。这片区域负责为代码的执行和数据的储存提供一个更加安全的地方,以此确保其机密性和不可篡改性。

TEE这个概念是全球基于安全芯片的安全基础设施统一标准的制定者——全球平台组织Global Platform(GP)于2011年制定的标准。TEE专门针对用户的证书、密码、私钥、人脸、指纹、照片、视频等隐私信息,在数据采集、存储、查询、验证、比较、排序、运算、统计、分析、共享、交换等过程中提供可证明安全性的数据保护和计算服务,即使手机终端丢了,即使遭受网络攻击,存储在TEE里的数据也绝对安全。TEE能从本质上解决REE的安全问题,为REE提供安全服务,从而实现用户隐私数据的可用不可见,且全生命周期可控、可量、可溯源。

TEE是设备CPU中的一块安全区域,能够提供一个受信任的环境,进行隐私数据处理、计算等执行操作。我们可以把TEE想象成一个难以穿透的黑匣子。如果用户与应用程序交互并进行交易,则该交易请求和用户的数据将被发送到TEE中进行计算。节点、开发人员或验证者都不能看到TEE内部发生的事情,因此就不会发生数据泄露。计算完成后,数据被加密并发送以进行验证,然后添加到区块链中。

在没有TEE的情况下,芯片执行代码,要么将代码储存在芯片内部缓存中,要么储存在芯片外部的“内存”或者硬盘里。但不论是在缓存还是内存,所有的代码和执行过程都能被其它程序所读取,这就导致代码执行不存在隐私性,这对于某些需要隐藏代码以及代码流程的应用而言相当致命。而TEE通过在芯片层面为代码执行提供一片独立区域,这片独立区域无法从软件和硬件层面被其它程序所获取,以此确保了在这片区域中执行的代码的机密和安全。

TEE这种不受外部影响的代码执行区域,通过将敏感信息,例如支付密码放入到TEE中,密码的验证通过TEE提供的接口进行,这样只要TEE内部的数据没有被覆盖,或者包含TEE的芯片没有被丢失,TEE就可以一直提供支付密码的验证,而支付密码却几乎不能被外界的程序所获取。另一方面,TEE也会定期通过API接口提供数据完整性证明,确保外部环境能够得知TEE内部的所储存的值没有发生变化。

我们可以把手机中的 TEE 看作一台微型电脑,通常配备 CPU、内存、外存、时钟、IO通信等部件,在出厂时固定厂商号与序列号,以便唯一标识此设备。

如果要形象地说,TEE就像是一座大使馆。我们以设立在美国的中国大使馆为例子,大使馆作为一片界外域,美国可以看到中国大使馆所做的任何事情,包括销毁资料等,但却无法得知大使馆销毁资料的详细信息,并且也无权去干涉大使馆的一切行为。

TEE在移动终端系统架构中的定位及与REE的关系如下图:

从TEE在移动终端系统架构中的定位及与REE的关系可见,移动终端包括REE富执行环境和TEE可信执行环境。TEE和REE一样,两者都包括硬件平台、操作系统、应用程序。只是TEE是更安全的可信硬件平台、可信操作系统、可信应用系统,并在REE有供APP调用的TEE客户端API和打包好的TEE功能API。其中:

  • 可信硬件平台:指TEE拥有的自己专用的安全CPU、安全内存、安全硬盘等硬件,并可以按需接管移动终端的触摸屏、摄像头、蓝牙、NFC及各种传感器等外设。
  • 可信操作系统:指TEE拥有的自己专用的可信操作系统或SDK框架,该操作系统1是用于实现与底层硬件平台的通信和管控,2是用于通过通信组件与REE通信组件通信,3是用于通过内部API接口为可信应用程序提供密码引擎、密钥管理、数字签名、共识机制、可信存储、可信计算、可信UI、可信外设等服务。
  • 可信应用程序:指可信应用程序开发平台和各种可信应用程序。其中,可信应用程序开发平台用于实现TEE可信应用程序的开发、测试和部署。TEE可信应用程序包括但不限于:隐私采集、隐私存储、隐私查询、隐私验证、隐私比较、隐私排序、隐私运算、隐私统计、隐私分析、隐私共享、隐私交换等。

TEE的安全CPU、安全内存、安全硬盘与REE不是物理独立的,而是通过隔离技术实现的逻辑独立。也就是说,我们的手机终端上只有一套物理CPU、RAM物理内存和FLASH物理硬盘,但是在逻辑上划分了TEE专用的、独立的CPU、内存和硬盘。

目前,市场上主流的TEE硬件资源划分方法有2 种方案:

一种方案是逻辑上有独立的2套CPU内核、内存和硬盘,REE和TEE各占一套CPU内核、内存和硬盘。这种方案下,所有TEE可信应用程序共享TEE的CPU、内存、硬盘资源,每个TEE可信应用程序对资源的使用、隔离通过权限和算法管控,优点是TEE不会独占CPU、内存和硬盘资源,缺点是内存不做任何加解密控制,只提供逻辑保护,缺少物理保护,抗物理攻击能力较弱。比如:ARM公司的TEE解决方案TrustZone的每个物理CPU包括2个虚拟内核,一个叫普通安全内核,由REE使用,一个高安全内核,由TEE使用。该方案还将内存、硬盘分为普通安全区内存、硬盘和高安全区内存、硬盘,REE使用普通安全区内存、硬盘,TEE使用高安全区内存、硬盘。

另一种方案是根据每个TEE可信应用程序的需求,逻辑划分独立的CPU、内存、硬盘。这种方案下,优点是TEE可信应用程序更安全,任何离开CPU的数据都会被自动、强制加密,同时提供物理保护和逻辑保护,抗攻击能力较强。缺点是TEE会独占CPU、内存和硬盘资源。比如:Intel公司的TEE解决方案SGX(Software Guard Extensions)。SGX的物理CPU、内存、硬盘是通过Enclaves技术为每个TEE可信应用程序隔离一个安全的存储与计算环境,确保每个TEE可信应用均拥有独立的CPU、内存和硬盘。

区块链安全芯片使用TEE技术,可以将一部分的事务执行以加密代码形式注入到手机的TEE空间中,让手机具备隐私计算的能力,不仅代币交易可以获得隐私,事务的执行逻辑和过程也能确保隐私,并且这个隐私对于利益相关方是可验证的。

现在TEE已经成为全世界5G手机的标配,TEE为手机提供了最经济有效的安全保护手段,提供一个安全区域,确保敏感数据在隔离、可信的环境中存储、处理和保护 - 通过提供隔离的、安全执行的授权软件,实现端到端的安全。换句话说,TEE帮助在手机中打造了一个与SoC中其他模块隔离并能够执行可信应用程序(TAs)的区域。

安卓系统和TEE系统是并存于手机中的。如下图 TEE和安卓系统并存架构所示:

图 TEE和安卓系统并存架构

上图中的左半部分非安全侧(Non-secure)就是大家熟悉的安卓系统,通常我们称之为REE,右半部分安全侧(Secure)就是TEE系统,目前市场上存在多种TEE系统,如高通的QSEE,Trustonic,开源的OPTEE等。

图中的EL0,EL1,EL3是ARM架构中的异常等级,其中EL0和EL1是必须实现的,可以粗略的认为EL0是应用层,EL1是系统内核层,其中最重要的是REE侧EL1中需要部署TEE相关驱动,REE侧最后是通过该驱动,同后面提到的EL3进行通信,进而完成一些功能的。EL2主要提供对虚拟化的支持,在本文中先忽略EL2。EL3是比较重要的部分,提供了REE侧(Non-secure)和安全侧(Secure)的功能切换。从图中也可以看出,只有EL3横跨REE侧和安全侧,从而为这两个系统提供了通信的接口,比如我们常用的指纹功能和支付功能就需要REE侧和安全侧交互的,后面内容中我会给大家具体阐述两个系统的通信。

在ARM提供的Trustzone白皮书中有提到,为了使系统更加健壮,EL3中的Monitor模式在执行时,关闭中断。

需要强调一点,TEE系统和安卓系统是两个完全独立的系统,这两个系统独立运行。但在实际实用中,这两个系统需要进行通信,比如我们手机锁屏或者使用指纹进行解锁时,均需要安卓系统和TEE系统共同配合完成,其通信是通过SMC指令来完成的,其本质上就是触发一个SMC的中断(如下图中红色框中所示),从而让安卓或者TEE跳转到Monitor模式(下图中的Monitor/Firmware),而SMC的中断处理类似于系统中的上下文切换。

图 环境切换

区块链安全芯片的另一个重要组成部分是SE模块,就是Secure Element的简称,其本质是一台安全级别符合金融级、运营商级(EAL4+及以上)的嵌入式微型计算机,采用了防入侵传感器和无序布局混杂布线,且存储区加密,能抵御各种物理攻击和逻辑攻击,符合GP2.2规范和Java Card 3.0规范。SE+TEE架构,真正使区块链安全芯片有完整的芯片硬件平台、芯片COS操作系统、苹果T应用程序,存储用户的证书、密码、私钥、人脸、指纹等隐私信息,在数据采集、存储、查询、验证、比较、排序、运算、统计、分析、共享、交换等过程中提供可证明安全性的数据加解密保护和数字签名计算服务。

SE+TEE架构,类似于智能合约执行的黑匣子。加密的数据与智能合约一起进入黑盒子。然后对数据进行解密,由智能合约处理,并在将其送出黑匣子之前进行加密保护。这个过程确保了数据的隐私性,整个过程中数据不会透露给节点运营商或应用程序开发人员。

节点可以有Secure Hardware,那么在这种情况下,这些 Secure Hardware是可以用来做隐私计算保护的,也就相当于是一种Computing over Encrypt Data,所以数据在计算过程当中不能够被盗取,不像在Ethereum上面所有都是明文,那么在这种情况下,这个计算是发生在一个黑盒子里面的,这个黑盒子之外,程序、操统系统,都看不到这个黑盒子里面做的是什么计算、这个数据是什么。

采用区块链安全芯片存储密钥等隐私数据,即使移动终端丢了,即使遭受网络攻击,存储在SE里的密钥等隐私数据也绝对安全,甚至可以找回密钥,从而确保隐私数据的可用不可见,且全生命周期可控、可量、可溯源,其中重要原因在于手机里的区块链芯是具有独立硬件逻辑电路的安全模块,有明确的物理安全边界,具有加密存储密码敏感安全参数、执行核准的密码算法等功能。在实际应用中,除了SE作为密码模块本身的安全性,SE的外部运行环境安全也是密码系统整体安全中的重要一环。我们认为,基于TEE+SE的手机硬件解决方案,TEE给SE提供一个受限的外部运行环境以及敏感安全参数的输入输出可信信道,可以有效的增强SE密码应用系统的整体安全性,进而确实保证手机作为Web3.0底层硬件基础设施的安全性。

在手机中加入区块链安全芯片,将所有Web3.0应用计算环境都放入这个独立隐私计算环境,进而将TEE与SE相连……各种富OS例如各种DApp应用在调用时,先向运行在TEE中的TA发送密码服务请求命令,,TA再向运行在SE中的Web3.0应用苹果t发送密码服务请求,命令再将请求结果返回给TA,然后TA再将请求结果返回给应用程序。

一次典型的数据加解密过程如下图所示

在区块链安全芯片中的密码学技术体系主要分为不可逆加密算法和可逆加密算法。其中不可逆加密算法没有密钥,加密后的数据是密文,该密文无法通过将密文解密变回明文,即不可逆。因此,不可逆加密算法主要用于用户密码加密,其验证过程就是通过比较两个加密后的字符串是否一样来确认用户身份。

不可逆加密算法主要包括:MD5、HMAC和哈希算法(包括SHA1、SHA-224、SHA-256、SHA-384、 SHA-512)。其中,哈希算法又叫安全散列算法(英语:Secure Hash Algorithm,缩写为SHA),是一个密码散列函数家族,支持将输入的任意长度的消息压缩到该算法指定长度的字符串(又称消息摘要)输出。

可逆加密算法又可以分为对称加密算法和非对称加密算法。

对称加密算法:有一个密钥,通过该密钥加密后的数据是密文,该密文可以通过相同的密钥将密文解密变回明文,可见,对称加密算法数据加密和解密时用的都是同一个密钥。因此,对称加密算法主要用于文件加密和解密。对称加密算法主要包括:DES、3DES、AES128、AES192、AES256、Base58Check。

非对称加密算法:有2个完全不同却又完全匹配的密钥,一个叫公钥(可公开),一个叫私钥(不可公开),公钥和私钥必须成对匹配使用。他人可以利用我们公开的公钥将数据加密为密文,然后我们可以用自己的私钥将密文解密变回明文。相反,我们可以利用自己的私钥将数据加密为密文,然后别人可用我们的公钥将密文解密变回明文。因此,非对称加密算法主要用于数据的加密和解密。非对称加密算法主要包括:ECC、D-H、DSA、ECDSA、RSA Curve25519、Ed25519、X25519、SM2、SM9。其中,ECDSA叫椭圆曲线数字签名算法,是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的,相比于RSA算法,ECC 可以使用更小的秘钥,更高的效率,提供更高的安全保障,据称256位的ECC秘钥的安全性等同于3072位的RSA秘钥。

通过这样的加密算法体系,手机里的区块链安全芯片可信存储用户的证书、密码、私钥、人脸、指纹等隐私信息,即使终端丢了,即使遭受网络攻击,存储在区块链安全芯片里的隐私数据也绝对安全,而且可以通过算法找回私钥。而且应用厂商可以通过手机里的区块链安全芯片的非接触接口实现与各APP应用集成,基于区块链安全芯片环境,在数据采集、存储、查询、验证、比较、排序、运算、统计、分析、共享、交换等过程中提供可证明安全性的数据加解密保护和数字签名计算服务

基于区块链安全芯片的隐私保护计算模型如下:

区块链安全芯片就是基于CISC技术或RISC技术的专用芯片,用于区块链相关算法加速和私钥保护、数字签名,一方面可确保链上数据及资产的安全,另一方面可确保上链数据的可信。

从技术路线看,目前全球主流的芯片技术有2种,一种叫CISC,是Complex Instruction Set Computer的简称,中文名叫复杂指令集计算机。另一种叫RISC,是Reduced Instruction Set Computer的简称,中文名叫精简指令集计算机。其中:CISC技术主要面向笔记本、PC电脑、服务器等高性能领域。RISC技术主要面向手机、物联网、平板、网络设备等低功耗领域。

根据物联网、手机终端、智能汽车、桌面端的应用场景不同,区块链安全芯片通常会被集成到IOT终端、SIM卡、ESIM卡、USB盾、硬件钱包、服务器板卡、网元等不同载体,形成了各种区块链IOT终端、区块链SIM卡、区块链ESIM卡、区块链USB盾、区块链冷钱包、区块链一体机、区块链手机、区块链网元等产品。

区块链安全芯片主要由芯片硬件、芯片软件和芯片接口组成。其中:

芯片硬件:指采用大规模集成电路、IP协处理器实现区块链相关算法,支持真随机数、并行计算等。能有效提升国际、国内主流区块链相关加密算法的性能。

区块链安全芯片实现主流加密算法性能表

芯片软件:是芯片内的COS操作系统和各种区块链应用,支持虚拟机、卡片内容管理、种子生成、私钥衍生、公钥衍生、地址衍生、数据加密、数据解密、种子备份、数据存储、应用管理、数字签名、找回私钥等等。

芯片接口:通过SDK/API的方式对外提供芯片的能力。

区块链安全芯片功能结构图如下:

区块链安全芯片同样最大限度对手机用户实现了数据隐私保护

数据的隐私保护具体指的是什么?用户画像数据可以分为两类,一类是用户的身份数据;还有一类是与用户身份数据关联的行为数据,包括时间、地点和事件等。当下市场的主流观点认为:只要可以切断用户身份数据与行为数据之间的关联,就能够有效地保护用户隐私。围绕该方向,市场上涌现出两类解决方案:一类是基于Web 2.0的发展问题而出现的用户隐私保护方案,主要参与者包括手机厂商和所有的互联网平台;另一类是应用各种分布式技术及隐私技术提出的Web3.0用户数据隐私保护方案。下面我们详细对比下两种思路。

(一)Web 2.0用户数据隐私保护

Web 2.0阶段,迫于各国政府部门对互联网数据的监管压力,用户数据隐私管理才逐渐被互联网平台重视,尤其在欧盟和中国颁布的个人数据保护法案之后,法案对平台处理个人信息的规则、个人权利、义务和责任等做出详细规定,其中明确要求平台在处理个人信息前,需取得个人同意并以此保护个人的数据隐私。

两类参与者—手机厂商和互联网平台,分别从不同出发点提出了两种完全不同的用户数据隐私解决方案。

1、手机厂商提出的用户隐私解决方案

IMEI码(国际移动设备标识码)如同每台手机的身份证,每个IMEI码都是独一无二的,如下图所示,即使用户在不输入账户名和密码的情况下,互联网平台也能够通过设备的IMEI码关联到具体的用户身份。为了防止互联网平台过度采集用户的行为数据,手机厂商开发了OAID(匿名设备标识符)技术,在互联网平台读取设备IMEI码时,设备会提供一个虚拟ID来替代IMEI码,且每次提供的ID都是随机的,让互联网平台无法关联到具体的用户身份。

图:应用数据采集过程

上述方法在用户不输入账户名和密码的情况下起到个人数据隐私保护作用,一旦用户登录个人账户,就等于将身份数据告知应用平台,OAID技术的功能也就此失效。由于早期手机厂商对数据管理不够重视,用户在下载互联网应用后会被默认开启对所有数据的访问权限,这导致互联网平台肆无忌惮的采集了大量与业务无关的用户数据。

在这种情况下,手机厂商为了保证设备的隐私安全性,增加了互联网平台数据使用的强提醒功能并让用户对数据的使用进行授权。以相册数据的使用为例,如下图所示,苹果手机的相册数据授权分为三种模式,分别为所有照片、选中的照片和无,该授权让用户对照片数据拥有了更加细颗粒度的管理能力,尤其是 “选中的照片”功能,让互联网平台只能采集到用户希望展示的照片,从本地段对数据采集的范围进行了限制。

图:苹果手机个人数据管理授权(资料来源:苹果手机截图)

2、平台提出的用户隐私解决方案

相较于手机厂商的主动式保护,互联网平台则是迫于各种数据保护法案的压力,被动的提出了用户隐私保护方案,被动的原因不难理解,从2021年财报中可以发现,广告收益是各互联网平台发展中非常重要的一部分,如下图所示,2021年拼多多、微博的广告收益占比总收入80%以上,快手、百度超过50%。广告价值的核心源于数据,如果互联网平台开始主动实施用户数据的隐私保护,就意味着愿意放弃现有的商业模式,这与互联网平台的经济模式背道而驰。

图:2021年各互联网公司广告收入占比

互联网平台所提出的用户隐私保护方案,仅仅是为了迎合相关法律法规的监管要求,在《中华人民共和国个人信息保护法》实施后,如下图所示,各大平台纷纷增加或调整了个人隐私设置界面,并对用户数据收集类型、使用范围、使用方式等做出详细说明,让用户对个人数据的使用有更多地选择权。

图:微信、抖音、知乎的应用设置界面

手机厂商对用户数据的隐私保护与其经济模式相关,即通过提升手机的销量来增加收益,而设备的隐私安全性能对销量会产生极大影响,因此不难理解为什么手机厂商会致力于开发OAID技术和各种数据授权功能来提升用户数据的隐私保护。

相较于手机厂商,互联网平台提出的用户隐私保护方案仅为了满足监管合规要求,与他们的经济模式无关,甚至背道而驰,这也不难解释为什么互联网平台对用户隐私的解决方案是被动的,当下所提出的隐私保护仅是对数据使用的一些说明,而缺少一些主动地保护措施,当用户的数据被采集后是否被用于画像,是否被交易等,用户仍然无从得知,究其原因是用户数据被存储在互联网平台的中心化服务器里,用户缺少对中心化服务器的控制权。

Web 2.0背景下,用户数据的隐私和安全假设是基于对平台的信任和对政府部门监管的信任,但用户仍然缺少对个人数据的控制权。为解决该问题,Web 3.0背景下提出的用户数据隐私保护方案,都是围绕着对个人数据的控制权进行构思。

图:用户登录方式对比

在Web 1.0阶段,用户使用用户名和密码登录账户;当进入Web 2.0阶段,用户无需再为记录账号及密码发愁,也无需因重复输入身份信息而烦恼,只需要点击“Sign in with”或“Continue with”授权Twitter、Google、Facebook等应用的账户信息,让身份数据通过API、SDK被其他应用抓取或读取,在没有输入账户名和密码的情况下完成用户身份的验证。这种方式虽然提升了用户体验,但换之而来的是Twitter、Google等互联网巨头采集到更多的用户行为数据。无论Web 1.0还是Web 2.0,用户数据都存储在中心化服务器里,用户缺少控制权。

为了解决控制权的问题,基于W3C提出的分布式身份标识符DID,通过一个字符串替代明文的个人身份信息,与字符串映射的行为数据均存储在用户可控的服务器中。围绕DID的核心理念,当前有两种身份隐私解决方案:第一种以uPort为代表的分布式应用DApp,用一串代理合约地址代替身份信息的标识符(如下图所示),其他平台可以通过识别代理合约地址来完成身份验证,以此取代Twitter、Google等中心化应用的授权并掌握数据的控制权;第二种是在不同时间、不同平台、不同目的生成不同的标识符,再将数据存储到支持该协议的身份钱包,以此掌握个人数据的控制权。

图:身份标识符与DApp一对一映射(资源来源:作者自绘)

图:身份标识符与DApp多对一映射(资源来源:作者自绘)

区块链安全芯片隐私保护系统架构图如下:

区块链安全芯片隐私保护系统架构图

从区块链安全芯片隐私保护系统架构图可见,区块链安全芯片包括芯片硬件平台、芯片COS操作系统、苹果T应用程序3部分。其中:

  • 芯片硬件平台:指SE的硬件组成,包括总线、内存、硬盘、CPU、算法处理器、接口(接触、非接触)等。
  • 芯片COS操作系统:指SE的嵌入式操作系统,该系统采用C语言调用底层硬件接口,实现真随机数生成、数据加解密、数字签名等特定算法,并实现JAVA CARD虚拟机及卡片内容管理功能,提供供苹果T应用调用的JAVA接口。
  • 苹果T应用程序:指应用开发平台和卡内的各种苹果T应用程序,这些程序用于在数据采集、存储、查询、验证、比较、排序、运算、统计、分析、共享、交换等过程中提供可证明安全性的数据加解密保护和数字签名计算服务,包括但不限于:种子生成、私钥衍生、公钥衍生、地址衍生、数据加密、数据解密、种子备份、数据存储、应用管理、数字签名、找回私钥等。

我们认为,这样一个内置于智能手机的区块链安全芯片设计方案,完美融合TEE+SE的硬件架构,为Web3.0真正走入普通用户提供了一种创建安全、低能耗底层基础设施的方法,通过这样的一个区块链安全芯片的硬件架构设计,搭建从芯片到手机终端到以太坊2.0区块链,通过消除边缘节点之间的流量停止和随时准备对信息采取行动的逻辑程序,每个手机都是一个验证节点,都通过区块链安全芯片设计架构而拥有一个功能强大单独保护的芯片组,各个验证节点永久连接到以太坊2.0,直接向链进行报告,这将大大提高各个节点的价值创造,推进以太坊2.0本身的建设进度。

通过这样的区块链安全芯片架构设计,我们可以以手机为超级终端,采取1+2+N的模式,一方面接入用户的个人可穿戴设备,另一方面可接入用户的智能家居设备,再以用户生活为出发点连接IOT物联网,比如可以接入基于区块链技术的多节点及刀片服务器为全新高密度数据中心及全新应用优化设计的预置模块化高密度服务器,在有限空间内集成多个服务器超级节点,具有面向计算、存储、IO 扩展等多种不同应用的节点形态,主要适用于以太坊2.0的出块节点。手机作为硬件生态的超级终端,与每一个硬件设备相连。同时每一个设备都搭载这样的区块链安全芯片,每一个设备都是网络节点,每个节点产生的价值都归用户所有。

results matching ""

    No results matching ""