首页> 中国专利> 用于改进数据安全通信、存储和传输的区块链实现的数据隐藏方案

用于改进数据安全通信、存储和传输的区块链实现的数据隐藏方案

摘要

本公开的实施例通过使用数据隐藏(例如,隐写术算法、加水印等)来提供用于安全数据传送和/或存储的区块链实现的方法和系统。根据一个方面,将数据隐藏算法多次应用于秘密数据的部分,以将其嵌入伪装文件中。这样构建受隐藏数据(例如,图像中隐藏的秘密数据,其然后用作另外伪装文件中的秘密数据等)的层。每个层可以结合加密和身份验证技术以进一步增强安全性。在区块链交易内提供最终层或压缩版本。附加地或替代地,秘密数据可以分裂为多个共享份。该操作可以使用分裂方案(例如,比如,Shamir的秘密共享方案)加以实现。秘密数据的不同共享份可以于是受加密,然后隐藏于伪装文件内。不同伪装文件可以隐藏不同的共享份,优选地,每个共享份在不同交易中提供于区块链上。为了访问秘密数据,所有伪装文件需要从区块链加以标识并且访问,相关隐写术、压缩和加密技术应用于每一个,并且于是秘密数据得以重构。

著录项

  • 公开/公告号CN114982194A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 JAJ技术私人有限公司;

    申请/专利号CN202080088559.8

  • 申请日2020-12-18

  • 分类号H04L9/06(2006.01);

  • 代理机构上海君立衡知识产权代理事务所(特殊普通合伙) 31389;

  • 代理人黄庆

  • 地址 新西兰哈米尔顿市亚历桑德拉大街85号毕马威中心12层

  • 入库时间 2023-06-19 16:31:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-01-06

    实质审查的生效 IPC(主分类):H04L 9/06 专利申请号:2020800885598 申请日:20201218

    实质审查的生效

说明书

技术领域

本发明总体上涉及安全数据通信、加密、压缩和隐写术,并且还涉及区块链相关技术。具体而言,它涉及用于将数据隐藏在其他数据和文件(例如,比如,图像或文本文件)内部的能力。它还结合用于在不丢失经编码数据的情况下对文件进行压缩并且然后解压缩的能力。本发明特别适合于但不限于与经由区块链交易的数据的安全传输相关的使用。

背景技术

隐写术是将数据隐藏在数据的另一部分内部的常规。隐藏的数据可以是机密的、敏感的或秘密的,而其他数据可以是非秘密的。非秘密数据可以称为“伪装文本”,而秘密数据可以称为“受隐藏文本”。在伪装文本内隐匿受隐藏文本促进其安全的、不被检测的通信,因为即使经编码伪装文本为未经授权的一方所截获,他们也仍然不知道受隐藏文本。

在数字时代,伪装文本可以是任何类型的电子数据(例如,文本文档、图像或其他类型的数字文件或数据流)。受隐藏文本也可以采取任何形式(例如,文本、图像、代码、音频/媒体内容等),并以其存在性不是可检测的或至少容易注意到的这种方式嵌入伪装文本中。倘若受隐藏内容的存在性被检测到,那么可以通过某种方式(例如,经由使用密码学)混淆它,以进一步增强安全性。

在一种常见使用情况下,隐写术(即,在图像或介质上对受隐藏的或可见形式的标识符进行编码的一种形式)可以由内容发布者可使用,以将商标或其他指示符隐藏到内容中作为水印,其在未经授权的复制的情况下可以充当证据。在其他情况下,可以通过更改图像中的像素的阿尔法通道或色彩以使得差异难以区分而将文本文件或消息嵌入到图像中。其他已知用途是在参与方之间建立隐蔽的通信信道。

简而言之,隐写术可以涉及以下步骤:对受隐藏文本进行编码和加密,将其插入到伪装文本中,维护受隐藏文本存储在伪装文本中的位置和方式的记录,传输伪装文本与所嵌入的受隐藏文本,以及随后由经授权的接收者对受隐藏文本进行提取并且解密。例如,美国专利8,527,779公开一种执行数据消息的分布式隐写术的方法和装置。存在许多已知的方式以执行加密、插入和提取步骤,并且本领域技术人员应理解,可以出于这些目的采用任何合适的方法或技术。

压缩技术也是已知的,并且当存储和发送数据(特别是大的数据文件(例如,媒体内容等))时加以使用可以是有利的。压缩是从数据集删除重复的数据以使得减小其大小的技术。正是这种然后保存在存储器中或通过电子网络发送的减少的数据集,以使得当其被检索和解压缩时,原始数据集得以完全恢复。这些方法不丢失任何数据,并且可以与任何隐写术过程结合使用。

可以通过任何已知方式(例如,比如,经由文本消息、电子邮件、从远程站点跨越网络下载等)执行传输步骤。然而,近年来,已经探索称为区块链的相对新的平台,以用于数据的安全传输。这包括用于将数据或指向存储在链下的数据的指针嵌入区块链交易(TX)自身中的技术。使用区块链作为可靠和安全的通信载具提供大量技术优点(例如,经由区块链协议和实现它的点对点网络节点以加密方式强制执行的活动的不可变的、加时间戳的记录)。在Juha Partala,“Provably Secure cover Communication on Blockchain”,Cryptography 2018,2,18;doi:10.3390/cryptography2030018中讨论使用区块链作为用于隐蔽通信信道的载具的一些优点

其他人已经调查用于在图像中嵌入区块链交易的隐写术的使用,例如:

·JP Buntinx,“SONIC Releases TimeVortex,Hiding Encrypted TransactionsUsing Steganography”Digital Money Times,September 24 2014,https://digitalmoneytimes.com/sonic-releases-timevortex-hiding-encrypted-transactions-using-steganography/

·在2017年,发布对于探索隐写术技术和区块链技术的组合的挑战:yours.org/content/angel-funding-project-1-3d4b0cf87d9e。挑战涉及:使用智能手机拍照,使用隐写术将比特币交易嵌入该图像中以使交易是不可检测的·Jamie Redman,“HidingBitcoin Cash in Pictures With the New Pixel Wallet App”,August 22 2018,Bitcoin.com,https://news.bitcoin.com/hiding-bitcoin-cash-in-pictures-with-the-new-pixel-wallet-app/

关于进一步增强的安全性和对数据完整性的保证以及诸如用于提交给服务的信息的(公共)证明的平台之类的技术优点,这些示例示出对于使用隐写术——并且具体而言,利用区块链——的数据的安全通信的期望。在信息安全性中,总是假设加密是不安全的,因为其实现的变型可能无意中使方法暴露于用有针对性的攻击或所泄露的密钥对信息进行解密。隐写术可以缓解这些问题,因为潜在的攻击者没有对所加密的文本的访问。归因于区块链及其关联协议(例如,比特币)的性质,作为公共网络,放入交易(Tx)中的任何信息广播给所有参与者。简单的加密技术不足以保证由加密算法保护的明文的安全性。区块链的益处在于,它对数据给予任何实体可以查询的公开可用的审计跟踪。结合加密使用隐写术与将允许私有和敏感数据跨越区块链网络传播,继承这种可审计的特性,而不会将所加密的文本暴露于任何数量的潜在攻击。

然而,上面列出的示例涉及使用隐写术以用于将区块链交易放入图像内部。在其他情况下,已经探索隐写术,以用于在链下存储的并简单地引用到或引用自区块链上的交易的图像内隐藏秘密文本。

然而,将包括受隐藏文本的图像放置在处于区块链上的交易(TX)内的相反情景提出技术挑战。区块链的可扩展性一直受争议,并且存在区块链交易可以用以运送大量的数据(例如,图像)的怀疑论。因此,归因于在大小受限的区块链交易内和/或在根据施加区块大小限制的协议形成的区块链上容纳经编码伪装文本的技术难度,将区块链技术与基于图像的隐写术技术组合并非惯用的或直观的。

因此,将有利的是,能够增强和改进关于数据传输由现有技术提供的安全等级,以确保对敏感资源/数据的受控访问且还缓解未经授权的访问。现在已经设计出至少但非独有地提供这些优点改进的解决方案。

发明内容

因此,根据本公开,提供如所附权利要求中定义的系统和方法。

在本文中,短语“秘密数据”或“受隐藏数据”旨在包括任何类型的敏感或访问受控数据。它可以是用户希望以假装的或模糊的方式(例如,通过掩蔽它或使其更难以检测秘密数据的存在性)存储或发送到接收者的数据。秘密数据可以是或可以包括敏感或机密数据,或者可以是/包括数字水印、或标识符或标签、来源或出处的标签、审计标记、日期/时间戳、序列号等。例如,它无需是文本数据的形式,而可以是图像、图案或颜色、音频文件、可执行文件、数字通证或通证化资产。

同样在本文中,短语“数据隐藏算法”旨在涵盖并且包括可以应用于数据以至少部分地隐匿或模糊其在伪装文件中的存在性的任何算法或技术。例如,这包括隐写术、加水印、打印机隐写术等。在下文中,术语“隐写术”将用以涵盖并且包括所有数据隐藏技术,以易于参考。“隐匿”或“隐藏”并非旨在意指受隐藏的秘密数据必须是对肉眼完全不可见的。隐写术领域的技术人员应理解,这旨在意指秘密数据更难以用肉眼和/或由机器检测到,因为它合并到其他东西中,并且因此,它的存在性比如果它与伪装隔离而仅独自被存储或发送更难以辨别。因此,受隐藏(即,秘密)文本对肉眼可以是或可以不是可见的。

以下描述和要求保护的本公开的实施例可以提供改进的安全性、数据隐藏、隐写术和/或访问控制方法/系统;附加地或替代地,它们可以提供改进的方法和系统,以用于:安全通信、数据的存储和/或传输;经由通信信道(其可以是或可以不是安全隐蔽通信信道)的数据的建立和通信/传输;和/或区块链实现的数据通信。根据本公开,可以存在如本文描述和要求保护的方法和系统。可以提供本公开的实施例,其包括以下步骤:使用隐写术算法以将数据的部分嵌入伪装文件内,以提供经更改/经编码伪装文件;以及使用相同或不同隐写术算法以将经更改伪装文件嵌入另外伪装文件内,以提供另外经编码/经更改伪装文件。

附加地或替代地,可以提供本公开的实施例,其包括步骤:将数据的部分分裂为多个共享份;使用隐写术算法以将一个、一些或所有共享份嵌入到至少一个伪装文本中。优选地,每个共享份嵌入到分离的各个伪装文本或伪装文本的实例(例如,相同或不同图像文件的不同实例)中。

在其他实施例中,分裂和进一步嵌入步骤可以在同一方法内、在彼此之前或之后以各种组合加以使用。例如,秘密数据可以分裂为共享份;两个共享份可以然后嵌入到分离的伪装文件中,以提供伪装文件的两个经编码版本;隐写术算法可以然后用以将经编码伪装文件之一嵌入到另一编码伪装文件或不同的伪装文件中,以提供另外经编码伪装文件。用以对伪装文件进行编码的隐写术算法可以随后用以对它们进行解码,并返回原始数据共享份。可以在区块链交易中提供经编码伪装文本中的一个或多个。其他编码/加密技术也可以结合上述步骤加以使用,并在应用隐写术算法之前或之后应用于受隐藏数据和/或伪装文本。也可以使用数据压缩和解压缩技术。

因此,本公开可以提供一种用于(秘密)数据的部分的(安全)传送和/或存储的计算机实现的方法,其包括以下步骤:

在伪装文本中隐藏(嵌入)数据。伪装文本可以充当数据插入到的运送载具。伪装文本可以受更改、重新配置或修改,以使得它包括数据的部分。数据可以称为“秘密数据”。在将数据嵌入伪装文本内之前,可以通过某种方式对数据进行混淆、散列化或加密。可以通过使用或应用隐写术算法将数据嵌入伪装文本内。隐写术算法的应用导致或提供伪装文本的经更改、经改编版本。这可以称为“经编码伪装文本”或“经更改伪装文本”。

所述方法可以包括以下步骤:使用数据隐藏(隐写术)算法以将经编码伪装文本嵌入至少一个另外伪装文本中,以提供至少一个另外经编码伪装文本;可以通过某种方式对经编码和/或另外经编码伪装文本进行编码、混淆、散列化或加密。

所述方法可以包括步骤:在区块链交易中提供至少一个另外经编码伪装文本。区块链可以提交到区块链网络和/或添加到区块链(账本)。区块链可以是比特币协议或其他区块链协议的任何变型。可以根据对可以随区块链形成或利用的交易和/或块指定或施加大小限制的协议形成或实现区块链。

附加地或替代地,可以提供一种方法:

使用数据隐藏(隐写术)算法或过程以将数据嵌入/隐藏在伪装文本中;以及

在区块链上的交易中提供经编码伪装文本。伪装文本和/或数据可以在数据嵌入/隐藏在伪装文本中之前或之后受压缩和/或加密。在优选实施例中,可以在数据写入区块链或提供给区块链网络之前执行该操作。我们可以在本文中使用术语“经加密”以在已经例如经由加密、散列等处理以隐藏、掩蔽或模糊其可读性的数据与已经经由隐写术技术的应用得以“编码”从而包括秘密消息的伪装文本之间进行区分。

附加地或替代地,可以提供一种用于经编码伪装文本中隐藏的秘密数据的安全传送和/或存储的计算机实现的方法。所述方法可以包括以下步骤:

使用数据隐藏(隐写术)算法以将所述经编码伪装文本嵌入至少一个另外伪装文本中,以提供至少一个另外经编码伪装文本;

以及

在区块链交易中提供所述至少一个另外经编码伪装文本。

这可以实质上如以下“图像隐写术中的图像”章节中所描述的那样,并且可以涉及本公开的编码方面。

在本文中,秘密数据可以包括任何格式的任何类型的数字数据或内容。伪装文本(或“文件”)可以是任何合适的类型,包括但不限于文本文件、静止或移动图像、数据流、音频、通证化资产等。数据隐藏(隐写术)算法可以是本领域已知的此类任何合适的算法。

所述方法可以还包括以下步骤:

将所述区块链交易提交到区块链网络。区块链可以是比特币协议或其他区块链协议的任何变型。可以根据对可以随区块链形成或利用的交易和/或块指定或施加大小限制的协议形成或实现区块链。

所述方法可以还包括以下步骤:

将验证元素与所述秘密数据、第一伪装文本和/或至少一个另外伪装文本关联,以要求在批准访问之前提供所述验证元素。

所述方法可以还包括以下步骤:

在使用所述隐写术算法之前,对所述秘密数据、所述伪装文本、所述第一经编码伪装文本、所述至少一个另外伪装文本和/或所述至少一个另外经编码伪装文本进行加密。

可以使用本领域已知的任何合适的加密技术或算法执行加密。

所述方法可以还包括以下步骤:

从区块链交易访问所述至少一个另外经编码伪装文本;

使用相同或不同的数据隐藏(隐写术)算法以对所述第一或所述另外经编码伪装文本进行解码;

和/或

提供所述验证元素以赢得对所述秘密数据、第一伪装文本和/或至少一个另外伪装文本的访问。

优选地,在所述区块链交易中(在所述经编码伪装文本内)提供所述秘密数据:

i)作为元数据的部分;这可以通过任何已知的方式在交易中得以提供;和/或

ii)在OP_PUSHDATA指令或OP_RETURN指令或将交易输出(UTXO)标记为无效的脚本操作码之后;和/或

iii)作为对区块链下资源的参考;和/或

iv)作为通证化数字实体。

所述方法可以包括步骤:将(数据)压缩算法应用于所述受隐藏文本、伪装文本、所述经编码伪装文本、所述至少一个另外伪装文本和/或所述至少一个另外经编码伪装文本。压缩算法可以减少受隐藏文本、伪装文本、经编码伪装文本、至少一个另外伪装文本和/或至少一个另外经编码伪装文本的大小。它可以从文本删除重复和/或冗余数据。可以利用任何合适的压缩技术。这提供对于区块链上和链下的存储以及对于传输需要更少的资源的优点。对于存储在区块链上的数据,其中,区块链协议可以对可以存储在交易和/或区块中的数据的量施加限制,这可能是有利的。可以在编码/解码步骤之前或之后以及在交易向区块链网络的传输之前应用压缩(和随后的解压缩)算法。“解码”可以指代使用隐写术算法以从经编码伪装文本提取或提供秘密消息。

附加地或替代地,本公开提供:一种用于区块链交易的经编码伪装文本中隐藏的秘密数据的安全传送和/或存储的计算机实现的方法;所述方法包括以下步骤:

使用数据隐藏(隐写术)算法以对所述经编码伪装文本进行解码并提供经解码伪装文本;

以及

使用同一或另一数据隐藏(隐写术)数据隐藏算法以对所述经解码伪装文本进行解码,以提供所述秘密数据或另外经解码伪装文本。

与上述实施例一样,这可以实质上如以下“图像隐写术中的图像”章节中所描述的那样,并且可以涉及本公开的解码方面。

所述方法可以还包括以下步骤:

从所述区块链交易访问所述经编码伪装文本;

提供验证元素以赢得对所述秘密数据、所述经编码伪装文本、所述经解码伪装文本和/或至少一个另外经解码伪装文本的访问;

和/或

在使用所述数据隐藏(隐写术)算法之前,对所述秘密数据、所述经编码伪装文本、所述经解码伪装文本和/或所述至少一个另外经解码伪装文本进行解密。

优选地,在所述区块链交易中(在所述经编码伪装文本内)提供所述秘密数据:

i)作为元数据的部分;

ii)在OP_PUSHDATA指令、或OP_RETURN指令或将交易输出(UTXO)标记为无效的脚本操作码之后;

和/或

iii)作为对区块链下资源的参考。

所述方法可以包括步骤:将解压缩算法应用于所述受隐藏文本、经编码伪装文本、所述经解码伪装文本和/或所述另外经解码伪装文本。可以执行该操作,以反转可以已经在先前步骤中应用于受隐藏文本、经编码伪装文本、经解码伪装文本和/或另外经解码伪装文本的压缩算法。

附加地或替代地,本公开提供一种用于(秘密)数据的安全传送和/或存储的计算机实现的方法。所述方法可以包括以下步骤:

将所述数据分裂为多个共享份;

使用至少一种数据隐藏(隐写术)算法以将所述多个共享份中的至少两个嵌入至少一个伪装文本中;

在至少一个区块链交易中提供所述至少一个伪装文本。

这可以实质上如下文与“分裂图像隐写术”相关的章节中所描述的那样。可以使用任何已知的共享份分裂技术(例如,比如,但不限于Shamir的秘密共享方案)执行分裂步骤。如上所述,伪装文本/文件和/或秘密数据可以采取各种形式或格式。可以在同一伪装文本内提供两个或更多共享份,或者可以在各个分离的伪装文本内提供共享份。

所述方法可以还包括步骤:在存储库中存储:与所述秘密数据、所述多个共享份、所述至少一个区块链交易和/或对于所述多个共享份的访问许可相关的数据。存储库可以是任何合适形式的基于计算机的存储设施,包括数据库、分布式散列表、账本文件系统等。

所述方法可以还包括步骤:对所述多个共享份中的至少一个进行加密。可以使用任何合适的已知加密算法。

所述方法可以还包括以下步骤:

将至少一个验证元素与所述秘密数据的所述多个共享份中的至少一个和/或至少一个伪装文本关联,以要求在批准访问之前提供所述验证元素。验证元素可以包括如上所述的任何已知的合适形式。

所述方法可以包括步骤:将压缩/解压缩算法应用于所述至少一个伪装文本。

所述方法可以还包括步骤:通过以下操作生成或获得所述秘密数据:

i)从所述至少一个区块链交易获得或访问所述至少一个(经编码)伪装文本;

ii)使用所述至少一种数据隐藏(隐写术)算法以对所述至少一个经编码伪装文本进行解码,以提供所述至少两个共享份;和/或

iii)从所述至少两个共享份重构所述秘密数据。

本公开还提供一种系统,包括:

处理器;和

存储器,其包括可执行指令,所述可执行指令作为由所述处理器执行的结果使所述系统执行本文描述的任何计算机实现的方法的任何实施例。

本公开还提供一种非瞬时计算机可读存储介质,其具有其上存储的可执行指令,所述可执行指令作为由计算机系统的处理器执行的结果使所述计算机系统至少执行本文描述的任何所述计算机系统实现的方法的实施例。

与一个方面或实施例相关提及的一个或多个特征可以应用于本公开的其他方面或实施例。本发明的这些和其他方面从本文描述的实施例将变得显而易见,并且参考本文描述的实施例加以阐明。现将仅通过示例的方式并参考附图描述本发明的实施例,其中:

附图说明

图1a和图1b示出用于对数据文件加水印的隐写术的已知说明性使用的阶段。

图2示出经编码图像用作用于对编码的下一迭代的输入的数据的本发明的实施例,每个等级受验证机制(例如,密码)保护。这赋能“画中画”形式的安全传送。

图2a示出图2的实施例,其中,(包括嵌入另外伪装文件内的隐写术文本1a的)另外经编码隐写术文本2a提供给区块链交易6。

图3示出跨越多个图像分裂受隐藏数据的本公开的实施例。示出编码和解码过程。

图4a和图4b示出根据本公开的示例实施例布置的系统以及系统组件之间的数据流。在图4a中示出编码过程,并且在图4b中示出解码过程。

图5a和图5b示出结合本公开的实施例的压缩的使用。图5a和图5b提供图像可以如何受压缩并上传到区块链和/或以压缩形式从区块链得以下载、解锁和解压缩以返回其原始形式的概述。

图6是示出可以实现各种实施例的计算环境的示意图。

具体实施方式

在本文中,术语“伪装文件”或“伪装文本”可以互换使用,并且旨在包括数据流以及数字文件。术语“伪装文本”可以包括图像、视频、音频等,而并非旨在受限于文本内容。伪装文件可以是充当用于发送和隐匿秘密数据的载具或介质的任何数字实体。术语“经编码伪装文件/文本”或“所嵌入的伪装文件/文本”或“经更改伪装文件/文本”旨在意指已经使用隐写术技术改编从而包括(潜在地经加密/编码)秘密数据的伪装文件或文本。如上所述,为了方便,我们将使用术语“隐写术”而不是“数据隐藏”,但是它们旨在互换地加以使用。

如上所述,并且如图1a和图1b所示,隐写术是可以例如用于用唯一份数据(受隐藏文本)2对数字文件(伪装文本)1加水印的一种众所周知且理解的方法。唯一受隐藏数据2可以然后在稍后日期加以提取,并且用以标识或验证数字伪装文本文件1的来源。可选地对受隐藏文本2进行编码/加密。其然后嵌入并隐匿在伪装文本1内,并由图1a中的条目1a示出,其中,受隐藏文本示出为经更改(编码)伪装文本1a内的虚线框。这通过以受隐藏水印2是不可检测的或至少更难以检测到的特定方式调整原始文件1而起作用,除非有人知道用以混淆唯一受隐藏文本2的确切方法。这种编码方法被保持为秘密的,以使得它是安全的,并且不能被逆向工程。该编码算法然后也用于对受隐藏水印2进行解码和/或提取,如图1b所示。

存在本领域已知的各种编码算法,其中任何一种可以结合本公开的实施例使用,以用于将秘密数据嵌入伪装文件内。本公开不限于此。隐写术的其他用途和应用是已知的。这些包括但不限于需要防止未经授权的访问的以及跨越可能对于窃听者是薄弱的通信共享的秘密/敏感数据的安全传输和/或存储。隐写术方法可以涉及使用加密密钥,以用于对伪装文件内的秘密数据进行编码。

为了清楚和方便的缘故,我们在本文中将用于将秘密数据嵌入/隐藏在伪装文本中的方法称为“隐写算法”或“隐写术算法”,以区分它与可能为了加密或其他安全目的结合本公开使用的其他编码方法。

由本公开为了除了嵌入秘密数据之外的目的使用的其他编码算法可以简称为“编码算法”。

本公开的实施例对这种已知方法进行利用并且改进,以将敏感数据输入到图像和/或其他数据文件/流中。它们可以然后用以经由公共、不可变区块链安全地传递和/或存储敏感私有信息。例如,这可能有益于遵守要求或期望来源的匿名性或假名性或者期望数据安全性和受控访问的各个辖地或机构的数据法规。为了确保除了授权方以外无人能够访问敏感数据,也可以使用密码或其他验证机制以保护并随后提取数据。

有利地,区块链的不可变性质提供先前布置无法提供的技术优点。如果反而使用易变存储/传输介质(例如,数据库)以用于共享经编码数据,则过程变得较不安全且不可靠,因为移动文件或任何种类的更改可能导致所有秘密数据的丢失,或者至少让它成为不可恢复的。通过使用区块链克服该问题和其他问题。虽然之前已经探索结合区块链使用隐写术的概念,但是本公开的实施例可以用以经由使用图像作为区块链上的伪装文本提供更进一步的安全性以用于保护敏感数据。归因于所需的数据存储量,区块链交易并不认为是用于合并图像的合适介质,并且因此,组合隐写术、图像作为伪装文本并且使用区块链交易作为传输载具表示与传统理解背道而驰的技术进步,并提供大量有益效果。

根据本公开的一个或多个实施例,秘密数据是需要受保护避免未经授权的浏览或访问的任何类型、形式或格式的数据。它可以包括以下之一、一些或全部,但该列表并非详尽无遗,并且秘密数据可以包括以下未列出的其他内容:

·与单个人或个人群体相关或关联的数据(例如,标识或“知道您的客户”数据、帐户相关数据、医疗相关数据和/或个人数据);

·金融数据(例如,账户信息、支付信息、发票信息等);

·加密货币相关数据,包括但不限于区块链交易或与区块链交易

相关的数据;

·验证数据/元素(例如,密码、PIN、标识符、加密密钥、生物特征数据等)

·设备/载具/机器相关数据

·法律导向的数据(例如,与合同、协议或证据相关的数据)

取决于利用实现的上下文和保护秘密、受隐藏文本所需的安全程度,可以单独或组合使用以下描述的本公开的方面。这些实施例促进使用在多个不同源(例如,图像)之间分裂的隐写术和/或不止一次地执行隐写术以提供对秘密数据的经编码版本的多个安全强制访问等级。

根据本公开的说明性实施例,如图2和图2a所示提供安全技术,其中,构造经更改伪装文件的层。

转到图2,使用隐写术算法在伪装文件1中隐藏秘密2。所得隐写术文件/文本在图2中示出为框1a,其中,秘密数据2示出为其内部的虚线正方形。该隐写术文本1a(具有其内部隐藏的所嵌入的秘密2)然后使用隐写术算法加以编码,并且其自身然后用作待输入到另外伪装文件中的秘密,因此产生如图2中示出为框2a的另外隐写术文本。因此,第一隐写术文本1a变为第二隐写术文本2a内部示出为虚线框的受隐藏文本。原始受隐藏文本2埋藏在隐写术文本1a内,隐写术文本1a然后埋藏在隐写术文本2a内。换言之,秘密2隐藏在另外图像2a内部隐藏的图像1a内。

根据安全需求,这可以按需要重复多次。以此方式,可以提供隐写术的多个“层”。每个附加层加强安全性,因为它需要更多的时间、精力和资源以访问/解锁每个层。在一些实施例中,可以在使用隐写术算法将秘密数据嵌入到伪装文件中之前和/或之后用编码算法对秘密数据进行编码。

在一些实施例中,同一隐写术和/或编码算法可以用于生成每个、一些或所有“层”。换言之,在该过程期间可以不止一次使用同一编码和/或隐写术算法。在其他实施例中,可以仅使用一次给定的隐写术/编码算法,并且至少一种其他隐写术/编码算法可以用于所公开的方法的步骤的一个或多个其他迭代。

每个层可以(或可以不)利用验证机制,其需要用户进行的成功验证,然后对用于该层的秘密数据提供访问。在优选实施例中,每个层需要相对于其他层提供不同的唯一验证元素。验证元素可能需要使用密码或一些其他标识符(例如,PIN、生物特征输入等)。所需的验证元素可以由本公开的操作者(用户或管理员)选择或预先确定。附加地或替代地,加密可以用以在一个或多个层处模糊秘密文本。

如下并参考附图提供该方法中可以包括的步骤的非限定性和非详尽性概要:

1.使用任何合适和所选取的编码技术(即,使用“编码算法”)对秘密数据(“受隐藏文本”)2进行编码。这可以是技术人员已知的密码技术;在一种实现中,秘密数据可以受散列化和/或密码式加密。出于说明性目的,密码1可以用在编码过程中。

2.经编码秘密数据2嵌入数据的另一部分(伪装文件1)中,以提供经更改的经编码伪装文件(隐写术文本)1a,其包括所隐匿的秘密数据2;

使用“隐写术算法”执行该操作;

3.该经更改伪装文件1a然后(使用相同或不同的编码算法)与另外编码机制(例如,密码2)关联加以编码,并(使用同一或另一隐写术算法)用作对安全的下一迭代/层的所隐匿的输入,以使得先前经编码隐写术文件1a现在作为秘密数据嵌入另外伪装文件1b内,导致新的经更改伪装文件2a;因此,原始秘密数据埋藏在不同类型的编码和隐写术的层内,层均必须受解码以返回受隐藏文本2的原始版本;

4.重复上述步骤以提供期望数量的的迭代/层。

5.根据一些实施例,一旦完成最终迭代,文件就可以于是经历无损压缩过程。这样提供优点:文件得以减少,并且因此需要更少的资源以用于传输和/或存储,增加效率,减少与交易相关的区块链费用,并且即使存在对区块或交易大小施加的限制也赋能数据插入到区块链账本中;

6.来自步骤4的受压缩文件或原初最终经编码层(即,图2中的经更改隐写文本2a)使用所选取的通信介质传递到接收者。通信信道可能是不安全的信道(例如,互联网),因为秘密是困难的数据已不止一次受编码并且隐藏,所以其检测和/或访问是困难的(如果不是不可追踪的);

在优选实施例中,经由对区块链7的公布执行该步骤。为此,在提交给关联区块链网络7的区块链交易6中提供经更改伪装文件2a。虽然可以公开检查区块链,但是归因于已经应用的隐写术,无法轻易标识受隐藏数据。

本领域技术人员将容易理解,存在可以用于将数据的部分或对数据的部分的引用合并到区块链交易中的各种已知技术,并且任何此类已知技术可以用于将数据插入交易6中。

7.在接收时,接收者使用密码2对最终层2a进行解压缩和/或解码,其提供先前经编码伪装文件1a,先前经编码伪装文件1a可以进而使用密码1加以解码,以得到原始秘密数据2。接收者要么直接从它们的对等方要么通过检查区块链以标识包括数据2a的交易6接收压缩的或未压缩的隐写术文件1a。接收者可能花费与交易关联的输出。在每个层处,

隐写术算法可以应用于从经编码伪装文件提取受隐藏数据。

因此,隐写术的每个层加上任何关联验证/编码机制和压缩提供进一步的安全性,这对于拦截方克服并且赢得对秘密数据的未经授权的访问是更困难的。

关于步骤6,最终经更改伪装文件2a或压缩的文件可以经由任何合适的技术记录在区块链交易6中,如图2a所示。这可以包括:将它或指向它的引用/指针嵌入交易6的脚本的元数据中。在使用比特币协议的变型的实施例中,可以在OP_RETURN操作码之后提供数据,或者可以使用OP_PUSHDATA、或提供根据所选取的区块链协议将图像嵌入到区块链交易中所需的功能的任何其他合适的机制。因此,在其他协议中,可以对于相同的效果使用其他操作码或机制。区块链网络7和关联协议可以是比特币区块链或其任何变型、或替选区块链协议/网络。

关于步骤7,接收、压缩和/或解码步骤可以由关于在一个或多个计算资源(例如,膝上型设备、服务器、移动电话等)上执行而提供的一个或多个合适地布置的软件组件执行。软件组件可以包括数字钱包。编码、压缩和/或传输步骤也可以由相同或对应计算资源上提供的相同或对应软件组件执行。软件组件和/或计算资源可以与用户关联。以下提供与说明性系统组件相关的另外信息。

转向图3,关于安全性的更进一步增强,现在描述本发明的另一方面。可以结合或代替以上在题为“画中画”的章节中描述的第一方面使用该技术。使用两个方面的组合的实现将提供安全性的更进一步增强。

根据该方面,秘密数据2分裂为多个部分(或“共享份”)。它们在图3中示出为3b、4b和5b。共享份分裂技术在本领域中是已知的。例如,可以使用Shamir的秘密共享方案(4S)https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing。根据分裂方案,秘密分裂为共享份,其无论是固定大小还是均匀大小都必须被组合,以重建原始秘密。

秘密数据3b、4b、5b的共享份然后嵌入到分离的伪装文件3a、4a、5a中。在一个或多个实施例中,每个共享份隐藏在不同的各个伪装文件中,并且每个伪装文件与区块链上的不同交易关联而得以提供。这样增强安全性,因为潜在的攻击者将需要标识不同的伪装文件和交易。隐写术算法应用于每个共享份,以将其隐藏并嵌入到各个伪装文件中。可以然后使用编码算法对经更改伪装文件进行编码。以此方式,生成多个经编码经更改伪装文件,其均包括秘密数据的受隐藏部分。该多个经编码经更改伪装文件可以一起或单独受压缩,并且可以然后经由任何合适的通信载具分离地传递到单个接收者或多个接收者。压缩可以提供例如但不限于以下优点:减少在区块链上容纳图像所需的资源(例如,数据存储)的量,减少与包含图像的交易相关的所需区块链费用,并且赋能即使存在对区块或交易大小施加的限制也将数据插入到区块链账本中。然而,根据优选实施例,这些可以经由一个或多个交易(TX)独立地放到区块链上。如上所述,可以经由任何合适的方法在交易中或由交易提供伪装文件。

如上所述,秘密数据的共享份可以在嵌入它们的各个伪装文件中之前使用任何已知且合适的加密技术得以加密。秘密数据和/或伪装文件的不同共享份可以与验证元素(例如,密码、加密密钥、生物特征数据、PIN等)关联,以使得用户需要在能够赢得对共享份/伪装文件的访问之前提供预定验证元素。由于不同的共享份可以发送到不同的接收者,因此不同的验证元素可以与一些或所有的共享份/伪装文件关联。以此方式,进一步增强安全性。

可以维护存储库或资源,以记录和/或存储与关联共享份相关的数据和其他相关数据。存储库中的数据赋能保存共享份和/或秘密数据之间的关联的记录。它也可以存储与哪些用户具有对访问各种共享份的授权相关的数据,并且可以包括与经授权用户关联的验证元素相关的数据。因此,可以参考存储库以确定哪些共享份和/或伪装文件包括秘密数据。附加地或替代地,相同或不同的储存库可以用以存储/记录与哪些区块链交易在区块链上提供隐藏数据、其共享份和/或伪装文本相关的数据。这可以包括一个或多个区块链交易中提供的元数据、或交易ID、或元网参考/标识符等。

可以在区块链交易中提供的通证内或与其关联地提供包括受隐藏秘密文本的至少一部分的一个或多个伪装文本。

储存库可以包括分布式散列表(DHT)、数据库或其他计算机实现的存储设施。这可以在链下得以提供,或者关联可以经由区块链上布置(包括但不限于经由本文所公开的方法)得以记录。

使用该方法,于是,可以跨越多个伪装文件(例如,图像)分裂经编码数据。当反转该过程时,所有隐写术文本/图像(共享份)必须存在并受解码,以用于发现并且重构秘密数据。使用用以对每个伪装文件进行编码的相同或关联解码隐写术算法执行每个伪装文件的解码。相同或不同的隐写术算法可以应用于各个伪装文件。如果不同的隐写术算法用于秘密数据的各个共享份(以及每共享份的重复“层”),则安全性进一步增强。

该分裂方法提供大量技术优点,包括:提供更灵活和安全的解决方案,因为可以分离地存储、访问和发送秘密数据的不同部分,并且潜在的拦截者将需要标识包含秘密数据的所有交易/伪装文件,而且然后能够克服隐写式算法,且还满足或规避验证机制(例如,密码/密码加密)。该解决方案可以用于秘密数据的安全备份存储,因为一个或多个共享份可以由经授权的受信方存储,并在需要从存储恢复数据时根据请求加以提供。

本公开的一个或多个实施例以非传统方式公开利用隐写术,并且有利地,赋能公域中的敏感数据的安全保护。来自本发明的技术优点包括但不限于潜在攻击者必须覆盖以在必须克服加密之前甚至能够看到或检测到所嵌入的受隐藏数据的搜索空间的量的增加。

我们现在提供使用中的实施例的说明,其中,所公开的方法由提供者作为服务提供,以用于希望存储和/或传递秘密数据的部分的用户。方法可以包括发送者和至少一个接收者。

现在提供可以如何遍及参与者的数量分配访问的非详尽说明性列表:

●即使攻击者具有对包含受隐藏数据的伪装数据的访问,攻击者也没有

○对用户的密钥的访问;密钥用以在秘密数据受隐藏之前对它进行加密;相同或不同的密钥可以用于加密和编码目的

○关于哪些伪装文件和/或隐藏数据与哪些用户相关的信息(如果有)

○每个文件/数据组合(如果有)具有的访问的等级的数量

●用户具有

○用户私钥

○用户公钥

○服务公钥

○在一些实施例中,用户可以具有所公开的过程所需的区块链交易或交易/文件的散列表

●服务/商业具有

○服务私钥

○服务公钥

○用户公钥

○可能具有对所需的交易或交易/文件的散列表的访问

●隐写术服务提供者具有

○与已经或将要用以通过经编码形式在区块链上存储数据的隐写术过程(算法)相关的密钥。

在图4a和图4b中,示出可以用于实现上述本公开的一个或多个实施例的这种系统。图4的说明性系统包括用户设备8,其布置为在长期和/或易失性存储器中存储至少一个公共和私有密码密钥对以及至少一个密码(例如,图2和图2a的密码1和/或密码2)。密码可以与网络或系统中的个人、用户、群体或节点关联。在一些实施例中,密码/关联细节可以存储在存储库中。设备8包括数字钱包,其可操作为生成、接收和处理加密货币交易。

如图4a的说明所示,设备8将密码应用于伪装文本1。伪装文本可以选自一些预先存在的文本,或者可以为了发送秘密数据的目的而得以生成。设备8还使用密码密钥以对秘密数据(纯文本)和可能的伪装文本进行加密,以产生密文,其可能经由加密的通信信道发送到提供隐写术服务的服务器9。服务器9将上述一种或多种新颖隐写术技术应用于经解密伪装文本1,以产生经编码结果,并且将其嵌入区块链交易(Tx)6中。服务器(或设备8,或另一方)然后将交易提交给区块链网络,以用于包括在区块链账本中。

如图4b所示,也可以反向应用过程,以对已经使用本公开的新颖隐写术技术之一或二者编码的数据进行解码。在解码过程中,服务器9从区块链7上的交易6获得经编码数据。它使用隐写术算法以对经编码数据进行解码,因此提供密文。它将密文发送到设备8,设备8使用密码和加密密钥以对密文进行解密并提供明文。

然而,在其他实施例中,所有方法步骤可以在单个设备(例如,用户的设备)上得以执行,或者分布跨越各种系统组件或节点。

本公开的实施例可以与数据压缩和解压缩技术组合,以提供进一步的技术优点,包括链上/链下存储资源和传输设施的减少。优选地,压缩算法是无损压缩算法,并且因此,隐写术/数据隐藏效果不受损害或损失。因此,通过将无损压缩/解压缩合并到过程中,我们能够改进效率,而不会降低出自隐写术技术的安全益处。

在图5a和图5b中示出压缩技术的结合。图5a示出可以如何压缩未压缩的伪装文件(image.png)并以压缩形式上传到区块链。它可以然后从区块链得以下载、解锁(或解码)并且然后解压缩,以反转原始压缩算法。

在应用隐写术之前或之后,但是在文件插入到区块链交易中并提交给账本之前,压缩算法可以应用于伪装文本或明文(秘密)文本。

图5b示出压缩/解压缩步骤可以如何以各种形式和顺序应用于本文所公开的实施例。注意,这些示例并非可以将压缩/解压缩技术应用于所公开的过程的方式或顺序的详尽或限定性列表。

例如,在上述“分裂图像”方法中,可以压缩一个、一些或所有共享份。附加地或替代地,隐写术的一个、一些或所有“层”可以包括压缩/解压缩的使用。

在本文中,验证元素可以是密码、生物特征数据、某种类型的标识符、密码密钥或可以用以验证(人类或机器实现的)用户的身份的任何类型的条目。身份的成功验证可以赋能对受控资源的访问,而验证身份失败可以阻止或禁止访问。

在本文档中,我们使用“区块链”以包括所有形式的电子的、基于计算机的分布式账本。这些包括基于共识的区块链和交易链技术、许可和非许可账本、共享账本、公共和私有区块链及其变型。虽然已经提出和开发其他区块链实现,但是区块链技术的最广为人知的应用是比特币账本。虽然本文为了方便和说明的目的可以指代比特币,但是应注意,本公开不限于与比特币区块链一起使用,并且替选区块链实现和协议落入本公开的范围内。术语“用户”在本文中可以指代人或基于处理器的资源。本文使用术语“比特币”以包括源自或基于比特币协议的任何版本或变型。

区块链是点对点的电子账本,它实现为由区块组成(区块进而由交易组成)的基于计算机的去中心化分布式系统。区块链协议可以限制可以经由网络处理的区块的大小,引起瓶颈、高交易费用、处理方面的延迟和可扩展性问题。这些限制引起对可以处置的交易的数量和大小以及它们携带的数据的类型的约束。

每笔交易(Tx)是这样的数据结构:其对区块链系统中的参与者之间的数字资产的控制的转移进行编码,并且包括至少一个输入和至少一个输出。每个区块包含先前区块的散列,以至于区块变为链接在一起,以创建自从区块链创始以来已经写入区块链的所有交易的永久的、不可更改的记录。交易包含嵌入到其输入和输出中的称为脚本的小程序,其指定可以如何以及由谁访问交易的输出。在比特币平台上,使用基于栈的脚本语言编写这些脚本。

为了交易写入区块链,它必须“受验证”。网络节点(矿工)执行工作,以确保每笔交易是有效的,其中,无效输出被拒绝花费,但是为网络所接受。安装在节点上的软件客户端通过执行其锁定和解锁脚本对未花费的交易(UTXO)执行该验证工作。如果锁定和解锁脚本的执行评估为真,则交易是有效的,并且交易写入区块链。因此,为了交易写入区块链,它必须:i)由接收交易的第一个节点验证——如果交易受验证或是无效的,则节点将其中继到网络中的其他节点要么作为有效交易要么作为其为无效的通知;以及ii)添加到由矿工建造的新区块;以及iii)挖矿(即,添加)到过去交易的公共账本。

一旦作为UTXO存储在区块链中,用户就可以将关联资源的控制转移到与另一交易中的输入关联的另一地址。一般使用存储公共和私有加密密钥的数字钱包执行该操作。钱包布置为跟踪与用户关联的资源、通证和资产等的所有权,接收或发送加密货币,转移可能与加密货币或其他类型资源相关的通证。

现在转向图6,提供可以用以实践本公开的至少一个实施例的计算设备2600的说明性简化框图。在各种实施例中,计算设备2600可以用以实现以上示出和描述的任何系统。例如,计算设备2600可以被配置用于用作数据服务器、web服务器、便携式计算设备、个人计算机或任何电子计算设备。如图6所示,计算设备2600可以包括一个或多个处理器,其具有一个或多个等级的缓存存储器和存储器控制器(统称为2602),一个或多个处理器可以被配置为与包括主存储器2608和持久存储2610的存储子系统2606进行通信。如图所示,主存储器2608可以包括动态随机存取存储器(DRAM)2618和只读存储器(ROM)2620。存储子系统2606和缓存存储器2602可以用于存储信息(例如,与本公开中描述的交易和区块关联的细节)。可以利用处理器2602,以提供本公开中描述的任何实施例的步骤或功能。

处理器2602也可以与一个或多个用户接口输入设备2612、一个或多个用户接口输出设备2614和网络接口子系统2616进行通信。

总线子系统2604可以提供用于赋能计算设备2600的各种组件和子系统按预期与彼此进行通信的机制。虽然总线子系统2604示意性地示为单个总线,但是总线子系统的替选实施例可以利用多个总线。

网络接口子系统2616可以提供对其他计算设备和网络的接口。网络接口子系统2616可以充当用于将数据接收自并且将数据发送到来自计算设备2600的其他系统的接口。例如,网络接口子系统2616可以赋能数据技术人员将设备连接到网络,以使得数据技术人员可以能够在处于远程位置(例如,数据中心)的同时向设备发送数据并从设备接收数据。

用户接口输入设备2612可以包括一个或多个用户输入设备(例如,键盘);指点设备(例如,集成鼠标、轨迹球、触摸板或图形平板);扫描仪;条码扫描仪;合并到显示器中的触摸屏;音频输入设备(例如,语音识别系统、麦克风);和其他类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算设备2600的所有可能类型的设备和机构。

一个或多个用户接口输出设备2614可以包括显示子系统、打印机或非视觉显示器(例如,音频输出设备等)。显示子系统可以是阴极射线管(CRT)、平坦面板设备(例如,液晶显示器(LCD)、发光二极管(LED)显示器)或投影或其他显示设备。通常,术语“输出设备”的使用旨在包括用于从计算设备2600输出信息的所有可能类型的设备和机构。一个或多个用户接口输出设备2614可以例如用以向用户呈现接口,以当用户与执行所描述的过程和其中的变型的应用的交互可能是适当的时促进该交互。

存储子系统2606可以提供计算机可读存储介质,以用于存储可以提供本公开的至少一个实施例的功能的基本编程和数据构造。应用(程序、代码模块、指令)当由一个或多个处理器执行时可以提供本公开的一个或多个实施例的功能,并且可以存储在存储子系统2606中。这些应用模块或指令可以由一个或多个处理器2602执行。存储子系统2606可以附加地提供储存库,以用于存储根据本公开使用的数据。例如,主存储器2608和缓存存储器2602可以对于程序和数据提供易失性存储。持久性存储器2610可以对于程序和数据提供持久性(非易失性)存储,并且可以包括闪存、一个或多个固态驱动器、一个或多个磁性硬盘驱动器、一个或多个具有关联可拆卸介质的软盘驱动器、一个或多个具有关联可拆卸介质的光驱(例如,CD-ROM或DVD或蓝光)驱动器和其他类似存储介质。这样的程序和数据可以包括用于执行如本公开中描述的一个或多个实施例的步骤的程序以及与如本公开中描述的交易和区块关联的数据。

计算设备2600可以是各种类型,包括便携式计算机设备、平板计算机、工作站或下文描述的任何其他设备。附加地,计算设备2600可以包括可以通过一个或多个端口(例如,USB、耳机插孔、闪电连接器等)连接到计算设备2600的另一设备。可以连接到计算设备2600的设备可以包括被配置为接受光纤连接器的多个端口。因此,该设备可以被配置为将光信号转换为电信号,其可以通过将设备连接到计算设备2600的端口发送,以用于处理。归因于计算机和网络的不断改变的性质,图6中描绘的计算设备2600的描述仅旨在作为特定示例,目的在于示出设备的优选实施例。具有比图6中描绘的系统更多或更少的组件的许多其他配置是可能的。

应注意,上述实施例示出而不是限制本发明,并且在不脱离由所附权利要求限定的本发明的范围的情况下,本领域技术人员将能够设计许多替选实施例。在权利要求书中,任何置于括号中的参考符号不应解释为限制权利要求。词语“包括”和“包含”等不排除在任何权利要求或整个说明书中列出的要素或步骤之外的要素或步骤的存在性。在本说明书中,“包括”意指“包括或由……组成”,并且“包含”意指“包含或由……组成”。要素的单数引用不排除这些要素的复数引用,并且反之亦然。可以通过包括若干不同元件的硬件以及通过合适地编程的计算机实现本发明。在枚举若干手段的设备权利要求中,这些手段中的若干可以由同一硬件条目体现。在相互不同的从属权利要求中阐述特定措施的纯事实并不表明不能有利地使用这些措施的组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号