本發(fā)明涉及硬件加密領(lǐng)域,特別是涉及一種由加解密模塊陣列組成的高速加解密裝置。
背景技術(shù):
當(dāng)今社會(huì),計(jì)算機(jī)設(shè)備的數(shù)據(jù)安全性要求越來(lái)越高,對(duì)加解密的性能要求也越來(lái)越高。計(jì)算機(jī)采用軟件加密的方式會(huì)增加運(yùn)行負(fù)荷、又容易被人利用黑客手段破解,故需要采用硬件加密設(shè)備。
但是,目前國(guó)內(nèi)的硬件加密設(shè)備的加密部件排列較為分散,導(dǎo)致加密設(shè)備整體的運(yùn)算規(guī)模小且成本高,并進(jìn)而導(dǎo)致性能不夠高,處理效率低,處理速度慢。
因此,如何提供一種處理效率高的加解密裝置是本領(lǐng)域技術(shù)人員目前需要解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種由加解密模塊陣列組成的高速加解密裝置,將一個(gè)加解密單元與其對(duì)應(yīng)的通道控制單元以及總線協(xié)議接口作為一組加解密模塊,將多組加解密模塊排布為加解密陣列,提高了并行加解密的運(yùn)算規(guī)模,提高了加解密的效率,且采用陣列方式排布的成本更低。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種由加解密模塊陣列組成的高速加解密裝置,包括:
通信接口,用于接收計(jì)算機(jī)主機(jī)輸入的加解密指令;所述加解密指令內(nèi)攜帶有待加解密數(shù)據(jù)和身份信息;接收計(jì)算機(jī)主機(jī)發(fā)送的輸出指令,所述輸出指令攜帶有待輸出的加解密數(shù)據(jù)的身份信息;所述加解密指令所攜帶的身份信息與所述輸出指令所攜帶的身份信息一一對(duì)應(yīng);
加解密模塊陣列管理模塊,用于檢測(cè)加解密模塊陣列中各個(gè)加解密單元的運(yùn)行狀態(tài)并為加解密指令分配空閑的加解密單元;
分別與所述通信接口、所述加解密模塊陣列管理模塊連接的主控制器,用于依據(jù)各個(gè)所述加解密單元的運(yùn)行狀態(tài)及所述加解密指令攜帶的身份信息,控制將所述加解密指令發(fā)送至相應(yīng)的通道控制單元;依據(jù)所述輸出指令控制從相應(yīng)的加解密單元內(nèi)輸出經(jīng)過(guò)加解密的數(shù)據(jù),并返回計(jì)算機(jī)主機(jī);
所述加解密模塊陣列,包括多組加解密模塊,每組加解密模塊包括一個(gè)通道控制單元以及通過(guò)總線協(xié)議接口與所述通道控制單元一一對(duì)應(yīng)連接的加解密單元;
所述通道控制單元,用于將接收到的所述輸入加解密指令發(fā)送至對(duì)應(yīng)的加解密單元內(nèi);
所述加解密單元,用于依據(jù)接收到的所述輸入加解密指令內(nèi)的待加解密數(shù)據(jù)進(jìn)行加解密運(yùn)算并進(jìn)行存儲(chǔ)。
優(yōu)選地,所述通道控制單元具體包括:
通道數(shù)據(jù)緩存,用于緩存自身通過(guò)的數(shù)據(jù),
dma直接內(nèi)存存取模塊,用于對(duì)接收到的所述加解密指令進(jìn)行直接內(nèi)存存取傳輸;
通道控制器,用于對(duì)所述dma模塊進(jìn)行控制。
優(yōu)選地,所述加解密單元具體包括:
加解密區(qū)塊,用于依據(jù)接收到的所述加解密指令內(nèi)的待加解密數(shù)據(jù)進(jìn)行加解密運(yùn)算;
單元控制器,用于控制所述加解密區(qū)塊的運(yùn)算操作;
單元數(shù)據(jù)緩存,用于緩存加解密運(yùn)算后得到的數(shù)據(jù)。
優(yōu)選地,所述加解密單元具體為專用的加解密芯片。
優(yōu)選地,所述加解密指令攜帶的身份信息包括會(huì)話標(biāo)識(shí)和加解密流水號(hào)。
優(yōu)選地,所述通道控制單元與加解密單元的總線協(xié)議接口可以為sd接口、emmc接口、ufs接口、sata接口、spi接口中的任一種。
本發(fā)明提供了一種由加解密模塊陣列組成的高速加解密裝置,包括通信接口、加解密模塊陣列管理模塊、主控制器、加解密陣列,通過(guò)通信接口輸入的加解密指令攜帶有待加解密數(shù)據(jù)以及身份信息,主控制器依據(jù)輸入加解密指令攜帶的身份信息將其分配給相應(yīng)的空白加解密模塊內(nèi)進(jìn)行處理,可見(jiàn),在接收到多個(gè)輸入加解密指令時(shí),只要存在足夠的空白加解密模塊,則這些輸入加解密指令對(duì)應(yīng)的輸入任務(wù)之間即可互不影響,分別由不同的加解密模塊并行處理,從而大大提高了硬件加密或解密的處理效率以及處理速度,加密或解密的效率高。并且,本發(fā)明將加解密模塊組成陣列的形式,提高了加解密裝置整體的運(yùn)算規(guī)模,進(jìn)而提高了其并行處理能力,加解密的效率高,且采用陣列方式排布的成本更低。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種由加解密模塊陣列組成的的高速數(shù)據(jù)加密裝置的結(jié)構(gòu)示意圖;
圖2為本發(fā)明提供的加解密模塊陣列中通道控制單元的結(jié)構(gòu)示意圖;
圖3為本發(fā)明提供的加解密模塊陣列中加解密單元的結(jié)構(gòu)示意圖;
圖4為本發(fā)明提供的一個(gè)由芯片c01和emmc芯片來(lái)實(shí)現(xiàn)的實(shí)施案例;
圖5為本發(fā)明實(shí)施案例中通道控制單元對(duì)應(yīng)emmc通道控制單元的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施案例中加解密模塊采用emmc來(lái)實(shí)現(xiàn)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種由加解密模塊陣列組成的高速加解密裝置,將一個(gè)加解密單元與其對(duì)應(yīng)的通道控制單元以及總線協(xié)議接口作為一組加解密模塊,將多組加解密模塊排布為加解密陣列,提高了并行加解密的運(yùn)算規(guī)模,提高了加解密的效率,且采用陣列方式排布的成本更低。
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供了一種由加解密模塊陣列組成的高速數(shù)據(jù)加密裝置,參見(jiàn)圖1所示,圖1為本發(fā)明提供的一種由加解密模塊陣列組成的的高速數(shù)據(jù)加密裝置的結(jié)構(gòu)示意圖;該裝置包括:
通信接口1,用于接收計(jì)算機(jī)主機(jī)輸入的加解密指令;加解密指令內(nèi)攜帶有待加解密數(shù)據(jù)和身份信息;接收計(jì)算機(jī)主機(jī)發(fā)送的輸出指令,輸出指令攜帶有待輸出的加解密數(shù)據(jù)的身份信息;加解密指令所攜帶的身份信息與輸出指令所攜帶的身份信息一一對(duì)應(yīng);
加解密模塊陣列管理模塊3,用于檢測(cè)加解密模塊陣列4中各個(gè)加解密單元42的運(yùn)行狀態(tài)并為加解密指令分配空閑的加解密單元42;
分別與通信接口1、加解密模塊陣列管理模塊3連接的主控制器2,用于依據(jù)各個(gè)加解密單元42的運(yùn)行狀態(tài)及加解密指令攜帶的身份信息,控制將加解密指令發(fā)送至相應(yīng)的通道控制單元41;依據(jù)輸出指令控制從相應(yīng)的加解密單元42內(nèi)輸出經(jīng)過(guò)加解密的數(shù)據(jù),并返回計(jì)算機(jī)主機(jī);
加解密模塊陣列4,包括多組加解密模塊,每組加解密模塊包括一個(gè)通道控制單元41以及通過(guò)總線協(xié)議接口410與通道控制單元41一一對(duì)應(yīng)連接的加解密單元42;
通道控制單元41,用于將接收到的輸入加解密指令發(fā)送至對(duì)應(yīng)的加解密單元42內(nèi);
加解密單元42,用于依據(jù)接收到的輸入加解密指令內(nèi)的待加解密數(shù)據(jù)進(jìn)行加解密運(yùn)算并進(jìn)行存儲(chǔ)。
可以理解的是,為了保證輸出指令能夠讀取出之前加密或解碼的數(shù)據(jù),輸出指令與加解密指令攜帶的身份信息必須一一對(duì)應(yīng)。
其中,上述通道控制單元41與加解密單元42之間的總線協(xié)議接口410可以采用sd(用于插sd卡的接口)接口、emmc(embeddedmultimediacard,嵌入式多媒體控制器)接口、ufs(universalflashstorage,通用閃存存儲(chǔ))接口、sata(serialadvancedtechnologyattachment,串行ata)接口、spi(serialperipheralinterface,串行外設(shè)接口)接口中的任一種,當(dāng)然,本發(fā)明對(duì)此不作具體限定。
另外,上述加解密指令攜帶的身份信息包括會(huì)話標(biāo)識(shí)和加解密流水號(hào)。
需要注意的是,用戶輸入一個(gè)加密指令或解密指令后,不必等到處理完成即可發(fā)送下一個(gè)加密指令或解密指令,各個(gè)指令分別由不同的加解密單元42并行處理,互不干涉。只有空白的加解密單元42個(gè)數(shù)不夠時(shí),才需要等待之前的指令對(duì)應(yīng)的任務(wù)完成后再進(jìn)行。
可以理解的是,輸出指令的發(fā)送在相應(yīng)的加密指令或解密指令的發(fā)送之后,但是,可以不必等待接收到任務(wù)完成響應(yīng)即可發(fā)送輸出指令,接收到輸出指令后,若對(duì)應(yīng)的加解密單元42尚未完成處理操作,則該輸出指令對(duì)應(yīng)的輸出任務(wù)處于等待狀態(tài),直至任務(wù)完成后,輸出處理數(shù)據(jù)并返回計(jì)算機(jī)主機(jī);該種方式能夠提高輸出的效率,進(jìn)而提高加密或解密處理的效率。
另外,該裝置優(yōu)選還包括與主控制器2連接的數(shù)據(jù)緩存,用于緩存通信接口1接收的加解密指令以及輸出指令。
其中,加解密單元42采用的加密算法可以為rsa、aes、橢圓曲線/sm2、sm4等加密算法,當(dāng)然,本發(fā)明對(duì)此不作限定。
在具體實(shí)施例中,每個(gè)通道控制單元41具體包括:
通道數(shù)據(jù)緩存411,用于緩存自身通過(guò)的數(shù)據(jù),
dma(directmemoryaccess,直接內(nèi)存存取)模塊412,用于對(duì)接收到的加解密指令進(jìn)行直接內(nèi)存存取傳輸;
通道控制器413,用于對(duì)dma模塊412進(jìn)行控制。
在優(yōu)選實(shí)施例中,加解密單元42具體包括:
加解密區(qū)塊421,用于依據(jù)接收到的輸入加解密指令內(nèi)的待加解密數(shù)據(jù)進(jìn)行加解密運(yùn)算;
單元控制器423,用于控制加解密區(qū)塊421的運(yùn)算操作;
單元數(shù)據(jù)緩存422,用于緩存加解密運(yùn)算后得到的數(shù)據(jù)。
其中,本發(fā)明中的加解密單元42具體為專用的加解密芯片,這里的加解密芯片具體可以為加密卡、加密機(jī)內(nèi)部芯片等,本發(fā)明對(duì)此不做限定。
需要注意的是,本發(fā)明中的高速加解密裝置在計(jì)算機(jī)主機(jī)內(nèi)等效為標(biāo)準(zhǔn)存儲(chǔ)設(shè)備,且支持讀、寫命令;這里的標(biāo)準(zhǔn)存儲(chǔ)設(shè)備為一般的硬盤接口,包括usb、ide、sata、sas、pcie、nvme及可通過(guò)網(wǎng)絡(luò)訪問(wèn)的iscsi網(wǎng)絡(luò)盤中的任一種。當(dāng)然,本發(fā)明對(duì)此不作具體限定。
在優(yōu)選實(shí)施例中,將加解密指令內(nèi)攜帶的待加解密數(shù)據(jù)寫入對(duì)應(yīng)的加解密單元42的過(guò)程具體為:
將加解密指令內(nèi)攜帶的待加解密數(shù)據(jù)加入到寫入隊(duì)列,并返回寫入成功狀態(tài)至加解密模塊陣列管理模塊3;
加解密模塊陣列管理模塊3管理寫入隊(duì)列中的各個(gè)待加解密數(shù)據(jù),并按照順序?qū)⒏鱾€(gè)待加解密數(shù)據(jù)依次發(fā)送至相應(yīng)的加解密單元42,進(jìn)行后續(xù)加解密處理。進(jìn)一步可知,依據(jù)輸出指令攜帶的身份信息從相應(yīng)的加解密單元42內(nèi)讀取出經(jīng)過(guò)加解密的數(shù)據(jù),并返回計(jì)算機(jī)主機(jī)具體包括:
將輸出指令加入輸出隊(duì)列;
加解密模塊陣列管理模塊3管理輸出隊(duì)列,按照輸出隊(duì)列的順序依次讀取各個(gè)輸出指令的身份信息對(duì)應(yīng)的加解密單元42內(nèi)經(jīng)過(guò)加解密的數(shù)據(jù),并返回計(jì)算機(jī)主機(jī)。
可以理解的是,采用隊(duì)列對(duì)接收加解密指令后生成的寫入任務(wù)以及接收輸出指令后生成的輸出任務(wù)進(jìn)行管理,方便記錄接收到的加解密指令中哪些尚未開始處理、哪些正在處理中、哪些已經(jīng)處理完成等,提高了虛擬存儲(chǔ)盤的計(jì)算機(jī)數(shù)據(jù)加密裝置的處理效率。
圖4所示的實(shí)施案例中,高速加密裝置采用pcie接口,把通訊接口1、主控制器2和加解密模塊陣列管理模塊3,及一組通道控制單元41集成在一塊芯片c01中,其中的通道控制單元采用emmc通道控制單元。加解密單元42采用emmc芯片實(shí)現(xiàn)。加密模塊陣列4由芯片c01中的emmc通道控制單元41和一組emmc42芯片集成完成。
圖5所示的emmc通道控制單元41,集成了數(shù)據(jù)緩存411、dma412、與emmc相連接的sd或mmc協(xié)議主接口410及emmc通道控制器413,與圖2中各功能模塊相對(duì)應(yīng)。
圖6所示的加密解模塊采用emmc42芯片,集成了sd或mmc協(xié)議從接口420、加解密運(yùn)行處理模塊421,加解密模塊數(shù)據(jù)緩存422、emmc主控制器423,與圖3中的加解密模塊中各功能模塊相對(duì)應(yīng)。具有aes、ecc、sha、des等加密算法,也集成了中國(guó)商密算法sm2、sm3、sm4。
本發(fā)明提供了一種由加解密模塊陣列組成的高速加解密裝置,包括通信接口、加解密模塊陣列管理模塊、主控制器、加解密陣列,通過(guò)通信接口輸入的加解密指令攜帶有待加解密數(shù)據(jù)以及身份信息,主控制器依據(jù)輸入加解密指令攜帶的身份信息將其分配給相應(yīng)的空白加解密模塊內(nèi)進(jìn)行處理,可見(jiàn),在接收到多個(gè)輸入加解密指令時(shí),只要存在足夠的空白加解密模塊,則這些輸入加解密指令對(duì)應(yīng)的輸入任務(wù)之間即可互不影響,分別由不同的加解密模塊并行處理,從而大大提高了硬件加密或解密的處理效率以及處理速度,加密或解密的效率高。并且,本發(fā)明將加解密模塊組成陣列的形式,提高了加解密裝置整體的運(yùn)算規(guī)模,進(jìn)而提高了其并行處理能力,加解密的效率高,且采用陣列方式排布的成本更低。
本說(shuō)明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。
還需要說(shuō)明的是,在本說(shuō)明書中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其他實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。