google推出adiantum加密技术,强化强化低阶手机安全性问题

导读: 现在手机里的重要资料有很多,为了保护手机上的资料,Google 推出 Adiantum 加密技术,强化低阶手机安全性。 Google在Android 6.0导入全机加密功能,并会在预设情况下自动开启开功能,虽然这个设计可以强化资安保障,但是会对效能较差的低阶智慧型手机、平板

现在手机里的重要资料有很多,为了保护手机上的资料,Google 推出 Adiantum 加密技术,强化低阶手机安全性。

Google在Android 6.0导入全机加密功能,并会在预设情况下自动开启开功能,虽然这个设计可以强化资安保障,但是会对效能较差的低阶智慧型手机、平板电脑造成较大的负担。近期Google推出针对没有特化运算单元的装置设计的Adiantum加密技术,来改善旧有演算法效率偏低的问题。

保护手机中的资料

加密的意思是透过密码保护资料,将原始的「明文」资料与「金钥」(密码)输入演算法,就可以得到别人无法解读的「密文」,事后则可以透过金钥将密文还原成明文,如此一来就能避免其他人窥探资料,可以说是资安中相当重要的环节。

然而加密的副作用,就是在存取资料的过程中,都需经过加密、解密运算,将会消耗大量运算资源,因此会冲击装置的效能表现。

在Android推出6.0版之际,Google为了资安的考量,在预设情况会开启全机加密功能,但是为了避免让低阶装置的效能过于低落,所以只要装置的加密效能低于50MB/s,就不会启用这个功能。

▲ 上图为对称加密的例子,将明文透过金钥加密过后,就可以得到别人无法解读的密文。

▲ 解密则是使用金钥将密文还原成明文。

 

轻量化加密更适合手机

目前Android采用AES演算法为资料加密,大多数的新装置都能透过ARMv8 Cryptography Extensions运算单元最佳化加密效能,因此比较不会影响使用者体验。

然而Android装置具有庞大的多样性,不但横跨智慧型手机、平板电脑,智慧型手表、电视机上盒、IoT装置也都看得到Android的身影,对于效能较低或是旧型装置、Android Go装置而言,可能因采用ARM Cortex-A7等不具有AES特化运算单元的处理器,导致加密、解密的速度非常慢,而影响使用者体验。

Adiantum是种新的加密技术,它针对没有加密特化运算单元的行动装置所设计,能够以更有效率的方式加密储存于本机的资料,让效能较低的低阶装置也能享受加密所带来的资安保障。

Adiantum使用以Salsa2为基础的ChaCha串流加密(Stream Cipher)演算法,在加密、解密4096Byte大小的丛集时,每个Byte只需10.6个周期,效率大约比AES-256-XTS演算法高出5倍。

在ChaCha这类的加密演算法中,每增加1轮运算都会增加被破解的难度,但却需要付出更多运算量作为代价(也就是说速度会变慢),Google考量到安全性与效能的平衡,在Android装置上选用12轮运算而非更广泛使用的20轮。以目前的破解进度来说,7轮运算已被破解,而8轮则还没有已知的破解方式,因此Android采用的12轮运算可以说是相对安全的选择。

Adiantum的名字源自1种蕨类植物,其花语为真诚与慎重,可以看出Google的自我期许,但需要注意的是,Adiantum并非所有装置都适合这种技术,它仅适用于不具有AES特化运算单元的装置。如果装置搭载ARMv8 Cryptography Extensions这种AES特化运算单元的话,那么使用AES加密技术反而效率更好。