Sunday, July 1, 2018

은 기술이라면 충분한 수요를 가지고 많은 이들이 사용하게 될 것이라고 생각하지만 현실에서는 아무리 좋은 기술이라도 현실에서 익숙하게 쓰이는데 많은 시간이 걸린다는 것을 생각해야 한다. 그래서 막상 대학교나 연구소의 수많은 기술들은 당장 세상을 바꿀 것 같은 창의적인 생각으로 도전하고 있지만 막상 현실에서는 어떤 쓸모가 있는지 찾을 수 없을 때도 많다. 그래서 기술은 많은 이들이 충분히 사용하고 있을 때 그 쓸모가 오히려 만들어진다고 생각한다. 다시 말해 이 기술은 좋은 기술이야 설명하는 것이 중요한 것이 아니라 이미 많은 사용자들이 자신도 모르게 사용하고 있고 사용자들의 많은 사용 중에서 무엇이 불편한지 무엇이 좋은지 찾아가면서 기술은 대중화된다고 본다.


그런 시선에서 바라보면 인터넷은 참 신기한 기술이다. 인터넷을 이루는 수많은 기술들은 이미 많은 사용자들이 사용하고 있다. 그리고 무엇이 좋은지 무엇이 나쁜지 많은 이들이 잘 알고 있다고 생각하지만 많은 사용자들은 인터넷이 어떻게 작동하고 있고 우리가 생각하는 것보다 많은 작업들이 필요하다는 것을 인식하지 못하고 충분히 잘 사용하고 있는 이들이 많기 때문이다. 누구나 핸드폰만 들면 쉽게 인터넷을 하고 있다고 생각하지만 자신이 접속하고 있는 인터넷이 어떤 원리로 이루어지고 있는지 알지 못하고 사용한다면 많은 경우 인터넷에 의해서 악용되는 피해자가 되기 쉽다. 그래서 누구나 다 사용하는 것 같은 인터넷이고 수많은 사용자들이 많지만 인터넷을 가장 잘 이해하는 방법은 인터넷에서 제공되는 많은 서비스를 자신이 직접 활용할 수 있는 능력을 가지는 것이라고 본다. 활용할 수 있는 단계에 이르면 사용자는 결국 무엇이 불편하고 지금까지 잘못 써온 것은 무엇이고 발전시킬 수 있는 방법은 무엇인지를 알 수 있는 계기가 될 수 있기 때문이다.

하루에도 몇번씩 검색창을 열거나 자신이 원하는 홈페이지에 들어간다. 당연하게 웹브라우저를 열고 주소창에 자신이 원하는 인터넷 주소를 입력하고 들어간다. 홈페이지에서 자신이 필요한 정보를 얻거나 물건을 주문하고 이제는 인터넷 상에서의 많은 작업들은 사용자의 많은 일과와 연관이 되어 있음을 알고 있다. 만약 우리가 어떤 물건을 팔고 싶다면 가장 먼저 인터넷에서 자신의 물건을 어떻게 보여주고 어떻게 팔 수 있는지 알아보게 된다. 인터넷에 내가 원하는 정보를 올리기 위한 간판같은 역할을 하는 것이 바로 인터넷 주소이다. 그리고 인터넷 주소의 가장 기본이 되는 부분이 도메인 이름 domain name 이다.

인터넷의 주소록 DNS 서비스 ─ 기반기술에 대해서... ] 에서 이미 도메인 이름과 인간이 쉽게 사용할 수 있도록 만든 주소록인 DNS Domain Name Server 에 대해서 설명했으니 먼저 읽으면 좋을 것 같다. 본 글에서는 DNS 에 대한 일반적인 상식을 가지고 자신만의 도메인을 최소한의 비용으로 (거의 무료로) 할 수 있는 많은 활용법에 대한 내용이다. 인터넷에 자신만의 주소를 가지고 싶어서 도메인을 구매를 했지만 그 후 얼마 더 지불하면 이메일도 쓸 수 있다 뭐할 수 있다 추가비용이 계속 들어간다고 생각하는 사람들이 추가적인 비용없이도 많은 활용을 할 수 있다는 것을 보여주는 안내서가 되었으면 하는 바람에서 정리하게 되었다.


항상 그렇지만 소개되는 서비스의 기능 등은 변경이 되거나 서비스가 중단되는 경우도 존재한다. 그래서 어떤 특정 서비스를 소개할 때마다 고민은 많지만 중요한 것은 어떤 서비스를 사용하는 것이 아니라 활용할 수 있는 기본적인 정보를 알게 된다면 비슷한 다른 서비스에서도 동일하게 활용할 수 있음을 강조하고 싶다. 그래서 본 글을 쓰는 시점에서는 정상적으로 서비스를 하고 있지만 시간이 지나면 해당 서비스가 사라질 수 있지만 그 어딘가 비슷하거나 동일한 서비스를 해주는 곳은 있을 것이라 믿는다. 서비스 제공자 및 설정 내용만 알고 싶다면 (긴 글이 맘에 안드신다면...) 간단하게 정리해둔 [ 개인 위키 페이지 (영문) ] 을 참고하면 좋을 것이다.


A. 도메인 이름 구매

도메인 이름은 가장 기본이 되는 주소이다.  회사이름 기관이름에 따라서 원하는 도메인을 구매할 수 있다. 가격은 도메인 끝에 붙는 주소 .com, .net 등에 따라서 다르며 1년단위로 결재할 수 있다. 도메인을 구매할 수 있는 업체는 많은데 자신이 원하는 주소가 이미 다른 사람에 의해 사용중인지 확인해보고 구매하면 된다. 업체 중에는 자신의 업체에서 구매하도록 첫해의 경우 가격을 할인해서 제공하는 경우가 있다. 규모가 큰 업체들이 오히려 더 할인 비율이 높은 경우도 많기 때문에 몇군데 확인해보고 구매하는 것이 좋다.


마지막에 붙는 주소 중에는 일반적인 .com .net .org 와 같은 고전적인 주소들도 있지만 현재는 .cafe .systems .institute 와 같이 사업 혹은 직업의 성격을 보여주는 주소들도 있다. 물론 그럴수록 가격은 올라갈 가능성이 높다. 나라를 나타내는 도메인 주소도 있는데 한국은 .kr 미국은 .us 싱가포르는 .sg 등과 같이 국가를 나타내는 도메인 주소 ccTLD: A country code top-level domain 도 있다. 구매에 제한이 있는 경우도 있으니 확인해 볼 필요가 있다.

  • [ GoDaddy ] 개인적으로 사용하는 업체이고 무엇보다 서비스가 좋다. 
  • [ Google Domains ] 구글이라서 써보고 싶었는지 모른다. 나쁘지 않다. 
  • [ name.com ] 도메인 주소에서 모든 것을 말해준다. 

특정 도메인 주소의 경우에는 일부 업체에서만 등록 가능할 수 있다. 자신이 원하는 도메인 주소의 가격이 적당하다면 구매하면 된다. 참고로 미국 업체에서는 달러 (현지 통화) 로 구매하는 것이 좋다. 이렇게 해서 own.my 라는 도메인을 구매했다고 가정해보자. ( .my 은 말레이지아 국가의 최상위 도메인이다.)

이처럼 도메인 주소를 구매할 수 있도록 그리고 등록해주는 업체를 도메인 등록 대행사업자 domain registrar 라고 부른다. 등록 대행사업자은 구매한 도메인을 사용자가 사용할 수 있도록 해주는 역할과 함께 인터넷에 해당 주소가 제대로 된 주소임을 등록해주는 역할을 한다.

그렇다면 모든 도메인은 구매해야만 사용할 수 있는 것인가? 아니다. 가장 먼저 교육기관이나 비영리단체를 위한 도메인들도 있기 때문에 자격이 된다면 해당 도메인을 무료로 사용할 수 있다. 그런 경우가 아니라도 개인 사용자들을 위한 특별한 도메인 주소들이 있다.

[ Freenom ] A name for everyone


모든이에게 (도메인) 이름을 ... 표방하며 무료로 도메인을 제공해주는 곳이다. .tk .ml .ga .cf .gq 5개의 최상위 도메인으로 자신이 원하는 이름이 있다면 무료로 가질 수 있다. 무료이기 때문에 일정 기간 다시 확인해야 하기도 하고 무료이기 때문에 악용되어서 제한이 있을 수 있지만 도메인을 실험적으로 사용하거나 활용 연습을 하기 위한 목적으로 충분하다. 짧은 도메인 이름이나 자주 사용되는 단어에 대해서는 구매를 해야하기도 하지만 대부분 무료로 제공한다. 특히 .ml 은 markup language 혹은 mail 을 연상시키거나 .cf 는 cafe 를 연상시키기도 한다. (일단 무료인데...)

List of Internet top-level domains ] by Wikipedia


B. 도메인 네임 서버 (DNS) - 인터넷 주소록

도메인 등록 대행사업자 registrar 를 통해 도메인을 구매했으니 이제 본격적으로 활용한다. DNS 에 대한 기능적인 설명은 생략한다. 일반적으로 도메인 등록 대행사업자가 DNS 도 제공한다. 그러나 DNS 를 중심적으로 하는 서비스를 선택할 수 있다. 도메인 등록 대행사업자 설정 화면 어딘가에는 네임서버 (NAMESERVER) 를 등록 대행사업자의 것을 쓸 것인지 다른 네임서버를 사용할 것인지 정할 수 있다. 무료로 사용할 수 있는 서비스를 소개하면 다음과 같다.

  • [ Cloudflare™ ] 그냥 믿음직 한 서비스이다. 
  • Hurricane Electric ] 화면은 믿음이 덜 가지만 상당히 안정적인 서비스이다. 
  • Free DNS by Afraid.org ] 안정적이지만 속도는 다소 느리지만 다양한 기능들이 신선하다. 
  • DNSZi ] 국내 업체 / 한글 화면이고 무료 계정에도 다양한 기능이 제공된다. 
  • [ ClouDNS ] 다양한 기능들이 있다. 무료 계정은 3개의 도메인 등록이 가능하다. 

출처 KeyCDN | https://meson.in/2MDf6Zb

원하는 곳을 선택해서 들어가서 가입 후 자신이 구매한 도메인 이름을 등록하면 네임서버 목록을 알려준다. 예를 들어 Hurricane Electric 의 경우 ns1.he.net ns2.he.net ns3.he.net ns4.he.net 과 같이 4개의 네임서버를 제공한다. 해당 네임서버를 도메인 등록 대행사업자 서비스에 들어가서 설정에서 네임서버를 변경해주면 된다. 네임서버가 죽어버리면 내 도메인 주소를 인터넷에서 사용할 수 없게 된다. 예를 들어 blog.own.my 를 내 블로그에 연결을 했는데 네임서버가 모두 죽어버리면 해당 주소가 어떤 IP 를 가지는지 알 수 없기 때문이다. 그래서 안정성을 위해서 일반적으로 4~5개를 제공한다.


메인 름을 지고 수 있는 들 ...

도메인 이름을 구매하고 DNS (네임서버) 에 등록을 했다면 다양한 활용을 할 준비가 끝난 것이다. 자신만의 도메인 이름을 가지고 무엇을 할 수 있는지 알아보고 이를 통해 자신만의 다양한 활용법을 생각해보는 것이 좋을 것 같다.


1. 나만의 인터넷 주소

블로그 서비스는 사용자들이 접속할 수 있는 주소를 부여해준다. longlongblogname.blogspot.com 과 같이 어떤 블로그 서비스를 사용하고 있는지 도메인이 나타난다. 그러나 많은 경우 자신이 원하는 주소를 가지기 어렵거나 가능하다면 짧은 기억하기 쉬운 주소를 가지고 싶을 것이다. 이런 경우 자신이 구매한 도메인이 있다면 해당 도메인을 블로그 주소로 사용할 수 있다. 거의 모든 블로그 서비스가 이를 지원해주기 때문에 설정에 들어가면 자신의 도메인 주소를 사용할 수 있도록 도와준다. 자세한 설정 방법도 알려주기 때문에 그대로 따라하면 된다. 블로그 뿐만 아니라 모든 인터넷 상에서 IP (인터넷 주소) 를 도메인 주소로 연결할 수 있다. 예를 들어 longlongblogname.blogspot.com 주소가 너무 길고 기억하기도 어렵고 더 짧은 주소를 원해서 이를 june.own.my 으로 주소를 부여한다. 블로그 등을 포함하여 다양한 인터넷 자원에 접속하고 이용하기 위해서는 기억하기 쉬운 주소나 자신의 정체성을 가지는 이름으로 사용하는 것이 좋을 것이다. 자신의 것만이 아니라 자주 들어가는데 다른 인터넷 서비스 예를 들어 자신의 도메인을 구매한 곳이 godaddy.com 이라면 dns.meson.kr 과 같이 별명을 붙여서 쉽게 접속할 수도 있다. 이렇게 인터넷 자원이 어디에 있는지 어떤 인터넷 주소를 가지는지 알려주는 주소록이 DNS 이고 자신이 구매한 도메인의 DNS 를 자신이 관리할 수 있다고 생각하면 된다.

출처: teachable support | https://meson.in/2tSZSY4

인터넷 자원 resources 를 도메인으로 연결해주는 mapping 기본적인 부분이 A 레코드 (AAAA 레코드) 와 CNAME 이 있다.

A 레코드: home.own.my 을 주소창에 입력했을 때 어떤 인터넷 주소를 가진 기계로 접근해야 하는지 알려준다. home.own.my 을 192.230.64.122 으로 설정해 놓으면 주소창에 home.own.my 입력하면 컴퓨터는 열시히 해당 주소가 어떤 IP 를 가진 것인지 찾기 시작해서 own.my 를 관리하는 DNS 에서 home 이란 A 레코드는 192.230.64.122 을 가지고 있다고 알려주고 해당 IP 로 접근한다. 한 도메인에 대해서 여러 개의 IP 를 할당할 수도 있다. 
AAAA 레코드: A 레코드는 IPv4 주소 체계에 해당하고 만약 기계가 IPv6 주소를 가지고 있다면 AAAA 레코드 값을 입력할 수 있다. 
CNAME 레코드: 도메인의 별명이라고 생각하면 편하다. home.own.my 도 좋지만 casa.own.my 도 쓰고 싶다면 casa.own.my 에 A 레코드로 192.230.64.122 을 입력해도 되지만 casa.own.myhome.own.my 의 별명이라고 알려준다면 이후 home.own.my 의 IP 값이 변경되어도 casa.own.my 의 값을 변경할 필요가 없기 때문에 편리하다. 일반적으로 물리적인 기계는 동일하지만 다양한 도메인을 사용해야 하는 경우에 CNAME 레코드를 사용하면 편리하다. 뿐만 아니라 블로그에 자신의 도메인 주소를 설정한 경우에도 블로그 서비스에 접속하기 위해서는 서비스 업체의 주소에 접속해야 한다. 이 경우도 개별적으로 IP 를 부여하기도 어렵고 대형 서버를 이용하기 때문에 서버의 주소에 자신의 도메인을 별명으로 부여하게 된다. 예를 들어 longlongblogname.blogspot.com june.own.my 를 연결하기 위해서 자신의 DNS 에 june 의 CNAME 레코드 값을 ghs.google.com 으로 설정한다. 

DNS 의 거의 대부분은 A (AAAA) 레코드와 CNAME 레코드가 전부라고 해도 과언은 아니다.


2. 나만의 이메일 주소

이메일 주소도 myid@own.my 와 같이 사용자 이름과 도메인으로 구성되어 있다. 예를 들어 myownid@gmail.com 으로 메일을 보낸다는 말은 gmail.com 이란 곳으로 내 이메일을 보내는데 그 중 사용자 이름이 myownid 란 사람에게 보내달라는 뜻이다. 따라서 own.my 이란 이메일 주소를 사용하기 위해서는 own.my 이 어떤 메일 서버인지 알려주면 된다. 이처럼 이메일 서버가 어디에 있다는 것을 알려주는 DNS 레코드 값을 MX 레코드라 한다.

출처: iwantmyname blog | https://meson.in/2lLkgqj

예전에는 자신의 도메인 주소를 가지는 이메일을 사용하는 것은 번거롭기도 하고 보안 문제로 관리하기 어려울 때가 많았지만 이제는 주요 이메일 서비스에서 자신의 도메인을 이용할 수 있도록 해준다. 도메인을 구매하면 이메일 사용할 수 있도록 더 추가 비용이 발생한다는 이야기를 들을 때가 많다. 그러나 (2018년 6월 기준) 여전히 무료로 자신의 도메인을 이메일 주소로 사용할 수 있는 서비스들은 많이 있고 오히려 보안문제에 있어서도 유로로 서비스해주는 곳보다 더 안정적일 때가 많다. 개인은 자신의 도메인 주소를 가지는 이메일 가지는데 큰 관심이 없는 편이지만 기업이나 단체의 경우 도메인 주소를 가지는 이메일을 가져야 하기 때문에 가장 편한 도메인 구매 업체를 통해서 이메일 서비스를 유료로 사용하는 경우가 많다. 대부분이 당장 사용해야 하기 때문이기도 하고 관리 차원에서 문제가 발생하면 해결하기 쉽게 위탁하는 것이라 본다. 주요 고객이 기업이기 때문에 이런 서비스는 이메일 뿐만 아니라 일정 calendar, 자료 저장을 위한 클라우드 서비스 등을 사용할 수 있는 형태로 많이 존재한다.

  • [ Google G Suite ] 광고가 될 것 같아 조심스럽지만 단순히 이메일 주소만 사용할 수 있는 형태에서 기업형 솔루션의 형태를 제공하기 시작했던 곳이 구글이다. 개인적으로 서비스 초기부터 가입해서 무료로 사용하고 있지만 지금은 유료이다. 초기에 무료로 가입한 경우는 계속 무료로 유지한다. (몇가지 부가적인 서비스가 제한되지만 일반적으로 사용하기에는 충분하다.) 이메일, 일정, 구글 클라우드인 구글 드라이브 등의 서비스를 제공해주고 궁극적으로는 모든 기업/단체의 작업을 할 수 있는 형태로 제공한다. 
  • [ Zoho Mail ] 구글 G Suite 의 유료화에 가장 대안이 되는 ... 이라고 하지만 유료로 쓰기에 불편없는 무료 서비스이다. 무료의 경우 한 도메인 당 20명 사용자 등 제한이 있다. 자신이 쓰기 위한 master@own.my 란 이메일 주소를 만들고 친구를 위해 friend@own.my 으로 만들어 친구가 사용할 수 있도록 20명까지 지원하는 것이다. 메일 이외에도 다른 서비스 (일정 등) 를 사용할 수 있다. 
  • [ Yandex.Mail ] Yandex 는 러시아의 구글과 같은 기업이다. 본 글을 정리하면서 찾게 된 서비스인데 혼자 사용하기 좋고 사용자 인터페이스 뿐만 아니라 표준과 편리성에서도 높은 점수를 주고 싶다. 역시 무료이다. 
  • [ Daum Smartwork ] 외국 서비스 만 소개하는 것 같아서 국내 서비스를 추가하긴 하지만 개인적으로 적극 추천하고 싶지는 않다. 다만 다음 한메일에 익숙하거나 이미 잘 사용중이라면 설정하는 것도 좋을 것 같다. 

구글을 제외하고 나머지는 모두 무료이다. (2018년 6월 기준) 필요하다면 좀 더 다양한 기능 혹은 용량 등의 문제로 유료 서비스를 사용하는 것도 좋다. 그러나 기업 업무라고 해도 일반 이메일을 해도 크게 문제가 되지 않고 있었다면 무료 서비스를 사용해서 도메인 주소로 이메일을 받고 받은 이메일을 자신의 개인 이메일 주소로 전달하기 forwarding 해서 사용하는 것도 좋은 방법이다. 다음 스마트워크를 제외하고 나머지는 (해외 서비스는) 기본적인 전달하기 기능을 제공하고 있어서 메일이 오자마자 바로 원하는 개인 이메일 주소로 보내주는 기능을 제공해주고 있다. 전달하기 방법이 아니라도 별도 설정을 통해서 메일 가져오기를 사용할 수도 있다. 구글과 Zoho 의 경우 mail.own.my 과 같이 메일 서비스로 접근할 수 있도록 설정할 수도 있다.

MX 레코드: 자신의 도메인으로 이메일 주소를 사용하기 위해서 앞서 A 레코드 설정과 같이 자신의 DNS 관리에 들어가서 MX 레코드를 추가해야 한다. 각 서비스 별 MX 레코드 설정방법 / 설정값은 다음 과 같이 찾을 수 있다.


이런 것까지 필요없고 master@own.my , myid@own.my 이나 friend@own.my@own.my 주소로 보내는 모든 이메일을 자신의 이메일로 모두 전달받는 서비스도 있다.

  • [ ImprovMX ] - Free painless email forwarding for your domains

설명이 이야기 해주듯 너의 모든 도메인 메일을 고통없이 다 전달해준다. 다만 여러 사용자들이 개별적으로 사용할 수 없고 이메일을 변경하는 것과 같은 세부적인 설정을 할 수 없는 단점들이 있다.

결론적으로 자신의 도메인 주소를 가지는 이메일을 사용하고 싶을 때 필요한 것이 MX 레코드 값인 것을 기억하면 된다. 그러나 이메일을 생각하면 가장 먼저 떠오르는 것이 스팸 메일인 것처럼 다양한 스팸을 만들 수 있기 때문에 이메일 설정에서 보안관련 설정을 추가해주는 것이 좋다. 이메일에 관련된 보안기능에는 다양한 방법이 있는데 가장 일반적으로 사용되는 설정은 추가해주는 것이 좋다.

  • SPF 설정: 이메일 서버를 사용하지 않아도 보내는 사람 메일 주소에 myid@own.my 를 입력해서 보내는 경우가 있다. 이를 스푸핑 spoofing 이라고 한다. 이를 방지하기 위해서 DNS 서버에 외부 사람이 이메일 주소만 가져가서 보내는 것인지 아니면 진짜 서버에서 보낸 메일인지를 검증하기 위해서 DNS 에서 공개된 SPF 설정 값이 일치하면 메일에 SPF=PASS 를 메일 헤더 header 에 추가해서 해당 메일은 스푸핑 된 메일이 아니라는 것을 알려주는 기능이다. 
  • DKIM 설정: SPF 는 메일의 발송이 악용되었는지 검증하는 과정이라고 한다면 DKIM 는 발송에는 문제가 없다고 해도 메일의 내용이 전달 과정에서 변경되었는지 검증하는 과정이라고 생각하면 된다. DNS 에 공개키를 올려 설정하면 된다. 
  • DMARC 설정: 자신의 도메인 주소로 들어오는 이메일에 대해서 SPF / DKIM 검증 후 이를 어떻게 처리할 것인지에 대한 정책에 대한 설정이다. 일반적으로 설정해주지 않아도 되지만 메일 서비스가 지원해준다면 얼마나 엄격하게 혹은 느슨하게 메일을 받을 것인지를 정할 수 있다. 엄격하게 하면 꼭 받아야 하는 메일도 거부될 수 있기 때문에 적당히 설정하는 것을 권한다. 

출처: DZone | https://meson.in/2yZVV9V

이처럼 이메일은 여러가지 악용될 수 있는 보안 문제가 존재하기 때문에 이를 해결할 수 있도록 장치를 마련해 놓고 이를 검증하기 위한 내용으로 DNS 의 TXT 항목을 이용한다. TXT 항목은 말그대로 일반 텍스트 내용을 저장하는 레코드지만 도메인에 관련된 다양한 설정을 위해서 사용되는 항목이다.


3. 나만의 짧은 주소 만들기

웹사이트에서 할 수 있는 기능들이 많아진다는 것은 그만큼 주소창에 표시해야 할 주소 내용이 많아지게 되고 주소를 복사 / 붙여넣기 가 아니면 공유하기 힘들어지기 때문에 동일한 주소를 짧게 만들어 주는 서비스를 Shorten URL 서비스라고 한다. 가장 대표적인 서비스가 goo.gl 로 직관적으로 구글을 연상시킨다. 구글의 지도 혹은 구글의 검색 결과 등은 수많은 값을 가지고 있기 때문에 주소의 길이가 길어진다. 물론 복사해서 공유할 수 있지만 주소를 짧게 줄여줘서 공유하는 것이 보기도 좋고 어디서 공유했는지를 알려주기도 한다. 그래서 주요 기업 특히 언론사는 기업 이름을 연상할 수 있는 짧은 주소를 가지고 있는 경우가 많다. 예를 들어 Economist 는 자신의 기사를 공유할 때 economist.com 의 긴 주소가 아니라 econ.st 의 짧은 주소를 이용해서 공유한다. 이런 짧은 주소 서비스를 자신의 도메인을 이용할 수 있다.


자신의 도메인을 사용할 수 있는 서비스 중에 무료 계정도 제공하는 곳으로 두군데를 추천하면 다음과 같다.
  • [ bit.ly ]  — 무료 계정에 1개의 도메인 (custom domain) 을 사용할 수 있다.
  • Rebrandly ]  — 무료 계정은 5개의 도메인을 추가할 수 있다.

a. 주소 줄이기

앞서 설명한 기능처럼 긴 주소를 짧게 만들어주는 기능이 기본적인 기능이다. bit.ly 를 살펴보면 자신이 원하는 주소를 입력하면 bit.ly/dk3dle3 과 같은 주소를 준다. / 뒤에 붙은 문자열을 slash 뒤에 있다고 해서 slash-tag 라고 부르기도 하고 임의의 길이 (긴 주소) 의 자료를 일정 길이의 임의 문자열로 바꾸는 작업을 보통 해시 hash 라고 부르기 때문에 해시된 hashed 주소라고 부른다. bit.lyRebrandly 서비스에서 도메인 주소를 연결하면 own.my/dk3dle3 와 같은 주소를 만들 수 있다. 물론 link.own.my/dk3dle3 와 같은 형태로도 가능하다.

b. 기억하기 쉬운 주소 만들기

공유 등을 목적으로 임의의 문자열 형태의 주소를 만들어 사용할 수 있지만 해시된 주소 hashed link 를 자신이 원하는 주소로 바꿀 수 있다. 예를 들어 구글 드라이브에 공유한 주소를 만들기 위해서 own.ly/drive_public 과 같이 변경할 수 있다. 물론 한번 사용한 주소는 다른 것에서 사용할 수 없고 많은 경우 자신이 이미 이전에 사용한 주소는 다시 사용하기 어려운 경우도 있다. 그러나 바로 기억하기 쉽고 다른 이들에게 알려주기도 편하다. 역설적으로 기억하기 힘든 해시된 주소를 주로 사용하지만 주소를 바꿀 수 있게 되면 더 쉽게 기억할 수 있는 주소가 된다. 자신이 자주 가는 곳, 예를 들어 자막을 받는 곳을 own.my/subtitle 과 같이 설정해 놓으면 웹주소를 기억하지 않아도 된다.



c. 인증키를 포함하는 주소 만들기

클라우드 폴더를 공유하거나 어떤 서비스를 가입하기 위해 초대장을 보내줄 때 보면 주소 자체에 인증값이 들어가 있는 경우가 있다. 예를 들어 onedrive.live.com/?authkey=%21AO1rY168C1B78%2123094&cid=D3…168C1B78 와 같은 주소 안에는 공유하려는 대상뿐만 아니라 접근할 수 있는 인증키 authkey 등을 포함한 복잡한 형태의 주소를 가진다. 이를 짧은 주소로 만들면 인증키 등을 포함해서 짧은 주소만으로도 쉽게 다른 이들이 공유한 자료를 볼 수 있게 해준다. 위의 주소를 own.my/myspecialsharing 이라고 줄인다면 필요할 때마다 들어가게 할 수 있기도 하고 지속적으로 공유할 목적이라면 상대방이 기억하기 쉬운 주소가 된다.

d. 접속 통계 및 분석

공유 및 기억하기 쉬운 주소로 만들기 위한 기능도 있지만 해당 서비스를 이용해서 공유를 하면 접속 통계 및 분석을 할 수 있다. 자세한 형태는 아니지만 접속자 수, 접속 지역 접속한 기기의 형태 등을 보여준다. 그래서 자신이 공유한 주소가 얼마나 많은 사람들이 접속했는지 확인할 수 있다. bit.ly 의 경우에는 own.my/dk3dle3 짧은 주소에 + 를 붙여서 own.my/dk3dle3+ 를 들어가면 해당 주소에 대한 통계를 볼 수 있다. 이런 기능을 응용하면 자신의 블로그에 보여줄 이미지 주소를 짧은 주소로 만들어서 짧은 주소를 웹페이지 소스에 넣으면 해당 블로그에 대한 간단한 접속자 통계를 볼 수 있다. 또한 이메일은 기본적으로 상대방이 메일을 확인했는지 알 수 없지만 이미지를 짧은 주소로 만들어서 서명 등에 포함시키면 이를 통해서 상대방이 읽었는지를 유추할 수 있는 방법으로 사용할 수 있다.




4. 웹페이지 주소를 간단하게

짧은 주소 서비스의 경우와 겉으로 보이는 기능은 비슷할 수 있지만 조금 다른 형태가 있다. 웹포워딩 (웹주소 전달하기) 이다. 짧은 주소는 own.my/myownstring 과 같은 형태지만 웹포워딩은 sharing.own.my 가 같이 서브도메인 subdomain 형태를 가진다. 형태는 A 레코드나 CNAME 레코드 같지만 기능은 짧은 주소 서비스라고 생각하면 된다. 웹포워딩 기능은 DNS 서비스에 따라 다르다. 지원하지 않는 서비스도 있고 서비스를 지원하지만 형태가 조금씩 다르다. 그만큼 같은 웹포워딩이라고 해도 사용법이 조금씩 다르고 활용법도 달라지게 된다.

구글 도메인 Subdomain forwardpaypal.me/mynameisalreadytaken 과 같은 주소는 너무 길다. 그래서 이를 donate.own.my 으로 연결하면 간단하고 외우기 쉬운 주소를 가질 수 있다.

출처: duda support | https://meson.in/2yVYQAc


FreeDNS by Afraid.org : 구글 도메인과 같은 가장 기본적인 형태의 웹포워딩을 제공하고 있지만 FreeDNS 의 재밌는 기능으로 다른 이들이 등록한 도메인 중에서 공개한 도메인에 대해서도 웹포워딩을 만들 수 있다. (심지어 A 레코드나 CNAME 레코드도 만들 수 있다.) 예를 들어 다른 누군가 yours.us 와 같은 도메인을 FreeDNS 에 등록하고 다른 이들도 자유롭게 쓸 수 있도록 해노으면 mysharing.yours.us 를 웹포워딩 주소로 사용할 수 있다. 물론 mysharing 을 다른 누군가 사용하고 있다면 사용할 수 없다.

Cloudflare™ : 일단 Cloudflare 에서는 웹포워딩이 안 보인다. 대신 더욱 강력한 기능으로 Page Rules 라는 기능이 있다. 이는 웹포워딩 뿐만 아니라 도메인에 관련된 다양한 기능을 주소에 따라서 설정할 수 있는 기능이다. 그 중 웹포워딩이 있는데 단순하게 1:1 의 웹포워딩이 아니라 와일드카드 ( * ) 를 이용할 수 있다. 개인적으로 가장 잘 활용하는 웹포워딩 예를 통해 설명한다.

구글메일 gmail 을 읽을 때 안읽은 메일만 보고 싶을 때가 많다. 구글메일에 들어간 이후 검색창에 label:unread 를 입력하면 아직 읽지 않은 메일들만 보여준다. 그러나 검색창에 입력하는 수고조차도 하기 싫을 때가 많다. 우선 구글메일에서 label:unread 를 검색하면 나오는 주소를 확인할 수 있다. https://mail.google.com/mail/#search/label%3Aunread 과 같이 나온다. 주소창에 이 주소를 입력하면 첫화면이 아니라 읽지 않은 메일 목록으로 바로 볼 수 있다는 뜻이다. 개인적으로 구글 메일을 여러개 가지고 있기 때문에 계정에 따라서 (로그인이 되어 있다고 가정하고) 안 읽은 메일을 보고 싶다. 예를 들어 firstgmail@gmail.com secondgmail@gmail.com 라고 가정한다.

먼저 read.own.my 라는 이름으로 A 레코드 혹은 CNAME 을 만든다. 적당한 곳으로 지정한다. (예를 들어 CNAME 으로 read.own.my home.own.my 으로 설정한다.) Cloudflare 의 Page Rules 화면에 들어가서 웹포워딩 (Forwarding URL) 을 설정한다.

If the URL matches 라는 항목에 read.own.my/* 이라 입력한다.
여러개 기능 중 Forwarding URL 을 선택하고 301 - Permanent Redirect / 302 - Temporary Redirect 중 하나를 선택한다. (이번 경우에는 302)
포워딩 당할(?) 주소로는 https://mail.google.com/mail/?authuser=$1#search/label%3aunread 입력한다. ?authuser=$1* 의 값을 그대로 받아서 주소로 만든다는 뜻이다. 예를 들어 read.own.my/secondgmail@gmail.com 이라고 입력하면 https://mail.google.com/mail/?authuser=secondgmail@gmailcom #search/label%3aunread 으로 접속하고 secondgmail 계정으로 로그인해서 읽지 않은 메일을 바로 보여준다는 뜻이다.


여기서 와일드카드 ( * ) 는 순서대로 사용이 된다. 예를 들어 tran.own.my/*/* 과 같이 입력하고 웹포워딩 주소를 https://translate.google.com/#$1/$2/ 으로 설정하고 나면 주소창에 tran.own.my/en/ko 를 입력하면 https://translate.google.com/#en/ko 가 된다. 만약 https://translate.google.com/#$2/$1 와 같이 한다면 반대로 .../#ko/en/ 이 될 것이다. 즉, * 의 순서대로 $1, $2, ... $n 이 되는 것이다.


5. 변화하는 인터넷 주소를 잡아라

주요 인터넷 서비스는 인터넷 주소 (IP) 가 거의 변하지 않지만 가정용과 같이 작은 규모는 항상 동일한 IP 를 가지고 있기 어렵다. IP 개수가 한정되어 있는데 모든 이들이 동시에 사용하지 않기 때문에 사용하지 않는 주소를 필요할 때 할당해주는 형태를 가진다. 그래서 인터넷을 사용할 때마다 IP가 변화하는 경우가 있다. 그런데 집에 서버를 두고 해당 서버에 항상 접속하고 싶어서 myserver.own.my 를 A 레코드로 현재의 IP 를 등록했는데 IP 가 변화하면 myserver.own.my 주소는 소용이 없거나 전혀 엉뚱한 곳을 찾게 된다. 이렇게 IP 주소를 요청할 때마다 받아서 사용하는 것을 동적 IP (Dynamic IP) 라고 부른다. IP 가 변할 때마다 IP 주소를 기억하는 것은 힘들기 때문에 바뀐 IP 를 DNS 에 알려주고 바꾸도록 하면 도메인 주소만으로 접속할 수 있다.


공유기란 인터넷 주소 (IP) 를 공유하는 장치이다. 공유기는 인터넷 주소를 받아서 인터넷에 연결된 장치이다. 그리고 그 안에서 사용하는 기기들은 공유기가 받은 같은 인터넷 주소를 사용한다는 뜻이다. 그래서 공유기에 연결된 모든 기기들은 인터넷을 사용할때 모두 같은 인터넷 주소로 활동한다. 공유기 받은 인터넷 주소를 실 IP public IP 라고 부르고 공유기에 연결된 기기들이 공유기와 통신하기 위해서 사용되는 주소를 내부 IP private IP 라고 부른다. 내부 IP 로 사용되는 주소 형태를 기억하면 편할 때가 많다. 내부 IP 용도로 사용되는 IP 는 192.168.0.0 - 192.168.255.255 (65,536개) / 172.16.0.0 - 172.31.255.255 (1,048,576개) / 10.0.0.0 - 10.255.255.255 (16,777,216개) 이 있다. 실 IP 를 같이 (공유) 해서 사용하기 때문에 인터넷 주소를 효율적으로 사용할 수 있을 뿐만 아니라 내부 / 외부를 구별해서 사용할 수 있는 장점도 생각할 수 있다.

만약에 집 안에 서버를 운영하고 있다면 서버에 접속하려면 실 IP 를 알아야 하고 공유기는 서버가 어떤 내부 IP 를 가지고 있는 기기인지를 통해 연결해주는 과정이다. 그래서 우리가 업데이트해야 하는 인터넷 주소는 실 IP 이다. 그런 이유로 공유기에 동적DNS (DDNS: Dynamic DNS) 를 지원해준다면 공유기가 할당받은 실 IP 와 특정 도메인 주소를 연결시켜 주면 된다. 그래서 공유기 제조사에 따라서 기본적으로 동적DNS 를 지원해준다. 예를 들어 D-Link 란 회사에서는 myown.dlinkddns.com 와 같은 도메인 주소를 설정할 수 있다. 그리고 자신의 도메인 DNS 관리 페이지에서 CNAME 으로 myserver.own.my myown.dlinkddns.com 으로 설정해주면 된다. 대부분의 DNS 관리 서비스에서 동적DNS 는 지원해주고 자세한 방법도 알려주기 때문에 이를 따라 하면 될 것이다.

데비안 (Debian) 계열의 서버를 통해 동적DNS 를 설정하는 방법으로 Cloudflare™ 와 구글도메인을 통한 방법은 개인 위키에 정리해 놓았다.


[ No-IP ] 와 같은 서비스를 사용하는 것도 좋은 방법이다. 일단 설정해 놓는다면 IP 주소를 매번 찾아서 변경시키는 수고를 하지 않고 항상 myserver.own.my 로 접속하면 된다.


6. 좀 더 다양한 활용을 위해서 ...

본 블로그를 정리한 목적은 너무도 익숙하게 사용하는 도메인 주소지만 많은 사람들은 개인이 사용하기 힘든 것이라 시도하지 않는 이들에게 용기를 주기 위해서이다. 가끔 자신의 도메인을 통해 블로그 주소도 바꿀 수 있고 이메일도 만들 수 있다고 말하면 얼마나 드는지 물어본다. 그만큼 비용이 많이 드는 일이라고 생각하는 이들도 많고 심지어 자신의 도메인 주소 앞에 붙는 blog.own.my , myserver.own.my 등의 서브도메인을 만들때마다 돈이 든다고 생각하는 이들도 만날 수 있었다. 자신이 원하는 도메인 하나로 생각보다 많은 것을 할 수 있다는 것을 정리하고 단순하게 인터넷 주소가 아니라 자신의 작업 효율성 뿐만 아니라 삶의 운영 방법도 바꿀 수 있는 도구가 될 수 있다는 것을 알리고 싶었다. 그리고 이 모든 것을 하는데 도메인 구매/유지 비용이외는 모두 무료로 가능하다는 점도 다시 한번 강조하고 싶다. (무료 도메인의 경우 도메인 구매 비용도 없다.)

a. A 레코드의 활용법

아무리 다양한 설정 내용이 존재해도 도메인 활용의 기본은 A 레코드이다. 자신이 원하는 도메인과 인터넷 주소를 연결하는 기본이 A 레코드이기 때문이다. 한개의 인터넷 주소 (IP) 에 여러 개의 도메인 주소가 연결될 수 있는 것은 쉽게 알지만 반대의 경우도 가능하다. 즉, 한개의 도메인에 여러 개의 IP 를 연결할 수 있다. 많은 사용자들을 처리하기 위해서 한개의 서버 (기계) 가 아닌 여러 대의 서버를 이용할 때도 있지만 이를 활용하면 공유기의 관리 화면으로 간단하게 접속할 수 있다.

공유기는 내부 IP 를 나누어 주는 역할을 하고 공유기도 기기이기 때문에 공유기 설정을 위한 화면이 있다. 제조 회사별로 관리 화면에 접속하는 주소가 다르다. 간단하게 네트워크 설정 화면을 조회하면 ( Windows 에서 ipconfig , Linux 에서 ifconfig 등) 공유기 (게이트웨이) 의 주소를 알 수 있지만 간단하게 주요 공유기 관리를 위한 내부 IP 를 A 레코드에 등록하면 편리하게 사용할 수 있다.

먼저 A 레코드로 router.own.my 를 등록하고 여기에 IP 로 192.168.0.1 뿐만 아니라 192.168.1.1, 192.168.35.1, 192.168.15.1, 192.168.219.1172.16.1.1, 10.0.0.1, 192.168.5.254 등 주요 공유기 관리를 위한 내부 IP 를 입력한다. 그리고 주소창에 router.own.my 을 입력하면 A 레코드 중 접속가능한 곳으로 접속해준다. 입력한 주소 이외의 주소를 사용한다면 찾지 못하겠지만 해당 내부 IP 도 A 레코드에 추가해주면 된다.


이 활용을 통해서 보면 A 레코드는 실 IP 뿐만 아니라 내부 IP 에도 사용할 수 있다는 점을 알 수 있고 가능성 있는 모든 주소를 입력해 놓으면 나중에 하나씩 내부 IP 를 입력하지 않고 도메인 하나로도 쉽게 접속할 수 있다는 것을 알 수 있다.

b. 웹포워딩과 짧은 주소 서비스의 차이점

기능적으로 보면 웹포워딩과 짧은 주소 서비스는 비슷하다. 짧은 주소 혹은 기억하기 쉬운 주소를 통해서 복잡하고 긴 인터넷 주소에 빠르게 접근할 수 있다. 짧은 주소 서비스를 통해서 기억하기 쉬운 주소를 가질 수 있지만 own.my/memorable 과 같이 도메인 이후 슬래쉬 slash, 사선기호 이후에 추가 된다는 점에서 형태상의 차이점도 있지만 무엇보다 짧은 주소 서비스는 별도의 서비스를 통해서 이루어지기 때문에 주소를 재활용하거나 포워딩되는 주소를 변경하는데 제한이 있을 수 있다는 점이다. 기본적으로 짧은 주소를 만들고 공유하고 잊어버리기 위한 것이 목적이였기 때문에 이 부분을 잘 생각해야 한다. 따라서 목적지 주소가 자주 변경되거나 변경해야 할 필요가 있는 경우라면 짧은 주소보다는 DNS 를 통해서 웹포워딩을 이용하는 것이 유리하다.

그렇지만 짧은 주소의 경우 공유하는 이가 누구인지 알려줄 수 있다는 브랜드 이미지의 측면과 자료의 일관성을 가지기 때문에 예를 들어 자신의 짧은 주소 도메인이 검색어로 사용하면 공유한 자료들을 찾는 방법으로도 이용할 수 있다. 그리고 앞서 설명한 통계 및 분석 기능은 가장 유용하게 사용할 수 있는 부분이다.

예를 들어 자신의 공유 폴더를 위해 웹포워딩으로 sharing.own.my 을 이용할 수도 있고 짧은 주소를 통해 own.my/sharing 을 사용할 수 있다. 웹포워딩에서 설명하지 않은 부분이 있는데 웹포워딩의 종류이다. 웹포워딩을 설정하다 보면 301 - Permanent Redirect302 - Temporary Redirect 을 선택하라는 부분이 나온다. 사용할 때 차이점은 별로 알 수 없지만 301 / 302 는 검색엔진에서 검색되는 결과에 영향을 주는 부분이다.

301 - Permanent Redirect (영구이동 / 영구전달) : 301 은 옛날 주소는 잊어버리고 전달되는 주소를 남겨달라는 요청이다. 예를 들어 old.host.com 을 사용하다가 blog.own.my 으로 주소를 변경하고 old.host.com 으로 들어오는 요청은 모두 blog.own.my 으로 301 전달을 하라고 한다면 검색 엔진에는 이전 old.host.com 의 주소로 나타나지 않고 blog.own.my 만이 나타나게 된다. 이전 주소가 검색 엔진에서 나타나지 않기 바랄 때 사용할 수 있다.

302 - Temporary Redirect (임시이동 / 임시전달) : 302 는 검색엔진에서 옛 주소와 현 주소를 동시에 모두 검색되어 나오기 원할 때 사용한다. 옛 주소와 현 주소의 구조 차이가 있어서 모두 동일하게 전달하기 어려운 상황이나 옛 주소도 동시에 사용해야 하는 경우이다.

출처: MEGAPlaze  | https://meson.in/2KyEeTq

기본적으로 301 / 302 는 주소를 변경할 목적으로 사용되지만 기억하기 쉬운 도메인 주소로 복잡한 주소로 가기 위한 (A → B) 것이기 때문에 오히려 중요한 것은 목적 주소 (B) 가 아니라 입력하는 주소 (A) 가 된다. 그리고 개인적인 목적으로 웹포워딩을 사용하는 것이라면 검색엔진에 어떻게 나타나는 것이 중요한 것이 아니라 오히려 나타나지 않게 하는 것이 필요할 것이다.

c. 호스팅을 위한 내 공간은 없다.

도메인은 만들었고 블로그 서비스나 다양한 웹출판 (웹퍼블리싱) 서비스를 통해서 개인 도메인 주소를 포함하는 공간은 만들었지만 막상 간단한 홈페이지 하나 올릴 공간은 그렇게 많지 않다. 도메인 등록 대행업체나 다양한 인터넷 기업들은 간단한 홈페이지만이라도 올릴 공간을 무료로 잘 제공해 주지 않는다. 제공해주어도 많은 제한이나 광고가 포함되는 경우도 많아서 자신이 원하는 충분한 모양을 만들 수 없는 경우가 많다. 안 쓰고 있는 컴퓨터 하나 웹서버로 만들어서 넓직한 공간을 만들 수 있지만 유지하고 관리하는데 여간 신경쓰이는 것도 아니고 조금 인기좀 얻어 많은 사람들이 들어오면 속도도 느려지고 웹서버도 죽어버리기 쉽다.

그래서 자체 서버를 제대로 운영하지 못할 것이라면 전문 업체에서 제공해주는 공간을 유료로 사용하기도 한다. 그런데 조금만 찾아보면 간단한 자신의 홈페이지를 만드는 것도 무료로 가능하다는 것을 알게 된다. 여러가지 방법이 있지만 여기에서는 GitHub [ https://github.com ] 을 소개한다. 원래 GitHub 는 프로그래밍 소스가 변경되고 여러 개발자가 참여해서 공동작업하고 작업 소스를 편하게 공유(공개)하기 위한 목적의 공간이다. (최근에 마이크로소프트가 인수했다. 좋은 것인지 나쁜 건지 아직 판단이 되지는 않는 중이다.) GitHub 의 자세한 사용 방법은 개발자가 아니라면 불필요한 부분이 많을 수 있지만 GitHub Pages 는 간단한 홈페이지를 올리는데 충분한 공간이다. [ GitHub Pages ]


설명은 복잡한 듯 보이지만 우선 GitHub 계정을 만들고 계정에서 Repository 를 만들고 페이지 주소를 myown.github.io 와 같이 설정하고 해당 repository 에 이미 만들어 놓은 홈페이지 소스를 드래그 앤 드롭 Drag & Drop 하고 Commit 하면 홈페이지를 올릴 수 있다. 그리고 DNS서비스에서 web.own.my 와 같은 CNAME 을 myown.github.io 로 연결시키면 간단하게 홈페이지를 만들 수 있다.

무료이긴 하지만 역시나 용량 제한은 존재한다고 한다. 파일당 100M 총 용량이 한 repository 당 1G 를 넘길 수 없거나 종종 50M 에서도 에러가 나온다거나 일부 파일이 용량 제한으로 올릴 수 없는 경우도 존재하지만 학생 개발팩 (Student Pack) 을 사용하면 용량 제한도 없이 사용할 수 있다. 예상할 수 없는 용량제한이 있기는 하지만 막상 100메가를 넘는 (홈페이지) 소스코드는 도대체 어떤 것일까 궁금해지기도 한다. GitHub 와 비슷한 소스관리를 위한 Git 호스팅 서비스를 찾아보면 생각보다 호스팅을 위한 내 공간은 충분할 것이다.

d. 삶 가까이 더 가까이 ...

위에서 Cloudflare™  의 Page Rules 기능을 통해서 복수 계정의 구글메일에서 읽지 않은 메일로 바로 들어가는 방법을 소개했다. 무료 계정에서는 매력적인 Page Rules 기능을 3개만 사용할 수 있어서 아쉬움이 있지만 인터넷 주소만 잘 활용하면 필요한 작업을 위해 검색창에서 검색어 먼저 넣고 매번 똑같은 곳에 들어가는 것을 간단하게 줄일 수 있다. 개인적으로 자주 사용하는 활용법을 소개하는 것으로 마무리 하고자 한다.

기본적으로 검색엔진에 반복해서 찾아보는 검색어가 있다. 오늘의 날씨나 내가 타야 할 버스가 오는지 스팸메일을 자주 보내는 사람이 어디에서 보내는지 IP 조회를 할 때 등 검색하는 형태를 관찰할 필요가 있다. 예를 들어 자신이 타야 하는 버스를 검색하는 사람들의 모습을 살펴보면 검색엔진에서 지도 서비스를 검색해서 들어간다. 한국인의 대부분은 인터넷이라고 하면 네이버 앱을 실행시키는데 그런 것까지 다 포함해서 보면 검색엔진에서 원하는 정보를 얻고 싶은 서비스 (지도, 날씨 등) 를 찾고 들어가서 자신의 위치 혹은 버스 정보를 입력한다. 그리고 지금 내가 있는 버스정류장 위치 등을 파악하고 버스 정보를 본다. 많은 경우 검색엔진 / 서비스 / 정보찾기 의 과정을 거친다. 자주 반복된다면 검색엔진은 생략하고 바로 지도 서비스 주소를 바로 입력하거나 지도 앱을 실행할 수 있다. 그러나 만약 타고자 하는 버스와 버스정류장 정보를 바로 나타낼 수 있는 주소가 있다면 이 주소를 웹포워딩으로 설정해 놓는다면 지도 서비스를 입력하는 대신 자신만의 주소를 입력하면 된다.

예를 들어 매일 아침 답십리역에서 버스를 타고 광화문을 가는데 370 번 버스를 탄다고 하자. 370 번 버스 정보는 웹 주소에서

https://m.map.naver.com/bus/lane.nhn?busID=1044 보여준다. 네이버 지도 서비스에서 370번 서울 버스의 고유번호를 1044 으로 보여준다. (더 직관적이였다면 좋았겠지만...) 출퇴근 길에 항상 타는 버스로 자주 버스 정보를 찾아본다면 bus.own.my/370 혹은 own.my/bus-370 과 같이 쉽게 기억하고 입력할 수 있는 주소로 설정해 놓으면 된다. 정류장 정보도 보여줄 것이다. 그래서 찾아보면 https://m.map.naver.com/bus/station.nhn?stationID=107489&busID=1044 과 같이 버스정류장 고유 번호 (107489) 와 버스 고유번호 (1044) 를 변수로 포함하는 주소를 찾을 수 있다. 이 주소를 gowork.own.my 으로 웹포워딩을 해 놓는다면 바로 정보를 얻을 수 있다. 물론 요즘은 기술이 좋아져서 위치 정보를 통해서 바로 알고 싶은 정보를 보여주도록 (사용자의 움직임을 통해서 어떤 버스를 탄다는 것도 알아내기도 한다.) 도와주기도 하니 선택은 개인의 몫일 것이다.


이처럼 자주 반복해서 검색을 한다면 내가 원하는 정보를 보여주는 곳은 항상 정해져 있을 가능성이 높다. 다른 예로 스팸 메일을 계속 보내는 특정 아이피를 찾았을 때 IP 관련된 정보를 찾기 위해서 구글 검색에서 ip lookup 을 입력하고 항상 같은 곳을 들어가게 된다. 결과를 보여줄 때 자신이 넣은 검색값이 주소에 바로 나타나는 경우가 있다. 예를 들어 ip 정보를 얻기 위해 자주 들어가는 서비스로 https://dig.whois.com.au 를 이용하는데 여기에서 119.100.94.179 를 검색하면 검색결과와 같이 https://dig.whois.com.au/ip/119.100.94.179 처럼 주소가 나온다. 웹포워딩을 이용해서 ip.own.my https://dig.whois.com.au/ip 으로 등록하고 이후 URI path 를 그대로 유지하는 형태로 웹포워딩을 설정하면 ip.own.my/119.100.94.179 을 입력하면 바로 원하는 결과를 얻을 수 있다. 물론 dig... 이후 주소를 기억하고 있어도 되지만 그보다는 자신의 도메인을 기억하는 것이 더 빠를 것이다.



e. 적극 응용해 보기 

많은 경우 그냥 복잡하니깐 귀찮으니깐 이렇게 설정하는 것을 싫어하는 사람들이 많지만 사실 이렇게 하는 가장 큰 이유는 정말 귀찮기 때문이다. 만약 100여개 이상의 공유기 / 네트워크를 관리해야 한다고 가정해보자. 공유기 접속을 외부에서 할 수 있도록 동적 IP 도 설정하고 보안 설정도 하게 되는데 설정을 해주거나 업그레이드를 해주기 위해서 100여개 이상의 공유기에 접속을 해서 로그인하고 원하는 설정 페이지에 접근하기 위해서 클릭 클릭 해서 들어가게 된다. 그런데 이런 접속하고 클릭하는 과정조차도 귀찮은 것이였다. 한국의 대표적인 공유기 업체인 아이피타임 공유기를 예로 설명해 보자. 공유기 관리도 결국 웹에서 이루어지기 때문에 웹 주소를 가진다.

들어가고자 하는 메뉴에 놓고 오른쪽 클릭을 하면 메뉴에 접속하는 주소를 얻을 수 있다.

http://router.address/cgi-bin/timepro.cgi?tmenu=sysconf&smenu=swupgrade 

와 같은 구조이다. 펌웨어 업그레이드를 위해서 tmenu=sysconf 이고 smenu=swupgrade 의 값을 가진다. 해당 주소로 바로 접속하면 복잡한 메뉴 화면이 아닌 펌웨어 업그레이드를 위한 화면으로 바로 들어갈 수 있다. 그런데 관리해야 하는 공유기가 하나라면 바로 웹포워딩으로 등록해서 사용하면 되지만 여러 공유기를 관리해야 한다면 각 공유기마다 웹포워딩 주소를 만들 수도 있지만 그럼 더 귀찮아질 것 같다.

구조적으로 보면 아이피타임의 공유기 관리 화면은 두개의 변수값 (tmenu smenu) 로 구성되어 있고 두개 값이 정해지면 원하는 설정 화면으로 들어갈 수 있다. 문제는 여기에 공유기 주소도 포함되어야 한다. 이 문제를 해결하기 위해서 웹포워딩을 두번 사용한다. 그리고 Cloudflare™ 의 Page Rules 는 내가 관리하고 싶은 공유기 주소를 받아 이를 웹포워딩에 사용할 수 있다. 그 전에 두 변수값을 넘겨줄 수 있는 웹포워딩을 만들어 본다.

firmup.own.mlroutersetup.own.my/sysconf/swupgrade 로 포워딩 하도록 한다. 펌웨어 업그레이드를 하겠다는 뜻이고 메뉴 구성을 위한 두개의 변수를 넘겨준다. 그리고 Cloudflare™ 에서는 routersetup 을 CNAME / A 레코드로 등록한 뒤 Page Rules 에서


routersetup.own.my/*/*/*

의 주소를 받으면

http://$3:8088/cgi-bin/timepro.cgi?tmenu=$1&smenu=$2  (공유기 관리 설정 포트를 8088 로 설정한 경우) 


으로 웹포워딩을 설정한다. 이후 mysecondrouter.iptime.org 공유기 펌웨어 업그레이드를 하고 싶다면 주소창에 firmup.own.ml/mysecondrouter.iptime.org 을 입력하면 첫번째 포워딩은

 routersetup.own.my/sysconf/swupgrade/mysecondrouter.iptime.org  으로 주소를 보내주고 두번째 Page Rule 에 의해서 최종적으로

 http://mysecondrouter.iptime.org:8088/timepro.cgi?tmenu=sysconf&smenu=swupgrade

으로 접속하게 된다. 다른 메뉴를 보지 않고 내가 하고싶은 화면으로 바로 들어가게 된다. 같은 방법으로 VPN 설정 화면은 expertconf 와 vpn  변수를 가진다. 따라서


 vpn.own.ml  routersetup.own.my/expertconf/vpn 으로 설정하면 된다. 공유기 제조사가 웹주소를 변경한다면 안되겠지만 궁극적으로 전달하고 싶은 내용은 웹포워딩을 통해서 자신의 귀찮은 반복 작업을 작업 단계를 줄이며 수행할 수 있다는 점을 강조하고 싶다.


마무리하며 ... 

이 글을 작성한 이유는 많은 이들이 어렵게 생각하는 개인 도메인을 어떻게 사용할 수 있는지 그리고 활용할 수 있는지 알리고 싶었기 때문이다. 개인이 활용할 수 있는 인터넷의 영역 그리고 그 영역안에서 어떤 활용 도구가 있는지 알 수 있다면 예전에는 할 수 없었던 혹은 어렵게 했던 작업들을 쉽게 해결할 수 있는 경우가 많다. 특히 지금과 같은 많은 작업이 인터넷을 이용해서 이루어지고 있는 경우에는 더욱 그렇다. 인터넷의 자원을 얼마나 잘 활용할 수 있는지는 작업의 효율성 뿐만 아니라 인터넷 서비스의 방향도 생각할 수 있게 된다.

인터넷 주소체계가 얼마나 체계적으로 잘 구성되어 있는지에 따라서 사용자들의 활용도가 증가하는 것을 알게 된다. 사용자가 선택할 수 있는 항목(값)을 주소에 바로 보여줄 수 있다면 웹포워딩 등을 통해서 자신에게 필요한 작업을 바로 활용할 수 있다. 예를 들어 비밀번호를 만들 때 사용하기 위해서 일정 길이의 무작위의 문자열을 만들고 싶을 때 https://www.random.org/passwords/ 을 이용하는데 항상 15길이의 무작위 문자열을 10개 보고 싶다면 매번 페이지에 들어가서 입력값을 1015로 입력해서 받아 볼수 있지만 https://www.random.org/passwords/?num=10&len=15&format=html&rnd=new 주소를 pw.own.my 에 웹포워딩을 하면 곧 바로 원하는 형태의 비밀번호를 추가적인 입력없이도 바로 얻을 수 있다. 이와 같은 작업 단계의 단축이 가능한 이유는 자신이 원하는 이미 정해진 입력값을 바로 얻을 수 있는 주소 구조를 가지고 있기 때문이다.


사용자의 다양한 접근과 사용을 위해서 다양한 방법들이 있지만 프로그래밍 기술이 없어도 충분히 프로그래밍의 결과를 인터넷에서는 얻을 수 있다. API 등과 같은 형태도 중요하지만 서비스를 제공하는 입장에서도 사용자들이 인터넷 주소만으로도 다양한 활용이 가능하도록 서비스를 설계하는 것이 중요하다고 생각한다.

출처: Visual-Diagram Know-how | https://meson.in/2IGJaAs


※ 도메인 관련 문제가 생겼을 때 도움이 필요한 분들은 [ Slack ] 에 들어오시면 가능한 범위에서 도움을 드리도록 하겠습니다. 


나만의 인터넷 주소 ─ 도메인을 구매하는 히치하이커를 위한 가이드

Tuesday, June 26, 2018


2016년 1월 어느 날, 커피 한잔을 마시며 저녁 시간을 보내고 있었다. 작은 카페에 손님은 나 혼자인 곳에서 갑자기 주인분은 무엇인가 알 수 없는 급한 모습으로 밖으로 나가셨다. 그 공간은 절대적으로 나 혼자 뿐이었다. 그런데 갑자기 어떤 외국인이 들어오셨다. 안을 잠깐 살펴보더니 나에게 다가왔다. 무엇인가 가득한 가방을 들고 다가오셔서 나에게 말을 걸었다. "안녕하세요." 라는 인사와 함께 작은 종이를 나에게 보여주었다.

"러시아에서 온 학생입니다. 학비마련을 위해 물건을 팔고 있습니다."

다양한 가격대에 다양한 물건들이 있었지만 카드를 받을 수 없으실 것 같아 현금을 확인해보니 지갑에는 3,000원이 있었다. 가장 작아 보이는 열쇠고리가 얼마인지 물어보니 가방을 잡고 손가락으로 어렵게 셋을 세어 알려주었다. 그래서 "뜨리? 아진 드바 뜨리?" 해서 물어보니 고개를 심하게 끄덕거리고는 고르라고 물건들을 보여주었다. 아마도 수작업으로 그린 열쇠고리인듯 했다. 작은 열쇠고리에 채색은 그렇다고 해도 얼굴 모양은 조금 이상한 것들도 있었다.

열개 정도의 열쇠고리 중에서 가장 안 예뻐보이는 열쇠고리를 골랐다. 순간 내가 안 이뻐보이는 열쇠고리를 고른다면 다른 누군가는 더 예뻐보이는 열쇠고리를 고르지 않을까 생각했다. 그렇다고 그냥 그분을 도와주려고 삼천원을 쓰고 안 쓸려고 그런게 아니라 어딘가 쓸모있게 내가 써줘야지 하는 마음을 먹었다. 2년이 지난 지금도 그 열쇠고리 인형은 나와 함께 다니고 있다.



여전히 과장된 눈썹은 삐뚤하고 다소 유머스러운 얼굴도 그대로다. 전자기기 전원 버튼에 붙어 있어 여전히 잘 지내고 있다. 언제부터인가 흠있어 보이는 것을 먼저 가지려 한다. 가졌다 버리기 위해서가 아니라 이 세상 예쁘고 안 예쁘고는 내 눈의 환상일지 모른다는 생각을 하게 되었다. 진열대에 있는 물건들 중에서 가장 맘에 들고 예쁜 것을 고르는 사람들이 대부분이라 가끔 가장 안 예쁜 것을 고르는 나를 보며 '왜 그런 것을 고르냐고' 타박하는 분들도 계신다.

세상에 같은 존재라고 해도 그 가치와 시선에 따라서 두가지 형태의 존재가 가능하다고 생각한 적이 있었다. [ 가치에 대해서 ─ 기능적 존재 vs. 근본적 존재 ] 어떤 기능을 해야만 존재의 가치가 생기는 경우와 그냥 있는 그대로 어떤 기능을 하지 않아도 존재만으로 가치를 가지는 경우이다. 어떤 능력을 가지고 무엇인가 잘 하는 존재로 이득이 될 때 기능적 존재를 잘 설명할 것이고 그냥 누군의 아들이나 딸로 태어나 부모에게는 무엇을 해도 무엇을 하지 못해도 그냥 그대로의 자식으로의 존재 가치를 가지는 것이 근본적 존재로 설명이 될 것이다.

만약 누군가 태어나서 오랜동안 아프고 제대로 움직이지 못해서 어떤 일도 하지 못하고 심지어 누군가의 도움없이 살아갈 수 없다면 기능적 존재로 설명하기 어렵지만 그런 존재가 살아갈 가치가 없다고 말하지 않는 것은 오히려 살아갈 가치가 없다고 말하는 것이 비인간적인 느낌을 가질 수 밖에 없는 이유는 인간의 삶, 인간의 생명 안에는 그 자체로 근본적 존재 가치를 있기 때문이라고 믿는다. 생명에는 그런 근본적 가치를 가진다.

제부터인지 잘 알 수 없다. 자본주의 capitalism 가 상식이 되어버린 어느 시절에 그리고 자본의 가치가 모든 가치의 척도와 같은 때로는 교환 가능한 가치가 되어버린 어느 시절에는 때로는 근본적 존재 가치마저도 때로는 버릴 수 있는 가치라고 믿기도 한다. 그래서 인간의 생명은 어렵지만 어떤 동물의 생명들은 경제적인 이유로 살릴 수 없음도 그렇게 잔인한 선택은 아니라고 할지 모른다. 어떤 동물의 생명에게는 애완용 혹은 어떤 이유로 필요한 기능이 있기 때문에 살릴 가치가 있는 생명과 그렇게 하기에는 비용이 많은 생명으로 구분하기도 한다.

소설이자 영화인 오두막 (The Shack) 은 상처입은 어떤 아버지의 이야기를 그린다. 작가의 자전적 상처를 통해 만들어진 소설이라고 많은 이들이 평가하지만 오두막을 읽고 나서 상처 혹은 치유에 대해 무엇이다 말하기가 더 어려워지는 것은 어쩔 수 없다. 오히려 세상에 존재하는 이유만으로도 충분한 존재에 인간은 그렇게도 많은 평가를 내리고 무엇이 더 '좋다'라는 판단을 쉽게 내리고 있는지 그리고 그 자연스러운 인간의 행동들이 결국 얼마나 많은 이들에게 상처를 주고 있는지 짧은 내용을 강하게 보여줄 때가 많았기 때문이다.

주인공 매켄지가 동굴에서 여인의 모습을 한 하느님과 만나는 장면을 보면 심판에 대한 이야기를 나누다 여인이 매켄지에게 이렇게 말한다.

"당신은 당신의 자녀 중에서 하나님의 새로운 하늘과 땅에서 영원히 살아갈 두 아이를 선택해야 해요. 딱 두 명만."

...

"또 당신의 자녀 중에서 영원히 지옥에서 살아갈 세 아이를 선택해야 해요."

결국 인간이 인간을 심판하고 판단하는 모습들을 생각하게 하지만 중요한 것은 누가 더 가치있는 자식인지 비교하는 것은 전혀 의미도 없고 그럴수도 없다는 것을 많은 이들은 공감하게 된다. 바로 어떤 능력을 가지고 있는지 소위 공부를 잘하는 돈을 잘 버는 자식인지 중요한 것이 아니라 그냥 있는 그대로의 존재가 중요하다.

가끔 책상 위에 놓고 싶은 꽃을 위해 꽃집에 간다. 개인적으로 좋아하는 꽃 - 라넌큘러스 - 을 몇 송이 놓고 그 꽃들이 피어오르는 모습과 떨어지는 꽃잎들을 바라보게 된다. 라넌큘러스는 참 약하다. 꽃이 화사하게 피기 전에는 알갱이 같이 작은 꽃봉오리는 장미처럼 무엇인가 화려하게 필 준비를 하기 보다는 세상에 얼굴을 내밀기 부끄러워하는 모습이고 꽃이 조금이라도 무거워지면 쉽게 휘어지고 꽃대도 자주 꺾여버린다. 꽃이 다 피고 나면 꽃잎은 떨어지거나 색이 변하며 원래 색을 유지하는 시간보다 지는 시간을 더 많이 바라봐야 하고 꽃잎이 많이 떨어진 꽃은 때로는 볼품없는 대머리 독수리 같은 느낌도 든다. 그래도 좋다. 그래서 꺾어진 꽃대는 휴지로 부목을 대주기도 하고 떨어진 꽃잎들은 모아서 책갈피로 만들어 선물주기도 한다. 손이 많이 가고 아름다운 시간보다 초라해 보이는 시간이 많은 꽃이지만 그래도 그냥 좋다.

그래서 어디에 있게 되어도 항상 동네를 살피며 꽃집을 찾게 된다. 한국에서 꽃집은 조금 다른 느낌이 많았다. 결국 어디나 꽃을 통해 돈을 버는 것이지만 그래도 꽃집은 꽃을 사랑하는 사람이 하는 것이라고 생각한 적이 많았다. 언제나처럼 라넌귤러스를 찾으면 처음에는 왜 그런 꽃을 찾을까 싶어하지만 그래도 몇송이 남은 꽃을 건네준다. 그리고 깔끔하고 많은 이들이 좋아할 대중적인 꽃집일수록 항상 정확했다. 한 송이에 얼마라고 한다. 그리고 많은 경우 내가 좋아하는 라넌큘러스는 몇송이 없거나 상태가 좋지 않은 꺾여 있거나 너무 많이 피어 있는 꽃들은 주지 않으려고 한다. 팔 수 없다고 하면 괜찮다고 가져가겠다고 하면 어떤 가게는 그 팔수 없다고 했던 꽃들까지 정확하게 계산해서 돈을 받는다. 어떤 가게는 반값에 그렇게 계산해서 준다. 팔 수 없는 꽃을 가져가겠다고 하니 그냥 주면 좋겠다 싶은 마음도 있었지만 그래도 장사니깐 싶어 쉽게 그냥 달라고 하지 못한다.


그런데 그렇게 가져오고 나면 기분이 활짝 좋거나 그렇지 않다. 이유는 알 수 없었다. 그냥 책상에 놓일 꽃을 생각하며 기쁜 마음을 가져보려고 하지만 알 수 없는 기분은 꽃처럼 좋지는 않았다. 어느날 골목길을 지나가다 간판도 오래된 꽃집을 보았다. 잠깐 발길을 돌려 꽃집으로 들어갔다. 지금까지 보았던 많은 화려하고 화사한 꽃집은 아니였고 그냥 정말 거의 대부분의 공간은 꽃들과 화분에 양보하고 오래된 형광등 불빛은 다소 어둡기까지 했다. 작은 의자에 앉아 계시던 아저씨가 일어나서 무엇을 찾냐고 물어오셨다. 난 역시 라넌큘러스를 찾았다. 아저씨는 다소 놀라시며 몇송이 있긴 한데 핀것도 많고 그래서 많지 않다고 하셨다. 그래서 여섯송이 정도 다양한 색으로 잡고는 간단하게 포장해주셨다. 어짜피 집에 놓을 것이니깐 포장 많이 안해주셔도 된다고 하니 그래도 가는 동안 괜찮게 줄기 끝부분만 잘 포장해주셨다. 그리고 다른 가게에서는 두송이 정도 살수 있는 가격으로 여섯송이를 주셨다. 그런데 그렇게 전해주신 아저씨의 얼굴이 더 신기했다. 라넌큘러스를 찾는 남자분은 처음보셨다면서 꽃이 꺾어지면 어떻게 하라고 얘기해주시는데 난 휴지로 꽃대를 세운 사진을 보여드리고 이렇게 하고 책갈피도 만들어요. 라고 말하니 아저씨는 정말 화사하게 꽃처럼 웃으시는 것이였다. 그리고 다음에 오면 잘 모아두었다고 주신다고 하셨다.

그 이후에도 몇번 찾아 아저씨 가게에 갔다. 오늘은 세송이 뿐이라며 2,000원만 받으시기도 하고 다른 가게에서 받던 가격을 생각하면 아저씨가 손해보시는 것 아닌가 싶었지만 사실 그보다 꽃을 바라보며 환하게 웃는 모습은 정말 꽃보다 사람이 더 아름답구나 생각될 때가 많았다. 아저씨는 꽃을 가져가 얼마나 잘 키울지 생각하면 기분좋은 손님이 있고 그렇지 않은 손님이 있다고 하셨다. 그 이야기를 듣는 순간 그 아저씨는 꽃을 팔지만 정말 꽃을 사랑하는 분이라는 생각을 할 수 밖에 없었다.


강아지를 분양한다며 강아지를 파는 가게들을 지나갈 때마다 많은 생각들이 든다. 동물을 사랑한다면 저렇게 '분양'이라는 이름으로 판매를 하거나 어떤 강아지가 더 인기가 많다 어떤 품종은 똑똑하다 라는 평가를 내리기 어려울 것이다. 만약 나중에 인류의 생명과학 기술이 발달해서 인간을 체외 in vitro 에서 임신을 할 수 있게 된다면 인간도 분양이라는 이름으로 선택될 수 있을까 생각하게 된다. 꽃을 하나의 생명으로 바라보기는 어렵다 해도 강아지 정도는 생명이 아니라고 바라보기가 어려울 것이다. 그래서 꽃 하나 꺾어졌다고 해서 슬퍼하거나 안타가워 하는 사람들보다 대수롭지 않게 바라볼 사람들이 더 많을 것이다. 강아지라면 달라질 것이다. 강아지가 누군가의 선택을 기다리다가 갑자기 병에 걸려 생명을 다했다면 그 모습을 바라보며 모두 안타까운 마음을 가지지는 않아도 꽃보다는 많을 것이라고 생각할 수 있다. 생명의 모습만 다를 뿐 다 같은 자연의 생명인데 생명의 사라짐에도 이처럼 차이가 있는 이유는 무엇일까? 더 쉽게 구할 수 있기 때문일까 아니면 그 생명의 사라짐에서 나타나는 모습들이 다르기 때문인지 알 수 없다.


월호가 침몰한 2014년 그 해도 분명 봄은 찾아왔었다. 그 때도 벚꽃은 피었었다. 그 해 아직 개화하지 못하고 낙화한 어떤 꽃봉우리를 보았다. 예전 같다면 그런 것이 눈에 들어오지도 않았을 것이고 그냥 지나쳤지만 그 해 아직 개화도 못한 낙화를 보고 침몰하는 배안에서 사라진 생명들이 떠올랐다. 자신의 꿈을 펼쳐 보지도 못하고 사라진 생명들이 겹치면서 그 꽃마저도 안타까운 마음이 겹쳐 느껴졌다. 아무리 생명력이 강한 꽃들도 그리 긴 시간을 견디어 내지는 못한다. 그것이 섭리 providence 일지 모른다.

많은 이들은 '사랑'을 찾아 다닌다. 그리고 더 많은 이들은 사랑받기 위해서 많은 조건들을 만든다. 그러나 그렇게 노력하는 것 중에 정말 사랑을 위한 것이 무엇이 있을까 생각하게 된다. 아름다워지고 많은 이들의 인기를 얻을 수 있는 무엇인가를 조건으로 가졌고 자신이 원하는 사랑을 많이 받았다고 하지만 만약 그 조건이 사라진다면 그 사랑은 유지될 수 있을지 모른다. 그래서 사랑은 가장 보잘 것 없는 존재를 그대로 받아들이는 과정에서 더욱 선명해진다.

분히 좋아할만한 것을 좋아하는 것은 쉬운 일이지만 좋아할 수 없어 모두가 다 떠나갈 때도 지켜주는 이가 누구인지 볼 수 있다면 좋을 것이다. 누구나 화려하게 아름답게 핀 꽃을 좋아하는 것은 쉽다. 그러나 꺾어지고 찢기고 상처난 꽃을 좋아하는 것은 쉬운 일이 아니다. 나에게 줄 아름다움이 없다면 그냥 버리는 이들은 꽃을 사랑하는 것이 아니라 꽃이 필요할 뿐이다.


꽃처럼 한철만 사랑해줄껀가요

Tuesday, May 22, 2018

끔 약을 먹어야 하는 사람에게는 모를 수 있지만 매일 약을 먹어야 하는 사람들은 오늘 아침에 약을 먹었는지 안 먹었는지 잊을 때가 있다. 잠에서 깨어 습관적으로 먹고 잠들었다가 꿈에서 먹었는지 진짜 먹은 것인지 모를 때도 있다. 그래서 요일별로 7개의 칸이 나누어진 약 상자에 넣어두고 오늘 요일에 해당하는 약이 있는지 없는지를 확인하고 먹을 때도 있다. 저녁 약을 먹어야 한다면 비슷하다. 저녁에 약을 먹었는지 아닌지 알지 못할 때가 있다. 요일별로 나누어진 약상자를 가지고 다니면 좋지만 일주일에 한번 일주일 약을 챙기는 것도 귀찮을 때가 있다. 요일 별 상자도 좋지만 저녁에 먹어야 하는 약이 4개 정도라면 4칸 혹은 아예 나누어지지 않은 약 상자를 가지고 다니면서 오늘 저녁 약을 먹었는지 아닌지 확인할 수 있는 방법은 없을지 생각해 본다.


습관적으로 매일 아침, 저녁으로 먹어야 하는 사람에게 약을 먹으라고 알람을 울리는 것도 좋은 방법이다. 지금 하고 있는 일이 있어서 나중에 먹어야 겠다 마음먹고는 잊어버리는 경우도 있고 방금 전에 먹었는지 아닌지도 확실하지 않을 때도 있다. 요일별로 나누어진 약 상자라면 오늘 요일을 확인하면 되지만 만약 요일별로 있지 않을 때도 방법이 있다. 약 상자에 약을 넣을 때 7의 배수로 넣는 것이다. 7개, 14개 약이 작다면 21개 이런 식으로 넣는다. 저녁 약을 잘 먹어오다가 목요일 저녁에 약을 먹었는지 아닌지 모르겠다면 남아 있는 약을 세어 보고 만약 3개, 10개가 남았다면 먹은 것이고 4개, 11개가 남았다면 목요일 저녁에 약을 아직 먹지 않은 것이다.

알약의 개수는 데이터이다. 몇개가 남았는지는 우리에게는 그냥 주어지는 데이터일 뿐이지만 요일 정보와 결합이 될 때 우리가 무엇을 했는지 아닌지를 알 수 있는 개인에게 관련된 정보가 되는 것이다. 데이터는 단순한 숫자 혹은 문자열일 수 있지만 데이터가 개인의 상황 혹은 조건과 결합이 되면 개인에게 의미가 있는 정보가 될 수 있다. 알약의 예에서 3개, 10개가 남은 것은 단순한 데이터이지만 이것이 목요일이라는 정보 그리고 매일 약을 먹는 사람이라는 상황이 결합이 되면 개인이 약을 저녁에 먹었는지 아닌지 알 수 있게 된다. 데이터란 무엇이며 데이터가 가지는 힘, 그리고 그 힘이 우리에게 어떻게 다시 영향을 줄 수 있는지를 이해하는 것은 정보의 바다에서 최소한 익사하지 않기 위한 구명정이라 생각하게 된다.


Datum Era ...

데이터는 번역하면 단순하게 자료로 번역되지만 단순히 조금 부족한 느낌이 들기 때문에 외래어로 데이터로 사용할 것이다. 데이터의 어원은 라틴어 datum 그리고 datum 은 '주다'는 뜻의 dare 에서 유래되었다. 무엇인가를 설명하기 위한 기초적인 자료 누군가를 설득시키기 위해 필요한 모든 자료들을 데이터라고 말하고 수리적으로 계산하기 위한 대상이기도 하다. 예를 들어 건물의 높이를 측정하기 위해서 높이가 몇 m 이고 넓이는 어느정도라고 말하는 대부분의 숫자들은 우리가 건물의 규모를 이해하기 위해 필요한 숫자들이다. 그리고 그 숫자를 통해서 건물의 가치가 어떻게 된다와 같은 논리적인 내용을 이어가기 위한 내용들이다. 쉽게 이해할 수 있지만 실제로 데이터는 숫자 그리고 간단하게 교환될 수 있는 문자 정도로 구성되어 있다. 대부분이 숫자이고 컴퓨터의 발달로 문서 내용이나 사진, 음원 등과 같은 거의 모든 내용들은 0, 1 로 이루어진 숫자로 표현이 가능하게 되었다.

간단하게 모든 데이터는 숫자로 표현할 수 있게 되었다고 설명할 수 있지만 중요한 것은 이렇게 표현된 숫자들이 우리의 삶에서 중요한 의사결정을 하는데 무엇을 평가하거나 계획하는데 필요한 숫자들이라는 점이다. 조금 과장해서 이 세상이 0, 1 로 이루어졌다고 할 수 없지만 0, 1에 의해 세상이 움직일 수 있다고는 말할 수 있을 것이다. 영화 매트릭스 (1999) 는 우리가 살고 있는 세상도 실제로 존재하는 곳이 아닌 데이터로 이루어진 곳이며 우리는 그것을 인식하지 못하고 살아갈지 모른다고 이야기해주었다. 소위 빨간약 / 파란약의 선택에서 파란약을 먹는다면 예전처럼 살던 모습대로 살아가고 빨간약을 먹게 된다면 매트릭스 그리고 데이터가 만들어 놓은 실제 세상에서 싸우게 되는 것이다. 파란약을 먹고 망각과 평온의 세상을 살게 될지 빨간약을 먹고 자각과 고통의 세상을 살 것인지 선택하게 된다. 매트릭스처럼 모든 것이 데이터로 이루어진 세상에 허구로 살아가는 존재는 아니지만 우리가 무의식 속에서 흘러가는 수많은 데이터들을 인식하게 되는 순간 세상은 우리가 생각하는 것만큼 데이터의 주인은 우리가 아니라는 사실을 알게 될 것이다. 그래서 영화 매트릭스가 우리에게 전해주고 싶은 이야기는 허구 / 실체의 구별이 아니라 우리가 얼마나 많은 데이터를 만들어 내고 개인정보들이 흘러 나오지만 우리는 그 데이터의 흐름을 인식하지 못하고 있는지 알려주고 싶었는지 모른다.

매트릭스 (1999)

다시 정리하자면 데이터는 의미없는 숫자나 정보까지도 모두 다 포함한다. 그러나 데이터가 조건 condition 과 상황 circumstance 과 결합이 되면 개인정보가 될 수 있다. 앞서 설명한 것처럼 약의 개수는 단순한 데이터지만 약을 매일 먹는다는 조건과 약을 7의 배수로 상자에 넣은 상황이 결합되면 오늘 약을 먹었는지 아닌지 알 수 있게 된다. 우리가 민감하게 생각하는 개인정보 privacy 란 데이터와 조건, 상황이 포함된 결과물이다. 모든 데이터가 개인정보는 아니지만 모든 개인정보는 데이터라고 말할 수 있다. 개인정보의 저장, 전달 및 가공의 단계를 고려해서 우리가 만든 데이터들이 얼마나 많은 개인정보로 전달 가공될 수 있는지 생각해 볼 필요가 있다.


Data Tsunami ...

개인은 얼마나 많은 데이터를 만들고 있고 내가 만든 데이터는 모두 나의 개인정보가 되는지 그리고 내가 만들지 않은 데이터가 나의 개인정보가 될 수 있는가 고민하지 않는다. 특별히 내가 만드는 데이터가 많지 않을 것이라는 생각과 함께 내가 만든 데이터가 중요하지 않을 것이라고 생각하기 때문이기도 하다. 그러나 결론부터 말하면 데이터의 가치는 중요하지 않다. 다시 강조하지만 데이터가 어떻게 개인정보를 포함해서 어떻게 중요한 정보가 될 수 있는지는 조건과 상황에 따라서 달라진다. 냉전시대 인터넷이 중요하지 않은 시절에는 인터넷을 연결할 수 있는 정보 그리고 관련된 데이터는 분명 중요하다 못해 극비 데이터였지만 이제는 누가 가지라고 해도 쓸모없는 데이터이다.

가장 많은 실수 중 하나는 데이터를 만들 때부터 중요한 데이터 / 중요하지 않은 데이터와 같이 가치 판단을 해서 선별해서 만들려고 한다는 점이다. 그러나 데이터는 많으면 많을수록 좋고 데이터가 가지는 조건과 상황을 같이 고려한다면 우리에게 중요한 정보들이 만들어 질 수 있다. 따라서 데이터의 초기 생성 단계부터 데이터의 가치를 판단한다는 것은 다이아몬드 원석을 찾으면서 반짝이는 것만을 찾는 것과 비슷하다. 컴퓨터나 전자 기기가 많이 보급되지 않은 시절에는 어떤 데이터를 수집할 것인지 선택해야지만 한정된 자원으로 원하는 데이터를 모을 수 있었지만 이제는 그럴 이유가 없어졌다. 움직이지 않아도 내 곁에 있는 핸드폰은 끊임없이 내가 어디에 있고 (정확하게 핸드폰이 어디에 있고) 필요하다면 어떤 소리가 나는지 어떤 뉴스가 전달되는지 끊임없이 데이터를 주고 받는다. 그리고 그 데이터 안에는 이미 가공되어 가치가 있다고 생각되는 정보들도 많이 전달된다. 예를 들어 가치있다고 믿는 뉴스가 나에게 전달되었을 때 읽지도 않고 그냥 지워버렸다면 지워버리는 행동 안에도 사용자는 아주 잠깐동안 읽었다 (실제로는 읽지 않았다) 지워버렸다는 데이터가 발생하고 이 데이터를 사용자는 해당 뉴스에 대해서 관심이 별로 없다는 정보를 얻을 수 있다. 반복적으로 스포츠 뉴스에 대해서 읽지 않고 지워버린다는 행동들이 데이터로 모이게 된다면 해당 사용자는 스포츠에 대한 관심이 크지 않다는 정보를 얻게 된다.


이처럼 우리는 별 생각없이 움직이고 반응하고 행동하지만 이 모든 행동들은 핸드폰과 같이 수많은 센서들이 있는 기기를 통해서 상상하지도 못하는 수많은 데이터들이 만들어진다. 다른 예를 들어보자. 반대로 거의 모든 차량에 있는 영상기록장치 (블랙박스) 는 데이터인가 개인정보인가 묻는다면 거의 대부분은 개인정보라고 대답할 수 있지만 해당 영상기록이 누구의 것인지 모르게 인터넷에 그냥 떠돌아 다닌다면 그것은 개인정보이기 보다는 그냥 단순한 데이터라고 말하는 것이 더 정확할 것이다. 누군지 알 수 없고 그리고 특별한 사고 기록이 있어서 더 이상 알 필요가 없이 정상적으로 잘 주행한 영상기록이라면 개인정보의 가치를 가지지 않을 것이다. 다만 대부분의 영상기록 데이터는 누구의 것이라 내용을 알기 때문에 바로 '누구의 것'이라는 소유의 조건이 포함되어 개인정보가 되는 것이다.


Privacy manufacturer ...

소위 음란물 영상에서 사람들이 중요하게 생각하는 것이 무엇일까? 이 질문에 정확하게 대답하기 위해서는 음란물을 탐독하고 그들의 세상에서 접근하는 것이 중요하지만 그렇게 하고 있다고 해도 그렇고 그것을 위해 탐독한다고 해도 좀 그렇다. 간접적으로 알 수 있는 방법은 사람들이 많이 찾는 제목이나 내용을 통해서 찾아보는 것이다. 개인의 성적 흥분만을 위해서 음란물이 필요하다면 누군지 알 수 없이 알몸만 나온 영상으로 성적 행위를 보여주면 될 것같은데 음란물을 탐독하는 제목은 이상하게 등장인물에 더욱 집중하는 경향을 보인다. 인종별로 분류하거나 얼굴이 나왔는지 심지어 영상에서는 알 수 없는 두사람의 관계에 대해서도 친절하게 설명한다. 음란물의 가장 큰 문제는 결국 영상 데이터가 누구인지 특정될 identify 수 있는 개인정보가 된다는 점과 정확한지 알 수 없는 그리고 알 필요도 없는 수많은 잘못된 조건과 상황이 결합되어 막기 힘든 개인정보가 되어버린다는 점이다. 음란물이 사회적 문제가 된다는 공감대를 가지는 가장 큰 이유는 개인정보 뿐만 아니라 그 개인정보가 전달 속도와 힘이 무섭다는 점이다.

음란물은 아니지만 우리는 수많은 개인정보를 만들어 내고 있다. 개인은 단순히 데이터를 만들고 있다고 생각하지만 인터넷은 충분히 그런 데이터를 개인정보로 만들고 있다. 우리가 사용하는 많은 인터넷 서비스들은 다른 의미에서 우리가 의미없이 만들어내는 데이터들을 개인정보로 가공하는 공장과도 같다. 예를 들어 인스타그램 Instagram 에 수많은 사진들을 올린다. 올리는 순간에는 단순히 데이터지만 개인의 계정을 통해서 전달되기 때문에 자연스럽게 바로 개인정보가 된다. 반대로 개인을 특정하기 힘든 광고 목적으로 만들어진 계정에서 올린 데이터라면 개인정보라고 보기 어려운 데이터도 존재할 것이다. 자기 가족의 사진을 올리는 경우를 자주 볼 수 있다. 공개로 올린 단란한 사진들 속에는 누가 아버지고 누가 어머니고 누가 자식인지 모두 보여준다. 나쁜 맘을 먹는다면 아이들을 납치하고 정확하게 몸값을 요구해야 하는 부모가 누구인지 알 수도 있고 아버지를 납치하기 위해 자식이나 부인에게 가족여행 당첨되었다며 유인할 수도 있을지 모른다. 심지어 인스타그램을 포함한 많은 소셜 미디어는 태그를 통해서 더 특정할 수 있다. 예를 들어 #지역맘 과 같이 특정 지역이 포함된 그리고 육아를 시작한 인물들을 찾아내기 쉬울 뿐만 아니라 오히려 그렇게 찾도록 스스로 태그를 올리기도 한다. 마음만 먹는다면 특정 지역에 육아에 몰두하는 엄마를 찾을 수도 있고 자식이 어떻게 생겼는지도 쉽게 파악할 수 있다.


반대로 자신이 소비하고 즐기는 생활 수준을 자랑하고 싶을 수도 있다. 물론 그렇게 자랑하는 것이 나쁘다고 할 수 없지만 자랑하고 싶은 소비 수준뿐만 아니라 삶의 동선까지도 쉽게 노출시킨다. 어느정도 그런 부분을 노출시킬 수 밖에 없기도 하고 광고나 홍보 목적으로 사용한다면 적극 노출되게 해야겠지만 개인의 삶까지도 광범위하게 노출시켜야 하는지 의문스럽다. 오히려 그렇게 노출되는 범위는 결국 피해볼 수 있는 위험을 높여주기 때문이다. 미국의 정보기관에 들어간 기쁨에 자신의 계정에 정보기관 신분증을 공개된 계정으로 올린 정말 이해할 수 없는 사람이 있었다. 물론 그 기쁨과 함께 기관 신분증 이미지를 올린 것만으로 바로 해고되었지만 종종 출입증과 같이 중요한 정보를 가지는 데이터를 아무렇지 않게 올리는 사람들이 있다. 친절하게 자신의 사진이나 이름 정도는 지우고 올리기에 개인정보가 아닌 단순히 데이터라고 할 수 있지만 동일 기관에 대한 출입증 이미지만 모아보면 위조 신분증을 만들 수 있는 좋은 데이터가 될 것이다.

개인정보의 노출 위험성을 인식하고 조심하는 대표적인 경우가 택배 도착의 기쁨을 알리는 사진일 것이다. 열심히 자신의 주소, 이름 등 개인정보가 될 것 같은 부분을 열심히 지우고 올리지만 정작 바코드는 너무도 선명하게 보인다. 바코드를 읽어서 해당 택배 회사에서 송장번호로 검색하면 생각보다 많은 개인정보가 나온다는 것을 알게 된다. 열심히 숨겨온 개인의 주소도 노출될 수 있고 개인이 올리는 지역의 정보을 모아보면 개인의 동선 뿐만 아니라 조금 더 노력하게 된다면 개인 거주지까지도 알아낼 수 있다. 가끔 #삭제예정 이라는 태그로 올라오는 공개 사진들을 보면 자신의 계정에서 삭제되면 정말로 인터넷에서 삭제될 것이라고 믿는지 모르겠다. 여러가지 목적이 있지만 이처럼 인스타그램에서 공개된 사진들이 거의 실시간으로 수집된다. 그래서 #삭제예정 이지만 이미 #공개완료 라는 사실도 인식해야 한다.


What machine does better ...

인공지능 Artificial intelligence 이 관심의 중심에 놓이면서 항상 재미처럼 붙는 주제가 바로 인공지능이 빼앗아갈 인간의 직업이다. 어떤 직업은 인공지능에 의해서 사라지게 될 것이다. 어떤 분야는 인공지능이 인간보다 더 잘할 것이라고 예상하지만 아직 제대로 존재하지 않는 인공지능의 직업을 사라지게 할 것이라고 말하기도 한다. 인간의 관심사에는 어떤 직업 job 이 사라지게 되는지가 중요할 것이다. 인공지능의 시대에는 선택하지 말아야 하는 혹은 선택할 수 없는 직업이라고 생각하기 때문이다. 그러나 인공지능 더 현실적으로 보아서 직업의 관점이 아니라 작업 work 더 구체적으로는 작업내용 workflow 의 관점에서 생각해 볼 필요가 있다. 알파고 AlphaGo 가 보여준 것처럼 인간과 기계의 대결에서 누가 이기는지가 중요한 것이 아니라 기계가 인간보다 더 잘하는 내용을 찾아야 하는 것이다. 그리고 기계가 잘하는 작업내용을 통해서 기계에게 양보해야 할 내용은 무엇인지 인간이 계속 해야만 하는 것이 무엇인지 결정해야 한다.

우선 인간의 의사 결정 decision making 과정이 정말 논리적이고 합리적인지 생각해 보자. 회사의 최고 경영자나 나라의 지도자 아주 사소한 결정을 내려야 하는 위치에 있는 어떤 사람들도 자신의 선택이 항상 합리적이라 모든 이들이 이해하고 따를 수 있기를 바라지만 현실의 많은 부분은 그렇지 않다. 처음부터 인간의 의사 결정 과정이 정말 합리적인지 의심해야 한다. 많은 자료를 모으고 어떤 결정이 가장 최선의 결과를 얻을 수 있는지에 대해서 고민하지만 종종 인간의 결정은 아주 사소한 그리고 감정적인 선택을 하게 되는 경우를 종종 보게 된다. 단적으로 모든 인간이 객관적 자료에 의해 합리적으로 모두 결정하게 된다면 누군가를 설득시키는 작업도 회사에서 마케팅의 역할도 크게 필요하지 않을 것이다. 그러나 합리적 판단을 위한 충분한 자료 혹은 데이터를 얻지 못하는 경우도 존재하고 잘못된 데이터 혹은 목적을 가지는 데이터를 통해서 잘못된 선택을 하게 되기도 한다. 경영을 잘하기 위해서 도입되는 경영정보시스템 MIS: Management Information Systems 부터 의사결정지원 Decision making support 시스템은 사실상 인간이 좀 더 합리적으로 판단하기 위해서 필요한 데이터를 어떻게 잘 모을 수 있는지 도와주는 것이다. 그러나 결국 마지막 선택은 그 모든 데이터와 분석에도 불구하고 인간이 한다.

출처: IoT for all - https://www.iotforall.com

그래서 모든 직업에서 이루어지는 구체적인 작업내용 workflow 상에서 데이터를 모으고 분석하는 단계는 기계가 인간보다 더 잘할 수 있다고 생각했다. 그러나 현실적으로 그 모든 데이터들은 대부분 인간이 입력해야 하기 때문에 어떤 데이터를 입력하게 되는지도 인간의 의도 bias 가 들어가게 되었다. 그래서 인간은 데이터를 입력하기 보다는 무엇인가 가치판단이 포함되어 선택된 정보가 입력되기 쉬었다. 즉, 인간에게 가치있어 보이는 정보를 만들기 위한 수많은 데이터들은 인간이 보고, 듣고 (혹은 느끼고) 판단하고 필요한 정보로 만들어서 가공해서 만드는 작업을 중요하게 생각했다. 수많은 데이터가 아닌 인간이 한번 분석해준 정보로 판단하고 싶은 것이다.

예를 들어 '요즘 유행하는 혹은 앞으로 유행할 패션은 어떤 것인가?' 라는 질문을 받게 된다면 패션 종사자들은 사람들이 입고 다니는 옷들부터 전문가들의 의견 등 다양한 데이터 혹은 정보를 얻어 결론을 내고 싶을 것이다. 그러나 만약 분석하려는 인간이 자신이 자주 다니는 장소만으로 선택해서 이 지역이 유행하면 전국적으로 유행할 것이라는 가정을 통해서 한 지역만을 조사하거나 인터넷에 나오는 많은 패션 사진을 찾아 보지만 실제로 자신의 기호 혹은 선호도 preference 없이 객관적으로 사진을 모을 수 있을지 그리고 그 결과가 어떨지는 알 수 없다. 그러나 기계가 이런 작업을 수행하게 한다면 최근 패션에 관련된 사진들과 소셜 미디어에 올라오는 사람들의 일상 속에서의 패션들을 모아서 옷에서 나타나는 수치들 예를 들어 원피스의 경우 위와 아래가 구분되는 비율이나 옷의 형태뿐만 아니라 일상에서 어떤 옷을 입고 어떤 장소에 자주 간다와 같이 옷 뿐만 아니라 관련된 배경정보들까지도 포함해서 포괄적인 데이터를 분석할 수 있다. 뿐만 아니라 거의 실시간으로 데이터를 추가할 수 있기도 하고 인간이 궁금해 하는 부분들도 바로 분석할 수 있는 능력을 가진다. 기계가 인간보다 충분히 잘 할 수 있는 부분은 데이터가 많아진다면 그 데이터를 모아서 인간이 원하는 질문에 대답하기 위한 시간이 절약된다. 예를 들어 야외에 나갈 때 선호하는 패션은 무엇인지 물어본다면 인간은 다시 야외라는 조건을 포함해서 해당되는 데이터를 다시 보아야 하겠지만 기계에게는 그런 데이터를 처리하는 시간뿐만 아니라 결정적으로 인간이 제시할 수 있는 다소 모호한 그리고 광범위한 대답 예를 들어 "내년에는 무채색의 정장 스타일..." 과 같은 내용이 아니라 기계는 명도 채도 그리고 스커트의 길이는 어떤 비율과 같이 수치화 된 quantified 새로운 정보를 제시할 수 있을 것이다.

A P P A R E L – Clothing in the age of data accumulation and machine learning.
원문: https://meson.in/2s1GV4x

결국 기계가 인간보다 더 잘 할 수 있는 작업내용을 생각해보면 역시 데이터를 얻어내고 분석하고 이를 수치화 하는 작업을 우선 생각할 수 있다. 역시 좋은 목적으로 기계의 수집, 분석 능력을 사용할 수 있지만 개인이 인지하지 못하고 만들어 내는 수많은 데이터를 개인정보로 만들어 내는 작업도 분명 기계가 탁월하게 할 수 있을 것이다. 예를 들어 특정 인물이 어떤 곳에 살고 있고 가족 관계가 어떻게 되고 아이는 어떤 유치원에 다니는지 우리는 수작업으로 관음증 환자처럼 찾아내야 하는 작업들을 기계는 아주 쉽게 그리고 죄책감도 거의 가지지 않고 쉽게 할 수 있을 것이다.


Such a trivial data ...

대한민국은 주민등록 번호 하나로 수많은 개인정보를 얻어 낼 수 있는 무서운 국가 중 하나이다. 물론 국가가 국민을 쉽게 통제할 수 있는 수단으로 그리고 어떤 측면에서는 범죄자를 쉽게 찾아낼 수 있는 좋은 수단이라고 변호할 수 있지만 범죄자를 위해서 수많은 비범죄자의 개인정보까지 들춰질 권리까지 국가가 가져야 한다고 주장할 수 없다.

한국에서는 수많은 카페나 공공장소에서 인터넷을 쓸 수 있다. 예를 들어 카페에서 접속할 수 있는 소위 비밀번호 (정확한 의미에서 비밀번호는 아니다.) 를 입력하면 무선인터넷을 사용할 수 있다. 그러나 그와 함께 카페의 내부 인터넷에 들어갈 수 있다 혹은 공유기에 접속한다는 말이다. 그리고 공유기 관리를 위한 페이지에 접근할 수 있다. 공유기의 관리자 암호/패스워드가 기본값이라면 카페 관리자가 아니라도 쉽게 관리화면에 들어가서 수많은 설정을 바꿀 수 있다. 이론상 (그리고 현실상) 외부에서도 접근이 가능하다는 말이다. 그리고 공유기 설정값이 기본값으로 되어 있다면 수많은 공유기에 접근해서 원하는대로 설정을 바꿀 수 있다. 가장 쉽게 DNS 를 바꾸는 것을 생각할 수 있다. DNS 는 인터넷의 주소록이다. [ 인터넷의 주소록 DNS 서비스 ─ 기반기술에 대해서... ] 예를 들어 은행 업무를 위해서 yourbank.com 을 입력할 때 해당 도메인 이름이 어디에 있는 서버인지 알려주는 주소록이 DNS 인데 이 DNS 에서 yourbank.com 가 자신들이 만든 은행처럼 보이는 곳으로 알려주어 접근하게 한다. 잘못된 DNS 정보로 들어간 사용자는 자신은 은행업무를 본다고 생각하지만 가짜 은행 사이트에서 자신의 개인정보를 입력하게 된다.

일반 가정집에서 사용하는 공유기에 중국 (124.94.30.252) 에서 들어오려고 한다. 공유기의 비밀번호 기본값을 통해 들어오려는 시도를 쉽게 볼 수 있다. 

실제로 내부 인터넷에 들어간다는 것은 외부에서 접근하는 것과는 차원이 다른 많은 부분들이 노출될 수 있다. 대표적으로 CCTV 도 들어가서 볼 수 있다. 인터넷을 제공하는 많은 곳에서 이처럼 자신의 공유기를 제대로 관리하지 않거나 CCTV 도 쉽게 기본값으로 들어갈 수 있는 곳을 자주 볼 수 있다. 종종 이런 이야기를 해주지만 대부분의 반응은 "별로 중요한 것도 없는데요." 혹은 "뭐 볼게 있겠어요." 라고 크게 무서워하지 않는 경우가 대부분 이었다. 그러나 대한민국이 아닌 다른 나라에서 이런 가능성에 대해서 이야기하면 상당 부분 놀라는 경우가 많았고 싱가포르와 같은 나라는 자신의 인터넷을 공개하거나 이렇게 위험에 노출시키면 안되도록 규제하고 있다. 권한이 없는 혹은 주인이 아닌 사람이 들어와서 영상 자료를 보는 것이 무엇이 문제일까 싶지만 개인적으로 생각한 창의적인(?) 생각은 노트북 쓰는 사람의 화면이나 키보드 입력 모습을 통해서 충분히 암호도 알아낼 수 있을 것이라고 생각했다. 실제로 공공장소에서 전혀 모르는 사람이 누구인지 그 사람의 소셜 미디어 계정을 찾아내는 방법은 다양하다. 책에 적어놓은 학번 / 이름 을 통해서도 알 수 있고 옆자리에 앉아 로그인하는 화면에서 이름이 누구인지 알 수도 있고 가끔 거울이나 물건 등에 반사되어 보이기도 한다. 지하철에 서서 가면 앞에 앉아 있는 사람이 무엇을 하고 있는지 시력이 좀 더 좋다면 그 사람의 계정 이름도 알아낼 수 있다.


유명한 사람도 아니고 내 개인정보가 뭐 중요하겠어 라고 생각할 수 있다. 대규모 서버에 공격하는 사람들도 많지만 의외로 전혀 들어올 이유가 없는 아주 사소한 서버에도 공격하는 사람들이 많다. 우리가 느끼지 못할 뿐이지 정말 정체를 알 수 없는 수많은 공격자들은 개인 서버인지 그냥 가정집 공유기인지 생각하지 않고 무조건 공격하는 경우를 자주 볼 수 있다. 개인적으로 관리하는 곳들은 모두 공유기에 접근하려다 실패하는 내용을 보지만 만약 공유기 관리 화면에 기본값으로 접근할 수 있다면 아마 공격자들이 의도한대로 접근해서 자신들이 원하는 작업을 했을 것이다.


How to protect privacy ...

무선랜을 사용하기 위해서 무선랜 비밀번호를 입력한다고 말하지만 정확히 이는 비밀번호는 아니다. 내가 접근하고 싶은 무선랜 이름 (SSID: service set identifier) 를 선택하면 네트워크 보안 키 를 입력하라고 나온다. 소위 '무선랜 비밀번호'는 키 key 이다. 간단하게 설명하면 우리가 입력하는 '비밀번호'는 무선랜을 써도 좋다는 허락을 위한 암호가 될 수도 있지만 사용자의 기기와 공유기가 데이터를 주고 받을 때 전달되는 데이터가 암호화가 될 수 있는 열쇠와 같은 것이다. 예를 들어 내가 데이터를 보낼 때 가장 먼저 공유기에 전달이 되어야 하는데 공유기에 전달되기 전에 내가 보내는 데이터를 '미리 정한(공유한) 키 Pre-Shared Key' 를 통해서 암호화를 해서 보내니 공유기 너는 이 키를 가지고 암호화한 데이터를 풀어서 받아 라고 규칙을 정한 것이다. 간단히 정리하면 사용자의 기기와 공유기 사이에 전달되는 데이터가 암호화하기 위한 것이다. 그래서 공개되어 '비밀번호가 없는' 무선랜은 그 사이에 전달되는 데이터가 암호화되지 않은 상태로 전달된다는 것이다.

데이터가 암호화되고 암호화되지 않은 것에 대해서는 조금은 민감할 필요가 있다. 옛날에는 안방에서 엄마가 전화하고 있으면 다른 방에서 수화기를 몰래 들어 통화를 감청(?)할 수 있었다. 마찬가지로 두 사람이 통화하는 중간 어딘가 똑같이 신호를 받아서 들을 수 있다면 같은 집 수화기를 통하지 않고도 들을 수 있다. 인터넷 데이터도 마찬가지이다. 암호화되지 않은 데이터는 어딘가에서 똑같이 받을 수 있다. 즉, 전달과정에서 동일한 데이터를 여러 곳에서 얻게 된다. 암호화가 되지 않았다면 내가 보내는 데이터 - 채팅 내용, 비밀번호, 주소록 등 - 모든 데이터 내용이 그대로 알아 볼 수 있는 형태로 얻게 된다. 그러나 만약 보내는 A 와 받는 B 둘만이 어떤 키를 가지고 있고 A 가 그 키를 통해서 보내는 데이터를 암호화해서 보내고 B 는 받은 데이터를 미리 공유된 키를 가지고 암호를 풀면 (복호화) 아무리 중간에 데이터를 얻게 된다고 해도 중간에서 데이터를 몰래 볼려고 한 사람은 암호화되어 알아낼 수 없는 데이터만 얻게 되는 것이다. 그래서 공개된 무선랜에 접속해서 인터넷을 쓴다는 것은 최소한 같은 공유기 내에 있는 사람에게는 암호화되지 않은 데이터를 누군가 몰래 볼 수 있다는 말이다.


인터넷에서 데이터 암호화는 상당히 중요하다. 그래서 이제는 거의 모든 웹서비스는 기본적으로 데이터 암호화 기술을 적용해서 사용하게 한다. 인터넷 주소창에 http:// 로 시작하는 주소와 https:// 로 시작하는 주소를 볼 수 있다. http:// 는 공개된 무선랜이라 생각하면 된다. https:// 는 사용자와 서버 사이의 데이터를 암호화해서 전달한다고 생각하면 된다. 다시 말해 http:// 를 보고 입력하는 정보들은 전달되는 과정에서 암호화되지 않은 상태 그대로 누군가에 의해 노출될 수 있다. 반면 암호화가 되어 있는 서버 사이에서는 내가 입력한 정보들은 암호화가 되어서 중간에서 데이터를 가져가도 암호화된 데이터만 가져가 제대로 된 키가 없다면 제대로 된 정보를 얻어낼 수 없다. 그래서 암호화된 주소 https:// 를 가지는 웹서비스만 사용하도록 습관을 가지는 것이 좋다. 조금만 관심을 가지고 보면 알겠지만 대부분 주요 서비스들은 암호화는 기본이고 데이터 암호화 통신의 중요성을 인식하고 있는 단체를 중심으로 개인들도 암호화를 쉽게 그리고 비용없이 적용할 수 있도록 도와주고 있다. 가장 대표적인 곳이 Let's Encrypt 이고 개인도 간단한 설정만으로 적용할 수 있다. 그리고 많은 기업들은 데이터 암호화가 기본이 될 수 있도록 필요한 비용과 지원을 하고 있다. 그만큼 우리가 일상적으로 사용하는 데이터가 누군가에 의해서 탈취당해서 악의적으로 사용될 가능성, 아무리 '사소한' 개인의 데이터라고 해도 보호되어야 한다는 철학을 가지고 있는 것이다.


데이터 암호화가 적용되었는지 아닌지 살펴보면서 인터넷을 돌아다니다 보면 대한민국의 주요 기업들은 여전히 부족하다는 것을 알게 된다. 심지어 인터넷이 사업의 중심인 회사들조차도 자신의 서비스를 제대로 된 암호화를 제공하지 않고 서비스하는 것을 볼 수 있다. 알 수 없는 회사의 심오한 경영 철학이 있다면 할 수 없지만 개인 데이터의 중요성을 누구보다 잘 알고 있고 그런 사용자의 데이터가 어떤 기업보다 기업 경영의 자산인 기업에서 이렇게 보호되지 않는 웹서비스를 한다는 것은 조금 이해하기 어렵다. 뭔가 이해할 수 없는 심오한 그리고 기술적 진보로 암호화되지 않은 인터넷 환경에서도 개인의 데이터를 보호할 수 있는 최첨단 기술이 존재할 것 같지도 않다.


Less better than more ...

보안에서 한가지 원칙은 자신의 민감한 정보들은 자주 입력하지 않는 것이다. 예를 들어 브라우저에 비밀번호를 저장하고 들어갈 때마다 브라우저에서 비밀번호를 넣어주는 것과 들어갈 때마다 사용자가 비밀번호를 입력하는 것 중에서 어떤 것이 더 안전한지 묻는다면 대부분 브라우저에 자신의 비밀번호가 저장되어 있다는 사실때문에 매번 비밀번호를 입력하는 것이 더 안전할 것이라고 생각할 수 있다. 그러나 사용자가 키보드나 터치스크린을 통해서 입력하는 과정에서 발생할 수 있는 시각적인 해킹 - 사용자가 키보드를 입력하는 움직임을 통해서 비밀번호를 알아내는 - 이나 키보드 로그 - 키보드의 기록값을 몰래 저장하는 - 를 통해서 유출될 가능성이 있다. 그러나 브라우저에 저장된 비밀번호를 바로 암호 입력부분에 넣게 된다면 최소한 키보드 입력에 의한 위험성은 줄일 수 있다. 그러나 여기에서 더 중요한 부분이 있다. 사용자가 기억할 정도의 비밀번호는 두가지 위험성을 동시에 가지고 있을 가능성이 높다. 첫번째는 자주 쓰는 비밀번호가 한두개 정도 심지어 아예 동일한 비밀번호를 사용하고 있다면 다른 웹서비스에서 유출된 비밀번호가 바로 다른 웹서비스에서 사용될 수 있게 된다. 그리고 사용자가 입력을 매번 할 수 있다는 것은 사용자가 기억하고 있다는 것이다. 사용자가 기억할 수 있는 memorable 비밀번호란 어느정도 유추할 수 있는 비밀번호일 가능성이 높다.


그래서 비밀번호는 아예 사용자가 모르는 것이 가장 안전할 수 있다. 문제는 자신의 비밀번호인데 자신이 모르고 기억하지 못한다는 것이 말이 안되는 소리같다. 브라우저가 비밀번호를 저장하고 있듯이 비밀번호만 대신 저장해서 관리해주는 프로그램도 가능하다. 접속하는 웹서비스에 맞는 사용자 이름 / 비밀번호를 저장하고 있다가 필요한 항목에 사용자 이름 / 비밀번호를 대신 입력해주는 것이다. 사용자가 입력할 필요가 없다. 만약 각 웹서비스 별로 비밀번호를 저장할 수 있다면 비밀번호를 기억할 필요도 없고 얼마든지 길게 그리고 복잡하게 비밀번호를 입력해도 괜찮다. 다만 비밀번호를 관리하는 프로그램을 실행시키기 위한 비밀번호는 기억하고 입력해야 할 것이다. 모든 웹서비스의 비밀번호가 모두 다르다면 한 웹서비스에서 유출된 자신의 비밀번호를 걱정할 필요가 없을 것이다. 유출된 비밀번호를 통해 다른 웹서비스에 들어갈 수 없기 때문이다. 좀 더 보안에 신경쓰기 위해서는 2차 인증 2-step verification 을 사용하는 것이다. [ 인터넷 보안 - 나의 계정을 지키자 ]

공용 컴퓨터를 자주 사용하기 보다는 정해진 기기에서만 접속할 수 있다면 좋을 것이다. 자주 개인정보가 입력될 수록 분명 노출될 가능성은 높아지기 때문이다. 공용 컴퓨터는 특히 어떤 악의적인 프로그램이 설치되어 있을지 데이터 전달을 위한 안전한 환경인지 확인할 수 없기 때문이다. 인증을 위한 다양한 방법을 제시하는 것도 좋다. 로그인을 하면 2차인증을 통해서 다시 한번 확인할 수 있지만 등록된 스마트폰에 간단한 메세지를 보내 로그인을 위해 확인하는 방법도 있고 확인 메일을 보내서 메일에 포함된 확인 주소를 통해서 인증해서 들어갈 수 있다. 모든 방법들은 사용자의 편의를 위한 부분도 있지만 만약 비밀번호가 유출되었다고 해도 본인을 인증할 수 있는 다양한 방법으로 본인이 아닌 다른 사람의 접근을 막기 위해서이다. 사실 2차인증도 완벽하게 안전하다고 말할 수 없다. 가장 창조적인 방법으로 이미 유출된 개인 아이디와 비밀번호를 통해서 접근을 하고 SMS 로 2차인증 번호를 보내주는 계정의 통신사 SMS 서버를 해킹해서 중간에 2차인증 번호를 받아서 이를 입력해서 들어간 경우도 있었다. 더 강화된 다양한 기술을 적용하지만 최소한 진짜 사용자가 접근하는 모든 방법을 그대로 수행한다면 들어가는 것을 막을 수는 없을 것이다.

그렇다면 이렇게 애쓰며 남의 계정을 들어가려고 하는 것일까? 그 속사정을 알수는 없지만 무엇인가 이득이 있기 때문에 그렇게 애쓴다고 할 수 있을 것이다. 가장 쉽게 볼 수 있는 경우는 광고용으로 사용하기 위해서 타인의 계정에 들어가는 것이다. 이미 만들어진 계정이고 자신의 신분을 효과적으로 숨길 수 있고 유출된 비밀번호라면 특별히 계정을 만드는 것보다 더 안전하기도 하기 때문이다. 그리고 자신의 계정으로는 쉽게 올리기 힘든 강도높은(?) 광고들도 올리고 계정이 삭제되더라도 괜찮기 때문이다. 그리고 여러개의 계정을 가진다는 것은 그만큼 접속 회수를 늘릴 수 있는 도구로 사용될 수 있다는 것이다. 이해할 수 없지만 좋아요 ♥ 가 많이 달린 개시물에 대해서는 알 수 없는 신뢰를 보인다. 다수가 좋아하는데 무슨 문제있겠어 혹은 다수가 인정하니깐... 과 같은 요소는 우리가 냉정하게 판단하기 보다는 처음부터 편향된 방향으로 생각하기 쉽도록 만들거나 특별히 큰 관심을 가지지 않는 부분도 거의 유일하게 신뢰할 수 있는 것은 다수의 긍정이라는 사실이라고 믿기 때문에 타인의 수많은 계정을 동원해서 좋아요 숫자만 올리는 것으로 광고효과가 좋다고 믿는 이들에게는 다수의 계정을 확보하는 것이 중요할 것이다.


Data is flowy ... Information is ...

우리가 인식하지 못한 상태에서 수많은 데이터를 만들어 내고 있고 그 데이터는 우리의 의도와는 다르게 사용되기도 한다. 그 모든 순간에도 생각해 볼 부분은 바로 데이터는 흐름이라는 점이다. 숫자 혹은 단순한 문자에 불과하다고 생각할 수 있지만 데이터는 흐름이 존재할 때 더 많은 가치를 가질 수 있는 가능성을 가지게 된다. 그래서 많이 사용되는 데이터일 수록 정보에 더 많은 영향을 줄 수 있는 가능성이 높고 그만큼 중요한 데이터가 될 수 있다. 그래서 데이터는 가치판단 뿐만 아니라 옳고 그른 판단을 내릴 수 없다. 숫자 3.141595 가 나쁘다라고 말할 수 없기도 하지만 심지어 '살인'이라고 해도 '가족을 지켜내기 위해서 강도를 살인하다' 라고 한다면 살인 하나만으로 나쁘다고 말할 수 없기 때문이다.

그만큼 데이터란 우리에게 알려주는 정보의 단편 혹은 아직 분석되지 않은 사실의 흐름일 뿐이지 그 데이터가 우리에게 좋다 나쁘다를 말해줄 수 없다. 문제는 데이터를 어떻게 관리하고 어떻게 통제하는가의 문제이다. 유리한 데이터만 보여주고 불리한 데이터는 감춘다고 해도 데이터는 흐름을 가지기 때문에 데이터의 흐름이 끊어진다면 우리는 그 데이터를 신뢰할 수 없게 된다. 큰 범위에서 의도적으로 조작된 데이터는 항상 스스로 잘못된 부분을 알려주기 마련이다. 일부러 감추려는 데이터는 그 흐름이 인위적으로 끊길 수 밖에 없기 때문이다. 이러한 데이터의 특징을 잘 모르고 감추기 위해서 데이터를 조작하거나 숨기는 것은 자신에게 유리한 / 불리한 데이터가 존재한다고 가치판단을 하기 때문이다. 조작된 데이터를 보여줄려고 한다면 차라리 아무것도 공개하지 않는 것이 숨기려는 자들에게는 최선의 선택이라는 것 아니면 모든 것을 그대로 밝히는 것이 가장 좋을 것이다.


그래서 데이터란 숨기고 보여주지 않으려고 하고 데이터의 관리를 통제하려고 하는 것보다 투명하게 공개하는 것이 중요하다. 그런 의미에서 있는 그대로의 데이터와 그 데이터의 흐름을 숨기지 않으려는 것을 투명성 transparency 라고 한다. 2000년대 말 사용자의 개인정보를 관리하는 기업 특히 구글을 중심으로 해서 데이터의 투명성이 중요하다고 강조했다. 구글 투명성 보고서 페이지에 소개된 투명성에 대한 간단한 설명은 다음과 같다.

"정부 및 기업의 정책과 조치가 개인정보 보호, 보안, 정보 이용에 미치는 영향을 보여주는 데이터를 공유합니다." 
"Sharing data that sheds light on how the policies and actions of governments and corporations affect privacy, security, and access to information."

결과적으로 공유 (제공) 하는 것은 데이터이다. 그 데이터의 성격은 정부 및 기업의 정책과 조치가 개인정보, 보안, 정보 이용에 미치는 영향을 보여준다. 간단하게 설명하면 정부가 요구해서 어떤 범죄 의심자의 위치, 지역이나 관심 분야 등과 같은 개인정보를 얼마나 제공했는지 그리고 그 이유는 무엇이였는지 알려주는 것이다. 그리고 어떤 이유에서 개인이 올린 데이터를 삭제했는지 서비스 장애에 의해서 개인이 제대로 데이터를 관리할 수 없는 순간은 없었는지 보고하는 것이다. 다양한 내용들이지만 서비스 전반에 걸친 모든 데이터의 흐름이 어떻게 진행되고 있는지 데이터의 흐름에 영향을 줄 수 있는 모든 상황 / 조건을 공개한다는 것이다. 중요한 점은 데이터의 흐름을 막거나 통제하는 것이 아니라 가급적 데이터가 잘 흐를 수 있도록 하고 그 과정에서 그 흐름을 막거나 바꿔야 하는 경우가 있었다면 그 이유와 결과를 보고하는 것이다. 따라서 투명성이란 개인정보가 어떻게 어디로 흘러갈 수 있는지 확인할 수 있는 중요한 부분이다.

NGO 단체인 국가투명성기구 (Transparency International‎) 는 국가의 청렴도 반대로 부패지수를 발표한다. 부정부패는 사회나 국가에서 인간을 억압하고 고통을 주는 요소라고 생각한다. 정직하게 생각하고 이를 행동하려고 해도 부정부패가 만연해 있다면 제대로 자신의 양심대로 살아가기 어려울 뿐만 아니라 대부분 희생자가 될 것이라는 점이다. 그리고 부정부패의 가장 큰 적은 부정부패의 상황을 제대로 밝히지 않고 숨기기 때문이라고 보았다. 그래서 국가의 투명성은 부정부패의 정도를 알려서 얼마나 많은 비정상이 존재하는지 알리는 것이라고 본다. 웹서비스도 비슷하다. 좋은 웹서비스가 존재하고 사용자들이 잘 사용해 유용하다고 해도 자주 서비스가 중단되거나 소수의 이익만을 위해서 운영되면 안되기 때문이다. 어떤 문제도 발생하지 않는다면 좋겠지만 완벽할 수 없다면 문제가 되는 부분을 공개하는 것이다. 그리고 문제가 되는 부분을 투명하게 사용자들이 알게 된다면 자신이 사용중에 발생한 문제가 자신의 문제인지 서비스의 문제인지 파악할수도 있을 것이다. 투명성이란 모든 이들이 사용하는 서비스 그리고 그 과정에서 발생하는 모든 데이터에 대한 흐름을 파악할 수 있도록 해줘야 한다는 생각이다.


GDPR ...

요즘은 메일함에서 GDPR 에 대한 메일을 쉽게 본다. GDPR 는 General Data Protection Regulation 의 약자로 유럽연합이 유럽전역을 우선 대상으로 적용하는 '일반 개인정보보호 규정'이라 부른다. 그러나 General 을 그대로 해석해 일반이라고 표현하지만 적극적으로 일반이 아닌 '모든' 혹은 '통상' 이라고 부르는 것이 더 정확할 것 같다. 다시 말해 특별한 조건이 붙지 않는다면... 데이터의 관리, 처리에서 발생하는 문제는 누구의 책임인지 그리고 그 역할에 대해서 정의내리고 있다. 물론 유럽연합에 적용되는 규정이기 때문에 타 지역에서 지키지 않아도 되겠지 싶지만 데이터는 흐름이고 그 흐름에는 특별히 국경의 의미가 존재하지 않는다는 점 그리고 전략적으로도 유럽은 상당수의 데이터의 관리 주체라는 점에서 실질적으로 유럽연합의 적용은 전세계의 적용이나 다름없다. 뿐만 아니라 이 규정에서는 우선적으로 '확장된 영토 적용 범위'를 통해서 지리적 구분이 중요한 것이 아니라 데이터의 흐름이 중요하다고 강조하고 있다.


GDPR 에서 제시하는 중요한 개념에는 Controller Processor 가 있다. Controller 는 '정보통제자' 혹은 '정보관리자' 라고 해석하기도 하고 Processor 는 '정보처리자' 혹은 '정보가공자' 라고 해석하기도 한다. 그냥 컨트롤러 / 프로세서 라고 그대로 쓰기도 한다. 한국어 번역의 기본 내용이 없어 그대로 컨트롤러 / 프로세서로 표현한다. 컨트롤러란 개인정보를 포함하여 개인이 만들어내는 데이터의 수집, 관리 그리고 광범위한 범위에서의 삭제까지 포함하는 데이터 / 개인정보를 어떤 방식으로 관리해야 하는지 책임의 범위를 확대했다. 개인 계정의 해킹에 의해서 노출된 개인정보라면 그 책임이 누구에게 있는지 범위를 확대하고 컨트롤러가 다양한 수단을 사용하려고 노력했지만 어쩔 수 없음을 증명하지 못한다면 컨트롤러의 책임이 있다는 점을 강조했다. 프로세서는 개인정보를 분석, 가공하는 과정에서 필요한 원칙과 역할을 제시했다. 그리고 무엇보다 어떤 과정에서 개인정보 유출되었을 때 적절한 통지를 해야한다. 예전에는 투명성을 통해서 데이터의 흐름을 파악할 수 있도록 했다면 GDPR 이후에는 개인정보가 유출되거나 남용되는 순간에 개인이 바로 알 수 있도록 알려야 한다. 그래서 개인정보의 주체는 권리가 확대되어 개인이 필요하다면 자신의 개인정보의 보관 삭제에 대한 적극적인 권리를 행사할 수 있도록 보장한다. 즉, 개인정보를 지우고 싶다면 개인정보를 보관, 관리, 가공하는 주체들이 이를 실행하고 이 결과를 개인에게도 알려야 한다.


이 정도 내용이라면 개인의 권리는 증가하고 기업은 불리해지는 것은 아닐까 생각하지만 중요한 점은 개인이라도 충분히 컨트롤러나 프로세서가 될 수 있다는 점을 생각해야 한다. 만약 내가 인터넷에서 우연히 얻은 개인정보를 통해서 분석을 한다고 해도 그 개인정보의 주체가 요구한다면 아무리 상업적 목적이 아니라도 그 요구를 들어주어야 한다. 심지어 개인 서버를 운영하고 있고 개인이 접속해서 남긴 다양한 개인정보 - IP 주소, 지역 등 - 에 대해서 수집하는 순간 개인도 컨트롤러가 바로 된다. 결국 기업 / 개인을 위한 규정이 아니라 어떠한 데이터를 얻고 처리하고 살아가야 한다면 이 규정에 적용받지 않을 수 없다는 것도 인식해야 한다. 결국 개인정보에 대한 중요성을 강조하게 되면서 수많은 데이터의 흐름에 대해서 민감하게 인식해야 하는 세상이 되었다.


Cannot be too sensitive ...

전세계의 거의 모든 데이터를 감시하고 테러와 같은 위험을 알아내서 미리 막을 수 있다면 자신의 개인정보도 기꺼이 제공할 수 있는지 묻는다면 어떻게 대답할 것인가? 역설적으로 데이터를 통해서 테러를 막을 수 있다는 생각은 실제로 데이터가 얼마나 중요한 것인지 심지어 현실에서의 행동까지도 미리 막을 수 있다는 뜻이고 이는 데이터 그리고 개인정보는 우리가 생각하는 것보다 높은 생명력(?)을 가지고 있다는 뜻이다. 개인정보는 우리의 삶과 연결되기도 하고 나쁜 목적이라면 한사람의 삶까지도 좌우할 수 있는 무서운 정보이다.

실제로 온라인에서만 이야기를 나누던 상대방에게 화가 나서 마음 먹고 상대방의 실제 거주지와 동선을 파악해서 살인을 했다는 이야기부터 앞서 이야기한 것처럼 가족관계나 사람들에게 협박이 될 수 있는 다양한 정보들을 통해서 두려움에 떨게 만들 수 있기 때문에 개인정보는 충분히 생명력을 가지고 있다. 그리고 생명력이란 타인에게 위협이 될수도 있고 실체하는 physical 위험이 될 수 있기 때문에 스타워즈 1편의 제목인 '보이지 않는 위험 The Phantom Menace' 이 될 수 있다. 현실에서도 인간을 가장 두렵게 만드는 것은 당장 눈앞에 있는 공포나 위험일 수 있지만 단순한 정보 그리고 그 정보에서 나오는 가능성이 큰 공포와 두려움을 만든다. 그리고 인간은 그 공포와 두려움을 피하기 위해서 비논리적인 행동도 하게 된다.


그래서 우리의 개인정보들에 대해서 아무리 민감하게 생각해도 지나치지 않는다. 물론 지나친 생각으로 그 자체가 두려움이 되어 공포 안에서 살아가라는 뜻이 아니라 잘 대처하기 위해서 데이터의 본질과 흐름을 파악하고 개인정보가 어떻게 만들어지고 어떻게 노출될 수 있는지 상식처럼 알아 놓는다면 자신도 모르는 본인의 개인정보로 피해를 보기 전에 대처할 가능성이 높아질 것이다.


Who owns privacy ...?

개인정보는 누구의 것인가? 개인이 보관하고 관리하는 개인의 것이지만 프로세서 Processor - 정보가공자가 만들거나 찾아낸 혹은 분석해서 밝혀진 개인정보라면 그 정보는 누구인지 설명하기 어려울 때가 있다. 예를 들어 자신이 올린 위치 정보가 없는 사진들을 통해서 누군가 사진의 배경이나 주변 정보를 통해서 '누가 사는 곳은 어디이다' 라는 개인정보를 알아냈다면 해당 개인정보는 누구의 것인지 생각해야 한다. 즉, 데이터가 수없이 만들어지고 데이터가 가공되는 과정에서 해당되는 개인들도 인식하지 못하는 정보들은 누구의 것이며 만약 분석한 주체와 상관없이 해당 개인정보 당사자의 것이라고 한다면 당사자는 어떻게 자신도 모르지만 만들어진 개인정보가 있는지 그리고 삭제하고 싶다면 어떻게 할 수 있는지 쉽지 않은 문제이다.

그래서 소위 '잊혀질 권리'를 이야기하지만 정작 잊혀질 권리를 주장할 수 있는 개인정보가 어디에 어떻게 저장되어 있는지 본인도 제대로 확인할 수 없고 검색되지 않는 개인정보는 처리할 수 있는 방법이 없다. 그렇기 때문에 개인정보를 관리하고 가공하는 주체를 나누고 각자의 역할과 책임을 설명하고 있는 유럽연합의 GDPR - 일반 개인정보보호규정 은 지키지 못하거나 책임을 다하지 못한 상황에서 과징금이나 개인 피해에 대한 보상 규정도 포함한다. 그러나 실질적인 문제는 자신이 관리하지도 않는 개인정보를 어디에 있는지 알기 어렵다. 예를 들어 환자의 임상 데이터를 모아서 의학 발전에 도움이 되도록 모을 때 환자가 누구인지 알 수 있는 내용을 제거해서 개인정보였던 내용이 임상 데이터가 된다. 즉, 개인정보에서 개인이 누구인지 알 수 없게 하지만 임상에는 도움이 될 수 있는 데이터로 만드는 것이다. 문제는 제대로 제거했는지 확인하지 못한 상태에서 다른 기관에 임상 데이터를 넘기는데 개인정보가 제거되지 않은 상태로 넘어갔을 때 우리에게 넘어온 임상 데이터가 '당신의 개인정보가 포함되었다' 라고 당사자에게 알려준다면 환자의 의료 정보를 수집한 기관에서 제대로 데이터의 관리를 하지 않았다는 것을 동시에 알리게 된다.


데이터는 흐름이기 때문에 그 흐름에서 누구의 책임인지 찾는 것은 의외로 쉬울 수 있지만 그때 누가 어떤 책임을 가지며 어떤 처벌을 받을 수 있는지는 신중하게 생각해야 한다. 개인정보가 포함된 임상 데이터를 받았을 때 신고하면 신고한 기관은 책임을 면할 수 있다고 해도 그 데이터를 전달해준 기관은 자동으로 책임을 지게 되기 때문이다. 그래서 이런 실수를 제거하기 위해서라도 데이터와 개인정보를 구별하고 정의할 수 있는 방법이 필요하다. 앞서 설명한 것처럼 데이터를 통해서 개인정보를 찾아내는 일을 인간보다 기계가 잘 할 수 있다면 반대로 받은 임상 데이터에서 개인정보가 포함되어 있는지 확인하는 방법도 인간보다 기계가 더 잘 할 수 있을 것이다. 기계에게 임상 데이터를 받게 되었을 때 알 수 없는 환자가 누구인지 알아낼 수 있다면 알아낼 때 단서가 되는 데이터를 제거해서 개인정보가 사라진 임상 데이터로 만들면 되기 때문이다.

역설적으로 데이터에서 알아낼 수 있는 수많은 개인정보들도 기계가 잘할 수 있지만 동시에 개인정보를 찾아낼 수 있는 심지어 그 단서까지도 포함해서 개인정보를 잘 처리할 수 있는 역할을 기계가 잘할 수 있다는 점이다. 이를 응용한다면 사람이 검색과 수작업을 통해서 찾아내고 판단해야 하는 개인정보를 기계가 스스로 학습해서 개인정보를 효과적으로 제거할 수 있다. 가장 대표적인 예는 지도 서비스에서 나오는 수많은 차들이나 사람들의 얼굴 그리고 개인정보로 노출 될 수 있는 많은 개인정보들을 자동으로 흐리게 만들어서 알 수 없도록 하는 것이다. 앞서 예를 들었던 환자의 의료 정보들도 의학적 의미를 살릴 수 있는 수준까지 임상 데이터를 살리고 그 외에 불필요한 정보가 무엇인지 인간보다 더 잘 판단해서 제거할 수 있게 된다.


Human, citizen, ... Identity ...

인간에 관한 권리에 대해서 하나의 문장으로 정리하기 시작한지 그렇게 오래되지 않았다. 정말 반세기 전에는 흑인, 백인이 분명히 구별되어 차별받았던 시절이였고 여성의 참정권이 보장된 것도 그리 오래되지 않았다. 자신이 선택할 수 없는 내용으로 차별을 받지 않아야 한다는 소극적인 형태의 차별금지를 떠나서 자신의 신념, 생각과 같이 스스로 선택했던 것이 인류에 해를 줄 목적이 아니라면 그 어떠한 생각조차도 차별의 대상이 될 수 없다고 해도 여전히 차별과 협오의 시대를 살고 있다. 그러나 조금씩 그 의미에 대해서 고민하고 공론화되면서 다양한 분야에서 그런 차별의 요소를 줄이고자 하는 노력들은 분명 인류의 진보라고 믿게 된다.

예전에는 상상하기 힘들었던 동성애의 사랑을 이제는 드라마에서 쉽게 볼 수 있고 (대한민국은 여전히 아니지만...) 그런 삶의 모습도 우리의 주변에서 일어나는 일들이라고 긍정적으로 받아들일 수 있게 되었다. 그래서 현대 사회에서의 인권이란 우리의 상상력이 어떻게 작용하냐에 따라서 그 범위가 달라질 수 있다. 사회의 변화 이제는 기술의 변화로 인간의 삶이 달라지고 그 결과 얻어지는 모습들이 달라지기 때문에 그런 변화에서 만들어지는 다양한 인권의 범위도 확대해야 하는 것이 사실이다. 그러나 종종 기술이 만든 다양한 모습에 법이 따라가지 못하는 경우를 보면 법이나 규제가 가져야 하는 유연성에 대해서 적극적으로 고민해야 할 시점이라고 본다.


인간에 대한 인권만으로 설명하기 힘들어서 국가 사회에서 시민으로 가지는 권리로 시민권을 생각하게 되었듯 기술의 발달로 만들어지는 개인정보와 데이터에 대한 고민을 통해서 인간이 데이터없이 살아갈 수 없는 그리고 그 데이터로 피해를 보고 때로는 이득을 보는 현실 세상에서 개인정보에 대한 범위까지 포함할 수 있는 정체성을 가지는 자아로 설명될 수 있는 어떤 권리 장전이 필요한 시점이라고 느낀다. 많은 경우 진보적인 생각을 가진 이들과 그런 생각이 필요없는 기득권 사이에서의 계급투쟁으로 얻어지고 그 과정에서 많은 희생이 필요했던 것도 사실이지만 분명 필요한 것은 변화하는 모습에 대해서 어떤 모습의 인간이 더 행복할 수 있는 가능성이 높은지 고민하는 과정일 것이다.

그 과정 속에서 기계 혹은 인공지능으로 대변되는 기계 기술이 영화 터미네이터 (1984) 에서 그려지듯 인간을 억압하는 존재가 아니라 인간의 권리와 확대되는 정체성을 보호할 수 있는 장치로 작용할 수 있기를 바란다. 그리고 그런 작업에서 인간보다 기계가 넓은 범위에서 더 잘 할 수 있다면 기계학습을 통해서 개인정보를 어떻게 보호할 수 있을지 고민하는 것도 필요하다고 본다. 그리고 어쩔 수 없이 수많은 데이터 속에서 작업해야 하는 인간에게 그런 개인정보를 보호할 수 있는 도구로 인공지능이 활용된다면 인간의 직업을 빼앗는 인공지능이 아니라 인간이 특별히 고민하지 않고 좀 더 창의적인 내용에 더 투자할 수 있도록 잡일들을 처리해줄 수 있는 조력자로 인공지능이 존재하고 인간의 직업을 차지하는 역할이 아닌 인간의 작업내용을 더 효율적으로 처리할 수 있도록 도와주는 존재가 될 것이라고 본다.

그렇게 인공지능이 인간에게 도움이 될 수 있는 존재가 될 수 있기를 바란다면 우선 데이터와 개인정보로 넘쳐나는 현실에서 신경쓰이는 수많은 데이터 처리와 개인정보 보호의 역할을 충실하게 수행할 수 있는지 그렇게 도와줄 수 있는 기술의 형태는 어떻게 되어야 하는지 생각해야 할 것이다.


데이터와 개인정보의 시대 ─ 인간이란 무엇인가