iOS 14 SHSH证书科普

背景介绍

SHSH证书是一种苹果公司用于验证设备固件合法性的安全机制。从iOS 5开始,苹果公司引入了SHSH证书来限制设备的固件版本。SHSH证书能够阻止设备升级到非官方或未经苹果公司认证的固件版本,以确保设备的安全性和稳定性。

SHSH证书的作用

SHSH证书的主要作用是验证设备固件的合法性。当用户尝试升级设备的固件版本时,设备会向苹果服务器发送一个请求,以获取该固件版本的SHSH证书。若苹果服务器返回的SHSH证书与设备发送的请求匹配,则可以继续升级固件版本;若不匹配,则无法升级到非官方或未经认证的固件版本。

获取SHSH证书的方法

苹果公司限制了获取SHSH证书的渠道,目前常用的方法是使用第三方工具,如[TinyUmbrella](

以下是使用tsschecker工具获取iOS 14固件版本的SHSH证书的示例代码:

$ tsschecker -d <device_identifier> -e <ecid> -i <ios_version> --buildid <build_id> --save-path <save_path>

其中,<device_identifier>为设备的唯一标识符,如iPhone12,1<ecid>为设备的ECID(Exclusive Chip ID);<ios_version>为待获取SHSH证书的固件版本,如14.0<build_id>为固件的build id,可以从[IPSW.me](

SHSH证书的状态图

下图是SHSH证书的状态图示例,展示了SHSH证书的生命周期及其状态变化:

stateDiagram
    [*] --> Not Requested
    Not Requested --> Requested: Request SHSH
    Requested --> Validated: Validate SHSH
    Requested --> Invalid: Invalid SHSH
    Validated --> [*]
    Invalid --> [*]

SHSH证书的关系图

下图是SHSH证书的关系图示例,展示了SHSH证书与设备、固件版本之间的关系:

erDiagram
    DEVICE ||--o{ SHSH : "1" : "1"
    SHSH }|--o|| FIRMWARE : "1" : "1"

结论

通过SHSH证书的验证机制,苹果公司可以限制设备升级到非官方或未经认证的固件版本,以确保设备的安全性和稳定性。用户可以使用第三方工具获取固件版本的SHSH证书,并保存在本地。在需要升级固件版本时,设备会向苹果服务器发送请求,以验证固件版本的SHSH证书的合法性。只有通过合法验证的SHSH证书,设备才能顺利升级固件版本。

希望本文对你了解iOS 14的SHSH证书有所帮助!

参考资料:

  • [The Firmware Umbrella](
  • [tsschecker](
  • [IPSW.me](