在行动装置操作系统Android最新的Pie版中,加入了Keystore新功能,其一是键盘锁定密钥(Keyguard-bound keys)以限制密钥使用,并保护敏感讯息,第二个则是安全密钥导入(Secure Key Import),让安全密钥方便使用,但同时又能保护应用程序和操作系统中的密钥。Android Keystore为应用程序开发人员提供了保护用户数据的加密工具。Keystore将软件函式库中可以使用的加密原语(Cryptographic Primitives ),从Android OS移到安全硬件上,让密钥仅能在安全硬件中使用,以更严谨的方式保护密钥,以确保应用程序机密不受到各种形式的攻击。Keystore提供了应用程序制定密钥的使用时机与方式。
第一项Android Keystore的新功能为键盘锁定密钥。在装置屏幕锁定时,为了让应用程序收到的敏感讯息都维持其安全与隐密,直到用户想要存取讯息为止,Android Pie透过加入键盘锁绑定加密密钥来解决这个问题。当屏幕锁定时,虽然密钥可用于加密或是验证操作,但是却不可用于解密或是签章,也就是说当装置屏幕受到PIN、图形锁或密码锁定时,任何使用这些密钥的操作都会失效。提到,键盘锁绑定与验证绑定提供类似的功能,但不同的是,键盘锁绑定将屏幕锁定的状态与密钥的可用性连结在一起,而验证绑定则是使用了常量超时机制。另外,值得注意的是,因为安全应体无从得知屏幕被锁定的时间,所以键盘锁定是由操作系统强制执行而非安全硬件。把安全硬件支持的验证绑定与键盘锁绑定共同使用,将能提供更高等级的安全性。键盘锁绑定为操作系统功能,因此任何只要Android Pie装置都可以使用该功能。第二项Android Keystore新功能则是安全密钥导入,该功能允许应用程序以更安全的方式,将现有密钥配置到Keystore中。密钥的来源可能位于企业机房或是云端服务器,并使用用户装置的公共包装密钥加密安全密钥。 SecureKeyWrapper格式的加密密钥在传输时会进行加密,对应用程序和操作系统隐藏,只能在属于生成包装密钥的特定装置Keystore硬件中解密。当应用程序想要与Android分享机密密钥,但是又想避免密钥在离开装置后被拦截,安全密钥导入功能便能发挥良好的作用。Pay使用安全密钥导入功能在Pixel 3手机上配置密钥,以防止密钥被拦截或是在内存中被撷取出来。安全密钥导入属于安全硬件的功能,因此也只在特定执行Android Pie的装置上提供。原文參考來源至:胜博发一起祈福