CN116324939A - 基于破坏性读取存储器的防篡改容器及其验证方法 - Google Patents

基于破坏性读取存储器的防篡改容器及其验证方法 Download PDF

Info

Publication number
CN116324939A
CN116324939A CN202180071652.2A CN202180071652A CN116324939A CN 116324939 A CN116324939 A CN 116324939A CN 202180071652 A CN202180071652 A CN 202180071652A CN 116324939 A CN116324939 A CN 116324939A
Authority
CN
China
Prior art keywords
harm
content
container
elements
sender
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.)
Pending
Application number
CN202180071652.2A
Other languages
English (en)
Inventor
布鲁斯·唐纳德·克里斯蒂安松
亚历克斯·沙法连科
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.)
University of Hertfordshire
Original Assignee
University of Hertfordshire
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
Application filed by University of Hertfordshire filed Critical University of Hertfordshire
Publication of CN116324939A publication Critical patent/CN116324939A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种用于数据的概率数字防篡改容器、一种用于将数据加载到容器上的方法以及一种用于随后从容器中读取数据同时验证加载到容器上的数据先前未被读取的方法。

Description

基于破坏性读取存储器的防篡改容器及其验证方法
技术领域
本发明涉及一种用于数据的概率数字防篡改容器、一种用于将数据加载到容器上的方法以及一种用于随后从容器中读取数据同时验证加载到容器上的数据先前未被读取的方法。
背景技术
秘密从一个物理位置移动到另一物理位置是任何保密信息生命周期中暴露最多的时期。这时,保密性面临最大的风险。当携带秘密的容器在致力于保护其保密性的主体的安全边界之外运输时,固定防御措施(诸如锁和钥匙下的物理门、监控相机、保安和其他形式的物理访问控制)的效力会大大降低。
几个世纪以来,对移动秘密的物理保护没有太大变化。与防篡改保护相比,防篡改的相对重要性发生了变化。其原因是,如今从一个地方到另一地方实际传输的内容趋向于是随机的数字数据,如果被盗,这些数据的价值为零,除非它以使发送方和接收方不知道已经发生了复制的方式被复制。一旦可以通过以可负担的成本进行检查来可靠地确定数据不存在副本访问,就可以使用该数据作为强对称加密的密钥,通过数字形式的公开信道发送实际的秘密信息。目前,破解这种加密比破解任何可以在主体之间传送内容的物理硬壳要费时和昂贵得多。
尽管如此,高安全性的防篡改包装仍然非常受欢迎,并且它仍然像几个世纪以来所做的那样,依赖于制造成尽可能可粉碎和不可克隆的物理壳体。前一种属性意味着,如果壳体被穿透以访问内容,它会变得明显破碎,即“粉碎”,而后者意味着破碎的壳体不能被克隆体(即原始壳体的伪造副本)不明显地取代。
在实际情况中,第三个因素比上述两个技术因素更受依赖:运输安全。包装由投递者(如果需要的话是武装警卫)运输,并且信任投递者在包装运输过程中阻止任何对包装的接触。
这三个因素中没有一个能提供像机器自动执行的加密过程那样强的安全性。也许最大的弱点是,接收方自己可能很少100%确定壳体的真实性以及它是否已经被破坏。因为检索消息无论如何都需要破坏壳体,所以对协议的事后审计是困难的:如果包装破坏得很好,那么在接收方确定壳体完好无损并破坏壳体以检索消息时,可能无法确定壳体已经被破坏。
壳体的真实性需要专家调查,这不能被假定在接收方的技术能力范围内-他们可能是大使馆、法律办公室或没有伪造技术专业知识的任何其他单位。当接收方雇佣非本地专家时,他们将自己暴露在一个简单的内部攻击中,由此原始包装被一个妥协的内部人员截获、被破坏、读取并且然后重新打包成一个不完美的克隆壳体,该壳体足以说服非专家的合法接收方。破碎的伪造壳体随后在交给专家的途中被截获,并由同一妥协的内部人员用原始破碎的壳体替换。在这种情况下,如果内部人员成功地说服了合法的接收方,他们根本不容易受到事后检测。
下面的专利举例说明了公开可用的防篡改壳体技术。
US5918983(CONTROL PAPER CO INC)描述了一种用于运输有价值的文件和物品的安全封套,该安全封套包括由固定后面板上的薄易碎材料形成的薄封头,该薄封头具有粘合剂层,该粘合剂层在折叠和压制闭合时将封头密封到前面板上。后面板的内表面上的粘合剂的内层密封内前面和后面板表面以封闭封套室,并且在密封时比封头粘合剂层更朝向封套底部延伸以防止篡改工具访问封套室。施加篡改热量将使封头皱缩,并且冷到足以释放内部粘合剂层的程度会导致外部粘合剂层的片段断裂并脱落。封头内表面上的印刷标记和内部封头表面上的透明防水层将粘附到封头粘合剂层并有助于篡改企图指示。
US5788377(UNIFLEX)描述了一种防篡改封套,该安全封套包括彼此连接以限定封套的相对侧边缘和底部边缘的第一面板和第二面板。每个面板都有上部边缘,该上部边缘一起限定与封套的底部边缘相对的开口,以用于提供进入封套的入口。第二面板的上部边缘延伸超过第一面板的上部边缘以限定面板延伸部。粘合密封剂材料层邻近第一面板的上部边缘设置在第一面板的内表面上,用于密封地粘附到第二面板的内表面。该密封剂材料具有在实质上低于室温的温度下耐释放的粘附性质。该封套还包括粘合剂密封条,该粘合剂密封条具有安装到第一面板的外表面的下部和定位为密封粘附到第二面板的面板延伸部的上部。
US5108194(RADEN DAVID T)描述了一种用于塑料安全袋的封闭系统,该封闭系统包括具有调节其入口的载有粘合剂的玻璃纸载体膜的入口开口。该膜贴在该入口开口的下边缘下方的袋子上并且沿着那里具有“热熔体”带。在移除可释放衬垫时,该载体膜被定位为使得该“热熔体”横跨该入口开口并且将其关闭。在该开口的末端处的漆涂层防止该可释放衬垫不期望地粘附到安全袋上。入口开口的末端是“热密封”的并且与粘合剂协作以防止液体通过封闭的开口泄漏。袋的进入是通过适当地撕开载体膜和/或袋来实现的,这对于观察者来说是显而易见的。
US20050036716(AMPAC PLASTICS LLC)描述了一种安全袋,该安全袋具有可以在制造期间直接结合在袋上的篡改指示特征,而不需要传统的篡改指示带。在处理袋子之前,释放材料以图案或空隙消息的形式选择性地施加到袋子上,以改善油墨保持特性。处理后,将油墨层施加在释放材料上。将粘合剂层施加到袋的区域内,该区域将密封袋的开口并且至少在袋被密封时接触油墨层。当该袋在初始密封之后重新打开时,施加在该释放材料上的油墨层的一部分将被粘合剂保留,而该油墨层的剩余部分将被保留在该袋的处理过的表面上。
US5631068(TRIGON PACKAGING CORP)描述了一种用于密封容器的胶带或标签,如果该密封被强制打开或冷却到低于分解温度,则该胶带或标签提供视觉证据。该胶带包括塑料条、印刷在塑料条的表面上的油墨层和压敏粘合剂层。该胶带可以结合到袋中,以用于将袋密封封闭。该胶带包括夹在塑料条与粘合剂层之间的油墨层。该粘合剂可以固定到袋的多个部分以将其密封封闭。如果该密封被强制打开,则油墨层可见地从塑料条剥离。粘合剂层和塑料条被选择为在冷却时具有不同的收缩率,使得当胶带被冷却到低于其分解温度时,油墨层分层。在胶带的替代实施例中,两层油墨被印刷到塑料条上。第一层油墨是透明的并且以图案印刷在未处理的塑料条上。第二层油墨是不透明的并且在塑料条被处理之后均匀地印刷在塑料条和透明油墨上。
US4449631(LEVENBERG ALVIN;LEVENBERG NAT)描述了一种用于药物和其他产品的可密封的包装,该包装将立即显示篡改的存在。该包装由具有印刷轮廓的热塑性薄膜的密封封套组成,其中,在该印刷轮廓处执行包装的密封。在密封之后,由于截留的空气,膜收缩,趋向于使密封区域膨胀。如果该包装破裂,则该膨胀就会消失。如果该包装在密封区域处被切割,则不可能在没有由印刷区域中的不规则性引起的视觉指示的情况下重新密封包装。
如果秘密是数字的,则它仍然需要对任何信息读取者都不透明的物理容器/管道,直到它被授权的接收方解锁。如果容器是通信线路,则秘密通常必须被加密以防止线路上的窃听。这并不能解决问题,因为现在另一秘密(其是加密密钥)必须被传送给接收方,这又需要进一步的加密等。公共密钥加密是目前确保秘密不必传播的最佳解决方案,但它通常易受到量子计算攻击。
发明内容
根据本发明的第一方面,提供了一种防篡改容器,其包括被配置为存储内容的一个或多个破坏性读取存储器(DeRM)元件,其中,一个或多个DeRM元件中的每一个被配置为使得由一个或多个DeRM元件中的每一个存储的内容大于当一个或多个DeRM元件中的每一个被破坏性读取时显示的内容。这种配置意味着拦截方不能读取容器的内容的任何重要部分,除非破坏比读取显示的更多的内容。将内容恢复到以前的状态需要了解所有被破坏的内容,包括未显示的内容。
破坏性读取存储器(DeRM)元件是读取存储器的过程导致存储器的内容被破坏的元件。可以为DeRM元件提供一种写回机制,其中,如果确定允许继续访问所获取的数据,则当从存储器破坏性地读取数据时,写回机制写回数据,在这种情况下,优选不提供写回机制。
本发明提供了一种全数字防篡改技术,在一个实施例中,该技术可以是存储器芯片形式的微电子技术,其中,保护单个数据位不被读取,由此拦截方读取任何显著数量的位的行为会留下明显的痕迹。因此在纳米尺度上实现了不可克隆性和可破碎性。这允许技术提供商从所有协议中排除人为因素,并在将消息写入这种芯片或读取和验证其包含的数据的机器周围设置安全边界。
优选地,该容器包括物理容器。该容器可以是基于电子学、基于光学、基于化学或基于微力学的。优选地,该容器包括在容器内保存数字数据的物理容器。
优选地,该容器包括足以用于实际目的的存储容量,例如,这可以在几兆字节到1TB以上的范围内,并且优选地以这样的方式布置,这使得除了经由下面列出的擦除和质询机制之外获得对所有或几乎所有单个存储元件的访问是不可行的或不经济的。
优选地,该容器被配置为在发送方与接收方之间携带或传输数字数据。
优选地,该容器包括多个DeRM元件的阵列。
优选地,一个或多个DeRM元件中的每一个包括一个或多个DeRM单元。
优选地,一个或多个DeRM元件中的每一个包括多个DeRM单元。
在一个替代方案中,一个或多个DeRM元件中的每一个包括三个DeRM单元。
在一个替代方案中,一个或多个DeRM元件中的每一个包括三个或多个DeRM单元。
在一个替代方案中,一个或多个DeRM元件中的每一个包括四个DeRM单元。
优选地,一个或多个DeRM元件中的每一个被配置为被擦除,优选地仅在制造期间擦除或由其用户重复擦除。在前一种情况下,该容器只能用来传递一次秘密。
优选地,一个或多个DeRM元件中的每一个被配置为被质询。
优选地,一个或多个DeRM元件中的每一个被配置为通过向容器提供一个或多个DeRM元件中的每一个的地址和(对于每个地址)来自有限值集的数字值而被质询。
优选地,一个或多个DeRM元件中的每一个被配置为通过向容器提供一个或多个DeRM元件中的每一个的地址以及对于每个地址来自有限值集的数字值而被质询。
优选地,地址采用与传统存储器相同的形式。
优选地,在每个DeRM元件包括三个DeRM单元的情况下,有限值集包括110、101、011。
优选地,一个或多个DeRM元件中的每一个包括编码器和聚合器。
优选地,该编码器被布置为将2位质询码转换为从有限值集中选择的3位质询,其中,DeRM元件包括三个DeRM单元。
优选地,该编码器被布置为将3位质询码转换为从有限值集中选择的4位质询,其中,DeRM元件包括四个DeRM单元。
优选地,该聚合器被布置为允许来自DeRM元件的单个输出。
优选地,该容器具有时钟信号,并且在时钟信号的边沿处感测质询。
该质询优选地使一个或多个DeRM元件中的每一个同时执行两个动作:
a.基于DeRM元件的内容和质询值修改DeRM元件的内容;以及
b.输出指示新内容是否在某些方面不同于在修改之前存在的内容的1位信号响应,
其中,如果响应指示新内容是不同的,则该响应是不同(1)响应,否则该响应是匹配(0)。
以这种方式,存在一个或多个DeRM元件中的每一个的输出。
优选地,质询使一个或多个DeRM元件中的每一个本身,而不是一个或多个DeRM元件中的每一个外部的任何接口,同时执行这两个动作。
优选地,一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询DeRM元件而将有效内容写入其中。
在一个替代方案中,一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询DeRM元件直到内容全部已被写入而将有效内容写入其中。
在一个替代方案中,在用要被写入的内容的一部分或全部质询DeRM元件之前,擦除DeRM元件。在另一替代方案中,DeRM元件在制造期间已经被擦除并且不能再次被擦除。
优选地,一个或多个DeRM元件中的每一个被配置为通过执行以下步骤将有效内容写入其中:
1.擦除DeRM元件(除非该元件在制造期间已经被擦除并且不能再次被擦除);并且然后可选地,
2.用要被写入的内容的一部分或全部质询DeRM元件;并且然后可选地,
3.重复步骤2。
优选地,一个或多个DeRM元件中的每一个被配置为除了通过质询之外不能读取DeRM元件的内容,例如优选地,一个或多个DeRM元件中的每一个被配置为不能通过篡改容器的接口来读取DeRM元件的内容。
优选地,一个或多个DeRM元件中的每一个被配置为仅当被质询时才输出一位匹配/不同响应。
优选地,一个或多个DeRM元件中的每一个被配置为当被质询时除了一位匹配/不同响应之外不输出信息。
优选地,一个或多个DeRM元件中的每一个被配置为包含比对任意质询将产生的响应更多的信息,优选地,对于至少一个质询值,附加信息被不可逆地破坏;哪个质询值导致这样的信息丢失优选地取决于存储在被质询的DeRM元件中的内容。例如,在每个DeRM元件包括三个DeRM单元的情况下,用质询011质询内容011(导致“匹配”响应)将不会导致任何状态改变或信息丢失,而用质询110质询内容011将导致内容转换到111(导致“不同”响应),并且因此将破坏初始内容是011而不是101的信息。
优选地,当一个或多个DeRM元件中的每一个包括多个DeRM单元时,破坏性读取可以显示DeRM元件包括的DeRM单元中的一个已经改变状态,但未公开这是哪个DeRM单元。
优选地,一个或多个DeRM元件中的每一个被配置为使得引起不同响应的任何质询值破坏该过程中的一些信息。因此,检索一个或多个DeRM元件中的每一个的内容优选地要求接收方在一个或多个DeRM元件中的任一个被质询之前获得附加信息以替代将被质询破坏的信息。这些附加信息被称为信息不足。
例如,如果在特定实施例中,DeRM元件包含值110、101或011,如果用值110进行质询,不同响应将不会指示DeRM元件内容是101还是011,并且先前的内容被质询破坏,因此不能再次被质询。然而,如果在发出质询之前,接收方被作者公开告知内容是110或011,则用110或用011质询将向接收方而不是向第三方显示正确的内容。
破坏性读取和信息不足的组合的进一步后果是,在容器中读取所包含的数据并将其复制到相同的容器的物理干预变得无效,除非入侵能够通过将信号探针直接放置在物理存储元件上以特征尺寸的精度来隔离和测量包括容器的一个或多个DeRM单元的全部或几乎全部单个存储元件(位)的状态。
这使得容器能够大规模生产,因为它不需要为了篡改检测的证据的目的而被个性化。
根据本发明的第二方面,提供了一种将数据加载到本发明第一方面的容器上的方法,优选地通过用要被写入的内容的一部分或全部质询每个DeRM元件。
在一个替代方案中,一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询每个DeRM元件直到内容全部已被写入而将有效内容写入其中。
在一个替代方案中,在用要被写入的内容的一部分或全部质询每个DeRM元件之前,擦除DeRM元件。在另一替代方案中,每个DeRM元件在制造期间已经被擦除并且不能再次被擦除。
在一个替代方案中,将数据加载到容器上的方法包括对一个或多个DeRM元件中的每一个连续地执行以下步骤:
1.擦除DeRM元件(除非该元件在制造期间已经被擦除并且不能再次被擦除);并且然后可选地,
2.用要被写入的内容的一部分或全部质询DeRM元件;并且然后可选地,
3.重复步骤2。
优选地,一个或多个DeRM元件中的每一个通过向容器提供一个或多个DeRM元件中的每一个的地址和(对于每个地址)来自有限值集的数字值而被质询。
优选地,一个或多个DeRM元件中的每一个通过向容器提供一个或多个DeRM元件中的每一个的地址以及对于每个地址来自有限值集的数字值而被质询。
优选地,地址采用与传统存储器相同的形式。
优选地,在一个或多个DeRM元件中的每一个包括三个DeRM单元的情况下,有限值集包括110、101、011。
优选地,该容器具有时钟信号,并且在时钟信号的边沿处感测质询。
该质询优选地使一个或多个DeRM元件中的每一个同时执行两个动作:
a.基于DeRM元件的内容和质询值修改DeRM元件的内容;以及
b.输出指示新内容是否在某些方面不同于在修改之前存在的内容的1位信号响应,
其中,如果响应指示新内容是不同的,则该响应是不同(1)响应,否则该响应是匹配(0)。
以这种方式,存在一个或多个DeRM元件中的每一个的输出。
优选地,质询使一个或多个DeRM元件中的每一个本身,而不是一个或多个DeRM元件中的每一个外部的任何接口,同时执行这两个动作。
优选地,将数据加载到容器上的方法促进经由以下步骤将秘密位串从发送方传送到接收方:
1.用等于(在信息理论术语中)信息不足的随机填充符扩充秘密位串;
2.发送方通过侧信道将关于哪些可能的质询将显示秘密位串并破坏填充符的信息(而不是破坏秘密位串中的一些信息)发送至接收方。
在本发明的具体实施例中,在一个或多个DeRM单元中的每一个包括三个DeRM单元的情况下,将数据加载到容器上的方法可以包括下面列出的过程CFP1或CFP2中列出的步骤。
容器填充过程CFP1
1.在写入之前,发送方为将要填充的每个DeRM元件指定私有排除值:011、101或110。排除值是随机选择的,并且发送方将其选择记录在发送方的安全边界内的某个持久存储中。这个值被排除在要被写入相应DeRM元件的值的选择之外,剩下另外两个承载信息的值作为唯一的选择。排除值的保密性对于所提出的方法的安全属性是至关重要的,因为它们对任何拦截方(以及在信息发布之前的合法接收方)都是未知的这一事实产生了足够的信息不足,使得DeRM容器中的秘密不可读取。
2.要存储在容器中的内容是以三元组形式编码的二进制值序列。二进制值形成秘密位串的一部分,其是私有的、持久的,并且存储在发送方的安全边界内,并且永远不会以其原始形式进行通信。在一个可能的实施例中,使用优先级编码规则:011<101<110建立三元组与二进制值之间的对应关系:无论哪个三元组被排除,较低的剩余三元组成为值“0”的编码,而较高的剩余三元组成为值“1”的编码。这样,当排除值已知时,发送方和接收方对内容有一致的解释。发送方相应地对内容进行编码,并将其存储在临时文件中,该临时文件在完成CFP1后被破坏。在另一可能的实施例中,使用循环编码规则:011->101->110->011建立三元组与二进制值之间的对应关系:无论哪个三元组被排除,循环中的下一个三元组成为值“0”的编码,并且循环中的前一个三元组成为值“1”的编码值。
3.当内容已经被编码时,擦除容器(除非元件在制造期间已经被擦除并且不能再次被擦除),并且三元组的编码序列被呈现给它作为质询,这有效地将序列复制到DeRM容器的连续地址。
容器填充过程CFP2
1.在写入之前,发送方为将要填充的每个DeRM元件指定私有编码值:011、101或110。编码值是随机选择的,并且发送方将其选择记录在发送方的安全边界内的某个持久存储中。编码值的保密性对于所提出的方法的安全属性至关重要。
2.当已经选择编码值时,擦除容器(除非元件在制造期间已经被擦除并且不能再次被擦除),并且编码值的序列被呈现给它作为质询,这有效地将序列复制到DeRM容器的连续地址。
3.容器要释放的内容是二进制值序列。二进制值形成秘密位串的一部分,其是私有的、持久的,并且存储在发送方的安全边界内,并且永远不会以其原始形式进行通信。有可能的是,在接收方例如通过使用侧信道确认接收容器之前,发送方不会选择这些值。对于要释放的每个二进制值,根据编码值选择排除的三元组值。在一个可能的实施例中,使用循环编码规则:011->101->110->011建立三元组与二进制值之间的对应关系:无论哪个三元组被编码,循环中的下一个三元组成为用于释放二进制值“1”的排除值,并且循环中的前一个三元组成为用于释放二进制值“0”的排除值。
根据本发明的第三方面,提供了一种将数据加载到容器上的方法,该容器包括被配置为存储内容的一个或多个破坏性读取存储器(DeRM)元件,其中,一个或多个DeRM元件中的每一个被配置为使得由一个或多个DeRM元件中的每一个存储的内容大于当一个或多个DeRM元件中的每一个通过用要被写入的内容的一部分或全部质询一个或多个DeRM元件中的每一个来被破坏性读取时显示的内容。
在一个替代方案中,一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询一个或多个DeRM元件中每一个直到内容全部已被写入而将有效内容写入其中。
在一个替代方案中,在用要被写入的内容的一部分或全部质询一个或多个DeRM元件中的每一个之前,擦除一个或多个DeRM元件中的每一个。在另一替代方案中,一个或多个DeRM元件中的每一个已经在制造期间被擦除并且不能再次被擦除。
在一个替代方案中,将数据加载到容器上的方法包括对一个或多个DeRM元件中的每一个连续地执行以下步骤:
1.擦除DeRM元件(除非该元件在制造期间已经被擦除并且不能再次擦除);并且然后可选地,
2.用要被写入的内容的一部分或全部质询DeRM元件;并且然后可选地,
3.重复步骤2。
优选地,一个或多个DeRM元件中的每一个通过向容器提供一个或多个DeRM元件中的每一个的地址和(对于每个地址)来自有限值集的数字值而被质询。
优选地,一个或多个DeRM元件中的每一个通过向容器提供一个或多个DeRM元件中的每一个的地址以及对于每个地址来自有限值集的数字值而被质询。
优选地,地址采用与传统存储器相同的形式。
优选地,在一个或多个DeRM元件中的每一个包括三个DeRM单元的情况下,有限值集包括110、101、011。
优选地,该容器具有时钟信号,并且在时钟信号的边沿处感测质询。
该质询优选地使一个或多个DeRM元件中的每一个同时执行两个动作:
a.基于DeRM元件的内容和质询值修改DeRM元件的内容;以及
b.输出指示新内容是否在某些方面不同于在修改之前存在的内容的1位信号响应,
其中,如果响应指示新内容是不同的,则该响应是不同(1)响应,否则该响应是匹配(0)。
以这种方式,存在一个或多个DeRM元件中的每一个的输出。
优选地,质询使一个或多个DeRM元件中的每一个本身,而不是一个或多个DeRM元件中的每一个外部的任何接口,同时执行这两个动作。
优选地,将数据加载到容器上的方法促进经由以下步骤将秘密位串从发送方传送到接收方:
1.用等于(在信息理论术语中)信息不足的随机填充符扩充秘密位串;
2.发送方通过侧信道将关于哪些可能的质询将显示秘密位串并破坏填充符的信息(而不是破坏秘密位串中的一些信息)发送至接收方。
根据本发明的第四方面,提供了一种验证通过本发明第二方面或第三方面的方法加载到本发明的第一方面的容器上的数据先前未被访问的方法,包括以下步骤:
1.发送方将包含在本发明的第一方面的容器内的随机保密内容发送至接收方,其中,发送方将该内容的副本保存在其本地安全存储中;
2.发送方经由侧信道通信建立接收方已经接收容器;
3.发送方经由侧信道通信向接收方显示关于来自容器的内容的数据子集的附加信息;
4.接收方使用该附加信息从步骤3的容器的内容中获得数据子集;
5.接收方创建在步骤4中获得的数据子集的概要;
6.接收方经由侧信道将在步骤5中获得的概要发送至发送方;
7.发送方计算保存在其本地安全存储中的关于内容的副本的概要;
8.发送方将接收方的概要与发送方的概要进行比较,并且如果发送方的概要与接收方的概要相同,则内容未被第三方读取,否则内容已被第三方读取;
9.发送方经由侧信道将由发送方在步骤8中执行的比较的结果发送至接收方;
10.接收方任选地从容器中删除其可能包含的关于保密内容的任何剩余信息。
优选地,侧信道被认证。然而,侧信道不需要是私有的。
在一个替代方案中,该方法包括步骤2a(在步骤2与步骤3之间),其中,在发送方与接收方之间通过侧信道进行初步通信以根据需要确定附加信息的细节。
优选地,数据子集的概要是行业标准加密散列,优选地,行业标准加密散列不能被第三方逆转以学习从其获得的原始数据的单个位。
在步骤3中的一个替代方案中,关于来自容器的内容的数据子集的附加信息包括给接收方的消息,该消息包含一系列n(Ai,Xi)对,其中,i=0,…,n-1并且n是发送方此时希望与接收方共享的秘密位串的长度。值n应该足够大以降低正确猜测位串的概率。通常n≥100。在每一对中,Ai是DeRM元件的地址,并且Xi是发送方先前选择的排除值。
在步骤4中的一个替代方案中,当Xi被排除时,接收方通过对于每个第i对用具有剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为Ai的容器DeRM元件使用附加信息从容器的内容中获得数据子集。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同。如果值Di为1,则未选择的质询将与所存储的信息内容相同。
在步骤5中的一个替代方案中,在步骤4中获得的数据子集的概要包括重构的位串C的行业标准加密散列。
在步骤6中的一个替代方案中,由接收方在侧信道上将重构的位串C的行业标准加密散列传送回发送方以确认共享。
在步骤9中的一个替代方案中,如果散列是正确的,则在侧信道上将肯定确认发送至接收方,或者如果散列是不正确的,则发送否定确认。这不会暴露共享秘密C,因为加密散列被认为不会泄露关于原象(pre-image)的信息。
在步骤10中的一个替代方案中,接收方将111写入该方法的步骤1中使用的所有容器位置Ai,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或重复方法步骤为止,无论哪个首先发生。
在步骤3中的一个替代方案中,关于来自容器的内容的数据子集的附加信息包括给接收方的消息,该消息包含一系列n(Ai,Xi)对,其中,i=0,…,n-1并且n是发送方此时希望与接收方共享的秘密位串的长度。值n应该足够大以降低正确猜测位串的概率。通常n≥100。在每一对中,Ai是DeRM元件的地址,并且Xi是排除值或者是地址为Ai的DeRM元件的实际内容。如果是前者,我们将称该对为密钥对,并且如果是后者,我们将称该对为选择对。发送方可支配的计算能力越大,序列中的选择对m<n的数量就越多,且协议被允许花费的时间就越多。出于实际目的,在最小长度序列n~100中,有m~20就足够了,见下文。发送方记下所有选择对的系列中的位置以供步骤3使用。
在步骤4中的一个替代方案中,当Xi被排除时,接收方通过对于每个第i对用具有剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为Ai的容器DeRM元件使用附加信息。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同。如果值Di为1,则未选择的质询将与所存储的信息内容相同。
在步骤5中的一个替代方案中,在步骤4中获得的数据子集的概要包括重构的位串C的行业标准加密散列。
在步骤6中的一个替代方案中,由接收方在侧信道上将重构的位串C的行业标准加密散列传送回发送方以确认共享。
在步骤7中的一个替代方案中,发送方代表接收方重构位串CR,标记对应于原始序列上的选择对的位置。这些位置中的位是无法预测的,因为接收方被发送了错误的排除值,并因此在质询时来自DeRM的输出可能是0或1,这取决于接收方在每种情况下选择了两个可用质询中的哪一个。发送方尝试所有2m个组合,通常为100万次。
在步骤8中的一个替代方案中,来自步骤7的产生等于来自步骤6的位串C的接收散列值的散列值的组合被声明为正确的。
在步骤9中的一个替代方案中,如果发现匹配,则在侧信道上将肯定确认发送至接收方,或者如果未发现匹配,则发送否定确认。
在步骤10中的一个替代方案中,接收方将111写入协议的步骤1中使用的所有容器位置Ai,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或重复方法步骤为止,无论哪个首先发生。
定义.水印是由111和000值组成的序列,以111开始和结束,并放置在DeRM中的连续地址处。除了结束标记之外,三元组111被解释为二进制1,并且三元组000被解释为二进制0。被解释为二进制的水印的内容被称为版本值。
在步骤2a中的一个替代方案中,通过侧信道从发送方到接收方的附加通信包括起始地址。接收方使用起始地址以通过质询(用任意三元组)容器的起始地址从容器的内容中获得版本值。如果该地址处的DeRM元件被确定为除111之外的任何元件,则接收方前进到下一个地址,直到遇到并完整读取第一个水印。在该替代方案中,在步骤2a中,通过侧信道从接收方到发送方的附加通信包括水印位置和版本值。发送方接收水印位置和版本值,并且发送方使用保存在其本地存储器中的内容的副本从容器的内容计算关于数据子集的附加数据;通过从保存在其非易失性存储器中的内容文件的相关地址获取L个三元组,对L个三元组的序列应用变换Tv以获得在这些地址处写入容器中的序列S’,其中,v是水印的版本值,且Tv是依赖于它的一些公共算法。使用先前保存在非易失性存储器中的二进制内容文件(参见本发明的第二方面中列出的CFP1步骤2或CFP2步骤3),发送方能够从序列S’重构产生该内容的排除值X’,即发送方能够计算L个新的密钥对。发送方也能够通过从S’中获取相应的三元组来产生选择对。
在步骤3中的一个替代方案中,关于来自容器的内容的数据子集的附加信息包括给接收方的消息,该消息包含一系列n(Ai,Xi)对,其中,i=0,…,n-1,并且每一对是密钥对或者是选择对。值n应该足够大以降低正确猜测位串的概率。通常n≥100。在每一对中,Ai是DeRM元件的地址,并且Xi在密钥对的情况下是排除值,或者在选择对的情况下是地址为Ai的DeRM元件的实际内容。由于容器的所有接收方接收通常不同的内容,因此可以选择在假设的威胁模型下根本不需要选择对。我们认识到,可能存在更具侵略性的威胁模型,在这种模型下,选择对的使用可能仍然是合理的。
在步骤4中的一个替代方案中,对于每个第i对,当Xi被排除时,接收方用剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为Ai的容器DeRM元件。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为1,则未选择的质询将与所存储的信息内容相同。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同,或者所存储的内容是111。为了区分这些情况,接收方用来自对Li,Hi的另一三元组值第二次质询DeRM元件,并在第二次质询结束时记录来自DeRM元件的输出Di。如果该值Di为1,则第一次质询将与所存储的信息内容相同。如果该值Di为0,则所存储的内容为111。如果在读取L个三元组之前检测到水印,则协议失败。
在步骤5中的一个替代方案中,在步骤4中获得的数据子集的概要包括重构的位串C的行业标准加密散列。
在步骤6中的一个替代方案中,位串C的加密散列在侧信道上从接收方传送回发送方以确认共享。
在步骤7中的一个替代方案中,发送方代表接收方重构位串CR,标记对应于原始序列上的选择对的位置(如果有的话)。这些位置中的位是无法预测的,因为接收方被发送了错误的排除值,并因此在质询时来自DeRM的输出可能是0或1,这取决于接收方在每种情况下选择了两个可用质询中的哪一个。发送方尝试所有2m个组合。
在步骤8中的一个替代方案中,产生等于所接收的位串C的散列的散列值的组合被声明为正确的。(如果没有使用选择对,则m=0,并且仅一个位串要检查。)
在步骤9中的一个替代方案中,如果发现匹配,则在侧信道上将肯定确认发送至接收方,或者如果未发现匹配,则发送否定确认。
在步骤10中的一个替代方案中,接收方将111写入协议的步骤1中使用的所有容器位置Ai,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或重复方法步骤为止,无论哪个首先发生。
优选地,数据子集的概要是行业标准加密散列,优选地,行业标准加密散列不能被第三方逆转以学习从其获得的原始数据的单个位。
本发明还提供了一种获得由第三方篡改在发送方与接收方之间携带数字数据的物理容器的证据的方法,其中,仅通过使用其信号终端向容器发送和接收数字信号,在自动模式下可靠地获得证据。通过上述一般方法的步骤8处的不匹配证明篡改。
如本文所述,容器及其效用完全取决于破坏性读取和信息不足这两个基本属性。破坏性读取属性意味着拦截方无法读取容器的内容,除非在过程中以破坏信息的方式更改内容。信息不足属性意味着由一个或多个DeRM元件中的每一个存储的信息内容大于当一个或多个DeRM元件中的每一个被破坏性读取时显示的信息内容。这意味着拦截方无法读取容器的内容的任何重要部分而不破坏比读取所显示的更多的信息。在内容被读取并因此被改变之后,任何将内容恢复到读取之前的状态的尝试都被信息不足属性所阻止:为了恢复内容,拦截方需要发送方存储在容器中的所有信息,并且在发送方不首先提供将被读取破坏的部分的情况下,就不能提取这些信息。
本发明的一个应用是共享随机内容,以便该内容被用作共享密钥,包括使用一次性衬垫,以便在开放信道上在发送方与接收方之间进行进一步的保密交换。在这种用例中,步骤8的失败不会暴露保密数据。如果步骤8成功,这保证没有第三方看到要共享的内容。
根据本发明的第五方面,提供了一种验证加载到容器上的数据的方法,该容器包括被配置为存储内容的一个或多个破坏性读取存储器(DeRM)元件,其中,一个或多个DeRM元件中的每一个被配置为使得由一个或多个DeRM元件中的每一个存储的内容大于当一个或多个DeRM元件中的每一个通过用要被写入的内容的一部分或全部质询一个或多个DeRM元件中的每一个来被破坏性读取时显示的内容,该方法包括以下步骤:
1.发送方将包含在本发明的第一方面的容器内的随机保密内容发送至接收方,其中,发送方将该内容的副本保存在其本地安全存储中;
2.发送方经由侧信道通信确定接收方已经接收容器;
3.发送方经由侧信道通信向接收方显示关于来自容器的内容的数据子集的附加信息;
4.接收方使用附加信息从步骤3的容器的内容中获得数据子集;
5.接收方创建在步骤4中获得的数据子集的概要;
6.接收方经由侧信道将在步骤5中获得的概要发送至发送方;
7.发送方计算保存在其本地安全存储中的关于内容的副本的概要;
8.发送方将接收方的概要与发送方的概要进行比较,并且如果发送方的概要与接收方的概要相同,则内容未被第三方读取,否则内容已被第三方读取。
9.发送方经由侧信道将由发送方在步骤8中执行的比较的结果发送至接收方;
10.接收方任选地从容器中删除其可能包含的关于保密内容的任何剩余信息。
优选地,侧信道被认证。然而,侧信道不需要是私有的。
在一个替代方案中,该方法包括步骤2a(在步骤2与步骤3之间),其中,在发送方与接收方之间通过侧信道进行初步通信以根据需要确定附加信息的细节。
优选地,数据子集的概要是行业标准加密散列,优选地,行业标准加密散列不能被第三方逆转以学习从其获得的原始数据的单个位。
附图说明
现在将仅以示例的方式参照附图描述本发明,在附图中:
图1示出了单个位DeRM单元;
图2示出了具有三个DeRM单元的DeRM元件;以及
图3示出了具有四个DeRM单元的DeRM元件。
具体实施方式
下面仅通过示例的方式描述本发明的实施例。这些实施例代表了申请人目前已知的将本发明付诸实践的最佳方式,尽管它们不是可以实现这一点的唯一方式。
本发明涉及一种获得数据的概率防篡改(PTP)数字容器的方法和实现方式。
虽然本发明不依赖于在高于单个存储位的水平上的任何物理保护的存在,诸如难以伪造的可破坏包装、硬壳等,但它可以与这种物理保护的任何组合结合使用。
本发明确保如果存在对容器的任何篡改,即第三方读取已经存储在容器上的数据的任何足够大的子集的任何尝试,那么当发送方和接收方参与交付后验证协议时,这种尝试将被发送方和/或接收方检测到。
破坏性读取存储器(DeRM)容器是能够存储数据而不需要任何外部电源达比将容器从发送方传输到接收方所需的最大时间长的时间段的存储设备。容器具有一个或多个DeRM元件,并且每个DeRM元件包含k个枚举的DeRM单元,每个单元能够存储一位数据。k是小整数,在大多数情况下在3与8之间。在本发明的一个实施例中,k=3。
本发明利用DeRM容器作为生产全数字PTP容器的技术。
提供了一个或多个DeRM元件,每个DeRM元件包括一个或多个DeRM单元,并且在任何时间单独地发现一个或多个DeRM元件中的每一个处于以下状态之一:
当所有组成DeRM单元的内容为0时,擦除;
当组成DeRM单元的内容为1和0的混合时,填充;
当所有组成DeRM单元的内容为1时,读取。
填充的DeRM元件的有效内容可以排除DeRM单元值的某些组合,以促进维持信息不足。例如,在k=3的实施例中,可以排除值组合001、010和100以确保:1.对DeRM元件的导致“不同”响应的任何质询都会破坏包含在DeRM元件中的所有信息;这阻止了拦截方经由一系列质询(诸如001,然后010,然后100)逐渐提取该信息;以及2.了解改变状态的DeRM单元的数量(其可以由监视容器的功率汲取的拦截方学习)不比输出显示的一位(匹配或不同)更多地显示关于DeRM元件中的信息。
无论是单独擦除还是在擦除整个DeRM容器时,DeRM元件都可以被擦除(在任何时间由用户擦除,或者可能仅在制造期间擦除一次而不再次擦除)。未能擦除任何DeRM元件将是阻止DeRM容器正确运行的技术故障,但不会引入安全风险。
DeRM元件可以在任何时间填充内容。用内容填充DeRM元件的优选方式是在它被擦除之后,并且在对它执行任何其他操作之前。在用内容填充DeRM元件之前未能擦除它将是阻止DeRM容器正确运行的技术故障,但是它不会引入安全风险。优选地,填充硬件以这样一种方式设计,以防止DeRM单元被设置为排除的组合,从而确保保持信息不足。
优选地,用作为质询的DeRM元件的期望内容的表示通过使用破坏性读取操作来填充DeRM元件。
可以在任何时间破坏性地读取DeRM元件。该操作需要向DeRM元件提出质询。该质询是可以在DeRM单元值的组合中表示的一些或所有信息的表示。如果质询改变了DeRM元件的内容,则该质询被称为不同。否则该质询被称为匹配。在我们k=3的示例实例中,质询可能表示对DeRM单元的内容的猜测,诸如011。在破坏性读取DeRM单元的内容的过程中发生两件事:
该设备感测质询是不同还是匹配。在一个替代方案中,它可以电子地感测这一点,例如通过注意浮动栅极晶体管(闪存的标准构建模块)是在低控制栅极电压下打开还是在高控制栅极电压下打开,这是本领域已知的标准技术。然而,可以利用不同的感测方法,并且该感测方法不特定于本发明。
如果质询不同,并且DeRM元件处于填充状态,则DeRM元件被设置为读取状态,这意味着所有组成DeRM单元的内容被设置为1。如果质询不同并且DeRM元件处于擦除状态,则DeRM元件被设置为具有与质询所表示的内容相对应的内容的填充状态。在一个示例中,破坏性读取操作的输出是质询的结果:匹配(0)或不同(1)。
优选地,每个DeRM元件可以重复读取而不会引起技术故障。
在接收方未注意到数据已经被读取的情况下,这种DeRM体系结构的使用确保拦截方不能读取存储在DeRM容器上的大量数据,因为DeRM容器将由发送方发送,其中,DeRM容器中的所有相关DeRM元件处于填充状态。被拦截方使用不同的质询破坏性读取的任何DeRM元件将立即转换到读取状态,导致这些DeRM元件中的一些信息的不可逆破坏,当它们读取存储在DeRM元件中的数据时,接收方可以检测到这一点,并且然后接收方可以发出篡改警报。在上述一般方法的步骤8处的不匹配证明篡改。
本发明被配置为单独地和局部地保护每个DeRM元件(例如,就保护电路在硅管芯上的物理放置而言),以便消除接口攻击,由此拦截方穿透芯片以屏蔽控制对存储器的访问的接口,并且然后读取、擦除和重新填充每个DeRM单元的数据部分。鉴于硅芯片的现代多层结构,可以假设,如果几乎所有的DeRM单元都需要以这种方式读取,则使用附着在硅上的微电子探针直接访问单个DeRM单元将是不可能的或不切实际的。由于可能使用具有位扩散逆的可逆函数,因此对于拦截方来说,读取显著少于100%的DeRM元件(比如99%)是无效的。发送方可以在将某个长度为L的秘密位串放入容器之前,对其应用公共可逆函数。如果函数的逆函数具有高度的计算位扩散,则若干位的更改将阻止原始内容恢复到使结果的每一位都不可预测的点。这种扩散是对称密码的特征,例如AES。在将内容放入容器之前,对内容应用具有公开已知密钥的AES将使位更改对任何拦截方的恢复过程都是灾难性的。这些技术使得发送方和接收方能够在内容交付后以关键取决于所有DeRM元件的数据的有效性的方式一致地转换内容。
架构
基于上述考虑,我们在下面列出DeRM元件的示例实现方式,适用于从发送方向接收方传递以三元组形式编码的单个秘密二进制值。
图1所示的DeRM单元10基于1位非易失性存储单元12,其具有两个输入:质询14和擦除16以及一个输出18。只要DeRM单元10被供电,就始终在输出18上声明DeRM单元的内容。如果输入14在时钟20上升时为高(从低转换到高),则单元12转换到状态“1”并无限期地保持在该状态。在时钟20转换到高之前,通过将输入16上升到高,可以将单元12擦除到“0”。单元12可以使用闪存中发现的浮动栅极晶体管来实现。然而,本发明不需要特定的实现方式;在实现本发明时,可以使用表现为上述的任何数字结构。
单元12之前的两个非门22和与门24使得无论在输入14、16上声明什么值都不可能同时质询和擦除单元12。
提供锁存器26,在任何输入信号能够跨单元12传播之前,该锁存器通过时钟20的上升(从低转换到高)被复位。单元12的输出18通过上升沿到脉冲转换器28(在输入之间具有反相器(诸如非门)32的与门30)到锁存器26的输入34。如果擦除信号保持低,这导致如果单元12的存储器内容在时钟20再次上升(从低转换到高)之前已经改变,则设置锁存器26。这仅在质询信号为高且单元12的内容为0时发生。否则锁存器26保持复位。
图2示出了具有三个DeRM单元10、编码器40和聚合器50的DeRM元件100。如下面的表1所示,编码器40被布置为将输入的2位质询码转换为3位质询。所示实施例中的编码器40包括异或门42,然而,编码器40可以包括不同的布置。聚合器50被布置为允许来自DeRM元件200的单个输出。所示实施例中的聚合器50包括或门,然而,聚合器50可以包括不同的布置。
质询码 质询
00 000
01 110
10 101
11 011
表1
只有三个值是有效的:01、10、11,它们对应于用作质询的三个三元组。第四个值00表示非质询,这便于通过标准解码器启用DeRM元件阵列中的一个DeRM元件:启用的DeRM元件将看到非零质询,而其余的将接收00,这没有效果。接下来,由编码器40驱动三个DeRM单元10,以及最后DeRM单元10的输出被收集到或门50中,以形成DeRM元件100的输出。注意,DeRM单元10的状态携带log23≈1.58位信息,但是输出是严格的二进制,即1位。因此,如果一个质询动作潜在地改变了DeRM单元10的状态,则在该动作期间产生的输出将不会传达足够的信息来确定先前的内容,因此DeRM元件100在其响应中表现出信息不足。
图3示出了具有四个DeRM单元10、编码器140和聚合器150的DeRM元件200。编码器140被布置为将输入的3位质询码转换为4位质询码,如下面表2所示。所示实施例中的编码器140包括反相器144(在一个替代方案中可以是非门)、或门146和与门148的布置,然而,编码器140可以包括不同的布置。聚合器150被布置为允许来自DeRM元件200的单个输出。所示实施例中的聚合器150包括或门;然而,聚合器150可以包括不同的布置。
质询码 质询
0XX 0000
100 1110
101 1101
110 1011
111 0111
表2
只有四个值是有效的:100、101、110、111,它们对应于用作质询的四个三元组。其他四个值0XX表示非质询,这便于通过标准解码器启用DeRM元件阵列中的一个DeRM元件:启用的DeRM元件将看到非零质询,而其余的将接收000,这没有效果。接下来,由编码器140驱动四个DeRM单元10,以及最后DeRM单元10的输出被收集到或门150中,以形成DeRM元件200的输出。注意,DeRM单元10的状态携带log24=2位信息,但是输出是严格的二进制,即1位。因此,如果一个质询动作潜在地改变了DeRM单元10的状态,则在该动作期间产生的输出将不会传达足够的信息来确定先前的内容,因此元件在其响应中表现出信息不足。
为了本发明的目的,类似地表现出信息不足和破坏性读取的任何DeRM结构将可接受作为DeRM元件的实现方式。
根据本发明的实施例,提供了一种能够提供PTP属性的缓释容器(SRC)。
在本发明的一个实施例中,缓释容器对内容物的所有位使用3单元DeRM元件,从而通过信息不足保护每个位。然而,可以在每个DeRM元件中使用四个或甚至更多个DeRM单元。
例如,在每个DeRM元件包含四个DeRM单元的情况的实施例中,有效值为空:0(0000)、填充:7(0111)、b(1011)、d(1101)、e(1110)以及读取:f(1111),并且对于每个DeRM元件,发送方通过侧信道通知接收方两个值(例如,e和7)。在该示例中,e将表示传输的二进制值0,并且7表示传输的值1。具有任一值的质询允许接收方确定DeRM元件包含哪个值。
拦截方不仅不可能不可检测地读取大量内容,而且在不与发送方接触的情况下,拦截方甚至不能可靠地读取内容。否则,拦截方仅能通过确认概率以指数形式小于m的猜测来读取m位的内容,这意味着发送方和接收方可以仅使用长度为L>>m的块来获得任意期望统计余量的概率防篡改保护。
PTP属性将需要(公共)位敏感的内容后编码,或者是不可逆的(例如,散列)或者是可逆的(例如,用公布的对称密钥加密),块长度L越短,其中任一种被要求越强。由于其在上述意义上的概率防篡改,缓释DeRM容器可以用于存储将不时部分释放的大量秘密,这对于具有弱安全边界的接收方(例如,物联网上的事物)来说可能是有用的属性。
与DeRM一起使用的群协议
下面我们描述DeRM容器的进一步实施例,其特别适合(但不排他地)IoT应用。IoT安全状况在两个方面比较特殊:
1.IoT设备的安全性相当弱,以至于破坏了固定安全边界的概念。该弱点是由于设备的有限计算资源、高能量成本或设备的有限计算资源和高能量成本两者,这排除了使用具有足够高频率的复杂加密算法。如果发生攻击,则包含在非DeRM存储器中的任何数据都应立即被视为受损。
2.例如,当设备被放置在街道上的受控制的场所外部、屋顶上或任何偏远或无人看管的地方时,物理安全也可能很弱。然而在其他情况下,诸如智能工厂、智能医院等,物理安全性可以足够假设一旦安装了设备,就不能访问DeRM容器。
3.IoT设备通常存在于多达数千个单独事物的群中,该群与受到良好保护的数据中心共享保密信息,但不必彼此共享。在这种条件下,在群的所有事物中安装具有相同或几乎相同内容的DeRM容器的副本在技术上是有利的。这也允许监管代理在任何时间动态地引入新事物,而无需扩展他们的秘密的数据库,其中,授权仅通过安装具有通用或轻度定制内容的DeRM容器的副本来给予。
上述情况需要一种机制,由此:
(i)所有秘密都驻留在DeRM容器中,或者(少量且寿命短)驻留在易失性存储器中,该易失性存储器被攻击检测基础设施迅速且有效地擦除)。
(ii)DeRM容器支持保密数据的缓慢释放,由此中心参与的协议能够“解锁”DeRM容器的一部分内容,而不会将其余内容暴露给这个或任何其他代理。该方案应设计为重复运行,且不应依赖于任何先前的结果。
由于缓慢释放的要求,容器尚未使用的部分也应该是不可读取的。如果不与中心签订协议,任何代理都不可能或非常不可能100%正确地读取内容,无论是否留下明显的痕迹。回想一下,我们假设存在经过认证的侧信道,因此参与协议的要求自动确保该协议与合法的交易对手在一起。
架构
如图2所示,本发明在一个实施例中使用DeRM单元三元组,其携带编码为三位组合的1位有效载荷。具体地,该实例中的DeRM元件包含三个DeRM单元,其被电子地约束为仅存储值000、011、101、110、111。
三个DeRM单元同时被破坏性读取,并对它们的输出进行或运算。当擦除DeRM元件时,在具有三个DeRM单元的DeRM元件的情况下,内容被设置为000,并且无论DeRM单元处于什么状态,DeRM元件都会在输出上产生匹配响应。容器优选地是一组这样的DeRM元件,其配备有任何标准寻址机制,这使得可以选择特定的DeRM元件用于质询或擦除。
质询是将初始内容写入DeRM元件(在擦除之后)或破坏性地检查该内容(在写入之后的任何时间)的过程。擦除不需要是全局的,因为重新填充攻击依赖于拦截方完全了解要重新填充容器的内容。注意,图2中的门结构防止DeRM元件被写入包含单个1的三元组;它要么是两个1,对应于三个信息承载(填充)值(011、101、110或者是数字111/000)之一,它们分别是读取/空的值。注意,值111不能在一个周期内写入DeRM元件,但这可以通过用三个质询011、101、110中的两个连续质询来实现。
擦除后将数据加载到容器中可以以下方式之一进行:
容器填充过程CFP1
1.在写入之前,发送方为将要填充的每个DeRM元件指定私有排除值:011、101或110。排除值是随机选择的,并且发送方将其选择记录在发送方的安全边界内的某个持久存储中。这个值被排除在要被写入相应DeRM元件的值的选择之外,剩下另外两个承载信息的值作为唯一的选择。排除值的保密性对于所提出的方法的安全属性是至关重要的,因为它们对拦截方(以及在信息发布之前的合法接收方)都是未知的这一事实产生了足够的信息不足,使得DeRM容器中的秘密不可读取。
2.要存储在容器中的内容是以三元组形式编码的二进制值序列。二进制值是私有的、持久的,并且存储在发送方的安全边界内,并且永远不会以其原始形式进行通信。在一个可能的实施例中,使用优先级编码规则:011<101<110建立三元组与二进制值之间的对应关系:无论哪个三元组被排除,较低的剩余三元组成为值“0”的编码,而较高的剩余三元组成为值“1”的编码。这样,当排除值已知时,发送方和接收方对内容有一致的解释。发送方相应地对内容进行编码,并将其存储在一个临时文件中,该临时文件在完成CFP1后被破坏。在另一可能的实施例中,使用循环编码规则:011->101->110->011建立三元组与二进制值之间的对应关系:无论哪个三元组被排除,循环中的下一个三元组成为值“0”的编码,并且循环中的前一个三元组成为值“1”的编码值。
3.当内容已被编码时,容器被擦除(除非DeRM元件在制造期间被擦除并且不能再次被擦除),并且三元组的编码序列被呈现给它作为质询,这有效地将三元组序列复制到DeRM容器的DeRM元件中的连续地址处。
容器填充过程CFP2
1.在写入之前,发送方为将要填充的每个DeRM元件指定私有编码值:011、101或110。编码值是随机选择的,并且发送方将其选择记录在发送方的安全边界内的某个持久存储中。编码值的保密性对于所提出的方法的安全属性至关重要。
2.当已经选择编码值时,擦除容器(除非DeRM元件在制造期间被擦除并且不能再次被擦除),并且编码值的序列被呈现给它作为质询,这有效地将编码值的序列复制到DeRM容器的DeRM元件中的连续地址处。
3.容器要释放的内容是二进制值序列。二进制值是私有的、持久的,并且存储在发送方的安全边界内,并且永远不会以其原始形式进行通信。有可能的是,在接收方例如通过使用侧信道确认接收容器之前,发送方不会选择这些值。对于要释放的每个二进制值,根据编码值选择排除的三元组值。在一个可能的实施例中,使用循环编码规则:011->101->110->011建立三元组与二进制值之间的对应关系:无论哪个三元组被编码,循环中的下一个三元组成为用于释放二进制值“1”的排除值,并且循环中的前一个三元组成为用于释放二进制值“0”的排除值。
协议
本发明使得人们能够共享秘密,因为在不了解单个DeRM元件的排除值的情况下,拦截方甚至接收方都不能可靠地读取单个DeRM元件,并且排除值最初对发送方是私有的。事实上,如果接收方将任意有效质询G≠111应用于包含三元组T的DeRM元件,那么如果G=T,则输出D将是0(匹配),因为没有DeRM单元将改变其值。如果G≠T,那么输出将是D=1(不同),并且同时内容将变成T=111。如果内容和质询都不等于111,则输出D指示G=T是否具有100%的可靠性。
在接收方已经通知发送方容器到达侧信道之后,接收方将能够通过参与下面列出的协议A来读取内容。在一些实施例中,该协议可以连续地应用于不同范围的地址,甚至可能在它们之间具有长时间延迟(天/周)。
协议A
1.使用侧信道,发送方向接收方发送消息,该消息包含一系列n(Ai,Xi)对,其中,i=0,…,n-1并且n是发送方此时希望与接收方共享的秘密位串的长度。值n应该足够大以降低正确猜测位串的概率。通常n≥100。在每一对中,A是DeRM元件的地址,并且X是发送方先前选择的排除值。
2.对于每个第i对,当Xi被排除时,接收方用剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为Ai的容器DeRM元件。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同。如果值Di为1,则未选择的质询将与所存储的信息内容相同。
3.由接收方在侧信道上将重构的位串C的散列传送回发送方以确认共享。发送方在侧信道上向接收方确认散列是正确的,或者如果没有发现匹配,则发送否定确认。这不会暴露共享秘密C,因为加密散列被认为不会泄露关于原象的信息。
4.接收方将111写入协议的步骤1中使用的所有容器位置Ai,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或协议再次运行为止,无论哪个首先发生。
现在让我们从拦截方的角度来检查协议A。有两种可能的场景:
1.拦截方监测侧信道,但不拦截运输途中的容器
2.拦截方拦截容器并对多个DeRM元件进行再填充攻击
在第一个场景中,拦截方无法访问容器,并因该对的知识不会转化为字符串C的任何知识。
在第二个场景中,拦截方必须在不了解排除值的情况下正确读取多个DeRM元件,擦除DeRM元件(除非元件在制造期间被擦除并且不能再次被擦除),并写回所获得的值。可替换地,拦截方可以尝试将值写回另一DeRM容器,其中,DeRM元件已经被放置于擦除状态。在这两种情况下,拦截方所能做的最好的事情就是对一定数量的元件应用随机质询,希望从输出中猜测DeRM元件的内容。如果质询传递的输出为0,则拦截方已经可靠地建立了内容(DeRM元件内部没有位翻转表示正确猜测的三元组,或者输出为0可能表示空的DeRM元件000-我们稍后将讨论空的DeRM元件,此时我们假设发送方没有留下任何空的DeRM元件)。如果输出为1,则其他两个三元组中的一个三元组存储在DeRM元件中,并且现在拦截方将不知道或无法知道是哪一个三元组,因为内容被破坏了:DeRM元件现在包含111。在后一种情况下,拦截方在两个三元组之间进行猜测,而不是质询。把概率加起来,我们得到
Figure BDA0004187113370000321
显然,对于n个DeRM元件的集合,正确猜测整个集合的概率是/>
Figure BDA0004187113370000322
例如,对于n=100,该概率是
Figure BDA0004187113370000323
如果拦截方感到幸运,尽管可能性很小,但他们可以通过擦除100个DeRM元件的集合(除非这些元件在制造期间被擦除并且不能再次被擦除)并将猜测的内容写回来对它们进行重新填充攻击。(可替换地,拦截方可以尝试将值写回另一DeRM容器。)然后,拦截方将写回的容器转发给接收方。如果由接收方读取的内容与由发送方发送的内容相差至少一位,则攻击失败。对于由拦截方读取的每一位,由接收方读取的位与由发送方发送的位不同的概率为1/4,并因此,由于所使用的加密散列的质量,步骤3将以足够接近100%的概率失败。
群约束:相同的容器本发明还提供了用于IoT情形的解决方案,当代替单个设备,例如传感器处理相同类型的大量事物时,这通常被称为群。这个场景中的发送方是非IoT,例如高功率服务器,我们将在后文中称之为群保管方。保管方必须为群中的每个事物保留容器中所有内容的副本,即使它们都是同类的。如果所有容器都包含通常不同的数据,则保管方的存储需求与群的大小成正比,并且可能变得非常昂贵(因此限制了单个容器的大小)。
非常期望能够使用与群的所有事物相同的容器数据(其可以达到千兆字节),但是这将需要附加协议支持以防止其他事物(其中一些可能受到损害)获得对给定事物与其群保管方之间共享的秘密的访问,尽管事实上其他事物可以访问相同的容器数据。
因此,本发明提供如下所述的协议B,在协议B中,对协议A的步骤1和3进行了修改。
协议B
1.发送方发送包含一系列n(Ai,Xi)对的消息,其中,i=0,…,n-1,并且n是发送方此时希望与接收方共享的秘密位串的长度。值n应该足够大以降低正确猜测位串的概率。通常n≥100。在每一对中,Ai是DeRM元件的地址,并且Xi是排除值或者是地址为Ai的DeRM元件的实际内容。如果是前者,我们将称该对为密钥对,且如果是后者,我们将称该对为选择对。保管方可支配的计算能力越大,序列中的选择对m<n的数量就越多,且协议被允许花费的时间就越多。出于实际目的,在最小长度序列n~100中,有m~20就足够了,见下文。发送方记下所有选择对系列中的位置以供步骤3使用。
2.对于每个第i对,当Xi被排除时,接收方用剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为A的容器DeRM元件。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同。如果值Di为1,则未选择的质询将与所存储的信息内容相同。3.位串C的加密散列在侧信道上从接收方传送回发送方以确认共享。发送方代表接收方重建位串CR,标记对应于原始序列上的选择对的位置。这些位置的位是无法预测的,因为接收方被发送了错误的排除值,并因此来自DeRM元件的输出也是如此。在质询时,它可以是0或1,这取决于接收方在每种情况下选择两个可用质询中的哪一个。发送方尝试所有2m个组合,通常为1百万数量级,并且产生等于位串C的接收散列的散列值的组合被声明为正确的。协议成功,在侧信道上将确认发送至接收方,或者如果未发现匹配,则发送否定确认。4.接收方将111写入协议步骤1中使用的所有容器位置Ai,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或协议再次运行为止,无论哪个首先发生。拦截方(具有包含相同消息的容器并且希望在步骤1中从公开可用的消息中了解共享秘密)面临着更大的质询。因为拦截方不知道选择对在序列中的位置,所以必须假设每一对都可能是选择对。如果m的值是公共的(使攻击者更容易使用),则必须考虑在标记了m位的n位序列上的所有可能的标记,或者二项式系数
Figure BDA0004187113370000341
对于我们的示例n=100,m=20给出了8020>1038个字符串的下限,以尝试猜测接收方可能与发送方共享的位串。如此多次地计算加密散列在计算上是不可行的。这个结果看起来有点不可思议,因为拦截方和合法接收方拥有同一设备的副本可供使用,但事实是拦截方缺少两条信息,接收方在决定是测试0还是测试1时所做的随机选择,以及仅发送方知道的原始排除值,而发送方仅忽略了前者。毫不奇怪,拦截方和发送方的任务在复杂性上是不相称的。事实上,如果n显著大于散列的长度p,则即使给定无限的计算能力,拦截方的问题也是不可解决的,因为存在太多的误报,前提是至少2p位的约定秘密被发送方和接收方两者都删除而从未被使用。
双容器攻击和水印防御
上述协议对于IoT应用是相当令人满意的,并且它利用了DeRM架构的许多强特征。这里也有一个弱点。
想象两个DeRM容器被拦截方从工作事物中窃取,并假设两个容器中的大量内容仍未读取。然后,拦截方可以用质询011质询第一个容器的每个DeRM元件,用101质询第二个容器的每个DeRM元件。如果从任一DeRM容器的DeRM元件中获得0的结果,则其中的内容等于质询。否则,内容为110,因为每个DeRM元件预期包含三种组合中的一种。很容易看出,如果所有的DeRM容器存储相同的内容,则拦截方可以确定地重构内容,而不必首先学习排除值。
我们的结论是,如果威胁模型包括物理入侵的可能性(并且这是不必在所有IoT情形下都存在的因素),一群事物要求需要DeRM容器内容被个性化。然而,我们并没有回到我们开始的地方,因为个体化的目的不是这样提供附加熵;事物可以与在当前布置中的它们的保管方共享大量真实的随机数据。个性化的目的是防止公开已知的持有相同内容的DeRM元件的并置,该并置有效地消除了使我们的方法工作所需的信息不足(通过使数据加倍而不使信息加倍)。
因此,仅表面上个性化存储在群成员的DeRM容器中的数据就足够了,足以使双容器或通常任何多容器攻击无效,并且这样做就足够了而不引入附加秘密数据。缺少附加秘密数据是很重要的,因为任何秘密都必须被管理:存储、保护和在不再需要时破坏(以防止追溯性攻击)。如果秘密是个人的(每个事物一个秘密),则群保管方的开销乘以群的大小,这是不期望的。
通常,我们希望在内容被保管方转移到事物的DeRM容器时引入内容的随机突变,而不给保管方留下任何关于突变的信息。在与认证的事物交互的过程中,保管方应该能够确定内容是如何后验变异的。我们已经并将继续假设攻击者无法破坏认证协议,并且因此很难保证通信通道另一端的动作者就是它标识自己的真实事物。这允许我们使得多容器攻击不可能成功:如果不同容器中的内容足够不同,由于本发明的DeRM容器中固有的破坏性读取和信息不足,攻击者不能在没有发送方帮助的情况下恢复和并置原始秘密。
因此,下面列出的本发明的实施例是个体化的特定技术,其不需要与保管方共享附加秘密,以表明其是可行的。可以使用其他技术;本发明提供了一种防止多容器攻击的创新方法,而不是使用一种特定的技术。
观察1.可以在没有来自发送方的任何信息并且不需要特定质询的情况下确定DeRM元件中的内容111。此外,如果质询本身不是111,则可以分析曾经被质询的DeRM元件,以确定它最初是否包含111。
事实上,如果所接收的容器的DeRM元件第一次用某个质询x(110、101或011)质询,并且响应为1,我们可以肯定地说DeRM元件不包含111。可替换地,如果响应为0,我们用非零三元组y≠x再次质询DeRM元件,其中,y≠111,并且如果我们再次得到0,则结论是原始内容是111。
观察2.在给定任何质询x的情况下,DeRM元件中的内容000导致结果0。
两种观察结果均遵循架构部分中描述的DeRM架构。
定义.水印是以111开始和结束的111和000值的序列,并放置在DeRM容器中的连续地址处。除了结束标记之外,三元组111被解释为二进制1,并且三元组000被解释为二进制0。
水印可以由复印机放置,并且可以由质询者(其可以是接收方或拦截方)检测,并且在应用于DeRM容器的连续地址的任何质询序列下被完整读取。复印机可以是代表保管方行动的单独实体,并负责在事物被部署为群的成员之前将由其提供的共享内容复制到事物容器(从0开始的连续地址)。除了保管方生成的完整DeRM内容之外,复印机不与保管方共享任何秘密,并且复印机被指示将其复制到新的DeRM容器中。复印机可以是保管方的一部分,但是将其视为保管方的安全边界内的单独实体是方便的。
水印由接收方在事先不知道其位置的情况下识别,它是在协议C下根据保管方的指令质询DeRM元件的过程中遇到的。这是实现我们目标的秘钥:避免所有DeRM容器中的相同内容,同时在整个群中仅使用原始秘密。下面举例说明如何在实践中实现这一点:
衍生内容
1.与协议A和B相比,发送方存储要传递给复印机的三元组序列(在这些协议下将被写入容器),而不是排除值。二进制内容像以前一样存储。
2.复印机在中心提供的三元组流中穿插水印,这些水印编码一定长度的随机二进制数(实际上可以限制为几十位,但不必是固定长度)。水印取代了原始内容,从而保留了任何未受影响的三元组的地址。包含在水印中的数字具有版本的含义。水印以规则的间隔L跟随,其中,水印本身的长度被排除在该间隔之外。地址为0的DeRM元件是第一个水印的起始位置。
3.在连续水印之间,复印机使用版本值变换原始内容S的片段。复印机获得S’=TV(S),其中,v是前面水印的值,并且TV是依赖于它的某个公共算法,并用S’替换S。算法应该保证S’的长度与S相同。S’存储在容器中。
4.该过程继续,直到与由中心提供的三元组S相对应的所有三元组S’都存储在容器中为止。注意,复印机不改变存储在保管方的非易失性存储器中的原始内容,并且除了算法Tv被公众所知(包括到保管方)之外,,它不通知保管方所插入的任何水印和所应用的变换。
修改协议B以获得:
协议C
1.发送方通知侧信道上的接收方容器已准备好用于协议C,并给予它们起始地址。接收方通过质询(用任意三元组)容器的起始地址而开始。如果该地址处的DeRM元件被确定为不是111,则接收方前进到下一个地址,直到遇到并完整读取第一水印为止。水印位置和版本值在侧信道上被传送回发送方。
2.发送方接收水印位置和版本值。它从保存在其非易失性存储器中的内容文件的相关地址中获取L个三元组。然后,将Tv应用于L个三元组的序列,以获得复印机在这些地址写入容器中的序列S’。使用先前保存在非易失性存储器中的二进制内容文件(参见CFP1步骤2或CFP2步骤3),发送方能够从序列S’中重构产生该内容的排除值X’,即发送方能够计算L个新的密钥对。发送方也能够通过从S’中获取相应的三元组来产生选择对。发送方发送包含一系列n(Ai,Xi)对的消息,其中,i=0,…,n-1,并且每一对要么是密钥对,要么是选择对。值n应该足够大以降低正确猜测位串的概率。通常
Figure BDA0004187113370000381
在每一对中,Ai是DeRM元件的地址,并且Xi在密钥对的情况下是排除值,或者在选择对的情况下是地址为Ai的DeRM元件的实际内容。由于容器的所有接收方接收通常不同的内容,因此可以选择在假设的威胁模型下根本不需要选择对。我们认识到,可能存在更具侵略性的威胁模型,在这种模型下,选择对的使用可能仍然是合理的。
3.对于每个第i对,当Xi被排除时,接收方用剩余的两个可能的三元组值{Li,Hi}中的一个来质询地址为Ai的容器DeRM元件。使用两个质询中的哪一个由接收方随机选择。当质询周期结束时,接收方注意到来自DeRM元件的输出Di。如果值Di为1,则未选择的质询将与所存储的信息内容相同。如果值Di为0,则所选择的质询将与所存储的信息内容Ci相同,或者所存储的内容为111。为了区分这些情况,接收方利用来自对Li,Hi的另一三元组值第二次质询DeRM元件,并在第二次质询结束时记录来自DeRM元件的输出Di。如果该值Di为1,则第一次质询将与所存储的信息内容相同。如果该值Di为0,则所存储的内容为111。如果在读取L个三元组之前检测到水印,则协议失败。
4.位串C的加密散列在侧信道上从接收方传送回发送方以确认共享。发送方代表接收方重建位串CR,标记对应于原始序列上的选择对的位置(如果有的话)。这些位置中的位是无法预测的,因为接收方被发送了错误的排除值,并因此在质询时来自DeRM元件的输出可能是0或1,这取决于接收方在每种情况下选择两个可用质询中的哪一个。发送方尝试所有2m个组合,并且产生等于接收的C的散列值的组合被声明为正确的。(如果没有使用选择对,则m=0,并且仅一个位串要检查。)。协议成功,通过侧信道将确认发送至接收方,或者如果未发现匹配,则发送否定确认。
5.接收方将111写入协议步骤1中使用的所有容器位置A,从而可靠地破坏DeRM元件中商定的共享秘密的所有痕迹。共享秘密保存在易失性存储器中,并保持有效直到它被覆写或直到断电或协议再次运行为止,无论哪个首先发生。
最后,我们必须证明存在阻止多容器攻击的至少一个变换TV。这里展示的特定变换是不可逆的,但是也可以为此目的构建和使用可逆变换Tv
引入函数
M(t,v,S)=ε(Tv(S),t),
其中,对于长度相同的任何序列x和y,函数ε(x,y)产生长度相同的序列,使得如果xi=yi,则e(x,y)i=1,否则为0。注意,序列M是攻击者在窃取容器并用某个序列t质询相应内容时将看到的内容。对于任何有效的v1≠v2,t1,t2和任何S,我们试图使M(t1,v1,S)与M(t2,v2,S)之间的互信息最小化。使互信息最小化的一个显而易见的(但不必是最经济的)方式是使用加密散列并向其馈送S和v。这种散列的结果在其并不明显地与自变量相关的意义上是伪随机的。
让我们在三元组上定义“三元校验和”运算符
Figure BDA0004187113370000391
如下:
Figure BDA0004187113370000401
其中,ω是三元组到数字的映射:
ω(011)=0,ω(101)=1,ω(110)=2。
现在让R(S,v)=H(S||v)为S和v的连接的加密散列。清楚地,假设R的每一位都是S的所有位的伪随机函数,这是加密散列的质量标准并且是S的任何位与R的任何位之间的互信息非常小的另一种说法。接下来我们这样定义Tv
Figure BDA0004187113370000402
并观察到,由于加密散列函数的性质,我们实现了所需的独立性。还应注意,“破解Tv”的任何尝试都需要针对甚至最简单的散列的大量的试错尝试,并且每次尝试进而需要有效的DeRM容器。现实的群可能由成千上万的事物组成,但是对散列的典型暴力攻击涉及数十亿次尝试,通常是数十亿次。这使得所提出的方法是安全的。
我们注意到,这里有可能找到一个简化得多的过程,但我们还注意到,散列计算的复杂性仅影响发送方,在这种情况下,群保管方,并且在我们的威胁模型中,发送方是强大的并且在物理和加密两者上都受到其固定安全边界的保护,因此即使每次发送方发送新的序列时调用的标准散列也不会带来很大的成本。

Claims (32)

1.一种防篡改容器,包括:一个或多个破坏性读取存储器(DeRM)元件,被配置为存储内容,其中,一个或多个DeRM元件中的每一个被配置为使得由所述一个或多个DeRM元件中的每一个存储的所述内容大于当所述一个或多个DeRM元件中的每一个被破坏性读取时显示的内容。
2.根据权利要求1所述的防篡改容器,其中,容器包括物理容器。
3.根据权利要求1或权利要求2所述防篡改容器,其中,容器被配置为在发送方与接收方之间携带或传输数字数据。
4.根据前述权利要求中任一项所述的防篡改容器,其中,容器包括多个DeRM元件的阵列。
5.根据前述权利要求中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个包括一个或多个DeRM单元。
6.根据前述权利要求中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个包括多个DeRM单元。
7.根据前述权利要求中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个包括三个或多个DeRM单元。
8.根据前述权利要求中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为被质询。
9.根据前述权利要求中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为通过向容器提供所述一个或多个DeRM元件中的每一个的地址和来自有限值集的数字值而被质询。
10.根据权利要求9所述的防篡改容器,其中,在所述一个或多个DeRM元件中的每一个包括三个DeRM单元的情况下,所述有限值集包括110、101、011。
11.根据权利要求8至10中任一项所述的防篡改容器,其中,所述质询使所述一个或多个DeRM元件中的每一个同时执行两个动作:
a.基于DeRM元件的内容和质询值修改所述DeRM元件的内容;以及
b.输出指示新内容是否在某些方面不同于在所述修改之前存在的内容的1位信号响应,
其中,如果所述响应指示所述新内容是不同的,则所述响应是不同(1)响应,否则所述响应是匹配(0)。
12.根据权利要求8至11中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询DeRM元件而将有效内容写入其中。
13.根据权利要求8至12中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部反复地质询DeRM元件直到所述内容全部已被写入而将有效内容写入其中。
14.根据权利要求8至13中任一项所述的防篡改容器,其中,在用要被写入的内容的一部分或全部质询DeRM元件之前,擦除所述DeRM元件。
15.根据权利要求8至14中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为除了通过质询之外不能读取DeRM元件的内容。
16.根据权利要求8至15中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为仅当被质询时才输出一位匹配/不同响应。
17.根据权利要求8至16中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为当被质询时除了一位匹配/不同响应之外不输出信息。
18.根据权利要求8至17中任一项所述的防篡改容器,其中,所述一个或多个DeRM元件中的每一个被配置为包含比对任意质询将产生的响应更多的信息。
19.根据权利要求18所述的防篡改容器,其中,对于至少一个质询值,附加信息被不可逆地破坏;哪个质询值导致这样的信息丢失取决于存储在被质询的DeRM元件中的内容。
20.根据权利要求8至19中任一项所述的防篡改容器,其中,当所述一个或多个DeRM元件中的每一个包括多个DeRM单元时,所述破坏性读取能显示DeRM元件包括的DeRM单元中的一个DeRM单元已经改变状态,但未公开所述DeRM单元中的一个DeRM单元是哪个DeRM单元。
21.一种将数据加载到根据权利要求1至20中任一项所述的容器上的方法,所述方法通过用要被写入的内容的一部分或全部质询每个DeRM元件。
22.一种将数据加载到容器上的方法,所述容器包括:一个或多个破坏性读取存储器(DeRM)元件,被配置为存储内容,其中,一个或多个DeRM元件中的每一个被配置为使得由所述一个或多个DeRM元件中的每一个存储的所述内容大于当所述一个或多个DeRM元件中的每一个通过用要被写入的内容的一部分或全部质询所述一个或多个DeRM元件中的每一个而被破坏性读取时显示的内容。
23.根据权利要求21或22所述的方法,其中,所述一个或多个DeRM元件中的每一个被配置为通过用要被写入的内容的一部分或全部质询每个DeRM元件直到所述内容全部已被写入而将有效内容写入其中。
24.根据权利要求21至23中任一项所述的方法,其中,在用要被写入的内容的一部分或全部质询每个DeRM元件之前,擦除所述DeRM元件。
25.根据权利要求21至24中任一项所述的方法,其中,所述一个或多个DeRM元件中的每一个通过向所述容器提供所述一个或多个DeRM元件中的每一个的地址和来自有限值集的数字值而被质询。
26.根据权利要求25所述的方法,其中,在所述一个或多个DeRM元件中的每一个包括三个DeRM单元的情况下,所述有限值集包括110、101、011。
27.根据权利要求21至26中任一项所述的方法,其中,所述质询使所述一个或多个DeRM元件中的每一个同时执行两个动作:
a.基于DeRM元件的内容和质询值修改所述DeRM元件的内容;以及
b.输出指示新内容是否在某些方面不同于在所述修改之前存在的内容的1位信号响应,
其中,如果所述响应指示所述新内容是不同的,则所述响应是不同(1)响应,否则所述响应是匹配(0)。
28.一种验证通过根据权利要求21至27中任一项所述的方法加载到根据权利要求1至20中任一项所述的容器上的数据先前未被访问的方法,所述方法包括以下步骤:
1.发送方将包含在本发明的第一方面的容器内的随机保密内容发送至接收方,其中,所述发送方将所述内容的副本保存在所述发送方的本地安全存储中;
2.所述发送方经由侧信道通信建立所述接收方已经接收所述容器;
3.所述发送方经由所述侧信道通信向所述接收方显示关于来自所述容器的所述内容的数据子集的附加信息;
4.所述接收方使用所述附加信息从步骤3的所述容器的所述内容中获得所述数据子集;
5.所述接收方创建在步骤4中获得的所述数据子集的概要;
6.所述接收方经由侧信道将在步骤5中获得的所述概要发送至所述发送方;
7.所述发送方计算保存在所述发送方的本地安全存储中的关于所述内容的所述副本的概要;
8.所述发送方将所述接收方的概要与所述发送方的概要进行比较,并且如果所述发送方的概要与所述接收方的概要相同,则所述内容未被第三方读取,否则所述内容已被所述第三方读取;
9.所述发送方经由所述侧信道将由所述发送方在步骤8中执行的所述比较的结果发送至所述接收方;
10.所述接收方任选地从所述容器中删除所述容器能包含的关于所述保密内容的任何剩余信息。
29.一种验证加载到容器上的数据的方法,所述容器包括:一个或多个破坏性读取存储器(DeRM)元件,被配置为存储内容,其中,一个或多个DeRM元件中的每一个被配置为使得由所述一个或多个DeRM元件中的每一个存储的所述内容大于当所述一个或多个DeRM元件中的每一个通过根据权利要求21至27所述的方法通过用要被写入的内容的一部分或全部质询所述一个或多个DeRM元件中的每一个而被破坏性读取时显示的内容,所述方法包括以下步骤:
1.发送方将包含在本发明的第一方面的容器内的随机保密内容发送至接收方,其中,所述发送方将所述内容的副本保存在所述发送方的本地安全存储中;
2.所述发送方经由侧信道通信建立所述接收方已经接收所述容器;
3.所述发送方经由所述侧信道通信向所述接收方显示关于来自所述容器的所述内容的数据子集的附加信息;
4.所述接收方使用所述附加信息从步骤3的所述容器的所述内容中获得所述数据子集;
5.所述接收方创建在步骤4中获得的所述数据子集的概要;
6.所述接收方经由侧信道将在步骤5中获得的所述概要发送至所述发送方;
7.所述发送方计算保存在所述发送方的本地安全存储中的关于所述内容的所述副本的概要;
8.所述发送方将所述接收方的概要与所述发送方的概要进行比较,并且如果所述发送方的概要与所述接收方的概要相同,则所述内容未被第三方读取,否则所述内容已被所述第三方读取;
9.所述发送方经由所述侧信道将由所述发送方在步骤8中执行的所述比较的结果发送至所述接收方;
10.所述接收方任选地从所述容器中删除所述容器能包含的关于所述保密内容的任何剩余信息。
30.根据权利要求28或权利要求29所述的方法,其中,所述方法包括步骤2a(在步骤2与步骤3之间),其中,在所述发送方与所述接收方之间通过所述侧信道进行初步通信以根据需要确定所述附加信息的细节。
31.根据权利要求28至30中任一项所述的方法,其中,所述数据子集的所述概要是行业标准加密散列。
32.根据权利要求28至31中任一项所述的方法,其中,通过步骤8处的不匹配来证明篡改。
CN202180071652.2A 2020-08-20 2021-08-19 基于破坏性读取存储器的防篡改容器及其验证方法 Pending CN116324939A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2013018.3 2020-08-20
GB2013018.3A GB2598138B (en) 2020-08-20 2020-08-20 Container and method
PCT/GB2021/052153 WO2022038360A1 (en) 2020-08-20 2021-08-19 Destructive read memory based tamper evident container; verfication method therefor

Publications (1)

Publication Number Publication Date
CN116324939A true CN116324939A (zh) 2023-06-23

Family

ID=72660916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180071652.2A Pending CN116324939A (zh) 2020-08-20 2021-08-19 基于破坏性读取存储器的防篡改容器及其验证方法

Country Status (6)

Country Link
US (1) US20230325542A1 (zh)
EP (1) EP4200738A1 (zh)
JP (1) JP2023539143A (zh)
CN (1) CN116324939A (zh)
GB (1) GB2598138B (zh)
WO (1) WO2022038360A1 (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449631A (en) 1983-03-07 1984-05-22 Nat Levenberg Tamper proof packaging
US5108194A (en) 1991-01-07 1992-04-28 Raden David T Security bag
US5631068A (en) 1994-08-02 1997-05-20 Trigon Packaging Corporation Self-containing tamper evident tape and label
US5788377A (en) 1995-06-06 1998-08-04 Uniflex, Inc. Tamper-resistant envelope
US5918983A (en) 1996-11-08 1999-07-06 Control Paper Co., Inc. Security envelope
US7260672B2 (en) * 2001-09-07 2007-08-21 Intel Corporation Using data stored in a destructive-read memory
US20050036716A1 (en) 2003-08-11 2005-02-17 Ampac Plastics Llc Tamper indicating security bag
WO2009069972A2 (en) * 2007-11-29 2009-06-04 Samsung Electronics Co., Ltd. A method for destructive readout of data in case of mobile theft
WO2014178889A1 (en) * 2013-04-30 2014-11-06 Bao Liu Vlsi tamper detection and resistance
US9985791B2 (en) * 2015-08-13 2018-05-29 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Physically unclonable function generating systems and related methods
WO2017030805A1 (en) * 2015-08-18 2017-02-23 The Trustees Of Columbia University In The City Of New York Inhibiting memory disclosure attacks using destructive code reads
WO2018175973A1 (en) * 2017-03-23 2018-09-27 Arizona Board Of Regents On Behalf Of Arizona State University Physical unclonable functions with copper-silicon oxide programmable metallization cells
US10897364B2 (en) * 2017-12-18 2021-01-19 Intel Corporation Physically unclonable function implemented with spin orbit coupling based magnetic memory

Also Published As

Publication number Publication date
JP2023539143A (ja) 2023-09-13
WO2022038360A1 (en) 2022-02-24
GB2598138A (en) 2022-02-23
GB2598138B (en) 2023-03-29
US20230325542A1 (en) 2023-10-12
EP4200738A1 (en) 2023-06-28
GB202013018D0 (en) 2020-10-07

Similar Documents

Publication Publication Date Title
US9043614B2 (en) Discarding sensitive data from persistent point-in-time image
ES2359205T3 (es) Procedimiento y aparato para el almacenamiento y uso seguros de claves criptográficas.
US20020069363A1 (en) System and method for data recovery and protection
US20090019291A1 (en) Backup and restoration of drm security data
TW200832427A (en) Virtual secure on-chip one time programming
US8001016B2 (en) Pharmaceutical product packaging
US8200964B2 (en) Method and apparatus for accessing an encrypted file system using non-local keys
EP1602024A1 (fr) Procede et dispositif de stockage de donnees informatiques securise
US10803374B2 (en) Counterfeit prevention
CN112131595B (zh) 一种SQLite数据库文件安全存取方法及装置
CN116601915A (zh) 经由内部动作加密擦除存储在支持Key per IO的设备中的数据
JPH11328032A (ja) ソフトウェアの不正利用防止システム
US9076007B2 (en) Portable data support with watermark function
CN116324939A (zh) 基于破坏性读取存储器的防篡改容器及其验证方法
US11270184B2 (en) Counterfeit prevention
TW202118928A (zh) 具有影像處理功能的保管設備
KR102282039B1 (ko) Cbc 기반의 임베디드 소프트웨어 무결성 보장 시스템 및 그 방법
TWI735374B (zh) 具有影像相關資料儲存功能的保管設備
CA2563144C (en) System and method for file encryption and decryption
TWI712730B (zh) 保管設備
JPH10133956A (ja) 情報処理装置
EP3311341A1 (fr) Procédés d&#39;affiliation, d&#39;émancipation, et de vérification entre un tuteur et un tutoré.
JP2024059549A (ja) 人工知能システム、人工知能システムの学習方法
JP2003186996A (ja) 原本性保証電子カルテ保存システム、方法、プログラム、及び記録媒体
JP2006107305A (ja) データ記憶装置

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Donald Bruce Christianson

Inventor after: Alexander Safarenko

Inventor before: Bruce Donald Kristiansund

Inventor before: Alex Safarenko