KR20230122320A - Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function - Google Patents

Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function Download PDF

Info

Publication number
KR20230122320A
KR20230122320A KR1020220018831A KR20220018831A KR20230122320A KR 20230122320 A KR20230122320 A KR 20230122320A KR 1020220018831 A KR1020220018831 A KR 1020220018831A KR 20220018831 A KR20220018831 A KR 20220018831A KR 20230122320 A KR20230122320 A KR 20230122320A
Authority
KR
South Korea
Prior art keywords
advertisement
client
http response
information
advertisement information
Prior art date
Application number
KR1020220018831A
Other languages
Korean (ko)
Other versions
KR102598102B1 (en
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 주식회사 애드쉴드
Priority to KR1020220018831A priority Critical patent/KR102598102B1/en
Priority to US17/702,311 priority patent/US11895178B2/en
Priority to US17/702,323 priority patent/US20230262029A1/en
Priority to US17/836,540 priority patent/US20230262107A1/en
Priority to PCT/KR2022/016036 priority patent/WO2023153580A1/en
Priority to PCT/KR2022/016034 priority patent/WO2023153579A1/en
Publication of KR20230122320A publication Critical patent/KR20230122320A/en
Application granted granted Critical
Publication of KR102598102B1 publication Critical patent/KR102598102B1/en

Links

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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Developing Agents For Electrophotography (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Adhesives Or Adhesive Processes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

광고 제공을 위한 서버의 동작 방법은, 클라이언트로부터 HTTP 요청을 수신하는 단계; 제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계; 상기 HTTP 응답을 수정하는 단계 - 제1 광고 정보를 포함하는 상기 HTTP 응답의 적어도 일부 영역을 난독화하는 단계를 포함함 -; 및 수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함할 수 있다. A method of operating a server for providing an advertisement includes receiving an HTTP request from a client; obtaining an HTTP response to the HTTP request, including first advertisement information; modifying the HTTP response, including obfuscating at least a portion of the HTTP response including first advertisement information; and transmitting the modified HTTP response to the client.

Description

광고 차단 기능에 대응하여 난독화된 광고를 제공하기 위한 방법 및 장치{METHOD AND DEVICE FOR PROVIDING OBFUSCATED ADVERTISEMENT BY COUNTERACTING ON ADVERTISEMENT BLOCKING FUNCTION}Method and apparatus for providing obfuscated advertisements in response to advertisement blocking function

본 발명은 광고 제공 방법 및 장치에 관한 것으로, 보다 구체적으로, 광고 차단 기능에 대응하여, 난독화된 광고를 제공하기 위한 방법 및 광고 제공 방법을 수행하는 디바이스에 관한 것이다.The present invention relates to a method and apparatus for providing advertisements, and more particularly, to a method for providing obfuscated advertisements in response to an advertisement blocking function and a device for performing the advertisement providing method.

온라인 광고는 온라인 콘텐츠 게시자에게 중요한 수익원 중 하나이다. 그리고, 온라인 광고는 다양한 제품 및 서비스에 대한 정보를 홍보할 수 있는 수단 중 하나이다. Online advertising is one of the important revenue streams for online content publishers. In addition, 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.

광고 차단기는 HTML(HyperText Markup Language) 페이지 및 기타 다운로드 가능한 콘텐츠와 같은 웹사이트의 온라인 광고를 차단한다. 광고 차단기는 소프트웨어 응용 프로그램, 브라우저 구성 요소, 확장 프로그램, 추가 기능, 스크립트 등을 통해 작동하는 서비스일 수 있다. 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.

이러한 광고 차단기는 콘텐츠 게시자에게 부여될 광고 수익을 박탈하고 또한 제품 및 서비스의 마케팅, 판촉 및 정보 제공을 방해한다. 따라서, 광고 차단기의 영향을 상쇄하여, 광고를 포함하는 콘텐츠가 클라이언트에 표시되도록 할 필요가 있다. These 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.

상기 목적을 달성하기 위한 광고 제공을 위한 서버의 동작 방법은, 클라이언트로부터 HTTP 요청을 수신하는 단계; 제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계; 상기 HTTP 응답을 수정하는 단계 - 제1 광고 정보를 포함하는 상기 HTTP 응답의 적어도 일부 영역을 난독화하는 단계를 포함함 -; 및 수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함할 수 있다. A method of operating a server for providing advertisements 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, including obfuscating at least a portion of the HTTP response including first advertisement information; and transmitting the modified HTTP response to the client.

여기서, 상기 HTTP 응답의 적어도 일부 영역을 난독화하는 단계는, 상기 HTTP 응답의 적어도 일부 영역에 복수의 계층 태그 및 속성 값을 덧붙이는 단계를 더 포함하고, 상기 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 부여되는 것을 특징으로 할 수 있다. Here, the step of obfuscating at least some regions of the HTTP response further includes appending a plurality of layer tags and attribute values to at least some regions of the HTTP response, wherein the plurality of layer tags and attribute values are respectively It may be characterized in that it is arbitrarily granted for each HTTP request.

여기서, 상기 복수의 계층 태그 및 상기 속성 값은, 상기 클라이언트에 의해 실행되는 상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 할 수 있다. Here, the plurality of layer tags and the attribute values may be layer tags and attribute values unrelated to an operation for outputting the first advertisement information executed by the client.

여기서, 상기 수정된 HTTP 응답은, 상기 수정된 HTTP 응답의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함할 수 있다. Here, the modified HTTP response may further include a recovery script for utilizing the blocked at least partial area when information on at least a partial area of the modified HTTP response is blocked.

여기서, 상기 복구 스크립트는, 상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 클라이언트에 의해 상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 실행되는 것을 특징으로 할 수 있다. Here, 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 determines whether the first advertisement information is blocked by the client. It can be characterized as running.

여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 제1 광고 정보가 차단된 경우, 상기 클라이언트에 의해 상기 서버에 제2 광고 정보를 요청하는 정보를 전송하도록 더 실행되는 것을 특징으로 할 수 있다. Here, the at least one command of the recovery script may be further executed by the client to transmit information requesting second advertisement information to the server when the first advertisement information is blocked. .

여기서, 동작 방법은, 상기 클라이언트로부터 광고 요청을 수신하는 단계; 외부 서버에게 상기 제2 광고 정보를 요청하는 단계; 상기 외부 서버로부터 상기 제2 광고 정보를 획득하는 단계; 및 상기 클라이언트에게 상기 제2 광고 정보를 전송하는 단계를 포함할 수 있다. Here, the operating method includes receiving an advertisement request from the client; requesting the second advertisement information from an external server; obtaining the second advertisement information from the external server; and transmitting the second advertisement information to the client.

상기 목적을 달성하기 위한 프로세서에 의해 실행되는 적어도 하나의 명령을 포함하는 컴퓨터 기록 매체에 있어서, 상기 적어도 하나의 명령은, 클라이언트로부터 HTTP 요청을 수신하고; 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 획득하고; 상기 HTTP 응답을 수정하고; 그리고 수정된 HTTP 응답을 상기 클라이언트에 전달하도록 상기 프로세서에 의해 실행되고, 상기 HTTP 응답을 수정하도록 실행됨에 있어, 제1 광고 정보를 포함하는 상기 HTTP 응답의 적어도 일부 영역을 난독화하도록 상기 프로세서에 의해 실행될 수 있다. A computer recording medium comprising at least one instruction executed by a processor for achieving the above object, wherein the at least one instruction comprises: receiving an HTTP request from a client; obtaining an HTTP response that is response information to the HTTP request; modify the HTTP response; and by the processor to deliver a modified HTTP response to the client, and in executing to modify the HTTP response, to obfuscate at least a partial region of the HTTP response including the first advertisement information. can be executed

여기서, 상기 적어도 하나의 명령은, 상기 HTTP 응답의 적어도 일부 영역을 난독화하도록 실행됨에 있어, 상기 HTTP 응답의 적어도 일부 영역에 복수의 계층 태그 및 속성 값을 덧붙이도록 상기 프로세서에 의해 더 실행되고, 상기 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 부여되는 것을 특징으로 할 수 있다. Here, the at least one command is further executed by the processor to append a plurality of hierarchical tags and attribute values to at least some regions of the HTTP response, when being executed to obfuscate at least some regions of the HTTP response; The plurality of layer tags and attribute values may be randomly assigned to each HTTP request.

여기서, 상기 복수의 계층 태그 및 상기 속성 값은, 상기 클라이언트에 의해 실행되는 상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 할 수 있다. Here, the plurality of layer tags and the attribute values may be layer tags and attribute values unrelated to an operation for outputting the first advertisement information executed by the client.

여기서, 상기 수정된 HTTP 응답은, 상기 수정된 HTTP 응답의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함하는 것을 특징으로 할 수 있다. Here, the modified HTTP response may further include a recovery script for utilizing the blocked at least partial area when information on at least a partial area of the modified HTTP response is blocked.

여기서, 상기 복구 스크립트는, 상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 상기 클라이언트의 프로세서에 의해 실행되는 것을 특징으로 할 수 있다. Here, 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 configured to determine whether the first advertisement information is blocked by the processor of the client. It may be characterized in that it is executed by.

여기서, 상기 복구 스크립트의 상기 적어도 하나의 명령어는, 상기 제1 광고 정보가 차단된 경우, 상기 서버에 제2 광고 정보를 요청하도록 상기 클라이언트의 프로세서에 의해 더 실행되는 것을 특징으로 할 수 있다. Here, the at least one command of the recovery script may be further executed by the processor of the client to request second advertisement information from the server when the first advertisement information is blocked.

여기서, 상기 적어도 하나의 명령어는, 상기 클라이언트로부터 광고 요청을 수신하고; 외부 서버에게 상기 제2 광고 정보를 요청하고; 상기 외부 서버로부터 상기 제2 광고 정보를 획득하고; 그리고 상기 클라이언트에게 상기 제2 광고 정보를 전송하도록 상기 프로세서에 의해 실행될 수 있다. Here, the at least one command is to receive an advertisement request from the client; requesting the second advertisement information from an external server; obtaining the second advertisement information from the external server; and may be executed by the processor to transmit the second advertisement information to the client.

상기 목적을 달성하기 위한 광고 제공을 위한 클라이언트의 동작 방법에 있어, 서버에게 HTTP 요청을 전송하는 단계; 제1 광고 정보를 포함하는 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 상기 서버로부터 획득하는 단계; 및 상기 HTTP 응답을 출력하는 단계를 포함하고, 상기 HTTP 응답 정보는, 상기 서버에 의해 수정된 HTTP 응답 정보이고, 상기 제1 광고 정보를 포함하는 적어도 일부의 영역이 난독화된 것을 특징으로 할 수 있다. A method of operating a client for providing an advertisement to achieve the above object, comprising: 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 information is HTTP response information modified by the server, and at least a portion of the region including the first advertisement information is obfuscated. there is.

여기서, 상기 HTTP 응답의 적어도 일부 영역은, HTTP 요청마다 임의로 추가되는 복수의 계층 태그 및 속성 값을 포함할 수 있다. Here, at least some areas of the HTTP response may include a plurality of layer tags and attribute values that are arbitrarily added to each HTTP request.

여기서, 상기 복수의 계층 태그 및 상기 속성 값은, 상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 할 수 있다. Here, the plurality of layer tags and the attribute values may be layer tags and attribute values unrelated to an operation for outputting the first advertisement information.

여기서, 상기 수정된 HTTP 응답 정보는, 상기 수정된 HTTP 응답 정보의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함하는 것을 특징으로 할 수 있다. Here, the modified HTTP response information may further include a recovery script for utilizing the at least partial area blocked when information on at least some area of the modified HTTP response information is blocked. .

여기서, 상기 복구 스크립트를 실행하여, 상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 실행될 수 있다. Here, the recovery script may be executed to determine whether or not the first advertisement information is blocked.

여기서, 동작 방법은 상기 제1 광고 정보를 차단한 경우, 광고 요청 정보를 상기 서버에게 전송하는 단계; 및 상기 서버로부터 상기 제2 광고 정보를 획득하는 단계; 및 상기 제2 광고 정보를 출력하는 단계를 더 포함할 수 있다. Here, the operation method includes transmitting advertisement request information to the server when the first advertisement information is blocked; and obtaining the second advertisement information from the server; and outputting the second advertisement information.

본 발명에 의한 광고 제공 방법에 따르면, 광고 차단기가 클라이언트 상에서 동작하는 경우에도 클라이언트에게 광고를 제공할 수 있다. According to the advertisement providing method according to the present invention, advertisements can be provided to clients even when an advertisement blocker operates on the client.

도 1은 광고 제공 시스템의 구조의 일 실시예를 도시한 도면이다.
도 2는 도 1에 따른 광고 제공 시스템에 포함된 디바이스의 하드웨어 구성을 나타낸 예시도이다.
도 3은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 4는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 5는 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
도 6은 광고 제공 시스템의 프록시의 HTTP 응답 수정 동작을 도시하는 흐름도이다.
도 7은 수정된 HTTP 응답을 수신한 광고 제공 시스템의 클라이언트의 동작을 도시하는 흐름도이다.
도 8은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다.
도 9는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다.
도 10은 광고 제공 시스템의 클라이언트의 복구 스크립트 실행 동작을 도시하는 흐름도이다.
도 11은 암호화된 광고 요청을 수신한 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다.
도 12는 일반적인 광고 정보에 관한 영역을 포함하는 HTTP 응답의 일 실시예를 도시하는 도면이다.
도 13은 광고 제공 시스템에서 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예를 도시한 도면이다.
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 .
3 is a conceptual diagram illustrating a signal flow between respective components in an advertisement providing system.
4 is a flowchart illustrating the operation of each component in the advertisement providing system.
5 is a flowchart illustrating the operation of the proxy of the advertisement providing system.
6 is a flowchart illustrating an operation of modifying an HTTP response of a proxy of an advertisement providing system.
7 is a flowchart illustrating an operation of a client of an advertisement providing system that has received a modified HTTP response.
8 is a conceptual diagram illustrating a signal flow between components in an advertisement providing system.
9 is a flowchart illustrating the operation of each component in the advertisement providing system.
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.
12 is a diagram illustrating an embodiment of an HTTP response including an area related to general advertisement information.
13 is a diagram illustrating an example of an HTTP response including an obfuscated area for advertisement information in an advertisement providing system.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can make various changes and have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as 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.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this application, they should not be interpreted in an ideal or excessively formal meaning. don't

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in more detail. In order to facilitate overall understanding in the description of the present invention, the same reference numerals are used for the same components in the drawings, and redundant descriptions of the same components are omitted.

도 1은 광고 제공 시스템의 구조의 일 실시예를 도시한 도면이다. 1 is a diagram illustrating an example of a structure of an advertisement providing system.

도 1을 참조하면, 광고 제공 시스템은 콘텐츠 전달 네트워크(content delivery network, CDN)(110), 하나 이상의 프록시(proxy)(120), 하나 이상의 클라이언트(130), 하나 이상의 웹 서버(140), 및 하나 이상의 광고 서버(150) 등을 포함할 수 있다. 광고 제공 시스템의 각각의 구성들은 인터넷을 통해 연결되어 통신을 수행할 수 있다. Referring to FIG. 1, 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. Each component of the advertisement providing system may be connected through the Internet to perform communication.

CDN(110)은 분산된 노드의 네트워크 및/또는 노드들의 네트워크와 연결된 데이터 센터일 수 있다. CDN(110)은 노드, 서버, 데이터 센터를 호스팅하기 위한 인터넷 서비스 제공자, 캐리어 등을 활용할 수 있다. 콘텐츠 제공자는 CDN(110)을 포함한 시스템의 구성요소들을 활용하여 콘텐츠 등을 클라이언트(130)에게 전달할 수 있다. 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 .

프록시(120)는 CDN(110), 클라이언트(130) 및 서버 등과 독립적으로 동작할 수 있는 네트워크 액세스 가능한 디바이스일 수 있다. 일 실시예에 따르면, 프록시(120)는 웹 서버(140)와 연계되어 네트워크 액세스 동작을 수행할 수 있다. 프록시는 포워드 프록시 또는 리버스 프록시일 수 있다. 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.

클라이언트(130)는 콘텐츠 처리, 렌더링 또는 표시하기 위한 애플리케이션을 실행하는 프로세서를 가진 디바이스일 수 있다. 예를 들어, 클라이언트(130)는 랩톱 컴퓨터, 스마트폰, 태블릿 및 데스크톱 컴퓨팅 머신 중 적어도 하나일 수 있다. 콘텐츠를 처리, 렌더링 또는 표시하기 위한 가장 일반적인 애플리케이션은 웹 브라우징 애플리케이션이지만, 이외의 어플리케이션 역시 포함할 수 있다. The client 130 may be a device having a processor running an application for processing, rendering or displaying content. For example, 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.

웹 서버(140)는 콘텐츠를 호스팅하고 전달하기 위한 서버일 수 있다. 콘텐츠는 디지털로 인코딩되고 네트워크를 통해 전달 가능한 임의의 웹사이트, 텍스트, 문서, 파일, 미디어, 애플리케이션, 서비스 또는 게임 등을 지칭할 수 있다. 콘텐츠는 하나 이상의 광고 서버(150)에 의해 제공되는 광고에 관한 정보와 함께 클라이언트(130)에게 표시될 수 있다. Web server 140 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 .

광고 서버(150)는 콘텐츠 게시자 콘텐츠 내에 내장된 다양한 광고를 호스팅하고 전달하기 위한 서버일 수 있다. 클라이언트(130)가 콘텐츠를 수신하고 처리함에 있어, 광고를 호출하는 경우, 광고 서버(150)는 클라이언트(130)에게 제공할 수 있는 광고 정보를 제공할 수 있다. 광고는 콘텐츠 내에서 구성되거나 지정된 방식으로 렌더링되거나 표시될 수 있다. Ad server 150 may be a server for hosting and delivering various advertisements embedded within content publisher content. When the client 130 receives and processes content and calls an advertisement, 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.

도 2는 도 1에 따른 광고 제공 시스템에 포함된 디바이스의 하드웨어 구성을 나타낸 예시도이다. FIG. 2 is an exemplary diagram illustrating a hardware configuration of a device included in the advertisement providing system according to FIG. 1 .

도 2를 참조하면, 디바이스(200)는, 적어도 하나의 프로세서(210) 및 적어도 하나의 프로세서(210)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(220)를 포함할 수 있다. Referring to FIG. 2 , 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. can include

여기서 적어도 하나의 프로세서(210)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(220) 및 저장 장치(260) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(220)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다. Here, 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. can 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. For example, the memory 220 may include at least one of a read only memory (ROM) and a random access memory (RAM).

또한, 디바이스(200)는, 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(230)를 포함할 수 있다. 또한, 디바이스(200)는 입력 인터페이스 장치(240), 출력 인터페이스 장치(250), 저장 장치(260) 등을 더 포함할 수 있다. 디바이스(200)에 포함된 각각의 구성 요소들은 버스(bus)(270)에 의해 연결되어 서로 통신을 수행할 수 있다. In addition, the device 200 may include a transceiver 230 that performs communication through a wireless network. In addition, 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.

도 3은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다. 3 is a conceptual diagram illustrating a signal flow between respective components in an advertisement providing system.

도 3을 참조하면, 광고 제공 시스템은 클라이언트(310), CDN(320), 프록시(330), 웹 서버(340), 및 광고 서버(350)를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다. Referring to FIG. 3 , the advertisement providing system may include a client 310, a CDN 320, a proxy 330, a web server 340, and an advertisement server 350. However, some components of the advertisement providing system may be omitted.

도 3을 참조하면, ①에서, 클라이언트(310)는 웹 서버(340)로 HTTP 콘텐츠를 요청할 수 있다. HTTP 콘텐츠의 요청은 특정 링크를 호출하거나, 콘텐츠를 로드하는 임의의 애플리케이션을 시작하여 수행될 수 있다. HTTP 콘텐츠 요청은 일반적으로 웹 서버(340) 등의 주소 및 콘텐츠를 식별하는 URL과 함께 HTTP GET 요청 형태로 전송될 수 있다. HTTP 콘텐츠 요청은 CDN(320) 및/또는 프록시(330)를 통해 웹 서버(340)에 포워딩될 수 있다. Referring to FIG. 3 , in ①, 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 .

②에서, 웹 서버(340)는 HTTP 콘텐츠 요청에 상응하는 HTTP 응답을 프록시(330)에게 전송할 수 있다. 여기서, HTTP 응답은 HTTP 콘텐츠 및 광고 호출을 위한 광고 정보를 포함할 수 있다. 광고 정보는 광고 서버(350)의 주소 및 광고를 지정하기 위한 HTML 속성 등을 포함할 수 있다. In ②, the web server 340 may transmit an HTTP response corresponding to the HTTP content request to the proxy 330. Here, 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.

프록시(330)는 웹 서버(340)로부터 수신한 HTTP 응답의 적어도 일부를 수정할 수 있다. 예를 들어, 프록시(330)는 HTTP 응답에 포함된 콘텐츠, 광고 정보 등을 수정할 수 있다. 일 실시예에 따르면, 프록시(330)는 콘텐츠 및/또는 광고 정보를 암호화 및/또는 난독화하는 등의 동작을 수행할 수 있다. 구체적으로, 프록시(330)는 복수의 계층 태그들 및 태그들 각각의 속성 값을 생성하고, HTTP 응답에서 광고 정보를 포함하는 영역에 추가함으로써, HTTP 응답의 적어도 일부 영역을 난독화할 수 있다. The proxy 330 may modify at least a part of the HTTP response received from the web server 340 . For example, the proxy 330 may modify content, advertisement information, and the like included in the HTTP response. According to an embodiment, the proxy 330 may perform operations such as encrypting and/or obfuscating content and/or advertisement information. Specifically, the proxy 330 may obfuscate at least a portion 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 in the HTTP response.

또는, 프록시(330)는 HTTP 응답에 스크립트 등의 명령어를 추가할 수 있다. 그리고 ③에서, 프록시(330)는 수정된 HTTP 응답을 클라이언트(310)에게 전송할 수 있다. 수정된 HTTP 응답은 CDN(320)을 통해 클라이언트(310)에게 포워딩될 수 있으나, CDN(320)을 통하지 않고 직접 전송될 수도 있다. Alternatively, the proxy 330 may add a command such as a script to the HTTP response. And in ③, 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.

HTTP 콘텐츠를 요청한 클라이언트(310)는 프록시(330) 및/또는 CDN(320)으로부터 HTTP 콘텐츠를 포함하는 HTTP 응답을 수신할 수 있다. 클라이언트(310)에 의해 실행되는 광고 차단 기능은 HTTP 응답에 포함된 광고 정보에 기초한 광고 호출을 차단할 수 있다. 일 실시예에 따르면, 광고 차단기는 CSS 룰을 이용해 광고 영역 및/또는 광고 정보의 렌더링을 차단할 수 있다. 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 . An advertisement blocking function executed by the client 310 may block an advertisement call based on advertisement information included in an HTTP response. According to one embodiment, the ad blocker may block rendering of an advertisement area and/or advertisement information using a CSS rule.

하지만, 수정된 HTTP 응답에서 광고 정보를 포함하는 영역은 난독화되어 있으므로, 광고 차단기는 HTTP 응답에서 광고 정보를 포함하는 영역을 특정하지 못할 수 있다. 따라서, 광고 차단기는 CSS 룰과 같은 알고리즘을 이용하여 광고 영역을 차단하지 못할 수 있다. 즉, HTTP 응답의 난독화된 적어도 일부의 영역은 광고 차단기를 회피할 수 있다. However, since the area including advertisement information in the modified HTTP response is obfuscated, the advertisement blocker may not be able to specify the area including advertisement information in the HTTP response. Therefore, ad blockers may not be able to block ad areas using algorithms such as CSS rules. That is, at least some of the obfuscated areas of the HTTP response can avoid ad blockers.

④에서, 클라이언트(310)에 의한 광고 차단 기능에도 불구하고, HTTP 응답에 포함된 광고 정보가 차단되지 않은 경우, 클라이언트(310)는 HTTP 응답에 포함된 광고 정보를 기초로 광고 서버(350)에 광고를 요청할 수 있다. In ④, if the advertisement information included in the HTTP response is not blocked despite the advertisement blocking function by the client 310, the client 310 sends the advertisement server 350 based on the advertisement information included in the HTTP response. Ads may be requested.

⑤에서, 클라이언트(310)는 광고 서버(350)로부터 광고 응답을 수신할 수 있으며, 수신한 광고 응답을 기초로 광고를 출력할 수 있다. 따라서, 클라이언트(310)는 광고를 성공적으로 호출할 수 있다. In ⑤, the client 310 may receive an advertisement response from the advertisement server 350 and output an advertisement based on the received advertisement response. Thus, 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.

도 4는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다. 4 is a flowchart illustrating the operation of each component in the advertisement providing system.

도 4를 참조하면, 광고 제공 시스템은 클라이언트, CDN, 프록시, 웹 서버, 및 광고 서버를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다. Referring to FIG. 4 , 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.

S401 단계에서, 클라이언트는 웹 서버에게 HTTP 요청을 전송할 수 있다. 여기서, HTTP 요청은 CDN 및/또는 프록시를 통해 웹 서버에게 포워딩될 수 있다. In step S401, the client may transmit an HTTP request to the web server. Here, the HTTP request may be forwarded to the web server via a CDN and/or proxy.

S403 단계에서, 웹 서버는 HTTP 요청에 상응하는 HTTP 응답을 프록시에게 전송할 수 있다. In step S403, the web server may transmit an HTTP response corresponding to the HTTP request to the proxy.

S405 단계에서, 프록시는 HTTP 응답의 적어도 일부 영역을 난독화할 수 있다. 여기서, HTTP 응답의 적어도 일부 영역은 광고 정보를 포함하는 영역일 수 있다. 그리고 난독화된 적어도 일부 영역은 광고 정보의 호출과 무관한 태그 및 속성 값들을 더 포함할 수 있다. In step S405, the proxy may obfuscate at least a portion of the HTTP response. Here, at least some areas of the HTTP response may be areas including advertisement information. In addition, at least some of the obfuscated regions may further include tags and attribute values irrelevant to calling of advertisement information.

S407 단계에서 프록시는 HTTP 응답을 수정할 수 있다. 예를 들어, 프록시는 HTTP 응답의 적어도 일부 영역을 난독화하여, HTTP 응답을 수정할 수 있다. 또는 프록시는 HTTP 응답에 복구 스크립트를 추가할 수 있다. In step S407, the proxy may modify the HTTP response. For example, the proxy may modify the HTTP response by obfuscating at least a portion of the HTTP response. Alternatively, the proxy may add a recovery script to the HTTP response.

S409 단계에서, 프록시는 수정된 HTTP 응답을 클라이언트에게 전송할 수 있다. 여기서, 수정된 HTTP 응답은 CDN을 통해 클라이언트에게 포워딩될 수 있다. In step S409, the proxy may transmit the modified HTTP response to the client. Here, the modified HTTP response may be forwarded to the client through the CDN.

S411 단계에서, 클라이언트는 광고 차단 기능을 실행할 수 있다. 난독화된 HTTP 응답의 적어도 일부의 영역으로 인하여, 광고 차단기는 HTTP 응답에서 광고 정보를 포함하는 영역을 특정하지 못할 수 있다. 그 결과, HTTP 응답의 난독화된 적어도 일부의 영역은 광고 차단기를 회피할 수 있다. In step S411, the client may execute an advertisement blocking function. Due to the obfuscated area of at least a part of the HTTP response, the ad blocker may not be able to specify the area including advertisement information in the HTTP response. As a result, at least some areas of the obfuscated HTTP response can avoid ad blockers.

HTTP 응답에 포함된 광고 정보가 클라이언트의 광고 차단 기능에 의해 차단되지 않은 경우, S413 단계에서, 클라이언트는 HTTP 응답에 포함된 광고 정보를 요청할 수 있다. When the advertisement information included in the HTTP response is not blocked by the client's advertisement blocking function, in step S413, the client may request the advertisement information included in the HTTP response.

S415 단계에서, 클라이언트는 광고 서버로부터 광고 정보 요청에 대한 응답을 수신할 수 있다. 따라서, 클라이언트는 광고 서버로부터 획득한 광고 정보를 렌더링할 수 있다. In step S415, the client may receive a response to the advertisement information request from the advertisement server. Accordingly, the client may render advertisement information acquired from the advertisement server.

광고 제공 시스템의 프록시의 구체적인 동작은 아래와 같을 수 있다. A specific operation of the proxy of the advertisement providing system may be as follows.

도 5는 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다. 5 is a flowchart illustrating the operation of the proxy of the advertisement providing system.

S601 단계에서, 프록시는 클라이언트로부터 HTTP 요청을 수신할 수 있다. In step S601, the proxy may receive an HTTP request from the client.

S603 단계에서, 프록시는 외부 서버에게 HTTP 요청에 상응하는 컨텐츠를 요청할 수 있으며, 외부 서버로부터 HTTP 요청에 상응하는 HTTP 응답을 획득할 수 있다. 여기서, HTTP 응답은 제1 광고에 관한 정보를 포함할 수 있다. 제1 광고에 관한 정보는 제1 광고의 호출을 위한 정보 및/또는 스크립트를 포함할 수 있다. 예를 들어, 제1 광고 호출을 위한 정보는 광고 서버에게 광고를 요청하기 위한 URL, URI 등의 주소일 수 있다. In step S603, 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. Here, 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. For example, 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.

S605 단계에서, 프록시는 외부 서버로부터 수신한 HTTP 응답을 수정할 수 있다. 구체적으로, 프록시는 클라이언트의 광고 차단기를 회피하기 위한 적어도 하나의 스크립트 및/또는 명령어를 HTTP 응답에 삽입할 수 있다. HTTP 응답을 수정하는 프록시의 동작은 아래에 설명하는 바와 같을 수 있다. In step S605, 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.

도 6은 광고 제공 시스템의 프록시의 HTTP 응답 수정 동작을 도시하는 흐름도이다. 6 is a flowchart illustrating an operation of modifying an HTTP response of a proxy of an advertisement providing system.

S701 단계에서, 프록시는 복수의 계층 태그들 및 태그들 각각의 속성 값을 생성할 수 있다. 여기서, 복수의 계층 태그 및 속성 값은 HTTP 응답의 출력 동작과 무관한 계층 태그 및 속성 값일 수 있다. 그리고, 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 생성될 수 있다. 광고 정보를 포함하는 HTTP 응답의 출력과 무관한 계층 태그를 더미 태그(dummy tag)라고 지칭할 수 있다. In step S701, the proxy may generate a plurality of layer tags and an attribute value of each of the tags. Here, the plurality of layer tags and attribute values may be layer tags and attribute values unrelated to the output operation of the HTTP response. In addition, 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.

S703 단계에서, 프록시는 생성한 더미 태그를 HTTP 응답에 추가하여 HTTP 응답 중 적어도 일부 영역을 난독화할 수 있다. 여기서, 적어도 일부 영역은 외부 서버로부터 수신한 HTTP 응답에 포함된 제1 광고 정보에 관한 스크립트 등을 포함하는 영역일 수 있다. 또한 적어도 일부 영역은, 자체 광고 서버로부터 제2 광고를 호출하기 위한 적어도 하나의 명령어 및/또는 스크립트를 포함할 수 있다. In step S703, the proxy may obfuscate at least a part of the HTTP response by adding the generated dummy tag to the HTTP response. Here, 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. Also, at least some area may include at least one command and/or script for calling a second advertisement from its own advertisement server.

즉, 프록시는 HTTP 응답에 더미 태그를 추가함으로써 제1 광고 정보에 관한 스크립트 및/또는 제2 광고를 호출하기 위한 명령어 등을 포함하는 영역을 난독화할 수 있다. 여기서, 더미 태그는 클라이언트에 의해 실행되는 제1 광고 정보를 출력하기 위한 동작과 무관한 정보일 수 있다. 여기서, 적어도 일부 영역은 더미 태그, 제1 광고 및/또는 제2 광고에 관한 정보를 포함하는 광고 호출 영역으로 지칭될 수 있다. That is, 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. Here, the dummy tag may be information unrelated to an operation for outputting the first advertisement information executed by the client. Here, at least a part of the area may be referred to as an advertisement call area including a dummy tag and information about the first advertisement and/or the second advertisement.

S705 단계에서, 프록시는 HTTP 응답의 적어도 일부 영역을 활용하기 위한 복구 스크립트를 생성할 수 있다. 복구 스크립트는 HTTP 응답의 적어도 일부 영역을 활용하기 위한 적어도 하나의 명령어를 포함할 수 있다. 여기서, 적어도 일부 영역은 외부 서버로부터 수신한 HTTP 응답에 포함된 제1 광고 정보에 관한 스크립트 등을 포함하는 영역일 수 있다. 복구 스크립트의 적어도 하나의 명령어는 클라이언트에 의해 실행될 수 있다. In step S705, 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 for utilizing at least a partial area of the HTTP response. Here, 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.

복구 스크립트는 클라이언트에 의해 광고 차단 기능이 실행되는지 여부를 판단하도록 실행되는 명령어를 포함할 수 있다. 또한 복구 스크립트는 클라이언트에 의해 HTTP 응답에 포함된 제1 광고의 호출이 차단되는 경우, 별도의 광고를 요청하기 위한 정보를 암호화하고, 암호화된 광고 요청 정보를 전송하도록 실행되는 명령어를 포함할 수 있다. 광고 차단 기능이 실행되는지 여부를 판단하기 위해서는 수정된 HTTP 응답 속에 흔하게 차단될 수 있는 광고 정보를 포함하는 영역을 추가하는 방식을 활용할 수 있다. 광고 차단 기능의 실행 여부 판단은 이처럼 광고 차단기의 알려진 기능들에 의해 차단 가능한 단서를 던져주는 것으로 충분하다. The recovery script may include commands executed by the client to determine whether an ad blocking function is executed. In addition, 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. . In order to determine whether the advertisement blocking function is executed, 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.

S707 단계에서, 프록시는 HTTP 응답에 복구 스크립트를 추가할 수 있다. 따라서, 프록시에 의해 수정된 HTTP 응답은 제1 광고 정보에 관한 스크립트 등을 포함하는 적어도 일부의 영역을 난독화하기 위한 더미 태그들 및 적어도 일부 영역을 활용하기 위한 복구 스크립트를 포함할 수 있다. 다만, 수정된 HTTP 응답은 더미 태그 및/또는 복구 스크립트를 포함하지 않을 수 있으며, 적어도 일부 영역의 활용성을 확보하기 위한 추가 구성을 더 포함할 수 있음은 자명하다. In step S707, the proxy may add a recovery script to the HTTP response. Accordingly, the HTTP response modified by the proxy may include dummy tags for obfuscating at least a portion of the area including the script for the first advertisement information and a recovery script for utilizing the at least partial area. However, it is obvious that the modified HTTP response may not include a dummy tag and/or a recovery script, and may further include an additional configuration for securing utilization of at least some areas.

다시 도 5를 참조하면, S607 단계에서, 프록시는 수정된 HTTP 응답을 전송할 수 있다. 일 실시예에 따르면, 수정된 HTTP 응답은 난독화된 제1 광고 정보에 관한 영역을 포함할 수 있다. 다른 실시예에 따르면, 수정된 HTTP 응답은 제1 광고 정보에 관한 영역과 같은 적어도 일부의 영역을 활용하기 위한 복구 스크립트를 포함할 수 있다. Referring back to FIG. 5 , in step S607, the proxy may transmit a modified HTTP response. According to an embodiment, the modified HTTP response may include a region related to the obfuscated first advertisement information. According to another embodiment, the modified HTTP response may include a recovery script for utilizing at least a part of the area, such as the area related to the first advertisement information.

클라이언트는 프록시로부터 수정된 HTTP 응답을 수신할 수 있다. 수정된 HTTP 응답을 수신한 클라이언트의 동작은 아래에 설명하는 바와 같을 수 있다. 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.

도 7은 수정된 HTTP 응답을 수신한 광고 제공 시스템의 클라이언트의 동작을 도시하는 흐름도이다. 7 is a flowchart illustrating an operation of a client of an advertisement providing system that has received a modified HTTP response.

S801 단계에서, 클라이언트는 프록시로부터 수정된 HTTP 응답을 수신할 수 있다. In step S801, the client may receive a modified HTTP response from the proxy.

수정된 HTTP 응답을 수신한 클라이언트의 광고 차단기는 광고 차단 기능을 실행할 수 있다. 다만, 수정된 HTTP 응답의 난독화된 영역으로 인하여, 클라이언트의 광고 차단기는 HTTP 응답에서 광고 영역을 특정하지 못할 수 있다. 따라서, 광고 차단기는 HTTP 응답의 광고를 차단하지 못할 수 있다. Upon receiving the modified HTTP response, the client's ad blocker may execute an ad blocking function. However, due to the obfuscated area of the modified HTTP response, the ad blocker of the client may not be able to specify the advertisement area in the HTTP response. Thus, ad blockers may not be able to block ads in HTTP responses.

S803 단계에서, 클라이언트는 광고 차단 기능의 실행으로 인해 수정된 HTTP 응답에 포함된 제1 광고 정보의 차단 여부를 판단할 수 있다. In step S803, 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.

수정된 HTTP 응답에 포함된 제1 광고 정보가 차단되지 않은 경우, S805-1 단계에서, 클라이언트는 제1 광고 요청 정보를 기초로 광고 서버에 제1 광고 요청을 전송할 수 있다. If the first advertisement information included in the modified HTTP response is not blocked, in step S805-1, the client may transmit a first advertisement request to the advertisement server based on the first advertisement request information.

반면, 수정된 HTTP 응답에 포함된 제1 광고 정보가 차단된 경우, S805-2 단계에서, 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행할 수 있다. 즉, 클라이언트는 수정된 HTTP 응답에 포함된 제1 광고 정보를 대체하고, 광고 정보에 관한 HTTP 응답의 일부 영역을 활용하기 위해서, 복구 스크립트의 적어도 하나의 명령어를 실행할 수 있다. On the other hand, if the first advertisement information included in the modified HTTP response is blocked, in step S805-2, 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.

S807 단계에서, 클라이언트는 광고 서버로부터 광고 요청에 상응하는 광고 정보를 수신할 수 있다. 클라이언트가 수정된 HTTP 응답에 포함된 제1 광고 정보를 차단하지 않은 경우, 클라이언트는 광고 서버로부터 제1 광고를 수신할 수 있다. 클라이언트가 수정된 HTTP 응답에 포함된 제1 광고 정보를 차단한 경우, 클라이언트는 프록시로부터 자체 광고 서버에 의해 제공되는 제2 광고를 수신할 수 있다. In step S807, the client may receive advertisement information corresponding to the advertisement request from the advertisement server. When the client does not block the first advertisement information included in the modified HTTP response, the client may receive the first advertisement from the advertisement server. When the client blocks the first advertisement information included in the modified HTTP response, the client may receive a second advertisement provided by its own advertisement server from the proxy.

여기서, 프록시로부터 수신한 제2 광고는 암호화된 정보일 수 있다. 암호화된 제2 광고를 수신한 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행하여 제2 광고를 복호화할 수 있다. Here, 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.

S809 단계에서, 클라이언트는 수신한 광고를 출력할 수 있다. 따라서, 클라이언트는 광고 차단 기능의 실행 여부와 무관하게 제1 광고 또는 제2 광고를 출력할 수 있다. In step S809, the client can output the received advertisement. Accordingly, the client may output the first advertisement or the second advertisement regardless of whether the advertisement blocking function is executed or not.

여기서, 광고 제공 시스템에서 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트 및 광고 제공 시스템의 구성들 간의 신호 흐름은 아래와 같을 수 있다. Here, 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.

도 8은 광고 제공 시스템에서의 각각의 구성들 간의 신호 흐름을 도시하는 개념도이다. 8 is a conceptual diagram illustrating a signal flow between components in an advertisement providing system.

도 8을 참조하면, 광고 제공 시스템은 클라이언트(310), CDN(320), 프록시(330), 웹 서버(340), 및 광고 서버(360)를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다. 그리고, 도 8의 신호 흐름은 도 3의 신호 흐름 이후의 신호 흐름일 수 있다. Referring to FIG. 8 , 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 .

도 8을 참조하면, ⑥에서, 클라이언트(310)는 프록시(330) 서버에게 추가 광고를 요청할 수 있다. 추가 광고 요청은 추가 광고를 제공하는 광고 서버(360)의 주소 및 추가 광고를 지정하기 위한 HTML 속성 등을 포함할 수 있다. 일 실시예에 따르면, 클라이언트(310)는 광고 호출 차단을 회피하기 위해, 추가 광고 요청을 암호화하고, 암호화된 추가 광고 요청을 프록시(330)에게 전송할 수 있다. 추가 광고 요청은 CDN(320)을 거쳐 프록시(330)에게 포워딩될 수 있다. Referring to FIG. 8 , in ⑥, 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. According to one embodiment, 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 .

⑦에서, 프록시(330)는 수신한 광고 요청에 상응하는 광고 서버(360)로부터 광고 정보를 요청할 수 있다. ⑧에서, 프록시(330)는 광고 서버(360)로부터 광고 정보를 수신할 수 있다. 여기서, 도 8의 광고 서버(360)는 본 개시에 따른 광고 제공 서비스의 운영 주체에 의해 관리되는 서버로, 도 3의 광고 서버(350)와 별개의 서버일 수 있다. 이하, 도 8의 광고 서버(360)를 자체 광고 서버(360)로 지칭할 수 있다. In ⑦, the proxy 330 may request advertisement information from the advertisement server 360 corresponding to the received advertisement request. In ⑧, the proxy 330 may receive advertisement information from the advertisement server 360 . Here, 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 . Hereinafter, the advertisement server 360 of FIG. 8 may be referred to as its own advertisement server 360 .

그리고 ⑨에서, 프록시(330)는 자체 광고 서버(360)로부터 수신한 광고 정보를 클라이언트(310)에게 전송할 수 있다. 여기서, 광고 정보는 프록시(330)에 의해 암호화되어 클라이언트(310)에게 전송될 수 있다. And in ⑨, the proxy 330 may transmit advertisement information received from its own advertisement server 360 to the client 310 . Here, the advertisement information may be encrypted by the proxy 330 and transmitted to the client 310 .

⑨에서, 클라이언트(310)는 프록시(330) 및/또는 CDN(320)으로부터 추가 광고 정보를 수신할 수 있다. 그리고 클라이언트(310)는 수신한 광고를 출력할 수 있다. 여기서, 광고 정보가 암호화된 경우, 클라이언트(310)는 수신한 광고를 복호화하여 출력할 수 있다. In ⑨, 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. Here, if the advertisement information is encrypted, the client 310 may decrypt and output the received advertisement.

즉, 도 4를 참조하면, 클라이언트(310)는 자체 광고 서버(360)와 광고 요청 및 광고 응답을 교환하는 바, 추가 광고를 획득하기 위해서 웹 서버(340)와 별도의 신호를 교환하지 않을 수 있다. That is, referring to FIG. 4 , 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.

여기서, 광고 제공 시스템에서 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트(310) 및 광고 제공 시스템의 구성들 간의 교환되는 신호의 흐름으로 인한 디바이스들의 동작은 아래에 설명된 바와 같을 수 있다. Here, 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.

도 9는 광고 제공 시스템에서의 각각의 구성들의 동작을 도시하는 순서도이다. 9 is a flowchart illustrating the operation of each component in the advertisement providing system.

도 9를 참조하면, 광고 제공 시스템은 클라이언트, CDN, 프록시, 웹 서버, 및 광고 서버를 포함할 수 있다. 다만, 광고 제공 시스템의 일부 구성은 생략될 수 있다. Referring to FIG. 9 , 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.

S511 단계에서, 클라이언트는 광고 차단 기능을 실행할 수 있다. TTP 응답에 포함된 광고가 클라이언트의 광고 차단 기능에 의해 차단된 경우, 클라이언트는 수정된 HTTP 응답의 복구 스크립트에 포함된 적어도 하나의 명령어를 실행할 수 있다. In step S511, the client may execute an advertisement blocking function. When the advertisement included in the TTP response is blocked by the advertisement blocking function of the client, the client may execute at least one command included in the recovery script of the modified HTTP response.

S513 단계에서, 클라이언트는 별도의 광고를 요청하기 위한 광고 요청을 생성할 수 있으며, 생성한 광고 요청을 암호화할 수 있다. In step S513, the client may generate an advertisement request for requesting a separate advertisement, and may encrypt the generated advertisement request.

S515 단계에서, 클라이언트는 프록시에게 암호화된 광고 요청을 전송할 수 있다. 여기서, 암호화된 광고 요청은 CDN을 통해 프록시에게 포워딩될 수 있다. In step S515, the client may transmit an encrypted advertisement request to the proxy. Here, the encrypted advertisement request may be forwarded to the proxy through the CDN.

S517 단계에서, 프록시는 클라이언트로부터 수신한 암호화된 광고 요청을 복호화할 수 있다. In step S517, the proxy may decrypt the encrypted advertisement request received from the client.

S519 단계에서, 프록시는 복호화된 광고 요청에 상응하는 자체 광고 서버에게 광고를 요청할 수 있다. In step S519, the proxy may request an advertisement from its own advertisement server corresponding to the decrypted advertisement request.

S521 단계에서, 외부 광고 서버는 광고 요청에 상응하는 광고 정보를 프록시에게 전송할 수 있다. 자체 광고 서버가 전송한 광고 정보는 광고 콘텐츠 자체일 수 있다. 즉, 자체 광고 서버는 광고 콘텐츠의 이미지, 문자, 소리 등 클라이언트에 표시되어야 할 대상일 수 있다. In step S521, 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.

S523 단계에서, 프록시는 외부 광고 서버로부터 획득한 광고 정보를 암호화할 수 있다. In step S523, the proxy may encrypt advertisement information obtained from an external advertisement server.

S525 단계에서, 프록시는 암호화된 광고 정보를 클라이언트에게 전송할 수 있다. 여기서, 암호화된 광고 정보는 CDN을 통해 클라이언트에게 포워딩될 수 있다. In step S525, the proxy may transmit encrypted advertisement information to the client. Here, the encrypted advertisement information may be forwarded to the client through the CDN.

그 결과, 클라이언트는 암호화된 광고 정보를 수신할 수 있다. 수정된 HTTP 응답 및/또는 복구 스크립트는 암호화된 광고 콘텐츠를 표시하도록 지시된 영역을 포함할 수 있다. 클라이언트는 복구 스크립트의 적어도 하나의 명령어를 실행하여 암호화된 광고 정보를 복호화할 수 있다. As a result, 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.

따라서, 클라이언트는 복호화된 광고 정보를 출력할 수 있다. Accordingly, the client can output the decrypted advertisement information.

여기서, 복구 스크립트의 적어도 하나의 명령어를 실행하는 클라이언트를 포함하는 광고 제공 시스템의 구성들 각각의 동작은 아래에 설명된 바와 같을 수 있다. Here, 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.

도 10은 광고 제공 시스템의 클라이언트의 복구 스크립트 실행 동작을 도시하는 흐름도이다. 10 is a flowchart illustrating a recovery script execution operation of a client of the advertisement providing system.

S901단계에서, 제1 광고 정보를 차단한 클라이언트는 제2 광고 정보 요청을 생성할 수 있다. 여기서, 제2 광고 정보는 제1 광고 정보와 별개의 광고일 수 있다. 그리고, 제2 광고를 관리하는 광고 서버는 광고 제공 서비스의 운영 주체에 의해 관리되는 자체 광고 서버로서, 제1 광고를 관리하는 광고 서버와 별개의 서버일 수 있다. In step S901, the client that has blocked the first advertisement information may generate a request for second advertisement information. Here, the second advertisement information may be a separate advertisement from the first advertisement information. Also, 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.

S903 단계에서, 클라이언트는 생성한 제2 광고 정보 요청을 암호화할 수 있다. 클라이언트는 제2 광고 요청을 암호화하여, 광고 요청의 도메인, 요청 메소드, 요청 주소 중 적어도 하나의 정보를 수정할 수 있다. 예를 들어, 클라이언트는 HTTP 응답을 전송한 서버의 도메인으로 제2 광고 요청의 도메인을 수정할 수 있다. 따라서, 제2 광고 요청의 도메인은 HTTP 응답을 전송한 서버의 도메인과 동일할 수 있다.In step S903, 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. For example, the client may modify the domain of the second advertisement request to the domain of the server that sent the HTTP response. Accordingly, the domain of the second advertisement request may be the same as the domain of the server transmitting the HTTP response.

S905 단계에서, 클라이언트는 암호화된 제2 광고 정보 요청을 프록시에게 전송할 수 있다. 광고 차단 기능을 실행하는 클라이언트가 외부의 광고 서버에게 광고 정보를 요청하는 경우, 광고 정보 요청은 클라이언트의 광고 차단 기능에 의해 차단될 수 있다. 반면, 암호화된 광고 요청은 클라이언트의 광고 차단 기능을 회피할 수 있다. 그 결과, 암호화된 광고 요청은 프록시와 같은 외부의 서버에게 전송될 수 있다. In step S905, the client may transmit an encrypted second advertisement information request to the proxy. When a client executing the advertisement blocking function requests advertisement information from an external advertisement server, the advertisement information request may be blocked by the advertisement blocking function of the client. On the other hand, 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은 암호화된 광고 요청을 수신한 광고 제공 시스템의 프록시의 동작을 도시하는 흐름도이다. 11 is a flowchart illustrating the operation of a proxy of an advertisement providing system that has received an encrypted advertisement request.

S1001 단계에서, 프록시는 클라이언트로부터 광고 요청을 수신할 수 있다. 여기서, 광고 요청은 클라이언트에 의해 암호화된 광고 요청일 수 있다. 암호화된 광고 정보는 HTTP 요청 형태로 전송될 수 있으며, 여기서, HTTP 요청의 요청 메소드는 POST일 수 있다.In step S1001, the proxy may receive an advertisement request from a client. Here, 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.

S1003 단계에서, 프록시는 암호화된 광고 요청을 복호화할 수 있다. In step S1003, the proxy may decrypt the encrypted advertisement request.

S1005 단계에서, 프록시는 복호화된 광고 요청에 상응하는 광고 정보를 외부 서버에 요청할 수 있다. 여기서 외부 서버는 프록시와 인터넷 등의 네트워크를 통해 연결된 자체 광고 서버일 수 있다. In step S1005, the proxy may request advertisement information corresponding to the decrypted advertisement request from an external server. Here, the external server may be its own advertisement server connected through a network such as a proxy and the Internet.

S1007 단계에서, 프록시는 외부 서버로부터 광고 정보를 획득할 수 있다. 여기서, 외부 서버로부터 획득한 광고 정보는 HTTP 콘텐츠 형태의 정보일 수 있다. In step S1007, the proxy may obtain advertisement information from an external server. Here, the advertisement information acquired from the external server may be information in the form of HTTP content.

S1009 단계에서, 프록시는 외부 서버로부터 획득한 광고 정보를 암호화할 수 있다. In step S1009, the proxy may encrypt advertisement information obtained from an external server.

S1011 단계에서, 프록시는 암호화된 광고 정보를 클라이언트에게 전송할 수 있다. 암호화된 광고 정보는 HTTP 응답 형태로 전송될 수 있으며, 여기서, HTTP 응답의 요청 메소드는 POST일 수 있다. 그리고 암호화된 광고 정보는 HTTP 응답의 바디에 포함되는 데이터 형태로 전송될 수 있다. In step S1011, 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. And the encrypted advertisement information can be transmitted in the form of data included in the body of the HTTP response.

여기서, 일반적인 광고 정보에 관한 영역을 포함한 HTTP 응답과, 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예는 아래와 같다. Here, 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.

도 12는 일반적인 광고 정보에 관한 영역을 포함하는 HTTP 응답의 일 실시예를 도시하는 도면이고, 도 13은 광고 제공 시스템에서 광고 정보에 관한 난독화된 영역을 포함하는 HTTP 응답의 일 실시예를 도시한 도면이다. FIG. 12 is a diagram illustrating an example of an HTTP response including an area related to general advertisement information, and 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

도 12 및 도 13을 참조하면, HTTP 응답은 적어도 하나 이상의 콘텐츠를 렌더링하기 위한 영역들에 관한 정보를 포함할 수 있다. 여기서, 콘텐츠를 렌더링하기 위한 영역들 중 일부는 광고 정보를 렌더링하기 위한 영역일 수 있다. 그리고 콘텐츠를 렌더링하기 위한 영역들에 관한 정보는, 영역을 특정하기 위한 적어도 하나 이상의 태그, 태그의 속성 값, 콘텐츠의 호출을 위한 정보를 포함할 수 있다. Referring to FIGS. 12 and 13 , the HTTP response may include information about regions for rendering at least one content. Here, some of the areas for rendering content may be areas for rendering advertisement information. Further, 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.

도 12를 참조하면, HTTP 응답의 일반적인 광고 정보에 관한 영역은, 특정한 속성 값을 가지는 상위 태그들, 광고 정보를 출력하기 위한 영역의 속성 값 및 광고 정보를 호출하기 위해 필요한 주소 등의 정보를 포함할 수 있다. Referring to FIG. 12, 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.

구체적으로, HTTP 응답의 광고 정보를 포함하는 영역은, 광고 정보를 출력하기 위한 영역의 디비전(division), 섹션(section)의 클래스(class) 정보, 스타일(style) 정보, 스크립트(script) 정보, 아이프레임(iframe)의 아이디(id) 및 속성 정보 중 적어도 하나를 통해 특정될 수 있다. Specifically, 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.

반면, 도 13을 참조하면, HTTP 응답의 광고 정보에 관한 난독화된 영역은, 복수의 태그들, 태그들 각각에 부여되는 속성 값들을 더 포함할 수 있다. 여기서, 복수의 태그들 중 일부는 하위 계층으로 추가될 수 있다. 또한 복수의 태그들은 중첩될 수 있다. On the other hand, referring to FIG. 13 , 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. Here, some of the plurality of tags may be added as a lower layer. Also, a plurality of tags may be overlapped.

그리고 태그들 각각에 부여되는 속성 값은 특정한 정보를 지시하지 않을 수 있다. 즉, 태그들 각각에 부여되는 속성 값은 광고 정보를 출력하기 위한 속성과 무관한 임의의 값일 수 있다. Also, 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.

여기서, 복수의 태그들의 종류, 배치 및 구조 중 적어도 하나는 HTTP 요청 마다 상이하게 결정될 수 있다. 그리고 복수의 태그들 각각에 부여되는 속성 값들 또한 HTTP 요청 마다 상이하게 결정될 수 있다. Here, at least one of the type, arrangement, and structure of the plurality of tags may be determined differently for each HTTP request. In addition, attribute values assigned to each of the plurality of tags may also be determined differently for each HTTP request.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 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.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 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.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although described with reference to the above embodiments, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the present invention described in the claims below. You will be able to.

Claims (20)

광고 제공을 위한 서버의 동작 방법에 있어,
클라이언트로부터 HTTP 요청을 수신하는 단계;
제1 광고 정보를 포함하는, 상기 HTTP 요청에 대한 HTTP 응답을 획득하는 단계;
상기 HTTP 응답을 수정하는 단계 - 제1 광고 정보를 포함하는 상기 HTTP 응답의 적어도 일부 영역을 난독화하는 단계를 포함함 -; 및
수정된 HTTP 응답을 상기 클라이언트에 전달하는 단계를 포함하는, 동작 방법.
In the method of operating the server for providing advertisements,
Receiving an HTTP request from a client;
obtaining an HTTP response to the HTTP request, including first advertisement information;
modifying the HTTP response, including obfuscating at least a portion of the HTTP response including first advertisement information; and
and forwarding a modified HTTP response to the client.
청구항 1에 있어,
상기 HTTP 응답의 적어도 일부 영역을 난독화하는 단계는,
상기 HTTP 응답의 적어도 일부 영역에 복수의 계층 태그 및 속성 값을 덧붙이는 단계를 더 포함하고,
상기 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 부여되는 것을 특징으로 하는 동작 방법.
In claim 1,
The step of obfuscating at least a portion of the HTTP response,
Further comprising appending a plurality of layer tags and attribute values to at least some areas of the HTTP response;
The plurality of layer tags and attribute values are arbitrarily assigned to each HTTP request.
청구항 2에 있어,
상기 복수의 계층 태그 및 상기 속성 값은,
상기 클라이언트에 의해 실행되는 상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 하는 동작 방법.
In claim 2,
The plurality of layer tags and the attribute values,
and a layer tag and attribute value irrelevant to an operation for outputting the first advertisement information executed by the client.
청구항 1에 있어,
상기 수정된 HTTP 응답은,
상기 수정된 HTTP 응답의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함하는 것을 특징으로 하는, 동작 방법.
In claim 1,
The modified HTTP response,
and a recovery script for utilizing the blocked at least some area when information about at least some area of the modified HTTP response is blocked.
청구항 4에 있어,
상기 복구 스크립트는,
상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고,
상기 복구 스크립트의 상기 적어도 하나의 명령어는,
상기 클라이언트에 의해 상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 실행되는 것을 특징으로 하는, 동작 방법.
In claim 4,
The recovery script,
includes at least one instruction executed by a processor of the client;
The at least one command of the recovery script,
characterized in that it is executed to determine whether the first advertisement information is blocked by the client.
청구항 5에 있어,
상기 복구 스크립트의 상기 적어도 하나의 명령어는,
상기 제1 광고 정보가 차단된 경우, 상기 클라이언트에 의해 상기 서버에 제2 광고 정보를 요청하는 정보를 전송하도록 더 실행되는 것을 특징으로 하는, 동작 방법.
In claim 5,
The at least one command of the recovery script,
and transmitting, by the client, information for requesting second advertisement information to the server when the first advertisement information is blocked.
청구항 6에 있어,
상기 클라이언트로부터 광고 요청을 수신하는 단계;
외부 서버에게 상기 제2 광고 정보를 요청하는 단계;
상기 외부 서버로부터 상기 제2 광고 정보를 획득하는 단계; 및
상기 클라이언트에게 상기 제2 광고 정보를 전송하는 단계를 포함하는, 동작 방법.
In claim 6,
receiving an advertisement request from the client;
requesting the second advertisement information from an external server;
obtaining the second advertisement information from the external server; and
And transmitting the second advertisement information to the client.
프로세서에 의해 실행되는 적어도 하나의 명령을 포함하는 컴퓨터 기록 매체에 있어서,
상기 적어도 하나의 명령은,
클라이언트로부터 HTTP 요청을 수신하고;
상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 획득하고;
상기 HTTP 응답을 수정하고; 그리고
수정된 HTTP 응답을 상기 클라이언트에 전달하도록 상기 프로세서에 의해 실행되고,
상기 HTTP 응답을 수정하도록 실행됨에 있어,
제1 광고 정보를 포함하는 상기 HTTP 응답의 적어도 일부 영역을 난독화하도록 상기 프로세서에 의해 실행되는, 컴퓨터 기록 매체.
A computer recording medium comprising at least one instruction executed by a processor,
The at least one command,
receive an HTTP request from a client;
obtaining an HTTP response that is response information to the HTTP request;
modify the HTTP response; and
Executed by the processor to deliver a modified HTTP response to the client;
In executing to modify the HTTP response,
A computer recording medium, executed by the processor to obfuscate at least a portion of the HTTP response including first advertisement information.
청구항 8에 있어,
상기 적어도 하나의 명령은,
상기 HTTP 응답의 적어도 일부 영역을 난독화하도록 실행됨에 있어,
상기 HTTP 응답의 적어도 일부 영역에 복수의 계층 태그 및 속성 값을 덧붙이도록 상기 프로세서에 의해 더 실행되고,
상기 복수의 계층 태그 및 속성 값은 각 HTTP 요청마다 임의로 부여되는 것을 특징으로 하는 컴퓨터 기록 매체.
In claim 8,
The at least one command,
In executing to obfuscate at least some areas of the HTTP response,
Further executed by the processor to append a plurality of layer tags and attribute values to at least some areas of the HTTP response;
The plurality of layer tags and attribute values are randomly assigned to each HTTP request.
청구항 9에 있어,
상기 복수의 계층 태그 및 상기 속성 값은,
상기 클라이언트에 의해 실행되는 상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 하는 컴퓨터 기록 매체.
In claim 9,
The plurality of layer tags and the attribute values,
A computer recording medium characterized in that it is a layer tag and an attribute value irrelevant to an operation for outputting the first advertisement information executed by the client.
청구항 8에 있어,
상기 수정된 HTTP 응답은,
상기 수정된 HTTP 응답의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함하는 것을 특징으로 하는, 컴퓨터 기록 매체.
In claim 8,
The modified HTTP response,
The computer recording medium of claim 1, further comprising a recovery script for utilizing the blocked at least partial area when information on at least a partial area of the modified HTTP response is blocked.
청구항 11에 있어,
상기 복구 스크립트는,
상기 클라이언트의 프로세서에 의해 실행되는 적어도 하나의 명령어를 포함하고,
상기 복구 스크립트의 상기 적어도 하나의 명령어는,
상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 상기 클라이언트의 프로세서에 의해 실행되는 것을 특징으로 하는, 컴퓨터 기록 매체.
In claim 11,
The recovery script,
includes at least one instruction executed by a processor of the client;
The at least one command of the recovery script,
characterized in that executed by a processor of the client to determine whether the first advertisement information is blocked.
청구항 12에 있어,
상기 복구 스크립트의 상기 적어도 하나의 명령어는,
상기 제1 광고 정보가 차단된 경우, 상기 서버에 제2 광고 정보를 요청하도록 상기 클라이언트의 프로세서에 의해 더 실행되는 것을 특징으로 하는, 컴퓨터 기록 매체.
In claim 12,
The at least one command of the recovery script,
characterized in that it is further executed by a processor of the client to request second advertisement information from the server when the first advertisement information is blocked.
청구항 13에 있어,
상기 적어도 하나의 명령어는,
상기 클라이언트로부터 광고 요청을 수신하고;
외부 서버에게 상기 제2 광고 정보를 요청하고;
상기 외부 서버로부터 상기 제2 광고 정보를 획득하고; 그리고
상기 클라이언트에게 상기 제2 광고 정보를 전송하도록 상기 프로세서에 의해 실행되는, 컴퓨터 기록 매체.
In claim 13,
The at least one command,
receive an advertisement request from the client;
requesting the second advertisement information from an external server;
obtaining the second advertisement information from the external server; and
and to transmit the second advertisement information to the client.
광고 제공을 위한 클라이언트의 동작 방법에 있어,
서버에게 HTTP 요청을 전송하는 단계;
제1 광고 정보를 포함하는 상기 HTTP 요청에 대한 응답 정보인 HTTP 응답을 상기 서버로부터 획득하는 단계; 및
상기 HTTP 응답을 출력하는 단계를 포함하고,
상기 HTTP 응답 정보는,
상기 서버에 의해 수정된 HTTP 응답 정보이고,
상기 제1 광고 정보를 포함하는 적어도 일부의 영역이 난독화된 것을 특징으로 하는, 동작 방법.
In the operation method of the client for providing advertisement,
Sending an HTTP request to the server;
obtaining an HTTP response that is response information to the HTTP request including first advertisement information from the server; and
Including outputting the HTTP response,
The HTTP response information,
HTTP response information modified by the server;
characterized in that at least a portion of the region including the first advertisement information is obfuscated.
청구항 15에 있어,
상기 HTTP 응답의 적어도 일부 영역은,
HTTP 요청마다 임의로 추가되는 복수의 계층 태그 및 속성 값을 포함하는 것을 특징으로 하는 동작 방법.
In claim 15,
At least some areas of the HTTP response,
An operating method comprising a plurality of layer tags and attribute values that are arbitrarily added to each HTTP request.
청구항 16에 있어,
상기 복수의 계층 태그 및 상기 속성 값은,
상기 제1 광고 정보를 출력하기 위한 동작과 무관한 계층 태그 및 속성 값인 것을 특징으로 하는 동작 방법.
In claim 16,
The plurality of layer tags and the attribute values,
and a layer tag and attribute value irrelevant to an operation for outputting the first advertisement information.
청구항 15에 있어,
상기 수정된 HTTP 응답 정보는,
상기 수정된 HTTP 응답 정보의 적어도 일부 영역에 관한 정보가 차단되는 경우, 차단된 상기 적어도 일부 영역을 활용하기 위한 복구 스크립트를 더 포함하는 것을 특징으로 하는, 동작 방법.
In claim 15,
The modified HTTP response information,
and a recovery script for utilizing the blocked at least some area when information about at least some area of the modified HTTP response information is blocked.
청구항 18에 있어,
상기 복구 스크립트를 실행하여, 상기 제1 광고 정보가 차단되었는지 여부를 판단하도록 실행되는 것을 특징으로 하는, 동작 방법.
In claim 18,
and executing the recovery script to determine whether or not the first advertisement information is blocked.
청구항 19에 있어,
상기 제1 광고 정보를 차단한 경우, 광고 요청 정보를 상기 서버에게 전송하는 단계; 및
상기 서버로부터 상기 제2 광고 정보를 획득하는 단계; 및
상기 제2 광고 정보를 출력하는 단계를 더 포함하는, 동작 방법.
In claim 19,
transmitting advertisement request information to the server when the first advertisement information is blocked; and
obtaining the second advertisement information from the server; and
Further comprising outputting the second advertisement information, the operating method.
KR1020220018831A 2022-02-14 2022-02-14 Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function KR102598102B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020220018831A KR102598102B1 (en) 2022-02-14 2022-02-14 Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function
US17/702,311 US11895178B2 (en) 2022-02-14 2022-03-23 Method and device for providing obfuscated advertisement by couteracting on advertisement blocking function
US17/702,323 US20230262029A1 (en) 2022-02-14 2022-03-23 Method and device for providing advertisement by couteracting on advertisement blocking function
US17/836,540 US20230262107A1 (en) 2022-02-14 2022-06-09 Method and device for providing advertisement by couteracting on violent advertisement blocking function
PCT/KR2022/016036 WO2023153580A1 (en) 2022-02-14 2022-10-20 Method and device for providing advertisement against drastic advertisement blocking function
PCT/KR2022/016034 WO2023153579A1 (en) 2022-02-14 2022-10-20 Method and device for providing advertisement against advertisement blocking function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220018831A KR102598102B1 (en) 2022-02-14 2022-02-14 Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function

Publications (2)

Publication Number Publication Date
KR20230122320A true KR20230122320A (en) 2023-08-22
KR102598102B1 KR102598102B1 (en) 2023-11-03

Family

ID=87799467

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220018831A KR102598102B1 (en) 2022-02-14 2022-02-14 Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function

Country Status (1)

Country Link
KR (1) KR102598102B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190083899A (en) * 2018-01-05 2019-07-15 주식회사 마블링 System and method for detecting block
US20200250282A1 (en) * 2017-10-27 2020-08-06 Nippon Telegraph And Telephone Corporation Communication device, communication system, and recording medium
KR20210066009A (en) * 2019-08-08 2021-06-04 구글 엘엘씨 Quasi-Low Entropy Browsing History for Personalization
KR20210128446A (en) * 2019-02-20 2021-10-26 노바티크 테크놀로지스 리미티드 Server-based segmentation of subscriber information and content format conversion for targeted content provisioning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200250282A1 (en) * 2017-10-27 2020-08-06 Nippon Telegraph And Telephone Corporation Communication device, communication system, and recording medium
KR20190083899A (en) * 2018-01-05 2019-07-15 주식회사 마블링 System and method for detecting block
KR20210128446A (en) * 2019-02-20 2021-10-26 노바티크 테크놀로지스 리미티드 Server-based segmentation of subscriber information and content format conversion for targeted content provisioning
KR20210066009A (en) * 2019-08-08 2021-06-04 구글 엘엘씨 Quasi-Low Entropy Browsing History for Personalization

Also Published As

Publication number Publication date
KR102598102B1 (en) 2023-11-03

Similar Documents

Publication Publication Date Title
US11652904B2 (en) Systems and methods of token piggybacking
US9177335B1 (en) Systems and methods to bypass online advertisement blockers
US11233841B2 (en) Systems and methods for configuration-based optimization by an intermediary
US9875314B2 (en) Content request with HTTP request-header rendering template that is independent of content storage location
JPWO2008088026A1 (en) Web server and method for managing sessions
CA2907583A1 (en) Systems and methods for intercepting, processing, and protecting user data through web application pattern detection
US11146534B1 (en) Implementing a client-side policy on client-side logic
CN107315972A (en) A kind of dynamic desensitization method of big data unstructured document and system
US20220337562A1 (en) Connecting Web Publisher Inventory to Programmatic Exchanges without Third-Party Cookies
JP5099073B2 (en) Software inter-communication relay method, apparatus, and program
JP5467136B1 (en) Target advertisement delivery system, target advertisement delivery method in the system, target advertisement delivery program, and information recording medium recording the program
KR102598102B1 (en) Method and device for providing obfuscated advertisement by counteracting on advertisement blocking function
KR102598112B1 (en) Method and device for providing advertisement by counteracting on advertisement blocking function
KR102558208B1 (en) Method and device for providing advertisement by counteracting on violent advertisement blocking function
US11575761B2 (en) Method and system for propagating data between different domains in a privacy focused way
US11895178B2 (en) Method and device for providing obfuscated advertisement by couteracting on advertisement blocking function
JP6158902B2 (en) Font distribution system and font distribution method
US20230262107A1 (en) Method and device for providing advertisement by couteracting on violent advertisement blocking function
JP2017199393A (en) Font distribution system and font distribution method
US20230135722A1 (en) Distributed system, method, computer program, and computer-readable medium directed to user interaction with media content
CA3226177A1 (en) Publisher permissioned activation in cookieless authentication environment
CN102833236A (en) Control method and device of reference authority of network resources

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant