간단한 개인정보보호 설정으로 안전한 인터넷을
이론/기획/마케팅
2008. 5. 24. 02:54
- IE 6.0 안의 개인정보보호 기능
이번 시큐리티 팁에서는 쉽게 간과하고 지나 갈 수 있는 인터넷 옵션 설정 중 개인정보보호 설정에 대하여 개인 사용자가 이해 해야 하고, 간단하게 설정 할 수 있는 부분에 대하여 알아보고자 한다.
Windows XP(SP2) IE 6.0 기준 / IE 6.0 (익스플로러 6.0)
1. 서론
쿠키는 클라이언트에서 300개 이상의 쿠키를 저장 할 수 없으며, 도메인당 20개를 초과 할 수 없고, 4byte 의 크기를 넘을 수 없는 텍스트 파일이다. 또한 사용자 하드 디스크에 저장이 되는 영구적인 텍스트 파일, 세션을 유지시켜 주며 IE6.0 이 띄워져 있을 때 메모리상에 기억되어 있는 세션 쿠키로 구분을 할 수 있다.
쿠키가 세션을 보장하는 이점은 서버 측면에서 많은 세션을 유지시키기 위한 과다한 오버헤드가 발생하지 않는다는 장점이 있는 반면, 쿠키를 보낼 때와 그에 대한 값을 받을 때의 평문(Plain Text) 전송에 대한 스니핑, 또한 하드 디스크에 저장이 되어 있는 영구적인 쿠키에 대한 주요한 개인적인 정보 노출에 대한 부분이 단점일 수 있다.
쿠키에 대한 잘못된 개념(Misconception)은 아래와 같다.
1] 쿠키는 웜 및 바이러스이다. (쿠키는 하드디스크의 데이터를 삭제할 수 있다.)
2] 쿠키는 스파이웨어의 특징을 지녔다.
(쿠키는 일반 유저의 컴퓨터의 저장된 정보를 읽을 수 있다.)
3] 쿠키는 팝업 창을 띄운다.
4] 쿠키는 Spaming에 이용 되어진다.
5] 쿠키는 단지 광고 용도로만 사용 되어진다.
쿠키는 데이터(Data)이지, 코드(Code)가 아니다. 쿠키는 사용자의 컴퓨터로부터 정보를 삭제하거나 읽을 수 없다. 또한 각 쿠키 텍스트 파일은 자신의 도메인만 읽을 수 있다. 다른 타 도메인이 설정한 쿠키는 읽을 수 없다.
쿠키의 보안상 중요한 것은 이러한 텍스트 파일인 쿠키안의 중요 정보들이 노출이 되거나, 이러한 쿠키들을 주고 받을 때의 중간에서 가로채어 악용할 때 문제가 발생하는 것이다. 또한 중요 개인 정보 노출에 관련되어 웹서버에서의 개인 정보 수집에 대하여 어느 정도의 수준을 설정 하였느냐에 따라 그 정보를 주는 개인 사용자 입장에서 얼마만큼의 그 웹사이트에 주느냐가 중요한 이슈가 되었다.
쿠키는 HTTP 세션 관리시 사용되는 텍스트 파일이다. 또한 사용자(유저) 통계 자료를 만들 때 사용하는 텍스트 파일이라고 볼 수 있다. 일반적으로 노트패드 및 워드패드로 열람 할 수 있으며, 특정 웹사이트에 대한 사용자 로긴 정보인 패스워드 및 자세한 사항들도 기록되어 있을 수 있다.
HTTP는 Stateless 프로토콜이며 전자 상거래 및 금융 지불 사이트에서 사용자에 대한 지속적인 세션을 보장하지는 못한다. 지속적으로 세션에 대하여 보장하기 위하여는 쿠키가 필요하며 그렇지 않을 경우 서버측에서의 세션을 계속해서 생성시키는 수 밖에 없다. 이는 서버측에서의 과다한 세션을 지속적으로 발생하여야 하기 때문에 문제가 될 소지가 있으므로 그 대안으로 쿠키가 좋은 방법일 수 있다. 가끔 이러한 쿠키를 사용하지 않은 웹사이트의 전자 상거래 사이트를 보면(거의 없겠지만), 내가 정상적으로 로긴 후에 장바구니에 물건을 구입한 후 새로운 창이나 페이지 뒤로 간 후 다시 앞으로 옮겨질 때 그 세션을 잃어 장바구니에 물건이 없는 경우가 있다.
그리고 요즘 IE 6.0 의 클라이언트 개인정보보호 설정에 의해 쿠키가 차단되는 경우가 있어 문제가 발생 할 수 있다. 그래서 웹서버를 관리하는 관리자의 쿠키 설정값(압축 정책)을 잘못 설정함으로써 또는 설정값이 없을 때 발생하는 문제일 수 있다. IE 6.0 으로 업그레이드 되면서 기존 웹서버 서비스를 하는 업체들도 이에 맞게 개인정보보호 정책을 가지고 그에 맞는 쿠키값(P3P정책)들을 주어야 클라이언트는 웹서버에서 제공해 주는 서비스를 제대로 받을 수 있다.
보안상 커다란 문제의 소지는 하드 디스크에 저장하는 암호화 되지 않은 네트워크 트래픽을 통과하는 텍스트 파일이다. 이러한 암호화 되지 않은 쿠키들이 네트워크 트래픽을 따라 흐르면 중간의 악의적인 사용자는 이러한 쿠키 값들인 세션을 가로채어 개인 정보에 대하여 볼 수 있으며, 이를 이용한 악의적인 시도들을 행할 수 있다. XSS 및 Cookie Theft , Cookie Poisoning 으로도 충분히 이러한 쿠키값들을 가로채어 서버에서 보내는 Set-Cookie 값들이 클라이언트로 전송할 때 가로채어 사용자가 사용하려고 했던 그 값을 다시 서버에게 보내어 악의적인 사용자가 이용(exploit)을 할 수 있다.
[그림1] 쿠키 응답 방법
결론적으로 이러한 쿠키에 대한 악의적인 시도에 대한 Workaround 는 스니핑을 막기 위해 보안 통신(HTTPS)을 하는 것이며, XSS을 막기 위하여 HTTP를 사용시에는 HTML 코딩시 'httponly' 값을 넣어주어 쿠키의 값을 보지 못하도록 설정을 해야 하며, 하드 디스크에 저장된 쿠키 텍스트 파일안의 정보들 중 중요 정보들을 저장하지 않도록 설정이 되어야 할 것이다. 또한 Timestamp 값을 두어 그 세션 하나만으로 다른 세션이 접속 할 때 불가하게 만들거나 저장된 쿠키 및 임시저장 세션 쿠키에 대한 만료시간을 두어 시간이 지난 쿠키로 다시 접속을 못하게 하는 것이다.
또한 하드 디스크 안의 저장된 텍스트 파일인 쿠키는 하나의 컴퓨터에 여러 사람이 사용하는 개인 정보로써 충분히 다른 사용자가 이 텍스트 파일을 열람하여 중요 개인 정보들을 읽는 것이다. 암호화시킨 쿠키들도 볼 수 있는 툴 도 있다. 이에 대한 방지는 주기적으로 쿠키 값들을 모조리 삭제하거나 많이 사용하는 PC방 같은 곳에서는 서버에서 요청하는 쿠키들에 대하여 일일이 확인하여 허용하던지, 거부하던지 해야 할 것이다. 물론 쿠키들을 삭제할 때에 정상적인 서비스가 불가능 할 때도 있으므로, 잘 판단하여 삭제 또는 거부해야 한다.
2. 본론
서두가 길었지만 이번 시큐리티 팁에서는 이러한 쿠키를 스니핑 하여 악의적인 침입시도의 방법을 말하기 보다는 현재 내가 사용하는 웹 브라우저(IE6.0)를 사용하는 개인 사용자에 대해서 웹서버에서 전송하는 쿠키에 대하여 사용자인 내 자신이 웹 브라우저가 설정할 수 있는 쿠키에 대한 차단 정책과 허용 정책인 개인정보 보호에 대한 설정을 어떻게 하면 좋은지 알아보고자 한다.
이러한 개인 정보 보호를 위하여 P3P에 대한 정책을 W3C 에서 현재 계속 연구 개발 중 이며, 완벽하게 이루어진 것은 아닌 것 같다. 또한 우리나라도 한국형 P3P를 도입하여 검토 중 인 것으로 알고 있다.
현재 인터넷 IE6.0 의 인터넷 옵션에서 개인정보 보호에 대한 최소한의 개인적인 설정을 할 수 있다. 총 6가지의 레벨을 선택을 할 수 있다.
[모든 쿠키 허용]-[낮음]-[보통]-[보통 높음]-[높음]-[모든 쿠키 차단]
이 6 가지 레벨에 대해서 많은 사람들은 보통 개인정보보호 기능을 높이면 틀림없이 개인정보보호가 된다고 생각하고 그렇게 설정하는 사람도 있을 것이고, 대부분은 기본 설정값 그대로인 [보통]으로 되어 있을 것이다. 하지만 이 설정에 숨겨진 여려 가지 의미들을 이해하면 사용자 측면에서 그나마 많이 배려한 설정이라고 보여진다.
이는 사용자들이 전혀 모르고 있거나, 알아도 관심이 없는 분야임은 틀림없다.
하지만 그 내용을 들여다 보면, 내 자신의 E-Mail 주소나 핸드폰 번호 그리고 타 사이트에 대한 중요 정보 열람에 대하여 암시적으로 동의한다는 압축 정책이 숨겨져 있다. 이에 대하여 개인은 개인정보보호 정책 및 쿠키에 대한 정책을 반드시 읽어야 하며 거기에 맞게 쿠키를 받는 자신의 입장인 IE6.0 에서 설정을 해 주는 것이 최소 개인정보보호를 위하여 개인이 노력할 수 있는 부분 일 것이다.
[그림2] IE6.0 에서의 개인정보보호 설정
IE6.0 의 기본적인 개인정보 보호 정책의 설정은 제1사 쿠키에 대하여는 허용하며 제3사 쿠키에 대하여는 차단하는 것이 인터넷 IE 6.0 에 대한 기본 개인정보보호 쿠키에 대한 기본 요약 설정 값 이다.
이러한 말들이 어떠한 의미를 지녔는지 아래의 내용을 보자. 다음은 인터넷 옵션에서의 개인정보보호 설정시 [보통] 을 설정했을 때의 내용이다.
아래에는 조금 더 상세하고 정확하게 위의 내용을 표현한 것이다.
여기서 알아야 할 내용을 정리하여 보면 아래와 같다.
이 내용만 이해한다면 IE 6.0 에서의 이러한 설정 값 들이 주는 의미나 개인 정보보호를 위한 최소한의 장치를 이해를 할 수 있으며, 6개의 설정 값들을 통하여 사이트별로 적절히 개인 정보보호에 대한 설정을 사용자가 이해하며 선택할 수 있을 것이다.
- 압축된 개인정보 보호 정책
- 제1사 쿠키
- 제3사 쿠키
- 사용자의 암시적인 동의 없이 사용할 것을 규정하는 압축정책 (묵시적인 동의 없이)
- 사용자의 명백한 동의 없이
- 개인적으로 확인 가능한 정보 (개인 식별이 가능한 정보)
- 차단, 제한
아래 특정 사이트의 쿠키를 받을 때의 쿠키의 특징을 보자.이 그림이 나오기 위해선 개인정보 탭 의 고급을 누른 후 제1사,제3사 쿠키에 대하여 확인에 대하여 체크가 되어져 있어야 한다.
[그림3] 특정 사이트의 압축정책이 없는 제1사 쿠키 허용 여부
간단히 말하자면 이 사이트는 압축정책이 없는 제1사 쿠키에 대한 허용할 것이냐 차단할 것이냐 선택하는 화면이다. 압축 정책 란이 공란으로 압축정책 "CP= " 관련 정책이 없어서이다.
위 특정 사이트에서의 IE6.0 에서 제1사 및 제3사 쿠키 모두 확인을 눌렀다면, 사이트 접속 때마다 요청하는 쿠키들이 어떠한 것인지 확인을 할 수 있다. 만약 이러한 쿠키들을 도저히 믿지 못하겠다면, 무조건 확인을 통하여 일일이 체크하여 어떠한 쿠키가 들어오는지에 대하여 쿠키허용 또는 쿠키차단을 클릭하면 된다. 하지만 그것은 정말 시간을 허비하는 일일 것이다. 여기서 보면 압축 정책이 보이지 않으며, 이에 대한 도메인은 ~~~.co.kr 이며 경로 또한 지정이 된 "압축된 개인정보 보호 정책이 없으며 타사(제3사 쿠키)의 쿠키가 아닌 제1사 쿠키"임을 알 수 있다. 타사라고 쓰여져 있는 것은 제3사 쿠키를 뜻하며 친절하게도 세션이냐는 부분에도 "아니오" 라고 나와 있으므로 잠시 생성되어 메모리에 상주하는 쿠키가 아닌, 영구적인 하드 디스크에 저장하는 쿠키임을 알 수 있다. 하지만 IE 6.0 에서 [보통]으로 설정했을 때 이 쿠키가 행동하는 결과는 IE 6.0을 닫을 때 이 쿠키는 삭제가 된다. 이유는 제1사 쿠키이지만 압축정책이 없는 쿠키이므로 IE 6.0 에서의 [보통] 설정을 기준으로 본다면 이 쿠키는 다운그레이드(IE 6.0 닫을 때 삭제) 되어진다.
그렇다면 제1사 및 제 3사 쿠키는 무엇일까? 아래 내용을 보자.
제1사 쿠키는 현재 자신이 보고 있는 웹페이지 도메인에서의 쿠키를 말하는 것이고, 제3사 쿠키는 현재 자신이 보고 있는 웹페이지 내에서의 다른 도메인의 쿠키를 말하는 것이다. 이는 배너 광고가 개인 사용자의 행동 패턴을 분석하기 위해 쿠키를 이용할 때 많이 사용이 된다.
(참고) 쿠키는 프로토콜 중 HTTP , HTTPS 만을 지원한다. IE 6.0 에서 사용 할 수 있는 FTP 에는 해당 쿠키가 적용이 되지를 않는다.
제1사 쿠키는 현재 내가 보고 있는 웹페이지 내에서의 쿠키를 말한다.
http://www.coconut.co.kr 으로 예를 들자면, 현재 웹페이지 중 이 웹페이지의 도메인 coconut.co.kr 은 1사 쿠키로 적용이 된다는 뜻이다. 하지만 http://www.coconut1.co.kr 은 전혀 다른 도메인 즉 제3사 쿠키가 적용이 된다는 뜻이다. http://www.coconut.co.kr 의 웹페이지에 위와 같은 다른 도메인이 존재하는 곳에 배너 광고가 걸린 링크 URL이 존재하여 쿠키를 받아가지고 올 때는 제3사 쿠키로 간주를 하는 것이다.
즉, 현재 내가 보고 있는 웹페이지가 coconut.co.kr 이라면 그 이외의 다른 도메인에서 가져오는 쿠키의 경우 제3사 쿠키라고 한다.
아래의 예를 보자. 실제 웹페이지는 http:.//www.coconut.co.kr 이고 다른 사이트들은 이 실제 웹페이지의 배너광고 형식의 링크 및 모두 쿠키를 가지고 있다고 가정을 하자.
1] http://www.coconut.co.kr ( Real Server )
2] http://www1.coconut.co.kr ( Load Sharing Server )
3] http://www.coconut.com (피싱 사이트 ^^)
4] http://www.coconut.or.kr (배너광고가 있는 사이트)
5] https://www.coconut.co.kr ( Real Server 인증 사이트)
사용자는 이러한 사이트에 들어가려고 하고 지금 현재 웹페이지는 http://www.coconut.co.kr 에 있다고 하자. 각 사이트마다 쿠키가 있다고 가정하고 IE 6.0 에서 설정을 [보통]으로 해 놓는다면, 어떤 사이트에 있는 쿠키가 차단이 될까?
1], 2]는 같은 도메인으로 취급이 된다. http://ns.coconut.co.kr 또는 http://ns1.coconut.co.kr 같은 경우에도 제1사 쿠키로 간주를 하기 때문에 쿠키에 대하여 허용을 한다.
IE 6.0 에는 개인정보보호에 대한 보고서를 작성하여 보고해 준다. 어느 웹사이트에서 차단이 되었는지 또한 개인정보보호 정책이 명시가 되었는지 보고하여 준다. 더블클릭으로 내용을 확인하면 된다.
[그림4] 차단된 쿠키 내역 보고
하지만 3], 4], 5]에 있는 사이트 모두 제3사 쿠키로 간주 모든 쿠키가 차단이 된다.
그 이유는 다른 도메인을 사용하고 있으며, 또한 도메인이 같다 하더라도 HTTPS로의 전환되는 프로토콜을 사용한다면 이는 제3사 쿠키로 간주를 한다. 그래서 많은 사이트들이 HTTP 로 처음에는 서비스를 준비하다가도 Login시나 패스워드 입력시에는 아주 잠깐이지만 HTTPS 로 전환시키는 경우가 있는데 이에 대하여 만약 익스플로러에서(IE6.0) 제3사 쿠키를 차단시켜 놓은 설정 상태라면, 로긴이 실패할 경우가 있다. 이럴 때에는 접속하고자 하는 도메인 명을 항상 허용함으로 문제를 해결 할 수 있을 것이다. 이에도 접속이 불가능하다면 이에 관련된 하드 디스크에 저장된 Permanent Cookie 를 삭제하고 IE 6.0을 Close 시키고 다시 접속해 보면 될 것이다.
그런데 다른 측면을 보면, 이러한 1사 쿠키가 적용되는 웹페이지에 프레임셋으로 나뉘어 각기 다른 도메인을 가진 웹페이지가 존재하며, 이 각기 나뉜 프레임에서 다른 도메인이 존재한다면 이는 제 3사 쿠키로 적용이 된다. 제로보드와 같은 프레임셋을 나뉜 로긴 창이 존재하거나 많은 웹사이트에서 이와 같은 형태의 프레임셋을 많이 지원하는 것을 감안할 때 제3사 쿠키로 판별하여 정상적인 로긴이 어려울 때에는 반드시 기존 쿠키를 삭제하고 익스플로러를 닫고 그 사이트에 대해서는 항상 쿠키를 허용하던지 또는 세션에 대한 항상 허용을 선택해야 한다. 이렇게도 정상적인 접속이 어렵다면, 이는 해당 웹서버 및 웹프로그래밍 코딩시에 세션을 유지시킬 수 있는 쿠키값을 코딩해야만 한다. 또한 그렇게 해서도 로긴이 되지 않으면 SHIFT 키를 누른 상태에서 새로운 창을 띄운 후 로긴을 하면 접속을 성공할 것이다. 이는 제1사 쿠키로 간주 같은 값임을 처리 하기 때문인 이유도 있다.
그래서 이러한 제3사 쿠키 적용시 나도 모르게 쿠키가 저장이 되어 나의 개인정보를 어떻게 해서든 노출 시키지 않겠다고 한다면 수동적으로 제3사 쿠키를 차단하는 옵션을 주면 된다. 그리고 알려지지 않은 도메인에서의 쿠키 P3P 설정값을 서버에서 보내 올 때 내 자신의 클라이언트 IE 6.0 에서도 그 방법을 고려해야 할 것이다. 어떤 쿠키들을 차단 할 것이며, 어떤 쿠키들을 그 도메인에 한해서만 노출 시킬 것인가에 대한 판단은 각 개인 사용자가 적절히 선택을 하여야 할 것이다.
압축정책(Compact Policy)을 알아보면 이는 클라이언트에 응답하는 웹서버의 HTTP 헤더에 포함이 되어 있다. 압축된 개인정보 보호 정책이 없는 제3사 쿠키는 클라이언트가 웹서버에서 쿠키를 요청할 때에 웹서버는 그에 대한 응답으로 쿠키를 보내오는데 그 HTTP 헤더안에 P3P 정책이 없는 경우를 말한다. 이는 (예)P3P: CP="CAO PSA CONi OTR OUR DEM ONL" 과 같은 정책이 없는 사이트를 말하는 것이다. 여기서 CAO PSA CONi OTR OUR DEM ONL 는 압축토큰이라고 한다. 이 P3P 정책이 없이 클라이언트에 보내면 IE6.0에서는 제3사 쿠키이면 차단, 제1사 쿠키이면 IE 6.0을 닫을 때 삭제가 된다는 말이다. 아래의 그림을 보자.
[그림5] 쿠키에 대한 확인 설정시 추가 정보
이 사이트는 압축정책이 있으며, 세션 쿠키이며, 제1사 쿠키이다. 즉 IE 6.0 에서 [보통]으로 설정한 개인 정보를 설정을 하였다면, 압축정책이 있는 제1사 쿠키이므로 IE 6.0 을 닫더라도 하드 디스크에 저장이 될 것이지만, 세션 쿠키이므로 하드 디스크에 저장은 되지 않는다. 또한 ‘차단합니다. 제한합니다’라는 말이 있는데, 차단은 무엇이고 제한은 무엇일까?
[표1] IE6.0에서의 쿠키 처리에 대한 의미
위의 내용과 같다. 제한(Restricted)은 쿠키는 허용하지만 세션 쿠키로 다운그레이드 되어진다는 말이다. 다운그레이드라는 것은 쿠키가 IE6.0 이 띄워져 있을 때에는 쿠키에 대하여 허용을 하지만 IE6.0 을 닫으면 삭제한다는 말이다. "제1사 쿠키를 제한 합니다"란 말은 제1사 쿠키는 IE 6.0이 띄워져 있을 때는 허용하지만 IE 6.0을 닫을 때는 그 쿠키를 삭제한다는 말로 해석을 하면 된다.
그리고 암시적인 동의 및 개인적으로 확인 가능한 정보는 무엇일까? 개인적으로 확인 가능한 정보 또는 개인식별 정보라고도 하는데 이것은 개인적으로 확인이 가능한 성명과 비밀번호, 주민등록번호, 신용카드번호,PIN 번호 등을 말한다. 이를 압축토큰으로 표현한 것을 말한다.
즉, "암시적인 동의가 없이 개인적으로 확인 가능한 정보를 사용하는 제1사 쿠키를 제한합니다." 에 대한 의미는 압축태그로 표현한 것 중 사용자 동의가 없는 개인 식별 정보 압축 토큰이 쿠키에 설정이 되어 있을 때 [보통]으로 설정한 IE 6.0 에서는 IE 6.0 을 Close 할 때 이 쿠키를 삭제하겠다는 말이다. 개인식별 정보 태그와 그에 해당하는 압축토큰은 아래와 같다.
그리고 암시적으로 또는 묵시적으로 동의한다는 압축정책을 가진 쿠키란 것을 알기 위해서는 불만족 쿠키(Unsatisfactory Cookie)라는 개념이 있다. 압축 토큰의 속성 옵션인 Opt-(i)n 및 Opt-(o)ut 그리고 (a)lways 가 붙지 않는 개인식별 정보 관련 압축토큰들에 해당되는 압축 토큰을 말하며 이를 불만족 쿠키 또는 불충분 쿠키라고 한다. 즉, 개인식별 정보 태그에 속한 압축 토큰인 CONi, CONo, 와 같이 opt-in , opt-out 과 같은 압축 속성 태그가 없을 때에는 불만족 쿠키라고 한다. 이 불만족 쿠키는 아래 6단계 레벨 설정에서 보면 알겠지만, 불만족 쿠키는 높은 레벨에서는 Block 을 시킨다. 즉, 사용자 동의 없는 개인 식별 정보에 대하여 엄격히 규제하겠다라는 의미이다. 아래 표는 불만족 쿠키이며, 범주와는 상관없이 수신, 용도에 의한 압축토큰의 옵션 속성 중 opt-in ,opt-out 태그가 없으면 불만족 쿠키로 간주를 한다. opt-in 은 사용자의 동의(Consent)를 구하겠다는 것이고 opt-out 은 사용자의 동의를 구하지 않겠다라는 태그이다. 이 외의 태그는 Acceptable 쿠키라고 보면 된다.
[표2] 개인식별정보가 확인 가능한 압축 태그 및 압축 토큰
압축태그 중 압축태그 옵션 속성 opt-in 및 opt-out 또는 always 설정을 통하여 이 불만족 쿠키를 서버가 클라이언트로 보낼 때 클라이언트인 IE 6.0에서 어떤 행동을 취할 것이냐는 중요한 부분이다.
불만족 쿠키는 아래 세 가지 분류에 속해 있다. 범주, 용도, 수신인이 있다. 이 불만족 쿠키에서의 속성옵션 설정이 없거나 opt-out이 있는 것은 사용자의 허가 없이 일방적으로 개인정보에 대하여 타 사이트 및 사이트의 용도에 맞게 이용 될 수 있다는 것을 뜻한다.
아래는 불만족 쿠키 태그가 될 수 있는 대상이며, 실제 이 태그와 함께 opt-out의 태그 옵션 속성이 포함이 되어 있으면, 이는 사용자 동의 없이 이 대상 압축토큰에 해당하는 정보들을 외부와 공유할 수 있다는 것에 암묵적으로 동의한다는 말이다. 이 쿠키를 차단하려면 IE 6.0 설정에서 opt-out 을 거부하는 단계를 설정하면 된다. 이 opt-out 태그를 Block 하려면 아래 레벨 설정 중 [보통-높음] 부터 적용이 된다는 것을 알 것이다.
모든 사이트별로 이에 대한 개인정보보호 정책은 명시가 되어 있으며, 이와 동등하게 매칭이 되는 압축 토큰에 대해서 알고 있다면, 적어도 이 사이트에서 개인적인 정보를 가지고 어떻게 활용하고 있는지 알 수 있으며, 자신이 이러한 개인적인 식별 가능한 정보에 대하여 동의 할 수 없다면 IE 6.0 에서 적절한 단계를 설정함으로써 주로 [높음] 및 [보통-높음]을 선택하면 될 것이다.
하지만, 우리가 처음 웹사이트에 가입 할 때, 개인정보보호 수집에 관한 이용에 대하여 보지도 않고 체크 할 것이므로, 이 IE 6.0 설정과는 무관하게 개인 정보보호 사용을 허락 할 수 도 있다.
이와 같은 표현(Compact token)이 압축 정책들이며, 웹서버에서 코딩을 할 때 모든 압축토큰을 지원하게 설정을 하였더라도 사용자 입장(클라이언트)의 IE 6.0 에서는 이 모든 부분(압축토큰)을 모두 다 지원하지는 않는다.
HTTP 헤더에 압축정책은 이렇게 표현이 된다.
P3P: CP="CAO PSA CONi OTR OUR DEM ONL"
개인정보보호 정책이 있는 웹사이트에는 XML로 포맷된 개인정보보호에 대한 부분을 명시하였다. 그러한 부분을 보려면 차단정책을 한 후에 차단되었던 내용에 대하여 요약 정보를 보면 된다. 개인정보보호가 잘 명시되어 있는 사이트에서는 일단 높음으로 설정을 해도 충분히 세션을 유지하고 개인 정보 보호를 위하여 잘 설계된 사이트로 충분히 커버가 되지만, 아직 많은 사이트들은 개인정보보호를 위하여 설계를 변경하고 있지는 않는 것 같다. 이 말은 P3P 정책을 세울 때 대부분 압축토큰을 ALL 또는 불만족 쿠키를 그대로 허용하겠다고 설정을 하기 때문이다. 그렇기에, 무작위적인 압축 토큰 값들로 인하여 내 개인 정보를 보호하고자 한다면 모든 쿠키를 일일이 검증하여 허용 및 차단을 하면 될 것이다. 특히 제3사 쿠키로 들어오는 쿠키에 대하여는 대부분 확인을 통하여 허용할지 거부할지 판단하는 것 좋을 것 같다.
IE 6.0 의 내용보다 조금 자세하게 들여다 보면 아래와 같다.
압축정책이란 것을 서버에서 보내준다면 클라이언트에서는 아래의 여섯 가지의 설정 중 하나 만을 택일해야 하는 것이다. 이는 IE 6.0 에서 아주 세밀하게 정책을 줄 수 없어 이렇게 만들어 진 것이지만, 그래도 상당히 많은 부분 고려한 사항이며 자동적으로 쿠키를 제어를 해 주는 기능임은 틀림없다. 아래의 [표-3]을 보면서 자신이 구체적으로 어떠한 쿠키를 받아 들이며 어떠한 사이트를 신뢰하고 정책을 세운다면 개인적으로 정보보호를 본인 스스로 참여하고 있는 것이다.
개인적으로 개인정보보호를 위하여 신뢰되는 사이트를 구분하여 개인적으로 정책을 세워보도록 하자.
특정 웹사이트에 대하여 정책을 설정하는 것이 번거롭고 짜증이 난다면 최소한 아래와 같은 생각을 가지고 간단히 인터넷옵션의 개인정보보호 설정을 선택하여 적용하여 보자. 설정은 간단하다. IE 6.0 중에서 보안설정을 선택하고 고급설정을 통하여 일일이 체크하던지, 아예 쿠키를 IE 6.0 을 띄울 때 마다 삭제하고 다시 생성하게 만든 다던지 그것은 본인이 선택 할 일이다.
① 신뢰되는 사이트는 제1사 제3사 및 세션, 영구적인 쿠키를 무조건 모두 허용할 것인가?
② 어떠한 이유 없이 무조건 제3사 쿠키는 차단 할 것인가?
아니면 특별한 이유가 있어서 제3사 쿠키를 차단할 것인가?
③ 제1사에서 주는 쿠키라고 하더라도 사용자의 명시적 또는 암묵적 동의 없이 다른 곳에 이용을
하던지 하는 불만족 쿠키들을 모두 차단할 것인지, 압축토큰 속성 중 하나인 opt-out 이 있는
압축 토큰 쿠키를 차단할 것인가?
④ 모든 쿠키 값을 확인하여 일일이 허용할 것인지, 또는 차단 할 것인가?
⑤ 압축정책이 없는 사이트는 기본적으로 모두 차단할 것인가?
⑥ 제1사 쿠키는 허용하고 제3사 쿠키는 확인을 통하여 받을 것인지? 아니면 차단할 것인가?
⑦ 모든 쿠키(제1사, 제3사 영구 쿠키, 세션 쿠키)는 항상 확인을 통하여 받을 것인가?
이러한 질문을 토대로 각자 개인이 자주 가는 웹사이트를 방문할 때 쿠키들을 다 삭제한 후 적용해 보도록 해 보자. 사이트별로 쿠키에 대한 설정은 6단계 레벨의 설정보다 먼저 준하므로, 사이트별 쿠키 설정은 아주 신뢰된 사이트 및 신뢰되지 못한 사이트를 구분하여 허용, 거부를 판단하여 설정하자.
아래의 정확히 나온 인터넷 IE 6.0 개인정보보호 설정 탭에서의 내게 맞는 개인정보보호설정을 통하여 조금 더 나은 정책을 설정을 해 보자. 영구적인 하드디스크 저장 파일인 쿠키라 하더라도 Opt-out 압축 태그 옵션 속성이 붙어 있으면, 6단계 레벨 설정한 것 중에서 차단되는 레벨을 볼 수 있을 것이다.
Block all Cookies (모든 쿠키 차단)
This privacy setting is defined by the following:
Deny all cookies.
Do not send any cookies.
Cookies already present are not deleted when this option is selected.
This setting overrules any per-site cookie settings defined by the user.
High (높음)
Note : The High setting uses a more stringent definition of unsatisfactory compact policies. First- and third-party cookies with compact policies that use the "opt-out" attribute with any of the purposes or recipients listed in the table of unsatisfactory tags are denied.
Medium High (보통 높음)
Note : The Medium High setting uses a more stringent definition of unsatisfactory compact policies. Third-party cookies with policies that use the "opt-out" attribute with any of the purposes or recipients listed in the table of unsatisfactory tags are denied.
Low (낮음)
Accept all Cookies (모든 쿠키 허용)
This privacy setting is defined by the following:
Accept all cookies regardless of the presence of a compact policy.
Send all cookies.
This setting overrides any per-site cookie settings defined by the user.
[표3] IE 6.0 에서의 자세한 설정 내용
3. 결론
전체적으로 IE 6.0 에서 개인정보보호 정책의 간단한 정리는 아래의 그림을 보면서 글을 마무리 하고자 한다.
[그림6] 개인정보보호 정책 수립과 적용
이번 시큐리티 팁에서는 쉽게 간과하고 지나 갈 수 있는 인터넷 옵션 설정 중 개인정보보호 설정에 대하여 개인 사용자가 이해 해야 하고, 간단하게 설정 할 수 있는 부분에 대하여 알아보고자 한다.
Windows XP(SP2) IE 6.0 기준 / IE 6.0 (익스플로러 6.0)
1. 서론
쿠키는 클라이언트에서 300개 이상의 쿠키를 저장 할 수 없으며, 도메인당 20개를 초과 할 수 없고, 4byte 의 크기를 넘을 수 없는 텍스트 파일이다. 또한 사용자 하드 디스크에 저장이 되는 영구적인 텍스트 파일, 세션을 유지시켜 주며 IE6.0 이 띄워져 있을 때 메모리상에 기억되어 있는 세션 쿠키로 구분을 할 수 있다.
쿠키가 세션을 보장하는 이점은 서버 측면에서 많은 세션을 유지시키기 위한 과다한 오버헤드가 발생하지 않는다는 장점이 있는 반면, 쿠키를 보낼 때와 그에 대한 값을 받을 때의 평문(Plain Text) 전송에 대한 스니핑, 또한 하드 디스크에 저장이 되어 있는 영구적인 쿠키에 대한 주요한 개인적인 정보 노출에 대한 부분이 단점일 수 있다.
쿠키에 대한 잘못된 개념(Misconception)은 아래와 같다.
1] 쿠키는 웜 및 바이러스이다. (쿠키는 하드디스크의 데이터를 삭제할 수 있다.)
2] 쿠키는 스파이웨어의 특징을 지녔다.
(쿠키는 일반 유저의 컴퓨터의 저장된 정보를 읽을 수 있다.)
3] 쿠키는 팝업 창을 띄운다.
4] 쿠키는 Spaming에 이용 되어진다.
5] 쿠키는 단지 광고 용도로만 사용 되어진다.
쿠키는 데이터(Data)이지, 코드(Code)가 아니다. 쿠키는 사용자의 컴퓨터로부터 정보를 삭제하거나 읽을 수 없다. 또한 각 쿠키 텍스트 파일은 자신의 도메인만 읽을 수 있다. 다른 타 도메인이 설정한 쿠키는 읽을 수 없다.
쿠키의 보안상 중요한 것은 이러한 텍스트 파일인 쿠키안의 중요 정보들이 노출이 되거나, 이러한 쿠키들을 주고 받을 때의 중간에서 가로채어 악용할 때 문제가 발생하는 것이다. 또한 중요 개인 정보 노출에 관련되어 웹서버에서의 개인 정보 수집에 대하여 어느 정도의 수준을 설정 하였느냐에 따라 그 정보를 주는 개인 사용자 입장에서 얼마만큼의 그 웹사이트에 주느냐가 중요한 이슈가 되었다.
쿠키는 HTTP 세션 관리시 사용되는 텍스트 파일이다. 또한 사용자(유저) 통계 자료를 만들 때 사용하는 텍스트 파일이라고 볼 수 있다. 일반적으로 노트패드 및 워드패드로 열람 할 수 있으며, 특정 웹사이트에 대한 사용자 로긴 정보인 패스워드 및 자세한 사항들도 기록되어 있을 수 있다.
HTTP는 Stateless 프로토콜이며 전자 상거래 및 금융 지불 사이트에서 사용자에 대한 지속적인 세션을 보장하지는 못한다. 지속적으로 세션에 대하여 보장하기 위하여는 쿠키가 필요하며 그렇지 않을 경우 서버측에서의 세션을 계속해서 생성시키는 수 밖에 없다. 이는 서버측에서의 과다한 세션을 지속적으로 발생하여야 하기 때문에 문제가 될 소지가 있으므로 그 대안으로 쿠키가 좋은 방법일 수 있다. 가끔 이러한 쿠키를 사용하지 않은 웹사이트의 전자 상거래 사이트를 보면(거의 없겠지만), 내가 정상적으로 로긴 후에 장바구니에 물건을 구입한 후 새로운 창이나 페이지 뒤로 간 후 다시 앞으로 옮겨질 때 그 세션을 잃어 장바구니에 물건이 없는 경우가 있다.
그리고 요즘 IE 6.0 의 클라이언트 개인정보보호 설정에 의해 쿠키가 차단되는 경우가 있어 문제가 발생 할 수 있다. 그래서 웹서버를 관리하는 관리자의 쿠키 설정값(압축 정책)을 잘못 설정함으로써 또는 설정값이 없을 때 발생하는 문제일 수 있다. IE 6.0 으로 업그레이드 되면서 기존 웹서버 서비스를 하는 업체들도 이에 맞게 개인정보보호 정책을 가지고 그에 맞는 쿠키값(P3P정책)들을 주어야 클라이언트는 웹서버에서 제공해 주는 서비스를 제대로 받을 수 있다.
보안상 커다란 문제의 소지는 하드 디스크에 저장하는 암호화 되지 않은 네트워크 트래픽을 통과하는 텍스트 파일이다. 이러한 암호화 되지 않은 쿠키들이 네트워크 트래픽을 따라 흐르면 중간의 악의적인 사용자는 이러한 쿠키 값들인 세션을 가로채어 개인 정보에 대하여 볼 수 있으며, 이를 이용한 악의적인 시도들을 행할 수 있다. XSS 및 Cookie Theft , Cookie Poisoning 으로도 충분히 이러한 쿠키값들을 가로채어 서버에서 보내는 Set-Cookie 값들이 클라이언트로 전송할 때 가로채어 사용자가 사용하려고 했던 그 값을 다시 서버에게 보내어 악의적인 사용자가 이용(exploit)을 할 수 있다.
[그림1] 쿠키 응답 방법
결론적으로 이러한 쿠키에 대한 악의적인 시도에 대한 Workaround 는 스니핑을 막기 위해 보안 통신(HTTPS)을 하는 것이며, XSS을 막기 위하여 HTTP를 사용시에는 HTML 코딩시 'httponly' 값을 넣어주어 쿠키의 값을 보지 못하도록 설정을 해야 하며, 하드 디스크에 저장된 쿠키 텍스트 파일안의 정보들 중 중요 정보들을 저장하지 않도록 설정이 되어야 할 것이다. 또한 Timestamp 값을 두어 그 세션 하나만으로 다른 세션이 접속 할 때 불가하게 만들거나 저장된 쿠키 및 임시저장 세션 쿠키에 대한 만료시간을 두어 시간이 지난 쿠키로 다시 접속을 못하게 하는 것이다.
또한 하드 디스크 안의 저장된 텍스트 파일인 쿠키는 하나의 컴퓨터에 여러 사람이 사용하는 개인 정보로써 충분히 다른 사용자가 이 텍스트 파일을 열람하여 중요 개인 정보들을 읽는 것이다. 암호화시킨 쿠키들도 볼 수 있는 툴 도 있다. 이에 대한 방지는 주기적으로 쿠키 값들을 모조리 삭제하거나 많이 사용하는 PC방 같은 곳에서는 서버에서 요청하는 쿠키들에 대하여 일일이 확인하여 허용하던지, 거부하던지 해야 할 것이다. 물론 쿠키들을 삭제할 때에 정상적인 서비스가 불가능 할 때도 있으므로, 잘 판단하여 삭제 또는 거부해야 한다.
2. 본론
서두가 길었지만 이번 시큐리티 팁에서는 이러한 쿠키를 스니핑 하여 악의적인 침입시도의 방법을 말하기 보다는 현재 내가 사용하는 웹 브라우저(IE6.0)를 사용하는 개인 사용자에 대해서 웹서버에서 전송하는 쿠키에 대하여 사용자인 내 자신이 웹 브라우저가 설정할 수 있는 쿠키에 대한 차단 정책과 허용 정책인 개인정보 보호에 대한 설정을 어떻게 하면 좋은지 알아보고자 한다.
이러한 개인 정보 보호를 위하여 P3P에 대한 정책을 W3C 에서 현재 계속 연구 개발 중 이며, 완벽하게 이루어진 것은 아닌 것 같다. 또한 우리나라도 한국형 P3P를 도입하여 검토 중 인 것으로 알고 있다.
현재 인터넷 IE6.0 의 인터넷 옵션에서 개인정보 보호에 대한 최소한의 개인적인 설정을 할 수 있다. 총 6가지의 레벨을 선택을 할 수 있다.
[모든 쿠키 허용]-[낮음]-[보통]-[보통 높음]-[높음]-[모든 쿠키 차단]
이 6 가지 레벨에 대해서 많은 사람들은 보통 개인정보보호 기능을 높이면 틀림없이 개인정보보호가 된다고 생각하고 그렇게 설정하는 사람도 있을 것이고, 대부분은 기본 설정값 그대로인 [보통]으로 되어 있을 것이다. 하지만 이 설정에 숨겨진 여려 가지 의미들을 이해하면 사용자 측면에서 그나마 많이 배려한 설정이라고 보여진다.
이는 사용자들이 전혀 모르고 있거나, 알아도 관심이 없는 분야임은 틀림없다.
하지만 그 내용을 들여다 보면, 내 자신의 E-Mail 주소나 핸드폰 번호 그리고 타 사이트에 대한 중요 정보 열람에 대하여 암시적으로 동의한다는 압축 정책이 숨겨져 있다. 이에 대하여 개인은 개인정보보호 정책 및 쿠키에 대한 정책을 반드시 읽어야 하며 거기에 맞게 쿠키를 받는 자신의 입장인 IE6.0 에서 설정을 해 주는 것이 최소 개인정보보호를 위하여 개인이 노력할 수 있는 부분 일 것이다.
[그림2] IE6.0 에서의 개인정보보호 설정
IE6.0 의 기본적인 개인정보 보호 정책의 설정은 제1사 쿠키에 대하여는 허용하며 제3사 쿠키에 대하여는 차단하는 것이 인터넷 IE 6.0 에 대한 기본 개인정보보호 쿠키에 대한 기본 요약 설정 값 이다.
이러한 말들이 어떠한 의미를 지녔는지 아래의 내용을 보자. 다음은 인터넷 옵션에서의 개인정보보호 설정시 [보통] 을 설정했을 때의 내용이다.
- 압축된 개인정보 보호 정책이 없는 제3사 쿠키를 차단합니다. - 사용자의 암시적인 동의가 없이 개인적으로 확인 가능한 정보를 사용하는 제3사 쿠키를 차단합니다. - 암시적인 동의가 없이 개인적으로 확인 가능한 정보를 사용하는 제1사 쿠키를 제한합니다. |
아래에는 조금 더 상세하고 정확하게 위의 내용을 표현한 것이다.
보통(기본수준) : 압축 개인 정보 정책이 없거나 개인 식별 정보를 묵시적인 동의 없이 사용할 것을 규정하는 압축 개인 정보 정책을 가진 제3사 쿠키를 차단합니다. 개인 식별 정보를 묵시적인 동의 없이 사용할 것을 규정하는 압축 개인 정보 정책을 가진 제1사 쿠키는 다운그레이드(Internet Expiorer를 닫을 때 삭제)됩니다. 압축 개인 정보 정책을 갖지 않는 제1사 쿠키는 제1사 컨텍스트로만 읽을 수 있도록 제한됩니다. 인터넷 익스플로러 6을 설치하기 전에 컴퓨터에 이미 있던 쿠키도 제한됩니다. 사이트별 개인 정보는 이 설정을 무시합니다. |
여기서 알아야 할 내용을 정리하여 보면 아래와 같다.
이 내용만 이해한다면 IE 6.0 에서의 이러한 설정 값 들이 주는 의미나 개인 정보보호를 위한 최소한의 장치를 이해를 할 수 있으며, 6개의 설정 값들을 통하여 사이트별로 적절히 개인 정보보호에 대한 설정을 사용자가 이해하며 선택할 수 있을 것이다.
- 압축된 개인정보 보호 정책
- 제1사 쿠키
- 제3사 쿠키
- 사용자의 암시적인 동의 없이 사용할 것을 규정하는 압축정책 (묵시적인 동의 없이)
- 사용자의 명백한 동의 없이
- 개인적으로 확인 가능한 정보 (개인 식별이 가능한 정보)
- 차단, 제한
아래 특정 사이트의 쿠키를 받을 때의 쿠키의 특징을 보자.이 그림이 나오기 위해선 개인정보 탭 의 고급을 누른 후 제1사,제3사 쿠키에 대하여 확인에 대하여 체크가 되어져 있어야 한다.
[그림3] 특정 사이트의 압축정책이 없는 제1사 쿠키 허용 여부
간단히 말하자면 이 사이트는 압축정책이 없는 제1사 쿠키에 대한 허용할 것이냐 차단할 것이냐 선택하는 화면이다. 압축 정책 란이 공란으로 압축정책 "CP= " 관련 정책이 없어서이다.
위 특정 사이트에서의 IE6.0 에서 제1사 및 제3사 쿠키 모두 확인을 눌렀다면, 사이트 접속 때마다 요청하는 쿠키들이 어떠한 것인지 확인을 할 수 있다. 만약 이러한 쿠키들을 도저히 믿지 못하겠다면, 무조건 확인을 통하여 일일이 체크하여 어떠한 쿠키가 들어오는지에 대하여 쿠키허용 또는 쿠키차단을 클릭하면 된다. 하지만 그것은 정말 시간을 허비하는 일일 것이다. 여기서 보면 압축 정책이 보이지 않으며, 이에 대한 도메인은 ~~~.co.kr 이며 경로 또한 지정이 된 "압축된 개인정보 보호 정책이 없으며 타사(제3사 쿠키)의 쿠키가 아닌 제1사 쿠키"임을 알 수 있다. 타사라고 쓰여져 있는 것은 제3사 쿠키를 뜻하며 친절하게도 세션이냐는 부분에도 "아니오" 라고 나와 있으므로 잠시 생성되어 메모리에 상주하는 쿠키가 아닌, 영구적인 하드 디스크에 저장하는 쿠키임을 알 수 있다. 하지만 IE 6.0 에서 [보통]으로 설정했을 때 이 쿠키가 행동하는 결과는 IE 6.0을 닫을 때 이 쿠키는 삭제가 된다. 이유는 제1사 쿠키이지만 압축정책이 없는 쿠키이므로 IE 6.0 에서의 [보통] 설정을 기준으로 본다면 이 쿠키는 다운그레이드(IE 6.0 닫을 때 삭제) 되어진다.
그렇다면 제1사 및 제 3사 쿠키는 무엇일까? 아래 내용을 보자.
제1사 쿠키는 현재 자신이 보고 있는 웹페이지 도메인에서의 쿠키를 말하는 것이고, 제3사 쿠키는 현재 자신이 보고 있는 웹페이지 내에서의 다른 도메인의 쿠키를 말하는 것이다. 이는 배너 광고가 개인 사용자의 행동 패턴을 분석하기 위해 쿠키를 이용할 때 많이 사용이 된다.
(참고) 쿠키는 프로토콜 중 HTTP , HTTPS 만을 지원한다. IE 6.0 에서 사용 할 수 있는 FTP 에는 해당 쿠키가 적용이 되지를 않는다.
제1사 쿠키는 현재 내가 보고 있는 웹페이지 내에서의 쿠키를 말한다.
http://www.coconut.co.kr 으로 예를 들자면, 현재 웹페이지 중 이 웹페이지의 도메인 coconut.co.kr 은 1사 쿠키로 적용이 된다는 뜻이다. 하지만 http://www.coconut1.co.kr 은 전혀 다른 도메인 즉 제3사 쿠키가 적용이 된다는 뜻이다. http://www.coconut.co.kr 의 웹페이지에 위와 같은 다른 도메인이 존재하는 곳에 배너 광고가 걸린 링크 URL이 존재하여 쿠키를 받아가지고 올 때는 제3사 쿠키로 간주를 하는 것이다.
즉, 현재 내가 보고 있는 웹페이지가 coconut.co.kr 이라면 그 이외의 다른 도메인에서 가져오는 쿠키의 경우 제3사 쿠키라고 한다.
아래의 예를 보자. 실제 웹페이지는 http:.//www.coconut.co.kr 이고 다른 사이트들은 이 실제 웹페이지의 배너광고 형식의 링크 및 모두 쿠키를 가지고 있다고 가정을 하자.
1] http://www.coconut.co.kr ( Real Server )
2] http://www1.coconut.co.kr ( Load Sharing Server )
3] http://www.coconut.com (피싱 사이트 ^^)
4] http://www.coconut.or.kr (배너광고가 있는 사이트)
5] https://www.coconut.co.kr ( Real Server 인증 사이트)
사용자는 이러한 사이트에 들어가려고 하고 지금 현재 웹페이지는 http://www.coconut.co.kr 에 있다고 하자. 각 사이트마다 쿠키가 있다고 가정하고 IE 6.0 에서 설정을 [보통]으로 해 놓는다면, 어떤 사이트에 있는 쿠키가 차단이 될까?
1], 2]는 같은 도메인으로 취급이 된다. http://ns.coconut.co.kr 또는 http://ns1.coconut.co.kr 같은 경우에도 제1사 쿠키로 간주를 하기 때문에 쿠키에 대하여 허용을 한다.
IE 6.0 에는 개인정보보호에 대한 보고서를 작성하여 보고해 준다. 어느 웹사이트에서 차단이 되었는지 또한 개인정보보호 정책이 명시가 되었는지 보고하여 준다. 더블클릭으로 내용을 확인하면 된다.
[그림4] 차단된 쿠키 내역 보고
하지만 3], 4], 5]에 있는 사이트 모두 제3사 쿠키로 간주 모든 쿠키가 차단이 된다.
그 이유는 다른 도메인을 사용하고 있으며, 또한 도메인이 같다 하더라도 HTTPS로의 전환되는 프로토콜을 사용한다면 이는 제3사 쿠키로 간주를 한다. 그래서 많은 사이트들이 HTTP 로 처음에는 서비스를 준비하다가도 Login시나 패스워드 입력시에는 아주 잠깐이지만 HTTPS 로 전환시키는 경우가 있는데 이에 대하여 만약 익스플로러에서(IE6.0) 제3사 쿠키를 차단시켜 놓은 설정 상태라면, 로긴이 실패할 경우가 있다. 이럴 때에는 접속하고자 하는 도메인 명을 항상 허용함으로 문제를 해결 할 수 있을 것이다. 이에도 접속이 불가능하다면 이에 관련된 하드 디스크에 저장된 Permanent Cookie 를 삭제하고 IE 6.0을 Close 시키고 다시 접속해 보면 될 것이다.
그런데 다른 측면을 보면, 이러한 1사 쿠키가 적용되는 웹페이지에 프레임셋으로 나뉘어 각기 다른 도메인을 가진 웹페이지가 존재하며, 이 각기 나뉜 프레임에서 다른 도메인이 존재한다면 이는 제 3사 쿠키로 적용이 된다. 제로보드와 같은 프레임셋을 나뉜 로긴 창이 존재하거나 많은 웹사이트에서 이와 같은 형태의 프레임셋을 많이 지원하는 것을 감안할 때 제3사 쿠키로 판별하여 정상적인 로긴이 어려울 때에는 반드시 기존 쿠키를 삭제하고 익스플로러를 닫고 그 사이트에 대해서는 항상 쿠키를 허용하던지 또는 세션에 대한 항상 허용을 선택해야 한다. 이렇게도 정상적인 접속이 어렵다면, 이는 해당 웹서버 및 웹프로그래밍 코딩시에 세션을 유지시킬 수 있는 쿠키값을 코딩해야만 한다. 또한 그렇게 해서도 로긴이 되지 않으면 SHIFT 키를 누른 상태에서 새로운 창을 띄운 후 로긴을 하면 접속을 성공할 것이다. 이는 제1사 쿠키로 간주 같은 값임을 처리 하기 때문인 이유도 있다.
그래서 이러한 제3사 쿠키 적용시 나도 모르게 쿠키가 저장이 되어 나의 개인정보를 어떻게 해서든 노출 시키지 않겠다고 한다면 수동적으로 제3사 쿠키를 차단하는 옵션을 주면 된다. 그리고 알려지지 않은 도메인에서의 쿠키 P3P 설정값을 서버에서 보내 올 때 내 자신의 클라이언트 IE 6.0 에서도 그 방법을 고려해야 할 것이다. 어떤 쿠키들을 차단 할 것이며, 어떤 쿠키들을 그 도메인에 한해서만 노출 시킬 것인가에 대한 판단은 각 개인 사용자가 적절히 선택을 하여야 할 것이다.
압축정책(Compact Policy)을 알아보면 이는 클라이언트에 응답하는 웹서버의 HTTP 헤더에 포함이 되어 있다. 압축된 개인정보 보호 정책이 없는 제3사 쿠키는 클라이언트가 웹서버에서 쿠키를 요청할 때에 웹서버는 그에 대한 응답으로 쿠키를 보내오는데 그 HTTP 헤더안에 P3P 정책이 없는 경우를 말한다. 이는 (예)P3P: CP="CAO PSA CONi OTR OUR DEM ONL" 과 같은 정책이 없는 사이트를 말하는 것이다. 여기서 CAO PSA CONi OTR OUR DEM ONL 는 압축토큰이라고 한다. 이 P3P 정책이 없이 클라이언트에 보내면 IE6.0에서는 제3사 쿠키이면 차단, 제1사 쿠키이면 IE 6.0을 닫을 때 삭제가 된다는 말이다. 아래의 그림을 보자.
[그림5] 쿠키에 대한 확인 설정시 추가 정보
이 사이트는 압축정책이 있으며, 세션 쿠키이며, 제1사 쿠키이다. 즉 IE 6.0 에서 [보통]으로 설정한 개인 정보를 설정을 하였다면, 압축정책이 있는 제1사 쿠키이므로 IE 6.0 을 닫더라도 하드 디스크에 저장이 될 것이지만, 세션 쿠키이므로 하드 디스크에 저장은 되지 않는다. 또한 ‘차단합니다. 제한합니다’라는 말이 있는데, 차단은 무엇이고 제한은 무엇일까?
[표1] IE6.0에서의 쿠키 처리에 대한 의미
위의 내용과 같다. 제한(Restricted)은 쿠키는 허용하지만 세션 쿠키로 다운그레이드 되어진다는 말이다. 다운그레이드라는 것은 쿠키가 IE6.0 이 띄워져 있을 때에는 쿠키에 대하여 허용을 하지만 IE6.0 을 닫으면 삭제한다는 말이다. "제1사 쿠키를 제한 합니다"란 말은 제1사 쿠키는 IE 6.0이 띄워져 있을 때는 허용하지만 IE 6.0을 닫을 때는 그 쿠키를 삭제한다는 말로 해석을 하면 된다.
그리고 암시적인 동의 및 개인적으로 확인 가능한 정보는 무엇일까? 개인적으로 확인 가능한 정보 또는 개인식별 정보라고도 하는데 이것은 개인적으로 확인이 가능한 성명과 비밀번호, 주민등록번호, 신용카드번호,PIN 번호 등을 말한다. 이를 압축토큰으로 표현한 것을 말한다.
즉, "암시적인 동의가 없이 개인적으로 확인 가능한 정보를 사용하는 제1사 쿠키를 제한합니다." 에 대한 의미는 압축태그로 표현한 것 중 사용자 동의가 없는 개인 식별 정보 압축 토큰이 쿠키에 설정이 되어 있을 때 [보통]으로 설정한 IE 6.0 에서는 IE 6.0 을 Close 할 때 이 쿠키를 삭제하겠다는 말이다. 개인식별 정보 태그와 그에 해당하는 압축토큰은 아래와 같다.
그리고 암시적으로 또는 묵시적으로 동의한다는 압축정책을 가진 쿠키란 것을 알기 위해서는 불만족 쿠키(Unsatisfactory Cookie)라는 개념이 있다. 압축 토큰의 속성 옵션인 Opt-(i)n 및 Opt-(o)ut 그리고 (a)lways 가 붙지 않는 개인식별 정보 관련 압축토큰들에 해당되는 압축 토큰을 말하며 이를 불만족 쿠키 또는 불충분 쿠키라고 한다. 즉, 개인식별 정보 태그에 속한 압축 토큰인 CONi, CONo, 와 같이 opt-in , opt-out 과 같은 압축 속성 태그가 없을 때에는 불만족 쿠키라고 한다. 이 불만족 쿠키는 아래 6단계 레벨 설정에서 보면 알겠지만, 불만족 쿠키는 높은 레벨에서는 Block 을 시킨다. 즉, 사용자 동의 없는 개인 식별 정보에 대하여 엄격히 규제하겠다라는 의미이다. 아래 표는 불만족 쿠키이며, 범주와는 상관없이 수신, 용도에 의한 압축토큰의 옵션 속성 중 opt-in ,opt-out 태그가 없으면 불만족 쿠키로 간주를 한다. opt-in 은 사용자의 동의(Consent)를 구하겠다는 것이고 opt-out 은 사용자의 동의를 구하지 않겠다라는 태그이다. 이 외의 태그는 Acceptable 쿠키라고 보면 된다.
[표2] 개인식별정보가 확인 가능한 압축 태그 및 압축 토큰
압축태그 중 압축태그 옵션 속성 opt-in 및 opt-out 또는 always 설정을 통하여 이 불만족 쿠키를 서버가 클라이언트로 보낼 때 클라이언트인 IE 6.0에서 어떤 행동을 취할 것이냐는 중요한 부분이다.
불만족 쿠키는 아래 세 가지 분류에 속해 있다. 범주, 용도, 수신인이 있다. 이 불만족 쿠키에서의 속성옵션 설정이 없거나 opt-out이 있는 것은 사용자의 허가 없이 일방적으로 개인정보에 대하여 타 사이트 및 사이트의 용도에 맞게 이용 될 수 있다는 것을 뜻한다.
아래는 불만족 쿠키 태그가 될 수 있는 대상이며, 실제 이 태그와 함께 opt-out의 태그 옵션 속성이 포함이 되어 있으면, 이는 사용자 동의 없이 이 대상 압축토큰에 해당하는 정보들을 외부와 공유할 수 있다는 것에 암묵적으로 동의한다는 말이다. 이 쿠키를 차단하려면 IE 6.0 설정에서 opt-out 을 거부하는 단계를 설정하면 된다. 이 opt-out 태그를 Block 하려면 아래 레벨 설정 중 [보통-높음] 부터 적용이 된다는 것을 알 것이다.
모든 사이트별로 이에 대한 개인정보보호 정책은 명시가 되어 있으며, 이와 동등하게 매칭이 되는 압축 토큰에 대해서 알고 있다면, 적어도 이 사이트에서 개인적인 정보를 가지고 어떻게 활용하고 있는지 알 수 있으며, 자신이 이러한 개인적인 식별 가능한 정보에 대하여 동의 할 수 없다면 IE 6.0 에서 적절한 단계를 설정함으로써 주로 [높음] 및 [보통-높음]을 선택하면 될 것이다.
하지만, 우리가 처음 웹사이트에 가입 할 때, 개인정보보호 수집에 관한 이용에 대하여 보지도 않고 체크 할 것이므로, 이 IE 6.0 설정과는 무관하게 개인 정보보호 사용을 허락 할 수 도 있다.
이와 같은 표현(Compact token)이 압축 정책들이며, 웹서버에서 코딩을 할 때 모든 압축토큰을 지원하게 설정을 하였더라도 사용자 입장(클라이언트)의 IE 6.0 에서는 이 모든 부분(압축토큰)을 모두 다 지원하지는 않는다.
HTTP 헤더에 압축정책은 이렇게 표현이 된다.
P3P: CP="CAO PSA CONi OTR OUR DEM ONL"
개인정보보호 정책이 있는 웹사이트에는 XML로 포맷된 개인정보보호에 대한 부분을 명시하였다. 그러한 부분을 보려면 차단정책을 한 후에 차단되었던 내용에 대하여 요약 정보를 보면 된다. 개인정보보호가 잘 명시되어 있는 사이트에서는 일단 높음으로 설정을 해도 충분히 세션을 유지하고 개인 정보 보호를 위하여 잘 설계된 사이트로 충분히 커버가 되지만, 아직 많은 사이트들은 개인정보보호를 위하여 설계를 변경하고 있지는 않는 것 같다. 이 말은 P3P 정책을 세울 때 대부분 압축토큰을 ALL 또는 불만족 쿠키를 그대로 허용하겠다고 설정을 하기 때문이다. 그렇기에, 무작위적인 압축 토큰 값들로 인하여 내 개인 정보를 보호하고자 한다면 모든 쿠키를 일일이 검증하여 허용 및 차단을 하면 될 것이다. 특히 제3사 쿠키로 들어오는 쿠키에 대하여는 대부분 확인을 통하여 허용할지 거부할지 판단하는 것 좋을 것 같다.
IE 6.0 의 내용보다 조금 자세하게 들여다 보면 아래와 같다.
압축정책이란 것을 서버에서 보내준다면 클라이언트에서는 아래의 여섯 가지의 설정 중 하나 만을 택일해야 하는 것이다. 이는 IE 6.0 에서 아주 세밀하게 정책을 줄 수 없어 이렇게 만들어 진 것이지만, 그래도 상당히 많은 부분 고려한 사항이며 자동적으로 쿠키를 제어를 해 주는 기능임은 틀림없다. 아래의 [표-3]을 보면서 자신이 구체적으로 어떠한 쿠키를 받아 들이며 어떠한 사이트를 신뢰하고 정책을 세운다면 개인적으로 정보보호를 본인 스스로 참여하고 있는 것이다.
개인적으로 개인정보보호를 위하여 신뢰되는 사이트를 구분하여 개인적으로 정책을 세워보도록 하자.
특정 웹사이트에 대하여 정책을 설정하는 것이 번거롭고 짜증이 난다면 최소한 아래와 같은 생각을 가지고 간단히 인터넷옵션의 개인정보보호 설정을 선택하여 적용하여 보자. 설정은 간단하다. IE 6.0 중에서 보안설정을 선택하고 고급설정을 통하여 일일이 체크하던지, 아예 쿠키를 IE 6.0 을 띄울 때 마다 삭제하고 다시 생성하게 만든 다던지 그것은 본인이 선택 할 일이다.
① 신뢰되는 사이트는 제1사 제3사 및 세션, 영구적인 쿠키를 무조건 모두 허용할 것인가?
② 어떠한 이유 없이 무조건 제3사 쿠키는 차단 할 것인가?
아니면 특별한 이유가 있어서 제3사 쿠키를 차단할 것인가?
③ 제1사에서 주는 쿠키라고 하더라도 사용자의 명시적 또는 암묵적 동의 없이 다른 곳에 이용을
하던지 하는 불만족 쿠키들을 모두 차단할 것인지, 압축토큰 속성 중 하나인 opt-out 이 있는
압축 토큰 쿠키를 차단할 것인가?
④ 모든 쿠키 값을 확인하여 일일이 허용할 것인지, 또는 차단 할 것인가?
⑤ 압축정책이 없는 사이트는 기본적으로 모두 차단할 것인가?
⑥ 제1사 쿠키는 허용하고 제3사 쿠키는 확인을 통하여 받을 것인지? 아니면 차단할 것인가?
⑦ 모든 쿠키(제1사, 제3사 영구 쿠키, 세션 쿠키)는 항상 확인을 통하여 받을 것인가?
이러한 질문을 토대로 각자 개인이 자주 가는 웹사이트를 방문할 때 쿠키들을 다 삭제한 후 적용해 보도록 해 보자. 사이트별로 쿠키에 대한 설정은 6단계 레벨의 설정보다 먼저 준하므로, 사이트별 쿠키 설정은 아주 신뢰된 사이트 및 신뢰되지 못한 사이트를 구분하여 허용, 거부를 판단하여 설정하자.
아래의 정확히 나온 인터넷 IE 6.0 개인정보보호 설정 탭에서의 내게 맞는 개인정보보호설정을 통하여 조금 더 나은 정책을 설정을 해 보자. 영구적인 하드디스크 저장 파일인 쿠키라 하더라도 Opt-out 압축 태그 옵션 속성이 붙어 있으면, 6단계 레벨 설정한 것 중에서 차단되는 레벨을 볼 수 있을 것이다.
Block all Cookies (모든 쿠키 차단)
This privacy setting is defined by the following:
Deny all cookies.
Do not send any cookies.
Cookies already present are not deleted when this option is selected.
This setting overrules any per-site cookie settings defined by the user.
High (높음)
Note : The High setting uses a more stringent definition of unsatisfactory compact policies. First- and third-party cookies with compact policies that use the "opt-out" attribute with any of the purposes or recipients listed in the table of unsatisfactory tags are denied.
Medium High (보통 높음)
Note : The Medium High setting uses a more stringent definition of unsatisfactory compact policies. Third-party cookies with policies that use the "opt-out" attribute with any of the purposes or recipients listed in the table of unsatisfactory tags are denied.
Low (낮음)
Accept all Cookies (모든 쿠키 허용)
This privacy setting is defined by the following:
Accept all cookies regardless of the presence of a compact policy.
Send all cookies.
This setting overrides any per-site cookie settings defined by the user.
[표3] IE 6.0 에서의 자세한 설정 내용
3. 결론
전체적으로 IE 6.0 에서 개인정보보호 정책의 간단한 정리는 아래의 그림을 보면서 글을 마무리 하고자 한다.
[그림6] 개인정보보호 정책 수립과 적용
Compact Policy(압축정책)은 HTTP 헤더에 포함시키고 XML 포맷 문서는 파일로 생성이 되어 있어 개인정보보호 정책을 개인 사용자가 읽을 수 있게 참조해야 하고, 사용자는 쿠키와 개인정보보호 정책과 동일해야 함을 확인하면 좋다. 웹사이트에 대한 개인정보보호 정책을 세웠다면 이를 구현시키고 그 정보를 알리고 명시 해야 한다. 개인정보침해는 사후구제 못지 않게 사전예방이 중요하다는 점에서 이에 복잡하기도 하지만 간단한 IE 6.0 개인정보보호 설정으로도 어느 정도 개인 정보 보호에 참여 할 수 있으며, 현재 내 자신의 PC에서 벌어지는 개인정보보호 관련된 일련의 행동들을 이해만 한다고 하더라도, 이는 벌써 개인정보보호에 대한 의식을 가지는 좋은 기회가 될 수 있을 것이다.
[참고 URL]
http://en.wikipedia.org/wiki/HTTP_cookie
http://en.wikipedia.org/wiki/P3P
http://msdn.microsoft.com/library/default.asp?url=/workshop/security/privacy/overview/privacyIE6.asp
http://www.w3.org/TR/P3P11/#Data_Schemas
[저자] 송진호 안랩코코넛 SM사업부, jhsong@coconut.co.kr
[출처] 안랩코코넛 시큐레터 (2006. 6월)