Distributed Storage-Based Secure Contact Information Management System

KR103005168B1Active Publication Date: 2026-08-14JUST BUILD CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
KR1020250182237
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-11-26
Publication Date
2026-08-14
Estimated Expiration
2045-11-26

Smart Images

  • Figure R1020250182237_ABST
    Figure R1020250182237_ABST
Patent Text Reader

Abstract

According to one feature of the present disclosure, an attendance management system having distributed storage of personal information and security processing functions is provided. In the system, the contact data includes the middle 4 digits and the last 4 digits of a mobile phone number excluding the area code 010, and the contact data separation unit separates the middle 4 digits of the contact data into a first part and the last 4 digits into a second part; the security storage that stores a plurality of static seed map files composed of a sequence of numbers having a predetermined length; the cache unit that reads the static seed map files stored in the security storage and loads them into an in-memory cache when the server starts; the indexing unit that converts the first part into a first index and converts the second part into a second index using the predetermined static seed map files loaded into the in-memory cache; and the storage unit that stores a static seed map file identifier that identifies the predetermined static seed map files, the first index, and the second index in a database.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to an attendance management system used in academies or schools, and more specifically, to a technology for distributed storage and security processing of personal information for securely managing personal information, such as parents' contact information, using a distributed storage method and providing real-time attendance notification services based on this. Furthermore, the present disclosure relates to a secure attendance management system capable of preventing data leakage and unauthorized access by configuring personal information so that it is not stored in a complete form on a single server. Background Technology

[0002] Recently, there has been an increasing demand for attendance management services in educational institutions, such as private academies and schools, that track student attendance in real time and immediately notify guardians. While such services offer advantages in student safety management and institutional operational efficiency, a persistent risk of personal information leakage exists because sensitive personal data, such as guardian contact information, is centrally managed within the system. However, existing attendance management systems typically store personal information in a single database, which presents a problem in that they fail to adequately prevent data leakage incidents caused by server breaches or insider access.

[0003] In particular, in structures where personal information is stored as a single, complete data form, there are fundamental security limitations because the entire information can be exposed in situations such as encryption key leakage or vulnerability attacks, even when encryption technology is applied. Accordingly, there is a growing need for methods to separate, fragment, and distribute personal information for storage. Furthermore, services requiring frequent inquiries and notification processing, such as attendance management, demand technology that can implement such a security structure without performance degradation.

[0004] The purpose of this disclosure is to provide a technology that can provide a safer attendance management service by solving the aforementioned problems and configuring so that personal information is not stored in a complete form on a single server. The problem to be solved

[0005] This disclosure aims to resolve security vulnerabilities arising from the storage of personal information, such as parent contact information essential for attendance management services, in a complete form on a single server. In existing systems, even with the application of encryption, data is concentrated in a single repository, creating a structural limitation where the entire information could be leaked in the event of a security breach.

[0006] The purpose of this disclosure is to provide a security structure that prevents the restoration of original information even if any one of the storage locations is compromised, by separating and fragmenting personal information and distributing it across different servers. Furthermore, another objective of this disclosure is to provide an attendance management system that simultaneously ensures security and operational efficiency by optimizing processing procedures so that the performance of real-time services, such as attendance notifications, is not degraded even when such a security structure is applied. means of solving the problem

[0007] According to one feature of the present disclosure, an attendance management system having distributed storage of personal information and security processing functions is provided. In the system, the contact data includes the middle 4 digits and the last 4 digits of a mobile phone number excluding the area code 010, and the contact data separation unit separates the middle 4 digits of the contact data into a first part and the last 4 digits into a second part; the security storage that stores a plurality of static seed map files composed of a sequence of numbers having a predetermined length; the cache unit that reads the static seed map files stored in the security storage and loads them into an in-memory cache when the server starts; the indexing unit that converts the first part into a first index and converts the second part into a second index using the predetermined static seed map files loaded into the in-memory cache; and the storage unit that stores a static seed map file identifier that identifies the predetermined static seed map files, the first index, and the second index in a database.

[0008] In one embodiment, the indexing unit further includes a conversion unit that converts the first part into a first index and converts the second part into a second index using a predetermined static seed map file loaded in the cache unit, and the conversion unit may set the starting position of the same number sequence as the first index when the first part matches the same number sequence included in the static seed map file, and when the first part does not match the same number sequence included in the static seed map file, append the number sequence corresponding to the first part to the end of the number sequence of the static seed map file and set the starting position of the appended number sequence as the first index, and when the second part matches the same number sequence included in the static seed map file, set the starting position of the same number sequence as the second index, and when the second part does not match the same number sequence included in the static seed map file, append the number sequence corresponding to the second part to the end of the number sequence of the static seed map file and set the starting position of the appended number sequence as the second index.

[0009] In one embodiment, the storage unit may configure indexed personal information including the static seed map file identifier, the first index, the second index, and a member ID using the indexed personal information, and store the configured indexed personal information in a database.

[0010] In one embodiment, the plurality of static seed map files are generated by creating a sequence of 4-digit numbers from 0000 to 9999 and randomly distributing the sequence of 4-digit numbers into a predetermined number of seed map files, and can be stored in the secure storage.

[0011] In one embodiment, the system further includes a restoration unit for restoring the indexed personal information, wherein the restoration unit obtains a static seed map file identifier, a first index, and a second index from the indexed personal information stored in the storage unit, and, based on the obtained static seed map file identifier, identifies a static seed map file required for decryption among a plurality of seed map files loaded in the in-memory cache of the cache unit, extracts a first partial number sequence within the static seed map file based on the first index, extracts a second partial number sequence based on the second index, and may be configured to restore original contact data by combining the extracted first partial number sequence, the second partial number sequence, and a mobile phone area code.

[0012] In one embodiment, extracting a first partial number sequence within the static seed map file based on the first index and extracting a second partial number sequence based on the second index may be configured to be decoded in the in-memory cache without disk access.

[0013] In one embodiment, the database and the security storage may be physically separated.

[0014] In one embodiment, the plurality of static seed map files may be loaded from the secure storage into an in-memory cache when the system is run.

[0015] In one embodiment, the database may store a member ID, a static seedmap file identifier, a first index, and a second index.

[0016] In one embodiment, the plurality of static seed map files randomly distribute all 10,000 4-digit numbers from 0000 to 9999 into 256 static seed map files, and the static seed map index is defined as static seed map_0 to static seed map_255, and each static seed map file is independent and is not affected by the loss of other static seed map files. Effects of the invention

[0017] According to the present disclosure, since personal information such as parent contact information is stored in a first part and a second part separated from a mobile phone number, the original information cannot be restored even if either storage is compromised, thereby fundamentally blocking the risk of personal information leakage.

[0018] The present disclosure can prevent performance degradation of real-time services, such as attendance notifications, by applying a distributed storage structure while utilizing a caching-based processing method.

[0019] Unlike existing encryption-centric security methods, the present disclosure has a structure in which the data itself is separated, so it can fundamentally prevent the problem of entire personal information being exposed due to external factors such as encryption key leakage or weak encryption algorithms. Brief explanation of the drawing

[0020] FIG. 1 is a drawing illustrating the overall configuration of an attendance management system having distributed storage of personal information and security processing functions according to one embodiment of the present disclosure. FIG. 2 is a diagram illustrating the operation of a contact data separation unit according to one embodiment of the present disclosure. FIG. 3 is a diagram illustrating the configuration and indexing logic flow of a plurality of static seed map files according to one embodiment of the present disclosure. FIG. 4 is a diagram illustrating a structure for storing a plurality of static seed map files and loading them into an in-memory cache according to one embodiment of the present disclosure. FIG. 5 is a drawing illustrating an example of an indexed personal information configuration according to one embodiment of the present disclosure. FIG. 6 is a flowchart illustrating a contact data recovery procedure according to one embodiment of the present disclosure. Specific details for implementing the invention

[0021] Specific embodiments will be described below with reference to the drawings. The following detailed description is provided to facilitate a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is merely illustrative and the disclosed embodiments are not limited thereto. In describing the embodiments, if it is determined that a detailed description of related prior art could unnecessarily obscure the essence of the disclosed embodiments, such detailed description will be omitted. Furthermore, the terms described below are defined in consideration of their functions in the disclosed embodiments, and these may vary depending on the intentions or conventions of the user or operator. Therefore, such definitions should be based on the content throughout this specification. The terms used in the detailed description are intended only to describe the embodiments and should not be limiting. Unless explicitly stated otherwise, expressions in the singular form include the meaning of the plural form. In this description, expressions such as “include” or “equipped” are intended to refer to certain characteristics, numbers, steps, actions, elements, parts or combinations thereof, and should not be interpreted to exclude the existence or possibility of one or more other characteristics, numbers, steps, actions, elements, parts or combinations thereof other than those described.

[0022] The terms used in the embodiments have been selected to be as widely used as possible, taking into account their functions in the present disclosure; however, these may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant explanatory section. Therefore, terms used in the present disclosure should be defined not merely by their names, but based on their meanings and the overall content of the present disclosure.

[0023] When a part of the specification is described as "including" a certain element, this means that, unless specifically stated otherwise, it does not exclude other elements but may include additional elements. Furthermore, terms such as "...part" or "...module" as used in the specification refer to a unit that processes at least one function or operation; this unit may be implemented in hardware or software, or as a combination of hardware and software, and may not be clearly distinguishable in terms of specific operation, unlike the illustrated examples.

[0024] The expression "at least one of a, b, and c" described throughout the specification may include 'a alone', 'b alone', 'c alone', 'a and b', 'a and c', 'b and c', or 'a, b, and c all'.

[0025] In the following description, terms such as "transmission," "communication," "sending," "receiving," and other terms with similar meanings regarding signals or information include not only the direct transmission of signals or information from one element to another but also transmission through other elements.

[0026] In particular, "transmitting" or "transmitting" a signal or information as a single element indicates the final destination of the signal or information and does not mean a direct destination. The same applies to the "reception" of the signal or information. Furthermore, in this specification, two or more data or information are "related" means that if one data (or information) is obtained, at least a portion of another data (or information) can be obtained based thereon.

[0027] Additionally, terms such as first, second, etc., may be used to describe various elements, but said elements should not be limited by said terms. said terms may be used for the purpose of distinguishing one element from another.

[0028] For example, without departing from the scope of the present invention, the first element may be named the second element, and similarly, the second element may also be named the first element.

[0030] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the attached drawings.

[0032] FIG. 1 is a drawing illustrating the overall configuration of an attendance management system (100) having a distributed storage of personal information and security processing function according to one embodiment of the present disclosure.

[0033] In one embodiment of the present disclosure, the attendance management system (100) may include a contact data separation unit (110), an indexing unit (120), a cache unit (130), a secure storage (140), and a storage unit (150).

[0034] In one embodiment, the contact data separation unit (110) is configured to extract the middle 4 digits and the last 4 digits excluding the area code 010 from a mobile phone number and separate them into a first part and a second part.

[0035] In one embodiment, the indexing unit (120) is configured to convert a first part into a first index and a second part into a second index using a static seed map file loaded in the in-memory cache, thereby creating an index in a distributed storage form without exposing the original contact string.

[0036] In one embodiment, the cache unit (130) loads a static seed map file stored in the secure storage (140) into an in-memory cache so that seed map-based lookups and index conversions can be performed at high speed without disk access.

[0037] In one embodiment, the secure storage (140) may store a plurality of static seed map files composed of a sequence of numbers having a predetermined length.

[0038] In one embodiment, the storage unit (150) is configured to store a static seed map file identifier, a first index, and a second index in a database, and the original contact string is not stored in the database, thereby improving the security of personal information. In one embodiment, the database may be configured as an independent storage device physically separated from the security storage (140). Since the database stores indexed personal information and the security storage stores static seed map files, the physical separation of the two storages can improve security by preventing the index information and seed map reference information of personal information from being leaked simultaneously in the same storage space.

[0040] FIG. 2 is a drawing illustrating the operation of a contact data separation unit (110) according to one embodiment of the present disclosure.

[0041] In one embodiment of the present disclosure, the contact data separation unit (110) may include a contact data input unit (201) for receiving contact data input from a user, a separation unit (203) for separating a necessary sequence of numbers from the contact data, and an output unit (205) for outputting a separated first part and a second part.

[0042] In one embodiment, the contact data input unit (201) may be configured to receive a mobile phone number string from a user terminal or a linked server. The mobile phone number entered may include a standard domestic mobile phone number format consisting of an area code 010, a middle 4 digits, and a last 4 digits. For example, the mobile phone number entered may be “010-1234-5678”.

[0043] In one embodiment, the separation unit (203) may be configured to separate the middle 4-digit number sequence (e.g., 1234) from the input mobile phone number, excluding the area code 010, into a first part and the last 4-digit number sequence (e.g., 5678) into a second part. The first part and the second part are subsequently used as input values ​​for index conversion processing performed by the indexing unit.

[0044] In one embodiment, the output unit (205) may be configured to provide the separated first and second parts to the indexing unit (120), which is a subsequent processing module. Since the output first and second parts are processed separately from the original contact string, a security advantage may be provided in that the original contact data is not directly exposed during the encryption or storage process.

[0046] FIG. 3 is a diagram illustrating the configuration of a plurality of static seed map files and the flow of indexing logic for converting a first part and a second part of input contact data into an index according to one embodiment of the present disclosure.

[0047] In one embodiment of the present disclosure, a static seed map file (301) is composed of a sequence of numbers having a predetermined length, and a plurality of static seed map files may be generated including a sequence of 4 digits randomly distributed. Each static seed map file is stored in a secure storage (140) and then loaded into an in-memory cache by a cache unit (130) when the system starts.

[0048] In one embodiment, the indexing unit (120) may receive a first partial number sequence (e.g., “1234”) and a second partial number sequence (e.g., “5678”) provided by the contact data separation unit (110). The indexing unit (120) may determine whether the first partial number sequence (303) matches the same number sequence included in the static seed map file (301), and if it matches, may set the starting position of the number sequence as the first index. As illustrated in FIG. 3, the first partial number sequence (“1234”) is found at a specific location within the static seed map file, and the location value is set as the first index (305) (e.g., 0085).

[0049] In one embodiment, the second partial number sequence (307; “5678”) is also searched within the static seed map file in the same way, and the starting position of the matching number sequence can be set to the second index (309) (e.g., 0127).

[0050] If a matching sequence of numbers does not exist within a specified static seed map file, the sequence of numbers can be appended to the end of the specified static seed map file and the starting position can be set as the index. For example, if the sequence of numbers "5678" does not exist within a randomly selected specified static seed map file, "5678" can be added to the end of the seed map and the starting position of "5" can be set as the index. If the index of the last number of the randomly selected specified static seed map file before appending was "x", the starting position of "5" becomes "x+1", and this value is set as the index.

[0051] In one embodiment, the first index (305) and the second index (309) generated by the indexing unit (120) are stored in a database by the storage unit (150). As illustrated on the right side of FIG. 3, the indexed personal information to be stored may be configured to include a member ID (e.g., Contact ID), a Map ID for identifying a seed map file, and the first index (Index A) and the second index (Index B).

[0052] In one embodiment, a distributed storage structure can be implemented in which personal information is not directly exposed by storing only the member ID, seed map file identifier, first index, and second index in the database, and not storing the original contact string.

[0053] The present disclosure can distribute and store personal information by generating only location-based index values ​​without storing original contact strings by a static seed map-based indexing method.

[0055] FIG. 4 is a diagram illustrating the storage structure of a plurality of static seed map files and the loading process into an in-memory cache during system operation according to one embodiment of the present disclosure. In one embodiment of the present disclosure, a plurality of static seed map files (401) are stored in a secure storage (140) and can be loaded into an in-memory cache by a cache unit (130) during the initial operation of the system.

[0056] In one embodiment, a plurality of static seed map files (401) may be generated by generating all 4-digit number sequences from 0000 to 9999 and randomly distributing the 10,000 number sequences into a predetermined number of static seed map files. For example, in one embodiment, the plurality of static seed map files (401) may consist of 256 independent files, and each static seed map file may be defined as static_seed_map_0 to static_seed_map_255. Since each static seed map file is maintained independently of one another, the loss or damage of a specific seed map file does not affect the integrity of other seed map files.

[0057] In one embodiment, a plurality of generated static seed map files are stored in a secure storage (140), and the secure storage may be implemented as a storage space with restricted external access, such as a file system or a database. The secure storage may be managed separately so that the base data referenced by the indexing unit (120) is not exposed to the outside.

[0058] In one embodiment, the cache unit (130) loads a plurality of static seed map files stored in the secure storage (140) into the in-memory cache when the system starts, so that the indexing unit (120) can quickly perform seed map-based lookups and index conversions without disk access. Since the seed map files loaded into the in-memory cache are static and do not change during system execution, they can provide stable indexing performance.

[0060] FIG. 5 is a drawing illustrating an example of the configuration of indexed personal information according to one embodiment of the present disclosure.

[0061] In one embodiment of the present disclosure, the storage unit (150) may configure indexed personal information including a first index and a second index generated by the indexing unit (120), and store the indexed personal information in a database.

[0062] In one embodiment, the storage unit (150) comprises indexed personal information including a member identification value (Contact ID) to which contact data is connected, a seed map file identifier (Map ID) for identifying a static seed map file, a first index (Index A) corresponding to a first part, and a second index (Index B) corresponding to a second part. For example, as illustrated in FIG. 5, the member ID (Contact ID) may be designated as a unique identification value such as “CONTACT_ID_0012”, and the seed map file identifier (Map ID) may point to a specific seed map file such as static_seedmap_038.

[0063] In one embodiment, the first index (Index A) generated by the indexing unit (120) indicates the starting position where the first partial number sequence is found within the static seed map file, and may be indicated as “0085” in FIG. 5. Likewise, the second index (Index B) indicates the starting position where the second partial number sequence is found within the seed map file, and may be indicated as “0127” in FIG. 5.

[0064] In one embodiment, only the Member ID (Contact ID), Map ID, Index A, and Index B are stored in the database, and the original contact data is not stored, so personal information is not directly exposed. Accordingly, a distributed storage structure can be implemented in which the original contact data is not restored even if the database is leaked externally.

[0066] FIG. 6 is a flowchart illustrating a procedure for restoring contact data of a restoration unit according to one embodiment of the present disclosure.

[0067] In one embodiment of the present disclosure, the restoration unit may be configured to restore original contact data using indexed personal information stored in the storage unit (150).

[0068] In one embodiment, the restoration unit first obtains a seed map file identifier (Map ID), a first index (Index A), and a second index (Index B) from indexed personal information stored in the storage unit (150) (step S610). The obtained seed map file identifier is a value for specifying a specific static seed map file required for decryption.

[0069] In one embodiment, the restoration unit identifies a corresponding seed map file among a plurality of seed map files loaded in the in-memory cache of the cache unit (130) based on the acquired seed map file identifier (step S620), and obtains a first partial number sequence by extracting a number sequence corresponding to a first index position in the seed map file (step S630). In the same way, a second partial number sequence can be obtained by extracting a number sequence corresponding to a second index position (step S640).

[0070] In one embodiment, the restoration unit combines the extracted first partial number sequence and the second partial number sequence with a mobile phone area code (e.g., “010”) to reconstruct the format of the original contact number (step S650), thereby finally restoring the original contact data (step S660).

[0071] In one embodiment, the extraction of the first and second part number sequences is performed by referring to a seed map file loaded in an in-memory cache, so disk access is not required during the decoding process, thereby providing high-speed processing performance.

[0073] In the embodiments of the present disclosure described above, specific modules are described as performing specific operations for convenience, but the present disclosure is not limited thereto. According to other embodiments of the present disclosure, it should be understood that the operations described above as being performed by a specific module may each be performed by a different, separate module.

[0074] The program executed by the terminal and server described in this disclosure may be implemented by hardware components, software components, and / or a combination of hardware components and software components. The program may be executed by any system capable of executing computer-readable instructions.

[0075] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or command the processing unit independently or collectively. Software may be implemented as a computer program containing instructions stored on a computer-readable storage medium. Examples of computer-readable recording media include magnetic storage media (e.g., ROM (Read-Only Memory), RAM (Random-Access Memory), floppy disks, hard disks, etc.) and optical reading media (e.g., CD-ROM, DVD (Digital Versatile Disc)). Computer-readable recording media may be distributed across networked computer systems, allowing computer-readable code to be stored and executed in a distributed manner. The medium may be readable by a computer, stored in memory, and executed by a processor.

[0076] Computer-readable storage media may be provided in the form of non-transitory storage media. Here, 'non-transitory' means merely that the storage medium does not contain a signal and is tangible, without distinguishing whether data is stored semi-permanently or temporarily on the storage medium.

[0077] Additionally, a program according to the embodiments of the present disclosure may be provided as a computer program product. A computer program may be traded between a seller and a buyer as a product. A computer program may include a software program and a computer-readable storage medium on which the software program is stored. For example, a computer program may include a product in the form of a software program (e.g., a downloadable application) that is distributed electronically through a device manufacturer or an electronic market (e.g., Google Play Store, App Store). For electronic distribution, at least a portion of the software program may be stored on a storage medium or temporarily created. In this case, the storage medium may be a server of the manufacturer, a server of the electronic market, or a storage medium of a relay server that temporarily stores the software program.

[0078] A computer program may include a storage medium of a server or a storage medium of a device in a system composed of a server and a device. Alternatively, if a third device (e.g., a smartphone) is communicationly connected to the server or device, the computer program may include a storage medium of the third device. Alternatively, the computer program may include the software program itself that is transmitted from the server to the device or the third device, or transmitted from the third device to the device. In this case, one of the server, the device, and the third device may execute the computer program to perform the method according to the disclosed embodiments. Alternatively, two or more of the server, the device, and the third device may execute the computer program to perform the method according to the disclosed embodiments in a distributed manner. For example, a server may execute a computer program stored on the server to control a device communicationly connected to the server to perform the method according to the disclosed embodiments. As another example, a third device may execute a computer program to control a device communicationly connected to the third device to perform the method according to the disclosed embodiments. When the third device executes the computer program, the third device may download the computer program from the server and execute the downloaded computer program. Alternatively, the third device may execute a computer program provided in a pre-loaded state to perform the method according to the disclosed embodiments.

[0079] Although the embodiments have been described above with reference to limited examples and drawings, those skilled in the art can make various modifications and variations from the description above. For example, appropriate results can be achieved even if the described techniques are performed in a different order than described, and / or components such as the described computer system or module are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents. Explanation of the symbols

[0080] 100: Attendance Management System 110: Contact Data Separator 120: Indexing section 130: Cash section 140: Secure Storage 150: Storage section

Claims

Claim 1 An attendance management system having distributed storage and security processing functions for personal information, wherein contact data includes the middle 4 digits and the last 4 digits of a mobile phone number excluding the area code 010, and the system comprises: a contact data separation unit that separates the middle 4 digits of the contact data into a first part and the last 4 digits into a second part; a security storage unit that stores a plurality of static seed map files composed of a sequence of numbers having a predetermined length; a cache unit that reads the static seed map files stored in the security storage unit and loads them into an in-memory cache; an indexing unit that converts the first part into a first index and converts the second part into a second index using a predetermined static seed map file loaded into the in-memory cache; and a storage unit that stores a static seed map file identifier identifying the predetermined static seed map file, the first index, and the second index in a database, wherein the indexing unit further comprises a conversion unit that converts the first part into a first index and converts the second part into a second index using a predetermined static seed map file loaded into the cache unit, and the conversion unit wherein the first part is the static seed map If it matches an identical sequence of numbers included in the file, the starting position of the identical sequence of numbers is set as the first index; if the first part does not match an identical sequence of numbers included in the static seed map file, the sequence of numbers corresponding to the first part is appended to the end of the sequence of numbers in the static seed map file, and the starting position of the appended sequence of numbers is set as the first index; if the second part matches an identical sequence of numbers included in the static seed map file, the starting position of the identical sequence of numbers is set as the second index; if the second part does not match an identical sequence of numbers included in the static seed map file, the sequence of numbers corresponding to the second part is appended to the end of the sequence of numbers in the static seed map file.An attendance management system having distributed storage and security processing functions for personal information, characterized by setting the starting position of the concatenated sequence of numbers as the second index. Claim 2 delete Claim 3 An attendance management system having distributed storage and security processing functions for personal information, characterized in that, in claim 1, the storage unit comprises indexed personal information including the static seed map file identifier, the first index, the second index, and a member ID using the indexed personal information, and stores the configured indexed personal information in a database. Claim 4 An attendance management system having distributed storage of personal information and security processing functions, characterized in that, in paragraph 3, the plurality of static seed map files are generated by generating a sequence of 4-digit numbers from 0000 to 9999 and randomly distributing the sequence of 4-digit numbers into a predetermined number of seed map files, and are stored in the security storage. Claim 5 An attendance management system having distributed storage and security processing functions for personal information, characterized in that, in claim 4, it further includes a restoration unit for restoring the indexed personal information, wherein the restoration unit obtains a static seed map file identifier, a first index, and a second index from the indexed personal information stored in the storage unit, identifies a static seed map file required for decryption among a plurality of seed map files loaded in the in-memory cache of the cache unit based on the obtained static seed map file identifier, extracts a first partial number sequence within the static seed map file based on the first index, extracts a second partial number sequence based on the second index, and is configured to restore original contact data by combining the extracted first partial number sequence, the second partial number sequence, and a mobile phone area code. Claim 6 An attendance management system having distributed storage of personal information and security processing functions, characterized in that, in claim 5, the plurality of static seed map files randomly distribute all 10,000 4-digit numbers from 0000 to 9999 into 256 static seed map files, the static seed map index is defined as static seed map_0 to static seed map_255, and each static seed map file is independent and is not affected by the loss of other static seed map files.

Citation Information

Patent Citations

  • Method, apparatus, server and recordable medium for encrypting and combining order info and contents info separated from personal info

    KR1020110073227A

  • Tokenized data security

    US20110154467A1

  • Dynamic tokenization with multiple token tables

    US20150096039A1

  • Distributed Tokenization Using Several Substitution Steps

    US20210073414A1