TW202411866A - 檔案加密方法與裝置 - Google Patents

檔案加密方法與裝置 Download PDF

Info

Publication number
TW202411866A
TW202411866A TW111134174A TW111134174A TW202411866A TW 202411866 A TW202411866 A TW 202411866A TW 111134174 A TW111134174 A TW 111134174A TW 111134174 A TW111134174 A TW 111134174A TW 202411866 A TW202411866 A TW 202411866A
Authority
TW
Taiwan
Prior art keywords
algorithm
block
file
security
encryption
Prior art date
Application number
TW111134174A
Other languages
English (en)
Inventor
曾俊豪
Original Assignee
飛捷科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 飛捷科技股份有限公司 filed Critical 飛捷科技股份有限公司
Priority to TW111134174A priority Critical patent/TW202411866A/zh
Priority to US18/078,173 priority patent/US20240089095A1/en
Publication of TW202411866A publication Critical patent/TW202411866A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本發明關於一種檔案加密方法,其包含由處理器執行的複數步驟,該等步驟包含:提供包含隨機產生的複數生成值的生成值區塊;基於該等生成值實施金鑰生成算法以產生加密金鑰與認證金鑰;基於該加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊;基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證;以及選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案。

Description

檔案加密方法與裝置
本發明係關於一種檔案加密方法與裝置,尤其是一種經由普通使用者設備具有之普通硬體資源就可負擔與執行,並將金鑰附加在檔案中的檔案加密方法與裝置。
在習用技術中,常見常用的普通檔案例如:docx檔案、pptx檔案、xlsx檔案、pdf檔案與jpg檔等等,這些檔案的內容通常不會經過任何加密處理,在大多數的情境下,任意使用者只要透過對應的處理軟體,就可以對這些檔案進行瀏覽與編輯,在少數情境下,處理軟體提供作者為檔案設定保護密碼的功能,以防止第三人隨意編輯或讀取內容。
但依照目前的軟體工程的技術現況,網路上流通著一些特殊編輯器軟體供使用者任意取得,使用者透過使用這些特殊編輯器軟體,還是可以開啟甚至有保護密碼的任何檔案,檢視其內容,甚至可以編輯包含新增與刪除其中內容。
舉例來說,十六進位編輯器如Ultraedit、WinHex、HxD等,這些編輯器都具備以使用者為中心所設計的友好(user-friendly)界面,這些介面中包含相互參照的16進位欄位與對應的文字欄位,十六進位編輯器因為可以直接讀取檔案中的二進位字節資料,並將其顯示在文字欄位,因此這 些編輯器可以提供使用者讀取原本不可讀取的、無權讀取或者有保護密碼的檔案,使用者可以從文字欄位檢視檔案的每一個字節,並透過操作16進位欄位直接對這些字節任意進行修改。
面對這些功能強大的特殊編輯器,沒有經過任何加密處理的檔案明顯缺乏安全性。
雖然習用密碼學中已經存在檔案加密方法,但在多數情境中,普通檔案的多數使用者是沒有任何資訊與軟體工程背景的普通使用者,這些普通使用者不喜歡也會抗拒太複雜的加密方法,也無法有效的管理密碼、個人識別碼、密鑰、私鑰或者憑證這類的敏感資訊,因此習用技術例如密鑰分發中心(KDC)這類的加密密鑰解決方案,也沒有受到普通使用者的廣泛使用。
加上普通使用者的使用者設備,多數都只是一般的桌上型家用電腦或者筆記電腦,這些硬體設備的能力無法負擔過於複雜且需要大量運算的檔案加密方法。
職是之故,需要一種檔案加密方法和系統,能夠對普通檔案提供有效但易於實施的安全性保護,且其運算量也必須是普通使用者設備的普通硬體就可負擔的,更不需要依賴KDC技術進行密鑰管理而可獨立運作。
有鑑於此發明人經過悉心嘗試與研究,並一本鍥而不捨之精神,終構思出本案「檔案加密方法與裝置」,能夠克服上述缺點,以下為本發明之簡要說明。
本發明係關於一種檔案加密方法與裝置,尤其是一種經由普通使用者設備具有之普通硬體資源就可負擔與執行,並將金鑰附加在檔案中的檔案加密方法與裝置。
據此本發明提出一種檔案加密方法,其包含由處理器執行的複數步驟,該等步驟包含:提供包含隨機產生的複數生成值的生成值區塊;基於該等生成值實施金鑰生成算法以產生加密金鑰與認證金鑰;基於該加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊;基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證;以及選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案。
較佳的,所述之檔案加密方法還包含資料保護方法,該資料保護方法包含以下其中之一:從儲存媒體讀取該目標檔案;在該儲存媒體上創建該第一安全檔案、第二安全檔案與第三安全檔案;隨機產生該等生成值與產生包含該等生成值的該生成值區塊;從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施加密金鑰生成算法以產生該加密金鑰;以及從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施認證金鑰生成算法以產生該認證金鑰。
較佳的,所述之檔案加密方法還包含安全檔案配置方法,該安全檔案配置方法包含以下其中之一:從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第一類區塊;以該索引區塊排列在前,接著依照第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊寫入第一安全檔案;從該生成值區塊、該安全區塊以及該 數位認證選定其中之一作為第二類區塊;以依照第二隨機次序排列該第二類區塊所包含的區塊的方式將該第二類區塊寫入該第二安全檔案;從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第三類區塊,並將該第三類區塊寫入該第三安全檔案;以及至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
本發明進一步提出一種檔案加密裝置,其包含由處理器執行的:亂數生成器模組,以隨機產生複數生成值並產生包含該等生成值的生成值區塊;金鑰生成器模組,其基於該等生成值實施金鑰生成算法以產生加密金鑰與認證金鑰;加密器模組,其基於該加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊;數位認證器模組,其基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證;以及寫入器模組,選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案。
較佳的,所述之檔案加密裝置還包含以下其中之一:讀取器模組,其從儲存媒體讀取該目標檔案;以及該金鑰生成器模組,係從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施加密金鑰生成算法以產生該加密金鑰,並從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施認證金鑰生成算法以產生該認證金鑰。
較佳的,所述之檔案加密裝置還包含檔案配置器模組,其係執行以下步驟其中之一:從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第一類區塊,並為該第一類區塊所包含的區塊隨機給予第一隨機次序;從該生成值區塊、該安全區塊以及該數位認證選定其中之一 作為第二類區塊,並為該第二類區塊所包含的區塊隨機給予第二隨機次序;以及從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第三類區塊。
較佳的,該寫入器模組係執行以下步驟其中之一:以該索引區塊排列在前,接著依照該第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊所包含的區塊寫入該第一安全檔案;以依照該第二隨機次序排列該第二類區塊所包含的區塊的方式,將該索引區塊與該第二類區塊所包含的區塊寫入第二安全檔案;將該第三類區塊所包含的區塊寫入第三安全檔案;以及至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
上述發明內容旨在提供本揭示內容的簡化摘要,以使讀者對本揭示內容具備基本的理解,此發明內容並非揭露本發明的完整描述,且用意並非在指出本發明實施例的重要/關鍵元件或界定本發明的範圍。
100:檔案加密裝置
11:處理器單元
12:儲存媒體
21:讀取器模組
22:亂數生成器模組
23:金鑰生成器模組
24:加密器模組
25:數位認證器模組
26:檔案配置器模組
27:寫入器模組
31:目標檔案
32:明文資料
33:生成值區塊
34:加密金鑰
35:認證金鑰
36:密文資料
37:安全區塊
38:數位認證
39:索引區塊
3901:檔案識別碼欄位
3902:區塊配置索引欄位
3903:索引區塊大小欄位
3904:生成值區塊索引欄位
3905:安全區塊索引欄位
3906:數位認證索引欄位
3907:生成值區塊大小欄位
3908:安全區塊大小欄位
3909:數位認證大小欄位
3910:安全加密算法欄位
3911:散列加密算法欄位
3912:加密金鑰索引欄位
3913:加密金鑰大小欄位
3914:認證金鑰索引欄位
3915:認證金鑰大小欄位
41:第一類區塊
42:第二類區塊
43:第三類區塊
51:第一安全檔案
52:第二安全檔案
53:第三安全檔案
200:編輯器介面
210:文字欄
220:16進位欄位
310:資料保護方法
311~315:實施步驟
320:安全檔案配置方法
321~325:實施步驟
330:檔案加密方法
331~335:實施步驟
第1圖揭示本發明檔案加密裝置之硬體架構示意圖;
第2圖揭示本發明包含的多個處理器單元可執行程序模組之方塊示意圖;
第3圖揭示本發明包含的多個處理器單元可執行程序模組之作業流程圖;
第4圖揭示本發明包含之安全檔案第一實施例之檔案結構視圖;
第5圖揭示本發明包含之索引區塊之資料結構視圖;
第6圖揭示本發明包含之安全檔案第二實施例之檔案結構視圖;
第7圖揭示本發明包含之安全檔案第三實施例之檔案結構視圖;
第8圖揭示本發明包含之安全檔案第四實施例之檔案結構視圖;
第9圖揭示使用HEX編輯器開啟未經加密的韌體影像檔案之編輯器介面之示意圖;
第10圖揭示使用HEX編輯器開啟經過本發明檔案加密方法加密後的韌體影像檔案之編輯器介面之示意圖;
第11圖揭示本發明包含之資料保護方法之實施步驟流程圖;
第12圖揭示本發明包含之安全檔案配置方法之實施步驟流程圖;以及
第13圖揭示本發明包含之檔案加密方法之實施步驟流程圖。
本發明將可由以下的實施例說明而得到充分瞭解,使得熟習本技藝之人士可以據以完成之,然本發明之實施並非可由下列實施案例而被限制其實施型態;本發明之圖式並不包含對大小、尺寸與比例尺的限定,本發明實際實施時其大小、尺寸與比例尺並非可經由本發明之圖式而被限制。
本文中用語“較佳”是非排他性的,應理解成“較佳為但不限於”,任何說明書或請求項中所描述或者記載的任何步驟可按任何順序執行,而不限於請求項中所述的順序,本發明的範圍應僅由所附請求項及其均等方案確定,不應由實施方式示例的實施例確定;本文中用語“包含”及其變化出現在說明書和請求項中時,是一個開放式的用語,不具有限制性含義,並不排除其他特徵或步驟。
一般來說,普通使用者日常生活常見常用的檔案格式包含但不限於:.docx、.pptx、.xlsx、.vss、.pdf、.html、.jpg、.jpeg、.bmp、.png、.gif、.tif與.tiff等等,其檔案內容通常沒有經過任何加密處理,在大多數的情境下,任意使用者只要透過對應的處理軟體,就可以對這些檔案進行瀏覽與編輯,或者,在少數情境下,處理軟體提供作者為檔案設定保護密碼的功能,可防止第三人隨意編輯或讀取內容。
但依照目前的軟體工程的技術現況,網路上還是流通著一些特殊編輯器軟體供使用者任意取得,使用者透過使用這些特殊編輯器軟體,還是可以開啟甚至有保護密碼的任何檔案,檢視其內容,甚至可以編輯包含新增與刪除其中內容。因此,有必要為這些常見常用的檔案,提供一種簡易,而且是透過普通的使用者設備(user equipment)內建的硬體資源就可以負擔與可以執行的加密方法,以保護檔案內容,並且增強檔案安全性。
第1圖揭示本發明檔案加密裝置之硬體架構示意圖;本發明提出的檔案加密裝置100,較佳是目前普通消費者常用的使用者設備,包含但不限於:桌上型電腦、筆記型電腦、智慧手機、平板裝置、行動裝置等,但無論是哪一種使用者設備,其用於執行檔案加密作業的硬體架構,至少包含至少一處理器單元11與儲存媒體12,如第1圖所示。儲存媒體12較佳是安裝在檔案加密裝置100內部的本機儲存媒體,或者是外接的外部儲存裝置。
第2圖揭示本發明包含的多個處理器單元可執行程序模組之方塊示意圖;本發明用於執行檔案加密作業的多個程序模組,係預先儲存於儲存媒體12上,經載入處理器單元11而由處理器單元11執行,這些程序 模組包含但不限於:讀取器模組21、亂數生成器模組22、金鑰生成器模組23、加密器模組24、數位認證器模組25、檔案配置器模組(file allocator module)26與寫入器模組27等等。
第3圖揭示本發明包含的多個處理器單元可執行程序模組之作業流程圖;個程序模組的執行任務如下所描述,讀取器模組21將從儲存媒體12中讀取目標檔案31,目標檔案31包含的明文資料(plaintext)32就是需要進行加密保護之目標內容,目標檔案31的原始格式較佳可以是例如但不限於:.docx、.pptx、.xlsx、.vss、.pdf、.html、.jpg、.jpeg、.bmp、.png、.gif、.tif或者.tiff等等。
亂數生成器模組22將執行隨機亂數生成算法,以隨機產生大小至少4k位元組(bytes)以上的非固定亂數值作為生成值,並對應產生包含這些生成值的一個生成值區塊33,亂數生成器模組22是在每次需要執行加密作業時,才會即時生成所需的生成值,以及對應的生成值區塊。
金鑰生成器模組23從生成值區塊33包含的這些生成值當中,從第m個位元開始取n個位元組作為加密金鑰生成之種子值,並基於這些種子值實施加密金鑰生成算法而產生加密金鑰34,相似的,再從第p個位元開始取q個位元組作為認證金鑰生成之種子值,並基於這些種子值實施認證金鑰生成算法而產生認證金鑰35,加密金鑰34和認證金鑰35將各自由生成值區塊33中某一段或多段亂數值產生,並且避免使用到同一段亂數,因此較佳的m不應等於p(m≠p)。
加密金鑰生成算法與認證金鑰生成算法可以是相同方法或者不相同方法,較佳的,加密金鑰生成算法與認證金鑰生成算法係選自RSA 算法、DSA算法、MD5算法、MD4算法、MD2算法、SHA-1算法、SHA-2算法、SHA-3算法、RIPEMD-160算法、MDC-2算法、GOST R 34.11-94算法、BLAKE2算法、Whirlpool算法、SM3算法及其組合其中之一。
加密器模組24將基於加密金鑰而實施安全加密算法,以對取得的明文資料32加密,而將明文資料32轉換為密文資料(ciphertext)36,並產生包含密文資料36的安全區塊(security block)37,安全區塊37的內容就是目標檔案被加密後的資料,安全加密算法較佳係選自AES算法、RSA算法、Blowfish算法、Camellia算法、Chacha20算法、Poly1305算法、SEED算法、CAST-128算法、DES算法、IDEA算法、RC2算法、RC4算法、RC5算法、SM4算法、TDES算法、GOST 28147-89算法及其組合其中之一。
數位認證器模組25將基於認證金鑰而實施單向的散列加密算法,以基於明文資料32產生對應的數位認證(digital certification)38,散列加密算法較佳係選自RSA算法、DSA算法、MD5算法、MD4算法、MD2算法、SHA-1算法、SHA-2算法、SHA-3算法、RIPEMD-160算法、MDC-2算法、GOST R 34.11-94算法、BLAKE2算法、Whirlpool算法、SM3算法及其組合其中之一。
檔案配置器(file allocation)模組26,將根據使用者給定的設定,將生成值區塊33、安全區塊37以及數位認證38區分為第一類區塊41、第二類區塊42與第三類區塊43,並為第一類區塊41與第二類區塊42所包含的區塊,分別給定第一隨機次序與第二隨機次序。
寫入器模組27依照檔案配置器模組26的分配,以索引區塊39排在最前面,而第一類區塊41包含之區塊則依照第一隨機次序排列的方 式,將索引區塊39與第一類區塊41包含之區塊寫入帶有索引區塊39的第一安全檔案51。
寫入器模組27依照檔案配置器模組26的分配,將第二類區塊42包含之區塊則依照第二隨機次序排列的方式,將第二類區塊42包含之區塊寫入第二安全檔案52。
寫入器模組27依照檔案配置器模組26的分配,將第三類區塊43包含之區塊寫入第三安全檔案53。第一安全檔案51、第二安全檔案52與第三安全檔案53是由處理器單元11所創建,第一安全檔案51、第二安全檔案52與第三安全檔案53彼此獨立,可以分開傳輸與儲存。
使用者只須按照索引區塊39提供的資訊重新計算數位認證38,即可驗證第一安全檔案51、第二安全檔案52與第三安全檔案53是否經過竄改。
由於第一安全檔案51包含索引區塊39,因此第一安全檔案51較佳亦可視為主檔案(master file),第二安全檔案52與第三安全檔案53不包含索引區塊39,且執行時需要透過第一安全檔案51進行呼叫與連結,因此第二安全檔案52與第三安全檔案53較佳亦可視為資料檔(data file)。
第4圖揭示本發明包含之安全檔案第一實施例之檔案結構視圖;舉例來說,在本實施例,檔案配置器模組26選定生成值區塊33、安全區塊37以及數位認證38共三個區塊為第一類區塊41,準備要寫入帶有索引區塊39的第一安全檔案51,並隨機給予生成值區塊33、安全區塊37以及數位認證38的第一隨機次序,寫入器模組27將以索引區塊39排列在前的方式,依序將索引區塊39、生成值區塊33、安全區塊37、數位認證38及其所 包含的內容寫入第一安全檔案51。
第5圖揭示本發明包含之索引區塊之資料結構視圖;索引區塊39用於紀錄至少各區塊大小、區塊配置、加密金鑰、認證金鑰與生成值等相關資訊,並一定會排列在第一安全檔案51檔案結構的最前面。
舉例來說,在如第4圖所示的第一實施例之中,索引區塊39之資料結構包含檔案識別碼欄位3901、區塊配置索引欄位3902、索引區塊大小欄位3903、生成值區塊索引欄位3904、安全區塊索引欄位3905、數位認證索引欄位3905、生成值區塊大小欄位3907、安全區塊大小欄位3908、數位認證大小欄位3909、安全加密算法欄位3910、散列加密算法欄位3911、加密金鑰索引欄位3912、加密金鑰大小欄位3913、認證金鑰索引欄位3914與認證金鑰大小欄位3915等資訊。
第6圖揭示本發明包含之安全檔案第二實施例之檔案結構視圖;在本實施例,檔案配置器模組26從生成值區塊33、安全區塊37以及數位認證38之中,選定安全區塊37以及數位認證38共二個區塊為第一類區塊41,並隨機給予數位認證38與安全區塊37的第一隨機次序,而檔案配置器模組26選定生成值區塊33為第二類區塊42。
寫入器模組27將以索引區塊39排列在前,依序將索引區塊39、數位認證38、安全區塊37及其所包含的內容寫入第一安全檔案51,而生成值區塊33則另外寫入第二安全檔案52。
第7圖揭示本發明包含之安全檔案第三實施例之檔案結構視圖;在本實施例,案配置器模組26從生成值區塊33、安全區塊37以及數位認證38之中,選定安全區塊37共一個區塊為第一類區塊41,而選定生成值 區塊33與數位認證38為第二類區塊42,並隨機給予數位認證38與生成值區塊33的第二隨機次序。
寫入器模組27以索引區塊39排列在前,接著是安全區塊37的順序,將第一類區塊41及其所包含的內容寫入第一安全檔案51,寫入器模組27依照第二隨機次序,將數位認證38與生成值區塊33依序寫入第二安全檔案52。
第8圖揭示本發明包含之安全檔案第四實施例之檔案結構視圖;在本實施例,檔案配置器模組26選定數位認證38為第一類區塊41,生成值區塊33為第二類區塊42,安全區塊37為第三類區塊43。
寫入器模組27將依照索引區塊39與數位認證38的順序,將第一類區塊41及其所包含的內容寫入第一安全檔案51,寫入器模組27將第二類區塊42即生成值區塊33寫入第二安全檔案52,寫入器模組27將第三類區塊43即安全區塊37寫入第三安全檔案53。
在某些實施例之中,寫入器模組27會將m與n等生成值相關資訊寫入例如加密金鑰索引欄位3911、將p與q等生成值相關資訊寫入例如認證金鑰索引3913欄位欄位,而第一類區塊41、第二類區塊42、第三類區塊43、第一隨機次序與第二隨機次序等資訊將寫入區塊配置索引欄位3902。
當第三人想要使用特殊編輯器軟體檢視第一安全檔案51、第二安全檔案52或者第三安全檔案53時,因為不知道四個區塊的排列順序和區分方式,加上不知道金鑰產生機制,故無法正確解讀第一安全檔案51包含的索引區塊39的內容,且目標檔案的實際內容都經過加密,因此第三人即使使用特殊編輯器軟體檢視也無法得知目標檔案的原始內容,因此大大 提升檔案安全性。
但是當使用者使用經過授權與許可的合規編輯器軟體開啟與執行第一安全檔案51時,由於合規編輯器軟體可以正確解讀第一安全檔案51包含的索引區塊39的內容,因此合規編輯器軟體可以自動呼叫與連結所需的第二安全檔案52或第三安全檔案53,並找到隱藏在檔案中的金鑰且得知對應的加密方法,因此軟體透過對稱的反向執行對應的解密方法,得以將第一安全檔案51、第二安全檔案52或者第三安全檔案53包含的密文資料36,完整還原為明文資料32,而得以讀取目標檔案的原始內容。
第9圖揭示使用HEX編輯器開啟未經加密的韌體影像檔案之編輯器介面之示意圖;當使用者設備上的韌體影像(firmware image)檔案沒有經過任何加密處理時,任意第三人只要使用例如各種的16進位HEX編輯器,就可任意開啟、瀏覽與編輯這份韌體影像檔案。
如第9圖所示,任意第三人透過HEX編輯器介面,即可檢視使用者設備的韌體影像檔案,並透過編輯器介面200中的文字欄(text column)210,就可以直接看到有關硬碟配置的字節資訊,甚至第三人透過操作16進位欄位(hex column)220,就可隨意修改這份韌體影像檔案,這份韌體影像檔案缺少安全性。
第10圖揭示使用HEX編輯器開啟經過本發明檔案加密方法加密後的韌體影像檔案之編輯器介面之示意圖;當使用者設備上的韌體影像檔案經過本發明檔案加密方法加密後,即使任意第三人使用HEX編輯器開啟經過加密之韌體影像檔案後,已經無法從文字欄210得知這份檔案的實際內容。
第11圖揭示本發明包含之資料保護方法之實施步驟流程圖;小結而言,本發明包含之檔案加密方法較佳包含資料保護方法與安全檔案配置方法,資料保護方法310較佳包含但不限於以下由處理器執行的步驟:隨機產生多個生成值與產生包含該等生成值的該生成值區塊(步驟311);從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施加密金鑰生成算法以產生加密金鑰(步驟312);從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施認證金鑰生成算法以產生認證金鑰(步驟313);基於加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊(步驟314);以及基於認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證(步驟315)。
第12圖揭示本發明包含之安全檔案配置方法之實施步驟流程圖;本發明包含的安全檔案配置方法320較佳包含但不限於以下由處理器執行的步驟:從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第一類區塊(步驟321);以該索引區塊排列在前,接著依照第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊寫入第一安全檔案(步驟322);從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第二類區塊(步驟323);以依照第二隨機次序排列該第二類區塊所包含的區塊的方式將該第二類區塊寫入第二安全檔案(步驟324);以及從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第三類區塊,並將該第三類區塊寫入第三安全檔案(步驟325)。
第13圖揭示本發明包含之檔案加密方法之實施步驟流程 圖;小結而言,本發明包含之檔案加密方法330較佳包含但不限於以下由處理器執行的步驟:提供包含隨機產生的複數生成值的生成值區塊(步驟331);基於該等生成值實施加密金鑰生成算法以產生加密金鑰與認證金鑰生成算法以產生認證金鑰(步驟332);基於該加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊(步驟333);基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證(步驟334);以及選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案(步驟335)。
本發明提出的檔案加密方法,係將數位認證夾帶在檔案結構某處,以確保檔案內容遭到任何非預期之編輯後可以及時發現,並且將加密金鑰與認證金鑰夾帶在檔案結構的某處,可避免使用者忘記金鑰造成無法解碼的問題,使用者更可以經常變化金鑰內容增強檔案安全性。本發明提出的檔案加密方法透過普通的使用者設備內建的硬體資源就可以快速執行與實施,不需使用額外的高階設備。本發明提出的檔案加密方法達成了以較低成本,且可在現有使用者設備上實施的方式來保護檔案內容所紀錄的電子資料。
本發明以上各實施例彼此之間可以任意組合或者替換,從而衍生更多之實施態樣,但皆不脫本發明所欲保護之範圍,茲進一步提供更多本發明實施例如次:
實施例1:一種檔案加密方法,其包含由處理器執行的複數步驟,該等步驟包含:提供包含隨機產生的複數生成值的生成值區塊;基於該等生成值實施金鑰生成算法以產生加密金鑰與認證金鑰;基於該加密 金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊;基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證;以及選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案。
實施例2:如請求項1所述之檔案加密方法,還包含資料保護方法,該資料保護方法包含以下其中之一:從儲存媒體讀取該目標檔案;在該儲存媒體上創建該第一安全檔案、第二安全檔案與第三安全檔案;隨機產生該等生成值與產生包含該等生成值的該生成值區塊;從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施加密金鑰生成算法以產生該加密金鑰;以及從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施認證金鑰生成算法以產生該認證金鑰。
實施例3:如請求項2所述之檔案加密方法,還包含安全檔案配置方法,該安全檔案配置方法包含以下其中之一:從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第一類區塊;以該索引區塊排列在前,接著依照第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊寫入第一安全檔案;從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第二類區塊;以依照第二隨機次序排列該第二類區塊所包含的區塊的方式將該第二類區塊寫入該第二安全檔案;從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第三類區塊,並將該第三類區塊寫入該第三安全檔案;以及至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
實施例4:如請求項2所述之檔案加密方法,其中該金鑰生成 算法、該加密金鑰生成算法與該認證金鑰生成算法係選自RSA算法、DSA算法、MD5算法、MD4算法、MD2算法、SHA-1算法、SHA-2算法、SHA-3算法、RIPEMD-160算法、MDC-2算法、GOST R 34.11-94算法、BLAKE2算法、Whirlpool算法、SM3算法及其組合其中之一。
實施例5:如請求項1所述之檔案加密方法,其中該安全加密算法係選自AES算法、RSA算法、Blowfish算法、Camellia算法、Chacha20算法、Poly1305算法、SEED算法、CAST-128算法、DES算法、IDEA算法、RC2算法、RC4算法、RC5算法、SM4算法、TDES算法以及GOST 28147-89算法及其組合其中之一。
實施例6:如請求項1所述之檔案加密方法,其中該散列加密算法係選自RSA算法、DSA算法、MD5算法、MD4算法、MD2算法、SHA-1算法、SHA-2算法、SHA-3算法、RIPEMD-160算法、MDC-2算法、GOST R 34.11-94算法、BLAKE2算法、Whirlpool算法、SM3算法及其組合其中之一。
實施例7:一種檔案加密裝置,其包含由處理器執行的:亂數生成器模組,以隨機產生複數生成值並產生包含該等生成值的生成值區塊;金鑰生成器模組,其基於該等生成值實施金鑰生成算法以產生加密金鑰與認證金鑰;加密器模組,其基於該加密金鑰實施安全加密算法將目標檔案所包含之明文資料轉換為密文資料,並產生包含該密文資料的安全區塊;數位認證器模組,其基於該認證金鑰實施散列加密算法以基於該明文資料產生對應的數位認證;以及寫入器模組,選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入第一安全檔案。
實施例8:如請求項7所述之檔案加密裝置,還包含以下其中 之一:讀取器模組,其從儲存媒體讀取該目標檔案;以及該金鑰生成器模組,係從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施加密金鑰生成算法以產生該加密金鑰,並從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施認證金鑰生成算法以產生該認證金鑰。
實施例9:如請求項8所述之檔案加密裝置,還包含檔案配置器模組,其係執行以下步驟其中之一:從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第一類區塊,並為該第一類區塊所包含的區塊隨機給予第一隨機次序;從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第二類區塊,並為該第二類區塊所包含的區塊隨機給予第二隨機次序;以及從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為第三類區塊。
實施例10:如請求項9所述之檔案加密裝置,其中該寫入器模組係執行以下步驟其中之一:以該索引區塊排列在前,接著依照該第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊所包含的區塊寫入該第一安全檔案;以依照該第二隨機次序排列該第二類區塊所包含的區塊的方式,將該索引區塊與該第二類區塊所包含的區塊寫入第二安全檔案;將該第三類區塊所包含的區塊寫入第三安全檔案;以及至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
本發明各實施例彼此之間可以任意組合或者替換,從而衍生更多之實施態樣,但皆不脫本發明所欲保護之範圍,本發明保護範圍之界定,悉以本發明申請專利範圍所記載者為準。
11:處理器單元
12:儲存媒體
21:讀取器模組
22:亂數生成器模組
23:金鑰生成器模組
24:加密器模組
25:數位認證器模組
26:檔案配置器模組
27:寫入器模組
31:目標檔案
32:明文資料
33:生成值區塊
34:加密金鑰
35:認證金鑰
36:密文資料
37:安全區塊
38:數位認證
39:索引區塊
41:第一類區塊
42:第二類區塊
43:第三類區塊
51:第一安全檔案
52:第二安全檔案
53:第三安全檔案

Claims (10)

  1. 一種檔案加密方法,其包含由一處理器執行的複數步驟,該等步驟包含:
    提供包含隨機產生的複數生成值的一生成值區塊;
    基於該等生成值實施一金鑰生成算法以產生一加密金鑰與一認證金鑰;
    基於該加密金鑰實施一安全加密算法將一目標檔案所包含之一明文資料轉換為一密文資料,並產生包含該密文資料的一安全區塊;
    基於該認證金鑰實施一散列加密算法以基於該明文資料產生對應的一數位認證;以及
    選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入一第一安全檔案。
  2. 如請求項1所述之檔案加密方法,還包含一資料保護方法,該資料保護方法包含以下其中之一:
    從一儲存媒體讀取該目標檔案;
    在該儲存媒體上創建該第一安全檔案、一第二安全檔案與一第三安全檔案;
    隨機產生該等生成值與產生包含該等生成值的該生成值區塊;
    從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施一加密金鑰生成算法以產生該加密金鑰;以及
    從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施一認證金鑰生成算法以產生該認證金鑰。
  3. 如請求項2所述之檔案加密方法,還包含一安全檔案配置方法,該安全檔案配置方法包含以下其中之一:
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第一類區塊;
    以該索引區塊排列在前,接著依照一第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊寫入一第一安全檔案;
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第二類區塊;
    以依照一第二隨機次序排列該第二類區塊所包含的區塊的方式將該第二類區塊寫入該第二安全檔案;
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第三類區塊,並將該第三類區塊寫入該第三安全檔案;以及
    至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
  4. 如請求項2所述之檔案加密方法,其中該金鑰生成算法、該加密金鑰生成算法與該認證金鑰生成算法係選自一RSA算法、一DSA算法、一MD5算法、一MD4算法、一MD2算法、一SHA-1算法、一SHA-2算法、一SHA-3算法、一RIPEMD-160算法、一MDC-2算法、一GOST R 34.11-94算法、一BLAKE2算法、一Whirlpool算法、一SM3算法及其組合其中之一。
  5. 如請求項1所述之檔案加密方法,其中該安全加密算法係選自一AES算法、一RSA算法、一Blowfish算法、一Camellia算法、一Chacha20算法、一Poly1305算法、一SEED算法、一CAST-128算法、一DES算法、一IDEA 算法、一RC2算法、一RC4算法、一RC5算法、一SM4算法、一TDES算法以及一GOST 28147-89算法及其組合其中之一。
  6. 如請求項1所述之檔案加密方法,其中該散列加密算法係選自一RSA算法、一DSA算法、一MD5算法、一MD4算法、一MD2算法、一SHA-1算法、一SHA-2算法、一SHA-3算法、一RIPEMD-160算法、一MDC-2算法、一GOST R 34.11-94算法、一BLAKE2算法、一Whirlpool算法、一SM3算法及其組合其中之一。
  7. 一種檔案加密裝置,其包含由一處理器執行的:
    一亂數生成器模組,以隨機產生複數生成值並產生包含該等生成值的一生成值區塊;
    一金鑰生成器模組,其基於該等生成值實施一金鑰生成算法以產生一加密金鑰與一認證金鑰;
    一加密器模組,其基於該加密金鑰實施一安全加密算法將一目標檔案所包含之一明文資料轉換為一密文資料,並產生包含該密文資料的一安全區塊;
    一數位認證器模組,其基於該認證金鑰實施一散列加密算法以基於該明文資料產生對應的一數位認證;以及
    一寫入器模組,選擇性的將該生成值區塊、該安全區塊以及該數位認證其中之一寫入一第一安全檔案。
  8. 如請求項7所述之檔案加密裝置,還包含以下其中之一:
    一讀取器模組,其從一儲存媒體讀取該目標檔案;以及
    該金鑰生成器模組,係從該生成值區塊中的第m個該等生成值取出n個該等生成值,並據此實施一加密金鑰生成算法以產生該加密金鑰,並從該生成值區塊中的第p個該等生成值取出q個該等生成值,並據此實施一認證金鑰生成算法以產生該認證金鑰。
  9. 如請求項8所述之檔案加密裝置,還包含一檔案配置器模組,其係執行以下步驟其中之一:
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第一類區塊,並為該第一類區塊所包含的區塊隨機給予第一隨機次序;
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第二類區塊,並為該第二類區塊所包含的區塊隨機給予第二隨機次序;以及
    從該生成值區塊、該安全區塊以及該數位認證選定其中之一作為一第三類區塊。
  10. 如請求項9所述之檔案加密裝置,其中該寫入器模組係執行以下步驟其中之一:
    以該索引區塊排列在前,接著依照該第一隨機次序排列該第一類區塊所包含的區塊的方式,將該索引區塊與該第一類區塊所包含的區塊寫入該第一安全檔案;
    以依照該第二隨機次序排列該第二類區塊所包含的區塊的方式,將該索引區塊與該第二類區塊所包含的區塊寫入一第二安全檔案;
    將該第三類區塊所包含的區塊寫入一第三安全檔案;以及
    至少將m、n、p與q以及該第一隨機次序寫入該索引區塊。
TW111134174A 2022-09-08 2022-09-08 檔案加密方法與裝置 TW202411866A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW111134174A TW202411866A (zh) 2022-09-08 2022-09-08 檔案加密方法與裝置
US18/078,173 US20240089095A1 (en) 2022-09-08 2022-12-09 File encrypting method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111134174A TW202411866A (zh) 2022-09-08 2022-09-08 檔案加密方法與裝置

Publications (1)

Publication Number Publication Date
TW202411866A true TW202411866A (zh) 2024-03-16

Family

ID=90140708

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111134174A TW202411866A (zh) 2022-09-08 2022-09-08 檔案加密方法與裝置

Country Status (2)

Country Link
US (1) US20240089095A1 (zh)
TW (1) TW202411866A (zh)

Also Published As

Publication number Publication date
US20240089095A1 (en) 2024-03-14

Similar Documents

Publication Publication Date Title
US7428306B2 (en) Encryption apparatus and method for providing an encrypted file system
CN101118586B (zh) 数据处理设备和数据处理方法
US7694147B2 (en) Hashing method and system
US20110016330A1 (en) Information leak prevention device, and method and program thereof
US20080235521A1 (en) Method and encryption tool for securing electronic data storage devices
CN102334124A (zh) 文件的保护方法及装置
US20070014398A1 (en) Generating a secret key from an asymmetric private key
CN114175580B (zh) 增强的安全加密和解密系统
WO2020155812A1 (zh) 一种数据存储方法、装置及设备
JPWO2003013054A1 (ja) 処理に伴い暗号データの改ざん検出用データを生成する装置及び方法
JP5703714B2 (ja) データ処理装置およびデータ処理システムとデータ処理プログラムならびにアクセス制限方法
JP2004072151A (ja) ファイル暗号化機能を有する端末装置
US9697372B2 (en) Methods and apparatuses for securing tethered data
KR100819382B1 (ko) 디지털 정보 저장 시스템, 디지털 정보 보안 시스템,디지털 정보 저장 및 제공 방법
TW202411866A (zh) 檔案加密方法與裝置
US8473516B2 (en) Computer storage apparatus for multi-tiered data security
CN103838986A (zh) 一种多媒体文件加密方法及装置
CN112615816A (zh) 一种云文档传输加解密方法
CN101794260A (zh) 一种移动存储设备加密密钥自动导入方法
JP5539024B2 (ja) データ暗号化装置およびその制御方法
Aguila et al. Implementation of a Secured Student Record Management using Modified RC6 and OTP Algorithms.
KR20020025343A (ko) 기본키와 일회용키를 이용한 파일 암호 와 복호 방법 및그 장치
TW202403566A (zh) 電子文件的存取權限的管理系統和管理方法
CN116962022A (zh) 外发文件加密及解密方法、装置、计算机设备和介质
CN118260786A (zh) 一种加密和解密文件的方法、装置、设备及存储介质