JP5866460B2 - ファイルをパックする/アンパックするための方法および装置 - Google Patents

ファイルをパックする/アンパックするための方法および装置 Download PDF

Info

Publication number
JP5866460B2
JP5866460B2 JP2014547687A JP2014547687A JP5866460B2 JP 5866460 B2 JP5866460 B2 JP 5866460B2 JP 2014547687 A JP2014547687 A JP 2014547687A JP 2014547687 A JP2014547687 A JP 2014547687A JP 5866460 B2 JP5866460 B2 JP 5866460B2
Authority
JP
Japan
Prior art keywords
decryption algorithm
file
encryption
partial encryption
algorithm
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.)
Active
Application number
JP2014547687A
Other languages
English (en)
Other versions
JP2015507258A (ja
Inventor
声福 ▲唐▼
声福 ▲唐▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2015507258A publication Critical patent/JP2015507258A/ja
Application granted granted Critical
Publication of JP5866460B2 publication Critical patent/JP5866460B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • 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

Description

本開示は、電気通信技法に関し、より詳細には、ファイルをパックする/アンパックするための方法および装置に関する。
図1は、従来のファイルパッキングおよびアンパッキングプロセスの原理を示す概略図である。暗号化されたターゲットファイル(すなわち、暗号化された後のターゲットファイル)を取得するために、ターゲットファイルは、暗号化/復号化アルゴリズムによって暗号化される。次いで、暗号化されたターゲットファイルは、パックされたターゲットファイル(すなわち、パックされた後のターゲットファイル)の中に埋め込まれる。加えて、暗号化/復号化アルゴリズムによって要求されるアルゴリズムKey(秘密鍵)、および暗号化/復号化アルゴリズムもまた、パックされたターゲットファイルに埋め込まれる。パッキング動作は、実行可能なプログラムリソースを圧縮することである。パッキング動作は、ファイルを保護するための頻繁に使用される手段である。パックされた後のプログラムは、直接実行することが可能である。しかし、プログラムのソースコードは、アンパッキング動作なしには、見ることができない。
ファイルアンパッキング手順では、パックされたターゲットファイルを取得した後、パックされたターゲットファイルにおける暗号化されたターゲットファイルを復号し、オリジナルのターゲットファイルを取得するために、パックされたターゲットファイルにおける暗号化/復号化アルゴリズムが自動的に実行される。ファイルアンパッキングプロセスは、オリジナルのターゲットファイルがロードされた後に終了する。
本開示の例は、パッキング技法のセキュリティレベルを上昇させるために、ファイルパッキング/アンパッキングの方法および装置を提供する。
本開示の一例によれば、ファイルパッキング方法が提供される。方法は、
暗号化されたターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用してターゲットファイルを暗号化し、暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズムと第2の部分暗号化/復号化アルゴリズムとに分割するステップと、
第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルに従って、パックされたターゲットファイルを取得するステップと、
パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを、アンパッキング装置に通知するステップと
を含む。
本開示の別の例によれば、ファイルアンパッキング方法が提供される。方法は、
パッキング装置によって送信された、パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを受信するステップと、
パックされたターゲットファイルから、第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルを取得するステップと、
第1の部分暗号化/復号化アルゴリズムおよび第2の部分暗号化/復号化アルゴリズムに従って、暗号化/復号化アルゴリズムを取得するステップと、
ターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用して、暗号化されたターゲットファイルを復号化するステップと
を含む。
本開示のさらに別の例によれば、ファイルパッキング装置が提供される。装置は、
暗号化されたターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用してターゲットファイルを暗号化するように構成された第1の取得モジュールと、
暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズムと第2の部分暗号化/復号化アルゴリズムとに分割するように構成された分割モジュールと、
第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルに従って、パックされたターゲットファイルを取得するように構成された第2の取得モジュールと、
パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを、アンパッキング装置に送信するように構成された送信モジュールと
を含む。
本開示のさらに別の例によれば、ファイルアンパッキング装置が提供される。装置は、
パッキング装置によって送信された、パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを受信するように構成された受信モジュールと、
パックされたターゲットファイルから、第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルを取得するように構成された第1の取得モジュールと、
第1の部分暗号化/復号化アルゴリズムおよび第2の部分暗号化/復号化アルゴリズムに従って、暗号化/復号化アルゴリズムを取得するように構成された第2の取得モジュールと、
暗号化/復号化アルゴリズムを使用して、暗号化されたターゲットファイルを復号化することを通して、ターゲットファイルを取得するように構成された第3の取得モジュールと
を含む。
本開示の例では、暗号化/復号化アルゴリズムが分割され、暗号化/復号化アルゴリズムの一部のみが、パックされたターゲットファイルに保持される。したがって、完全な暗号化/復号化アルゴリズムが見出され、クラックされることは困難であり、パッキング技法のセキュリティレベルが上昇する。
上記は、本開示の技術的解決策に対する簡単な説明を与えているにすぎない。本開示の技術的解決策および利点をより明らかにし、本開示の説明に従ってそれらが実装され得るようにするために、例および添付の図面を参照して、下記において詳細な説明を行う。
従来のファイルパッキングおよびアンパッキング技法の原理を示す概略図である。 本開示の第1の例による、ファイルパッキングプロセスの原理を示す概略図である。 本開示の第1の例による、ファイルアンパッキングプロセスの原理を示す概略図である。 本開示の第1の例による、ファイルパッキングおよびアンパッキング方法を示す流れ図である。 本開示の第2の例による、ファイルパッキング装置の構造を示す概略図である。 本開示の第3の例による、ファイルアンパッキング装置の構造を示す概略図である。
以下では、本明細書における技術的解決策をより明らかにするために、添付の図面および例を参照して、本開示の技術的解決策をさらに詳細に説明することにする。下記に説明される例は、本開示のいくつかの実施形態にすぎず、すべての実施形態を形成するものではないことに留意されたい。下記の例に基づいて、当業者は、やはり本開示の保護範囲内にある多くの変形を、発明的な取組みなしに有することになるだろう。
第1の例
本開示の第1の例は、ファイルパッキングおよびアンパッキング方法(Flashファイルに適用されるが、それに限定はされない)を提供する。方法は、別々の(discrete)ファイルパッキングプロセスおよびアンパッキングプロセスにおいて適用されてよい。「別々の」という用語は、各ファイルのアンパッキングが独立していることを意味する。図2および図3は、ファイルパッキングプロセスおよびファイルアンパッキングプロセスをそれぞれ示す。図2に示すように、ファイルパッキングプロセスの主な原理は下記の通りである。パッキング装置が、暗号化されたターゲットファイル(すなわち、CipherFile)を取得するために、暗号化/復号化アルゴリズム(Alg)を使用して、ターゲットファイル(すなわち、パックされる必要のあるTargetFile)を暗号化する。パッキング装置は、暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズム(AlgB)と第2の部分暗号化/復号化アルゴリズム(AlgA)とに分割し、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)を使用して、パックされたターゲットファイルを取得する。図3に示すように、ファイルアンパッキングプロセスの主な原理は下記の通りである。アンパッキング装置が、パッキング装置によって送信された、パックされたターゲットファイル(ShellFile)および第2の部分暗号化/復号化アルゴリズム(AlgA)を受信し、パックされたターゲットファイル(ShellFile)から、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)を取得する。次いで、アンパッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)および第2の部分暗号化/復号化アルゴリズム(AlgA)に従って、暗号化/復号化アルゴリズムを取得する。アンパッキング装置は、ターゲットファイル(TargetFile)を取得するために、暗号化/復号化アルゴリズム(Alg)を使用して、暗号化されたターゲットファイル(CipherFile)を復号化する。
図2および図3に示した原理に基づいて、ファイルパッキングおよびアンパッキング方法を図4に示す。図4に示すように、方法は下記を含む。
ブロック401で、パッキング装置(たとえば、開発マシン、コンパイルマシンなど)は、暗号化されたターゲットファイル(CipherFile)を取得するために、暗号化/復号化アルゴリズム(Alg)を使用してターゲットファイル(すなわち、パックされる必要のあるTargetFile)を暗号化し、暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズム(AlgB)と第2の部分暗号化/復号化アルゴリズム(AlgA)とに分割し、ここで、第1の部分暗号化/復号化アルゴリズム(AlgB)は、暗号化/復号化アルゴリズムによって要求されるアルゴリズムKey(秘密鍵)を保持している。
本開示の例において、暗号化/復号化アルゴリズム(Alg)を第1の部分(AlgB)と第2の部分(AlgA)とに分割することは、パッキング装置が、暗号化/復号化アルゴリズム(Alg)に対応するファイルを、2つの部分、AlgAとAlgBとに分割することを含む。
ブロック402で、パッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)を使用して、パックされたターゲットファイル(ShellFile、すなわち、パッキングプロセスによって最終的に生成されるファイル)を取得する。
パッキング装置は、パッキングテンプレートファイル(ShellTemplate)を通してパックされたターゲットファイル(ShellFile)を取得するために、第1の部分暗号化/復号化アルゴリズム(AlgB)を、パッキングテンプレートファイル(ShellTemplate、すなわち、ファイルパッキングに使用されるテンプレート)のアルゴリズム領域(すなわち、AlgBフィールド)の中に埋め込むことができ、暗号化されたターゲットファイル(CipherFile)を、パッキングテンプレートファイル(ShellTemplate)のデータ領域(すなわち、Dataフィールド)の中に埋め込む。
本開示の例において、そのアルゴリズム領域(AlgBフィールド)およびデータ領域(Dataフィールド)が空であるパッキングテンプレートファイル(ShellTemplate)の中に、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)を埋め込んだ後、パックされたターゲットファイル(ShellFile)が生成される。
一例において、パッキングテンプレートファイル(ShellTemplate)は、ターゲットファイルタイプ領域(すなわち、Typeフィールド)をさらに含むことができる。したがって、パックされたターゲットファイル(ShellFile)を生成するとき、パッキング装置は、ターゲットファイル(TargetFile)のファイルタイプをさらに取得して、ターゲットファイル(TargetFile)のファイルタイプを、パッキングテンプレートファイル(ShellTemplate)のターゲットファイルタイプ領域(Typeフィールド)の中に埋め込むことができる。
ブロック403で、パッキング装置は、パックされたターゲットファイル(ShellFile)および第2の部分暗号化/復号化アルゴリズム(AlgA)を、アンパッキング装置(たとえば、クライアントデバイスなど)に通知する。パックされたターゲットファイル(ShellFile)を取得した後、パッキング装置は、パックされたターゲットファイル(ShellFile)をサーバに送信し、サーバが、パックされたターゲットファイル(ShellFile)をアンパッキング装置に送信する。
本開示の例において、パックされたターゲットファイル(ShellFile)および第2の部分暗号化/復号化アルゴリズム(AlgA)は、パッキング装置によって、一緒に通知されても、またはそれぞれ通知されてもよい。
第2の部分暗号化/復号化アルゴリズム(AlgA)をアンパッキング装置に通知するとき、パッキング装置は、アルゴリズムライブラリ(AlgLib)方式を使用することに留意されたい。アルゴリズムライブラリ(AlgLib)は、いくつかの暗号化/復号化アルゴリズムのうちの各々のAlgB_MD5とAlgAとの対応関係を記憶し、ここで、AlgB_MD5は、暗号化/復号化アルゴリズムのAlgBのMD5値であり、AlgAは、暗号化/復号化アルゴリズムのAlgAである。
パッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)に対応するMD5値(すなわち、AlgB_MD5)を取得し、第1の部分暗号化/復号化アルゴリズムに対応するMD5値(AlgB_MD5)と、第2の部分暗号化/復号化アルゴリズム(AlgA)との対応関係を、アルゴリズムライブラリ(AlgLib)に記録する必要がある。次いで、パッキング装置は、アルゴリズムライブラリ(AlgLib)をアンパッキング装置に通知する。
上のファイルパッキング動作に基づいて、図4に示すような本開示の方法は、下記のファイルアンパッキングプロセスをさらに含むことができる。
ブロック404で、アンパッキング装置は、パッキング装置によって送信された、パックされたターゲットファイル(ShellFile)および第2の部分暗号化/復号化アルゴリズム(AlgA)を受信する。
パッキング装置によって送信された、パックされたターゲットファイル(ShellFile)および第2の部分暗号化/復号化アルゴリズム(AlgA)を受信するとき、アンパッキング装置は、パッキング装置によって送信されたアルゴリズムライブラリ(AlgLib)を受信する形式で、第2の部分暗号化/復号化アルゴリズム(AlgA)を受信することに留意されたい。アルゴリズムライブラリ(AlgLib)は、いくつかの暗号化/復号化アルゴリズムのうちの各々の、第1の部分暗号化/復号化アルゴリズム(AlgB)に対応するMD5値(AlgB_MD5)と、第2の部分暗号化/復号化アルゴリズム(AlgA)との対応関係を記憶する。
ブロック405で、アンパッキング装置は、パックされたターゲットファイル(ShellFile)から、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)を取得する。
パックされたターゲットファイル(ShellFile)のパッキングテンプレートファイル(ShellTemplate)には、第1の部分暗号化/復号化アルゴリズム(AlgB)および暗号化されたターゲットファイル(CipherFile)が埋め込まれているので、アンパッキング装置は、パックされたターゲットファイル(ShellFile)のパッキングテンプレートファイル(ShellTemplate)のアルゴリズムフィールド(AlgBフィールド)から、埋め込まれた第1の部分暗号化/復号化アルゴリズム(AlgB)を取得することができ、パックされたターゲットファイル(ShellFile)のパッキングテンプレートファイル(ShellTemplate)のデータ領域(Dataフィールド)から、埋め込まれた暗号化されたターゲットファイル(CipherFile)を取得する。
一例において、ターゲットファイル(TargetFile)のファイルタイプが、パックされたターゲットファイル(ShellFile)に埋め込まれている場合、アンパッキング装置は、パックされたターゲットファイル(ShellFile)のパッキングテンプレートファイル(ShellTemplate)のターゲットファイルタイプ領域(Typeフィールド)から、ターゲットファイル(TargetFile)の埋め込まれたファイルタイプをさらに取得することができる。
ブロック406で、アンパッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)および第2の部分暗号化/復号化アルゴリズム(AlgA)に従って、暗号化/復号化アルゴリズムを取得する。
パックされたターゲットファイル(ShellFile)から第1の部分暗号化/復号化アルゴリズム(AlgB)を取得した後、アンパッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)に対応するMD5値(AlgB_MD5)を取得し、第1の部分暗号化/復号化アルゴリズムに対応するMD5値(AlgB_MD5)に従って、アルゴリズムライブラリ(AlgLib)に問い合わせる。アルゴリズムライブラリは、いくつかの暗号化/復号化アルゴリズムのうちの、第1の部分暗号化/復号化アルゴリズム(AlgB)のMD5値(すなわち、AlgB_MD5)と、第2の部分暗号化/復号化アルゴリズム(AlgA)との対応関係を記憶しているので、対応する第2の部分暗号化/復号化アルゴリズム(AlgA)が取得され得る。次いでアンパッキング装置は、第1の部分暗号化/復号化アルゴリズム(AlgB)と、第2の部分暗号化/復号化アルゴリズム(AlgA)とを組み合わせて、暗号化/復号化アルゴリズム(Alg)を取得する。
ブロック407で、アンパッキング装置は、ターゲットファイル(TargetFile)を取得するために、暗号化/復号化アルゴリズム(Alg)を使用して、暗号化されたターゲットファイル(CipherFile)を復号化する。
本開示の例では、暗号化/復号化アルゴリズムを分割し、暗号化/復号化アルゴリズムの単に一部だけをパックされたターゲットファイルに保持することを通して、完全な暗号化/復号化アルゴリズムが、容易には見出されず、クラックされない。したがって、パッキング技法のセキュリティレベルが上昇する。
既存のファイル暗号化システムにおける従来のファイル暗号化手順と比較すると、ファイル暗号化システムでは、暗号化/復号化アルゴリズムが、第1の部分暗号化/復号化アルゴリズムと、第2の部分暗号化/復号化アルゴリズムとに分割されないことに留意されたい。ファイル暗号化システムにおけるファイルに対する処理は、プログラムの実行を確実にすることができない。しかしながら、上のファイルパッキングおよびアンパッキングプロセスは、プログラムの実行を確実にすることが可能である。
第2の例
上の方法例と同様の着想に基づいて、図5に示すように、本開示の一例は、パッキング装置を提供する。パッキング装置は、
暗号化されたターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用してターゲットファイルを暗号化するように構成された第1の取得モジュール51と、
暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズムと第2の部分暗号化/復号化アルゴリズムとに分割するように構成された分割モジュール52と、
第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルに従って、パックされたターゲットファイルを取得するように構成された第2の取得モジュール53と、
パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを、アンパッキング装置に送信するように構成された送信モジュール54と
を含む。
第2の取得モジュール53は、パッキングテンプレートファイルに従ってパックされたターゲットファイルを取得するために、第1の部分暗号化/復号化アルゴリズムを、パッキングテンプレートファイルのアルゴリズム領域の中に埋め込み、暗号化されたターゲットファイルを、パッキングテンプレートファイルのデータ領域の中に埋め込むように、さらに構成されている。
送信モジュール54は、第1の部分暗号化/復号化アルゴリズムに対応するMD5値を取得し、第1の部分暗号化/復号化アルゴリズムのMD5値と、第2の部分暗号化/復号化アルゴリズムとの対応関係を、アルゴリズムライブラリに記録し、アルゴリズムライブラリをアンパッキング装置に通知するように、さらに構成されている。
本開示の例において、ターゲットファイルは、Flashファイルを含むが、それに限定はされない。
第3の例
上の方法例と同様の着想に基づいて、図6に示すように、本開示の一例は、アンパッキング装置を提供する。アンパッキング装置は、
パッキング装置によって送信された、パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを受信するように構成された受信モジュール61と、
パックされたターゲットファイルから、第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルを取得するように構成された第1の取得モジュール62と、
第1の部分暗号化/復号化アルゴリズムおよび第2の部分暗号化/復号化アルゴリズムに従って、暗号化/復号化アルゴリズムを取得するように構成された第2の取得モジュール63と、
暗号化/復号化アルゴリズムを使用して、暗号化されたターゲットファイルを復号化することを通して、ターゲットファイルを取得するように構成された第3の取得モジュール64と
を含む。
第1の取得モジュール62は、パックされたターゲットファイルのパッキングテンプレートファイルのアルゴリズム領域から、第1の部分暗号化/復号化アルゴリズムを取得し、パッキングテンプレートファイルのデータ領域から、暗号化されたターゲットファイルを取得するように、さらに構成されている。
受信モジュール61は、パッキング装置によって送信されたアルゴリズムライブラリを受信するようにさらに構成されており、ここで、アルゴリズムライブラリは、第1の部分暗号化/復号化アルゴリズムのMD5値と、第2の部分暗号化/復号化アルゴリズムとの対応関係を記録する。
第2の取得モジュール63は、
第1の部分暗号化/復号化アルゴリズムに対応するMD5値を取得し、
第2の部分暗号化/復号化アルゴリズムを取得するために、第1の部分暗号化/復号化アルゴリズムに対応するMD5値に従ってアルゴリズムライブラリに問い合わせし、
暗号化/復号化アルゴリズムを取得するために、第1の部分暗号化/復号化アルゴリズムと、第2の部分暗号化/復号化アルゴリズムとを組み合わせるように
さらに構成されている。
本開示の例において、ターゲットファイルは、Flashファイルを含むが、それに限定はされない。
上の説明を通して、当業者は、本開示が、ソフトウェアおよび必要なハードウェアプラットフォームの形態で実装されても、またはハードウェアによって実装されてもよいことを知るであろう。しかしながら、ほとんどのケースでは、前者がより良い。このことに基づいて、本開示の技術的解決策または貢献部分を、記憶媒体に記憶されたソフトウェア製品の形態で具体化することができる。ソフトウェア製品は、本開示の各例を参照して説明された方法を実行するための、コンピュータ(たとえば、パーソナルコンピュータ、サーバ、またはネットワークデバイス)によって実行可能な一組の命令を含む。
図面は、例のいくつかの概略図を示しているにすぎず、図面におけるすべてのモジュールまたはブロックが、本開示を実装するために必要であるわけではない。
装置におけるモジュールが、例の説明による装置の中に配置されてもよいこと、または対応する変形後の1つまたは複数の装置の中に配置されてもよいことは、当業者には明白である。モジュールは、1つのモジュールの中に組み合わされても、または複数のサブモジュールに分割されてもよい。
本明細書で説明され、示されてきたものは、その変形のいくつかを加えた本開示の好ましい例である。本明細書で使用される用語、説明、および図面は、例証としてのみ明記され、限定として意味されない。本開示の趣旨および範囲内で多くの変形が可能であり、本開示は、その中のすべての用語が、別段示されない限り、そのもっとも広い妥当な見解において意味される、下記の特許請求の範囲およびその均等物によって定義されることを意図する。
51 第1の取得モジュール
52 分割モジュール
53 第2の取得モジュール
54 送信モジュール
61 受信モジュール
62 第1の取得モジュール
63 第2の取得モジュール
64 第3の取得モジュール

Claims (18)

  1. 暗号化されたターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用してターゲットファイルを暗号化し、前記暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズムと第2の部分暗号化/復号化アルゴリズムとに分割するステップと、
    前記第1の部分暗号化/復号化アルゴリズムおよび前記暗号化されたターゲットファイルに従って、パックされたターゲットファイルを取得するステップと、
    前記パックされたターゲットファイルおよび前記第2の部分暗号化/復号化アルゴリズムを、アンパッキング装置に通知するステップと
    を含むファイルパッキング方法。
  2. 前記第1の部分暗号化/復号化アルゴリズムおよび前記暗号化されたターゲットファイルに従って、前記パックされたターゲットファイルを取得する前記ステップが、
    パッキングテンプレートファイルを通して前記パックされたターゲットファイルを取得するために、前記第1の部分暗号化/復号化アルゴリズムを、前記パッキングテンプレートファイルのアルゴリズム領域の中に埋め込み、前記暗号化されたターゲットファイルを、前記パッキングテンプレートファイルのデータ領域の中に埋め込むステップ
    を含む、請求項1に記載のファイルパッキング方法。
  3. 前記第2の部分暗号化/復号化アルゴリズムを、前記アンパッキング装置に通知する前記ステップが、
    前記第1の部分暗号化/復号化アルゴリズムに対応するMD5値を取得し、前記第1の部分暗号化/復号化アルゴリズムに対応する前記MD5値と、前記第2の部分暗号化/復号化アルゴリズムとの関係を、アルゴリズムライブラリに記録するステップと、
    前記アルゴリズムライブラリを前記アンパッキング装置に通知するステップと
    を含む、請求項1に記載のファイルパッキング方法。
  4. 前記ファイルが、Flashファイルを含む、請求項1から3のいずれか一項に記載のファイルパッキング方法。
  5. パッキング装置によって送信された、パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを受信するステップと、
    前記パックされたターゲットファイルから、第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルを取得するステップと、
    前記第1の部分暗号化/復号化アルゴリズムおよび前記第2の部分暗号化/復号化アルゴリズムに従って、暗号化/復号化アルゴリズムを取得するステップと、
    ターゲットファイルを取得するために、前記暗号化/復号化アルゴリズムを使用して、前記暗号化されたターゲットファイルを復号化するステップと
    を含むファイルアンパッキング方法。
  6. 前記パックされたターゲットファイルから、前記第1の部分暗号化/復号化アルゴリズムおよび前記暗号化されたターゲットファイルを取得する前記ステップが、
    前記パックされたターゲットファイルのパッキングテンプレートファイルのアルゴリズム領域から、前記第1の部分暗号化/復号化アルゴリズムを取得し、前記パッキングテンプレートファイルのデータ領域から、前記暗号化されたターゲットファイルを取得するステップ
    を含む、請求項5に記載のファイルアンパッキング方法。
  7. 前記パッキング装置によって送信された、前記第2の部分暗号化/復号化アルゴリズムを受信する前記ステップが、
    前記パッキング装置によって送信された、アルゴリズムライブラリを受信するステップであって、前記アルゴリズムライブラリが、前記第1の部分暗号化/復号化アルゴリズムに対応するMD5値と、前記第2の部分暗号化/復号化アルゴリズムとの関係を記録する、受信するステップ
    を含む、請求項5に記載のファイルアンパッキング方法。
  8. 前記第1の部分暗号化/復号化アルゴリズムおよび前記第2の部分暗号化/復号化アルゴリズムに従って、前記暗号化/復号化アルゴリズムを取得する前記ステップが、
    前記第1の部分暗号化/復号化アルゴリズムに対応する前記MD5値を取得し、前記第2の部分暗号化/復号化アルゴリズムを取得するために、前記第1の部分暗号化/復号化アルゴリズムに対応する前記MD5値に従って前記アルゴリズムライブラリに問い合わせるステップと、
    前記暗号化/復号化アルゴリズムを取得するために、前記第1の部分暗号化/復号化アルゴリズムと前記第2の部分暗号化/復号化アルゴリズムとを組み合わせるステップと
    を含む、請求項7に記載のファイルアンパッキング方法。
  9. 前記ファイルが、Flashファイルを含む、請求項5から8のいずれか一項に記載のファイルアンパッキング方法。
  10. 暗号化されたターゲットファイルを取得するために、暗号化/復号化アルゴリズムを使用してターゲットファイルを暗号化するように構成された第1の取得モジュールと、
    前記暗号化/復号化アルゴリズムを、第1の部分暗号化/復号化アルゴリズムと第2の部分暗号化/復号化アルゴリズムとに分割するように構成された分割モジュールと、
    前記第1の部分暗号化/復号化アルゴリズムおよび前記暗号化されたターゲットファイルに従って、パックされたターゲットファイルを取得するように構成された第2の取得モジュールと、
    前記パックされたターゲットファイルおよび前記第2の部分暗号化/復号化アルゴリズムを、アンパッキング装置に送信するように構成された送信モジュールと
    を含むパッキング装置。
  11. 前記第2の取得モジュールが、パッキングテンプレートファイルに従って前記パックされたターゲットファイルを取得するために、前記第1の部分暗号化/復号化アルゴリズムを、前記パッキングテンプレートファイルのアルゴリズム領域の中に埋め込み、前記暗号化されたターゲットファイルを、前記パッキングテンプレートファイルのデータ領域の中に埋め込むように、さらに構成されている、
    請求項10に記載のパッキング装置。
  12. 前記送信モジュールが、前記第1の部分暗号化/復号化アルゴリズムに対応するMD5値を取得し、前記第1の部分暗号化/復号化アルゴリズムの前記MD5値と、前記第2の部分暗号化/復号化アルゴリズムとの対応関係を、アルゴリズムライブラリに記録し、前記アルゴリズムライブラリを前記アンパッキング装置に通知するように、さらに構成されている、
    請求項10に記載のパッキング装置。
  13. 前記ファイルが、Flashファイルを含む、請求項10から12のいずれか一項に記載のパッキング装置。
  14. パッキング装置によって送信された、パックされたターゲットファイルおよび第2の部分暗号化/復号化アルゴリズムを受信するように構成された受信モジュールと、
    前記パックされたターゲットファイルから、第1の部分暗号化/復号化アルゴリズムおよび暗号化されたターゲットファイルを取得するように構成された第1の取得モジュールと、
    前記第1の部分暗号化/復号化アルゴリズムおよび前記第2の部分暗号化/復号化アルゴリズムに従って、暗号化/復号化アルゴリズムを取得するように構成された第2の取得モジュールと、
    前記暗号化/復号化アルゴリズムを使用して、前記暗号化されたターゲットファイルを復号化することを通して、ターゲットファイルを取得するように構成された第3の取得モジュールと
    を含むファイルアンパッキング装置。
  15. 前記第1の取得モジュールが、前記パックされたターゲットファイルのパッキングテンプレートファイルのアルゴリズム領域から、前記第1の部分暗号化/復号化アルゴリズムを取得し、前記パッキングテンプレートファイルのデータ領域から、前記暗号化されたターゲットファイルを取得するように、さらに構成されている、
    請求項14に記載のアンパッキング装置。
  16. 前記受信モジュールが、前記パッキング装置によって送信されたアルゴリズムライブラリを受信するようにさらに構成されており、前記アルゴリズムライブラリが、前記第1の部分暗号化/復号化アルゴリズムのMD5値と、前記第2の部分暗号化/復号化アルゴリズムとの対応関係を記録する、
    請求項14に記載のアンパッキング装置。
  17. 前記第2の取得モジュールが、
    前記第1の部分暗号化/復号化アルゴリズムに対応する前記MD5値を取得し、
    前記第2の部分暗号化/復号化アルゴリズムを取得するために、前記第1の部分暗号化/復号化アルゴリズムに対応する前記MD5値に従って前記アルゴリズムライブラリに問い合わせし、
    前記暗号化/復号化アルゴリズムを取得するために、前記第1の部分暗号化/復号化アルゴリズムと前記第2の部分暗号化/復号化アルゴリズムとを組み合わせるように
    さらに構成されている、請求項16に記載のアンパッキング装置。
  18. 前記ファイルが、Flashファイルを含む、請求項14から17のいずれか一項に記載のアンパッキング装置。
JP2014547687A 2011-12-23 2012-11-20 ファイルをパックする/アンパックするための方法および装置 Active JP5866460B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110437932.9A CN103177222B (zh) 2011-12-23 2011-12-23 一种文件加壳、脱壳的处理方法及其设备
CN201110437932.9 2011-12-23
PCT/CN2012/084867 WO2013091452A1 (zh) 2011-12-23 2012-11-20 一种文件加壳、脱壳的处理方法及其设备

Publications (2)

Publication Number Publication Date
JP2015507258A JP2015507258A (ja) 2015-03-05
JP5866460B2 true JP5866460B2 (ja) 2016-02-17

Family

ID=48637069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014547687A Active JP5866460B2 (ja) 2011-12-23 2012-11-20 ファイルをパックする/アンパックするための方法および装置

Country Status (5)

Country Link
US (1) US9100170B2 (ja)
JP (1) JP5866460B2 (ja)
KR (1) KR101698403B1 (ja)
CN (1) CN103177222B (ja)
WO (1) WO2013091452A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700003B (zh) * 2013-12-04 2019-02-01 腾讯科技(深圳)有限公司 一种文件加壳及脱壳方法、装置及系统
CN106778226A (zh) * 2016-11-24 2017-05-31 四川无声信息技术有限公司 文件壳脱壳方法及装置
US10331902B2 (en) 2016-12-29 2019-06-25 Noblis, Inc. Data loss prevention
CN109213474B (zh) * 2017-06-30 2021-05-28 武汉斗鱼网络科技有限公司 基于Flash的通用壳设置方法、存储介质、电子设备及系统
KR102018960B1 (ko) * 2017-12-19 2019-09-05 유재욱 이중 패킹을 이용한 코드 난독화
KR102110124B1 (ko) * 2018-04-05 2020-05-13 소프트캠프 주식회사 이메일의 암호화 첨부파일 무해화 시스템과 이를 이용한 무해화 방법
KR102027815B1 (ko) * 2018-05-30 2019-10-02 국민대학교산학협력단 Pin 기반의 파일 복호화 방법 및 이를 수행하는 장치
CN108985015A (zh) * 2018-06-29 2018-12-11 江苏通付盾信息安全技术有限公司 应用文件的脱壳方法及装置
CN110708273B (zh) * 2018-07-10 2022-03-04 杭州海康威视数字技术股份有限公司 一种数据加密、解密方法及数据加密解密系统
KR101967170B1 (ko) 2018-09-13 2019-04-09 (주) 인프론티브 I/o 제어에 의한 컴퓨터 스토리지 매니지먼트 시스템
KR102067630B1 (ko) 2019-02-01 2020-01-17 배용대 접근 제어 기반 데이터 분산 저장 시스템 및 방법
CN110532129A (zh) * 2019-09-02 2019-12-03 腾讯科技(深圳)有限公司 一种文件加密存储的方法、装置、设备以及存储介质
CN110868405B (zh) * 2019-11-05 2022-03-04 南方电网数字电网研究院有限公司 恶意代码检测方法、装置、计算机设备及存储介质
CN113742754A (zh) * 2021-09-15 2021-12-03 广东电网有限责任公司 一种定值文件加密方法及相关装置
WO2024075871A1 (ko) * 2022-10-07 2024-04-11 시큐레터 주식회사 이메일에 첨부된 암호를 갖는 압축파일의 처리를 위한 방법 및 이를 위한 장치

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114853A (ja) * 2001-10-04 2003-04-18 Koden Electronics Co Ltd 電子メール秘密保護システム
JP2004213181A (ja) * 2002-12-27 2004-07-29 Ricoh Co Ltd カプセル化文書構造、記憶媒体、情報処理装置、カプセル化文書作成編集装置及び起動プログラム
US7280956B2 (en) * 2003-10-24 2007-10-09 Microsoft Corporation System, method, and computer program product for file encryption, decryption and transfer
CN100571125C (zh) * 2005-12-30 2009-12-16 上海贝尔阿尔卡特股份有限公司 一种用于用户设备与内部网络间安全通信的方法及装置
CN1897005A (zh) * 2006-05-23 2007-01-17 施霖 一种用于防止软件运行在非授权计算机上的保护装置
US9124650B2 (en) * 2006-12-13 2015-09-01 Quickplay Media Inc. Digital rights management in a mobile environment
US8601259B2 (en) * 2009-04-20 2013-12-03 Cleversafe, Inc. Securing data in a dispersed storage network using security sentinel value
KR20100137152A (ko) * 2009-06-22 2010-12-30 동서대학교산학협력단 데이터 패키징 암호화 시스템 및 방법
CN102004884B (zh) * 2009-08-28 2013-04-17 华为技术有限公司 一种获取可执行文件输入表的方法及装置
CN102108512B (zh) * 2009-12-25 2013-09-18 比亚迪股份有限公司 一种金属化学蚀刻液及蚀刻方法
CN102184363B (zh) * 2011-05-21 2013-09-25 电子科技大学 基于综合处理的软件壳自动脱壳方法

Also Published As

Publication number Publication date
US9100170B2 (en) 2015-08-04
KR101698403B1 (ko) 2017-01-20
CN103177222B (zh) 2015-08-12
JP2015507258A (ja) 2015-03-05
WO2013091452A1 (zh) 2013-06-27
US20150006891A1 (en) 2015-01-01
KR20140104040A (ko) 2014-08-27
CN103177222A (zh) 2013-06-26

Similar Documents

Publication Publication Date Title
JP5866460B2 (ja) ファイルをパックする/アンパックするための方法および装置
US10114969B1 (en) Ultra-secure blockchain-based electronic information transfer system
CN109067814B (zh) 媒体数据加密方法、系统、设备及存储介质
US20150074393A1 (en) Method, Apparatus, and System for Implementing Media Data Processing
JP2005110248A5 (ja)
US10721058B2 (en) Ultra-secure blockchain enabled analytics
CN111698576B (zh) 信息加密方法、解密方法、服务器、客户端及介质
US10063655B2 (en) Information processing method, trusted server, and cloud server
JP2014085674A5 (ja)
CN107306254B (zh) 基于双层加密的数字版权保护方法及系统
JP2018142314A5 (ja)
CN113127895A (zh) 一种基于分布式存储的云端数据防护方法
JP2019519176A5 (ja)
JP2008306395A5 (ja)
KR20080046515A (ko) 콘텐츠 파일의 암호화 및 복호화 방법
WO2020044095A1 (zh) 文件加密方法、装置、设备/终端/服务器及计算机可读存储介质
CN108256346B (zh) 关键数据的保护方法、加密保护装置及嵌入式系统装置
CN105721463B (zh) 一种文件安全传输方法和装置
CN112528309A (zh) 一种数据存储加密和解密的方法及其装置
CN115085983B (zh) 数据处理方法、装置、计算机可读存储介质和电子设备
CN116132041A (zh) 密钥处理方法、装置、存储介质及电子设备
KR20110101317A (ko) 데이터 자동 암복호화 방법 및 장치
CN105681027A (zh) Hsm加密信息同步实现方法、装置和系统
CN111865891B (zh) 一种数据传输方法、用户端、电子设备及可读存储介质
KR101224956B1 (ko) 데이터 자동 암복호화 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150615

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160104

R150 Certificate of patent or registration of utility model

Ref document number: 5866460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250