WO2011078535A2 - Method and apparatus for separating personal information into sequential information and content information and then encrypting and compositing the information, a server and a recording medium - Google Patents

Method and apparatus for separating personal information into sequential information and content information and then encrypting and compositing the information, a server and a recording medium Download PDF

Info

Publication number
WO2011078535A2
WO2011078535A2 PCT/KR2010/009111 KR2010009111W WO2011078535A2 WO 2011078535 A2 WO2011078535 A2 WO 2011078535A2 KR 2010009111 W KR2010009111 W KR 2010009111W WO 2011078535 A2 WO2011078535 A2 WO 2011078535A2
Authority
WO
WIPO (PCT)
Prior art keywords
information
encryption
encrypted
order
encrypting
Prior art date
Application number
PCT/KR2010/009111
Other languages
French (fr)
Korean (ko)
Other versions
WO2011078535A3 (en
Inventor
이순구
Original Assignee
Lee Soon Goo
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
Priority claimed from KR1020100085991A external-priority patent/KR101045222B1/en
Application filed by Lee Soon Goo filed Critical Lee Soon Goo
Publication of WO2011078535A2 publication Critical patent/WO2011078535A2/en
Publication of WO2011078535A3 publication Critical patent/WO2011078535A3/en

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
    • G06F21/602Providing cryptographic facilities or services

Definitions

  • the present invention relates to a method, an apparatus and a recording medium for encrypting personal information, and in particular, to distinguish and encrypt the order information and the content information separated from the personal information such as social security number, card number, account number, and the like and before the encryption
  • ARIA National Standard Encryption Logic
  • DB encryption and retrieval technology can be largely divided into index encryption technology and order maintaining encryption technology. The characteristics are as follows.
  • the Bucket-based index algorithm is a method of creating a separate index column to create an index using the encryption DB search algorithm proposed by Hacigumus in 2002.
  • This method has the advantage of being able to apply encryption to both numbers and characters with a well defined mapping function, but it requires additional filtering to find the exact matched plain text value and practically does not range search.
  • the hash-based index algorithm is a method of encrypting a column to be used for an index by using a one-way hash function. Choosing a hash function without Collision has the advantage of providing exact match and applying both numbers and letters, but it does not support range search, exact match requires additional filtering, and it is vulnerable to analogy attack using frequency distribution. Do.
  • the B + tree index algorithm is constructed separately in the order of plain text, and is safe from analogy attacks using frequency distribution using an index encryption method.
  • the B + tree needs to be re-created, and the data on the node has to be decoded to reach the final value even though the data on the node is not directly used.
  • the random number based encryption algorithm generates pseudo-random data using pseudo random numbers so that the order of the encryption results is the same as the original plain text order, and continuously generates pseudo random numbers during decryption to subtract the random number from the encrypted data. This is how to find plain text. There is an advantage that you do not have to worry about updating the encrypted data, but it is vulnerable to attacks using the frequency distribution, has a very large overhead of managing pseudo random numbers, and can only encrypt integers.
  • the Polinomial function based encryption algorithm uses pseudo random numbers as a random number based encryption algorithm, the encryption value increases exponentially as the number increases, and the overhead of managing it increases the order maintenance using the monotonically increasing function.
  • Encryption method since only the coefficient information of the polynomial is needed for encryption and decryption, the encryption and decryption procedure is very simple, can be applied to mistakes, and there is no need to consider the problem of updating the encrypted data.
  • the distribution of the ciphertext is determined by the polynomial, inference attack is possible, and the order of the plaintext can be exposed when used with other columns.
  • Order Preserving Encryption Scheme is a typical algorithm in the field of ordered encryption and is a method of maintaining the order of encryption values for numerical data.
  • OES Order Preserving Encryption Scheme
  • it is possible to search for exact match, range search, MIN, MAX, Count, Groupby Order By, etc., and it is safe against attack using frequency of occurrence by different distribution of plain text and cipher text.
  • plain text information may be exposed through the analysis of ordinal statistics.
  • the present invention is urgently needed because a new model of encryption method is required to prevent hacking and search quickly even after encrypting data.
  • the present invention is to solve the above-described problems, the object of the present invention is to distinguish the order information and the content information separated from the personal information such as social security number, card number, account number and the like and encrypt the order information as before encryption
  • the present invention provides an encryption method, an apparatus, and a recording medium capable of synthesizing and storing each encrypted information so as to maintain the same.
  • the present invention provides an encryption method, an apparatus, and a recording medium which can index in order and search quickly even by using a secure encryption algorithm such as a national standard encryption logic (ARIA).
  • ARIA national standard encryption logic
  • the method for encrypting data in the data encryption means for achieving the object of the present invention as described above, to determine the order information by separating a portion of the information to be encrypted Doing; Determining a portion of the encryption target information including the remaining information from which the order information is separated as content information; First encrypting the encryption information of the order information to be indexing information; Encrypting the order information independently of indexing; Generating encrypted content information by third encrypting the content information in a different manner from the second encryption regardless of indexing; Generating encrypted order information by replacing a part of the result value of the second encryption with the result value of the first encryption; And storing the encrypted content information in a storage means in correspondence with the encrypted order information.
  • the first method of encryption includes selecting each element (number, letter, or symbol) of the sequence information based on a G-table that divides codes on an ASCII code system into a plurality of groups in order. This is a method of converting to a value corresponding to a corresponding code belonging to one group.
  • the encryption target information includes a social security number, a credit card number, or an account number of a financial institution.
  • the second encryption method is a method based on a one-way encryption method.
  • the one-way encryption scheme includes a scheme based on a secure hash algorithm.
  • the third encryption method is based on National Standard Encryption Logic (ARIA).
  • the encryption method may further comprise: encrypting the encryption information of the order information such that the encryption information is indexing information; And generating the encrypted order information by replacing a part of the result value of the second encryption with a combination of the result value of the first encryption or the result value of the fourth encryption.
  • the fourth encryption method is a method of converting the order information by using a function including a fifth or more equation.
  • a method for encrypting data includes content information including sequence information separated from encryption target information and remaining information from which the sequence information is separated among the encryption target information. It is combined by encrypting in different ways, characterized in that the encrypted information so that the sequence information is included as indexing information, stored in a database and managed.
  • the ordered information is encrypted based on a one-way encryption method, an encryption method using a function including a fifth order equation, or a G-table that divides codes on an ASCII code system into a plurality of groups in order. And a combination of encryption methods for converting each element of the information into a value corresponding to a corresponding code belonging to any one of the plurality of groups.
  • the encryption apparatus to determine the order information by separating a portion of the encryption target information, and determines the portion of the encryption target information including the remaining information from which the order information is separated as the content information.
  • Information separation means First encryption means for first encrypting the encryption information of the order information to be indexing information; Second encryption means for secondly encrypting the order information regardless of indexing; Third encryption means for generating third encrypted content information by encrypting the content information in a manner different from the second encryption regardless of indexing; Combining means for generating encrypted order information by replacing part of the second encryption result with the first encryption result; And storage means for storing the encrypted content information in a storage means corresponding to the encrypted order information.
  • the first encryption means generates an S-table in which codes of different groups of the plurality of groups are mapped to one another according to different elements included in the order information according to the input S-key, and the S-table Each element of the order information is converted based on.
  • the encryption apparatus further includes fourth encryption means for fourth encryption so that the encryption information of the order information becomes indexing information, and the combining means replaces a part of the result value of the second encryption with the result value of the first encryption. Or replace the combination of the result values of the fourth encryption to generate the encrypted order information.
  • the data management server for encrypting, storing, and managing data received from a user terminal includes order information separated from encryption target information among the data, and the order information among the encryption target information. And encrypting and combining the content information including the remaining remaining information in different ways, and encrypting and storing the ordered information so that the encrypted information is included as indexing information, and storing and managing the information in the database.
  • the indexing information In response to the request for data from the encrypted information stored in the database by referring to the indexing information, characterized in that for providing the search results to the user terminal.
  • the ordered information is encrypted based on a one-way encryption method, an encryption method using a function including a fifth order equation, or a G-table that divides codes on an ASCII code system into a plurality of groups in order. And a combination of encryption methods for converting each element of the information into a value corresponding to a corresponding code belonging to any one of the plurality of groups.
  • variable information and the hash function are used to encrypt the order information of personal information such as social security number, card number, account number, etc., and the content information is national standard encryption logic (ARIA). Highly secure because it is encrypted and stored.
  • ARIA national standard encryption logic
  • indexing is possible even after encryption, financial institutions or telecommunications companies that hold tens of millions of personal data can securely manage customer information by making some modifications to existing programs without investing in large hardware.
  • FIG. 1 is a flowchart illustrating an encryption method according to an embodiment of the present invention.
  • FIG. 2 is a view for explaining the sort order maintenance before and after encryption according to the encryption method according to an embodiment of the present invention.
  • FIG 3 is an illustration for explaining each encryption result in the encryption process according to the encryption method according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a G-table applied to variable code encryption according to an embodiment of the present invention.
  • 5 is an example of a hexadecimal value according to an S-key of an S-table applied to variable code encryption according to an embodiment of the present invention.
  • 6 is an example of an output symbol according to an S-key of an S-table applied to variable code encryption according to an embodiment of the present invention.
  • FIG. 7 is a block diagram of an encryption apparatus according to an embodiment of the present invention.
  • variable code encryption unit 8 is a block diagram of a variable code encryption unit according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating an encryption method according to another embodiment of the present invention.
  • FIG. 11 is a diagram for explaining an example where the encryption apparatus according to the present invention is realized in a server connected to a network.
  • FIG. 1 is a flowchart illustrating an encryption method according to an embodiment of the present invention.
  • an encryption apparatus for encrypting various types of encryption required data receives encryption target information (S110).
  • the encryption target information means personal information composed of Arabic numerals (0 to 9) such as a social security number, a credit card number, or an account number of a financial institution.
  • the encryption target information may include not only numbers but also letters or symbols, and it may be noted that the above numerical information may further include other information in which letters or symbols are added.
  • the encryption apparatus may determine a sequence information by separating a portion of the encryption target information, and a portion of the encryption target information including the remaining information from which the sequence information is separated (for example, the entirety of the encryption target information). ) May be determined as content information (S120).
  • content information For example, when the information to be encrypted is the social security number 600511-1690413, a part of the seven-digit number 6005111 may be determined as the order information, and the entire information 6005111690413 may be determined as the content information to be substantially encrypted.
  • the encryption target information is the social security number
  • the 7-digit order information is taken as an example, but the present invention is not limited thereto.
  • the order information may be any one digit from 1 to 13 digits. Even when characters or symbols are included in the information to be encrypted, the order may be set in advance so that they may be arranged in a predetermined order, and some of them may be order information.
  • variable code encryption method is a data conversion method based on codes on the ASCII code system as described below.
  • various encryption target information for example, social security number
  • searching for the resident registration number 600511-1690412 in the data search according to the order of sorting it is earlier than 3 times in the order of sorting in FIG. It is not necessary to search for the following sort order 4, 5...
  • the index information disappears after encrypting the data to retrieve the necessary data from the encrypted data. In this case, it is difficult to search the entire encrypted data stored in the database.
  • the variable code-encrypted information is used as indexing information, and the variable-coded encrypted information (indexing information) is included at the front of the hexa value of the encrypted information as shown in 220 of FIG. We wanted to know the order of sorting.
  • each element of the above order information is based on a G-table (see FIG. 4) that divides codes on the ASCII code system into a plurality of groups in order. Or a symbol) into a value corresponding to a corresponding code belonging to one of the plurality of groups.
  • a G-table see FIG. 4 that divides codes on the ASCII code system into a plurality of groups in order. Or a symbol) into a value corresponding to a corresponding code belonging to one of the plurality of groups.
  • an S-table (see FIG. 5) corresponding to codes of different groups of the plurality of groups is generated for different elements included in the order information according to the input S-key, and the corresponding S-table is generated. Convert each element of the corresponding order information based on.
  • the seven-digit number 6005111 which is the sequence information of the social security number 600511-1690413, which is the encryption target information, is set according to the S-table shown in FIG. 5 based on the G-table shown in FIG. 21 5A 2B 2B 2B
  • Codes on the ASCII code system used for such a variable code encryption method have 256 code systems, and are divided into a plurality of ordered groups, such as the G-table of FIG. 4.
  • the number 0, which is an element of the order information to be encrypted is converted into a value corresponding to a corresponding code belonging to a group consisting of hexadecimal values 21 (output symbols '!') To 28 (output symbols '(') on the ASCII code. That is, in the case where the input S-key is 1, the number 0 may be converted to the hexadecimal value 21 as shown in FIG.
  • the number 1, which is an element of the order information to be encrypted corresponds to a corresponding code belonging to a group consisting of hexadecimal values 29 (output symbol ')' to 35 (output symbol '5') on an ASCII code.
  • the number 1 may be converted into a hexadecimal value 2B as shown in FIG. 5.
  • other Arabic numerals 2-9 which are elements of the order information, can be converted to the corresponding hexa value.
  • the seven-digit number 6005111 which is the order information, can be converted to 65 21 21 5A 2B 2B 2B when the input S-key is 1, and the value differs depending on the input S-key. May be converted to.
  • FIG. 6 shows output symbols (symbols displayed on the user terminal) on the ASCII code system corresponding to the hexa value of FIG. 5.
  • the seven-digit sequence information 5711101 of the encryption target information 571110-1017817 may be converted into 5F6F2F2F2F282F.
  • the S-key which may be input differently at each encryption time, may be more usefully used to prevent hacking.
  • the encrypted indexing information may be different according to the change of the S-key, but the order of sorting is different. Can remain the same. That is, even when the S-key is input to any one of 1 to 13 as shown in FIG. 5, the encrypted information according to the variable code encryption of the order information may be indexing information that can know the sort order.
  • the encryption apparatus encrypts the sequence information separated from the encryption target information as described above according to a one-way encryption scheme such as a secure hash algorithm.
  • 3 illustrates an example of the encryption result of the secure hash algorithm for the seven-digit number 6005111, which is the sequence information.
  • the secure hash algorithm is a method of using a predetermined hash function that converts data having an arbitrary length into a hash value having a fixed length, and is a one-way way in which data modulation by a third party can be easily identified.
  • Encryption method and there are various methods such as Message Digest 4 (MD4), Message Digest 5 (MD5), Secure Hash Algorithm (SHA) -1, and algorithms for these can be acquired based on published data. The detailed description is omitted here.
  • MD4 Message Digest 4
  • MD5 Message Digest 5
  • SHA Secure Hash Algorithm
  • the encryption apparatus may include a portion of a result of encryption according to the secure hash algorithm as described above, for example, a seven-digit hexadecimal value (33353931616633) in the above example as a variable code encryption method in operation S130.
  • the encrypted result value (6521215A2B2B2B) is substituted (S150) to generate encrypted order information as shown in FIG. 3 (S160).
  • the encryption apparatus converts the content information to the national standard encryption logic.
  • ARIA The encryption is performed according to the based encryption method (S170).
  • the content information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, but in some cases, may include letters or symbols as well as numbers.
  • the above numerical information may further include other information with additional characters or symbols.
  • FIG. 3 exemplifies contents information encoded according to the National Standard Encryption Logic (ARIA) for the 13-digit number 6005111690413, which is the information on the Resident Registration No. 600511-1690413, and according to the National Standard Encryption Logic (ARIA).
  • ARIA National Standard Encryption Logic
  • the encryption method based on the National Standard Encryption Logic (ARIA) is an encryption method adopted as the Korean standard encryption method and is also called a 128-bit block encryption algorithm. Algorithms for the National Standard Cryptography Logic (ARIA) can be acquired based on published data, so detailed descriptions are omitted here.
  • the encrypted content information may be stored in a storage means such as a database in correspondence with the encrypted order information.
  • various encryption target information may be encrypted and stored in a database according to the method of the present invention as shown in FIG. 1.
  • a part of the result value encrypted according to the secure hash algorithm for example, the result value encrypted by the variable code encryption method in step S130 with the 7-digit hexadecimal value (33353931616633) in step S130.
  • the encrypted order information generated by substituting (6521215A2B2B2B) and the encrypted content information generated in step S180 may be corresponded to (or in addition to) database storage management.
  • the data management server can sort the data. Accordingly, when the request information is retrieved from each encrypted final information, the data management server can quickly search based on such indexing information and provide the corresponding data.
  • Each step of the encryption method according to an embodiment of the present invention as shown in FIG. 1 may be implemented as a computer readable code on a computer readable recording medium so that a corresponding function may be realized.
  • the encryption method according to an embodiment of the present invention can be implemented as a device as shown in FIG.
  • FIG. 7 is a block diagram of an encryption apparatus 700 according to an embodiment of the present invention.
  • the encryption apparatus 700 may include an information separation unit 710, a variable code encryption unit 720, an incomprehensible equation encryption unit 725, and a one-way encryption unit 730. ), A combination unit 740, an ARIA encryption unit 750, a storage unit 760, and a database 761.
  • the variable code encryption unit 720 may include a G-table database 721, an S-table generator 722, and an S-table database 723 as shown in FIG. 8.
  • Such an encryption apparatus 700 according to an embodiment of the present invention may be implemented by hardware, software, or a combination of hardware and software.
  • the information separator 710 receives the encryption target information (see S110 of FIG. 1).
  • the encryption target information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, and in some cases, the encryption target information includes not only numbers but also letters and symbols.
  • the numerical information may further include other information in which letters or symbols are added.
  • the information separation unit 710 may determine a sequence information by separating a portion of the encryption target information, and a portion (eg, encryption) including the remaining information from which the corresponding sequence information is separated from the encryption target information.
  • the entirety of the target information can be determined as the content information (see S120 of FIG. 1).
  • the information to be encrypted is the social security number 600511-1690413
  • a part of the seven-digit number 6005111 may be determined as the order information, and the entire information may be determined as the content information to be substantially encrypted.
  • the seven-digit order information is taken as an example, but the present invention is not limited thereto.
  • any one digit from one to thirteen digits may be determined as the order information. have.
  • the order may be determined in advance so that they may be arranged in a predetermined order, and some of them may be determined as order information.
  • variable code encryption unit 720 After the order information and the content information are determined as described above, the variable code encryption unit 720 performs variable code encryption on the order information (see S130 of FIG. 1). In this way, the variable-code encrypted information becomes indexing information that enables the sort order to be known.
  • Variable code encryption is a data conversion method based on codes on the ASCII code system.
  • the variable code encryption method uses each element of the above sequence information (number, letter, or symbol) based on a G-table (see FIG. 4) that divides codes on the ASCII code system into a plurality of ordered groups. Is converted into a value corresponding to a corresponding code belonging to any one group among a plurality of groups.
  • the G-table database 721 of the variable code encryption unit 720 may store and manage a G-table (see FIG. 4) that divides codes on an ASCII code system into a plurality of groups in order.
  • Codes on the ASCII code system used for such a variable code encryption method have 256 code systems, and are divided into a plurality of ordered groups, such as the G-table of FIG. 4.
  • the number 0, which is an element of the order information to be encrypted is converted into a value corresponding to a corresponding code belonging to a group consisting of hexadecimal values 21 (output symbols '!') To 28 (output symbols '(') on the ASCII code.
  • Fig. 4 the number 0, which is an element of the order information to be encrypted, is converted into a value corresponding to a corresponding code belonging to a group consisting of hexadecimal values 21 (output symbols '!') To 28 (output symbols '(') on the ASCII code.
  • the number 1, an element of the order information to be encrypted is assigned to a corresponding code belonging to a group consisting of hexadecimal value 29 (output symbol ')' to 35 output symbol '5') on an ASCII code. Can be converted to the corresponding value.
  • other Arabic numerals 2 to 9, which are elements of the order information can be converted into corresponding hexa values as in the G-table of FIG.
  • the S-table generating unit 722 corresponds to an S-table in which codes of different groups among the plurality of groups are mapped to one another in accordance with the S-key input from a user terminal or the like. 5) may be generated, stored and managed in the S-table database 723, and the variable code encryption unit 720 converts each element of the corresponding order information based on the corresponding S-table.
  • the seven-digit number 6005111 which is the sequence information of the social security number 600511-1690413, which is the encryption target information, is set according to the S-table shown in FIG. 5 based on the G-table shown in FIG. 21 5A 2B 2B 2B
  • the number 0 may be converted to the hexa value 21 as shown in FIG. 5.
  • the number 1 may be converted to the hexadecimal value 2B.
  • other Arabic numerals 2-9 which are elements of the order information, can be converted to the corresponding hexa value.
  • the seven-digit number 6005111 which is the order information, can be converted to 65 21 21 5A 2B 2B 2B when the input S-key is 1, and the value differs depending on the input S-key. May be converted to.
  • FIG. 6 shows output symbols (symbols displayed on the user terminal) on the ASCII code system corresponding to the hexa value of FIG. 5.
  • the S-table generation unit 722 when the input S-key is 3, the S-table generation unit 722, as shown in the S-table of Fig. 5, a plurality of groups in which the codes on the ASCII code system are ordered for the corresponding S-keys.
  • Each of the codes of different groups may be generated one by one, but may be stored in the S-table database 723 and stored in the S-table database 723.
  • the S-table generator 722 stores and manages the corresponding S-table values in the database 723 in a similar manner, and based on this, the variable code encryption unit 720 ) Converts each element of the corresponding order information.
  • the input S-key is 3, as shown in 220 of FIG. 2, the seven-digit sequence information 5711101 of the encryption target information 571110-1017817 may be converted into 5F6F2F2F2F282F.
  • the S-key which may be input differently at each encryption time, may be more usefully used to prevent hacking.
  • the encrypted indexing information may be different according to the change of the S-key, but the order of sorting is different. Can remain the same. That is, even if the S-key is input to any one of 1 to 13 (which may be a larger number in some cases) as shown in FIG. 5, the indexed information for which the encrypted information according to the variable code encryption of the order information can know the sort order. Can be
  • variable code encryption unit 720 may use the remainder or the quotient obtained by dividing the order information by a predetermined value as the S-key.
  • the remaining division or quotient after giving a predetermined weight to the element can also be used as the S-key.
  • the one-way encryption unit 730 encrypts the sequence information separated from the encryption target information as described above according to a one-way encryption method such as a secure hash algorithm.
  • a one-way encryption method such as a secure hash algorithm.
  • 3 illustrates an example of the encryption result of the secure hash algorithm for the seven-digit number 6005111, which is the sequence information.
  • the secure hash algorithm is a method of calculating a hash value using a predetermined hash function. Since the algorithm can be acquired based on published data, a detailed description thereof will be omitted.
  • the combiner 740 is a part of the result of encryption according to the secure hash algorithm as described above, for example, the result of the seven-digit hexadecimal value (33353931616633) encrypted by the variable code encryption method in step S130 in the above example. Substituted by (6521215A2B2B2B) generates encrypted sequence information as shown in FIG. 3 (see S150 and S160 of FIG. 1).
  • the ARIA encryption unit 750 encrypts the content information according to the encryption method based on the National Standard Encryption Logic (ARIA) (FIG. 1). See S170).
  • the content information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, but in some cases, may include letters or symbols as well as numbers.
  • the above numerical information may further include other information with additional characters or symbols.
  • FIG. 3 exemplifies contents information encoded according to the National Standard Encryption Logic (ARIA) for the 13-digit number 6005111690413, which is the information on the Resident Registration No. 600511-1690413, and according to the National Standard Encryption Logic (ARIA).
  • ARIA National Standard Encryption Logic
  • the encryption method based on the National Standard Encryption Logic (ARIA) is an encryption method adopted as the Korean standard encryption method and is also called a 128-bit block encryption algorithm. Algorithms for the National Standard Cryptography Logic (ARIA) can be acquired based on published data, so detailed descriptions are omitted here.
  • the storage unit 160 stores the encrypted content information in correspondence with the encrypted order information. In the database 861.
  • various encryption target information may be encrypted and stored in a database according to the method of the present invention as shown in FIG. 1.
  • the combiner 740 generates a part of the result value encrypted according to the secure hash algorithm, that is, replaces the first 7 hexadecimal value (33353931616633) with the result code (6521215A2B2B2B) encrypted by the variable code encryption method.
  • the encrypted order information and the encrypted content information generated by the ARIA encryption unit 750 may correspond to (or in addition to) store and manage the database 761.
  • FIG. 9 is a flowchart illustrating an encryption method according to another embodiment of the present invention.
  • a process in which each step of S210 to S290 is performed is similar to that of FIG. 7, in addition to the steps of S300 and S310.
  • the incomprehensible equation encrypting unit 725 of FIG. 7 uses a function including order equations among the order information and the content information included in the above encryption target information as shown in Equation 1 above.
  • Each element of the sequence information can be converted and encrypted (S300).
  • Equation 1 variables a to k are constants such as real numbers.
  • Equation 1 shows an example of a fifth-order function, and in some cases, it is not possible.
  • the equation encryptor 725 includes various fifth-order functions, or sixth or seventh order equations such as fifth or more equations. Each element of the order information can be converted using the function F (x).
  • the incomprehensible equation encrypting unit 725 may convert order information included in the resident registration number into x by using a fifth-order function such as [Equation 1].
  • the indexing information can be used as indexing information.
  • the inconsistency equation encryption unit 725 is a natural log (ln).
  • the transcendental function may be processed to maintain a small value of the encrypted number (S310).
  • the combiner 740 may replace a portion of the result value encrypted by the one-way encryption unit 730 with the result encrypted by the variable code encryption unit 720, but in one direction. A part of the result value encrypted by the encryption unit 730 may not be replaced by the result value encrypted by the equation encryption unit 725.
  • the coupling unit 740 may partially encrypt the result value encrypted by the one-way encryption unit 730 in some cases, or may not be encrypted. The combination of result values encrypted by the equation encrypting unit 725 may be substituted.
  • the combiner 740 replaces a part of the result value encrypted by the one-way encryption unit 730 with the result encrypted by the variable code encryption unit 720 as above, and the other It is impossible to replace a part with a result value encrypted by the equation encrypting unit 725.
  • the combiner 740 may not replace a part of the result value encrypted by the one-way encryption unit 730 with another encryption result value as described above, and in this case, the one-way encryption unit 730
  • the encrypted result value itself may be encrypted order information stored together with the encrypted content information in the storage unit 160.
  • 11 is a view for explaining an example in which the encryption apparatus 700 according to an embodiment of the present invention is realized in a data management server connected to a network.
  • the data management server may encrypt and store the data received from the user terminal through the network using the encryption apparatus 700, and the database of the encryption apparatus 700 for the data request from the user terminal.
  • the search result may be searched in the encrypted information stored at 761 and the search result may be provided to the user terminal.
  • the network may be a wired or wireless Internet, or may be a core network integrated with a wired public network, a wireless mobile communication network, or a portable Internet, or may be a LAN or other dedicated network.
  • the user terminal is generally a computer such as a desktop PC or a notebook PC, but is not limited thereto. Any kind of interactive service that can transmit data to the data management server or request data from the data management server through a network can be used. It may be a wired or wireless communication device.
  • the user terminal may be a cellular phone, a PCS phone (Personal Communications Services phone), a synchronous / asynchronous IMT-2000 (International Mobile Telecommunication-2000), or the like that communicates through a wireless Internet or a portable Internet.
  • Including a mobile terminal in addition to a Palm Personal Computer (PDA), a Personal Digital Assistant (PDA), a Smartphone (Smart phone), a WAP phone (Wireless application protocol phone), a mobile game machine (mobile play- All wired and wireless consumer electronics / communication devices with a user interface for accessing a data management server, such as a station, may be inclusively referred to.
  • PDA Palm Personal Computer
  • PDA Personal Digital Assistant
  • Smartphone Smart phone
  • WAP phone Wireless application protocol phone
  • mobile game machine mobile play- All wired and wireless consumer electronics / communication devices with a user interface for accessing a data management server, such as a station, may be inclusively referred to.
  • the data management server capable of encrypting, storing, and managing data online through such a network and providing search results may be data received using the encryption apparatus 700 when received from a user terminal through the network.
  • the sequence information separated from the encryption target information, which is some data as in step S110 (or S210), and the content information which is the entire encryption target information are encrypted and combined in different ways, respectively (see S130, S140, S160, or S230, S300). , S310, S240, S260), and the encrypted information may be stored and managed in the database 761 so that the encrypted information is included as indexing information.
  • the encrypted information managed in the database 761 includes indexing information (a variable code encrypted information of the order information) at the front as shown in 220 of FIG. sorting) is enabled. Accordingly, when there is a request for data from the user terminal, the data management server can quickly search based on the indexing information from the sorting information of each final information encrypted and stored in the database 761 and provide the corresponding search result.
  • indexing information a variable code encrypted information of the order information
  • index information disappears to search for the necessary data in the encrypted data. In this case, it was difficult to search the entire encrypted data stored in the database.
  • variable information is encrypted using sequence code information, or the information encrypted using a function including a fifth or higher equation is indexing information, and the hexadecimal value of the encrypted information as shown in FIG.
  • the data management server may use the database 761. You can quickly search for requested material at.
  • the functions used in the methods and apparatus disclosed herein can be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, hard disks, removable storage devices, and also carrier waves (for example, transmission over the Internet). It also includes the implementation in the form of.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Abstract

According to one embodiment of the present invention, a data encryption process performed in a data encryption means comprises: separating part of the information to be encrypted and determining sequential information; setting the other information, except the sequential information, out of the information to be encrypted as content information; performing a first encryption operation to make the encryption information of the sequential information into indexing information; performing a second encryption operation on the sequential information, independent of the indexing; generating encrypted content information by performing a third encryption operation on the content information, independent of the indexing, in a different manner from the second encryption operation; generating encrypted sequential information by replacing a part of the second encryption result values with the first encryption result values; and storing in a storage means the encrypted content information in correspondence to the encrypted sequential information.

Description

개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치, 서버 및 기록 매체Method, device, server, and recording medium to separate and encrypt personal information into order information and content information
본 발명은 개인 정보를 암호화하는 방법, 장치 및 기록매체에 관한 것으로서, 특히, 주민등록번호, 카드번호, 계좌번호 등의 개인 정보로부터 분리된 순서 정보와 내용 정보를 구분하여 암호화하고 암호화 전과 동일하게 순서 정보를 유지할 수 있도록 각각의 암호화된 정보를 합성하여 저장함으로써, 국가표준 암호논리(ARIA)와 같은 안전한 암호 알고리즘을 활용하여 암호화된 정보라도 순서에 따른 인덱싱이 가능하며 신속하게 검색할 수 있는 암호화 방법, 장치 및 기록매체에 관한 것이다.The present invention relates to a method, an apparatus and a recording medium for encrypting personal information, and in particular, to distinguish and encrypt the order information and the content information separated from the personal information such as social security number, card number, account number, and the like and before the encryption By synthesizing and storing each encrypted information so that it can be maintained, it is possible to index even the encrypted information in order using a secure encryption algorithm such as National Standard Encryption Logic (ARIA), and to quickly search, A device and a recording medium.
데이터베이스 암호화에 따른 검색 성능을 해결하고자 하는 시도는 2000년 이후부터 학계를 중심으로 많은 연구가 진행되고 있다. DB 암호화 및 검색 기술은 크게 인덱스 암호화 기술과 순서유지 암호화 기술로 나눌 수 있으며 그 특징은 다음과 같다.Attempts to solve search performance by database encryption have been conducted since 2000. DB encryption and retrieval technology can be largely divided into index encryption technology and order maintaining encryption technology. The characteristics are as follows.
먼저, Bucket-based index 알고리즘은, 2002년 Hacigumus가 제안한 암호화 DB 검색 알고리즘으로 인덱스를 생성하기 위해 별도의 인덱스 컬럼을 만드는 방법이다. 이 방법은 매핑함수를 잘 정의하면 숫자와 문자에 대해 모두 암호화를 적용할 수 있는 장점이 있으나 정확하게 일치하는 평문값을 알기 위해 추가 필터링이 필요하고 실질적으로 범위 검색이 되지 않는다.First, the Bucket-based index algorithm is a method of creating a separate index column to create an index using the encryption DB search algorithm proposed by Hacigumus in 2002. This method has the advantage of being able to apply encryption to both numbers and characters with a well defined mapping function, but it requires additional filtering to find the exact matched plain text value and practically does not range search.
또한, Hash-based index알고리즘은, 일방향 해시함수를 이용하여 인덱스에 사용될 컬럼을 암호화하는 방법이다. Collision이 없는 해시함수를 선택하면 정확한 일치검색이 가능하고 숫자와 문자에 대해 모두 적용할 수 있는 장점이 있으나 범위검색을 지원하지 못하고 일치검색도 추가 필터링이 필요하며 출현 빈도 분포를 이용한 유추공격에 취약하다.In addition, the hash-based index algorithm is a method of encrypting a column to be used for an index by using a one-way hash function. Choosing a hash function without Collision has the advantage of providing exact match and applying both numbers and letters, but it does not support range search, exact match requires additional filtering, and it is vulnerable to analogy attack using frequency distribution. Do.
또한, B+tree index알고리즘은, 평문의 순서대로 별도로 구성하여 인덱스를 이용한 암호화방법으로 빈도 분포를 이용한 유추공격으로부터 안전하다. 하지만 데이터의 삽입, 수정이 빈번할 경우 B+ tree를 다시 만들어야 하고 노드상의 데이터는 직접 사용할 정보가 아님에도 최종 수치까지 도달하기 위하여 반드시 복호화해야 하는 불편이 따른다.In addition, the B + tree index algorithm is constructed separately in the order of plain text, and is safe from analogy attacks using frequency distribution using an index encryption method. However, if data is inserted or modified frequently, the B + tree needs to be re-created, and the data on the node has to be decoded to reach the final value even though the data on the node is not directly used.
또한, Random number based encryption알고리즘은, 암호화 결과의 순서가 원래의 평문 순서와 동일하도록 의사난수를 이용하여 암호화된 데이터를 만들고, 복호화시에는 의사난수를 지속적으로 발생시켜 암호데이터에서 그 난수를 차감하여 평문을 알아내는 방법이다. 암호화 데이터에 대한 업데이트를 고민할 필요가 없는 장점이 있으나 출현빈도분포를 이용한 공격에 취약하고 의사난수를 관리하는 오버헤드가 매우 크며 정수만 암호화할 수 있는 단점이 있다.In addition, the random number based encryption algorithm generates pseudo-random data using pseudo random numbers so that the order of the encryption results is the same as the original plain text order, and continuously generates pseudo random numbers during decryption to subtract the random number from the encrypted data. This is how to find plain text. There is an advantage that you do not have to worry about updating the encrypted data, but it is vulnerable to attacks using the frequency distribution, has a very large overhead of managing pseudo random numbers, and can only encrypt integers.
또한, Polinomial function based encryption알고리즘은, random number 기반 암호화 알고리즘으로 의사난수를 사용하므로 수치가 증가하면 암호화 값도 기하급수적으로 증가하고 이를 관리하는 오버헤드가 증가하므로 이를 해결하는 단조증가함수를 사용한 순서유지 암호화 방법이다. 이 방법은 암복호화시 다항식의 계수정보만 필요하므로 암복호화 절차가 매우 간편하고 실수에도 적용할 수 있으며 암호화된 데이터에 대한 업데이트 문제를 고려할 필요가 없는 장점이 있다. 그러나 암호문의 분포가 다항식에 의해 결정되므로 추론공격이 가능하며, 순서가 그대로 노출되어 다른 컬럼과 함께 사용되었을 때 평문의 정보가 노출될 수 있다.In addition, since the Polinomial function based encryption algorithm uses pseudo random numbers as a random number based encryption algorithm, the encryption value increases exponentially as the number increases, and the overhead of managing it increases the order maintenance using the monotonically increasing function. Encryption method. In this method, since only the coefficient information of the polynomial is needed for encryption and decryption, the encryption and decryption procedure is very simple, can be applied to mistakes, and there is no need to consider the problem of updating the encrypted data. However, since the distribution of the ciphertext is determined by the polynomial, inference attack is possible, and the order of the plaintext can be exposed when used with other columns.
그리고, OPES(Order Preserving Encryption Scheme) 알고리즘은, 순서유지암호분야의 대표적인 알고리즘이며 수치데이터에 대하여 암호화 값의 순서를 유지하는 방법이다. 암호화된 상태에서 일치검색, 범위검색, MIN, MAX, Count, Groupby Order By등의 검색이 가능하며 평문과 암호문의 분포를 다르게 함으로써 출현빈도 분표를 이용한 공격에도 안전하다. 하지만 숫자데이터에 대해서만 적용이 되고 동일한 테이블에서 암호화되지 않은 컬럼이 있으면 순서통계량 분석을 통해 평문정보가 노출될 수 있다.The Order Preserving Encryption Scheme (OPES) algorithm is a typical algorithm in the field of ordered encryption and is a method of maintaining the order of encryption values for numerical data. In the encrypted state, it is possible to search for exact match, range search, MIN, MAX, Count, Groupby Order By, etc., and it is safe against attack using frequency of occurrence by different distribution of plain text and cipher text. However, if only the numeric data is applied and there are unencrypted columns in the same table, plain text information may be exposed through the analysis of ordinal statistics.
이와 같은 기존의 많은 암호화 방법들이 현재 개발되어 있고, 이를 보완한 암호화 방법들도 하루가 멀다하고 논문 또는 특허로 발표되고 있는 실정이다. 그러나, 기존의 암호화 방법은 해커의 침투 등을 방지하는 데는 탁월하지만 현대 보험회사나 금융기관에서 요청되는 빠른 검색기능에 용이하게 대응하지 못하는 원초적인 문제를 가지고 있었다. 또한, 한국에서 2009년도부터는 개인정보보호가이드를 각 보험회사와 은행과 증권회사에 배포하여 이를 법제화시키려고 노력하고 있다. 개인정보보호법은 고객ID, 패스워드, 주민번호 및 계좌번호를 암호화하여 대량 해킹에 대비하는 법이다. 이 법에 따르면 개인정보는 암호화되어야 하고, 이를 빠른 시간 내에 서칭해야하는 데, 기존의 암호화 방법은 자료를 암호화한 다음에는 데이터베이스에서 해당 자료를 찾을 때 인덱스 기능을 사용할 수 없으며 이로 인해 암호화된 자료를 다시 찾기가 매우 어려운 문제점이 있었다. Many existing encryption methods, such as these, are currently being developed, and the encryption methods that supplement them are long gone and are published in papers or patents. However, the existing encryption method is excellent in preventing hackers from infiltrating, but has a fundamental problem of not being able to easily respond to the fast search function requested by a modern insurance company or financial institution. In addition, since 2009, Korea has been distributing personal information protection guides to insurance companies, banks and securities companies to make them legal. The Personal Information Protection Act encrypts customer IDs, passwords, social security numbers, and account numbers to prepare for mass hacking. According to this law, personal information must be encrypted and searched quickly. The existing encryption method encrypts the data and then cannot use the index function to find the data in the database. There was a problem that was very difficult to find.
따라서, 해킹을 방지하고 자료를 암호화한 후에도 신속하게 검색할 수 새로운 모델의 암호화 방법이 절실하게 필요하여 본 발명을 제안하게 되었다. Therefore, the present invention is urgently needed because a new model of encryption method is required to prevent hacking and search quickly even after encrypting data.
따라서, 본 발명은 상술한 문제점을 해결하기 위한 것으로서, 본 발명의 목적은, 주민등록번호, 카드번호, 계좌번호 등의 개인 정보로부터 분리된 순서 정보와 내용 정보를 구분하여 암호화하고 암호화 전과 동일하게 순서 정보를 유지할 수 있도록 각각의 암호화된 정보를 합성하여 저장할 수 있는 암호화 방법, 장치 및 기록매체를 제공하는 데 있다.Accordingly, the present invention is to solve the above-described problems, the object of the present invention is to distinguish the order information and the content information separated from the personal information such as social security number, card number, account number and the like and encrypt the order information as before encryption The present invention provides an encryption method, an apparatus, and a recording medium capable of synthesizing and storing each encrypted information so as to maintain the same.
그리고, 국가표준 암호논리(ARIA)와 같은 안전한 암호 알고리즘을 활용하여 암호화된 정보라도 순서에 따른 인덱싱이 가능하며 신속하게 검색할 수 있는 암호화 방법, 장치 및 기록매체를 제공하는 데 있다. In addition, the present invention provides an encryption method, an apparatus, and a recording medium which can index in order and search quickly even by using a secure encryption algorithm such as a national standard encryption logic (ARIA).
먼저, 본 발명의 특징을 요약하면, 상기와 같은 본 발명의 목적을 달성하기 위한 본 발명의 일면에 따른 자료 암호화 수단에서 자료를 암호화하는 방법은, 암호화 대상 정보의 일부를 분리하여 순서 정보를 결정하는 단계; 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 부분을 내용 정보로 결정하는 단계; 상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제1 암호화하는 단계; 상기 순서 정보를 인덱싱과 무관하게 제2 암호화하는 단계; 상기 내용 정보를 인덱싱과 무관하게 상기 제2 암호화와 다른 방식으로 제3 암호화하여 암호화된 내용 정보를 생성하는 단계; 상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값으로 대체하여 암호화된 순서 정보를 생성하는 단계; 및 상기 암호화된 순서 정보에 대응시켜 상기 암호화된 내용 정보를 저장 수단에 저장하는 단계를 포함한다.First, to summarize the features of the present invention, the method for encrypting data in the data encryption means according to an aspect of the present invention for achieving the object of the present invention as described above, to determine the order information by separating a portion of the information to be encrypted Doing; Determining a portion of the encryption target information including the remaining information from which the order information is separated as content information; First encrypting the encryption information of the order information to be indexing information; Encrypting the order information independently of indexing; Generating encrypted content information by third encrypting the content information in a different manner from the second encryption regardless of indexing; Generating encrypted order information by replacing a part of the result value of the second encryption with the result value of the first encryption; And storing the encrypted content information in a storage means in correspondence with the encrypted order information.
상기 제1 암호화의 방식은, ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 방식이다.The first method of encryption includes selecting each element (number, letter, or symbol) of the sequence information based on a G-table that divides codes on an ASCII code system into a plurality of groups in order. This is a method of converting to a value corresponding to a corresponding code belonging to one group.
입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블을 생성하고, 상기 S-테이블에 기초하여 상기 순서 정보의 각 요소를 변환할 수 있다.Generates an S-table in which codes of different groups of the plurality of groups are mapped one by one with respect to different elements included in the order information according to the input S-key, and based on the S-table, Each element can be converted.
상기 암호화 대상 정보는, 주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호를 포함한다.The encryption target information includes a social security number, a credit card number, or an account number of a financial institution.
상기 제2 암호화의 방식은, 일방향 암호화 방식에 기초한 방식이다.The second encryption method is a method based on a one-way encryption method.
상기 일방향 암호화 방식은 안전 해쉬 알고리즘(Secure Hash Algorithm)에 기초한 방식을 포함한다.The one-way encryption scheme includes a scheme based on a secure hash algorithm.
상기 제3 암호화의 방식은, 국가표준암호논리(ARIA)에 기초한 방식이다.The third encryption method is based on National Standard Encryption Logic (ARIA).
상기 암호화 방법은, 상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제4 암호화하는 단계; 및 상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값 또는 상기 제4 암호화의 결과값의 조합으로 대체하여 상기 암호화된 순서 정보를 생성하는 단계를 포함한다.The encryption method may further comprise: encrypting the encryption information of the order information such that the encryption information is indexing information; And generating the encrypted order information by replacing a part of the result value of the second encryption with a combination of the result value of the first encryption or the result value of the fourth encryption.
상기 제4 암호화의 방식은, 5차 이상의 수학식을 포함한 함수를 이용하여 상기 순서 정보를 변환하는 방식이다.The fourth encryption method is a method of converting the order information by using a function including a fifth or more equation.
또한, 본 발명의 다른 일면에 따른 자료 암호화 수단에서 자료를 암호화하는 방법은, 암호화 대상 정보로부터 분리한 순서 정보와, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 내용 정보를 각각 서로 다른 방식으로 암호화하여 결합하되, 상기 순서 정보를 암호화한 정보가 인덱싱 정보로 포함되도록 암호화하여 데이터베이스에 저장하고 관리하는 것을 특징으로 한다.Further, in the data encryption means according to another aspect of the present invention, a method for encrypting data includes content information including sequence information separated from encryption target information and remaining information from which the sequence information is separated among the encryption target information. It is combined by encrypting in different ways, characterized in that the encrypted information so that the sequence information is included as indexing information, stored in a database and managed.
상기 순서 정보를 암호화한 정보는, 일방향 암호화 방식, 5차 이상의 수학식을 포함한 함수를 이용한 암호화 방식, 또는 ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 암호화 방식을 조합하여 암호화한 정보를 포함한다.The ordered information is encrypted based on a one-way encryption method, an encryption method using a function including a fifth order equation, or a G-table that divides codes on an ASCII code system into a plurality of groups in order. And a combination of encryption methods for converting each element of the information into a value corresponding to a corresponding code belonging to any one of the plurality of groups.
또한, 본 발명의 또 다른 일면에 따른 암호화 장치는, 암호화 대상 정보의 일부를 분리하여 순서 정보를 결정하며, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 부분을 내용 정보로 결정하는 정보 분리 수단; 상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제1 암호화하는 제1 암호화 수단; 상기 순서 정보를 인덱싱과 무관하게 제2 암호화하는 제2 암호화 수단; 상기 내용 정보를 인덱싱과 무관하게 상기 제2 암호화와 다른 방식으로 제3 암호화하여 암호화된 내용 정보를 생성하는 제3 암호화 수단; 상기 제2 암호화 결과값의 일부를 상기 제1 암호화 결과값으로 대체하여 암호화된 순서 정보를 생성하는 결합 수단; 및 상기 암호화된 순서 정보에 대응시켜 상기 암호화된 내용 정보를 저장 수단에 저장하는 저장 수단을 포함한다.In addition, the encryption apparatus according to another aspect of the present invention, to determine the order information by separating a portion of the encryption target information, and determines the portion of the encryption target information including the remaining information from which the order information is separated as the content information. Information separation means; First encryption means for first encrypting the encryption information of the order information to be indexing information; Second encryption means for secondly encrypting the order information regardless of indexing; Third encryption means for generating third encrypted content information by encrypting the content information in a manner different from the second encryption regardless of indexing; Combining means for generating encrypted order information by replacing part of the second encryption result with the first encryption result; And storage means for storing the encrypted content information in a storage means corresponding to the encrypted order information.
상기 제1 암호화 수단은, ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환한다.The first means for encrypting each element (number, letter, or symbol) of the order information based on a G-table that divides codes on an ASCII code system into a plurality of ordered groups, any one of the plurality of groups. Convert to a value that corresponds to the code in the group.
상기 제1 암호화 수단은, 입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블을 생성하고, 상기 S-테이블에 기초하여 상기 순서 정보의 각 요소를 변환한다.The first encryption means generates an S-table in which codes of different groups of the plurality of groups are mapped to one another according to different elements included in the order information according to the input S-key, and the S-table Each element of the order information is converted based on.
상기 암호화 장치는, 상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제4 암호화하는 제4암호화 수단을 더 포함하고, 상기 결합 수단은 상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값 또는 상기 제4 암호화의 결과값의 조합으로 대체하여 상기 암호화된 순서 정보를 생성한다.The encryption apparatus further includes fourth encryption means for fourth encryption so that the encryption information of the order information becomes indexing information, and the combining means replaces a part of the result value of the second encryption with the result value of the first encryption. Or replace the combination of the result values of the fourth encryption to generate the encrypted order information.
그리고, 본 발명의 또 다른 일면에 따른 사용자 단말로부터 수신되는 자료를 암호화하여 저장하고 관리하는 자료 관리 서버는, 상기 자료 중 암호화 대상 정보로부터 분리한 순서 정보와, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 내용 정보를 각각 서로 다른 방식으로 암호화하여 결합하되, 상기 순서 정보를 암호화한 정보가 인덱싱 정보로 포함되도록 암호화하여 데이터베이스에 저장하고 관리하는 암호화 장치를 포함하고, 상기 사용자 단말로부터의 자료 요청에 대하여 상기 데이터베이스에 저장된 암호화된 정보에서 상기 인덱싱 정보를 참조하여 검색하고 검색 결과를 상기 사용자 단말로 제공하는 것을 특징으로 한다.The data management server for encrypting, storing, and managing data received from a user terminal according to another aspect of the present invention includes order information separated from encryption target information among the data, and the order information among the encryption target information. And encrypting and combining the content information including the remaining remaining information in different ways, and encrypting and storing the ordered information so that the encrypted information is included as indexing information, and storing and managing the information in the database. In response to the request for data from the encrypted information stored in the database by referring to the indexing information, characterized in that for providing the search results to the user terminal.
상기 순서 정보를 암호화한 정보는, 일방향 암호화 방식, 5차 이상의 수학식을 포함한 함수를 이용한 암호화 방식, 또는 ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 암호화 방식을 조합하여 암호화한 정보를 포함한다.The ordered information is encrypted based on a one-way encryption method, an encryption method using a function including a fifth order equation, or a G-table that divides codes on an ASCII code system into a plurality of groups in order. And a combination of encryption methods for converting each element of the information into a value corresponding to a corresponding code belonging to any one of the plurality of groups.
본 발명에 따른 암호화 방법, 장치 및 기록매체에 따르면, 가변코드와 해시함수를 이용하여 주민등록번호, 카드번호, 계좌번호 등과 같은 개인정보의 순서정보를 암호화하고, 내용 정보는 국가표준암호논리(ARIA)로 암호화하여 저장하므로 안전성이 높다.According to the encryption method, apparatus and recording medium according to the present invention, the variable information and the hash function are used to encrypt the order information of personal information such as social security number, card number, account number, etc., and the content information is national standard encryption logic (ARIA). Highly secure because it is encrypted and stored.
또한, 순서정보를 암호화하여 암호화 후에도 인덱싱이 가능하게 하므로 수천만 건의 개인 자료를 보관하고 있는 금융기관이나 통신회사가 대규모 하드웨어의 투자 없이도 기존 프로그램을 일부 수정하면 고객의 정보를 안전하게 관리할 수 있다.In addition, by encrypting the sequence information, indexing is possible even after encryption, financial institutions or telecommunications companies that hold tens of millions of personal data can securely manage customer information by making some modifications to existing programs without investing in large hardware.
그리고, 주민등록번호, 카드번호, 계좌번호 등과 같은 개인정보를 암호화하고 검색 처리하는데 이상적이며 내부자가 개인 자료를 유출하더라고 해당 정보를 해독하지 못하게 막는 보안 효과가 높으며 효율적으로 해킹을 방지할 수 있다. Also, it is ideal for encrypting and retrieving personal information such as social security number, card number, account number, etc., and even if the insider leaks personal data, it has high security effect and prevents hacking.
도 1은 본 발명의 일실시예에 따른 암호화 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating an encryption method according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 암호화 방법에 따른 암호화 전후의 정열 순서 유지를 설명하기 위한 도면이다.2 is a view for explaining the sort order maintenance before and after encryption according to the encryption method according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 암호화 방법에 따른 암호화 과정에서의 각 암호화 결과값을 설명하기 위한 예시이다.3 is an illustration for explaining each encryption result in the encryption process according to the encryption method according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 가변 코드 암호화에 적용되는 G-table을 설명하기 위한 도면이다.4 is a diagram illustrating a G-table applied to variable code encryption according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 따른 가변 코드 암호화에 적용되는 S-table의 S-키에 따른 헥사값에 대한 예시이다. 5 is an example of a hexadecimal value according to an S-key of an S-table applied to variable code encryption according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 따른 가변 코드 암호화에 적용되는 S-table의 S-키에 따른 출력심볼에 대한 예시이다. 6 is an example of an output symbol according to an S-key of an S-table applied to variable code encryption according to an embodiment of the present invention.
도 7은 본 발명의 일실시예에 따른 암호화 장치의 블록도이다.7 is a block diagram of an encryption apparatus according to an embodiment of the present invention.
도 8은 본 발명의 일실시예에 따른 가변 코드 암호화부의 블록도이다.8 is a block diagram of a variable code encryption unit according to an embodiment of the present invention.
도 9는 본 발명의 다른 실시예에 따른 암호화 방법을 설명하기 위한 흐름도이다.9 is a flowchart illustrating an encryption method according to another embodiment of the present invention.
도 10은 본 발명에 따른 불가해 방정식 암호화를 설명하기 위한 예시이다.10 is an illustration for explaining indiscriminate equation encryption according to the present invention.
도 11은 본 발명에 따른 암호화 장치가 네트워크에 연결된 서버에서 실현되는 예시를 설명하는 도면이다.11 is a diagram for explaining an example where the encryption apparatus according to the present invention is realized in a server connected to a network.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings and the contents described in the accompanying drawings, but the present invention is not limited or limited to the embodiments.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 암호화 방법을 설명하기 위한 흐름도이다. 1 is a flowchart illustrating an encryption method according to an embodiment of the present invention.
도 1을 참조하면, 먼저, 본 발명의 일실시예에 따른 암호화 방법에 따라 각종 암호화가 필요한 자료를 암호화하는 암호화 장치는 암호화 대상 정보를 수신한다(S110). 여기서, 암호화 대상 정보는, 주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호 등 아라비아 숫자(0~9)로 구성된 개인 정보를 의미하는 것으로 이하 예를 들어 설명한다. 다만, 경우에 따라서는 암호화 대상 정보에는 숫자뿐만아니라 문자나 기호도 포함될 수 있고, 위와 같은 수치 정보에 문자나 기호가 더 추가된 다른 정보를 더 포함할 수 있음을 밝혀 둔다. Referring to FIG. 1, first, an encryption apparatus for encrypting various types of encryption required data according to an encryption method according to an embodiment of the present invention receives encryption target information (S110). Here, the encryption target information means personal information composed of Arabic numerals (0 to 9) such as a social security number, a credit card number, or an account number of a financial institution. However, in some cases, the encryption target information may include not only numbers but also letters or symbols, and it may be noted that the above numerical information may further include other information in which letters or symbols are added.
암호화 대상 정보가 수신되면 암호화 장치에서 암호화 대상 정보의 일부를 분리하여 순서 정보를 결정할 수 있고, 암호화 대상 정보 중 해당 순서 정보가 분리된 나머지 정보를 포함하는 부분(예를 들어, 암호화 대상 정보의 전체)을 내용 정보로 결정할 수 있다(S120). 예를 들어, 암호화 대상 정보가 주민등록번호 600511-1690413인 경우에, 그 일부인 7자리 숫자 6005111을 순서 정보로 결정할 수 있고, 6005111690413 전체 정보를 실질적으로 암호화될 내용 정보로 결정할 수 있다. 여기서, 암호화 대상 정보가 주민등록번호인 경우에 7자리의 순서정보를 예로 들었으나, 이에 한정되는 것은 아니며 그 일부 예를 들어, 1자리에서 13자리 중 어느 한 자릿수를 순서정보가 되도록 할 수 있다. 암호화 대상 정보에 문자나 기호가 포함된 경우에도 소정 순서로 정열이 가능하도록 미리 순서를 정하여 놓고 그 중 일부가 순서 정보가 되도록 할 수도 있다. When the encryption target information is received, the encryption apparatus may determine a sequence information by separating a portion of the encryption target information, and a portion of the encryption target information including the remaining information from which the sequence information is separated (for example, the entirety of the encryption target information). ) May be determined as content information (S120). For example, when the information to be encrypted is the social security number 600511-1690413, a part of the seven-digit number 6005111 may be determined as the order information, and the entire information 6005111690413 may be determined as the content information to be substantially encrypted. Here, although the encryption target information is the social security number, the 7-digit order information is taken as an example, but the present invention is not limited thereto. For example, the order information may be any one digit from 1 to 13 digits. Even when characters or symbols are included in the information to be encrypted, the order may be set in advance so that they may be arranged in a predetermined order, and some of them may be order information.
이와 같이 순서 정보와 내용 정보가 결정된 후에, 암호화 장치는 순서 정보를 가변코드 암호화한다(S130). 이와 같이 가변코드 암호화된 정보는 정열 순서를 알 수 있게 하는 인덱싱 정보가 된다. 가변코드 암호화 방식은 하기하는 바와 같이 ASCII 코드 체계 상의 코드들에 기초한 데이터 변환 방식이다. After the order information and the content information are determined as described above, the encryption apparatus performs variable code encryption on the order information (S130). In this way, the variable-code encrypted information becomes indexing information that enables the sort order to be known. The variable code encryption method is a data conversion method based on codes on the ASCII code system as described below.
예를 들어, 도 2의 210과 같이, 여러가지 암호화 대상 정보(예를 들어, 주민등록번호)는 암호화 이전에 ASCII 코드 상의 헥사값(16진수값)으로 변환하여도 그 헥사값의 크기에 따른 정열 순서가 정해질 수 있다. 예를 들어, 정열 순서에 따른 자료 검색에서 주민등록번호600511-1690412를 검색하는 경우에, 도 2에서 정열 순서 상 3번 보다 앞서므로 정열 순서 1,2,3번 까지 검색하여 해당 자료가 검색되지 않으면 그 이하의 정열 순서 4,5..에 대하여는 검색할 필요가 없게 된다.For example, as shown in 210 of FIG. 2, various encryption target information (for example, social security number) may be converted into a hexadecimal value (hexadecimal value) in ASCII code before encryption. Can be decided. For example, in the case of searching for the resident registration number 600511-1690412 in the data search according to the order of sorting, it is earlier than 3 times in the order of sorting in FIG. It is not necessary to search for the following sort order 4, 5...
그러나, 안전 해쉬 알고리즘(Secure Hash Algorithm) 또는 국가표준암호논리(ARIA) 등과 같은 암호화 방식에 따라 자료를 암호화하는 경우에, 자료를 암호화한 후에는 인덱스 정보가 사라져 암호화된 자료에서 필요 자료를 검색하는 경우에는 데이터베이스에 저장 관리되는 암호화된 자료 전체를 서칭해야하는 어려움이 있다. 본 발명에서는 순서 정보를 가변코드 암호화한 정보는 인덱싱 정보가 되도록 하고, 도 2의 220과 같이 암호화된 정보의 헥사값의 앞단에 해당 가변코드 암호화한 정보(인덱싱 정보)가 포함되도록 함으로써, 인덱싱 정보에 따른 정열 순서를 알 수 있도록 하고자 하였다.However, in case of encrypting data according to an encryption method such as Secure Hash Algorithm or National Standard Encryption Logic (ARIA), the index information disappears after encrypting the data to retrieve the necessary data from the encrypted data. In this case, it is difficult to search the entire encrypted data stored in the database. In the present invention, the variable code-encrypted information is used as indexing information, and the variable-coded encrypted information (indexing information) is included at the front of the hexa value of the encrypted information as shown in 220 of FIG. We wanted to know the order of sorting.
S130 단계에서 수행되는 가변코드 암호화의 방식은, ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블(도 4 참조)에 기초하여 위와 같은 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 방식이다. 여기서, 입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블(도 5 참조)을 생성하고, 해당 S-테이블에 기초하여 해당 순서 정보의 각 요소를 변환한다.In the variable code encryption method performed in step S130, each element of the above order information (numbers, letters, and the like) is based on a G-table (see FIG. 4) that divides codes on the ASCII code system into a plurality of groups in order. Or a symbol) into a value corresponding to a corresponding code belonging to one of the plurality of groups. Here, an S-table (see FIG. 5) corresponding to codes of different groups of the plurality of groups is generated for different elements included in the order information according to the input S-key, and the corresponding S-table is generated. Convert each element of the corresponding order information based on.
예를 들어, 도 3과 같이, 암호화 대상 정보인 주민등록번호 600511-1690413의 순서 정보인 7자리 숫자 6005111은, 도 4와 같은 G-테이블을 기초로 생성된 도 5와 같은 S-테이블에 따라 65 21 21 5A 2B 2B 2B 로 변환될 수 있다. For example, as shown in FIG. 3, the seven-digit number 6005111, which is the sequence information of the social security number 600511-1690413, which is the encryption target information, is set according to the S-table shown in FIG. 5 based on the G-table shown in FIG. 21 5A 2B 2B 2B
이와 같은 가변코드 암호화의 방식에 이용되는 ASCII 코드 체계 상의 코드들은 256가지의 코드 체계를 가지며, 본 발명에서 도 4의 G-테이블과 같이, 순서가 있는 복수의 그룹으로 구분된다. 도 4와 같이, 암호화될 순서 정보의 요소인 숫자 0은 ASCII 코드 상의 헥사값 21(출력 심볼 '!') 내지 28(출력 심볼 '(')로 이루어지는 그룹에 속하는 해당 코드에 대응되는 값으로 변환될 수 있다. 즉, 입력된 S-키가 1인 경우에 도 5와 같이 숫자 0은 헥사값 21로 변환될 수 있다.Codes on the ASCII code system used for such a variable code encryption method have 256 code systems, and are divided into a plurality of ordered groups, such as the G-table of FIG. 4. As shown in Fig. 4, the number 0, which is an element of the order information to be encrypted, is converted into a value corresponding to a corresponding code belonging to a group consisting of hexadecimal values 21 (output symbols '!') To 28 (output symbols '(') on the ASCII code. That is, in the case where the input S-key is 1, the number 0 may be converted to the hexadecimal value 21 as shown in FIG.
마찬가지로, 도 4와 같이, 암호화될 순서 정보의 요소인 숫자 1은 ASCII 코드 상의 헥사값 29(출력 심볼 ')') 내지 35(출력 심볼 '5')로 이루어지는 그룹에 속하는 해당 코드에 대응되는 값으로 변환될 수 있다. 이때, 입력된 S-키가 1인 경우에 도 5와 같이 숫자 1은 헥사값 2B로 변환될 수 있다. 같은 방법으로 순서 정보의 요소가 되는 다른 아라비아 숫자 2~9도 해당 헥사값으로 변환될 수 있다. Similarly, as shown in Fig. 4, the number 1, which is an element of the order information to be encrypted, corresponds to a corresponding code belonging to a group consisting of hexadecimal values 29 (output symbol ')' to 35 (output symbol '5') on an ASCII code. Can be converted to In this case, when the input S-key is 1, the number 1 may be converted into a hexadecimal value 2B as shown in FIG. 5. In the same way, other Arabic numerals 2-9, which are elements of the order information, can be converted to the corresponding hexa value.
위의 예에서 이와 같은 방식에 따라 순서 정보인 7자리 숫자 6005111은, 입력된 S-키가 1인 경우에 65 21 21 5A 2B 2B 2B 로 변환될 수 있으며, 입력되는 S-키에 따라 다른 값으로 변환될 수도 있다. 도 6은 도 5의 헥사값에 대응되는 ASCII 코드 체계 상의 출력 심볼(사용자 단말에 표시되는 심볼)을 나타낸다. According to the above example, the seven-digit number 6005111, which is the order information, can be converted to 65 21 21 5A 2B 2B 2B when the input S-key is 1, and the value differs depending on the input S-key. May be converted to. FIG. 6 shows output symbols (symbols displayed on the user terminal) on the ASCII code system corresponding to the hexa value of FIG. 5.
예를 들어, 입력된 S-키가 3인 경우에, 도 2의 220과 같이, 암호화 대상 정보 571110-1017817 중 7자리 순서 정보 5711101은 5F6F2F2F2F282F로 변환될 수 있다. 이와 같이 각 암호화 시마다 다르게 입력될 수 있는 S-키는 해킹방지에 더욱 유용하게 활용될 수 있으며, 도 2의 220과 같이, S-키의 변경에 따라 암호화된 인덱싱 정보가 다를 수 있지만 정열 순서는 동일하게 유지될 수 있다. 즉, 도 5와 같이 S-키를 1~13 중 어느 하나로 입력받더라도 순서 정보의 가변코드 암호화에 따른 암호화된 정보는 정열 순서를 알 수 있는 인덱싱 정보가 될 수 있다. For example, when the input S-key is 3, as shown in 220 of FIG. 2, the seven-digit sequence information 5711101 of the encryption target information 571110-1017817 may be converted into 5F6F2F2F2F282F. As such, the S-key, which may be input differently at each encryption time, may be more usefully used to prevent hacking. As shown in 220 of FIG. 2, the encrypted indexing information may be different according to the change of the S-key, but the order of sorting is different. Can remain the same. That is, even when the S-key is input to any one of 1 to 13 as shown in FIG. 5, the encrypted information according to the variable code encryption of the order information may be indexing information that can know the sort order.
한편, 도 1의 S140에서 암호화 장치는 위와 같이 암호화 대상 정보로부터 분리된 순서 정보를 안전 해쉬 알고리즘(Secure Hash Algorithm)과 같은 일방향 암호화 방식에 따라 암호화한다. 도 3에는 순서 정보인 7자리 숫자 6005111에 대한 안전 해쉬 알고리즘의 암호화 결과값을 예시하였으며, 이와 같은 안전 해쉬 알고리즘에 따라 순서정보가 암호화되면 해당 암호화된 결과값으로는 인덱싱과 무관하여 그 정열 순서를 알 수 없게 된다. 안전 해쉬 알고리즘은 임의의 길이를 가지고 있는 데이터를 고정된 길이의 해쉬값으로 바꾸어주는 소정 해쉬(hash) 함수를 이용하는 방식으로서, 제3자에 의한 데이터 변조가 쉽게 파악될 수 있는 일방향(one-way) 암호화 방식이고, 이에는 MD4(Message Digest 4), MD5(Message Digest 5), SHA(Secure Hash Algorithm)-1등 다양한 방식이 있으며, 이들에 대한 알고리즘은 기 공개된 자료를 바탕으로 습득이 가능하므로 여기서는 상세한 설명을 생략한다. Meanwhile, in S140 of FIG. 1, the encryption apparatus encrypts the sequence information separated from the encryption target information as described above according to a one-way encryption scheme such as a secure hash algorithm. 3 illustrates an example of the encryption result of the secure hash algorithm for the seven-digit number 6005111, which is the sequence information. When the sequence information is encrypted according to the secure hash algorithm, the encrypted sequence results the sort order regardless of indexing. You won't know. The secure hash algorithm is a method of using a predetermined hash function that converts data having an arbitrary length into a hash value having a fixed length, and is a one-way way in which data modulation by a third party can be easily identified. ) Encryption method, and there are various methods such as Message Digest 4 (MD4), Message Digest 5 (MD5), Secure Hash Algorithm (SHA) -1, and algorithms for these can be acquired based on published data. The detailed description is omitted here.
도 1의 S150 단계에서 암호화 장치는, 위와 같이 안전 해쉬 알고리즘에 따라 암호화한 결과값의 일부, 예를 들어, 위의 예에서 앞단의 7자리 헥사값(33353931616633)을 S130 단계에서 가변코드 암호화 방식으로 암호화된 결과값(6521215A2B2B2B)으로 대체하여(S150) 도 3과 같이 암호화된 순서 정보를 생성하게 된다(S160). In operation S150 of FIG. 1, the encryption apparatus may include a portion of a result of encryption according to the secure hash algorithm as described above, for example, a seven-digit hexadecimal value (33353931616633) in the above example as a variable code encryption method in operation S130. The encrypted result value (6521215A2B2B2B) is substituted (S150) to generate encrypted order information as shown in FIG. 3 (S160).
한편, S120 단계에서 암호화 대상 정보 중 해당 순서 정보가 분리된 나머지 정보를 포함하는 부분(예를 들어, 암호화 대상 정보의 전체)이 내용 정보로 결정되면, 암호화 장치는 해당 내용 정보를 국가표준암호논리(ARIA) 기초한 암호화 방식에 따라 암호화한다(S170). 내용 정보는 위에서도 기술한 바와 같이 주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호 등 아라비아 숫자(0~9)로 구성된 개인 정보일 수 있으나, 경우에 따라서는 숫자뿐만아니라 문자나 기호도 포함될 수 있고, 위와 같은 수치 정보에 문자나 기호가 더 추가된 다른 정보를 더 포함할 수도 있다.On the other hand, if the portion (for example, the entirety of the encryption target information) including the remaining information from the encryption target information is separated from the encryption target information in step S120 is determined as the content information, the encryption apparatus converts the content information to the national standard encryption logic. (ARIA) The encryption is performed according to the based encryption method (S170). As described above, the content information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, but in some cases, may include letters or symbols as well as numbers. The above numerical information may further include other information with additional characters or symbols.
도 3에는 위에서 예를 든 주민등록번호 600511-1690413에 대한 내용 정보인 13자리 숫자 6005111690413에 대한 국가표준암호논리(ARIA)에 따라 암호화된 내용 정보를 예시하였으며, 이와 같은 국가표준암호논리(ARIA)에 따라 내용 정보가 암호화되면 해당 암호화된 결과값으로는 인덱싱과 무관하여 그 정열 순서를 알 수 없게 된다. 국가표준암호논리(ARIA)에 기초한 암호화 방식은 대한민국표준암호화 방식으로 채택된 암호화 방식으로서 128비트 블록 암호 알고리즘이라고도 한다. 국가표준암호논리(ARIA)에 대한 알고리즘은 기 공개된 자료를 바탕으로 습득이 가능하므로 여기서는 상세한 설명을 생략한다. FIG. 3 exemplifies contents information encoded according to the National Standard Encryption Logic (ARIA) for the 13-digit number 6005111690413, which is the information on the Resident Registration No. 600511-1690413, and according to the National Standard Encryption Logic (ARIA). When the content information is encrypted, the encrypted result does not know the sort order regardless of indexing. The encryption method based on the National Standard Encryption Logic (ARIA) is an encryption method adopted as the Korean standard encryption method and is also called a 128-bit block encryption algorithm. Algorithms for the National Standard Cryptography Logic (ARIA) can be acquired based on published data, so detailed descriptions are omitted here.
이와 같이, S160 단계에서 암호화된 순서정보가 생성되고, S180 단계에서 암호화된 내용정보가 생성되면, 암호화된 순서 정보에 대응시켜 암호화된 내용 정보를 데이터베이스 등 저장 수단에 저장할 수 있다. As described above, when the encrypted order information is generated in step S160 and the encrypted content information is generated in step S180, the encrypted content information may be stored in a storage means such as a database in correspondence with the encrypted order information.
예를 들어, 도 2의 220과 같이, 여러가지 암호화 대상 정보(예를 들어, 주민등록번호)가 도 1과 같은 본 발명의 방법에 따라 암호화되어 데이터베이스에 저장관리 될 수 있다. 도 1의 S150 단계와 같이, 안전 해쉬 알고리즘에 따라 암호화한 결과값의 일부, 예를 들어, 위의 예에서 앞단의 7자리 헥사값(33353931616633)을 S130 단계에서 가변코드 암호화 방식으로 암호화된 결과값(6521215A2B2B2B)으로 대체하여 생성한 암호화된 순서 정보와 S180 단계에서 생성된 암호화된 내용정보가 대응되어(또는 덧붙어서) 데이터베이스 저장 관리될 수 있다. 이에 따라 암호화된 각 최종 정보의 앞단에 정열 순서를 알수 있는 인덱싱 정보(순서 정보를 가변코드 암호화한 정보)가 있으므로 이를 토대로 자료 관리 서버에서는 자료의 소팅(sorting)이 가능하게 된다. 이에 따라, 암호화된 각 최종 정보에서 요청 정보를 검색하는 경우에 자료 관리 서버에서는 이와 같은 인덱싱 정보를 토대로 신속하게 검색하여 해당 자료를 제공할 수 있게 된다. For example, as shown in 220 of FIG. 2, various encryption target information (for example, a social security number) may be encrypted and stored in a database according to the method of the present invention as shown in FIG. 1. As in step S150 of FIG. 1, a part of the result value encrypted according to the secure hash algorithm, for example, the result value encrypted by the variable code encryption method in step S130 with the 7-digit hexadecimal value (33353931616633) in step S130. The encrypted order information generated by substituting (6521215A2B2B2B) and the encrypted content information generated in step S180 may be corresponded to (or in addition to) database storage management. Accordingly, since there is indexing information (a variable code encrypted information of the order information) that knows the sort order in front of each encrypted final information, the data management server can sort the data. Accordingly, when the request information is retrieved from each encrypted final information, the data management server can quickly search based on such indexing information and provide the corresponding data.
도 1과 같은 본 발명의 일실시예에 따른 암호화 방법의 각 단계를 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하여 해당 기능이 실현되도록 할 수 있다. 이외에도 본 발명의 일실시예에 따른 암호화 방법은 도 7과 같이 장치로도 구현이 가능하다.Each step of the encryption method according to an embodiment of the present invention as shown in FIG. 1 may be implemented as a computer readable code on a computer readable recording medium so that a corresponding function may be realized. In addition, the encryption method according to an embodiment of the present invention can be implemented as a device as shown in FIG.
도 7은 본 발명의 일실시예에 따른 암호화 장치(700)의 블록도이다.7 is a block diagram of an encryption apparatus 700 according to an embodiment of the present invention.
도 7을 참조하면, 본 발명의 일실시예에 따른 암호화 장치(700)는, 정보 분리부(710), 가변 코드 암호화부(720), 불가해 방정식 암호화부(725), 일방향 암호화부(730), 결합부(740), ARIA 암호화부(750), 저장부(760), 및 데이터베이스(761)을 포함한다. 가변 코드 암호화부(720)는 도 8과 같이 G-테이블 데이터베이스(721), S-테이블 생성부(722), 및 S-테이블 데이터베이스(723)를 포함할 수 있다. 이와 같은 본 발명의 일실시예에 따른 암호화 장치(700)는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어를 결합하여 구현될 수 있다. Referring to FIG. 7, the encryption apparatus 700 according to an embodiment of the present invention may include an information separation unit 710, a variable code encryption unit 720, an incomprehensible equation encryption unit 725, and a one-way encryption unit 730. ), A combination unit 740, an ARIA encryption unit 750, a storage unit 760, and a database 761. The variable code encryption unit 720 may include a G-table database 721, an S-table generator 722, and an S-table database 723 as shown in FIG. 8. Such an encryption apparatus 700 according to an embodiment of the present invention may be implemented by hardware, software, or a combination of hardware and software.
정보 분리부(710)는 암호화 대상 정보를 수신한다(도 1의 S110 참조). 여기서, 암호화 대상 정보는, 주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호 등 아라비아 숫자(0~9)로 구성된 개인 정보일 수 있고, 경우에 따라서는 암호화 대상 정보에는 숫자뿐만아니라 문자나 기호도 포함될 수 있고, 위와 같은 수치 정보에 문자나 기호가 더 추가된 다른 정보를 더 포함할 수도 있다.The information separator 710 receives the encryption target information (see S110 of FIG. 1). Here, the encryption target information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, and in some cases, the encryption target information includes not only numbers but also letters and symbols. In addition, the numerical information may further include other information in which letters or symbols are added.
암호화 대상 정보가 수신되면 정보 분리부(710)는 암호화 대상 정보의 일부를 분리하여 순서 정보를 결정할 수 있고, 암호화 대상 정보 중 해당 순서 정보가 분리된 나머지 정보를 포함하는 부분(예를 들어, 암호화 대상 정보의 전체)을 내용 정보로 결정할 수 있다(도 1의 S120 참조). 예를 들어, 암호화 대상 정보가 주민등록번호 600511-1690413인 경우에, 그 일부인 7자리 숫자 6005111을 순서 정보로 결정할 수 있고, 6005111690413 전체 정보를 실질적으로 암호화될 내용 정보로 결정할 수 있다. 위에서도 기술한 바와 같이, 암호화 대상 정보가 주민등록번호인 경우에 7자리의 순서정보를 예로 들었으나, 이에 한정되는 것은 아니며 그 일부 예를 들어, 1자리에서 13자리 중 어느 한 자릿수를 순서정보로 결정될 수 있다. 암호화 대상 정보에 문자나 기호가 포함된 경우에도 소정 순서로 정열이 가능하도록 미리 순서를 정하여 놓고 그 중 일부가 순서 정보로 결정될 수도 있다. When the encryption target information is received, the information separation unit 710 may determine a sequence information by separating a portion of the encryption target information, and a portion (eg, encryption) including the remaining information from which the corresponding sequence information is separated from the encryption target information. The entirety of the target information) can be determined as the content information (see S120 of FIG. 1). For example, when the information to be encrypted is the social security number 600511-1690413, a part of the seven-digit number 6005111 may be determined as the order information, and the entire information may be determined as the content information to be substantially encrypted. As described above, when the encryption target information is the social security number, the seven-digit order information is taken as an example, but the present invention is not limited thereto. For example, any one digit from one to thirteen digits may be determined as the order information. have. Even when characters or symbols are included in the information to be encrypted, the order may be determined in advance so that they may be arranged in a predetermined order, and some of them may be determined as order information.
이와 같이 순서 정보와 내용 정보가 결정된 후에, 가변 코드 암호화부(720)는 순서 정보를 가변코드 암호화한다(도 1의 S130 참조). 이와 같이 가변코드 암호화된 정보는 정열 순서를 알 수 있게 하는 인덱싱 정보가 된다. After the order information and the content information are determined as described above, the variable code encryption unit 720 performs variable code encryption on the order information (see S130 of FIG. 1). In this way, the variable-code encrypted information becomes indexing information that enables the sort order to be known.
가변코드 암호화 방식은 ASCII 코드 체계 상의 코드들에 기초한 데이터 변환 방식이다. 예를 들어, 가변코드 암호화 방식은 ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블(도 4 참조)에 기초하여 위와 같은 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 방식이다. Variable code encryption is a data conversion method based on codes on the ASCII code system. For example, the variable code encryption method uses each element of the above sequence information (number, letter, or symbol) based on a G-table (see FIG. 4) that divides codes on the ASCII code system into a plurality of ordered groups. Is converted into a value corresponding to a corresponding code belonging to any one group among a plurality of groups.
가변 코드 암호화부(720)의 G-테이블 데이터베이스(721)은 ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블(도 4 참조)을 저장 관리할 수 있다. 이와 같은 가변코드 암호화의 방식에 이용되는 ASCII 코드 체계 상의 코드들은 256가지의 코드 체계를 가지며, 본 발명에서 도 4의 G-테이블과 같이, 순서가 있는 복수의 그룹으로 구분된다. 도 4와 같이, 암호화될 순서 정보의 요소인 숫자 0은 ASCII 코드 상의 헥사값 21(출력 심볼 '!') 내지 28(출력 심볼 '(')로 이루어지는 그룹에 속하는 해당 코드에 대응되는 값으로 변환될 수 있다. 마찬가지로, 도 4와 같이, 암호화될 순서 정보의 요소인 숫자 1은 ASCII 코드 상의 헥사값 29(출력 심볼 ')') 내지 35출력 심볼 '5')로 이루어지는 그룹에 속하는 해당 코드에 대응되는 값으로 변환될 수 있다. 같은 방법으로 순서 정보의 요소가 되는 다른 아라비아 숫자 2~9도 도 4의 G-테이블과 같이 해당 헥사값으로 변환될 수 있다. The G-table database 721 of the variable code encryption unit 720 may store and manage a G-table (see FIG. 4) that divides codes on an ASCII code system into a plurality of groups in order. Codes on the ASCII code system used for such a variable code encryption method have 256 code systems, and are divided into a plurality of ordered groups, such as the G-table of FIG. 4. As shown in Fig. 4, the number 0, which is an element of the order information to be encrypted, is converted into a value corresponding to a corresponding code belonging to a group consisting of hexadecimal values 21 (output symbols '!') To 28 (output symbols '(') on the ASCII code. Similarly, as shown in Fig. 4, the number 1, an element of the order information to be encrypted, is assigned to a corresponding code belonging to a group consisting of hexadecimal value 29 (output symbol ')' to 35 output symbol '5') on an ASCII code. Can be converted to the corresponding value. In the same manner, other Arabic numerals 2 to 9, which are elements of the order information, can be converted into corresponding hexa values as in the G-table of FIG.
S-테이블 생성부(722)는 사용자 단말 등으로부터 입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블(도 5 참조)을 생성하여 S-테이블 데이터베이스(723)에 저장하고 관리할 수 있으며, 이와 같은 해당 S-테이블에 기초하여 가변 코드 암호화부(720)는 해당 순서 정보의 각 요소를 변환한다.The S-table generating unit 722 corresponds to an S-table in which codes of different groups among the plurality of groups are mapped to one another in accordance with the S-key input from a user terminal or the like. 5) may be generated, stored and managed in the S-table database 723, and the variable code encryption unit 720 converts each element of the corresponding order information based on the corresponding S-table.
예를 들어, 도 3과 같이, 암호화 대상 정보인 주민등록번호 600511-1690413의 순서 정보인 7자리 숫자 6005111은, 도 4와 같은 G-테이블을 기초로 생성된 도 5와 같은 S-테이블에 따라 65 21 21 5A 2B 2B 2B 로 변환될 수 있다. For example, as shown in FIG. 3, the seven-digit number 6005111, which is the sequence information of the social security number 600511-1690413, which is the encryption target information, is set according to the S-table shown in FIG. 5 based on the G-table shown in FIG. 21 5A 2B 2B 2B
즉, 입력된 S-키가 1인 경우에 도 5와 같이 숫자 0은 헥사값 21로 변환될 수 있다. 또한, 숫자 1은 헥사값 2B로 변환될 수 있다. 같은 방법으로 순서 정보의 요소가 되는 다른 아라비아 숫자 2~9도 해당 헥사값으로 변환될 수 있다. In other words, when the input S-key is 1, the number 0 may be converted to the hexa value 21 as shown in FIG. 5. In addition, the number 1 may be converted to the hexadecimal value 2B. In the same way, other Arabic numerals 2-9, which are elements of the order information, can be converted to the corresponding hexa value.
위의 예에서 이와 같은 방식에 따라 순서 정보인 7자리 숫자 6005111은, 입력된 S-키가 1인 경우에 65 21 21 5A 2B 2B 2B 로 변환될 수 있으며, 입력되는 S-키에 따라 다른 값으로 변환될 수도 있다. 도 6은 도 5의 헥사값에 대응되는 ASCII 코드 체계 상의 출력 심볼(사용자 단말에 표시되는 심볼)을 나타낸다. According to the above example, the seven-digit number 6005111, which is the order information, can be converted to 65 21 21 5A 2B 2B 2B when the input S-key is 1, and the value differs depending on the input S-key. May be converted to. FIG. 6 shows output symbols (symbols displayed on the user terminal) on the ASCII code system corresponding to the hexa value of FIG. 5.
예를 들어, 입력된 S-키가 3인 경우에, S-테이블 생성부(722)는 도 5의 S-테이블과 같이 해당 S-키에 대하여 ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시키되 S-키가 1인 경우와는 다른 값으로 대응시킨 S-테이블(도 5 참조)을 생성하여 S-테이블 데이터베이스(723)에 저장하고 관리할 수 있다. 다른 S-키(1~13 중 하나)에 대하여 S-테이블 생성부(722)는 유사한 방법으로 해당 S-테이블 값을 데이터베이스(723)에 저장하고 관리하며, 이에 기초하여 가변 코드 암호화부(720)는 해당 순서 정보의 각 요소를 변환한다. 예를 들어, 입력된 S-키가 3인 경우에, 도 2의 220과 같이, 암호화 대상 정보 571110-1017817 중 7자리 순서 정보 5711101은 5F6F2F2F2F282F로 변환될 수 있다. For example, when the input S-key is 3, the S-table generation unit 722, as shown in the S-table of Fig. 5, a plurality of groups in which the codes on the ASCII code system are ordered for the corresponding S-keys. Each of the codes of different groups may be generated one by one, but may be stored in the S-table database 723 and stored in the S-table database 723. For other S-keys (one of 1 to 13), the S-table generator 722 stores and manages the corresponding S-table values in the database 723 in a similar manner, and based on this, the variable code encryption unit 720 ) Converts each element of the corresponding order information. For example, when the input S-key is 3, as shown in 220 of FIG. 2, the seven-digit sequence information 5711101 of the encryption target information 571110-1017817 may be converted into 5F6F2F2F2F282F.
이와 같이 각 암호화 시마다 다르게 입력될 수 있는 S-키는 해킹방지에 더욱 유용하게 활용될 수 있으며, 도 2의 220과 같이, S-키의 변경에 따라 암호화된 인덱싱 정보가 다를 수 있지만 정열 순서는 동일하게 유지될 수 있다. 즉, 도 5와 같이 S-키를 1~13 중(경우에 따라서는 더 큰 수가 될 수 있음) 어느 하나로 입력받더라도 순서 정보의 가변코드 암호화에 따른 암호화된 정보는 정열 순서를 알 수 있는 인덱싱 정보가 될 수 있다. As such, the S-key, which may be input differently at each encryption time, may be more usefully used to prevent hacking. As shown in 220 of FIG. 2, the encrypted indexing information may be different according to the change of the S-key, but the order of sorting is different. Can remain the same. That is, even if the S-key is input to any one of 1 to 13 (which may be a larger number in some cases) as shown in FIG. 5, the indexed information for which the encrypted information according to the variable code encryption of the order information can know the sort order. Can be
여기서 S-키를 입력받는 경우를 예시하였으나 이에 한정되지 않으며, 가변 코드 암호화부(720)는 순서 정보를 소정 값으로 나눈 나머지나 몫을 S-키로 사용할 수 있고, 경우에 따라서는 순서 정보의 각 요소에 소정 가중치를 부여한 후 나눈 나머지나 몫을 S-키로 사용할 수도 있다. Here, the case of receiving the S-key is exemplified, but is not limited thereto. The variable code encryption unit 720 may use the remainder or the quotient obtained by dividing the order information by a predetermined value as the S-key. The remaining division or quotient after giving a predetermined weight to the element can also be used as the S-key.
한편, 일방향 암호화부(730)는 위와 같이 암호화 대상 정보로부터 분리된 순서 정보를 안전 해쉬 알고리즘(Secure Hash Algorithm)과 같은 일방향 암호화 방식에 따라 암호화한다. 도 3에는 순서 정보인 7자리 숫자 6005111에 대한 안전 해쉬 알고리즘의 암호화 결과값을 예시하였으며, 이와 같은 안전 해쉬 알고리즘에 따라 순서정보가 암호화되면 해당 암호화된 결과값으로는 인덱싱과 무관하여 그 정열 순서를 알 수 없게 된다. 안전 해쉬 알고리즘은 소정 해쉬(hash) 함수를 이용하여 해쉬값을 산출하는 방식으로서 이에 대한 알고리즘은 기 공개된 자료를 바탕으로 습득이 가능하므로 여기서는 상세한 설명을 생략한다. Meanwhile, the one-way encryption unit 730 encrypts the sequence information separated from the encryption target information as described above according to a one-way encryption method such as a secure hash algorithm. 3 illustrates an example of the encryption result of the secure hash algorithm for the seven-digit number 6005111, which is the sequence information. When the sequence information is encrypted according to the secure hash algorithm, the encrypted sequence results the sort order regardless of indexing. You won't know. The secure hash algorithm is a method of calculating a hash value using a predetermined hash function. Since the algorithm can be acquired based on published data, a detailed description thereof will be omitted.
결합부(740)는 위와 같이 안전 해쉬 알고리즘에 따라 암호화한 결과값의 일부, 예를 들어, 위의 예에서 앞단의 7자리 헥사값(33353931616633)을 S130 단계에서 가변코드 암호화 방식으로 암호화된 결과값(6521215A2B2B2B)으로 대체하여 도 3과 같이 암호화된 순서 정보를 생성하게 된다(도 1의 S150, S160 참조). The combiner 740 is a part of the result of encryption according to the secure hash algorithm as described above, for example, the result of the seven-digit hexadecimal value (33353931616633) encrypted by the variable code encryption method in step S130 in the above example. Substituted by (6521215A2B2B2B) generates encrypted sequence information as shown in FIG. 3 (see S150 and S160 of FIG. 1).
한편, 정보 분리부(710)가 암호화 대상 정보의 전체를 내용 정보로 결정하면, ARIA 암호화부(750)는 해당 내용 정보를 국가표준암호논리(ARIA) 기초한 암호화 방식에 따라 암호화한다(도 1의 S170 참조). 내용 정보는 위에서도 기술한 바와 같이 주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호 등 아라비아 숫자(0~9)로 구성된 개인 정보일 수 있으나, 경우에 따라서는 숫자뿐만아니라 문자나 기호도 포함될 수 있고, 위와 같은 수치 정보에 문자나 기호가 더 추가된 다른 정보를 더 포함할 수도 있다.On the other hand, when the information separation unit 710 determines the entirety of the information to be encrypted as the content information, the ARIA encryption unit 750 encrypts the content information according to the encryption method based on the National Standard Encryption Logic (ARIA) (FIG. 1). See S170). As described above, the content information may be personal information consisting of Arabic numerals (0-9), such as a social security number, a credit card number, or an account number of a financial institution, but in some cases, may include letters or symbols as well as numbers. The above numerical information may further include other information with additional characters or symbols.
도 3에는 위에서 예를 든 주민등록번호 600511-1690413에 대한 내용 정보인 13자리 숫자 6005111690413에 대한 국가표준암호논리(ARIA)에 따라 암호화된 내용 정보를 예시하였으며, 이와 같은 국가표준암호논리(ARIA)에 따라 내용 정보가 암호화되면 해당 암호화된 결과값으로는 인덱싱과 무관하여 그 정열 순서를 알 수 없게 된다. 국가표준암호논리(ARIA)에 기초한 암호화 방식은 대한민국표준암호화 방식으로 채택된 암호화 방식으로서 128비트 블록 암호 알고리즘이라고도 한다. 국가표준암호논리(ARIA)에 대한 알고리즘은 기 공개된 자료를 바탕으로 습득이 가능하므로 여기서는 상세한 설명을 생략한다. FIG. 3 exemplifies contents information encoded according to the National Standard Encryption Logic (ARIA) for the 13-digit number 6005111690413, which is the information on the Resident Registration No. 600511-1690413, and according to the National Standard Encryption Logic (ARIA). When the content information is encrypted, the encrypted result does not know the sort order regardless of indexing. The encryption method based on the National Standard Encryption Logic (ARIA) is an encryption method adopted as the Korean standard encryption method and is also called a 128-bit block encryption algorithm. Algorithms for the National Standard Cryptography Logic (ARIA) can be acquired based on published data, so detailed descriptions are omitted here.
위와 같이, 결합부(740)에서 암호화된 순서정보가 생성되고, ARIA 암호화부(750)에서 암호화된 내용 정보가 생성되면, 저장부(160)는 암호화된 순서 정보에 대응시켜 암호화된 내용 정보를 데이터베이스(861)에 저장할 수 있다. As described above, when the encrypted order information is generated in the combiner 740 and the encrypted content information is generated in the ARIA encrypting unit 750, the storage unit 160 stores the encrypted content information in correspondence with the encrypted order information. In the database 861.
예를 들어, 도 2의 220과 같이, 여러가지 암호화 대상 정보(예를 들어, 주민등록번호)가 도 1과 같은 본 발명의 방법에 따라 암호화되어 데이터베이스에 저장관리 될 수 있다. 예를 들어, 결합부(740)가 안전 해쉬 알고리즘에 따라 암호화한 결과값의 일부, 즉, 앞단의 7자리 헥사값(33353931616633)을 가변코드 암호화 방식으로 암호화된 결과값(6521215A2B2B2B)으로 대체하여 생성한 암호화된 순서 정보와 ARIA 암호화부(750)가 생성한 암호화된 내용 정보가 대응되어(또는 덧붙어서) 데이터베이스(761) 저장 관리될 수 있다. For example, as shown in 220 of FIG. 2, various encryption target information (for example, a social security number) may be encrypted and stored in a database according to the method of the present invention as shown in FIG. 1. For example, the combiner 740 generates a part of the result value encrypted according to the secure hash algorithm, that is, replaces the first 7 hexadecimal value (33353931616633) with the result code (6521215A2B2B2B) encrypted by the variable code encryption method. The encrypted order information and the encrypted content information generated by the ARIA encryption unit 750 may correspond to (or in addition to) store and manage the database 761.
도 9는 본 발명의 다른 실시예에 따른 암호화 방법을 설명하기 위한 흐름도이다. 도 9에서, S210 내지 S290의 각 단계가 수행되는 과정은 도 7과 유사하며, 이외에 S300과 S310의 단계가 추가되었다. 9 is a flowchart illustrating an encryption method according to another embodiment of the present invention. In FIG. 9, a process in which each step of S210 to S290 is performed is similar to that of FIG. 7, in addition to the steps of S300 and S310.
예를 들어, 도 7의 불가해 방정식 암호화부(725)는 위와 같은 암호화 대상 정보에 포함된 순서 정보와 내용 정보 중 순서 정보를 [수학식 1]과 같은 5차 이상의 수학식을 포함한 함수를 이용하여 순서 정보의 각 요소를 변환하여 암호화할 수 있다(S300). 수학자 아벨(Abel)은 5차 이상의 방정식에 대하여 대수적으로 근을 구할 수 없음을 증명하였고, 본 발명에서는 이와 같이 5차 이상의 방정식이 불가해 방정식이라는 점에 착안하여 5차 이상의 함수를 이용하여 순서 정보를 암호화함으로써 해커의 공격에 대비한 안전성을 갖도록 하였다. [수학식 1]에서 변수 a~k는 실수 등의 상수이다. For example, the incomprehensible equation encrypting unit 725 of FIG. 7 uses a function including order equations among the order information and the content information included in the above encryption target information as shown in Equation 1 above. Each element of the sequence information can be converted and encrypted (S300). Mathematician Abel proved that the root can not be found algebraically on equations of 5th or higher order. By encrypting it, it has security against hacker attacks. In Equation 1, variables a to k are constants such as real numbers.
여기서, [수학식 1]은 5차 함수의 일례를 나타내었으며, 경우에 따라 불가해 방정식 암호화부(725)는 다양한 5차 함수, 또는 6차, 7차.. 등 5차 이상의 수학식을 포함한 함수 F(x)를 이용하여 순서 정보의 각 요소를 변환할 수 있다.Here, Equation 1 shows an example of a fifth-order function, and in some cases, it is not possible. The equation encryptor 725 includes various fifth-order functions, or sixth or seventh order equations such as fifth or more equations. Each element of the order information can be converted using the function F (x).
[수학식 1][Equation 1]
F(x) = (a*x*f(x4)-b)/cF (x) = (a * x * f (x4) -b) / c
f(x4) = (d*x*f(x3)-e)/cf (x4) = (d * x * f (x3) -e) / c
f(x3) = (f*x*f(x2)-g)/cf (x3) = (f * x * f (x2) -g) / c
f(x2) = (h*x*f(x1)-i)/cf (x2) = (h * x * f (x1) -i) / c
f(x1) = (j*x-k)/cf (x1) = (j * x-k) / c
예를 들어, 도 11과 같이, 불가해 방정식 암호화부(725)는 [수학식 1]과 같은 5차 함수를 이용하여 주민등록번호 등에 포함된 순서 정보를 x에 대입하여 변환할 수 있다. 이때에도 도 11과 같이 정열 순서가 유지되므로 인덱싱 정보로 이용할 수 있게 된다. 다만, 함수 F(x)를 이용하여 변환된 암호화 결과값은 도 11과 같이 매우 큰 수를 가지므로, 불가해 방정식 암호화부(725)는 5차 함수에 의하여 암호화된 수를 자연로그(ln) 등 초월함수로 처리하여 암호화된 수가 작은 값을 유지하도록 할 수 있다(S310). For example, as shown in FIG. 11, the incomprehensible equation encrypting unit 725 may convert order information included in the resident registration number into x by using a fifth-order function such as [Equation 1]. In this case, since the alignment order is maintained as shown in FIG. 11, the indexing information can be used as indexing information. However, since the result of encryption converted using the function F (x) has a very large number as shown in FIG. 11, the inconsistency equation encryption unit 725 is a natural log (ln). The transcendental function may be processed to maintain a small value of the encrypted number (S310).
이에 따라, S250 단계에서, 결합부(740)는 위와 같이 일방향 암호화부(730)에 의해 암호화된 결과값의 일부를 가변 코드 암호화부(720)에 의한 암호화된 결과값으로 대체할 수도 있지만, 일방향 암호화부(730)에 의해 암호화된 결과값의 일부를 불가해 방정식 암호화부(725)에 의해 암호화된 결과값으로 대체할 수도 있게 된다. 다만, 이에 한정되는 것은 아니며, 결합부(740)는 경우에 따라서 일방향 암호화부(730)에 의해 암호화된 결과값의 일부를, 가변 코드 암호화부(720)에 의한 암호화된 결과값, 또는 불가해 방정식 암호화부(725)에 의해 암호화된 결과값의 조합으로 대체할 수도 있다. 예를 들어, 결합부(740)는 위와 같이 일방향 암호화부(730)에 의해 암호화된 결과값의 일부 중 다시 일부를 가변 코드 암호화부(720)에 의한 암호화된 결과값으로 대체하고, 그 중 다른 일부를 불가해 방정식 암호화부(725)에 의해 암호화된 결과값으로 대체가 가능하다. 또한, 경우에 따라서는 결합부(740)는 위와 같이 일방향 암호화부(730)에 의해 암호화된 결과값의 일부를 다른 암호화 결과값으로 대체하지 않을 수도 있으며, 이때에는 일방향 암호화부(730)에 의해 암호화된 결과값 자체가 저장부(160)에 암호화된 내용 정보와 함께 저장되는 암호화된 순서 정보가 될 수도 있다. 도 11은 본 발명의 일실시예에 따른 암호화 장치(700)가 네트워크에 연결된 자료관리서버에서 실현되는 예시를 설명하는 도면이다.Accordingly, in operation S250, the combiner 740 may replace a portion of the result value encrypted by the one-way encryption unit 730 with the result encrypted by the variable code encryption unit 720, but in one direction. A part of the result value encrypted by the encryption unit 730 may not be replaced by the result value encrypted by the equation encryption unit 725. However, the present invention is not limited thereto, and the coupling unit 740 may partially encrypt the result value encrypted by the one-way encryption unit 730 in some cases, or may not be encrypted. The combination of result values encrypted by the equation encrypting unit 725 may be substituted. For example, the combiner 740 replaces a part of the result value encrypted by the one-way encryption unit 730 with the result encrypted by the variable code encryption unit 720 as above, and the other It is impossible to replace a part with a result value encrypted by the equation encrypting unit 725. In addition, in some cases, the combiner 740 may not replace a part of the result value encrypted by the one-way encryption unit 730 with another encryption result value as described above, and in this case, the one-way encryption unit 730 The encrypted result value itself may be encrypted order information stored together with the encrypted content information in the storage unit 160. 11 is a view for explaining an example in which the encryption apparatus 700 according to an embodiment of the present invention is realized in a data management server connected to a network.
예를 들어, 자료관리서버는 네트워크를 통하여 사용자 단말로부터 수신되는 자료를 암호화 장치(700)를 이용하여 암호화하여 저장하고 관리할 수 있으며, 사용자 단말로부터의 자료 요청에 대하여 암호화 장치(700)의 데이터베이스(761)에 저장된 암호화된 정보에서 검색하여 검색 결과를 사용자 단말로 제공할 수 있다.For example, the data management server may encrypt and store the data received from the user terminal through the network using the encryption apparatus 700, and the database of the encryption apparatus 700 for the data request from the user terminal. The search result may be searched in the encrypted information stored at 761 and the search result may be provided to the user terminal.
여기서 네트워크는 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망 일 수도 있며, LAN이나 기타 전용망일 수도 있다. 사용자 단말은 데스크탑 PC, 노트북 PC 등 컴퓨터인 것이 일반적이지만, 이에 한정되는 것은 아니며 네트워크를 통하여 자료관리서버로 자료를 전송하거나 자료관리서버에 필요한 자료를 요청할 수 있는 양방향성 서비스를 이용할 수 있는 모든 종류의 유무선 통신 장치일 수 있다. 예를 들어, 사용자 단말은 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: Personal Communications Services phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000) 등 이동 단말을 포함하고, 이외에도 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA:Personal Digital Assistant), 스마트폰(Smart phone), 왑폰(WAP phone:Wireless application protocol phone), 모바일 게임기(mobile play-station) 등 자료관리서버에 접속하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 장치를 포괄적으로 의미할 수 있다. The network may be a wired or wireless Internet, or may be a core network integrated with a wired public network, a wireless mobile communication network, or a portable Internet, or may be a LAN or other dedicated network. The user terminal is generally a computer such as a desktop PC or a notebook PC, but is not limited thereto. Any kind of interactive service that can transmit data to the data management server or request data from the data management server through a network can be used. It may be a wired or wireless communication device. For example, the user terminal may be a cellular phone, a PCS phone (Personal Communications Services phone), a synchronous / asynchronous IMT-2000 (International Mobile Telecommunication-2000), or the like that communicates through a wireless Internet or a portable Internet. Including a mobile terminal, in addition to a Palm Personal Computer (PDA), a Personal Digital Assistant (PDA), a Smartphone (Smart phone), a WAP phone (Wireless application protocol phone), a mobile game machine (mobile play- All wired and wireless consumer electronics / communication devices with a user interface for accessing a data management server, such as a station, may be inclusively referred to.
이러한 네트워크를 통하여 온라인 상에서 자료를 암호화하여 저장 관리하며 검색 결과를 제공할 수 있는 자료관리서버는, 네트워크를 통하여 사용자 단말로부터 자료를 수신하면 암호화 장치(700)를 이용하여 수신된 자료이거나 또는 수신된 일부 자료인 암호화 대상 정보로부터 S110(또는 S210) 단계와 같이 분리한 순서 정보와 상기 암호화 대상 정보 전체인 내용 정보를 각각 서로 다른 방식으로 암호화하여 결합하되(S130, S140, S160 참조, 또는 S230, S300, S310, S240, S260, 참조), 해당 순서 정보를 암호화한 정보가 인덱싱 정보로 포함되도록 암호화하여 데이터베이스(761)에 저장하고 관리할 수 있다.The data management server capable of encrypting, storing, and managing data online through such a network and providing search results may be data received using the encryption apparatus 700 when received from a user terminal through the network. The sequence information separated from the encryption target information, which is some data as in step S110 (or S210), and the content information which is the entire encryption target information are encrypted and combined in different ways, respectively (see S130, S140, S160, or S230, S300). , S310, S240, S260), and the encrypted information may be stored and managed in the database 761 so that the encrypted information is included as indexing information.
이와 같이 데이터베이스(761)에 관리되는 암호화된 정보에는 도 2의 220과 같이 앞단에 정열 순서를 알수 있는 인덱싱 정보(순서 정보를 가변코드 암호화한 정보)가 있으므로 이를 토대로 자료 관리 서버에서는 자료의 소팅(sorting)이 가능하게 된다. 이에 따라, 사용자 단말로부터 자료 요청이 있는 경우에, 자료 관리 서버에서는 데이터베이스(761)에 암호화되어 저장된 각 최종 정보의 소팅 정보로부터 인덱싱 정보를 토대로 신속하게 검색하여 해당 검색 결과를 제공할 수 있게 된다.As such, the encrypted information managed in the database 761 includes indexing information (a variable code encrypted information of the order information) at the front as shown in 220 of FIG. sorting) is enabled. Accordingly, when there is a request for data from the user terminal, the data management server can quickly search based on the indexing information from the sorting information of each final information encrypted and stored in the database 761 and provide the corresponding search result.
기존에는, 안전 해쉬 알고리즘(Secure Hash Algorithm) 또는 국가표준암호논리(ARIA) 등과 같은 암호화 방식에 따라 자료를 암호화하는 경우에, 자료를 암호화한 후에는 인덱스 정보가 사라져 암호화된 자료에서 필요 자료를 검색하는 경우에는 데이터베이스에 저장 관리되는 암호화된 자료 전체를 서칭해야하는 어려움이 있었다.Conventionally, when encrypting data according to an encryption method such as Secure Hash Algorithm or National Standard Encryption Logic (ARIA), after encrypting the data, index information disappears to search for the necessary data in the encrypted data. In this case, it was difficult to search the entire encrypted data stored in the database.
그러나, 본 발명에서는 순서 정보를 가변코드 암호화한 정보, 또는 5차 이상의 수학식을 포함한 함수를 이용하여 암호화한 정보는 인덱싱 정보가 되도록 하였고, 도 2의 220과 같이 암호화된 정보의 헥사값의 앞단에 해당 가변코드 암호화한 정보 또는 5차 이상의 수학식을 포함한 함수를 이용하여 암호화한 정보(인덱싱 정보)가 포함되도록 함으로써, 인덱싱 정보에 따른 정열 순서를 유지할 수 있으므로, 자료 관리 서버에서는 데이터베이스(761)에서 요청 자료를 신속하게 검색할 수 있다. However, in the present invention, the variable information is encrypted using sequence code information, or the information encrypted using a function including a fifth or higher equation is indexing information, and the hexadecimal value of the encrypted information as shown in FIG. In order to maintain the sorting order according to the indexing information by including the variable code encrypted information or the information (indexing information) encrypted using a function including a fifth order or higher equation, the data management server may use the database 761. You can quickly search for requested material at.
예를 들어, 도 2의 220과 같이, 암호화되어 저장된 데이터들 중에서, 자료 관리 서버에서 주민등록번호600511-1690412를 검색하는 경우에, 이는 정열 순서 상 3번 보다 앞서므로 정열 순서 1,2,3번 까지 검색하여 해당 자료가 검색되지 않으면 해당 자료는 없는 것으로 판단할 수 있고, 그 이하의 정열 순서 4,5..에 대하여는 검색을 수행하지 않을 수 있다.For example, as shown in 220 of FIG. 2, in the case of searching for the resident registration number 600511-1690412 in the data management server among the encrypted and stored data, this is earlier than three times in the alignment order, so that up to the alignment order 1,2,3 times. If the relevant data is not found by searching, it can be judged that there is no corresponding data, and the search can not be performed for the order 4,5 .. below.
본 명세서에서 개시된 방법 및 장치에서 사용되는 기능은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치, 하드 디스크, 이동형 저장장치 등이 있으며 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The functions used in the methods and apparatus disclosed herein can be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, hard disks, removable storage devices, and also carrier waves (for example, transmission over the Internet). It also includes the implementation in the form of. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

Claims (18)

  1. 자료 암호화 수단에서 자료를 암호화하는 방법에 있어서,In the method of encrypting data in the data encryption means,
    암호화 대상 정보의 일부를 분리하여 순서 정보를 결정하는 단계;Determining order information by separating a part of the encryption target information;
    상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 부분을 내용 정보로 결정하는 단계;Determining a portion of the encryption target information including the remaining information from which the order information is separated as content information;
    상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제1 암호화하는 단계;First encrypting the encryption information of the order information to be indexing information;
    상기 순서 정보를 인덱싱과 무관하게 제2 암호화하는 단계;Encrypting the order information independently of indexing;
    상기 내용 정보를 인덱싱과 무관하게 상기 제2 암호화와 다른 방식으로 제3 암호화하여 암호화된 내용 정보를 생성하는 단계;Generating encrypted content information by third encrypting the content information in a different manner from the second encryption regardless of indexing;
    상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값으로 대체하여 암호화된 순서 정보를 생성하는 단계; 및Generating encrypted order information by replacing a part of the result value of the second encryption with the result value of the first encryption; And
    상기 암호화된 순서 정보에 대응시켜 상기 암호화된 내용 정보를 저장 수단에 저장하는 단계Storing the encrypted content information in a storage means in correspondence with the encrypted order information.
    를 포함하는 것을 특징으로 하는 암호화 방법.Encryption method comprising a.
  2. 제1항에 있어서, 상기 제1 암호화의 방식은,The method of claim 1, wherein the first encryption method is
    ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 방식인 것을 특징으로 하는 암호화 방법.Based on a G-table that divides codes in the ASCII code system into a plurality of ordered groups, each element (number, letter, or symbol) of the order information is assigned to a corresponding code belonging to any one of the plurality of groups. Encryption method characterized in that the conversion to the corresponding value.
  3. 제2항에 있어서, The method of claim 2,
    입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블을 생성하고, 상기 S-테이블에 기초하여 상기 순서 정보의 각 요소를 변환하는 것을 특징으로 하는 암호화 방법.Generates an S-table in which codes of different groups of the plurality of groups are mapped one by one with respect to different elements included in the order information according to the input S-key, and based on the S-table, An encryption method characterized by converting each element.
  4. 제1항에 있어서, 상기 암호화 대상 정보는,The method of claim 1, wherein the encryption target information,
    주민등록번호, 신용카드번호, 또는 금융기관의 계좌번호를 포함하는 것을 특징으로 하는 암호화 방법.An encryption method comprising a social security number, a credit card number, or an account number of a financial institution.
  5. 제1항에 있어서, 상기 제2 암호화의 방식은,The method of claim 1, wherein the second encryption method is
    일방향 암호화 방식에 기초한 방식인 것을 특징으로 하는 암호화 방법.An encryption method, which is a method based on a one-way encryption method.
  6. 제5항에 있어서, 상기 일방향 암호화 방식은 안전 해쉬 알고리즘(Secure Hash Algorithm)에 기초한 방식을 포함하는 것을 특징으로 하는 암호화 방법.6. The encryption method of claim 5, wherein the one-way encryption method includes a method based on a secure hash algorithm.
  7. 제1항에 있어서, 상기 제3 암호화의 방식은,The method of claim 1, wherein the third encryption method,
    국가표준암호논리(ARIA)에 기초한 방식인 것을 특징으로 하는 암호화 방법.An encryption method characterized by a method based on National Standard Encryption Logic (ARIA).
  8. 제1항에 있어서, The method of claim 1,
    상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제4 암호화하는 단계; 및Fourth encryption so that the encryption information of the order information becomes indexing information; And
    상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값 또는 상기 제4 암호화의 결과값의 조합으로 대체하여 상기 암호화된 순서 정보를 생성하는 단계Generating the encrypted order information by replacing a part of the result value of the second encryption with a combination of the result value of the first encryption or the result value of the fourth encryption;
    를 포함하는 것을 특징으로 하는 암호화 방법.Encryption method comprising a.
  9. 제8항에 있어서, 상기 제4 암호화의 방식은,The method of claim 8, wherein the fourth encryption method,
    5차 이상의 수학식을 포함한 함수를 이용하여 상기 순서 정보를 변환하는 것을 특징으로 하는 암호화 방법.And encrypting the order information by using a function including a fifth or higher equation.
  10. 자료 암호화 수단에서 자료를 암호화하는 방법에 있어서,In the method of encrypting data in the data encryption means,
    암호화 대상 정보로부터 분리한 순서 정보와, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 내용 정보를 각각 서로 다른 방식으로 암호화하여 결합하되, The sequence information separated from the encryption target information and the content information including the remaining information from which the sequence information is separated among the encryption target information are encrypted and combined in different ways, respectively.
    상기 순서 정보를 암호화한 정보가 인덱싱 정보로 포함되도록 암호화하여 데이터베이스에 저장하고 관리하는 것을 특징으로 하는 암호화 방법.And encrypting the sequence information so that the encrypted information is included as indexing information, and storing the information in the database.
  11. 제10항에 있어서,The method of claim 10,
    상기 순서 정보를 암호화한 정보는, The information which encrypted the said sequence information is,
    일방향 암호화 방식, One-way encryption,
    5차 이상의 수학식을 포함한 함수를 이용한 암호화 방식, 또는 Encryption method using a function containing 5th or more mathematical expressions, or
    ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 암호화 방식An encryption scheme for converting each element of the order information into a value corresponding to a corresponding code belonging to any one of the plurality of groups based on a G-table that divides codes on the ASCII code system into a plurality of ordered groups.
    을 조합하여 암호화한 정보를 포함하는 것을 특징으로 하는 암호화 방법.And encrypting the combined information.
  12.         제1항 내지 제11항 중 어느 한 항의 방법을 수행하기 위한 컴퓨터로 판독 가능한 프로그램을 기록한 기록 매체. A recording medium having recorded thereon a computer readable program for performing the method of any one of claims 1 to 11.
  13. 암호화 대상 정보의 일부를 분리하여 순서 정보를 결정하며, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 부분을 내용 정보로 결정하는 정보 분리 수단;Information separation means for separating a portion of the encryption target information to determine order information, and determining a portion including the remaining information from which the sequence information is separated among the encryption target information as content information;
    상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제1 암호화하는 제1 암호화 수단;First encryption means for first encrypting the encryption information of the order information to be indexing information;
    상기 순서 정보를 인덱싱과 무관하게 제2 암호화하는 제2 암호화 수단; Second encryption means for secondly encrypting the order information regardless of indexing;
    상기 내용 정보를 인덱싱과 무관하게 상기 제2 암호화와 다른 방식으로 제3 암호화하여 암호화된 내용 정보를 생성하는 제3 암호화 수단; Third encryption means for generating third encrypted content information by encrypting the content information in a manner different from the second encryption regardless of indexing;
    상기 제2 암호화 결과값의 일부를 상기 제1 암호화 결과값으로 대체하여 암호화된 순서 정보를 생성하는 결합 수단; 및Combining means for generating encrypted order information by replacing part of the second encryption result with the first encryption result; And
    상기 암호화된 순서 정보에 대응시켜 상기 암호화된 내용 정보를 저장 수단에 저장하는 저장 수단Storage means for storing the encrypted content information in a storage means in correspondence with the encrypted order information;
    를 포함하는 것을 특징으로 하는 암호화 장치.Encryption apparatus comprising a.
  14. 제13항에 있어서, 상기 제1 암호화 수단은,The method of claim 13, wherein the first encryption means,
    ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소(숫자, 문자, 또는 기호)를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 것을 특징으로 하는 암호화 장치.Based on a G-table that divides codes on the ASCII code system into a plurality of ordered groups, each element (number, letter, or symbol) of the order information is assigned to a corresponding code belonging to any one of the plurality of groups. Encryption apparatus, characterized in that for converting to a corresponding value.
  15. 제14항에 있어서, 상기 제1 암호화 수단은,The method of claim 14, wherein the first encryption means,
    입력되는 S-키에 따라 상기 순서 정보에 포함되는 서로 다른 요소에 대하여 상기 복수의 그룹 중 서로 다른 그룹의 코드를 하나씩 대응시킨 S-테이블을 생성하고, 상기 S-테이블에 기초하여 상기 순서 정보의 각 요소를 변환하는 것을 특징으로 하는 암호화 장치.Generates an S-table in which codes of different groups among the plurality of groups are mapped one by one with respect to different elements included in the order information according to the input S-key, and based on the S-table, An encryption device characterized by converting each element.
  16. 제13항에 있어서, The method of claim 13,
    상기 순서 정보의 암호화 정보가 인덱싱 정보가 되도록 제4 암호화하는 제4암호화 수단을 더 포함하고,Fourth encryption means for fourth encryption so that the encryption information of the order information is indexing information,
    상기 결합 수단은 상기 제2 암호화의 결과값의 일부를 상기 제1 암호화의 결과값 또는 상기 제4 암호화의 결과값의 조합으로 대체하여 상기 암호화된 순서 정보를 생성하는 것을 특징으로 하는 암호화 장치.And the combining means generates the encrypted order information by replacing a part of the result value of the second encryption with a combination of the result value of the first encryption or the result value of the fourth encryption.
  17. 사용자 단말로부터 수신되는 자료를 암호화하여 저장하고 관리하는 자료 관리 서버에 있어서,In the data management server to encrypt and store the data received from the user terminal,
    상기 자료 중 암호화 대상 정보로부터 분리한 순서 정보와, 상기 암호화 대상 정보 중 상기 순서 정보가 분리된 나머지 정보를 포함하는 내용 정보를 각각 서로 다른 방식으로 암호화하여 결합하되, 상기 순서 정보를 암호화한 정보가 인덱싱 정보로 포함되도록 암호화하여 데이터베이스에 저장하고 관리하는 암호화 장치를 포함하고,The sequence information separated from the encryption target information among the data and the content information including the remaining information from which the sequence information is separated among the encryption target information are encrypted and combined in different ways, respectively. An encryption device that encrypts to be included as indexing information, stores it in a database, and manages it;
    상기 사용자 단말로부터의 자료 요청에 대하여 상기 데이터베이스에 저장된 암호화된 정보에서 상기 인덱싱 정보를 참조하여 검색하고 검색 결과를 상기 사용자 단말로 제공하는 것을 특징으로 하는 자료 관리 서버.A data management server for retrieving the data request from the user terminal with reference to the indexing information in the encrypted information stored in the database and providing a search result to the user terminal.
  18. 제17항에 있어서,The method of claim 17,
    상기 순서 정보를 암호화한 정보는, The information which encrypted the said sequence information is,
    일방향 암호화 방식, One-way encryption,
    5차 이상의 수학식을 포함한 함수를 이용한 암호화 방식, 또는 Encryption method using a function containing 5th or more mathematical expressions, or
    ASCII 코드 체계 상의 코드들을 순서가 있는 복수의 그룹으로 구분한 G-테이블에 기초하여 상기 순서 정보의 각 요소를 상기 복수의 그룹 중 어느 하나의 그룹에 속하는 해당 코드에 대응되는 값으로 변환하는 암호화 방식An encryption scheme for converting each element of the order information into a value corresponding to a corresponding code belonging to any one of the plurality of groups based on a G-table that divides codes on the ASCII code system into a plurality of ordered groups.
    을 조합하여 암호화한 정보를 포함하는 것을 특징으로 하는 자료 관리 서버.Data management server, characterized in that it comprises a combination of information encrypted.
PCT/KR2010/009111 2009-12-22 2010-12-20 Method and apparatus for separating personal information into sequential information and content information and then encrypting and compositing the information, a server and a recording medium WO2011078535A2 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2009-0128949 2009-12-22
KR20090128949 2009-12-22
KR10-2010-0005021 2010-01-20
KR20100005021 2010-01-20
KR10-2010-0085991 2010-09-02
KR1020100085991A KR101045222B1 (en) 2009-12-22 2010-09-02 Method of encrypting and synthesizing personal information into order information and contents information, apparatus, server and recording media

Publications (2)

Publication Number Publication Date
WO2011078535A2 true WO2011078535A2 (en) 2011-06-30
WO2011078535A3 WO2011078535A3 (en) 2011-10-20

Family

ID=44196279

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/009111 WO2011078535A2 (en) 2009-12-22 2010-12-20 Method and apparatus for separating personal information into sequential information and content information and then encrypting and compositing the information, a server and a recording medium

Country Status (1)

Country Link
WO (1) WO2011078535A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150104011A1 (en) * 2011-09-13 2015-04-16 Combined Conditional Access Development & Support, LLC Preservation of encryption
JP2018120865A (en) * 2012-12-21 2018-08-02 三星エスディアイ株式会社Samsung SDI Co., Ltd. battery pack
CN112329393A (en) * 2020-11-05 2021-02-05 广东科徕尼智能科技有限公司 Method, equipment and storage medium for generating short code ID
CN114459633A (en) * 2022-04-11 2022-05-10 深圳中宝新材科技有限公司 Data encryption and decryption method for anti-oxidation gold bonding wire equipment based on Internet of things

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059355A (en) * 1998-08-04 2000-02-25 Dainippon Printing Co Ltd Enciphering processing system
JP2006004301A (en) * 2004-06-18 2006-01-05 Hideo Suzuki Method of managing data, and information processing device
KR20060121772A (en) * 2006-10-04 2006-11-29 (주)이글로벌시스템 Method to create indexes for encrypted column
US20070206788A1 (en) * 2006-02-10 2007-09-06 Atsushi Hagiwara Data encoding apparatus, data encoding method, data encoding program, and recording medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059355A (en) * 1998-08-04 2000-02-25 Dainippon Printing Co Ltd Enciphering processing system
JP2006004301A (en) * 2004-06-18 2006-01-05 Hideo Suzuki Method of managing data, and information processing device
US20070206788A1 (en) * 2006-02-10 2007-09-06 Atsushi Hagiwara Data encoding apparatus, data encoding method, data encoding program, and recording medium
KR20060121772A (en) * 2006-10-04 2006-11-29 (주)이글로벌시스템 Method to create indexes for encrypted column

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150104011A1 (en) * 2011-09-13 2015-04-16 Combined Conditional Access Development & Support, LLC Preservation of encryption
US11418339B2 (en) * 2011-09-13 2022-08-16 Combined Conditional Access Development & Support, Llc (Ccad) Preservation of encryption
JP2018120865A (en) * 2012-12-21 2018-08-02 三星エスディアイ株式会社Samsung SDI Co., Ltd. battery pack
CN112329393A (en) * 2020-11-05 2021-02-05 广东科徕尼智能科技有限公司 Method, equipment and storage medium for generating short code ID
CN114459633A (en) * 2022-04-11 2022-05-10 深圳中宝新材科技有限公司 Data encryption and decryption method for anti-oxidation gold bonding wire equipment based on Internet of things

Also Published As

Publication number Publication date
WO2011078535A3 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
US10951392B2 (en) Fast format-preserving encryption for variable length data
CN1197023C (en) Method and system for securely transferring data set in a data communications system
US9100183B2 (en) Computer program product and method for order preserving symbol based encryption
WO2014003497A1 (en) Generation and verification of alternate data having specific format
US5966449A (en) Method and network for communicating between a group of entities a text encrypted using an encryption key intrinsic to the group of entities in a network having a plurality of entities and a center
CN109840425B (en) File encryption method and device
WO2014119936A1 (en) Method of and apparatus for processing software using hash function to secure software, and computer-readable medium storing executable instructions for performing the method
EP0759669A2 (en) Method and apparatus for autokey rotor encryption
US20100198846A1 (en) Method for order invariant correlated encrypting of data and sql queries for maintaining data privacy and securely resolving customer defects
WO2018097521A1 (en) Method for duplexing database
WO2011078535A2 (en) Method and apparatus for separating personal information into sequential information and content information and then encrypting and compositing the information, a server and a recording medium
CN110704853A (en) Desensitization method and system for sensitive data based on desensitization strategy
WO2018186543A1 (en) Data encryption method and system using device authentication key
KR101045222B1 (en) Method of encrypting and synthesizing personal information into order information and contents information, apparatus, server and recording media
US20190260583A1 (en) Encryption device, search device, computer readable medium, encryption method, and search method
CN106022158A (en) A takeout management system for file datas
CN107682303B (en) System and method for encrypting and inquiring personal sensitive information
WO2010079878A1 (en) Data encryption and decryption apparatus using variable code table and method thereof
NO321541B1 (en) Electronic handling of information using a station (server) for usage rules
CN110830261A (en) Encryption method, device, computer equipment and storage medium
CN113489710B (en) File sharing method, device, equipment and storage medium
CN110365468A (en) Anonymization processing method, device, equipment and storage medium
CN115033925A (en) Database security retrieval method
CN113904865A (en) Log transmission method and device based on asymmetric algorithm
WO2021025403A2 (en) Security key management method and security key management server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10839732

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 28.08.2012)

122 Ep: pct application non-entry in european phase

Ref document number: 10839732

Country of ref document: EP

Kind code of ref document: A2