根据苹果官方的密码描述,使用苹果CryptoKit可执行常见的无关加密操作,主要有如下方面:
允许开发者执行常见的华美货币加密操作
如生成密钥对,在消息身份验证和加密等操作中使用它们;使用公钥加密技术创建和评估数字签名。科技科普
在密钥存储和管理上
可以让密钥存储在Secure Enclave中,专业并由其管理密钥。苹果Secure Enclave是发布苹果上的安全隔离区,用以安全存储数据。密码这样可以让它达到硬件钱包的无关安全级别。
CryptoKit可以让开发者实现自动处理任务
而不用在较低级别的华美货币接口中处理任务,从而让app更安全,例如在内存释放期间覆盖敏感数据等。
这个消息让币圈的朋友兴奋了一下。
实上,CryptoKit 和密码学有关,意味着未来可能会支持越来越多的算法和提供更多的硬件加密方案,但这与密码货币关系不大。
众所周知,加密算法是区块链技术得以实现的重要根基,所以这件事在加密货币社区也引起了不小的反响,甚至有夸张的言论说苹果可能会开发加密货币钱包。
被币安收购的 Trust 钱包的创始人 Viktor Radchenko 在苹果发布 CryptoKit 后评论:
离把你的手机变成一个硬件钱包仅有几步之遥了。
CryptoKit 是一个「密码学」的框架,但并不是「加密货币」的框架。 CryptoKit 的发布并不能暗示苹果正在改变对加密货币的态度。
从目前的开发文档中可以看到 Secure Enclave 仅支持 secp256r1 (也叫 prime256) 这一种椭圆曲线,并不是比特币、以太坊和其他区块链常用的 secp256k1。除非以后硬件升级,否则你的 iPhone 是不可能变成一台硬件钱包的。
苹果之前已经有了一个密码学框架「CommonCrypto」,但 CryptoKit 更强大一些。CryptoKit 是一个对 Swift 编程语言更友好的框架,并且包含了更多的哈希算法,比如说众望所归的 SHA256。
CryptoKit 的功能并不一定需要「Secure Enclave」协处理器(目前在售的 iOS 设备和部分 Mac 支持)。
与 CommonCrypto 框架类似,如果设备未集成 Secure Enclave,CryptoKit 就会回退并使用苹果设备内置的「钥匙串 | Keychain」功能处理加密算法作为替代。
再者,就算 CryptoKit 支持区块链常用的 secp256k1,那通过 CryptoKit 生成的私钥也是没办法被 Secure Enclave 的外部所读取的。你可以(通过 CryptoKit)使用这个私钥生成公钥或者执行消息签名,但你永远无法获得私钥本身。所以也就没办法备份这个私钥,这个限制可能会非常不方便钱包的使用场景。
对 Swift 开发者而言 CryptoKit 是一个很好的新功能,但这并不是加密货币社区所想要的那种翻天覆地的变化。