시간동기 OTP 솔루션을 만들려고 합니다.... 질문좀 드립니다.

hanuljyw의 이미지

안녕하십니까?
혼자서 시간동기방식의 OTP솔루션을 한번 만들어 보려고 하고있습니다.
인터페이스는 그냥 그렇게 CS나 WEB으로 DB설계하고 만들 수 있을것같습니다만

OTP 알고리즘이 문제네요.. @ @;;
그나마 인터넷 검색으로 나오는 OTP 알고리즘은 count를 증가시키면서 그값으로 패스워드를 생성하는 '이벤트방식' 이더라구요..
그냥 이벤트방식은 보안상 취약점이 있다고 하여, 이왕 만드는거 시간동기화 방식으로 만들고 싶은데..
몇일간 아무리 검색을 해보아도 open 되어진 알고리즘이나 관련 소스가 전무 하네요 ㅜ ㅠ
혹시 시간동기화 방식 otp 관련 정보나 정보가 있는 사이트를 아시는분은 알려주세요 ㅜ ㅠ 부탁드립니다.

shint의 이미지

로그인 할 때마다 그 세션에서만 사용할 수 있는 1회성 패스워드'라면
국민은행 키입력방식이나. 라그나로크 온라인'을 해보세요.
게임 시작하면 랜덤 숫자가 화면에 표시되는걸 선택합니다.

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

hanuljyw의 이미지

질문과 전혀 다른 답변을 해주시네요;;

planetarium의 이미지

그냥 인터넷에서 굴러다니는 "random값 계산 함수" 를 구해다가
seed 값으로 적당한 시간값 (분 단위 정도)을 넣어주면 OTP가 되겠네요.
한 단위 전 시간의 값도 허용한다거나, 한번 사용한 값은 다시 못쓰게 한다거나 자잘한 처리는 필요하지만요.

OTP 기기에 네트워크가 지원되지 않는다면 시간을 정확하게 동기화하는 방법이 이슈겠네요.

kippler의 이미지

그냥 랜덤시드만 서로 맞추면 되지 않나요?

예를 들자면

int min = time(NULL)/60; // 1분

result = rand(min + seed);

이러면 될것 같은데요..

======== 서명 =======
주거지는 www.indidev.net 입니다.

kippler의 이미지

아 실수네요.

srand(min + seed);
result = rand();

로 바꿉니다.

======== 서명 =======
주거지는 www.indidev.net 입니다.

planetarium의 이미지

컴파일러가 rand() 의 구현을 어떻게 했을지 모르잖아요.
주어진 seed 값 외에 시스템에서 구할수 있는 다른 정보들을 salt로 이용한다거나 할수도 있겠죠. 그래야 보안상 더 좋을테구요.
random 함수는 어디서 가져오더라도 직접 관리하는게 좋을것 같습니다.

cleansugar의 이미지

이 글타래와는 무관하지만 시간과 암호 하니까 생각나는 것이 있습니다.

암호를 입력할 때 박자까지 인식하는 겁니다.

터미널이나 웹페이지에 암호를 입력할 때 문자 사이의 시간 간격까지 맞추면 입력이 성공하고,

문자열은 맞아도 박자가 틀리면 허니팟으로 접속되게 할 수도 있습니다.

특허는 오래 전에 나왔으므로 구현은 어려울 수도 있습니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

cleansugar의 이미지

로그나 패킷 스니퍼에는 리듬이 저장이 안되는 경우도 많습니다.

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

cleansugar의 이미지

"타자 습관이 비밀번호 대신하는 시대 온다"
http://news.naver.com/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0005558771

"명품 원목 키보드 (서울=연합뉴스) 전수영 기자 = 26일 오전 신세계백화점 본점 가전제품 매장에 원목으로 만들어진 컴퓨터 키보드가 등장해 고객들의 눈길을 끌고 있다. 일본 가전제품 제조사인 '아마다나(Amadana)'社의 제품으로 벚나무, 단풍나무, 호두나무 등 3가지 나무로 제작되었으며 스페이스 바에는 사용자의 이니셜(오른쪽 아래)을 새길 수 있어 고객들의 인기가 높다. 주문 제작으로만 판매되며 2주 가량의 제작기간이 소요된다. 가격은 개당 887,000원. swimer@yna.co.kr

(샌프란시스코=연합뉴스) 임상수 특파원 = 컴퓨터의 비밀번호를 대신해 자판에 입력하는 습관을 통해 이용자의 신원을 인식하는 소프트웨어가 개발되고 있다고 뉴욕타임스 인터넷판이 18일(현지시간) 보도했다.

이에 따르면 국방부 산하 고등연구계획국(DARPA)은 컴퓨터를 이용하기만 하면 개별 개인들의 자판을 사용하는 특징적인 습관을 파악해 이용자가 수행하는 일을 방해하지 않고 인증을 해주는 '인지 핑거프린팅(cognitive fingerprint)'기술의 개발을 지원할 예정이라고 밝혔다."

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

emptynote의 이미지

NC 소프트웨어 OTP 사용자로서 이곳에서 논의된 내용이 큰 도움이 되네요.

OTP 어떻게 구현하면 될지 넘사벽을 느껴왔었는데,

굿아이디어를 얻었기에 기쁘네요.

금감원? 통과할 훌륭한 프로그램은 만들 능력이 안되지만 제가 구상하는 작은 웹에서는

용이하게 사용할수있겠네요 ^^

감사합니다~

익명 사용자의 이미지

마다 난수표가 다른데 ㅡㅡ; 해싱 알고리즘을 공부해보세요 불가역함수하고

익명 사용자의 이미지

이벤트 방식과 시간동기화 방식 글만 있는거지만 도움이 될런지 모르겠네요.
http://www.u-otp.co.kr/blog/3

cleansugar의 이미지

패스워드 입력, 확인의 이런방식은 어떨지?
http://kldp.org/node/45588

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

fensy의 이미지

알고리즘도 알고리즘이지만 시간동기를 맞추는것도 신경을 쓰셔야할듯..
시간동기는 gps를 이용하는게 가장 정확하다고 주워들은거 같네요...:)
써보니 별로 도움안되는 내용이군...

석사의 이미지

크게 일단 오프라인상태의 otp토큰을쓸건지 아니면 온라인통신상에서 otp인지 정하고하셔야할거같네요

토큰이라면 시간동기화를 사용해도되지만 온라인상에서는 hashchain 공부해보세요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.