
本发明涉及一种加密装置及其操作方法,特别涉及一种利用写入锁定、密钥锁定以及摘要信息以增加安全性的加密装置及其操作方法。
背景技术:
1、在密码学中,加密(英语:encryption)一词是指将明文(plaintext)改变为难以理解的密文(ciphertext)而使保护其内容的过程。只有拥有解密方法的装置,通过解密过程,才能将密文还原为正常可读的内容。理想情况下,只有经授权的人员能够读取密文所要传达的信息。加密本身无法防止信息传输被截取,但能防止截取者理解信息的内容。
技术实现思路
1、本发明提出了加密装置及其操作方法,可根据使用者需求而设定写入锁定,以强化保护加密数据的内容,以防止被窜改的可能性。另外,本发明所提出的加密装置使用密码区块连结-信息鉴别码(cbc-mac)模式而产生摘要信息并存储于存储器阵列中,对加密数据多一层保护,以确保内部程序的安全性以及完整性。再者,本发明所提出的加密装置利用密钥锁定,使得读取时必须确认摘要信息才能解锁后续的解密过程,以防被窜改的流入加密装置中。
2、有鉴于此,本发明提出一种加密装置,包括一存储器阵列以及一存储器控制装置。上述存储器阵列用以存储一锁定数据。上述一存储器控制装置根据一操作指令而判断上述锁定数据是否等于一预设值。当上述存储器控制装置判断上述锁定数据等于上述预设值时,将一写入数据与一输出密钥进行一逻辑运算而产生一加密写入数据,并将上述加密数据写入上述存储器阵列而为一加密数据。
3、根据本发明的一实施例,上述存储器控制器包括一第一暂存器、一第二暂存器、一第三暂存器、一第一比较器、一第二比较器、一总线接口、一存储器接口、一缓冲器、一第一逻辑门、一第二逻辑门以及一控制器。上述第一暂存器用以暂存一写入锁定。上述第二暂存器用以暂存一密钥锁定。上述第三暂存器用以暂存上述存储器阵列的一信息鉴别码存储器地址的一信息鉴别码。上述第一比较器用以比较上述锁定数据以及上述预设值而产生一第一比较结果。上述第二比较器用以比较一摘要信息以及上述信息鉴别码而产生一第二比较结果。上述总线接口自一总线接收上述操作指令、一加密使能信号、上述写入数据、一操作存储器地址、一加密存储器地址、一密钥、一随机数以及一设定信息,上述密钥、上述随机数以及上述设定信息对应至上述加密存储器地址。上述加密存储器地址包括一起始存储器地址、一结束存储器地址以及一信息鉴别码存储器地址,其中上述加密数据存储于上述起始存储器地址,上述锁定数据存储于上述结束存储器地址。上述存储器接口耦接至上述存储器阵列。上述缓冲器耦接至上述存储器接口。当上述第一比较器比较上述锁定数据以及上述预设值时,上述缓冲器暂存上述锁定数据。上述缓冲器暂存上述加密写入数据以及上述加密数据。上述第一逻辑门对上述写入数据以及上述输出密钥执行一互斥或逻辑运算,而产生上述加密写入数据。上述第二逻辑门对上述加密数据以及上述输出密钥执行上述互斥或逻辑运算,而产生一读取数据。上述控制器根据上述操作指令以及上述操作存储器地址,利用一存储器控制信号经上述存储器接口而控制上述存储器阵列,且通过上述缓冲器以及上述存储器接口存取上述存储器阵列。上述控制器根据上述第一比较结果,而判断上述锁定数据以及上述预设值是否相等。当上述锁定数据等于上述预设值时,上述控制器利用一写入锁定使能信号使能上述第一暂存器,并且利用一写入锁定输入信号将上述写入锁定设为一解锁状态。当上述锁定数据不等于上述预设值时,上述控制器将上述写入锁定设为一锁定状态。
4、根据本发明的一实施例,上述存储器控制器更包括一密码装置。上述密码装置包括一第四暂存器、一第一多路复用器、一判断单元、一第一加密单元、一第二加密单元、一密码单元、一第二多路复用器以及一第三逻辑门。上述第四暂存器用以存储上述加密使能信号、上述加密存储器地址、上述密钥、上述随机数以及上述设定信息。上述第一多路复用器根据一决定信号,输出上述密钥、上述随机数以及上述设定信息的一者。当上述判断单元判断上述操作存储器地址位于上述加密存储器地址中时,上述判断单元根据上述密钥锁定、上述写入锁定、一操作信号、一信息鉴别码使能信号以及一保护区域选择信号,产生上述判断信号以及一密钥使能信号。上述第一加密单元将上述第一多路复用器输出的上述随机数以及上述操作存储器地址进行一第一加密运算,而产生第一加密结果。上述第二加密单元接收上述存储器阵列所存储的上述加密数据以及上述锁定数据,且将上述加密数据、上述锁定数据、上述第一多路复用器输出的上述设定信息以及上述操作存储器地址的一起始存储器地址以及一结束存储器地址进行一第二加密模式运算,而产生一第二加密结果。上述密码单元利用上述第一加密结果以及上述第一多路复用器输出的上述密钥而产生一密钥流,或利用上述第二加密结果以及上述第一多路复用器输出的上述密钥而产生一摘要信息。上述第二多路复用器根据上述控制器产生的一加密选择信号,将上述第一加密结果或上述第二加密结果输出至上述密码单元。上述第三逻辑门将上述密钥流以及上述密钥使能信号进行一逻辑及运算,而产生上述输出密钥。
5、根据本发明的一实施例,当一使用者通过上述总线接口将上述加密使能信号设定为一使能状态时,上述控制器将上述写入锁定以及上述密钥锁定设定为一锁定状态。上述控制器根据为上述锁定状态的上述写入锁定,而不将上述写入数据写入上述加密存储器地址中。上述第三逻辑门根据为上述锁定状态的上述密钥使能信号,而不将上述密钥流输出为上述输出密钥。上述使用者更通过上述总线接口,设定上述加密存储器地址、上述密钥、上述随机数以及上述设定信息。
6、根据本发明的一实施例,上述控制器将一数值写入上述结束存储器地址而为上述锁定数据,且上述数值与上述预设值不相同。上述控制器更读取上述加密存储器地址的上述加密数据以及上述数值的上述锁定数据,上述密码单元产生对应上述加密存储器地址的上述摘要信息。上述控制器将上述密码单元产生的摘要信息写入上述信息鉴别码存储器地址而为上述信息鉴别码,并将对应上述加密存储器地址的上述密钥锁定设为一解锁状态。
7、根据本发明的一实施例,上述控制器利用上述保护区域选择信号选择上述加密存储器地址进行验证上述信息鉴别码,且使能信息鉴别码使能信号。上述控制器读取上述加密存储器地址的上述加密数据、上述锁定数据以及上述信息鉴别码。上述密码单元根据上述加密数据以及上述锁定数据,产生上述摘要信息,上述第二比较器比较上述摘要信息与上述信息鉴别码是否相等。当上述摘要信息等于上述信息鉴别码时,上述控制器将上述密钥锁定设为上述解锁状态。当上述摘要信息不等于上述信息鉴别码时,上述控制器将上述密钥锁定设定为上述锁定状态。
8、根据本发明的一实施例,上述判断单元判断上述操作存储器地址是否在上述加密存储器地址中。当上述操作存储器地址在上述加密存储器地址中、上述操作信号为一写入状态且上述写入锁定为上述解锁状态时,上述判断单元使能上述密钥使能信号。上述密码单元利用上述第一加密单元所产生的上述第一加密结果以及上述密钥而产生上述密钥流,上述第三逻辑门依据使能的上述密钥使能信号而将上述密钥流输出为上述输出密钥。上述第一逻辑门利用上述输出密钥对上述写入数据加密而产生一加密写入数据,上述控制器将上述加密写入数据写入上述存储器阵列的上述操作存储器地址,而为加密数据。
9、根据本发明的一实施例,上述判断单元判断上述操作存储器地址是否在上述加密存储器地址中。当上述操作存储器地址在上述加密存储器地址中、上述操作信号为一读取状态且上述密钥锁定为上述解锁状态时,上述判断单元使能上述密钥使能信号。上述第三逻辑门根据上述密钥使能信号,将上述密钥流输出为上述输出密钥。上述第二逻辑门利用上述输出密钥,将存储于上述存储器阵列的上述操作存储器地址的上述加密数据解密为上述读取数据。
10、根据本发明的一实施例,上述第二加密模式运算为一密码区块连结-信息鉴别码模式。
11、本发明更提出一种操作方法,适用于一加密装置。上述加密装置包括一存储器阵列,上述存储器阵列存储一锁定数据。上述操作方法包括:判断上述锁定数据是否等于一预设值;当判断上述锁定数据等于上述预设值时,将一写入锁定设为一解锁状态;当上述写入锁定为上述解锁状态时,将一写入数据与一输出密钥进行加密而产生一加密写入数据;以及将上述加密写入数据写入上述存储器阵列中。
12、根据本发明的一实施例,上述操作方法更包括:当设置一加密存储器地址时,执行一设置方法;当比对上述加密数据时,执行一比对方法;当烧录上述加密存储器地址的一信息鉴别码时,执行一烧录方法;当验证上述信息鉴别码时,执行一验证方法;当对上述存储器阵列执行一写入操作时,执行一写入方法;以及当对上述存储器阵列执行一读取操作时,执行一读取方法。上述写入方法执行之前,需依序执行上述设置方法以及上述比对方法各至少一次。上述读取方法执行之前,需依序执行上述设置方法、上述烧录方法以及上述验证方法各至少一次。
13、根据本发明的一实施例,上述设置方法更包括:通过一总线接口,设定的上述加密存储器地址、一密钥、一随机数、一设定信息以及一加密使能信号,其中上述密钥、上述随机数以及上述设定信息对应至上述加密存储器地址,其中上述加密存储器地址包括一起始存储器地址、一结束存储器地址以及一信息鉴别码存储器地址;以及根据上述加密使能信号,将上述加密存储器地址对应的上述写入锁定以及一密钥锁定设为一锁定状态。
14、根据本发明的一实施例,上述比对方法更包括:读取上述加密存储器地址的上述锁定数据,其中上述锁定数据存储于上述结束存储器地址;判断上述锁定数据是否等于上述预设值;当判断上述锁定数据等于上述预设值时,将上述写入锁定设为上述解锁状态;以及当判断上述锁定数据不等于上述预设值时,将上述写入锁定设定为上述锁定状态。
15、根据本发明的一实施例,上述烧录方法更包括:将一数值写入上述结束存储器地址而为上述锁定数据,其中上述数值不等于上述预设值;选择上述加密存储器地址进行烧录;读取上述存储器阵列的上述加密存储器地址的上述加密数据以及上述锁定数据;根据上述加密数据、上述锁定数据、上述起始存储器地址、上述结束存储器地址以及上述设定信息,产生上述加密存储器地址的一摘要信息;将上述摘要信息写入上述信息鉴别码存储器地址;以及在将上述摘要信息写入后,将上述密钥锁定设定为上述解锁状态。
16、根据本发明的一实施例,上述根据上述加密数据、上述锁定数据、上述起始存储器地址、上述结束存储器地址以及上述设定信息产生上述加密存储器地址的上述摘要信息的步骤更包括:将上述加密数据、上述锁定数据、上述起始存储器地址、上述结束存储器地址以及上述设定信息进行一加密模式运算,而产生一加密结果;以及根据上述加密结果以及上述密钥,产生上述摘要信息。上述加密模式运算为一密码区块连结-信息鉴别码模式。
17、根据本发明的一实施例,上述验证方法更包括:选择上述加密存储器地址进行验证;读取上述存储器阵列的上述加密存储器地址的上述加密数据、上述锁定数据以及上述信息鉴别码;根据上述加密数据、上述锁定数据、上述起始存储器地址、上述结束存储器地址以及上述设定信息,产生上述加密存储器地址的上述摘要信息;判断上述信息鉴别码是否等于上述摘要信息;当上述信息鉴别码等于上述摘要信息时,将上述加密存储器地址的上述密钥锁定设为上述解锁状态;以及当上述信息鉴别码不等于上述摘要信息时,将上述加密存储器地址的上述密钥锁定设为上述锁定状态。
18、根据本发明的一实施例,上述写入方法更包括:接收一操作存储器地址进行一写入操作;判断上述操作存储器地址是否在上述加密存储器地址中;当上述操作存储器地址在上述加密存储器地址中时,判断上述写入锁定是否为上述解锁状态;当上述写入锁定为上述解锁状态时,根据上述操作存储器地址、上述随机数以及上述密钥,产生一密钥流;利用上述密钥流对上述写入数据加密而产生上述加密数据;以及将上述加密数据写入上述存储器阵列。
19、根据本发明的一实施例,上述根据上述操作存储器地址、上述随机数以及上述密钥产生上述密钥流的步骤更包括:对上述操作存储器地址以及上述随机数进行一加密模式运算,而产生一加密结果;根据上述加密结果以及上述密钥,产生上述密钥流;根据上述操作存储器地址位于加密存储器地址中且上述写入锁定为上述解锁状态,使能一密钥使能信号;以及根据上述密钥使能信号,将上述密钥流输出为一输出密钥。上述输出密钥更用以对上述写入数据加密,上述加密模式运算为一计数器模式。
20、根据本发明的一实施例,上述读取方法更包括:接收一操作存储器地址进行一读取操作;判断上述操作存储器地址是否在上述加密存储器地址中;当上述操作存储器地址在上述加密存储器地址中时,判断上述密钥锁定是否为上述解锁状态;当上述密钥锁定为上述解锁状态时,根据上述操作存储器地址、上述随机数以及上述密钥,产生一密钥流;利用上述密钥流对上述加密数据解密而产生一读取数据;以及将上述读取数据传送至一主机。
21、根据本发明的一实施例,上述读取方法更包括:当上述操作存储器地址不在上述加密存储器地址中时,不产生上述密钥流;当上述密钥锁定为上述锁定状态时,不产生上述密钥流;以及直接读取上述存储器阵列的上述操作存储器地址的上述加密数据,而为上述读取数据。