【iOS安全】iOS Keychain简介

Keychain介绍

Keychain Services 是 macOS 和 iOS 都提供一种安全的存储敏感信息的工具,比如用户访问应用程序/网站 服务器的口令。此外,用于认证的证书,密钥,和身份信息,也可以存储在Keychain中,Keychain Services 的安全机制保证了存储这些敏感信息不会被窃取。

Keychain的特点

  • 数据并不存放在App的Sandbox中,即使删除了App,资料依然保存在keychain中。如果重新安装了app,还可以从keychain获取数据
  • keychain的数据可以通过group方式,让程序可以在App间共享。不过得要相同TeamID
  • keychain的数据是经过加密的

Keychain的结构

在这里插入图片描述

如上图,每一个keyChain的组成如图,整体是一个字典结构.

  1. kSecClass key 定义属于哪一种类型的keyChain(通用密码、互联网密码、证书、密钥和身份)
  2. 不同的类型包含不同的Attributes,这些attributes定义了这个item的具体信息
  3. 每个item可以包含一个密码项来存储对应的密码

Keychain可以包含任意数量的keychain item(keychain item称为SecItem,但它是存储在CFDictionary中的).每一个keychain item包含数据和一组属性。SecItem有五类:通用密码、互联网密码、证书、密钥和身份。在大多数情况下,我们用到的都是通用密码

在macOS中,当keychain被锁的时候加密的item没办法访问,如果你想要该问被锁的item,就会弹出一个对话框,需要你输入对应keychain的密码。当然,未有密码的keychain你可以随时访问。但在iOS中,你只可以访问你自已的keychain items

参考:https://blog.csdn.net/u013712343/article/details/120439495

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值