아마존 이야기

 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

공인인증서는 액티브X가 아니다

 IT, 정보보호  Comments Off on 공인인증서는 액티브X가 아니다
May 282013
 

기존에 유지돼 온 공인인증제도와 액티브X는 별개의 문제로 봐야한다는 주장이 제기됐다. 정부 주도로 이뤄지고 있는 공인인증체제에 일부 보완이 필요한 것은 사실이지만 공인인증서를 액티브X와 같은 것으로 오해해서는 보안강화라는 본래 목표를 이룰 수 없다는 설명이다.

28일 정보보호전문가들은 이 두 가지에 대한 개념이 뒤섞이면서 최근 관련된 논의가 정확한 논점을 찾지 못하고 있다고 지적했다.

염흥열 순천향대 정보보호학과 교수는 “우리나라 공인인증체계는 국제전기통신연합(ITU)가 정하는 국제 표준을 따르고 있다”며 “보안이 취약한 액티브X의 경우 대체 기술이 충분히 나와 있는 상태로 2015년을 예정된 HTML5 국제표준이 제정되면 상황이 달라질 것”이라고 밝혔다.

▲ 공인인증 로그인 화면.

■공인인증체계, 국제표준서 높은 등급

국내 공인인증체계는 ITU-T의 실체인증보증표준(X.1254)에 따라 3등급의 보안수준을 갖추고 있다. 염 교수에 따르면 1, 2, 3, 4등급으로 분류된 이 체계에서 3등급은 ID와 비밀번호, 이중인증, 일회용 비밀번호(OTP)를 포함한 인증방식이다. 글로벌 기준으로 국내 공인인증체계 자체의 보안성이 낮은 것은 아니라는 설명이다. 등급이 올라갈수록 보안성이 높다.

■공인인증체계에 액티브X를 쓸 수밖에 없었던 이유

국내에서 공인인증체계에 액티브X를 쓸 수밖에 없었던 이유는 대체기술이 없었기 때문이다. 김승주 고려대 정보보호대학원 교수는 “공인인증서 체계를 쓰거나 쓰지 않는다고 해서 액티브X 문제가 사리지는 것은 아니다”라고 밝혔다.

김 교수는 금융권에서 액티브X를 쓸 수밖에 없었던 이유가 금융위원회가 제기하고 있는 두 가지 의무사항 때문이라고 설명했다.

금융권에서는 계좌이체할 때 전표에 사인을 하거나 도장을 찍는 것과 마찬가지로 인터넷 계좌이체 등을 위해 필요한 전자서명을 요구하고 있다. 또한 1990년대부터 유지해 온 SEED 암호 알고리즘 사용하도록 했다. 이는 소프트웨어적으로 추가기능을 설치하는 방법을 통해서만 구현할 수 있다. 국내 공인인증체계에 액티브X를 사용할 수밖에 없었던 이유가 여기에 있다. SEED는 국가정보원이 구현한 한국형 암호 알고리즘으로 이 역시 도입하기 위해서는 액티브X를 설치하는 수밖에 없었다.

공인인증체계는 전자서명을 요구하기 때문에 액티브X를 쓸 수밖에 없었으나 최근 들어 대체기술들이 개발되기 시작했다. 이에 따라 액티브X를 써야할 필요는 없어진 상황이다. 실제로 일부 금융권에서는 오픈뱅킹이라는 이름으로 HTML5 기반 공인인증체계를 지원하고 있다.

■공인인증체계-액티브X, 구분해야 해법 나와

물론 공인인증체계와 액티브X를 구분해서 본다고 해서 기존에 정부주도로 유지된 공인인증체계에 허점이 없는 것은 아니다. 정부 주도로 공인인증체계를 강제한다고 보안성이 높아진다고 보기는 힘들기 때문이다.

해외에서는 기본적인 보안 수준에 대한 가이드 라인을 정해놓은 뒤 보안체계에 대해서는 자율적으로 결정하고 이에 대해 책임지도록 규정하고 있다. 은행이나 기타 전자서명이 필요한 곳에서도 보안체계를 자율에 맡기돼 그에 따르는 책임은 담당하는 기관에 지게 하고 있다.

염 교수는 “공인인증체계 문제의 핵심은 국가가 인증체계에 얼마나 개입하는 것을 허락하는가의 문제”라고 밝혔다. 액티브X는 다른 기술로 대체하고, 정부가 강제하는 공인인증체계에 대해서는 추가적인 합의가 필요하다는 것이다. 이 두가지 이슈를 같은 것으로 볼 경우 문제는 해결되지 않고 논란만 가중된다는 지적이다.

http://media.daum.net/digital/newsview?newsid=20130528183105393