비트코인

 IT, 정보보호  Comments Off on 비트코인
Apr 052014
 

비트코인, 우리가 은행이다 (We are a Bank in Bitcoin) February 22, 2014
<이전 포스트: 연결이 지배하는 세상, 화폐의 필연적 진화>
http://organicmedialab.com/2014/02/22/we-are-a-bank-in-bitcoin/ 

지난 포스트에서는 오가닉 미디어 세상에서 왜 새로운 화폐 시스템이 출현할 수밖에 없는지 논의했다. 이번에는 시대가 요구하는 대안으로 비트코인을 다룰 것이다. 비트코인은 아직 검증되지 않았다. 그러나 이 글에서 비트코인은 답이 아니라 ‘현상’이니 안심하기 바란다. 연결이 지배하는 세상에서 화폐(거래시스템)가 진화하는 방향을 짚고 그 흐름을 해석하는 것이 목적이다.

처음에는 네트워크 현상을 연구하는 사람으로서 비트코인이 신기하고 반가웠다. 어떻게 이렇게 오가닉 미디어 현상을 한몸에 설명하는 시스템이 있는지 놀라웠고 한번은 정리해야겠다고 결심했던 것이다. 그런데 마음처럼 쉽지가 않았다. 내용을 파면 팔수록 미궁에 빠졌고 모든 이슈는 서로 네트워크로 얽혀 있었으며 구조는 상상을 초월하게 정교했다. 이런 과정에서 도출한 하나의 사실은, 비트코인은 이전 화폐 시스템과의 완전한 결별이며, 그 자체가 ‘유기체’라는 것이다. 무슨 의미인지 지금부터 3가지 관점에서 알아보도록 하겠다.

첫째, 비트코인에서 화폐가 노드가 아닌 ‘링크’가 되는 현상(여기서 문제의 핵심이 시작된다) 을 알아본다. 둘째, 거래가 단발적인 1:1 관계가 아니라 왜 ‘연결’의 연속인지(여기서 네트워크 기반이 정립된다) 살펴볼 것이다. 세째, 이런 네트워크에서 우리들 각자가 어떻게 협력하여 은행이 될 수 있는지(여기서 자생적 네트워크가 발전한다) 설명하고 시사점을 정리하도록 하겠다.

1. 비트코인은 노드가 아닌 링크다(Bitcoin as a Link)
백원, 천원 하는 돈이 링크라니 이 무슨 어처구니 없는 말인가? 돈은 받아서 손에 쥐고 주머니에 넣고 하는 것인데, 그게 네트워크의 링크라니 말이 되는가? 납득이 어렵겠지만 그렇다. 비트코인에서는 코인이 (노드가 아닌) 링크가 됨에 따라 기존의 화폐 시스템과 근본적인 차이가 생긴다. 이것은 조개에서 금으로, 금에서 종이, 종이에서 데이터로 화폐를 상징하는 컨테이너가 바뀌는 것이 아니다. 화폐의 개념 자체가 바뀌는 근본적인 문제의 시작이다.

비트코인은 항상 송신자와 수신자 관계를 내포하며, 비트코인을 보낸다(지불한다)는 것은 신규의 비트코인을 2번 발행(To 수신자, To 나)하는 것과 같다. 비트코인은 From과 To를 내포하는 ‘링크’인 것이다.
비트코인은 항상 송신자와 수신자 관계를 내포하며, 비트코인을 보낸다(지불한다)는 것은 신규의 비트코인을 2번 발행(To 수신자, To 나)하는 것과 같다. 비트코인은 From과 To를 내포하는 ‘링크’인 것이다.

비트코인 거래에서는 코인과 거래가 1:1로 매핑이 된다. 즉 거래횟수만큼 비트코인이 새로 생성되는데, 비트코인 거래를 할 때마다 여러분이 코인을 발행한다고 생각할 수 있다. 위의 스키마를 보면서 하나씩 살펴보자.

내가 1비트코인을 가지고 있는데 판매자에게 0.7비트코인을 지불하는 경우이다. 보통은 내가 가진 만원에서 7천원 내고 3천원을 거스름돈으로 받는 것을 떠올릴 것이고 왜 새로운 비트코인의 발행이라고 하는지 이해가 안 갈 것이다. 그런데 비트코인에서는 이 거래를 완료하기 위해 두개의 코인이 새로 만들어지는 구조로 되어 있다. 하나는 내가 판매자에게 보내는 액면 0.7 비트코인(BTC) 코인이다. 다른 하나는 내가 나에게 보내는 액면 0.3BTC 코인이다. (이 거래가 이뤄지면 내가 가지고 있던 1 비트코인(BTC) 코인은 폐기된다.)

이때 0.7비트코인은 누가 보냈고 어디로 갔는지 즉 수신자와 송신자 관계를 반드시 내포하게 되어 있다(편지나 부동산 등기를 떠올리면 된다). 그러므로 비트코인에서는 금액이 같다고 해도 같은 코인이 아니다. 설령 내가 친구에게서 0.7비트코인을 받아 판매자에게 0.7비트코인을 보낸다고 해도 이 둘은 다른 코인이 되는 것이다(From 친구 To 나 ≠ From 나 To 판매자). 송수신 관계 없이는 코인 자체가 존재할 수 없다는 말이기도 하다.

이에 따라 코인은 ”(보내는) 비트코인 주소와 (받는) 비트코인 주소를 연결하는 (가중치를 가진) 링크”라고 정의될 수 있다. 코인이 링크가 되는 순간 화폐구조는 근본적으로 변화한다. 지금부터 설명하는 거래의 투명성, 거래 중재의 분권화, 시스템의 유기적 진화를 가능하게 하는 출발점이기 때문이다.

2. 비트코인은 비트코인의 연결이다(Bitcoin as a Network)
비트코인이 링크라는 것도 충격적인데 비트코인이 비트코인의 연결이라는 것은 또 무슨 말인가? 이 이야기를 이해하려면 비트코인의 정의를 환기할 필요가 있다.

비트코인의 창시자 사토시 나카모토는 “비트코인은 코인 소유주의 디지털 서명의 연결(chain of digital signature)”이라고 정의하였다[Sathoshi Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 2008]. 디지털 서명이란 공개키 암호화를 기반으로 문서의 송신자(그리고 문서의 진위 여부)를 확인하는 방법으로(자세한 내용은 비트코인의 주소, 거래, 그리고 지갑을 참조), 비트코인 맥락에서는 비트코인을 보낸 사람(from)을 확인하는 방법이다. 그러므로 비트코인 거래란, 보내는 사람(from)이 자신의 코인에 받는 사람의 주소(to)와 발행금액을 더하고, 여기에 보내는 사람이 디지털 서명함으로써 만들어지는 것이다(단순화를 위해 해시 과정은 생략한다). 받은 사람은 디지털 서명을 확인하여 코인의 진위 여부를 판단한다.

다음 그림은 이러한 과정이 반복되는 상황을 보여준다(이해를 돕기위해 1개의 코인으로 1개의 새로운 코인을 생성하는 경우를 나타냈다. 실제로는 2개 이상의 코인으로 2개의 새로운 코인을 생성하는 경우도 많다).

비트코인은 디지털서명의 연결이다. ‘From과 To’의 관계를 반드시 포함하고 있는 (그 자체로) 링크이며 ‘과거의 거래’ 또한 포함하고 있는 네트워크이다.
비트코인은 디지털서명의 연결이다. 내가 받은 비트코인은 이전 사람(그림에서는 내 친구)이 받은 비트코인에 이전 사람의 디지털서명이 더해진 덩어리이다. 내가 제3자(그림에서는 판매자)에게 코인을 지불할 때도 내 서명이 더해지는데, 이 디지털 서명들의 기록이 모두 누적된 상태로 거래가 계속 이뤄지는 것이다.

다시 말하자면 비트코인은 이전 비트코인(거래)을 포함하고, 이전 비트코인은 그 이전 비트코인(거래)을 포함한다. 결국 비트코인은 과거의 거래기록을 온전히 포함하는 거래의 네트워크인 것이다. 예를 들어 친구가 준(즉 from 친구 to 나) 액면 1 비트코인(BTC) 코인을 10개 가지고 있다고 가정하면 이 10개의 비트코인은 전부 각자의 히스토리를 기록으로 가지고 있는 것이다. 모든 비트코인이 과거의 거래를 포함한 네트워크가 됨에 따라 거래는 투명해지고 끝까지 추적하는 것도 가능해진다.

얼마전 비트코인 거래소 ‘비트인스턴트(BitInstant)’의 CEO 찰리 슈렘(Charlie Shrem)이 비트코인 불법 거래로 체포된 사건이 있었다. 실크로드라는 불법 마약거래 사이트 사용자들에게 백만 달러 이상의 비트코인을 판매했을 뿐만 아니라 본인 스스로도 마약 거래에 참여한 사실이 밝혀졌다. 그런데 이 충격적인 사실은 비트코인이 네트워크이기 때문에 밝혀진 것이기도 하다. FBI는 실크로드 사이트 관련 모든 자료를 압수수색했는데 그 안에는 비트코인의 모든 거래 관계가 낱낱이 남아있었고 이를 바탕으로 슈렘을 체포하는 것까지 가능했던 것이다(물론 은행장이 자금 세탁을 주도한 것은 매우 유감스러운 일이다).

기존 화폐 시스템에서는 돈을 주고 받으면 거래가 끝난다. 그러나 비트코인에서는 1:1 관계로 끝나는 거래가 없다. 네트워크에서 분리된 단 하나의 코인도, 거래도 존재할 수 없으며 코인이 발행되고 거래가 지속될수록 연결은 늘어나고 네트워크는 성장한다. 여기서 각자는 목적에 따라 1:1로 거래를 하겠지만 그 결과는 전체를 움직이는 요소가 된다. 이러한 속성이 화폐의 중앙집권적 구조를 통째로 해체시키게 되는 것이다.

3. 우리가 은행이다(We are a Bank)
코인이 모두 연결된 링크가 되고 거래가 (히스토리를 포함한) 네트워크가 됨에 따라 우리의 역할은 매개자, 즉 이 시스템 전체를 능동적으로 움직이는 주체가 된다. 개념적으로, 은유적으로 그렇다는 것이 아니라 실제로 물리적 노드로서 네트워크를 직접 움직인다. 여러분이 직접 화폐를 발행하고 거래를 승인하고 화폐의 가치를 결정하며 서로의 보안을 책임지는 것이다. 여기서 부자, 정부, 은행이라는 노드는 존재하지 않는다. 그 누구도 이 네트워크를 인위적으로 통제할 수 없는 대신 참여자 전체가 은행이 된다.

참여자(매개자)의 역할
(1)화폐의 발행: 이미 설명한 바와 같다. 여기서는 거래(네트워크의 소비)가 곧 화폐의 발행이다. 비트코인의 공급량은 2천백만개로 한정되어 있지만 거래를 할 때마다 기존의 화폐를 폐기하고 새로운 화폐가 발행된다. 화폐를 주조하는 기존의 중앙은행 시스템의 역할을 모든 거래자가 나눠서 수행한다.

(2)거래의 기록 및 승인: 비트코인 채굴자가 되어 직접 거래를 기록하고 승인한다. 거래가 이뤄지면 네트워크의 모든 노드들에게 이 사실이 알려지는데, 채굴은 실제로 일어난 거래행위를 공식화하고 네트워크에 기록을 남기는 과정을 뜻한다(채굴의 목적과 쓰임에 대해서는 ‘비트코인 채굴과 선순환 구조‘ 참고). ’Proof-of-work’으로 알려진 협업 기반 거래 승인 과정이며 채굴자는 단순히 코인을 캐는 사람이 아니라 네트워크를 강화, 지속, 확장시키는 매개자가 된다.

(3)시스템의 보안: 거래 메커니즘이 참여자 전체를 통해 분산되어 작동함에 따라 시스템 보안의 주체도 달라진다. 기존 방식은 보안을 위임받은 소수가 전체 네트워크를 책임지게 되어 있다. 은행의 보안 시스템이 선과 악(해킹)을 가려내고 악의 침입을 각종 기술을 동원해서 막는 방법이다. 그러나 모든 것이 연결되는 세상에서 이렇게 소수가 전체 네트워크를 책임지는 방식은 이미 한계에 다다르고 있다.

반면 비트코인의 시스템은 완전히 분산된 신뢰 네트워크를 형성한다[A. Antonopoulos, “Bitcoin Security Model: Trust by Computation,” Forbes, Feb 20, 2014]. 여기서는 모든 사람들(블록체인을 만들어 거래 승인에 참여하는 채굴자, 디지털 서명을 기반으로 화폐를 생성하는 거래자 등) 중에서 악이 과반수를 넘지않으면 보안이 유지된다. 누군가를 믿고 권한을 위임하는 것이 아니다. 비트코인 시스템에서는 참여자 전체가 서로의 보안을 책임진다. 협업 보안이다.

매개자가 만드는 유기적 네트워크
물론 이 3가지는 개별적이지 않고 상호의존적으로 작동한다. 화폐의 공급과 거래, 보안에 이르기까지 선순환 네트워크가 만들어지기에 시스템의 주체가 은행에서 참여자(매개자)로 뒤바뀌는 것이 가능한 것이다. 비트코인 거래만이 아니다. 오가닉 미디어 세상에서는 사용자, 소비자, 거래자, 유권자가 모두 매개자가 된다. 이에 따라 사업자, 공급자, 은행, 정당 등에 집중되었던 권력이 해체되고 분산(Decentralization)되는 현상이 일어난다.

다수의 매개자가 만드는 네트워크는 유기적이다. 여기서는 화폐가 컨테이너(달러, 원화, 동전, 지폐 등)가 아니라 어디든 흘러다니고 어디서든 연결되는 링크가 될 것이다. 국경을 기반으로 화폐 단위를 나누지 않고 낱낱이 흩어진 우리가 매개자가 되어 네트워크의 전체를 움직이게 될 것이다. 여기서는 소수가 시스템을 통제하고 보안하는 것은 불가능해지고 매개자 전체가 상호의존적 관계로 묶여 서로의 보안을 책임질 수 있는 구조만이 답이다. 새로운 방식의 협업 모델이다.

누가 이 모든 현상의 주인공이 될지는 알 수 없다. 분명한 것은, 이런 협업 네트워크는 (통제 대신) 사용자의 행위에 따라 발달, 성장, 쇠태, 소멸을 경험할 것이라는 점이다. 비트코인이 그 주인공이 된다면 그것은 국가가, 기관이 정하는 것이 아니라 진화하기 때문에 가능한 일이 되는 것이다. 이 글에서 비트코인을(화폐를) ‘진화하는 유기체’라고 한 이유도 이와 같다. 지금 문제의 핵심은 시대의 상징으로서의 화폐가 이미 ‘형태변이’를 시작했다는 점이다. 오가닉 미디어 세상이 어디로 진화해 가는지 보여주는 중요한 시그널이다.

<관련 포스트>

연결이 지배하는 세상, 화폐의 필연적 진화
비트코인 채굴과 선순환 구조
비트코인 주소, 거래, 그리고 지갑
매개의 4가지 유형: 창조, 재창조, 복제 그리고 소비

 Posted by at 11:23 AM

아마존 이야기

 IT, 정보보호  Comments Off on 아마존 이야기
Feb 252014
 

아마존의 원클릭 결제와 망국병 액티브엑스 기반의 결제

Standard

amazon

세계최대 온라인 쇼핑기업인 아마존이 우리나라 온라인 쇼핑산업에 진출한다는 소식이 전해졌다. 아마존은 지난 해 5월 ‘아마존 코퍼레이트 서비시즈 코리아‘란 한국법인을 설립하였고, ‘아마존 웹 서비스(AWS)’를 시작했다. 아마존은 여기에 그치지 않고 물류창고지를 알아보는 등 물밑 준비를 한다는게 알려진 것이다. 아마도 일본에서의 성공경험과 더불어 우리나라 사람들의 해외직접구매 열기때문에 우리나라 시장에 거는 기대가 클 것이다.

그런데 우리나라 소비자들 사이에서 특이한 환호성이 나왔다. 마치 애플의 아이폰이 그랬던 것 처럼, 아마존이 들어와서 액티브액스 전자결제의 고통에서 해방시켜 달라는 절규였다. 필자도 동감할 만한 경험이 여럿있다. 작년 초 온라인 쇼핑몰에서 물건을 잔뜩 찾아서 쇼핑백에 담고, 결제를 하려했더니 액티브엑스를 설치해야 했다. 그런데 시스템이 재부팅되더니 쇼핑백은 텅비었다. 20 분에 걸친 노력 끝에 결국 구매를 포기했다. 하지만 포기하지 못하는 경우도 있었다. 한 대학에서 학적부를 발급 받으려했는데 수수료 포함 550원을 결제해야했다. 역시 액티브엑스를 설치하고 또 설치하고 그러다가 무려 22분이 걸렸다. 허탈과 분노로 점철된 쇼핑의 사용자경험(UX)이다.

외국의 쇼핑사이트는 전혀 그렇지 않다. 돈 쓰겠다는데 쫓아내는 우리나라와 달리 편하게 돈쓰게 만드는 서비스를 가지고 있기 때문이다. 대표적인 서비스가 바로 아마존의 원클릭(1 click)과 페이팔(PayPal)이다. 오늘은 이들이 추구하는 사용자경험(User eXperience)의 구매편의성을 이해하고, 액티브엑스로 억압받는 국내 쇼핑산업의 경쟁력을 되돌아 보았으면 한다.

1)    아마존의 원클릭 서비스

아마존의 원클릭 서비스란 한 번에 모든 일이 끝난다는 뜻이다. 물건을 보고 그 옆에 있는 원클릭 버튼을 누르면 다 된다. 버튼을 누르면 주문이 접수되고, 등록해 놓았던 신용카드로 결제가 되고, 저장된 주소로 배달 된다. 물론 30분이내에 취소할 수 있다. 인터넷익스플로러(IE) 뿐만 아니라 크롬이나 파이어폭스, 사파리에서도 되고, 애플 컴퓨터에서도 쓸 수 있다.

한번 클릭이란 극단적 편리함에는 소비자가 돈을 내는지도 모르게 한다는 전략이 숨어 있다. 결제과정을 최소화시켰기 때문에, 소비자는 클릭을 하는 과정에서 하게 되는 돈을 낼까말까라는 고민이 줄고, 결국 쇼핑을 더 많이 하게 된다.

2) 페이팔

아마존의 원클릭보다 광범위하게 쓰이는 온라인 결제 1위 서비스가 페이팔(PayPal)이다. 아마존의 원클릭은 아마존 내에서만 사용할 수 있지만, 페이팔은 온라인 쇼핑 뿐만아니라 기부등 송수금 서비스 전반에서 사용하고 있다. 현재 전세계 24가지 통화(currency)를 지원하며, 3억 개가 넘는 계좌를 가지고 있다. 이베이(eBay)에서는 판매자들이 수금을 하는 유일한 수단이기도 하다.

페이팔의 역사를 간단히 살펴보자. 우리가 액티브엑스에 시달리고 있는 지금으로 부터 약 15년 전까지 거슬러 올라간다. 페이팔의 기원은 전기자동차로 잘 알려진 앨런 머스크가 1999년에 설립한 엑스닷컴(x.com)이다. 머스크는 집투(Zip2)를 팔아서 번  2천2백만 달러중 일천만 달러를 투자하여, 은행을 거치지 않고 이메일을 이용해서 간편하게 송금하는 방법을 고안하였다. 그리고 2000년에 컨피니티(Confinity)와 합병하여 페이팔을 개명했다. 다음 해인 2001년에 페이팔은 엄청난 성장을 거두며, 10대 인터넷 결제서비스가 되었다. 2002년 이베이(eBay)는 간편한 결제의 중요성을 알아차리고 미화 1.5빌리언달러, 우리 돈으로 약 1조 6천억원에 페이팔을 인수하였다. (지면의 제약으로 다루지 못하지만 페이팔 창업멤버의 성공을 빗댄 ‘페이팔 마피아’를 찾아서 읽어보기 바란다.)

페이팔은 은행을 거치지 않고 인터넷을 통해 결제를 하고 송수금을 할 수 있는 간편한 서비스이다. 결제시 신용카드 정보를 매번 입력할 필요가 없으며, 페이팔 버튼을 누르고 비밀번호만 넣으면 된다. 업체측에 신용카드 번호나 은행계좌번호, 개인정보를 보내지 않아 안심도 된다. 그리고 여러 사이트에서 동일한 페이팔 결제시스템을 쓰기 때문에 매번 결제방법을 배울 필요도 없고, 사이트마다 신용카드 정보를 입력할 필요가 없다. 개인, 개인사업자, 법인 모두 거래 계좌를 개설할 수 있으며, 계좌 유지 수수료는 무료이다. 우리나라에서도 비자나 마스터 같이 해외에서 사용할 수 있는 신용카드만 있으면 사용할 수 있다.

페이팔을 기본으로 하는 다양한 응용결제 서비스가 등장하기도 하였다. 예를 들어 빌미레이터(BillMeLater)라는 서비스는 이름 그래도 요금을 지불하는 시점이 25-90일 정도로 미루어진다. 따라서 당장에 돈이 나가지 않는 거래에 유리하다. 거래 특성상 신용카드는 사용할 수 없다는 단점이 있고, 만기일까지 송금하지 않을 경우 많은 이자를 지불해야 한다. 트위터에서 이용하는 트윗페이(Twitpay)도 페이팔을 기본으로 한다.  수취인의 사용자 계정과 액수를 보내면, 수취인에게 메세지를 전달하면서 돈은 페이팔을 통해 결제된다.

분명한 것은 아마존의 원클릭이나 페이팔처럼 간단하고, 편리하며, 안전한 결제 서비스가 도입되어야 쇼핑의 사용자경험(UX)이 개선될 수 있다. 그래야 소비자들은 즐겁게 쇼핑하고, 쉽게 구매를 하고, 기업은 돈을 벌 수 있다. 문제는 돈을 쓰고 싶어도 절약하게 만드는 액티브엑스 기반의 결제 때문에 한국의 온라인 쇼핑 산업이 경쟁력을 잃고 있다는 점이다.

엑티브엑스 기반의 전자결제는 이제 망국병이라 해도 과언이 아닐 것이다. 마이크로 소프트도 포기했다는 액티브엑스를 고수하는 심각성이 잘 드러난 예가 있다. 어떤 웹사이트에서는 IE 10은 지원하지 않으니, 액티트엑스를 잘 설치할 수 있는 IE 6에서 IE 9로 내려서 사용하라는 웹사이트도 있었다. 보안때문에 액티브엑스가 있어야한다는 이야기도 있는데, 보안의 기본 규칙도 지키지 않는다는 것은 잘 알려져 있으니 더 이상 거론도 않겠다.

우리 쇼핑 산업은 이미 안방에서 글로벌 경쟁을 하고 있다. 국내 소비자는 네 명중 한 명 꼴로 불편하고 값비싼 국내 온라인 쇼핑대신 해외 온라인 쇼핑을 하며 그 편리함에 감탄하고 있다. 여기에 이제 아마존까지 한국으로 진출한다고 한다. 물론 아마존이 한국에 들어오면 액티브엑스 때문에 원클릭을 못쓰게 되어 결국 마찬가지로 불편해 질 것이란 주장도 있다. 그렇지만 아마존이 물류창고만 한국에 두고, 비자나 마스터 등 해외결제 가능한 카드만으로 모든 거래를 미국서버에서 한다면 어떻게 될까? 쉽진 않지만 전혀 불가능한 스토리도 아니다. 이미 스마트폰에서 유료 앱을 구매할 때 원화가 아닌 달러로 표시되고, 카카오톡에서 스티커를 구입할 때도 달러로 표시된다. 결제는 해외결제가 가능한 비자나 마스터 카드로만 하고 있다. (재작년 구글은 플레이스토어에서 우리나라 카드로 결제할 수 있도록 시도를 했지만 국내 법의 제약 때문에 포기했다.)

그리고 액티브엑스 기반의 결제는 우리나라 온라인 쇼핑 산업의 글로벌화도 막는다. 우리나라 소비자가 해외 직접구매에 열을 올리는 것처럼, 한류붐을 타고 우리나라 쇼핑사이트에서 직접구매하고 싶은 해외 소비자가 있을 수 있다. 중국, 일본, 동남아는 신선식품배송도 할 수 있다. 하지만 가슴에 ‘참을 인’자를 서른 번쯤 새기면 돈을 받아주겠다며 액티브엑스기반 결제 서비스를 설득 할 수 있을까? 해외에선 50%이상이 IE를 쓰지 않고 크롬이나 파이어팍스, 사파리를 쓴다는 통계도 있고, 미국에선 마이크로 소프트 윈도우를 쓰지 않는 사용자가 30%나 달한다고도 한다. 이런 소비자는 배척의 대상인가?

우리나라 산업은 외세의 힘을 빌리지 않으면 혁신할 수 없는가? 아마존의 한국진출이 실현될 지, 액티브엑스로 부터 국내 소비자를 구원해 낼 수 있을지는 모르겠다. 다만 우리나라 온라인 쇼핑 산업이 퍼스트무버로 진일보하려면 철저하게 사용자경험(UX)에 입각한 산업 전략과 관련 법규의 정비가 필요하다. 그 발걸음의 시작이 액티브엑스의 철폐와 관련법규의 정비이다.

 

http://uxsymphony.wordpress.com/2014/01/09/amazon-1-click/

 

 Posted by at 5:23 PM

알리바바 이야기

 IT, 정보보호  Comments Off on 알리바바 이야기
Feb 252014
 

jackma

중국 최대 전자상거래 기업 알리바바가 연일 화제다. 시가총액이 무려 1,200억 달러(127조 원)에 달할 것으로 예상되는 IT 공룡의 기업공개(IPO)가 눈앞에 다가왔기 때문이다. IT 업체로는 구글과 아마존에 이어 세 번째에 해당하는 시가총액이다.

알리바바의 1대 주주는 재일교포 사업가인 손정의 회장의 소프트뱅크로 36.7%, 2대 주주인 미국 야후는 24% 지분을 보유하고 있다. 손정의 회장이나 제리 양(Jerry Yang) 야후 공동창업자는 이미 세계 인터넷 업계의 거물이다. 알리바바에 글로벌 인터넷 기업의 DNA가 흐르는 이유다.

알리바바는 한마디로 인터넷에서 유료로 거래되는 모든 플랫폼을 보유하고 있는 기업이다. 게다가 13억 5,000만 중국 인구를 고객 기반으로 중국에서 압도적인 시장 지배력을 확보하고 있다. 알리바바의 입지는 실적에서도 그대로 확인된다. 지난 1분기 매출이 13억 8,000만 달러로 지난해 같은 기간 대비 71% 증가했다. 순이익은 6억 6,900만 달러에 달했. 알리바바가 구축한 온라인 결제시스템 알리페이(AliPay)의 가입자 수가 조만간  7억 명에 도달할 전망이다.

알리바바의 창업자 잭 마는 도대체 어떤 마술을 부린 것일까?

홍콩의 고등학교 영어교사, 손정의 회장의 신임을 얻다. 

모든 위대한 성취가 그러했듯, 알리바바의 시작 또한 미약했다. 알리바바의 창업자 ‘잭 마’는 홍콩의 한 영어교사였다. ‘잭 마’의 뒤에는 계속되는 실패와 시행착오에도 끝까지 그를 밀어준 소프트뱅크 손정의 회장이 있었다.

중국은 세계의 공장이다. 주로 대량 주문 생산 방식의 공장이지만, 인터넷 발달로 온라인으로 쉽게 소량제품이나 프로토타입을 주문, 생산하는 곳이 늘어나고 있다. 아이디어의 디자인과 재료를 결정한 뒤 공장을 만들지 않아도 중국 업체와의 협업으로 사업을 진행하는 사람들이 생기기 시작했다.

잭 마는, 몇 번의 사업 실패 이후에도, 인터넷 비즈니스에 대한 비전을 버리지 않았다. 중국의 공장들과 전 세계 소비자를 개방형으로 연결하는 창구 기능에서 비즈니스 기회를 찾아냈다. 알리바바의 창업자 잭 마는 이런 비즈니스를 C to B ( Consumer to Business )라고 칭했고, 이 아이디어는 잭 마의 비범함을 보여주어 손정의는 그의 든든한 후원자가 된다.

수많은 실패의 노하우를, 알리바바 서비스에 녹여 내다. 

잭 마의 첫 번째 창업 아이템은 ‘영어 번역 서비스’였다. 그는 영어 교사와 영어 번역 수요 시장의 간극을 메우는 지점에서 사업 기회를 찾았다. 이후, 미국 방문 후 중국판 옐로페이지 콤퍼니(Yellowpages company)를 창업하여 차이나 텔레콤(China Telecom)과 합작 회사를 만들었지만 이사회로부터 외면당하는 아픔을 겪었다. 그리고 세 번째로 창업한 IT 회사 사업으로 충분한 수익을 올렸지만, 공동창업자와 비전 공유 실패로 네 번째 창업을 결심한다. 그렇게 창업한 회사가 알리바바이다. 잭 마는 알리바바의 서비스에 세 번의 창업을 통해 연마한 서비스의 핵심들을 녹여 내었다.

웹사이트에서 원하는 제품이나 기술을 검색하고, 그곳에서 찾아낸 회사나 제품을 직거래 구매하도록 했다. 더 나아가 실시간 영어/중국어 통역 메신저 서비스를 제공하여 필요 사항이나 질문 또는 새로운 제품 주문 등 관련 서비스에 관해 안내한다. 실시간 통역 서비스로 주문자와 공장 직원 모두 자신의 언어로 실시간 소통이 이뤄진다. 일단 만들 수 있는 것과 없는 것이 명확해지면, 바로 즉석에서 주문할 수 있으며 비슷한 샘플을 먼저 구매할 수도 있다.

세계와 중국을 연결하다. 

이후, 그는 E-커머스 영역에 집중하여 B2B 무역 플랫폼 서비스 영역을 넘어, 미국 이베이의 복제모델 타오바오 서비스를 런칭한다. 이베이에 대항하기 위하여 타오바오는 중국 시장에 더욱 최적화된 서비스를 제공하고, 동시에 수수료 무료 전략까지 펼쳐 공격적인 대응으로 가파르게 시장점유율을 높여 나갔다. 이베이는 결국 2년 만에 사업을 포기하고 중국을 떠났다. 타오바오는 오늘날 중국에서 가장 잘 나가는 인터넷 전자상거래 서비스로 입지를 굳건히 하였다.

타오바오는 현재 등록된 사용자만 2억 명에 육박하며, 2009년 상거래 규모가 30조 원이 넘는 엄청난 규모로 성장하였다. 중국 내에서는 이미 아마존과 이베이를 합친 것보다 더 막강한 영향력을 행사하고 있다.

알리바바의 목표는 단순한 전자상거래가 아니다. 공급자와 중간 유통업체, 그리고 소비자를 잇는 종합 판매 유통 서비스로, 이미 알리바바닷컴(Alibaba.com)에서 선보인 것처럼 제조업과의 연계와 알리익스프레스를 통해 해당 사업 분야의 최적화와 효율 극대화를 이루고자 한다.

은퇴 18일 만에 물류 사업가로 변신하다.

2013년 5월 10일, 잭 마는 “기업이 실패하지 않고, 노쇠하지 않으려면 젊은 사람을 믿고 미래를 믿어야 한다”며, “이제까지는 일이 내 생활이었지만, 이제부터는 생활이 내 일이 될 것이다”라고 말했다. 그는 후임 루자오시(陸兆禧·43) 회장을 비롯한 새로운 경영진 12명을 관중에게 소개하고 무대에서 퇴장했다. 14년간 알리바바그룹 CEO 생활의 마지막 모습이었다.

그리곤 은퇴 18일 만에 물류 사업가로 변신하여,  ’차이냐오(菜鳥·새내기라는 뜻의 인터넷 신조어) 네트워크 테크놀로지’라는 이름으로 물류사업에 뛰어든다. 차이냐오의 회장은 잭 마, CEO는 선궈쥔 인타이그룹 회장이 맡기로 했다. 알리바바가 최대주주(지분 51%)인 차이냐오는 물류 플랫폼 프로젝트에 최대 3,000억 위안(약 55조 원)을 투입할 것으로 전해졌다.

잭 마 회장은 “전자상거래와 물류업체, 창고업체 등이 이용할 플랫폼을 만드는 것일 뿐, 따로 물류사업에 진출해 기존 업체에 해를 끼치지 않을 계획이다”라고 밝혔다. “이는 일반 물류사업은 우리보다 기존 업체들이 훨씬 잘할 수 있기 때문이다”라고 덧붙였다.

마윈의 선택…‘차이냐오(菜鳥)’의 숨은 뜻

본뜻은 요리에 사용하는 ‘새’를 가리킨다. 한편, 최근 인터넷 용어로 쓰여 ‘초짜’, ‘신입’ 등 응용수준이 낮은 사람을 표현한다.
마윈 회장이 이를 회사명으로 사용한 이유는 크게 2가지로 요약된다. 첫째, 회사 스스로 항상 ‘신입’ 기업의 자세를 유지해 창의력과 배우려는 마음을 가지려는 데 있다. 둘째, 챠이나오의 물류 플랫폼은 창업자조차 처음 시도하는 것이며, 앞으로 이 서비스를 이용할 고객 또한 모두 ‘신입’이기 때문에 서로의 공동발전을 도모하기 위한 것으로 풀이된다.
<Reference>

<하이컨셉 & 하이터치> 소비자 중심 제조환경 지원하는 플랫폼 사업자, http://health20.kr/1433

<하이컨셉 & 하이터치> 알리바바, 글로벌 전자상거래 플랫폼을 노린다, http://health20.kr/1889
<정지훈, Venture Square> 알리바바 CEO, Jack Ma 의 리더십과 회사문화, http://www.venturesquare.net/659

<김철민의 SCL(Supply Chain logistic)> 알리바바에 주문 건 마법 물류 , http://logiseconomy.tistory.com/2057

 Posted by at 5:13 PM

해커가 되려면

 IT, 정보보호  Comments Off on 해커가 되려면
Nov 212013
 

Copyright ⓒ 2001 by Eric S. Raymond

저자 : 에릭 스티븐 레이몬드(Eric S. Raymond )
번역: 김성무 (Kim, Sung Moo )

수준의 제한으로 번역상에 미흡한점이 많을겁니다. 양해해 주시고 다른 문제가 있으시면 kimsungmoo_at_paran.com 으로 메일을 보내주세요.

원문의 완정성과 비상업적인 목적이라면 저자와 역자의 동의없이 재배포하실수있습니다.
목차:
Contents [-]
1 무엇때문에 이문서가 있는가?
2 해커란?
3 해커의 마음가짐
3.1 이 세계에는 해결을 기다리는 매력적인 문제들이 산적해 있다.
3.2 그 누구도 한 문제에 두 번씩이나 해결하려들면 안 된다.
3.3 권태와 단조로운 일은 악(惡)이다.
3.4 자유는 좋은 것.
3.5 마음가짐이 되었다고 능력이 없어도 된다는 얘기는 아니다.
4 해커가 알아야할 기술들
4.1 프로그래밍하는 방법을 배워라.
4.2 소스 공개 유닉스들 중 하나를 구해서 사용법과 운용법을 배워라.
4.3 월드 와이드 웹(WWW)의 사용법과 HTML 작성법을 배워라.
4.4 만약 아직 실용성 영어를 모른다면, 배워라.
5 해커 문화에서의 신분
5.1 소스 공개(open-source) 소프트웨어를 작성하라.
5.2 소스 공개 소프트웨어의 분석(test)과 디버그(debug)를 할 수 있도록 도와라.
5.3 유용한 정보를 출간하라.
5.4 하부구조가 견실히 작동할 수 있도록 도와라.
5.5 해커 문화 그 자체에 봉사하라.
6 해커(hacker)와 숙맥(nerd)간의 관계
7 해커 품격 갖추기
8 기타 자원
9 빈번한 질문들(FAQ)
1 무엇때문에 이문서가 있는가?

Jargon File과 기타 유사하고 유명한 문장의 작가로서, 나는 가끔씩 열정에 차넘치는 인터넷초보자들의 질문을 받곤한다. 요지는 한마디로 다음과 같다. “어떻게 하면 훌륭한 해커가 될수있죠?” 이상한것은 어느하나의 FAQ 혹은 WEB으로된 문서가 이렇게 중요한 문제에대해 설명해놓은것이없다. 그래서 나의 생각을 적어보려한다.

만약 당신이 지금 오프라인에서 이문서를 보고있다면 최신버전을 유의해주시길바란다. 영문버전은 http://www.catb.org/~esr/faqs/hacker-howto.html에서 얻을수있다.

주의: 이 문서의 마지막에 FAQ가 있다. 나한테 이 문서에 대한 물음을제기하기전에 두번은 읽어보길바란다.

현재 이문서는 여러 언어로 된 버전이 있다. 한국어에서 찾아볼 수 있다. 이 문서는 수시로 업그레이드되기에 위에 번역버전들은 부동한정도로 낡은버전일수있다.

2 해커란?

“해커 사전(Jargon File)” 에는 “해커”에 대해서 많은 정의를 해 놓았다. 그 대부분은 기술적으 로 정통한 사람과 문제를 해결하고 한계를 극복하면서 즐거움을 구하는 사람들과 깊은 연관을 맺 고 있는 정의들이다. 만약 여러분이 해커가 되는 방법을 알고 싶다면, 이러한 정의 중 단 두 가지 만이 관련된 것이다.

몇십년전 첫번째 소형컴퓨터가만들어지고 ARPAnet 프로젝트가 금방 시작되었을때, 이때 전문프로그래머와 인터넷 마법사들로 구성된 공유된 문화공동체가 있었다. 이런문화의 성원들이 “hacker”란 단어를 만들어냈다. 이들 해커들은 인터넷을 만들었다. 그리고 해커들은 UNIX 운영체제를 오늘날의 모습으로 가꾸었다. 해커들은 유즈넷을 운영하고 있고, 월드 와이드웹이 제대로 돌아가게 만들었다. 만약 여러분이 이러한 문화의 일부이고, 또한 기여하고 있다면,이 문화의 사람들은 여러분을 해커라고 부른다. “당신은 해커입니다”라고 말이다.

해커정신은 소프트웨어해커에만 국한되지 않는다. 일부사람들은 해커정신을 다른일에 사용하곤한다. 예를들면 전자공학이나음악 — 사실 당신은 기타 과학이나 음악의 최상위활동에서도 이것을 발견할수있다. 프로그램해커들은 이런사람들에게 동류의식을 느끼고 그들도 해커라고 부른다. 그리고 혹자들은 해커들의 천성은 해커들이 종사하고 있는 특정 매체에 구애되지 않는다고 한다. 그러나 이 글에서 우리는 소프트웨어 해커의 기법과 자세, ‘해커’라는 말을 창시한 공유된 문화의 전통에 초점을 맞춰 얘기를 전개시킬 것이다.

자신들을 해커라고 소리 높여 부르는 또 다른 집단이 있다. 과연 그럴까? 대답은 “아니오”다. 이들은 주로 10대의 청소년들인데, 스릴을 느끼려고 컴퓨터 시스템과 전화 시스템을 프리킹 (phreaking)하는 자들이다. 진정한 해커들은 이들을 ‘크래커(cracker)’라고 부르고 있으며, 자신들과 는 아무런 상관 관계가 없기를 바라고 있다. 진정한 해커들은 대체로 크래커들을 게으르며, 무책 임하고, 그다지 현명하지 못하고 실력없는 자들이라고 여기고 있다. 전문적으로 다른사람의 컴퓨터보안을 파괴하는행위는 당신을 해커로 만들지는 못한다. 쇠사슬로 자동차를 도둑질했다고 해서 자동차 엔지니어가 될수없는 것처럼 컴퓨터 보안 시스템을 깼다고 해서 당신이 해커가 될 수 있는 것은 아니다. 불행히도, 거의 대다수의 저널리스트들과 작가들은 크래커들을 묘사하는 말로 “해커”라는 말을 사용하여 스스로를 웃음거리로 만들고 있다. 이들의 이러한 행위는 진정한 해커들을 정말 화나게 만드는 꼴이다.

해커와 크래커와의 근본적인 차이는 무엇인가? 해커들은 사상(事象, things)을 건설하지만, 크래커들은 사상(事象)을 파괴하는 자들이다.

아직도 해커가 되고 싶다면, 계속 읽어주기 바란다. 그런데 크래커가 되고 싶다면 alt.2600 뉴스그 룹에 가라. 그리고 자신이 생각했던 것만큼 똑똑하지 않음을 깨달았다면, 이 뉴스그룹에 올라온 게시물을 그대로 따라 하라. 이것이 크래커들에 관해서 말할 수 있는 것의 전부이다.

3 해커의 마음가짐

해커들은 문제를 해결하고, 사상(事象)을 건설한다. 그리고 자유와 자발적인 상호 부조(扶助)의 신 념을 믿는다. 해커로서 인정을 받으려면, 여러분은 이러한 유형의 마음가짐으로 자신을 무장해야 할 것이다. 단순히 마음가짐만으로는 안 된다. 반드시 실천이 따라야 한다. 그렇다고 겉과 속이 달라서는 않될 것이다. 해커 문화에서 인정을 받기 위한 방편으로 해커식 마음가짐을 배양하려 한다면, 여러분은 주제의 초점을 잃은 것이나 진배없다. 이러한 것을 믿는 유형의 사람이 된다고 함은 여러분 스스로 끊임 없이 동기 부여를 하고 스스로 학습해야 된다는 것이다. 이것이 중요한 점이다. 모든 창조적인 예 술과 마찬가지로, 명인(名人)이 되기 위한 가장 효과적인 방법은 거장(巨匠)들의 사고 방식과 심적 경향을 모방하는 것이다. 지적으로 뿐만 아니라 정서적으로도 말이다.

가능하게 아래의 시조가 위에뜻을 잘표현했을것이다.
To follow the path: (이 길을 따르라)
look to the master, (달인을 찾으라)
follow the master, (달인을 따르라)
walk with the master, (달인과 함께 걸으라)
see through the master, (달인을 분석하라)
become the master. (달인이 되라)

그래도 해커가 되고 싶다면, 다음의 문구들을 깨달을 때까지 암송하시오.

3.1 이 세계에는 해결을 기다리는 매력적인 문제들이 산적해 있다.

해커로 가는 길은 상당한 즐거움을 안겨다 준다. 그러나 엄청난 노력이 동반되는 즐거움이다. 노 력을 통해서 동기 유발이 된다. 성공적인 운동 선수는 자신들의 신체를 단련하고, 과거의 자신의 육체적 한계를 극복하는 과정에서 일종의 육체적 즐거움으로부터 동기 유발이 된다. 이와 같이 해커가 되어간다는 것은 문제를 해결하고, 자신의 기술을 예리하게 가다듬고, 자신의 지능을 함양 하는 과정에서 원초적인 전율을 느끼는 것이다. 만약 당신이 천성적으로 이런류의사람이 아니고 또 해커가 되고싶다면, 당신은 모든 방법을 동원해서 이러한 사람이 되기에 노력을 해야한다. 그렇지 못하다면 결국에는 여러분의 해킹기력(氣力)은 돈 섹스, 사회적 인정과 같은 일탈적인 것에 침탈당하게 될 것이다.

(그리고 자신만의 학습 능력에 따라 일종의 신념을 개발해야만 한다. 다시 말해 비록 문제를 해결 하는데 필요한 온갖 것들을 알고 있지 못한다 할지라도, 과감히 도전하고, 이로써 또 배우고 배워 문제를 완전히 해결할 때까지 도전과 학습을 해나가는 것과 같은 신조와 성실성 따위를 자기 철 학으로 세워야 할 것이다.)

3.2 그 누구도 한 문제에 두 번씩이나 해결하려들면 안 된다.

창조적인 두뇌 활동은 가치있는 것이자 유한의 자원이다. 해결되어야 할 새로운 문제들이 산적해 있는데, 또 다시 바퀴를 재발명하는 것과 같은 일에 지력과 시간을 낭비해서는 안 된다. 해커처럼 행동하려면, 여러분은 다른 해커들의 사고와 시간도 매우 귀중한 것이라는 믿음이 있어 야 한다-즉, 여러분은 정보를 공유하고, 문제를 해결하고, 그리고 나서 그 해법을 널리 알려, 다 른 해커들이 예전의 문제를 한도 끝도 없이 재차 다루기보다는 새로운 문제를 해결할 수 있도록 하는 배려는 일종의 해커의 도덕률과도 같은 것이다. 그렇다고 여러분이 행한 창조적인 작품 모두를 나누어주라는 얘기는 아니다. 비록 이렇게 철저한 공유의 원칙을 지키는 해커들은 다른 해커들에게서 최대의 찬사와 존경을 받고 있기는 하지만 말 이다. 최소한의 생활비와 컴퓨터 임대 비용을 지불할 만큼으로 자신의 창조적인 작품을 파는 것 은 “해커 가치”와는 전혀 모순되는 것은 아니다. 그리고 가족을 부양하거나 부자가 되는데 자신 의 해킹 기술을 이용하는 것과도 모순되지 않는다. 단 여러분이 해킹을 하는 동안에 자신이 해커 임을 잊지 않는다면 말이다.

3.3 권태와 단조로운 일은 악(惡)이다.

해커들(일반적으로 창조적인 사람들)은 절대로 지루함을 느껴서는 안되며, 어리석고 반복적인 작 업에 매달려서도 안 된다. 이러한 일의 발생은 할 수 있는 일을 하지 못한다는 뜻이기 때문이다. 즉, 새로운 문제를 해결하는데 들여야 할 시간과 노력을 이런 지분한 일에 빼았기기 때문이다. 이 러한 낭비는 모든 사람들에게 상처를 입히는 결과를 빚는다. 따라서 권태와 단조롭게 반복되는 일은 불쾌한 일이기도 하지만 엄밀히 말해서 악인 셈이다. 해커처럼 행동하기 위해서는, 여러분은 따분한 정보를 가능한 한 많이 자동적으로 날려보낼 정도 로 이것을 신조로 삼아야 한다. 당신 자신을 위해서뿐만 아니라 모든 사람(특히 다른 해커들)을 위해서도 말이다. 한가지 예외는 있기는 하다. 해커들은 관조자의 눈에는 반복적이고 따분하게 보이는 것을 아무 생각없이 실습하기도 한다. 이때는 특정 기술의 습득 또는 여러분에게는 없는 특정의 경험을 하 려는 목적이다. 그러나 생각이 있는 사람이라면 그 누구라도 이러한 권태의 타성에 굴복해서는 안 된다.

3.4 자유는 좋은 것.

해커들은 타고난 반 권위주의자들이다. 여러분에게 지시나 명령을 내릴 수 있는 사람이라면 여러 분이 매료된 온갖 문제의 해결을 저지시킬 수 있다. 그리고 권위주의적인 마음가짐의 소유자들이 하는 일의 방식은 황당할 정도로 어리석기까지 하다. 그러니 권위주의적인 자세와 직면하게 될 때마다 투쟁해야 한다. 적어도 당신과 다른 해커들이 질식사하지 않도록 말이다. 이는 모든 권위와 싸우라는 얘기는 아니다. 아이들은 지도를 받을 필요가 있고, 범법자들은 어느 정도 구속이 필요할 수 있다. 해커들은 명령을 좇아 허비하는 시간 이상으로 그가 원하는 것을 얻기 위해서는 일부 권위를 받아들일지도 모른다. 그러나 이러한 수용은 제한적이고 의식(意識)적 인 거래(去來)이다. 권위주의자들이 원하는 일종의 개인적 굴복같은 것은 제공할 성질이 아니 다.(이런 권위에 굴복을 조장하는 것은 매스미디어도 그 한몫을 한다. 그들에게는 기사 거리이자 수익을 창출할 수 있는 또 다른 이벤트이기 때문이다–역주) 권위주의는 검열과 비밀주의로 번성한다. 그리고 이들은 자발적인 협력과 정보 공유를 믿지 않는 다. 즉, 이들은 자신들이 “통제할 수 있는 협력”을 좋아한다. 해커처럼 행동하려면 여러분은 이러 한 검열 및 그 제도, 비밀주의, 그리고 책임감있는 성인들을 구축(驅逐)하는 권력과 기만 수단에 본능적인 적의를 노정시킬 수 있도록 자신을 개발(開發)해야 한다. 그리고 이 신념에 따라 기꺼이 행동할 수 있어야만 한다.

3.5 마음가짐이 되었다고 능력이 없어도 된다는 얘기는 아니다.

해커가 되려면, 여러분은 이러한 자세를 개발해야 한다. 자세만 가지고 뛰어들면 해커가 될 수 없 을 것이다. 그 이상의 어떤 것이 있어야 챔피언 또는 록스타가 될 수 있다. 해커로 가는 길은 지 력과 실천, 헌신(獻身), 그리고 상당한 고역이 동반되는 길이다. 그러므로 여러분은 마음가짐만으로 안주하지 말고, 온갖 종류의 능력을 존중해야 한다. 해커들은 시험관들이 자신들의 시간을 어영부영 보내도록 내버려두지 않을 것이다. 해커들은 능력을 귀하 게 여긴다. 특히 해킹 능력을 말이다. 어떤 것에 대한 능력은 좋은 것이다. 그 누구도 거장(巨匠) 이 될 수 없는 기술에 관한 능력은 훌륭한 것이라 말할 수 있다. 정신적 예리함과 교묘한 재주, 고도의 집중력이 포함된 기술에 대한 능력은 더 말할 나위도 없다. 만약 여러분이 능력을 숭배한다면, 여러분은 능력 개발 자체를 즐길 것이다. 처절한 실천적 노력 과 헌신은 단조로운 일보다는 일종의 철저한 유희가 될 것이다. 해커가 되기 위해서는 이 점이 가장 중요한 요소이다.

4 해커가 알아야할 기술들

해커의 자세는 매우 중요하다. 그러나 그 기술은 절대적으로 필요한 것이다. 자세만으로 무능을 보상할 수 없다. 그리고 자신이 해커로 불려지기를 꿈꾸기 전에 갖추어야 할 어떤 기본적인 기술 이라는 도구(toolkit)가 필요하다. 이러한 수단은 테크놀로지가 새로운 기술을 창출하고 옛 것을 쓸모없는 것으로 만들면서 서서히 변하고 있다. 기계어 프로그래밍과 최근의 HTML을 놓고 볼 대 격세지감을 느끼지 않을 수 없다. 현시점에서는 다음에 기술하는 내용을 분명히 포함할 것이다.

4.1 프로그래밍하는 방법을 배워라.

물론 이것은 가장 기본이 되는 해킹 기술이다. 1997년까지 여러분이 반드시 배워야 할 프로그래밍 언어는 C이였다. 어떤 컴퓨터 프로그래밍 언어도 모른다면, 나는 Python 을 추천한다. 이 언어는 산뜻하게 설계되었으며, 문서화 또한 잘되어 있고, 비교적 초보자들이 접근 하기 쉬운 프로그래밍 언어이다. 비록 처음 접근하는 언어이기는 하지만, 장난감 같은 언어는 아 니다. 이 언어는 매우 강력하고 유연하며, 대형 프로젝트에도 적합하다. 나는 python에 대한 구체 적인 평가서를 작성했다. 그리고 학습서는 파이션 웹사이트에서 구할 수 있다.

java도 프로그래밍에 입문하기좋은 언어다. python에 비해 어렵지만 생성된코드의 실행속도는 많이 빠르다. 또 java는 프로그래밍에 입문하기만을 위한것이 아닌 아주 훌륭한 언어이다.

여러분은 단 한두가지의 컴퓨터 언어만 알고 있다면 해커가 아니다. 심지어는 프로그래머의수준도 않된다. 여러분은 어떤 한가지 언어에 편향되지 않는 보편적 방식으로 프로그래밍 문제에 관해 사고하는 방법을 배울 필요가 있다. 진정한 해커가 되려면, 매뉴얼에 기술된 내용과 당신이 알고 있는 것을 연관시켜, 며칠 이내에 새 로운 언어를 배울 수 있는 수준까지 오를 필요가 있다. 이는 여러분이 최소한 매우 다른 몇 가지 언어를 익혀야 됨을 뜻하는 말이다.

진지한 프로그래밍을 하고 싶으면, C 언어를 익혀야 할 것이다. C 언어는 유닉스에서 핵심이 되는 언어이다. C와C++ 는 아주 흡사하다, 만약 둘중에 하나를 익혔다면 다른하나를 배우는거도 쉬울것이다. 그러나 이 두언어 모두 초보자가 프로그래밍을 시작하기에는 적합하지않다.. 실제로 C언어를 적게쓰면 쓸수록 당신의 작업효율은 높아질것이다.

C는 아주 효율적이고 자원을 절약한다. C언어의 고효율은 당신이 컴퓨터최하층(예: 메모리)에대한 직접적인관리를 토대로 하는것이다. 이러한코드는 아주쉽게 버그를 만들어낼수있고 많은 시간을 디버깅에 투자하여야한다. 요즘 컴퓨터는 점점 빨라지고있다. 이는 얻는것보다 잃는것이 더많을 것이다. 비교적 총명한선택은 실행속도가늦고 효율이낮은 하지만 대폭적으로 당신의 시간을 절약할수있는 언어를 선택하는것이다. 그러기에 python 을 선택한다.

해커에게 있어 특히 중요한 여타 언어들은 LISP 과 Perl 이다. Perl은 역동적인 웹 페이지를 작성하고 시스템을 관리하는 데 폭넓게 쓰 이는 언어라는 매우 실질적인 이유에서 배울 가치가 있다. Perl로 작성하지는 못한다 할지라도 이를 읽고 이해할 수는 있어야 한다. 많은사람들이 perl를 사용하는 이유는 내가 여러분들에게 python을 추천하는 이유와같다. 모두 C가하지않아도될 고효율적인 작업을 하기위해서다. 당신은 그 코드들의 내용을 이해하는것을 필요할것이다.

리스프(LISP)는 마침내 도달하게 될 심오한 계발 경험을 위해 배울 가치가 있다. 그 경험은 여러분의 앞으로의 프로그래머로서의 기간동안 더욱 훌륭한 프로그래머가 되게 해주는 경험일 것이다. 비록 여러분이 리스프 자체를 실제로 그다지 많이 사용하지 않는다 할지라도 말이다.

5가지 언어(Python, JAVA, C/C++, Perl, 그리고 LISP) 모두를 배운다면 더할 나위 없겠다. 이 언어들은 가장 중 요한 해킹 언어가 될 뿐더러, 이것들 각각은 프로그래밍에 대한 접근 방법은 서로 다르며, 여러분 에게 매우 소중한 접근법으로 가르침을 줄 것이다.

여기서 어떻게 프로그래밍 언어를 익혀야 하는가를 구체적으로 기술할 수는 없다. 매우 복잡한 기술(skill)이기 때문이다. 그렇지만 시중의 서적이나 강좌들은 그렇지 못하다는 것을 밝히지 않을 수 없다(거의 대다수의 해커들이 독학한다). 굳지 말하라면, ⑴ 코드를 읽고 ⑵ 코드를 작성하는 것이다.

프로그램을 배운다는 것은 일상의 언어로 매우 좋은 글을 쓰는 것과 같다. 이렇게 하기 위한 최 선의 방법은 명인(名人)들이 작성한 자료를 읽고 스스로 습작을 해보고, 많은 글을 읽고 작성해보 고, 더욱 많은 글을 읽고 좀더 많은 글을 작성하고…. 한마디로 당신이 작성한 글들이 여러분들 만의 틀로 일종의 힘과 경제성을 개발하기 시작할 때까지 반복에 반복을 거듭하는 길뿐이다. 읽기 좋은 코드를 찾기란 매우 어렵다. 그 이유는 소스 상태로 애송이 해커들이 알고 어설프게 다룰 수 있는 대형 프로그램을 구할 수가 없기 때문이다. 이러한 상황은 극적으로 변화를 보고 있다. 지금은 소스 공개(open-source) 소프트웨어, 프로그래밍 툴(tool), 운영 체제(이 모든 것들은 해커들이 만든 것이다)들을 어디서든 구할 수 있다.

4.2 소스 공개 유닉스들 중 하나를 구해서 사용법과 운용법을 배워라.

여러분이 개인용 컴퓨터를 갖고 있거나 이에 접근할 수 있다라는 전제 하에 이 글을 쓴다. 어떤 신참(newbie) 해커들이 해커 기술들을 습득할 수 있는 가장 중요한 그 첫 단계는 리눅스 배포본이 나 BSD 유닉스 계열의 운영체제를 구하여, 여러분의 컴퓨터에 설치하고 이를 돌리는 일이다. 이 세상에는 유닉스 이외의 무수히 많은 운영체제들이 있다. 그러나 이것들은 바이너리(binary) 형 태로 배포되기 때문에 소스 코드를 읽고 분석하여, 이를 수정할 수 없다. 도스나 윈도우, 또는 맥 킨토시 운영체제에서 해킹하는 법을 배우려는 것은 몸 전체에 기부스를 하고 춤추는 법을 배우는 것과 같다. 게다가 유닉스는 인터넷의 운영체제이다. 유닉스를 모르고 인터넷을 배울 수 있지만, 인터넷을 이 해하지 못하고 인터넷 해커가 될 수는 없다. 이러한 연유로 오늘날의 해커 문화는 매우 강한 유 닉스 중심적인 문화이다.(이 얘기는 언제나 진실이지는 않다. 그리고 일부 원로 해커들은 이러한 얘기에 불편한 심기를 노정한다. 그러나 유닉스와 인터넷과의 공생(共生) 관계는 마이크로소프트 의 힘으로도 심대한 타격을 줄 수 없을 만큼 매우 강력한 것이 되었다.

유닉스를 양육하시오-내 자신은 리눅스를 좋아 하지만, 다른 방법도 있다. 유닉스를 공부하고 사용하고,셋팅해라. 유닉스를 통해서 인터넷과 대화하라. 코드를 읽어라. 코드를 수정하라. 여러분 은 마이크로소프트의 운영 체계가 꿈도 꿀 수 없는 것 이상의 더 말할 나위없는 프로그래밍 툴들 을 얻게 될 것이다(C를 포함하여, Lisp과 Python 및 Perl도). 그리고 즐거움을 누릴 것이며, 거장 해 커가 되어 회고하면서 끝없이 배워야 한다는 사실을 깨닫는 것보다도 더욱 풍부한 지식에 흠뻑 빠지게 될 것이다.

유닉스 학습에 대해서 좀더 많은 것을 알려면, The Loginataka 를 참조하시오.

리눅스를 연습하여 익숙해지려면, 리눅스를 입수할 수 있는 곳 을 참조하시오.

BSD 유닉스 도움말 및 자원을 구하고자 한다면, http://www.bsd.org/를 참조하시오.

나는 “Unix와Internet기초” 라는 문장을 쓴적이있다.

(주: 나는 여러분이 이제 갓 시작한 초보(newbie)라면 단일 프로젝트로써 리눅스나 BSD를 설 치하기를 권하지 않는다. 리눅스의 경우라면 각 지역별 리눅스 사용자 모임에 도움을 청하거나, LISC(Linux Internet Support Co-Operative)와 접촉하라. LISC는 여러분이 도움을 얻을 수 있는 IRC채널을 운영하고 있다.)

4.3 월드 와이드 웹(WWW)의 사용법과 HTML 작성법을 배워라.

해커 문화가 건설한 대부분의 것들은 정말로 훌륭한 업적으로 가득 차 있다. 非해커들이 삶의 방 식에 어떤 현시적인 충격을 주지 않고 공장, 사무실, 그리고 대학이 돌아갈 수 있게 하였다. 웹은 유일한 예외이다. 정치인들마저도 인정했던 거대한 해커 장난감이 이제는 세상을 변화시키고 있 다. 이러한 이유 하나만으로도 여러분은 웹이 어떻게 작동하는지를 배워야 한다.

이 말은 단지 누구나 할 수 있는 브라우저 사용법을 익히는 것뿐만 아니라, HTML를 작성하는 법 도 배우라는 말이다. 만약 여러분이 프로그램하는 법을 모른다면, HTML 작성은 프로그램 작성에 도움이는 되는 정신적인 기질(habits)을 여러분에게 가르쳐 줄 것이다. 자! 우리 모두 홈페이지를 구축합시다.(인터넷에는 좋은자료들이많다 이것이 그중에하나)

그러나 홈페이지를 구축하는 것이 여러분을 해커로 만들어 줄 수 있는 충분 조건은 아니다. 웹에 는 홈페이지로 가득 차 있다. 이들 대부분은 핵심과 중심 과제가 없는 진흙창과 같은 것이다. 그 것도 여러분의 마음을 빼앗을 수 있는 매우 호화로운 진창들이다. 그렇다고 파리똥이 똥이 아니 라고 말할 수 있겠는가.(좀더 자세한 것을 알고 싶으면 The HTML Hell Page 를 참조하라)

여러분의 웹페이지가 가치있는 것이 되려면 알찬 내용으로 가득 차야 한다. 재미있을 뿐더러 다 른 사람(해커)들에게도 유용한 것이 되야 한다.

4.4 만약 아직 실용성 영어를 모른다면, 배워라.

미국사람으로서 또 영어를 모국어로 하는사람으로서 예전에 나는 이말을 꺼내기 싫었다. 문화상의 제국주의가 될 수 있기때문이다. 하지만 상당수의 기타언어를 모국어로하는 분들이 이 문제를 제기할 것을 요구해왔다. 그것은 바로 영어는 인터넷에서의 공용언어라는것이다. 여러분들이 순리롭게 해커사회에서 활동하려면 반드시 알아두어야한다.

이것은 확실한 것이다. 대개 1991년당시 나는 해커사회에서 해커들이 기술을 서로주고받을때 영어를 사용한다는것을 알았다. 심지어는 그들이 사용하는 언어가 갖고 영어는 그냥 제2언어인 경우에도 말이다. 내가 알아본바에 의하면 현재 영어는 다른언어들보다 더욱 많은 기술적용어를 보유하고있다. 그러기에 작업하기에는 매우좋은 도구이다. 같은원인으로 하여 영어로된 기술문서번역은 보통 이상적이지못하다. (만약 번역이 되었다면)

핀란드인인 Linus Torvalds. 영어로 자신의 코드에 주석을 달고(분명한것은 이행동이 그가한 우연한행동은 아닐것이다) 유창한 영어가 그가 전세계범위내의 리눅스개발자들을 관리하는 중요한 요소였다. 이것은 본받아야할 예제이다.

5 해커 문화에서의 신분

화폐 경제가 아니었던 대부분의 문화처럼, 해커왕국은 명성으로 영위되고 있다. 여러분이 흥미로 운 문제를 풀려고 한다. 그런데 그 문제들이 얼마나 재미있는 것인지, 여러분의 해법이 진정 훌륭 한 것인지는 오로지 여러분의 동료 또는 선배들의 판단 여하에 달려 있다. 따라서 여러분이 해커 게임을 할 때, 우선 점수를 유지하는 법을 배워야 한다. 이것으로 다른 해커들이 여러분의 기술이 어떠한지를 판단한다(이것이 다른 해커들이 계속해서 여러분을 해커라고 부를 때까지는 여러분이 해커가 될 수 없는 이유이다). 이러한 사실로 미루어 볼 때 해킹이 고독한 작업이라는 이미지는 정확히 사실을 반영한 것이라고는 볼 수 없다. 또한 자아(自我)와 외부의 확인이 각자의 동기부여 에 포함되어 있다는 사실을 인정하지 않는 해커 문화적 금기(지금은 점점 퇴색되어 가고 있지만, 여전히 잠재적인 영향을 끼치고 있다)라는 것도 현실의 반영은 아니다. 특히, 인류학자들은 해커왕국을 “선물 문화”라고 부르고 있다. 여러분은 해커왕국에서 신분과 명 성을 얻는다. 이는 타인을 지배함으로써가 아니라, 또한 아름다워지거나 타인이 원하는 것을 소유

함으로써 이루어지는 것은 아니다. 오히려 여러분이 갖고 있는 것을 나누어줌으로써 얻어지는 신 분과 명성인 것이다. 특히, 여러분의 시간, 창의력, 체득된 기술의 결과물을 나누어줌으로써 말이 다.

해커들에게서 존경받는 일을 할 수 있는 것 중 가장 기본이 되는 5가지를 제시한다.

5.1 소스 공개(open-source) 소프트웨어를 작성하라.

우선(가장 핵심적이고 전통적인 것), 다른 해커들이 생각하는 프로그램이 재미있고 유용하도록 작 성한다. 그리고 그 프로그램 소스를 전(全)해커 문화가 사용할 수 있도록 나누어 준다.

우리는 이것을 “공개(무료, free) 소프트웨어”라고 부른다. 그러나 “무료(free)”라는 말이 정확히 어 떤 의미를 내포하는지를 알지 모르는 대다수의 사람들에게는 혼동만 가중시키는 꼴이 되었다. 우 리 대다수의 해커들은 이 용어를 “open-source” 소프트웨어라고 부르기를 좋아한다.

해커왕국에서 가장 존경받는 인물(demigod)들은 포괄적인 필요에 걸맞는 대형·성능이 우수한 프로 그램을 작성하여, 모든 사람들이 이용할 수 있도록 이 프로그램을 나누어 주는 사람이다.

5.2 소스 공개 소프트웨어의 분석(test)과 디버그(debug)를 할 수 있도록 도와라.

또한 소스 공개 소프트웨어를 유지하고 디버그하는 것에 봉사한다. 우리가 사는 이 불완전한 세 상에서 어쩔 수없이 우리는 디버깅하느라고 우리들의 대부분의 소프트웨어 개발시간을 허비한다. 소스 공개 저작자들이 여러분에게 훌륭한 베타 테스터(beta-tester, 소프트웨어 증상을 명확하게 기 술하고, 문제점들을 적확히 집어내고, 졸속적으로 내놓은 판이기 때문에 어느 정도 버그들이 있을 수 있다는 것을 수용하고, 그리고 아주 간단한 진단 루틴들을 기꺼이 적용할 수 있는 사람들)는 루비라는 보석에 그 가치를 덧붙이는 사람이라고 말하는 이유가 여기에 있다. 심지어 이들 테스 터들은 지지부진하고 소모적인 악몽과 같은 디버깅 국면과 그저 유익한 뉘앙스가 있는 디버깅 국 면과의 차이점을 변별할 수 있는 사람들이다.

만약 여러분이 초보자(newbie)라면 여러분이 흥미를 갖고 훌륭한 베타 테스터가 될 수 있는 현재 개발중인 프로그램을 찾아보기 바란다. 이는 프로그램을 테스트하는 것을 돕는 것에서 디버깅할 수 있도록 돕고, 이를 수정할 수 있도록 돕는 자연스럽고 진보적인 절차이다. 이를 통해서 많은 것을 배울 것이며, 후에 여러분을 돕게 될 사람들과 좋은 인연을 만드는 것이기도 하다.

5.3 유용한 정보를 출간하라.

또 다른 선행(善行)으로는 유용하고 재미있는 정보를 수집하고 여과하여, 웹페이지나 FAQs(Frequently Asked Questions lists)와 같은 문건으로 만들어, 누구든 이용할 수 있게 만드는 일이 다.

주요 기술적인 FAQs를 유지·개선하는 사람들은 소스 공개 저작자들만큼이나 존경을 받는다.

5.4 하부구조가 견실히 작동할 수 있도록 도와라.

해커 문화(그리고 인터넷의 공학적 개발)는 자원자들에 의해 운영된다. 메일링 리스트 관리, 뉴스 그룹의 조정작업, 대형 소프트웨어 아카이브 사이트(archive site)를 유지하고, RFC와 기술 표준을 개발하는 것같이 반드시 유지·지속되어야 하는 것이 있지만 그리 매력적인 일은 아니다. 이러한 일을 제대로 하는 사람들은 대단한 존경을 받는다. 왜냐하면 이러한 작업은 엄청나게 많 은 시간이 소요되며, 코드를 갖고 노는 것처럼 그다지 흥미로운 것이 아니기 때문이다. 철저한 헌 신적 봉사가 아니라면 이룰 수 없는 일이다.

5.5 해커 문화 그 자체에 봉사하라.

마지막으로, 여러분은 해커 문화 자체에 봉사하고, 그 사상을 전파할 수 있다(예로, 해커가 되는 법에 관한 정확한 입문서를 작성하는 것 따위). 이러한 위치에 도달하기까지는 앞에서 기술한 것 들을 제대로 이해하고 실천하고 나서야 비로소 이루어질 수 있는 것이다.

엄밀히 말해서 해커 문화는 지도자들은 없다. 그러나 그 문화의 영웅들, 부족 원로들, 그리고 역 사가와 대표자들은 있다. 여러분이 이러한 최전선의 진지를 지켜왔을 때야 비로소 해커 문화의 일원으로 성장할 것이다. 경고 : 해커들은 그들의 부족 원로들 중에서 떠들썩한 자들을 믿지 않는 다. 일종의 명성을 위한 가시적인 접근은 위험한 것이다. 오히려 이러한 속 빈 강정들과 싸워라. 여러분은 여러분 자신들만의 지위를 획득해야 한다. 그래야 명예를 얻을 수 있다. 그리고 난 다음 에 여러분의 신분에 고나해서 겸손과 자비로운 마음을 항시 마음에 새겨 실천해야 한다.

6 해커(hacker)와 숙맥(nerd)간의 관계

대중적인 신화와는 달리, 여러분은 해커가 되려고 숙맥이 될 필요는 없다. 그러나 도움은 된다. 사실상 많은 해커들이 숙맥들이기는 하다. 사회적으로 의지할 것이 없다는 생각은 해킹처럼 정령 중요한 일들에 집중할 수 있는 여건을 마련해주는 셈은 된다. 🙂

이러한 연유로, 많은 해커들은 자긍(自矜)의 상징으로써 ‘숙맥(nerd, 샌님, 꾼)’이라는 딱지가 붙는 다. 심지어는 좀더 험한 용어인 ‘괴짜(奇人, geek)’라는 말도 사용한다. 이는 정상적인 사회적 기대 감에서 자신들은 독립된 존재임을 선언하는 방식이다. 좀더 확장된 논의를 원하면 The Geek Page 를 방문하시오.

여러분이 해킹에 익숙해질 만큼 충분히 어떻게 해서든 전념할 수 있고, 여전히 삶을 영위하고 있 다면, 다행이다. 지금은 내가 1970년대의 열쭝이(newbies) 시절을 보냈을 때보다는 훨씬 수월하게 보낼 수 있다. 다시 말해 주류 문화가 이전보다는 기술 숙맥(techno-nerd)들에게 훨씬 호의를 보이 고 있기 때문이다. 해커들은 종종 괜찮은 연인이자 배우자임을 깨닫는 사람이 점점 많아지고 있다.

생활을 영위할 수 없다는 이유로 해킹에 끌린다면, 그것도 괜찮다. 적어도 전념에 곤란을 겪지 않 을 테니까 말이다. 아마도 여러분은 언젠가는 분명 해커가 될 것이다.

7 해커 품격 갖추기

해커가 되기 위해서는, 여러분은 해커의 사고 방식과 태도를 체득해야 한다. 여러분이 컴퓨터로 도움을 줄 수 없을 때, 몇 가지 할 수 있는 일이 있다. 그렇다고 이것도 해킹의 대체물일 수는 없 다. 그 어떤 것도 해킹과 대체할 수 있는 것은 없다. 그러나 많은 해커들은 다음과 같은 노력을 기울이고 있으며, 일부 기본적인 처세술과 해킹의 본질은 그 맥을 같이하고 있다고 느낀다.

과학 소설을 읽어라. 과학 소설 집회에 참석하라(해커와 원형 해커들을 만날 수 있는 좋은 방 법이다).

선(禪)을 익히거나 병법(兵法)을 익혀라.(정신 수양은 무엇보다도 중요하다. 즉, 노자의 도덕경 (道德經), 장자(莊子) 등.)1)

음악을 통해 분석적 청각을 개발하라. 특별한 음악을 감상하는 법을 배워라. 또한 악기 연주법 과 창법(唱法)을 배워라.

이음동의(異音同義)의 익살과 어휘적 유희의 변별력을 개발하라.

여러분의 모국어로 좋은 글을 쓰는 법을 배워라.(거의 대다수의 해커들은 훌륭한 작가가 될 소 질이 있다.)

상기 언급한 것을 이미 행하고 있다면, 여러분은 타고난 해커적 재목감이라 할 수 있다. 언급한 내용들은 단독적으로 적용되는 것은 아니다. 서로 얽기 설기 얽혀져 있다. 우리의 두뇌 좌/우반구 를 모두 개발해야 한다(해커들은 논리적인 추론과 문제의 명확한 논리 외의 단계로까지 끌어 올 릴 수 있는 능력이 필요하다).

마지막으로 해서는 ‘안될 것’을 적어둔다.

어리석고 뽐내는 듯한 ID나 스크린명을 사용하지 마라.

유즈넷상에서 flame wars에 끼어 들지 마라(그 어디서든지).

여러분 자신을 ‘cyberpunk’라고 부르지 말 것이며, 쓸데없이 시간을 낭비하는 사람들에게 여러 분의 시간을 할애하지 마라.

오자 투성이에 문법에 어긋나는 글을 게시하거나 전자우편으로 보내지 말라.

이러한 짓을 하게 된다면, 명성은 하루아침에 가을에 떨어지는 낙엽과 같은 꼴이 된다. 해커들은 상당히 좋은 기억력의 소유자들이다. 어떤 것을 받아들이면, 최소한 수년동안 잊지 않는다. (그리고 한국철학과 사상을 익히는 것이 우리들에게는 좀더 직접적이고, 시사하는 바가 크다.)

인터넷아이디가 갖는 문제에 대해서 다소 부연 설명하고자 한다. 직함의 裏面에 자신의 정 체성을 숨기는 행위는 청소년이나 크래커, warez d00dz, 그리고 여타 저열한 생명체의 어리석은 행 동 특성이다. 해커들은 이러한 짓을 하지 않는다. 해커들은 자신이 한 일에 자긍심을 갖으며 그러 한 일들이 자신의 실명과 연관되기를 원하다. 그러니 아이디가 있다면, 버려라. 해커 문화에서 직함 이란 패자의 표식일 뿐이다.

8 기타 자원

피터 시바흐(Peter Seebach)는 해커와 함께 일하는 방법을 모르는 관리자들을 위해서 훌륭한 Hacker FAQ 를 작성해 두고 있다. 피터의 사이트가 반응이 없다면, Exite 검색엔진을 이용하면 그 사본을 찾아볼 수 있을 것이다.

Loginataka에서는 유닉스 해커들의 적절한 훈련법과 자세에 관해 알려준다.

나는 해커왕국의 소사(小史)(A Brief History Of Hackerdom, http://www.tuxedo.org/~esr/writings/hacker-history/hacker-history.html)에 관한 글을 썼다.

나는 리눅스와 소스 공개 문화가 어떠한 것인지에 관해서 묘사한 글인 성당과시장 (우리나라의 경우는 http://kldp.org나 각 PC 통신사의 관련동회에서 동일 문건에 대한 번역본을 찾아 볼 수 있다.) 라는 글을 썼고, 그 후 상기 글의 속편으로 認智圈의 택지화 에서 좀 더 구체적으로 개진했다.

나와 Rick Moen이 함께 “질문의지혜”라는 글을 썼다. 당신이 효율적으로 도움을 얻을수있을것이다.

만약 당신이 PC, UNIX와 INTERNET의 기본개념과 동작원리를 알고싶다면 The Unix and Internet Fundamentals HOWTO 를 참고하라.

만약 당신이 프로그램이나 기타팩스를 배포하려고한다면 “프로그램배포조례”를 따르도록 노력하라.

9 빈번한 질문들(FAQ)

질문 : 나에게 해킹하는 법을 가르쳐 줄 수 있소?

이 웹페이지가 개설되고 난 후에 나는 “해킹에 관해 모든 것을 가르쳐 달라”라는 요청을 받아왔 다. 불행히도, 나는 이러한 일에 투입할 여력이 없다. 나는 내 해킹 프로젝트를 수행하는데 내 능 력과 시간에 거의 110%를 쏟아 붓고 있다.

내 처지가 이러하다. 그러나 해킹이란 본질적으로 독학으로 얻어지는 자세이자 기술인 것이다. 만 약 진정한 해커들이 당신을 돕기를 원할 때, 여러분이 그들이 알고 있는 모든 것을 어린 아이 음 식 먹여주듯 일일이 떠 먹여 준다면, 그들은 당신을 존경하지 않을 것이다. 존경받지 못하는 해커 가 무슨 의미가 있는가!

작은 것부터 시작하라. 스스로 학습할 수 있는 능력이 있음을 보여라. 그리고 나서 해커들에게 의 문나는 점을 질문하라.

질문 : 그러면 어떤 식으로 시작할 수 있는가?

시작하기 가장 좋은 방법은 아마도 리눅스 사용자 그룹 모임(LUG)에 참석하는 길일 것이다. 그런 그룹은 LDP의 리눅스 일반 정보 페이지 에서 찾을 수 있다. 아마도 이곳이 우선적으로 접근할 수 있는 곳 중 하나이기도 하다. 주로 대학과 연관되어 있다. LUG 구성원들에게 질문을 하면 아마도 리눅스를 언급할 것이다. 그리고 반드시 이들은 리눅스를 설치 및 간단한 운영법에 관해서 도움을 줄 것이다.

질문 : 당신은 언제 시작했소? 배우기에는 내가 너무 늦은 나이는 아닌지?

시작하고자 하는 동기를 부여 받은 나이가 최적의 나이다. 보통은 15세에서 20세 사이에 관심을 갖지만 예외 없는 법칙이란 없다.

질문 : 해킹하는 법을 배우려면 얼마나 걸리나?

이는 배우고자 하는 사람이 얼마나 재능이 있으며, 얼마나 열정적으로 매달리는지에 따라 다르다. 대부분의 사람들은 18개월에서 24개월 정도면 남부럽지 않은 기술를 획득할 수 있다. 물론 이 일 에 전적으로 집중해야 한다는 전제 하에서 이다. 이것으로 모든 해킹 기술을 습득했다라고 여기 면 큰 오산이다. 당신이 진정한 해커라면 끊임없이 학습하고 그 기교를 완벽하게 하는데 나머지 인생을 투자해야 할 것이다.

질문 : 비쥬얼 베이직(Visual Basic)과 델파이(Delphi)로 시작하면 괜찮겠소?

오! 천만에 말씀. 이 언어들은 이식성이 없다. 이들 언어들은 오픈 소스를 구현할 수 없기 때문에 판매자들이 지원하는 플랫폼에 갇히게 된다. 일종의 독점적 상황을 받아들인다는 것은 해커로서 의 길이 아니다.

특히 비주얼 베이직은 끔찍하다. 독식적인 마이크로소프트 언어라는 사실만으로도 결격사유가 된 다. 그리고 여타 베이직 프로그램도 졸렬한 설계의 언어이기 때문에 나쁜 프로그래밍 습관을 배 태시킨다.

질문 : 어떤 시스템을 크랙(crack)하려는데 도움 좀 주겠소? 아니면 크랙하는 법좀 가르쳐 주시오?

싫소. 이 FAQ를 읽은 후에도 그런 질문을 하는 자라면, 너무 어리석어 비록 내가 시간이 많아 개 인 교습을 한다 해도 불가능하다. 이러한 유형의 요구를 전자우편으로 받는다면 나는 무시해 버 리거나, 극도의 무례함으로 회신할 것이다.

질문 : 어떻게하면 다른사람의 아이디와 패스워드를 얻어낼수있는가?

이건 크래커가하는짓이야! 꺼져버려~! 바보.

질문 : 어떻게하면 다른사람의 E-MAIL을 해킹할수있는가?

이건 크래커가하는짓이야. 내앞에서 꺼져버려, 더러운자식.

질문 : 어떻게하면 IRC에서 OP권한을 도둑질할수있을까요?

이건 크래커가하는짓이야. 뒤져버려~! 구제불능한 자식~!

질문 : 계속 크랙당하는데, 이들을 강력하게 되받아 칠 수 있도록 도와줄 수 없겠소?

이것도 싫소. 지금까지 이런 질문은 수도 없이 받았다. 그런데 대개 윈도우를 운영하는 사람들이 하는 얘기다. 크래커들의 공격에 윈도우 시스템을 효율적으로 안전하게 운용한다는 것은 불가능 하다. 그 코드와 아키텍처는 너무 단순해 너무 많은 결함을 갖고 있다. 이는 체로써 배에 괸 물을 퍼내는 꼴이다. 신뢰할 수 있는 유일한 방어책은 운영체계를 리눅스로 전환하거나 진정한 보안을 담지할 수 있는 다른 운영체제를 이용하는 길이다.

질문 : 저의 Windows프로그램이 문제생겼어요. 도와주시겠어요?

물론이죠, DOS모드에 들어가신다음 “format c:” 라고 쳐보세요, 모든문제가 몇분사이에 해결됩니다.

질문 : 어디가면 대화를 나눌 수 있는 진정한 해커를 만날 수 있을까요?

여러분 지역의 유닉스나 리눅스 사용자 그룹을 찾아보고, 그들의 회합에 참여하는 것이 가장 좋 은 방법이다.[메타랩(Metalab, 이전의 sunsite) 소재의 LDP 사이트에서 유용한 사용자 그룹 목록을 찾을 수 있을 것이다].

“IRC(Internet Relay Chat)가 아닌 것만은 확실하다. 여기는 눈을 씻고 봐도 flamer들과 크래커들이 들끓는 곳이다”라고 말한 적이 있다. 그러나 상황은 변했다는 것을 알고 있다. 분명 진정한 해커 공동체(GIMP나 Perl 등에 지속적으로 어떤 의미를 부여하는)에서는 IRC 채널을 갖고 있다.

질문 : 해킹 주제와 관련해 유용한 서적을 추천해 줄 수 있는가?

나는 유용한 리눅스 관련 문건 하우투 목록 Linux Reading List HOWTO 를 운영하고 있다. 그리고 Loginataka도 흥미를 갖을 만하다.

python에관한 자료는 파이션싸이트의 초보입문자료를 참고하시라.

질문 : 해커가되려면 수학을 잘해야하는가?

필요없다, 해커는 수학을사용할기회가 매우적다. 하지만 꼭 논리적으로 사고하고 정밀적으로 추리하는 법을 알아야한다.

질문 : 가장 먼저 익혀야할 언어는 무엇인가?

HTML. 이 언어를 모른다면은 말이다. 겉만 번지르 하고 과장으로 가득한 불량 HTML 서적들이 산재해 있다. 서글프게도 HTML에 대한 양서는 드물다. 내가 좋아하는 서적 중 하나는 HTML : The Definitive Guide(O’reilly 사 간)이다.

그러나 HTML은 완벽한 프로그래밍 언어는 아니다. 프로그래밍 할 만반의 준비가 되어 있다면, Python을 먼저 시작할 것을 권한다. 그러나 많은 사람들은 Perl를 추천할 것이다. Perl은 Python보다 대중적인 인기를 끌고 있다. 개인적 소견이긴 하지만 Python보다는 배우기에 다소 어렵고, 그리 잘 설계된 것은 아니다. 웹에는 Python을 이용해 프로그래밍하려는 초보자들을 위한 사이트가 있다.

C언어는 중요하다. 그러나 Perl과 Python보다는 익히기가 좀더 어렵다. 굳이 C로 먼저 시작하려고 는 하지 말라.

윈도우 사용자라면 Visual Basic에 안주하지 마라. 이는 잘못된 프로그래밍 습관을 배태시킨다. 윈 도우 운영체계를 떠나선 생존할 수 없는 것이다. 피하라.

질문 : 어떤 하드웨어가 필요한가?

개인용 컴퓨터는 다소 성능이 떨어지고 충분한 메모리를 탑재할 수 없기 때문에 해커들의 학습 과정에서는 어떤 인위적 한계를 갖고 있다는 생각이 일반적이었다. 그러나 이는 몇 년 전에나 해 당되는 얘기이다. 486DX50이상의 머신은 X 개발 작업과 인터넷 통신, 그리고 을 하기에 충분할 정도로 강력하다. 그리고 요즘은 구입할 수 있는 가장 적은 용량의 디스크만으로도 대부분의 작 업을 하기에 충분할 정도로 크다.

학습을 하기 위한 머신을 선택할 때 중요한 기준은 그 하드웨어가 리눅스(또는 BSD 호환, 반드시 그러한 기준에 의해 선택해야 한다)를 설치하는데 적합한 것인가 이다. 이는 요즘 나오는 거의 대 부분의 머신에 적용된다. 유일하게 까다로운 부분은 모뎀과 프린터이다. 어떤 모뎀과 프린터는 리 눅스와는 궁합을 맞출 수 없는 윈도우에서만 작동하는 하드웨어이다. 하드웨어 호환성에 대한 FAQ의 최근 버전은 아래 기술한 사이트에서 확인하기 바란다.

질문 : 마이크로소프트를 미워하거나 비난할 필요가 있는가?

그럴 필요는 없다. 마이크로소프트가 혐오스럽지 않다는 얘기는 아니다. 해커 문화는 마이크로소 프트가 있기 오래 전부터 있어왔다. 마이크로소프트가 지금은 승승장구하고 있다 할지라도, 해커 문화는 여전히 존재하고 그 저류를 흐르고 있다. 마이크로소프트를 미워하는데 허비할 에너지가 있다면 자신의 기교를 사랑하는데 더 많은 시간을 쏟아라. 멋진 코드를 작성하라. 그러면 그대의 업보를 훼손하지 않고도 마이크로소프트를 충분히 한 대 매길 수 있을 것이다.

질문 : 소스 공개 소프트웨어를 작성하여 나누어 준다면, 프로그래머들은 어떻게 생활을 꾸려나갈 수 있는가?

지금까지는 그런 것 같지 않다. 소스 공개 소프트웨어 산업은 프로그래머들을 내몰기보다는 일 (job)을 창출하는 것 같다. 작성된 프로그램을 갖고 있다는 것은 전혀 작성하지 않았을 때보다는 순경제적 이득이라고 한다면, 프로그래머들은 그 프로그램이 완성된 후에 그것이 무료가 되었든 그렇지 않던 간에 보상을 받게 될 것이다. 그리고 아무리 “무료”로 소프트웨어를 작성한다 하더 라도, 언제나 새롭고 주문적인 응용프로그램에 대한 좀더 많은 수요가 창출된다고 볼 수 있다. 나 는 오픈소스 페이지에 본인의 생각을 구체적으로 개진했다.

질문 : 어떻게 시작할 수 있는가? 어디서 공개 유닉스를 구할 수 있는가?

어디서든 구할 수 있다. 해커가 되기 위해서 여러분은 자신을 교육할 수 있는 동기, 창의력과 능 력이 필요하다.

자, 그럼 시작해 볼까요…

여기는 공부에 도움이되는 한국 웹싸이트이다 :

한국 파이썬 사용자 모임 – http://www.python.or.kr/
리눅스 한글문서 프로젝트 – http://kldp.org/
자바누리 – http://www.javanuri.com
전국 리눅스유저그룹 – http://www.lug.or.kr/

http://wiki.kldp.org/wiki.php/Hacker-HOWTO

 Posted by at 11:41 AM

정보보안 국가기술자격검정 안내

 정보보호  Comments Off on 정보보안 국가기술자격검정 안내
Sep 112013
 

https://kisq.or.kr/

시험일정

회별 필기시험 원서접수 필기시험 필기시험
예정발표
응시자격
서류제출
실기시험
원서접수
실기시험 합격자
발표
제1회 5.27 ~ 5.31 7.6 7.19 7.22 ~ 7.26 8.24 9.13
제2회 9.23 ~ 9.27 10.26 11.1 11.4 ~ 11.8 12.7 12.27
 Posted by at 4:27 PM

Using Virtual Smart Cards with Windows 8

 IT, 정보보호  Comments Off on Using Virtual Smart Cards with Windows 8
Sep 032013
 

Using Virtual Smart Cards with Windows 8

by  [Published on 28 Nov. 2012 / Last Updated on 28 Nov. 2012]

In this article, we’ll look at how virtual smart cards are created and used in Windows 8.

Introduction

We all know that password protection alone is a poor way to secure access to the computers on our networks. Two factor authentication provides more security, and smart card technology is one of the most used methods of deploying two factor authentication, because it’s considered by many to be much less invasive then biometrics such as fingerprint or retina scanning.

However, smart cards have a couple of big drawbacks. One is the cost of implementation; in addition to the cards themselves, you have to purchase smart card reader devices for the systems with which you want to use them. The other problem is that users lose them or leave them at home and are then unable to access their systems.

Windows 8 brings us a number of new capabilities in regard to security, and one of the most interesting new features is support for virtual smart cards. That means that, for computers equipped with a Trusted Platform Module (TPM) chip that meets specification version 1.2, organizations can now get the benefits of smart card logon without making an investment in the hardware and without the possibility of users being without their cards when they need them. In this article, we’ll look at how virtual smart cards are created and used in Windows 8.

What’s a virtual smart card?

Traditional smart cards are physical objects; they fit in the “something you have” category of authentication means, and are used in conjunction with “something you know” (a password or a PIN) to provide two-factor authentication. Virtual Smart Cards (VSC) creates a software construct that emulates and is represented to the operating system as a smart card, much like a virtual machine emulates a separate computer and OS instance. However, there is a hardware element involved: the TPM. So you still have two factor authentication (TPM plus PIN).

Most new business-grade machines have TPM chips; many consumer-grade computers, especially those a few years old, do not. If the TPM is present, it must be turned on in the system BIOS. On a Windows 7/8 machine, you can find out whether you have a TPM by running tpm.msc. This opens the TPM management console where you’ll see information about your TPM or, if you don’t have one (or if it’s turned off in the BIOS), you’ll see a message that says “Trusted Platform Module (TPM) cannot be found on this computer.”

Characteristics of VSCs

Virtual smart cards and virtual smart card readers appear to Windows 8 and to the applications the same as physical smart cards, and use the same application-level APIs, but you can tell them apart because the icon is different. The icon that represents the VSC is shown in Figure 1.


Figure 1

As far as the operating system and apps are concerned, they see the VSC as being always inserted in the virtual card reader. Thus you can’t set policy (as you can with physical smart cards) to automatically log the user off when the card is removed. To the user, logging on with a VSC is as easy as logging on with just a password; all users have to do is enter their PINs.

VSCs are secure because although the encrypted private keys are stored on the computer’s hard drive, those keys are encrypted on the TPM and are only used on the TPM. Thus if the machine becomes infected with malware, the VSC keys are safe. The decrypted keys are never loaded into the operating system’s memory or hard drive so they can’t be extracted from those locations by attackers. This is called isolated cryptography because other programs running on the computer cannot access the VSC encryption and decryption processes.

Unlike a virtual machine (VM), you can’t move a VSC to a different computer, because only the TPM that encrypted the keys are able to use them. That means users can’t use the same VSC in multiple machines, but it also means an attacker can’t, for example, remove the hard drive from the computer and compromise the VSC. This feature is callednon-exportability and it’s an important security characteristic of physical smart cards, where the information stored on a physical card cannot be extracted to be used somewhere else.

Note:
Although the VSC is specific to one TPM on one machine, administrators can issue a VSC for the same user to use on each machine that he/she needs to access. In addition, just as other users can insert their own smart cards in a reader so that multiple users can use the same machine, other users can be issued separate VSCs for the same machine. This would be appropriate in cases where Windows-To-Go allows different users to use the same physical machine by inserting their USB drives with their own instances of Windows. Up to six VSCs can be created on one computer.

Like physical smart cards, VSCs will lock out a user who enters an incorrect PIN a specified number of times. This is similar to the account lockout feature that can be configured through Windows Group Policy and is designed to thwart brute force attackers who are just trying one PIN after another in hopes of hitting upon the right one. In smart card terminology, this lockout feature is known as anti-hammering.

What are the drawbacks of VSCs in comparison to physical smart cards? The most obvious is that the thing that makes the VSC more convenient to the user is also its weakness – it can’t be removed from the device and taken with you. If you leave the computer, the smart card is still “inserted” so if an attacker gains access to the machine and happens to know the PIN, he’s in. Thus PIN security is very important.

How VSCs work

Smart cards (virtual or otherwise) are based on digital certificates, which means you need a Public Key Infrastructure (PKI). A Windows Server 2012 certification authority (CA) has two default certificate templates that can be used for issuing smart card certificates. The Smartcard Logon template is appropriate when the card’s use will be for logging on only. If you want users to be able to use the certificate for encrypting email, use the Smartcard User template.

You can create customized certificate templates. The Microsoft Base Smart Card Crypto Provider should be used as the CSP (Cryptographic service provider) for the certificates. You can set a certificate’s validity period and the minimum key size.

The certificate template will need to be created on the server before you can create VSCs. This is done with the Certificates Templates MMC snap-in. If you’re going to allow users to enroll their certificates, you’ll need to give “enroll” permissions to the “authenticated users” group. You’ll then need to go into the Certification Authority MMC on the CA, and select the newly created template as a new certificate template to issue.

Note:
For large scale creation of VSCs, there are VSC management software solutions.

Creating and Issuing VSCs

To create a VSC, use the Tpmvscmgr.exe command line utility shown in Figure 2, which must be run with local administrative privileges on a Windows 8 computer that’s a member of your domain.


Figure 2

The command syntax is shown in the figure. You can configure a PIN for the key, a Pin Unlock Key (PUK) and an admin key. The PUK is used to unlock the VSC so the user can reset the PIN if the PIN is forgotten. The admin key is a more secure way to unlock the card for PIN reset. Which you use depends on your smart card management solution. Note that the PIN must be a minimum of eight digits and you can also use alpha characters and special characters, making it more like a password than a PIN. The admin key is 48 hexadecimal digits.

In a domain, you can create a smart card on a remote computer, using the /machine subcommand. You must be running the utility under an account that is in the local administrators group on the remote computer.

When a card is created, the utility will display an “instance ID” for it. You’ll need to know this ID if you ever want to use the /destroy command to delete a VSC from the computer.

Enrollment

If you’ve worked with smart cards before, you know they must be enrolled before they can be used. This is where the user’s credentials are attached to the card. The process is a little different with VSCs because there is no enrollment station. They are enrolled on the local Windows 8 computer, using the Certificate Enrollment wizard in the Certificates Management console (accessed by running certmgr.msc). To start the wizard, do the following, as shown in Figure 3:

  1. In the left pane, right click the Personal node.
  2. Select All Tasks.
  3. Select Request New Certificates.


Figure 3

This starts the Certificate Enrollment Wizard and you can follow the prompts, selecting the template for TPM virtual smart cards and choosing the name that was given to the smart card when it was created. You’ll need to enter the PIN.

VSC use and maintenance

The VSC can now be used just like a physical smart card (except that it’s never removed from the device). Applications will treat it like a traditional smart card.

You’ll recall that during the creation of the VSC, you set a validity period. When it expires, credentials will need to be renewed. The user requests renewal and they can get a new key pair or reuse the same one. A VSC can hold up to 90 certificates with up to 30 private key pairs.

If Windows has to be reinstalled or if the VSC is compromised, the VSC will need to be reissued. This means going through the card creation process again, creating a new PIN and admin key. Also note that if the TPM on the computer should be re-initialized, you’ll have to recreate the VSC.

If the incorrect PIN is entered too many times (as in a brute force attack), the VSC may go into timed delay, where it is blocked and must be reset. In addition, the TPM itself may go into lockout mode, and will have to be reset using the TPM owner password. These are two different issues.

For more detailed information, including step by step instructions for using the tools described in this article, download the Understanding and Evaluating Virtual Smart Cards.docx document from the Microsoft Download Center.

Summary

Windows 8’s support for virtual smart cards provides companies with the ability to implement two factor authentication without the expense associated with traditional smart cards. To the user, the logon experience is basically the same as using traditional password authentication, but under the hood it’s more secure – and the user doesn’t have to worry about keeping up with a physical card.

 

 

http://www.windowsecurity.com/articles-tutorials/authentication_and_encryption/Using-Virtual-Smart-Cards-Windows-8.html

 Posted by at 8:46 PM

Mozilla Persona Protocol

 정보보호  Comments Off on Mozilla Persona Protocol
Jul 182013
 

https://developer.mozilla.org/en-US/docs/Mozilla/Persona/Protocol_Overview

 

Persona is built on the BrowserID protocol. This page describes the BrowserID protocol at a high level.

Actors

The protocol involves three actors:

  • Users: The actual people that want to sign into websites using Persona.
  • Relying Parties (RPs): Websites that want to let users sign in using Persona.
  • Identity Providers (IdPs): Domains that can issue Persona-compatible identity certificates to their users.

Persona and the BrowserID protocol use email addresses as identities, so it’s natural for email providers to become IdPs.

Mozilla operates a fallback IdP so that users can use any email address with Persona, even one with a specific domain that isn’t an IdP itself.

Protocol Steps

There are three distinct steps in the protocol:

  1. User Certificate Provisioning
  2. Assertion Generation
  3. Assertion Verification

As a prerequisite, the user should have an active identity (email address) that they wish to use when logging in to websites. The protocol does not require that IdP-backed identities are SMTP-routable, but it does require that identities follow the user@domain format.

User Certificate Provisioning

In order to sign into an RP, a user must be able to prove ownership of their preferred email address. The foundation of this proof is a cryptographically signed certificate from an IdP certifying the connection between a browser’s user and a given identity within the IdP’s domain.

Because Persona uses standard public key cryptography techniques, the user certificate is signed by the IdP’s private key and contains:

  • The user’s email address.
  • The user’s public key for that address on that browser.
  • The time that the certificate was issued.
  • The time that the certificate expires.
  • The IdP’s domain name.

The user’s browser generates a different keypair for each of the user’s email addresses, and these keypairs are not shared across browsers. Thus, a user must obtain a fresh certificate whenever one expires, or whenever using a new browser or computer. Certificates must expire within 24 hours of being issued.

When a user selects an identity to use when signing into an RP, the browser checks to see if it has a fresh user certificate for that address. If it does, this step is complete and the browser continues with the assertion generation step below. If the browser does not have a fresh certificate, it attempts to obtain one from the domain associated with the chosen identity.

  1. The browser fetches the /.well-known/browserid support document over SSL from the identity’s domain.
  2. Using information from the support document, the browser passes the user’s email address and associated public key to the IdP and requests a signed certificate.
  3. If necessary, the user is asked to sign into the IdP before provisioning proceeds.
  4. The IdP creates, signs, and gives a user certificate to the user’s browser.

With the certificate in hand, the browser can continue with generating an identity assertion and signing into an RP.

user-certificate-provisioning.png

Assertion Generation

The user certificate establishes a verifiable link between an email address and a public key. However, this is alone not enough to log into a website: the user still has to show their connection to the certificate by proving ownership of the private key.

In order to prove ownership of a private key, the user’s browser creates and signs a new document called an “identity assertion.” It contains:

  • The domain of the RP that the user wants to sign into.
  • An expiration time for the assertion, generally less than five minutes after it was created.

The browser then presents both the user certificate and the identity assertion to the RP for verification.

Assertion Verification

The combination of user certificate and identity assertion is sufficient to confirm a user’s identity.

First, the RP checks the domain and expiration time in the assertion. If the assertion is expired or intended for a different domain, it’s rejected. This prevents malicious re-use of assertions.

Second, the RP validates the signature on the assertion with the public key inside the user certificate. If the key and signature match, the RP is assured that the current user really does possess the key associated with the certificate.

Last, the RP fetches the IdP’s public key from its /.well-known/browserid document and verifies that it matches the signature on the user certificate. If it does, then the RP can be certain that the certificate really was issued by the domain in question.

Once verifying that this is a current login attempt for the proper RP, that the user certificate matches the current user, and that the user certificate is legitimate, the RP is done and can authenticate the user as the identity contained in the certificate.

assertion-generation-and-verify.png

The Persona Fallback IdP

What if a user’s email provider doesn’t support Persona? In that case, the provisioning step would fail. By convention, the user’s browser handles this by asking a trusted third party, https://login.persona.org/, to certify the user’s identity on behalf of the unsupported domain. After demonstrating ownership of the address, the user would then receive a certificate issued by the fallback IdP, login.persona.org, rather than the identity’s domain.

RPs follow a similar process when validating the assertion: the RP would ultimately request the fallback IdP’s public key in order to verify the certificate.

김상욱의 웹스타트(webstart) 강좌

 IT, 정보보호  Comments Off on 김상욱의 웹스타트(webstart) 강좌
Jun 152013
 

애플릿(Applet)의 단점을 극복한 웹스타트 강좌입니다.

애플릿은 웹 브라우저에서 돌아가는 작은 프로그램으로서 인터넷 열풍과 함께, 막강한 기능에 훌륭한 보안모델을 갖추고 있어 큰 인기를 끌었으며, 세계적으로 700만개 사이트에서 이용 중이며, 아직도 많은 국내 학원에서 애플리케이션 제작과 함께 애플릿 제작을 교육하고 있습니다. 애플릿은 분명 인터넷 시대에 Java라는 언어가 대중들에게 큰 인기를 끌게 한 주역임에 틀림없습니다. 각종 브라우저에서도 기본적으로 지원하고 있지요.
…..

http://50001.com/sub/mylect/mylect_05.htm