首页 > 技术文章 > 软件 > 从快闪记忆体强化手机资料及程式码保护

从快闪记忆体强化手机资料及程式码保护

52RD.com 2006年3月21日 Francois Kaplan            评论:0条 我来说两句
  

手机已逐渐转为多媒体娱乐中心及交易平台,可让使用者藉此购买多媒体内容,并同时于线上进行如金融和其他服务等不同交易,而随着3G网路频宽逐渐增加,这股趋势也愈趋庞大,使得无线网路供应链体系的成员,从电信业者、手机制造商、内容拥有者到最终使用者,都能从中开始获益。同时,他们也面对来自于各种来源的不同风险,像骇客、病毒、资料毁损、手机遗失或遭窃、违法分享内容等,都需要截然不同的保障措施。

在这样的环境下,手机必须提供不同类型的防护功能,如保护消费者所存入的一切资料、保护作业系统、及新手机随附或往后下载的应用程式及管理资料等,以确保手机及其内容不遭到滥用。部分此类资讯需要最高层级的保障,包括认证金钥和授权物件,而作业系统或必须定期更新的应用程式等资料,所需的保障层级较低。本文讨论了快闪记忆体装置目前具备的各种保护工具,并介绍如何使用这些工具,以提供手机更大的保障。
现有保障措施
图1列出了存入手机的不同资料及其所有人,每种资料都需要不同层级的保障,本节讨论的是手机所提供的不同保障层级。
 

图1:资料类别、所有人和所需保障
 

专属识别码(UID)
每支手机都需要专属识别码(Unique ID,UID),以便手机制造商和电信业者,在档案毁损或手机受损时,判断并追踪使用者产品。
单次编程区(OTP Area)
单次编程区(One Time Programmable Area,OTP area)仅能写入一次,之后便进行锁定以防止再次编程,故属于唯读区,使用者或应用程式码均无法解除此项锁定。

单次编程区内含手机制造商或电信业者的特定资讯,如追踪手机用的国际行动设备识别码(International Mobile Equipment Identifier number,IMEI number)、产品序号、软体版本、制造日期、业者识别码、及在档案毁损、手机受损或遭窃时,追踪手机用的特别资讯。

单次编程区因提供最高层级的保障以防范骇客,一般便用于储存安全开机码和认证,其中还包含认证系统,可让业者取得作业系统影像及应用程式,以便在网上或服务中心更新内容。

存于单次编程区的资料可同时避免遭到蓄意及不慎之毁损或删除,也可用来进行行销计画,如于开启手机时存入并自动播放存入讯息、协助推销手机品牌或应用程式。
可编程防读区与可编程防写区
快闪磁碟区可防读、防写或两者兼具。防读区是储存金钥和授权物件的理想地点,这些资料用于数位权限管理(digital rights management,DRM)机制。

防写区则可用来储存作业系统及应用程式,电信业者可能得透过网路或服务中心修正或更新这些资料。手机若属于SIM锁定款式(SIM-locked),此区亦能用来储存IMSI(国际行动用户识别码)。

此外,防读写区可提供消费者储存个人机密资料,如安全资料匣、个人资料和专业资料等,藉此手机制造商及电信业者可以区隔所提供的服务。
安全开机机制
开机时,由于手机仍未执行系统,此时较脆弱且易受攻击。为了防止骇客不会利用此机会修改开机结果并入侵系统,手机制造商于是开始建置安全开机机制。

执行安全开机机制亦能保护开机程式码,不致遭到意外修改或删除。下面我们以M-Systems的DiskOnChip为例示范说明。
UID(专属识别码)
DiskOnChip专属识别码存于快闪记忆体的安全区,这是于生产阶段陆续产生并写入的识别码,并确保每个DiskOnChip均有独具的专属识别码,往后无法更改。此专属识别码同时内含制造效能资讯,如受测装置(Device Under Test,DUT)、测试站、测试机型号及内含生产时间与日期等生产批次的追踪资讯,无须内建如专用EEPROM这种额外识别工具便可辨识手机。
单次编程区与单次写入(OTW)区
DiskOnChip最多有两处使用者定义的单次编程区,以及功能更为灵活的类似保护区-单次写入区(One-Time Write Areas,OTW Area)。启动电源时,DiskOnChip的下载状态机制 ,从快闪记忆体下载单次编程资料结构,确认是否符合锁定状态。为了增加可靠性,M-Systems在快闪记忆体中存入两份单次编程资料。下载第一份资料时,若发生检查和值(checksum)错误,此时将下载第二份资料;第二份资料若同样发生检查和值错误的情形,将阻挡通往快闪记忆体的所有存取路径。下载成功后,状态机将辨识是否符合锁定条件,倘若符合,才准许进行单次编程区的读取作业。

如单次编程区,单次写入区为写入一次后锁定,不过不同于单次编程区的地方在于-此区无须在编程时写入且容量无限,让单次写入区成为更加灵活的工具,并运用于研发或量产阶段,以便在制造快闪媒体时,安全存入资料或程式码的更新等。
可编程防读区、防写区及防读写区
DiskOnChip的可编程防读区、防读写区及防写区亦可提供保护机制,其定义不仅取决于尺寸,还包括位置。
M-Systems提供64位元保护金钥和硬体连接式锁定(LOCK)讯号两种硬体机制,来保护DiskOnChip内部的此类区域。

64位元的保护金钥,可由手机制造商、电信业者或使用者界定。每个防护区,都能按照专有属性分别配置,如保护金钥、保护类别(防读、防写和防读写)与硬体锁定状态等。快闪媒体的特殊资料结构,界定了防护区的行为,如同受到精密的资料保护状态机所管理。防护区可能涵盖数个隔间,由二进位和快闪磁碟隔间合併而成,且其尺寸不受限制。防护区的属性存于快闪安全区的资料保护单位,每个防读防写区各有一单位,藉此防范检查和值过程出错。防护区可定义为可变更或不可变更型。如果属于可变更型,便可随时变更所有属性的配置(从防读改为防写,反之亦然);若是不可变更型,唯有重新格式化媒体时,才能变更属性。

硬体连接式锁定讯号提供了高于保护金钥的保障层级。启动锁定讯号时,即使输入正确密码,亦无法中断保护机制,所以即使在完成制造阶段后,还是能启动单次写入式的保护机制。倘若试图绕过此类硬体机制,违法修改保护金钥,或以任何方式蓄意破坏配置参数,整个DiskOnChip将变成无法读写状态,完全无法存取。
安全开机专用的SLOCK机制
DiskOnChip能透过严格锁定(Sticky Lock,SLOCK)位元,暂时设定硬体锁定机制(直到下次开启电源或重设等)。设定SLOCK位元时,唯有确认RSTIN位元存在后才能清除,并确定此位元将中止保护金钥机制。读取时,此位元始终将数值回归至0。设定此位元将影响到保护状态註册器的LOCK位元状态。

此项功能用于执行安全开机。开启电源时,开机码必然不受防护,CPU才能从DiskOnChip直接开机。开机过程结束时,可设定SLOCK位元,直到下次开启电源或重设为止,进而确保开机程式码随时不受骇客入侵,或不慎窜改与删除等。(本文作者为M-Systems产品行销部资深副总裁)
 

 

专属识别码

单次编程区

单次写入区

防读/防写

防写

SLOCK

使用者

 

 

 

个人机密资料

 

 

手机制造商

手机识别码

制造商专属资讯

安全开机

 

作业系统、应用程式

安全开机

电信业者

 

业者专属资讯

授权引擎

金钥、授权物件

应用程式

 

附表:DiskOnChip的保护方法和相关应用

(52RD.com)
读取...
相关报道
评 论
文章导航 Navigation
精彩评论 Commentmore...
赞助商链接 Support
特别推荐 Recommend