其实是

ios签名机制很复杂,证书有多种,概念有很多也很容易出错。这篇文章从原理的角度出发,一步一步推进为什么会有这么多概念,希望能帮助理解iosAPP签名的原理和过程!是

目的

首先,我们来看看苹果签名的目的。在iOS出现之前,主要操作系统在(Mac/Windows/Linux)上开发和运行软件不需要签名,从哪里下载都可以运行,因此很难控制第三方软件,海盗版流行了。苹果希望解决这样的问题,iOS平台对第三方APP有绝对的控制权,任何一个安装到iOS上的APP都要经过苹果授权,哪你能保证吗?签名机制

非对称密码

一般来说,签名是数字签名,基于非对称加密算法。对称密码用相同的密钥对数据进行加密和解密,而非对称密码有两个密钥,一个是公钥,一个是私钥,用公钥加密的数据用秘密密匙解密,用秘密密匙加密的数据用公开密匙解密。是

简述常用非对称加密算法RSA的数学原理。只要理解简单的数学原理,就能理解非对称密码是如何形成的,以及为什么是安全的。

两个素数p和q相乘得到一个大整数n,例如p=61, q=53, n=pq=3

在1和n之间选择e,例如e=17

通过一系列数学公式求出数字d。

将a. n和e这两个数据组成一组,进行数学计算后,n和d可以反过来解,也可以反过来解。是

如果你只知道b. n和e,那么你必须知道p和q才能推导出d。也就是说,需要对n进行因数分解。是

将上述(n,e)两个数据合在一起是公开密匙,(n,d)两个数据是秘密密匙,用公开密匙加密来解密秘密密匙,或者反过来用公开密匙加密来解密秘密密匙。公开(只知道n和e)的情况下也导出秘密密匙(n,d)。需要对大整数n进行因数分解。现在的因数分解只能通过暴力的穷举来实现,n的数字越大,使用穷举来计算因数p和q就越困难,也就越安全。n大到1024位或2048位的话,以现在的技术是几乎不可能破解的,所以非常安全。是


如果你对

d是如何计算感兴趣,请阅读这两篇文章。RSA算法原理(一)(二)

电子签名。

我们已经知道有非对称加密,那么数字签名是什么呢?是

电子签名的作用是我在某个数据上做记号,表示我认可了这个数据(签名了),然后我发送给别人,别人可以知道这个数据是由我认证的,路由器没有被篡改。是

iosAPP的签名自动签名机制是什么?过程是怎样的呢?

非对称加密算法可以满足这个需求。

首先,使用算法计算出原始数据的摘要。a.如果原始数据发生了某种变化,计算出的概括值就会发生变化。b .概括要简短。最常用的算法是MD5

创建非对称加密公钥和私钥。私人密匙由我持有,公开密匙则公开。是

计算一个数据的摘要,然后用私钥对摘要进行加密,得到加密后的数据。这被称为原始数据的签名。和原始数据一起发给用户

用户收到数据和签名,用公钥解密并得到摘要。同时用户用同样的算法计算原始数据的摘要,比较这里计算的摘要和用公钥解密签名的摘要是否相等。如果相等,则表示该数据没有被篡改。如果被篡改,摘要就会发生变化。是

计算摘要的第一步是必要的,因为非对称加密的原理限制可以加密的内容不能太大(前面提到的n的比特数,一般是1024比特/不能超过2048位)。是

有了非对称加密的基础,我们知道了什么是数字签名,以及如何确保数据在某个地方被认证。让我们来看看如何使用数字签名机制来确保iOS上安装的所有应用程序都经过苹果公司的认证。是

, 最简单的签名。
最直接的方法是,苹果创建一对私人密匙,并在iOS中内置公共密匙。秘密密匙被保存在苹果的后台。使用公钥验证签名。如果签名正确,那么这个应用程序一定是经过苹果认证的,没有被修改。达到苹果的要求。所有安装的应用程序都是最后获得苹果授权的ios公司签名。是

相关新闻

联系我们

联系我们

QQ:2869296718

在线咨询:点击这里给我发消息

联系微信
联系微信
分享本页
返回顶部