2007-01-24

OpenID, 피싱, 인터넷뱅킹 사고

류근우님께서 지적하신 OpenID와 피싱의 문제는 정확하게는 Microsoft의 Kim cameron의 에서부터 시작됩니다. 이것을 구글의 Ben이 거들면서 문제가 본격화됩니다.

OpenID 로그인 절차는 다음과 같습니다.

  1. 인터넷 사이트에 OpenID URL을 입력한다.
  2. 인터넷 사이트가 OpenID URL로 Redirection 시킨다.
  3. OpenID provider의 로그인 페이지에 패스워드를 입력하고 로그인한다.
여기서 2,3번 과정에서 문제가 발생합니다. 즉, 인터넷사이트가 피싱페이지로 redirection시키고, OpenID provider가 제공하는 UI와 동일한 화면을 피싱페이지를 통해서 보여주면, 사용자는 아무생각없이 패스워드를 입력할 것이고 피싱공격이 성공할 것이다라는 것입니다.이 이후부터는 OpenID의 장점(SSO, Attribute Exchange)이 모두 단점이 되겠지요.

simon씨는 사용자가 OpenID provider의 주소를 북마크하도록 하고, 위의 3번 과정에서 로그인페이지를 보여주지 말고 사용자가 북마크를 통해서 직접 provider를 찾아가도록 하자는 제안을 했습니다.

UsableSecurity의 Ka-ping Yee씨는 simon의 제안에 더해서 Referer 헤더를 가진 request에 대해서만 로그인페이지를 보여주지 말자고 제안을 향상시켰고, Sxip의 Martin은 Group Membership 프로토콜을 제안했습니다.

이후에 simon씨는 사람들이 유지하는 whitelist를 통해서 해결하자는 제안을 했습니다. 즉, 우리가 믿는 OpenID provider/consumer whitelist를 만들자는 것이지요.

하지만, 최근 국내에 발생한 피싱공격과 스웨덴 은행의 해킹사고를 살펴보면 여전히 이런 것들로 피싱문제를 해결할 수는 없다는 것을 알 수 있습니다. 왜냐하면 북마크된 OpenID provider의 주소(IP) 또한 속일 수 있을테니까요. 만약 OpenID가 점점 더 가치있는 서비스에 사용될수록 피싱에 대한 해결책이 절실하게 필요할 것이라고 생각합니다.

저는 OpenID와 Strong Auth가 결합된 형태의 서비스만이 이 문제를 해결할 수 있다고 생각하고, 이런 서비스를 제공하기 위해서 노력할 것입니다.

댓글 3개:

Korean Identity Management :

좋은 글입니다. 요즘 고민하고 있는 내용인데, 참고할 자료가 많네요.

blacklist를 사용하는 방법을 생각하고 있었는데, whitelist를 사용하는 것이라든지 그룹 멤버쉽 프로토콜을 사용하는 방법은 상당히 신선하네요.

관련된 포스팅을 했는데, 이창희님 블로그로 트랙백이 안되는군요..

ChangHee Lee :

스팸이 많은 건 아니었지만, 지우는 것이 귀찮아서 익명코멘트를 막았는데...승현님이 blogger 프로파일 만드신 걸보니 죄송해서^^ 다시 열었습니다.
그리고, blogger.com이 트랙백을 지원하지 않는 것 같네요.

익명 :

앗. 고맙습니다^^ 저 때문에 정책까지 바꾸셨다니 죄송하기도 하고.. 이제 더욱 자주 덧글을 남기도록 하겠습니다~

ps. 기념으로 익명 코멘트 남깁니다^^