专利名称:对单向网络中的接收终端进行合法性认证的方法及系统的制作方法
技术领域:
本发明涉及单向数字传输网络,尤其涉及一种基于单向数字传输网络中 对终端设备合法性进行认证的方法。
背景技术:
在双向的网络环境中,前端的服务器和终端的设备可以通过双向认证的 方式来相互验证对方身份的合法性。但是在单向的网络环境下,如广播电视的HFC网,卫星广播网和地面数字电视网,由于没有回传通道,网络终端 的设备的合法性无法通过一般的双向认证的方式得到认证,从而网络服务可 能由于仿制和克隆网络终端而被盗取。为了解决对于终端合法性认证的问题,可釆用从网络前端下栽服务器认 证代理程序,运行在终端的硬件平台上,在终端制造一个虚拟的双向环境的 方法。客户端程序,即接收终端固件,和下载的服务器认证代理程序之间形 成一个双向环境,就可以进行双向认证。这个方法在EuroLoader的协议中 作了定义。但是EuroLoader的协议是针对服务器端程序和接收终端固件的 完整性认证而设计的,没有解决对接收终端唯一性认证的问题。为了解决对接收终端唯一性认证的问题,我们为每个接收终端指定一个 唯一标识符(UID)。下载的服务器认证代理程序可以检查这个接收终端的 UID是否合法来确认这个接收终端的合法性。在这个确认的过程中,有两个 难点。 一是接收终端可以伪造UID来欺骗服务器认证代理程序,二是服务 器认证代理程序一旦下载到接收终端,就无法再与前端的数据库通信。如果 要检查UID是否合法,常用的方法是服务器认证代理程序携带所有合法UID 的信息,在验证时进行比对。但是对于一个超过100万用户的网络,这个信 息量将是个天文数字,所以这种方法在这种情况下是不可能实现的。发明内容本发明要解决的技术问题是提供一种对单向网络中的接收终端进行合 法性i人i正的方法。针对上述第一个难点,可以利用半导体芯片的技术,将接收终端的UID 固化到接收终端的芯片中去。这个技术在芯片生产时将UID的信息散布在 大规模的集成电路中,可以读取但基本不可能复制,保证了UID的唯一性。 而针对第二个难点。本发明提出了对UID签名的方法,服务器认证代理程 序只需要验证UID的签名是否正确,就可以验证UID是否合法。基于以上思路,本发明提供了 一种对单向网络中的接收终端进行合法 性认证的方法,包括以下步骤(a) 在接收终端的生产过程中,将一部分信息固化为固件,包括功能 程序、根公钥、第一签名证书、唯一标识符UID签名,该UID签名是用该 第一签名证书的私钥对芯片的UID签名得到的;(b) 所述接收终端上电后,自检通过后,将包含所述根公钥的服务器 认证代理程序下栽到本地的硬件平台;(c) 所述固件先对所述服务器认证代理程序进行认证,如认证通过, 继续下一步,否则,退出工作状态,结束;(d) 所述服务器认证代理程序用所述根公钥验证固件中的所述第 一签 名证书是否来自可信任的来源,以及用所述第一签名证书的公钥对UID签 名解密得到的解密值是否与读出的芯片UID的数字摘要值相同,如果均是, 则对所述接收终端的合法性认证通过,否则,认证不通过。在一较佳实施例中,所述步骤(b)中接收终端的自检包括以下步骤固件先用第一签名证书中的公钥对UID签名解密得到解密值,再读出 芯片的UID并按计算出其数字摘要值,将这两个值进行比较,如果相同, 自检通过,继续下一步;如果不同,该机顶盒为非法机顶盒,固件退出工作 状态,结束。在一较佳实施例中,所述步骤(a)的机顶盒生产过程中,所述固件中
还包括固件的数字签名;所述步骤(b)中,接收终端的自检包括以下步骤:所述固件用所述第一签名证书的公钥解密所述固件的数字签名得到解 密值,再按照对固件签名时的相同算法对接收终端中存储的固件进行数字摘 要计算,如果计算的摘要与解密值相同,则自检通过,继续下一步;否则退 出工作状态,结束。在一较佳实施例中,所述服务器认证代理程序中还包括用第二签名证书 的私钥对本程序的数字签名,所述步骤(c)中,固件对所述服务器认证代 理程序的认证包括以下两个方面A, 所述固件先用服务器认证代理程序内嵌或从网络中得到的第二签名 证书的公钥解密所述服务器认证代理程序的数字签名,得到解密值,再按相 同算法对该服务器认证代理程序进行数字摘要计算,如果计算的摘要与解密 值相同,则确认该服务器认证代理程序是正确和完整的;B, 所述固件用根公钥验证第二签名证书是否来自可信任的来源,如果 是,那么确认服务器认证代理程序来自合法的来源;只有确认所述服务器认证代理程序是正确和完整的,并且来自合法的来 源时,所述固件对所述服务器i/v证代理程序的i/^正通过。在一较佳实施例中,所述步骤(d)中,如合法性认证通过,则所述服 务器认证代理程序才为机顶盒进行软件升级或服务更新操作,否则,所述服 务器认证代理程序不执行这些操作。基于以上思路,本发明还提供了 一种对单向网络中的接收终端进行合 法性认证的方法,包括以下步骤(a) 在接收终端的生产过程中,将一部分信息固化为固件,包括功能 程序、根证书、签名证书、UID签名,该UID签名是用该签名证书的私钥 对芯片的UID签名得到的;(b) 所述接收终端上电后,所述固件进行自检,用第一签名证书中的 公钥对UID签名解密得到解密值,再读出芯片的UID并计算其数字摘要值, 将这两个值进行比较,如果相同,自检通过,继续后续处理;否则,自检不
通过,退出工作状态,结束。在一较佳实施例中,所述步骤(b)所述固件在自检时,还用所述签名 证书的公钥解密所述固件的数字签名得到解密值,再按照对固件签名时的相 同算法对接收终端中存储的固件进行数字摘要计算,如杲计算的摘要与解密 值相同,则认为固件是正确和完整的,并将其作为自检通过的必要条件,如 计算的摘要与解密值不同,退出工作状态,结束。本发明要解决的另一技术问题是提供一种可实现对自身合法性认证的 单向网络中的接收终端。本发明的可实现对自身合法性认证的单向网络中的接收终端,包括固件 以及与网络的通讯接口,所述固件包括功能单元代码以及根公钥、第一签名证书和UID签名,该UID签名是用该第一签名证书的私钥对芯片的UID签 名得到的。所述功能单元包括一个下载子单元,用于将所述服务器认证代理 单元的代码从所述网络侧设备下载到接收终端并运行; 一个程序i人i正子单 元,用于对下载的服务器认证代理单元的代码进行认证;以及一 自检子单元, 用于在上电后,用第一签名证书中的公钥对UID签名解密得到解密值,再 读出芯片的UID并计算其数字摘要值,比较这两个值,如果相同,自检通 过,否则,自检不通过,退出工作状态。本发明要解决的又一技术问题是提供一种可对单向网络中的接收终端 进行合法性认证的系统。本发明提供的一种可对单向网络中的接收终端进行合法性认证的系统, 包括网络侧设备、接收终端和服务器认证代理单元,其中所述服务器认证代理单元的代码存储在所述网络侧设备中,并可被下栽 到所述接收终端并运行,用于利用其携带的根公钥验证接收终端固件中的第 一签名证书是否来自可信任的来源,并用该第 一签名^L书的公钥对唯一标识 符UID签名解密,比较解密值与读出的芯片UID的数字摘要值是否相同, 如果均是,则对该接收终端合法性的认证通过,否则,认证不通过;所述接收终端的固件包括功能单元代码以及所述根公钥、第一签名证书
和UID签名,该UID签名是用该第一签名证书的私钥对芯片的UID签名得到的,所述功能单元包括一个下载子单元,用于将所述服务器认证代理单元 的代码从所述网络侧设备下载到接收终端并运行,以及一个程序认证子羊元,用于对下载的服务器认证代理单元的代码进行认证。在一较佳实施例中,所述功能单元还包括一个自检子单元,用于在上电 后,用第一签名证书中的公钥对UID签名解密得到解密值,再读出芯片的 UID并计算其数字摘要值,比较这两个值,如果相同,自检通过,否则,自 检不通过,退出工作状态。由上可知,本发明在基于单向数字传输网络中,利用终端芯片UID的 唯一性和数字签名的不可否认性,对终端设备进行双向认证,实现了对终端 设备合法性的识别,可防止单向网络终端设备被仿制和克隆。可以应用于 HFC网络,数字卫星网络和无线数字电视网中的接收设备的合法性识别。附困说明
图1是本发明实施例方法的流程图。
具体实施方式
下面先简要介绍一下本发明要使用到的数字签名和数字摘要技术。数字签名是一个广泛应用的数字安全技术。它建立在非对称密钥算法和 数字摘要的基础上。非对称密钥算法采用一对密钥进行加解密的操作,公钥 加密,私钥解,用于保密性要求;私钥加密,公钥解用于不可否认性要求。 如果发送的信息要经过信息发送者的署名,则需要用信息发送者的私钥做签 名操作,则接收方只要用发送者的公钥进行验证,就可识别信息发布者的身 份。常用的公钥算法有RSA、 DSA、 Diffie-Hellman等。数字摘要是把一个叫做散列算法的单向数学函数应用于数据,其运算结 果就是将任意长度的一块数据转换为一个定长的、不可逆转的数字。散列算 法通常用于数字签名过程。最常用的两个散列函数是MD5和SHA-1。
数字证书的格式一般采用X.509国际标准。数字证书的格式在ITU标 准和X,509V3里定义,包括证书申请者的信息和发放证书CA的信息,如 下所示 证书版本号,不同版本的证书格式不同; 序列号,同一身份验证机构签发的证书序列号唯一; 签名算法,包括必要的参数; 身份验证机构的标识信息; 有效期; 证书持有人的标识信息; 证书持有人的公钥; 身份验证机构对证书的签名。本发明对接收终端认证的实现是由两个软件程序来完成的, 一个是接收 终端固件, 一个是服务器认证代理程序。接收终端固件是固化在接收终端中 的一段程序,接收终端在启动后必须先执行固件,才可能执行其他的应用程 序。接收终端出厂以后,固件不可以被更改。为了避免固件被更改的情况, 接收终端固件拥有自检的功能。 一旦发现自己被更改,固件将不再执行任何 功能。服务器认证代理程序是接收终端固件从网络中的服务器上下载的。它 能否被下载到本地的终端的硬件平台,是要经过固件的认证的。固件和服务器认证代理程序的相互认证建立在一个信任链的基础上的。 这个信任链的基础是一个根证书。这个根证书由一个各方都认可的密钥管理 机构发放。接收终端固件和服务器认证代理程序都认为这个密钥管理机构是 可信任的。这个机构向这个网络中所有合法的设备,包括接收终端固件和服 务器认证代理程序,发放根证书。对根证书签名的根私钥被密钥管理机构保 存,这个机构保证这个根私钥不被窃取和损坏。当有了根证书这个信任基础后,整个信任链就可以搭建起来了。能够最 终用根公钥验证通过的信息都会被接收终端固件认为是来自可信任的来源。 有一种信息是比较特别的,它本身是一个证书。被根私钥签名的证书被称为 二级证书。二级证书的私钥又可以用来签名信息,由于二级证书被认为是可 信任的,那么二级证书签名的信息也会被认为是来自于可信任的来源。同时, 二级证书还可以签发三级证书。以此类推,由各级证书串起来的信任链就这 样建立起来了。网络中的任何设备和程序,都可以通过根证书中的根公钥验 证这个信任链上的任何一个证书的合法性。建立这样一个信任链使网络中的 证书管理更加灵活和易于管理。利用这个信任链上的任何一个证书,固件和 服务器认证代理程序都可以实现相互的认证。在本发明涉及的服务器和接收终端的结构里,由于服务器认证代理程序 是运行在接收终端上的,很容易被破解和跟踪,所以不允许将秘密嵌入到服务器认证代理程序中。也就是说,服务器认i正代理程序中隐藏对UID的运 算方法的方式是不安全的。由于运算的方法无法保密,本发明就提出了对参 与运算的参数进行保密的方法。本发明提出在接收终端保存UID数字签名。 这个签名是对UID用私钥加密得到的。解密这个电子签名在服务器认证代 理程序中实现,但解密所用的公钥和解密的算法都可以以明文的形式存在, 使破解和跟踪服务器认证代理程序失去意义。即,本发明将秘密保存在生成 UID数字签名的私钥中,而该私钥在^f吏用后可以销毁,基本上没有泄密的风 险。这个方法用密码学的原理保证了校验的安全性。本发明方法可以基于现有接收终端的硬件结构,通过对固件的改进来实现。下面介绍本发明在HFC网络中的一种具体实施方法,但本发明可适用 于其它任何单向网络。在HFC网络中,接收终端被称为机顶盒。网络中可 能存在两种非法的机顶盒。 一种是完全复制合法机顶盒的硬件设计,并拷贝 合法机顶盒的固件,称为克隆机顶盒;另 一种是复制合法机顶盒的硬件设计, 但采用自己的固件完成相同的功能,称为仿制机顶盒。在像HFC这样的单向网络,这两种机顶盒在网络中的存在都不会被前 端发现,可以在网络中享受服务而不需要付费。本实施例提出的方法可以使 上述两种非法机顶盒在网络中无法正常地工作。作过程。如图1所示,该方法包括以下步骤
步骤IIO,在机顶盒的生产过程中,将一部分信息固化在机顶盒的存储空间中成为固件,固件的组成部分包括功能程序、根证书、签名证书、UID 签名和固件的数字签名;功能程序指机顶盒中固化的实现机顶盒启动时功能的程序,支持的功能 可包括自检、对服务器认证代理程序的认证以及其它运行所需的功能等。根证书是用根私钥签名的包含根公钥的数字证书,还包含证书序列号、 签名算法、证书申请者、发放证书机构等信息。这里,用一个根公钥也是可以的。签名证书是用根私钥签名的,包含签名公钥的数字证书,还包含证书序 列号、签名算法、证书申请者、发放证书机构等信息。UID签名是用上述签名i正书对应的私钥对UID签名得到的。固件的数字签名是对机顶盒中存储的固件(部分或全部)进行数字摘要 计算,然后用签名私钥对生成的数字摘要进行加密得到的。根私钥由该管理机构保存,并不驻留在用于产生UID签名的生产签名 服务器中。而UID签名和固件的数字签名是通过一台机顶盒生产签名服务 器实现的。在机顶盒生产时,生产签名服务器与机顶盒通讯,读出每个机顶 盒芯片的UID,计算出其数字摘要值再用签名私钥加密生成UID签名,该 签名私钥在使用后可以销毁。本实施例中,上述签名证书属于二级证书,不 过,本发明另一实施例中,上述签名证书也可以是三级证书,即是由根私钥 签名的二级证书中的私钥签名得到的证书。机顶盒固件的工作流程如下所述,这个流程保证了机顶盒的安全性。步骤120,在初始化过程中,机顶盒固件先进行自检,用签名公钥解密 固件的数字签名得到解密值,再按照签名时相同的算法对机顶盒中存储的固 件进行数字摘要计算,如果计算的摘要与解密值相同,则认为固件是正确和 完整的,继续下一步;否则认为固件被篡改,固件退出工作状态,结束;步骤130,固件再对UID签名进行验证,先将UID签名用签名证书中 的签名公钥进行解密,得到解密值,再读出芯片的UID并计算出其数字摘 要值,将这两个值进行比较,如果相同,就证明这个机顶盒是在生产时认证合法的机顶盒,继续下一步;如果不同,该机顶盒为非法机顶盒,固件退出 工作状态,结束;因为UID是固化在芯片中的,可读取但基本不可能复制。因此,克隆 机顶盒虽然可以复制出UID签名,但是,由于其芯片的UID值和其复制对 象芯片的UID不同,两者比较的结果也不会相同,从而使克隆机顶盒无法 工作。仿制机顶盒虽然可以跳过自检的部分,从而可以正常地工作。但是仿 制机顶盒无法在机顶盒升级时,无法从服务器程序得到服务更新的信息。在 服务更新后,将无法正常工作。步骤140,固件自检成功后,接收终端检测网络中是否有适用的服务器 认证代理程序供下载,如果有,执行步骤150,否则,执行步骤190;步骤150,在网络中检测到有服务器认证代理程序时,固件将其下载到 本地的硬件平台,该服务器认证代理程序中包含根公钥、签名证书和对自身 程序的数字签名,其中签名证书不必与机顶盒中的签名证书相同;步骤160,固件在把程序执行的控制权交给服务器认证代理程序前,先 对其进行认证,保证它来自于合法的来源,如认证通过,继续下一步,否则, 执行步骤190;iU正包4舌以下两个方面第一,验证服务器认证代理程序在传输过程中是否保持了程序的完整 性。固件先用服务器认证代理程序内嵌或从网络中得到的签名证书中的公钥 解密服务器认证代理程序的数字签名,得到解密值,再按相同算法对下载的 服务器认证代理程序进行数字摘要计算,如果计算的摘要与解密值相同,则 认为服务器认证代理程序是正确和完整的。第二,验证为服务器认证代理程序签名的证书是否在由根证书建立起来 的信任链中,如果服务器认证代理程序的证书是在信任链中被认可的,即被 根证书或其下级证书的私钥签名的,那么服务器认证代理程序就是来自合法 的来源的。
服务器认证代理程序中或根据该程序中的信息从网络中找到的签名证 书可以是根私钥签名的二级证书,也可以是二级证书私钥签名的三级证书或更下级的证书。每个证书都是以x,509的格式存在,规定了这个证书是由谁 签发的,通过发行者,编号等一系列属性。对于二级证书,固件直接用保存 的根公钥就可以解密其签名而完成验证。对于三级证书,机顶盒先根据证书 中的发行机构等信息到网络中获取相应的二级证书,用该二级证书的公钥解 密其签名而完成首次验证,然后再用保存的根公钥解密该二级证书的签名完 成再次验证,对于更下级的证书的验证过程依此类推,这是一个常规的判断 方法。总之,在这个网络中只有一个根公钥,这是这个信任链的基础。在另一种特殊情况下,该服务器认证代理程序也可以是由根私钥签名 的。这样,服务器认证代理程序中可内嵌一个根证书或无需内嵌有证书,接 收终端固件可以直接用根公钥对该程序的签名进行验证。以上两个方面的认证没有固定的先后顺序,只有同时通过二个方面的认证,才认为认证通过 步骤170,服务器认证代理程序先对机顶盒固件进行认证,保证机顶盒 不是非法冲几顶盒,如认证通过,执行步骤180;否则,执行步骤190;同样,该认证包括以下二个方面第一,对接收终端固件中的UID签名进行验证。服务器认证代理程序 先将机顶盒固件中存储的UID签名用机顶盒中存储的签名证书进行解密, 得到解密值,再从芯片中读出芯片的UID并计算其数字摘要值,将这两个 值对比。这两个值必须相同才能验证固件不是被拷贝的,是与这个机顶盒相 匹配的。第二,验证为UID签名的证书是否在由根证书建立起来的信任链中。 即服务器认证代理程序验证机顶盒固件中存储的签名证书是否被根证书或 其下级证书签名的,是在信任链中被认可的。其验证方法与步骤150固件对 服务器认证代理程序中的签名证书的验证是相同的,这里不再重复。当这两个条件同时成立,服务器认证代理程序就验证了机顶盒固件是合法的,才接受程序运行的控制权完成服务器认证代理程序的其它功能。同样由于UID的不同复制性,如UID签名的验证通过,则可以检测出克隆或仿 制的非法机顶盒。当然该步中,服务器认证代理程序还可对机顶盒中存储的 固件的数字签名进行验证,方法与步骤120中固件自检时相同,从而保证固 件是正确和完整的。步骤180,服务器认证代理程序为机顶盒进行应用程序升级、服务更新 等操作;为了维护网络运营商的利益,运营商可以利用服务器认证代理程序来进 行用户的服务更新和机顶盒应用程序的升级。通过定时对用户的服务进行更 新和对机顶盒软件进行升级,仿制或克隆的机顶盒将得不到服务的更新和升 级,从而无法正常地工作。步骤190,启动固件中的其它功能程序或接收终端中的应用程序。相应的,本实施例可对单向网络中的接收终端进行合法性认证的系统, 包括网络侧设备、接收终端和服务器认证代理单元,其中所述服务器认证代理单元的代码存储在所述网络側设备中,并可被下载 到所述接收终端并运行,用于利用其携带的根公钥验证接收终端固件中的第 一签名证书是否来自可信任的来源,并用该第一签名证书的公钥对唯一标识 符UID签名解密,比较解密值与读出的芯片UID的数字摘要值是否相同, 如果均是,则对该接收终端合法性的认证通过,否则,认证不通过;所述接收终端的固件包括功能单元代码以及所述根公钥、第 一签名证书 和UID签名,该UID签名是用该第 一签名证书的私钥对芯片的UID签名得 到的。所述功能单元包括一个下载子单元,用于将所述服务器认证代理单元 的代码从所述网络侧设备下载到接收终端并运行; 一个程序认证子单元,用 于对下载的服务器认证代理单元的代码进行认证; 一个自检子单元,用于在 上电后,用第一签名证书中的公钥对UID签名解密得到解密值,再读出芯 片的UID并计算其数字摘要值,比较这两个值,如果相同,自检通过,否 则,自检不通过,退出工作状态。自检通过后,可以运行固件中的功能单元,
也可以运行终端中的应用程序,本发明不^故限定。在上述实施例的基础上,本发明还可以有各种变换。例如,在另一实施例中,接收终端的自检、固件对服务器认证代理程序 的认证方法都可以采用已有的方法来实现。只要服务器认证代理程序对固件中的UID签名进行校验,就可以对单向网络中的接收终端进行合法性的认证。相似的,在又一实施例中,也可以只在接收终端自检时,对UID签名 进行校验,下栽的服务器认证代理程序可以按已有的方式工作。这样也可以 在终端本地实现对终端合法性的认证。综上所述,本发明在终端设备中写入该终端设备芯片UID的数字签名, 终端设备的固件从网络中下载一个服务器认证代理程序,对终端设备的认证 由这个服务器认证代理程序来实现。服务器认证代理程序运行在终端设备的 硬件平台上,从服务器认证代理程序中内嵌或是终端设备内嵌的签名证书中 得到公钥,用公钥对UID的签名进行解密。服务器认证代理程序通过将解 密得到的值与芯片中读出的UID的摘要值进行比对的结果,以及从根证书 导出的信任链所确定的证书的可信性,从而确定终端设备的合法性。这个合法性作为终端设备软件运行和软件更新的前提条件,这样仿制和 克隆的终端设备就无法在单向网络中运行和升级。通过固件的自检,和服务 器认证代理程序的与固件的相互认证,可以使克隆和仿制的机顶盒无法在网 络中正常工作。
权利要求
1、 一种对单向网络中的接收终端进行合法性认证的方法,包括以下步骤(a) 在接收终端的生产过程中,将一部分信息固化为固件,包括功能 程序、根公钥、第一签名证书、唯一标识符UID签名,该UID签名是用该 第一签名证书的私钥对芯片的UID签名得到的;(b) 所迷接收终端上电后,自检通过后,将包含所述根公钥的服务器 认证代理程序下载到本地的硬件平台;(c) 所述固件先对所述服务器认证代理程序进行认证,如认证通过, 继续下一步,否则,退出工作状态,结束;(d) 所述服务器认证代理程序用所述根公钥验证固件中的所述第 一签 名证书是否来自可信任的来源,以及用所述第一签名证书的公钥对UID签 名解密得到的解密值是否与读出的芯片UID的数字摘要值相同,如果均是, 则对所述接收终端的合法性i人证通过,否则,认证不通过。
2、 如权利要求l所述的方法,其特征在于,所述步骤(b)中接收终端 的自检包括以下步骤固件先用第一签名证书中的公钥对UID签名解密得到解密值,再读出 芯片的UID并按计算出其数字摘要值,将这两个值进行比较,如果相同, 自检通过,继续下一步;如果不同,该机顶盒为非法机顶盒,固件退出工作 状态,结束。
3、 如权利要求1或2所述的方法,其特征在于,所述步骤(a)的机顶 盒生产过程中,所述固件中还包括固件的数字签名;所述步骤(b)中,接 收终端的自检包括以下步骤所述固件用所述第一签名证书的公钥解密所述固件的数字签名得到解 密值,再按照对固件签名时的相同算法对接收终端中存储的固件进行数字摘 要计算,如果计算的摘要与解密值相同,则自检通过,继续下一步;否则退 出工作状态,结束。
4、 如权利要求1或2所述的方法,其特征在于,所述服务器认证代理程序中还包括用第二签名证书的私钥对本程序的数字签名,所迷步骤(C)中,固件对所述服务器认证代理程序的认证包括以下两个方面A, 所述固件先用服务器认证代理程序内嵌或从网络中得到的第二莶名 证书的公钥解密所述服务器认证代理程序的数字签名,得到解密值,再按相 同算法对该服务器认证代理程序进行数字摘要计算,如果计算的摘要与解密 值相同,则确认该服务器认证代理程序是正确和完整的;B, 所述固件用根公钥验证第二签名证书是否来自可信任的来源,如果 是,那么确认服务器认证代理程序来自合法的来源;只有确认所述服务器认证代理程序是正确和完整的,并且来自合法的来 源时,所述固件对所述服务器认证代理程序的认证通过。
5、 如权利要求l所述的方法,其特征在于,所述步骤(d)中,如合法新搡作,否则,所述服务器认证代理程序不执行这些操作。
6、 一种对单向网络中的接收终端进行合法性认证的方法,包括以下步骤(a) 在接收终端的生产过程中,将一部分信息固化为固件,包括功能 程序、根证书、签名证书、UID签名,该UID签名是用该签名证书的私钥 对芯片的UID签名得到的;(b) 所述接收终端上电后,所述固件进行自检,用第一签名证书中的 公钥对UID签名解密得到解密值,再读出芯片的UID并计算其数字摘要值, 将这两个值进行比较,如果相同,自检通过,继续后续处理;否则,自检不 通过,退出工作状态,结束。
7、 如权利要求6所述的方法,其特征在于,所述步骤(b)所述固件在 自检时,还用所述签名证书的公钥解密所述固件的数字签名得到解密值,再如果计算的摘要与解密值相同,则认为固件是正确和完整的,并将其作为自 检通过的必要条件,如计算的摘要与解密值不同,退出工作状态,结束。
8、 一种可实现对自身合法性认证的单向网络中的接收终端,包括固件 以及与网络的通讯接口,其特征在于所述固件包括功能单元代码以及才M^钥、第一签名证书和UID莶名, 该UID签名是用该第 一签名证书的私钥对芯片的UID签名得到的,所述功 能单元包括一个下栽子单元,用于将所述服务器认证代理单元的代码从所述 网络侧设备下载到接收终端并运行; 一个程序认证子单元,用于对下载的服 务器认证代理单元的代码进行认证;以及一自检子单元,用于在上电后,用 第一签名证书中的公钥对UID签名解密得到解密值,再读出芯片的UID并 计算其数字摘要值,比较这两个值,如果相同,自检通过,否则,自检不通 过,退出工作状态。
9、 一种可对单向网络中的接收终端进行合法性认证的系统,包括网络 側设备、接收终端和服务器认证代理单元,其中所述服务器认证代理单元的代码存储在所述网络侧设备中,并可被下载 到所述接收终端并运行,用于利用其携带的根公钥验证接收终端固件中的第 一签名证书是否来自可信任的来源,并用该第一签名证书的公钥对唯一标识 符UID签名解密,比较解密值与读出的芯片UID的数字摘要值是否相同, 如果均是,则对该接收终端合法性的认证通过,否则,认证不通过;所述接收终端的固件包括功能单元代码以及所述根公钥、第一签名证书 和UID签名,该UID签名是用该第 一签名证书的私钥对芯片的UID签名得 到的,所述功能单元包括一个下栽子单元,用于将所述服务器认证代理单元 的代码从所述网络侧设备下载到接收终端并运行;以及一个程序认证子单 元,用于对下载的服务器认证代理单元的代码进行认证。
10、 如权利要求9所述的系统,其特征在于,所述功能单元还包括一个 自检子单元,用于在上电后,用第一签名证书中的公钥对UID签名解密得 到解密值,再读出芯片的UID并计算其数字摘要值,比较这两个值,如果 相同,自检通过,否则,自检不通过,退出工作状态。
全文摘要
一种对单向网络中的接收终端进行合法性认证的方法及系统,先在终端设备中写入芯片的UID的数字签名,终端固件从网络中下载一个服务器认证代理程序,该程序运行在终端的硬件平台上,用自身内嵌或是网络中获取的签名证书的公钥对UID签名进行解密,如果判断出解密值与芯片中读出的UID的摘要值相同,且该签名证书在由根证书建立起的信任链中,则该终端合法,否则不合法。另外,也可在固件自检过程中,用签名证书中的公钥对UID签名解密得到解密值,再读出芯片的UID并计算其摘要值,如两个值相同,自检通过,否则退出工作状态。本发明通过终端固件的自检或服务器认证代理程序与固件的相互认证,使得克隆和仿制的机顶盒无法在网络中正常工作。
文档编号H04L9/32GK101145906SQ200610112978
公开日2008年3月19日 申请日期2006年9月13日 优先权日2006年9月13日
发明者杜聚龙, 波 范, 鲍海兵 申请人:北京邦天科技有限公司