WEB开发网
开发学院手机开发Symbian 开发 简谈智能手机终端签名验证机制 阅读

简谈智能手机终端签名验证机制

 2011-02-28 11:12:16 来源:WEB开发网   
核心提示:大部分的智能手机系统安装和运行一个应用软件,都需要证书的签名认证,简谈智能手机终端签名验证机制,未经任何签名的程序是不能在智能手机上安装和运行的,有的终端虽然能够安装和运行没有签名的应用程序,以校验原始数据是否被篡改,所以,但是特殊api或敏感api却被限制使用,或者老是弹出气人的警告对话框

大部分的智能手机系统安装和运行一个应用软件,都需要证书的签名认证。未经任何签名的程序是不能在智能手机上安装和运行的。有的终端虽然能够安装和运行没有签名的应用程序,但是特殊api或敏感api却被限制使用,或者老是弹出气人的警告对话框。第三方应用程序的签名认证是智能手机操作系统或软件平台的安全策略。即要求各种运行的第三方应用程序和软件都需要数字签名。其核心部分包括开发者以及开发者完成的终端应用,通过对终端应用产生、发布、使用的完整生命周期建立认证和控制体系,形成点对点的安全控制,在为终端应用用户提供安全的终端应用之外,也为安全问题的责任追溯和版权的保护提供有效的证据支持。

软件开发者将生成私钥 (.pvk) 和证书请求文件 (CSR) 提交给证书颁发机构(CA) ,同时提交有关身份证明文件 ( 如:营业执照和第三方证明文件等 ) 给 CA 鉴证, CA 在验证身份后用自己的私钥给 CSR 文件签名后就生成代码签名证书,也就是公钥 (.spc 或 .cer) 文件给软件开发商,这样就完成了证书的申请和颁发过程。

软件开发者用代码签名工具 ( 如: signSIS) 给要签名的代码生成一个 Hash 表,再用其私钥加密 Hash 表产生认证摘要,接着就把认证摘要连同其公钥与软件代码一起打包生成签名后的新的软件代码。

最终用户安装或运行签名的应用软件时,手机智能操作系统会从签名代码中解读出其签名证书 ( 公钥 ) 和 Hash 表摘要,并与Windows 操作系统或 Symbian 移动操作系统中的受信任的根证书相比较查验公钥证书的有效性和合法性,验证签名证书正确后,就可以确认此代码确实是来自真实的软件开发商。

接着,再使用签名时使用的同样算法对软件代码生成一个 Hash 表,并使用公钥也同样生成一个 Hash 表认证摘要,比较从代码中解包出来的 Hash 表认证摘要与生成的 Hash 表认证摘要是否一致,如果一致,则表明此代码在传输过程中没有被篡改,从而可以确认代码的完整性。

由此,我们可以看出签名认证实际上分为两块:数字签名和验证签名

数字签名的基本过程是:签名工具对原始数据进行杂凑运算得到消息摘要,再使用签名私钥对消息摘要进行加密运算。

验证签名的基本过程则:智能手机操作系统或软件平台对收到的原始数据采用相同的杂凑运算得到消息摘要,将与被签署时候的消息摘要进行对比,以校验原始数据是否被篡改。

所以,通过数字签名技术可以实现对数据完整性、以及传送数据行为不可否认性的保护。

1 2 3 4  下一页

Tags:简谈 智能 手机

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接