美文网首页
iOS13推CryptoKit加密开发工具包

iOS13推CryptoKit加密开发工具包

作者: 红色海_ | 来源:发表于2020-03-29 19:28 被阅读0次

    在 CryptoKit 中,苹果加入了一些常用的加密算法。在开发文档中,苹果是这样介绍的:

    使用 CryptoKit 执行常用的加密算法:

    • 计算和对比安全摘要
    • 使用「非对称」加密算法创建和对比数字签名,或执行交换公钥的操作
    • 除了可以在内存中储存密钥,也可以在「Secure Enclave」中储存并管理私钥
    • 创建「对称」密钥,并执行消息的验证或加密等功能
    • 相比底层接口,更推荐使用 CryptoKit 框架。CryptoKit 可以替开发者管理指针,自动处理那些可以让 App 更安全的任务,比如在内存释放期间覆盖敏感数据

    再仔细看文档中所支持的加密算法,大多是由美国国家标准技术研究所 (NIST) 发布的通用和标准的加密算法。

    包含:

    • AES-GCM 对称加密算法
    • ChaCha20-Poly1305 对称加密算法
    • HMAC 消息认证算法
    • 第二代安全哈希算法 SHA-2 系列,包含 SHA-512,SHA-384,SHA-256
    • 非对称加密算法(又称公钥加密算法),包含 Curve25519,P-521,P-384,P-256 这四种椭圆曲线

    而且开发者可以调用 Secure Enclave 自带的 P-256 算法进行硬件加解密。

    Secure Enclave* (安全区域)*是 Apple A7 (初次集成在 iPhone 5S 中,用以保证「触控 ID」的安全性或更高版本 A 系列处理器中集成的协处理器,它为数据保护密钥管理提供所有加密操作,即使在内核遭到入侵的情况下,也可维护数据保护的完整性。而且在 Secure Enclave 内部生成的密钥使用真正的硬件随机数生成器。

    虽然比特币使用了许多和密码学相关的算法,但最重要的至少会包含这两个:SHA-256,secp256k1。

    • SHA-256 是第二代安全哈希算法,比特币也在不止一处使用了该算法,比如在计算工作量证明的时候 (PoW)
    • secp256k1 是非对称加密算法中的一种椭圆曲线,比特币的私钥可以通过该算法生成对应的公钥

    非常可惜的是,Secure Enclave 支持的 P-256 的椭圆曲线是 secp256r1,而不是比特币采用的 secp256k1。这也就意味着无法将现有的苹果设备变成一台硬件钱包。就算还是可以在苹果设备上开发软件钱包,但也是用不到这个 CryptoKit 框架的,需要开发者自己实现或者使用第三方代码库。

    CryptoKit 还处于 Beta 阶段,而且这也是苹果发布的第一个版本而已,所以这仅仅只是一个开始。

    苹果专门独立出一个框架用以处理密码学相关的算法,是一个值得肯定并会影响深远的决策,未来可能会支持越来越多的算法和提供更多的硬件加密方案。但以现阶段的细节来看,对区块链技术的普及还是比较有限的。

    相关文章

      网友评论

          本文标题:iOS13推CryptoKit加密开发工具包

          本文链接:https://www.haomeiwen.com/subject/frwuuhtx.html