專利名稱:一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法
技術(shù)領(lǐng)域:
本發(fā)明提出一種文件(任意類型文件)的原始性鑒別、存儲(chǔ)加密以及訪問(wèn)控制方法,涉及計(jì)算機(jī)文件系統(tǒng)和信息安全技術(shù)領(lǐng)域,可實(shí)現(xiàn)文件的原始性鑒別、存儲(chǔ)加密以及訪問(wèn)控制,防止信息被竊取、非法篡改以及越權(quán)訪問(wèn)等,保證文件系統(tǒng)的安全性、保密性、完整性和權(quán)威性。
背景技術(shù):
傳統(tǒng)文件系統(tǒng)不支持文件的原始性鑒別功能,無(wú)法確認(rèn)文件是否被篡改。一旦文件系統(tǒng)被黑客侵入,黑客可隨意篡改文件,服務(wù)器文件系統(tǒng)無(wú)法感知,并會(huì)將錯(cuò)誤的文件誤傳給用戶,造成不良影響。本發(fā)明的文件原始性鑒別技術(shù)可確保文件內(nèi)容的原始性、完整性、以及不可抵賴性,杜絕黑客非法更改文件造成的惡劣影響,保證文件系統(tǒng)的完整性和權(quán)威性。
同時(shí),傳統(tǒng)的文件系統(tǒng)中存放的文件未經(jīng)加密,如果黑客侵入文件系統(tǒng),竊取文件后,就可以獲取服務(wù)器中的各種信息,導(dǎo)致信息泄露,嚴(yán)重威脅相關(guān)部門(mén)的社會(huì)和經(jīng)濟(jì)利益。本發(fā)明中文件加密存儲(chǔ)技術(shù)能夠根據(jù)信息的不同密級(jí)要求采用不同的加密算法和加密強(qiáng)度對(duì)信息進(jìn)行加密存儲(chǔ),即便黑客入侵,獲取的也只是經(jīng)過(guò)加密的信息,無(wú)法得到有用信息,從而保證信息的安全性、保密性。
另外,傳統(tǒng)文件系統(tǒng)對(duì)文件訪問(wèn)不能進(jìn)行嚴(yán)格的身份認(rèn)證以及訪問(wèn)權(quán)限控制,容易導(dǎo)致用戶越權(quán)訪問(wèn),本發(fā)明的文件訪問(wèn)控制方法,可實(shí)現(xiàn)對(duì)用戶的訪問(wèn)進(jìn)行嚴(yán)格的身份認(rèn)證、驗(yàn)證訪問(wèn)權(quán)限,當(dāng)且僅當(dāng)用戶的訪問(wèn)通過(guò)文件訪問(wèn)控制后,文件系統(tǒng)才會(huì)相應(yīng)用戶的請(qǐng)求。
中國(guó)專利公開(kāi)號(hào)為CN1263305A的申請(qǐng)案,該發(fā)明的原理為數(shù)字?jǐn)?shù)據(jù)服務(wù)器識(shí)別用戶身份并根據(jù)識(shí)別結(jié)果將加密數(shù)字?jǐn)?shù)據(jù)文件提供給該用戶。不足之處在于,未能將數(shù)字簽名技術(shù)與加密融合在一起,不能解決文件被篡改的問(wèn)題,不適合廣泛意義上的文件系統(tǒng)對(duì)安全機(jī)制的要求,應(yīng)用面較窄。
總體來(lái)說(shuō),本發(fā)明通過(guò)使用數(shù)字簽名技術(shù)對(duì)文件的原始性進(jìn)行鑒別,防止文件在存儲(chǔ)過(guò)程中被篡改,確保文件的完整性和權(quán)威性;對(duì)存儲(chǔ)在服務(wù)器上的文件分密級(jí)加密存儲(chǔ),防止文件被竊取而導(dǎo)致信息泄密;在對(duì)文件的訪問(wèn)控制上,首先對(duì)用戶進(jìn)行嚴(yán)格的身份認(rèn)證,然后進(jìn)行訪問(wèn)權(quán)限驗(yàn)證,對(duì)合法的請(qǐng)求,服務(wù)器對(duì)被請(qǐng)求的文件進(jìn)行解密后傳送給合法用戶。本發(fā)明可廣泛用于黨政軍機(jī)關(guān)、企事業(yè)單位以及學(xué)校等的服務(wù)器文件系統(tǒng)的構(gòu)造,能夠滿足他們對(duì)信息安全性、保密性、完整性和權(quán)威性的要求,具有廣闊的應(yīng)用前景。
發(fā)明內(nèi)容
本發(fā)明的安全文件系統(tǒng)完全建立在傳統(tǒng)文件系統(tǒng)基礎(chǔ)之上,其在計(jì)算機(jī)磁盤(pán)上的存儲(chǔ)形式、I/O方法等機(jī)制以及其文件邏輯組織等與傳統(tǒng)的文件系統(tǒng)相同,茲不贅述。以下僅闡述安全文件的加密存儲(chǔ)以及訪問(wèn)控制機(jī)制。
安全文件其結(jié)構(gòu)分為以下三個(gè)部分(詳細(xì)介紹請(qǐng)參見(jiàn)附
圖1說(shuō)明)1)文件T,包含六個(gè)部分文件標(biāo)識(shí)符、摘要算法標(biāo)識(shí)符、文件加密算法標(biāo)識(shí)符、加密密鑰算法標(biāo)識(shí)符、簽名算法標(biāo)識(shí)符和訪問(wèn)權(quán)限標(biāo)識(shí)符;2)文件加密密鑰K′和文件內(nèi)容M(密文);3)簽名數(shù)據(jù)E。
將原始文件進(jìn)行數(shù)字簽名和加密存儲(chǔ)時(shí),首先填寫(xiě)文件頭部分的內(nèi)容,包括文件標(biāo)識(shí)符、摘要算法標(biāo)識(shí)符、文件加密算法標(biāo)識(shí)符、加密密鑰算法標(biāo)識(shí)符、簽名算法標(biāo)識(shí)符和訪問(wèn)權(quán)限標(biāo)識(shí)符。然后安全文件系統(tǒng)對(duì)文件頭和原始文件產(chǎn)生摘要并用自己的私鑰進(jìn)行加密形成簽名(詳細(xì)操作請(qǐng)參見(jiàn)附圖2說(shuō)明),接著安全文件系統(tǒng)產(chǎn)生隨機(jī)的文件加密密鑰,對(duì)原始文件進(jìn)行加密形成密文,并使用加密密鑰算法對(duì)文件加密密鑰進(jìn)行加密(詳細(xì)操作請(qǐng)參見(jiàn)附圖3說(shuō)明)。然后分別將得到的已加密的文件加密密鑰、文件密文、簽名數(shù)據(jù)附加在文件頭后面從而形成一個(gè)安全文件。
當(dāng)訪問(wèn)經(jīng)過(guò)數(shù)字簽名和加密的文件時(shí),首先由安全文件系統(tǒng)提取出文件頭,根據(jù)其中的加密密鑰算法,用自己的私鑰解密出文件加密密鑰,再使用得到的文件加密密鑰和指定的文件加密算法對(duì)安全文件密文進(jìn)行解密,得到文件原文。從簽名數(shù)據(jù)解密出摘要,再對(duì)文件頭與文件原文利用指定的摘要算法重新計(jì)算出新的摘要,將二者進(jìn)行對(duì)比,判定文件是否被篡改,完成文件的原始性鑒別(詳細(xì)操作請(qǐng)參見(jiàn)附圖4說(shuō)明)。根據(jù)用戶提供的身份證明和權(quán)限證明進(jìn)行文件的訪問(wèn)控制(詳細(xì)操作請(qǐng)參見(jiàn)附圖5說(shuō)明)。
為了詳細(xì)說(shuō)明本發(fā)明的原理及特征,以下結(jié)合附圖進(jìn)行詳細(xì)的說(shuō)明。
在說(shuō)明之前,為方便起見(jiàn),定義以下幾個(gè)符號(hào)
1)KPV安全文件系統(tǒng)的私鑰。
2)KPB安全文件系統(tǒng)的公鑰。
備注KPV、KPB是一對(duì)密鑰,如RSA密鑰,KPV、KPB必須在安全的環(huán)境下產(chǎn)生,并須妥善保存。
3)P(D,k)表示利用算法P,密鑰k,對(duì)信息D進(jìn)行加密運(yùn)算。
4)P′(D,k)表示利用算法P,密鑰k,對(duì)信息D進(jìn)行解密運(yùn)算。
5)+字符串連接運(yùn)算。
注意所有附圖中,有陰影的框圖表明框圖內(nèi)的數(shù)據(jù)是密文。
圖1為安全文件存儲(chǔ)格式。
安全文件存儲(chǔ)格式如下1)文件標(biāo)識(shí)符F字符串,表明為安全文件類型。
2)摘要算法標(biāo)識(shí)符Ah字符串,表示安全文件使用的摘要算法??刹捎媚壳皣?guó)內(nèi)外常用的摘要生成算法,如MD5、SHA-1等。
3)文件加密算法標(biāo)識(shí)符Af字符串,表示安全文件使用的對(duì)稱加密算法,可采用國(guó)內(nèi)外常用的對(duì)稱加密算法,如DES,3-DES、IDEA、AES等。
4)加密密鑰算法標(biāo)識(shí)符Ak字符串,加密3)中“文件加密算法標(biāo)識(shí)符”的非對(duì)稱加密算法??刹捎脟?guó)內(nèi)外常用的非對(duì)稱加密算法,如RSA、DSA、ECC及DH等。
5)簽名算法標(biāo)識(shí)符As字符串,進(jìn)行數(shù)字簽名時(shí)使用的非對(duì)稱加密算法??刹捎脟?guó)內(nèi)外常用的非對(duì)稱加密算法,如RSA、DSA、ECC及DH等。
6)訪問(wèn)權(quán)限標(biāo)識(shí)符R字符串,對(duì)安全文件訪問(wèn)所需的用戶身份、對(duì)應(yīng)權(quán)限。權(quán)限可分級(jí)控制。根據(jù)實(shí)際情況可按組設(shè)定權(quán)限,以避免針對(duì)每一個(gè)用戶進(jìn)行權(quán)限設(shè)定而維護(hù)一個(gè)龐大的權(quán)限列表。
7)文件加密密鑰K′
二進(jìn)制串(密文),安全文件描述中3)所指定的對(duì)稱加密算法所用的密鑰,密鑰須經(jīng)該文件指定的非對(duì)稱加密算法加密后存放。
8)文件內(nèi)容M存放原始文件經(jīng)加密后得到的密文。
9)簽名數(shù)據(jù)E二進(jìn)制串,存放文件頭以及文件內(nèi)容的簽名數(shù)據(jù)。
創(chuàng)建安全文件時(shí),首先填寫(xiě)文件頭的有關(guān)信息(圖1中的第1~6部分),如文件標(biāo)識(shí)符、摘要算法標(biāo)識(shí)符、文件加密算法標(biāo)識(shí)符、加密密鑰算法標(biāo)識(shí)符、簽名算法標(biāo)識(shí)符、訪問(wèn)權(quán)限標(biāo)識(shí)符等;其中文件簽名數(shù)據(jù)字段(圖1中的第9部分)依據(jù)圖2的方法生成,文件加密密鑰、文件內(nèi)容(圖1中的第7~8部分)依據(jù)圖3的方法生成。
圖2是文件簽名數(shù)據(jù)生成方法。
文件簽名數(shù)據(jù)的生成步驟如下①使用摘要算法Ah,對(duì)文件頭T以及文件原文C進(jìn)行散列運(yùn)算,求出一個(gè)摘要值D,即D=Ah(T+C);②采用簽名算法As,用安全文件系統(tǒng)的私鑰KPV加密D,得到文件簽名數(shù)據(jù)E,即E=As(D,KPV);③將文件簽名數(shù)據(jù)E寫(xiě)入安全文件的簽名數(shù)據(jù)部分。
通過(guò)對(duì)文件頭和文件原始內(nèi)容進(jìn)行數(shù)字簽名后,能保證其中的數(shù)據(jù)不被非法篡改。如果原文內(nèi)容或文件頭中的描述被修改,均將導(dǎo)致簽名數(shù)據(jù)的巨大差異,無(wú)法通過(guò)后面的數(shù)字簽名驗(yàn)證,從而保證了數(shù)據(jù)的原始性。同時(shí),由于采用的是安全文件系統(tǒng)的私鑰進(jìn)行簽名,可確保原始數(shù)據(jù)由安全文件系統(tǒng)提供,具有不可抵賴性。
圖3是文件加密方法。
文件加密確保文件的保密性,防止文件被竊取而導(dǎo)致信息泄露。其具體步驟如下①隨機(jī)產(chǎn)生文件加密密鑰K,用文件加密算法Af,對(duì)文件原文C進(jìn)行加密運(yùn)算,得到密文M,即M=Af(C,K);②采用加密密鑰加密算法Ak,用安全文件系統(tǒng)的公鑰KPB加密K,即K′=Ak(K,KPB)③將加密所得密文數(shù)據(jù)M寫(xiě)入安全文件的文件內(nèi)容部分。
④將加密后的文件加密密鑰K′寫(xiě)入安全文件的文件加密密鑰部分。
使用此方法加密文件后,必須先得到文件的加密密鑰才能解密;而文件的加密密鑰又采用高強(qiáng)度加密算法和安全文件系統(tǒng)的私鑰進(jìn)行了加密,確保了文件的安全性和保密性。
圖4是文件原始性鑒別處理方法。
為防止文件被篡改,必須在使用安全文件時(shí)進(jìn)行文件原始性鑒別,以保證文件的完整性和權(quán)威性。文件原始性鑒別的步驟如下①?gòu)奈募^T得到加密密鑰加密算法Ak,用安全文件系統(tǒng)的私鑰KPV對(duì)經(jīng)加密的文件加密密鑰K′進(jìn)行解密,得到文件加密密鑰K,即K=Ak′(K′,KPV);②使用T中的文件加密算法Af,用文件加密密鑰K對(duì)安全文件密文M進(jìn)行解密,得到文件原文C,即C=Af′(M,K);③對(duì)簽名數(shù)據(jù)E,使用簽名算法As,用安全文件系統(tǒng)的公鑰KPB解密求出摘要D,即D=As′(E,KPB);④根據(jù)文件頭T與文件原文C,使用摘要算法Ah,計(jì)算出摘要D′,即D′=Ah(T+C);⑤將D與D′進(jìn)行對(duì)比,若D=D′,則文件原始性鑒別成功;否則鑒別失敗。
圖5是安全文件系統(tǒng)訪問(wèn)控制機(jī)制。
當(dāng)用戶對(duì)安全文件進(jìn)行訪問(wèn)時(shí),必須向安全文件系統(tǒng)提供自己的身份證明(如X.509證書(shū))、權(quán)限證明(如權(quán)屬證書(shū))等,安全文件系統(tǒng)接收后按如下步驟實(shí)現(xiàn)文件的訪問(wèn)控制①解析用戶提供的身份證明得到用戶身份ID。
②解析權(quán)限證明得到用戶對(duì)應(yīng)權(quán)限X;③R′=(ID,X),將R′與文件頭中的訪問(wèn)權(quán)限標(biāo)識(shí)符R進(jìn)行比較;④若未有越權(quán)行為發(fā)生,則允許用戶訪問(wèn)文件;否則拒絕訪問(wèn)。
權(quán)利要求
1.一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征包括以下步驟安全文件系統(tǒng)的文件結(jié)構(gòu);文件簽名數(shù)據(jù)的生成步驟;對(duì)文件進(jìn)行加密的步驟;文件原始性鑒別處理的步驟;安全文件系統(tǒng)進(jìn)行訪問(wèn)控制的步驟。
2.根據(jù)權(quán)利要求1所述的一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征在于,所述安全文件系統(tǒng)的文件結(jié)構(gòu),其特征包括以下內(nèi)容安全文件的結(jié)構(gòu)分為以下三個(gè)部分1)文件頭,包含六個(gè)部分文件標(biāo)識(shí)符、摘要算法標(biāo)識(shí)符、文件加密算法標(biāo)識(shí)符、加密密鑰算法標(biāo)識(shí)符、簽名算法標(biāo)識(shí)符和訪問(wèn)權(quán)限標(biāo)識(shí)符;2)文件加密密鑰以及文件內(nèi)容(密文);3)簽名數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征在于,所述文件簽名數(shù)據(jù)的生成步驟,其特征包括以下步驟●使用摘要算法對(duì)文件頭及原始文件進(jìn)行散列運(yùn)算,求出摘要值的步驟;●利用用安全文件系統(tǒng)的私鑰對(duì)摘要值進(jìn)行簽名得到簽名數(shù)據(jù)的步驟。
4.根據(jù)權(quán)利要求1所述的安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征在于,所述對(duì)文件進(jìn)行加密的步驟,其特征包括以下步驟●隨機(jī)產(chǎn)生文件加密密鑰,利用加密算法,對(duì)原始文件進(jìn)行加密后存儲(chǔ)的步驟;●對(duì)隨機(jī)產(chǎn)生的文件加密密鑰進(jìn)行非對(duì)稱加密后存儲(chǔ)的步驟。
5.根據(jù)權(quán)利要求1所述的一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征在于所述文件原始性鑒別處理的步驟,其特征包括以下步驟●通過(guò)解密,得到文件原文的步驟;●通過(guò)文件頭描述以及文件原文,利用相應(yīng)的摘要算法計(jì)算出相應(yīng)摘要值的步驟;●從文件簽名數(shù)據(jù)中獲得原始摘要值的步驟;●將兩個(gè)摘要值進(jìn)行比較確定文件鑒別成功與否的步驟。
6.根據(jù)權(quán)利要求1所述的一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,其特征在于所述安全文件系統(tǒng)進(jìn)行訪問(wèn)控制的步驟,其特征包括以下步驟●將用戶的身份、權(quán)限證明與文件訪問(wèn)所需權(quán)限進(jìn)行對(duì)比判斷文件訪問(wèn)請(qǐng)求是否合法的步驟。
全文摘要
本發(fā)明提出一種安全文件系統(tǒng)的存儲(chǔ)及訪問(wèn)控制方法,屬于計(jì)算機(jī)文件系統(tǒng)和信息安全領(lǐng)域,其特征在于將數(shù)字簽名技術(shù)和加密技術(shù)應(yīng)用于文件系統(tǒng)中,通過(guò)對(duì)文件進(jìn)行數(shù)字簽名并實(shí)施原始性鑒別,防止文件被篡改;根據(jù)文件存儲(chǔ)的不同密級(jí)要求,對(duì)存儲(chǔ)文件采用不同的加密算法和加密強(qiáng)度進(jìn)行加密,防止文件被竊取而導(dǎo)致信息泄露;對(duì)文件訪問(wèn)進(jìn)行身份認(rèn)證和權(quán)限控制。本發(fā)明可廣泛用于黨政軍機(jī)關(guān)、企事業(yè)單位以及學(xué)校的文件系統(tǒng)中,能夠滿足他們對(duì)信息安全性、保密性、完整性和權(quán)威性的要求,具有廣闊的應(yīng)用前景。
文檔編號(hào)G06F12/14GK1567255SQ03135740
公開(kāi)日2005年1月19日 申請(qǐng)日期2003年9月2日 優(yōu)先權(quán)日2003年9月2日
發(fā)明者李濤 申請(qǐng)人:四川大學(xué)