CN109245895A - 用于检测受损数据的***和方法 - Google Patents

用于检测受损数据的***和方法 Download PDF

Info

Publication number
CN109245895A
CN109245895A CN201810840630.8A CN201810840630A CN109245895A CN 109245895 A CN109245895 A CN 109245895A CN 201810840630 A CN201810840630 A CN 201810840630A CN 109245895 A CN109245895 A CN 109245895A
Authority
CN
China
Prior art keywords
message
mac
data
record
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810840630.8A
Other languages
English (en)
Other versions
CN109245895B (zh
Inventor
德米特里·A·库拉基尼
帕维尔·V·迪亚金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2018104435A external-priority patent/RU2697953C2/ru
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN109245895A publication Critical patent/CN109245895A/zh
Application granted granted Critical
Publication of CN109245895B publication Critical patent/CN109245895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了用于受损数据的***和方法。确保数据安全的***和方法。为来自包含至少两个消息的数据记录的每个选定的消息顺序地计算MAC。为了构建数据块,预设的加密密钥被用于第一消息,并且用于先前消息的加密密钥被用于后续的消息。可以基于MAC数据块数据和MAC的独立计算来确定数据记录受损。

Description

用于检测受损数据的***和方法
相关申请
本申请要求于2018年2月6日提交的俄罗斯申请第2018104435号的优先权,其通过引用全部并入本文。
技术领域
本发明涉及数据存储技术,并且更具体地,涉及使用有限数量的计算资源来确保数据的信息安全的***和方法。
背景技术
随着各种计算设备(个人计算机、笔记本、智能手机等)以及特别是嵌入式***(微控制器、数据存储***等)的普及,计算机技术的最近快速发展已经导致这种设备在各种活动领域和大量任务(从网上冲浪到冰箱控制到从汽车传感器收集数据)中的使用。与正在使用的计算设备数量的增长并行,由这些设备处理的数据量也增加了,这反过来又确保了收集和处理的数据的信息安全。
使用不准确或不完整的信息会造成重大损害和财务损失。例如,在银行业,用户个人数据的替换可能导致银行客户资金损失。在金融业,不准确或不完整的信息可能导致数十亿的损失,并使证券交易所操作瘫痪。在保险业,伪造的信息可能会导致非法付款,并给保险公司造成损失。
为确保数据的信息安全,即保护数据不被修改、删除或替换,目前正在使用各种技术,包括数据备份、对数据的对称和非对称加密、对数据的抗噪声编码和区块链技术。
例如,美国专利申请公布第2003/0236992号描述了一种用于保护数据记录(log)免受未授权修改的***。为了确认来自所述记录的每个消息,使用对称加密密钥和消息认证码。每个从数据记录中新接收的消息都基于先前接收的消息计算的对称密钥加密;为了确认消息的正确性,计算消息认证码并将其与当前消息相关联。这允许确定在处理先前消息之后以及处理当前消息之前对记录所做的任何更改。
上述***可以保护数据不被修改、删除或替换,但只有当有足够的计算资源可用时(处理器时间、RAM、可移除介质上的空间等)才可以。此外,当计算资源的数量或数据处理所允许的时间有限时,这样的解决方案缺乏效率。
因此,需要使用有限数量的计算资源来确保数据的信息安全。
发明内容
实施例解决了上述问题以使用有限数量的计算资源来确保数据的信息安全。
在实施例中,一种用于检测受损数据的***包括计算平台,该计算平台包括至少一个处理器的计算硬件和可操作地耦合到该至少一个处理器的存储器;指令,当在计算平台上执行指令时,使计算平台实现:加密密钥构建工具,被配置为基于所述加密密钥构建工具的至少一个特性来构建初始预设密钥,并基于先前构建的密钥构建加密密钥;消息关联码(MAC)计算工具,被配置为从加密密钥构建工具接收初始预设密钥和加密密钥,拦截与事件相关的第一消息和与事件相关的第二消息,并且顺序地为所述第一消息和所述第二消息生成MAC,其中基于所述初始预设密钥和所述第一消息为所述第一消息生成所述MAC,并且基于用于所述第二消息的加密密钥和针对第二消息所构建的数据块为所述第二消息生成MAC,该数据块包括所述第二消息和为所述第一消息生成的MAC,并且其中用于第二消息的先前构建的密钥是初始预设密钥,将记录写入数据记录,该记录包括第一消息和第二消息和为第二消息生成的MAC,并且将数据记录从数据记录写入消息库;检查确定工具,配置为基于预设规则拦截所述事件,并且使用所拦截事件和消息库数据确定是否执行数据受损检查;以及检查工具,被配置为分析从检查确定工具接收到的每个记录以确定记录中的MAC是否与预期的MAC相匹配,并且当记录中的MAC与预期的MAC不匹配时指示数据受损。
在实施例中,一种用于检测数据记录中的受损数据的方法包括:为数据记录中的第一消息和数据记录中的第二消息顺序地计算MAC,其中基于初始预设密钥和所述第一消息为所述第一消息生成MAC,并且基于用于所述第二消息的加密密钥和针对第二消息所构建的数据块为所述第二消息生成MAC,该数据块包括所述第二消息和为所述第一消息生成的MAC,并且其中用于所述第二消息的先前构建的密钥是所述初始预设密钥;向消息数据库写入记录,所述记录包括所述第一消息和第二消息以及为所述第二消息生成的MAC;分析每个记录以确定所述记录中的MAC是否与预期的MAC匹配;以及当所述记录中的MAC与所述预期的MAC不匹配时,指示数据受损。
在实施例中,一种用于检测车辆数据记录中的受损数据的***包括:车辆,其包括至少一个车辆传感器引擎,其被配置为在第一时间检测所述车辆的第一特征,并将包括所述车辆的第一特征的第一消息和对应于所述第一时间的第一时间戳写入所述车辆数据记录,以及在第二时间检测所述车辆的第二特征,并且将包括所述车辆的第二特征的第二消息和对应于所述第二时间的第二时间戳写入所述车辆数据记录,至少一个处理器和可操作地耦合到所述至少一个处理器的存储器,所述存储器包括指令,当在所述至少一个处理器上执行所述指令时使所述至少一个处理器实现消息关联码(MAC)计算工具,其被配置为,为所述第一消息和所述第二消息顺序地生成MAC,其中基于所述初始预设密钥和所述第一消息为所述第一消息生成所述MAC,并且基于用于所述第二消息的加密密钥和针对第二消息所构建的数据块为所述第二消息生成MAC,该数据块包括所述第二消息和为所述第一消息生成的MAC,并且其中用于所述第二消息的先前构建的密钥是所述初始预设密钥,向数据记录写入记录,所述记录包括所述第一消息和第二消息以及为所述第二消息生成的MAC;以及服务器,其可操作地耦合到所述车辆并且包括消息库,配置为存储数据记录,至少一个服务器处理器和可操作地耦合到所述至少一个服务器处理器的服务器存储器,包括指令,当在所述至少一个服务器处理器上执行所述指令时,使所述至少一个服务器处理器实现检查确定工具,其被配置为接收所述第一消息或所述第二消息,以及使用所接收的消息和所述数据记录来确定是否执行数据受损检查;以及检查工具,其被配置为分析从所述检查确定工具接收到的每个数据记录以确定所述数据记录中的MAC是否与预期的MAC相匹配,并且当数据记录中的所述MAC与预期的MAC不匹配时,指示数据受损。
以上概述不旨在描述每个所示实施例或其主题的每个实施例。下面的附图和详细描述更具体地举例说明了各种实施例。
附图说明
考虑以下结合附图对各种实施例的详细描述,可以更全面地理解本发明的主题,在附图中:
图1是根据实施例的用于检测受损数据的***的框图。
图2是根据实施例的用于检测受损数据的方法的流程图。
图3是根据实施例的用于检测受损车辆数据的***的框图。
图4是被配置为实施实施例的计算机***的框图。
尽管各种实施例适用于各种修改和替代形式,但其细节已经通过示例在附图中示出并且将被详细描述。然而,应当理解,其目的不是将要求保护的发明限制于所描述的特定实施例。相反,其目的是覆盖落入如权利要求所定义的主题的精神和范围内的所有修改、等同物和替代方案。
具体实施方式
本文描述的实施例的目的是确保数据的信息安全。本发明的技术结果在于通过分析基于数据计算的MAC(消息关联码)之间的差异来确定任何受损数据的发生。
相应地,通过使用数据受损确定***来实现技术结果,其在实施例中包括MAC计算工具,被配置为为来自包含至少两个消息的数据记录的每个选定消息顺序地计算MAC;计算MAC包括:对于第一选定消息,基于预设加密密钥和选定消息来计算MAC;对于在第一选定消息之后的每个后续消息,基于为先前选定消息构建的加密密钥来构建加密密钥;基于选定消息和为先前选定消息计算的MAC构建数据块;基于所构建的加密密钥和数据块来计算MAC;向消息库写入包含最后计算的MAC和所有选定消息的记录(record);检查确定工具,被配置为:拦截与预设规则相匹配的事件,当消息被记录在数据记录中时发生这种事件;确定是否有必要基于所拦截的事件来执行对数据受损的检查,并随后将从消息库中选择的记录传输到检查工具;检查工具,被配置为分析所述记录,包括:为包含在所接收的记录中的每个消息顺序地计算MAC,其包括:对于第一消息,基于预设的加密密钥和选定消息来计算MAC;对于在第一消息之后的每个后续消息,基于为先前选定消息构建的加密密钥构建加密密钥;基于选定消息和为先前选定消息计算的MAC构建数据块;基于所构建的加密密钥和数据块来计算MAC;将所计算的MAC与所选记录中包含的MAC进行比较;如果所计算的MAC与所选记录中包含的MAC不匹配,则确定数据受损。
在实施例中,数据记录分析工具和消息库交互工具在客户端侧操作,而消息库交互工具、记录分析工具和确定工具在服务器侧操作。
在实施例中,数据受损确定***使用密码散列函数(cryptographic hashfunction)来构建加密密钥。
在实施例中,消息库交互工具根据请求将记录保存到消息库。
在实施例中,用于确定受损数据的方法包括使用来自数据受损确定***的工具执行的处理。例如,处理可以包括为来自包含至少两个消息的数据记录的每个选定消息顺序计算的MAC;为了这个目的,对于第一选定消息,基于预设的加密密钥和选定消息计算MAC;对于在第一选定消息之后的每个后续消息,基于为先前选定消息构建的加密密钥构建加密密钥;基于选定消息和为先前选定消息计算的MAC构建数据块;基于所构建的加密密钥和数据块计算MAC;包含最后计算的MAC和所有选定消息的记录被保存到消息库;对来自消息库的每个选定记录执行分析,为了该目的,对包含在所选记录中的每个消息顺序地执行第一MAC计算阶段;将计算的MAC与包含在所选记录中的MAC进行比较;基于所执行的比较的否定结果,确定数据记录受损。
在实施例中,可以在客户端侧执行加密密钥构建和MAC计算,而在服务器侧执行记录分析和数据是否受损。
在实施例中,通过使用密码散列函数确定受损数据的方法来构建加密密钥。
通过参考示例实施例,本发明的目的和特征以及用于实现这些目的和特征的方法将变得清楚。然而,本发明不限于本文公开的示例性实施例,并且可以以各种形式实现。本说明书中提供的内容仅代表为了帮助本领域技术人员完全理解本发明而需要的具体细节;本发明被限定在所附权利要求的范围内。
如贯穿本公开所参考的某些术语,本领域技术人员将容易理解。例如,消息认证可以包括对加密通信***或另一个加密***的保护以避免施加错误的数据。换句话说,消息认证提供了数据保护,以防止未经授权的修改或保护消息完整性。
在另一个示例中,消息关联码(MAC)可以是确保消息认证协议与参与者互相信任的消息认证的元素。在实施例中,MAC可以包括添加到消息并且旨在用于消息完整性验证和数据源认证的一组特殊符号。
在另一个示例中,对称密钥算法可以包括数据加密***或过程,其中相同的密码密钥被用于数据的加密和解密。
在另一个示例中,非对称密钥算法(例如,公钥密码***)可以包括加密***或过程,其中使用公共(即无保护或可观察的)信道发送公钥并用于加密该消息。为了解密该消息,使用私钥。私钥对需要解密加密数据的人员保密;私钥不提供给其他人。
在另一个示例中,密码强度(cryptographic strength)(或密码强度(cryptostrength))可以包括密码算法抵抗密码分析的能力。如果对它成功的攻击要求攻击者具有实际上难以达到的计算资源量或拦截开放或加密的消息,或者花费在解密上如此重要的时间以至于被保护的信息在被解密的时候失去它的价值,则算法会被认为是强的。
参考图1,根据实施例描绘了用于检测受损数据的***100的框图。数据受损确定***100通常包括数据记录130、加密密钥构建工具110、MAC计算工具120、消息库140、检查确定工具150和检查工具160。
***100的一些子***包括各种引擎或工具,其中的每一个被构造、编程、配置或以其他方式适配以自主执行一种功能或一组功能。本文使用的术语“引擎”被定义为使用例如硬件(诸如通过专用集成电路(ASIC)或现场可编程门阵列(FPGA))或者作为硬件和软件的组合(诸如通过适配引擎的微处理器***和一组程序指令以实现特定功能,其(当被执行时)将微处理器***转换成专用设备)实现的现实世界的设备、组件或者组件的布置。引擎也可以作为二者的组合来实现,其中某些功能仅由硬件来辅助,而其他功能则由硬件和软件的组合来辅助。在某些实现方式中,引擎的至少一部分,以及在一些情况下引擎的全部可以在由硬件(例如,一个或更多个处理器、数据存储设备(诸如存储器或驱动器存储)、输入/输出设施(诸如网络接口设备、视频设备、键盘、鼠标或触摸屏设备等))组成的一个或更多个计算平台的一个或更多个处理器上执行,其执行操作***、***程序和应用程序,同时还使用适当时的多任务处理、多线程处理、分布式处理(例如群集、点对点、云等)处理,或其他此类技术实施引擎。相应地,每个引擎可以以各种物理可实现的配置来实现,并且通常不应该限于本文所示例的任何特定实现方式,除非明确地调出这些限制。另外,引擎本身可以由多于一个子引擎组成,其中每个子引擎都可以被视为自己的引擎。此外,在本文描述的实施例中,各种引擎中的每一个对应于定义的自主功能;然而,应当理解,在其他设想的实施例中,每个功能可以被分配给多于一个引擎。同样地,在其他设想的实施例中,多个定义的功能可以由执行那些多个功能的单个引擎实现,可能与其他功能并排地执行,或者在一组引擎中不同地分布,而不同于在本文示例中具体示出的。
在实施例中,***100被配置在客户端-服务器体系架构上:客户端侧包括数据记录130并且执行加密密钥构建工具110和MAC计算工具120;服务器侧包括消息库140、检查规则151,并且执行检查确定工具150和检查工具160。
例如,客户端部分可以位于汽车中并且为保险公司收集关于汽车行为参数的数据,而服务器部分可以位于保险公司(使用保险公司的设备工作)。在这种情况下,客户端部分可能容易受到恶意攻击(例如,尝试修改关于汽车行为参数的数据-速度、引擎运行特征、地理位置等),同时可以可靠地保护服务器部分免受任何类型的恶意攻击,因为使用服务器部分资源的客户端数据分析的结果是可信的。在图3中还描述了关于这种实施例的附加细节。
响应于各种外部动作,事件101可发生在***100中。在实施例中,为每个事件构建得到的至少一个消息102。消息102可以表示包括事件101的特征和/或时间戳的数据。
例如,在每0.01秒(事件101-数据收集时间的发生),安装在汽车引擎中的传感器接收引擎RPM值。基于所接收的数据建立消息102,其包括关于事件发生时间、事件类型和事件特征的信息:
163625324→计时器→引擎→RPM→8450
并具有以下十六进制格式:
0x09C0B96C00010210000100002102.
编码密钥构建工具110被配置用于基于加密密钥构建工具110的特性构建初始预共享密钥pk0并基于先前构建的加密密钥构建加密密钥pkn
pkn=g(pkn-1),
其中:
g是加密密钥构建函数;
pkn-1是先前构建的加密密钥;
pkn是当前构建的加密密钥;
加密密钥构建工具110还被配置为用于将构建的加密密钥发送给MAC计算工具120。
在实施例中,根据来自MAC计算工具120的请求构建加密密钥。
在又一实施例中,加密密钥构建工具110的特性由从构建在加密密钥构建工具110中的精确时钟接收到的时间来表示。
在又一实施例中,初始预共享密钥pk0基于以下中的至少一个来构建:第一消息样本102m1的时间或由第一消息102m1表征的事件101的发生时间。
在另一实施例中,加密密钥构建工具110提供硬件安全模块(HSM)或在HSM处操作的程序工具。HSM在物理上防卫黑客,使得不可能未经授权地访问加密密钥构建工具110的功能。换句话说,HSM在物理上防止恶意尝试获得对加密密钥构建工具110的控制或获得来自加密密钥构建工具110的控制的数据等。
在又一实施例中,初始预共享密钥pk0包含在加密密钥构建工具110中并且在数据受损确定***操作开始之前被预先设置。例如,当使用HSM时,初始预共享密钥在HSM的创建和编程期间构建。
在实施例中,使用单向密码强散列函数来构建加密密钥。在又一实施例中,至少以下内容被用作用于构建密钥的密码散列函数:公钥不对称加密函数;在这种情况下,公共加密密钥被包含在加密密钥构建工具110中,并且在***操作开始之前被预先设置,而私人加密密钥被包含在检查工具160中;或加密密钥对称加密函数;在这种情况下,所述加密密钥被包含在加密密钥构建工具110中、在检查工具160中,并且在***操作开始之前被预先设置。
因此,使用物理防卫黑客的工具以及使用构建加密密钥的加密方法等确保了基于计算机的构建的加密密钥的加密强度,这抑制或防止违法者使用加密密钥构建工具110的替代特征(例如,构建加密密钥的时间以及消息102的创建时间)构建他们自己的加密密钥。
当非对称加密函数被用作构建加密密钥的密码散列函数时,服务器侧可以确认正在使用的加密密钥的有效性(并且由此确定加密密钥是否被伪造)。当使用对称加密函数作为构建加密密钥的密码散列函数时,服务器侧可以解密正在使用的加密密钥并获取用于构建加密密钥的数据(并且从而排除任何伪造的加密密钥)。
MAC计算工具120被配置为用于拦截至少两个构建的消息102,然后为每个拦截的消息102顺序地计算MAC。在实施例中,MAC的计算(算法I)包括:对于第一拦截消息m1
基于从加密密钥构建工具110请求的加密密钥pk1和拦截的消息m1来计算MAC:
μ1=f(m1,pk1),
其中:
f是密码函数;
pk1是预设的加密密钥;
m1是第一个消息;
μ1是消息m1的MAC;
对于第一拦截消息之后的每个后续消息mn
使用拦截的消息mn和为较早拦截的消息计算的MACμn-1构建数据块:
bn=h(μn-1,mn),
其中:
h是数据块构建函数(数据块构建规则);
bn是第n个数据块;
mn是第n个消息;
μn-1是消息mn-1的MAC;
使用从加密密钥构建工具110请求的加密密钥pkn和构建的数据块bn来计算MAC:
μn=f(bn,pkn),
其中:
f是密码函数;
pkn是第n个消息的加密密钥;
bn是第n个数据块;
μn是消息mn的MAC。
在实施例中,MAC计算工具120还被配置为用于向数据记录130写入记录,该记录包含最后计算的MAC和所有拦截的消息,并且将数据从数据记录130写入消息库140。
在一个实施例中,在处理第一拦截消息102之前,从加密密钥构建工具110请求初始预共享密钥。该预共享密钥是使用与构建后续密钥不同的方法构建的。在处理第一消息和后续拦截的消息102的过程中,可以从加密密钥构建工具110请求加密密钥,其可以使用所有类似类型的密钥的相同方法来构建。
在又一实施例中,在完成将上述记录写入数据库130时,从***中删除拦截的消息102的处理的所有中间结果(包括计算的MAC、除了最后一个,构建的数据块、请求的加密密钥等)。因此,不存在上述中间数据不允许违法者使用替代消息102构建其记录到数据记录130。
在又一实施例中,如果由于可用计算资源的有限数量(例如,作为先前记录到数据记录130的结果或由先前记录到数据记录130而引起)而使得写入数据记录130看起来不可能,则可以执行以下操作:首先,删除数据记录130(从而释放计算资源),并且创建新的(空白)数据记录130(来自旧数据记录130的信息丢失)。其次,在创建新数据记录130之后使用从加密密钥构建工具110请求的初始预共享密钥来执行MAC的第一构建。
因此,加密密钥构建工具110使用以下模式提供密钥:
pk0(param1)→g(pk0)→g(pk1)→…→g(pkn-1)→…deletion
creation…→pk0(param2)→g(pk0)→g(pk1)→…→g(pkn-1)
例如,在数据记录130被完全填满(没有可用的计算资源)之后,来自数据记录130的数据丢失,并且数据记录本身130开始从头填充(即客户端侧再次有可用的计算资源)。
在又一实施例中,HSM工具提供时间和密钥(取决于该时间)。因此,在随后的检查过程中,恢复初始密钥(知道时间)并分析时间并评估它的合理性是可能的。
在传统***中,当设备受损时,没有什么能够阻止攻击者删除现有记录,请求新密钥并创建新记录,并据称是从过去的随机事件中填充后者。然而,当使用包含上述特征的HSM时,由于初始密钥将与实时严格绑定,难以实现这样的攻击。这意味着攻击者将无法将记录发送到过去(即分配给记录早于真实时间的创造时间)。这是本文所述保护的实质。由于HSM包含或生成时间本身(例如,HSM可包含实时时钟),为防止攻击者操纵此工具(时钟),还需要防黑客要求。
在又一实施例中,用于数据受损确定***的许多可访问资源可以被利用(并相应地被使用或耗尽)。例如,分配用于存储数据记录130的信息介质上的空间可以被限制。在这种情况下,信息介质是***客户端侧的一部分(如果它是使用客户端-服务器体系架构构建的)。在另一个示例中,分配给MAC计算工具120用于分析拦截消息102的处理器时间可以用尽。在另一个示例中,***的客户端侧和服务器侧部分的工具之间的连接参数可以用来表征对来自可用消息库140的数据执行写入和读取的可能性(即,将数据写入消息库140的速度)。在另一个示例中,可被写入数据记录130或由MAC计算工具120分析的消息102的最大尺寸可被耗尽。
在一个示例中,为了存储数据记录130,在***的客户端侧部分的介质上分配100Mb的空闲空间。如果一个消息需要1Kb的存储并且每秒由MAC计算工具120写入数据记录130(例如,在移动的汽车中),则数据记录将在~28小时内被填充(所有分配的可用空间将被用尽)。在设计***时,开发人员指出,在一天内,***的客户端侧和服务器侧部分之间肯定会建立连接,并且来自数据记录130的数据在被MAC计算工具120分析之后将被写入消息库140。如果仅为数据记录130分配了1Mb的空闲空间(这种存储空间,或者甚至更小的存储空间,存在于许多内置***中),则数据记录130将会在17分钟内填满,并且可能发生数据不会被发送到服务器端部分并且会丢失(或被覆盖)的情况。
在又一实施例中,构建的数据块包含选定消息和为先前选定消息计算的MAC。
在又一实施例中,从数据记录130到消息库140的数据写入至少执行:如果在数据受损确定***的客户端侧部分和服务器侧部分之间存在连接,随时;在先前成功从数据记录130向消息库140写入数据之后,使用预设时间;在处理消息102超过预设数量时;或者如果预定量的可用数据受损确定***资源可用。
在实施例中,一旦来自数据记录130的所有数据被写入到消息库140中,则数据记录被清除,并且写入数据记录130的下一个消息102被认为是第一消息。换句话说,数据记录130被删除(从而释放计算资源),并且创建新的(空白)数据记录130。使用从加密密钥构建工具110请求的初始预共享密钥来执行创建新数据记录130之后的MAC的第一构建。
数据记录130是包含由MAC计算工具120处理的消息102的数据库。
在一个实施例中,数据记录130的特征由***中可用的资源定义。在另一实施例中,至少以下内容被用作数据记录130的特征:可写入数据记录130的消息(记录)102的最大数量;或可写入数据记录130的最大数据量(写入消息102的总量)。在又一实施例中,数据记录130被配置以附加地存储写入其中的消息102的顺序。
消息库140是包含由MAC计算工具120发送的数据的数据库,该数据在每个记录中至少包含消息102和最后计算的MAC的组合。
检查确定工具150被配置用于拦截符合预设规则151的事件101。例如,如果消息102被写入数据记录130,则发生事件101。检查确定工具150还被配置为确定是否使用拦截的事件101执行数据受损检查以及将所选记录从消息库140传输到检查工具160。
在一个实施例中,至少在以下情况下做出执行数据受损检查的决定:拦截数据写入数据记录130的事件,或者数据受损确定***的客户端侧与服务器侧部分之间的稳定连接。
检查工具160被配置为根据请求分析从确定工具150接收的每个记录。在实施例中,这样的分析包括使用算法I对包含在所接收的记录中的每个消息顺序地计算MAC,比较计算的MAC与所选记录中包含的MAC,以及如果计算的MAC与所选记录中包含的MAC不匹配,则确定数据记录130是否已经受损。
在一个实施例中,来自记录的消息102按照它们位于所述记录中的顺序来选择。
在另一实施例中,MAC计算工具120中使用的预设加密密钥和检查工具160中使用的预设加密密钥是相同的,并且在构建数据受损确定***时被设置。
在又一实施例中,在检查工具160中使用的预设加密密钥是使用从消息库140中选择的记录中包含的时间戳构建的。
在另一实施例中,使用密码散列函数来构建加密密钥。
在又一实施例中,可以使用公钥不对称加密函数作为用于构建加密密钥的密码散列函数。例如,公共加密密钥被包含在加密密钥构建工具110中并且在***操作开始之前被预先设置,并且私人加密密钥被包含在检查工具160中。在另一个示例中,加密密钥对称加密函数可以用作构建加密密钥的密码散列函数。例如,加密密钥可以被包含在加密密钥构建工具110中、在检查工具160中,并且在***操作开始之前被预先设置。
在又一实施例中,构建的数据块包含选定消息和为先前选定消息计算的MAC。
在又一实施例中,MAC的比较是逐位进行的。
在又一实施例中,如果所比较的MAC不匹配,则认为数据记录130受损。例如,可以比较由MAC计算工具120计算的一个MAC和由检查工具160计算的另一个MAC。
在另一实施例中,为了确定数据记录130是否受损,至少以下内容被额外分析:由检查工具160使用从记录中选择的数据构建的加密密钥;和/或包含在所选记录中的消息102的建立的时间特征。
以下关于***100的操作的讨论描述了车辆操作特征。为了在发生事故时对保险支付作出决定,保险公司在其客户的汽车中安装一个从汽车传感器收集数据的***。根据收集到的数据的分析,确定车辆的运行特征-在事故发生时是否超速,车辆行驶的位置,驾驶员驾驶车辆时采取的行动等等。所确定的操作特征被用于确定保险支付,车辆保险的成本(如果该人驾驶“放肆地超过速度限制等,则保险成本增加)。收集到的数据的受损可能导致错误分析和保险公司的财务损失(例如,发生事故时车辆的速度被人为低估,从而导致保险索赔确定错误并导致额外赔偿)。
当车辆速度计传感器被启动时,发生“速度改变”#1 101,其以车辆的当前速度以及所述速度被登记时的时间戳为特征(当事件#1 101发生时)。例如,v=85,75km/h,t=1067256253,232(常规时间单位,例如Unix时间格式)。
上述事件#1101发起建立包含以上列出的数据的消息m1102:
v=85,75km/h,t=1067256253,232.
并随后将消息写入数据记录130。之后,作为数据受损确定***的客户端侧部分的组件的MAC计算工具120使用加密密钥K1和消息m1102μ1来计算MAC,并且将MAC写入消息库140。
事件#1101还被发送到检查确定工具150,其是数据受损确定***的服务器侧部分的组件。基于检查规则151和所接收的数据(在这种情况下,事件#1101),基于被拦截的事件#1101确定是否有必要执行数据受损检查。例如,规则之一可以是车辆速度的急剧变化或超过预设值的加速度(例如2g)。这些数据可以来自另一个速度计传感器。在实施例中,只要没有登记这样的事件,就不会进行数据受损检查。
直到检查确定工具150做出相关确定,数据被保存到数据记录130和消息库140。
当另一个车辆速度计传感器被启动时,发生“速度改变”#N 101,其以车辆的当前速度以及所述速度被登记时的时间戳为特征(当事件#1101发生时)例如,v=15,21km/h,t=1067279253,008。
上述事件#N 101发起建立包含以上列出的数据的消息mn102:
v=15,21km/h,t=1067279253,008。
并随后将消息写入数据记录130。之后,作为数据受损确定***的客户端侧部分的组件的MAC计算工具120使用加密密钥Kn和消息mn102μn来计算MAC,并且将MAC写入消息库140。
事件#N 101也被发送到检查确定工具150。基于检查规则151和所接收的数据(在这种情况下是事件#N 101),基于被拦截的事件#N 101确定是否有必要执行数据受损检查。确定速度变化超过预设阈值(例如,Δv=50km/h),并且加速度也超过预设阈值(例如,g=5.6)。结果,检查确定工具150根据是否需要对写入消息库140中的数据执行检查而向检查工具160发送请求。
检查工具160从消息库140中顺序地选择所有记录,并重新计算所选记录中包含的所有消息的MAC(使用与MAC计算工具120相同的方法)。随后,检查工具160将得到的最终MAC与包含在最后所选记录中的MAC进行比较。如果MAC值不同,则确定数据记录130受损。在数据包含从车辆传感器收集的信息的实施例中,可以得出结论:***的用户(车辆所有者)试图伪造来自传感器的数据以隐藏关于车辆状况的信息。因此,保险公司有理由拒绝向用户支付保险金或修改保险条款。
参考图2,根据实施例描绘了用于检测受损数据的方法200的流程图。通常,方法200一般包括在210处计算MAC,在220处保存记录,在230处执行分析,执行分析并且在240处确定受损数据。
更具体地,在210处,为来自包含至少两个消息102的数据记录130的每个选定消息顺序地计算MAC。例如,对于第一选定消息,使用预设的加密密钥和选定消息来计算MAC。对于第一选定消息之后的每个后续消息,基于为先前选定消息构建的加密密钥来构建加密密钥,使用拦截的消息和针对先前选定消息计算的MAC构建数据块,并使用构建的加密密钥和数据块来计算MAC。
在220处,包含在210处计算的最后MAC和在210处选择的所有消息的记录被保存到消息库140。
在230处,执行来自消息库140的每个所选记录的分析。例如,通过在210处执行针对第一选定消息和第二选定消息的上述处理,针对所选记录中包含的每个消息顺序地计算MAC。将最终计算的MAC与所选记录中包含的MAC进行比较。
在240处,基于在230处进行的比较的结果,确定数据记录130是否受损。
参考图3,根据实施例描绘了用于检测受损车辆数据的***300的框图。在实施例中,***300可以实现如上所述的用于车辆数据的方法200。
在实施例中,***300通常包括车辆客户端设备302和服务器304。在实施例中,客户端设备302和服务器304可以通过网络可操作地耦合,使得它们始终或间歇地进行通信。
客户端设备302通常包括处理器306和可操作耦合的存储器308。处理器306可以是接受数字数据作为输入的任何可编程设备,被配置为根据指令或算法处理输入,并提供结果作为输出。在实施例中,处理器306可以是被配置为执行计算机程序的指令的中央处理单元(CPU)。处理器306因此被配置为执行至少基本的算术运算、逻辑运算和输入/输出操作。
可操作地耦合到处理器306的存储器308可以包括耦合处理器306所需要的易失性或非易失性存储器,以不仅提供执行指令或算法的空间,而且提供空间来存储指令本身。在实施例中,例如,易失性存储器可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。在实施例中,例如,非易失性存储器可以包括只读存储器、闪存、铁电RAM、硬盘、软盘、磁带或光盘存储器。前述列表决不限制可以使用的存储器的类型,因为这些实施例仅作为示例给出,并不意图限制本发明的范围。
处理器306和/或存储器308可以包括在被执行时实现加密密钥构建工具310、MAC计算工具312、数据记录314的指令。在实施例中,加密密钥构建工具310、MAC计算工具312以及数据记录314可以基本上与上面讨论的那些(分别为加密密钥构建工具110、MAC计算工具120和数据记录130)类似。
处理器306可以还包括用于实现车辆传感器引擎316的指令,车辆传感器引擎316包括配置为检测车辆的特征或测量的车辆传感器。车辆传感器引擎316还被配置为将车辆的特征以及特征或测量的发生的时间戳写入车辆数据记录314。
服务器304通常包括处理器318和可操作耦合的存储器320。处理器318和/或存储器320可以包括当被执行时实现消息库、一组检查规则324、检查确定工具326和检查工具328的指令。在实施例中,消息库、一组检查规则324、检查确定工具326和检查工具328可以本质上类似于上面讨论的那些(分别为消息库140、检查规则151、检查确定工具150和检查工具160)。
参考图4,根据所描绘的各种实施例更详细地示出了可以在其上实现本文所描述的发明的方面的计算机***400的图。
计算机***400可以包括计算设备,诸如个人计算机420包括一个或更多个处理单元421、***存储器422和***总线423,其包含各种***组件,包括与一个或更多个处理单元421连接的存储器。在各种实施例中,处理单元421可以包括能够处理存储在计算机可读介质上的信息的多个逻辑核心。***总线423被实现为在相关技术水平已知的任何总线结构,又包含总线存储器或总线存储器控制器、***总线和本地总线,其能够与任何其他总线体系架构交互。***存储器可以包括非易失性存储器(诸如只读存储器(ROM)424)或易失性存储器(诸如随机存取存储器(RAM)425)。基本输入/输出***(BIOS)426包含确保在个人计算机420的元件之间传输信息的基本过程,例如,在使用ROM 424的操作***启动期间。
个人计算机420又具有用于数据读取和写入的硬盘驱动器427、用于在可移除磁盘429上读取和写入的磁盘驱动器428以及用于在可移除光盘431上读取和写入的光盘驱动器430,例如CD-ROM、DVD-ROM和其他光学介质。硬盘驱动器427、磁盘驱动器428和光盘驱动器430分别通过硬盘驱动器接口432、磁驱动器接口433和光盘驱动器接口434与***总线423连接。驱动器和相应的计算机信息介质表示用于在个人计算机420上存储计算机指令、数据结构、程序模块和其他数据的与能量无关的装置。
所描绘的***包括硬盘驱动器427、可移除磁盘驱动器429和可移除光盘驱动器431,但是应当理解,可以使用能够以计算机可读形式存储数据的其他类型的计算机介质(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等),通过控制器455连接到***总线423。
计算机420包括存储所记录的操作***435的文件***436以及附加程序应用437、其他程序引擎438和程序数据439。用户可以使用输入设备(键盘440、鼠标442)将命令和信息输入到个人计算机420中。还可以使用其他输入设备(未示出),诸如:麦克风、操纵杆、游戏控制台、扫描仪等。这些输入设备通常通过串行端口446连接到计算机***400,其中又连接到***总线,但它们也可以以不同的方式连接-例如,使用并行端口、游戏端口或通用串行总线(USB)。监视器447或另一类型的显示设备也通过接口(诸如视频适配器448)连接到***总线423。除了监视器447之外,个人计算机420还可以配备有其他***输出设备(未示出),例如作为扬声器、打印机等。
个人计算机420能够在网络环境中工作;在这种情况下,它使用与一个或若干个其他远程计算机449的网络连接。一个或更多个远程计算机449类似于个人计算机或服务器,其具有先前描述图4中所示的个人计算机420的内容时提到的大部分或全部上述元件。计算网络也可以具有其他设备,例如路由器、网络站、对等设备或其他网络节点。
网络连接可以构成局域网(LAN)450和广域网(WAN)。这些网络用于企业计算机网络或企业内部网,并且通常可以访问互联网。在LAN或WAN网络中,个人计算机420通过网络适配器或网络接口451连接到局域网450。当使用网络时,个人计算机420可以使用调制解调器454或其他装置连接到广域网,如互联网。作为内部或外部设备的调制解调器454通过串行端口446连接到***总线423。应该清楚的是,这些网络连接仅仅是示例,并不一定反映精确的网络配置,即实际上存在用计算机之间的通信技术手段建立连接的其他手段。
本文已经描述了***、设备和方法的各种实施例。这些实施例仅作为示例给出,并不意图限制要求保护的发明的范围。此外,应该认识到,已经描述的实施例的各种特征可以以各种方式组合以产生许多另外的实施例。此外,尽管已经描述了与所公开的实施例一起使用的各种材料、尺寸、形状、配置和位置等,但是可以使用除了所公开的那些之外的其他,而不超出要求保护的发明的范围。
相关领域的普通技术人员将认识到,本文的主题可以包括比上述任何单独实施例中所示的更少的特征。本文描述的实施例并不意味着是可以组合其主题的各种特征的方式的详尽呈现。因此,这些实施例不是特征的互斥组合;相反,如本领域普通技术人员所理解的,各种实施例可以包括从不同的单独实施例中选择的不同单独特征的组合。此外,关于一个实施例描述的元件可以在其他实施例中实现,即使在这样的实施例中没有描述时,除非另有说明。
尽管从属权利要求可以在权利要求中引用与一个或更多个其他权利要求的特定组合,但是其他实施例还可以包括从属权利要求与每个其他从属权利要求的主题的组合或者与其他从属或独立权利要求的一个或更多个特征的组合。除非声明不打算使用特定的组合,否则本文提出了这样的组合。
通过引用上述文件的任何并入都是有限的,以致没有纳入与本文明确公开相反的主题。通过引用上述文件的任何并入还受到限制,使得包括在文件中的权利要求不通过引用并入本文。通过引用上述文件的任何并入还受到限制,使得文件中提供的任何定义不通过引用并入本文,除非在本文中明确包括。
为了解释权利要求的目的,明确规定不得援引35U.S.C.§112(f)的条款,除非在权利要求中列举了“用于......的装置”或“用于......的步骤”的具体术语。

Claims (20)

1.一种用于检测受损数据的***,所述***包括:
计算平台,其包括至少一个处理器的计算硬件和可操作地耦合到所述至少一个处理器的存储器;
指令,当在所述计算平台上执行时,使得所述计算平台实现:
加密密钥构建工具,被配置为-
基于所述加密密钥构建工具的至少一个特性构建初始预设密钥,以及
基于先前构建的密钥构建加密密钥;
消息关联码(MAC)计算工具,被配置为-
从所述加密密钥构建工具接收所述初始预设密钥和所述加密密钥,
拦截与事件相关的第一消息和与所述事件相关的第二消息,以及
为所述第一消息和所述第二消息顺序地生成MAC,其中基于所述初始预设密钥和所述第一消息为所述第一消息生成所述MAC,并且基于用于所述第二消息的加密密钥和针对所述第二消息所构建的数据块为所述第二消息生成所述MAC,所述数据块包括所述第二消息和为所述第一消息生成的所述MAC,并且其中用于所述第二消息的先前构建的密钥是所述初始预设密钥,
向数据记录写入记录,所述记录包括所述第一消息和所述第二消息以及为所述第二消息生成的所述MAC,以及
将数据记录从所述数据记录写入消息库;
检查确定工具,被配置为-
基于预设的规则拦截所述事件,以及
使用所拦截的事件和所述消息库数据来确定是否执行数据受损检查;以及
检查工具,被配置为-
分析从所述检查确定工具接收到的每个记录以确定所述记录中的所述MAC是否与预期的MAC相匹配,以及
当所述记录中的所述MAC与所述预期的MAC不匹配时,指示数据受损。
2.根据权利要求1所述的***,其中所述加密密钥构建工具被配置为使用所述第一消息的时间或所述事件的时间中的至少一个构建所述初始预设密钥。
3.根据权利要求1所述的***,其中在执行所述计算平台上的所述指令之前,在所述计算硬件中预设所述初始预设密钥。
4.根据权利要求1所述的***,其中所述初始预设密钥是在执行所述计算平台上的所述指令之前在所述加密密钥构建工具中预设的公共密码密钥,并且其中在执行所述计算平台上的所述指令之前在所述检查工具中预设对应的私人密码密钥。
5.根据权利要求1所述的***,其中所述MAC计算工具还被配置为在将所述记录写入所述数据记录之后,除了最后计算的MAC之外,删除所有计算的MAC、加密密钥和数据块。
6.根据权利要求1所述的***,其中所述MAC计算工具还被配置为:
检测将所述记录写入所述数据记录的错误;
删除所述数据记录;以及
创建新的数据记录,用随后的消息和从所述随后的消息和所述初始预设密钥生成的MAC初始化。
7.根据权利要求1所述的***,其中所述MAC计算工具还被配置为通过以下中的至少一个将来自所述数据记录的数据记录数据写入到所述消息库:
客户端设备与服务器设备的连接;
在先前成功将数据记录数据写入所述消息库之后的预设时间;
超过预设数量的拦截消息;或者
可用的计算平台资源预设量。
8.根据权利要求1所述的***,其中所述检查确定工具还被配置为基于以下中的至少一个来确定是否执行所述数据受损检查:
检测已经将数据写入到所述数据记录的事件;或者
检测客户端设备与服务器设备之间连接的稳定连接。
9.根据权利要求1所述的***,其中所述检查工具被配置为通过以下来分析所选记录:
基于包含在所述所选记录中的所述消息来生成所述预期的MAC;
将所述预期的MAC与在所述所选记录中由所述MAC计算工具生成的所述MAC进行比较;以及
当所述预期的MAC与所述所选记录中的所述MAC不匹配时,指示数据记录受损。
10.根据权利要求1所述的***,其中所述第一消息包括事件发生时间、事件类型和事件特征。
11.根据权利要求1所述的***,其中所述计算平台包括:
客户端移动设备,包括使所述计算平台实现所述数据记录、所述加密密钥构建工具以及所述MAC计算工具的指令;以及
服务器设备,包括使所述计算平台实现所述消息库、所述检查规则、所述检查确定工具和所述检查工具的指令。
12.根据权利要求1所述的***,其中所述加密密钥构建工具还被配置为:
拦截与所述事件相关的第三消息;以及
为所述第三消息顺序地生成MAC,其中基于用于所述第三消息的加密密钥和针对所述第三消息所构建的数据块为所述第三消息生成MAC,所述数据块包括所述第三消息和为所述第二消息生成的所述MAC,并且其中用于所述第三消息的先前构建的密钥是用于所述第二消息的所述加密密钥。
13.根据权利要求1所述的***,其中所述加密密钥构建工具包括硬件安全模块(HSM),其在物理上不受篡改。
14.根据权利要求13所述的***,其中所述HSM被配置为提供当前时间和新的初始预设密钥,以及所述MAC计算工具还被配置为针对所述当前时间评估所述新的初始预设密钥的有效性。
15.一种用于检测数据记录中的受损数据的方法,所述方法包括:
为所述数据记录中的第一消息和所述数据记录中的第二消息顺序地计算MAC,其中基于初始预设密钥和所述第一消息为所述第一消息生成所述MAC,并且基于用于所述第二消息的加密密钥和针对所述第二消息所构建的数据块为所述第二消息生成所述MAC,所述数据块包括所述第二消息和为所述第一消息生成的所述MAC,并且其中用于所述第二消息的先前构建的密钥是所述初始预设密钥;
向消息数据库写入记录,所述记录包括所述第一消息和所述第二消息以及为所述第二消息生成的所述MAC;
分析每个记录以确定所述记录中的所述MAC是否与预期的MAC匹配;以及
当所述记录中的所述MAC与所述预期的MAC不匹配时,指示数据受损。
16.根据权利要求15所述的方法,其中分析所选记录还包括:
基于包含在所述所选记录中的所述消息来生成所述预期的MAC;
将所述预期的MAC与在所述所选记录中先前计算的所述MAC进行比较;以及
当所述预期的MAC与所述所选记录中的所述MAC不匹配时,指示数据记录受损。
17.根据权利要求15所述的方法,还包括:
基于在其上执行所述方法的计算硬件的至少一个特性来构建所述初始预设密钥;以及
基于先前构建的密钥构建加密密钥。
18.根据权利要求15所述的方法,还包括:
呈现硬件安全模块(HSM),其被物理地保护以免被篡改,被配置为生成所述初始预设密钥。
19.根据权利要求18所述的方法,其中所述HSM被配置为提供当前时间和新的初始预设密钥,以及所述MAC计算工具还被配置为针对所述当前时间评估所述新的初始预设密钥的有效性。
20.一种用于检测车辆数据记录中的受损数据的***,所述***包括:
车辆,包括:
至少一个车辆传感器引擎,被配置为-
在第一时间检测所述车辆的第一特征,并将包括所述车辆的所述第一特征的第一消息和对应于所述第一时间的第一时间戳写入所述车辆数据记录,以及
在第二时间检测所述车辆的第二特征,并将包括所述车辆的所述第二特征的第二消息和对应于所述第二时间的第二时间戳写入所述车辆数据记录,
至少一个处理器和可操作地耦合到所述至少一个处理器的存储器,所述存储器包括指令,当在所述至少一个处理器上执行所述指令时使所述至少一个处理器实现:
消息关联码(MAC)计算工具,被配置为-
为所述第一消息和所述第二消息顺序地生成MAC,其中基于所述初始预设密钥和所述第一消息为所述第一消息生成所述MAC,并且基于用于所述第二消息的加密密钥和针对所述第二消息所构建的数据块为所述第二消息生成所述MAC,所述数据块包括所述第二消息和为所述第一消息生成的所述MAC,并且其中用于所述第二消息的先前构建的密钥是所述初始预设密钥,
向数据记录写入记录,所述记录包括所述第一消息和所述第二消息以及为所述第二消息生成的所述MAC;以及
服务器,可操作地耦合到所述车辆并且包括:
消息库,被配置为存储数据记录,
至少一个服务器处理器和可操作地耦合到所述至少一个服务器处理器的服务器存储器,包括指令,当在所述至少一个服务器处理器上执行所述指令时,使所述至少一个服务器处理器实现:
检查确定工具,被配置为-
接收所述第一消息或所述第二消息,以及
使用所接收的消息和所述数据记录来确定是否执行数据受损检查;以及
检查工具,被配置为-
分析从所述检查确定工具接收到的每个数据记录以确定所述数据记录中的所述MAC是否与预期的MAC相匹配,以及
当所述数据记录中的所述MAC与所述预期的MAC不匹配时,指示数据受损。
CN201810840630.8A 2018-02-06 2018-07-27 用于检测受损数据的***和方法 Active CN109245895B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018104435 2018-02-06
RU2018104435A RU2697953C2 (ru) 2018-02-06 2018-02-06 Система и способ вынесения решения о компрометации данных
US16/005,158 2018-06-11
US16/005,158 US10778695B2 (en) 2018-02-06 2018-06-11 System and method for detecting compromised data

Publications (2)

Publication Number Publication Date
CN109245895A true CN109245895A (zh) 2019-01-18
CN109245895B CN109245895B (zh) 2021-06-11

Family

ID=65073132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810840630.8A Active CN109245895B (zh) 2018-02-06 2018-07-27 用于检测受损数据的***和方法

Country Status (1)

Country Link
CN (1) CN109245895B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US20040078594A1 (en) * 2002-10-22 2004-04-22 Logan Scott Data loader using location identity to provide secure communication of data to recipient devices
CN101127062A (zh) * 2006-08-14 2008-02-20 北京握奇数据***有限公司 电子钥匙与计算机之间实现绑定功能的方法
CN101222316A (zh) * 2007-01-10 2008-07-16 华为技术有限公司 密码同步的构造方法及装置、使用该密码同步的数据传输方法
US20090016534A1 (en) * 2006-07-14 2009-01-15 Kinamik Data Integrity, S.L. Method and system of generating immutable audit logs
CN102361481A (zh) * 2011-07-07 2012-02-22 上海凯卓信息科技有限公司 一种硬件加密tf卡与手机sim卡绑定的方法
CN106919163A (zh) * 2015-12-18 2017-07-04 丰田自动车株式会社 通信***和在通信***中执行的信息收集方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US20040078594A1 (en) * 2002-10-22 2004-04-22 Logan Scott Data loader using location identity to provide secure communication of data to recipient devices
US20090016534A1 (en) * 2006-07-14 2009-01-15 Kinamik Data Integrity, S.L. Method and system of generating immutable audit logs
CN101127062A (zh) * 2006-08-14 2008-02-20 北京握奇数据***有限公司 电子钥匙与计算机之间实现绑定功能的方法
CN101222316A (zh) * 2007-01-10 2008-07-16 华为技术有限公司 密码同步的构造方法及装置、使用该密码同步的数据传输方法
CN102361481A (zh) * 2011-07-07 2012-02-22 上海凯卓信息科技有限公司 一种硬件加密tf卡与手机sim卡绑定的方法
CN106919163A (zh) * 2015-12-18 2017-07-04 丰田自动车株式会社 通信***和在通信***中执行的信息收集方法

Also Published As

Publication number Publication date
CN109245895B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
Bellare et al. Forward integrity for secure audit logs
US8539551B2 (en) Trusted virtual machine as a client
US10893057B2 (en) Hardware security module systems and methods
JP4656034B2 (ja) ストレージデバイスアクセスシステム
US5109413A (en) Manipulating rights-to-execute in connection with a software copy protection mechanism
JP4818542B2 (ja) コンピューティングプラットフォームにおけるサービスの実行
US5978475A (en) Event auditing system
CN106687980B (zh) 管理程序和虚拟机保护
CN108604275A (zh) 硬件装置及其认证方法
EP1055990A1 (en) Event logging in a computing platform
WO2000045358A1 (fr) Procede pour assurer la securite d'informations electroniques
JP2016531508A (ja) データセキュアストレージ
MX2013006157A (es) Dispositivo y metodo de gestion de datos sensibles.
CN110245947A (zh) 结合交易与用户类型的条件限制的收据存储方法和节点
CN110276684A (zh) 结合交易类型和事件函数类型的收据存储方法和节点
JP7470116B2 (ja) セキュア通信方法およびそのシステム
US20090072030A1 (en) System for paper-free verifiable electronic voting
TWI268077B (en) Remote unblocking with a security agent
CN111666591A (zh) 线上核保数据安全处理方法、***、设备及存储介质
CN109214204A (zh) 数据处理方法和存储设备
CN105303093A (zh) 智能密码钥匙密码验证方法
CN108632040A (zh) 信息管理终端装置
CN111046405A (zh) 一种数据处理方法、装置、设备及存储介质
US20090072031A1 (en) method for paper-free verifiable electronic voting
CN109245895A (zh) 用于检测受损数据的***和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant