SlideShare une entreprise Scribd logo
1  sur  25
Internet Cookies
June of 2017
네이버 Privacy&Security
이진규 CPO/CISO
이 문서는 나눔글꼴로 작성되었습니다. 설치하기
3 / 10
What are Internet Cookies?
Definition
Cookies are plain text files. They are not compiled so they cannot execute functions or make copies of themselves.
They cannot browse through or scan your computer or otherwise snoop on you or dig for private information on your
hard disk. (‘쿠키’는 단순한 텍스트 파일에 불과합니다. 쿠키는 기능을 수행하거나 스스로를 복제할 수 없습니다. 쿠키는 컴퓨터를
스캔하거나 기타 다른 방식으로 이용자의 PC에 저장된 사적인 정보를 가져오는 등 이용자 감시 활동을 할 수 없습니다.)
- See more at: http://www.allaboutcookies.org/cookies/cookies-cant-do.html
Internet Cookies explained by FTC
A cookie is information saved by your web browser. When you visit a website, the site may place a cookie on your
web browser so it can recognize your device in the future. If you return to that site later on, it can read that cookie to
remember you from your last visit and keep track of you over time. (쿠키는 웹 브라우저가 저장하는 정보입니다. 이용자가
웹사이트를 방문하면, 웹사이트는 브라우저에 쿠키를 저장하고 이를 이용하여 장래에 당신의 기기를 식별합니다. 이용자가 해당 사
이트를 나중에 다시 방문하면, 지난 번 방문했을 때 저장한 쿠키를 읽어서 당신을 기억해냅니다. 이와 같은 방식으로 당신의 활동
기록을 유지할 수 있습니다.)
- See more at: https://www.ftc.gov/site-information/privacy-policy/internet-cookies
- See more at: http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm
3 / 10
Where does the name originate from?
Cookie 라는 용어의 유래
(1997.11.18에 Builder.com에 게시된 한 뉴스기사에서 발췌)
넷스케이프 브라우저(Netscape Browser) 생산부에서 프로토콜 매니저를 담당한 Lou Montulli는 Navigator 1.0에 대한 쿠키 설
명서를 작성했는데, 사실 Navigator 1.0은 해당 기술을 최초로 도입한 웹 브라우저이다.
Montulli는 쿠키라는 용어의 어원에는 특별한 것은 전혀 없다고 단언한다. 그에 따르면 쿠키는 데이터 전송과정에 관여하는 중간자
(intermediary)에 의해 보유되는 불투명한 데이터 조각을 묘사할 때 사용되는 컴퓨터 과학 용어로써 이미 잘 알려진 단어라고 한다.
단지, 컴퓨터 과학영역이 아닌 일반 사회에서만 잘 알려지지 않았을 뿐이다.
- See more at: https://nid.naver.com/user2/privacycenter/info.nhn?m=viewCookies
3 / 10
What kinds of cookies are there?
1) Lifespan에 따른 분류
- Session Cookie: 이용자가 브라우저를 닫으면 삭제됨
- Persistent Cookie: 사전에 정의된 기한 동안 이용자의 디바이스에 저장됨
2) 귀속 Domain에 따른 분류
- 1st Party Cookie: 방문한 웹 페이지의 도메인에 속하는 웹 서버에 의해 쿠키가 세팅됨
- 3rd Party Cookie: 방문한 웹 페이지와는 다른 도메인에 속하는 웹 서버에 의해 쿠키가 세팅됨 (광고나 Javascript 등)
3) 기타, 성격에 따른 분류 (비공식)
- Zombie-Cookie: 삭제한 후에도 자신의 재생산(re-spawning)하는 유형의 쿠키 (Flash Cookie 등)
- Super-Cookie: .com, .org, .co.kr 등 최상위 domain에 설치되는 쿠키
※참고: 3rd Party Cookie & Persistent Cookie = Tracking Cookie라고 불림
3 / 10
How cookies move data (from/to)?
브
라
우
저
웹
서
버
이용자 사이트
① URL을 주소창에 기입 & 브라우저가 웹사이트 서버에 홈페이지 정보를 요청(request)
② 사전에 저장된 Cookie가 저장되어 있는지 확인
②-1. 있는 경우, Cookie에 저장된 모든 정보(name-value)를 서버에 전송
②-2. 없는 경우, ‘No Cookie Data’를 전송
ㄴ 신규 ID를 생성하여 새로운 name-value 정보를 header에 담아 브라우저로 보냄
③ 사이트는 Cookie 정보를 받아, 웹 서버에서 기존 데이터를 갱신하거나 신규로 기록
ID - kcuiysld076
LV – 2017. 06. 01. 13:01:01
MVC - 3
ID - kcuiysld076
LV – 2017. 06. 01. 13:01:01
MVC - 3
ID - kcuiysld076
LV – 2017. 06. 20. 17:23:22
MVC - 4
ID - kcuiysld076
LV – 2017. 06. 20. 17:23:22
MVC - 4
3 / 10
What is the structure(1)?
Structure
쿠키는 크게 이름, 값, 속성으로 이루어져 있습니다. 각 구성요소는 다음의 역할을 수행합니다.
① 이름(Name): 값(Value)을 정의합니다.
② 값(Value): 웹사이트가 활용하고자 하는 실제 데이터입니다.
③ 속성(Attribute): 쿠키가 어떻게 운영될지를 결정하는 요소입니다.
- See more at: https://en.wikipedia.org/wiki/HTTP_cookie#Structure
Example
[전제] 위 HTTP 요청은 docs.foo.com이라는 가상의 도메인에서 브라우저에 전달한 것입니다.
1) Domain과 Path는 쿠키가 어디에 속하는 것인지를 결정합니다.
2) Expires는 쿠키의 종료 일시를 결정합니다.
3) HTTpOnly와 Secure는 전송 과정에서의 보안수준을 결정합니다.
HTTP/1.0 200 OK
Set-Cookie: LSID=DQAAAK…Eaem_vYg; Path=/accounts; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly
Set-Cookie: HSID=AYQEVn…DKrdst; Domain=.foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; HttpOnly
Set-Cookie: SSID=Ap4P…GTEq; Domain=foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly
3 / 10
What is the structure(2)?
해석
- Aliexpress.com이라는 사이트는 저의 브라우저
에 12개의 쿠키를 저장하여 활용하고 있습니다.
- 그 중 aep_usuc_f라는 이름의 쿠키를 살펴보니
방문 사이트 정보(글로벌), 통화(USD), 접속국가
(KR), 로케일(en_US)정보를 담고 있습니다.
- HTTP방식이 아닌 접속도 허용하여 탈취 위험이
있습니다.
- 이 쿠키는 2085년 7월 4일 오후 4:28:!4에 만료
될 예정입니다.
3 / 10
What is the structure(3)?
KKOID=DJV39d8dd9ejjkdlxhg3ffllse0lalsddie
Domain=.KKO.com
Path=/
InterestLong=1
InterestShort=5
Shopped=Y
Cart=4
CartItem=jlmde47lDFGV4sliw
Age=knkxoisi37ksl07jkskdsksg
LastSearchKeyword=nlf7e37kfkfd6ejsklvd
Expires=Wed, 30 June 2017 23:59:59
Secure
HttpOnly
웹
서
버
사이트
Cross-Site Tracking using Cookie
7 / 10
http://www.yahoo.com
http://ad.adcomnpany.com
Ad-Network과 Sites의 관계 (계약)
1) 웹사이트는 광고 stock을 AD Network에 판매함
2) AD Network는 구매한 Stock영역에 광고를 게시
- 해당 광고영역은 AD Network의 도메인으로 연결
3) 웹사이트 뿐만 아니라 3자인 AD Network의 쿠키 저장 가능
- 쿠키는 Domain마다 설정이 가능한 구조임
‼ 위 Site URL은 예시 목적이며, 실제 사이트 URL과 상이함
Site 01 Site 02 Site 03
①
② ③
Ad-Network이 설정하는 동일한 쿠키 ID(세션 ID)를 통
해 이용자의 사이트 방문 기록을 Tracking 가능
Ad-Network
Online Profiling
1 / 10
Definition
Used primarily by ad networks as a basis for targeted marketing, it's a method of combining cookies, Web site traffic
analysis, and personal information to create a profile of a customer's browsing and buying habits. An online profile
includes how much time customers spend in certain areas of a Web site and which ads they click on.
- See more at: http://www.netlingo.com/word/online-profiling.php#sthash.62MUHHNC.dpuf
>> 타겟 마케팅 기반의 광고 네트워크 기업에 의해 주로 사용되는 기법으로, 인터넷 쿠키, 웹 사이트 트래픽 분석, 개인정보 등을 조
합하여 고객의 브라우징 및 구매 습관에 대한 프로필을 형성하는 것을 의미함. 온라인 프로필에는 고객이 웹사이트의 특정 영역에
서 얼마나 오랜 시간을 머물렀는지, 그리고 어떤 광고를 클릭했는지 등이 포함됨
<Online Activities>
 http://www.abc.com 에 방문, 신발 > 운동화(Sneakers) 섹션에서 15분간 브라우징
 http://www.yahoo.com에 방문, ‘new coach sneakers’를 검색
 http://www.sportsillustrated.com에 방문, 노출되는 6pm의 운동화 광고를 클릭
 http://www.stockexchange.com 에 방문, NIKE 사의 주식 가격 등락을 확인
 기타 등등… <Collection & Analysis> <Profiling>
2 / 10
Cookie Profiling
Definition
the use of persistent or permanent cookies to track a user’s overall activity online. This tracking does not just happen
when you are on a particular site, but it occurs the whole time you are browsing.
- See more at: http://www.allaboutcookies.org/cookies/cookie-profiling.html
>> 이용자의 온라인 활동을 추적하기 위해 영구적 쿠키를 사용하는 것으로, 이용자의 웹 브라우징 전체에 걸쳐 발생하는 현상임
※ How the cookie crumbles
① 클라이언트는 DMP 제공사업자에게 3rd party cookie의 사용을 허용
- 또는 계약을 통해 Data 교환 계약(유·무상)을 함
② 이용자가 클라이언트 페이지 방문하는 경우 DMP의 쿠키도 같이 설치
- HTML 페이지 호출 과정에서 ‘DMP container tag’를 같이 제공하기도 함
③ 이용자가 Client 서비스를 이용 시 생성되는 쿠키 정보는 DMP에 저장
- Client 쿠키를 직접 읽거나(모듈이용), 3rd party cookie를 사용하거나
container tag를 통해 별도의 user ID를 생성하여 관리
④ DMP는 새롭게 업데이트된 정보를 분석하여 이용자 편의 제공
Why Ad-Networks use Cookies?
7 / 10
쿠키 이용의 장점
① 쿠키는 특정 광고가 보여지는(노출되는) 횟수를 제한함. 특히 팝업 광고와 같이 이용자 측면에서 불편한(intrusive)광고 제한이 필요
② 연속된 광고가 올바른 순서대로 보여질 수 있게 함
③ 개별 방문자(Unique Visitor)의 수의 확인할 수 있음
④ 광고 효과성을 측정할 수 있음  정산을 할 수 있음 (CPC)
⑤ 다른 이용자 추적 방식에 비해 비용효과적이며, 이용자 통제권 보장이 가능함
⑥ 개인정보를 별도로 수집하지 않고서도, 충분히(합리적인 범위에서) 타게팅이 가능함
⑦ 기타 등등…
Are there other cookie usage?
7 / 10
유형 용도 예
브라우저나 식별 브라우저를 구분하거나 특정 세션을 구분하기 위해 발급 facebook 의 datr cookie
인증 로그인 여부 등을 확인하기 위해 발급 google 의 로그인 쿠키인 SID 쿠키.
컨텐츠 접근 History 통계용이나 CSRF 등을 막기 위해 쿠키로 발급.
Google analytic 에서 발급 되는
utm 시리즈 cookie 등
facebook 의 lsd 등.
UX/UI 제어 및 설정 팝업 창 다시 띄우지 않기 여부나 메뉴 설정 등을 제어 각종 서비스의 다수.
서비스 간 정보 전달
A라는 도메인을 하는 서버에서 얻은 정도를 B라는 서비스에
전달하기 위해 발급
a.google.com 에서 google.com
으로 쿠키를 발급하여
b.google.com 으로 전달.
DB 부하 감소
DB에 있는 내용을 쿠키로 발급하여 해당 브라우저 접근 시 쿠
키 내용 만으로 서비스
장바구니 등
8 / 10
Browser or OS Identifier:
- Apple: AD Identifier (IDFA), Google: Google AD IDs (ADID)
Network Inserted State:
- IISP-provided or content distribution networks, other 3rd parties (Remember Verizon Supercookies?)
Cloud-Synchronized state:
- IDs set by a centralized service
Device-inferred state
- combination of device specifications such as OS, Browser, Time Zones, Screen Size and installed plug-ins
HTML5
- Local Storage
Flash Cookie
- so called “Zombie Cookies”
Social IDs & OS
- Facebook, Google, Apple, Twitter, etc.
- The big ones get bigger. Platform crushes others.
Cookie Alternatives Everywhere!
EU Legislation on Cookies
9 / 10
The ePrivacy directive – more specifically Article 5(3) – requires prior informed consent for storage or for access
to information stored on a user's terminal equipment. In other words, you must ask users if they agree to most
cookies and similar technologies (e.g. web beacons, Flash cookies, etc.) before the site starts to use them.
For consent to be valid, it must be informed, specific, freely given and must constitute a real indication of the
individual's wishes.
However, some cookies are exempt from this requirement. Consent is not required if the cookie is:
1) used for the sole purpose of carrying out the transmission of a communication, and
2) strictly necessary in order for the provider of an information society service explicitly required by the user
to provide that service.
Cookies clearly exempt from consent according to the EU advisory body on data protection- WP29 include:
> user-input cookies (session-id) such as first-party cookies to keep track of the user's input when filling online
forms, shopping carts, etc., for the duration of a session or persistent cookies limited to a few hours in some cases
> authentication cookies, to identify the user once he has logged in, for the duration of a session
> user-centric security cookies, used to detect authentication abuses, for a limited persistent duration
> multimedia content player cookies, used to store technical data to play back video or audio content, for the
duration of a session
> load-balancing cookies, for the duration of session
> user-interface customisation cookies such as language or font preferences, for the duration of a session (or
slightly longer)
> third-party social plug-in content-sharing cookies, for logged-in members of a social network.
# For more information, visit: http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm
Cookie Consent Solution by EU
10 / 10
The cookie consent solution is a JavaScript-based kit that, after some site-specific configuration, will automatically
add a header banner to the page. This header banner will disappear once the user has accepted or refused the
cookies used on the site.
This solution provides the following functionalities:
1) JavaScript to automatically display the header banner in 24 languages
2) a wizard to declare your cookies and the link to your cookies notice page
3) a JavaScript API with methods and functions that help to prevent prior storage of cookies
4) a corporate-consent cookie to remember the choice of the user across websites
5) a template for the cookie notice page.
This is a central service: you have to include the JavaScript file on your website and add a one-site-specific
configuration file listing the cookies you are using. You will also have to add a short HTML parameter to every
element in your site that sets a cookie.
Appendix
4 / 10
What is a Cookie?
HTTP Request
GET / HTTP1.1
Cookie: SID=DQAAALoA…
- Cookie 는 서버에서 클라이언트로 전송하면, 전송 받은 클라이언트의 웹 브라우저가 저장하였다가
해당 서버에 접근 시 정보의 변경 없이 전송하는 텍스트 정보를 말한다.
- 서버는 클라이언트 전송시 HTTP Header 에 내용을 직접 넣어 전송 하거나,
내용을 만들 수 있는 script 를 전송하고 client 에서 이 script 를 수행하게 하여 저장할 수 있다.
HTTP/1.1 200 OK
Content-Type: text/html;
Cache-control: no-cache
Set-Cookie: SID=DQAAALoA…
...
function SetCookie()
{
document.cookie = 'SID=DQAAALoA…';
}
...
브라우저 웹 서버
or
5 / 10
Cookie Specifications
- RFC 2109, RFC 2965, RFC 6265 에 속성이나 발급형식이 정의 되어 있으나,
브라우저별로 해당 형식을 지원하지 않는 경우가 많아서 구현에는 많은 주의가 요구 된다.
- 일반적으로 대부분 지키고 있는 RFC 2109 와 RFC 1123에 따라 쿠키는 다음 형식으로 발급 된다.
Set-Cookie: name=value; [domain=value;] [path=value;] [expires=GMT;] [Secure]
ex) Set-Cookie: SID=DQAAALoA; domain=.google.com; expires=Mon, 14-Nov-2022 11:30:49 GMT;
- name=value 에서 value 가 없으면 Cookie 를 삭제하는 것으로 생각하는 브라우저가 있다.
ex) Set-Cookie: SID=; domain=.google.com;
- domain 앞에 ‘.’ 을 붙이면 하위 도메인도 영향을 받고, 붙이지 않으면 해당 도메인만 영향을 받는다.
(일부 브라우저 예외)
ex) Set-Cookie: SID=DQAAALoA; domain=www.google.com;
이 경우엔 www.google.com 만 영향
Set-Cookie: SID SID=DQAAALoA; domain=.www.google.com;
이 경우엔 www.google.com, host.www.google.com 모두 영향.
- domain 이 없으면 해당 FQDN 으로 자동 지정 된다. (하위 도메인은 영향을 받지 않음)
ex) Set-Cookie: SID=DQAAALoA;
- 서로 다른 상위 도메인과 하위 도메인에서 동일한 name 으로 쿠키가 발급 된 경우,
하위 도메인에서는 두 쿠키 모두 전송을 받는다.
ex)
Set-Cookie: SID=DQAAALoA; domain=.google.com
Set-Cookie: SID=AAALoAdDQ; domain=.mail.google.com
이렇게 발급 된 채로 mail.google.com 에 접근하면
Cookie: SID=DQAAALoA&SID=AAALoAdDQ 와 같이 두 개의 cookie 모두 전송 되어 온다.
6 / 10
Cookie Specifications
- 쿠키의 구조상 .com 도메인이나, .co.kr 과 같은 도메인에 발급은 가능하지만, browser 에 의해서 차단 된다.
- path 를 통해 특정 URI 에만 쿠키가 전달 되도록 할 수 있다.
- expires 가 없이 내려 오면 session cookie, expires 가 명시되어 내려 오면 persistent cookie 라고 한다.
Session cookie 는 브라우저 instance 가 살아 있는 동안 유효하고, persistent cookie 는 expires 에 명시된 시간 까지 유효 하다.
- session cookie 는 instance 내에서만 유효 하기 때문에 브라우저 instance 여러 개를 띄우면 공유 되지 않는다.
persistent cookie 는 instance 가 달라도 모두 같은 값을 갖는다.
- expires 가 지난 쿠키가 내려 오면, 쿠키는 삭제 된다.
(이 경우 persistent cookie 이므로 다른 instance 도 영향을 받는다)
- persistent cookie 는 PC 의 disk 에 저장 되기 때문에 ghost 등의 프로그램 이용 disk 를 그대로 백업 하는 경우
함께 저장된다.
- disk 에 저장되는 특징으로 persistent cookie 는 브라우저 말고 다른 application 에서도
저장되는 디렉토리 접근 권한만 있다면 접근이 가능하다.
- secure attribute 가 내려오면 https protocol 에서만 전송 된다.
- 유효한 도메인에 속한 콤포넌트에는 모두 전송 되고,
request 의 크기를 크게 만듦에도 HTTP Header 에 포함 되어 압축 되지 않기 때문에 (SPDY 같은 기술이 있긴 하지만)
이용이 기피 되고 있음.
참고) Internet browser – Web Server
communicate through HTTP protocol
which is stateless (=memory-less).
Opera > 설정 > 개인정보 보호 및 보안 > 쿠키 > 모든 쿠키 및 사이트 데이터
Windows Button + R > “shell:cookies” > 확인
참고)
참고)
세션 쿠키 (session cookie, in-memory cookie, transient cookie, etc.)
- 이용자가 브라우징 하는 동안 임시로 메모리 상에 저장되며, 브라우저를 닫으면 삭제됨. ‘expiration date’가 없음 (=그래서 임시 쿠키)
영속 쿠키 (persistent cookie)
- 특정 시점에 만료되는 쿠키. 해당 시점까지는 이용자 방문 시마다 정보가 웹 서버로 전송됨
- 3rd party가 이용자 웹 브라우징 행태를 기록할 수 있어 ‘tracking cookie’라고도 불림
- 로그인을 유지시켜주거나 계정정보를 다시 입력하지 않도록 도와주는 ‘정당한’ 기능을 제공 Instead of expiring when the web browser is
보안 쿠키 (secure cookie)
- HTTP 프로토콜에서는 전송되지 않고 안전한 프로토콜 상에서만 전송되는 쿠키
HTTP Only 쿠키 (HttpOnly cookie)
- JavaScript와 같은 클라이언트 사이드의 API에 의해 접근되지 않는 유형의 쿠키
동일 사이트 쿠키 (SameSite cookie)
- Google Chrome 51에 적용된 속성으로, 요청이 발생한 사이트에만 전송이 가능한 쿠키
제3자 쿠키 (Third-party cookie)
- 주소창에서 확인할 수 있는 도메인과는 다른 도메인에 속하는 쿠키. 배너 광고 등 제3자 리소스로 인해 이용자 브라우저에 저장됨. 광고 네트
워크 기업이 여러 웹사이트에 동일한 도메인으로 쿠키를 저장하는 경우, 이용자의 웹 활동 추적이 가능
- 대부분의 현대 브라우저는 3rd party 쿠키를 제어할 수 있는 기능을 가지고 있음
수퍼 쿠키 (Supercookie)
- .com, .org, .co.kr 등 최상위 도메인을 근원으로 하는 쿠키 (일반 쿠키는 특정한 domain name에서 유래함)
- 악성 웹사이트를 통제하는 공격자가 수퍼쿠키를 셋팅하는 경우, 동일 최상위 도메인을 사용하는 하위 도메인을 공격 가능
- 때로는 MUID(Machine Unique Identifier) cookie, Etag cookie를 재생산(respawning)하는 쿠키가 수퍼쿠키로 불리기도 함 (MS가 기능 제거)
좀비 쿠키 (Zombie cookie)
- 삭제 후에도 자신을 재생산하는 유형의 쿠키. Flash Local shared object, HTML5 Web storage 등
참고)
감사합니다
이 문서는 나눔글꼴로 작성되었습니다. 설치하기

Contenu connexe

Similaire à 인터넷 쿠키 (Internet Cookie)

비밀번호 486 공인인증서(참고자료 포함)
비밀번호 486 공인인증서(참고자료 포함)비밀번호 486 공인인증서(참고자료 포함)
비밀번호 486 공인인증서(참고자료 포함)kmhyekyung
 
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료훈 박
 
조작 가능한 시간
조작 가능한 시간조작 가능한 시간
조작 가능한 시간Woncheol Lee
 
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교Lee Ji Eun
 
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오Jonghoon Seo
 
201412 문서보안제안서 시온
201412 문서보안제안서 시온201412 문서보안제안서 시온
201412 문서보안제안서 시온시온시큐리티
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extentionTaehyun Kim
 
Cms All 091103
Cms All 091103Cms All 091103
Cms All 091103wiim
 
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)Junghyun Park
 
Web 2.0.ppt
Web 2.0.pptWeb 2.0.ppt
Web 2.0.pptjimeyren
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기NAVER D2
 
2014 모바일 문서보안 및 통제시스템_시온
2014 모바일 문서보안 및 통제시스템_시온2014 모바일 문서보안 및 통제시스템_시온
2014 모바일 문서보안 및 통제시스템_시온시온시큐리티
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part iINSIGHT FORENSIC
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part iINSIGHT FORENSIC
 
2017 오피스키퍼 제안서 중소기업용
2017 오피스키퍼 제안서 중소기업용 2017 오피스키퍼 제안서 중소기업용
2017 오피스키퍼 제안서 중소기업용 시온시큐리티
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Eunyoung Kim
 
블로코 웨비나 세션2 - 노진호 팀장
블로코 웨비나 세션2 - 노진호 팀장블로코 웨비나 세션2 - 노진호 팀장
블로코 웨비나 세션2 - 노진호 팀장BLOCKO
 
Curie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineCurie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineWonkyung Lyu
 

Similaire à 인터넷 쿠키 (Internet Cookie) (20)

비밀번호 486 공인인증서(참고자료 포함)
비밀번호 486 공인인증서(참고자료 포함)비밀번호 486 공인인증서(참고자료 포함)
비밀번호 486 공인인증서(참고자료 포함)
 
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료
(주)하이라인닷넷 개인정보보호법 2012년 상반기 교육자료
 
조작 가능한 시간
조작 가능한 시간조작 가능한 시간
조작 가능한 시간
 
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
 
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오
웨어러블 시대의 킬러앱은? 웨어러블 컴퓨터 서비스 시나리오
 
201412 문서보안제안서 시온
201412 문서보안제안서 시온201412 문서보안제안서 시온
201412 문서보안제안서 시온
 
Encrypted media extention
Encrypted media extentionEncrypted media extention
Encrypted media extention
 
Cms All 091103
Cms All 091103Cms All 091103
Cms All 091103
 
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
루비온레일즈 API 서버 - 4) api 서버 인증 구현 (쿠키/세션/토큰)
 
Web 2.0.ppt
Web 2.0.pptWeb 2.0.ppt
Web 2.0.ppt
 
웨일 보안 이야기
웨일 보안 이야기웨일 보안 이야기
웨일 보안 이야기
 
2014 모바일 문서보안 및 통제시스템_시온
2014 모바일 문서보안 및 통제시스템_시온2014 모바일 문서보안 및 통제시스템_시온
2014 모바일 문서보안 및 통제시스템_시온
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part i
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part i
 
2017 오피스키퍼 제안서 중소기업용
2017 오피스키퍼 제안서 중소기업용 2017 오피스키퍼 제안서 중소기업용
2017 오피스키퍼 제안서 중소기업용
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5
 
블로코 웨비나 세션2 - 노진호 팀장
블로코 웨비나 세션2 - 노진호 팀장블로코 웨비나 세션2 - 노진호 팀장
블로코 웨비나 세션2 - 노진호 팀장
 
새도우크브 drm
새도우크브 drm새도우크브 drm
새도우크브 drm
 
Curie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engineCurie: Deep-linking & App-indexing based mobile search engine
Curie: Deep-linking & App-indexing based mobile search engine
 
201412 전산자산통합관리
201412 전산자산통합관리201412 전산자산통합관리
201412 전산자산통합관리
 

Plus de David Lee

overseas_transfer_korean_personal_data_protection_law_230323.pdf
overseas_transfer_korean_personal_data_protection_law_230323.pdfoverseas_transfer_korean_personal_data_protection_law_230323.pdf
overseas_transfer_korean_personal_data_protection_law_230323.pdfDavid Lee
 
동의제도의_현실적_문제점_NAVER_230113.pdf
동의제도의_현실적_문제점_NAVER_230113.pdf동의제도의_현실적_문제점_NAVER_230113.pdf
동의제도의_현실적_문제점_NAVER_230113.pdfDavid Lee
 
K data grand-conference
K data grand-conferenceK data grand-conference
K data grand-conferenceDavid Lee
 
privacy considerations for contact tracking and location disclosure
privacy considerations for contact tracking and location disclosureprivacy considerations for contact tracking and location disclosure
privacy considerations for contact tracking and location disclosureDavid Lee
 
연계정보(CI) 활용 정책방향 의견수렴 발표
연계정보(CI) 활용 정책방향 의견수렴 발표연계정보(CI) 활용 정책방향 의견수렴 발표
연계정보(CI) 활용 정책방향 의견수렴 발표David Lee
 
4차 산업혁명과 프라이버시
4차 산업혁명과 프라이버시4차 산업혁명과 프라이버시
4차 산업혁명과 프라이버시David Lee
 
Compatible use of personal data (개인정보 이용의 양립가능성)
Compatible use of personal data (개인정보 이용의 양립가능성)Compatible use of personal data (개인정보 이용의 양립가능성)
Compatible use of personal data (개인정보 이용의 양립가능성)David Lee
 
What happened after the GDPR application
What happened after the GDPR application What happened after the GDPR application
What happened after the GDPR application David Lee
 
EU GDPR Survival Guide for Korean Controllers & Processors
EU GDPR Survival Guide for Korean Controllers & ProcessorsEU GDPR Survival Guide for Korean Controllers & Processors
EU GDPR Survival Guide for Korean Controllers & ProcessorsDavid Lee
 
모바일 프라이버시
모바일 프라이버시모바일 프라이버시
모바일 프라이버시David Lee
 

Plus de David Lee (11)

overseas_transfer_korean_personal_data_protection_law_230323.pdf
overseas_transfer_korean_personal_data_protection_law_230323.pdfoverseas_transfer_korean_personal_data_protection_law_230323.pdf
overseas_transfer_korean_personal_data_protection_law_230323.pdf
 
동의제도의_현실적_문제점_NAVER_230113.pdf
동의제도의_현실적_문제점_NAVER_230113.pdf동의제도의_현실적_문제점_NAVER_230113.pdf
동의제도의_현실적_문제점_NAVER_230113.pdf
 
K data grand-conference
K data grand-conferenceK data grand-conference
K data grand-conference
 
privacy considerations for contact tracking and location disclosure
privacy considerations for contact tracking and location disclosureprivacy considerations for contact tracking and location disclosure
privacy considerations for contact tracking and location disclosure
 
연계정보(CI) 활용 정책방향 의견수렴 발표
연계정보(CI) 활용 정책방향 의견수렴 발표연계정보(CI) 활용 정책방향 의견수렴 발표
연계정보(CI) 활용 정책방향 의견수렴 발표
 
4차 산업혁명과 프라이버시
4차 산업혁명과 프라이버시4차 산업혁명과 프라이버시
4차 산업혁명과 프라이버시
 
Compatible use of personal data (개인정보 이용의 양립가능성)
Compatible use of personal data (개인정보 이용의 양립가능성)Compatible use of personal data (개인정보 이용의 양립가능성)
Compatible use of personal data (개인정보 이용의 양립가능성)
 
What happened after the GDPR application
What happened after the GDPR application What happened after the GDPR application
What happened after the GDPR application
 
Profiling
ProfilingProfiling
Profiling
 
EU GDPR Survival Guide for Korean Controllers & Processors
EU GDPR Survival Guide for Korean Controllers & ProcessorsEU GDPR Survival Guide for Korean Controllers & Processors
EU GDPR Survival Guide for Korean Controllers & Processors
 
모바일 프라이버시
모바일 프라이버시모바일 프라이버시
모바일 프라이버시
 

인터넷 쿠키 (Internet Cookie)

  • 1. Internet Cookies June of 2017 네이버 Privacy&Security 이진규 CPO/CISO 이 문서는 나눔글꼴로 작성되었습니다. 설치하기
  • 2. 3 / 10 What are Internet Cookies? Definition Cookies are plain text files. They are not compiled so they cannot execute functions or make copies of themselves. They cannot browse through or scan your computer or otherwise snoop on you or dig for private information on your hard disk. (‘쿠키’는 단순한 텍스트 파일에 불과합니다. 쿠키는 기능을 수행하거나 스스로를 복제할 수 없습니다. 쿠키는 컴퓨터를 스캔하거나 기타 다른 방식으로 이용자의 PC에 저장된 사적인 정보를 가져오는 등 이용자 감시 활동을 할 수 없습니다.) - See more at: http://www.allaboutcookies.org/cookies/cookies-cant-do.html Internet Cookies explained by FTC A cookie is information saved by your web browser. When you visit a website, the site may place a cookie on your web browser so it can recognize your device in the future. If you return to that site later on, it can read that cookie to remember you from your last visit and keep track of you over time. (쿠키는 웹 브라우저가 저장하는 정보입니다. 이용자가 웹사이트를 방문하면, 웹사이트는 브라우저에 쿠키를 저장하고 이를 이용하여 장래에 당신의 기기를 식별합니다. 이용자가 해당 사 이트를 나중에 다시 방문하면, 지난 번 방문했을 때 저장한 쿠키를 읽어서 당신을 기억해냅니다. 이와 같은 방식으로 당신의 활동 기록을 유지할 수 있습니다.) - See more at: https://www.ftc.gov/site-information/privacy-policy/internet-cookies - See more at: http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm
  • 3. 3 / 10 Where does the name originate from? Cookie 라는 용어의 유래 (1997.11.18에 Builder.com에 게시된 한 뉴스기사에서 발췌) 넷스케이프 브라우저(Netscape Browser) 생산부에서 프로토콜 매니저를 담당한 Lou Montulli는 Navigator 1.0에 대한 쿠키 설 명서를 작성했는데, 사실 Navigator 1.0은 해당 기술을 최초로 도입한 웹 브라우저이다. Montulli는 쿠키라는 용어의 어원에는 특별한 것은 전혀 없다고 단언한다. 그에 따르면 쿠키는 데이터 전송과정에 관여하는 중간자 (intermediary)에 의해 보유되는 불투명한 데이터 조각을 묘사할 때 사용되는 컴퓨터 과학 용어로써 이미 잘 알려진 단어라고 한다. 단지, 컴퓨터 과학영역이 아닌 일반 사회에서만 잘 알려지지 않았을 뿐이다. - See more at: https://nid.naver.com/user2/privacycenter/info.nhn?m=viewCookies
  • 4. 3 / 10 What kinds of cookies are there? 1) Lifespan에 따른 분류 - Session Cookie: 이용자가 브라우저를 닫으면 삭제됨 - Persistent Cookie: 사전에 정의된 기한 동안 이용자의 디바이스에 저장됨 2) 귀속 Domain에 따른 분류 - 1st Party Cookie: 방문한 웹 페이지의 도메인에 속하는 웹 서버에 의해 쿠키가 세팅됨 - 3rd Party Cookie: 방문한 웹 페이지와는 다른 도메인에 속하는 웹 서버에 의해 쿠키가 세팅됨 (광고나 Javascript 등) 3) 기타, 성격에 따른 분류 (비공식) - Zombie-Cookie: 삭제한 후에도 자신의 재생산(re-spawning)하는 유형의 쿠키 (Flash Cookie 등) - Super-Cookie: .com, .org, .co.kr 등 최상위 domain에 설치되는 쿠키 ※참고: 3rd Party Cookie & Persistent Cookie = Tracking Cookie라고 불림
  • 5. 3 / 10 How cookies move data (from/to)? 브 라 우 저 웹 서 버 이용자 사이트 ① URL을 주소창에 기입 & 브라우저가 웹사이트 서버에 홈페이지 정보를 요청(request) ② 사전에 저장된 Cookie가 저장되어 있는지 확인 ②-1. 있는 경우, Cookie에 저장된 모든 정보(name-value)를 서버에 전송 ②-2. 없는 경우, ‘No Cookie Data’를 전송 ㄴ 신규 ID를 생성하여 새로운 name-value 정보를 header에 담아 브라우저로 보냄 ③ 사이트는 Cookie 정보를 받아, 웹 서버에서 기존 데이터를 갱신하거나 신규로 기록 ID - kcuiysld076 LV – 2017. 06. 01. 13:01:01 MVC - 3 ID - kcuiysld076 LV – 2017. 06. 01. 13:01:01 MVC - 3 ID - kcuiysld076 LV – 2017. 06. 20. 17:23:22 MVC - 4 ID - kcuiysld076 LV – 2017. 06. 20. 17:23:22 MVC - 4
  • 6. 3 / 10 What is the structure(1)? Structure 쿠키는 크게 이름, 값, 속성으로 이루어져 있습니다. 각 구성요소는 다음의 역할을 수행합니다. ① 이름(Name): 값(Value)을 정의합니다. ② 값(Value): 웹사이트가 활용하고자 하는 실제 데이터입니다. ③ 속성(Attribute): 쿠키가 어떻게 운영될지를 결정하는 요소입니다. - See more at: https://en.wikipedia.org/wiki/HTTP_cookie#Structure Example [전제] 위 HTTP 요청은 docs.foo.com이라는 가상의 도메인에서 브라우저에 전달한 것입니다. 1) Domain과 Path는 쿠키가 어디에 속하는 것인지를 결정합니다. 2) Expires는 쿠키의 종료 일시를 결정합니다. 3) HTTpOnly와 Secure는 전송 과정에서의 보안수준을 결정합니다. HTTP/1.0 200 OK Set-Cookie: LSID=DQAAAK…Eaem_vYg; Path=/accounts; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly Set-Cookie: HSID=AYQEVn…DKrdst; Domain=.foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; HttpOnly Set-Cookie: SSID=Ap4P…GTEq; Domain=foo.com; Path=/; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly
  • 7. 3 / 10 What is the structure(2)? 해석 - Aliexpress.com이라는 사이트는 저의 브라우저 에 12개의 쿠키를 저장하여 활용하고 있습니다. - 그 중 aep_usuc_f라는 이름의 쿠키를 살펴보니 방문 사이트 정보(글로벌), 통화(USD), 접속국가 (KR), 로케일(en_US)정보를 담고 있습니다. - HTTP방식이 아닌 접속도 허용하여 탈취 위험이 있습니다. - 이 쿠키는 2085년 7월 4일 오후 4:28:!4에 만료 될 예정입니다.
  • 8. 3 / 10 What is the structure(3)? KKOID=DJV39d8dd9ejjkdlxhg3ffllse0lalsddie Domain=.KKO.com Path=/ InterestLong=1 InterestShort=5 Shopped=Y Cart=4 CartItem=jlmde47lDFGV4sliw Age=knkxoisi37ksl07jkskdsksg LastSearchKeyword=nlf7e37kfkfd6ejsklvd Expires=Wed, 30 June 2017 23:59:59 Secure HttpOnly 웹 서 버 사이트
  • 9. Cross-Site Tracking using Cookie 7 / 10 http://www.yahoo.com http://ad.adcomnpany.com Ad-Network과 Sites의 관계 (계약) 1) 웹사이트는 광고 stock을 AD Network에 판매함 2) AD Network는 구매한 Stock영역에 광고를 게시 - 해당 광고영역은 AD Network의 도메인으로 연결 3) 웹사이트 뿐만 아니라 3자인 AD Network의 쿠키 저장 가능 - 쿠키는 Domain마다 설정이 가능한 구조임 ‼ 위 Site URL은 예시 목적이며, 실제 사이트 URL과 상이함 Site 01 Site 02 Site 03 ① ② ③ Ad-Network이 설정하는 동일한 쿠키 ID(세션 ID)를 통 해 이용자의 사이트 방문 기록을 Tracking 가능 Ad-Network
  • 10. Online Profiling 1 / 10 Definition Used primarily by ad networks as a basis for targeted marketing, it's a method of combining cookies, Web site traffic analysis, and personal information to create a profile of a customer's browsing and buying habits. An online profile includes how much time customers spend in certain areas of a Web site and which ads they click on. - See more at: http://www.netlingo.com/word/online-profiling.php#sthash.62MUHHNC.dpuf >> 타겟 마케팅 기반의 광고 네트워크 기업에 의해 주로 사용되는 기법으로, 인터넷 쿠키, 웹 사이트 트래픽 분석, 개인정보 등을 조 합하여 고객의 브라우징 및 구매 습관에 대한 프로필을 형성하는 것을 의미함. 온라인 프로필에는 고객이 웹사이트의 특정 영역에 서 얼마나 오랜 시간을 머물렀는지, 그리고 어떤 광고를 클릭했는지 등이 포함됨 <Online Activities>  http://www.abc.com 에 방문, 신발 > 운동화(Sneakers) 섹션에서 15분간 브라우징  http://www.yahoo.com에 방문, ‘new coach sneakers’를 검색  http://www.sportsillustrated.com에 방문, 노출되는 6pm의 운동화 광고를 클릭  http://www.stockexchange.com 에 방문, NIKE 사의 주식 가격 등락을 확인  기타 등등… <Collection & Analysis> <Profiling>
  • 11. 2 / 10 Cookie Profiling Definition the use of persistent or permanent cookies to track a user’s overall activity online. This tracking does not just happen when you are on a particular site, but it occurs the whole time you are browsing. - See more at: http://www.allaboutcookies.org/cookies/cookie-profiling.html >> 이용자의 온라인 활동을 추적하기 위해 영구적 쿠키를 사용하는 것으로, 이용자의 웹 브라우징 전체에 걸쳐 발생하는 현상임 ※ How the cookie crumbles ① 클라이언트는 DMP 제공사업자에게 3rd party cookie의 사용을 허용 - 또는 계약을 통해 Data 교환 계약(유·무상)을 함 ② 이용자가 클라이언트 페이지 방문하는 경우 DMP의 쿠키도 같이 설치 - HTML 페이지 호출 과정에서 ‘DMP container tag’를 같이 제공하기도 함 ③ 이용자가 Client 서비스를 이용 시 생성되는 쿠키 정보는 DMP에 저장 - Client 쿠키를 직접 읽거나(모듈이용), 3rd party cookie를 사용하거나 container tag를 통해 별도의 user ID를 생성하여 관리 ④ DMP는 새롭게 업데이트된 정보를 분석하여 이용자 편의 제공
  • 12. Why Ad-Networks use Cookies? 7 / 10 쿠키 이용의 장점 ① 쿠키는 특정 광고가 보여지는(노출되는) 횟수를 제한함. 특히 팝업 광고와 같이 이용자 측면에서 불편한(intrusive)광고 제한이 필요 ② 연속된 광고가 올바른 순서대로 보여질 수 있게 함 ③ 개별 방문자(Unique Visitor)의 수의 확인할 수 있음 ④ 광고 효과성을 측정할 수 있음  정산을 할 수 있음 (CPC) ⑤ 다른 이용자 추적 방식에 비해 비용효과적이며, 이용자 통제권 보장이 가능함 ⑥ 개인정보를 별도로 수집하지 않고서도, 충분히(합리적인 범위에서) 타게팅이 가능함 ⑦ 기타 등등…
  • 13. Are there other cookie usage? 7 / 10 유형 용도 예 브라우저나 식별 브라우저를 구분하거나 특정 세션을 구분하기 위해 발급 facebook 의 datr cookie 인증 로그인 여부 등을 확인하기 위해 발급 google 의 로그인 쿠키인 SID 쿠키. 컨텐츠 접근 History 통계용이나 CSRF 등을 막기 위해 쿠키로 발급. Google analytic 에서 발급 되는 utm 시리즈 cookie 등 facebook 의 lsd 등. UX/UI 제어 및 설정 팝업 창 다시 띄우지 않기 여부나 메뉴 설정 등을 제어 각종 서비스의 다수. 서비스 간 정보 전달 A라는 도메인을 하는 서버에서 얻은 정도를 B라는 서비스에 전달하기 위해 발급 a.google.com 에서 google.com 으로 쿠키를 발급하여 b.google.com 으로 전달. DB 부하 감소 DB에 있는 내용을 쿠키로 발급하여 해당 브라우저 접근 시 쿠 키 내용 만으로 서비스 장바구니 등
  • 14. 8 / 10 Browser or OS Identifier: - Apple: AD Identifier (IDFA), Google: Google AD IDs (ADID) Network Inserted State: - IISP-provided or content distribution networks, other 3rd parties (Remember Verizon Supercookies?) Cloud-Synchronized state: - IDs set by a centralized service Device-inferred state - combination of device specifications such as OS, Browser, Time Zones, Screen Size and installed plug-ins HTML5 - Local Storage Flash Cookie - so called “Zombie Cookies” Social IDs & OS - Facebook, Google, Apple, Twitter, etc. - The big ones get bigger. Platform crushes others. Cookie Alternatives Everywhere!
  • 15. EU Legislation on Cookies 9 / 10 The ePrivacy directive – more specifically Article 5(3) – requires prior informed consent for storage or for access to information stored on a user's terminal equipment. In other words, you must ask users if they agree to most cookies and similar technologies (e.g. web beacons, Flash cookies, etc.) before the site starts to use them. For consent to be valid, it must be informed, specific, freely given and must constitute a real indication of the individual's wishes. However, some cookies are exempt from this requirement. Consent is not required if the cookie is: 1) used for the sole purpose of carrying out the transmission of a communication, and 2) strictly necessary in order for the provider of an information society service explicitly required by the user to provide that service. Cookies clearly exempt from consent according to the EU advisory body on data protection- WP29 include: > user-input cookies (session-id) such as first-party cookies to keep track of the user's input when filling online forms, shopping carts, etc., for the duration of a session or persistent cookies limited to a few hours in some cases > authentication cookies, to identify the user once he has logged in, for the duration of a session > user-centric security cookies, used to detect authentication abuses, for a limited persistent duration > multimedia content player cookies, used to store technical data to play back video or audio content, for the duration of a session > load-balancing cookies, for the duration of session > user-interface customisation cookies such as language or font preferences, for the duration of a session (or slightly longer) > third-party social plug-in content-sharing cookies, for logged-in members of a social network. # For more information, visit: http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm
  • 16. Cookie Consent Solution by EU 10 / 10 The cookie consent solution is a JavaScript-based kit that, after some site-specific configuration, will automatically add a header banner to the page. This header banner will disappear once the user has accepted or refused the cookies used on the site. This solution provides the following functionalities: 1) JavaScript to automatically display the header banner in 24 languages 2) a wizard to declare your cookies and the link to your cookies notice page 3) a JavaScript API with methods and functions that help to prevent prior storage of cookies 4) a corporate-consent cookie to remember the choice of the user across websites 5) a template for the cookie notice page. This is a central service: you have to include the JavaScript file on your website and add a one-site-specific configuration file listing the cookies you are using. You will also have to add a short HTML parameter to every element in your site that sets a cookie.
  • 18. 4 / 10 What is a Cookie? HTTP Request GET / HTTP1.1 Cookie: SID=DQAAALoA… - Cookie 는 서버에서 클라이언트로 전송하면, 전송 받은 클라이언트의 웹 브라우저가 저장하였다가 해당 서버에 접근 시 정보의 변경 없이 전송하는 텍스트 정보를 말한다. - 서버는 클라이언트 전송시 HTTP Header 에 내용을 직접 넣어 전송 하거나, 내용을 만들 수 있는 script 를 전송하고 client 에서 이 script 를 수행하게 하여 저장할 수 있다. HTTP/1.1 200 OK Content-Type: text/html; Cache-control: no-cache Set-Cookie: SID=DQAAALoA… ... function SetCookie() { document.cookie = 'SID=DQAAALoA…'; } ... 브라우저 웹 서버 or
  • 19. 5 / 10 Cookie Specifications - RFC 2109, RFC 2965, RFC 6265 에 속성이나 발급형식이 정의 되어 있으나, 브라우저별로 해당 형식을 지원하지 않는 경우가 많아서 구현에는 많은 주의가 요구 된다. - 일반적으로 대부분 지키고 있는 RFC 2109 와 RFC 1123에 따라 쿠키는 다음 형식으로 발급 된다. Set-Cookie: name=value; [domain=value;] [path=value;] [expires=GMT;] [Secure] ex) Set-Cookie: SID=DQAAALoA; domain=.google.com; expires=Mon, 14-Nov-2022 11:30:49 GMT; - name=value 에서 value 가 없으면 Cookie 를 삭제하는 것으로 생각하는 브라우저가 있다. ex) Set-Cookie: SID=; domain=.google.com; - domain 앞에 ‘.’ 을 붙이면 하위 도메인도 영향을 받고, 붙이지 않으면 해당 도메인만 영향을 받는다. (일부 브라우저 예외) ex) Set-Cookie: SID=DQAAALoA; domain=www.google.com; 이 경우엔 www.google.com 만 영향 Set-Cookie: SID SID=DQAAALoA; domain=.www.google.com; 이 경우엔 www.google.com, host.www.google.com 모두 영향. - domain 이 없으면 해당 FQDN 으로 자동 지정 된다. (하위 도메인은 영향을 받지 않음) ex) Set-Cookie: SID=DQAAALoA; - 서로 다른 상위 도메인과 하위 도메인에서 동일한 name 으로 쿠키가 발급 된 경우, 하위 도메인에서는 두 쿠키 모두 전송을 받는다. ex) Set-Cookie: SID=DQAAALoA; domain=.google.com Set-Cookie: SID=AAALoAdDQ; domain=.mail.google.com 이렇게 발급 된 채로 mail.google.com 에 접근하면 Cookie: SID=DQAAALoA&SID=AAALoAdDQ 와 같이 두 개의 cookie 모두 전송 되어 온다.
  • 20. 6 / 10 Cookie Specifications - 쿠키의 구조상 .com 도메인이나, .co.kr 과 같은 도메인에 발급은 가능하지만, browser 에 의해서 차단 된다. - path 를 통해 특정 URI 에만 쿠키가 전달 되도록 할 수 있다. - expires 가 없이 내려 오면 session cookie, expires 가 명시되어 내려 오면 persistent cookie 라고 한다. Session cookie 는 브라우저 instance 가 살아 있는 동안 유효하고, persistent cookie 는 expires 에 명시된 시간 까지 유효 하다. - session cookie 는 instance 내에서만 유효 하기 때문에 브라우저 instance 여러 개를 띄우면 공유 되지 않는다. persistent cookie 는 instance 가 달라도 모두 같은 값을 갖는다. - expires 가 지난 쿠키가 내려 오면, 쿠키는 삭제 된다. (이 경우 persistent cookie 이므로 다른 instance 도 영향을 받는다) - persistent cookie 는 PC 의 disk 에 저장 되기 때문에 ghost 등의 프로그램 이용 disk 를 그대로 백업 하는 경우 함께 저장된다. - disk 에 저장되는 특징으로 persistent cookie 는 브라우저 말고 다른 application 에서도 저장되는 디렉토리 접근 권한만 있다면 접근이 가능하다. - secure attribute 가 내려오면 https protocol 에서만 전송 된다. - 유효한 도메인에 속한 콤포넌트에는 모두 전송 되고, request 의 크기를 크게 만듦에도 HTTP Header 에 포함 되어 압축 되지 않기 때문에 (SPDY 같은 기술이 있긴 하지만) 이용이 기피 되고 있음.
  • 21. 참고) Internet browser – Web Server communicate through HTTP protocol which is stateless (=memory-less).
  • 22. Opera > 설정 > 개인정보 보호 및 보안 > 쿠키 > 모든 쿠키 및 사이트 데이터 Windows Button + R > “shell:cookies” > 확인 참고)
  • 24. 세션 쿠키 (session cookie, in-memory cookie, transient cookie, etc.) - 이용자가 브라우징 하는 동안 임시로 메모리 상에 저장되며, 브라우저를 닫으면 삭제됨. ‘expiration date’가 없음 (=그래서 임시 쿠키) 영속 쿠키 (persistent cookie) - 특정 시점에 만료되는 쿠키. 해당 시점까지는 이용자 방문 시마다 정보가 웹 서버로 전송됨 - 3rd party가 이용자 웹 브라우징 행태를 기록할 수 있어 ‘tracking cookie’라고도 불림 - 로그인을 유지시켜주거나 계정정보를 다시 입력하지 않도록 도와주는 ‘정당한’ 기능을 제공 Instead of expiring when the web browser is 보안 쿠키 (secure cookie) - HTTP 프로토콜에서는 전송되지 않고 안전한 프로토콜 상에서만 전송되는 쿠키 HTTP Only 쿠키 (HttpOnly cookie) - JavaScript와 같은 클라이언트 사이드의 API에 의해 접근되지 않는 유형의 쿠키 동일 사이트 쿠키 (SameSite cookie) - Google Chrome 51에 적용된 속성으로, 요청이 발생한 사이트에만 전송이 가능한 쿠키 제3자 쿠키 (Third-party cookie) - 주소창에서 확인할 수 있는 도메인과는 다른 도메인에 속하는 쿠키. 배너 광고 등 제3자 리소스로 인해 이용자 브라우저에 저장됨. 광고 네트 워크 기업이 여러 웹사이트에 동일한 도메인으로 쿠키를 저장하는 경우, 이용자의 웹 활동 추적이 가능 - 대부분의 현대 브라우저는 3rd party 쿠키를 제어할 수 있는 기능을 가지고 있음 수퍼 쿠키 (Supercookie) - .com, .org, .co.kr 등 최상위 도메인을 근원으로 하는 쿠키 (일반 쿠키는 특정한 domain name에서 유래함) - 악성 웹사이트를 통제하는 공격자가 수퍼쿠키를 셋팅하는 경우, 동일 최상위 도메인을 사용하는 하위 도메인을 공격 가능 - 때로는 MUID(Machine Unique Identifier) cookie, Etag cookie를 재생산(respawning)하는 쿠키가 수퍼쿠키로 불리기도 함 (MS가 기능 제거) 좀비 쿠키 (Zombie cookie) - 삭제 후에도 자신을 재생산하는 유형의 쿠키. Flash Local shared object, HTML5 Web storage 등 참고)
  • 25. 감사합니다 이 문서는 나눔글꼴로 작성되었습니다. 설치하기