CN111263942A - 数据加密方法和执行数据加密方法的电子设备 - Google Patents

数据加密方法和执行数据加密方法的电子设备 Download PDF

Info

Publication number
CN111263942A
CN111263942A CN201880069107.8A CN201880069107A CN111263942A CN 111263942 A CN111263942 A CN 111263942A CN 201880069107 A CN201880069107 A CN 201880069107A CN 111263942 A CN111263942 A CN 111263942A
Authority
CN
China
Prior art keywords
data
encryption information
encryption
memory
information
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
CN201880069107.8A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN111263942A publication Critical patent/CN111263942A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

一种写入加密数据的电子设备包括:第一存储器;第二存储器,被配置为当数据被加密并被写入第一存储器时更新加密信息,并且存储更新后的加密信息,其中,加密信息包括指示第一存储器上的写入位置的地址信息和用于加密的参数;加密和解密单元,被配置为基于加密信息对数据进行加密;以及处理器,被配置为控制加密数据被写入第一存储器,从而提高安全等级。

Description

数据加密方法和执行数据加密方法的电子设备
技术领域
本公开涉及一种数据加密方法和执行数据加密方法的电子设备。
详细地,本公开涉及一种用于对数据进行加密并且将加密数据写入并存储在存储器中的数据加密方法以及执行数据加密方法的电子设备。
背景技术
诸如计算机、智能电话、平板个人计算机(PC)和个人数字助理(PDA)的电子设备经常被它们的用户使用。随着电子设备变得越来越受欢迎,存储在电子设备中的用户的个人信息或用户相关信息也随着电子设备的改进和新功能的发展而相应地增加。因此,为了防止对存储在电子设备中的数据的未授权访问,采用加密技术来保护写入并存储在电子设备中的数据。
例如,加密技术正被积极地应用于存储介质(诸如硬盘驱动器(HDD)),以保护个人信息或用户相关信息。
因为诸如随机存取存储器(RAM)的存储装置通常存储将被保护以防止被攻击的重要数据,所以为了安全起见,需要对存储在RAM中的数据进行加密。例如,RAM可存储用户的个人信息或具有版权的内容,并且需要防止对该数据的未授权访问。
详细地,可经由软件攻击或物理攻击对RAM内的数据进行未授权访问。例如,通过经由恶意软件的未授权的数据转储,可能发生软件攻击,并且例如,经由对存储芯片的接触线的探测,可能发生物理攻击。
尽管RAM是易失性存储装置并且因此具有在停止供电之后丢失存储的数据的特性,但是即使在电力被移除之后,RAM也将数据存储一定时间段。具体地,随着周围环境温度降低,在电力被移除之后存储数据的时间相应地增加。因此,有可能在停止对RAM供电之后的一定时间段期间仍可访问数据。
因此,为了保护写入诸如RAM的存储器装置的数据,可采用加密。然而,当数据被加密并被写入存储器装置并且随后加密数据被读取并被解密时,需要维持装置的访问性能和装置中存储的数据的安全性。
发明内容
技术问题
如上所述,有可能在停止对RAM供电之后的一定时间段期间仍可访问数据。
因此,为了保护被写入存储器装置(诸如RAM)的数据,可采用加密。然而,当数据被加密并被写入存储器装置并且随后加密数据被读取并被解密时,需要维持装置的访问性能和装置中存储的数据的安全性。
技术方案
本公开的一个或更多个实施例涉及一种能够使在对数据进行加密并将数据写入随机存取存储器(RAM)以及对写入RAM的数据进行解密期间发生的访问性能下降最小化的数据加密方法以及执行该数据加密方法的电子设备。
本公开的一个或更多个实施例涉及一种能够提高写入RAM的加密数据的安全等级的数据加密方法以及执行该数据加密方法的电子设备。
有益效果
在根据实施例的数据加密方法和执行该数据加密方法的电子设备中,当存储在以块为单位存储数据的RAM中的数据被加密时,在无需使用不作为用于加密的目标的数据情况下对相应数据进行加密,从而最小化RAM的访问性能下降。
在根据实施例的数据加密方法和执行该数据加密方法的电子设备中,当存储在RAM中的数据被加密时,在不同的加密时间点对相同的输入数据进行不同加密,从而提高安全等级。
附图说明
从以下结合附图进行的描述,本公开的特定实施例的上述和其他方面、特征和优点将更加显而易见,其中:
图1是根据实施例的用于写入加密数据的电子设备的框图;
图2是用于说明由图1的电子设备执行的数据加密操作的示图;
图3是用于写入加密数据的电子设备的框图;
图4是用于说明由图3的电子设备执行的数据加密操作的示图;
图5是根据实施例的电子设备的框图;
图6是根据实施例的电子设备的框图;
图7是根据实施例的电子设备的框图;
图8至图10是示出根据实施例的加密信息的示图。
图11是示出根据实施例的缓存存储器的层结构的示图;
图12是根据实施例的缓存装置的操作的流程图;
图13是用于说明根据实施例的电子设备的加密信息更新操作的示图;
图14是用于说明根据实施例的电子设备的加密信息更新操作的示图;
图15是根据实施例的缓存装置的操作的流程图;
图16是根据实施例的包括电子设备的显示设备的框图;以及
图17是根据实施例的数据加密方法的流程图。
最佳模式
本申请基于并要求于2017年10月23日在韩国知识产权局提交的申请号为10-2017-0137377的韩国专利申请的优先权,其公开通过引用整体包含于此。
本公开的一个或更多个实施例涉及一种能够使在对数据进行加密并将数据写入随机存取存储器(RAM)以及对写入RAM的数据进行解密期间发生的访问性能下降最小化的数据加密方法以及执行该数据加密方法的电子设备。
本公开的一个或更多个实施例涉及一种能够提高写入RAM的加密数据的安全等级的数据加密方法以及执行该数据加密方法的电子设备。
本公开的另外的方面将在下面的描述中被部分地阐述,并且部分地从描述将是显而易见的,或者可通过所呈现的实施例的实践而被获知。
根据本公开的一方面,一种电子设备可包括:第一存储器;第二存储器,被配置为存储加密信息,其中,所述加密信息包括指示数据在第一存储器装置上的写入位置的地址信息和用于对所述数据进行加密的参数;加密和解密单元,被配置为基于所述加密信息对所述数据进行加密;以及处理器,被配置为控制加密的所述数据被写入第一存储器装置上的所述写入位置。
当接收到用于将补充数据写入第一存储器装置的写入请求时,第二存储器装置还可被配置为:基于所述写入请求来更新所述地址信息和用于对所述数据进行加密的所述参数中的至少一个。
第二存储器装置还可被配置为:生成第一加密信息和第二加密信息,使得第一加密信息与第二加密信息不同,其中,第一加密信息在所述数据在第一时间点被写入第一存储器装置时被应用,第二加密信息在所述补充数据在与第一时间点不同的第二时间点被写入第一存储器装置时被应用。
在第一时间点加密的所述数据可具有与在第二时间点加密的所述补充数据不同的值。
所述地址信息可包括开始地址、结束地址和从所述开始地址到所述结束地址的存储区域的大小信息中的至少两个。
第二存储器装置可包括多个存储区域和具有由多层构成的结构的缓存存储器,并且所述加密信息可被存储在所述多个存储区域中的与所述多层中的一层对应的存储区域中。
当补充数据被加密并被写入第一存储器装置时,第二存储器装置可将补充加密信息存储在所述多个存储区域中的与所述多层中的比存储所述加密信息的层低的一层对应的存储区域中。
当补充数据被加密并被写入第一存储器装置时,第二存储器装置可将补充加密信息另外存储在所述多个存储区域中的与所述多层中的存储所述加密信息的层对应的存储区域中。
所述加密信息可包括第一层加密信息和第二层加密信息,其中,第一层加密信息包括与所述数据对应的加密信息,第二层加密信息包括与补充数据对应的加密信息。
第二存储器装置还可被配置为:获得第一存储器装置上的与针对将被存储在第一存储器中的补充数据的写入请求对应的更新地址信息,并且基于指示第一存储器中的存储所述数据的第一区域的位置的初始地址和所述更新地址信息,更新所述加密信息。
当接收到对写入第一存储器装置的所述数据的读取请求时,第二存储器装置还可被配置为:响应于接收到所述读取请求,搜索与所述数据对应的所述加密信息。处理器还可被配置为:基于所述加密信息,控制数据以从第一存储器装置读取所述数据并对所述数据进行解密。
所述数据可包括图像帧数据,并且处理器还可被配置为:根据循环队列方法控制所述图像帧数据中包括的多个图像帧被写入第一存储器装置。
第二存储器装置可包括具有两层的结构的缓存存储器,并且可在对所述多个图像帧进行加密并将其存储到第一存储器装置时根据循环队列方法将所述加密信息存储在缓存存储器中。
第一存储器装置可以以块为单位存储至少一条数据,并且所述地址信息可包括指示在块的开始地址与该块的结束地址之间形成的该块的位置的信息。
第一存储器装置可以是随机存取存储器(RAM),并且第二存储器装置可以是缓存存储器。
根据本公开的另一方面,一种数据加密方法可包括:响应于接收到用于将数据写入第一存储器装置的请求,生成加密信息,其中,所述加密信息包括指示第一存储器装置上的写入位置的地址信息和用于对所述数据进行加密的参数;基于所述加密信息对所述数据进行加密;并且将加密的所述数据写入第一存储器装置上的所述写入位置。
所述生成步骤可包括:当接收到用于将补充数据写入第一存储器装置的写入请求时,基于所述写入请求来更新所述地址信息和用于对所述数据进行加密的所述参数中的至少一个;并且将更新后的加密信息存储到缓存存储器。
所述生成步骤还可包括:生成加密信息和第二加密信息,使得第一加密信息与第二加密信息不同,其中,所述加密信息在所述数据在第一时间点被写入第一存储器装置时被应用,第二加密信息在补充数据在与第一时间点不同的第二时间点被写入第一存储器装置时被应用。
所述方法可包括:将所述加密信息存储在第一存储器装置的多个存储区域中的与缓存存储器内的多层中的一层对应的存储区域中。
所述数据可包括包含多个图像帧的图像帧数据,并且写入步骤可包括:根据循环队列方法将所述多个图像帧写入第一存储器装置。
具体实施方式
可根据功能块组件和各种处理步骤来描述本公开的实施例。可通过被配置为执行指定功能的任意数量的硬件和/或软件组件来实现这样的功能块中的一些或全部。例如,可通过一个或更多个微处理器或者通过用于预定功能的电路组件来实现根据本公开的功能块。此外,例如,可利用任意软件编程或脚本语言来实现根据本公开的功能块。可以以在一个或更多个处理器上执行的硬件或软件算法来实现功能块。此外,这里描述的本公开可根据针对电子配置、信号处理和/或控制、数据处理等的相关技术采用任意数量的技术。
此外,在所呈现的各个附图中示出的组件之间的连接线或连接器旨在表示组件之间的示例性功能关系和/或物理或逻辑结合。可通过实际装置中的许多可选择的或另外的功能关系、物理连接或逻辑连接来表示组件之间的连接。
术语“……器(件)”、“……接口”、“……模块”和“……装置”在本说明书中被使用时是指执行至少一个功能或操作的单元,并且可被实现为硬件、软件或者硬件和软件的组合。术语“……器(件)”、“……接口”和“……模块”可被存储在可寻址存储介质中,并且可通过可由处理器执行的计算机程序来实现。
例如,“……器(件)”、“……接口”、“……模块”和“……装置”可由面向对象的软件组件、类组件和任务组件以及进程、功能、属性、程序、子例程、程序代码片段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、数组和变量来实现。
存在对存储在存储器装置中的多条数据进行加密的多种方法。能够存储加密数据的存储器装置的示例包括易失性存储器装置和非易失性存储器装置。易失性存储器装置的示例可包括随机存取存储器(RAM),并且非易失性存储器装置的示例可包括闪存、只读存储器(ROM)、磁性计算机存储装置(例如,硬盘)和光盘驱动器。本公开的实施例描述了RAM被用作用于写入和读取加密数据的存储器装置,但是RAM的选择仅是示例性的。
用于将加密数据存储在RAM中的加密方法的示例包括直接加密方法和使用数据缓存结构的方法。在图1和图2中,RAM被示出为用于写入数据、对数据进行加密以及读取加密数据的存储器装置。将参照图1描述基于直接加密方法的数据加密,并且将参照图2描述基于使用数据缓存结构的方法的数据加密。
图1是根据实施例的用于写入加密数据的电子设备的框图。
参照图1,用于使用直接加密技术对数据进行加密的电子设备100包括处理器110、加密/解密装置120和RAM 130。在直接加密技术中,当数据以块为单位被加密时,仅对将被加密的块数据进行独立地加密和解密。
处理器110可接收将被加密的数据,并且可控制接收到的数据被加密并被写入RAM130。详细地,处理器110可将要被存储在RAM 130中的数据发送到加密/解密装置120。
在图1至图7中,尚未加密的数据被表示为明文数据或明文,并且加密数据被表示为密文数据或密文。
加密/解密装置120对接收到的数据进行加密,并且将加密数据发送到RAM 130,或者对从RAM 130读取的数据进行解密。
加密/解密装置120可包括加密器121和解密器122,其中,所述加密器121对接收到的数据进行加密并将加密数据发送到RAM 130,所述解密器122对从RAM 130读取的数据进行解密并将解密数据发送到处理器110。
RAM 130写入并存储由加密器121加密的数据。RAM 130是能够重复写入数据的易失性存储器装置。详细地,RAM 130可以以特定单元(例如,块、具有特定大小的比特或具有特定大小的帧)为单位写入和读取数据。
图1至图4的实施例示出了RAM 130以皆具有128个比特的大小的数据块为单位写入和读取数据的情况。换句话说,数据被一次加密或解密的单位是具有128个比特的大小的块数据。然而,数据块的大小仅是示例性的。
图1的电子设备100可通过使用作为直接加密技术的电子码本(ECB)模式加密方法来对数据进行加密,并且现在将参照图2详细描述根据ECB模式加密方法的加密。
图2是用于说明由图1的电子设备100执行的数据加密操作的示图。图2的加密器121与图1的加密器121相同,因此将省略其详细描述。
在ECB模式加密方法中,数据块被独立地加密而无需其他数据块之间的联系性或相关性。在ECB模式加密方法中,仅各个位置处的多条数据中的包括在任意位置处的一个数据块可被独立地加密。
参照图2,加密器220接收作为单个数据块的明文210,并且通过使用密钥235对明文210进行加密,从而生成密文230。密钥235是加密所需的参数值。
在基于ECB模式加密方法的加密中,因为针对数据块的加密被独立地进行而无需数据块之间的相关性,所以可通过仅读取加密数据块来对数据块进行解密。因此,需要读取少量的数据块用于解密,并且因此可维持较高的对RAM 130的访问的性能。然而,在基于ECB模式加密方法的加密中,针对相同的输入值总是生成相同的加密值。因此,加密相对弱。
图3是用于写入加密数据的电子设备的框图。
参照图3,用于通过使用基于链方法的块加密技术来对数据进行加密的电子设备300包括处理器310、缓存装置320、加密/解密单元330和RAM 340。
在基于链方法的块加密技术中,已经被加密的先前数据块会影响将被加密的当前数据块的加密和解密。在基于链方法的块加密技术中,根据当前数据块附近的数据块的数据值,针对相同的输入值生成不同的加密值。因此,可维持高安全等级。
基于链方法的块加密技术的示例包括密文反馈(CFB)模式加密方法和输出反馈(OFB)模式加密方法。稍后将参照图4详细描述CFB模式加密方法。
参照图3,处理器310可接收作为将被加密并被写入RAM 340的数据的写入数据,并且可控制接收到的写入数据被加密并被写入RAM 340。详细地,处理器310可接收写入数据和写入请求,并且响应于写入请求,可将接收到的写入数据发送到加密/解密单元330。
缓存装置320包括缓存存储器,并且可生成加密或解密所需的参数(例如,密钥)并将所生成的参数存储在缓存存储器中。缓存装置320将存储在缓存存储器中的密钥提供给加密/解密单元330。缓存装置320将由处理器310接收到的写入数据发送到加密/解密单元330。由缓存装置320发送到加密/解密单元330的写入数据是尚未加密的数据,因此该数据被示出为明文数据。
基于链方法的块加密技术被用于对与当前数据块相邻的数据块的值进行加密。因此,当一个数据块具有128个比特的大小时,因为还需要使用与当前数据块相邻的数据块的值来对当前数据块进行加密,所以缓存装置320将作为当前数据块以及一个或更多个邻近数据块的具有128×N个比特的明文数据(128×N个比特)发送到加密/解密单元330。
加密/解密单元330通过使用从缓存装置320接收到的密钥和与将被加密的当前数据块相邻的数据块的数据值来对当前数据块进行加密。加密/解密单元330将加密数据发送到RAM 340,或者对从RAM 340读取的数据进行解密。
加密/解密单元330可包括加密器331和解密器332,其中,所述加密器331对接收到的数据进行加密并将加密数据发送到RAM 340,所述解密器332对从RAM 340读取的数据进行解密并将解密数据发送到处理器310。
RAM 340写入并存储由加密器331加密的数据。
图4是用于说明由图3的电子设备300执行的数据加密操作的示图。详细地,图4是用于说明基于CFB模式加密方法的数据加密操作的示图。图4的加密器450与图3的加密器331相同,因此将省略其详细描述。
参照图4,示出了当RAM 340存储彼此相邻的多条块数据时对第一数据块401、第二数据块402和第三数据块403进行加密的操作。因为第一数据块401、第二数据块402和第三数据块403都是尚未被加密的多条数据,所以第一数据块401、第二数据块402和第三数据块403是明文。
因为没有数据块与第一数据块401的前端相邻,所以加密器450对初始矢量(IV)411和将被加密的第一数据块401求和,并且通过使用密钥421对与求和的结果对应的数据值进行加密,从而生成作为加密数据的密文431。然后,加密数据431被存储在RAM中。
当第二数据块402将被加密时,加密器450对密文431和第二数据块402求和,并通过使用密钥422对与求和的结果对应的数据值进行加密,从而生成作为加密数据的密文432,其中,所述密文431是与和将被加密的第二数据块402的前端相邻的第一数据块401对应的加密值。然后,加密数据432被存储在RAM中。
迭代地,加密器450对密文432和第三数据块403求和,并通过使用密钥423对与求和的结果对应的数据值进行加密,从而生成作为加密数据的密文433,其中,所述密文432是与和将被加密的第三数据块403的前端相邻的第二数据块402对应的加密值。然后,加密数据433被存储在RAM中。
基于链方法的块加密技术(诸如ECB模式加密方法)具有先前数据块影响当前数据块的加密并因此影响当前数据块的解密的结构。例如,分别与作为存在于第三数据块403的前端的所有数据块的第一数据块401和第二数据块402对应的密文431和密文432被用于对第三数据块403进行加密。换句话说,因为需要知道第一数据块401、第二数据块402和第三数据块403的全部的值来对第三数据块403进行加密,所以需要128×3个比特的数据值。
因此,需要对最大128×N个比特的数据进行访问来对N个数据块中的一个(例如,具有128个比特的大小的数据块)进行加密,因此当采用基于链方法的块加密技术时访问性能下降。此外,因为需要对最大128×N个比特的加密数据进行访问来对加密数据块进行解密,所以访问性能下降。
因此,为了根据基于链方法的块加密技术来执行加密操作,可通过使用大存储资源(诸如大容量片上存储器)来设计缓存装置320。
换句话说,基于链方法的块加密技术可提高存储在存储器中的数据的安全性,但是降低了访问性能并且需要大存储资源。
如上所述,直接加密方法(诸如以上参照图1和图2描述的ECB模式加密方法)可维持高访问性能,但是针对安全性则较弱。使用数据缓存结构的方法(诸如以上参照图3和图4描述的基于链方法的块加密技术)可维持高安全等级,但是访问性能下降并且可能需要大存储资源。
现在将参照图5至图14详细描述根据实施例的能够在避免对大存储资源的需求并维持足够的访问性能的同时维持高安全等级的数据加密方法以及执行该数据加密方法的电子设备。
图5是根据实施例的电子设备的框图。
根据实施例的电子设备可以是能够对输入数据进行加密并且将加密数据写入并存储在存储器装置中的任何设备。
详细地,根据实施例的电子设备可包括能够通过对内部包括的存储器装置的存储区域进行随机访问来针对加密数据执行写入操作、重写操作、删除操作和读取操作中的至少一个操作的任意设备(例如,图5的第一存储器装置530)。电子设备的示例可包括显示装置(诸如,TV)、计算机、智能电话、平板个人计算机(PC)、数码相机、摄像机、膝上型计算机、台式计算机、电子书终端、数字广播终端、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航装置、MP3播放器和可穿戴装置。
参照图5,电子设备500包括处理器510、第一存储器装置530和第二存储器装置520。
处理器510可控制电子设备500的写入操作和读取操作。
当数据被加密并被写入第一存储器装置530时,第二存储器装置520更新加密信息,其中,所述加密信息包括指示第一存储器装置530上的存储加密数据的写入位置的地址信息以及用于加密的参数。而且,第二存储器装置520存储更新后的加密信息。用于加密的参数可被称作加密参数。
第一存储器装置530可包括能够存储加密数据并且通过访问内部包括的存储区域来针对加密数据执行写入操作、重写操作、删除操作和读取操作中的至少一个操作的任意存储器装置。
例如,第一存储器装置530可包括RAM。
第二存储器装置520可包括存储作为与加密数据相关的信息的加密信息的任意存储器装置。详细地,第二存储器装置520可包括能够通过访问第二存储器装置520的任意存储区域来写入并存储、修改、添加、删除或读取加密信息的任意存储器装置。第二存储器装置520可搜索或更新存储在第二存储器装置520的存储区域中的加密信息。
例如,第一存储器装置530可包括包含缓存存储器的缓存装置。缓存存储器可包括能够经由对其内部包括的存储区域进行随机访问来写入、重写、删除或读取数据并高速操作的静态RAM(SRAM)。
详细地,响应于对于对数据进行加密并将加密数据写入第一存储器装置530的写入请求,第二存储器装置520可改变地址信息和所述参数中的至少一个,并且可基于所述改变来更新加密信息。
处理器510基于加密信息来控制加密数据被写入第一存储器装置530。
第一存储器装置530写入并存储加密数据。详细地,第一存储器装置530可包括作为易失性存储器装置的RAM。第一存储器装置530可通过访问内部包括的存储区域来以特定单元为单位写入和读取数据。第一存储器装置530可通过访问内部包括的存储区域来以特定单元为单位重写数据。所述特定单元可以是诸如块、具有特定大小的比特或具有特定大小的帧的单元。
在下文中,RAM将被示出为第一存储器装置530并被描述。现在将示出并描述第一存储器装置530以具有特定大小的数据块为单位执行写入操作和读取操作的情况。因此,输入到处理器510、被加密、以及被写入并被存储在第一存储器装置530中的数据现在将被称为块数据。
电子装置500可通过访问存储在第一存储器装置530中的数据块的至少一部分来重写数据。
根据本公开,由处理器510接收到的尚未加密的数据可具有与存储在第一存储器装置530中的已被加密的数据相同的大小。详细地,加密块数据和解密块数据可皆具有例如128个比特或256个比特。
第一存储器装置530和第二存储器装置520可被实现为独立的存储器装置。
第一存储器装置530和第二存储器装置520可被合并为单个存储器装置中。例如,第一存储器装置530和第二存储器装置520可被实现为单个集成存储器装置(诸如RAM),因此第一存储器装置530可构成单个存储器装置的一部分并且第二存储器装置520可构成其另一部分。
包括缓存存储器的缓存装置现在将被示出为第二存储器装置520并被描述。
现在将参照图6和图7详细描述根据实施例的电子设备。
图6是根据另一实施例的电子设备的框图。
参照图6,与图5的电子设备500相比,电子设备600还可包括加密/解密单元640。电子设备600中包括的处理器610、第二存储器装置620和第一存储器装置630分别与电子设备500中包括的处理器510、第二存储器装置520和第一存储器装置530相同,因此将省略其详细描述。
加密/解密单元640在处理器610的控制下对输入数据进行加密并将加密数据发送到第一存储器装置630,或者对从第一存储器装置630读取的数据进行解密。
详细地,加密/解密单元640可包括加密器641和解密器642。
加密器641可从处理器610接收输入数据,并且可基于存储在第二存储器装置620中的加密信息对输入数据进行加密。
解密器642可从存储在第一存储器装置630中的多条数据中读取与读取请求对应的数据,并且基于存储在第二存储器装置620中的加密信息对所读取的数据进行解密。
现在将参照图7至图13详细描述根据实施例的电子设备的加密操作和解密操作。
图7是根据实施例的电子设备的框图。
电子设备700中包括的处理器710、第二存储器装置720、第一存储器装置730(例如,RAM)、加密器741和解密器742分别与图6的电子设备600中包括的处理器610、第二存储器装置620、第一存储器装置630、加密器641和解密器642相同,因此将省略其详细描述。
在图1的实施例中,第一存储器装置730被实现为RAM 730,并且第二存储器装置720被实现为缓存装置720。
RAM 730可以是能够通过对内部包括的存储区域进行随机访问来针对数据执行写入操作、重写操作、删除操作和读取操作中的至少一个操作的存储器装置。写入RAM 730的数据可以是加密数据。详细地,RAM 730可存储在处理器710的控制下加密的数据。
缓存装置720是包括缓存存储器722的存储器装置,并且可以是能够通过对缓存存储器722的存储区域进行访问来针对加密信息执行写入操作、重写操作、删除操作和读取操作中的至少一个操作的存储器装置。缓存存储器722是高速操作的存储器,因此,缓存装置720可快速更新或搜索存储在缓存存储器722中的加密信息。
处理器710可控制电子设备700的写入操作和读取操作。输入到处理器710并且将被加密的数据将被称为写入数据。写入数据是尚未被加密的数据,因此具有上述明文数据或明文的形式。写入请求是请求将特定数据加密并写入RAM 730上的特定位置的信号。写入请求可包括指示RAM 730上的将写入数据的位置的写入地址。
详细地,处理器710可将写入数据发送到加密器741,并且可将接收到的写入请求发送到加密器741和缓存装置720。
当数据被加密并被写入RAM 730时,缓存装置720更新加密信息,并且存储更新后的加密信息,其中,所述加密信息包括指示RAM 730上的写入位置的地址信息和用于加密的参数。
详细地,响应于对于对数据进行加密并将加密数据写入RAM 730的写入请求,缓存装置720可改变包括在加密信息中的地址信息和参数中的至少一个,并且可基于所述改变来更新加密信息。缓存装置720在接收到写入请求时更新加密信息意味着响应于写入请求的接收而更新加密信息。因此,当缓存装置720接收到写入请求时,缓存装置720可立即更新加密信息。可选地,当写入请求被接收并且因此写入数据被加密时或者在加密完成之后,可更新加密信息。
详细地,缓存装置720可接收写入请求,并且可基于包括在写入请求中的写入地址信息更新存储在缓存装置720中的加密信息。
详细地,根据实施例的电子设备700可在每次接收到写入请求时更新加密信息,从而根据写入请求时段或写入时段生成不同的多条加密信息。加密信息包括地址信息和参数,因此,当地址信息和参数中的至少一个被改变时,加密信息被改变。当地址信息和参数中的至少一个被改变为另一值时,加密信息被改变,并且当加密信息被改变时,即使输入值相同,与输入值对应的加密值也被改变。
根据实施例,缓存装置720可包括缓存更新器721、缓存存储器722和缓存搜索器723。
缓存存储器722存储加密信息。
详细地,当数据以块为单位被写入RAM 730时,缓存存储器722可存储将被写入RAM730的数据块或者与RAM 730上的每个数据块对应的加密信息。
缓存更新器721可更新已被存储在缓存存储器722中的加密信息,从而生成更新后的加密信息。当在缓存存储器722中不存在与写入请求对应的加密信息时,例如,当RAM 730上的块区域被初次指定为写入区域或者数据被初次写入RAM 730上的块区域时,缓存更新器721可生成与对RAM 730上的写入区域的指定对应的加密信息或者与和将被初次写入RAM730的数据对应的写入请求所对应的加密信息。
详细地,缓存更新器721可更新与写入请求对应的加密信息。缓存更新器721可基于写入请求改变存储在缓存存储器722中的加密信息中所包括的地址信息和加密参数中的至少一个,并且基于所述改变来更新加密信息。所述更新可以是存储在缓存存储器722中的现有加密信息被改变的任何实例,因此不仅可包括缓存存储器722中存储的现有加密信息中包括的至少一个数据值被改变的情况,而且还可包括与存储在缓存存储器722中的现有加密信息相关联的新加密信息被建立的情况以及存储在缓存存储器722中的现有加密信息被删除的情况。
缓存存储器722存储数据被加密并被写入的RAM 730上的写入位置以及用于加密和解密的参数。因此,加密器741可基于存储在缓存存储器722中的加密信息对数据进行加密或对从RAM 730读取的数据进行解密,并且避免计算加密(解密)参数。
当缓存装置720接收到写入请求或读取请求时,缓存搜索器723可搜索与写入请求或读取请求对应的加密信息。详细地,响应于写入请求,缓存搜索器723可搜索与写入请求对应的加密信息,并且可通过使用检索到的加密信息来执行加密或对加密信息进行更新。响应于读取请求,缓存搜索器723可搜索与读取请求对应的加密信息,并且可通过使用检索到的加密信息来执行解密。因此,响应于读取请求,缓存装置720可搜索与读取请求对应的数据的写入位置和用于解密的参数,使得写入RAM 730的数据可被读取并被解密。
如上所述,因为缓存装置720响应于写入请求更新加密信息,所以根据实施例的电子设备700可根据数据被写入RAM 730期间的时段和RAM 730上的写入位置中的至少一个生成不同的多条加密信息。
详细地,缓存装置720可生成第一数据在第一时间点被写入RAM 730时应用的加密信息以及第一数据在与第一时间点不同的第二时间点被写入RAM 730时应用的加密信息,使得两条加密信息彼此不同。当相同的数据被加密并且存在不同的多条加密信息时,加密数据的值变化。
因此,当相同的第一数据被加密时,在第一时间点被加密并被写入RAM730的密文数据和在第二时间点被加密并被写入RAM 730的密文数据可具有不同的值。
可如下采用以下术语。
动态地址范围(DAR)缓存:存储动态地改变的地址区域值的缓存存储器。所述地址区域值基于包括在写入请求中的用于写入加密数据的地址的值而动态地改变。
开始地址(SA):指示电子设备700内的存储空间(例如,RAM 730)中所存储的特定数据的开始地址的地址信息。
结束地址(EA):指示电子设备700内的存储空间(例如,RAM 730)中所存储的特定数据的结束地址的地址信息。
写入开始地址(WSA):当请求将特定数据写入RAM 730时指示RAM 730上的写入区域上的开始位置的地址信息。
写入结束地址(WEA):当请求将特定数据写入RAM 730时指示RAM 730上的写入区域上的结束位置的地址信息。
根据实施例,缓存装置720可具有DAR缓存的配置。详细地,缓存装置720的缓存存储器722可存储包括响应于写入请求动态改变(被动态更新)的地址区域值的加密信息。
响应于针对特定数据的写入请求,可生成包括地址信息和特定参数的加密信息,其中,所述地址信息指示将被写入RAM 730的数据(例如,使用该特定参数加密的数据)的写入位置。
详细地,地址信息可包括RAM 730上的数据的开始位置、RAM 730上的数据的结束位置以及指示RAM 730上的数据块的大小或长度的信息。当RAM 730写入并存储数据时,RAM730可被划分或分区为多个存储区域或分区,并且可将数据写入所述多个存储区域。地址信息可包括指示RAM 730上的写入数据的存储区域(例如,块区域)的位置的信息。例如,地址信息可包括开始地址、结束地址以及范围从开始地址到结束地址的区域的大小信息中的至少两个。
加密信息中包括的参数是用于对数据进行加密的加密参数。详细地,加密参数可以是可能影响对输入数据进行加密的结果的所有值。例如,该参数可包括密钥值、IV、算术参数、表参数和加密技术选择值中的一个或更多个。该参数可具有随时间连续变化的值(诸如时间戳或随机值),以提高加密数据的安全等级。
将参照图8至图10更详细地描述存储在缓存存储器722中的加密信息。图8至图10是示出在实施例中使用的加密信息的示图。如图8至图10中所示,地址信息可具有各种格式。在图8至图10中,相似的元素使用相似的附图标号。
参照图8,加密信息810包括地址信息814和参数813。地址信息814可包括开始地址(SA)811和结束地址(EA)812。详细地,当RAM 730以块为单位区分并存储数据时,开始地址811可包括指示存储数据的块的开始位置的信息。结束地址812可包括指示存储数据的块的结束位置的信息。
加密信息810还可包括作为指示加密信息有效存在的信息的有效标志815。缓存装置720可基于有效标志815容易地确定是否存在与写入请求对应的加密信息810。
缓存存储器722可包括具有多层的结构的存储区域。缓存存储器722可将加密信息810存储在与多层结构中所包括的一层对应的区域中。
加密信息810还可包括指示缓存存储器722内的层与存储加密信息810的区域之间的对应关系的层信息(层#)816。缓存装置720可基于层信息816从包括在缓存存储器722中的多个层中容易地确定加密信息810的存储位置。
参照图9,包括在加密信息830中的地址信息834可包括开始地址811和大小信息831。大小信息831可包括指示存储在RAM 730上的数据的存储区域(例如,数据块区域)的大小的信息。详细地,大小信息831可包括指示数据块的开始地址与其结束地址之间的大小的信息。可选地,大小信息831可包括指示数据块的开始地址到其结束地址之间的长度的信息。
包括在加密信息830中的其他元素与以上参照图8描述的元素相同,因此将省略其描述。
参照图10,包括在加密信息850中的地址信息854可包括大小信息831和结束地址812。包括在加密信息850中的相似的元素与以上参照图8和图8B描述的元素相同,因此将省略其描述。
图11是示出根据实施例的缓存存储器的层结构的示图。
参照图11,缓存存储器722具有多层(L0、L1、L2、……、Ln)的结构。详细地,缓存存储器722可将加密信息存储在具有多层的结构的存储区域中包括的特定区域中。
参照图11,示出了包括在RAM 730中的存储区域901。详细地,RAM 730以块为单位写入数据,并且在图11中,可将第一块数据和第二块数据分别写入作为RAM 730中包括的两个块区域的第一块911和第二块912。
参照图11,电子设备700可将第一块数据写入RAM 730的存储区域910中包括的第一块911,并且将第二块数据写入存储区域910中包括的第二块912。详细地,第一块数据表示通过对由处理器710接收到的第一数据进行加密而获得的并且被写入并被存储在RAM730上的数据,并且第二块数据表示通过对由处理器710接收到的第二数据进行加密而获得的并且被写入并被存储在RAM 730上的数据。
图11示出第一数据、第二数据、第一块数据和第二块数据中的每一个具有128个比特的大小的情况。图11还示出RAM 730上的写入第一块数据的区域(例如,第一块911)的开始地址915为0且结束地址916-1为127以及RAM 730上的写入第二块数据的区域(例如,第二块912)的开始地址916-2为128且结束地址917为255的情况。
缓存装置720可生成并存储与第一块数据对应的第一加密信息。缓存装置720可生成并存储与第二块数据对应的第二加密信息。缓存装置720可初始生成加密信息920。可通过修改或添加先前生成的加密信息的至少一部分来更新先前生成的加密信息。
为了便于说明,将初始写入并存储在RAM 730上的特定块区域中的数据称为初始数据。当数据先前被写入RAM 730上的特定块区域并且特定数据被重写到已经写入数据的区域时,重写的数据被称为更新数据。更新数据可被写入已经写入初始数据的块区域的一部分,或者可被写入已经写入初始数据的整个块区域。
详细地,当RAM 730将存储区域划分为多个块并且写入并存储多条块数据时,缓存装置720可生成并存储与多个块中的每个块对应的加密信息。
参照图11,缓存存储器722可包括存储与被写入RAM 730的第一区域911的块数据对应的加密信息920的区域以及存储与被写入第二RAM 730的第二区域912的块数据对应的加密信息920的区域。
缓存存储器722可包括具有多层的结构的存储区域。
图11示出对于存储与被写入RAM 730的第一区域911的块数据对应的加密信息920的区域,缓存存储器722包括包含第一层961、第二层962和第三层963的存储区域的情况。第一层961是最上层,第二层962是从属于第一层961的下层,并且第三层963从属于第二层962并因此成为最下层。
详细地,在缓存存储器722的层结构中,特定层可被连接到至少一个下层。详细地,与第一层961对应的存储区域可被连接到与作为第一层961的下层的第二层962对应的至少一个存储区域。与第二层962对应的存储区域可被连接到与作为第二层962的下层的第三层963对应的至少一个存储区域。
例如,在上层与和上层相关联的至少一个下层之间的关系中,与第一层961对应的存储区域(LO-ARE0)921可被连接到与第二层962对应的一个或更多个存储区域(称为第二层存储区域),例如,(第一)第二层存储区域(L1-ARE00)922、(第二)第二层存储区域(L1-ARE01)923和(第三)第二层存储区域(L1-ARE02)924。在上层与和上层相关联的至少一个下层之间的关系中,与第二层962对应的至少一个存储区域(例如,(第一)第二层存储区域(L1-ARE00)922)可被连接到与第三层963对应的一个或更多个存储区域(称为第三层存储区域),例如,(第一)第三层存储区域(L2-ARE000)931和(第二)第三层存储区域(L2-ARE001)932。
如上所述,缓存存储器722可包括存储与被写入RAM 730的第二区域912的块数据对应的加密信息940的区域。
图11示出对于存储与被写入RAM 730的第二区域912的块数据对应的加密信息920的区域,缓存存储器722包括包含第一层961、第二层962和第三层963的存储区域的情况。第一层961是最上层,第二层962是从属于第一层961的下层,并且第三层963从属于第二层962并因此成为最下层。
类似于存储与被写入RAM 730的第一区域911的块数据对应的加密信息920的区域,在缓存存储器722的针对存储与被写入RAM 730的第二区域912的块数据对应的加密信息940的区域的层结构中,特定层可被连接到至少一个下层。详细地,与第一层961对应的存储区域可被连接到与作为第一层961的下层的第二层962对应的至少一个存储区域。与第二层962对应的存储区域可被连接到与作为第二层962的下层的第三层963对应的至少一个存储区域。
例如,在上层与和上层相关联的至少一个下层之间的关系中,与第一层961对应的存储区域(LO-ARE1)921可被连接到与第二层962对应的一个或更多个存储区域(称为第二层存储区域),例如,(第一)第二层存储区域(L1-ARE10)942和(第二)第二层存储区域(L1-ARE11)943。在上层与和上层相关联的至少一个下层之间的关系中,与第二层962对应的至少一个存储区域(例如,(第一)第二层存储区域(L1-ARE10)942)可被连接到与第三层963对应的一个或更多个存储区域(称为第三层存储区域),例如,(第一)第三层存储区域(L2-ARE100)951和(第二)第三层存储区域(L2-ARE101)952。
当更新数据被加密并被写入RAM时,缓存装置720可更新与RAM 730上的被请求写入的区域对应的加密信息。例如,当与写入第一块911的第一块数据对应的加密信息920被存储在缓存存储器722中并且随后用于请求将特定数据重写到第一块911的写入请求被接收时,缓存更新器721可更新与第一块911对应的加密信息920。稍后将参照图10至图12详细描述加密信息的更新。
更新加密信息意味着使现有加密信息能够具有与现有信息值不同的值,诸如修改或改变加密信息的至少一部分、添加新信息或者删除现有信息的至少一部分。详细地,更新加密信息可包括如下情况:(i)在与现有加密信息相关联的下层上新生成加密信息的情况;(ii)改变或修改包括在现有加密信息中的地址信息和加密参数中的至少一个的情况;(iii)在改变或修改包括在现有加密信息中的地址信息和加密参数中的至少一个的同时,改变或修改在现有加密信息的层的同一层或在现有加密信息的层的上层上存在的其他加密信息中包括的地址信息和加密参数中的至少一个的情况;以及(iv)在改变或修改包括在现有加密信息中的地址信息和加密参数中的至少一个的同时,删除在与现有加密信息相关联的同一层、上层或下层中的至少一层上存在的其他加密信息的情况。
返回参照图7,加密器741可从处理器710接收写入数据和写入请求,并且可基于由缓存装置720响应于写入请求生成或更新的加密信息来对写入数据进行加密,从而生成密文数据。详细地,缓存更新器721可接收写入请求,并响应于接收到的写入请求生成或更新加密信息。缓存存储器722存储所生成的加密信息。然后,加密器741通过使用包括在由缓存更新器721生成的加密信息中的参数来对写入数据进行加密,从而生成密文数据。然后,RAM730可将密文数据写入并存储在RAM 730上的与写入请求对应的区域中。
处理器710接收读取请求,并将接收到的读取请求发送到解密器742。解密器742可将与接收到的读取请求对应的读取地址发送到缓存装置720。读取地址包括RAM 730上的被请求读取的数据已被写入的区域的地址。缓存装置720(详细地,缓存搜索器723)可接收读取地址并搜索与被写入RAM 730上的对应于读取地址的区域的块数据对应的加密信息。缓存装置720(详细地,缓存搜索器723)可将包括在找到的加密信息中的参数(例如,加密参数)发送到解密器742。解密器742可基于读取地址读取作为被写入RAM 730的块数据的密文数据,并且可通过使用从缓存搜索器723接收到的加密参数来对读取的块数据进行解密。解密器742可将解密数据作为读取的数据发送到处理器710。
现在将参照图10至图12详细描述由电子设备700中包括的缓存装置720执行的加密信息的生成和更新。
图12是根据实施例的缓存装置的操作的流程图。
图13是根据实施例的用于说明电子设备的加密信息更新操作的示图。
现在将参照图10和图11详细描述当在RAM 730上指定写入区域或者初始数据被写入指定的写入区域并且然后在随后的时间点更新数据被写入并被存储在RAM 730上的指定的写入区域上时,由缓存装置720执行的详细操作。
在操作S1010,处理器710可初始化地址信息。在操作S1010,缓存装置720可生成包括初始化的地址信息的加密信息。详细地,在操作S1010,处理器710可基于用户的设置或电子设备700的设置来设置RAM 730上的将存储加密数据的区域。换句话说,处理器710可基于用户的设置或电子设备700的设置来指定RAM 730上的将存储加密数据的区域。
处理器710可初始化地址信息,使得地址信息与设置的区域对应。例如,处理器710可基于用户设置指定RAM 730上的开始地址SA为0且结束地址EA为100的区域。然后,响应于所述设置,缓存装置720可生成加密信息并将所生成的加密信息存储在与缓存存储器722的最上层对应的区域中。当处理器710接收到针对初始数据的写入请求时,电子设备700可基于所生成的加密信息对初始数据进行加密,并将加密后的初始数据写入RAM 730上的指定区域。
此后,在操作S1015,处理器710可接收写入请求。写入请求是请求将特定数据写入RAM 730上的特定区域的信号。因此,写入请求可包括指示RAM 730上的特定区域的信息。处理器710可连同写入请求一起接收将被写入的数据。
在操作S1020,缓存装置720可搜索与写入请求对应的加密信息。而且,在操作1025,缓存装置720可确定是否存在与写入请求对应的加密信息。
在操作S1030,缓存装置720可将初始化的地址信息与对应于写入请求的地址信息进行比较。
基于搜索操作S1020的结果,缓存装置720可确定是否存在与写入请求对应的加密信息。
详细地,缓存装置720可经由处理器710接收写入请求,并且在操作S1020,可基于包括在接收到的写入请求中的关于RAM 730上的数据将被写入的区域的信息来搜索加密信息。
例如,写入请求可包括指示将写入特定数据的区域的信息,并且指示将写入特定数据的区域的信息可包括写入开始地址(WSA)和写入结束地址(WEA)。缓存装置720可将初始化的地址信息的开始地址(SA)和结束地址(EA)与写入开始地址(WSA)和写入结束地址(WEA)进行比较,并且可基于比较的结果确定是否存在与写入请求对应的加密信息。例如,当RAM 730上的由初始化的地址信息的开始地址SA和结束地址EA指定的区域包括RAM 730上的由写入开始地址(WSA)和写入结束地址(WEA)指定的区域时,缓存装置720可确定存在与写入请求对应的加密信息。
在操作S1040,当缓存装置720确定存在与写入请求对应的加密信息时,缓存装置720可基于初始化的地址信息和与写入请求对应的地址信息之间的比较的结果来更新加密信息。
可以以各种方式更新加密信息。
详细地,在操作S1041,缓存装置720可在与下层对应的区域中新生成加密信息,其中,该加密信息从属于已经在缓存存储器722中生成并存储的加密信息。如图13的方框1130中所述,缓存装置720可在与下层对应的区域中新生成加密信息1133,其中,所述加密信息1133从属于预存储的加密信息1121。
在操作S1042,缓存装置720可在与预存储的加密信息对应的层的同一层上新生成加密信息。如图13的方框1140中所述,缓存装置720可在与预存储的加密信息1133对应的层的同一层上(例如,在第二层1112上)新生成加密信息1133。
在操作S1043,缓存装置720可通过改变或修改包括在预存储的加密信息中的位置信息和加密参数中的至少一个来更新预存储的加密信息。如图13的方框1160和1170中所述,缓存装置720可通过将加密信息1155的结束地址EA从30改变为60来生成更新后的加密信息1175。
在操作S1044,缓存装置720可维持加密信息。详细地,当不存在与接收到的写入请求对应的加密信息时,可维持预存储的加密信息不变。
在操作S1045,缓存装置720可通过删除存储在缓存存储器722中的加密信息来更新加密信息。如图13的方框1180中所述,缓存装置720可通过反映在时间点t6接收到的写入请求,通过删除存储在第二层1112上的加密信息1184的下层上存储的加密信息1185来更新加密信息。
尽管在图12中未示出,但缓存装置720可存储更新后的加密信息。
当加密信息的更新完成时,在操作S1050,缓存装置720可等待新输入的写入请求。
例如,通过参照图11,处理器710可将RAM 730中包括的第一块911指定为将写入加密数据的区域。缓存装置720可生成与指定的区域对应的加密信息。详细地,缓存装置720可生成包括初始化的地址信息和应用于将被写入第一块911的密文数据的加密参数的加密信息,其中,所述初始化的地址信息包括与第一块911对应的开始地址SA和结束地址EA。
缓存装置720可将包括初始化的地址信息的加密信息存储在与第一层961对应的存储区域(LO-ARE0)921中,其中,第一层961是形成缓存存储器722的多层中的最上层。
下面将参照图13更详细地描述加密信息的更新。
参照图13的时间(t)轴1101,示出了写入RAM 730或随时间更新的多条数据以及与所述多条数据的写入或更新相对应地生成的加密信息1105。
图13示出RAM 730上的写入加密数据的区域的位置信息如加密信息1121中所示包括开始地址SA和结束地址EA的情况。换句话说,图13的加密信息1121可与以上参照图8描述的加密信息810具有相同的结构。
为了便于说明,图13示出使用范围从0到100的整数来表示被写入RAM730的数据块的位置信息(例如,地址值)的情况。
图13示出并描述了当数据将被写入包括在RAM 730中的开始地址SA为0且结束地址EA为100的块区域1120上时由电子设备700执行的操作。类似于图11,图13示出缓存存储器722将加密信息1105存储在与包括三层(详细地,第一层(层0)1111、第二层(层1)1112和第三层(层2)1113)的层结构对应的区域中的情况。
当图13的块区域1120与图11的第一区域911对应时,图13的第一层(层0)1111、第二层(层1)1112和第三层(层2)1113可分别与图11的第一层961、第二层962和第三层963对应。
参照图13,写入请求在随时间的每个时间点(t0,t1,t7)被处理器710接收,响应于在特定时间点接收到的写入请求而被请求写入的数据使用加密参数被加密,并且加密数据被写入RAM 730上的块区域1120的至少一部分。
参照图13的方框1115,可在时间点t0指定RAM 730上的将写入密文数据的区域。处理器710可基于用户的设置或处理器710的设置来指定写入区域。处理器710可设置将被应用于指定区域的加密参数。例如,电子设备700可在时间点t0将RAM 730上的开始地址SA为0且结束地址EA为100的区域指定为RAM 730上的将写入密文数据的区域。电子设备700可将要被应用于指定的0-100的块区域1120的加密参数设置为A。详细地,缓存装置720可将要应用于块区域1120的加密参数设置为A,并且可生成加密信息1121,使得加密信息1121与设置的区域和加密参数对应。
可经由图12的操作S1010生成包括在加密信息1121中的初始化的地址信息。
因为加密信息1121是与将被初始写入RAM 730上的0-100的块区域1120的数据对应的信息,所以加密信息1121可被存储在与作为缓存存储器722的最上层的第一层1111对应的区域中。即使在随后的重写处理期间,与作为将被初始写入RAM 730上的特定块区域的数据的初始数据对应的加密信息1121也可既不被改变也不被删除,并且可被持续存储在作为缓存存储器722的最上层的第一层1111中。
电子设备700可接收用于请求将数据写入在时间点t0指定的区域的写入请求。例如,当请求将初始数据写入整个指定的区域时,可在处理器710的控制下使用加密参数A来对接收到的数据进行加密,并且可将接收到的数据写入RAM 730上的开始地址SA为0且结束地址EA为100的块区域1120。
缓存装置720可生成包括RAM 730上的写入加密数据的区域的位置信息和用于加密的加密参数的加密信息1121,并且可将所生成的加密信息1121存储在缓存存储器722中。
参照图13的方框1130和图12,在时间点t0之后的时间点t1,处理器710接收特定数据和用于请求将与特定数据对应的密文数据写入RAM 730的5-20的块区域1131的写入请求(S1015)。在包括在写入请求中的关于块区域的信息中,值5可与写入开始地址(WSA)对应,并且值20可与写入结束地址(WEA)对应。
缓存装置720可确定是否存在与包括RAM 730中所包括的5-20的块区域1131的块区域对应的加密信息(S1015至S1025)。
为了确定是否存在与对应于写入请求的块区域对应的加密信息,缓存装置720可从包括在缓存存储器722的下层中的区域开始搜索缓存存储器722。例如,缓存存储器720可确定在第二层上是否存在与和在时间点t1接收到的写入请求对应的5-20的块区域1131所对应的加密信息,并且当在第二层上不存在该加密信息时,缓存装置720可确定在作为第二层的上层的第一层上是否存在该加密信息。下面将参照图15的操作S1320至S1340详细描述从下层开始搜索加密信息的操作。
缓存装置720可确定存在包括5-20的块区域1131的先前设置的写入区域(例如,块区域1120),并且可获得与块区域1120对应的加密信息1121。缓存更新器721新生成包括关于5-20的块区域1131的地址信息和被应用于在时间点t1接收到的数据的加密参数(例如,B)的加密信息1133(S1041)。在时间点t1接收到的数据可被称为时间点t1更新数据,并且在特定时间点接收到的数据现在将被称为特定时间点更新数据。
因此,如由附图标号1132所示,加密器741可通过使用加密参数B来对时间点t1更新数据进行加密,并且可将加密后的时间点t1更新数据写入RAM730的5-20的块区域。
新生成的加密信息1133可被存储在与第二层1112对应的区域中,其中,第二层1112是与存储在与第一层1111对应的区域中的加密信息1121相关联的下层。详细地,如方框1130中所示,可将加密信息1133存储在与加密信息1121相关联的下层上。因此,响应于在t1时间点接收到的写入请求,可更新现有加密信息1121,并且因此可生成与加密信息1121相关联的加密信息1133。
参照图13的方框1140,在时间点t1之后的时间点t2,处理器710接收时间点t2更新数据和用于请求将与时间点t2更新数据对应的密文数据写入RAM 730的40-80的块区域1141的写入请求。响应于写入请求,缓存装置720可确定是否存在与包括RAM 730上的40-80的块区域1141的块区域对应的加密信息。因为存在包括40-80的块区域1141的先前写入区域(详细地,块区域1120),所以缓存更新器721新生成包括关于40-80的块区域1141的地址信息和应用于时间点t2更新数据的加密参数(例如,C)的加密信息1143。
因此,如附图标号1142所示,加密器741可通过使用加密参数C来对时间点t2更新数据进行加密,并且可将加密的时间点t2更新数据写入RAM 730的40-80的块区域。
可将新生成的加密信息1143存储在与第二层1112对应的区域中,其中,第二层1112是与存储在与第一层1111对应的区域中的加密信息1121相关联的下层(S1042)。详细地,如方框1140中所示,可将加密信息1143存储在与加密信息1121相关联的下层上。因为5-20的块区域1131和40-80的块区域1141彼此不重叠,所以可将与5-20的块区域1131对应的加密信息1133和与40-80的块区域1141对应的加密信息1143存储在与同一层(即,第二层1112)对应的区域中。
因此,响应于在时间点t2接收到的写入请求,可更新作为方框1130中所示的现有加密信息的加密信息1121和加密信息1133,并且因此可生成与加密信息1121相关联的且存储在与现有加密信息1133同一层上的新的加密信息1133。
参照图13的方框1150,在时间点t2之后的时间点t3,处理器710接收时间点t3更新数据和用于请求将与时间点t3更新数据对应的密文数据写入RAM 730的10-30的块区域1151的写入请求。响应于写入请求,缓存装置720可确定是否存在与包括RAM 730上的10-30的块区域1151的块区域对应的加密信息。缓存装置720可确定存在作为包括10-30的块区域1151的一部分的先前写入区域的块区域1131和作为包括整个10-30的块区域1151的先前写入区域的块区域1120。
因为与包括整个10-30的块区域1151的块区域1120对应的加密信息是与初始数据对应的加密信息1121,所以缓存装置720可不更新与包括整个10-30的块区域1151的块区域1120对应的加密信息,并且可通过反映在时间点t3接收到的写入请求来更新与块区域1131对应的加密信息1133,其中,所述块区域1131是包括10-30的块区域1151的一部分的先前写入区域。详细地,缓存装置720可将开始地址SA的值维持为5并将结束地址EA的值改变为30,使得在时间点t1生成的加密信息1133中包括的地址信息包括10-30的块区域的位置,其中,所述块区域的位置是根据在时间点t3接收到的写入请求的写入区域的位置(S1043)。因此,缓存装置720可更新存储在与第二层对应的区域中的加密信息1133,并且因此可新存储加密信息1154。
图13示出缓存装置720在通过更新加密信息1133来生成加密信息1154时不改变包括在加密信息1133中的加密参数的值B的情况。然而,缓存装置720可在通过更新加密信息1133来生成加密信息1154时改变包括在加密信息1133中的加密参数的值B。
缓存装置720可生成开始地址SA为10且结束地址EA为30的加密信息1155,使得加密信息1155与时间点t3更新数据对应。缓存装置720可将所生成的加密信息1155存储在与第三层1113对应的区域中,其中,第三层1113是与加密信息1154相关联的下层。加密信息1155可包括加密参数D。
因此,如附图标号1153所示,加密器741可通过使用包括在加密信息1155中的加密参数D来对时间点t3更新数据进行加密,并且可将加密的时间点t3更新数据写入RAM 730的10-30的块区域1151。
参照图13的方框1160,在时间点t3之后的时间点t4,处理器710接收时间点t4更新数据和用于请求将与时间点t4更新数据对应的密文数据写入RAM 730的50-70的块区域1161的写入请求。响应于写入请求,缓存装置720可确定是否存在与包括RAM 730上的50-70的块区域1161的块区域对应的加密信息。缓存装置720可确定存在作为包括50-70的块区域1161的先前写入区域的块区域1141。
因为与包括50-70的块区域1161的块区域1120对应的加密信息是与初始数据对应的加密信息1121,所以缓存装置720不更新加密信息1121。缓存装置720可通过反映在时间点t4接收到的写入请求来在与块区域1141对应的加密信息1143的下层上生成加密信息,其中,所述块区域1141是包括50-70的块区域1161的先前写入区域。因此,缓存装置720可将加密信息1165存储在与第三层1113对应的区域中。
详细地,缓存装置720可生成开始地址SA为50且结束地址EA为70以与时间点t4更新数据对应的并且包括加密参数E的加密信息1165。缓存装置720可将所生成的加密信息1165存储在与第三层1113对应的区域中,其中,第三层1113是与加密信息1143相关联的下层。加密信息1165可包括加密参数E。
因此,如附图标号1163所示,加密器741可通过使用包括在加密信息1165中的加密参数E来对时间点t4更新数据进行加密,并且可将加密的时间点t4更新数据写入RAM 730的50-70的块区域1161。
参照图13的方框1170,在时间点t4之后的时间点t5,处理器710接收时间点t5更新数据和用于请求将与时间点t5更新数据对应的密文数据写入RAM 720的20-60的块区域1171的写入请求。响应于写入请求,缓存装置720可确定是否存在与RAM 730上的20-60的块区域1171对应的加密信息。作为所述确定的结果,缓存装置720可确定加密信息1155和加密信息1165作为与RAM 730上的20-60的块区域1171对应的加密信息而存在。详细地,当存在与对应于写入请求的块区域的至少一部分对应的加密信息时,缓存装置720可确定存在与对应于写入请求的块区域对应的加密信息。
因此,缓存装置720可检测与作为20-60的块区域1171的至少一部分的10-30的块区域1151对应的加密信息1155和与作为20-60的块区域1171的至少一部分的50-70的块区域1161对应的加密信息1165。缓存装置720(详细地,缓存更新器721)可通过反映在时间点t5接收到的写入请求来更新检测到的加密信息1155和检测到的加密信息1165。
详细地,缓存更新器721可更新检测到的加密信息1155和检测到的加密信息1165,使得加密信息1155和加密信息1165中包括的各个开始地址值和各个结束地址值反映与写入请求对应的20-60的块区域1171的位置信息。因此,缓存更新器721可生成分别与加密信息1155和加密信息1165对应的加密信息1175和加密信息1177。
详细地,缓存更新器721可通过将加密信息1155的结束地址EA的值从30改变为60来生成加密信息1175,使得包括在加密信息1155中的开始地址SA和结束地址EA可包括与在时间点t5接收到的写入请求对应的20-60的块区域1171。随着加密信息1155被更新为加密信息1175,缓存更新器721还可更新与加密信息1155的上层对应的加密信息1154。详细地,缓存更新器721可通过将加密信息1154的结束地址EA的值从30改变为60来生成加密信息1174,使得由加密信息1154的开始地址和结束地址形成的区域可包括由加密信息1175的开始地址和结束地址形成的区域。
随着加密信息1155被更新,缓存更新器721可改变包括在加密信息1165中的开始地址SA和结束地址EA中的至少一个,以生成与加密信息1165对应的更新后的加密信息1177,使得包括在加密信息1177中的开始地址SA和结束地址EA不与包括在加密信息1175中的开始地址SA和结束地址EA重叠。详细地,缓存更新器721可通过将包括在加密信息1165中的开始地址SA的值从50改变为60来生成加密信息1177。
随着加密信息1165被更新为加密信息1177,缓存更新器721还可更新与加密信息1165的上层对应的加密信息1143。详细地,缓存更新器721可通过将加密信息1143的开始地址SA的值从40改变为60来生成加密信息1176,使得由加密信息1143的开始地址和结束地址形成的区域可包括由加密信息1177的开始地址和结束地址形成的区域。
因此,如附图标号1172所示,加密器741可通过使用包括在加密信息1175中的加密参数D来对时间点t5更新数据进行加密,并且可将加密的时间点t5更新数据写入RAM 730的10-70的块区域。
参照图13的方框1170,在时间点t4之后的时间点t5,处理器710接收时间点t5更新数据和用于请求将与时间点t5更新数据对应的密文数据写入RAM 730的20-60的块区域1171的写入请求。响应于写入请求,缓存装置720可确定是否存在与RAM 730上的20-60的块区域1171对应的加密信息。作为所述确定的结果,缓存装置720可确定加密信息1155和加密信息1165作为与RAM 730上的20-60的块区域1171对应的加密信息而存在。详细地,当存在与对应于写入请求的块区域的至少一部分对应的加密信息时,缓存装置720可确定存在与对应于写入请求的块区域对应的加密信息。
因此,缓存装置720可检测与作为20-60的块区域1171的至少一部分的10-30的块区域1151对应的加密信息1155和与作为20-60的块区域1171的至少一部分的50-70的块区域1161对应的加密信息1165。缓存装置720(详细地,缓存更新器721)可通过反映在时间点t5接收到的写入请求来更新检测到的加密信息1155和检测到的加密信息1165。
详细地,缓存更新器721可更新检测到的加密信息1155和检测到的加密信息1165,使得加密信息1155和加密信息1165中包括的各个开始地址值和各个结束地址值反映与写入请求对应的20-60的块区域1171的位置信息。因此,缓存更新器721可生成分别与加密信息1155和加密信息1165对应的加密信息1175和加密信息1177。
详细地,缓存更新器721可通过将加密信息1155的结束地址EA的值从30改变为60来生成加密信息1175,使得包括在加密信息1155中的开始地址SA和结束地址EA可包括与在时间点t5接收到的写入请求对应的20-60的块区域1171。随着加密信息1155被更新为加密信息1175,缓存更新器721还可更新与加密信息1165的上层对应的加密信息1154。详细地,缓存更新器721可通过将加密信息1154的结束地址EA的值从30改变为60来生成加密信息1174,使得由加密信息1154的开始地址和结束地址形成的区域可包括由加密信息1175的开始地址和结束地址形成的区域。
随着加密信息1155被更新,缓存更新器721可改变包括在加密信息1165中的开始地址SA和结束地址EA中的至少一个,以生成与加密信息1165对应的更新后的加密信息1177,使得包括在加密信息1177中的开始地址SA和结束地址EA不与包括在加密信息1175中的开始地址SA和结束地址EA重叠。详细地,缓存更新器721可通过将包括在加密信息1165中的开始地址SA的值从50改变为60来生成加密信息1177。
随着加密信息1165被更新为加密信息1177,缓存更新器721还可更新与加密信息1165的上层对应的加密信息1143。详细地,缓存更新器721可通过将加密信息1143的开始地址SA的值从40改变为60来生成加密信息1176,使得由加密信息1143的开始地址和结束地址形成的区域可包括由加密信息1177的开始地址和结束地址形成的区域。
因此,如附图标号1172所示,加密器741可通过使用包括在加密信息1175中的加密参数D来对时间点t5更新数据进行加密,并且可将加密后的时间点t5更新数据写入RAM 730的10-70的块区域。
参照图13的方框1180,在时间点t5之后的时间点t6,处理器710接收时间点t6更新数据和用于请求将与时间点t6更新数据对应的密文数据写入RAM 730的0-30的块区域1181的写入请求。响应于写入请求,缓存装置720可确定是否存在与RAM 730上的0-30的块区域1181对应的加密信息。作为所述确定的结果,缓存装置720可确定加密信息1175作为与RAM730上的0-30的块区域1181对应的加密信息而存在。详细地,当存在与对应于写入请求的块区域的至少一部分对应的加密信息时,缓存装置720可确定存在与对应于写入请求的块区域对应的加密信息。
因此,缓存装置720可检测与被0-30的块区域1181的至少一部分重叠的10-60的块区域对应的加密信息1175。缓存装置720(详细地,缓存更新器721)可通过反映在时间点t6接收到的写入请求来更新检测到的加密信息1175。缓存装置720可将要被应用于时间点t6更新数据的加密参数设置为A。然后,如附图标号1182所示,加密器741可通过使用加密参数A来对时间点t6更新数据进行加密,并且可将加密后的时间点t6更新数据写入RAM 730的0-30的块区域1181。缓存装置720可通过考虑被写入0-30的块区域1181的时间点t6更新数据(如附图标号1182所示)将加密信息1175的开始地址从10改变为30来生成加密信息1185。缓存装置720可通过反映所生成的加密信息1185的开始地址,通过将在加密信息1175的上层上存在的加密信息1174的开始地址从5改变为30来生成加密信息1184。缓存装置720可通过将包括在加密信息1174中的加密参数从B改变为D来生成加密信息1184。在这种情况下,加密信息1184和加密信息1185彼此相同并且重复,因此缓存装置720可删除加密信息1185(S1045)。因此,在与加密信息1184相关联的下层上不存在加密信息。
参照图13的方框1190,在时间点t6之后的时间点t7,处理器710接收时间点t7更新数据和用于请求将与时间点t7更新数据对应的密文数据写入RAM 730的60-70的块区域1191的写入请求。响应于写入请求,缓存装置720可确定是否存在与RAM 730上的60-70的块区域1191对应的加密信息。作为所述确定的结果,缓存装置720可确定加密信息1177作为与RAM 730上的60-70的块区域1191对应的加密信息而存在。
根据方框1190的实施例,包括在加密信息1177中的地址信息与60-70的块区域1191相同,其中,60-70的块区域1191是RAM 730的与在时间点t7接收到的写入请求对应的块区域。
因此,缓存装置720可检测与被60-70的块区域1191重叠的块区域对应的加密信息1177。缓存装置720(详细地,缓存更新器721)可通过反映在时间点t7接收到的写入请求来更新检测到的加密信息1177。
例如,缓存更新器721可通过经由反映在时间点t7接收到的写入请求来更新检测到的加密信息1177,将加密信息1177的加密参数从E改变为另一值。在图13的方框1190中未示出改变加密信息1177的加密参数的值的实施例。
可选地,缓存更新器721可通过反映在时间点t7接收到的写入请求来删除加密信息1177。参照方框1180,在时间点t7之前,如附图标号1173所示,使用加密参数E加密的时间点t6更新数据已经被写入60-70的块区域。缓存装置720可通过反映在时间点t7接收到的写入请求来更新加密信息,使得可通过应用除了加密参数E之外的加密参数来对60-70的块区域1191进行加密。例如,缓存装置720可通过将加密信息1184的结束地址改变为70来生成加密信息1193。因此,可使用加密参数D对在时间点t7接收到的时间点t7更新数据进行加密,并且可将加密后的时间点t7更新数据写入60-70的块区域1191。缓存装置720可通过反映更新后的加密信息1193的结束地址的变化,通过将加密信息1176的开始地址从60改变为70来生成加密信息1195。
如上所述,根据实施例的电子设备700可在数据被写入RAM的每个时间点更新与被写入RAM的数据对应的加密信息,使得加密的数据值根据数据被写入RAM的时间点而变化。
详细地,每当数据被写入RAM时,例如,每当接收到特定数据的写入请求时,根据实施例的电子设备700通过反映接收到的写入请求来更新加密信息。因此,使用不同加密参数加密的多条数据被写入RAM 730上的具有可变大小的不同块部分。例如,参照图13的方框1140,在时间点t2之后,如附图标号1132所示,使用加密参数B编码的数据被写入RAM 730的0-100的块区域中的5-20的块区域,如附图标号1142所示,使用加密参数C编码的数据被写入RAM 730的0-100的块区域中的40-80的块区域,并且使用加密参数A编码的数据被写入剩余的块区域。当随着时间接收到新的写入请求时,反映所接收到的写入请求,并且因此使用改变的加密参数值加密的数据被写入RAM 730上的特定块。
因此,根据实施例的电子设备700可增加对被写入RAM 730的密文数据进行解密的难度。因此,可高度维持电子设备700的安全性能。
此外,根据实施例的电子设备700在加密和解密期间不使用除了将被加密的数据之外的数据(例如,被写入RAM上的邻近块的数据)。因此,可高度维持加密和解密所需的访问性能。详细地,为了对将被加密的数据进行加密,不需要读取被写入RAM上的邻近块的数据,因此不需要访问RAM,从而可维持高访问性能。
图14是用于说明根据实施例的电子设备的加密信息更新操作的示图。
需要版权保护的数据中或者不允许进行随意复制或随意读取的数据中可能存在关于视觉图像的数据。关于视觉图像的数据可形成为包括多个图像帧的图像帧数据。当需要版权保护的图像帧数据被再现时,可将图像帧数据存储在RAM 730内以进行缓冲。这样,当图像帧数据被写入RAM 730时,电子设备700可使用循环队列方法,其中,所述循环队列方法使图像帧数据中包括的多个图像帧能够被顺序地写入RAM 730并被管理。循环队列是一种数据结构,并且是指通过将队列的起点和终点连接来使存储在队列中的多条数据能够循环的队列。当多个图像帧按照循环队列方法被写入并被管理时,可将所述多个图像帧重复地重写入RAM 730的特定区域。现在将参照图14详细描述当多个图像帧按照循环队列方法被写入RAM 730并被管理时更新加密信息的操作。
图14示出与图13的加密信息1105类似,存储在缓存装置720中的加密信息1205包括位置信息的情况,其中,所述位置信息包括开始地址SA和结束地址EA。图14还示出与图13类似,RAM 730中包括的与时间点t0对应的数据写入区域是开始地址SA为0且结束地址EA为100的块区域1221的情况。
图14还示出缓存存储器722将加密信息1205存储在与包括两层(详细地,第一层(层0)1211和第二层(层1)1212)的层结构对应的区域中的情况。
参照图14,可将随时间在每个特定时间点具有相同大小的图像帧连续地写入RAM730。
参照图14的方框1220,电子设备700可在时间点t0将RAM 730上的开始地址SA为0且结束地址EA为100的区域指定为RAM 730上的将写入密文数据的区域。缓存装置720可将要被应用于将被写入在时间点t6指定的区域的数据的加密参数设置为A。因此,缓存装置720可生成并存储加密信息1222,其中,所述加密信息1222包括为0的开始地址SA、为100的结束地址EA以及加密参数A。
参照图14的方框1230,当单个图像帧具有与0-50的块区域1231对应的大小时,处理器710在时间点t1接收时间点t1图像帧和用于请求将时间点t1图像帧写入0-50的块区域1231的写入请求。响应于在时间点t1接收到的写入请求,缓存装置720可确定是否存在与包括RAM 730上的0-50的块区域1231的块区域对应的加密信息。因为存在包括0-50的块区域1231的预先设置的写入区域(例如,块区域1221),所以缓存更新器721新生成加密信息1233,其中,加密信息1233包括关于0-50的块区域1231的地址信息和被应用于对t1时间点图像帧进行加密的加密参数B。缓存装置720可将所生成的加密信息1233存储在与第二层1212对应的区域中,其中,第二层1212是在时间点t0生成的加密信息1222的下层。
因此,如附图标号1232所示,加密器741可通过使用加密参数B来对时间点t1图像帧进行加密,并且可将加密后的时间点t1图像帧写入RAM 730的0-50的块区域1231。
参照图14的方框1240,在时间点t1之后的时间点t2,处理器710接收时间点t2图像帧和用于请求将与时间点t2图像帧对应的密文数据写入RAM730的50-100的块区域1241的写入请求。响应于写入请求,缓存装置720可确定是否存在与包括RAM 730上的50-100的块区域1241的块区域对应的加密信息。详细地,因为存在包括50-100的块区域1241的先前写入区域(详细地,块区域1221),所以缓存更新器721可更新加密信息,使得可使用与被应用于块区域1221的加密参数A不同的加密参数来对时间点t2图像帧进行加密。
详细地,除了响应于在时间点t1接收到的写入请求而更新的加密信息1233之外,缓存装置720还可生成包括表示50-100的块区域1241的地址信息和在时间点t2图像帧的加密期间将被应用的加密参数B的加密信息(未示出),并且将所生成的加密信息存储在与第二层1212对应的区域中,其中,第二层1212是与加密信息1222相关联的下层。在这种情况下,因为将被新生成并被存储在第二层1212上的加密信息具有为50的开始地址SA、为100的结束地址EA和加密参数B,所以缓存装置720可通过将加密信息1233与将被新生成并被存储在第二层1212上的加密信息结合来生成加密信息1244。然而,因为所生成的加密信息1244与加密信息1222具有相同的开始地址和相同的写入地址,所以缓存装置720可通过将加密信息1222的加密参数的值从A改变为B来生成加密参数1243,而无需将加密信息1244添加到与第二层1212对应的区域,其中,加密信息1222先前被存储在所生成的加密信息1244的上层。
因此,如附图标号1242所示,加密器741可通过使用加密参数B来对时间点t2图像帧进行加密,并且可将加密后的时间点t2图像帧写入RAM 730的50-100的块区域1241。
在时间点t2之后的时间点t3,处理器710接收时间点t3图像帧和用于请求将时间点t3图像帧写入0-50的块区域1251的写入请求。响应于在时间点t3接收到的写入请求,缓存装置720可确定是否存在与包括RAM 730上的0-50的块区域1251的块区域对应的加密信息。因为存在包括0-50的块区域1251的预先设置的写入区域(例如,块区域1231),所以缓存更新器721新生成加密信息1254,其中,所述加密信息1254包括关于0-50的块区域1251的地址信息和被应用于对时间点t3图像帧进行加密的加密参数C。缓存装置720可将所生成的加密信息1254存储在与第二层1212对应的区域中,其中,第二层1212是加密信息1243的下层。
因此,如附图标号1252所示,加密器741可通过使用加密参数C来对时间点t3图像帧进行加密,并且可将加密后的时间点t3图像帧写入RAM 730的0-50的块区域1251。
参照图14的方框1260,在时间点t3之后的时间点t4,处理器710接收时间点t4图像帧和用于请求将与时间点t4图像帧对应的密文数据写入RAM730的50-100的块区域1261的写入请求。响应于写入请求,缓存装置720可确定是否存在与包括RAM 730上的50-100的块区域1261的块区域对应的加密信息。作为结果,存在加密信息1243,因此缓存更新器721可更新加密信息,使得可使用与加密信息1243中包括的加密参数A不同的加密参数来对时间点t4图像帧进行加密。
详细地,除了响应于在时间点t4接收到的写入请求而更新的加密信息1254之外,缓存装置720还可生成包括表示50-100的块区域1261的地址信息和在时间点t4图像帧的加密期间将被应用的加密参数C的加密信息,并且将所生成的加密信息存储在与第二层1212对应的区域中,其中,第二层1212是与加密信息1243相关联的下层。在这种情况下,将被新生成并被存储在第二层1212上的加密信息具有为50的开始地址SA、为100的结束地址EA和加密参数C,因此缓存装置720可通过将加密信息1254与将被新生成并被存储在第二层1212上的加密信息结合来生成加密信息1264。然而,因为所生成的加密信息1264与加密信息1243具有相同的开始地址和相同的写入地址,所以缓存装置720可通过将加密信息1243的加密参数的值从B改变为C来生成加密参数1263,而无需将加密信息1264添加到与第二层1212对应的区域,其中,加密信息1243先前被存储在所生成的加密信息1244的上层。
因此,如附图标号1262所示,加密器741可通过使用加密参数C来对时间点t4图像帧进行加密,并且可将加密后的时间点t4图像帧写入RAM 730的50-100的块区域1261。
如上参照图14所述,当多个图像帧根据循环队列方法被写入并被存储在RAM 730中时,可通过使用包括具有两层结构的存储区域的缓存存储器722来存储并使用加密信息。可将图像帧有效地写入并存储在RAM 730上的两个不同的块区域中。
图15是根据实施例的缓存装置的操作的流程图。
参照图15,在操作S1310,获得基于读取请求或写入请求的地址信息。
首先将描述在操作S1310接收到写入请求的情况。
详细地,在操作S1310,处理器710可接收用于请求将特定数据写入RAM730上的特定区域的写入请求。然后,处理器710将接收到的写入请求发送到缓存装置720。因此,缓存装置720可接收与写入请求对应的地址信息,例如,包括写入开始地址(WSA)和写入结束地址(WEA)的地址信息。包括写入开始地址(WSA)和写入结束地址(WEA)的地址信息可被称为写入地址。
因此,缓存搜索器723搜索与写入地址对应的加密信息。详细地,当在缓存存储器722中形成的层结构中最上层是第零层并且最下层是第N层时,在操作S1320,缓存搜索器723可从i=N层(即,最下层)搜索加密信息。这里,N可根据在缓存存储器722中形成的层结构中包括的层数而不同。电子设备700可基于缓存存储器722的存储容量、缓存搜索器723的搜索速度等来设置层结构中包括的层数。
在操作S1330,确定在i=N层上是否存在与写入请求对应的加密信息。可在缓存搜索器723中执行操作S1330。
当在i=N层上存在与写入请求对应的加密信息时,在操作S1340,获得将被包括在相应层上存储的加密信息中的加密参数。
另一方面,当在i=N层上不存在与写入请求对应的加密信息时,在操作S1333,可确定是否i=0(即,是否仅存在最上层)。当不是仅存在最上层时,在操作S1335(和S1330),可确定在第N层的前一上层上是否存在加密信息。
基于写入请求,可更新加密信息。详细地,缓存装置720可基于接收到的写入请求来改变地址信息和加密参数中的至少一个,基于所述改变来更新加密信息,并且存储更新后的加密信息。
当加密信息的更新和存储完成时,在操作S1350,缓存装置720可等待随后的写入请求的输入。
现在将描述在操作S1310接收到读取请求的情况。
详细地,在操作S1310,处理器710可接收用于请求从RAM 730上的特定区域读取特定密文数据的读取请求。然后,处理器710可将接收到的读取请求发送到缓存装置720。因此,缓存装置720可接收与读取地址对应的地址信息。包括在读取请求中的指示RAM 730上的特定区域的位置的地址信息可被称为读取地址。
因此,缓存搜索器723搜索与读取地址对应的加密信息。详细地,当在形成在缓存存储器722中的层结构中最上层是第零层并且最下层是第N层时,在操作S1320,缓存搜索器723可从i=N层(即,最下层)搜索加密信息。例如,当读取请求是请求针对RAM 730上的0-30的块区域的读取操作的信号时,缓存搜索器723可搜索包括与包括0-30的块区域的区域对应的开始地址SA和结束地址EA的加密信息。
详细地,在操作S1330,确定在i=N层上是否存在与读取请求对应的加密信息。可在缓存搜索器723中执行操作S1330。
当在i=N层上存在与读取请求对应的加密信息时,在操作S1340,获得将被包括在相应层上存储的加密信息中的加密参数。
例如,当从与作为缓存存储器722的特定层的i=N层对应的区域找到包括与包括0-30的块区域的区域对应的开始地址SA和结束地址EA的加密信息时,缓存搜索器723可获得包括在找到的加密信息中的加密参数并将所获得的加密参数发送到解密器742。
另一方面,当在i=N层上不存在与读取请求对应的加密信息时,在操作S1333,可确定是否i=0(即,是否仅存在最上层)。当不是仅存在最上层时,在操作S1335(和S1330),可确定在第N层的前一上层上是否存在加密信息。
解密器742可从缓存搜索器723接收加密参数,并且可基于接收到的加密参数来对从RAM 730的特定区域读取的密文数据(128个比特)进行解密。解密数据可被称为读取数据。解密器742可将读取数据(即,解密数据)发送到处理器710。
在操作1350,缓存装置720可等待随后的读取请求的输入。
图16是根据实施例的包括电子设备的显示设备的框图。
根据实施例的电子设备可被包括在显示设备中。详细地,显示设备是用于向用户视觉地输出屏幕图像(诸如图像内容、广告和指南信息或用户界面(UI)屏幕图像)的设备。显示设备的示例可包括但不限于TV和数字广播终端。
参照图16,显示设备1400包括视频处理器1410、显示器1415、音频处理器1420、音频输出接口1425、电源1430、调谐器1440、通信接口1450、传感器1460、输入/输出(I/O)接口1470、控制器1480和存储器1490。
控制器1480可与根据实施例的电子设备500或600对应。可选地,根据实施例的电子设备500或600中包括的处理器510或610和加密/解密单元640可与图16的控制器1480对应,并且根据实施例的电子设备500或600中包括的第一存储器装置530或630和第二存储器装置520或620可与图16的存储器1490对应。
控制器1480还可与根据实施例的电子设备700对应。根据实施例的电子设备700中包括的处理器710和加密/解密单元740可与图16的控制器1480对应,并且根据实施例的电子设备700中包括的RAM 730和缓存装置720可与图16的存储器1490对应。
因此,下面将不重复图16的显示设备1400的与电子设备500、600或700的描述相同的描述。
视频处理器1410对由显示设备1400接收到的视频数据进行处理。视频处理器1410可对接收到的视频数据执行各种图像处理,诸如解码、缩放、噪声滤波、帧率变换和分辨率变换。
控制器1480可接收针对由视频处理器1410处理的视频数据的写入请求,并且可控制视频数据被加密并被写入包括在控制器1480或存储器1490中的第一存储器装置(例如,RAM)。当根据实施例的电子设备500、600或700在上面已被描述时,对视频数据进行加密并将加密的视频数据写入第一存储器装置(例如,RAM)的操作已在上面被详细描述,因此将省略其重复描述,其中,所述视频数据是响应于写入请求而输入的数据。
由视频处理器1410处理的数据可包括多个图像帧。控制器1480可按照参照图14详细描述的循环队列方法来管理由视频处理器1410处理的多个图像帧。
显示器1415在控制器1480的控制下在其屏幕上显示包括在经由调谐器1440接收到的广播信号中的视频。显示器1415还可显示经由通信接口1450或I/O接口1470输入的内容(例如,运动图像)。
显示器1415还可在控制器1480的控制下输出存储在存储器1490中的图像。显示器1415还可显示用于执行与语音识别对应的语音识别任务的语音UI(例如,包括语音命令词语指南)或者用于执行与运动识别对应的运动识别任务的运动UI(例如,包括用于运动识别的用户运动指南)。
根据实施例,显示器1415可显示从存储加密数据的存储器1490读取和解密的数据。
音频处理器1420对音频数据进行处理。音频处理器1420可对音频数据执行各种处理,诸如解码、放大或噪声滤波。音频处理器1420可包括多个音频处理模块,以对与多条内容对应的音频进行处理。
音频输出接口1425在控制器1480的控制下输出包括在经由调谐器1440接收到的广播信号中的音频。音频输出接口1425还可输出经由通信接口1450或I/O接口1470输入的音频(例如,语音或声音)。音频输出接口1425还可在控制器1480的控制下输出存储在存储器1490中的音频。音频输出接口1425可包括从扬声器1426、耳机输出端口1427和Sony/Philips数字接口(S/PDIF)输出端口1428选择的至少一个。音频输出接口1425可包括扬声器1426、耳机输出端口1427和S/PDIF输出端口1428的组合。
电源1430在控制器1480的控制下将从外部电源输入的电力供应给显示设备1400的内部组件1410至1490。电源1430还可在控制器1480的控制下将由位于显示设备1400中的一个或更多个电池输出的电力供应给显示设备1400的内部组件1410至1490。
调谐器1440可在通过例如对有线或无线广播信号进行放大、混合或谐振而获得的许多无线电波分量中对与显示设备1400想要接收的频道对应的频带进行调谐和选择。广播信号包括音频、视频和另外的信息(例如,电子节目指南(EPG))。
调谐器1440可根据用户输入(例如,从外部控制装置(未示出)(例如,遥控器)接收到的控制信号,例如,EPG屏幕图像上的频道号输入、频道上下输入和频道输入)来接收与频道号(例如,有线广播506号)对应的频带中的广播信号。
调谐器1440可从各种源(诸如地面广播、有线广播、卫星广播和互联网广播)接收广播信号。调谐器1440还可从诸如模拟广播或数字广播的源接收广播信号。经由调谐器1440接收到的广播信号被解码(例如,音频解码、视频解码或另外的信息解码)并因此被划分为音频、视频和/或另外的信息。音频、视频和/或所述另外的信息可在控制器1480的控制下被存储在存储器1490中。
显示装置1400可包括单个调谐器1440或多个调谐器1440。根据实施例,当包括多个调谐器1440时,所述多个调谐器1440可向提供给显示器1415的多窗口屏幕图像中所包括的多个窗口输出多个广播信号。
调谐器1440可与显示设备1400成为一体,或者被实现为具有被电连接到显示设备1400的调谐器的单独的装置(例如,被连接到机顶盒和I/O接口1470的调谐器)。
通信接口1450可在控制器1480的控制下将显示设备1400连接到外部设备(例如,音频设备)。控制器1480可将内容发送到经由通信接口1450连接的外部设备/从经由通信接口1450连接的外部设备接收内容,从外部设备下载应用,或者执行网页浏览。详细地,通信接口1450可被连接到网络以从外部设备接收内容。
根据实施例,控制器1480可控制从外部设备接收到的内容根据基于实施例的加密操作被加密并被写入随机存取存储装置(例如,包括在存储器1490或控制器1480中的第一存储器装置)。
如上所述,通信接口1450可包括从短距离无线通信模块、有线通信模块和移动通信模块选择的至少一个。
图16示出通信接口1450包括无线局域网(LAN)1451、蓝牙网络1452和有线以太网1453中的一个的情况。
通信接口1450可包括无线LAN 1451、蓝牙网络1452和有线以太网1453的组合。通信接口1450可在控制器1480的控制下接收控制设备(未示出)的控制信号。控制信号可被实现为蓝牙信号、射频(RF)信号或Wi-Fi信号。
除了蓝牙网络1452之外,通信接口1450还可包括短距离通信(例如,近场通信(NFC)或蓝牙低功耗(BLE))。
传感器1460感测用户的语音、用户的图像或与用户的交互。
麦克风1461接收用户发出的语音。麦克风1461可将接收到的语音变换为电信号,并将电信号输出到控制器1480。用户语音可包括例如与显示设备1400的菜单或功能对应的语音。例如,麦克风1461的识别范围可被推荐在从麦克风1461到用户的位置的4m之内,并且可根据用户语音的大小和周围环境(例如,扬声器声音或环境噪声)而变化。
麦克风1461可与显示设备1400集成或与之分离。分离的麦克风1461可经由通信接口1450或I/O接口1470被电连接到显示设备1400。
本领域普通技术人员将容易理解的是,根据显示设备1400的性能和结构,可不包括麦克风1461。
相机1462接收与用户的运动对应的图像(例如,连续的帧),其中,所述用户的运动包括相机1462的识别范围内的手势。例如,相机1462的识别范围可以是从相机1462到用户的0.1m至5m之内的距离。用户的运动可包括用户的身体的一部分或者用户的该部分(诸如用户的脸、面部表情、手、拳头和手指)的运动等。相机1462可在控制器1480的控制下将接收到的图像转换为电信号,并将该电信号输出到控制器1480。
控制器1480可通过使用接收到的运动的识别结果来选择被显示在显示设备1400上的菜单,或者执行与运动识别的结果对应的控制。例如,所述控制可以是频道调整、音量调整或指示符移动。
相机1462可包括透镜(未示出)和图像传感器(未示出)。相机1462可通过使用多个透镜和图像处理来支持光学变焦或数字变焦。可根据相机1462的角度和周围环境条件来不同地设置相机1462的识别范围。当相机1462包括多个相机时,可通过所述多个相机接收三维(3D)静态图像或3D运动。
相机1462可与显示设备1400集成或与之分离。包括单独的相机1452的单独的装置可经由通信接口1450或I/O接口1470被电连接到显示设备1400。
本领域普通技术人员将容易理解的是,根据显示设备1400的性能和结构,可不包括相机1462。
光接收器1463经由显示器1415的边框的光窗从外部控制设备接收光信号(包括控制信号)。光接收器1463可从控制设备接收与用户输入(例如,触摸、按压、触摸手势、语音或运动)对应的光信号。可在控制器1480的控制下从接收到的光信号提取控制信号。
例如,光接收器1463可接收与控制设备的指向位置对应的信号,并将接收到的信号发送到控制器1480。例如,当用于接收来自用户的数据或命令的UI屏幕图像已经经由显示器1415被输出并且用户想要经由控制设备向显示设备1400输入数据或命令时,用户在触摸设置在控制设备中的触摸板(未示出)的同时移动控制设备,并且此时,光接收器1463可接收与控制设备的运动对应的信号并将接收到的信号发送到控制器1480。光接收器1463可接收指示设置在控制设备上的特定按钮已经被按压的信号,并将接收到的信号发送到控制器1480。例如,当用户用他或她的手指按压设置在控制设备中的按钮型触摸板(未示出)时,光接收器1463可接收指示按钮型触摸板已经被按压的信号,并将接收到的信号发送到控制器1480。例如,指示按钮型触摸板已经被按压的信号可被用作用于从多项中选择一项的信号。
I/O接口1470在控制器1480的控制下从显示设备1400外部接收视频(例如,运动图像)、音频(例如,语音或音乐)和另外的信息(例如,EPG)。I/O接口1470可包括高清晰度多媒体接口(HDMI)端口1471、组件插孔1472、PC端口1473或USB端口1474。I/O接口1470可包括HDMI端口1471、组件插孔1472、PC端口1473和USB端口1474的组合。
本领域普通技术人员将理解的是,可根据实施例不同地实现I/O接口1470的结构和操作。
控制器1480控制显示设备1400的整体操作和显示设备1400的内部组件1410至1490之间的信号传送并对数据进行处理。当存在用户的输入或者满足存储的预设条件时,控制器1480可运行操作系统(OS)和存储在存储器1490中的各种应用。
控制器1480可包括RAM(未示出)、ROM(未示出)和处理器(未示出),其中,所述RAM(未示出)存储由显示设备1400的外部源输入的信号或数据或者被用作用于由显示设备1400执行的各种操作的存储区域,所述ROM(未示出)存储用于控制显示设备1400的控制程序。
根据实施例,控制器1480中包括的RAM和处理器可分别与图7的电子设备700的RAM730和处理器710对应。
处理器可包括用于执行视频图形处理的图形处理单元(GPU)(未示出)。处理器可被实现为包括内核和GPU的片上系统(SoC)。处理器可包括其单核、双核、三核、四核或多核。
处理器可包括多个处理器。例如,可通过使用主处理器和在睡眠模式下操作的子处理器来实现处理器。
GPU通过使用运算单元和渲染单元(未示出)来生成包括各种对象(诸如图标、图像和文本)的屏幕图像。运算单元通过使用由传感器1460感测到的用户交互来计算属性值,诸如坐标值、形状、大小、颜色等,其中,每个对象将利用所述属性值根据屏幕图像的布局被显示。渲染单元基于由运算单元计算出的属性值来生成包括对象的各种布局的屏幕图像。由渲染单元生成的屏幕图像被显示在显示器1415的显示区域上。
图17是根据实施例的数据加密方法的流程图。
根据实施例的数据加密方法1500中包括的操作与在以上参照图1至图13描述的电子设备中执行的操作相同。因此,这里不再重复数据加密方法1500的与参照图1至图13进行的描述相同的描述。现在将参照图7的电子设备600详细描述数据加密方法1500。
在操作S1510,当数据被加密并被写入第一存储器装置630时,更新包括地址信息和用于加密的参数的加密信息,其中,所述地址信息指示第一存储器装置630上的写入位置。操作1510可由第二存储器装置620执行。第一存储器装置630可以以块为单位写入并存储至少一条数据。地址信息可包括指示在块的开始地址与其结束地址之间形成的该块的位置的信息。上面已经参照图8和图9详细描述了地址信息和包括该地址信息的加密信息,因此将省略其详细描述。
详细地,更新加密信息的操作S1510可包括:当接收到用于对数据进行加密并将加密数据写入第一存储器装置630的写入请求时,基于写入地址来改变地址信息和参数中的至少一个;基于所述改变来更新加密信息;并且将更新后的加密信息存储在第二存储器装置620中。
上面已经参照图10至图12详细描述了加密信息的更新,因此将省略其详细描述。
在操作S1520,基于加密信息对数据进行加密。可由加密器641执行操作S1520。
在操作S1530,将在操作S1520加密的数据写入第一存储器装置630。可通过加密器641执行将加密数据写入第一存储器装置630的操作S1530。
在根据实施例的数据加密方法和执行该数据加密方法的电子设备中,当存储在以块为单位存储数据的RAM中的数据被加密时,在无需使用不作为用于加密的目标的数据的情况下对相应数据进行加密,从而最小化RAM的访问性能下降。
在根据实施例的数据加密方法和执行该数据加密方法的电子设备中,当存储在RAM中的数据被加密时,在不同的加密时间点对相同的输入数据进行不同加密,从而提高安全等级。
上述实施例还可被实施为包括可由计算机执行的指令代码(诸如由计算机执行的程序模块)的存储介质。计算机可读介质可以是计算机可访问的任何可用介质,并且包括所有的易失性/非易失性介质和可移动/不可移动介质。此外,计算机可读介质可包括所有的计算机存储器和通信介质。计算机存储介质包括通过用于存储信息(诸如计算机可读指令代码、数据结构、程序模块或其他数据)的特定方法或技术实施的所有的易失性/非易失性介质和可移动/不可移动介质。通信介质通常包括计算机可读指令代码、数据结构、程序模块、或经过调制的数据信号的其他数据、或者其他传输机制,并且包括任意信息传输介质。一些实施例可被实现为包括可由计算机执行的指令的计算机程序或计算机程序产品。
这里示出和描述的特定实施方式仅是说明性的实施例,并不旨在另外以任何方式限制实施例的范围。为了简洁起见,可不详细描述根据相关技术的电子、控制系统、软件开发以及系统的其他功能方面。

Claims (15)

1.一种电子设备,包括:
第一存储器;
第二存储器,被配置为存储加密信息,其中,所述加密信息包括指示数据在第一存储器上的写入位置的地址信息和用于对所述数据进行加密的参数;
加密和解密单元,被配置为基于所述加密信息对所述数据进行加密;以及
处理器,被配置为控制加密的所述数据被写入第一存储器上的所述写入位置。
2.如权利要求1所述的电子设备,其中,当接收到用于将补充数据写入第一存储器的写入请求时,第二存储器还被配置为:基于所述写入请求来更新所述地址信息和用于对所述数据进行加密的所述参数中的至少一个。
3.如权利要求2所述的电子设备,其中,第二存储器还被配置为:生成第一加密信息和第二加密信息,使得第一加密信息与第二加密信息不同,其中,第一加密信息在所述数据在第一时间点被写入第一存储器时被应用,第二加密信息在所述补充数据在与第一时间点不同的第二时间点被写入第一存储器时被应用。
4.如权利要求3所述的电子设备,其中,在第一时间点加密的所述数据可具有与在第二时间点加密的所述补充数据不同的值。
5.如权利要求1所述的电子设备,其中,所述地址信息包括开始地址、结束地址和从所述开始地址到所述结束地址的存储区域的大小信息中的至少两个。
6.如权利要求1所述的电子设备,其中,第二存储器包括多个存储区域,
其中,第二存储器包括具有由多层构成的结构的缓存存储器,并且
所述加密信息被存储在所述多个存储区域中的与所述多层中的一层对应的存储区域中。
7.如权利要求6所述的电子设备,其中,当补充数据被加密并被写入第一存储器时,第二存储器还被配置为:将补充加密信息存储在所述多个存储区域中的与所述多层中的比存储所述加密信息的层低的一层对应的存储区域中。
8.如权利要求6所述的电子设备,其中,当补充数据被加密并被写入第一存储器时,第二存储器还被配置为:将补充加密信息存储在所述多个存储区域中的与所述多层中的存储所述加密信息的层对应的存储区域中。
9.如权利要求1所述的电子设备,其中,所述加密信息包括:
第一层加密信息,包括与所述数据对应的加密信息;以及
第二层加密信息,包括与补充数据对应的加密信息。
10.如权利要求1所述的电子设备,其中,第二存储器还被配置为:获得第一存储器上的与针对将被存储在第一存储器中的补充数据的写入请求对应的更新地址信息,并且基于指示第一存储器中的存储所述数据的第一区域的位置的初始地址和所述更新地址信息,更新所述加密信息。
11.如权利要求1所述的电子设备,其中,当接收到对写入第一存储器的所述数据的读取请求时,第二存储器还被配置为:响应于接收到所述读取请求,搜索与所述数据对应的所述加密信息,并且
处理器还被配置为:基于所述加密信息,控制数据以从第一存储器读取所述数据并对所述数据进行解密。
12.如权利要求1所述的电子设备,其中,所述数据包括图像帧数据,并且
处理器还被配置为:根据循环队列方法控制图像帧数据中包括的多个图像帧被写入第一存储器。
13.如权利要求1所述的电子设备,其中,第一存储器被配置为以块为单位存储所述数据,并且
所述地址信息包括指示在块的开始地址与该块的结束地址之间形成的该块的位置的信息。
14.如权利要求1所述的电子设备,其中,第一存储器是随机存取存储器RAM,并且
第二存储器是缓存存储器。
15.一种数据加密方法,包括:
响应于接收到用于将数据写入第一存储器的请求,生成加密信息,其中,所述加密信息包括指示第一存储器上的写入位置的地址信息和用于对所述数据进行加密的参数;
基于所述加密信息对所述数据进行加密;并且
将加密的所述数据写入第一存储器上的所述写入位置。
CN201880069107.8A 2017-10-23 2018-10-23 数据加密方法和执行数据加密方法的电子设备 Pending CN111263942A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020170137377A KR102445243B1 (ko) 2017-10-23 2017-10-23 데이터 암호화 방법 및 그에 따른 전자 장치
KR10-2017-0137377 2017-10-23
PCT/KR2018/012573 WO2019083258A1 (en) 2017-10-23 2018-10-23 DATA ENCRYPTION METHOD AND ELECTRONIC APPARATUS EXECUTING A DATA ENCRYPTION METHOD

Publications (1)

Publication Number Publication Date
CN111263942A true CN111263942A (zh) 2020-06-09

Family

ID=66171098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880069107.8A Pending CN111263942A (zh) 2017-10-23 2018-10-23 数据加密方法和执行数据加密方法的电子设备

Country Status (5)

Country Link
US (1) US11042489B2 (zh)
EP (1) EP3659061B1 (zh)
KR (1) KR102445243B1 (zh)
CN (1) CN111263942A (zh)
WO (1) WO2019083258A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035866A (zh) * 2020-11-04 2020-12-04 湖北芯擎科技有限公司 一种数据加解密方法、装置、设备和计算机可读存储介质
CN112906071A (zh) * 2020-12-01 2021-06-04 深圳安捷丽新技术有限公司 一种基于页温动态冷热切换的数据保护方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430447B (zh) * 2019-08-09 2021-11-26 广东工业大学 一种视频加密方法、装置、摄像设备及可读存储介质
CN113626839A (zh) * 2021-03-31 2021-11-09 中汽创智科技有限公司 一种基于多线程并发处理的加解密引擎系统、方法及汽车
US20220393859A1 (en) * 2021-06-07 2022-12-08 Micron Technology, Inc. Secure Data Storage with a Dynamically Generated Key
CN113918997A (zh) * 2021-12-09 2022-01-11 深圳竹云科技有限公司 数据管理系统、数据加密、解密的控制方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033537A1 (en) * 2001-08-08 2003-02-13 Kabushiki Kaisha Toshiba Tamper resistant microprocessor using fast context switching
CN1937773A (zh) * 2005-09-23 2007-03-28 三星电子株式会社 外部存储装置、存储图像数据的方法及图像处理器
US20130013934A1 (en) * 2011-07-06 2013-01-10 Cpu Technology, Inc. Infinite Key Memory Transaction Unit
WO2014132662A1 (ja) * 2013-02-28 2014-09-04 パナソニック株式会社 暗号処理装置
US20150220456A1 (en) * 2014-02-03 2015-08-06 Stmicroelectronics Sa Method for protecting a program code, corresponding system and processor
CN105279439A (zh) * 2014-06-20 2016-01-27 赛普拉斯半导体公司 用于就地执行的存储器的加密方法
US20160085692A1 (en) * 2014-09-23 2016-03-24 Intel Corporation Encryption integrity check in memory
US20160221209A1 (en) * 2015-01-30 2016-08-04 Blount, Inc. Tie rivet for saw chain
US20170046281A1 (en) * 2014-09-15 2017-02-16 Arm Limited Address dependent data encryption
EP3185464A1 (en) * 2015-12-21 2017-06-28 Hewlett-Packard Development Company, L.P. Key generation information trees
US20170277641A1 (en) * 2016-03-22 2017-09-28 Fuji Xerox Co., Ltd. Integrated circuit, information processing apparatus, and information processing method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100487509B1 (ko) 1998-06-27 2005-06-08 삼성전자주식회사 암호화된 패스워드를 표시하는 기능을 구비한컴퓨터 시스템 및이의 제어 방법
JP4080079B2 (ja) 1998-11-20 2008-04-23 大日本印刷株式会社 Icカード
WO2003021406A2 (en) 2001-08-28 2003-03-13 Seagate Technology Llc Data storage device security method and apparatus
FI20080534A0 (fi) * 2008-09-22 2008-09-22 Envault Corp Oy Turvallinen ja valikoidusti kiistettävissä oleva tiedostovarasto
DE112009004408T5 (de) * 2009-01-12 2012-10-25 Maxim Integrated Products, Inc. Videoaufzeichnungs- und verarbeitungssysteme
US8255620B2 (en) 2009-08-11 2012-08-28 Texas Memory Systems, Inc. Secure Flash-based memory system with fast wipe feature
US20110154061A1 (en) 2009-12-21 2011-06-23 Babu Chilukuri Data secure memory/storage control
US8621168B2 (en) 2010-12-17 2013-12-31 Google Inc. Partitioning the namespace of a contactless smart card
US8843767B2 (en) * 2011-07-06 2014-09-23 The Boeing Company Secure memory transaction unit
US9928385B2 (en) * 2014-08-29 2018-03-27 The Boeing Company Periodic memory refresh in a secure computing system
US9614666B2 (en) * 2014-12-23 2017-04-04 Intel Corporation Encryption interface
KR102353058B1 (ko) * 2016-02-02 2022-01-20 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
KR20180019419A (ko) * 2016-08-16 2018-02-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작방법

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030033537A1 (en) * 2001-08-08 2003-02-13 Kabushiki Kaisha Toshiba Tamper resistant microprocessor using fast context switching
CN1937773A (zh) * 2005-09-23 2007-03-28 三星电子株式会社 外部存储装置、存储图像数据的方法及图像处理器
US20130013934A1 (en) * 2011-07-06 2013-01-10 Cpu Technology, Inc. Infinite Key Memory Transaction Unit
WO2014132662A1 (ja) * 2013-02-28 2014-09-04 パナソニック株式会社 暗号処理装置
US20150220456A1 (en) * 2014-02-03 2015-08-06 Stmicroelectronics Sa Method for protecting a program code, corresponding system and processor
CN105279439A (zh) * 2014-06-20 2016-01-27 赛普拉斯半导体公司 用于就地执行的存储器的加密方法
US20170046281A1 (en) * 2014-09-15 2017-02-16 Arm Limited Address dependent data encryption
US20160085692A1 (en) * 2014-09-23 2016-03-24 Intel Corporation Encryption integrity check in memory
US20160221209A1 (en) * 2015-01-30 2016-08-04 Blount, Inc. Tie rivet for saw chain
EP3185464A1 (en) * 2015-12-21 2017-06-28 Hewlett-Packard Development Company, L.P. Key generation information trees
US20170277641A1 (en) * 2016-03-22 2017-09-28 Fuji Xerox Co., Ltd. Integrated circuit, information processing apparatus, and information processing method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035866A (zh) * 2020-11-04 2020-12-04 湖北芯擎科技有限公司 一种数据加解密方法、装置、设备和计算机可读存储介质
CN112035866B (zh) * 2020-11-04 2021-07-23 湖北芯擎科技有限公司 一种数据加密方法、装置、设备和计算机可读存储介质
CN112906071A (zh) * 2020-12-01 2021-06-04 深圳安捷丽新技术有限公司 一种基于页温动态冷热切换的数据保护方法和装置

Also Published As

Publication number Publication date
KR20190044879A (ko) 2019-05-02
EP3659061A4 (en) 2020-09-09
WO2019083258A1 (en) 2019-05-02
EP3659061B1 (en) 2023-01-04
US11042489B2 (en) 2021-06-22
US20190121749A1 (en) 2019-04-25
KR102445243B1 (ko) 2022-09-21
EP3659061A1 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
EP3659061B1 (en) Data encryption method and electronic apparatus performing data encryption method
US10379698B2 (en) Image display device and method of operating the same
US11062423B2 (en) Image display apparatus and method of operating the same
CN109479162A (zh) 图像显示设备和显示图像的方法
US10586063B2 (en) Method and apparatus for storing file by using a plurality of cloud storages
US10203927B2 (en) Display apparatus and display method
US20180359515A1 (en) Display apparatus and display method
US9131267B2 (en) Apparatus and method of portable terminal for dual display of broadcasting receiver by HDMI signal
US11064150B2 (en) High resolution user interface
EP3438852B1 (en) Electronic device and control method thereof
US10742880B2 (en) Image display apparatus and method of displaying image
CN108628680B (zh) 电子装置及操作其的方法
US20160048314A1 (en) Display apparatus and method of controlling the same
US20170169218A1 (en) Electronic device and method of operating the same
KR20130101629A (ko) 보안 실행 환경 지원 휴대단말에서 컨텐츠 출력 방법 및 장치
KR20160113071A (ko) 복수개의 클라우드 스토리지를 이용한 파일 저장 방법 및 이를 위한 장치
KR102403149B1 (ko) 전자 장치 및 그의 제어 방법
US20170026677A1 (en) Display apparatus and display method
KR102569734B1 (ko) 전자장치 및 그 제어방법
EP3319307B1 (en) Spherical image display apparatus and method of displaying a spherical image on a planar display
KR102674617B1 (ko) 수신 제한 시스템에 기반하는 컨텐트를 처리하기 위한 장치 및 방법
KR20130101626A (ko) 보안 데이터 처리 장치 및 방법
KR20130101627A (ko) 보안 데이터 처리 장치 및 방법
TW201528805A (zh) 媒體導覽系統及其方法

Legal Events

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