手机上的安全设备

【声明】本文为AdamsLee原创,转载请注明出自围炉网并保留本文有效链接:手机上的安全设备, 转载请保留本声明!
  • SE(Secure Element)

    • 安全单元提供私密信息的安全存储、重要程序的安全执行等功能。其内部组件包含有:CPU、RAM、ROM、加密引擎、传感器等

    • 外在表现上SE是一块物理上独立的芯片卡。从外在表现上可以分为三种:

    • UICC 通用集成电路卡,由电信运营商发布和使用。就是大家购买手机号时的手机SIM卡;

    • Embedded SE 虽然也是独立的芯片,但普通用户看不到,由手机制造厂商在手机出厂前集成在手机内部;

    • Micro SD 以SD存储卡的形式存在,通过插入SD卡槽集成到手机上。由独立的SE制造商制造和销售;

    • SE物理上独立,采用安全协议与外部通讯。具有自己独立的执行环境和安全存储,软件和硬件上防篡改。

    • SE固若金汤,但保存在其中的数据和程序需要有更新机制,这通过TSM(Trusted Service Manager)来实现,以保证安全。

  • NFC(Near-field Communication)

    • NFC设备有三种工作模式:

      • 卡模拟模式(Card emulation mode):这个模式其实就是相当于一张采用RFID技术的IC卡。可以替代现在大量的IC卡(包括信用卡)场合商场刷卡、IPASS、门禁管制、车票、门票等等。

      • 读卡器模式(Reader/Writer mode):作为非接触读卡器使用,可用来实现给公交卡充值等功能。

      • 点对点模式(P2P mode):这个模式和红外线差不多,可用于数据交换,只是传输距离较短,传输创建速度较快,传输速度也快些,功耗低(蓝牙也类似)。将两个具备NFC功能的设备链接,能实现数据点对点传输,如下载音乐、交换图片或者同步设备地址薄。

    • 三种工作模式中,卡模拟模式用途最为广泛,可将用平时使用的各种卡通过手机模拟实现,从此出门不再带卡。此种方式下,NFC芯片通过非接触读卡器的RF域来供电,即便是手机没电也可以工作。

    • NFC设备若要进行卡片模拟(Card Emulation)相关应用,则必须内置安全单元(Security Element, SE)以保存重要隐私数据。可以说NFC给SE插上了翅膀,在NFC广泛应用的今天,SE如此的重要,成为电信运营商(移动、联通、电信等)、手机厂商(华为、小米等)、操作系统厂商(谷歌、苹果等)的兵家必争之地。

  • HCE(Host Card Emulation)

    • 因为不涉及硬件制造,在SE的竞争过程中,操作系统厂商相对弱势,确切的说是谷歌弱势,因为苹果既是操作系统厂商,也是手机厂商。

    • 早期Goole Pay是基于SE实现的,但由于在SE生态环境中弱势的竞争地位,导致Google Pay适配的机型少,难以发展。从Android 4.4开始,谷歌独辟蹊径在Android系统中提供了HCE服务,用来绕过SE直接控制NFC Controller。

    • HCE不在依赖设备上的SE模块,只要有NFC芯片就可以实现支付等功能,但其实是无奈之举。方便是方便了,有两个主要缺点:一个是安全性有所降低,虽然可以使用白盒密码、服务端token校验等一系列手段来提升安全性,但相比SE,安全性降低到依赖Android OS,只要OS被攻破,HCE就无法保证安全;一个是费电,NFC Controller + SE的方案,可以在手机无电的情况下,使用NFC读卡器的电磁信号供电。而HCE则必须在手机供电,OS正常工作甚至还要联网的情况下才能使用。

    • 相对的,因为对设备有这强的控制力,苹果的Apple Pay是基于SE实现的,更安全一些。

  • TEE(Trusted Execution Environment)

    • SE千般好,除了慢。硬件隔离,独立的计算和存储资源,意味着SE的计算性能差、跟主机的数据传输速度也慢,这限制了SE的应用场景。与此同时,移动互联网发展迅速,迫切需要一个更好的安全生态。因此TEE应运而生。

    • TEE是一个硬件安全执行环境,通常跟平时使用的Rich OS(Android等)共用同一个主处理器(CPU),提供了代码和数据的安全防护、外置设备的安全访问等功能。TEE具有自己的TEE OS,可以安装和卸载执行其中的安全应用TA(TEE Application)。跟SE相比,是一个相对不那么安全,但运行速度更快、功能更丰富的安全环境。为所有支持TEE的手机,提供了操作系统之外的安全方案。

    • TEE广泛应用在支付、身份认证、内容保护等领域。举例来讲,视频厂商往往需要DRM(Digital rights management)系统来保护版权内容能够顺利得在用户设备上播放,而不被泄露。TEE天然适合用来完成这种需求,其安全存储的能力可以用来保存解密版权内容所需密钥,这样,TEE Application访问可信的服务端获取已加密的版权视频后,使用安全密钥解密,然后利用安全访问外置设备的能力,锁住显卡和声卡,将解密后的视频送往显卡和声卡播放。整个过程中,不管是加密密钥还是视频内容都没有离开过TEE,保护了版权视频的安全。尤其值得一提的,因其锁定外置设备的能力,想通过录屏来窃取内容,也是不可能的。

  • Android Fingerprint

    • Android设备的指纹识别,依赖TEE来实现用户指纹认证,要求指纹采集、注册和识别都必须在TEE内部进行,已保证安全。

  • Android KeyStore

    • Android从4.0开始引入了KeyStore,开发者可以使用KeyStore API生成密钥、使用密钥签名、使用密钥加解密、获取密钥的属性信息,但无法将密钥本身从KeyStore中取出。因为密钥不进入应用进程,这大大提高了密钥的安全性。随着Android版本更迭,KeyStore的实现不断进化得更加安全,在有些设备上,不仅密钥不进入应用进程,甚至不进入Android OS只存储在TEE或SE中

此条目发表在未分类分类目录,贴了标签。将固定链接加入收藏夹。