`
jackle_liu
  • 浏览: 145491 次
文章分类
社区版块
存档分类
最新评论

S60 手机操作系统数字签名安全机制与软件签名原理

阅读更多

《计算机世界》第 20 期文章 《 S60 V3 手机操作系统用证书折磨你》是从一个普通手机用户的角度来写的,反映了一些用户的心声,但从手机软件专业和手机产业来讲,此文章有失公正客观,必须公正客 观地看待此问题。笔者将从专业角度向大家介绍一下 S60 V3 手机操作系统的安全机制以及手机软件签名原理。 


    大家都知道,互联网上最头痛的是恶意软件(流氓软件)横行,一不小心就中招,只好重装电脑。而现在由于智能手机已经开始普及,所以各种恶意软件 ( 流氓软件 ) 也开始瞄准智能手机,而一旦智能手机中招,就不可能象电脑一样可以重装系统了,只能眼巴巴地看着几千元买的手机报废了。正是考虑到此问题的严重性,全球领 先的手机操作系统提供商(如: Symbian 、Windows Mobile 等)都采用了成熟的数字签名技术,使用数字签名机制来确保手机的安全。

    就 Symbian( 网上俗称“塞班” ) 操作系统来讲,也正是考虑到以上安全威胁,才从第 3 版开始强制要求软件数字签名。通俗地讲,手机软件签名就是手机软件实名制,也就是说,如果有签名,则一旦用户发现软件有问题就可以找手机软件开发商 ( 软件签名者 ) ;否则一旦手机软件有问题,将由于无法证明软件的来源而使得用户没有任何证据来向软件开发商索赔。其实,数字签名机制是保证了手机用户的合法权益的。而目 前由于抱怨的用户,许多都是想盗用软件的,从另一个角度来讲,数字签名机制又保护了手机软件开发商的利益。所以,手机软件签名机制,不仅保护了最终用户的 权益,也保护了手机软件开发商的利益,当然,也保护了手机制造商的利益 ( 大大减少了售后服务的成本和增加销售 ) 。这是一项多方都受益机制,不能因为一些手机玩家的反对而认为是在“折磨”用户,实际上是在 保护 用户,一些没有此类安全机制的国产手机已经体会到了没有签名机制的坏处 ( 用户由于安装了恶意软件而导致手机不能使用而返修,大大加重了售后服务成本 ) ,而开始实施类似安全机制。

    下面就详细地介绍一下基于 Symbian 手机操作系统的安全机制,以及软件数字签名到底是怎么回事。本文以下内容根据 Symbian Signed 官方网站: www.symbiansigned.com 和 Symbian Signed 必须用的 TC Publisher ID( 发布者 ID 或发布者证书 ) 的官方网站: www.trustcenter.de (英文) 、www.wosign.com (中文) 有关文档整理,是广大用户不可多得的中文参考资料。
一、Symbian Signed 四种数字签名方式简介

  

 

 Open Signed Online  开放签名在线方式  Open Signed Offline  开放签名离线方式  Express Signed  快速签名方式  Certified Signed  认证签名方式
可用状态   Beta  版可用   可用   可用   可用
  Symbian Signed帐户(*1)   不要求   要求   要求    要求
  发布者证书 (*2)
  TC Publisher ID
  不要求     要求    要求    要求  
  开发者证书 (*3)
  Developer ID
  不要求   要求   不要求  不要求
  内容证书 (*4)
  TC Content ID  
  不要求   不要求 要求  每个SIS文件一个   不要求
  第三方测试   不要求   不要求 不要求 (*5)    要求  费用: 2000元左右
  串号(IMEI)数量    有限制  只能 1 个     有限制  1000 个以内  
  没有限制    没有限制
 能力限制 (*6)   13 种能力   17 种能力   13 种能力   没有限制  

3种能力需向手机厂商申请

 其他限制  *  Email 限制
*  UID 限制
* SIS 文件限制  
  

 


  
  

 


  
  

 


  
  签名后下载是否有警告   有,提示软件处于开发测试阶段   有,提示软件处于开发测试阶段   无   无
  证书价格 ( 元 )    
  
  发布者证书: 1600元  
开发者证书:免费
  发布者证书:1600元
内容证书: 200元  
  发布者证书: 1600元
  签名有效期 (*7)   3 年   3 年  10  年  10  年 


注 1: Symbian Signed 帐户注册不允许使用公共邮箱,如: Gmail 、 Yahoo 和 Hotmail 等;

注 2: 购买发布者证书必须提供个体或公司营业执照,同时要提供电话收 ·费·发·票用于电·话身·份验·证;

注 3: 申请开发者证书必须先到 Symbian 开发者论坛 上要求把发布者证书和 Symbian Signed 帐户 绑定后才能申请;

注 4: 新注册的 Symbian Signed 帐户,没有在线购买内容证书的菜单, 需要在 Symbian 开发者论坛 上要求把发布者证书和 Symbian Signed 帐户 绑定后才能在线购买;

注 5: 虽然快速签名方式不需要通过第 3 方测试机构测试,但 Symbian Signed 会在软件开发商提交软件后由系统自动扫描测试,或随机抽查给第三方测试公司测试是否满足软件测试要求。建议软件开发商在提交反签名之前先自己使用 Symbian Signed 网站上提供的自测工具测试;

注 6: 13 种能力: LocalServices, ProtServ, UserEnvironment, NetworkServices, Location, ReadUserData, WriteUserData, SW Event, SurroundingsDD, PowerMgmt, ReadDeviceData, WriteDeviceData, TrustedUI ;

17 种能力: LocalServices, ProtServ, UserEnvironment, NetworkServices, Location, ReadUserData, WriteUserData, SW Event, SurroundingsDD, PowerMgmt, ReadDeviceData, WriteDeviceData, TrustedUI, CommDD, MultimediaDD, NetworkControl, DiskAdmin

需要向手机厂商申请的3种能力有: DRM, AllFiles, TCB ;

注7: 发布者证书有效期为 1 年,此栏中的有效期是指为重签名后的 SIS 文件的签名有效期。


二、 S60 V3 平台安全机制简介

(一) 软件数字签名原理

    软件代码数字签名采用 PKI 数字证书技术,整个数字签名过程如下图 1 所示:

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

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

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

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

     从以上整个过程的简单介绍,可以看出:

     (1)  软件代码签名的验证机制检查签名证书是否由操作系统中的受信任的根证书颁发机构颁发,否则无法通过验证。

     (2) 代码签名后不仅保证了软件开发商的真实身份,而且还保证了代码的完整性,以免代码被病毒干扰和被非法篡改。

     (3) 只有使用了操作系统受信任的证书颁发机构颁发的代码签名证书签名的代码才允许下载。

(二) Symbian Signed 签名过程

    针对 Symbian Signed 签名,具体涉及到两种证书,一是发布者证书 (TC Publisher ID) ,此证书由 Symbian 全球指定德国 TC TrustCenter 公司颁发,此证书的主要用来证明软件开发者的真实身份和保证软件代码在提交测试时不会被非法篡改。

    而另一类证书是开发者证书 (Developer ID) 和内容证书是由 Symbian 操作系统所信任的根证书颁发,必须使用此类证书签名代码后才能在手机上安装。

    您可能会问:为什么要搞得那么复杂而设计两类签名证书?这涉及到信任机制和法律问题,简单地讲,发布者证书就是软件发布者的在数字世界的营业执照,与现实 世界的营业执照是一一对应的,而数字签名也是受法律保护的,所以发布者证书只颁发给有营业执照的企业和个体工商户,同时,也一定是要由当地政府合法注册的 证书颁发机构来颁发。由于 Symbian 只是平台开发商,并非证书颁发机构,所以,委托证书颁发机构 TC TrustCenter 来颁发。

    由于数字签名是受法律保护的,所以在此特别提醒一下:有些网站自己申请发布者证书后免费或收费代其用户申请开发者证书 ( 俗称:制作证书 ) 是有法律风险的,相当于现实世界中无论别人写什么,你都代人家签名,一旦出现法律纠纷,是由签名人来承担法律责任的。千万不要为了网站积聚人气或为了挣点 小钱而冒承担法律责任的风险。

    对于第二类证书,无论软件开发商采用哪种签名方式,实际上都是要先使用发布者证书签名其代码,通过测试后 ( 快速在线测试或通过第三方测试 ) ,再由 Symbian Signed 系统读出其证书中的软件发布者信息,使用 Symbian 移动操作系统所信任的根证书重新签名其代码,这样就可以正常安装了。使用开发者证书、内容证书或做第三方测试都是一个重签名过程。

    可以看出:两类证书具有不用的功能,完成不同的角色。发布者证书是基础,相当于现实世界中公司开业必须先申请营业执照一样,而软件开发商可以根据软件使用能力要求的不同而选择合适的签名方式。

    下面以 Certified Signed 为例,说明整个签名过程。而 Open Signed 和 Express Signed 与 Certified Signed 不同的是:前两个实际上可以认为是软件自测,而后者是通过第三方来测试,更具权威性,具有更多的能力。

    Symbian Signed 认证 (Certified Signed) 主要流程如下图 2 所示,首先在 Symbiansigned.com 网上注册用户,再申请购买 TC Publisher ID(TC 发布者证书 ) ,再签名 SIS 文件,再提交已经签名的文件给 Symbian Signed 指定的测试公司测试,测试通过后从 Symbiansigned 网站取回由测试公司重新签名的文件,就可以部署到手机中安全运行了。


   
三、 小结

    S60 第 3 版的应用软件是必须数字签名才能运行的,是强制要求,是为了确保手机不会被恶意代码所侵害,为了保护用户、软件开发商和手机制造商的权益。请注意:数字签 名与测试认证是 两码 事,数字签名是必须的,而测试认证不是必须的,只有您选择 Certified Signed 签名方式才需要通过第三方测试公司测试,其他方式为自测。

    可以看出,正是由于 Symbian 移动操作系统具有完善的安全机制,所以,全球领先的手机制造商诺基亚、索爱、摩托罗拉、三星都已经采用了 Symbian 操作系统,只有具备完善的数字签名机制才能确保手机安全。而目前所有国产手机都没有采用类似安全机制,这就制约了国产手机向高端发展。可喜的是,据笔者了 解,第 3 代手机标准 TD-SCDMA 已经开始开发类似安全机制,从而将为国产手机向高端发展提供了安全保证。

 

原文地址:http://www.opda.net.cn/thread-281945-1-1.html

分享到:
评论

相关推荐

    S60V3手机操作系统数字签名安全机制与软件签名原理借鉴.pdf

    S60V3手机操作系统数字签名安全机制与软件签名原理借鉴.pdf

    S60V3 手机操作系统数字签名安全机制与软件签名原理.docx

    S60V3 手机操作系统数字签名安全机制与软件签名原理.docx

    S60V3手机操作系统数字签名安全机制与软件签名原理归类.pdf

    S60V3手机操作系统数字签名安全机制与软件签名原理归类.pdf

    S60第三版软件签名助手_安装版

    为S60第三版操作系统提供单个/批量软件签名。版权所有,請尊重知识产权!

    信安易卫士 for s60v2

    信安易卫士S60版手机防火墙是针对使用 Symbian 操作系统的手机开发的一款免费的来电防火墙+短信防火墙软件。支持信息与来电的过滤和防护,并且能够实时显示呼入/呼出号码的归属地以及运营商信息,并且能够监测手机...

    摩安短信过滤专家—Symbian S60第三版/第五版

    专为Symbian S60第三版/第五版 智能操作系统量身打造的摩安垃圾短信过滤专家。免设置,全自动智能过滤垃圾短信,自学习持续提高过滤效率。独有的八大技术、四步过滤,语义分析更精准,有效减少短信误报率、漏报率!...

    tengge py for s60编程教程

    本pys60教程包为业余爱好者在手机上所写,特别适合没有电脑,在手机上编程的手机爱好者。 python for s60编程最适合机型为塞班s60v3横屏手机。请自行在手机上安装python平台, 代码编写编译反编译测试工具“ipro7”...

    S60 3rd 手游:CS Demo 打僵尸

    手游,仿CS,内容:打僵尸,Demo,Symbian S60 3rd平台,自己参考Example3D重新写了个3D图形引擎,SISX文件,自行签名。2013年10月更新。

    siscontents v1.33汉化版

    一款PC上打包解包修改S60第三版sis软件,主题的PC工具,支持拖放,支持从文件夹创建新的sis文件,支持创建主题,支持命令行批量解包文件!!强烈推荐!!! 压缩包中含有leftup、binpda的证书签名方案!附件已经...

    滑动解锁 SlideUnlock 1.13

    加解锁方面提供丰富的加解锁方式,包括按键、触屏、距离感应器和重力感应器的辅助加解锁,是您能够做到不接触手机即可完成加解锁操作,大大减轻S60第五版手机的侧滑加锁键的负担,可有效延长手机使用寿命。...

    手机 pdf 阅读器

    (对于NOKIA手机及其它部分手机,由于安全策略的限制,在Anyview的文件管理器中无法查看后缀为.jar的文件) 自定义问候语(系统路径下dictum.rc文件,格式参见jar包中的dictum.rc文件,保存时使用UTF-8编码,可写条目为...

    SIS解压打包工具

    一款PC上打包解包修改S60第三版sis软件,主题的PC工具,支持拖放,支持从文件夹创建新的sis文件,支持创建主题,支持命令行批量解包文件!!强烈推荐!!! 压缩包中含有leftup、binpda的证书签名方案!附件...

Global site tag (gtag.js) - Google Analytics