2011년 2월 28일 월요일

구글 2단계 인증 사용하기 (Using Google 2-step verification)

구글에서 새로 시작한 서비스이다.
비밀번호 유출이 걱정되거나 계정이 해킹당한거 같다고 걱정하는 사람들은 이 서비스를 이용하면 구글을 훨씬 안심하고 사용할 수 있게 된다.


사용하려면 먼저 구글 어카운트 설정으로 가서 Using 2-step verification을 선택한다.
 

아래와 같이 2-step verification 설정이 시작된다.

먼저 어떤 스마트폰을 사용할건지 선택한다.


플랫폼을 선택하면 해당 플랫폼에 필요한 앱을 설정하는 법이 나온다. 그대로 따라해서 폰에 필요한 앱을 설치해준다.


 설치가 완료된 다음 next를 누르면 아래와 같이 화면에 QR코드가 나타난다.


폰에 설치한 앱을 실행한다. 여기서는 안드로이드에 설치된 경우이다.


Scan account barcode를 선택한 다음 컴퓨터 화면의 QR코드를 인식시킨다.

정상적으로 QR 코드가 인식되면 화면에 위와 같은 확인 코드가 나오게 된다.
PC에 위의 확인코드를 넣어주면 된다.


모든게 정상적으로 되었다면 아래와 같은 화면이 나오게 된다.
여기까지 오면 일단 설정은 끝난건데 문제는 암호를 잊어버리고 폰도 없어지거나 분실되는 경우 사용할 수 있는 수단이 필요하게 된다. 

은행의 보안카드같이 화면에 아래와 같은 코드들이 나타나게 된다. 이 코드들은 별도로 잘 보관해 두어야 한다. 만일 암호도 기억이 나지 않고 스마트폰도 없는 경우는 이 코드를 알고 있어야만 자신을 확인시켜줄 수 있게 된다.

꼼꼼하게 확인하기 위해 저 표를 인쇄하건 어딘가에 잘 보관해 두었다는걸 체크해 주지 않으면 next버튼이 활성화 되지 않는다.


다음으로 넘어가면 마지막 수단으로 문자메시지나 음성으로 확인할 수 있도록 하기 위해 휴대폰 번호를 등록한다.

여기까지 왔으면 이제 설정이 끝난것이다. 아래와 같은 최종 확인 화면이 나오게 되고 여기서 Turn on 2-step verification 버튼을 눌러주면 이 기능이 활성화되어 바로 적용된다.


 자동으로 로그아웃되고 다시 로그인하도록 암호를 물어본다.

암호를 넣으면 이전과 다르게 바로 로그인이 되는게 아니고 아래와 같은 화면이 나와 인증코드를 물어보게 된다. 자신의 폰에 설치한 앱을 실행하면 화면에 나오는 인증코드를 넣어주면 된다.

 
 정상적으로 로그인이 되면 다음과 같은 화면을 볼 수 있다.

여기서 모든 설정은 끝난 셈이지만 남은 문제는 웹 브라우져로 로그인 할 때는 인증코드를 물어볼 수 있지만 전용 클라이언트(구글계정에 연동되는 메일이나 웹 서비스 클라이언트들) 은 인증코드를 물어볼 수 없기 때문에 제대로 동작을 하지 않게 된다. 그 경우를 위해 Application-specific passwords 기능을 제공한다. 아래에서 Manage application-specific passwords를 선택한다.


여러 클라이언트마다 별도로 관리할 수도 있다. 그걸 위해 각 application-specific passwords마다 이름을 붙여준다. 아래에 원하는 이름을 정해주고 Generate password버튼을 누르면 된다.


그럼 아래 노란색 박스에 암호가 만들어진다. 클라이언트에 자신의 원래 암호 대신 저 암호를 넣어주면 클라이언트들도 정상적으로 동작하게 된다. 이 암호는 랜덤하게 생성된 길고 복잡한 암호이기 때문에 brute-force 방식의 password cracker들에게는 거의 깨질일이 없는 안전한 암호이다. 이 암호는 클라이언트에 한번만 넣어주면 되고 따로 암기할 필요는 없는 암호이다.

이렇게 하면 스마튼 폰을 통해 구글의 2단계 인증 기능을 사용할 수 있고 훨씬 더 안전하게 구글을 사용할 수 있게 된다. 특히 PC방이나 공공장소에서 구글에 로그인 할 때 혹시라도 키로깅을 당하더라도 OTP 코드는 계속 바뀌기 때문에 설사 암호가 로깅되어도 계정이 뚤릴까봐 걱정할 필요가 없어진다.

2011년 2월 26일 토요일

탈옥하지 않은 아이폰에 시리얼포트 사용하기: HiJack (Add serial port to un-jailbroken iPhone: HiJack)

UMich에서 아주 재미있는 프로젝트가 진행되었다. HiJack이라고 아이폰의 헤드폰 단자에 꼽아 외부 주변기기와 통신을 할 수 있는 디바이스를 만든 것이다.



아이폰의 30핀 독 커넥터에도 시리얼 포트가 있기 때문에 외부 디바이스를 연결할 수 있지만 이 경우 탈옥을 하지 않은 아이폰/터치팟의 경우 애플의 인증칩이 붙어 있어야만 동작하고 관련 자료를 구하는것도 개발자 프로그램에 가입해야만 가능하기 때문에 제약이 많았다.
물론 탈옥을 하고 나면 모든 제한이 사라지고 리눅스에서 시리얼 포트 사용하는것과 동일하게 사용할 수 있게 된다.

하지만 HiJack을 사용하면 탈옥을 하지 않은 순정 아이폰/터치팟에 시리얼포트 뿐 아니고 digital I/O를 제공해주기 때문에 여러가지 외부 디바이스를 손쉽게 아이폰에 인터페이스 할 수 있다.

당연히 지금까지 이런 방식을 사용하지 않았던건 아니다.
이미 위의 사진같이 Square라는 회사에서 아이폰용 신용카드 리더를 만들어 제공하고 있는데 이 역시 기본적으로 동일한 방식을 사용해서 통신을 하는 것이다.

단 차이는 사진의 리더기는 완성된 제품인데 비해 HiJack은 모든 관련자료와 필요한 소스코드까지 완전히 공개되어 있다는 점이다.

그리고 이 회로의 훌륭한 점은 헤드폰 잭은 스테레오라는걸 이용해서 아이폰에서 HiJack으로 데이터 전송은 왼쪽 모노 채널을 통해 보내고 오른쪽 모노 채널로는 지속적으로 22KHz 톤을 보내 HiJack에서는 그 톤은 energy harvesting회로를 통해 자신에게 전원을 공급하는데 사용한다.
약 47%의 변환효율을 보여 7.4mW의 전력을 공급한다.

데이터 전송 속도는 Bell 202 FSK modulation을 사용할 때는 300bps, Manchester encoding된 디지털 신호를 직접 사용하는 경우는 8.82kbps가 된다.

시리얼 포트 뿐 아니고 MSP430의 A/D나 digital I/O신호도 사용할 수 있기 때문에 아래 사진은 HiJack에 EKG모니터를 연결한 경우이다.




ECG Extension for HiJack from Thomas Schmid on Vimeo.



Hijacking Power and Bandwidth from the Mobile Phone's Audio Interface - Integrated Prototype from Thomas Schmid on Vimeo.



Hijacking Power and Bandwidth from the Mobile Phone's Audio Interface from Thomas Schmid on Vimeo.



SoilJack - A Low-Cost Phone Soil Moisture Meter from Thomas Schmid on Vimeo.

회로와 관련 소스는 http://code.google.com/p/hijack-main/ 에서 다운받을 수 있다.

좀 더 자세한 정보와 관련 논문은 프로젝트 홈페이지인 http://eecs.umich.edu/~prabal/projects/hijack/ 를 참조하면 된다.

2011년 2월 25일 금요일

Motorola XOOM 태블릿 체험(?)기



일단 만져본 느낌으로는 아이패드보다 무겁다. 그리고 아이패드에 베젤이 크다고 말이 많았는데 XOOM의 경우 아이패드보다 베젤이 좁아 한 손으로 잡는 경우 약간 불안한 느낌이 들었다. 안정적으로 잡기 위해 손을 좀 안쪽으로 하면 손이 그렇게 큰 편이 아닌데도 의도하지 않은 터치가 일어난다.




하드웨어 버튼은 뒷면의 렌즈 옆쪽에 있는 전원버튼과 옆쪽의 볼륨버튼 2개가 전부이다. Back, Home등의 모든 버튼은 소프트버튼이 되어 버렸다.


화면 좌측 하단 맨 오른쪽의 Space(?) 버튼을 누르면 아래와 같이 맥에서 space 개념같은 가상 화면을 선택할 수 있다.


아래는 Setttings 화면이다. 스크린이 커진 덕에 왼쪽의 메뉴항목을 선택하면 그 항목의 서브항목이 오른쪽에 나타난다.


윈도우와 비슷하게 좌측 하단의 시계가 나오는 부분을 누르면 조그마한 창이 열려 현재 음악 플레이어의 상태와 시간, 배터리 잔량, 무선랜 연결상태 등을 자세히 볼 수 있게 된다.


캘린더 화면이다. 기본화면은 weekly view로 설정되어 있는거 같았다. 그리고 화면 우측 상단에 메뉴버튼이 있다. 항상 나오는건 아니고 메뉴가 있을때만 나타난다.

주소록이다. 역시 화면이 크니 한 눈에 들어오는게 보기 편했다.


카메라 앱을 구동한 화면이다.


음악 플레이어 앱이다. 크게 인터페이스가 달라지지는 않았지만 역시 화면이 커지니 앨범 브라우징 하는데 훨씬 편하다.


화면 우측 상단 메뉴버튼 옆에 있는 버튼을 누르면 나오는 화면인데 여기서 위젯, 월페이퍼, 앱 숏컷등을 설정할 수 있다.


Books 앱을 실행해보려고 했지만 계정이 로그인 되지 않으면 아예 동작을 하지 않아 확인을 해 볼 수가 없었다.

아래쪽 포트는 다음과 같다. 좌측부터 마이크로 USB, 외부 비디오 출력, 독에 연결할 때 전원 공급을 위한 접점, 아답터 커넥터 순이다.


매장에 전시되어 있는걸 혼자 동작시켜보며 한손으로 사진을 찍다보니 화면에 손자국도 많고 사진 품질도 엉망이긴 해도 대강 보는데 큰 문제는 없으리라 본다.

만져본 소감은 확실히 UI도 많이 부드러워 지고 타블릿용으로 많이 다듬은게 느껴졌다. 다만 XOOM의 경우 실질적으로 하드웨어 버튼이 하나도 없는 셈이라 어딘가 좀 아쉬웠다. 또한 아이패드에 비해 비싼 가격(약정 없이 $799/Verizon 2년 약정하면 $599, 아이패드 3G 32GB모델의 경우 $729), 무게등은 약점이다. 그리고 시간이 가면 차이가 줄어들긴 하겠지만 아직까진 안드로이드 타블릿 전용앱이 거의 없는점 등이 문제이다. 안드로이드 타블릿을 구입했는데 동작시킬 수 있는 앱은 거의 스마트폰용이라면 타블릿의 장점이 많이 희석되어 버릴것이다.