CN101166086B - 用于检测和处理加密密钥和初始化向量的方法和系统 - Google Patents
用于检测和处理加密密钥和初始化向量的方法和系统 Download PDFInfo
- Publication number
- CN101166086B CN101166086B CN200710148541.9A CN200710148541A CN101166086B CN 101166086 B CN101166086 B CN 101166086B CN 200710148541 A CN200710148541 A CN 200710148541A CN 101166086 B CN101166086 B CN 101166086B
- Authority
- CN
- China
- Prior art keywords
- key identifier
- expectation
- initialization vector
- key
- enciphered data
- 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.)
- Expired - Fee Related
Links
- 239000013598 vector Substances 0.000 title claims abstract description 59
- 238000001514 detection method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 4
- 230000008878 coupling Effects 0.000 claims description 17
- 238000010168 coupling process Methods 0.000 claims description 17
- 238000005859 coupling reaction Methods 0.000 claims description 17
- 241001269238 Data Species 0.000 claims description 8
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 230000000977 initiatory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/79—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
提供了一种方法、系统和制造产品,其在解密单元维持期望的密钥标识符和期望的初始化向量。在解密单元接收密钥标识符和初始化向量,其中在数据流中,密钥标识符和初始化向量在多个加密数据记录之前,且其中多个加密数据记录已用可由解密单元从密钥标识符恢复的密码密钥加密。发起读取数据流的多个加密数据记录,以响应在解密单元确定接收的密钥标识符与期望的密钥标识符匹配。某些实施例在存储库中实现,存储库包括至少一个存储驱动器、及包括在至少一个存储驱动器中的至少一个解密单元,其中某些实施例中存储库是带库。某些另外的实施例在存储驱动器中实现,存储驱动器包括可移除的存储介质、及耦合到可移除的存储介质的至少一个解密单元,其中某些实施例中存储驱动器是带驱动器。
Description
技术领域
本公开涉及用于检测和处理加密密钥(encryption key)和初始化向量的方法、系统和制造产品。
背景技术
高级加密标准(AES)是能够用于保护电子数据的加密机制。AES使用能够加密和解密数据的对称块密码。加密能够将数据转换为称为加密数据的难以理解的形式,以及解密加密数据将数据转换回它的原始形式。AES算法能够使用128、192和256位的密码密钥(cryptographic key)加密和解密128位的数据块。可以在出版物“高级加密标准(AES)规范(Specification for theAdvanced Encryption Standard(AES))”(联邦信息处理标准出版物(FederalInformation Processing Standards Publication)197,2001年11月26日)中找到AES的进一步细节。
为了进一步处理电子数据存储保护的问题,“IEEE Std 1619.1”标准通过用认证和长度扩展指定加密,提供了用于数据保护的机制。IEEE Std 1619.1标准提供了适于确保需要高级别保证的、应用中存储的数据的保密性(privacy)和完整性的方法。为此目的,IEEE Std 1619.1标准指定如在数据的认证和加密的伽罗瓦(Galois)/计数器模式(GCM)中使用的AES密码。可以在出版物“用于加密的可变块存储介质的IEEE P1619.1TM/D8草案标准架构(IEEE P1619.1TM/D8 Draft Standard Architecture for Encrypted Variable BlockStorage Media)”(电气电子工程师协会,2006年6月)中找到IEEE Std 1619.1标准的更多细节。可以在出版物“操作的伽罗瓦/计数器模式(GCM)(TheGalois/Counter Mode of Operation(GCM))”(David A.McGrew和John Viega,2005年5月31日)中找到GCM的更多细节。
支持GCM的密码模块可以使用GCM算法,其使用具有256位密钥的AES,并且这样的算法可以称为“AES-256-GCM”。AES-256-GCM使用密钥标识符,其能够由某些解密器使用来确定密码密钥。AES-256-GCM也使用初始化向量(IV),其中从初始化向量确定的计数器值可以与密码密钥结合使用,以加密和解密数据。
发明内容
提供了一种方法、系统和制造产品,其在解密单元维持期望的密钥标识符和期望的初始化向量。在解密单元接收密钥标识符和初始化向量,其中在数据流中密钥标识符和初始化向量在多个加密的数据记录之前,以及其中该多个加密的数据记录已经用密码密钥加密,该密码密钥可以由解密单元从密钥标识符恢复。由读数据流的多个加密数据记录组成开始,以响应在解密单元确定接收的密钥标识符与期望的密钥标识符匹配。
在另外的实施例中,如果在解密单元接收的密钥标识符与期望的密钥标识符不匹配,则由解密单元延迟(stall)读数据流的多个加密数据记录。
在另外的实施例中,在解密单元用新的期望的密钥标识符代替期望的密钥标识符,以响应确定接收的密钥标识符与期望的密钥标识符不匹配。在解密单元进行关于是否新的期望的密钥标识与接收的密钥标识符匹配的确定。
在另外的实施例中,读取多个加密数据记录的第一加密数据记录。通过使用从初始化向量产生的计数器值和从期望的密钥标识符恢复的密钥,解密多个加密数据记录的第一加密数据记录。读取了多个加密数据记录的另外的加密数据记录用于解密。
在某些实施例中,为了开始读取数据流的多个加密数据记录,接收的密钥标识符和接收的初始化向量,必须与期望的初始化向量和接收的初始化向量至少在由掩码寄存器中指示的多个位匹配。
某些实施例在包括至少一个存储驱动器的存储库中实现,并且该至少一个存储驱动器中包括至少一个解密单元。在某些实施例中,存储库是带库。某些另外的实施例在存储驱动器中实现,该存储驱动器包括可移动存储介质和至少一个耦合到该可移动存储介质的解密单元。在某些实施例中,存储驱动器是带驱动器。
附图说明
现在参照附图,在该附图中相同的标号始终表示对应的部分:
图1根据某些实施例图示计算环境的方框图;
图2根据某些实施例图示解密单元的方框图;
图3根据某些实施例、图示显示用于检测和处理加密密钥和初始化向量的操作的流程图;
图4根据某些实施例图示存储库的实施例;
图5根据某些实施例图示存储库中的部件的实施例;
图6根据某些实施例、图示能够与可移除存储介质接口的存储驱动器的部件的实施例;以及
图7图示计算系统的架构,其中在某些实施例中,图1的计算环境的元件可以根据计算系统的架构实现。
具体实施方式
在下面的描述中,参照了附图,其形成该描述的部分并且图示了若干实施例。要理解,可以利用其它实施例并且可以进行结构和操作的改变。
加密可以用于保护数据记录。为了加密是有用的,客户应该能够解密和读回加密的数据记录。在某些加密/解密方法中,如在AES-256-GCM中,正确解密加密的数据记录需要拥有正确的密码密钥和正确的初始化向量。没有正确的密码密钥和正确的初始化向量,加密数据记录的解密是不可能的。
某些解决方案可能尝试确定是否正在用密码密钥和初始化向量的正确值执行解密。一种这样的解决方案可以读取数据流的数据记录、以及附加在数据流的数据记录的尾端的消息认证码(MAC),其中消息认证码可以用于确定数据完整性。这样的解决方案可以从消息认证码确定是否存在消息认证码失败,并且如果存在消息认证失败,则数据记录的解密可能还未正确地执行。然而,这样的解决方案在确定该错误之前,需要要读取的数据流的所有数据记录。另外,确定错误之后,用户将必须退回并再次读取该数据流的数据记录,并且使用正确的密钥和初始化向量来解密该数据记录。
某些实施例在解密数据流的数据记录之前,检查正确的密码密钥和初始化向量。在这样的实施例中,将置于数据流的数据记录之前的初始化向量值和对应于密码密钥的密钥标识符,与解密单元的寄存器中存储的期望的密钥标识符值和初始化向量值比较。如果期望的密钥标识符与从数据流接收的密钥标识符匹配,则能够开始读取数据流的数据记录用于解密。否则,延迟读取数据流的数据记录直到提供了用于密钥标识符的匹配值。
示例性实施例
图1根据某些实施例图示计算环境100的方框图。计算环境100包括至少一个解密单元102,其可以通过网络耦合到存储介质104。解密单元102可以包括专用的硬件解密单元,其具有一个或更多处理器、存储器、寄存器等等。在某些实施例中,解密单元102可以包括计算设备。在其它实施例中,解密单元102可以包括在任何适合的计算平台中,包括本领域目前已知的那些,如个人计算机、工作站、主机、中等计算机、网络装置、掌上型计算机、电话设备、刀片计算机、手持计算机等。在另外的实施例中,解密单元102可以以软件、硬件、固件或其任何组合,在计算平台的内部或外部实现。
解密单元102包括:第一寄存器106,其存储期望的密钥标识符108;第二寄存器110,其存储期望的初始化向量112;以及数据结构或硬件单元,用于指示密码密钥114和计数器值116。
期望的密钥标识符108是明文值,其能够由解密单元102使用以确定已经用于加密的密码密钥114。例如,在某些实施例中,期望的密钥标识符108是到密码密钥114的指针。在其它实施例中,期望的密钥标识符108能够用于确定密码密钥114的位置。在另外的实施例中,期望的密钥标识符108能够用以经由其它机制确定密码密钥114。
能够使用期望的初始化向量112来确定计数器值116,其中计数器值116结合密码密钥114,可以用于根据AES-256-GCM或其它机制解密数据记录。即使期望的初始化向量112保持相同,计数器值116在解密多个数据记录中的每个期间也能够改变。
期望的密钥标识符108和期望的初始化向量112,可以由应用和用户、或者作为之前读取数据流的结果已经在解密单元102中设置,该数据流提供期望的密钥标识符108和期望的初始化向量112给解密单元102。
存储介质104可以包括更多的带、盘或本领域已知的任何其它适合的存储介质之一。存储介质104可以包括在存储设备(未显示)中,并且解密单元102可以读取存储在存储设备的存储介质104中的数据流118。
数据流118包括密钥标识符120、初始化向量122、多个加密的数据记录124和消息认证码126。密钥标识符120可以以明文写在数据流118的第一个128位块上。初始化向量122可以跟随密钥标识符120,该初始化向量122可以以明文写在数据流118的第二个128位块上。
在数据流118中,加密的数据记录124跟随初始化向量122。加密的数据记录124在某些实施例中可以包括几兆字节的数据或更多,并且可以包括数据记录的序列128a、128b...128n。通过使用对应于密钥标识符120的密码密钥、以及通过使用从初始化向量122得到的计数器值,可以已经加密加密的数据记录124。
跟随加密的数据记录124的消息认证码126,可以用于确定数据流118的数据的完整性。
在图1中图示的某些实施例中,在开始数据流118的读取操作之前,密钥标识符120和初始化向量122的期望值,已经被写到解密单元102中的寄存器106和110中。当读取数据流时,最初只读取前两个128位块(密钥标识符120和初始化向量122),并且延迟用于读取数据流118的流水线。将存储在寄存器106中的期望的密钥标识符108、与从存储介质104读取的密钥标识符120比较。如果期望的密钥标识符108与从存储介质104读取的密钥标识符120匹配,则读取过程恢复读取加密的数据记录124,并且解密加密的数据记录124。如果期望的密钥标识符108与从存储介质104读取的密钥标识符120不匹配,则延迟读取过程。
图2根据某些实施例、图示计算环境100中实现的解密单元102的方框图。在图2中可以找到超出图1中指示的用于解密单元102的那些的额外的元件。
在图2中图示的某些实施例中,在开始数据记录124的读取操作之前,将用于128位密钥标识符和128位初始化向量的期望值分别写到寄存器106和110中。当正在从存储介质104读取数据流118时,最初只读取前两个128位块(密钥标识符120和初始化向量122),并且延迟用于读取数据流118的数据记录124的流水线。以明文写这两个块120、122,所以不需要解密。这两个块120、122存储在解密单元102中,作为接收的密钥标识符200和接收的初始化向量202,并且这两个块200、202通过存储在256位掩码(mask)寄存器206中的256位掩码,由一个或更多的比较器204逐位地与寄存器106、110中的值比较。能够写256位掩码寄存器,使得不必对全部256位执行比较。例如,在某些实施例中,只有期望的密钥标识符108可以与包括在数据流118中的密钥标识符120比较。解密单元102的接受行210关闭直到获得有效的匹配。在该时间点,没有加密的数据记录124实际上已经发送到解密单元102。
如果存储在寄存器106、110中的值与接收的密钥标识符200和接收的初始化向量202匹配,则继续数据流118的读取。如果存储在寄存器106、110中的值与接收的密钥标识符200和接收的初始化向量202不匹配,则延迟流水线并且设置错误位208。解密单元102检测错误位208,读取包括从存储介质104读取的实际值的寄存器200、202,并且将那些值传递到密钥管理器212用于进一步处理。
为了重启读取操作,期望的和实际的密钥标识符和初始化向量可能必须匹配。解密单元102将期望的值重写在存器106、110中,并且发信号通知解密单元102以开始另一比较。在该点,错误位208已经关闭,但是如果仍然存在比较失败,则将再次设置错误位208。假定这次数据匹配,接受行210将开启,并且将由解密单元102接收用于解密的数据记录124。
因此,图2图示某些实施例,其中,通过比较从存储介质104读取的实际值和解密单元102中存储的期望值,解密单元102检查意外的密钥和初始化向量。
图3根据某些实施例说明显示用于检测和处理加密密钥和初始化向量的操作的流程图。操作可以在计算环境100的解密单元102中执行。
控制在块300开始,其中期望的密钥标识符108和期望的初始化向量112维持在解密单元102中。在解密单元102接收密钥标识符120和初始化向量122(在块302),其中在数据流118中密钥标识符120和初始化向量122在多个加密数据记录124之前,并且其中该多个加密数据记录124已经用密码密钥加密,该密码密钥可以由解密单元102从密钥标识符120恢复。
控制进行到块304,其中解密单元102确定是否接收的密钥标识符200与期望的密钥标识符108匹配。如果解密单元102确定接收的密钥标识符200和期望的密钥标识符108(存储在寄存器106中)匹配,则解密单元102发起读取数据流118的多个加密数据记录124(在块306)。
解密单元102读取多个加密数据记录128a...128n的第一个加密数据记录128a(在块308)。解密单元102通过使用从初始化向量122产生的计数器值116、和从期望的密钥标识符108恢复的密码密钥114,解密多个加密数据记录128a...128n的第一个加密数据记录128a(在块310)。读取多个加密数据记录124的额外的加密数据记录用于解密(在块312)。读取消息认证码(在块314),并且对数据完整性进行检查。
如果解密单元102确定接收的密钥标识符200与期望的密钥标识符108不匹配(在块304),则解密单元102延迟数据流118的多个加密数据记录124的读取(在块316)。在解密单元102用新的期望的密钥标识符代替期望的密钥标识符108(在块318),并且控制返回到块304,其中进行关于接收的密钥标识符与新的期望的密钥标识符是否匹配的确定。
因此,图3图示某些实施例,其中解密单元102避免解密加密数据记录124,除非在数据流的开始处存储的密钥标识符120与存储在解密单元102中的期望的密钥标识符108匹配。因为当与密钥标识符120和期望的密钥标识符108的比较相比时,加密数据的解密耗费时间,所以在错误的情况下避免退回穿过数据流118的加密数据记录124的序列,导致解密加密数据的更快的处理时间。
存储库和存储设备相关的实施例
图1-3已经描述了某些实施例,其图示存储介质104和解密单元102之间的某些相互作用。图4-6图示某些另外的实施例,其中解密单元102和存储介质104包括在存储设备中,如带驱动器,其中在某些实施例中,一个或更多存储设备可以在存储库中实现。
图4图示现有技术中已知的存储库,如自动带库402。带库402包括库控制器、输入/输出站、摘取器(picker)组件404、支架组件406、存储单元408a和408b、以及光盘驱动器(未示出)。在此使用的术语“库元件”指自动带库402中的任何插槽,其中可以放置存储盒(cartridge),例如输入/输出站、存储单元408a和408b等。库控制器包括处理器、RAM、以及其它用来指导库组件的动作的控制和接口。库控制器还与主机处理器相互作用,以响应从该主机处理器传输的库命令。输入/输出站是用户可以通过它插入或移除盒的开口。容纳带库402的盒子的外侧上的操作器面板允许用户与库控制器通信。当通过输入/输出插槽添加盒时,用户可以使用操作器面板指示盒的添加。带库402还可以包括通道门412,通过该门用户可以添加或移除维持在存储单元408a和408b中的盒。
带库402具有两列存储单元408a和408b以及存储驱动器410a和410b,其对存储介质存储盒执行读和写操作。摘取器组件404能够操作库元件中的存储介质存储盒。支架组件406在各库元件中移动摘取器组件404、以及由摘取器组件404支撑的任何存储介质存储盒。支架组件406将摘取器组件404传送到目的库元件。摘取器组件404能够旋转以将存储介质存储盒翻转。摘取器组件404具有手指机制,以移除或插入存储介质存储盒到库元件。一旦插入存储驱动器410a和410b中,能够将数据从存储介质存储盒中读出,并发送到主机处理器。从主机处理器传输的数据,能够写到插入存储驱动器410a和410b中的存储介质存储盒。每列中的一个或更多存储单元408a和408b可以包括输入/输出插槽,通过该插槽用户可以从带库402移除存储介质存储盒或能够将存储介质存储盒插入带库402中。
在另外的实施例中,带库402可以包括分布式的计算组件,如分布式控制器、分布式存储单元以及分布式摘取器组件。另外,带库402可以分割为具有多个存储驱动器的一个或更多逻辑库。每个存储驱动器可以配置与任何其它驱动器独立。另外,可以同时或用相同设置配置各组存储驱动器。这可以包括帧中的所有存储驱动器、逻辑库中的所有存储驱动器、物理库中的所有存储驱动器或从列表中选择的所有存储驱动器。
图5图示自动存储库500的实施例,该自动存储库500包括:存储阵列502,如存储单元408a和408b(图4),其包括可移除的存储介质504a、504b...504n;存储驱动器506a、506b...506k,如带驱动器、光盘驱动器或其它与可移除的存储介质耦合以用于访问的接口;自动换片器装置(autochangermechanism)508,用以在存储阵列502和存储驱动器506a...506k之间传递可移除的存储介质504a...504n,如摘取器组件404(图4);以及库控制器510。
可移除的存储介质504a...504n可以包括任何类型的介质,数据可以存储在该介质上并且该介质可以用作可移除的介质,所述介质包括但不限于磁介质(如磁带或盘)、光介质(如光带或盘)、电介质(如PROM、EEPROM、闪速PROM、MRAM等)、或其它适合的介质。在某些实施例中,可移除的存储介质具有盒式机壳,如具有盒式磁带或可移除盘驱动器的情况。
在某些实施例中,库控制器510由微处理器、以及控制自动库500中的各组件的操作的各种控制和接口组成,包括自动换片器装置508以及存储驱动器506a...506k。库控制器510利用存储器512来存储各种信息,如维持关于库500中的可移除的存储介质504a...504n的位置的信息的存储介质地图,包括存储阵列502中的各库元件的内容。库控制器510可以包括单个处理单元或分布式处理单元。
库控制器510还可以管理对存储库500中的可移除的存储介质504a...504n的读/写操作。库操作器可以通过耦合到库500的操作器终端514,直接控制可移除的存储介质504a...504n的操作和管理,所述库操作器包括显示设备和键盘,以与库控制器510接口。另外,主机系统(未示出)可以将命令发送给库控制器510,以控制自动库500内的操作、或对由库500管理的可移除的存储介质504a...504n内的卷(volume)执行读或写操作,其中该主机系统可通过网络或通过直接电缆连接与库500通信。
图6图示存储驱动器600的实施例,该存储驱动器600能够对耦合的示例性可移除的存储介质504a、504b或504n执行I/O操作,该可移除的存储介质504a、504b或504n能够插入到存储驱动器600中。存储驱动器600包括I/O管理器代码602以执行对耦合的可移除的存储介质504a、504b或504n的读/写操作。存储驱动器600包括用户接口604,其包括关于存储驱动器600的、装入以配置和控制存储驱动器600的用户控制。另外,在某些实施例中,外部用户接口606可以可选地耦合到存储驱动器600,提供用于配置和控制存储驱动器600的额外的用户控制。存储驱动器600还可以包括一个或更多的通信接口608、和解密单元102(在图1中示出),并且在某些实施例中,存储介质104(图1中所示)可以包括在存储驱动器600中,并且对应于可移除的存储介质504a、504b或504n之一。
用户接口604和可选地外部用户接口606可以包括用于与存储驱动器506a...506k相互作用的用户接口元件,如用于手动卸载可移除的存储介质504a、504b或504n的弹起按钮,用于导航项目列表的上/下按钮,用于选择项目或从菜单或项目退出的进入/退出按钮,以及一个或更多状态显示器(例如,光或LED(发光二极管)、数字显示器以及文字数字显示器等)。外部用户接口606可以包括计算机、工作站、个人计算机、掌上型计算机、web用户接口、专有的用户接口、或能够为存储驱动器506a...506k提供用户接口的任何其它设备。
解密单元102和I/O管理器代码602可以实现为存储驱动器600中的硬件逻辑或计算机可执行的指令,该指令由存储驱动器600中的处理器(未示出)访问和执行。在某些实施例中,存储驱动器600是带驱动器。
另外的实施例细节
描述的技术可以实现为包括软件、固件、微代码、硬件和/或其任何组合的方法、装置或制造的产品。在此使用的术语“制造的产品”指在介质中实现的代码或逻辑,其中这样的介质可以包括硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)或计算机可读的介质,如磁存储介质(例如,硬盘驱动器、软盘、带等)、光存储(CD-ROM、光盘等)、易失性和非易失性存储设备(例如,电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、固件、可编程逻辑等)。处理器访问和执行计算机可读的介质中的代码。其中代码或逻辑被编码的介质还可以包括传输信号,其通过空间或传输介质(如光纤、铜线等)传播。其中代码或逻辑被编码的传输信号还可以包括无线信号、卫星传输、无线电波、红外信号等。其中代码或逻辑被编码的传输信号能够由发射站发射,并且由接收站接收,其中在传输信号中被编码的代码或逻辑可以在接收和发射站或设备处被编码并存储在硬件或计算机可读的介质中。另外,“制造的产品”可以包括硬件和软件组件的组合,其中包括、处理和执行代码。当然,本领域技术人员将认识到:可以进行许多修改而不背离实施例的范围,并且制造的产品可以包括任何信息承载介质。例如,制造的产品包括具有其中存储了指令的存储介质,当由机器执行该指令时,导致某些操作被执行。
某些实施例能够采取全部硬件实施例、全部软件实施例或包括硬件和软件元件的实施例的形式。在优选实施例中,本发明以包括但不限于固件、驻留软件、微代码等的软件实现。
另外,某些实施例能够采取计算机程序产品的形式,该计算机程序产品可从计算机可使用的、或计算机可读的介质访问,所述介质提供程序代码用于被或连同计算机或任何指令执行系统使用。为了该描述的目的,计算机可使用的或计算机可读的介质能够是任何装置,其能够包括、存储、传达、传播或传送程序,用于被或连同指令执行系统、装置或设备使用。介质能够是电、磁、光、电磁、红外、或半导体系统(或装置或设备)或传播介质。计算机可读的介质的例子包括半导体或固态存储器、磁带、可移除的计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。当前光盘的例子包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和数字视频盘(DVD)。
术语“某些实施例”、“实施例(an embodiment)”、“实施例(embodiment)”、“各实施例”、“所述实施例”、“所述各实施例”、“一个或更多实施例”、“一些实施例”以及“一个实施例”意味一个或更多(但不是全部)实施例,除非明白地另有指定。术语“包括”、“包含”、“具有”和其变化意味“包括但不限于”,除非明白地另有指定。项目的列举的列表不暗示任何或全部该项目是相互排他的,除非明白地另有指定。术语“一个(a)”、“一个(an)”以及“该”意味“一个或更多”,除非明白地另有指定。
相互通信的设备不需要持续相互通信,除非明白地另有指定。另外,相互通信的设备可以直接或间接地通过一个或更多媒介(intermediary)相互通信。另外,具有若干组件相互通信的实施例的描述不暗示全部这样的组件是需要的。相反,描述了多种可选的组件来图示可能的实施例的广泛多样性。
另外,尽管可以以连续的顺序描述各过程步骤、各方法步骤、各算法等,但是这样的过程、方法和算法可以被配置为以交替的顺序工作。换句话说,可以描述的任何步骤的序列或顺序,不一定指定各步骤以该顺序执行的要求。在此描述的各过程的各步骤可以以任何实际的顺序执行。另外,有些步骤可以同时、并行或并发执行。
当在此描述单个设备或产品时,可以使用超过一个设备/产品(无论它们是否合作)代替单个设备/产品将是明显的。类似地,其中在此描述超过一个设备或产品(无论它们是否合作),可以使用单个设备/产品代替该超过一个的设备/产品将是明显的。设备的功能和/或特征可以替代地由一个或更多其它设备体现,该一个或更多其它设备没有明确地描述为具有该功能/特征。因此。其它各实施例不需要包括该设备自身。
图7图示示例性计算机系统700,其中在某些实施例中图1的计算环境100的解密单元102可以根据计算机系统700的计算机架构来实现。计算机系统700还可以称为系统,并且可以包括电路702,该电路702可以在某些实施例中包括处理器704。系统700还可以包括存储器706(例如,易失性存储器设备)以及存储708。系统700的某些元件可以或不可以在图1的解密单元102中发现。存储708可以包括非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、带驱动器等。存储708可以包括内部存储设备、附加的存储设备和/或网络可访问的存储设备。系统700可以包括包括代码712的程序逻辑710,该代码712可以加载到存储器706中并由处理器704或电路702执行。在某些实施例中,包括代码712的程序逻辑710可以存储在存储708中。在某些其它实施例中,程序逻辑710可以在电路702中实现。因此,尽管图7显示程序逻辑710从其它元件分离,但是程序逻辑710可以在存储器706和/或电路702中实现。
某些实施例可以贯注于通过个人或经由自动处理部署计算底层结构的方法。某些其它实施例可以贯注于将计算机可读的代码集成到计算系统中,其中使得该代码与该计算系统结合能够执行之前描述的各操作。
至少图3中图示的某些操作可以并行以及顺序地执行。在可替代的实施例中,某些操作可以以不同的顺序执行、修改或移除。
另外,为了说明的目的,已经在分离的模块中描述了许多软件和硬件组件。这样的组件可以集成到更少量的组件中,或划分到更大量的组件中。另外,某些描述为由特定组件执行的操作可以由其它组件执行。
图1-7中示出的或参照的各数据结构和各组件,被描述为具有特定类型的信息。在可替代的实施例中,该数据结构和组件可以被不同地构建,并且比图中示出的或参照的那些具有更少、更多或不同的区域或不同的功能。因此,为了说明和描述的目的,已经呈现了各实施例的上述描述。意图不在于是穷举性的或将实施例限于公开的精确的形式。根据上面的教导,许多修改和变化是可能的。
IEEE P1619.1是电气和电子工程师协会的商标或注册商标。
Claims (10)
1.一种解密方法,包括:
在解密单元维持期望的密钥标识符和期望的初始化向量;
在解密单元接收密钥标识符和初始化向量,其中在数据流中,密钥标识符和初始化向量在多个加密数据记录之前,并且其中该多个加密数据记录已经用密码密钥加密,该密码密钥可以由解密单元从密钥标识符恢复;以及
发起读取数据流的多个加密数据记录,以响应在解密单元确定接收的密钥标识符与期望的密钥标识符匹配。
2.根据权利要求1所述的方法,其中如果在解密单元接收的密钥标识符与期望的密钥标识符不匹配,则由解密单元延迟读取数据流的多个加密数据记录。
3.根据权利要求2所述的方法,该方法还包括:
在解密单元用新的期望的密钥标识符替换期望的密钥标识符,以响应确定接收的密钥标识符与期望的密钥标识符不匹配;以及
在解密单元确定是否新的期望的密钥标识符与接收的密钥标识符匹配。
4.根据权利要求1所述的方法,该方法还包括:
读取多个加密数据记录的第一加密数据记录;
通过使用从初始化向量产生的计数器值和从期望的密钥标识符恢复的密码密钥,解密多个加密数据记录的第一加密数据记录;以及
读取多个加密数据记录的额外的加密数据记录用于解密。
5.根据权利要求1所述的方法,其中为了发起读取数据流的多个加密数据记录,接收的密钥标识符和接收的初始化向量,必须与期望的密钥标识符和期望的初始化向量至少在掩码寄存器中指示的多位匹配。
6.一种解密装置,包括:
用于维持期望的密钥标识符和期望的初始化向量的部件;
用于接收密钥标识符和初始化向量的装置,其中在数据流中,密钥标识符和初始化向量在多个加密数据记录之前,并且其中该多个加密数据记录已经用密码密钥加密,该密码密钥可以从密钥标识符恢复;以及
用于发起读取数据流的多个加密数据记录,以响应确定接收的密钥标识符与期望的密钥标识符匹配的部件。
7.根据权利要求6所述的装置,其中如果接收的密钥标识符与期望的密钥标识符不匹配,则延迟读取数据流的多个加密数据记录。
8.根据权利要求7所述的装置,还包括:
用于用新的期望的密钥标识符替换期望的密钥标识符,以响应确定接收的密钥标识符与期望的密钥标识符不匹配的部件;以及
用于确定是否新的期望的密钥标识符与接收的密钥标识符匹配的部件。
9.根据权利要求6所述的装置,还包括:
用于读取多个加密数据记录的第一加密数据记录的部件;
用于通过使用从初始化向量产生的计数器值和从期望的密钥标识符恢复的密码密钥,解密多个加密数据记录的第一加密数据记录的部件;以及
用于读取多个加密数据记录的额外的加密数据记录用于解密的部件。
10.根据权利要求6所述的装置,其中为了发起读取数据流的多个加密数据记录,接收的密钥标识符和接收的初始化向量,必须与期望的密钥标识符和期望的初始化向量至少在掩码寄存器中指示的多个位匹配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/530,010 US7903812B2 (en) | 2006-09-07 | 2006-09-07 | Detection and handling of encryption key and initialization vector |
US11/530,010 | 2006-09-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101166086A CN101166086A (zh) | 2008-04-23 |
CN101166086B true CN101166086B (zh) | 2010-12-01 |
Family
ID=39169707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710148541.9A Expired - Fee Related CN101166086B (zh) | 2006-09-07 | 2007-08-29 | 用于检测和处理加密密钥和初始化向量的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7903812B2 (zh) |
CN (1) | CN101166086B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130959B2 (en) | 2006-09-07 | 2012-03-06 | International Business Machines Corporation | Rekeying encryption for removable storage media |
JP4466641B2 (ja) * | 2006-12-15 | 2010-05-26 | コニカミノルタビジネステクノロジーズ株式会社 | 暗号処理装置 |
US20080219449A1 (en) * | 2007-03-09 | 2008-09-11 | Ball Matthew V | Cryptographic key management for stored data |
US8990583B1 (en) * | 2007-09-20 | 2015-03-24 | United Services Automobile Association (Usaa) | Forensic investigation tool |
US8494168B1 (en) * | 2008-04-28 | 2013-07-23 | Netapp, Inc. | Locating cryptographic keys stored in a cache |
US20160321194A1 (en) * | 2015-04-28 | 2016-11-03 | Kabushiki Kaisha Toshiba | Storage device, controller, and control method |
US10409613B2 (en) * | 2015-12-23 | 2019-09-10 | Intel Corporation | Processing devices to perform a key value lookup instruction |
US10657071B2 (en) * | 2017-09-25 | 2020-05-19 | Intel Corporation | System, apparatus and method for page granular, software controlled multiple key memory encryption |
CN118606971A (zh) * | 2019-07-15 | 2024-09-06 | 美光科技公司 | 密码密钥管理 |
US11347895B2 (en) * | 2019-12-03 | 2022-05-31 | Aptiv Technologies Limited | Method and system of authenticated encryption and decryption |
CN112469036B (zh) * | 2020-10-23 | 2023-10-20 | 百果园技术(新加坡)有限公司 | 一种消息加解密方法、装置、移动终端和存储介质 |
US20230133922A1 (en) * | 2021-11-02 | 2023-05-04 | SK Hynix Inc. | Electroinc devices and electroinc systems for transmitting bit stream including programming data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322422A (zh) * | 1999-09-07 | 2001-11-14 | 索尼公司 | 内容管理系统,设备,方法,和程序存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6023643A (en) * | 1998-04-03 | 2000-02-08 | International Business Machines Corporation | System for auditing storage cartridges in a library storage system |
US6295361B1 (en) * | 1998-06-30 | 2001-09-25 | Sun Microsystems, Inc. | Method and apparatus for multicast indication of group key change |
US6567914B1 (en) * | 1998-07-22 | 2003-05-20 | Entrust Technologies Limited | Apparatus and method for reducing transmission bandwidth and storage requirements in a cryptographic security system |
JP2000181803A (ja) * | 1998-12-18 | 2000-06-30 | Fujitsu Ltd | 鍵管理機能付電子データ保管装置および電子データ保管方法 |
US7013389B1 (en) * | 1999-09-29 | 2006-03-14 | Cisco Technology, Inc. | Method and apparatus for creating a secure communication channel among multiple event service nodes |
US6950522B1 (en) * | 2000-06-15 | 2005-09-27 | Microsoft Corporation | Encryption key updating for multiple site automated login |
US6918040B2 (en) * | 2000-12-28 | 2005-07-12 | Storage Technology Corporation | Method and system for providing field scalability across a storage product family |
US20030021418A1 (en) * | 2001-03-19 | 2003-01-30 | Kunio Arakawa | Cryptogram communication system |
EP1249964A3 (en) * | 2001-04-12 | 2004-01-07 | Matsushita Electric Industrial Co., Ltd. | Reception terminal, key management apparatus, and key updating method for public key cryptosystem |
US7203317B2 (en) * | 2001-10-31 | 2007-04-10 | Hewlett-Packard Development Company, L.P. | System for enabling lazy-revocation through recursive key generation |
US20030099362A1 (en) * | 2001-11-27 | 2003-05-29 | Doug Rollins | Method and apparatus for WEP key management and propagation in a wireless system |
CN1268093C (zh) * | 2002-03-08 | 2006-08-02 | 华为技术有限公司 | 无线局域网加密密钥的分发方法 |
US7421742B2 (en) * | 2003-01-15 | 2008-09-02 | Sony Corporation | Signal processing system, recording method, program, recording medium, reproduction device and information processing device |
US7213118B2 (en) * | 2003-09-29 | 2007-05-01 | International Business Machines Corporation | Security in an automated data storage library |
FR2861234A1 (fr) * | 2003-10-17 | 2005-04-22 | St Microelectronics Sa | Chiffrement de donnees dans un appareil electronique a plusieurs processeurs symetriques |
US20050086471A1 (en) * | 2003-10-20 | 2005-04-21 | Spencer Andrew M. | Removable information storage device that includes a master encryption key and encryption keys |
GB2424297B (en) * | 2003-11-13 | 2007-06-27 | Commvault Systems Inc | System and method for data storage and tracking |
JP4696449B2 (ja) * | 2004-01-09 | 2011-06-08 | ソニー株式会社 | 暗号化装置およびその方法 |
US7328343B2 (en) * | 2004-03-10 | 2008-02-05 | Sun Microsystems, Inc. | Method and apparatus for hybrid group key management |
JP4566668B2 (ja) * | 2004-09-21 | 2010-10-20 | 株式会社日立製作所 | 記憶階層を有する計算機システムにおける暗号復号管理方法 |
-
2006
- 2006-09-07 US US11/530,010 patent/US7903812B2/en not_active Expired - Fee Related
-
2007
- 2007-08-29 CN CN200710148541.9A patent/CN101166086B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1322422A (zh) * | 1999-09-07 | 2001-11-14 | 索尼公司 | 内容管理系统,设备,方法,和程序存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101166086A (zh) | 2008-04-23 |
US7903812B2 (en) | 2011-03-08 |
US20080063186A1 (en) | 2008-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101166086B (zh) | 用于检测和处理加密密钥和初始化向量的方法和系统 | |
CN101141257B (zh) | 用于保持加密密钥完整性的方法、密码单元和存储驱动器 | |
CN101141462B (zh) | 用于对可移动存储介质的加密进行密钥重置的方法和设备 | |
CN101140778B (zh) | 恢复可移动存储介质上残留的加密数据的方法和系统 | |
CN101141461B (zh) | 用于使用密钥服务器进行密钥生成和取回的方法和系统 | |
CN1592877B (zh) | 用于对大容量存储设备上数据加密/解密的方法和装置 | |
US8175276B2 (en) | Encryption apparatus with diverse key retention schemes | |
CN101501698B (zh) | 配置存储驱动器以与加密管理器和密钥管理器通信 | |
US7751559B2 (en) | Secure transmission of cryptographic key | |
CN100464313C (zh) | 一种移动存储装置及存取移动存储装置中加密数据的方法 | |
EP1341071A2 (en) | Memory card | |
CN101685425A (zh) | 移动存储设备及实现移动存储设备加密的方法 | |
US7921294B2 (en) | Verification of encryption key | |
US8843768B2 (en) | Security-enabled storage controller | |
CN103907308A (zh) | 主机设备、半导体存储器设备以及认证方法 | |
US8489899B2 (en) | System and method for encrypting and decrypting data | |
US8328104B2 (en) | Storage device management systems and methods | |
US9571273B2 (en) | Method and system for the accelerated decryption of cryptographically protected user data units | |
US20040117639A1 (en) | Secure driver | |
US20090097653A1 (en) | Encryption key stored and carried by a tape cartridge | |
JPWO2006118101A1 (ja) | 機密情報処理用ホスト機器および機密情報処理方法 | |
US20070174548A1 (en) | [memory card with identifier] | |
CN110909318B (zh) | 用于用户设备的操作系统防盗刷方法及装置、终端 | |
CN101763485A (zh) | 数据保护方法 | |
CN115168877A (zh) | 移动硬盘的保护装置、方法和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101201 Termination date: 20160829 |
|
CF01 | Termination of patent right due to non-payment of annual fee |