安全时间和用户时间

    在高通软件平台支持 DRM 2.0 特性,就要开启安全时间特性,当然也同时存在了和安全相对应的用户时间。什么是安全时间?什么是用户时间?两者之间又存在什么样的联系?与 DRM 又存在什么样的关联?我们慢慢道来。
    首先,我们使用的手机中都有电子表的功能,现在的产品也基本上都有闹钟、日历、秒表 ……;在通话记录中也有电话开始时间、通话时间等等。这样就需要手机中存在一个时钟,软件可以获取当前的时间。这个时间是哪里来的,在不同制式的手机是不一样的,CDMA 手机是在手机注册到网络的时候,从网络获取时间,并实时同步,GSM 和 UMTS 是在手机芯片中有一个寄存器,根据时钟振荡晶片脉冲自动进行累加(CDMA 手机也有,只不过当有网络的时候可以自动校准),当然如果支持 NITZ(网络时钟同步功能) 的话就和 CDMA 差不多了。CDMA 研究的不多,下面只针对 GSM/UMTS 来说明。
    有人要说,这半天了,咋还不知道你要说啥呢?别急,慢慢来。照说,手机中的时间有了,那咋有啥安全时间和用户时间呢?其实,这都是 DRM 引出来的。DRM 是什么? “Digtial rights management” 数字版权管理,防止盗版的利器。从网上下载到手机上的 DRM 文件,比如音乐、图片啦什么的,是要付费才能查看、播放的,根据 DRM 协议,有些能看 3 次,有些只能看到 2008年11月2日,很多种方式,手机软件就要知道当前是哪天,什么时候了。现在问题出来了,手机上的时间用户是可以改的(CDMA 手机实时校正,没此问题,好多 CDMA 的手机根本就不存在设置时间的功能),我下载的文件过期了,我把时间改一下,OK,继续用。在 PC 上好多人都对那种试用 3 个月的共享软件这样干过吧。于是,安全时间出现了,安全时间就是用户看不见的时间,用户也改不了的时间;用户时间就不用说了,就是用户看的见,也能改的时间。
    安全时间是怎么搞出来的,和用户时间有什么关系呢?手机中的时间寄存器只有一个,高通的办法是寄存器中的时间就是安全时间,用户时间呢,就是在安全时间的基础上加上一个偏移(可正可负),获取安全时间就是读取寄存器,设置安全时间就是设置寄存器,获取用户时间就是读取安全时间在加上偏移(加上时区就是你在屏幕上看到的时间了),设置用户时间就是重新设置偏移(这个偏移的值是记录在手机的永久存储器中的,不会丢失)。

获取用户时间:
    user time = security time + time offset
    local user time = user time + local offset
设置用户时间:
    time offset = time offset + user time(new) - user time(old)
获取安全时间:
    security time = 读取硬件寄存器
设置安全时间
     time offset = time offset - (security time(new)- security time(old))
     硬件寄存器 = security (new)

    这样,用户在手机界面上修改时间的时候,就和用户时间没关系了,只要安全时间表示 DRM 版权文件已经过期了,你把手机的时间改成什么样都没用了。当然你可以把电池拔下来,放上几个月,让手机彻底没电,手机时间归零,也许还能用,不过当你再次访问 DRM 服务器的时候,手机软件会自动的将安全时间和 DRM 服务器同步哦。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值