WO2023210861A1 - 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법 - Google Patents
유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법 Download PDFInfo
- Publication number
- WO2023210861A1 WO2023210861A1 PCT/KR2022/007533 KR2022007533W WO2023210861A1 WO 2023210861 A1 WO2023210861 A1 WO 2023210861A1 KR 2022007533 W KR2022007533 W KR 2022007533W WO 2023210861 A1 WO2023210861 A1 WO 2023210861A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- word
- words
- harmful
- similarity
- terminal
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 239000013598 vector Substances 0.000 claims description 128
- 230000006870 function Effects 0.000 claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 27
- 238000012790 confirmation Methods 0.000 claims description 25
- 230000000903 blocking effect Effects 0.000 claims description 12
- 230000009193 crawling Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003064 k means clustering Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000011017 operating method Methods 0.000 description 4
- 208000001613 Gambling Diseases 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000002117 illicit drug Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000003449 preventive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Definitions
- the present invention relates to a notification service server capable of providing an access notification service for harmful sites and a method of operating the same.
- a harmful site refers to a site that contains information that is deemed necessary for review, such as security-threatening activities, gambling, pornography, illegal drug sales, etc.
- a client terminal currently connected to the router equipment accesses a specific site
- the client terminal connected to the specific site is based on the access address information of the specific site.
- the text posted on a specific site is analyzed, and when it is determined that the analyzed text contains certain harmful words, the identification information of the client terminal and the client terminal's attempt to access the harmful site are sent to the administrator terminal. If a warning message can be sent, the administrator will be able to prevent client terminals from accessing harmful sites.
- the present invention seeks to support administrators in preventing client terminals from accessing harmful sites by presenting a notification service server capable of providing access notification services for harmful sites and its operating method.
- a notification service server capable of providing an access notification service for harmful sites includes a word database storing a plurality of preset different words, and a plurality of words pre-selected from among the plurality of words.
- a client terminal currently connected to a harmful word database and a pre-designated router device that stores harmful words accesses the first site
- the access address information of the first site and the client terminal are sent from the router device.
- a crawling unit that accesses the first site based on the access address information of the first site and then crawls the text posted on the connected first site,
- a word search unit that refers to the word database and searches for words matching the plurality of words among the crawled text, the plurality of words among the crawled text
- a plurality of first words are searched as words that match, based on the semantic similarity between the plurality of first words, the plurality of first words are divided into k (k is a natural number of 3 or more) word groups.
- a clustering unit that performs clustering
- a confirmation unit that checks whether there is a word group whose semantic similarity with the plurality of harmful words exceeds a preset standard similarity among the k word groups, and the k words.
- the groups if it is confirmed that at least one word group exists in a word group whose semantic similarity with the plurality of harmful words exceeds the standard similarity, a situation occurs in which the client terminal attempts to access a harmful site.
- a warning message transmitter After determining that the client terminal is attempting to access a harmful site, transmits a warning message notifying that the client terminal attempts to access a harmful site while transmitting terminal unique identification information of the client terminal to a pre-designated manager terminal.
- a method of operating a notification service server capable of providing an access notification service for harmful sites includes maintaining a word database in which a plurality of different preset words are stored, the plurality of words Maintaining a harmful word database in which a plurality of harmful words pre-selected from among the words are stored, when a client terminal currently connected to a pre-designated router device accesses a first site, from the router device, the first 1
- the first site is accessed based on the access address information of the first site, and then the text posted on the connected first site Crawling, when the text posted on the first site is crawled, referring to the word database, searching for words matching the plurality of words among the crawled text, and searching for words matching the plurality of words among the crawled text.
- the plurality of first words are searched for k (k is a natural number of 3 or more) based on the semantic similarity between the plurality of first words.
- Clustering into word groups determining whether there is a word group whose semantic similarity with the plurality of harmful words exceeds a preset standard similarity among the k word groups, and the k word groups Among these, a word group whose semantic similarity with the plurality of harmful words exceeds the standard similarity, and when it is confirmed that at least one word group exists, a situation has occurred where the client terminal attempts to access a harmful site.
- it includes transmitting a warning message notifying that the client terminal is attempting to access a harmful site while transmitting terminal unique identification information of the client terminal to a pre-designated manager terminal.
- the present invention can support administrators in preventing client terminals from accessing harmful sites by presenting a notification service server capable of providing access notification services for harmful sites and its operating method.
- Figure 1 is a diagram illustrating the structure of a notification service server capable of providing an access notification service for harmful sites according to an embodiment of the present invention.
- Figure 2 is a flowchart showing the operation method of a notification service server capable of providing an access notification service for harmful sites according to an embodiment of the present invention.
- each component, functional block, or means may be composed of one or more subcomponents, and the electrical, electronic, and mechanical functions performed by each component may be electronic. It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or by integrating two or more into one.
- ASICs Application Specific Integrated Circuits
- the blocks in the attached block diagram or the steps in the flow chart are computer program instructions that are mounted on the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable laptop computers, and network computers, and perform designated functions. It can be interpreted to mean. Because these computer program instructions can be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of a block diagram or the steps of a flow diagram can be produced as a manufactured product containing instruction means to perform them. It could be.
- each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
- Figure 1 is a diagram illustrating the structure of a notification service server capable of providing an access notification service for harmful sites according to an embodiment of the present invention.
- the notification service server 110 includes a word database 111, a harmful word database 112, a crawling unit 113, a word search unit 114, a clustering unit 115, and a confirmation unit 115. It includes a unit 116 and a warning message transmission unit 117.
- the word database 111 stores a plurality of different preset words.
- the word database 111 contains the plurality of words 'word 1, word 2, word 50'. 3, ..., word 50' may be stored.
- the harmful word database 112 stores a plurality of harmful words that are pre-selected from among the plurality of words.
- the harmful word database 112 contains the word 'word', which is a plurality of harmful words. 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word 23, word 25, word 27, word 29' may be stored. .
- Such selection of harmful words stored in the harmful word database 112 may be performed by an administrator directly selecting words that are determined to be harmful words among the plurality of words, and selecting the plurality of words. , It can also be performed by applying it as input to a deep learning model that has completed prior machine learning to determine whether or not it is a harmful word, and then selecting it.
- the crawling unit 113 receives access address information of the first site and the client terminal from the router device 100.
- the terminal accesses the first site based on the access address information of the first site, and then crawls the text posted on the connected first site.
- the terminal unique identification information includes a MAC address (Media Access Control Address), an IP address (Internet Protocol Address), and, if the client terminal is a mobile terminal, an international mobile equipment identification code (International Mobile Equipment Identity) or an IP address assigned to the client terminal. This means phone number, etc.
- MAC address Media Access Control Address
- IP address Internet Protocol Address
- International Mobile Equipment Identity International Mobile Equipment Identity
- the word search unit 114 refers to the word database 111 and searches for words that match the plurality of words among the crawled text.
- the first site is called '777JACKPOT', and as the client terminal currently connected to the pre-designated router device 100 accesses the first site '777JACKPOT', the notification service server 110 is sent from the router device 100. ), as the access address information of '777JACKPOT', 'www.777jackpot.com' is received, and as the terminal unique identification information of the client terminal, a MAC such as '1A:00:3F:F1:4C:C5' Assume the address has been received.
- the crawling unit 113 can access '777JACKPOT' based on 'www.777jackpot.com', which is the access address information of '777JACKPOT', and then crawl the text posted on the connected '777JACKPOT'.
- the word search unit 114 refers to the word database 111 and selects 'word 1', which is the plurality of words among the crawled text. You can search for words that match ', word 2, word 3, ..., word 50'.
- the clustering unit 115 includes words that match the plurality of words in the crawled text. When the plurality of first words are searched, the clustering unit 115 selects the plurality of first words based on the semantic similarity between the plurality of first words. 1 Words are clustered into k word groups (k is a natural number of 3 or more).
- the clustering unit 115 may include an embedding vector storage unit 118, a first vector confirmation unit 119, and a word group generation unit 120.
- the embedding vector storage unit 118 stores preset embedding vectors corresponding to each of the plurality of words.
- word embedding expressing a word in the form of a dense vector
- dense vector is also called an embedding vector.
- Word embedding methods include Word2Vec, FastText, and GloVe.
- the embedding vector corresponding to each of the plurality of words is a vector preset for each word based on the semantic similarity between the plurality of words, and the higher the semantic similarity between the two words, the higher the semantic similarity between the two words. This is a vector designated to calculate high vector similarity between the embedding vectors of two words.
- the semantic similarity between 'word 1, word 2' is higher than the semantic similarity between 'word 3, word 50'
- the vector similarity between each of the embedding vectors of 'Word 1 and Word 2' may be calculated to be higher than the vector similarity between each of the embedding vectors of 'Word 3 and Word 50'.
- the embedding vectors corresponding to each of the plurality of words 'word 1, word 2, word 3, ..., word 50' the higher the degree of correlation between the two words, the greater the correlation between the embedding vectors of the two words. It may be specified that vector similarity is calculated to be high.
- information may be stored in the embedding vector storage unit 118 as shown in Table 1 below.
- the first vector confirmation unit 119 selects words that match the plurality of words among the crawled texts. When the plurality of first words are searched, the first vector confirmation unit 119 refers to the embedding vector storage unit 118 and determines the plurality of words. Confirm the embedding vector corresponding to each of the first words.
- the word group generator 120 performs K-means clustering on the plurality of first words based on the embedding vector corresponding to each of the plurality of first words, and k Create groups of words.
- K-means clustering refers to an algorithm that groups data in the form of a vector into k groups. It is an algorithm that clusters data into k groups based on the distance between each data and the center of the group to which the data belongs.
- the first vector confirmation unit 119 refers to the embedding vector storage unit 118 as shown in Table 1 above, and selects the plurality of first words 'word 1, word 3, word 10, word 12, word 20, You can check the embedding vectors 'E 1 , E 3 , E 10 , E 12 , E 20 , E 22, E 36, E 40, E 42' corresponding to each of 'word 22, word 36 , word 40 , and word 42 ' . there is.
- the word group generator 120 generates 'E 1 ,' which is an embedding vector corresponding to each of 'word 1, word 3, word 10, word 12, word 20, word 22, word 36, word 40, and word 42.
- 'E 3 E 10 , E 12 , E 20 , E 22 , E 36 , E 40 , E 42 ', 'word 1, word 3, word 10, word 12, word 20, word 22, word 36.
- the confirmation unit 116 determines whether there is a word group among the k word groups whose semantic similarity with the plurality of harmful words exceeds a preset standard similarity.
- the confirmation unit 116 may include a second vector confirmation unit 121, a similarity judgment standard designation unit 122, and a word group confirmation unit 123.
- the second vector check unit 121 checks the center point vector corresponding to the center point (Centroid) of each of the k word groups, refers to the embedding vector storage unit 118, and corresponds to each of the plurality of harmful words. Check the embedding vector.
- the similarity judgment standard designation unit 122 calculates the vector similarity between the center point vector corresponding to the center point of each word group and the embedding vector corresponding to each of the plurality of harmful words to obtain the maximum value. By selecting the vector similarity as the similarity judgment standard value corresponding to each word group, the similarity judgment standard value corresponding to each of the k word groups is designated.
- the word group confirmation unit 123 identifies a word group whose similarity judgment standard value exceeds a preset threshold among the k word groups as a word group whose semantic similarity with the plurality of harmful words exceeds the standard similarity value. do.
- the three word groups are divided into 'word group 1 (word 1, word 10, word 12), word group 2 (word 3, word 20, word 22), and word group 3 (word 36) by the clustering unit 115.
- word 40, word 42 the second vector confirmation unit 121 can check the center point vector corresponding to the center point of each of 'word group 1, word group 2, and word group 3'.
- the second vector confirmation unit 121 refers to the embedding vector storage unit 118 as shown in Table 1 above, and identifies the plurality of harmful words 'word 1, word 3, word 5, word 7, word 9, and word 11.
- the similarity judgment standard designation unit 122 sets 'Word Group 1 (Word 1, Word 10, Word 12), Word Group 2 (Word 3, Word 20, Word 22), and Word Group 3 (Word 36, Word 40). , word 42)', the center point vector 'C 1 , C 2 , C 3 ' corresponding to the center point of each word group and the plurality of harmful words 'word 1, word 3, word 5, word 7,
- the similarity judgment standard value corresponding to the similarity judgment standard value corresponding to each of 'word group 1, word group 2, and word group 3' can be specified.
- the similarity judgment standard value designation unit 122 specifies the similarity judgment standard value corresponding to 'word group 1 (word 1, word 10, word 12)' is as follows.
- the similarity judgment standard value designation unit 122 includes 'C 1 ', which is the center point vector corresponding to the center point of 'word group 1', and the plurality of The harmful words 'word 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word 23, word 25, word 27, word 29'
- the similarity judgment standard designation unit 122 selects 'M 1 ', which is the maximum vector similarity, and the similarity judgment standard value corresponding to 'word group 1'. It can be specified as .
- the similarity judgment standard value designator 122 includes 'C 2 ', which is the center point vector corresponding to the center point of 'word group 2', and the plurality of The harmful words 'word 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word 23, word 25, word 27, word 29'
- the corresponding embedding vectors 'E 1 , E 3 , E 5 , E 7 , E 9 , E 11 , E 13 , E 15 , E 17, E 19 , E 21 , E 23 , E 25 , E 27 Vector similarity between E 29 'M 16 , M 17 , M 18 , M 19 , M 20 , M 21 , M 22, M 23
- the similarity judgment standard designation unit 122 selects 'M 17 ', which is the maximum vector similarity, and the similarity judgment standard value corresponding to 'word group 2'. It can be specified as .
- the similarity judgment standard value designator 122 includes 'C 3 ', which is the center point vector corresponding to the center point of 'word group 3', and the plurality of The harmful words 'word 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word 23, word 25, word 27, word 29'
- the corresponding embedding vectors 'E 1 , E 3 , E 5 , E 7 , E 9 , E 11 , E 13 , E 15 , E 17, E 19 , E 21 , E 23 , E 25 , E 27 Vector similarity between E 29 'M 31 , M 32 , M 33 , M 34 , M 35 , M 36
- the similarity judgment standard designation unit 122 selects 'M 45 ', which is the maximum vector similarity, and the similarity judgment standard value corresponding to 'word group 3'. It can be specified as .
- the similarity judgment standard designator 122 determines 'word group 1 (word 1, word 10, word 12), word group 2 (word 3, word 20, word 22), and word group 3 (word 36, word 40). , word 42)', when the similarity judgment standard values 'M 1 , M 17 , M 45 ' corresponding to each are specified, the word group confirmation unit 123 determines the similarity among 'word group 1, word group 2, and word group 3'.
- the word group whose judgment value exceeds the preset threshold is divided into the plurality of harmful words 'word 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, It can be identified as a word group whose semantic similarity to word 21, word 23, word 25, word 27, and word 29 exceeds the above standard similarity.
- the similarity judgment standard value 'M 1 ' corresponding to 'word group 1 (word 1, word 10, word 12)' and the similarity corresponding to 'word group 2 (word 3, word 20, word 22)'
- the word group confirmation unit 123 selects 'word group 1, word group 2', and the plurality of harmful words 'word 1, word 3, and word A group of words whose semantic similarity to '5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word 23, word 25, word 27, word 29' exceeds the above standard similarity You can check this.
- the warning message transmitter 117 determines that at least one word group exists among the k word groups whose semantic similarity with the plurality of harmful words exceeds the standard similarity
- the client After determining that a situation in which the terminal is attempting to access a harmful site has occurred, the terminal unique identification information of the client terminal is transmitted to the pre-designated administrator terminal 140, and a warning notifies that the client terminal is attempting to access a harmful site. Send a message.
- a harmful site refers to a site that contains information that is deemed necessary for review, such as security-threatening activities, gambling, pornography, illegal drug sales, etc.
- the confirmation unit 116 determines 'word group 1 (word 1, word 10, word 12), word group 2 (word 3, word 20, word 22), and word group 3 (word 36). , word 40, word 42)', the plurality of harmful words 'word 1, word 3, word 5, word 7, word 9, word 11, word 13, word 15, word 17, word 19, word 21, word Let us assume that it is confirmed that at least one word group, 'word group 1, word group 2', is a word group whose semantic similarity to '23, word 25, word 27, and word 29' exceeds the above standard similarity.
- the warning message transmission unit 117 determines that a situation has occurred where the client terminal attempts to access a harmful site, and then sends '1A:00', which is the unique identification information of the client terminal, to the pre-designated manager terminal 140. While transmitting ':3F:F1:4C:C5', a warning message notifying that the client terminal is attempting to access a harmful site can be transmitted.
- the notification service server 110 designates words belonging to the at least one word group as new harmful words, It can be additionally stored in the database 112.
- the warning message transmission unit 117 is the manager terminal 140, and when transmitting the terminal-specific identification information of the client terminal and the warning message, the terminal-specific identification information of the client terminal is different from the terminal-specific identification information of the client terminal.
- the unique terminal identification information of the client terminal may be encrypted and transmitted to the manager terminal 140.
- the warning message transmission unit 117 is a specific configuration for encrypting the terminal unique identification information of the client terminal and transmitting it to the manager terminal 140, and includes an authentication number storage unit ( 124), hash function storage unit 125, serial number table maintenance unit 126, encryption event generation unit 127, serial number extraction unit 128, operation code generation unit 129, hash value generation unit 130 ), an encryption unit 131, and a transmission processing unit 132.
- the authentication number storage unit 124 stores an authentication number with t (t is a natural number of 2 or more) digits, which is previously shared with the administrator terminal 140.
- the authentication number '1230' may be stored in the authentication number storage unit 124.
- the hash function storage unit 125 stores a preset hash function that is pre-shared with the administrator terminal 140.
- the serial number table maintenance unit 126 stores and maintains a serial number table in which different t-digit serial numbers corresponding to each of a plurality of preset time zones, which are pre-shared with the manager terminal 140, are recorded.
- the serial number table maintenance unit 126 may store and maintain a serial number table as shown in Table 2 below.
- Time Zone 1 (00:00 AM to 4:00 AM) 6401
- Time Zone 2 (4:00 AM - 8:00 AM) 3286
- Time Zone 3 (8:00 AM - 12:00 PM) 1752
- Time Zone 4 (12:00 PM - 4:00 PM) 5429 ... ...
- the encryption event generator 127 determines that the client terminal attempts to access a harmful site, it generates an encryption event to encrypt and transmit the unique identification information of the client terminal.
- the serial number extractor 128 extracts a first serial number corresponding to the first time zone at which the encryption event occurred from the serial number table.
- the operation code generator 129 converts the result value of performing the modulo-2 operation on each of the t numbers constituting the authentication number into a bit string.
- a first operation code of t bits is generated by configuring the first operation code of t bits, and the result value of performing modulo-2 operation on each of the t numbers constituting the first serial number is configured as a bit string.
- the modulo-2 operation refers to an operation that performs division by dividing the dividend by 2 and calculates the remainder.
- the hash value generator 130 generates a t-bit seed code by performing an exclusive OR (XOR) operation between the first operation code and the second operation code, and then applies the seed code to the hash function. is applied as input to generate the first hash value.
- XOR exclusive OR
- the encryption unit 131 When the first hash value is generated, the encryption unit 131 generates first encryption information by encrypting the terminal-specific identification information of the client terminal with the first hash value.
- the transmission processing unit 132 transmits the warning message while transmitting the first encryption information to the manager terminal 140.
- encryption event generation unit 127 serial number extraction unit 128, operation code generation unit 129, hash value generation unit 130, encryption unit 131, and transmission processing unit 132 are given as examples. For example, it will be explained in detail.
- the encryption event generator 127 may generate an encryption event to encrypt and transmit '1A:00:3F:F1:4C:C5', which is the unique identification information of the client terminal.
- the serial number extractor 128 can confirm the time when the encryption event occurred. If the time at which the encryption event occurred is '3:30 p.m. on April 14, 2022,' the serial number extractor 128 determines that the encryption event occurs from the serial number table as shown in Table 2 above. '5429', which is the serial number corresponding to 'Time Zone 4 (12:00 PM ⁇ 4:00 PM)' to which 'April 14, 2022, 3:30 PM' belongs, can be extracted as the first serial number. there is.
- the operation code generator 129 configures the result value of performing modulo-2 operation on each of the four numbers constituting the authentication number '1230' into a bit string to create a 4-bit first number.
- An operation code can be generated such as '1010', and the result value when modulo-2 operation is performed on each of the four numbers constituting the first serial number '5429' is composed of a bit string. By doing so, a 4-bit second operation code can be generated, such as '1001'.
- the hash value generator 130 generates a 4-bit seed code such as '0011' by performing an exclusive OR operation between the first operation code '1010' and the second operation code '1001'. You can.
- the hash value generator 130 may apply the seed code '0011' as an input to the hash function to generate a first hash value such as '26d103c620a31345ag57qat327891703'.
- the encryption unit 131 when the first hash value is generated by the hash value generation unit 130, the encryption unit 131 generates '1A:00:3F:F1:4C:C5', which is the terminal unique identification information of the client terminal.
- '26d103c620a31345ag57qat327891703' By encrypting with the first hash value, '26d103c620a31345ag57qat327891703', 'encryption information 1' can be generated.
- the transmission processing unit 132 can transmit 'encryption information 1' and the warning message to the manager terminal 140.
- the administrator terminal 140 pre-stores the authentication number, the hash function, and the serial number table in the memory, and the first encryption is performed from the notification service server 110.
- the first serial number corresponding to the first time zone at which the first encryption information and the warning message is received is extracted from the serial number table, and then the authentication number is entered.
- the first operation code of t bits is generated by configuring the result value of performing the modulo-2 operation on each of the t numbers constituting the t numbers into a bit string, and the t numbers constituting the first serial number.
- an exclusive OR operation is performed between the first operation code and the second operation code.
- t is set to '4', and on the memory of the administrator terminal 140, the authentication number '1230', the hash function, and the table pre-shared with the notification service server 110. Assume that a serial number table like 2 is pre-stored.
- the transmission processing unit 132 transmits 'encryption information 1' and the warning message to the administrator terminal 140, from the notification service server 110 to the administrator terminal 140, ' Assume that encryption information 1' and the above warning message are received.
- the administrator terminal 140 can check the time when 'encryption information 1' and the warning message were received.
- the manager terminal 140 receives ' from the serial number table shown in Table 2 above.
- Encryption Information 1' and '5429', a serial number corresponding to 'Time Zone 4 (12:00 PM - 4:00 PM)' to which '3:31 PM, April 14, 2022', the time when the above warning message was received, belongs. can be extracted with the first serial number.
- the administrator terminal 140 configures the result of performing modulo-2 operation on each of the four numbers constituting the authentication number '1230' into a bit string, thereby creating the first 4-bit number.
- An operation code can be generated such as '1010', and the result value when modulo-2 operation is performed on each of the four numbers constituting the first serial number '5429' is configured as a bit string.
- the 4-bit second operation code can be generated as '1001'.
- the manager terminal 140 generates the 4-bit seed code as '0011' by performing an exclusive OR operation between the first operation code '1010' and the second operation code '1001'. You can.
- the manager terminal 140 applies the seed code '0011' as an input to the hash function to generate the first hash value such as '26d103c620a31345ag57qat327891703', and then inputs 'encryption information 1' to the first hash.
- the terminal-specific identification information of the client terminal, '1A:00:3F:F1:4C:C5' is restored, and the terminal-specific identification information of the client terminal, '1A:00:3F:
- the above warning message can be displayed on the screen along with 'F1:4C:C5'.
- the notification service server 110 includes a hazard level table maintenance unit 133, a number calculation unit 134, a hazard level extraction unit 135, a hazard level information additional transmission unit 136, and It may further include a connection blocking control command transmission unit 137.
- the harmfulness level table maintenance unit 133 stores and maintains a harmfulness level table in which a plurality of predetermined harmfulness levels and a number range value of a preset word group corresponding to each of the plurality of harmfulness levels are recorded.
- the hazard rating table maintenance unit 133 may store and maintain a hazard rating table as shown in Table 3 below.
- the number calculation unit 134 determines the similarity among the k word groups. The number of word groups whose reference value exceeds the above threshold value is calculated is calculated.
- the hazard class extraction unit 135 extracts the first hazard class recorded in correspondence with the range value to which the calculated number belongs from the hazard class table.
- the hazard level information additional transmission unit 136 When the first hazard level is extracted, the hazard level information additional transmission unit 136 additionally transmits information about the first hazard level to the manager terminal 140.
- the access blocking control command transmission unit 137 compares the first harmful level with a preset standard level, and when it is determined that the first harmful level exceeds the standard level, it sends the router device 100 to the Transmits an access blocking control command instructing to block Internet access to the client terminal.
- '1A:00:3F:F1:4C:C5' which is the terminal unique identification information of the client terminal, and the warning message are sent to the manager terminal 140 through the warning message transmission unit 117. Let's assume that is transmitted.
- the number calculation unit 134 calculates 'word group 1 (word 1, word 10, word 12), word group 2 (word 3, word 20, word 22), word group 3 (word 36, word 40, word 42). )', the number of word groups whose similarity judgment standard exceeds the above threshold can be calculated.
- the number calculation unit (134) can calculate the number of word groups whose similarity judgment standards exceed the above threshold among 'word group 1, word group 2, and word group 3' as '2'.
- the hazard class extraction unit 135 selects the hazard class recorded in correspondence with the range value '2 to less than 3' to which the calculated number '2' belongs, from the hazard grade table shown in Table 3 above. 'Grade 2 (bad)' can be extracted as the first hazard class.
- the hazard grade information additional transmission unit 136 sends the hazard grade information additional transmission unit 136 to the administrator terminal 140, and sends 'Grade 2 (bad)' to the administrator terminal 140. )' information can be additionally transmitted.
- the access blocking control command transmission unit 137 may compare 'Level 2 (bad)' with a preset standard rating.
- the access blocking control command transmission unit 137 may change the first harmful level, 'Level 2 (bad)', to 'Level 3', which is the standard level. By determining that it exceeds '(normal)', a connection blocking control command instructing to block Internet access to the client terminal can be transmitted to the router device 100.
- the router device 100 may block Internet access to the client terminal.
- Figure 2 is a flowchart showing the operation method of a notification service server capable of providing an access notification service for harmful sites according to an embodiment of the present invention.
- step S210 a word database in which a plurality of different preset words are stored is maintained.
- step S220 a harmful word database is maintained in which a plurality of harmful words pre-selected from among the plurality of words are stored.
- step S230 when a client terminal currently connected to a pre-designated router device accesses a first site, access address information of the first site and unique terminal identification information of the client terminal are received from the router device. , After accessing the first site based on the access address information of the first site, text posted on the connected first site is crawled.
- step S240 when the text posted on the first site is crawled, the word database is referred to, and words matching the plurality of words among the crawled text are searched.
- step S250 when a plurality of first words are searched among the crawled text as words that match the plurality of words, the plurality of first words are searched based on semantic similarity between the plurality of first words.
- Cluster words into k word groups (where k is a natural number greater than or equal to 3).
- step S260 it is checked whether there is a word group among the k word groups whose semantic similarity with the plurality of harmful words exceeds a preset standard similarity.
- step S270 if it is confirmed that at least one word group exists among the k word groups as a word group whose semantic similarity with the plurality of harmful words exceeds the standard similarity, the client terminal is determined to be harmful. After determining that a situation in which an attempt is made to access a site has occurred, the terminal unique identification information of the client terminal is transmitted to a pre-designated administrator terminal and a warning message notifying that the client terminal is attempting to access a harmful site is transmitted.
- a preset embedding vector corresponding to each of the plurality of words (the embedding vector corresponding to each of the plurality of words is set between the plurality of words)
- An embedding vector in which a preset vector for each word is stored based on preset semantic similarity, and the higher the semantic similarity between two words, the higher the vector similarity between the embedding vectors of the two words is calculated. Maintaining a storage unit, when the plurality of first words are searched as words that match the plurality of words in the crawled text, referring to the embedding vector storage unit, to each of the plurality of first words. Identifying a corresponding embedding vector and performing K-means clustering on the plurality of first words based on the embedding vector corresponding to each of the plurality of first words to generate the k word groups. It may include steps.
- step S260 the center point vector corresponding to the center point of each of the k word groups is confirmed, and the embedding vector storage unit is referred to to each of the plurality of harmful words.
- Specifying a similarity judgment standard value corresponding to each of the k word groups by selecting the vector similarity as a similarity judgment standard value corresponding to each word group, and determining the similarity judgment value among the k word groups exceeding a preset threshold. It may include the step of confirming the word group as a word group whose semantic similarity with the plurality of harmful words exceeds the standard similarity.
- step S270 maintaining an authentication number storage unit in which an authentication number with t (t is a natural number of 2 or more) digits, which is pre-shared with the manager terminal, is stored, maintaining a hash function storage unit in which a preset hash function is stored, which is preshared with the manager terminal; a series of different t digits corresponding to each of a plurality of preset time zones, which is preshared with the manager terminal; Storing and maintaining a serial number table in which numbers are recorded; If it is determined that a situation has occurred where the client terminal attempts to access a harmful site, an encryption event for encrypting and transmitting the unique identification information of the client terminal generating, when the encryption event occurs, extracting a first serial number corresponding to a first time zone at which the encryption event occurs from the serial number table, when the first serial number is extracted, A first operation code of t bits is generated by configuring the result value of performing modulo-2 operation on each of the t numbers
- Generating a second operation code of t bits by configuring the result of performing a modulo-2 operation on each of t numbers into a bit string, exclusive between the first operation code and the second operation code.
- Generating a t-bit seed code by performing an OR operation and then applying the seed code as an input to the hash function to generate a first hash value.
- the client terminal Generating first encryption information by encrypting terminal unique identification information with the first hash value; and when the first encryption information is generated, transmitting the first encryption information to the manager terminal and sending the warning message. It may include a transmitting step.
- the manager terminal pre-stores the authentication number, the hash function, and the serial number table in the memory, and when the first encryption information and the warning message are received from the notification service server, the serial number table After extracting the first serial number corresponding to the first time zone at which the first encryption information and the warning message are received, modulo-2 for each of the t numbers constituting the authentication number.
- the first operation code of t bits is generated by configuring the result value when performing the operation as a bit string, and modulo-2 operation is performed on each of the t numbers constituting the first serial number.
- the warning message may be displayed on the screen along with the unique terminal identification information of the client terminal.
- the method of operating the notification service server includes recording a plurality of pre-designated harmful grades and a number range value of a preset word group corresponding to each of the plurality of harmful grades. Storing and maintaining a harmfulness rating table, after the terminal unique identification information of the client terminal and the warning message are transmitted to the manager terminal, word groups whose similarity judgment criteria among the k word groups exceed the threshold calculating the existing number, extracting from the hazard rating table a first hazard rating recorded corresponding to a range value to which the calculated number belongs, and when the first hazard rating is extracted, the manager terminal Additionally, transmitting information about the first harmful level and comparing the first harmful level with a preset standard level, if it is determined that the first harmful level exceeds the standard level, the router The method may further include transmitting, to the equipment, an access blocking control command instructing to block Internet access to the client terminal.
- the operation method of the notification service server according to an embodiment of the present invention has been described with reference to FIG. 2.
- the operation method of the notification service server according to an embodiment of the present invention may correspond to the configuration of the operation of the notification service server 110 described using FIG. 1, a more detailed description thereof will be omitted. .
- the operating method of the notification service server capable of providing an access notification service for harmful sites may be implemented as a computer program stored in a storage medium to be executed through combination with a computer.
- the operating method of the notification service server capable of providing an access notification service for harmful sites is implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium.
- the computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination.
- Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
- optical media magnetic-optical media
- hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc.
- program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Information Transfer Between Computers (AREA)
Abstract
알림 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법을 제시함으로써, 관리자로 하여금 클라이언트 단말이 유해 사이트에 접속하는 것을 방지할 수 있도록 지원할 수 있다.
Description
본 발명은 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법에 대한 것이다.
최근, 개인별 인터넷 이용 시간이 증가하면서, 유해 사이트의 접속 차단에 대한 필요성 또한 증대되고 있다.
여기서, 유해 사이트란 안보 위해행위, 도박, 음란, 불법 의약품 판매 등과 같이, 심의가 필요하다고 인정되는 정보가 들어간 사이트를 의미한다.
한편, 이러한 유해 사이트가 피싱(Phishing) 사이트인 경우에는, 사용자의 계정 정보 및 비밀번호가 의도치 않게 탈취당할 수 있다는 점에서, 사전 예방을 위한 대책 마련이 필요한 실정이다.
이와 관련해서, 라우터 장비에 현재 연결되어 있는 클라이언트 단말이 특정 사이트에 접속함에 따라, 라우터 장비로부터, 특정 사이트의 접속 주소 정보가 수신되면, 특정 사이트의 접속 주소 정보를 기초로, 특정 사이트에 접속한 후, 특정 사이트에 게시되어 있는 텍스트를 분석하고, 분석된 텍스트 내에 소정의 유해 단어가 포함되어 있는 것으로 판단될 시, 관리자 단말로, 클라이언트 단말의 식별 정보와 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송해 줄 수 있다면, 관리자는 클라이언트 단말이 유해 사이트에 접속하는 것을 방지할 수 있을 것이다.
따라서, 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 기술에 대한 연구가 필요하다.
본 발명은 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법을 제시함으로써, 관리자로 하여금 클라이언트 단말이 유해 사이트에 접속하는 것을 방지할 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른, 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버는 사전 설정된 서로 다른 복수의 단어들이 저장되어 있는 단어 데이터베이스, 상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있는 유해 단어 데이터베이스, 사전 지정된 라우터(Router) 장비에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 상기 라우터 장비로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링(Crawling)하는 크롤링부, 상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 상기 단어 데이터베이스를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색하는 단어 검색부, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링(Clustering)하는 클러스터링부, 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인하는 확인부 및 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송하는 경고 메시지 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른, 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법은 사전 설정된 서로 다른 복수의 단어들이 저장되어 있는 단어 데이터베이스를 유지하는 단계, 상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있는 유해 단어 데이터베이스를 유지하는 단계, 사전 지정된 라우터 장비에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 상기 라우터 장비로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링하는 단계, 상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 상기 단어 데이터베이스를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색하는 단계, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링하는 단계, 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인하는 단계 및 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송하는 단계를 포함한다.
본 발명은 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법을 제시함으로써, 관리자로 하여금 클라이언트 단말이 유해 사이트에 접속하는 것을 방지할 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 알림 서비스 서버(110)는 단어 데이터베이스(111), 유해 단어 데이터베이스(112), 크롤링부(113), 단어 검색부(114), 클러스터링부(115), 확인부(116) 및 경고 메시지 전송부(117)를 포함한다.
단어 데이터베이스(111)에는 사전 설정된 서로 다른 복수의 단어들이 저장되어 있다.
예컨대, 사전 설정된 서로 다른 복수의 단어들을 '단어 1, 단어 2, 단어 3, ..., 단어 50'이라고 하는 경우, 단어 데이터베이스(111)에는 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50'이 저장되어 있을 수 있다.
유해 단어 데이터베이스(112)에는 상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있다.
예컨대, 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50' 중에서 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29'가 복수의 유해 단어들로 사전 선별되었다고 가정하는 경우, 유해 단어 데이터베이스(112)에는 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29'가 저장되어 있을 수 있다.
이러한, 유해 단어 데이터베이스(112)에 저장되는 유해 단어들에 대한 선별은, 관리자가 직접 상기 복수의 단어들 중 유해 단어인 것으로 판단되는 단어들을 선별하는 방식으로 수행될 수도 있고, 상기 복수의 단어들을, 유해 단어 여부를 판별하기 위한 사전 기계학습이 완료된 딥러닝 모델에 입력으로 인가하여, 선별하는 방식으로 수행될 수도 있다.
크롤링부(113)는 사전 지정된 라우터(Router) 장비(100)에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 라우터 장비(100)로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링(Crawling)한다.
여기서, 단말 고유 식별 정보란 MAC 주소(Media Access Control Address), IP 주소(Internet Protocol Address), 상기 클라이언트 단말이 모바일 단말이라면, 국제모바일기기 식별코드(International Mobile Equipment Identity) 또는 상기 클라이언트 단말에 할당된 전화번호 등을 의미한다.
단어 검색부(114)는 상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 단어 데이터베이스(111)를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색한다.
먼저, 제1 사이트를 '777JACKPOT'이라고 하고, 사전 지정된 라우터 장비(100)에 현재 연결되어 있는 클라이언트 단말이 제1 사이트인 '777JACKPOT'에 접속함에 따라, 라우터 장비(100)로부터 알림 서비스 서버(110)에, '777JACKPOT'의 접속 주소 정보로, 'www.777jackpot.com'이 수신됨과 동시에, 상기 클라이언트 단말의 단말 고유 식별 정보로, '1A:00:3F:F1:4C:C5'와 같은 MAC 주소가 수신되었다고 가정하자.
그러면, 크롤링부(113)는 '777JACKPOT'의 접속 주소 정보인 'www.777jackpot.com'을 기초로 '777JACKPOT'에 접속한 후, 접속된 '777JACKPOT'에 게시되어 있는 텍스트를 크롤링할 수 있다.
이렇게, 크롤링부(113)에 의해 '777JACKPOT'에 게시되어 있는 텍스트가 크롤링되면, 단어 검색부(114)는 단어 데이터베이스(111)를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50'과 일치하는 단어들을 검색할 수 있다.
클러스터링부(115)는 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링(Clustering)한다.
이때, 본 발명의 일실시예에 따르면, 클러스터링부(115)는 임베딩 벡터 저장부(118), 제1 벡터 확인부(119) 및 단어 그룹 생성부(120)를 포함할 수 있다.
임베딩 벡터 저장부(118)에는 상기 복수의 단어들 각각에 대응되는 사전 설정된 임베딩(Embedding) 벡터가 저장되어 있다.
여기서, 단어를 밀집 벡터의 형태로 표현하는 것을 워드 임베딩(Word Embedding)이라고 하고, 상기 밀집 벡터를 임베딩 벡터라고도 하며, 워드 임베딩의 방법으로는 Word2Vec, FastText 및 GloVe 등이 있다. 이때, 상기 복수의 단어들 각각에 대응되는 임베딩 벡터는, 상기 복수의 단어들 상호 간에 사전 설정되어 있는 의미 유사도에 기초하여 각 단어에 대해 사전 설정된 벡터로서, 두 단어 간의 의미 유사도가 높을수록, 상기 두 단어의 임베딩 벡터 간의 벡터 유사도가 높게 산출되도록 지정된 벡터이다.
예컨대, 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50' 중, '단어 1, 단어 2' 간의 의미 유사도가 '단어 3, 단어 50' 간의 의미 유사도보다 높다고 하는 경우, '단어 1, 단어 2' 각각의 임베딩 벡터 간의 벡터 유사도가, '단어 3, 단어 50' 각각의 임베딩 벡터 간의 벡터 유사도보다 높게 산출되도록 지정되어 있을 수 있다.
이러한 방식으로, 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50' 각각에 대응되는 임베딩 벡터는, 두 단어 간의 연관도가 높을수록, 상기 두 단어의 임베딩 벡터 간의 벡터 유사도가 높게 산출되도록 지정되어 있을 수 있다.
이와 관련해서, 임베딩 벡터 저장부(118)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.
복수의 단어들 | 임베딩 벡터 |
단어 1 | E1 |
단어 2 | E2 |
단어 3 | E3 |
... | ... |
단어 50 | E50 |
제1 벡터 확인부(119)는 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 상기 복수의 제1 단어들이 검색되면, 임베딩 벡터 저장부(118)를 참조하여, 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 확인한다.
단어 그룹 생성부(120)는 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 기초로, 상기 복수의 제1 단어들에 대해 K-평균 군집화(K-means clustering)를 수행하여, 상기 k개의 단어 그룹들을 생성한다.
여기서, K-평균 군집화란 벡터의 형태로 구성된 데이터를 k개의 그룹으로 묶는 알고리즘을 의미하는 것으로, 데이터가 속한 그룹의 중심과 각 데이터 간의 거리를 기초로 데이터들을 k개의 그룹으로 군집화하는 알고리즘이다.
이하에서는, 제1 벡터 확인부(119) 및 단어 그룹 생성부(120)의 동작을 예를 들어 상세히 설명하기로 한다.
먼저, k를 '3'이라고 하고, 단어 검색부(114)에 의해 상기 크롤링된 텍스트 중 상기 복수의 단어들인 '단어 1, 단어 2, 단어 3, ..., 단어 50'과 일치하는 단어들로, 상기 복수의 제1 단어들인 '단어 1, 단어 3, 단어 10, 단어 12, 단어 20, 단어 22, 단어 36, 단어 40, 단어 42'가 검색되었다고 가정하자.
그러면, 제1 벡터 확인부(119)는 상기 표 1과 같은 임베딩 벡터 저장부(118)를 참조하여, 상기 복수의 제1 단어들인 '단어 1, 단어 3, 단어 10, 단어 12, 단어 20, 단어 22, 단어 36, 단어 40, 단어 42' 각각에 대응되는 임베딩 벡터인 'E1, E3, E10, E12, E20, E22, E36, E40, E42'를 확인할 수 있다.
그러고 나서, 단어 그룹 생성부(120)는 '단어 1, 단어 3, 단어 10, 단어 12, 단어 20, 단어 22, 단어 36, 단어 40, 단어 42' 각각에 대응되는 임베딩 벡터인 'E1, E3, E10, E12, E20, E22, E36, E40, E42'를 기초로, '단어 1, 단어 3, 단어 10, 단어 12, 단어 20, 단어 22, 단어 36, 단어 40, 단어 42'에 대해 K-평균 군집화를 수행하여, 3개의 단어 그룹들을 생성할 수 있다.
확인부(116)는 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인한다.
이때, 본 발명의 일실시예에 따르면, 확인부(116)는 제2 벡터 확인부(121), 유사도 판단 기준치 지정부(122) 및 단어 그룹 확인부(123)를 포함할 수 있다.
제2 벡터 확인부(121)는 상기 k개의 단어 그룹들 각각의 중심점(Centroid)에 대응되는 중심점 벡터를 확인하고, 임베딩 벡터 저장부(118)를 참조하여, 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터를 확인한다.
유사도 판단 기준치 지정부(122)는 상기 k개의 단어 그룹들 각각에 대해, 각 단어 그룹의 중심점에 대응되는 중심점 벡터와 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터 간의 벡터 유사도를 연산하여 최대치의 벡터 유사도를 각 단어 그룹에 대응되는 유사도 판단 기준치로 선별함으로써, 상기 k개의 단어 그룹들 각각에 대응되는 유사도 판단 기준치를 지정한다.
여기서, 상기 벡터 유사도를 연산하기 위해서는, 코사인 유사도 또는 유클리드 거리(Euclidean Distance)가 활용될 수 있다.
단어 그룹 확인부(123)는 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 사전 설정된 임계치를 초과하는 단어 그룹을, 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인한다.
이하에서는, 제2 벡터 확인부(121), 유사도 판단 기준치 지정부(122) 및 단어 그룹 확인부(123)의 동작을 예를 들어 상세히 설명하기로 한다.
먼저, 클러스터링부(115)에 의해 상기 3개의 단어 그룹들이 '단어 그룹 1(단어 1, 단어 10, 단어 12), 단어 그룹 2(단어 3, 단어 20, 단어 22), 단어 그룹 3(단어 36, 단어 40, 단어 42)'과 같이 생성되었다고 하는 경우, 제2 벡터 확인부(121)는 '단어 그룹 1, 단어 그룹 2, 단어 그룹 3' 각각의 중심점에 대응되는 중심점 벡터를 확인할 수 있다.
이때, 제2 벡터 확인부(121)에 의해 '단어 그룹 1, 단어 그룹 2, 단어 그룹 3' 각각의 중심점에 대응되는 중심점 벡터가 'C1, C2, C3'와 같이 확인되었다고 하는 경우, 제2 벡터 확인부(121)는 상기 표 1과 같은 임베딩 벡터 저장부(118)를 참조하여, 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29' 각각에 대응되는 임베딩 벡터인 'E1, E3, E5, E7, E9, E11, E13, E15, E17, E19, E21, E23, E25, E27, E29'를 확인할 수 있다.
그 이후, 유사도 판단 기준치 지정부(122)는 '단어 그룹 1(단어 1, 단어 10, 단어 12), 단어 그룹 2(단어 3, 단어 20, 단어 22), 단어 그룹 3(단어 36, 단어 40, 단어 42)' 각각에 대해, 각 단어 그룹의 중심점에 대응되는 중심점 벡터인 'C1, C2, C3'와 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29' 각각에 대응되는 임베딩 벡터인 'E1, E3, E5, E7, E9, E11, E13, E15, E17, E19, E21, E23, E25, E27, E29' 간의 벡터 유사도를 연산하여 최대치의 벡터 유사도를 각 단어 그룹에 대응되는 유사도 판단 기준치로 선별함으로써, '단어 그룹 1, 단어 그룹 2, 단어 그룹 3' 각각에 대응되는 유사도 판단 기준치를 지정할 수 있다.
이와 관련해서, 유사도 판단 기준치 지정부(122)가 '단어 그룹 1(단어 1, 단어 10, 단어 12)'에 대응되는 유사도 판단 기준치를 지정하는 내용을 상세히 설명하면, 다음과 같다. 먼저, '단어 그룹 1'의 중심점에 대응되는 중심점 벡터는 'C1'이므로, 유사도 판단 기준치 지정부(122)는 '단어 그룹 1'의 중심점에 대응되는 중심점 벡터인 'C1'과 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29' 각각에 대응되는 임베딩 벡터인 'E1, E3, E5, E7, E9, E11, E13, E15, E17, E19, E21, E23, E25, E27, E29' 간의 벡터 유사도를 'M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14, M15'와 같이 연산할 수 있다. 이때, 연산된 상기 벡터 유사도인 'M1, M2, M3, M4, M5, M6, M7, M8, M9, M10, M11, M12, M13, M14, M15' 중 최대치의 벡터 유사도를 'M1'이라고 가정하는 경우, 유사도 판단 기준치 지정부(122)는 최대치의 벡터 유사도인 'M1'을, '단어 그룹 1'에 대응되는 유사도 판단 기준치로 지정할 수 있다.
또한, 유사도 판단 기준치 지정부(122)가 '단어 그룹 2(단어 3, 단어 20, 단어 22)'에 대응되는 유사도 판단 기준치를 지정하는 내용을 상세히 설명하면, 다음과 같다. 먼저, '단어 그룹 2'의 중심점에 대응되는 중심점 벡터는 'C2'이므로, 유사도 판단 기준치 지정부(122)는 '단어 그룹 2'의 중심점에 대응되는 중심점 벡터인 'C2'와 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29' 각각에 대응되는 임베딩 벡터인 'E1, E3, E5, E7, E9, E11, E13, E15, E17, E19, E21, E23, E25, E27, E29' 간의 벡터 유사도를 'M16, M17, M18, M19, M20, M21, M22, M23, M24, M25, M26, M27, M28, M29, M30'과 같이 연산할 수 있다. 이때, 연산된 상기 벡터 유사도인 'M16, M17, M18, M19, M20, M21, M22, M23, M24, M25, M26, M27, M28, M29, M30' 중 최대치의 벡터 유사도를 'M17'이라고 가정하는 경우, 유사도 판단 기준치 지정부(122)는 최대치의 벡터 유사도인 'M17'을, '단어 그룹 2'에 대응되는 유사도 판단 기준치로 지정할 수 있다.
마지막으로, 이와 관련해서, 유사도 판단 기준치 지정부(122)가 '단어 그룹 3(단어 36, 단어 40, 단어 42)'에 대응되는 유사도 판단 기준치를 지정하는 내용을 상세히 설명하면, 다음과 같다. 먼저, '단어 그룹 3'의 중심점에 대응되는 중심점 벡터는 'C3'이므로, 유사도 판단 기준치 지정부(122)는 '단어 그룹 3'의 중심점에 대응되는 중심점 벡터인 'C3'와 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29' 각각에 대응되는 임베딩 벡터인 'E1, E3, E5, E7, E9, E11, E13, E15, E17, E19, E21, E23, E25, E27, E29' 간의 벡터 유사도를 'M31, M32, M33, M34, M35, M36, M37, M38, M39, M40, M41, M42, M43, M44, M45'와 같이 연산할 수 있다. 이때, 연산된 상기 벡터 유사도인 'M31, M32, M33, M34, M35, M36, M37, M38, M39, M40, M41, M42, M43, M44, M45' 중 최대치의 벡터 유사도를 'M45'라고 가정하는 경우, 유사도 판단 기준치 지정부(122)는 최대치의 벡터 유사도인 'M45'를, '단어 그룹 3'에 대응되는 유사도 판단 기준치로 지정할 수 있다.
이렇게, 유사도 판단 기준치 지정부(122)에 의해 '단어 그룹 1(단어 1, 단어 10, 단어 12), 단어 그룹 2(단어 3, 단어 20, 단어 22), 단어 그룹 3(단어 36, 단어 40, 단어 42)' 각각에 대응되는 유사도 판단 기준치인 'M1, M17, M45'가 지정되면, 단어 그룹 확인부(123)는 '단어 그룹 1, 단어 그룹 2, 단어 그룹 3' 중 유사도 판단 기준치가 사전 설정된 임계치를 초과하는 단어 그룹을, 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29'와의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인할 수 있다.
이와 관련해서, '단어 그룹 1(단어 1, 단어 10, 단어 12)'에 대응되는 유사도 판단 기준치인 'M1'과 '단어 그룹 2(단어 3, 단어 20, 단어 22)'에 대응되는 유사도 판단 기준치인 'M17'이 상기 임계치를 초과하였다고 가정하는 경우, 단어 그룹 확인부(123)는 '단어 그룹 1, 단어 그룹 2'를, 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29'와의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인할 수 있다.
경고 메시지 전송부(117)는 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말(140)로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송한다.
여기서, 유해 사이트란 안보 위해행위, 도박, 음란, 불법 의약품 판매 등과 같이, 심의가 필요하다고 인정되는 정보가 들어간 사이트를 의미한다.
예컨대, 전술한 예와 같이, 확인부(116)에 의해 '단어 그룹 1(단어 1, 단어 10, 단어 12), 단어 그룹 2(단어 3, 단어 20, 단어 22), 단어 그룹 3(단어 36, 단어 40, 단어 42)' 중 상기 복수의 유해 단어들인 '단어 1, 단어 3, 단어 5, 단어 7, 단어 9, 단어 11, 단어 13, 단어 15, 단어 17, 단어 19, 단어 21, 단어 23, 단어 25, 단어 27, 단어 29'와의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹인 '단어 그룹 1, 단어 그룹 2'가 존재하는 것으로 확인되었다고 가정하자.
그러면, 경고 메시지 전송부(117)는 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말(140)로, 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송할 수 있다.
본 발명의 일실시예에 따르면, 알림 서비스 서버(110)는 관리자 단말(140)로 상기 경고 메시지가 전송 완료되면, 상기 적어도 하나 이상의 단어 그룹에 속하는 단어들을 새로운 유해 단어들인 것으로 지정하여, 유해 단어 데이터베이스(112)에 추가로 저장할 수 있다.
본 발명의 일실시예에 따르면, 경고 메시지 전송부(117)는 관리자 단말(140)로, 상기 클라이언트 단말의 단말 고유 식별 정보와 상기 경고 메시지를 전송할 때, 상기 클라이언트 단말의 단말 고유 식별 정보가 타인에게 노출되는 것을 방지하기 위해서, 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 관리자 단말(140)로 전송할 수 있다.
이와 관련해서, 본 발명의 일실시예에 따르면, 경고 메시지 전송부(117)는 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 관리자 단말(140)로 전송하기 위한 구체적인 구성으로, 인증번호 저장부(124), 해시 함수 저장부(125), 일련번호 테이블 유지부(126), 암호화 이벤트 발생부(127), 일련번호 추출부(128), 연산 코드 생성부(129), 해시 값 생성부(130), 암호화부(131) 및 전송 처리부(132)를 포함할 수 있다.
인증번호 저장부(124)에는 관리자 단말(140)과 사전 공유하고 있는, t(t는 2 이상의 자연수임)자릿수의 인증번호가 저장되어 있다.
예컨대, t를 '4'라고 하고, 4자릿수의 인증번호를 '1230'이라고 하는 경우, 인증번호 저장부(124)에는 상기 인증번호인 '1230'이 저장되어 있을 수 있다.
해시 함수 저장부(125)에는 관리자 단말(140)과 사전 공유하고 있는, 사전 설정된 해시 함수가 저장되어 있다.
일련번호 테이블 유지부(126)는 관리자 단말(140)과 사전 공유하고 있는, 사전 설정된 복수의 시간대들 각각에 대응되는 서로 다른 t자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지한다.
예컨대, 전술한 예와 같이, t를 '4'라고 하는 경우, 일련번호 테이블 유지부(126)는 하기의 표 2와 같은 일련번호 테이블을 저장하여 유지하고 있을 수 있다.
복수의 시간대들 | 4자릿수의 일련번호 |
시간대 1(오전 0시 ~ 오전 4시) | 6401 |
시간대 2(오전 4시 ~ 오전 8시) | 3286 |
시간대 3(오전 8시 ~ 오후 12시) | 1752 |
시간대 4(오후 12시 ~ 오후 4시) | 5429 |
... | ... |
암호화 이벤트 발생부(127)는 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단된 경우, 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 전송하기 위한 암호화 이벤트를 발생시킨다.
일련번호 추출부(128)는 상기 암호화 이벤트가 발생되면, 상기 일련번호 테이블로부터, 상기 암호화 이벤트가 발생된 시점이 속한 제1 시간대에 대응되는 제1 일련번호를 추출한다.
연산 코드 생성부(129)는 상기 제1 일련번호가 추출되면, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2(Modulo-2) 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성한다.
여기서, 모듈로-2 연산은 피제수를 2로 나누는 나눗셈을 수행하여, 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.
해시 값 생성부(130)는 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(Seed) 코드를 생성한 후, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한다.
암호화부(131)는 상기 제1 해시 값이 생성되면, 상기 클라이언트 단말의 단말 고유 식별 정보를 상기 제1 해시 값으로 암호화함으로써, 제1 암호화 정보를 생성한다.
전송 처리부(132)는 상기 제1 암호화 정보가 생성되면, 관리자 단말(140)로, 상기 제1 암호화 정보를 전송하면서, 상기 경고 메시지를 전송한다.
이하에서는, 암호화 이벤트 발생부(127), 일련번호 추출부(128), 연산 코드 생성부(129), 해시 값 생성부(130), 암호화부(131) 및 전송 처리부(132)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단되었다고 가정하자.
그러면, 암호화 이벤트 발생부(127)는 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'를 암호화하여 전송하기 위한 암호화 이벤트를 발생시킬 수 있다.
이렇게, 암호화 이벤트 발생부(127)에 의해 상기 암호화 이벤트가 발생되면, 일련번호 추출부(128)는 상기 암호화 이벤트가 발생된 시점을 확인할 수 있다. 만약, 상기 암호화 이벤트가 발생된 시점을 '2022년 4월 14일 오후 3시 30분'이라고 하는 경우, 일련번호 추출부(128)는 상기 표 2와 같은 일련번호 테이블로부터, 상기 암호화 이벤트가 발생된 시점인 '2022년 4월 14일 오후 3시 30분'이 속한 '시간대 4(오후 12시 ~ 오후 4시)'에 대응되는 일련번호인 '5429'를, 제1 일련번호로 추출할 수 있다.
그러고 나서, 연산 코드 생성부(129)는 상기 인증번호인 '1230'을 구성하는 4개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 4비트의 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '5429'를 구성하는 4개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 4비트의 제2 연산 코드를 '1001'과 같이 생성할 수 있다.
그러면, 해시 값 생성부(130)는 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '1001' 간의 배타적 논리합 연산을 수행함으로써, 4비트의 시드 코드를 '0011'과 같이 생성할 수 있다.
그러고 나서, 해시 값 생성부(130)는 상기 시드 코드인 '0011'을 상기 해시 함수에 입력으로 인가하여 '26d103c620a31345ag57qat327891703'과 같은 제1 해시 값을 생성할 수 있다.
이렇게, 해시 값 생성부(130)에 의해 상기 제1 해시 값이 생성되면, 암호화부(131)는 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'를 상기 제1 해시 값인 '26d103c620a31345ag57qat327891703'으로 암호화함으로써, '암호화 정보 1'을 생성할 수 있다.
이렇게, 암호화부(131)에 의해 '암호화 정보 1'이 생성되면, 전송 처리부(132)는 관리자 단말(140)로, '암호화 정보 1'과 상기 경고 메시지를 전송할 수 있다.
이때, 본 발명의 일실시예에 따르면, 관리자 단말(140)은 메모리 상에 상기 인증번호, 상기 해시 함수 및 상기 일련번호 테이블을 사전 저장하고 있고, 알림 서비스 서버(110)로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신되면, 상기 일련번호 테이블로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신된 시점이 속한 상기 제1 시간대에 대응되는 상기 제1 일련번호를 추출한 후, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성한 후, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성하고, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 암호화 정보를 상기 제1 해시 값으로 복호화함으로써, 상기 클라이언트 단말의 단말 고유 식별 정보를 복원하여, 상기 클라이언트 단말의 단말 고유 식별 정보와 함께 상기 경고 메시지를 화면 상에 표시할 수 있다.
이하에서는, 관리자 단말(140)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, t를 '4'라고 하고, 관리자 단말(140)의 메모리 상에는, 알림 서비스 서버(110)와 사전 공유하고 있는 상기 인증번호인 '1230', 상기 해시 함수 및 상기 표 2와 같은 일련번호 테이블이 사전 저장되어 있다고 가정하자. 또한, 전술한 예와 같이, 전송 처리부(132)가 관리자 단말(140)로, '암호화 정보 1'과 상기 경고 메시지를 전송함에 따라, 알림 서비스 서버(110)로부터 관리자 단말(140)에, '암호화 정보 1'과 상기 경고 메시지가 수신되었다고 가정하자.
그러면, 관리자 단말(140)은 '암호화 정보 1'과 상기 경고 메시지가 수신된 시점을 확인할 수 있다. 여기서, '암호화 정보 1'과 상기 경고 메시지가 수신된 시점을 '2022년 4월 14일 오후 3시 31분'이라고 하는 경우, 관리자 단말(140)은 상기 표 2와 같은 일련번호 테이블로부터, '암호화 정보 1'과 상기 경고 메시지가 수신된 시점인 '2022년 4월 14일 오후 3시 31분'이 속한 '시간대 4(오후 12시 ~ 오후 4시)'에 대응되는 일련번호인 '5429'를, 상기 제1 일련번호로 추출할 수 있다.
그러고 나서, 관리자 단말(140)은 상기 인증번호인 '1230'을 구성하는 4개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 4비트의 상기 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '5429'를 구성하는 4개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 4비트의 상기 제2 연산 코드를 '1001'과 같이 생성할 수 있다.
그 이후, 관리자 단말(140)은 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '1001' 간의 배타적 논리합 연산을 수행함으로써, 4비트의 상기 시드 코드를 '0011'과 같이 생성할 수 있다.
그러고 나서, 관리자 단말(140)은 상기 시드 코드인 '0011'을 상기 해시 함수에 입력으로 인가하여 '26d103c620a31345ag57qat327891703'과 같은 상기 제1 해시 값을 생성한 후, '암호화 정보 1'을 상기 제1 해시 값인 '26d103c620a31345ag57qat327891703'으로 복호화함으로써, 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'를 복원하여, 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'와 함께 상기 경고 메시지를 화면 상에 표시할 수 있다.
본 발명의 일실시예에 따르면, 알림 서비스 서버(110)는 유해 등급 테이블 유지부(133), 개수 산정부(134), 유해 등급 추출부(135), 유해 등급 정보 추가 전송부(136) 및 접속 차단 제어 명령 전송부(137)를 더 포함할 수 있다.
유해 등급 테이블 유지부(133)는 사전 지정된 복수의 유해 등급들과, 상기 복수의 유해 등급들 각각에 대응되는 사전 설정된 단어 그룹의 개수 범위 값이 기록되어 있는 유해 등급 테이블을 저장하여 유지한다.
예컨대, 유해 등급 테이블 유지부(133)는 하기의 표 3과 같은 유해 등급 테이블을 저장하여 유지하고 있을 수 있다.
복수의 유해 등급들 | 단어 그룹의 개수 범위 값 |
3등급(보통) | 1개 이상 2개 미만 |
2등급(나쁨) | 2개 이상 3개 미만 |
1등급(매우나쁨) | 3개 이상 |
개수 산정부(134)는 경고 메시지 전송부(117)를 통해, 관리자 단말(140)로 상기 클라이언트 단말의 단말 고유 식별 정보와 상기 경고 메시지가 전송된 이후에, 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를 산정한다.
유해 등급 추출부(135)는 상기 유해 등급 테이블로부터, 상기 산정된 개수가 속하는 범위 값에 대응되어 기록되어 있는 제1 유해 등급을 추출한다.
유해 등급 정보 추가 전송부(136)는 상기 제1 유해 등급이 추출되면, 관리자 단말(140)로, 상기 제1 유해 등급에 대한 정보를 추가 전송한다.
접속 차단 제어 명령 전송부(137)는 상기 제1 유해 등급과 사전 설정된 기준 등급을 서로 비교하여, 상기 제1 유해 등급이 상기 기준 등급을 초과하는 것으로 판단되는 경우, 라우터 장비(100)로, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 것을 지시하는 접속 차단 제어 명령을 전송한다.
이하에서는, 개수 산정부(134), 유해 등급 추출부(135), 유해 등급 정보 추가 전송부(136) 및 접속 차단 제어 명령 전송부(137)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 경고 메시지 전송부(117)를 통해, 관리자 단말(140)로 상기 클라이언트 단말의 단말 고유 식별 정보인 '1A:00:3F:F1:4C:C5'와 상기 경고 메시지가 전송되었다고 가정하자.
그러면, 개수 산정부(134)는 '단어 그룹 1(단어 1, 단어 10, 단어 12), 단어 그룹 2(단어 3, 단어 20, 단어 22), 단어 그룹 3(단어 36, 단어 40, 단어 42)' 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를 산정할 수 있다.
이와 관련해서, '단어 그룹 1'에 대응되는 유사도 판단 기준치인 'M1'과 '단어 그룹 2'에 대응되는 유사도 판단 기준치인 'M17'이 상기 임계치를 초과하였다고 가정하는 경우, 개수 산정부(134)는 '단어 그룹 1, 단어 그룹 2, 단어 그룹 3' 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를, '2개'로 산정할 수 있다.
그러고 나서, 유해 등급 추출부(135)는 상기 표 3과 같은 유해 등급 테이블로부터, 상기 산정된 개수인 '2개'가 속하는 범위 값인 '2개 이상 3개 미만'에 대응되어 기록되어 있는 유해 등급인 '2등급(나쁨)'을, 제1 유해 등급으로 추출할 수 있다.
이렇게, 유해 등급 추출부(135)에 의해 상기 제1 유해 등급인 '2등급(나쁨)'이 추출되면, 유해 등급 정보 추가 전송부(136)는 관리자 단말(140)로, '2등급(나쁨)'에 대한 정보를 추가 전송할 수 있다.
그 이후, 접속 차단 제어 명령 전송부(137)는 '2등급(나쁨)'과 사전 설정된 기준 등급을 서로 비교할 수 있다.
만약, 사전 설정된 기준 등급을 '3등급(보통)'이라고 가정하는 경우, 접속 차단 제어 명령 전송부(137)는 상기 제1 유해 등급인 '2등급(나쁨)'이 상기 기준 등급인 '3등급(보통)'을 초과하는 것으로 판단함으로써, 라우터 장비(100)로, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 것을 지시하는 접속 차단 제어 명령을 전송할 수 있다.
이때, 라우터 장비(100)는 알림 서비스 서버(110)로부터 상기 접속 차단 제어 명령이 수신되면, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 사전 설정된 서로 다른 복수의 단어들이 저장되어 있는 단어 데이터베이스를 유지한다.
단계(S220)에서는 상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있는 유해 단어 데이터베이스를 유지한다.
단계(S230)에서는 사전 지정된 라우터 장비에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 상기 라우터 장비로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링한다.
단계(S240)에서는 상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 상기 단어 데이터베이스를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색한다.
단계(S250)에서는 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링한다.
단계(S260)에서는 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인한다.
단계(S270)에서는 상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기 복수의 단어들 각각에 대응되는 사전 설정된 임베딩 벡터(상기 복수의 단어들 각각에 대응되는 임베딩 벡터는, 상기 복수의 단어들 상호 간에 사전 설정되어 있는 의미 유사도에 기초하여 각 단어에 대해 사전 설정된 벡터로서, 두 단어 간의 의미 유사도가 높을수록, 상기 두 단어의 임베딩 벡터 간의 벡터 유사도가 높게 산출되도록 지정된 벡터임)가 저장되어 있는 임베딩 벡터 저장부를 유지하는 단계, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 상기 복수의 제1 단어들이 검색되면, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 확인하는 단계 및 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 기초로, 상기 복수의 제1 단어들에 대해 K-평균 군집화를 수행하여, 상기 k개의 단어 그룹들을 생성하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 단계(S260)에서는 상기 k개의 단어 그룹들 각각의 중심점에 대응되는 중심점 벡터를 확인하고, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터를 확인하는 단계, 상기 k개의 단어 그룹들 각각에 대해, 각 단어 그룹의 중심점에 대응되는 중심점 벡터와 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터 간의 벡터 유사도를 연산하여 최대치의 벡터 유사도를 각 단어 그룹에 대응되는 유사도 판단 기준치로 선별함으로써, 상기 k개의 단어 그룹들 각각에 대응되는 유사도 판단 기준치를 지정하는 단계 및 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 사전 설정된 임계치를 초과하는 단어 그룹을, 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 단계(S270)에서는 상기 관리자 단말과 사전 공유하고 있는, t(t는 2 이상의 자연수임)자릿수의 인증번호가 저장되어 있는 인증번호 저장부를 유지하는 단계, 상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 해시 함수가 저장되어 있는 해시 함수 저장부를 유지하는 단계, 상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 복수의 시간대들 각각에 대응되는 서로 다른 t자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단된 경우, 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 전송하기 위한 암호화 이벤트를 발생시키는 단계, 상기 암호화 이벤트가 발생되면, 상기 일련번호 테이블로부터, 상기 암호화 이벤트가 발생된 시점이 속한 제1 시간대에 대응되는 제1 일련번호를 추출하는 단계, 상기 제1 일련번호가 추출되면, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 단계, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 시드 코드를 생성한 후, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계, 상기 제1 해시 값이 생성되면, 상기 클라이언트 단말의 단말 고유 식별 정보를 상기 제1 해시 값으로 암호화함으로써, 제1 암호화 정보를 생성하는 단계 및 상기 제1 암호화 정보가 생성되면, 상기 관리자 단말로, 상기 제1 암호화 정보를 전송하면서, 상기 경고 메시지를 전송하는 단계를 포함할 수 있다.
이때, 상기 관리자 단말은 메모리 상에 상기 인증번호, 상기 해시 함수 및 상기 일련번호 테이블을 사전 저장하고 있고, 상기 알림 서비스 서버로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신되면, 상기 일련번호 테이블로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신된 시점이 속한 상기 제1 시간대에 대응되는 상기 제1 일련번호를 추출한 후, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성한 후, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성하고, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 암호화 정보를 상기 제1 해시 값으로 복호화함으로써, 상기 클라이언트 단말의 단말 고유 식별 정보를 복원하여, 상기 클라이언트 단말의 단말 고유 식별 정보와 함께 상기 경고 메시지를 화면 상에 표시할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 알림 서비스 서버의 동작 방법은 사전 지정된 복수의 유해 등급들과, 상기 복수의 유해 등급들 각각에 대응되는 사전 설정된 단어 그룹의 개수 범위 값이 기록되어 있는 유해 등급 테이블을 저장하여 유지하는 단계, 상기 관리자 단말로 상기 클라이언트 단말의 단말 고유 식별 정보와 상기 경고 메시지가 전송된 이후에, 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를 산정하는 단계, 상기 유해 등급 테이블로부터, 상기 산정된 개수가 속하는 범위 값에 대응되어 기록되어 있는 제1 유해 등급을 추출하는 단계, 상기 제1 유해 등급이 추출되면, 상기 관리자 단말로, 상기 제1 유해 등급에 대한 정보를 추가 전송하는 단계 및 상기 제1 유해 등급과 사전 설정된 기준 등급을 서로 비교하여, 상기 제1 유해 등급이 상기 기준 등급을 초과하는 것으로 판단되는 경우, 상기 라우터 장비로, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 것을 지시하는 접속 차단 제어 명령을 전송하는 단계를 더 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 알림 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 알림 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 알림 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
Claims (12)
- 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버에 있어서,사전 설정된 서로 다른 복수의 단어들이 저장되어 있는 단어 데이터베이스;상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있는 유해 단어 데이터베이스;사전 지정된 라우터(Router) 장비에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 상기 라우터 장비로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링(Crawling)하는 크롤링부;상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 상기 단어 데이터베이스를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색하는 단어 검색부;상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링(Clustering)하는 클러스터링부;상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인하는 확인부; 및상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송하는 경고 메시지 전송부를 포함하는 알림 서비스 서버.
- 제1항에 있어서,상기 클러스터링부는상기 복수의 단어들 각각에 대응되는 사전 설정된 임베딩(Embedding) 벡터 - 상기 복수의 단어들 각각에 대응되는 임베딩 벡터는, 상기 복수의 단어들 상호 간에 사전 설정되어 있는 의미 유사도에 기초하여 각 단어에 대해 사전 설정된 벡터로서, 두 단어 간의 의미 유사도가 높을수록, 상기 두 단어의 임베딩 벡터 간의 벡터 유사도가 높게 산출되도록 지정된 벡터임 - 가 저장되어 있는 임베딩 벡터 저장부;상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 상기 복수의 제1 단어들이 검색되면, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 확인하는 제1 벡터 확인부; 및상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 기초로, 상기 복수의 제1 단어들에 대해 K-평균 군집화(K-means clustering)를 수행하여, 상기 k개의 단어 그룹들을 생성하는 단어 그룹 생성부를 포함하는 알림 서비스 서버.
- 제2항에 있어서,상기 확인부는상기 k개의 단어 그룹들 각각의 중심점(Centroid)에 대응되는 중심점 벡터를 확인하고, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터를 확인하는 제2 벡터 확인부;상기 k개의 단어 그룹들 각각에 대해, 각 단어 그룹의 중심점에 대응되는 중심점 벡터와 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터 간의 벡터 유사도를 연산하여 최대치의 벡터 유사도를 각 단어 그룹에 대응되는 유사도 판단 기준치로 선별함으로써, 상기 k개의 단어 그룹들 각각에 대응되는 유사도 판단 기준치를 지정하는 유사도 판단 기준치 지정부; 및상기 k개의 단어 그룹들 중 유사도 판단 기준치가 사전 설정된 임계치를 초과하는 단어 그룹을, 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인하는 단어 그룹 확인부를 포함하는 알림 서비스 서버.
- 제1항에 있어서,상기 경고 메시지 전송부는상기 관리자 단말과 사전 공유하고 있는, t(t는 2 이상의 자연수임)자릿수의 인증번호가 저장되어 있는 인증번호 저장부;상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 해시 함수가 저장되어 있는 해시 함수 저장부;상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 복수의 시간대들 각각에 대응되는 서로 다른 t자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 일련번호 테이블 유지부;상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단된 경우, 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 전송하기 위한 암호화 이벤트를 발생시키는 암호화 이벤트 발생부;상기 암호화 이벤트가 발생되면, 상기 일련번호 테이블로부터, 상기 암호화 이벤트가 발생된 시점이 속한 제1 시간대에 대응되는 제1 일련번호를 추출하는 일련번호 추출부;상기 제1 일련번호가 추출되면, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2(Modulo-2) 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 연산 코드 생성부;상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(Seed) 코드를 생성한 후, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 해시 값 생성부;상기 제1 해시 값이 생성되면, 상기 클라이언트 단말의 단말 고유 식별 정보를 상기 제1 해시 값으로 암호화함으로써, 제1 암호화 정보를 생성하는 암호화부; 및상기 제1 암호화 정보가 생성되면, 상기 관리자 단말로, 상기 제1 암호화 정보를 전송하면서, 상기 경고 메시지를 전송하는 전송 처리부를 포함하고,상기 관리자 단말은메모리 상에 상기 인증번호, 상기 해시 함수 및 상기 일련번호 테이블을 사전 저장하고 있고, 상기 알림 서비스 서버로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신되면, 상기 일련번호 테이블로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신된 시점이 속한 상기 제1 시간대에 대응되는 상기 제1 일련번호를 추출한 후, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성한 후, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성하고, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 암호화 정보를 상기 제1 해시 값으로 복호화함으로써, 상기 클라이언트 단말의 단말 고유 식별 정보를 복원하여, 상기 클라이언트 단말의 단말 고유 식별 정보와 함께 상기 경고 메시지를 화면 상에 표시하는 것을 특징으로 하는 알림 서비스 서버.
- 제3항에 있어서,사전 지정된 복수의 유해 등급들과, 상기 복수의 유해 등급들 각각에 대응되는 사전 설정된 단어 그룹의 개수 범위 값이 기록되어 있는 유해 등급 테이블을 저장하여 유지하는 유해 등급 테이블 유지부;상기 경고 메시지 전송부를 통해, 상기 관리자 단말로 상기 클라이언트 단말의 단말 고유 식별 정보와 상기 경고 메시지가 전송된 이후에, 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를 산정하는 개수 산정부;상기 유해 등급 테이블로부터, 상기 산정된 개수가 속하는 범위 값에 대응되어 기록되어 있는 제1 유해 등급을 추출하는 유해 등급 추출부;상기 제1 유해 등급이 추출되면, 상기 관리자 단말로, 상기 제1 유해 등급에 대한 정보를 추가 전송하는 유해 등급 정보 추가 전송부; 및상기 제1 유해 등급과 사전 설정된 기준 등급을 서로 비교하여, 상기 제1 유해 등급이 상기 기준 등급을 초과하는 것으로 판단되는 경우, 상기 라우터 장비로, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 것을 지시하는 접속 차단 제어 명령을 전송하는 접속 차단 제어 명령 전송부를 더 포함하는 알림 서비스 서버.
- 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버의 동작 방법에 있어서,사전 설정된 서로 다른 복수의 단어들이 저장되어 있는 단어 데이터베이스를 유지하는 단계;상기 복수의 단어들 중에서 사전 선별된 복수의 유해 단어들이 저장되어 있는 유해 단어 데이터베이스를 유지하는 단계;사전 지정된 라우터(Router) 장비에 현재 연결되어 있는 클라이언트 단말이 제1 사이트에 접속함에 따라, 상기 라우터 장비로부터, 상기 제1 사이트의 접속 주소 정보와 상기 클라이언트 단말의 단말 고유 식별 정보가 수신되면, 상기 제1 사이트의 접속 주소 정보를 기초로 상기 제1 사이트에 접속한 후, 접속된 상기 제1 사이트에 게시되어 있는 텍스트를 크롤링(Crawling)하는 단계;상기 제1 사이트에 게시되어 있는 텍스트가 크롤링되면, 상기 단어 데이터베이스를 참조하여, 상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들을 검색하는 단계;상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 복수의 제1 단어들이 검색되면, 상기 복수의 제1 단어들 간의 의미 유사도를 기초로, 상기 복수의 제1 단어들을 k(k는 3 이상의 자연수임)개의 단어 그룹들로 클러스터링(Clustering)하는 단계;상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 사전 설정된 기준 유사도를 초과하는 단어 그룹이 존재하는지 여부를 확인하는 단계; 및상기 k개의 단어 그룹들 중 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로, 적어도 하나 이상의 단어 그룹이 존재하는 것으로 확인되면, 상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단한 후, 사전 지정된 관리자 단말로, 상기 클라이언트 단말의 단말 고유 식별 정보를 전송하면서, 상기 클라이언트 단말이 유해 사이트에 접속 시도함을 알리는 경고 메시지를 전송하는 단계를 포함하는 알림 서비스 서버의 동작 방법.
- 제6항에 있어서,상기 클러스터링하는 단계는상기 복수의 단어들 각각에 대응되는 사전 설정된 임베딩(Embedding) 벡터 - 상기 복수의 단어들 각각에 대응되는 임베딩 벡터는, 상기 복수의 단어들 상호 간에 사전 설정되어 있는 의미 유사도에 기초하여 각 단어에 대해 사전 설정된 벡터로서, 두 단어 간의 의미 유사도가 높을수록, 상기 두 단어의 임베딩 벡터 간의 벡터 유사도가 높게 산출되도록 지정된 벡터임 - 가 저장되어 있는 임베딩 벡터 저장부를 유지하는 단계;상기 크롤링된 텍스트 중 상기 복수의 단어들과 일치하는 단어들로, 상기 복수의 제1 단어들이 검색되면, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 확인하는 단계; 및상기 복수의 제1 단어들 각각에 대응되는 임베딩 벡터를 기초로, 상기 복수의 제1 단어들에 대해 K-평균 군집화(K-means clustering)를 수행하여, 상기 k개의 단어 그룹들을 생성하는 단계를 포함하는 알림 서비스 서버의 동작 방법.
- 제7항에 있어서,상기 단어 그룹이 존재하는지 여부를 확인하는 단계는상기 k개의 단어 그룹들 각각의 중심점(Centroid)에 대응되는 중심점 벡터를 확인하고, 상기 임베딩 벡터 저장부를 참조하여, 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터를 확인하는 단계;상기 k개의 단어 그룹들 각각에 대해, 각 단어 그룹의 중심점에 대응되는 중심점 벡터와 상기 복수의 유해 단어들 각각에 대응되는 임베딩 벡터 간의 벡터 유사도를 연산하여 최대치의 벡터 유사도를 각 단어 그룹에 대응되는 유사도 판단 기준치로 선별함으로써, 상기 k개의 단어 그룹들 각각에 대응되는 유사도 판단 기준치를 지정하는 단계; 및상기 k개의 단어 그룹들 중 유사도 판단 기준치가 사전 설정된 임계치를 초과하는 단어 그룹을, 상기 복수의 유해 단어들과의 의미 유사도가 상기 기준 유사도를 초과하는 단어 그룹으로 확인하는 단계를 포함하는 알림 서비스 서버의 동작 방법.
- 제6항에 있어서,상기 경고 메시지를 전송하는 단계는상기 관리자 단말과 사전 공유하고 있는, t(t는 2 이상의 자연수임)자릿수의 인증번호가 저장되어 있는 인증번호 저장부를 유지하는 단계;상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 해시 함수가 저장되어 있는 해시 함수 저장부를 유지하는 단계;상기 관리자 단말과 사전 공유하고 있는, 사전 설정된 복수의 시간대들 각각에 대응되는 서로 다른 t자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계;상기 클라이언트 단말이 유해 사이트에 접속을 시도하려는 상황이 발생한 것으로 판단된 경우, 상기 클라이언트 단말의 단말 고유 식별 정보를 암호화하여 전송하기 위한 암호화 이벤트를 발생시키는 단계;상기 암호화 이벤트가 발생되면, 상기 일련번호 테이블로부터, 상기 암호화 이벤트가 발생된 시점이 속한 제1 시간대에 대응되는 제1 일련번호를 추출하는 단계;상기 제1 일련번호가 추출되면, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2(Modulo-2) 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 단계;상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(Seed) 코드를 생성한 후, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계;상기 제1 해시 값이 생성되면, 상기 클라이언트 단말의 단말 고유 식별 정보를 상기 제1 해시 값으로 암호화함으로써, 제1 암호화 정보를 생성하는 단계; 및상기 제1 암호화 정보가 생성되면, 상기 관리자 단말로, 상기 제1 암호화 정보를 전송하면서, 상기 경고 메시지를 전송하는 단계를 포함하고,상기 관리자 단말은메모리 상에 상기 인증번호, 상기 해시 함수 및 상기 일련번호 테이블을 사전 저장하고 있고, 상기 알림 서비스 서버로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신되면, 상기 일련번호 테이블로부터, 상기 제1 암호화 정보와 상기 경고 메시지가 수신된 시점이 속한 상기 제1 시간대에 대응되는 상기 제1 일련번호를 추출한 후, 상기 인증번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성한 후, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성하고, 상기 시드 코드를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 암호화 정보를 상기 제1 해시 값으로 복호화함으로써, 상기 클라이언트 단말의 단말 고유 식별 정보를 복원하여, 상기 클라이언트 단말의 단말 고유 식별 정보와 함께 상기 경고 메시지를 화면 상에 표시하는 것을 특징으로 하는 알림 서비스 서버의 동작 방법.
- 제8항에 있어서,사전 지정된 복수의 유해 등급들과, 상기 복수의 유해 등급들 각각에 대응되는 사전 설정된 단어 그룹의 개수 범위 값이 기록되어 있는 유해 등급 테이블을 저장하여 유지하는 단계;상기 관리자 단말로 상기 클라이언트 단말의 단말 고유 식별 정보와 상기 경고 메시지가 전송된 이후에, 상기 k개의 단어 그룹들 중 유사도 판단 기준치가 상기 임계치를 초과하는 단어 그룹이 존재하는 개수를 산정하는 단계;상기 유해 등급 테이블로부터, 상기 산정된 개수가 속하는 범위 값에 대응되어 기록되어 있는 제1 유해 등급을 추출하는 단계;상기 제1 유해 등급이 추출되면, 상기 관리자 단말로, 상기 제1 유해 등급에 대한 정보를 추가 전송하는 단계; 및상기 제1 유해 등급과 사전 설정된 기준 등급을 서로 비교하여, 상기 제1 유해 등급이 상기 기준 등급을 초과하는 것으로 판단되는 경우, 상기 라우터 장비로, 상기 클라이언트 단말에 대한 인터넷 접속 차단을 수행할 것을 지시하는 접속 차단 제어 명령을 전송하는 단계를 더 포함하는 알림 서비스 서버의 동작 방법.
- 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
- 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/918,120 US11681779B1 (en) | 2022-04-29 | 2022-05-27 | Notification service server capable of providing access notification service to harmful sites and operating method thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0053642 | 2022-04-29 | ||
KR1020220053642A KR102421572B1 (ko) | 2022-04-29 | 2022-04-29 | 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023210861A1 true WO2023210861A1 (ko) | 2023-11-02 |
Family
ID=82400745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/007533 WO2023210861A1 (ko) | 2022-04-29 | 2022-05-27 | 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102421572B1 (ko) |
WO (1) | WO2023210861A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102503471B1 (ko) * | 2022-09-15 | 2023-02-27 | 주식회사 프랭클린테크놀로지 | 등급에 따른 인터넷 접속 관리 서비스를 수행할 수 있는 서비스 서버 및 그 동작 방법 |
KR102518505B1 (ko) * | 2022-10-25 | 2023-04-05 | 주식회사 프랭클린테크놀로지 | 인터넷 및 애플리케이션의 사용 제한을 위한 스케줄 제어를 수행하는 전자 단말 장치 및 그 동작 방법 |
KR102532655B1 (ko) * | 2022-10-25 | 2023-05-15 | 주식회사 프랭클린테크놀로지 | 인터넷 사용 제한을 위한 스케줄링 규칙의 설정을 통해 전자 단말에 대한 인터넷 접속 관리를 수행할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법 |
KR102618060B1 (ko) * | 2023-03-21 | 2023-12-27 | (주)노웨어소프트 | 인공지능 알고리즘 기반의 비속어 필터링 장치 및 방법 |
KR102688968B1 (ko) * | 2024-03-12 | 2024-07-26 | 주식회사 리체 | 인공지능을 활용하여 bnpl 비즈니스와 관련된 경고 메시지를 생성하는 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060062300A (ko) * | 2004-12-03 | 2006-06-12 | 한국전자통신연구원 | 유해 사이트 차단을 위한 다단계 텍스트 필터링 방법 |
KR20070003495A (ko) * | 2005-07-02 | 2007-01-05 | 한국전자통신연구원 | 유해 사이트 수집 장치 및 그 방법 |
KR20130005158A (ko) * | 2011-07-05 | 2013-01-15 | (주)마이크로다이스 | 유해 사이트 차단 시스템 및 방법 |
KR20190056946A (ko) * | 2017-11-17 | 2019-05-27 | 주식회사 바이널익스피리언스 | 이동 단말기의 사용을 제한하고, 상기 이동 단말기에 설치된 애플리케이션의 유해 점수를 계산하는 디지털 디톡스 프로그램과 디지털 디톡스 서비스 제공 방법 |
KR20210097408A (ko) * | 2020-01-30 | 2021-08-09 | 한국전자통신연구원 | 유해 웹사이트 정보의 업데이트 장치 및 이에 의한 방법 |
-
2022
- 2022-04-29 KR KR1020220053642A patent/KR102421572B1/ko active IP Right Grant
- 2022-05-27 WO PCT/KR2022/007533 patent/WO2023210861A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060062300A (ko) * | 2004-12-03 | 2006-06-12 | 한국전자통신연구원 | 유해 사이트 차단을 위한 다단계 텍스트 필터링 방법 |
KR20070003495A (ko) * | 2005-07-02 | 2007-01-05 | 한국전자통신연구원 | 유해 사이트 수집 장치 및 그 방법 |
KR20130005158A (ko) * | 2011-07-05 | 2013-01-15 | (주)마이크로다이스 | 유해 사이트 차단 시스템 및 방법 |
KR20190056946A (ko) * | 2017-11-17 | 2019-05-27 | 주식회사 바이널익스피리언스 | 이동 단말기의 사용을 제한하고, 상기 이동 단말기에 설치된 애플리케이션의 유해 점수를 계산하는 디지털 디톡스 프로그램과 디지털 디톡스 서비스 제공 방법 |
KR20210097408A (ko) * | 2020-01-30 | 2021-08-09 | 한국전자통신연구원 | 유해 웹사이트 정보의 업데이트 장치 및 이에 의한 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102421572B1 (ko) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023210861A1 (ko) | 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법 | |
WO2018101727A1 (ko) | 인증프로세스의 단계분할과 생체인증을 접목한 개인정보침해 방어 방법 및 시스템 | |
WO2013025060A2 (ko) | 사물지능통신에서 puf에 기반한 장치간 보안 인증 장치 및 방법 | |
WO2020147383A1 (zh) | 基于区块链系统的流程审批方法、装置、系统及非易失性存储介质 | |
WO2016190476A1 (ko) | 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치 | |
WO2014030911A1 (ko) | 인증 정보 처리 장치 및 방법 | |
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 | |
WO2023210860A1 (ko) | 단말 그룹핑 기반의 인터넷 접속 관리 서비스를 제공할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법 | |
WO2020220413A1 (zh) | 个人信息的零知识证明方法、系统及存储介质 | |
WO2019156533A1 (ko) | 블록 체인에 기반한 노드 장치, 노드 장치의 동작 방법 및 데이터 처리 시스템 | |
US11595209B2 (en) | Information processing system, information processing method, and information processing apparatus | |
WO2015069018A1 (ko) | 보안 로그인 시스템, 방법 및 장치 | |
WO2019139420A1 (ko) | 전자 장치, 서버 및 그 제어 방법 | |
WO2020101087A1 (ko) | 개인정보 처리를 위한 암호화 시스템 및 방법 | |
US10673627B2 (en) | Encryption device, search device, computer readable medium, encryption method, and search method | |
CN113489710A (zh) | 一种文件共享方法、装置、设备和存储介质 | |
WO2018032583A1 (zh) | 一种终端位置信息获取方法及装置 | |
CN114710274A (zh) | 数据调用方法、装置、电子设备及存储介质 | |
WO2015026083A1 (ko) | 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법 | |
WO2010079878A1 (ko) | 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법 | |
WO2011111981A2 (ko) | 데이터 자동 암복호화 방법 및 장치 | |
WO2011078535A2 (ko) | 개인 정보를 순서 정보와 내용 정보로 분리하여 암호화하고 합성하는 방법, 장치, 서버 및 기록 매체 | |
WO2023191216A1 (ko) | 데이터 암호화 및 복호화 시스템, 방법 | |
JPH1124997A (ja) | コンピュータで作成された記録ファイルの機密保持方法及び機密保持プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
WO2022080547A1 (ko) | 웹 브라우저 기반 컨텐츠의 보안을 위한 서비스 제공 방법 |
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: 22940355 Country of ref document: EP Kind code of ref document: A1 |