一種離線數(shù)據(jù)的加密方法、解密方法及相應(yīng)裝置和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及加密、解密技術(shù)領(lǐng)域,更具體地說(shuō),涉及一種離線數(shù)據(jù)的加密方法、解密方法及相應(yīng)裝置和系統(tǒng)。
【背景技術(shù)】
[0002]銀行內(nèi)部系統(tǒng)之間以及銀行系統(tǒng)與外聯(lián)系統(tǒng)之間存在通過(guò)郵件發(fā)送、存儲(chǔ)介質(zhì)拷貝等非實(shí)時(shí)傳輸方式進(jìn)行交換的數(shù)據(jù),這些數(shù)據(jù)稱之為離線數(shù)據(jù)。
[0003]為了保證離線數(shù)據(jù)的防偽和安全性,現(xiàn)有技術(shù)中需要對(duì)離線數(shù)據(jù)進(jìn)行簽名和加密。其中,將明文離線數(shù)據(jù)變?yōu)槊芪碾x線數(shù)據(jù)的過(guò)程稱之為加密過(guò)程,將密文離線數(shù)據(jù)變?yōu)槊魑碾x線數(shù)據(jù)的過(guò)程稱之為解密過(guò)程。
[0004]具體地,現(xiàn)有技術(shù)中采用對(duì)稱密鑰對(duì)離線數(shù)據(jù)進(jìn)行加解密,其加解密過(guò)程為,加密端利用對(duì)稱密鑰對(duì)明文離線數(shù)據(jù)進(jìn)行加密,生成加密后的密文離線數(shù)據(jù),進(jìn)而加密端將加密后的密文離線數(shù)據(jù)和對(duì)稱密鑰通過(guò)郵件等方式發(fā)送給解密端。解密端接收到加密后的密文離線數(shù)據(jù)和對(duì)稱密鑰后,依據(jù)對(duì)稱密鑰,并利用加密端和解密端預(yù)先設(shè)定好的算法解密密文離線數(shù)據(jù),最終獲得明文離線數(shù)據(jù)。
[0005]然而由于現(xiàn)有技術(shù)中采用對(duì)稱密鑰對(duì)離線數(shù)據(jù)進(jìn)行加解密的方法中,需要通過(guò)郵件等方式發(fā)送密文離線數(shù)據(jù)和對(duì)稱密鑰,而如果一旦郵件被截獲或竊取,則會(huì)造成對(duì)稱密鑰的泄漏,從而降低離線數(shù)據(jù)的安全性。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提供一種離線數(shù)據(jù)的加密方法、解密方法及相應(yīng)裝置和系統(tǒng),以解決現(xiàn)有技術(shù)中采用對(duì)稱密鑰對(duì)離線數(shù)據(jù)進(jìn)行加解密的方法容易造成對(duì)稱密鑰的泄漏,從而降低離線數(shù)據(jù)的安全性的問(wèn)題。技術(shù)方案如下:
[0007]基于本發(fā)明的一方面,本發(fā)明提供一種離線數(shù)據(jù)的加密方法,應(yīng)用于加密端,包括:
[0008]隨機(jī)生成對(duì)稱密鑰;
[0009]利用所述對(duì)稱密鑰,采用預(yù)先設(shè)置的第一加密算法對(duì)明文離線數(shù)據(jù)進(jìn)行加密,獲得密文離線數(shù)據(jù);
[0010]利用解密端中的公鑰,采用預(yù)先設(shè)置的第二加密算法對(duì)所述對(duì)稱密鑰進(jìn)行加密,獲得加密后的對(duì)稱密鑰;
[0011]調(diào)用USBKey提供的接口,利用所述加密端中的私鑰,采用預(yù)先設(shè)置的第三加密算法對(duì)所述明文離線數(shù)據(jù)的摘要進(jìn)行加密,獲得數(shù)據(jù)摘要簽名;其中,所述明文離線數(shù)據(jù)的摘要為采用預(yù)先設(shè)置的摘要算法對(duì)所述明文離線數(shù)據(jù)進(jìn)行計(jì)算生成的;
[0012]將所述明文離線數(shù)據(jù)的摘要、所述密文離線數(shù)據(jù)、所述數(shù)據(jù)摘要簽名和所述加密后的對(duì)稱密鑰發(fā)送至所述解密端。
[0013]優(yōu)選地,所述隨機(jī)生成對(duì)稱密鑰之前,所述方法還包括:
[0014]獲取所述解密端的根證書和證書;
[0015]利用所述根證書認(rèn)證所述解密端的證書;
[0016]當(dāng)認(rèn)證所述解密端的證書合法時(shí),再執(zhí)行所述隨機(jī)生成對(duì)稱密鑰的步驟;
[0017]其中,所述利用解密端中的公鑰包括:利用所述解密端中證書中的公鑰。
[0018]優(yōu)選地,所述將所述明文離線數(shù)據(jù)的摘要、所述密文離線數(shù)據(jù)、所述數(shù)據(jù)摘要簽名和所述加密后的對(duì)稱密鑰發(fā)送至所述解密端包括:
[0019]將所述明文離線數(shù)據(jù)的摘要、所述密文離線數(shù)據(jù)、所述數(shù)據(jù)摘要簽名和所述加密后的對(duì)稱密鑰按照預(yù)設(shè)標(biāo)準(zhǔn)格式進(jìn)行打包,生成數(shù)據(jù)包;
[0020]將所述數(shù)據(jù)包發(fā)送至所述解密端。
[0021 ]優(yōu)選地,所述第二加密算法包括:數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)3DES算法、高級(jí)加密標(biāo)準(zhǔn)AES算法或SM4算法。
[0022]基于本發(fā)明的另一方面,本發(fā)明還提供一種離線數(shù)據(jù)的解密方法,應(yīng)用于解密端,包括:
[0023]接收加密端發(fā)送的明文離線數(shù)據(jù)的摘要、密文離線數(shù)據(jù)、數(shù)據(jù)摘要簽名和加密后的對(duì)稱密鑰;
[0024]利用所述加密端中的公鑰,采用預(yù)先設(shè)置的第一解密算法對(duì)所述數(shù)據(jù)摘要簽名進(jìn)行解密,獲得解密后的摘要;
[0025]將所述解密后的摘要與所述明文離線數(shù)據(jù)的摘要進(jìn)行比對(duì);
[0026]當(dāng)所述解密后的摘要與所述明文離線數(shù)據(jù)的摘要一致時(shí),調(diào)用USBKey提供的接口,利用所述解密端中的私鑰,采用預(yù)先設(shè)置的第二解密算法對(duì)所述加密后的對(duì)稱密鑰進(jìn)行解密,獲得解密后的對(duì)稱密鑰;
[0027]利用所述解密后的對(duì)稱密鑰,采用預(yù)先設(shè)置的第三解密算法對(duì)所述密文離線數(shù)據(jù)進(jìn)行解密,獲得解密后的明文離線數(shù)據(jù)。
[0028]優(yōu)選地,所述接收加密端發(fā)送的明文離線數(shù)據(jù)的摘要、密文離線數(shù)據(jù)、數(shù)據(jù)摘要簽名和加密后的對(duì)稱密鑰之前,所述方法還包括:
[0029]獲取所述加密端的根證書和證書;
[0030]利用所述根證書認(rèn)證所述加密端的證書;
[0031 ]當(dāng)認(rèn)證所述加密端的證書合法時(shí),再執(zhí)行所述接收加密端發(fā)送的明文離線數(shù)據(jù)的摘要、密文離線數(shù)據(jù)、數(shù)據(jù)摘要簽名和加密后的對(duì)稱密鑰的步驟;
[0032]其中,所述利用所述加密端中的公鑰包括:利用所述加密端中證書中的公鑰。
[0033]優(yōu)選地,所述第二解密算法包括:數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)3DES算法、高級(jí)加密標(biāo)準(zhǔn)AES算法或SM4算法。
[0034]基于本發(fā)明的再一方面,本發(fā)明還提供一種加密裝置,包括:
[0035]對(duì)稱密鑰生成模塊,用于隨機(jī)生成對(duì)稱密鑰;
[0036]第一加密模塊,用于利用所述對(duì)稱密鑰,采用預(yù)先設(shè)置的第一加密算法對(duì)明文離線數(shù)據(jù)進(jìn)行加密,獲得密文離線數(shù)據(jù);
[0037]第二加密模塊,用于利用解密裝置中的公鑰,采用預(yù)先設(shè)置的第二加密算法對(duì)所述對(duì)稱密鑰進(jìn)行加密,獲得加密后的對(duì)稱密鑰;
[0038]第三加密模塊,用于調(diào)用USBKey提供的接口,利用所述加密裝置中的私鑰,采用預(yù)先設(shè)置的第三加密算法對(duì)所述明文離線數(shù)據(jù)的摘要進(jìn)行加密,獲得數(shù)據(jù)摘要簽名;其中,所述明文離線數(shù)據(jù)的摘要為采用預(yù)先設(shè)置的摘要算法對(duì)所述明文離線數(shù)據(jù)進(jìn)行計(jì)算生成的;
[0039]數(shù)據(jù)發(fā)送模塊,用于將所述明文離線數(shù)據(jù)的摘要、所述密文離線數(shù)據(jù)、所述數(shù)據(jù)摘要簽名和所述加密后的對(duì)稱密鑰發(fā)送至所述解密裝置。
[0040]優(yōu)選地,還包括:
[0041 ]第一獲取模塊,用于獲取所述解密裝置的根證書和證書;
[0042]第一認(rèn)證模塊,用于利用所述根證書認(rèn)證所述解密裝置的證書;
[0043]其中,所述第二加密模塊具體用于,利用所述解密裝置中證書中的公鑰,采用預(yù)先設(shè)置的第二加密算法對(duì)所述對(duì)稱密鑰進(jìn)行加密,獲得加密后的對(duì)稱密鑰。
[0044]優(yōu)選地,所述數(shù)據(jù)發(fā)送模塊包括:
[0045]數(shù)據(jù)包生成子模塊,用于將所述明文離線數(shù)據(jù)的摘要、所述密文離線數(shù)據(jù)、所述數(shù)據(jù)摘要簽名和所述加密后的對(duì)稱密鑰按照預(yù)設(shè)標(biāo)準(zhǔn)格式進(jìn)行打包,生成數(shù)據(jù)包;
[0046]數(shù)據(jù)包發(fā)送子模塊,用于將所述數(shù)據(jù)包發(fā)送至所述解密裝置。
[0047]優(yōu)選地,所述第二加密算法包括:數(shù)據(jù)加密標(biāo)準(zhǔn)DES算法、三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)3DES算法、高級(jí)加密標(biāo)準(zhǔn)AES算法或SM4算法。
[0048]基于本發(fā)明的再一方面,本發(fā)明還提供一種解密裝置,包括:
[0049]數(shù)據(jù)接收模塊,用于接收加密裝置發(fā)送的明文離線數(shù)據(jù)的摘要、密文離線數(shù)據(jù)、數(shù)據(jù)摘要簽名和加密后的對(duì)稱密鑰;
[0050]第一解密模塊,用于利用所述加密裝置中的公鑰,采用預(yù)先設(shè)置的第一解密算法對(duì)所述數(shù)據(jù)摘要簽名進(jìn)行解密,獲得解密后的摘要;
[0051]比對(duì)模塊,用于將所述解密后的摘要與所述明文離線數(shù)據(jù)的摘要進(jìn)行比對(duì);
[0052]第二解密模塊,用于當(dāng)所述比對(duì)模塊比對(duì)所述解密后的摘要與所述明文離線數(shù)據(jù)的摘要一致時(shí),調(diào)用USB Key提供的接口,利用所述解密裝置中的私鑰,采用預(yù)先設(shè)置的第二解密算法對(duì)所述加密后的對(duì)稱密鑰進(jìn)行解密,獲得解密后的對(duì)稱密鑰;
[0053]第三