CN101635623B - 多层级数据加密与解密系统及其方法 - Google Patents
多层级数据加密与解密系统及其方法 Download PDFInfo
- Publication number
- CN101635623B CN101635623B CN2008101337144A CN200810133714A CN101635623B CN 101635623 B CN101635623 B CN 101635623B CN 2008101337144 A CN2008101337144 A CN 2008101337144A CN 200810133714 A CN200810133714 A CN 200810133714A CN 101635623 B CN101635623 B CN 101635623B
- Authority
- CN
- China
- Prior art keywords
- level
- function
- key
- time
- encryption
- 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
Images
Abstract
本发明提出一种多层级数据加解密系统与方法,此加密方法包括将数据对应使用者的层级分隔成多个子数据区块。此方法也包括依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥,以及以每一层级的加密金钥分别地加密属于每一层级的子数据区块,其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,并且时间金钥是根据时间生成金钥与时间种子所产生,其中时间种子是依据不同的加密时段定期地更新。因此,能够在管控不同使用者的读取权限且具向前与向后的数据安全下减少使用者所需管理的金钥数目。
Description
技术领域
本发明涉及一种多层级数据加密与解密系统及其加密与解密方法。
背景技术
近年来,由于无线传输技术的进步及无线节点具有无线与易布建等特性,使得各式无线传输技术广泛应用于各种数据传输上,例如无线感测网路(Wireless Sensor Network,WSN)、Zigbee、蓝牙等。以无线感测网路为例,无线感测网路已广泛地运用于各场所或物件的状态监测,例如卖场监控、环境物染的监控、工地(如捷运工地)的安全监控等。为了确保被监控场所物件的安全,无线感测器会不断将所测得的物件状态回报予系统的中控中心,使用者可通过连结至中控中心下载相关数据以进行被监测物件的监控。
在无线传输环境中,数据的安全保护是相当重要的课题。因此,在无线传输环境中所传递的数据一般都会以金钥进行加密以避免未授权使用者存取此数据。然而,在多人使用的系统中,每一使用者有权读取的数据会有所不同。因此,一般会以多把金钥来分别加密属于不同等级的数据,并且使用者可依据所拥有的金钥来解密被授权可读取的数据。在此类系统中,使用者必须管理多把金钥,因此当数据所分的等级愈多层时,使用者所需管理的金钥数目亦会增加,由此会造成金钥管理上的不便。
此外,为避免已解除授权的使用者继续使用曾经所拥有的金钥存取数据或者新授权使用者在未被授权下存取先前所加密的数据,一般的作法会以时间为基础更新金钥。也就是说,此类系统会在不同时间使用不同的金钥来加密数据,以达到向前(forward)与向后(backward)的数据安全保护。然而,在此种加密机制中系统必须在所有加密数据的加密装置与使用者的使用者终端的间进行时间同步,以确保加密装置与使用者终端使用正确的金钥加密数据与解密数据。此时间同步的动作往往会造成系统运作上的负荷。再者,由于在不同时间是使用不同金钥加密,因此使用者所需拥有的金钥会包括除了依数据等级区分的金钥外还包括依时间区分的金钥,因此更增加使用者管理多把金钥的负担。
为解决上述问题,美国专利公开号第2002/0191796号将数据区分为依序的多个数据区块,并且在加密数据区块时会将用以加密下一数据区块的金钥与此数据区块一起加密,因此当使用者以前一把金钥解密数据区块时可获取解密下一笔数据区块的金钥,以达到向前(forward)与向后(backward)的数据安全保护的目的。
发明内容
本发明提供一种多层级数据加密与解密方法,其能够管控不同使用者权限所能读取的数据。
本发明提出一种多层级数据加密方法,此方法包括将欲被加密的数据对应多个层级分隔成多个子数据区块,其中每一层级对应至少一使用者。此方法也包括依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥,以及以每一层级的加密金钥分别地加密属于每一层级的子数据区块,其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,并且时间金钥是根据时间生成金钥与时间种子所产生,其中时间种子是依据不同的加密时段定期地更新。
本发明提出一种多层级数据解密方法,此方法包括将对应使用者的层级及其他被授权可读取层级且对应加密时段的已加密子数据区块传送给使用者。此方法也包括使用者依据此层级及其他被授权可读取层级的层级生成金钥与时间金钥来产生此层级及其他被授权可读取层级的加密金钥,并且以此层级及其他被授权可读取层级的加密金钥分别地解密对应使用者的层级及其他被授权可读取层级的已加密子数据区块,其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,并且时间金钥是根据对应已加密子数据区块的时间种子与时间生成金钥所产生,其中时间种子是依据不同的加密时段定期地更新。
本发明提出一种多层级数据加密系统,其包括数据伺服器与至少一加密模块。数据伺服器用以将多个使用者分组为多个层级,并且产生时间生成金钥、时间种子与每一层级的层级生成金钥,其中数据伺服器会依据不同的加密时段产生不同的时间种子并且根据上层级的层级生成金钥产生下层级的层级生成金钥。加密模块用以接收时间生成金钥、时间种子与每一层级的层级生成金钥,将欲被加密的数据对应这些层级分隔成多个子数据区块,依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥并且使用每一层级的加密金钥分别地加密属于每一层级的子数据区块,其中加密模块会依据时间生成金钥与时间种子产生时间金钥并且根据上层级的时间金钥产生下层级的时间金钥。
本发明提出一种多层级数据解密系统,其包括数据伺服器与解密模块。数据伺服器储存多个已加密子数据区块。解密模块用以从数据伺服器中读取对应使用者的层级及其他被授权可读取层级且对应加密时段的已加密子数据区块,依据此层级与其他被授权可读取层级的层级生成金钥与时间金钥来产生此层级与其他被授权可读取层级的加密金钥,并且以此层级与其他被授权可读取层级的加密金钥解密已加密子数据区块,其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,其中数据伺服器会根据对应所述已加密子数据区块的时间种子与时间生成金钥产生与提供对应此层级与加密时段的时间金钥给解密模块,其中时间种子是依据不同的加密时段所产生。
综上所述,本发明是采用以上层级的层级生成金钥与时间金钥来产生下层级的层级生成金钥与时间金钥的金钥产生机制。
为使本发明的上述特征和优点能更明显易懂,下文特举较佳实施例,并结合附图详细说明如下。
附图说明
图1是根据本发明范例实施例绘示多层级数据加密与解密系统的概要方块图。
图2是根据本发明范例实施例绘示多层级数据加密方法的流程图。
图3是根据本发明范例实施例绘示多层级数据解密方法的流程图。
附图符号说明
1:第一无线感测器
2:第二无线感测器
3:第三无线感测器
4:中控装置
5:使用者终端
100:多层级数据加密与解密系统
110:第一加密模块
120:第二加密模块
130:第三加密模块
140:数据伺服器
150:解密模块
S201、S203、S205、S207、S209、S211:多层级数据加密的步骤
S301、S303、S305、S307、S309、S311、S313、S315:多层级数据解密的步骤
具体实施方式
本发明所提出的加密方法是将需加密的数据依不同层级(即不同使用者群组)分隔成不同子数据区块,并且以依据每一层级的层级生成金钥与时间金钥所产生的每一层级的加密金钥来加密属于不同层级的子数据区块,其中产生时间金钥的时间种子会依据不同的加密时段而不同,由此可使属于不同层级的使用者群组可依其授权等级存取数据并且能够达成向前与向后的数据安全保护。特别是,在产生金钥的过程中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,因此可大大的减少使用者所需管理的金钥数目。以下将以范例实施例并结合附图详细说明本发明。
图1是根据本发明范例实施例绘示多层级数据加密与解密系统的概要方块图。
请参照图1,多层级数据加密与解密系统100包括第一加密模块110、第二加密模块120、第三加密模块130以及数据伺服器140。在本范例实施例中,多层级数据加密与解密系统100是架构在一无线感测网路(WirelessSensor Network,WSN)上,因此第一加密模块110、第二加密模块120、第三加密模块130是分别地配置在第一无线感测器1、第二无线感测器2与第三无线感测器3等装置节点上,且数据伺服器140是配置在此无线感测网路上的中控装置4上。在此第一无线感测器1、第二无线感测器2、第三无线感测器3与中控装置4所建构的无线感测网路中,第一无线感测器1、第二无线感测器2与第三无线感测器3会搜集所配置地点附近的相关数据(例如影像),并且分别地通过第一加密模块110、第二加密模块120、第三加密模块130加密后传送至中控装置4储存,使用者可通过网路连接至中控装置4读取所储存的记录。无线感测网路的运作方式为本领域技术人员所熟悉,在此不再详细描述。然而,必须了解的是本发明不限于架构在无线感测网路中,多层级数据加密与解密系统100亦可架构于Zigbee、蓝牙等无线环境中或者亦可架构于有线传输的网路环境中。
数据伺服器140会储存由第一无线感测器1、第二无线感测器2与第三无线感测器3传送至中控装置4的已加密数据。数据伺服器140可以是一般具有数据储存媒体的数据处理装置。例如,数据伺服器140包括一数据库以管理所储存的数据。
特别是,数据伺服器140会将授权可使用的使用者分组为多个层级来分级管理,以使得每一层级的使用者所能够读取的数据会有所限制。具体来说,较上层级的使用者被授权可读取的数据较完整,较下层级的使用者所能读取的数据会较受到限制。也就是说,分组为较上层级的使用者是具有较高权限的使用者,分组为较下层级的使用者是具有较低权限的使用者,较高权限的使用者可读取分级上授权给较低权限者读取的数据,但较低权限者无法读取分级上授权给较高权限者才被授权可读取的数据。
为对上述不同层级的使用者进行读取权限的限制,数据伺服器140会为每一层级产生每一层级所属的层级生成金钥以对每一层级的数据进行加密。特别是,下层级的层级生成金钥会根据上层级的层级生成金钥来产生以达到分级管制的目的。
在本发明一范例实施例中,例如数据伺服器140会将使用者11、使用者12与使用者13分组为3个层级,其中使用者11属于具最高权限的第一层级,使用者12属于具次高权限的第二层级,并且使用者13属于最低权限的第三层级。
数据伺服器140会以一随机方式产生属于最高层级的使用者的群组金钥K1,然后通过单向散列函数链(one-way hash chain)的第三函数来依序产生第二层级的群组金钥K2与第三层级的群组金钥K3,如下式所示:
KL=HL-1(K1)
其中H为散列函数且L为2~3的整数。在本范例实施例中第三函数是以散列函数来产生第二层级的群组金钥K2与第三层级的群组金钥K3,但必须了解的是本发明不限于此,在本发明另一实施例中各种加密函数、XOR函数或任何其他适合的函数皆可用作为第三函数。
的后,数据伺服器140会将每一层级的群组金钥{K1,K2,K3}分别地与加密模块的识别码(例如,在本范例实施例中假设第一无线感测器1、第二无线感测器2与第三无线感测器3的识别码分别为ID1、ID2与ID3)来以第二函数产生用于每一加密模块的每一层级的层级生成金钥{KBIDn,L,n=1~3,L=1~3},在本实施例中是以加密函数作为第二函数,如下式所示:
KBIDn,L=Enc(KL,IDn)
其中Enc为加密函数,且L表示层级。
在本范例实施例中,加密函数为一符合先进加密标准(AdvancedEncryption Standard,AES)的加密函数,然而必须了解是本发明不限于此,任何适合的加密函数皆可应用于本发明,例如数据加密标准(Data EncryptionStandard,DES)函数。除此之外,在本发明另一实施例中,第二函数亦可使用散列函数、XOR函数或其他适当的函数来实作。
值得一提的是,本实施例中以无线感测器的识别码作为产生层级生成金钥的参数之一是因为本实施例中会针对每一无线感测器提供不同的层级生成金钥。然而,在另一实施例中,在不考虑多个无线感测器或每一无线感测器都使用相同层级生成金钥的情况下,亦可直接使用群组金钥作为层级生成金钥。
除了上述层级生成金钥,数据伺服器140亦会产生时间生成金钥与时间种子。时间生成金钥与时间种子是用于产生每一加密时段的时间金钥。在本实施例中,在每一加密时段中会使用不同的时间金钥,其可使所加密的数据具有向前(forward)与向后(backward)的数据安全保护,以避免已解除授权的使用者继续使用曾经拥有的金钥存取数据或者新授权使用者在未授权下存取先前加密的数据。
例如,数据伺服器140会以自身所拥有的主要金钥MK与无线感测器的识别码以第六函数来产生时间生成金钥{TMKIDn,n=1~3},在本范例实施例中第六函数是以加密函数来实作,如下式所示:
TMKIDn=Enc(MK,IDn)
其中Enc为加密函数。在本范例实施例中,加密函数为一先进加密标准(Advanced Encryption Standard,AES)加密函数,然而必须了解是本发明不限于此,任何适合的加密函数皆可应用于本发明,例如数据加密标准(DataEncryption Standard,DES)函数。除此之外,在本发明另一实施例中,第六函数亦可使用散列函数、XOR函数或其他适当的函数来实作。
类似地,本范例实施例中以无线感测器的识别码作为产生时间生成金钥的参数之一是因为本实施例中会针对每一无线感测器提供不同的时间生成金钥。然而,在另一实施例中,在不考虑多个无线感测器或者每一无线感测器都使用相同时间生成金钥的情况下,亦可直接使用主要金钥MK作为时间生成金钥。
在本发明另一实施例中,数据伺服器140会为每一使用者产生使用者金钥,并且在给予使用者所属的群组金钥时同时给予使用者的使用者金钥以作为使用者登入数据伺服器140的身份识别之用。例如,使用者11的使用者金钥UK1、使用者12的使用者金钥UK2与使用者13的使用者金钥UK3分别是以数据伺服器的主要金钥MK和使用者11的使用者识别码UID1、使用者12的使用者识别码UID2与使用者13的使用者识别码UID3来以加密函数所实作的第八函数来产生(即,UKi=Enc(MK,UIDi),其中i为1~3)。类似地,在本发明另一实施例中,第八函数亦可使用散列函数、XOR函数或其他适当的函数来实作。
在本发明另一实施例中,数据伺服器140的主要金钥MK是以一随机方式来产生。此外,数据伺服器140会针对不同加密时段T产生不同的时间种子SeedT,例如以日期、时间等作为时间种子的产生参数。在本范例实施例中,是依据主要金钥MK与目前日期以加密函数所实作的第七函数产生出目前加密时段T的时间种子SeedT。类似地,在本发明另一实施例中,第七函数亦可使用散列函数、XOR函数或其他适当的函数来实作。
如上所述,第一加密模块110、第二加密模块120与第三加密模块130是用以加密第一无线感测器1、第二无线感测器2与第三无线感测器3所传送的数据。第一加密模块110、第二加密模块120与第三加密模块130具有相同的结构与功能,在此以第一加密模块110进行说明。
第一加密模块110会从数据伺服器140中接收时间生成金钥TMKID1、时间种子SeedT与每一层级的层级生成金钥{KBID1,L,L=1~3},其中L表示层级。特别是,在本范例实施例中,数据伺服器140会在每一段时间间隔时广播新的时间种子SeedT给第一加密模块110、第二加密模块120与第三加密模块130,以使第一加密模块110、第二加密模块120与第三加密模块130可依据新的时间种子与时间生成金钥来产生目前加密时段T的时间金钥。例如,第一加密模块110接收到目前加密时段的时间种子SeedT时会使用第四函数来产生在目前加密时段中第一层级的时间金钥TKID1,T,在本范例实施例中第四函数是以散列函数来实作,如下式所示:
TKID1,T=H(TMKID1,SeedT)
其中H为散列函数。
特别是,第一加密模块110会依据时间生成金钥TMKID1与该时间种子SeedT产生第一层级的时间金钥TKID1,T,并且以单向散列函数链依序产生第二层级与第三层级的时间金钥。也就是,第一加密模块110会根据第一层级的时间金钥TKID1,T以散列函数所实作的第五函数来产生第二层级的时间金钥H(TKID1,T),最后再根据第二层级的时间金钥产生第三层级的时间金钥H(H(TKID1,T))。在本范例实施例中第四与第五函数是以散列函数来实作,但必须了解的是本发明不限于此,在本发明另一实施例中各种加密函数、XOR函数或任何其他适合的函数皆可用来产生时间金钥。
第一加密模块110亦会将欲传送的数据对应使用者的层级分隔成多个子数据区块。例如,在本范例实施例中第一加密模块110会将数据以使用者所分组的3个层级来分割为对应的子数据区块M1、M2与M3,其中属于第一层级的使用者是被授权可读取子数据区块M1、M2与M3,属于第二层级的使用者是被授权可读取子数据区块与M2与M3,并且属于第三层级的使用者是被授权可读取子数据区块M3。
此外,第一加密模块110会依据所接收到的每一层级的层级生成金钥以及依据新种子所产生的时间金钥来产生每一层级的加密金钥。例如,在本范例实施例中第一加密模块110会使用每一层级的层级生成金钥与目前的时间金钥以第一函数来产生每一层级的加密金钥{KEID1,L,T,L=1~3},在本范例实施例中第一函数是以散列函数来实作,如下式所示:
KEID1,L,T=H(KBIDn,L,HL-1(TKID1,T))
其中H为散列函数,且L为层级。在本范例实施例中是以散列函数来产生加密金钥,但必须了解的是本发明不限于此,在本发明另一实施例中各种加密函数、XOR函数或任何其他适合的函数皆可用来产生加密金钥。
第一加密模块110会使用上述所产生的每一层级的加密金钥{KEID1,L,T,L=1~3}分别地加密子数据区块M1、M2与M3以产生已加密子数据区块C1、C2与C3。
值得一提的是,在另一实施例中,倘若第一加密模块110未接收到新的时间种子而以旧的时间种子产生时间金钥,并且以旧的时间金钥所产生的加密金钥来加密子数据区块时,则数据伺服器140会在收到已加密数据区块后确认所使用的时间种子,并且记录非使用正确时间种子所加密的子数据区块,由此提供后续解密的参考。此外,当发生第一加密模块110未使用正确的时间种子时,数据伺服器140会再次广播目前所使用的时间种子给第一加密模块110。
在本发明一范例实施例中,多层级数据加密与解密系统100也包括解密模块150。在加密模块110、120与130完成子数据区块的加密,并且所加密的数据由无线感测器1、2与3传送至中控装置4的数据伺服器140并储存的后,使用者11、使用者12或使用者13可通过配置在使用者终端5的解密模块150来读取储存在数据伺服器140中的已加密的子数据区块。在本实施例中,使用者终端5是通过一有线网路连接至中控装置4。然而,必须了解的是本发明不限于此,在本发明另一实施例中使用者终端5是通过一无线网路连接至中控装置4。
解密模块150是用以从数据伺服器140中读取对应使用者(例如,使用者11、使用者12或使用者13)的层级及其他被授权可读取层级且对应加密时段的已加密子数据区块。具体来说,在本范例实施例中如上所述较高权限的使用者可读取分级上授权给较低权限者读取的数据,而较低权限者无法读取分级上授权给较高权限者才读取的数据,因此数据伺服器140会在使用使用者金钥确认使用者的身份后依据使用者所属的层级提供相对应被授权可读取层级的数据。
例如,在本范例实施例中,使用者12通过使用者终端5输入使用者金钥UK2来请求读取于加密时段T由第一无线感测器1所已加密的子数据区块时。由于使用者12属于第二层级,因此数据伺服器140会提供对应第二层级与第三层级的已加密子数据区块(例如,子数据区块C2与C3)给使用者终端5的解密模块150。
在本发明范例实施例中,数据伺服器140会产生对应使用者所属的层级的时间金钥,并与已加密子数据区块一起传送给使用者终端5的解密模块150。例如,数据伺服器140会依据对应所传送已加密子数据区块的时间种子与时间生成金钥以散列函数来产生最上层级的时间金钥,并且以单向散列函数链产生对应使用者所属的层级的时间金钥。
解密模块150会依据使用者被授权可读取的层级的层级生成金钥与时间金钥来产生使用者被授权可读取层级(即第二层级与第三层级)的加密金钥,并且这些加密金钥来解密所接收的已加密子数据区块。特别是,解密模块150会根据上层级的层级生成金钥与时间金钥来产生下层级的层级生成金钥与时间金钥。
例如,以上述使用者12通过使用者终端5输入使用者金钥UK2来请求读取于加密时段T由第一无线感测器1所已加密的子数据区块为例,解密模块150会依据使用者12的群组金钥K2以及加密所接收的子数据区块的加密模块(即第一无线感测器1)的识别码ID1来产生第二层级的层级生成金钥KBID1,2。此外,解密模块150会使用使用者12的群组金钥K2以散列函数来产生群组金钥K3,并且依据群组金钥K3以及第一无线感测器1的识别码ID1来产生第三层级的层级生成金钥KBID1,3。同时,解密模块150会依据从数据伺服器140中所接收对应使用者12所属的层级(即第二层级)的时间金钥H(TKID1,T)来产生第三层级的时间金钥H(H(TKID1,T))。基此,解密模块150会依据使用者12被授权可读取的层级(即第二层级与第三层级)的层级生成金钥与时间金钥来产生使用者被授权可读取层级的加密金钥。
图2是根据本发明范例实施例绘示多层级数据加密的流程图,并且图3是根据本发明范例实施例绘示多层级数据解密方法的流程图。
为了方便说明图2与图3的步骤,以下将以一完整的加密与解密范例来详细描述本范例实施例的加密与解密流程。在此范例中,第一无线感测器1会将时段T所感测的数据传送给中控装置4,并且之后使用者12请求从中控装置4中读取于时段T中第一无线感测器1所感测的数据。
请参照图2,在步骤S201中第一无线感测器1的第一加密模块110会将所感测的数据对应使用者的层级分隔成子数据区块M1、M2与M3。
在步骤S203中第一加密模块110会根据目前的时间种子SeedT来产生最上层级(即第一层级)的时间金钥,并且以单向散列函数(即,第四函数)链依序产生第二层级与第三层级的时间金钥,其中数据伺服器140会定期的广播目前时段的时间种子。
接着,在步骤S205中第一加密模块110会依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥,其中数据伺服器140会根据上层级的层级生成金钥来产生下层级的层级生成金钥,层级生成金钥的产生方式已详细描述如上,在此不再重复说明。
在步骤S207中,第一加密模块110会以每一层级的加密金钥加密属于每一层级的子数据区块。
最后,在步骤S209中第一无线感测器模块1会将已加密的子数据区块C1、C2与C3传递给中控装置4,并且在步骤S211中数据伺服器140会储存这些已加密的子数据区块C1、C2与C3。
值得一提的是,在多层级数据加密与解密系统100初始化时,数据伺服器140会将每一无线感测器的加密模块加密数据所需使用的层级生成金钥与时间生成金钥会传递至每一无线感测器,并且的后会由数据伺服器140定期地广播新的时间种子,由此每一无线感测器的加密模块可依据上述方式产生加密数据所需的加密金钥。
接着,请参照图3,在步骤S301中使用者12通过配置解密模块150的使用者终端请求读取第一无线感测器1于加密时段T所感测的已加密子数据区块。
在步骤S303中依据使用者12的使用者金钥UK2验证使用者12的身份,并且确认使用者12所属的层级。
倘若在步骤S303中,判断验证失败时,则结束多层级数据解密的程序。倘若在步骤S303中判断验证成功时,则在步骤S305中数据伺服器140会动态地计算出加密时段T所使用的时间种子,以主要金钥与第一无线感测器1的识别码ID1动态地计算出时间生成金钥,依据时间生成金钥与时间种子以散列函数(即,第四函数)动态地计算出第一层级的时间金钥,并且以单向散列函数(即,第五函数)链计算出使用者12所属层级的时间金钥。
在步骤S307中数据伺服器140会将对应使用者12被授权可读取的层级且对应加密时段T的已加密子数据区块传递至解密模块150。同时,在步骤S309中数据伺服器140会将使用者12所属层级的时间金钥传送给解密模块150。在本发明另一实施例中,使用者12所属层级的时间金钥亦可以使用者金钥UK2加密后再传送。
的后,在步骤S311中,解密模块150会依据使用者12(即第二层级)的群组金钥以散列函数(即,第三函数)来产生第三层级的群组金钥,并且依据第二层级与第三层级的群组金钥通过第二函数来产生第二层级与第三层级的层级生成金钥。并且在步骤S313中解密模块150会依据使用者12所属层级的时间金钥以散列函数(即,第五函数)产生第三层级的时间金钥。
最后,在步骤S315中解密模块150会依据使用者12被授权可读取的层级(即,第二与第三层级)的层级生成金钥与时间金钥以第一函数来分别地解密对应的已加密子数据区块。
必须了解的是,在本范例实施中是分别地使用散列函数与加密函数来实作第一至第七函数以产生使用者金钥、群组金钥、主要金钥、时间种子、时间生成金钥、层级生成金钥与加密金钥,然而在不违背本发明精神下任何适合的函数皆可应用于本发明。
综上所述,本发明使用分层级的方式加密数据,由此较高权限的使用者可读取分级上授权给较低权限者读取的数据,但较低权限者无法读取分级上授权给较高权限者才读取的数据。此外,本发明使用以时间种子来更新的时间金钥,使得所加密的数据具有向前与向后的安全保护,并且不需要进行时间的同步,因此降低加密系统运算的复杂度。再者,本发明是根据上层级的层级生成金钥产生下层级的层级生成金钥,且以上层级的时间金钥产生下层级的时间金钥来产生每一层级的层级生成金钥与时间金钥,由此降低装置所管理的金钥数,减轻装置的运算负担。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,本领域的技术人员在不脱离本发明的精神和范围的前提下可作若干的更动与润饰,因此本发明的保护范围以本发明的权利要求为准。
Claims (42)
1.一种多层级数据加密方法,包括:
将欲被加密的数据对应多个层级分隔成多个子数据区块,其中每一层级对应至少一使用者;
依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥;以及
以所述层级的加密金钥分别地加密属于所述层级的子数据区块,
其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,并且所述时间金钥是根据一时间生成金钥与一时间种子所产生,其中该时间种子是依据不同的加密时段定期地更新。
2.如权利要求1所述的多层级数据加密方法,其中依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥的步骤包括使用一第一函数来产生每一层级的加密金钥。
3.如权利要求2所述的多层级数据加密方法,还包括:
依据每一层级的群组金钥与执行加密所述子数据区块的一装置节点的识别码通过一第二函数来产生每一层级的层级生成金钥,并且依据上层级的群组金钥通过一第三函数来产生下层级的群组金钥,其中最上层级的群组金钥是以一随机方式来产生;以及
依据该时间生成金钥与该时间种子通过一第四函数来产生最上层级的时间金钥,并且依据上层级的时间金钥以通过第五函数来产生下层级的时间金钥。
4.如权利要求3所述的多层级数据加密方法,还包括依据一主要金钥与该装置节点的识别码通过一第六函数来产生该时间生成金钥。
5.如权利要求4所述的多层级数据加密方法,还包括依据该主要金钥与对应该加密时段的识别符以一第七函数来产生该时间种子。
6.如权利要求4所述的多层级数据加密方法,还包括以一随机方式来产生该主要金钥。
7.如权利要求5所述的多层级数据加密方法,还包括分别地以该主要金钥与所述使用者的识别码以一第八函数来产生所述使用者的使用者金钥。
8.如权利要求7所述的多层级数据加密方法,其中该第一函数、该第二函数、该第三函数、该第四函数、该第五函数、该第六函数、该第七函数与该第八函数分别地包括一加密函数、一散列函数或一XOR函数。
9.如权利要求8所述的多层级数据加密方法,其中该加密函数包括一符合先进加密标准的加密函数或一符合数据加密标准的函数。
10.如权利要求1所述的多层级数据加密方法,还包括记录未使用最新更新的该时间种子所加密的所述子数据区块。
11.一种多层级数据解密方法,包括:
将对应一使用者的层级及其他被授权可读取层级且对应一加密时段的已加密子数据区块传送给该使用者;
该使用者依据该层级及该其他被授权可读取层级的层级生成金钥与时间金钥来产生该层级及该其他被授权可读取层级的加密金钥;以及
以该层级及该其他被授权可读取层级的加密金钥分别地解密对应该使用者的层级及其他被授权可读取层级的已加密子数据区块,
其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,并且所述时间金钥是根据对应所述已加密子数据区块的一时间种子与一时间生成金钥所产生,其中该时间种子是依据不同的加密时段定期地更新。
12.如权利要求11所述的多层级数据解密方法,其中依据该层级及该其他被授权可读取层级的层级生成金钥与时间金钥来产生该层级及该其他被授权可读取层级的加密金钥的步骤包括使用一第一函数来产生该层级及该其他被授权可读取层级的加密金钥。
13.如权利要求12所述的多层级数据解密方法,还包括:
将该层级及该其他被授权可读取层级的时间金钥提供给该使用者,其中最上层级的时间金钥是依据该时间生成金钥与该时间种子通过一第四函数来产生并且下层级的时间金钥是依据上层级的时间金钥通过一第五函数来产生;以及
该使用者依据该层级及该其他被授权可读取层级的群组金钥与加密所述已加密子数据区块的一装置节点的识别码通过一第二函数来产生该层级及该其他被授权可读取层级的层级生成金钥,其中该使用者依据该层级的群组金钥通过一第三函数来产生该其他被授权可读取层级的群组金钥。
14.如权利要求13所述的多层级数据解密方法,还包括依据一主要金钥与该装置节点的识别码通过一第六函数产生该时间生成金钥。
15.如权利要求14所述的多层级数据解密方法,还包括依据该主要金钥与对应该加密时段的识别符通过一第七函数产生该时间种子。
16.如权利要求14所述的多层级数据解密方法,还包括以一随机方式产生该主要金钥。
17.如权利要求15所述的多层级数据解密方法,还包括依据该使用者的使用者金钥验证该使用者的身份,其中该使用者的使用者金钥是依据该主要金钥与该使用者的识别码通过一第八函数所产生。
18.如权利要求17所述的多层级数据解密方法,其中该第一函数、该第二函数、该第三函数、该第四函数、该第五函数、该第六函数、该第七函数与该第八函数分别地包括一加密函数、一散列函数或一XOR函数。
19.如权利要求18所述的多层级数据解密方法,其中该加密函数包括一符合先进加密标准的加密函数或一符合数据加密标准的函数。
20.如权利要求11所述的多层级数据解密方法,还包括确认所述已加密子数据区块是否是以对应该加密时段的时间种子来加密。
21.一种多层级数据加密系统,包括:
一数据伺服器,用以将多个使用者分组为多个层级,并且产生一时间生成金钥、一时间种子与每一层级的层级生成金钥,其中该数据伺服器会依据不同的加密时段产生不同的该时间种子并且根据上层级的层级生成金钥产生下层级的层级生成金钥;以及
至少一加密模块,用以接收该时间生成金钥、该时间种子与每一层级的层级生成金钥,将欲被加密的数据对应所述层级分隔成多个子数据区块,依据每一层级的层级生成金钥与时间金钥来产生每一层级的加密金钥并且使用所述层级的加密金钥分别地加密属于所述层级的子数据区块,其中该加密模块会依据该时间生成金钥与该时间种子产生该时间金钥并且根据上层级的时间金钥产生下层级的时间金钥。
22.如权利要求21所述的多层级数据加密系统,其中该加密模块还包括依据每一层级的层级生成金钥与时间金钥使用一第一函数来产生每一层级的加密金钥。
23.如权利要求21所述的多层级数据加密系统,其中该数据伺服器会储存该加密模块所加密的所述子数据区块。
24.如权利要求22所述的多层级数据加密系统,其中该数据伺服器会以一随机方式来产生最上层级的群组金钥,依据上层级的群组金钥通过一第二函数来产生下层级的群组金钥,并且依据每一层级的群组金钥与该加密模块的识别码通过一第三函数来产生每一层级的层级生成金钥,以及
该加密模块会依据该时间生成金钥与该时间种子以通过第四函数来产生最上层级的时间金钥,并且依据上层级的时间金钥通过一第五函数来产生下层级的时间金钥。
25.如权利要求24所述的多层级数据加密系统,其中该数据伺服器会依据一主要金钥与配置该加密模块的装置节点的识别码通过一第六函数来产生该时间生成金钥。
26.如权利要求25所述的多层级数据加密系统,其中该数据伺服器会依据该主要金钥与对应该加密时段的识别符以一第七函数来产生该时间种子。
27.如权利要求25所述的多层级数据加密系统,其中该数据伺服器以一随机方式来产生该主要金钥。
28.如权利要求26所述的多层级数据加密系统,其中该数据伺服器分别地以该主要金钥与所述使用者的识别码以一第八函数来产生所述使用者的使用者金钥。
29.如权利要求28所述的多层级数据加密系统,其中该第一函数、该第二函数、该第三函数、该第四函数、该第五函数、该第六函数、该第七函数与该第八函数分别地包括一加密函数、一散列函数或一XOR函数。
30.如权利要求29所述的多层级数据加密系统,其中该加密函数包括一符合先进加密标准的加密函数或一符合数据加密标准的函数。
31.如权利要求21所述的多层级数据加密系统,该数据伺服器会记录未使用最新更新的该时间种子所加密的所述子数据区块。
32.一种多层级数据解密系统,包括:
一数据伺服器,储存多个已加密子数据区块;以及
一解密模块,用以从该数据伺服器中读取对应上使用者的层级及其他被授权可读取层级且对应一加密时段的已加密子数据区块,依据该层级与该其他被授权可读取层级的层级生成金钥与时间金钥来产生该层级与该其他被授权可读取层级的加密金钥,并且以该层级与该其他被授权可读取层级的加密金钥解密所述已加密子数据区块,其中下层级的层级生成金钥与时间金钥是根据上层级的层级生成金钥与时间金钥所产生,
其中该数据伺服器会根据对应所述已加密子数据区块的一时间种子与一时间生成金钥产生与提供对应该层级与该加密时段的时间金钥给该解密模块,其中该时间种子是依据不同的加密时段所产生。
33.如权利要求32所述的多层级数据解密系统,其中该解密模块还包括依据该层级与该其他被授权可读取层级的层级生成金钥与时间金钥使用一第一函数来产生该层级及该其他被授权可读取层级的加密金钥。
34.如权利要求33所述的多层级数据解密系统,其中该数据伺服器会依据该时间生成金钥与该时间种子通过一第四函数来产生最上层级的时间金钥,并且通过一第五函数产生对应该层级的时间金钥。
35.如权利要求34所述的多层级数据解密系统,其中该解密模块会依据该层级的时间金钥通过该第五函数产生该其他被授权可读取层级的时间金钥;以及
该解密模块会依据该层级及该其他被授权可读取层级的群组金钥与加密所述已加密子数据区块的一装置节点的识别码通过一第二函数来产生该层级及该其他被授权可读取层级的层级生成金钥,其中该其他被授权可读取层级的群组金钥是依据该层级的群组金钥通过一第三函数来产生。
36.如权利要求35所述的多层级数据解密系统,其中该数据伺服器会依据一主要金钥与该装置节点的识别码通过一第六函数来产生该时间生成金钥。
37.如权利要求36所述的多层级数据解密系统,其中该数据伺服器会依据该主要金钥与对应该加密时段的识别符通过一第七函数来产生该时间种子。
38.如权利要求36所述的多层级数据解密系统,其中该数据伺服器的金钥产生单元会以一随机方式来产生该主要金钥。
39.如权利要求37所述的多层级数据解密系统,其中该数据伺服器会依据该使用者的使用者金钥验证该使用者的身份,其中该使用者的使用者金钥是依据该主要金钥与该使用者的识别码通过一第八函数所产生。
40.如权利要求39所述的多层级数据解密系统,其中该第一函数、该第二函数、该第三函数、该第四函数、该第五函数、该第六函数、该第七函数与该第八函数分别地包括一加密函数、一散列函数或一XOR函数。
41.如权利要求40所述的多层级数据解密系统,其中该加密函数包括一符合先进加密标准的加密函数或一符合数据加密标准的函数。
42.如权利要求32所述的多层级数据解密系统,其中该数据伺服器会确认所述已加密子数据区块是否是以对应该加密时段的时间种子来加密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101337144A CN101635623B (zh) | 2008-07-25 | 2008-07-25 | 多层级数据加密与解密系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101337144A CN101635623B (zh) | 2008-07-25 | 2008-07-25 | 多层级数据加密与解密系统及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101635623A CN101635623A (zh) | 2010-01-27 |
CN101635623B true CN101635623B (zh) | 2011-11-23 |
Family
ID=41594693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101337144A Expired - Fee Related CN101635623B (zh) | 2008-07-25 | 2008-07-25 | 多层级数据加密与解密系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101635623B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156894A (zh) * | 2011-04-07 | 2011-08-17 | 华南农业大学 | 一种分层二维码系统及其应用方法 |
CN105373738B (zh) * | 2015-10-16 | 2018-09-28 | 深圳国微技术有限公司 | 一种数据加/解密的处理方法和数据加/解密的处理装置 |
CN108038367B (zh) * | 2017-12-07 | 2021-02-26 | 上海摩软通讯技术有限公司 | 用户设备的权限管理的控制方法及系统 |
CN112019323B (zh) * | 2019-05-30 | 2024-05-03 | 深圳拓邦股份有限公司 | 数据加密、解密方法及装置、存储介质及电子设备 |
CN117544292B (zh) * | 2023-11-09 | 2024-04-26 | 南京普爱医疗设备股份有限公司 | 一种基于cbct影像设备的加密系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1445964A (zh) * | 2003-03-03 | 2003-10-01 | 北京三明商用电子设备有限公司 | 无线网络的访问接入端口 |
CN1613228A (zh) * | 2002-01-11 | 2005-05-04 | 皇家飞利浦电子股份有限公司 | 对多媒体的多播传输的接收机唯一的水印的产生 |
EP1701501A1 (en) * | 2005-03-08 | 2006-09-13 | Research In Motion Limited | System and method for sending encrypted messages to a distribution list |
-
2008
- 2008-07-25 CN CN2008101337144A patent/CN101635623B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1613228A (zh) * | 2002-01-11 | 2005-05-04 | 皇家飞利浦电子股份有限公司 | 对多媒体的多播传输的接收机唯一的水印的产生 |
CN1445964A (zh) * | 2003-03-03 | 2003-10-01 | 北京三明商用电子设备有限公司 | 无线网络的访问接入端口 |
EP1701501A1 (en) * | 2005-03-08 | 2006-09-13 | Research In Motion Limited | System and method for sending encrypted messages to a distribution list |
Also Published As
Publication number | Publication date |
---|---|
CN101635623A (zh) | 2010-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8090106B2 (en) | Multi-level data encryption and decryption system and method thereof | |
JP7073268B2 (ja) | 量子鍵配送に基づく暗号化及び復号のためのシステム及び方法 | |
US9286481B2 (en) | System and method for secure and distributed physical access control using smart cards | |
CN1910848B (zh) | 密码学密钥代的有效管理 | |
CN113111364A (zh) | 一种区块链数据隐私保护系统及其保护方法 | |
JP5563067B2 (ja) | 試験装置によってセキュアドチップへのアクセスを認証する方法 | |
KR102651659B1 (ko) | 전자 디바이스의 인가를 검증하기 위한 방법 및 디바이스 | |
CN102916806A (zh) | 密码密钥分配系统 | |
CN101292246A (zh) | 针对可移动存储装置的加密控制 | |
CN102843232B (zh) | 生成安全装置密钥 | |
CN103618729A (zh) | 一种应用于云存储的多机构层次化属性基加密方法 | |
CN105103488A (zh) | 借助相关联的数据的策略施行 | |
CN101535845A (zh) | 认证射频识别及其密钥分配系统 | |
CN101366034A (zh) | 内容加密防火墙系统 | |
CN101874419B (zh) | 为有源rfid标签提供安全通信 | |
CN101635623B (zh) | 多层级数据加密与解密系统及其方法 | |
KR20180119201A (ko) | 인증 시스템을 위한 전자 장치 | |
CN101651543A (zh) | 一种可信计算平台密钥迁移系统及其密钥迁移方法 | |
CN101361319A (zh) | 基于广播加密的家庭安全系统 | |
US20230388121A1 (en) | Method for encrypting and decrypting data across domains based on privacy computing | |
CN100410829C (zh) | 对访问基于计算机的对象进行授权 | |
CN113297619A (zh) | 基于可扩展精度双混沌哈希和RSA的Mysql敏感数据保护系统 | |
JP2012165130A (ja) | 通信装置および鍵算出装置 | |
CN102270182B (zh) | 基于同步用户和主机认证的加密可移动存储设备 | |
KR101085849B1 (ko) | 유비쿼터스 컴퓨팅 네트워크 환경에서의 비밀 키 전달/생성 방법 |
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: 20111123 Termination date: 20200725 |
|
CF01 | Termination of patent right due to non-payment of annual fee |