`
yiminghe
  • 浏览: 1460701 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Nokia 的智能操作系统

阅读更多

   Nokia 收购了 Sympian 的全部股份 ,我也终于第一次 用上了 S60 (N82拍照强机) ,过年前入手,到现在搞搞证书 ,装装软件, 研究了一下 单单安全设计方面 令我 惊叹不已 ,怪不得到现在 S60还没有病毒出现,想起了 曾经的一门课 : 密码学与网络安全 ,当时脑子都要绕晕了 ,S60 却是完美的实现了 RSA 的 安全体系 ,很好很好

 

 

   转载一篇 , 缅怀一下 曾经的 网络安全学习 时期

 

 

 

Symbian智能手机系统中代码签名的原理浅析
2008-09-10 12:38

转自http://mi2006.5d6d.com/thread-1058-1-1.html
随着手机技术的发展,人们的生活越来越离不开手机。昨天只能用来打电话的手机,今天却像电脑一样占有不可取代的地位。以前需要随身携带笔记本才能做到的任务,现在只需要一部智能手机就可以做到了。然而随着手机重要性的增加,其安全性也越来越受到关注。我们都不希望手机像电脑一样首要病毒的侵害,所以在 symbian公司退出的最新版本s60第三版系统中引入了数字签名技术以保证系统不会受到病毒的攻击。对需要高权限的安装程序要受到审核并进行签名以验证其安全性和不被篡改。



现在数字签名就好像好像手写签名一样受到认可,其可靠性可以把病毒阻止的系统之外。其实现主要依靠于的非对称密钥加密和信息摘要技术。其主要技术概述如下:



1、非对称密钥加密:

非对称密钥加密也称公钥加密。它使用两个密钥构成一对,一个用于加密,一个用于解密,其他密钥都无法解密这个消息,包括用于加密的密钥。两个密钥中,一个是公钥,一个是私钥,私钥保密,公钥公开,用公钥加密的信息只有私钥才能解开。这样传递信息时无须传递私钥解决了对称密钥加密时密钥传递的问题。其缺点是加密/解密速度慢,产生密钥长于消息不利于传递。当前应用较多的是RSA算法,其算法基于大数的因数分解困难性。



2、消息摘要:

消息摘要又称散列(Hash),对一段信息产生唯一的一个数字标识,是消息的指印或汇总,就像人类的指纹一样起着识别的作用。它要求如下:1、给定一个消息,应很容易求出唯一消息摘要;2、给定消息摘要,应该很难求出原来的消息;3、给定两个消息,求出的消息摘要应该不同。常用算法有MD5和SHA-1。



数字签名基于这样一个事实,如果我们用自己的私钥加密消息,那么任何持有公钥的人都可解密消息,这样做虽然无法保证消息不被外泄,但是因为只有拥有私钥的人才可以加密消息,所以可以相信其消息确实来源于私钥持有人。



Symbian的代码签名流程如下:



1、   申请证书;

2、   发放证书;

3、   使用证书对程序签名;

4、   安装程序验证真实性。



1、 申请证书

首先我们要有私钥,私钥可能是我们自己生成的,也可能是symbian公司生成的。这里假设私钥为我们自己生成。Symbian的数字证书一般采用RSA 或DSA算法,这里以RSA算法为例。我们用自己的私钥产生公钥,用私钥加密开发者信息等申请资料的消息摘要(这里用SHA-1算法),将公钥和申请资料及消息摘要一并生成csr申请文件。



将csr文件上传到塞班的服务器上。由symbian公司进行验证。Symbian通过上传的公钥可以解开csr里面的信息,即消息摘要。通过SHA-1 算法计算申请资料的消息摘要进行核对,确定其来源真实性后,symbian用自己的RSA的私钥对上面的信息的信息摘要做数字签名。然后后再加上 verisign发给symbian的证书,这个证书的目的是证明上面信息是symbian发布的。然后就完了成整个证书。Verisign是权威的数字证书机构,有权向个人和组织签发数字证书。



2、 发放证书



证书制作好后,就可以发放给开发者使用。这个数字证书是一个cer后缀的计算机文件。其内容经过编码处理,可以在计算机上通过程序查看其主要信息。 Symbian发放的数字证书如前面所提实际上包含两个证书,一个为symbian发布的证书,一个是Verisign发布的证书。其结构在satyam 标准中定义,最新版本是X.509V3,symbian的证书采用的就是这个版本。



(1)、第一个证书里面是些基本的信息,有证书的有效期、发布证书的机构 symbian、授权给的公司和开发者持有私钥对应的公钥。文件末尾还包含一个数字签名。这里是symbian对上面信息的一个数字签名。所以要验证上面信息的正确性和完整性只要用SHA-1算法对上面的信息计算得出一段信息摘要。用symbian公司的RSA的公钥解开这个密文得到一段明文比较这段明文和信息摘要的一致性就能验证上面信息的是否是由symbain发出的。因为如果上面的信息被修改过用SHA-1产生的信息摘要和明文就不会一致。这样数字签名就失效了。而且能用symbian的RSA的公钥解开的密文必须要由symbian的RSA的私钥才能做出来而symbian的RSA的私钥只才 symbian的签证专用的服务器里才会有的。所以其他人是无法伪造这个数字签名的。如果签名正确就足以证明上面信息是symbian发布的。绝不是其他人发布的。而且上面的信息保持着完整性和正确性。



(2)、第二个证书里面同样包含一些基本的信息。里面有使用的算法,以及发布者的信息、授权者的信息、证书的有效期和symbian的RSA的公钥。最后开始的是Verisign公司对上面所有信息的数字签名。使用的算法是SHA-1 和RSA。这里有Verisign的对应的RSA公钥同样能验证这个数字签名的有效性。



3、 使用证书对程序签名


(1)、首先用对应的消息摘要算法(这里是SHA-1)对要签名的软件产生一段信息摘要。

(2)、用私钥文件对这个信息摘要进行加密。

(3)、把这个经过加密的信息摘要和数字证书里的两段内容一起附加到软件程序文件的头部。这样签名工作就已经做好了。



4、安装程序验证真实性

(1)、我们为什么会相信数字证书真实可信?答案在于根CA证书。根证书是权威证书机构为验证数字证书的有效性而发布的证书,包含该机构的公钥。在手机出厂前手机就已经安装了很多根证书。期中就包含Verisign公司的RSA算法的公钥。由这个公钥就可以验证数字证书里第二段内容的Verisign公司的数字签名。如果这个时候失败则手机显示“证书错误,请与应用程序供应商联系”,如果成功的话手机系统就会信任这个数字签名里包含的symbian的一个 RSA公钥。因为有且只有公钥才能验证私钥的签名。所以就可以判断这个信息的却为Verisign公司发布绝无伪造和篡改过。所以程序可以信任那个 symbian的一个RSA公钥。


(2)、有了一个可信任的symbian的一个RSA公钥。就可以验证开发证书里的第一段内容symbian的数字签名。如果失败还是显示“证书错误,请与应用程序供应商联系”,成功的话手机系统就可以信任里面开发者的公钥。还有这个签名中包含的有效期,申请的能力,开发者的资料。由于这些信息是用 symbian的RSA私钥签名的,有了可信任的symbian的一个RSA公钥,就可以完全说明这些信息是symbian发布和承认的。


(3)、有了上面可信任的资料,把已经用私钥加密过的消息摘要,用刚才信任的那个公钥解开得到软件的信息摘要。然后再次计算软件的信息摘要。比较这两个信息摘要是否完全相同。不同则显示软件已损坏,相同说明软件未被篡改过和保持着完整性。如果没有出错就开始软件的安装了。


经过如此严格的验证过程后,系统的安全就有了足够的保障。病毒的制作者无法通过symbian公司的检测无法得到数字证书,而那些获得数字证书的软件绝不会威胁到系统的安全。通过对其代码签名的分析,只要symbian和Verisign的私钥不被泄露或破解,任何第三方就无法制作可以获得手机信任的证书,但是要获得手机信任并非只有制作证书这一条路。我们知道在手机里验证证书有效性的是根证书,那么只要替换掉系统的根证书整个验证过程也就失效了。很不幸的就是现在已经有了可以做到替换掉系统根证书的方法,但是由于其复杂性还不可能被病毒利用,所以现在来看,symbian系统还是安全的。




 
  • 大小: 782.1 KB
分享到:
评论

相关推荐

    智能手机操作系统 Nokia_3300

    Nokia_3300是一款早期的智能手机,其操作系统是理解移动技术发展历史的关键部分。在这个PDF格式的电子书中,我们可以深入探讨智能手机操作系统的原理、设计与实现。 1. **操作系统基础**:操作系统是计算机系统的...

    智能手机操作系统介绍

    本篇文章将详细介绍几个常见的智能手机操作系统,特别是Symbian,以及NOKIA、ANDROID、OPHONE和IPHONE所涉及的操作系统。 首先,我们来探讨Symbian操作系统。Symbian最初由多家大型移动通信设备商联合创建,主要由...

    全球智能手机操作系统统计

    全球智能手机操作系统市场是一个高度竞争的领域,随着技术的快速发展,各操作系统之间的市场份额和增长率经历了显著变化。IDC的报告揭示了2011年至2015年间这一领域的动态趋势。 首先,Android操作系统在2011年占据...

    智能手机操作系统分析

    ### 智能手机操作系统分析 #### 一、概述 随着移动互联网的快速发展,智能手机已成为人们生活中不可或缺的一部分。智能手机的核心之一在于其操作系统,它决定了手机的功能、用户体验以及应用生态等多方面因素。...

    五大智能手机操作系统比拼

    【五大智能手机操作系统比拼】 智能手机操作系统是现代移动设备的核心,它们决定了手机的功能、性能和用户体验。目前,市面上主流的智能手机操作系统主要包括PalmOS、Symbian、Windows CE和Linux,这些系统各有特色...

    智能手机操作系统编程Symbian及60系列【PDF格式】

    S60(Series 60)是Symbian操作系统的一个用户界面平台,由诺基亚开发并推广。S60平台在Symbian OS上构建,提供了一套统一的开发环境和用户界面,使得开发者可以方便地创建跨多个设备的应用程序。S60的不同版本,如...

    “智能手机操作系统”-用来介绍智能手机操作系统的文档

    智能手机操作系统是现代移动设备的核心,它们为用户提供了一个与设备交互的平台,管理应用程序和服务,并连接到互联网和其他设备。本文将详细介绍目前市场上四个主要的智能手机操作系统:Symbian、Windows Mobile、...

    智能操作系统比较及安全探讨.docx

    智能操作系统在当今信息化社会中扮演着至关重要的角色,它们不仅为用户提供丰富的功能,还促进了移动设备与互联网的深度融合。本文将深入探讨不同智能操作系统的特性、安全性和未来发展,旨在为用户选择适合自己的...

    智能手机操作系统发展现状

    ### 智能手机操作系统发展现状 随着信息技术的迅速发展,智能手机已经成为人们日常生活中不可或缺的一部分。智能手机操作系统作为连接用户与应用程序的重要桥梁,在整个移动互联网生态中扮演着至关重要的角色。近年...

    智能手机操作系统编程Symbian及60系列

    Symbian操作系统曾是全球最广泛使用的智能手机操作系统之一,尤其在功能机时代,它在诺基亚等品牌的手机中占据了主导地位。本篇将深入讲解Symbian系统的基础架构、开发环境以及S60用户界面的编程技术。 1. **...

    移动智能终端操作系统发展分析.pdf

    移动智能终端操作系统的发展历程分析涉及了几个关键的知识点,包括智能操作系统的历史、主导操作系统及其市场份额、新型操作系统的挑战以及智能操作系统对产业链和生态系统的影响力。以下是对这些知识点的详细解析:...

    智能手机操作系统.pptx

    智能手机操作系统 智能手机操作系统是指在智能手机中运行的操作系统,它负责管理手机的硬件资源、提供基本的操作环境、支持各种应用程序的运行等。智能手机操作系统可以分为两大类:封闭式的操作系统和开放式的操作...

    智能手机操作系统的发展与分析.docx

    智能手机操作系统的发展可以追溯到2000年代初期,以诺基亚的塞班系统为代表的早期智能手机操作系统开始涌现。塞班系统为手机提供了更多的功能,如电子邮件、互联网浏览等。 二、iPhone时代 2007年,苹果公司推出了...

    智能手机的操作系统.docx

    智能手机操作系统是手机与用户交互的核心,它们决定了手机的功能、性能以及用户体验。本文将详细解析四种主流的智能手机操作系统:Symbian、Windows Mobile、Linux以及Palm OS。 首先,Symbian操作系统是由多家知名...

    智能手机操作系统发展历史现状及趋势.pptx

    2008年9月,当苹果和NOKIA两个公司还沉溺于彼此的争斗之中时,Andiord操作系统这个由Google研发团队设计的小机器人悄然出现在世人面前,良好的用户体验和开放性的设计,让Android很快地打入了智能手机市场。...

    从小众操作系统衰亡 看智能手机操作系统竞争.rar

    从早期的诺基亚Symbian到后来的iOS和Android,操作系统的发展历程反映了移动通信技术的进步和消费者需求的变化。 小众操作系统如WebOS、BlackBerry OS、Windows Phone等,曾经试图挑战iOS和Android的主导地位。它们...

Global site tag (gtag.js) - Google Analytics