WO2015080378A1 - 공유 단말 식별 방법 및 그 시스템 - Google Patents

공유 단말 식별 방법 및 그 시스템 Download PDF

Info

Publication number
WO2015080378A1
WO2015080378A1 PCT/KR2014/009559 KR2014009559W WO2015080378A1 WO 2015080378 A1 WO2015080378 A1 WO 2015080378A1 KR 2014009559 W KR2014009559 W KR 2014009559W WO 2015080378 A1 WO2015080378 A1 WO 2015080378A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
environment information
internet access
address
terminal identification
Prior art date
Application number
PCT/KR2014/009559
Other languages
English (en)
French (fr)
Inventor
이윤석
공경필
전선민
Original Assignee
플러스기술주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 플러스기술주식회사 filed Critical 플러스기술주식회사
Publication of WO2015080378A1 publication Critical patent/WO2015080378A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Definitions

  • the present invention relates to a method and system for identifying a shared terminal, and more particularly, to a method and system for identifying whether multiple terminals share one IP (Internet Protocol) address and use the same. will be.
  • IP Internet Protocol
  • ISP Intenet Service Provider
  • some users use a plurality of terminals in a single line by using an internet router.
  • the technical problem to be achieved by the present invention is whether to install a separate application in the terminal or whether the terminal sharing the IP address based on the terminal environment information, such as the type and version information of the Internet connection browser being used in the terminal without the process of redirection It is to provide a method and system that can be easily identified.
  • Another technical problem to be solved by the present invention is to reduce the server load and misdetect by applying a precision detection algorithm only to the primary identified candidate group based on the terminal environment information such as the type and version information of the Internet access browser being used in the terminal.
  • the present invention provides a method and system for identifying a shared terminal capable of preventing the error.
  • an example of a sharing terminal identification method includes: receiving an Internet connection request of a terminal; Identifying terminal environment information including type and version information of an internet access browser included in the internet access request; Storing the terminal environment information in a detection database along with an IP address of the terminal or a user identifier mapped with the IP address; Determining the number of different terminal environment information belonging to the terminal's IP address or user identifier; And identifying whether to share based on the number.
  • another example of a sharing terminal identification method includes: receiving an Internet connection request of a terminal; Identifying terminal environment information including type and version information of an internet access browser included in the internet access request; Storing the terminal environment information in a primary detection database together with an IP address of the terminal or a user identifier mapped to the IP address; Identifying the number of terminal environment information different from the IP address or the user identifier of the terminal with reference to the primary detection database; If the number of different terminal environment information is out of a predetermined reference value, the shared terminal identification server to store a terminal identification code for distinguishing the terminal and the first command to reconnect to the site to be accessed from the Internet access request or Generating a response packet including a second command requesting reconnection to a virtual website and transmitting the response packet to the terminal; When reconnecting the terminal according to the second command, transmitting the terminal identification code to the terminal so that the Internet access browser used for the internet connection of the terminal can be stored in an accessible space; Storing the terminal
  • Another example of a shared terminal identification method for achieving the above technical problem is that the terminal environment information including the type and version information of the Internet connection browser included in the Internet connection request of the terminal to a single IP address Selecting a candidate group for detection based on whether there are a plurality of candidates; And detecting a shared terminal by redirecting an internet access request of a terminal belonging to the detection target candidate group, planting a terminal identification code in the terminal, and identifying the number of terminal identification codes belonging to one IP address.
  • the present invention it is possible to easily identify whether or not a shared terminal by using a terminal environment information such as the type and version of the browser in use in the terminal without inserting a separate detection algorithm or redirection to the terminal almost affects the Internet traffic In addition, even if a failure occurs in the shared terminal identification server, it does not affect the Internet use of the terminal at all.
  • FIG. 1 is a diagram illustrating a schematic structure of an entire system to which a sharing terminal identification method according to the present invention is applied;
  • FIG. 2 is a view showing the configuration of an example of a shared terminal identification server according to the present invention.
  • FIG. 3 illustrates an example of a method for generating a filtering database according to the present invention
  • FIG. 4 is a diagram illustrating an example of data stored in a filtering database according to the present invention.
  • FIG. 5 is a diagram illustrating an example of a method for generating a candidate group database according to the present invention
  • FIG. 6 is a diagram illustrating an example of data stored in a primary detection database according to the present invention.
  • FIG. 7 is a view showing an example of a precise detection method of a shared terminal using a candidate group database according to the present invention.
  • FIG. 8 is a diagram illustrating an example of a method of preventing a detection error of a terminal using a plurality of browsers according to the present invention.
  • FIG. 1 is a diagram illustrating a schematic structure of an entire system to which a sharing terminal identification method according to the present invention is applied.
  • a plurality of terminals 100, 110, and 112 use the Internet using a single public IP address using an internet router.
  • An internet router (not shown) changes a public IP address of a packet coming into the internal network 115 from the Internet 120 to a private IP address, and changes a private IP address of a packet going from the internal network 115 to the Internet 120.
  • a plurality of terminals (100, 110, 112) to use the Internet using a single public IP. That is, when viewed from the outside, such as the Internet server 140, the internal network 115 composed of a plurality of terminals appears to be one terminal.
  • the traffic mirroring apparatus 130 mirrors the packets transmitted from the terminals 100, 110, and 112, and transmits them to the shared terminal identification server 150. Since the shared terminal identification server 150 receives the packet through the traffic mirroring device 130, even if a failure occurs in the server 150 and normal operation is not possible, the shared terminal identification server 150 does not affect the Internet use of the terminals 100, 110, and 112. According to an exemplary embodiment, the shared terminal identification server 150 may be implemented at various locations of the traffic mirroring device 130 without the traffic mirroring device 130 or together with the Internet server 140. .
  • the terminals 100, 110, and 112 have various operating systems, such as Windows NT, Windows 98, and Linux, and include at least one or more various Internet access browsers (eg, Internet Explorer, Safari, etc.) for Internet access.
  • the type or version of the network framework of each terminal (110, 110, 112) may be different from each other. Therefore, the terminal 100, 110, 112 transmits the terminal environment information including the browser type and version information of the terminal (100, 110, 112) in the Internet connection request packet so that the Internet server 140 knows.
  • the terminal environment information such as the type and version of the operating system, the type and version of the Internet access browser may be different for each terminal (100, 110, 112) can identify whether the shared terminal.
  • FIG. 2 is a diagram illustrating a configuration of an example of a shared terminal identification server according to the present invention.
  • the shared terminal identification server 150 includes a candidate selection unit 200, a filtering database 210, a primary detection database 220, a blocking change unit 225, a candidate group database 230, and a precision detection unit. 240 and secondary detection database 250.
  • the shared terminal identification server 150 is shown as one server in the present embodiment, the method of implementing the shared terminal may be variously changed, such as being configured by a plurality of servers or a distributed system.
  • the filtering database 210 stores a list of various combinations, such as the type and version of the Windows operating system and the type and version of the Internet access browser, which can be included in the packet when the user makes an Internet connection request through the Internet access browser.
  • the Internet access request is not only when the user makes a request through the Internet access browser, but also various programs or agents (for example, system agents, etc.) being used in the terminal are connected to a specific server as needed regardless of the user's request. You may be asked to connect to the Internet.
  • the terminal environment information included in the Internet access request of the user through the Internet access browser and the Internet access request by the system agent may be different from each other as the requesting subject is different.
  • terminal environment information is unconditionally collected, a plurality of different terminal environment information for one terminal (that is, the first terminal environment information when the Internet connection browser requests the Internet connection, the second terminal environment information when the Internet connection request of the system agent is connected) ) Is detected, and one terminal may be misdetected to a plurality of terminals.
  • the filtering database 210 generates and stores an example (ie, a white list) of terminal environment information corresponding to the user's Internet connection request through the Internet access browser, and then stores the terminal environment information of the terminal having the terminal environment information present in the filtering database. Find out if it is a shared terminal only for Internet connection requests.
  • an example ie, a white list
  • the filtering database 210 generates and stores an example (ie, a white list) of terminal environment information corresponding to the user's Internet connection request through the Internet access browser, and then stores the terminal environment information of the terminal having the terminal environment information present in the filtering database. Find out if it is a shared terminal only for Internet connection requests.
  • the generation of the filtering database will be described in detail with reference to FIG. 3.
  • the candidate selecting unit 200 determines whether the terminal environment information included in the internet access request exists in the filtering database 210.
  • the candidate selecting unit 200 stores the IP address and the terminal environment information of the terminal in the primary detection database 220.
  • the candidate selecting unit 200 may assign a user identifier to each IP address, and then store terminal environment information and the like together with the user identifier in the primary detection database 220. Information can also be stored.
  • the candidate selecting unit 200 refers to the primary detection database, and if the number of different terminal environment information in the same IP address (or user identifier) is out of the predetermined reference value, the candidate group database is selected as a candidate group for the precise detection by selecting the corresponding IP address. Save to 230.
  • the generation of the candidate group database 230 will be described in detail with reference to FIG. 5.
  • the shared terminal identification server including only the candidate selection unit 200, the filtering database 210, and the primary detection database 220 may be constructed.
  • the terminal selected by the candidate selecting unit 200 as the candidate group through the primary detection database 220 becomes a shared terminal soon, and grasps the number of shared terminals based on the number of different terminal environment information.
  • the precision detection unit 240 When the precision detection unit 240 receives the Internet connection request of the terminal through the traffic mirroring device 130, it determines whether the terminal exists in the candidate group database 230. If the terminal is present in the candidate group database 230, the precision detection unit 240 is a shared terminal identification server to store the terminal identification code in the terminal and the first request including the reconnection command to the site to which the terminal originally intended to connect ( 150) or generates a response packet including a second request for requesting reconnection to the virtual website and transmits to the terminal. The transmission of the response packet should be made earlier than the response of the Internet server 140 to be originally connected in the Internet access request of the terminal.
  • the terminal Upon receiving the response packet, the terminal reconnects to the site to which it originally intended according to the first request and reconnects to the shared terminal identification server 150 or the virtual website according to the second request, and is generated in the shared terminal identification server 150.
  • the terminal identification code is stored in a storage space accessible to the Internet access browser.
  • the precision detection unit 240 detects the terminal identification code included in the reconnection request of the terminal, stores the terminal identification code in the secondary detection database 250, and then selects the shared terminal based on whether a plurality of terminal identification codes are detected for one IP. To identify.
  • the shared terminal identification process of the precision detection unit 240 will be described in detail with reference to FIG. 7.
  • a method for preventing false detection when the terminal uses a plurality of browsers will be described with reference to FIG. 8.
  • the shared terminal detection server may further include a block change unit 225. If the number of different terminal environment information in the same IP address (or user identifier) is out of the preset reference value, the blocking change unit 225 is out of the allowable number of terminals to the current Internet access request terminal. Create and send a notification window for notifying, the notification window may be provided with a button to change the terminal allowed. This will be described in detail with reference to FIG. 5.
  • FIG. 3 is a diagram illustrating an example of a method of generating a filtering database according to the present invention.
  • the shared terminal identification server 150 receives the Internet access request of the terminal through the traffic mirroring device 130 (S300), information such as the type and version of the Internet access browser included in the Internet access request is included. Determine the terminal environment information including the (S310).
  • the Internet access request may be requested not only by the user through the Internet access browser but also by various programs or system agents running on the terminal. Therefore, the shared terminal identification server 150 predefines an example of terminal environment information included only in the case of an Internet access request by a system agent or the like, which is not included in the Internet access request through the user's Internet access browser. If the Internet access request that includes the exception information after the filtering is discarded (S320).
  • the filtering step S320 is effective to partially reduce the processing load of the shared terminal identification server 150, and may be omitted according to embodiments.
  • the shared terminal identification server 150 In order to construct a list of terminal environment information (ie, a white list) corresponding only to an internet access request through a user's internet access browser, the shared terminal identification server 150 accumulates terminal environment information belonging to the internet access request for a certain period of time. The distribution is calculated (S330). Since most of the Internet access requests are made through the user's Internet access browser, the shared terminal identification server 150 extracts the terminal environment information belonging to the upper predetermined range (for example, 20% range) based on the cumulative number of times. It generates the filtering database (S340). The generation of the filtering database may be generated in advance before performing the step of identifying the shared terminal of FIG. 5 or 7 or updated in real time with the step of FIG. 5 or 7.
  • FIG. 4 is a diagram illustrating an example of data stored in a filtering database according to the present invention.
  • the filtering database 400 includes a code value 420 mapped to the terminal environment information 410.
  • the terminal environment information includes operating system or browser type and version information or version information of various network frameworks.
  • the terminal environment information is different from each other according to the environment of each terminal.
  • the size of the terminal environment information indicating each terminal may also be different from each other.
  • FIG. 4 As an example of the terminal environment information, only the browser type (Internet Explorer (MSIE)) and its version information (6.0), the type and version information of the operating system (windows 98, Windows NT 4.0) is shown for convenience of description only
  • MSIE Internet Explorer
  • 6.0 the type and version information of the operating system
  • windows 98, Windows NT 4.0 various information representing the environment of the terminal may be included in the Internet access request, and the greater the amount of information, the higher the ability to identify the terminal.
  • mapping with each terminal environment information in order to reduce the time required when performing comparison operations on terminal environment information having different sizes of several tens of bytes.
  • code values for example, 4 bytes of integer data.
  • the filtering database 400 stores only the terminal environment information 410 without the code value 420 and performs a comparison operation with the terminal environment information 410 itself. can do.
  • FIG. 5 is a diagram illustrating an example of a method for generating a candidate group database according to the present invention.
  • the shared terminal identification server 150 determines the terminal environment information included in the Internet access request (S510).
  • the shared terminal identification server 150 checks whether the terminal environment information exists in the filtering database 400 (FIG. 4) (S520).
  • the shared terminal identification server 150 may perform the candidate group database generation process only when the type of the web browser used for the Internet access request is a specific web browser.
  • the method may further include a configuration for identifying whether the web browser determined based on the terminal environment information of the access request is a specific web browser (not shown).
  • the shared terminal identification server 150 may be implemented to perform the process of FIG. 5 only when the web browser used for the Internet access request is an Internet Explorer.
  • the shared terminal identification server 150 grasps the code value 420 mapped to the terminal environment information 410 (S530), and the code value of the terminal. It is stored in the primary detection database 220 with the IP address (or user identifier) and the like (S540). If the "code value-IP address (or user identifier)" already exists in the primary detection database 220, the shared terminal identification server 150 does not need to store the terminal environment information again, and the primary detection database ( If the reception time information is managed in step 220, the reception time is updated.
  • the shared terminal identification server 150 When the reception time information is stored and managed by the primary detection database 220, the shared terminal identification server 150 primaryly stores terminal environment information that has passed a predetermined time range (for example, one day, one week, or the like). It may be deleted from the detection database 220 to prevent false detection when the operating system of the terminal or the type of browser is changed.
  • a predetermined time range for example, one day, one week, or the like.
  • the shared terminal identification server 150 determines the number of different code values (or terminal environment information) belonging to the IP address (or user identifier) of the terminal corresponding to the Internet access request (S550). For example, as shown in FIG. 6, two code values 'code 1' and 'code 2' may exist for the user identifier 'A' in the primary detection database 600. When the number of code values deviates from the reference value (S560), the shared terminal identification server 150 recognizes the corresponding IP address (or user identifier) as the shared terminal and stores the same in the candidate group database 230 (S570). For example, when the reference value is 1, the user identifiers 'A' and 'B' of FIG. 6 have two different code values, and thus are stored in the candidate group database 230.
  • the shared terminal identification server 150 is allowed.
  • a notification window indicating that the number is out of number is generated and transmitted to the terminal (S580).
  • the notification window is displayed on the screen of the terminal, a button for changing the allowed terminal is present in the notification window.
  • the terminal change button the terminal transmits the allowed terminal change request including the terminal environment information to the shared terminal identification server 150.
  • the shared terminal identification server 150 When the shared terminal identification server 150 receives the allowed terminal change request from the terminal (S585), the terminal environment information (or mapped code value) of the terminal included in the allowed terminal change request is designated as an internet allowable terminal. It is stored in the detection database 220. In addition, the shared terminal identification server 150 changes any one of the terminal environment information (or mapped code value) of the previous Internet allowed terminal to an unusable state of the Internet to block the use of the Internet and prevent the use of the internet of the requesting terminal change request. Allow (S590). The process of transmitting the notification window to the terminal and performing the change of the allowed terminal (S580, S585, S590) may be omitted according to an embodiment.
  • FIG. 6 is a diagram illustrating an example of data stored in a primary detection database according to the present invention.
  • the primary detection database 600 stores a code value 610 and a user identifier (or IP address) 620 mapped with terminal environment information. As described above, if the filtering database 400 does not provide a code value mapped to the terminal environment information, the primary detection database 600 may not be the code value 610 but the terminal environment information and the user identifier (or IP address) of the terminal. Save). In this case, the user identifier is an identifier assigned to the IP address of the terminal.
  • FIG. 7 is a diagram illustrating an example of a precise detection method of a shared terminal using a candidate group database according to the present invention.
  • the shared terminal identification server 150 when the shared terminal identification server 150 receives the Internet access request of the terminal through the traffic mirroring device 130 (S700), the URL address of the site to which the Internet access request is to be connected is added to the candidate URL list. Determine whether there exists (S705).
  • the candidate URL list is an address list of a site frequently accessed by a general user and may include 10 or 100 address lists according to embodiments. Therefore, the shared terminal identification server 150 may reduce the load of the server because it does not need to perform the process of identifying whether the shared terminal for all the Internet access requests.
  • the configuration for determining whether a URL list exists (S705) may be omitted.
  • the shared terminal identification server 150 determines whether the IP address (or user identifier) of the terminal exists in the candidate group database 230 (S710). Steps S705 and S710 may be performed in reverse order.
  • the shared terminal identification server 150 if the IP address (or user identifier) of the terminal exists in the candidate group database (230) (S720), the terminal and the first command for requesting reconnection to the website that the terminal originally wants to connect to the shared terminal.
  • a response packet including a second command for requesting access to the identification server 150 or the virtual website is generated and transmitted to the terminal (S715).
  • the shared terminal identification server 150 constructs a response packet composed of a 100% frame displayed on the screen of the terminal and a second command composed of 0% frame not displayed on the screen of the terminal, and transmits the response packet to the terminal.
  • a response packet comprising the first command in 100% frame and the second command in script may be generated and transmitted.
  • the shared terminal identification server 150 If there is no terminal identification code in the access request packet (S725), the shared terminal identification server 150 generates a new terminal identification code, and secondary information such as the terminal identification code and the IP address (or user identifier) of the terminal. It is stored in the detection database (S735). The shared terminal identification server transmits the terminal identification code to the terminal (S735). When the terminal receives the terminal identification code, the terminal stores the access request packet in a storage location (eg, a cookie) accessible by the web browser.
  • a storage location eg, a cookie
  • the terminal identification code may be a unique value generated directly by the shared terminal identification server 150 or may be a kind of cookie or flash shared object included in an internet access request.
  • the shared terminal identification server 150 transmits the terminal identification code to the terminal without storing the newly generated terminal identification code in the secondary detection database (S735), and subsequently receives an access request packet including the terminal identification code.
  • the terminal identification code may be stored in the secondary detection database.
  • the shared terminal identification server 150 determines whether the corresponding terminal identification code exists in the secondary detection database (S740). If the terminal identification code exists in the secondary detection database (S740), the terminal is detected before the terminal is terminated without performing any further detection process.
  • the secondary detection database 150 may further include reception time information, and if the terminal identification code already exists in the secondary detection database 250 (S740), the shared terminal identification server 150 Receive time can be updated without needing to save terminal identification code
  • the terminal identification code of the access request packet does not exist in the secondary detection database 250 (S740)
  • the terminal identification code is stored in the secondary detection database 250 because it is the first terminal detected (S745).
  • the storage step of step S745 may be omitted.
  • the S745 stage exists, the storing process of the S730 stage may be omitted.
  • both steps s730, S745 storage step
  • the shared terminal identification server 150 determines the number of different terminal identification codes belonging to the IP address (or user identifier) of the terminal with reference to the secondary detection database 250 (S750), and the number of terminal identification codes is a reference value. If out, it is determined that the shared terminal outside the number of allowed terminals (S755, S760).
  • FIG. 8 is a diagram illustrating an example of a method of preventing a detection error of a terminal using a plurality of browsers according to the present invention.
  • the terminal is stored in a first storage space (eg, a cookie) accessible by an internet access browser of the terminal environment information included in the internet access request according to a request received from the shared terminal identification server 150.
  • Determine the terminal identification code (S800). If the terminal environment information includes the information of the plurality of Internet access browsers, the terminal identification code stored in the first storage space accessible only by the browser currently requesting the Internet access is determined.
  • the terminal grasps a terminal identification code stored in a second storage space (eg, a flash share object) accessible by a plurality of browsers including the browser used for the current Internet access request (S810).
  • a terminal identification code stored in a second storage space eg, a flash share object
  • the terminal stores the terminal identification code stored in the second storage space in the first storage space (S830).
  • the shared terminal identification server 150 For example, if the user requests the Internet connection through the first browser of the terminal and the terminal identification code A is stored in the first storage space and the second storage space of the first browser, and then the Internet connection request through the second browser, The shared terminal identification server 150 generates a terminal identification code B and transmits it to the terminal. In this case, the shared terminal identification server 150 generates two terminal identification codes A and B for the same terminal. Incorrect detection to the terminal. Therefore, when the terminal identification code is stored in the terminal, the shared terminal identification server 150 stores the same value as the terminal identification code stored in the second storage space in the first storage space of the plurality of browsers. In this case, when the user accesses through the second browser, the Internet access request includes the terminal identification code A, thereby preventing false detection due to the use of multiple browsers.
  • the invention can also be embodied as computer readable code on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disks, optical data storage devices, and the like.
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

Abstract

공유 단말 식별 방법 및 그 시스템이 개시된다. 공유단말식별서버는 단말의 인터넷접속요청을 수신하면, 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전정보를 포함한 단말환경정보를 파악하여 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 검출 데이터베이스에 저장한 후 하나의 IP 주소 또는 사용자식별자에 대해 서로 다른 단말환경정보가 존재하는지 파악하여 공유 여부를 식별한다.

Description

공유 단말 식별 방법 및 그 시스템
본 발명은 공유 단말을 식별할 수 있는 방법 및 그 시스템에 관한 것으로서, 보다 상세하게는 여러 단말이 하나의 IP(Internet Protocol) 주소를 공유하여 사용하는지 여부를 식별할 수 있는 방법 및 그 시스템에 관한 것이다.
인터넷의 사용을 위해서 사용자는 일반적으로 ISP(Intenet Service Provider)와 1회선 1단말의 약정을 맺는다. 그러나 일부 사용자는 인터넷 공유기를 이용하여 1회선으로 복수의 단말을 사용하는 경우가 있다.
이 경우 과도한 트래픽이 발생함에 따라 원활한 서비스의 제공이 어려워질 수 있으며, 크래킹(cracking), 바이러스, 웜(worm) 등과 같은 악성 프로그램 유포와 같은 심각한 문제를 발생시킬 수 있을 뿐만 아니라 DDoS(Distributed Denial of Service)와 같은 인터넷 범죄에 이용될 수도 있다. 따라서 적절한 조치를 취할 수 있도록 하나의 IP 주소를 복수의 단말이 이용하는지 파악하는 것이 필요하다.
본 발명이 이루고자 하는 기술적 과제는, 단말에 별도의 애플리케이션을 설치하거나 리다이렉션의 과정 없이 단말에서 사용중인 인터넷접속브라우저의 종류와 버전 정보 등과 같은 단말환경정보를 기초로 IP 주소를 공유하는 단말인지 여부를 용이하게 식별할 수 있는 방법 및 그 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 단말에서 사용중인 인터넷접속브라우저의 종류와 버전 정보 등과 같은 단말환경정보를 기초로 1차 식별된 후보군에 대해서만 정밀 검출 알고리즘을 적용함으로써 서버 부하를 감소하고 오검출을 방지할 수 있는 공유 단말 식별 방법 및 그 시스템을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 다른 공유 단말 식별 방법의 일 예는, 단말의 인터넷접속요청을 수신하는 단계; 상기 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전정보를 포함한 단말환경정보를 파악하는 단계; 상기 단말환경정보를 상기 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 검출 데이터베이스에 저장하는 단계; 상기 단말의 IP 주소 또는 사용자식별자에 속한 서로 다른 단말환경정보의 개수를 파악하는 단계; 및 상기 개수를 기초로 공유 여부를 식별하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 다른 공유 단말 식별 방법의 다른 예는, 단말의 인터넷접속요청을 수신하는 단계; 상기 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전정보를 포함하는 단말환경정보를 파악하는 단계; 상기 단말환경정보를 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 1차 검출 데이터베이스에 저장하는 단계; 1차 검출 데이터베이스를 참조하여, 단말의 IP 주소 또는 사용자 식별자에 서로 다른 단말환경정보의 개수를 파악하는 단계; 서로 다른 단말환경정보의 개수가 기 설정된 기준값을 벗어나면, 상기 인터넷접속요청에서 접속하려고 하는 사이트로 재접속하라는 제1명령과 단말을 구별하기 위한 단말식별코드를 단말에 저장할 수 있도록 공유단말식별서버 또는 가상의 웹사이트로의 재접속을 요청하는 제2명령을 포함한 응답패킷을 생성하여 단말에게 전송하는 단계; 상기 제2명령에 따른 단말의 재접속시, 단말의 인터넷접속에 사용한 인터넷접속브라우저가 접근가능한 공간에 저장할 수 있도록 단말식별코드를 단말에 전송하는 단계; 단말의 IP 주소 또는 사용자 식별자와 함께 단말에 전송하는 단말식별코드를 2차 검출 데이터베이스에 저장하는 단계; 및 2차 검출 데이터베이스를 참조하여 하나의 IP 주소 또는 사용자 식별자에 속한 단말식별코드의 개수를 파악하여 공유 여부를 검출하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 다른 공유 단말 식별 방법의 다른 예는, 단말의 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전 정보를 포함하는 단말환경정보가 하나의 IP 주소에 복수 개 존재하는지 여부를 기초로 검출대상후보군을 선별하는 단계; 및 상기 검출대상후보군에 속한 단말의 인터넷접속요청을 리다이렉션하여 단말에 단말식별코드를 심은 후 하나의 IP 주소에 속한 단말식별코드의 개수를 파악하여 공유 단말을 검출하는 단계;를 포함한다.
본 발명에 따르면, 단말에 별도의 검출 알고리즘을 삽입하거나 리다이렉션 과정없이 단말에서 사용중인 브라우저의 종류와 버전 정보 등의 단말환경정보를 이용하여 용이하게 공유 단말 여부를 식별할 수 있어 인터넷 트래픽에 거의 영향을 미치지 아니할 뿐만 아니라 공유단말식별서버에 장애가 발생한 경우에도 단말의 인터넷 사용에 전혀 영향을 미치지 않는다.
또한, 단말에서 사용중인 브라우저의 종류와 버전 정보 등의 단말환경정보를 기초로 공유 단말로 1차 식별된 후보군에 대해서만 리다이렉션을 이용한 정밀 검출 알고리즘을 적용하므로 트래픽의 부하나 공유단말식별서버의 부하를 감소시킬 수 있다. 또한, 단말에서 복수의 브라우저를 사용하는 경우 하나의 단말이 복수 단말로 오검출되는 문제점을 해결할 수 있다.
도 1은 본 발명에 따른 공유 단말 식별 방법이 적용되는 전체 시스템의 개략적인 구조를 도시한 도면,
도 2는 본 발명에 따른 공유단말식별서버의 일 예의 구성을 도시한 도면,
도 3은 본 발명에 따른 필터링 데이터베이스를 생성하는 방법의 일 예를 도시한 도면,
도 4는 본 발명에 따른 필터링 데이터베이스에 저장되는 데이터의 일 예를 도시한 도면,
도 5는 본 발명에 따른 후보군 데이터베이스를 생성하는 방법의 일 예를 도시한 도면,
도 6은 본 발명에 따른 1차 검출 데이터베이스에 저장되는 데이터의 일 예를 도시한 도면,
도 7은 본 발명에 따른 후보군 데이터베이스를 이용한 공유 단말의 정밀 검출 방법의 일 예를 도시한 도면, 그리고,
도 8은 본 발명에 따른 복수 브라우저를 사용하는 단말의 검출 오류를 방지할 수 있는 방법의 일 예를 도시한 도면이다.
이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 공유 단말 식별 방법 및 그 시스템에 대해 상세히 설명한다.
도 1은 본 발명에 따른 공유 단말 식별 방법이 적용되는 전체 시스템의 개략적인 구조를 도시한 도면이다.
도 1을 참조하면, 복수의 단말(100,110,112)은 인터넷 공유기(미도기) 등을 이용하여 하나의 공인 IP 주소를 이용하여 인터넷을 사용한다. 인터넷 공유기(미도시)는 인터넷(120)에서 내부망(115)으로 들어오는 패킷의 공인 IP 주소를 사설 IP 주소로 변경하고, 내부망(115)에서 인터넷(120)으로 나가는 패킷의 사설 IP 주소를 공인 IP 주소로 변경하여 줌으로써 복수의 단말(100,110,112)이 하나의 공인 IP를 이용하여 인터넷을 사용할 수 있도록 한다. 즉, 인터넷 서버(140) 등 외부에서 바라볼 때 복수의 단말로 구성된 내부 네트워크(115)는 하나의 단말로 보인다.
트래픽미러링장치(130)는 단말(100,110,112)로부터 전송되는 패킷을 미러링하여 공유단말식별서버(150)로 전송한다. 공유단말식별서버(150)는 트래픽미러링장치(130)를 통해 패킷을 수신하므로 서버(150)에 장애가 발생하여 정상적인 동작이 불가능한 경우에도 단말(100,110,112)의 인터넷 사용에 전혀 영향을 미치지 않는다. 실시 예에 따라 공유단말식별서버(150)는 트래픽미러링장치(130) 없이 트래픽미러링장치(130)의 위치에 구현되거나 인터넷 서버(140)에 함께 구현되는 등 그 구현위치는 다양하게 설계 변경가능하다.
단말(100,110,112)은 윈도우 NT나 윈도우 98, 리눅스 등 다양한 운영체제(Operating System)를 가지며, 인터넷 접속을 위한 다양한 인터넷접속브라우저(예를 들어, 인터넷 익스플로러, 사파리 등)를 적어도 하나 이상 포함한다. 또한 각 단말(110,110,112)의 네트워크 프레임워크의 종류나 버전 등이 서로 상이할 수 있다. 따라서 단말(100,110,112)은 인터넷접속요청 패킷에 단말(100,110,112)의 브라우저 종류와 버전 정보 등을 포함하는 단말환경정보를 인터넷 서버(140)가 알 수 있도록 전송한다. 운영체제의 종류와 버전, 인터넷접속브라우저의 종류와 버전 등의 단말환경정보가 단말(100,110,112)마다 서로 상이할 수 있음에 기반하여 공유 단말 여부를 식별할 수 있다.
도 2는 본 발명에 따른 공유단말식별서버의 일 예의 구성을 도시한 도면이다.
도 2를 참조하면, 공유단말식별서버(150)는 후보선별부(200), 필터링 데이터베이스(210), 1차 검출 데이터베이스(220), 차단변경부(225), 후보군 데이터베이스(230), 정밀검출부(240) 및 2차 검출 데이터베이스(250)를 포함한다. 공유단말식별서버(150)는 본 실시 예에서 하나의 서버로 표시하였으나 복수 개의 서버로 구성되거나 분산시스템으로 구성되는 등 구현 방법을 다양하게 변경가능하다.
필터링 데이터베이스(210)는 사용자가 인터넷접속브라우저를 통해 인터넷접속요청을 하는 경우에 패킷 속에 포함될 수 있는 윈도우 운영체제의 종류와 버전, 인터넷접속브라우저의 종류와 버전 등의 다양한 조합의 리스트를 저장한다.
일반적으로 인터넷접속요청은 사용자가 인터넷접속브라우저를 통해 요청하는 경우뿐만 아니라, 사용자의 요청과 무관하게 단말에서 사용중인 각종 프로그램이나 에이전트(예를 들어, 시스템 에이전트 등) 등이 필요에 따라 특정 서버에 접속하기 위하여 인터넷접속요청하는 경우가 있다. 인터넷접속브라우저를 통한 사용자의 인터넷접속요청과 시스템 에이전트 등에 의한 인터넷접속요청에 포함되는 단말환경정보는 그 요청 주체가 상이함에 따라 서로 상이할 수 있다. 그러므로 단말환경정보를 무조건 수집한다면 하나의 단말에 대해 서로 다른 복수의 단말환경정보(즉, 인터넷접속브라우저의 인터넷접속요청시의 제1단말환경정보, 시스템에이전트의 인터넷접속요청의 제2단말환경정보)가 검출되어, 하나의 단말을 복수 단말로 오검출할 수 있다.
따라서 필터링 데이터베이스(210)는 인터넷접속브라우저를 통한 사용자의 인터넷접속요청에 해당하는 단말환경정보의 예(즉, 화이트 리스트)를 미리 생성하여 저장한 후 필터링 데이터베이스에 존재하는 단말환경정보를 가진 단말의 인터넷접속요청에 대해서만 공유 단말인지 파악한다. 필터링 데이터베이스의 생성에 대해서는 도 3을 참조하여 상세히 살펴본다.
후보선별부(200)는 단말의 인터넷접속요청을 트래픽미러링장치(130)를 통해 수신하면 인터넷접속요청에 포함된 단말환경정보가 필터링 데이터베이스(210)에 존재하는지 파악한다. 단말환경정보가 필터링 데이터베이스(210)에 존재하는 경우에, 후보선별부(200)는 단말의 IP 주소와 단말환경정보 등을 1차 검출 데이터베이스(220)에 저장한다. 다른 예로서, 후보선별부(200)는 각 IP 주소마다 사용자 식별자를 부여한 후 사용자 식별자와 함께 단말환경정보 등을 1차 검출 데이터베이스(220)에 저장할 수 있으며, 또한 인터넷접속요청의 수신 시간 등에 대한 정보도 함께 저장할 수 있다.
후보선별부(200)는 1차 검출 데이터베이스를 참조하여 동일 IP 주소(또는 사용자 식별자)에 서로 다른 단말환경정보의 개수가 기 설정된 기준값을 벗어나면 해당 IP 주소를 정밀검출 대상 후보군으로 선정하여 후보군 데이터베이스(230)에 저장한다. 후보군 데이터베이스(230)의 생성에 대해서는 도 5를 참조하여 상세히 살펴본다.
실시 예에 따라, 후보선별부(200), 필터링 데이터베이스(210) 및 1차 검출 데이터베이스(220)만으로 구성된 공유단말식별서버를 구축할 수 있다. 이 경우 후보선별부(200)가 1차 검출 데이터베이스(220)를 통해 후보군으로 선정한 단말이 곧 공유 단말이 되며, 서로 다른 단말환경정보의 개수를 기초로 공유 단말의 대수를 파악한다.
단말환경정보만을 기초로 공유 단말을 검출하는 경우에, 단말에 별도의 검출 프로그램을 설치하거나 패킷을 중간에 가로채어 단말을 구별하기 위한 단말식별코드를 단말에 심는 과정 등을 수행할 필요가 없어 단말의 인터넷 사용이나 트래픽에 전혀 영향을 미치지 아니하는 장점이 있으나, 하나의 IP를 공유하는 복수의 단말이 경우에 따라 동일한 단말환경정보를 포함하는 경우가 발생할 수도 있으므로 후보군 데이터베이스(230)에 저장된 후보군에 대해서 보다 정밀한 공유 단말 검출 과정을 수행한다.
정밀검출부(240)는 트래픽미러링장치(130)를 통해 단말의 인터넷접속요청을 수신하면, 해당 단말이 후보군 데이터베이스(230)에 존재하는지 파악한다. 해당 단말이 후보군 데이터베이스(230)에 존재하면, 정밀검출부(240)는 단말이 원래 접속하려고 하는 사이트로의 재접속 명령을 포함하는 제1요청과 단말에 단말식별코드를 저장할 수 있도록 공유단말식별서버(150) 또는 가상의 웹사이트로의 재접속을 요청하는 제2요청을 포함하는 응답패킷을 생성하여 단말로 전송한다. 응답패킷의 전송은 단말의 인터넷접속요청에서 원래 접속하고자 하는 인터넷 서버(140)의 응답보다 빨리 이루어져야 한다.
응답패킷을 수신한 단말은 제1 요청에 따라 원래 접속하려고 하는 사이트로 재접속하고 제2 요청에 따라 공유단말식별서버(150) 또는 가상의 웹사이트로 재접속하여 공유단말식별서버(150)에 생성된 단말식별코드를 인터넷접속브라우저가 접근가능한 저장공간에 저장한다.
그리고 정밀검출부(240)는 단말의 재접속 요청에 포함된 단말식별코드를 검출하여 2차 검출 데이터베이스(250)에 저장한 후 하나의 IP에 대해 복수의 단말식별코드가 검출되는지를 기초로 공유 단말을 식별한다. 정밀검출부(240)의 공유 단말 식별 과정에 대해서는 도 7을 참조하여 상세히 설명한다. 또한 단말이 복수의 브라우저를 사용하는 경우의 오검출을 방지하기 위한 방법은 도 8을 참조하여 설명한다.
일 실시 예로, 공유단말검출서버는 차단변경부(225)를 더 포함할 수 있다. 차단변경부(225)는 1차 검출 데이터베이스를 참조하여 동일 IP 주소(또는 사용자 식별자)에 서로 다른 단말환경정보의 개수가 기 설정된 기준값을 벗어나면, 현 인터넷접속요청한 단말에게 허용 단말 대수를 벗어났음을 알리는 공지창을 생성하여 전송하며, 해당 공지창은 허여 단말을 변경할 수 있는 버튼을 함께 제공할 수 있다. 이에 대해서 도 5를 참조하여 상세히 설명한다.
도 3은 본 발명에 따른 필터링 데이터베이스를 생성하는 방법의 일 예를 도시한 도면이다.
도 3을 참조하면, 공유단말식별서버(150)는 단말의 인터넷접속요청을 트래픽미러링장치(130)를 통해 수신하면(S300), 인터넷접속요청에 포함된 인터넷접속브라우저의 종류와 버전 등의 정보를 포함하는 단말환경정보를 파악한다(S310).
인터넷접속요청은 인터넷접속브라우저를 통해 사용자가 요청하는 경우뿐만 아니라 단말에 동작중인 각종 프로그램이나 시스템 에이전트 등에 의한 요청 등도 있다. 따라서 공유단말식별서버(150)는 사용자의 인터넷접속브라우저를 통한 인터넷접속요청에 포함되지 아니하는 예외정보, 즉 시스템 에이전트 등에 의한 인터넷접속요청의 경우에만 포함되는 단말환경정보의 예를 사전에 미리 정의하여 놓은 후 예외정보가 포함된 인터넷접속요청이면 이를 폐기하는 필터링을 수행한다(S320).
단말의 운영체제의 종류와 버전, 브라우저의 종류와 버전, 네트워크 프레임워크의 버전 등에 따라 수 많은 단말환경정보의 조합이 가능하므로 몇몇 예외정보의 설정만으로는 사용자의 인터넷접속브라우저를 통한 인터넷접속요청만을 걸러낼 수 없다. 필터링 단계(S320)는 공유단말식별서버(150)의 처리부하를 일부 감소시키는 데 효과가 있으며, 실시 예에 따라 생략될 수도 있다.
사용자의 인터넷접속브라우저를 통한 인터넷접속요청에만 해당하는 단말환경정보의 리스트(즉, 화이트 리스트)를 구축하기 위하여, 공유단말식별서버(150)는 일정 기간 동안 인터넷접속요청에 속한 단말환경정보의 누적분포를 산출한다(S330). 인터넷접속요청의 대부분은 사용자의 인터넷접속브라우저를 통한 요청이므로, 공유단말식별서버(150)는 누적횟수를 기준으로 상위 일정 범위(예를 들어, 20% 범위)에 속한 단말환경정보를 추출하여 이를 필터링 데이터베이스로 생성한다(S340). 필터링 데이터베이스의 생성은 도 5 또는 도 7의 공유 단말을 식별하는 단계의 수행 이전에 미리 구축되거나 도 5 또는 도 7의 단계와 함께 실시간 갱신되면서 생성될 수도 있다.
도 4는 본 발명에 따른 필터링 데이터베이스에 저장되는 데이터의 일 예를 도시한 도면이다.
도 4를 참조하면, 필터링 데이터베이스(400)는 단말환경정보(410)와 맵핑된 코드값(420)을 포함한다. 단말환경정보는 운영체제나 브라우저의 종류와 버전 정보 또는 각종 네트워크 프레임워크의 버전 정보 등을 포함하며 이러한 단말환경정보는 각 단말의 환경에 따라 서로 상이하다. 또한 각 단말의 환경이 서로 상이함에 따라 각 단말을 나타내는 단말환경정보의 크기 또한 서로 상이할 수 있다.
도 4의 경우 단말환경정보의 예로 브라우저 종류(인터넷 익스플로러(MSIE))와 그 버전정보(6.0), 운영체제의 종류와 버전정보(windows 98, windows NT 4.0) 만을 표시하였으나 이는 설명의 편의를 위해 간략히 표시할 것일 뿐 이 외에 단말의 환경을 나타내는 다양한 정보가 인터넷접속요청에 포함될 수 있으며 그 정보의 양이 많을수록 단말을 식별할 수 있는 능력이 높아진다.
공유단말식별서버(150)는 수많은 인터넷접속요청을 처리하여야 하므로, 수십바이트의 서로 다른 크기를 가지는 단말환경정보에 대한 비교 연산 등을 수행할 때 소요되는 시간을 줄이기 위하여 각각의 단말환경정보와 맵핑된 짧고 정형화된 코드값(예를 들어, 4바이트의 정수형 데이터)을 사용한다. 다만 코드값을 반드시 사용하여야 하는 것은 아니며, 실시 예에 따라 필터링 데이터베이스(400)는 코드값(420) 없이 단말환경정보(410)만을 저장하고 단말환경정보(410) 그 자체로 비교연산 등을 수행할 수 있다.
도 5는 본 발명에 따른 후보군 데이터베이스를 생성하는 방법의 일 예를 도시한 도면이다.
도 5를 참조하면, 공유단말식별서버(150)는 트래픽미러링장치(130)를 통해 단말의 인터넷접속요청을 수신하면(S500), 인터넷접속요청에 포함된 단말환경정보를 파악한다(S510). 공유단말식별서버(150)는 단말환경정보가 필터링데이터베이스(도 4의 400)에 존재하는지 검사한다(S520).
필터링데이터베이스의 검사 단계(S520) 전에, 다른 실시 예로, 공유단말식별서버(150)는 인터넷접속요청에 사용된 웹브라우저의 종류가 특정 웹브라우저인 경우에만 후보군 데이터베이스 생성 과정을 수행할 수 있도록, 인터넷접속요청의 단말환경정보를 기초로 파악된 웹브라우저가 특정 웹브라우저인지 파악하는 구성을 더 포함할 수 있다(미도시). 예를 들어, 공유단말식별서버(150)는 인터넷접속요청에 사용된 웹브라우저가 인터넷 익스플로러인 경우에만 도 5의 과정을 수행하도록 구현할 수 있다.
단말환경정보가 필터링 데이터베이스(400)에 존재하면(S520), 공유단말식별서버(150)는 단말환경정보(410)와 맵핑된 코드값(420)을 파악하고(S530), 그 코드값을 단말의 IP 주소(또는 사용자 식별자) 등과 함께 1차 검출 데이터베이스(220)에 저장한다(S540). 만약 "코드값 - IP 주소(또는 사용자 식별자)"가 이미 1차 검출 데이터베이스(220)에 존재하면, 공유단말식별서버(150)는 해당 단말환경정보를 다시 저장할 필요가 없으며, 1차 검출 데이터베이스(220)에서 수신시간 정보를 관리하는 경우면 그 수신시간을 갱신한다. 1차 검출 데이터베이스(220)에서 수신시간 정보를 저장 관리하는 경우, 공유단말식별서버(150)는 일정 시간 범위(예를 들어, 1일이나 1주일 등 등)를 경과한 단말환경정보를 1차 검출 데이터베이스(220)에서 삭제하여 단말의 운영체제나 브라우저의 종류 등이 변경되는 경우의 오검출을 방지하도록 할 수 있다.
공유단말식별서버(150)는 인터넷접속요청에 해당하는 단말의 IP 주소(또는 사용자 식별자)에 속한 서로 다른 코드값(또는 단말환경정보)의 개수를 파악한다(S550). 예를 들어, 도 6과 같이 1차 검출 데이터베이스(600)에 사용자 식별자 'A'에 대해 코드값 'code 1'과 'code 2'의 두 개가 존재할 수 있다. 공유단말식별서버(150)는 코드값의 개수가 기준값을 벗어나면(S560), 해당 IP 주소(또는 사용자 식별자)를 공유 단말로 파악하여 후보군 데이터베이스(230)에 저장한다(S570). 예를 들어 기준값이 1인 경우, 도 6의 사용자 식별자 'A','B'는 모두 2 개의 서로 다른 코드값을 가지고 있으므로 후보군 데이터베이스(230)에 저장된다.
또한, 인터넷접속요청한 단말의 IP 주소(또는 사용자 식별자)에 속한 서로 다른 코드값의 개수가 기 설정된 기준값(즉, 허용 단말 대수)를 벗어나면(S560), 공유단말식별서버(150)는 허용 단말 대수를 벗어났음을 알리는 공지창을 생성하여 단말로 전송한다(S580).
단말의 화면에는 공지창이 표시되면, 공지창에는 허용 단말을 변경할 수 있는 버튼이 함께 존재한다. 사용자가 단말 변경을 버튼을 클릭하면, 단말은 단말환경정보를 포함하는 허용 단말 변경요청을 공유단말식별서버(150)로 전송한다.
공유단말식별서버(150)는 단말로부터 허용 단말 변경요청을 수신하면(S585), 허용 단말 변경요청에 포함된 단말의 단말환경정보(또는 맵핑된 코드값)를 인터넷 허용 가능한 단말로 지정하여 1차 검출 데이터베이스(220)에 저장한다. 그리고 공유단말식별서버(150)는 이전 인터넷 허용된 단말의 단말환경정보(또는 맵핑된 코드값) 중 어느 하나를 인터넷 사용불가 상태로 변경시켜 인터넷 사용을 차단하고 허용 단말 변경요청한 단말의 인터넷 사용을 허용한다(S590). 단말에 공지창을 전송하고 허용 단말의 변경을 수행하는 과정(S580,S585,S590)는 실시 예에 따라 생략될 수 있다.
도 6은 본 발명에 따른 1차 검출 데이터베이스에 저장되는 데이터의 일 예를 도시한 도면이다.
도 6을 참조하면, 1차 검출 데이터베이스(600)는 단말환경정보와 맵핑된 코드값(610)과 사용자 식별자(또는 IP 주소)(620)를 저장한다. 앞서 살핀 바와 같이 필터링 데이터베이스(400)가 단말환경정보와 맵핑된 코드값을 제공하지 않는다면, 1차 검출 데이터베이스(600)는 코드값(610)이 아닌 단말환경정보와 단말의 사용자 식별자(또는 IP 주소)를 저장한다. 여기서 사용자 식별자는 단말의 IP 주소에 대해 각각 부여된 식별자이다.
도 7은 본 발명에 따른 후보군 데이터베이스를 이용한 공유 단말의 정밀 검출 방법의 일 예를 도시한 도면이다.
도 7을 참조하면, 공유단말식별서버(150)는 트래픽미러링장치(130)를 통해 단말의 인터넷접속요청을 수신하면(S700), 인터넷접속요청이 접속하고자 하는 사이트의 URL 주소가 후보 URL 리스트에 존재하는지 파악한다(S705). 후보 URL 리스트는 일반 사용자가 자주 접속하는 사이트의 주소목록으로서 실시 예에 따라 10개 또는 100개 주소목록을 포함할 수 있다. 따라서 공유단말식별서버(150)는 모든 인터넷접속요청에 대해 공유 단말 여부를 식별하는 과정을 수행할 필요가 없어 서버의 부하를 경감할 수 있다. 물론 실시 예에 따라 URL 리스트 존재 여부를 파악하는 구성(S705)은 생략될 수 있다.
공유단말식별서버(150)는 다음으로 단말의 IP 주소(또는 사용자 식별자)가 후보군 데이터베이스(230)에 존재하는 파악한다(S710). S705 단계와 S710 단계는 그 순서를 바꾸어 수행할 수도 있다.
공유단말식별서버(150)는 단말의 IP 주소(또는 사용자 식별자)가 후보군 데이터베이스(230)에 존재하면(S720), 단말이 원래 접속하고자 하는 웹사이트로의 재접속을 요청하는 제1명령과 공유단말식별서버(150) 또는 가상의 웹사이트로의 접속을 요청하는 제2명령을 포함하는 응답패킷을 생성하여 단말로 전송한다(S715). 이때 공유단말식별서버(150)는 제1 명령을 단말의 화면에 표시되는 100% 프레임으로 구성하고 제2 명령을 단말의 화면에 표시되지 않는 0% 프레임으로 구성한 응답패킷을 만들어 단말에게 전송하거나, 제1 명령을 100% 프레임으로 구성하고 제2 명령을 스크립트로 구성한 응답패킷을 생성하여 전송할 수 있다.
단말이 제2요청에 따라 공유단말식별서버(150) 또는 가상의 웹사이트로의 접속요청패킷을 전송하면, 해당 접속요청패킷을 미러링 장치를 통해 수신한 후 접속요청패킷에 단말식별코드가 존재하는지 파악한다(S720).
접속요청패킷에 단말식별코드가 존재하지 않으면(S725), 공유단말식별서버(150)는 단말식별코드를 새롭게 생성하고, 단말식별코드와 단말의 IP 주소(또는 사용자 식별자) 등의 정보를 2차 검출 데이터베이스에 저장한다(S735). 그리고 공유단말식별서버는 단말식별코드를 단말로 전송한다(S735). 단말은 단말식별코드를 수신하면 접속요청패킷을 전송한 웹브라우저가 접속가능한 저장장소(예를 들어, 쿠키)에 저장한다.
여기서 단말식별코드는 공유단말식별서버(150)에서 직접 생성한 고유값이거나 인터넷접속요청에 포함된 쿠키나 플래쉬쉐어드오브젝트의 일종일 수 있다.
다른 실시 예로 공유단말식별서버(150)는 새롭게 생성한 단말식별코드를 2차 검출 데이터베이스에 저장하지 않고 단말식별코드를 단말로 전송하고(S735), 추후 단말식별코드를 포함하는 접속요청패킷을 수신하면 해당 단말식별코드를 2차 검출 데이터베이스에 저장하도록 구현할 수 있다.
접속요청패킷에 단말식별코드가 존재하면(S725), 공유단말식별서버(150)는 2차 검출 데이터베이스에 해당 단말식별코드가 존재하는지 파악한다(S740). 2차 검출 데이터베이스에 단말식별코드가 존재하면(S740), 이전에 검출된 단말이므로 더 이상의 검출 과정을 수행하지 않고 종료한다. 다른 예로서, 2차 검출 데이터베이스(150)는 수신시간 정보를 더 포함할 수 있으며, 단말식별코드가 이미 2차 검출 데이터베이스(250)에 존재하는 경우(S740), 공유단말식별서버(150)는 단말식별코드를 별도로 저장할 필요없이 수신시간만을 갱신할 수 있다
접속요청패킷의 단말식별코드가 2차 검출 데이터베이스(250)에 존재하지 않으면(S740), 최초 검색된 단말이므로 단말식별코드를 2차 검출 데이터베이스(250)에 저장한다(S745). 앞서 살핀 바와 같이 접속요청패킷에 단말식별코드가 존재하지 아니하여 새롭게 단말식별코드를 생성하여 단말에 전송할 때 2차 검출 데이터베이스에 저장한다면(S725,S730), S745 단계의 저장단계가 생략될 수 있다. 반대로 S745 단계가 존재한다면 S730 단계의 저장 과정이 생략될 수 있다. 물론 두 단계(S730, S745의 저장단계)가 모두 존재하여도 무방하다.
공유단말식별서버(150)는 2차 검출 데이터베이스(250)를 참조하여 단말의 IP 주소(또는 사용자 식별자)에 속한 서로 다른 단말식별코드의 개수를 파악하고(S750), 단말식별코드의 개수가 기준값을 벗어나면 허용 단말 대수를 벗어나는 공유 단말로 판단한다(S755, S760).
도 8은 본 발명에 따른 복수 브라우저를 사용하는 단말의 검출 오류를 방지할 수 있는 방법의 일 예를 도시한 도면이다.
도 8을 참조하면, 단말은 공유단말식별서버(150)로부터 수신한 요청에 따라 인터넷접속요청에 포함된 단말환경정보의 인터넷접속브라우저가 접근가능한 제1저장공간(예를 들어, 쿠키)에 저장된 단말식별코드를 파악한다(S800). 만약 단말환경정보에 복수의 인터넷접속브라우저의 정보가 포함되어 있는 경우라면 현재 인터넷접속요청을 한 브라우저만이 접근가능한 제1저장공간에 저장된 단말식별코드를 파악한다.
단말은 현재 인터넷접속요청에 사용한 브라우저를 포함한 복수의 브라우저가 접근가능한 제2저장공간(예를 들어, 플래쉬쉐어브오브젝트)에 저장된 단말식별코드를 파악한다(S810). 단말은 제1저장공간과 제2저장공간에 저장된 단말식별코드가 서로 상이하면(S820), 제2저장공간에 저장된 단말식별코드를 제1저장공간에 저장한다(S830).
예를 들어, 사용자가 단말의 제1브라우저를 통해 인터넷접속요청하여 제1브라우저의 제1저장공간 및 제2저장공간에 단말식별코드 A가 저장된 이후에, 제2브라우저를 통해 인터넷접속요청하면, 공유단말식별서버(150)는 단말식별코드 B를 생성하여 단말에 전송하게 되며 이 경우 공유단말식별서버(150)는 동일 단말에 대해 두 개의 단말식별코드 A,B를 생성하게 되어 동일 단말을 복수 단말로 오검출하게 된다. 따라서 공유단말식별서버(150)는 단말에 단말식별코드를 저장하도록 할 때 제2저장공간에 저장된 단말식별코드와 동일한 값이 복수의 브라우저들의 제1저장공간에 저장하도록 한다. 이 경우 사용자가 제2브라우저를 통해 접속하는 경우에 인터넷접속요청에는 단말식별코드A가 포함되게 되어 복수 브라우저의 사용에 따른 오검출을 방지할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (10)

  1. 단말의 인터넷접속요청을 수신하는 단계;
    상기 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전정보를 포함한 단말환경정보를 파악하는 단계;
    상기 단말환경정보를 상기 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 검출 데이터베이스에 저장하는 단계;
    상기 단말의 IP 주소 또는 사용자식별자에 속한 서로 다른 단말환경정보의 개수를 파악하는 단계; 및
    상기 개수를 기초로 공유 여부를 식별하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  2. 제 1항에 있어서, 상기 단말환경정보를 파악하는 단계는,
    인터넷접속브라우저의 종류 및 버전정보와 운영체제의 종류 및 버전정보를 포함한 단말환경정보를 파악하는 단계를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  3. 제 1항에 있어서,
    일정기간 동안 인터넷접속요청에 포함된 단말환경정보의 누적분포를 구하는 단계; 및
    상기 누적분포의 횟수를 기준으로 상위 일정범위 내에 속한 단말환경정보를 포함하는 필터링 데이터베이스를 생성하는 단계;를 더 포함하고,
    상기 저장하는 단계는, 상기 단말환경정보를 파악하는 단계에서 파악된 단말환경정보가 상기 필터링 데이터베이스에 존재하는 경우에 저장하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  4. 제 3항에 있어서, 상기 필터링 데이터베이스를 생성하는 단계는,
    단말환경정보를 일정크기를 가진 코드값과 맵핑하여 저장하는 단계;를 더 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  5. 단말의 인터넷접속요청을 수신하는 단계;
    상기 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전정보를 포함하는 단말환경정보를 파악하는 단계;
    상기 단말환경정보를 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 1차 검출 데이터베이스에 저장하는 단계;
    1차 검출 데이터베이스를 참조하여, 단말의 IP 주소 또는 사용자 식별자에 서로 다른 단말환경정보의 개수를 파악하는 단계;
    서로 다른 단말환경정보의 개수가 기 설정된 기준값을 벗어나면, 상기 인터넷접속요청에서 접속하려고 하는 사이트로 재접속하라는 제1명령과 단말을 구별하기 위한 단말식별코드를 단말에 저장할 수 있도록 공유단말식별서버 또는 가상의 웹사이트로의 재접속을 요청하는 제2명령을 포함한 응답패킷을 생성하여 단말에게 전송하는 단계;
    상기 제2명령에 따른 단말의 재접속시, 단말의 인터넷접속에 사용한 인터넷접속브라우저가 접근가능한 공간에 저장할 수 있도록 단말식별코드를 단말에 전송하는 단계;
    단말의 IP 주소 또는 사용자 식별자와 함께 단말에 전송하는 단말식별코드를 2차 검출 데이터베이스에 저장하는 단계; 및
    2차 검출 데이터베이스를 참조하여 하나의 IP 주소 또는 사용자 식별자에 속한 단말식별코드의 개수를 파악하여 공유 여부를 검출하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  6. 제 5항에 있어서, 상기 단말식별코드를 단말에 전송하는 단계는,
    단말의 인터넷접속에 사용한 인터넷접속브라우저만이 접근 가능한 제1 저장공간과 복수의 인터넷접속브라우저가 접속 가능한 제2 저장공간에 동일한 고유식별정보가 저장되도록 하는 명령을 상기 단말에 전송하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  7. 제 6항에 있어서, 상기 단말식별코드를 단말에 전송하는 단계는,
    상기 제1 저장공간과 상기 제2 저장공간의 고유식별정보가 상이한 경우 상기 제1 저장공간에 상기 제2 저장공간의 고유식별정보가 저장되도록 하는 명령을 상기 단말에 전송하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  8. 단말의 인터넷접속요청에 포함된 인터넷접속브라우저의 종류 및 버전 정보를 포함하는 단말환경정보가 하나의 IP 주소에 복수 개 존재하는지 여부를 기초로 검출대상후보군을 선별하는 단계; 및
    상기 검출대상후보군에 속한 단말의 인터넷접속요청을 리다이렉션하여 단말에 단말식별코드를 심은 후 하나의 IP 주소에 속한 단말식별코드의 개수를 파악하여 공유 단말을 검출하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  9. 제 8항에 있어서, 상기 검출대상후보군을 선별하는 단계는,
    필터링 데이터베이스에 상기 단말환경정보가 저장되어 있는지 파악하는 단계;
    상기 필터링 데이터베이스에 상기 단말환경정보가 존재하면, 상기 단말환경정보를 단말의 IP 주소 또는 상기 IP 주소와 맵핑된 사용자식별자와 함께 저장하는 단계;
    하나의 IP 주소에 서로 다른 단말환경정보의 개수가 기 설정된 기준을 초과하여 존재하는지 파악하는 단계; 및
    상기 기준을 초과하는 경우 단말을 검출대상후보군으로 선별하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
  10. 제 8항에 있어서, 상기 공유 단말을 검출하는 단계는,
    단말의 IP 주소 또는 사용자 식별자가 상기 검출대상후보군에 존재하는지 파악하는 단계;
    상기 검출대상후보군에 존재하면, 상기 인터넷접속요청에 포함된 단말식별코드를 파악하는 단계;
    상기 단말식별코드가 검출 데이터베이스에 존재하는지 파악하는 단계;
    상기 검출 데이터베이스에 상기 단말식별코드가 존재하지 않으면, 상기 인터넷접속요청에서 접속하고자 하는 사이트로의 재접속을 요청하는 제1명령과 공유단말식별서버 또는 가상 웹사이트로의 재접속을 요청하는 제2명령을 포함하는 응답패킷을 생성하여 단말로 전송하는 단계;
    상기 제2 명령에 따른 재접속시, 단말식별코드를 생성하여 단말로 전송하고 단말의 IP 주소 또는 사용자식별자와 단말식별코드를 상기 검출 데이터베이스에 저장하는 단계; 및
    상기 검출 데이터베이스를 참조하여, 하나의 IP 주소에 속한 단말식별코드의 개수를 기초로 공유 여부를 식별하는 단계;를 포함하는 것을 특징으로 하는 공유 단말 식별 방법.
PCT/KR2014/009559 2013-11-27 2014-10-13 공유 단말 식별 방법 및 그 시스템 WO2015080378A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130145360A KR20150061350A (ko) 2013-11-27 2013-11-27 공유 단말 식별 방법 및 그 시스템
KR10-2013-0145360 2013-11-27

Publications (1)

Publication Number Publication Date
WO2015080378A1 true WO2015080378A1 (ko) 2015-06-04

Family

ID=53199290

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/009559 WO2015080378A1 (ko) 2013-11-27 2014-10-13 공유 단말 식별 방법 및 그 시스템

Country Status (2)

Country Link
KR (1) KR20150061350A (ko)
WO (1) WO2015080378A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101783014B1 (ko) * 2015-09-10 2017-09-28 주식회사 수산아이앤티 공유단말 검출 방법 및 그 장치
WO2017078196A1 (ko) * 2015-11-05 2017-05-11 주식회사 수산아이앤티 공유 단말 관리 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100588352B1 (ko) * 2004-12-28 2006-06-09 주식회사 케이티 아이피 공유기 감시 시스템 및 그 방법
KR20090001426A (ko) * 2007-04-11 2009-01-09 (주)씽크에이티 로그 분석을 이용한 금융 거래 서비스 시스템 및 그 방법
KR20090041752A (ko) * 2007-10-24 2009-04-29 플러스기술주식회사 네트워크상의 복수 단말을 검출하여 인터넷을 허용 및차단하는 방법
KR101127246B1 (ko) * 2011-08-03 2012-07-02 플러스기술주식회사 Ip 주소를 공유하는 단말을 검출하는 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100588352B1 (ko) * 2004-12-28 2006-06-09 주식회사 케이티 아이피 공유기 감시 시스템 및 그 방법
KR20090001426A (ko) * 2007-04-11 2009-01-09 (주)씽크에이티 로그 분석을 이용한 금융 거래 서비스 시스템 및 그 방법
KR20090041752A (ko) * 2007-10-24 2009-04-29 플러스기술주식회사 네트워크상의 복수 단말을 검출하여 인터넷을 허용 및차단하는 방법
KR101127246B1 (ko) * 2011-08-03 2012-07-02 플러스기술주식회사 Ip 주소를 공유하는 단말을 검출하는 방법 및 그 장치

Also Published As

Publication number Publication date
KR20150061350A (ko) 2015-06-04

Similar Documents

Publication Publication Date Title
WO2010064799A2 (en) Countering against distributed denial-of-service (ddos) attack using content delivery network
WO2012077944A9 (ko) 네트워크 패킷을 이용한 공유 단말 구분 시스템 및 처리 방법
US8935419B2 (en) Filtering device for detecting HTTP request and disconnecting TCP connection
WO2016064030A1 (ko) 글로벌 서버 로드 밸런서 장치 및 상기 장치에서의 동적 캐쉬 유효 기간 제어 방법
KR101127246B1 (ko) Ip 주소를 공유하는 단말을 검출하는 방법 및 그 장치
WO2015102446A1 (ko) 왕복 시간 변화를 이용하여 익명 네트워크를 통한 우회 접속을 탐지하는 방법
WO2013012278A2 (ko) 통신 시스템에서 ip 어드레스를 이용한 디바이스 컨텍스트 관리 방법 및 장치
EP3160086B1 (en) Method and system for detecting failure-inducing client by using client route control system
WO2011071265A2 (en) Method and apparatus for using service of plurality of internet service providers
KR101518472B1 (ko) 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 추가 비지정 도메인 네임을 구비한 웹서버에 의해 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템
BR102019020060A2 (pt) método para detecção de características de pontos de acesso, usando aprendizagem de máquina
WO2015080378A1 (ko) 공유 단말 식별 방법 및 그 시스템
KR101087291B1 (ko) 인터넷을 사용하는 모든 단말을 구분하는 방법 및 시스템
KR101518470B1 (ko) 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 웹서버에 의해 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템
WO2015102356A1 (ko) 현재 시간 기준으로 공인 아이피를 공유하는 인터넷 접속 요청 트래픽을 선별적 허용 또는 차단하는 방법 및 그 방법을 실행하기 위한 공인 아이피 공유의 현재 상태 검출 및 차단 시스템
WO2015182873A1 (ko) Dns 서버 선별 차단 및 proxy를 이용한 dns 주소 변경 방법
KR101603692B1 (ko) 공유 단말 식별 방법 및 그 시스템
KR101603694B1 (ko) 공유 단말 식별 방법 및 그 시스템
KR101518468B1 (ko) 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말의 디바이스 대수를 검출하는 방법 및 공인 ip 공유 상태 검출 시스템
WO2018182065A1 (ko) M2m 시스템에서 다중 리소스 구독 연관 방법
WO2015076497A1 (ko) 웹개체를 이용한 공유단말 검출 방법 및 그 장치
KR101518469B1 (ko) 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말 중에서 선별된 디바이스의 대수를 검출하는 방법 및 공인 ip 공유 상태의 디바이스의 선별적인 검출 시스템
WO2017043930A1 (ko) 공유단말 검출 방법 및 그 장치
Cisco Terminal Server Configuration and Reference Errata
Cisco Terminal Server Configuration and Reference Errata

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: 14865755

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14865755

Country of ref document: EP

Kind code of ref document: A1