为什么钥匙串比保存在文件中的encryption数据更安全?
为什么钥匙串比在iOS应用程序的文档目录中保存为文件的encryption数据更安全。
通常,数据使用对称encryptionalgorithm(如AES)进行encryption,encryption密钥保存在钥匙串中。 数据可以放在任何文件位置,保护是通过encryptionalgorithm和密钥。
钥匙串存储encryption的密钥(和其他小数据)并限制对该数据的访问。 另外在最近的iPhone(5S和更高版本)中,钥匙链位于独立的处理器中,即安全的Enclave,它另外限制了访问。 没有更安全的方式来在iOS中存储密钥。
文档文件夹可以通过使用iExplorer和其他第三方应用程序访问。
实际上,按照苹果推荐,钥匙链仅用于小块数据。
大多数移动应用程序必须与需要validation的Web服务交互。 服务通常需要身份validation来提供个性化内容(如社交networking)或限制访问敏感信息(如公司数据)。 通常情况下,身份validation需要用户名和密码。 大多数iOS应用程序将这些凭据存储在Keychain中 – 这是由Apple为iPhone和iPad应用程序提供的密码pipe理系统,用于安全地存储用户名,密码,令牌,证书,非对称encryption私钥等敏感信息以及秘密密钥对称encryption。
本文将介绍当公司资源存储在iOS Keychain中时保护对公司资源的访问所需的信息,以及让安全意识强的个人保护存储在Keychain中的个人密码。
有一些情况会影响应用程序在钥匙串中存储的数据的安全性:
设备上的密码的存在和强度,分配给应用的钥匙串项目的访问限制,无论设备是否越狱在设备中使用的芯片组
嗨maya这个链接可以帮助你如何保护钥匙串https://developer.apple.com/library/mac/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html#//apple_ref/doc/uid/TP30000897-CH204- TPXREF10
钥匙串数据也可以用与文档目录中的数据类似的方式encryption。 钥匙串不能容纳大量的数据。
文档目录使得数据不安全,因为可以通过方法调整轻松访问数据,并且可以打破encryption。 钥匙串中的数据消除了这个缺点,并encryption,为数据提供了更好的安全性。
- 已安装Google云端硬盘API,但出现错误“没有此类模块”GoogleAPIClient“”
- 不同的StoryBoard为每个屏幕大小迅速
- Graphql和往返。 这只是一个iOS应用程序的问题?
- AudioKit:噪音门
- 如何将管理对象上下文分配给iOS中的应用程序委托?
- 无法将Firebase导入Swift类
- Xamarin:错误MT2002:无法parsing“System.Void System.Security.Cryptography.SHA1Cng ::。ctor()”
- MPMoviePlayerController不能从Documents文件夹中播放
- 在运行时从静态UITableView中删除行