使用数据完整性运算的远程显示器篡改检测的制作方法

文档序号:6456975阅读:157来源:国知局
专利名称:使用数据完整性运算的远程显示器篡改检测的制作方法
技术领域
本发明涉及一种使用数据完整性运算进行远程显示器的篡改检测的系统 和方法。
背景技术
在遍及世界的零售服务站和便利店经营部,燃料补给器(dispenser)补给石 油和替代燃料产品。燃料补给器具有用户接口,包括显示器和键盘,用于实 施顾客付款交易。这些用户接口包括信用卡/借记卡磁读取器,用于取回来自 顾客的账户信息。其它销售点(POS)终端也包括类似的用户接口 。
这些用户接口 ,特别是公众在外部可以接触到的燃料补给器接口已经受 到希望获取来自顾客的账户信息的个人的攻击。显示器接口可能被恶意攻击 (hack)以在用户界面上向顾客呈现虚假提示,以便获取此账户信息。当顾客响 应这些虚假提示时,他们的账户信息可能被强占并且被不适当地和欺诈性地 使用。
这一篡改的可能性已经导致将某些物理安全措施用于燃料补给器的用户 接口 。这些物理安全措施包括将显示器与显示控制器一起安装在安全外壳内。 可替换地,将显示器安装到安全外壳上,并且将显示控制器置于该安全外壳 内。在任一情况中,显示器的数据和控制线没有被暴露并且不容易被恶意攻 击。然而,这些物理安全措施对这些显示器的安装位置施加了不希望有的物 理限制。此外,对于这些解决方案,显示器不能远离显示控制器,因为将显 示控制器连接到显示器的带状电缆将被暴露。暴露的带状电缆能够被容易地 安装恶意攻击设备以便向顾客显示虚假提示。
信用卡处理公司已经认识到与诸如燃料补给器的销售点(POS)系统处的 用户接口相关联的问题,并且通过产生用于这些用户接口处的安全性的新标 准来对该问题做出反应。申请人通过引用而将文档"Payment Card Industry (PCI): POS PIN Entry Device Derived Test Requirements, Version 1.2, 2004年9 月"合并于此,就像在这里对其进行了充分阐述那样。这些新标准要求POS于确保显示给POS系统的用户的任何提示的真实性和适当使用的机制,并且 必须防止对所述提示的修改或不适当使用。此外,必须提供用于检测显示器 没有被篡改或者没有被从其原始安装位置拆除的能力。所述安全外壳必须是 防篡改的,并且必须包括篡改检测电路。附接到显示器的显示器数据电缆在 显示器接口处必须受到保护。
因此,需要一种用于远程安装显示器并且用于提供显示器的篡改和拆除 检测、同时满足新的安全处理要求的方法。

发明内容
本发明提供使用数据完整性运算进行的远程显示器的篡改;险测。显示器 附接到远程安全模块,并且远离显示控制器而被安装。显示控制器被装在安
全外壳内。在显示控制器处,使用诸如循环冗余校验(CRC)的数据完整性运算 来处理要显示的数据,以便产生一结果。显示数据被发送给附接到显示器的 远程安全模块。该远程安全模块执行相同的数据完整性运算,并且将其数据 完整性运算的结果返回给显示控制器。显示控制器将所接收的远程显示模块 的CRC结果与它对相同的显示数据产生的CRC结果进行比较。如果这两个 结果不匹配,则确定显示器已经被篡改或拆除。以这一方式,显示控制器可 以检测出与远程显示器相关联的欺骗行为。
如果附接到显示器的远程安全模块或显示器本身出现任何损坏或物理上 的分离,则远程安全模块将停止把数据完整性结果传送回显示控制器。因此, 显示控制器将能够检测出是否有人篡改了显示器。
在替换实施例中,可以通过使用多种数据完整性算法来提高安全性。此 外,可以使对其执行所述算法的显示数据流中的所选择的数据位交替以便使 该过程随机化。此外,对于所述算法,可以对某些数据位进行时间延迟,使 得它们脱离时间顺序而影响数据完整性结果。可以针对使用哪种算法、使用 哪些数据位、以及延迟哪些位,通过将算法选择指示周期性地或者与显示数 据一起传送到远程安全模块,来指示远程安全模块。还可以与诸如垂直同步、 水平同步或显示复位的信号相关联地将算法选择作为控制或显示数据的一系 列标志或字节而发送到显示器。
在结合附图阅读了对优选实施例的以下详细描述之后,本领域技术人员将意识到本发明的范围,并且认识到其另外的方面。


被合并在本说明书中并且形成本说明书的 一部分的附示了本发明的 若干方面,并且与描述一起用来解释本发明的原理。
图1图示了能够提供远程安装的显示器的显示数据完整性的燃料补给器
IO的示例实施例;
图2是使用对于被传送以便显示在远程安装的显示器上的数据的数据完 整性运算而提供远程显示器篡 文;险测的示例安全子系统的框图3是图示提供远程安装的显示器的显示数据完整性的示例步骤的流程
图4是图示提供远程安装的显示器的显示数据完整性的示例步骤的流程 图,所述示例步骤包括循环冗余校验(CRC)算法选择和与显示数据有关的算法 选项;
图5是图示提供远程安装的显示器的显示数据完整性的示例步骤的流程 图,所述示例步骤包括与远程显示器的垂直同步控制信号相关联的CRC算法 选择;
图6图示了可以用作本发明的远程安装的显示器的通用显示器的示例时 序图;以及
图7图示了用于在安全模块和远程显示器安全模块之间发送CRC算法选 择以及用于基于图6的通用时序图的使用而检测对显示器的篡改或拆除的示
例步骤。
具体实施例方式
下面阐述的实施例代表使得本领域技术人员能够实践本发明的必要信 息、并且说明实践本发明的最佳模式。当考虑到附图而阅读以下描述时,本 领域技术人员将理解本发明的构思,并且将认识到在这里没有具体提出的这 些构思的应用。应当理解,这些构思和应用落入本7>开和所附权利要求的范围内。
下面,在描述本发明的特定方面之前,描述关于燃料补给器IO的一些基 本信息。图1图示了能够提供远程安装的显示器中的显示数据完整性的燃料补给器10的示例实施例。燃料补给器10具有基座12和顶盖14、以及由两 个侧4反18支撑的顶棚16。
燃料补给器10 4皮细分为多个隔间。液压区域20用来装入液压組件,并 且电子区域22用来装入电子组件。可以使用蒸汽隔板(未示出)来将液压区域 20与电子区域22分开。
用来控制燃料流动的若干组件可以装在液压区域20中。通过管道网络将 来自地下储存罐(UST-未示出)的燃料抽到入口或者燃料补给管道中。入口管 道24提供从UST起的管道网络。
当补给燃料时,燃料开始运送通过响应流动速率或体积的计量表26。采 用脉沖发生器28来响应于通过计量表26的燃料运动而产生信号。数据线30 提供从脉冲发生器28到安全模块32的信令路径。数据线30将指示计量表 26内的正在补给的燃料的流动速率或体积的信号提供给安全模块32。安全模 块32包括控制器和用于燃料补给器10内的交易级别(transactional-level)和功 能处理的控制电路。除了燃料补给器10内的交易级别和功能处理以外,安全 模块32还提供安全措施,在对图1中的燃料补给器IO的当前高等级描述之 后,将结合图2而更详细地描述安全措施。
继续描述图1,当从燃料补给器10补给燃料时,安全^^莫块32在该补给 交易期间接收来自与上述计量表26相关联的脉沖发生器28的信令。响应于 来自脉沖发生器28的信令的接收,安全模块32提供在燃料补给器10中的交 易级别功能。安全模块32直接或间接地收集与计量表26相关联的计量表流 量测量结果。
当补给交易进行时,燃料随后被输送到软管34并且通过喷嘴36而被输 送到顾客的车辆(未示出)。燃料补给器10包括喷嘴卡扣(boot) 38,其可以 用来在不使用喷嘴36时支撑和保持喷嘴36。喷嘴卡扣38可以包括机械或电 子开关(未示出)以指示何时对于燃料补给请求取下喷嘴36以及何时将喷嘴36 放回原处,从而表示燃料添加交易的结束。控制线(未示出)提供从电子开关到 安全模块32的信令路径。安全模块32使用经由控制线接收的信令以便对何 时开始或完成交易做出确定。
燃料补给器IO还包括用户接口 40以允许用户/顾客与燃料补给器10交 互并且控制燃料补给器IO处的补给器交易。用户接口 40包括多种输入和输 出设备。用户接口 40包括交易总价格显示器42,其可以用来向用户呈现为了燃料而要向顾客收取的价格。用户接口 14还包括交易总加仑显示器44,
升为单位的补给的燃料的测量结果。
图1的示例中图示的燃料补给器IO是能够补给不同等级的燃料的多产品 补给器。每个等级的燃料的每单位价格(PPU)被显示在显示器46上。提供辛 烷选择按钮48以供顾客在开始补给之前选择要补给哪个等级的燃料。
用户接口 40还包括显示器50,其可以用来向顾客提供指令、提示、和/ 或广告或者其它信息。可以响应于显示器50上的提示而通过使用软键52或 小键盘界面54上的键来做出顾客的选择。软键52可以被设计为排列近似的 提示以便使顾客响应于问题或请求而指示他或她希望的选择。燃料补给器10 还可以包括读卡器56,其被适配为接纳用于为所补给的燃料付款的磁条卡, 例如信用卡或借记卡。燃料补给器IO还可以包括用于接收与诸如预付款补给 器交易之类的交易相关联的交易处理的付款信息的其它付款或交易型设备, 包括钞票接受器58、光学读取器60、智能卡读取器62和计量生物学读取器 64。燃料补给器10包括收据打印机66,使得可以产生具有在燃料补给器10 处进行的补给交易的记录的收据并且将其提供给顾客。
如先前所述,安全模块32可以用来从与燃料补给器10中的计量器相关 联的脉冲发生器收集计量测量结果。安全模块32还在补给交易期间控制用户 接口 40,例如在加油交易之前、期间和之后向顾客提供指令、提示等。
安全模块32还经由控制/数据线接口 70与远程显示器安全模块68通信。 远程显示器安全模块68包括控制器和控制电路,如将在下面更详细地描述的 那样,所述控制电路用于提供作为用户接口 40 —部分的显示器50的显示数 据完整性和篡改;险测。控制/数据线接口 70可以包括显示器的数据和控制线, 并且还可以包括用于经由控制/数据线接口 70而在安全模块32和远程显示器 安全模块68之间进行的信号发送的反馈线。
通过提供安全模块32和远程显示器安全模块68,燃料补给器10可以提 供显示器50的篡改和拆除检测,并且能够满足信用卡公司强加的新的安全标 准。如下面将更详细地描述的,可以将从安全模块32发送到显示器50的数 据与数据完整性运算相关联,并且可以在远程显示器安全模块68处重复该运 算,以便验证在传输期间数据未被篡改。此外,远程显示器安全模块68可以 确定显示器是否被篡改或拆除,并且可以将该信息传达给安全^f莫块32以便满足新的安全标准。
图2图示了使用对于被传送以便在诸如显示器50的远程安装的显示器上 显示的数据的数据完整性运算来提供远程显示器篡改检测的示例安全子系统 的框图。图示了用户接口40,其包括被远程安装并且固定地附接到远程显示
器安全模块68的显示器50。显示器50可以通过足以在显示器50和远程显 示器安全模块68之间形成防篡改数据接口的任何手段而附接到远程显示器 安全模块68。
安全模块32包括安全显示控制器80,其经由控制/数据线接口 70与远程 显示器安全模块68通信。利用表示用于控制/数据线接口 70的控制和数据信 号的方向的定向箭头来图示控制/数据线接口 70的双向性质。安全显示控制 器80包括中央处理单元(CPU)82、传送数据完整性模块84、和接收数据完整 性模块86。
传送数据完整性模块84对被传送以便在显示器50上显示的数据进行传 送数据完整性运算。该传送数据完整性运算可以包括循环冗余校验(CRC)或者 能够用于验证所传送的数据的任何其它机制。例如,数据完整性运算可以包 括对所传送的数据或者在响应中执行的基于数学或码的运算、算法和/或确 认,其能够在发送者和接收者之间重复以便确保所传送的和所接收的数据相 同。通过对要显示的数据执行数据完整性运算,可以在接收时在接收数据完 整性模块86处验证所述数据,如下面将更详细地描述的那样,以便允许对于 在传送期间数据未被篡改的验证。此外,可以使用加密技术来进一步提高安 全性。
当准备好传送数据以便在显示器50上显示时,传送数据完整性模块84 对要显示的数据执行所选择的传送数据完整性运算。然后,传送数据完整性 模块84将该数据发送到远程显示器安全模块68,其中,远程显示器安全模 块68可以对相同的显示数据计算它自己的数据完整性结果,并且将该结果返 回给接收数据完整性模块86以进行比较。
可以不时地改变所选择的传送数据完整性运算以便提高安全性。例如, 可以对显示数据的不同部分执行CRC计算,或者可以使用移位寄存器来在 CRC计算中延迟某些位。此外,可以对显示数据的相同或不同部分执行多种 算法。要使用的算法上的其它变化是可能的,并且全部都被认为是处于在此 描述的主题的范围内。此外,可以使用所传送的数据中的字段来标识用于传送数据完整性运算 的一种或多种算法,使得可以使用相同的一种或多种算法来验证所述数据。 所标识的一种或多种算法可以包括对于要对显示数据的哪一部分或哪些部分 进行运算以及要对该数据执行的任何其它特定运算的指示,如上面所述。
算法的改变可以随机地发生或者可以是周期性的。例如,可以使用用于
显示器50的垂直或水平同步信号或复位信号来指示接下来传送的^:据包括 算法选择。该算法选择可以被进一步包括在单独的数据流中,该数据流本身 可以被加密或者使用特定的或变化的完整性校验来验证以便进一步提高安全 性。下面,与图6和图7相关联地描述本发明的一个实施例的详细示例。
远程显示器安全模块68从安全模块32接收要显示的数据。远程显示器 安全模块68包括接收所传送的数据的远程数据完整性模块88。如下面将更 详细地描述的那样,远程lt据完整性;漠块88产生它自己的数据完整性结果, 并且将其发送给安全模块32。然后,安全模块32将远程数据完整性模块88 产生的结果与它在将所述数据发送给远程显示器安全模块68之前产生的结
欺诈行为的指示。
远程数据完整性模块88可以包括能够检测显示器50是否已经被篡改或 者从远程显示器安全模块68拆除的CPU或硬件。为了检测对显示器50的篡 改或者显示器50从远程显示器安全模块68的拆除,远程显示器安全模块68 包括篡改检测电路和开关(未示出)。篡改检测电路可以包括耦接到远程数据完 整性模块88或者是远程数据完整性模块88的一部分的电路,该电路检测来 自篡改检测开关的信号并且处理那些信号以便确定显示器50是否已经被篡 改或拆除。此外,所述开关可以在复位或断电状态期间;波触发,并且可以在 消除复位或断电状态之后的启动序列期间或者与该启动序列相关联地保持有 效(active)以及被感测,以便防止在这些状态期间显示器被篡改或拆除。例 如,所述开关可以与电源供电的电路相关联,或者可以以其它方式提供能够 与消除复位或断电状态之后的启动序列相关联地;故感测的适当指示。篡改才企 测电路开关可以包括柱塞转换开关(plunge switch )、接近开关(proximity switch )、或者能够检测对显示器50的篡改或显示器50从其安装位置或从远 程显示器安全模块68的拆除的任何其它类型的机构。
远程数据完整性模块88对所接收的数据执行所选择的数据完整性运算,并且将该数据完整性运算的结果作为接收数据完整性代码而经由控制/数据
线接口 70传送到安全模块32。在篡改检测的情况中,远程数据完整性模块 88将停止把接收数据完整性代码传送到安全模块32。以这一方式,安全模块 32将能够确定远程显示器被拆除或篡改,如下面将更详细地描述的那样。
在接收到来自远程显示器安全模块68的接收数据完整性代码之后,安全 模块32的接收数据完整性模块86将该接收数据完整性代码与传送数据完整 性代码进行比较。如果这两个代码匹配,则接收数据完整性模块86可以向 CPU 82通知在远程显示器安全模块68处正确地接收了所述数据。如果存在 不匹配,则接收数据完整性模块86可以向CPU82警告在远程显示器安全 模块68处没有正确地接收所述数据。以这一方式,可以提供显示器50的数 据完整性。
此外,因为远程显示器安全模块68包括篡改和拆除检测电路,并且当检 测到对显示器50的篡改或拆除时,远程数据完整性模块88停止传送接收数 据完整性代码,所以安全模块32可以根据没有从远程数据完整性模块88接 收到接收数据完整性代码来确定显示器50被篡改或拆除。例如,当远程显示 器安全模块68的篡改和拆除检测电路检测到指示有人已经篡改或拆除了显 示器50的事件时,远程数据完整性模块88停止将接收数据完整性代码发送 回安全模块32。可替换地,远程数据完整性模块88可以将单独的错误代码 发送给安全模块32以指示已经发生的实际事件。在任一情况中,安全模块 32可以检测出已经发生了远程显示器数据完整性的问题。此外,也可以检测 出控制/数据线接口 70的完整性的问题。
应当注意,尽管安全模块32被图示为具有作为安全模块32的一部分而 被包括的小键盘接口 54,但是这一表示是为了易于说明的目的,并且不应被 认为是限制性的。
图3图示了提供诸如显示器50的远程安装的显示器的显示数据完整性的 示例过程。该过程开始于步骤302。该过程通过在安全显示控制器处对要显 示在远程显示器上的显示数据执行第一数据完整性运算来产生第一数据完整 性结果(步骤304)。例如,安全显示模块80可以通过对要传送以便显示在显 示器50上的数据执行CRC算法来计算CRC代码。此外,如上所述,可以时 不时地改变所使用的算法以便提高安全性,并且可以与要从安全显示控制器 80传送到显示器50的显示数据相关联地包括对于所选择的算法的指示。将显示数据从安全显示控制器传送到远程显示器安全模块(步骤306)。例 如,安全显示控制器80可以将要显示在显示器50上的数据传送到远程显示 器安全模块68。
远程显示器安全模块接收显示数据(步骤308)。通过对在远程显示器安全 模块处接收的显示数据执行第一数据完整性运算来产生第二数据完整性结果 (步骤310)。例如,远程显示器安全模块68可以接收该显示数据,并且可以 执行与由安全显示控制器80对该显示数据执行的CRC计算相同的CRC计 算。此外,如果与显示数据一起接收到对于要使用的算法的指示,则可以从 一组可用算法中选择所述算法。
如果第一数据完整性结果与第二数据完整性结果不匹配,则在安全显示 控制器处确定远程显示器已被篡改(步骤312)。例如,如果安全显示控制器80 从远程显示器安全模块68接收到CRC代码,则安全显示控制器80可以将从 远程显示器安全模块68接收的该CRC代码与对于发送给远程显示器安全才莫 块68的显示数据产生的CRC代码进行比较。如果这两个代码不匹配,则安 全显示控制器80可以确定有人已经篡改了显示器50。此外,如果没有从远 程显示器安全模块68接收到代码,则安全显示控制器80也可以确定有人已 经篡改了显示器50。相反,如果这两个代码匹配,则安全显示控制器80可 以确定显示器50未被篡改并且控制/数据线接口 70、远程显示器安全模块68 和显示器50正在正确地工作。
图4图示了提供远程安装的显示器的显示数据完整性的示例过程,该示 例过程包括CRC算法选择和与显示数据有关的算法选项。该过程开始于步骤 402。使用CRC标识符而从一组CRC算法中选择CRC算法(步骤404)。基于 所选择的CRC算法,对于是否在对显示数据执行所选择的CRC算法之前修 改该显示数据做出确定(判定点406)。例如,所选择的CRC算法可能指示要 在对显示数据执行所选择的CRC算法之前旋转、移位、或者以其它方式修改 显示数据。如经由所选择的CRC算法指示的那样来修改显示数据(步骤408 )。
基于所选择的CRC算法,对于将把显示数据的全部还是一部分用于CRC 计算做出确定(判定点410)。例如,所选择的CRC算法可能指示仅将显示数 据的一部分用于对于显示数据的CRC的计算。此外,可以使用显示数据的多 个部分。这些部分可以通过布置选项(placementoption)而被级联、^皮进一步移 位、或者以其它方式修改,以便得出要利用所选择的算法进行运算的 据。以这一方式,可以对显示数据的任何部分执行所选择的算法,并且可以基于 所选择的算法来动态地改变所选择的部分。
当确定要对整个显示数据执行所选择的CRC算法时,可以对整个显示数 据执行所选择的CRC算法(步骤412)。当确定要对显示数据的一部分执行所 选"^奪的CRC算法时,如上所述,可以对显示数据的所选部分执行该CRC算 法(步骤414)。
此外,也可以基于所选择的CRC算法来对是否在将显示数据传送到远程 显示器安全模块68之前修改输出的CRC代码做出确定(步骤416)。例如,可 以进行CRC代码的2的补码、移位或旋转以进一步提高安全性。当确定修改 输出的CRC代码时,可以执行该修改(步骤418)。
此外,将算法选择标识符添加到显示数据上,使得它能够被传送到远程 显示器安全模块68,以便提供与该数据相关联的CRC算法的远程选择(步骤 420)。
然后,将显示数据和算法选择标识符发送到远程显示器安全模块68以便 显示(步骤422)。然后,该过程通过返回步骤404以处理要传送的下一显示数
据而重复。
图5图示了提供远程安装的显示器的显示数据完整性的示例过程,该示 例过程包括与用于远程显示器的垂直同步控制信号相关联的CRC算法选择。 可以代替该垂直同步信号而使用任何控制信号或事件。例如,也可以使用复 位信号或水平同步信号。该过程开始于步骤502。
对是否将垂直同步信号发给诸如显示器50的远程显示器做出确定(步骤 504)。当确定要为该远程显示器产生垂直同步信号时,从一组CRC算法中选 择CRC算法(步骤506)。可以随机地选择该CRC算法,或者可以以依序或循 环的方式来选择该CRC算法。此外,可以通过该数据流自身中的位字段来选 择CRC算法。例如,如果要使用4种算法,则可以使用显示数据的任何部分 中的两位来选择算法。此外,用来选择算法的位可以随时间改变。因此,当 显示数据改变时,可以基于显示数据改变所选择的算法。
对显示数据执行所选择的算法(步骤508)。可以作为CRC算法执行的一 部分而实现与图4相关地描述的任何替代方式。将算法选择标识符添加到显 示数据上,使得可以将其传送到远程显示器安全模块68(步骤510)。如上所述, 可以使用显示数据本身来选择算法。然后,将显示数据和算法选择标识符发送给远程显示器安全模块68以进 行验证和显示(步骤512)。然后,该过程通过返回步骤504以处理要传送的下 一显示数据而重复。图6图示了可以用作上文所述并且具体地是图5中的远程安装的显示器 50的通用显示器的示例时序图。垂直同步(Vsync)信号602^皮示出为具有有效 区域604和606的有效低信号。Vsync信号用来指示诸如显示器50的显示器 的显示更新周期的开始。使用水平同步(Hsync)信号608来标识与显示器50的水平区域相关联的 数据的区域。图示了预数据时段610、数据时段612和后数据时段614。在预 数据时段610和后数据时段614期间,没有数据被传递到显示器50。因此, 如将在下面更详细地描述的那样,可以使用这些区域来发送CRC算法选择信 息。可替换地,在数据时段612期间,可以在显示数据中传递CRC算法选择, 并且/或者可以通过显示数据来选择CRC算法选择。在图6中,在Hsync信号608下面扩展数据时段612。图示了有效高数 据使能(DE)信号616。在数据时段612期间,DE信号616对于被提供给显示 器50的每个数据组而激活。图示了示例DE信号脉冲618、 620和622。对于红色、绿色和蓝色变形(variant),数据总线624将显示数据传递到 显示器50。用于红色(例如RO - RZ)、绿色(例如GO - GZ)和蓝色(例如BO -BZ)的字段可以是例如每个字段六(6)位,从而产生十八(18)位的数据总线624 的数据总线宽度。诸如数据总线624的数据总线的总线宽度和颜色字段宽度 的其它变化是可能的,并且全部都被视为处于在此描述的主题的范围内。数据段626传递要在DE信号脉冲618期间写入的显示器50的第一行的 显示数据。数据段628传递要在DE信号脉冲620期间写入的显示器50的行 的显示数据。数据段630传递要在DE信号脉冲622期间写入的显示器50的 最后一行的显示数据。出于说明的目的,将假设要首先写入显示器50的顶部行,并且要最后写 入底部行。因此,数据段626代表要写入显示器50的顶部行的数据,数据段 630代表要写入显示器50的底部行的数据。在图6中使用独立变量"Y"来 代表要写入显示器50的各个数据段的行标识符。在图6中,该独立变量被示 出为在零(O)和"Ymax"之间变化。对于具有640x480个像素的分辨率的显示 器,Y的最大值可以是例如四百七十九(479),其中,提供480个像素行以显示数据,并且利用零(0)来标识第一行。在图6中使用独立变量"X"来标识要写入数据的行中的像素。因此,标识符D(X, Y)与在DE信号脉冲620期间出现的数据段628相关联。同样, 标识符D(X, 0)与DE信号脉冲618期间的数据段626相关联,标识符D(X, Yn^)与DE信号脉冲622期间的数据段630相关联。在图6中,在扩展的数据时段612之下扩展DE信号脉冲620和数据总 线624的数据,殳628。如可以/人图6看到的,表示出数据l殳632、 634和636。 与数据段632 、 634和636相关联的标识符分别是D(O , Y) 、 D( 1 , Y)和D(Xmax,Y)。 对于640x480显示器的示例,X值的范围可以在零(0)和六百三十九(639)之 间。可以利用数据时钟(未示出)在任何数据段期间锁存数据。因此,对于诸如 数据时段612的任何显示器写入时段,可以通过在显示器上改变独立变量X 和Y的值来写入显示器中的所有像素。如上所述,可以使用写入显示器的数据值来选择CRC算法。可以在逐个 像素的基础上执行该算法选择,或者可以利用诸如第一数据段(例如D(O, 0) -在图6中没有示出)的数据段内的数据,对诸如数据段612的整个显示序列 执行该算法选择。这样,可以在诸如数据时段612的显示序列的开头执行CRC 算法选择,并且可以在整个显示更新序列期间使用该CRC算法选择。可替换 地,可以在显示序列的末尾或者在任何中间数据段期间执行该CRC算法选 择,并且该CRC算法选择可以一直有效到^皮改变为止。因为在显示凝:据写入 时段期间DE信号616是有效的,因此在CRC算法选择时段期间可以使用 DE信号616来选通显示^:据。此外,可以对诸如DE信号^P中618的DE信 号616的脉沖进行计数以便调整将使用哪个显示数据段来标识CRC算法。 CRC算法的改变可以被随机化或者随时间变化,以进一步提高安全性。可替换地,可以在不与有效显示数据传送相关联的时段期间,例如在预 数据时段610和后数据时段614期间,执行CRC算法选择。CRC算法选择 可以基于显示数据。例如,可以使用寄存器来捕捉显示数据的某个部分,并 且可以在Vsync信号的上升沿之后的第三Hsync脉冲期间将该数据复用到数 据总线624上。用于传达CRC算法选择的其它位置是可能的。此外,被捕捉时间变化。作为另 一替代方式,可以在不与有效显示凄t据传送相关联的这些时段期间与显示数据无关地执行CRC算法选择。可以使用基于等式的计算来选择CRC算法。例如,在每次后续的显示数据更新时,可以对寄存器中的固定宽 度的位字段执行模运算。可以使用该模运算的结果来从一组CRC算法中选择 CRC算法。然后,可以在不与有效显示数据传送相关联的这些时段期间传送 CRC算法标识符。同样,可以使用任何数目的位来选择CRC算法,并且还可以在多个数据 值上执行算法选择以进一步扩大可以使用的可能的CRC算法排列的数目。因 此,所使用的等式或者位字段宽度可以随时间改变。图7图示了用于在安全模块32和远程显示器安全模块68之间传达CRC 算法选择以及用于基于图6的通用时序图的使用来检测对显示器的篡改或拆 除的示例过程。图7图示了一起工作的两个子过程。图7的左边部分代表在 显示数据传送侧,例如在安全模块32处发生的处理。图7的右边部分代表在 显示数据接收侧,例如在远程显示器安全模块68处发生的处理。可以使用控 制/数据线接口 70来在安全模块32和远程显示器安全模块68之间通信。产生显示数据和同步信号(步骤700)。在安全模块32中的传送数据完整 性模块84处以及在远程显示器安全模块68中的远程数据完整性模块88处接 收该显示数据和同步信号(分别为步骤702和704)。对是否已经在传送数据完 整性模块84处以及在远程数据完整性模块88处接收到Vsync信号做出确定 (分别为步骤706和708)。如果在这两个模块处接收到垂直同步,则可以基于 所接收到的后续显示数据改变CRC算法(分别为步骤710和712)。可替换地, CRC算法可以保持相同,并且可以通过上述显示器界面信号的任何其它关系 而改变。对于所传送的数据产生CRC代码(步骤714),并且该过程等待接收 CRC结果(步骤716)。对显示器是否已经被篡改或拆除做出确定(步骤718)。如果确定显示器已 经被篡改或拆除,则该过程停止在远程显示器安全模块68处产生CRC代码 (步骤720)。通过停止在远程显示器安全模块68处产生CRC代码,安全模块 32将能够确定显示器50已经被篡改或拆除。如果确定显示器未被篡改或拆 除,则该过程在远程显示器安全^t块68处产生CRC代码(步骤722)。然后, 该过程将结果发送回安全模块32(步骤724)。在安全模块32处接收到CRC代码(步骤716)使得该过程能够将所接收的 CRC代码与所传送的CRC代码进行比较(步骤726)。然后,对于CRC结果是否匹配做出确定(步骤728)。如果这两个结果不匹配,则向CPU通知入侵(步 骤730)。还应当注意,上述过程也可以检测其它问题,例如控制/数据线接口 70的完整性的问题。如果这两个结果匹配,则该过程返回以产生下一显示更 新序列的显示数据和同步(步骤700)。本领域技术人员将认识到对于本发明优选实施例的改进和修改。所有这 些改进和修改都被视为处于在此公开的构思和所附权利要求的范围内。
权利要求
1.一种用于检测对具有相关联的远程显示器安全模块的远程显示器的篡改的方法,包括以下步骤通过对要显示在远程显示器上的显示数据执行第一数据完整性运算来在安全模块处产生第一数据完整性结果;将该显示数据从安全模块传送到远程显示器安全模块;在远程显示器安全模块处接收该显示数据;在远程显示器安全模块处,通过对所接收的显示数据执行第一数据完整性运算来产生第二数据完整性结果;以及如果第一数据完整性结果与第二数据完整性结果不匹配,则在安全模块处确定远程显示器已经被篡改。
2. 如权利要求l所述的方法,其中,如果第一数据完整性结果与第二数 据完整性结果不匹配则确定的步骤包括在安全模块处不接收第二数据完整 性结果。
3. 如权利要求1所述的方法,还包括在远程显示器上显示所述显示数据。
4. 如权利要求3所述的方法,其中,显示所述显示数据的步骤是在远程 显示器安全模块处执行的。
5. 如权利要求1所述的方法,还包括监控远程显示器安全模块处的篡 改4企测开关。
6. 如权利要求5所述的方法,包括通过感测来自篡改检测开关的、指 示远程显示器已经被篡改的信号,在远程显示器安全模块处确定远程显示器 已经被篡改。
7. 如权利要求6所述的方法,其中,在远程显示器安全模块处的复位状 态和断电状态中的至少一个之后,远程显示器安全模块与用于该远程显示器 安全模块的启动序列相关联地感测来自篡改检测开关的、指示远程显示器已 经被篡改的信号。
8. 如权利要求5所述的方法,其中,篡改检测开关是从由柱塞转换开关 和才妄近开关组成的组中选择的。
9. 如权利要求l所述的方法,其中,第一数据完整性运算包括对显示数据计算循环冗余校验(CRC)。
10. 如权利要求8所述的方法,其中,对显示数据的固定部分计算CRC。
11. 如权利要求8所述的方法,其中,对显示数据的变化的部分计算CRC。
12. 如权利要求8所述的方法,其中,通过延迟显示数据的至少一位来 计算CRC。
13. 如权利要求l所述的方法,其中,第一数据完整性运算是从多个数 据完整性运算中选择的。
14. 如权利要求l所述的方法,其中,与对于远程显示器声明的控制信 号相关联地选择第一数据完整性运算。
15. 如权利要求1所述的方法,还包括将标识多个数据完整性运算中 的第 一数据完整性运算的指示发送给远程显示器安全模块。
16. 如权利要求14所述的方法,其中,在除了将显示数据发送给远程显 示器安全模块时以外的时间,将标识第一数据完整性运算的指示发送给远程 显示器安全模块。
17. 如权利要求l所述的方法,其中,使用显示数据的至少一部分来选 择多个数据完整性运算中的第一数据完整性运算。
18. —种用于检测对具有相关联的远程显示器安全模块的远程显示器的 篡改的系统,包括以下步骤安全才莫块,^皮适配为通过对要显示在远程显示器上的显示数据执行第一数据完整性运算 来产生第一数据完整性结果;将该显示数据传送到远程显示器安全^^莫块;并且 如果第一数据完整性结果与第二数据完整性结果不匹配,则确定远 程显示器已经被墓改;以及远程显示器安全模块,被适配为 接收显示数据;以及通过对在远程显示器安全模块处接收的显示数据执行第一数据完整 性运算来产生第二数据完整性结果。
19. 如权利要求18所述的系统,其中,安全模块还被适配为当没有接收 到第二数据完整性结果时,确定第 一数据完整性结果是否与第二数据完整性 结果不匹配。
20. 如权利要求18所述的系统,其中,远程显示器安全模块还被适配为 在远程显示器上显示所述显示lt据。
21. 如权利要求18所述的系统,其中,远程显示器安全模块还被适配为 监控篡改检测开关。
22. 如权利要求21所述的系统,其中,远程显示器安全模块还被适配为 通过感测来自篡改检测开关的、指示远程显示器已经被篡改的信号,确定远 程显示器已经被篡改。
23. 如权利要求22所述的系统,其中,远程显示器安全模块还被适配为 在远程显示器安全模块处的复位状态和断电状态中的至少 一个之后,与用于 该远程显示器安全模块的启动序列相关联地感测来自篡改检测开关的、指示 远程显示器已经被篡改的信号。
24. 如权利要求21所述的系统,其中,篡改检测开关是从由柱塞转换开 关和4妄近开关组成的组中选择的。
25. 如权利要求18所述的系统,其中,安全模块和远程显示器安全模块 被适配为通过对显示数据计算循环冗余校验(CRC)来执行第 一数据完整性运 算。
26. 如权利要求25所述的系统,其中,安全模块和远程显示器安全模块 被适配为对显示数据的固定部分计算CRC。
27. 如权利要求25所述的系统,其中,安全模块和远程显示器安全模块 被适配为对显示数据的变化的部分计算CRC。
28. 如权利要求25所述的系统,其中,安全模块和远程显示器安全模块 被适配为通过延迟显示数据的至少一位来计算CRC。
29. 如权利要求18所述的系统,其中,第一数据完整性运算包括多个数 据完整性运算中的至少一个。
30. 如权利要求18所述的系统,其中,安全模块被适配为与对于远程显 示器的控制信号的声明相关联地选择第 一数据完整性运算。
31. 如权利要求18所述的系统,其中,安全模块被适配为将标识包括多 个数据完整性运算中的至少 一个的第 一数据完整性运算的指示发送给远程显 示器安全^f莫块。
32. 如权利要求31所述的系统,其中,安全模块被适配为在除了将显示 数据发送给远程显示器安全模块时以外的时间,将标识包括多个数据完整性运算中的至少 一个的第 一数据完整性运算的指示发送给远程显示器安全模 块。
33.如权利要求18所述的系统,其中,安全模块和远程显示器安全模块 还被适配为使用显示数据的至少一部分来选4奪多个数据完整性运算中的第一 数据完整性运算。
全文摘要
用于检测对远程显示器的篡改的方法和系统。根据一种方法,通过对要显示在远程显示器上的显示数据执行第一数据完整性运算来在安全模块处产生第一数据完整性结果。将该显示数据从安全模块传送到远程显示器安全模块。远程显示器安全模块接收该显示数据。在远程显示器安全模块处,通过对所接收的显示数据执行第一数据完整性运算来产生第二数据完整性结果。如果第一数据完整性结果与第二数据完整性结果不匹配,则在安全模块处对远程显示器是否已经被篡改做出确定。
文档编号G06F9/00GK101611379SQ200780050185
公开日2009年12月23日 申请日期2007年11月7日 优先权日2006年11月21日
发明者乔瓦尼·卡拉佩利, 约瑟夫·D·朗 申请人:吉尔巴科公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1