WO2023153580A1 - 과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치 - Google Patents

과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
WO2023153580A1
WO2023153580A1 PCT/KR2022/016036 KR2022016036W WO2023153580A1 WO 2023153580 A1 WO2023153580 A1 WO 2023153580A1 KR 2022016036 W KR2022016036 W KR 2022016036W WO 2023153580 A1 WO2023153580 A1 WO 2023153580A1
Authority
WO
WIPO (PCT)
Prior art keywords
advertisement
client
http response
command
resource
Prior art date
Application number
PCT/KR2022/016036
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
Priority claimed from KR1020220018838A external-priority patent/KR102558208B1/ko
Priority claimed from KR1020220018834A external-priority patent/KR102598112B1/ko
Priority claimed from KR1020220018831A external-priority patent/KR102598102B1/ko
Application filed by 주식회사 애드쉴드 filed Critical 주식회사 애드쉴드
Publication of WO2023153580A1 publication Critical patent/WO2023153580A1/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to a method and apparatus for providing advertisements, and more particularly, to a method for providing advertisements by inducing termination of execution of a radical advertisement blocking function in response to an advertisement blocking function, and a device for performing the advertisement providing method. will be.
  • Online advertising is one of the important revenue streams for online content publishers.
  • online advertisement is one of the means for promoting information on various products and services.
  • Online advertisements may be output in the form of banners, pop-ups, embedded, inline, interstitial advertisements, and full pages that are displayed when a user visits or leaves a page. Online advertisements may be presented as links, audio content or visual content including text, images and other multimedia content.
  • Ad blockers block online ads on websites, such as HTML (HyperText Markup Language) pages and other downloadable content.
  • Ad blockers can be software applications, browser components, extensions, add-ons, services that work through scripts, etc.
  • ad blockers deprive content publishers of advertising revenue that would otherwise be granted to them, and also impede marketing, promotion, and information provision of products and services. Therefore, it is necessary to offset the effect of the ad blocker so that content including advertisements is displayed on the client.
  • An object of the present invention to solve the above problems is to provide a method, device, and system for providing advertisements to a client even when an advertisement blocker operates on the client.
  • Another object of the present invention to solve the above problems is to provide a method, device, and system for providing advertisements to a client by bypassing the advertisement blocker when the advertisement blocker operates on the client.
  • a method of operating a server for avoiding an advertisement blocking command to achieve the above object includes receiving an HTTP request from a client; obtaining an HTTP response to the HTTP request, including first advertisement information; modifying the HTTP response; and transmitting a modified HTTP response to the client, wherein the modifying the HTTP response comprises: encrypting at least one resource of the HTTP response; and inserting a recovery script for utilizing the HTTP response including the at least one encrypted resource.
  • the at least one resource may include one or more of image, script, CSS, and HTML elements of the HTTP response.
  • the operating method further comprises generating a negotiator including at least one command executed by the client to determine whether to decrypt or load the at least one resource of the encrypted HTTP response, wherein the The recovery script may further include the negotiator.
  • At least one command of the recovery script may be executed by the client to determine whether an advertisement blocking operation is executed.
  • the at least one command of the repair script may be characterized in that the at least one command of the negotiator is executed by the client when the advertisement blocking operation is not executed by the client.
  • the at least one command of the recovery script may stop execution of at least one command of the negotiator by the client or break a resource load when an advertisement blocking operation is executed by the client.
  • the at least one command may stop execution of the at least one command of the negotiator by the client or reduce resource load when an advertisement blocking function is executed by the client after exposing the at least one resource. It can be characterized as disintegrating.
  • a computer recording medium comprising at least one command executed by a processor for achieving the above object, wherein the at least one command receives an HTTP request from a client; obtain an HTTP response, which is response information to the HTTP request, including first advertisement information; modify the HTTP response; and is executed by the processor to deliver a modified HTTP response to the client, and in executing to modify the HTTP response, encrypt at least one resource of the HTTP response; It may be executed by the processor to insert a recovery script for utilizing the HTTP response including the encrypted at least one resource.
  • the at least one resource may include one or more of image, script, CSS, and HTML elements of the HTTP response.
  • the at least one command further generates a negotiator including at least one command executed by the processor of the client to determine whether to decrypt or load the at least one resource of the encrypted HTTP response.
  • the recovery script may further include the negotiator.
  • the recovery script includes at least one command executed by a processor of the client, and the at least one command of the recovery script is executed by the processor of the client to determine whether an advertisement blocking operation is executed. It can be characterized as running.
  • the at least one command of the recovery script may be characterized in that the at least one command of the negotiator is executed by the processor of the client when the advertisement blocking operation by the processor of the client is not executed. .
  • the at least one command of the recovery script may stop execution of at least one command of the negotiator by the processor of the client or break a resource load when an advertisement blocking operation by the processor of the client is executed. that can be characterized.
  • the at least one command of the recovery script is, after exposing the at least one resource, at least one command of the negotiator by the processor of the client when an advertisement blocking operation by the processor of the client is executed. It may be characterized by stopping the execution of or canceling the resource load.
  • a method of operating a client for avoiding an advertisement blocking command to achieve the above object includes transmitting an HTTP request to a server; obtaining an HTTP response that is response information to the HTTP request including first advertisement information from the server; and outputting the HTTP response, wherein the HTTP response includes at least one encrypted resource; and a recovery script for utilizing the HTTP response including the at least one encrypted resource.
  • the at least one resource may include one or more of image, script, CSS, and HTML elements of the HTTP response.
  • the recovery script may further include a negotiator including at least one command executed to determine whether to decrypt or load the at least one resource of the encrypted HTTP response.
  • At least one command of the negotiator may be executed.
  • the advertisement blocking function when executed, it may be characterized in that execution of at least one command of the negotiator is stopped or resource load is canceled.
  • the advertisement blocking function when executed after exposing the at least one resource, execution of at least one command of the negotiator may be stopped or resource load may be canceled.
  • advertisements can be provided to clients even when an advertisement blocker operates on the client.
  • FIG. 1 is a diagram illustrating an example of a structure of an advertisement providing system.
  • FIG. 2 is an exemplary diagram illustrating a hardware configuration of a device included in the advertisement providing system according to FIG. 1 .
  • FIG. 3 is a conceptual diagram illustrating a signal flow between respective components in an advertisement providing system.
  • FIG. 4 is a flowchart illustrating the operation of each component in the advertisement providing system.
  • FIG. 5 is a flowchart illustrating the operation of the proxy of the advertisement providing system.
  • FIG. 6 is a flowchart illustrating an operation of modifying an HTTP response of a proxy of an advertisement providing system.
  • FIG. 7 is a flowchart illustrating an operation of a client of an advertisement providing system that has received a modified HTTP response.
  • FIG. 8 is a conceptual diagram illustrating a signal flow between components in an advertisement providing system.
  • FIG. 9 is a flowchart illustrating the operation of each component in the advertisement providing system.
  • FIG. 10 is a flowchart illustrating a recovery script execution operation of a client of the advertisement providing system.
  • 11 is a flowchart illustrating the operation of a proxy of an advertisement providing system that has received an encrypted advertisement request.
  • FIG. 12 is a diagram illustrating an embodiment of an HTTP response including an area related to general advertisement information.
  • FIG. 13 is a diagram illustrating an example of an HTTP response including an obfuscated area for advertisement information in an advertisement providing system.
  • FIG. 14 is a diagram illustrating one embodiment of a general advertisement request.
  • 15 is a diagram illustrating an embodiment of an encrypted advertisement request in an advertisement providing system.
  • 16 is a diagram illustrating an embodiment of a negotiator's resource load result.
  • 17 is a diagram illustrating an embodiment of a negotiator's resource load interruption result.
  • first and second may be used to describe various components, but the components should not be limited by the terms. These terms are only used for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element, without departing from the scope of the present invention.
  • the terms and/or include any combination of a plurality of related recited items or any of a plurality of related recited items.
  • FIG. 1 is a diagram illustrating an example of a structure of an advertisement providing system.
  • the advertisement providing system includes a content delivery network (CDN) 110, one or more proxies 120, one or more clients 130, one or more web servers 140, and It may include one or more advertisement servers 150 and the like.
  • CDN content delivery network
  • proxies 120 one or more clients 130
  • web servers 140 one or more web servers 140
  • advertisement servers 150 and the like.
  • Each component of the advertisement providing system may be connected through the Internet to perform communication.
  • CDN 110 may be a distributed network of nodes and/or a data center connected to a network of nodes.
  • the CDN 110 may utilize an internet service provider, carrier, or the like for hosting nodes, servers, and data centers.
  • a content provider may deliver content and the like to the client 130 by utilizing components of a system including the CDN 110 .
  • Proxy 120 may be a network accessible device that may operate independently of CDN 110, clients 130 and servers, and the like. According to one embodiment, the proxy 120 may perform a network access operation in association with the web server 140 .
  • a proxy can be a forward proxy or a reverse proxy.
  • the client 130 may be a device having a processor running an application for processing, rendering or displaying content.
  • the client 130 may be at least one of a laptop computer, smart phone, tablet, and desktop computing machine.
  • the most common applications for processing, rendering or displaying content are web browsing applications, but other applications may also be included.
  • the web server !40 may be a server for hosting and delivering content.
  • Content may refer to any website, text, document, file, media, application, service, or game that is digitally encoded and deliverable over a network.
  • the content may be displayed to the client 130 along with information about advertisements provided by one or more advertisement servers 150 .
  • Ad server 150 may be a server for hosting and delivering various advertisements embedded within content publisher content.
  • the advertisement server 150 may provide advertisement information that can be provided to the client 130 . Advertisements can be structured within the content or rendered or displayed in a specified manner.
  • the configuration of devices of the advertisement providing system may be as described below.
  • FIG. 2 is an exemplary diagram illustrating a hardware configuration of a device included in the advertisement providing system according to FIG. 1 .
  • the device 200 includes at least one processor 210 and a memory 220 storing instructions instructing the at least one processor 210 to perform at least one step.
  • a processor 210 can include
  • the at least one processor 210 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor for performing methods according to embodiments of the present invention.
  • Each of the memory 220 and the storage device 260 may include at least one of a volatile storage medium and a non-volatile storage medium.
  • the memory 220 may include at least one of a read only memory (ROM) and a random access memory (RAM).
  • the device 200 may include a transceiver 230 that performs communication through a wireless network.
  • the device 200 may further include an input interface device 240 , an output interface device 250 , a storage device 260 , and the like. Each component included in the device 200 may be connected by a bus 270 to communicate with each other.
  • a flow of signals exchanged between devices of the advertisement providing system may be as described below.
  • FIG. 3 is a conceptual diagram illustrating a signal flow between respective components in an advertisement providing system.
  • the advertisement providing system may include a client 310, a CDN 320, a proxy 330, a web server 340, and an advertisement server. However, some components of the advertisement providing system may be omitted.
  • the client 310 may request HTTP content from the web server 340 .
  • a request for HTTP content can be made by invoking a specific link or starting an arbitrary application that loads the content.
  • the HTTP content request may be sent in the form of an HTTP GET request, typically along with an address such as web server 340 and a URL identifying the content.
  • HTTP content requests may be forwarded to web server 340 via CDN 320 and/or proxy 330 .
  • the web server 340 may transmit an HTTP response corresponding to the HTTP content request to the proxy 330.
  • the HTTP response may include HTTP content and advertising information for calling an advertisement.
  • the advertisement information may include an address of the advertisement server 350 and an HTML attribute for designating an advertisement.
  • the proxy 330 may modify at least a part of the HTTP response received from the web server 340 .
  • the proxy 330 may modify content, advertisement information, and the like included in the HTTP response.
  • the proxy 330 may perform operations such as encrypting and/or obfuscating content and/or advertisement information. More specifically, the proxy 330 may obfuscate at least some regions of the HTTP response by generating a plurality of layer tags and attribute values of each of the tags and adding them to a region including advertisement information of the HTTP response.
  • the proxy 330 may add a command such as a script to the HTTP response. For example, when at least some information included in the HTTP response is encrypted, the proxy 330 may add at least one command to decrypt the encrypted at least some information to the HTTP response.
  • the proxy 330 may transmit the modified HTTP response to the client 310.
  • the modified HTTP response may be forwarded to the client 310 through the CDN 320, but may also be transmitted directly without going through the CDN 320.
  • the client 310 requesting the HTTP content may receive an HTTP response including the HTTP content from the proxy 330 and/or the CDN 320 .
  • the ad blocker may block rendering of advertisement information and/or advertisement areas using CSS rules.
  • the client 310 may render content by decrypting the encrypted information of the HTTP response.
  • the decryption operation may be performed depending on whether the advertisement blocking function is executed.
  • the client 310 may execute at least one command included in the recovery script to decrypt encrypted information of the HTTP response.
  • the advertisement-related information is not blocked even though the advertisement blocking function is executed, at least one command included in the recovery script may be executed to decrypt encrypted information of the HTTP response. Accordingly, the client 310 may render the content of the HTTP response.
  • the client 310 may stop or remove the decoding operation of the HTTP response. Therefore, the client 310 may not be able to render content included in the HTTP response.
  • the client 310 may request an advertisement from the advertisement server 350 based on advertisement information included in the HTTP response.
  • the client 310 may request an advertisement from the advertisement server 350 based on the advertisement information included in the HTTP response.
  • the client 310 may receive an advertisement response from the advertisement server 350 and output an advertisement based on the received advertisement response.
  • the client 310 can successfully invoke advertisements.
  • Operations of devices due to the flow of signals exchanged between devices of the advertisement providing system may be as described below.
  • FIG. 4 is a flowchart illustrating the operation of each component in the advertisement providing system.
  • the advertisement providing system may include a client, a CDN, a proxy, a web server, and an advertisement server. However, some components of the advertisement providing system may be omitted.
  • the client may transmit an HTTP request to the web server.
  • the HTTP request may be forwarded to the web server via a CDN and/or proxy.
  • the web server may transmit an HTTP response corresponding to the HTTP request to the proxy.
  • the web server may encrypt at least some information of the HTTP response.
  • the web server may encrypt at least some of the HTTP resources included in the HTTP response.
  • the proxy may generate a recovery script for utilizing at least some areas of the HTTP response.
  • the recovery script may include at least one command.
  • the recovery script may include a negotiator that is executed to determine whether to decrypt or load at least a part of the encrypted HTTP response.
  • the proxy may modify the HTTP response. For example, a proxy can remove an existing HTTP resource from an HTTP response and add it as an encrypted HTTP resource. That is, the proxy can replace an existing HTTP resource in the HTTP response with an encrypted HTTP resource. A proxy can pass an encrypted HTTP resource to the negotiator. And the proxy can add a recovery script to the HTTP response.
  • the proxy may transmit the modified HTTP response to the client.
  • the modified HTTP response may be forwarded to the client through the CDN.
  • the client may execute an advertisement blocking function. If the advertisement-related script included in the HTTP response is not blocked by the client's advertisement blocking function, the client may execute the negotiator to decrypt and load at least a part of the encrypted HTTP response. And, the client may call the advertisement information included in the HTTP response and output the advertisement information.
  • the advertisement-related script may include a script and/or a recovery script of at least a portion of an HTTP response including advertisement-related information.
  • the negotiator may stop loading the HTTP response in step S415. That is, the decryption operation of the encrypted HTTP response is stopped or the loading itself is stopped, and the client may not be able to load the HTTP resource.
  • the resource negotiator may stop the decryption operation, cancel the resource load command itself, or unload some or all of the already loaded resources.
  • FIG. 5 is a flowchart illustrating the operation of the proxy of the advertisement providing system.
  • the proxy may receive an HTTP request from the client.
  • the proxy may request content corresponding to the HTTP request from the external server and obtain an HTTP response corresponding to the HTTP request from the external server.
  • the HTTP response may include information about the first advertisement.
  • Information about the first advertisement may include information and/or script for invoking the first advertisement.
  • the information for calling the first advertisement may be an address such as a URL or URI for requesting an advertisement from an advertisement server.
  • the proxy may modify the HTTP response received from the external server. Specifically, the proxy may insert at least one script and/or command into the HTTP response to circumvent the client's ad blocker.
  • the proxy's operation of modifying the HTTP response may be as described below.
  • FIG. 6 is a flowchart illustrating an operation of modifying an HTTP response of a proxy of an advertisement providing system.
  • the proxy may encrypt at least a part of the HTTP response.
  • the proxy may generate encryption keys based on HTTP requests and/or HTTP responses.
  • the proxy may encrypt at least a part of an HTTP resource including content such as images, scripts, CSS, and HTML elements included in the HTTP response.
  • the proxy that generated the encryption key may encrypt at least a part of the HTTP response using the encryption key.
  • at least a part of the HTTP response encrypted by the proxy may be referred to as a hostage.
  • the proxy may create a negotiator for determining whether to decrypt or load the at least one resource of the encrypted HTTP response.
  • the negotiator may include at least one command executed by the client to decrypt at least a portion of the encrypted HTTP response.
  • the negotiator may include a decryption key for decrypting at least a portion of the encrypted HTTP response.
  • the command and decryption key may be called key factors. That is, the negotiator may include a key element and determine at least one of whether to decrypt an HTTP response encrypted with the key element, whether to load a resource, and whether to remove a previously loaded resource, depending on whether an advertisement blocker is activated.
  • the proxy may generate a recovery script for utilizing at least some areas of the HTTP response.
  • the recovery script may include a negotiator.
  • the recovery script may include at least one command for utilizing at least a partial area of the HTTP response.
  • at least a partial area may be an area including a script related to the first advertisement information included in the HTTP response received from the external server.
  • At least one command of the repair script may be executed by the client.
  • the recovery script may include commands executed by the client to determine whether an ad blocking function is executed.
  • the recovery script may include commands executed to encrypt information for requesting a separate advertisement and transmit encrypted advertisement request information when the call of the first advertisement included in the HTTP response is blocked by the client. .
  • a method of adding an area including advertisement information that can be commonly blocked in the modified HTTP response can be used. It is sufficient to determine whether the ad blocking function is executed or not by giving a clue that the ad blocking function can be blocked by the known functions of the ad blocker.
  • the recovery script may include a negotiator including commands executed to determine whether to load resources.
  • the negotiator may execute a command to stop loading a resource that should have been displayed on the client or to remove an already loaded resource when an advertisement blocking operation is executed by the client.
  • the proxy may add a recovery script to the HTTP response.
  • the HTTP response modified by the proxy may include a negotiator for decrypting at least some information of the encrypted HTTP response and a recovery script for utilizing at least some area of the HTTP response.
  • a recovery script may be created first and then the negotiator may be inserted into multiple scripts, or a negotiator and recovery script may be created and then inserted into an HTTP response for encryption.
  • the proxy may generate a plurality of layer tags and an attribute value of each of the tags.
  • the plurality of layer tags and attribute values may be layer tags and attribute values unrelated to the output operation of the HTTP response.
  • a plurality of layer tags and attribute values may be arbitrarily generated for each HTTP request.
  • a layer tag irrelevant to the output of an HTTP response including advertisement information may be referred to as a dummy tag.
  • the proxy may obfuscate at least a part of the HTTP response by adding the generated dummy tag to the HTTP response.
  • at least a partial area may be an area including a script related to the first advertisement information included in the HTTP response received from the external server.
  • at least some area may include at least one command and/or script for calling a second advertisement from its own advertisement server.
  • the proxy may obfuscate a region including a script for the first advertisement information and/or a command for calling the second advertisement by adding a dummy tag to the HTTP response.
  • the dummy tag may be information independent of an operation of outputting the first advertisement information executed by the client.
  • at least a part of the area may be referred to as an advertisement calling area including information on the dummy tag, the first advertisement, and/or the second advertisement.
  • modified HTTP response may not include all of the negotiators, recovery scripts, and/or dummy tags, and may further include additional configurations for securing utilization of at least some areas.
  • the proxy may transmit a modified HTTP response.
  • the modified HTTP response may include an encrypted hostage and a recovery script for utilizing at least a part of the HTTP response area including the hostage.
  • the modified HTTP response may include an area related to the obfuscated first advertisement information.
  • the client may receive a modified HTTP response from the proxy.
  • the operation of the client receiving the modified HTTP response may be as described below.
  • FIG. 7 is a flowchart illustrating an operation of a client of an advertisement providing system that has received a modified HTTP response.
  • the client may receive a modified HTTP response from the proxy.
  • the client's ad blocker may execute an ad blocking function.
  • the client may determine whether to block advertisement-related scripts by the advertisement blocker.
  • the client can determine whether or not the recovery script has been deleted by the ad blocker.
  • the client may determine whether to delete at least a portion of an area of the HTTP response including advertisement information by the advertisement blocker.
  • step S831 the client may execute a command of the recovery script to stop executing at least one command of the negotiator. Therefore, the operation of the client to decrypt the encrypted hostage and load resources may not be executed.
  • step S831 is indicated as stopping the decryption operation of the hostage as an example, but may be a step of canceling the load itself of the hostage.
  • an ad-related script is blocked, in addition to stopping decryption and loading of the hostage so that the HTTP response is not displayed on the client, already loaded resources are removed to completely limit the hostage load as if the HTTP response had not been loaded in the first place. It may include or replace the action with such an action.
  • This resource removal logic may be applied even after step S832 is performed.
  • the client may execute at least one command of the negotiator. Accordingly, operations of the client for decrypting the encrypted hostage and loading resources can be executed.
  • an advertisement-related script is blocked by an ad blocker after the client decrypts the hostage and loads at least one HTTP resource
  • the client executes the command of the recovery script to execute at least one command of the negotiator. action can be stopped.
  • the client can reverse the call of the resource by executing the command of the recovery script. That is, execution of at least one command of the negotiator by the client may be stopped, and HTTP resource loading may be stopped. As a result, the HTTP resource may not be loaded.
  • the client may determine whether to block the first advertisement information included in the modified HTTP response due to the execution of the advertisement blocking function.
  • the client may transmit a first advertisement request to the advertisement server based on the first advertisement request information.
  • the client may execute at least one command of the recovery script. That is, the client may execute at least one command of the repair script in order to replace the first advertisement information included in the modified HTTP response and utilize a partial area of the HTTP response related to the advertisement information.
  • the client may receive advertisement information corresponding to the advertisement request from the advertisement server.
  • the client may receive the first advertisement from the advertisement server.
  • the client may receive a second advertisement provided by its own advertisement server from the proxy.
  • the second advertisement received from the proxy may be encrypted information.
  • the client receiving the encrypted second advertisement may decrypt the second advertisement by executing at least one command of the recovery script.
  • step S870 whether the hostage decryption has been performed or the decryption operation has been stopped, an HTTP response may be output. If the hostage decryption is interrupted through step S831 or the resource call is canceled or removed, the web page is not normally displayed. If the hostage is decrypted through step S832 and the first advertisement is not blocked in step S840, the web page and advertisement originally intended by the publisher may be output when the HTTP response is output. If the hostage is decrypted through step S832 but the first advertisement is blocked and the recovery script is executed through step S852, the publisher's web page and the second advertisement (delivered from its own advertisement server) may be output.
  • a recovery script containing a negotiator can continuously monitor the client-side ad blocker even if it decrypts the hostage and loads the response resource. For example, if the hostage is decrypted through step S832, but neither of the first advertisement and the second advertisement can be output due to the aggressive advertisement blocker until the HTTP response is output (S870), the negotiator has already called It is possible to display an HTTP response screen different from the HTTP response that the client should display by returning all the resources that have been used or replacing them with other information (images, etc.).
  • a signal flow between a client executing at least one command of the recovery script in the advertisement providing system and components of the advertisement providing system may be as follows.
  • FIG. 8 is a conceptual diagram illustrating a signal flow between components in an advertisement providing system.
  • the advertisement providing system may include a client 310, a CDN 320, a proxy 330, a web server 340, and an advertisement server 360. However, some components of the advertisement providing system may be omitted. Also, the signal flow of FIG. 8 may be a signal flow subsequent to the signal flow of FIG. 3 .
  • the client 310 may request an additional advertisement from the proxy 330 server.
  • the additional advertisement request may include the address of the advertisement server 360 providing the additional advertisement and HTML attributes for specifying the additional advertisement.
  • the client 310 may encrypt the additional ad request and transmit the encrypted additional ad request to the proxy 330 in order to avoid blocking the ad call. Additional ad requests may be forwarded to proxy 330 via CDN 320 .
  • the proxy 330 may request advertisement information from the advertisement server 360 corresponding to the received advertisement request.
  • the proxy 330 may receive advertisement information from the advertisement server 360 .
  • the advertisement server 360 of FIG. 8 is a server managed by the operator of the advertisement providing service according to the present disclosure, and may be a separate server from the advertisement server 350 of FIG. 3 .
  • the advertisement server 360 of FIG. 8 may be referred to as its own advertisement server 360 .
  • the proxy 330 may transmit advertisement information received from its own advertisement server 360 to the client 310 .
  • the advertisement information may be encrypted by the proxy 330 and transmitted to the client 310 .
  • the client 310 may receive additional advertisement information from the proxy 330 and/or the CDN 320. And the client 310 may output the received advertisement.
  • the client 310 may decrypt and output the received advertisement.
  • the client 310 exchanges an advertisement request and an advertisement response with its own advertisement server 360, and may not exchange a separate signal with the web server 340 to obtain additional advertisements. there is.
  • operations of devices due to the flow of signals exchanged between the client 310 executing at least one command of the recovery script in the advertisement providing system and components of the advertisement providing system may be as described below.
  • FIG. 9 is a flowchart illustrating the operation of each component in the advertisement providing system.
  • the advertisement providing system may include a client, a CDN, a proxy, a web server, and an advertisement server. However, some components of the advertisement providing system may be omitted.
  • the client may execute an advertisement blocking function.
  • the client may execute at least one command included in the recovery script of the modified HTTP response.
  • the client may generate an advertisement request for requesting a separate advertisement, and may encrypt the created advertisement request.
  • the client may transmit an encrypted advertisement request to the proxy.
  • the encrypted advertisement request may be forwarded to the proxy through the CDN.
  • the proxy may decrypt the encrypted advertisement request received from the client.
  • the proxy may request an advertisement from its own advertisement server corresponding to the decrypted advertisement request.
  • the external advertisement server may transmit advertisement information corresponding to the advertisement request to the proxy.
  • Advertisement information transmitted by its own advertisement server may be advertisement content itself. That is, the self-advertising server may be an object to be displayed on the client, such as an image, text, or sound of advertisement content.
  • the proxy may encrypt advertisement information obtained from an external advertisement server.
  • the proxy may transmit encrypted advertisement information to the client.
  • the encrypted advertisement information may be forwarded to the client through the CDN.
  • the client can receive encrypted advertisement information.
  • the modified HTTP response and/or repair script may include an area directed to display encrypted advertising content.
  • the client may decrypt the encrypted advertisement information by executing at least one command of the recovery script.
  • the client can output the decrypted advertisement information.
  • each operation of components of the advertisement providing system including a client executing at least one command of the recovery script may be as described below.
  • FIG. 10 is a flowchart illustrating a recovery script execution operation of a client of the advertisement providing system.
  • the client that has blocked the first advertisement information may generate a request for second advertisement information.
  • the second advertisement information may be a separate advertisement from the first advertisement information.
  • the advertisement server managing the second advertisement is a self-advertising server managed by the operator of the advertisement providing service, and may be a separate server from the advertisement server managing the first advertisement.
  • the client may encrypt the generated second advertisement information request.
  • the client may encrypt the second advertisement request and modify at least one information of a domain of the advertisement request, a request method, and a request address.
  • the client may modify the domain of the second advertisement request to the domain of the server that sent the HTTP response.
  • the domain of the second advertisement request may be the same as the domain of the server transmitting the HTTP response.
  • the client may transmit an encrypted second advertisement information request to the proxy.
  • the advertisement information request may be blocked by the advertisement blocking function of the client.
  • encrypted ad requests may circumvent the client's ad blocking capabilities. As a result, encrypted advertisement requests can be sent to external servers such as proxies.
  • 11 is a flowchart illustrating the operation of a proxy of an advertisement providing system that has received an encrypted advertisement request.
  • the proxy may receive an advertisement request from a client.
  • the advertisement request may be an advertisement request encrypted by the client.
  • Encrypted advertisement information may be transmitted in the form of an HTTP request, where the request method of the HTTP request may be POST.
  • the proxy may decrypt the encrypted advertisement request.
  • the proxy may request advertisement information corresponding to the decrypted advertisement request from an external server.
  • the external server may be its own advertisement server connected through a network such as a proxy and the Internet.
  • the proxy may obtain advertisement information from an external server.
  • the advertisement information acquired from the external server may be information in the form of HTTP content.
  • the proxy may encrypt advertisement information obtained from an external server.
  • the proxy may transmit encrypted advertisement information to the client.
  • Encrypted advertisement information may be transmitted in the form of an HTTP response, where a request method of the HTTP response may be POST.
  • the encrypted advertisement information can be transmitted in the form of data included in the body of the HTTP response.
  • an embodiment of an HTTP response including an area related to general advertisement information and an HTTP response including an obfuscated area related to advertisement information is as follows.
  • FIG. 12 is a diagram illustrating an example of an HTTP response including an area related to general advertisement information
  • FIG. 13 illustrates an example of an HTTP response including an obfuscated area related to advertisement information in an advertisement providing system. it is a drawing
  • the HTTP response may include information about regions for rendering at least one content.
  • some of the areas for rendering content may be areas for rendering advertisement information.
  • the information on regions for rendering content may include at least one tag for specifying the region, attribute values of tags, and information for calling content.
  • the area related to general advertisement information of the HTTP response includes information such as upper tags having specific attribute values, attribute values of areas for outputting advertisement information, and addresses necessary to call advertisement information. can do.
  • the area including the advertisement information of the HTTP response includes a division of the area for outputting the advertisement information, class information of a section, style information, script information, It can be specified through at least one of the ID of the iframe and attribute information.
  • the obfuscated advertisement information area of the HTTP response may further include a plurality of tags and attribute values assigned to each of the tags.
  • some of the plurality of tags may be added as a lower layer.
  • a plurality of tags may be overlapped.
  • attribute values given to each of the tags may not indicate specific information. That is, the attribute value assigned to each of the tags may be any value unrelated to the attribute for outputting advertisement information.
  • At least one of the type, arrangement, and structure of the plurality of tags may be determined differently for each HTTP request.
  • attribute values assigned to each of the plurality of tags may also be determined differently for each HTTP request.
  • An embodiment of an encrypted advertisement request exchanged in the advertisement providing method according to the present invention is as follows.
  • FIG. 14 is a diagram illustrating an embodiment of a general advertisement request
  • FIG. 15 is a diagram illustrating an embodiment of an encrypted advertisement request in an advertisement providing system.
  • an advertisement request may include a request URL, a request method, a status code, a remote address, and referrer policy information.
  • the request URL may indicate an address to request an advertisement or the like.
  • the request method may indicate the purpose and type of request sent by the client.
  • the remote address may point to the address of the remote proxy.
  • the referrer policy may indicate a policy for a referrer that remains when a site is visited through a hyperlink.
  • a request URL of a general advertisement request may be an address and/or URL of an advertisement server providing advertisement information.
  • the request method may be GET, which is a method for requesting resources and/or data of an external server in the form of a URL.
  • the domain of the request URL may be the address and/or URL of the web server requesting the HTTP content.
  • the request method may be POST, which is a method for requesting resources and/or data of an external server in the form of media instead of URL.
  • An embodiment of the operation result of the negotiator for inducing the suspension of execution of the advertisement blocking function in the advertisement providing method according to the present invention is as follows.
  • FIG. 12 is a diagram showing an embodiment of an operation result when the negotiator decides not to display the HTTP resource S, and FIG. It is a drawing showing an example.
  • a modified HTTP advertisement response N including an advertisement related script may be executed by a client, and an HTTP resource S may be displayed.
  • the negotiator decides to display the HTTP resource S
  • hostage can be loaded.
  • the website's HTTP resource (S) can be successfully presented to the client.
  • the negotiator decides not to display the HTTP resource S
  • loading of the hostage is stopped, and the HTTP resource S of the website may not be displayed to the client. Accordingly, the user of the client feels uncomfortable using the website and may stop using the ad blocker.
  • the negotiator decides not to display the HTTP resource S
  • loading of the hostage is stopped and actions for the resource that should have been displayed in the first place may be determined in various ways. That is, the HTTP resource (S) itself may be set in a direction not to be displayed, but as illustrated in FIG. It can be replaced and displayed with an alternative resource with an aspect ratio of 1:1.
  • the methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium.
  • Computer readable media may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on a computer readable medium may be specially designed and configured for the present invention or may be known and usable to those skilled in computer software.
  • Examples of computer readable media include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler.
  • the hardware device described above may be configured to operate with at least one software module to perform the operations of the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

광고 차단 명령을 회피하기 위한 서버의 동작 방법은, 클라이언트로부터의 HTTP 요청을 수신하는 단계; 제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계; 상기 HTTP 응답을 수정하는 단계; 및 수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함하고, 상기 HTTP 응답을 수정하는 단계는, 상기 HTTP 응답의 적어도 하나의 리소스를 암호화하는 단계; 및 암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 삽입하는 단계를 포함할 수 있다.

Description

과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치
본 발명은 광고 제공 방법 및 장치에 관한 것으로, 보다 구체적으로, 광고 차단 기능에 대응하여, 과격한 광고 차단 기능의 실행 중단을 유도함으로써, 광고를 제공하기 위한 방법 및 광고 제공 방법을 수행하는 디바이스에 관한 것이다.
온라인 광고는 온라인 콘텐츠 게시자에게 중요한 수익원 중 하나이다. 그리고, 온라인 광고는 다양한 제품 및 서비스에 대한 정보를 홍보할 수 있는 수단 중 하나이다.
온라인 광고는 사용자가 페이지를 방문하거나 페이지를 벗어날 때 표시되는 배너, 팝업, 내장형, 인라인형, 전면 광고 및 전체 페이지 형태로 출력될 수 있다. 온라인 광고는 링크, 오디오 콘텐츠 또는 텍스트, 이미지 및 기타 멀티미디어 콘텐츠를 포함한 시각적 콘텐츠로 제공될 수 있다.
광고 차단기는 HTML(HyperText Markup Language) 페이지 및 기타 다운로드 가능한 콘텐츠와 같은 웹사이트의 온라인 광고를 차단한다. 광고 차단기는 소프트웨어 응용 프로그램, 브라우저 구성 요소, 확장 프로그램, 추가 기능, 스크립트 등을 통해 작동하는 서비스일 수 있다.
이러한 광고 차단기는 콘텐츠 게시자에게 부여될 광고 수익을 박탈하고 또한 제품 및 서비스의 마케팅, 판촉 및 정보 제공을 방해한다. 따라서, 광고 차단기의 영향을 상쇄하여, 광고를 포함하는 콘텐츠가 클라이언트에 표시되도록 할 필요가 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 광고 차단기가 클라이언트 상에서 동작하는 경우에도 클라이언트에게 광고를 제공하기 위한 방법, 디바이스, 및 시스템을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은 광고 차단기가 클라이언트 상에서 동작하는 경우, 광고 차단기를 우회함으로써, 클라이언트에게 광고를 제공하기 위한 방법, 디바이스, 및 시스템을 제공하는 데 있다.
상기 목적을 달성하기 위한 광고 차단 명령을 회피하기 위한 서버의 동작 방법은, 클라이언트로부터의 HTTP 요청을 수신하는 단계; 제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계; 상기 HTTP 응답을 수정하는 단계; 및 수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함하고, 상기 HTTP 응답을 수정하는 단계는, 상기 HTTP 응답의 적어도 하나의 리소스를 암호화하는 단계; 및 암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 삽입하는 단계를 포함할 수 있다.
여기서, 상기 적어도 하나의 리소스는, 상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 할 수 있다.
여기서, 동작 방법은 암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 상기 클라이언트에 의해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 생성하는 단계를 더 포함하고, 상기 복구 스크립트는, 상기 네고시에이터를 더 포함할 수 있다.
여기서, 상기 복구 스크립트의 적어도 하나의 명령어는, 광고 차단 동작이 실행되는지 여부를 판단하도록 상기 클라이언트에 의해 실행되는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 클라이언트에 의해 광고 차단 동작이 실행되지 않는 경우, 상기 클라이언트에 의해 상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 수 있다.
여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 클라이언트에 의해 광고 차단 동작이 실행되는 경우, 상기 클라이언트에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
여기서, 상기 적어도 하나의 명령어는, 상기 적어도 하나의 리소스를 노출한 이후, 상기 클라이언트에 의해 광고 차단 기능이 실행되는 경우, 상기 클라이언트에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
상기 목적을 달성하기 위한 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하는 컴퓨터 기록 매체에 있어서, 상기 적어도 하나의 명령은, 클라이언트로부터 HTTP 요청을 수신하고; 제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 획득하고; 상기 HTTP 응답을 수정하고; 그리고 수정된 HTTP 응답을 상기 클라이언트에 전달하도록 상기 프로세서에 의해 실행되고, 상기 HTTP 응답을 수정하도록 실행됨에 있어, 상기 HTTP 응답의 적어도 하나의 리소스를 암호화하고; 암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 삽입하도록 상기 프로세서에 의해 실행될 수 있다.
여기서, 상기 적어도 하나의 리소스는, 상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 할 수 있다.
여기서, 상기 적어도 하나의 명령어는, 암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 생성하도록 더 실행되고, 상기 복구 스크립트는, 상기 네고시에이터를 더 포함하는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트는, 상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 광고 차단 동작이 실행되는지 여부를 판단하도록 상기 클라이언트의 프로세서에 의해 실행되는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되지 않는 경우, 상기 클라이언트의 프로세서에 의해 상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되는 경우, 상기 클라이언트의 프로세서에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 적어도 하나의 리소스를 노출한 이후, 상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되는 경우, 상기 클라이언트의 프로세서에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
상기 목적을 달성하기 위한 광고 차단 명령을 회피하기 위한 클라이언트의 동작 방법은, 서버에게 HTTP 요청을 전송하는 단계; 제1 광고 정보를 포함하는 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 상기 서버로부터 획득하는 단계; 및 상기 HTTP 응답을 출력하는 단계를 포함하고, 상기 HTTP 응답은, 암호화된 적어도 하나의 리소스; 및 암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 포함하는 것을 특징으로 할 수 있다.
여기서, 상기 적어도 하나의 리소스는, 상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 할 수 있다.
여기서, 상기 복구 스크립트는, 암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 더 포함하는 것을 특징으로 할 수 있다.
여기서, 광고 차단 기능을 실행하지 않는 경우, 상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 할 수 있다.
여기서, 광고 차단 기능을 실행하는 경우, 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
여기서, 상기 적어도 하나의 리소스를 노출한 이후에, 광고 차단 기능을 실행하는 경우, 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 할 수 있다.
본 발명에 의한 광고 제공 방법에 따르면, 광고 차단기가 클라이언트 상에서 동작하는 경우에도 클라이언트에게 광고를 제공할 수 있다.
도 1은 광고 제공 시스템의 구조의 일 실시예를 도시한 도면이다.
도 2는 도 1에 따른 광고 제공 시스템에 포함된 디바이스의 하드웨어 구성을 나타낸 예시도이다.
도 3은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 4는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 5는 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
도 6은 광고 제공 시스템의 프록시의 HTTP 응답 수정 동작을 도시하는 흐름도이다.
도 7은 수정된 HTTP 응답을 수신한 광고 제공 시스템의 클라이언트의 동작을 도시하는 흐름도이다.
도 8은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 9는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 10은 광고 제공 시스템의 클라이언트의 복구 스크립트 실행 동작을 도시하는 흐름도이다.
도 11은 암호화된 광고 요청을 수신한 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
도 12는 일반적인 광고 정보에 관한 영역을 포함하는 HTTP 응답의 일 실시예를 도시하는 도면이다.
도 13은 광고 제공 시스템에서 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예를 도시한 도면이다.
도 14는 일반적인 광고 요청의 일 실시예를 도시하는 도면이다.
도 15는 광고 제공 시스템에서의 암호화된 광고 요청의 일 실시예를 도시한 도면이다.
도 16은 네고시에이터의 리소스 로드 결과의 일 실시예를 도시하는 도면이다.
도 17은 네고시에이터의 리소스 로드 중단 결과의 일 실시예를 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 광고 제공 시스템의 구조의 일 실시예를 도시한 도면이다.
도 1을 참조하면, 광고 제공 시스템은 콘텐츠 전달 네트워크(content delivery network, CDN)(110), 하나 이상의 프록시(proxy)(120), 하나 이상의 클라이언트(130), 하나 이상의 웹 서버(140), 및 하나 이상의 광고 서버(150) 등을 포함할 수 있다. 광고 제공 시스템의 각각의 구성들은 인터넷을 통해 연결되어 통신을 수행할 수 있다.
CDN(110)은 분산된 노드의 네트워크 및/또는 노드들의 네트워크와 연결된 데이터 센터일 수 있다. CDN(110)은 노드, 서버, 데이터 센터를 호스팅하기 위한 인터넷 서비스 제공자, 캐리어 등을 활용할 수 있다. 콘텐츠 제공자는 CDN(110)을 포함한 시스템의 구성요소들을 활용하여 콘텐츠 등을 클라이언트(130)에게 전달할 수 있다.
프록시(120)는 CDN(110), 클라이언트(130) 및 서버 등과 독립적으로 동작할 수 있는 네트워크 액세스 가능한 디바이스일 수 있다. 일 실시예에 따르면, 프록시(120)는 웹 서버(140)와 연계되어 네트워크 액세스 동작을 수행할 수 있다. 프록시는 포워드 프록시 또는 리버스 프록시일 수 있다.
클라이언트(130)는 콘텐츠 처리, 렌더링 또는 표시하기 위한 애플리케이션을 실행하는 프로세서를 가진 디바이스일 수 있다. 예를 들어, 클라이언트(130)는 랩톱 컴퓨터, 스마트폰, 태블릿 및 데스크톱 컴퓨팅 머신 중 적어도 하나일 수 있다. 콘텐츠를 처리, 렌더링 또는 표시하기 위한 가장 일반적인 애플리케이션은 웹 브라우징 애플리케이션이지만, 이외의 어플리케이션 역시 포함할 수 있다.
웹 서버(!40)는 콘텐츠를 호스팅하고 전달하기 위한 서버일 수 있다. 콘텐츠는 디지털로 인코딩되고 네트워크를 통해 전달 가능한 임의의 웹사이트, 텍스트, 문서, 파일, 미디어, 애플리케이션, 서비스 또는 게임 등을 지칭할 수 있다. 콘텐츠는 하나 이상의 광고 서버(150)에 의해 제공되는 광고에 관한 정보와 함께 클라이언트(130)에게 표시될 수 있다.
광고 서버(150)는 콘텐츠 게시자 콘텐츠 내에 내장된 다양한 광고를 호스팅하고 전달하기 위한 서버일 수 있다. 클라이언트(130)가 콘텐츠를 수신하고 처리함에 있어, 광고를 호출하는 경우, 광고 서버(150)는 클라이언트(130)에게 제공할 수 있는 광고 정보를 제공할 수 있다. 광고는 콘텐츠 내에서 구성되거나 지정된 방식으로 렌더링되거나 표시될 수 있다.
광고 제공 시스템의 디바이스들의 구성은 아래에 설명된 바와 같을 수 있다. 
도 2는 도 1에 따른 광고 제공 시스템에 포함된 디바이스의 하드웨어 구성을 나타낸 예시도이다.
도 2를 참조하면, 디바이스(200)는, 적어도 하나의 프로세서(210) 및 적어도 하나의 프로세서(210)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(220)를 포함할 수 있다.
여기서 적어도 하나의 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
또한, 디바이스(200)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(230)를 포함할 수 있다. 또한, 디바이스(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 디바이스(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다.
광고 제공 시스템의 디바이스들 간에 교환되는 신호의 흐름은 아래에 설명된 바와 같을 수 있다. 
도 3은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 3을 참조하면, 광고 제공 시스템은 클라이언트(310), CDN(320), 프록시(330), 웹 서버(340), 및 광고 서버를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다.
도 3을 참조하면, ①에서, 클라이언트(310)는 웹 서버(340)로 HTTP 콘텐츠를 요청할 수 있다. HTTP 콘텐츠의 요청은 특정 링크를 호출하거나, 콘텐츠를 로드하는 임의의 애플리케이션을 시작하여 수행될 수 있다. HTTP 콘텐츠 요청은 일반적으로 웹 서버(340) 등의 주소 및 콘텐츠를 식별하는 URL과 함께 HTTP GET 요청 형태로 전송될 수 있다. HTTP 콘텐츠 요청은 CDN(320) 및/또는 프록시(330)를 통해 웹 서버(340)에 포워딩될 수 있다.
②에서, 웹 서버(340)는 HTTP 콘텐츠 요청에 상응하는 HTTP 응답을 프록시(330)에게 전송할 수 있다. 여기서, HTTP 응답은 HTTP 콘텐츠 및 광고 호출을 위한 광고 정보를 포함할 수 있다. 광고 정보는 광고 서버(350)의 주소 및 광고를 지정하기 위한 HTML 속성 등을 포함할 수 있다.
프록시(330)는 웹 서버(340)로부터 수신한 HTTP 응답의 적어도 일부를 수정할 수 있다. 예를 들어, 프록시(330)는 HTTP 응답에 포함된 콘텐츠, 광고 정보 등을 수정할 수 있다. 일 실시예에 따르면, 프록시(330)는 콘텐츠 및/또는 광고 정보를 암호화 및/또는 난독화하는 등의 동작을 수행할 수 있다. 더욱 구체적으로, 프록시(330)는 복수의 계층 태그 및 태그들 각각의 속성 값을 생성하고, HTTP 응답의 광고 정보를 포함하는 영역에 이들을 추가함으로써 HTTP 응답의 적어도 일부 영역을 난독화할 수 있다.
프록시(330)는 HTTP 응답에 스크립트 등의 명령어를 추가할 수 있다. 예를 들어, HTTP 응답에 포함된 적어도 일부의 정보가 암호화된 경우, 프록시(330)는 암호화된 적어도 일부의 정보를 복호화하기 위한 적어도 하나의 명령어를 HTTP 응답에 추가할 수 있다.
그리고 ③에서, 프록시(330)는 수정된 HTTP 응답을 클라이언트(310)에게 전송할 수 있다. 수정된 HTTP 응답은 CDN(320)을 통해 클라이언트(310)에게 포워딩될 수 있으나, CDN(320)을 통하지 않고 직접 전송될 수도 있다. HTTP 콘텐츠를 요청한 클라이언트(310)는 프록시(330) 및/또는 CDN(320)으로부터 HTTP 콘텐츠를 포함하는 HTTP 응답을 수신할 수 있다. 일 실시예에 따르면, 광고 차단기는 CSS 룰을 사용하는 광고 정보 및/또는 광고 영역의 렌더링을 차단할 수 있다.
그리고, HTTP 응답의 적어도 일부 정보가 암호화된 경우, 클라이언트(310)는 HTTP 응답의 암호화된 정보를 복호화하여 콘텐츠를 렌더링할 수 있다. 여기서, 복호화 동작은 광고 차단 기능의 실행 여부에 따라 수행될 수 있다.
클라이언트(310)에 의해 광고 차단 기능이 실행되지 않은 경우, 클라이언트(310)는 복구 스크립트에 포함된 적어도 하나의 명령어를 실행하여 HTTP 응답의 암호화된 정보를 복호화할 수 있다. 또는 광고 차단 기능이 실행됨에도 불구하고, 광고 관련 정보가 차단되지 않은 경우, 복구 스크립트에 포함된 적어도 하나의 명령어를 실행하여 HTTP 응답의 암호화된 정보를 복호화할 수 있다. 따라서, 클라이언트(310)는 HTTP 응답의 콘텐츠를 렌더링할 수 있다.
광고 차단 기능의 실행으로 인해, HTTP 응답에 포함된 광고 관련 정보가 차단된 경우, 클라이언트(310)에 의한 HTTP 응답의 복호화 동작은 중단되거나 제거될 수 있다. 따라서, 클라이언트(310)는 HTTP 응답에 포함된 콘텐츠의 렌더링을 수행하지 못할 수 있다.
④에서, 클라이언트(310)에 의해 광고 차단 기능이 실행되지 않은 경우, 클라이언트(310)는 HTTP 응답에 포함된 광고 정보를 기초로 광고 서버(350)에 광고를 요청할 수 있다. 또는 클라이언트(310)에 의한 광고 차단 기능의 실행에도 불구하고, 광고 관련 정보가 차단되지 않은 경우, 클라이언트(310)는 HTTP 응답에 포함된 광고 정보를 기초로 광고 서버(350)에 광고를 요청할 수 있다.
⑤에서, 클라이언트(310)는 광고 서버(350)로부터 광고 응답을 수신할 수 있으며, 수신한 광고 응답을 기초로 광고를 출력할 수 있다. 따라서, 클라이언트(310)는 광고를 성공적으로 호출할 수 있다.
광고 제공 시스템의 디바이스들 간에 교환되는 신호의 흐름으로 인한 디바이스들의 동작은 아래에 설명된 바와 같을 수 있다. 
도 4는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 4를 참조하면, 광고 제공 시스템은 클라이언트, CDN, 프록시, 웹 서버, 및 광고 서버를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다.
S401 단계에서, 클라이언트는 웹 서버에게 HTTP 요청을 전송할 수 있다. 여기서, HTTP 요청은 CDN 및/또는 프록시를 통해 웹 서버에게 포워딩될 수 있다.
S403 단계에서, 웹 서버는 HTTP 요청에 상응하는 HTTP 응답을 프록시에게 전송할 수 있다.
S405 단계에서, 웹 서버는 HTTP 응답의 적어도 일부 정보를 암호화할 수 있다. 예를 들어, 웹 서버는 HTTP 응답에 포함된 HTTP 리소스 중에서 적어도 일부를 암호화할 수 있다.
S407 단계에서, 프록시는 HTTP 응답의 적어도 일부 영역을 활용하기 위한 복구 스크립트를 생성할 수 있다. 복구 스크립트는 적어도 하나의 명령어를 포함할 수 있다. 그리고, 복구 스크립트는 암호화된 HTTP 응답의 적어도 일부에 대한 복호화 또는 로드 여부를 결정하기 위해 실행되는 네고시에이터를 포함할 수 있다.
S409 단계에서 프록시는 HTTP 응답을 수정할 수 있다. 예를 들어, 프록시는 HTTP 응답에서 기존의 HTTP 리소스를 삭제하고, 암호화된 HTTP 리소스로 추가할 수 있다. 즉, 프록시는 HTTP 응답의 기존의 HTTP 리소스를 암호화된 HTTP 리소스로 대체할 수 있다. 프록시는 암호화된 HTTP 리소스를 네고시에이터에 전달할 수 있다. 그리고 프록시는 HTTP 응답에 복구 스크립트를 추가할 수 있다.
S411 단계에서, 프록시는 수정된 HTTP 응답을 클라이언트에게 전송할 수 있다. 여기서, 수정된 HTTP 응답은 CDN을 통해 클라이언트에게 포워딩될 수 있다.
S413 단계에서, 클라이언트는 광고 차단 기능을 실행할 수 있다. HTTP 응답에 포함된 광고 관련 스크립트가 클라이언트의 광고 차단 기능에 의해 차단되지 않은 경우, 클라이언트는 네고시에이터를 실행하여 암호화된 HTTP 응답의 적어도 일부를 복호화하고 로드할 수 있다. 그리고, 클라이언트는 HTTP 응답에 포함된 광고 정보를 호출하고, 광고 정보를 출력할 수 있다. 여기서, 광고 관련 스크립트는 광고 관련 정보를 포함하는 HTTP 응답의 적어도 일부의 영역의 스크립트 및/또는 복구 스크립트를 포함할 수 있다.
반면, HTTP 응답에 포함된 광고 관련 스크립트가 클라이언트의 광고 차단 기능에 의해 차단된 경우, S415 단계에서, 네고시에이터는 HTTP 응답의 로딩을 중단할 수 있다. 즉, 암호화된 HTTP 응답에 대한 복호화 동작이 중단되거나 로딩 자체가 중단되고, 클라이언트는 HTTP 리소스를 로드하지 못할 수 있다. 여기서, 리소스의 네고시에이터는 복호화 동작을 중단하거나 리소스 로드 명령 자체를 취소하거나, 이미 로드된 리소스의 일부 또는 전부를 제거(unload)할 수 있다.
도 5는 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
S601 단계에서, 프록시는 클라이언트로부터 HTTP 요청을 수신할 수 있다.
S603 단계에서, 프록시는 외부 서버에게 HTTP 요청에 상응하는 컨텐츠를 요청할 수 있으며, 외부 서버로부터 HTTP 요청에 상응하는 HTTP 응답을 획득할 수 있다. 여기서, HTTP 응답은 제1 광고에 관한 정보를 포함할 수 있다. 제1 광고에 관한 정보는 제1 광고의 호출을 위한 정보 및/또는 스크립트를 포함할 수 있다. 예를 들어, 제1 광고 호출을 위한 정보는 광고 서버에게 광고를 요청하기 위한 URL, URI 등의 주소일 수 있다.
S605 단계에서, 프록시는 외부 서버로부터 수신한 HTTP 응답을 수정할 수 있다. 구체적으로, 프록시는 클라이언트의 광고 차단기를 회피하기 위한 적어도 하나의 스크립트 및/또는 명령어를 HTTP 응답에 삽입할 수 있다. HTTP 응답을 수정하는 프록시의 동작은 아래에 설명하는 바와 같을 수 있다.
도 6은 광고 제공 시스템의 프록시의 HTTP 응답 수정 동작을 도시하는 흐름도이다.
S710 단계에서, 프록시는 HTTP 응답의 적어도 일부를 암호화할 수 있다. 예를 들어, 프록시는 HTTP 요청 및/또는 HTTP 응답에 기초하여 암호화 키를 생성할 수 있다. 그리고 프록시는 HTTP 응답에 포함된 이미지, 스크립트, CSS, HTML 요소 와 같은 콘텐츠를 포함하는 HTTP 리소스의 적어도 일부를 암호화할 수 있다. 예를 들어, 암호화 키를 생성한 프록시는 암호화 키를 이용하여 HTTP 응답의 적어도 일부를 암호화할 수 있다. 여기서, 프록시에 의해 암호화된 HTTP 응답의 적어도 일부를 호스티지(hostage)로 지칭할 수 있다.
S730 단계에서, 프록시는 암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위한 네고시에이터를 생성할 수 있다. 네고시에이터는 암호화된 HTTP 응답의 적어도 일부를 복호화하기 위해 클라이언트에 의해 실행되는 적어도 하나의 명령어를 포함할 수 있다. 네고시에이터는 암호화된 HTTP 응답의 적어도 일부를 복호화하기 위한 복호화키를 포함할 수 있다. 상기 명령어 및 복호화키는 키 요소(key factors)로 불릴 수 있다. 즉, 상기 네고시에이터는 키 요소를 포함하고, 광고 차단기의 활성 여부에 따라 상기 키 요소가 암호화된 HTTP 응답의 복호화 여부, 리소스 로드 여부 및 이미 로드된 리소스 제거 여부 중 적어도 하나를 결정할 수 있다.
S750 단계에서, 프록시는 HTTP 응답의 적어도 일부 영역을 활용하기 위한 복구 스크립트를 생성할 수 있다. 복구 스크립트는 네고시에이터를 포함할 수 있다. 그리고, 복구 스크립트는 HTTP 응답의 적어도 일부 영역을 활용하기 위한 적어도 하나의 명령어를 포함할 수 있다. 여기서, 적어도 일부 영역은 외부 서버로부터 수신한 HTTP 응답에 포함된 제1 광고 정보에 관한 스크립트 등을 포함하는 영역일 수 있다. 복구 스크립트의 적어도 하나의 명령어는 클라이언트에 의해 실행될 수 있다.
복구 스크립트는 클라이언트에 의해 광고 차단 기능이 실행되는지 여부를 판단하도록 실행되는 명령어를 포함할 수 있다. 또한 복구 스크립트는 클라이언트에 의해 HTTP 응답에 포함된 제1 광고의 호출이 차단되는 경우, 별도의 광고를 요청하기 위한 정보를 암호화하고, 암호화된 광고 요청 정보를 전송하도록 실행되는 명령어를 포함할 수 있다. 광고 차단 기능이 실행되는지 여부를 판단하기 위해서는 수정된 HTTP 응답 속에 흔하게 차단될 수 있는 광고 정보를 포함하는 영역을 추가하는 방식을 활용할 수 있다. 광고 차단 기능의 실행 여부 판단은 이처럼 광고 차단기의 알려진 기능들에 의해 차단 가능한 단서를 던져주는 것으로 충분하다.
그리고 복구 스크립트는 리소스 로드 여부를 결정하도록 실행되는 명령어를 포함하는 네고시에이터를 포함할 수 있다. 예를 들어, 네고시에이터는 클라이언트에 의한 광고 차단 동작이 실행되는 경우에 클라이언트에 표시되었어야 할 리소스 로드를 중단하거나 이미 로드된 리소스를 제거하는 명령어를 실행시킬 수 있다.
S770 단계에서, 프록시는 HTTP 응답에 복구 스크립트를 추가할 수 있다. 따라서, 프록시에 의해 수정된 HTTP 응답은 암호화된 HTTP 응답의 적어도 일부 정보를 복호화하기 위한 네고시에이터 및 HTTP 응답의 적어도 일부 영역을 활용하기 위한 복구 스크립트를 포함할 수 있다.
도 6에서 나열된 여러 단계들의 순서는 일 예시로 제시되었을 뿐, 각 단계별 순서는 변경 적용될 수 있다. 예를 들어, 복구 스크립트가 먼저 생성된 후 네고시에이터를 복수 스크립트에 삽입할 수도 있고, 네고시에이터와 복구 스크립트를 생성한 후에 HTTP 응답에 삽입하여 암호화를 할 수도 있다.
다른 실시예에 따르면, 프록시는 복수의 계층 태그들 및 태그들 각각의 속성 값을 생성할 수 있다. 여기서, 복수의 계층 태그 및 속성 값은 HTTP 응답의 출력 동작과 무관한 계층 태그 및 속성 값일 수 있다. 그리고, 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 생성될 수 있다. 광고 정보를 포함하는 HTTP 응답의 출력과 무관한 계층 태그를 더미 태그(dummy tag)라고 지칭할 수 있다.
그리고, 프록시는 생성한 더미 태그를 HTTP 응답에 추가하여 HTTP 응답 중 적어도 일부 영역을 난독화할 수 있다. 여기서, 적어도 일부 영역은 외부 서버로부터 수신한 HTTP 응답에 포함된 제1 광고 정보에 관한 스크립트 등을 포함하는 영역일 수 있다. 또한 적어도 일부 영역은, 자체 광고 서버로부터 제2 광고를 호출하기 위한 적어도 하나의 명령어 및/또는 스크립트를 포함할 수 있다.
즉, 프록시는 HTTP 응답에 더미 태그를 추가함으로써 제1 광고 정보에 관한 스크립트 및/또는 제2 광고를 호출하기 위한 명령어 등을 포함하는 영역을 난독화할 수 있다. 더미 태그는 클라이언트에 의해 실행되는 제1 광고 정보를 출력하는 동작과 독립적인 정보일 수 있다. 여기서, 적어도 일부 영역은 더미 태그, 제1 광고 및/또는 제2 광고 상의 정보를 포함하는 광고 호출 영역으로 불릴 수 있다.
다만, 수정된 HTTP 응답은 네고시에이터, 복구 스크립트 및/또는 더미 태그 모두를 포함하지 않을 수 있으며, 적어도 일부 영역의 활용성을 확보하기 위한 추가 구성을 더 포함할 수 있음은 자명하다.
다시 도 5를 참조하면, S607 단계에서, 프록시는 수정된 HTTP 응답을 전송할 수 있다. 일 실시예에 따르면, 수정된 HTTP 응답은 암호화된 호스티지, 호스티지를 포함하는 HTTP 응답의 적어도 일부의 영역을 활용하기 위한 복구 스크립트를 포함할 수 있다. 다른 실시예에 따르면, 수정된 HTTP 응답은 난독화된 제1 광고 정보에 관한 영역을 포함할 수 있다.
클라이언트는 프록시로부터 수정된 HTTP 응답을 수신할 수 있다. 수정된 HTTP 응답을 수신한 클라이언트의 동작은 아래에 설명하는 바와 같을 수 있다.
도 7은 수정된 HTTP 응답을 수신한 광고 제공 시스템의 클라이언트의 동작을 도시하는 흐름도이다.
*S810 단계에서, 클라이언트는 프록시로부터 수정된 HTTP 응답을 수신할 수 있다.
수정된 HTTP 응답을 수신한 클라이언트의 광고 차단기는 광고 차단 기능을 실행할 수 있다. S820 단계에서, 클라이언트는 광고 차단기에 의한 광고 관련 스크립트 차단 여부를 판단할 수 있다. 여기서, 클라이언트는 광고 차단기에 의해 복구 스크립트가 삭제되었는지 여부를 판단할 수 있다. 또는 클라이언트는 광고 차단기에 의한 광고 정보를 포함하는 HTTP 응답의 적어도 일부의 영역의 삭제 여부를 판단할 수 있다.
광고 차단기에 의해 광고 관련 스크립트가 차단된 경우, S831 단계에서, 클라이언트는 복구 스크립트의 명령어를 실행하여 네고시에이터의 적어도 하나의 명령어를 실행하는 동작을 중단할 수 있다. 따라서, 암호화된 호스티지를 복호화하고 리소스를 로드하기 위한 클라이언트의 동작은 실행되지 않을 수 있다. 여기서 S831 단계는 예로서 호스티지의 복호화 동작을 중단하는 것으로 표시되어 있으나 호스트지의 로드 자체를 취소하는 단계일 수 있다. 즉, 광고 관련 스크립트가 차단된 경우에는 클라이언트에 HTTP 응답이 표시되지 않도록 호스트지의 복호화 및 로드를 중단하는 것 외에도 이미 로드된 리소스를 제거하여 처음부터 HTTP 응답이 로드되지 않았던 것처럼 호스티지 로드를 완벽히 제한하는 동작까지 포함하거나 이러한 동작으로 대체할 수 있다. 이러한 리소스 제거 논리(logic)는 S832 단계가 진행된 이후에도 적용될 수 있다.
광고 차단기에 의해 광고 관련 스크립트가 차단되지 않은 경우, S832 단계에서, 클라이언트는 네고시에이터의 적어도 하나의 명령어를 실행할 수 있다. 따라서, 암호화된 호스티지를 복호화하고 리소스를 로드하기 위한 클라이언트의 동작이 실행될 수 있다.
다만, 클라이언트가 호스티지를 복호화하고 적어도 하나의 HTTP 리소스를 로드한 이후에, 광고 차단기에 의해 광고 관련 스크립트가 차단되는 경우, 클라이언트는 복구 스크립트의 명령어를 실행하여 네고시에이터의 적어도 하나의 명령어를 실행하는 동작을 중단할 수 있다. 또한 클라이언트는 복구 스크립트의 명령어를 실행하여 리소스의 호출을 되돌릴 수 있다. 즉, 클라이언트에 의한 네고시에이터의 적어도 하나의 명령어의 실행이 중단되고, HTTP 리소스 로드가 무산될 수 있다. 그 결과, HTTP 리소스는 로드되지 않을 수 있다.
S840 단계에서, 클라이언트는 광고 차단 기능의 실행으로 인해 수정된 HTTP 응답에 포함된 제1 광고 정보의 차단 여부를 판단할 수 있다.
수정된 HTTP 응답에 포함된 제1 광고 정보가 차단되지 않은 경우, S851 단계에서, 클라이언트는 제1 광고 요청 정보를 기초로 광고 서버에 제1 광고 요청을 전송할 수 있다.
반면, 수정된 HTTP 응답에 포함된 제1 광고 정보가 차단된 경우, S852 단계에서, 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행할 수 있다. 즉, 클라이언트는 수정된 HTTP 응답에 포함된 제1 광고 정보를 대체하고, 광고 정보에 관한 HTTP 응답의 일부 영역을 활용하기 위해서, 복구 스크립트의 적어도 하나의 명령어를 실행할 수 있다.
S860 단계에서, 클라이언트는 광고 서버로부터 광고 요청에 상응하는 광고 정보를 수신할 수 있다. 클라이언트가 수정된 HTTP 응답에 포함된 제1 광고 정보를 차단하지 않은 경우, 클라이언트는 광고 서버로부터 제1 광고를 수신할 수 있다. 클라이언트가 수정된 HTTP 응답에 포함된 제1 광고 정보를 차단한 경우, 클라이언트는 프록시로부터 자체 광고 서버에 의해 제공되는 제2 광고를 수신할 수 있다.
여기서, 프록시로부터 수신한 제2 광고는 암호화된 정보일 수 있다. 암호화된 제2 광고를 수신한 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행하여 제2 광고를 복호화할 수 있다.
S870 단계에서, 호스티지 복호화가 되었든 복호화 동작이 중단되었든, HTTP 응답이 출력될 수 있다. 만약 S831 단계를 거쳐 호스티지 복호화가 중단되었거나 리소스 호출이 취소 또는 제거된다면 웹페이지가 정상적으로 표시되지 않게 된다. 만약 S832 단계를 거쳐 호스티지가 복호화되었고 S840 단계에서 제1 광고가 차단되지 않았다면 HTTP 응답이 출력될 때 퍼블리셔(publisher)가 본래 의도하였던 웹페이지 및 광고가 출력될 수 있다. 만약 S832 단계를 거쳐 호스티지가 복호화되었으나 제1 광고가 차단되어 S852 단계를 거쳐 복구 스크립트가 실행되었다면, 퍼블리셔의 웹페이지 및 (자체 광고 서버에서 전달받은) 제2 광고가 출력될 수 있다.
네고시에이터를 포함하는 복구 스크립트는 호스티지를 복호화하여 응답 리소스를 로드하게 된 경우에도 클라이언트 측 광고 차단기를 꾸준히 모니터링할 수 있다. 예를 들어, S832 단계를 거쳐 호스티지가 복호화되었으나 HTTP 응답이 출력(S870)되기 전까지 과격한 광고 차단기에 의해 제1 광고 및 제2 광고 중 어느 것도 출력될 수 없는 상태에 이른다면, 네고시에이터는 이미 호출된 리소스들을 모두 되돌리거나 다른 정보들(이미지 등)로 대체하여 클라이언트가 표시해야하는 HTTP 응답과 다른 HTTP 응답 화면을 출력할 수 있다.
여기서, 광고 제공 시스템에서 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트 및 광고 제공 시스템의 구성들 간의 신호 흐름은 아래와 같을 수 있다.
도 8은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 8을 참조하면, 광고 제공 시스템은 클라이언트(310), CDN(320), 프록시(330), 웹 서버(340), 및 광고 서버(360)를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다. 그리고, 도 8의 신호 흐름은 도 3의 신호 흐름 이후의 신호 흐름일 수 있다.
도 8을 참조하면, ⑥에서, 클라이언트(310)는 프록시(330) 서버에게 추가 광고를 요청할 수 있다. 추가 광고 요청은 추가 광고를 제공하는 광고 서버(360)의 주소 및 추가 광고를 지정하기 위한 HTML 속성 등을 포함할 수 있다. 일 실시예에 따르면, 클라이언트(310)는 광고 호출 차단을 회피하기 위해, 추가 광고 요청을 암호화하고, 암호화된 추가 광고 요청을 프록시(330)에게 전송할 수 있다. 추가 광고 요청은 CDN(320)을 거쳐 프록시(330)에게 포워딩될 수 있다.
⑦에서, 프록시(330)는 수신한 광고 요청에 상응하는 광고 서버(360)로부터 광고 정보를 요청할 수 있다. ⑧에서, 프록시(330)는 광고 서버(360)로부터 광고 정보를 수신할 수 있다. 여기서, 도 8의 광고 서버(360)는 본 개시에 따른 광고 제공 서비스의 운영 주체에 의해 관리되는 서버로, 도 3의 광고 서버(350)와 별개의 서버일 수 있다. 이하, 도 8의 광고 서버(360)를 자체 광고 서버(360)로 지칭할 수 있다.
그리고 ⑨에서, 프록시(330)는 자체 광고 서버(360)로부터 수신한 광고 정보를 클라이언트(310)에게 전송할 수 있다. 여기서, 광고 정보는 프록시(330)에 의해 암호화되어 클라이언트(310)에게 전송될 수 있다.
⑨에서, 클라이언트(310)는 프록시(330) 및/또는 CDN(320)으로부터 추가 광고 정보를 수신할 수 있다. 그리고 클라이언트(310)는 수신한 광고를 출력할 수 있다. 여기서, 광고 정보가 암호화된 경우, 클라이언트(310)는 수신한 광고를 복호화하여 출력할 수 있다.
즉, 도 4를 참조하면, 클라이언트(310)는 자체 광고 서버(360)와 광고 요청 및 광고 응답을 교환하는 바, 추가 광고를 획득하기 위해서 웹 서버(340)와 별도의 신호를 교환하지 않을 수 있다.
여기서, 광고 제공 시스템에서 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트(310) 및 광고 제공 시스템의 구성들 간의 교환되는 신호의 흐름으로 인한 디바이스들의 동작은 아래에 설명된 바와 같을 수 있다. 
도 9는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 9를 참조하면, 광고 제공 시스템은 클라이언트, CDN, 프록시, 웹 서버, 및 광고 서버를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다.
S511 단계에서, 클라이언트는 광고 차단 기능을 실행할 수 있다. TTP 응답에 포함된 광고가 클라이언트의 광고 차단 기능에 의해 차단된 경우, 클라이언트는 수정된 HTTP 응답의 복구 스크립트에 포함된 적어도 하나의 명령어를 실행할 수 있다.
S513 단계에서, 클라이언트는 별도의 광고를 요청하기 위한 광고 요청을 생성할 수 있으며, 생성한 광고 요청을 암호화할 수 있다.
S515 단계에서, 클라이언트는 프록시에게 암호화된 광고 요청을 전송할 수 있다. 여기서, 암호화된 광고 요청은 CDN을 통해 프록시에게 포워딩될 수 있다.
S517 단계에서, 프록시는 클라이언트로부터 수신한 암호화된 광고 요청을 복호화할 수 있다.
S519 단계에서, 프록시는 복호화된 광고 요청에 상응하는 자체 광고 서버에게 광고를 요청할 수 있다.
S521 단계에서, 외부 광고 서버는 광고 요청에 상응하는 광고 정보를 프록시에게 전송할 수 있다. 자체 광고 서버가 전송한 광고 정보는 광고 콘텐츠 자체일 수 있다. 즉, 자체 광고 서버는 광고 콘텐츠의 이미지, 문자, 소리 등 클라이언트에 표시되어야 할 대상일 수 있다.
S523 단계에서, 프록시는 외부 광고 서버로부터 획득한 광고 정보를 암호화할 수 있다.
S525 단계에서, 프록시는 암호화된 광고 정보를 클라이언트에게 전송할 수 있다. 여기서, 암호화된 광고 정보는 CDN을 통해 클라이언트에게 포워딩될 수 있다.
그 결과, 클라이언트는 암호화된 광고 정보를 수신할 수 있다. 수정된 HTTP 응답 및/또는 복구 스크립트는 암호화된 광고 콘텐츠를 표시하도록 지시된 영역을 포함할 수 있다. 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행하여 암호화된 광고 정보를 복호화할 수 있다.
따라서, 클라이언트는 복호화된 광고 정보를 출력할 수 있다.
여기서, 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트를 포함하는 광고 제공 시스템의 구성들 각각의 동작은 아래에 설명된 바와 같을 수 있다. 
도 10은 광고 제공 시스템의 클라이언트의 복구 스크립트 실행 동작을 도시하는 흐름도이다.
S901단계에서, 제1 광고 정보를 차단한 클라이언트는 제2 광고 정보 요청을 생성할 수 있다. 여기서, 제2 광고 정보는 제1 광고 정보와 별개의 광고일 수 있다. 그리고, 제2 광고를 관리하는 광고 서버는 광고 제공 서비스의 운영 주체에 의해 관리되는 자체 광고 서버로서, 제1 광고를 관리하는 광고 서버와 별개의 서버일 수 있다.
S903 단계에서, 클라이언트는 생성한 제2 광고 정보 요청을 암호화할 수 있다. 클라이언트는 제2 광고 요청을 암호화하여, 광고 요청의 도메인, 요청 메소드, 요청 주소 중 적어도 하나의 정보를 수정할 수 있다. 예를 들어, 클라이언트는 HTTP 응답을 전송한 서버의 도메인으로 제2 광고 요청의 도메인을 수정할 수 있다. 따라서, 제2 광고 요청의 도메인은 HTTP 응답을 전송한 서버의 도메인과 동일할 수 있다.
S905 단계에서, 클라이언트는 암호화된 제2 광고 정보 요청을 프록시에게 전송할 수 있다. 광고 차단 기능을 실행하는 클라이언트가 외부의 광고 서버에게 광고 정보를 요청하는 경우, 광고 정보 요청은 클라이언트의 광고 차단 기능에 의해 차단될 수 있다. 반면, 암호화된 광고 요청은 클라이언트의 광고 차단 기능을 회피할 수 있다. 그 결과, 암호화된 광고 요청은 프록시와 같은 외부의 서버에게 전송될 수 있다.
도 11은 암호화된 광고 요청을 수신한 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
S1001 단계에서, 프록시는 클라이언트로부터 광고 요청을 수신할 수 있다. 여기서, 광고 요청은 클라이언트에 의해 암호화된 광고 요청일 수 있다. 암호화된 광고 정보는 HTTP 요청 형태로 전송될 수 있으며, 여기서, HTTP 요청의 요청 메소드는 POST일 수 있다.
S1003 단계에서, 프록시는 암호화된 광고 요청을 복호화할 수 있다.
S1005 단계에서, 프록시는 복호화된 광고 요청에 상응하는 광고 정보를 외부 서버에 요청할 수 있다. 여기서 외부 서버는 프록시와 인터넷 등의 네트워크를 통해 연결된 자체 광고 서버일 수 있다.
S1007 단계에서, 프록시는 외부 서버로부터 광고 정보를 획득할 수 있다. 여기서, 외부 서버로부터 획득한 광고 정보는 HTTP 콘텐츠 형태의 정보일 수 있다.
S1009 단계에서, 프록시는 외부 서버로부터 획득한 광고 정보를 암호화할 수 있다.
S1011 단계에서, 프록시는 암호화된 광고 정보를 클라이언트에게 전송할 수 있다. 암호화된 광고 정보는 HTTP 응답 형태로 전송될 수 있으며, 여기서, HTTP 응답의 요청 메소드는 POST일 수 있다. 그리고 암호화된 광고 정보는 HTTP 응답의 바디에 포함되는 데이터 형태로 전송될 수 있다.
여기서, 일반적인 광고 정보에 관한 영역을 포함한 HTTP 응답과, 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예는 아래와 같다.
도 12는 일반적인 광고 정보에 관한 영역을 포함하는 HTTP 응답의 일 실시예를 도시하는 도면이고, 도 13은 광고 제공 시스템에서 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예를 도시한 도면이다.
도 12 및 도 13을 참조하면, HTTP 응답은 적어도 하나 이상의 콘텐츠를 렌더링하기 위한 영역들에 관한 정보를 포함할 수 있다. 여기서, 콘텐츠를 렌더링하기 위한 영역들 중 일부는 광고 정보를 렌더링하기 위한 영역일 수 있다. 그리고 콘텐츠를 렌더링하기 위한 영역들에 관한 정보는, 영역을 특정하기 위한 적어도 하나 이상의 태그, 태그의 속성 값, 콘텐츠의 호출을 위한 정보를 포함할 수 있다.
도 12를 참조하면, HTTP 응답의 일반적인 광고 정보에 관한 영역은, 특정한 속성 값을 가지는 상위 태그들, 광고 정보를 출력하기 위한 영역의 속성 값 및 광고 정보를 호출하기 위해 필요한 주소 등의 정보를 포함할 수 있다.
구체적으로, HTTP 응답의 광고 정보를 포함하는 영역은, 광고 정보를 출력하기 위한 영역의 디비전(division), 섹션(section)의 클래스(class) 정보, 스타일(style) 정보, 스크립트(script) 정보, 아이프레임(iframe)의 아이디(id) 및 속성 정보 중 적어도 하나를 통해 특정될 수 있다.
반면, 도 13을 참조하면, HTTP 응답의 광고 정보에 관한 난독화된 영역은, 복수의 태그들, 태그들 각각에 부여되는 속성 값들을 더 포함할 수 있다. 여기서, 복수의 태그들 중 일부는 하위 계층으로 추가될 수 있다. 또한 복수의 태그들은 중첩될 수 있다.
그리고 태그들 각각에 부여되는 속성 값은 특정한 정보를 지시하지 않을 수 있다. 즉, 태그들 각각에 부여되는 속성 값은 광고 정보를 출력하기 위한 속성과 무관한 임의의 값일 수 있다.
여기서, 복수의 태그들의 종류, 배치 및 구조 중 적어도 하나는 HTTP 요청 마다 상이하게 결정될 수 있다. 그리고 복수의 태그들 각각에 부여되는 속성 값들 또한 HTTP 요청 마다 상이하게 결정될 수 있다.
본 발명에 따른 광고 제공 방법 상에서 교환되는 암호화된 광고 요청의 일 실시예는 아래와 같다.
도 14는 일반적인 광고 요청의 일 실시예를 도시하는 도면이고, 도 15는 광고 제공 시스템에서의 암호화된 광고 요청의 일 실시예를 도시한 도면이다.
도 14 및 도 15를 참조하면, 광고 요청은 요청 URL, 요청 메소드, 상태 코드, 원격 주소, 및 리퍼러 정책 정보를 포함할 수 있다. 요청 URL은 광고 등을 요청할 주소를 지시할 수 있다. 요청 메소드는 클라이언트에 의해 전송되는 요청의 목적 및 요청 종류를 지시할 수 있다. 원격 주소는 원격 프록시의 주소를 지시할 수 있다. 리퍼러 정책은 하이퍼링크를 통한 사이트 방문 시, 잔존하는 리퍼러에 관한 정책을 지시할 수 있다.
도 14를 참조하면, 일반적인 광고 요청의 요청 URL은 광고 정보를 제공하는 광고 서버의 주소 및/또는 URL일 수 있다. 그리고, 요청 메소드는 URL 형태로 외부 서버 측의 리소스 및/또는 데이터를 요청할 수 있는 메소드인 GET일 수 있다.
반면, 도 15를 참조하면, 암호화된 광고 요청의 경우, 요청 URL의 도메인은 HTTP 콘텐츠를 요청한 웹 서버의 주소 및/또는 URL일 수 있다. 그리고, 요청 메소드는 URL 형태가 아닌 미디어 등의 형태로 외부 서버 측의 리소스 및/또는 데이터를 요청할 수 있는 메소드인 POST일 수 있다.
본 발명에 따른 광고 제공 방법 상에서 광고 차단 기능의 실행 중단을 유도하기 위한 네고시에이터의 동작 결과의 일 실시예는 아래와 같다.
도 12는 네고시에이터가 HTTP 리소스(S)를 표시하기로 결정한 경우 동작 결과의 일 실시예를 도시하는 도면이고, 도 13은 네고시에이터가 HTTP 리소스(S)를 표시하지 않기로 결정한 경우 동작 중단 결과의 일 실시예를 도시한 도면이다.
도 12 및 도 13을 참조하면, 광고 관련 스크립트 등을 포함하는 수정된 HTTP 광고 응답(N)은 클라이언트에 의해 실행되어, HTTP 리소스(S) 등이 표시될 수 있다.
도 12를 참조하면, 네고시에이터가 HTTP 리소스(S)를 표시하기로 결정한 경우, 호스티지가 로드될 수 있다. 따라서 웹사이트의 HTTP 리소스(S)는 클라이언트에 성공적으로 표시될 수 있다.
반면, 도 13을 참조하면, 네고시에이터가 HTTP 리소스(S)를 표시하지 않기로 결정한 경우, 호스티지의 로딩이 중단되고, 웹사이트의 HTTP 리소스(S)는 클라이언트에 표시되지 못할 수 있다. 따라서 클라이언트의 유저는 웹사이트 이용에 불편함을 느끼게 되고, 광고 차단기의 사용을 중단할 수 있다.
또한, 네고시에이터가 HTTP 리소스(S)를 표시하지 않기로 결정한 경우, 호스티지의 로딩이 중단되고 애초에 표시되어야 했던 리소스에 대한 조치는 다양하게 결정될 수 있다. 즉, HTTP 리소스(S) 자체를 표시하지 않는 방향으로 설정할 수도 있으나, 도 13에 예시된 바와 같이, 애초에 클라이언트에 표시되어야 했던 HTTP 리소스(S)가 예를 들어 고유 크기 1 x 1 px, 렌더링된 가로세로 비율 1:1의 대체 리소스로 대체되어 표시될 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 광고 차단 명령을 회피하기 위한 서버의 동작 방법에 있어,
    클라이언트로부터의 HTTP 요청을 수신하는 단계;
    제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계;
    상기 HTTP 응답을 수정하는 단계; 및
    수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함하고,
    상기 HTTP 응답을 수정하는 단계는,
    상기 HTTP 응답의 적어도 하나의 리소스를 암호화하는 단계; 및
    암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 삽입하는 단계를 포함하는, 동작 방법.
  2. 청구항 1에 있어,
    상기 적어도 하나의 리소스는,
    상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 하는, 동작 방법.
  3. 청구항 1에 있어,
    암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 상기 클라이언트에 의해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 생성하는 단계를 더 포함하고,
    상기 복구 스크립트는,
    상기 네고시에이터를 더 포함하는 것을 특징으로 하는, 동작 방법.
  4. 청구항 3에 있어,
    상기 복구 스크립트의 적어도 하나의 명령어는,
    광고 차단 동작이 실행되는지 여부를 판단하도록 상기 클라이언트에 의해 실행되는 것을 특징으로 하는, 동작 방법.
  5. 청구항 4에 있어,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    상기 클라이언트에 의해 광고 차단 동작이 실행되지 않는 경우,
    상기 클라이언트에 의해 상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 하는, 동작 방법.
  6. 청구항 4에 있어,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    상기 클라이언트에 의해 광고 차단 동작이 실행되는 경우,
    상기 클라이언트에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 하는, 동작 방법.
  7. 청구항 3에 있어,
    상기 적어도 하나의 명령어는,
    상기 적어도 하나의 리소스를 노출한 이후, 상기 클라이언트에 의해 광고 차단 기능이 실행되는 경우,
    상기 클라이언트에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하고 그리고/또는 리소스 로드를 무산시키는 것을 특징으로 하는, 동작 방법.
  8. 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하는 컴퓨터 기록 매체에 있어서,
    상기 적어도 하나의 명령은,
    클라이언트로부터 HTTP 요청을 수신하고;
    제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 획득하고;
    상기 HTTP 응답을 수정하고; 그리고
    수정된 HTTP 응답을 상기 클라이언트에 전달하도록 상기 프로세서에 의해 실행되고,
    상기 HTTP 응답을 수정하도록 실행됨에 있어,
    상기 HTTP 응답의 적어도 하나의 리소스를 암호화하고;
    암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 삽입하도록 상기 프로세서에 의해 실행되는, 컴퓨터 기록 매체.
  9. 청구항 8에 있어,
    상기 적어도 하나의 리소스는,
    상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 하는, 컴퓨터 기록 매체.
  10. 청구항 8에 있어,
    상기 적어도 하나의 명령어는,
    암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 생성하도록 더 실행되고,
    상기 복구 스크립트는,
    상기 네고시에이터를 더 포함하는 것을 특징으로 하는, 컴퓨터 기록 매체.
  11. 청구항 10에 있어,
    상기 복구 스크립트는,
    상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    광고 차단 동작이 실행되는지 여부를 판단하도록 상기 클라이언트의 프로세서에 의해 실행되는 것을 특징으로 하는, 컴퓨터 기록 매체.
  12. 청구항 11에 있어,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되지 않는 경우,
    상기 클라이언트의 프로세서에 의해 상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 하는, 컴퓨터 기록 매체.
  13. 청구항 11에 있어,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되는 경우,
    상기 클라이언트의 프로세서에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하거나 리소스 로드를 무산시키는 것을 특징으로 하는, 컴퓨터 기록 매체.
  14. 청구항 10에 있어,
    상기 복구 스크립트의 상기 적어도 하나의 명령어는,
    상기 적어도 하나의 리소스를 노출한 이후, 상기 클라이언트의 프로세서에 의한 광고 차단 동작이 실행되는 경우,
    상기 클라이언트의 프로세서에 의한 상기 네고시에이터의 적어도 하나의 명령어의 실행을 중단하고 그리고/또는 리소스 로드를 무산시키는 것을 특징으로 하는, 컴퓨터 기록 매체.
  15. 광고 차단 명령을 회피하기 위한 클라이언트의 동작 방법에 있어,
    서버에게 HTTP 요청을 전송하는 단계;
    제1 광고 정보를 포함하는 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 상기 서버로부터 획득하는 단계; 및
    상기 HTTP 응답을 출력하는 단계를 포함하고,
    상기 HTTP 응답은,
    암호화된 적어도 하나의 리소스; 및
    암호화된 상기 적어도 하나의 리소스를 포함하는 상기 HTTP 응답을 활용하기 위한 복구 스크립트를 포함하는 것을 특징으로 하는, 동작 방법.
  16. 청구항 15에 있어,
    상기 적어도 하나의 리소스는,
    상기 HTTP 응답의 이미지, 스크립트, CSS, HTML 요소 중 하나 이상을 포함하는 것을 특징으로 하는, 동작 방법.
  17. 청구항 15에 있어,
    상기 복구 스크립트는,
    암호화된 상기 HTTP 응답의 상기 적어도 하나의 리소스에 대한 복호화 또는 로드 여부를 결정하기 위해 실행되는 적어도 하나의 명령어를 포함하는 네고시에이터를 더 포함하는 것을 특징으로 하는, 동작 방법.
  18. 청구항 17에 있어,
    광고 차단 기능을 실행하지 않는 경우,
    상기 네고시에이터의 적어도 하나의 명령어가 실행되는 것을 특징으로 하는, 동작 방법.
  19. 청구항 17에 있어,
    광고 차단 기능을 실행하는 경우,
    상기 네고시에이터의 적어도 하나의 명령어의 실행이 중단되거나 리소스 로드가 무산되는 것을 특징으로 하는, 동작 방법.
  20. 청구항 17에 있어,
    상기 적어도 하나의 리소스를 노출한 이후에, 광고 차단 기능을 실행하는 경우,
    상기 네고시에이터의 적어도 하나의 명령어의 실행이 중단하고 그리고/또는 리소스 로드를 무산시키는 것을 특징으로 하는, 동작 방법.
PCT/KR2022/016036 2022-02-14 2022-10-20 과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치 WO2023153580A1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2022-0018838 2022-02-14
KR10-2022-0018831 2022-02-14
KR10-2022-0018834 2022-02-14
KR1020220018838A KR102558208B1 (ko) 2022-02-14 2022-02-14 과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치
KR1020220018834A KR102598112B1 (ko) 2022-02-14 2022-02-14 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치
KR1020220018831A KR102598102B1 (ko) 2022-02-14 2022-02-14 광고 차단 기능에 대응하여 난독화된 광고를 제공하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2023153580A1 true WO2023153580A1 (ko) 2023-08-17

Family

ID=87558185

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/016036 WO2023153580A1 (ko) 2022-02-14 2022-10-20 과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US20230262107A1 (ko)
WO (1) WO2023153580A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160109060A (ko) * 2015-03-09 2016-09-21 삼성전자주식회사 웹 서비스 제공 방법 및 장치
KR20170008514A (ko) * 2015-07-14 2017-01-24 라인 가부시키가이샤 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
KR20190083899A (ko) * 2018-01-05 2019-07-15 주식회사 마블링 차단 감지 시스템 및 방법
US20200250282A1 (en) * 2017-10-27 2020-08-06 Nippon Telegraph And Telephone Corporation Communication device, communication system, and recording medium
KR20210128446A (ko) * 2019-02-20 2021-10-26 노바티크 테크놀로지스 리미티드 표적화된 콘텐츠 프로비전을 위한 가입자 정보 및 콘텐츠 포맷 변환의 서버 기반 세그멘테이션

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160109060A (ko) * 2015-03-09 2016-09-21 삼성전자주식회사 웹 서비스 제공 방법 및 장치
KR20170008514A (ko) * 2015-07-14 2017-01-24 라인 가부시키가이샤 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
US20200250282A1 (en) * 2017-10-27 2020-08-06 Nippon Telegraph And Telephone Corporation Communication device, communication system, and recording medium
KR20190083899A (ko) * 2018-01-05 2019-07-15 주식회사 마블링 차단 감지 시스템 및 방법
KR20210128446A (ko) * 2019-02-20 2021-10-26 노바티크 테크놀로지스 리미티드 표적화된 콘텐츠 프로비전을 위한 가입자 정보 및 콘텐츠 포맷 변환의 서버 기반 세그멘테이션

Also Published As

Publication number Publication date
US20230262107A1 (en) 2023-08-17

Similar Documents

Publication Publication Date Title
WO2013065915A1 (ko) 보안 영역과 비보안 영역 사이의 보안 연동 방법 및 보안 어플리케이션 다운로드 관리방법, 관리서버, 단말기, 및 이를 적용한 관리시스템
WO2017022917A1 (ko) 블록체인을 기반으로 하는 공인인증서 발급시스템
WO2009091210A2 (ko) 텍스트 정보를 활용하는 전자 서적 서비스 제공 방법 및 그 시스템
WO2014069777A1 (en) Transit control for data
WO2019019350A1 (zh) 开户页面的生成方法、装置、设备及计算机可读存储介质
WO2016171401A1 (ko) 공동 편집 문서를 공유하는 방법 및 장치
WO2022102930A1 (ko) 브라우저 기반 보안 pin 인증을 이용한 did 시스템 및 그것의 제어방법
WO2015018243A1 (zh) 一种基于iOS设备的网页拦截方法和设备
WO2019019245A1 (zh) 基金组合购买方法、系统及存储介质
WO2020130331A1 (ko) 블록체인에서 노드들간 블록 및 전자 문서를 공유 및 검증하는 방법
EP2885758A1 (en) Method and electronic device for editing content
WO2011126280A2 (ko) Drm을 이용한 광고 컨텐트 갱신 방법
WO2012108661A2 (ko) 네트워크 통신망에서의 쌍방향 가입자 보안 인증 시스템과 방법 및 이 방법을 기록한 기록매체
WO2020186775A1 (zh) 业务数据提供方法、装置、设备及计算机可读存储介质
WO2021177787A1 (ko) 개별화된 시간 관리를 위한 효율적인 데이터베이스 아키텍쳐를 통한 콘텐츠 제공 방법 및 시스템
WO2020209664A2 (ko) 디지털 컨텐츠의 이용 권리 증서를 유통시키는 방법, 및 상기 방법을 실행하기 위하여 매체에 저장된 컴퓨터 프로그램
WO2020027408A1 (ko) 암호화폐 교환을 위한 트랜잭션을 매칭하는 전자 장치 및 방법
WO2010002095A2 (en) Method and apparatus for generating media file having media information compatible between media files having same format, and method and apparatus for executing the media file
WO2011162471A1 (ko) 가상 세계 운용 시스템 및 운용 방법
WO2020050611A1 (ko) 무료 충전 이용권 기반 콘텐츠 제공 방법 및 시스템
WO2023153580A1 (ko) 과격한 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치
WO2017023049A1 (en) Electronic device and server related to rendering of web content and controlling method thereof
WO2023153579A1 (ko) 광고 차단 기능에 대응하여 광고를 제공하기 위한 방법 및 장치
WO2010030146A2 (ko) 콘텐츠 협업 네트워크 시스템 및 콘텐츠 협업 방법
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: 22926178

Country of ref document: EP

Kind code of ref document: A1