Keychain简介
介绍Keychain的定义和作用。
定义
Keychain是加密规则(key)的集合。它可以为应用程序提供认证功能,在认证过程中,Keychain可以动态地更改认证算法和密钥。Keychain在不中断业务的前提下,通过定期更改认证加密的密钥和算法,提升网络数据传输的安全性。
目的
在网络中,两个应用程序进行通信时,会有一些非法用户试图篡改数据报文或者伪装成认证用户,这样会导致安全问题。为了能识别这些被篡改的报文和伪装的用户,应用程序通过定义认证规则进行信息的认证。一个应用程序可以使用自己独有的认证规则。
然而,长期使用同一个认证规则,容易被非法用户破解。如果由管理员人工修改通信双方的认证规则,将是非常繁琐和复杂的任务,同时,人工修改也容易引入各种问题。此外,如果每个应用程序独立拥有自己的认证规则,当许多应用实例需要配置相同的认证算法时,将会导致数据和配置过程重复。
为了解决上述问题,需要一种能够管理所有认证信息的程序,因而引入了Keychain。Keychain可以集中控制所有的认证过程,并且能够在认证过程中动态更改认证算法和密钥,而不需要人工过多参与。这极大的提高了通信的安全性。