banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Thỉnh cầu viết bài " Password sử dụng một lần"  XML
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 03/12/2008 08:41:16 (+0700) | #1 | 161099
[Avatar]
Đông Chí
Member

[Minus]    0    [Plus]
Joined: 05/11/2008 20:29:47
Messages: 76
Location: The Pirate Island
Offline
[Profile] [PM] [WWW] [MSN]
Chào các bác, em nghe nhiều đến từ password sử dụng một lần mà không hiểu nó là thế nào, em tìm theo tiếng Anh thì thấy bên wiki pedia có bài nhưng khổ nỗi từ vựng của em còn non quá, mà thời gian của em không có nhiều để dịch hết chỗ tài liệu ấy. Bác nào dễ tính tốt bụng làm ơn giải thích dùm em thuật ngữ pasword sử dụng một lần được không. Em xin chân thành cảm ơn!
------------
Đông Chí
*Biển học vô biên, quay đầu là bờ!
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 03/12/2008 09:32:38 (+0700) | #2 | 161104
cvhainb
Member

[Minus]    0    [Plus]
Joined: 04/01/2007 14:32:38
Messages: 251
Offline
[Profile] [PM]
Theo quan điểm của mình thì nó như vầy. Khi nhập vào một mật khẩu từ ngoài vào, nó sẽ so sánh với mật khẩu có sẵn trong database, nếu đúng thì nó sẽ cho đăng nhập (Đại loại thế) rồi sẽ update một field active từ 0 -> 1 (Ví dụ vậy). Những password sai hoặc đúng mà active = 1 thì sai.
Thân smilie.
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 03/12/2008 10:28:31 (+0700) | #3 | 161110
at01017
Member

[Minus]    0    [Plus]
Joined: 14/11/2008 02:21:13
Messages: 1
Offline
[Profile] [PM]
Theo mình thì passwd sử dụng một lần hiện nay thường sử dụng trong các ngân hàng, thương mại điện tử, bảo hiểm ví dụ như bạn có thể sử dụng : One-Time-Password Token
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 03/12/2008 14:52:57 (+0700) | #4 | 161152
ducnp
Member

[Minus]    0    [Plus]
Joined: 17/01/2008 21:45:47
Messages: 33
Offline
[Profile] [PM]
Bạn có thể tham khảo theo link sau về One Time Password:
http://misoft.com.vn/index.php?q=vi/sanpham/entrust/StrongAuthentication/OPTTokens
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 03/12/2008 23:57:00 (+0700) | #5 | 161172
[Avatar]
kienmanowar
HVA Friend

Joined: 13/07/2004 05:57:34
Messages: 483
Offline
[Profile] [PM] [WWW]
Đây là bài viết của tác giả Rajesh Mago : One Time Password – New Dimensions in Security, đăng tải trên tạp chí hakin9. Bạn có thể download về đọc smilie

After reading this article, you will come to know about the OTP technology applications. The working of OTP systems, software processes and mathematics involved as well as types of OTP technologies are explained. 


Download:
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 04/12/2008 03:49:07 (+0700) | #6 | 161199
[Avatar]
Đông Chí
Member

[Minus]    0    [Plus]
Joined: 05/11/2008 20:29:47
Messages: 76
Location: The Pirate Island
Offline
[Profile] [PM] [WWW] [MSN]
Cuối cùng thì cũng phải tự dịch lấy, sau đây em sẽ post những gì mà em đã dịch được từ bên trang wiki, bài viết có nhiều phần nhưng em chỉ xin dịch mấy phần đầu, các phần sau ai có thời gian thì giúp em cái.
Password sử dụng một lần (one-time-password ) OTP
Mục đích của password sử dụng một lần là làm cho viiệc truy cập bất hợp pháp đến những ttài nguyên được giới hạn trở nên khó khăn hơn, ví dụ như một tài khoản máy tính chẳng hạn. Thông thường, password cố định có thể được truy cập bởi người dùng bất hợp pháp dễ dàng hơn trong trường hợp họ có đủ thời gian và số làn truy cập.
Bằng việc thường xuyên thay đổi password, giống như cài chúng ta làm với OTP, sự rủi ro này có thể được giảm xuống dáng kể.
Có 3 kiểu cơ bản của OTP: kiểu thứ nhất, dùng một thuật toán để tạo ra một passworrd mới dựa trên password trước đó,kiểu thứ hai được dựa trên sự đồng bộ thời gian giữa nhà cung cấp dịch vụ (authentication server) và khách hàng (clien) được cung cấp password, và kiểu thứ 3 cũng sử dụng một thuật toán nhưng pasword thì được căn cứ trên một trò chơi (challenge ?) (ví dụ, một số ngẫu nhiên được chọn bởi server xác thực hoặc chi tiết giao dịch (transection detail ?) và một bộ đếm thay cho password trước đó.
Password sử dụng một lần kiểu thuật toán:
Một phương pháp dựa trên phương pháp của Leslie Lamport là dùng một hàm một chiều (one way function) được gọi là hàm f. Hệ thống OTP làm việc bằng cách khởi đầu với một giá trị s, sau đó sản sinh ra các password với giá trị : f(s), f(f(s)), f(f(f(s)))...rất nhiều lần tương đương với số lần sử dụng....
..........
Nếu như một người không mời mà đến thấy được 1 password sử dụng một lần, họ chỉ có thể truy cập được một phiên duy nhất, nó sẽ không thể lặp lại lần nữa khi phiên truy cập đó kết thúc. Để có được password trong dãy từ password của lần truy cập trước đó, người đó phải tìm cách để tính ngược được hàm nghịch đảo (f-1), Vì hàm f là hàm một chiều nên điều này cực kỳ khó để thực hiện. Nếu f là một hàm mã hóa hash (cryptographic hash function) thì nó không thể nào tính toán được (như với trình độ hiện nay).

Password sử dụng một lần kiểu đồng bộ thời gian:
Password sử dụng một lần kiểu đồng bộ thời gian luôn có mối quan hệ mật thiết với một thiết bị phần cứng gọi là token (ví dụn môic người được cung cáp cho một thiết bị token cá nhân để generate 1 password sử dụng một lần). Bên cạnh thiết bị này là 1 đồng hồ chính xác được đồng bộ với đồng hồ của nhà cung cấp dịch vụ. Trong hệ thống OTP này, thời gian là một phần quan trọng của thuật toán tạo ra password, từ đó việc tọa ra passworrd mới dựa trên thời gian hiện tại khác với việc dựa trên password trước đó hay là một từ khóa. Điện thoại di động hoặc PDA cũng có thể được dùng để tạo OTP.....

CHÚ THÍCH:Hàm một chiều
Người ta phát hiện ra rằng, có những phép tính, thực hiện theo chiều thuận thì dễ, thực hiện ngược lại thì vô cùng khó. Ví dụ, việc nhân các tự nhiên thì dễ, còn phân tích ra thừa số nguyên tố thì không đơn giản. Như vậy, nhân các số tự nhiên lại với nhau cũng có thể gọi là một hàm 1 chiều (chỉ là ví dụ)
------------
Đông Chí
*Biển học vô biên, quay đầu là bờ!
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 23/12/2008 10:08:33 (+0700) | #7 | 163609
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
One Time Password hay còn gọi là pasword sử dụng một lần là cơ chế mà mỗi lần bạn xác thực đều với 1 pass khác nhau. Ví dụ có ai đó theo dõi bạn đang login vào máy với pass hiện thời là Pn thì nếu người đó đăng nhập lần sau pass đã bị đổi là P(n+1) rồi.

Nói đơn giản Password = f(key, pass, biến nào đó nữa)

Mô hình dùng như sau
Client side -------------------- server side

User có thiết bị sinh pass One Time Password generator với các tham số
Server có các tham số như trên.

Hiển nhiên 2 thằng có cùng tham số thì sẽ sinh cùng pass với cùng 1 hàm sinh.

Biến ở đây có thể là thời gian hiện tại, counter, ....

Ví dụ về OTPW:
OTPW là một open source về OTPW.
User Client giữ 1 file tầm 1000 số key 4 chữ số
Server mỗi lần đăng nhập nó sẽ hỏi 1 pass trong 1000 số đó. Lúc đầu nó hỏi pass 111 sau nó hỏi 135 sau nữa 968,... tùy nó, nó thích hỏi cái nào nó hỏi, cái nào nó hỏi rồi nó gạch đi lân sau không hỏi nữa.

Ví dụ về OTP mà được dùng trong bọn các thiết bị OTP của ngân hàng hoặc của FPT security.
Các thiết bị này được sản xuất bởi entrust, RSA,...thường gồm 6,7,8,9,10 chữ số.
giải thuật đó gọi là HOTP và đã thành chuẩn RFC rồi.
Hàm sinh pass của nó là
HMAC(key,counter) sau đó đem đảo bít, lấy ra vài chục bít được 1 số 31 bít đem chia cho 10 mũ n (n=6,7,8,9,10) lấy phần dư được pass thứ counter có n chữ số.

Giải thuật client và server giống nhau thì sẽ cho cùng pass.

Tớ có chương trình OTP generator với chuẩn trên chạy trên pocket PC.
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 02/01/2009 14:48:39 (+0700) | #8 | 164899
thangdiablo
HVA Friend

Joined: 11/05/2003 17:31:58
Messages: 734
Offline
[Profile] [PM] [WWW]

MrNothing wrote:

Giải thuật client và server giống nhau thì sẽ cho cùng pass.

Tớ có chương trình OTP generator với chuẩn trên chạy trên pocket PC. 


Tớ có là sao bạn? Bạn viết??

Thường thì mỗi hệ thống cung cấp chức năng OTP đểu có 2 phương thức để cung cấp password cho người dùng.

Một là thiết bị phần cứng hay còn gọi là token device.
Hai là một phần mềm được cài đặt trên máy tính hoặc Pocket PC.

Cả 2 đều có tác dụng là generate ra pass key thường là 1 phút 1 lần.

Khi triển khai hệ thống OTP này thì cái đắt là mua CAL cho client.

Khi đã mua CAL rồi thì bạn có thể dùng token device, card grid hay software đều được cả.

Ngoài việc sử dụng OTP theo thời gian thì còn có thể sự dụng OTP theo dạng request/respond.






Hãy sống có Tuệ Giác.
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 27/02/2009 04:17:17 (+0700) | #9 | 171155
khi3mkp
Member

[Minus]    0    [Plus]
Joined: 21/11/2008 14:13:13
Messages: 27
Location: Und3rGr0unD
Offline
[Profile] [PM]
và một điều nữa là OTP chỉ dùng được trong 1 session, nếu dùng password đó login cho lần kế tiếp sẽ không được
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 26/03/2009 11:22:25 (+0700) | #10 | 174766
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Dạ. Em viết cho pocket PC. Chuẩn là HOTP thôi. Mấy con device của Entrust hay gì đó cũng là nó.
[Up] [Print Copy]
  [Question]   Re: Thỉnh cầu viết bài " Password sử dụng một lần" 26/03/2009 20:59:00 (+0700) | #11 | 174805
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]

thangdiablo wrote:

MrNothing wrote:

Giải thuật client và server giống nhau thì sẽ cho cùng pass.

Tớ có chương trình OTP generator với chuẩn trên chạy trên pocket PC. 


Tớ có là sao bạn? Bạn viết??

Thường thì mỗi hệ thống cung cấp chức năng OTP đểu có 2 phương thức để cung cấp password cho người dùng.

Một là thiết bị phần cứng hay còn gọi là token device.
Hai là một phần mềm được cài đặt trên máy tính hoặc Pocket PC.

Cả 2 đều có tác dụng là generate ra pass key thường là 1 phút 1 lần.

Khi triển khai hệ thống OTP này thì cái đắt là mua CAL cho client.

Khi đã mua CAL rồi thì bạn có thể dùng token device, card grid hay software đều được cả.

Ngoài việc sử dụng OTP theo thời gian thì còn có thể sự dụng OTP theo dạng request/respond.

 

Em xin phép bàn đến các con device OTP mà sinh pass 6 số, 7 số, ->10 số của các bọn RSA, Entrust,Gemato,...
Chương trình của em viết bằng VC, chạy trên pocket PC. Nó chỉ là một hàm Hash MAC thôi bác ạ. HMAC(Key+ counter). Hàm HMAC có trong Openssl rồi.
Token Device chính là một phần mềm chạy trên 1 phần cứng riêng biệt chỉ có chức năng đó thôi. Viết phần mềm có thể cho nó tùy biến 6,7,8,9 chữ số và chạy trên điện thoại di động, pocket pc.

2 cái trên không sinh pass 1 lần đâu bác. Vì nó theo giải thuật HOTP của bọn OATH.
http://en.wikipedia.org/wiki/HOTP
Mỗi lần người dùng bấm nút một phát biến counter tăng lên 1. Pass mới được sinh ra.
Ở server nó đang giữ cái counter nó sẽ so sánh pass mới với pass từ HMAC(key,counter+1) đến HMAC(key,counter+w).

w gọi là cửa sổ xác thực. thường w=10. Ví dụ thằng người dùng lỡ bấm vài phát <w thì pass nó vẫn đúng.
Còn khi nó bấm quá w thì phải dùng 2 pass liên tiếp để đồng bộ lại counter.
Trong OTP thì phải có đồng bộ 2 cái gì đó. Ở HOTP thì đồng bộ qua counter.

Khi em hỏi mua cái token device thì nó báo giá 37 usd cho 1 con với pin chạy được 5 năm. Counter là 32 bits. Nhưng giá con Authentication server cho 10 users là 1500usd. Giá trị con server này là nó có phần xác thực cho user. Chủ yếu là cái key thôi chứ thực ra chả có cái cóc gì. Tuy nhiên nó đảm trách phần bảo mật key cho mình. Key là 20 bytes-24bytes (thường thế)
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 06/06/2009 00:06:28 (+0700) | #12 | 182845
khi3mkp
Member

[Minus]    0    [Plus]
Joined: 21/11/2008 14:13:13
Messages: 27
Location: Und3rGr0unD
Offline
[Profile] [PM]
Summary (one time password token)

The use of a PIN together with the value provided from the token helps to mitigate the risk of a stolen or lost token being used by an unathorized person to gain access through the access control system.
smilie
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 17/06/2010 22:29:30 (+0700) | #13 | 213545
rubyha
Member

[Minus]    0    [Plus]
Joined: 17/06/2010 10:39:02
Messages: 3
Offline
[Profile] [PM]
Chào các bác!!!
Em đang làm đồ án nghiên cứu về Internet Banking, thầy hướng dẫn em bắt Demo dựa trên cơ chế One Time Password. Nhưng mà em k biết tẹo gì về code cả. Bác nào có code sinh OTP cho em được không ạ? Tình hình là em đang bị lụt rùi!!!
Bác nào có code sinh OTP thì em cả đời này không quên ơn. Em cám ơn lắm lắm
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 18/06/2010 10:17:20 (+0700) | #14 | 213569
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Mình gửi bạn một đoạn Project demo HOTP mà mình viết. Bạn check hòm thư nhé. Mình cũng quên là đoạn code đó cho Pocket PC hay Win32 rồi. Có gì bạn tra code rồi lấy các thư viện để viết lại. HOTP là một chuẩn cho OTP. Có gì bạn google thêm nhé.
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 18/06/2010 16:35:36 (+0700) | #15 | 213594
rubyha
Member

[Minus]    0    [Plus]
Joined: 17/06/2010 10:39:02
Messages: 3
Offline
[Profile] [PM]
Chào anh MrNothing và các bác ạ!

Em cám ơn anh MrNothing nhiều lắm ý ạ. Em là dân gà về code lắm, mà lại gặp đề tài khó quá. smilie . Chắc anh cũng là pro về code nên em hỏi anh 1 chút được không ạ? smilie

Thầy em còn yêu cầu như thế này nữa anh ạ: ý thầy em muốn phải mô phỏng lại công nghệ của Entrust, mà đi sâu vào là software Entrust Identity Guard. Và mình phải xây dựng ở bên webserver có một chuỗi ma trận sinh số tự nhiên bất kỳ giữa Client- Server. Khi Client login vào website, bước 1 là bằng cách thông thường là nhập ID và pass,sau khi đăng nhập xong bước 1, đến bước thứ 2 thì server yêu cầu Client phải nhập số Challenge trong dãy ma trận mà Server đã lưu trữ trừ trước, Server sẽ đưa ra toạ độ bất kỳ trong chuỗi ma trận như A1, C2, D3 và Client sẽ phải dựa vào Grid Card (mà Client đã được cấp, trên đó in một ma trận hàng/ cột với các giá trị trong ô chữ là ngẫu nhiên).
Từ code của anh MrNothing, và em cũng search được một đoạn code nữa sinh được OTP. Em muốn hỏi là làm cách nào để Server sinh ra được toạ độ bất kỳ và cái ma trận lưới ý được tạo ra như thế nào ạ?

Em cám ơn anh MrNothing và các bác rất là nhiều!!!!!!!!!!
Có khi sau đồ án này. Em phải đầu tư hẳn một lớp để chỉ học code không thôi. Chứ như thế này thì em die mất
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 19/06/2010 06:50:37 (+0700) | #16 | 213607
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Nếu thế thì cái OTP của bạn giả sử là một ma trận m*n, mỗi số trong ma trận này có p byte
ví dụ bảng
table_otp ()
11 22 33
44 55 66
77 88 99
12 13 14

là ma trận biểu diễn cho m=4, n=3, p=2.


Trong database gồm có table_user có các trường: Username, fixed_password, OTP_String,challenge

Cái OTP_ID này là một string để biểu diễn ma trận m*n. Bạn hoàn toàn có thể biểu diễn cái OTP String là 112233445566778899121314.

Bạn xem muốn lấy vị trí (i,j) trong cái table_otp ở trên thì lấy ra trong OTP_String như thế nào?

Sau khi xác thực xong với fixed_passsword, Chương trình server sẽ tự động sinh ra một challenge ví dụ ở dạng ((1,2),(3,3)) nghĩa là lấy số hàng 1, cột 2, ghép với số hàng 3, cột 3 sẽ là OTP. Server sẽ đưa ra thông báo bạn cần nhập số ố hàng 1, cột 2, ghép với số hàng 3, cột 3. Bạn tìm được cái OTP này không? Server sẽ xác thực giá trị nhập vào và so sánh với giá trị có được từ OTP_String.
Ví dụ đây là một cái Internet Banking với OTP là một cái thẻ.
http://t2.gstatic.com/images?q=tbn:aZhCsVWidLwLNM:http://phone4vn.com/public/help/html/IBWooriHelp_files/image007.jpg

OTP kiểu này còn dễ hơn là phải code HOTP.


[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 19/06/2010 10:36:35 (+0700) | #17 | 213632
rubyha
Member

[Minus]    0    [Plus]
Joined: 17/06/2010 10:39:02
Messages: 3
Offline
[Profile] [PM]
Em chào anh MrNothing ạ!

Em cám ơn anh đã trả lời nhưng thắc mắc của em. Em hiểu được thuật toán, và cách code rồi ạ. Nhưng tại trình em còi, nên không code được ý ạ. Mà thầy lại yêu cầu gấp quá, anh làm ơn xem có đoạn code nào không ạ? Anh share cho em với!!! Nếu có dịp em nhất định sẽ hậu tạ anh. ^^
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 19/06/2010 21:45:00 (+0700) | #18 | 213697
MrNothing
Member

[Minus]    0    [Plus]
Joined: 04/01/2008 11:05:37
Messages: 76
Offline
[Profile] [PM]
Tự code đi. Anh ko cần hậu tạ.

Làm một chương trình client-server qua socket. Gửi nhận xác thực user nào đó. Đặt nó là mặc định, Strinh mặc định, tự sinh hú hoạ câu hỏi rồi xác thực.
Đơn giản nữa thì làm Window form MFC thôi smilie

Nếu không code được thì bảo thầy sang năm em làm lại cũng được.

Hay là thuê ai code hộ đi smilie. 100$ nhá smilie
[Up] [Print Copy]
  [Question]   Thỉnh cầu viết bài " Password sử dụng một lần" 04/03/2014 10:24:28 (+0700) | #19 | 279910
dmgm
Member

[Minus]    0    [Plus]
Joined: 18/12/2013 05:20:46
Messages: 1
Offline
[Profile] [PM]
mình xin đào mộ cái chủ đề này.
hiện tại mìnhđang làm một chức năng xác thực người dùng cho website (sau khi người dùng đã đăng nhập bằng username và password thông thường) bằng TOTP sử dụng device token, device mình sử dụng là Gemalto Ezio Time Token, thông tin của nó có ở trang này http://onlinenoram.gemalto.com/Ezio-Timebased-6Digit-Token-for-use/M/B002CRN5X8.htm, mã nguồn website là PHP.
mình đã thử tìm hiểu qua một số thư viện như oath-php https://github.com/rbakels/oath-php, multiOTP http://www.multiotp.net/website/index.php?language=en nhưng vẫn chưa có thể tìm ra cách đồng bộ thời gian giữa server và device (theo như mình tìm hiểu thì lần đầu tiên người dùng phải nhập serial của thiết bị và 2 token để hoàn thành bước đồng bộ thời gian này). mình cũng không biết là serial và seed code có phải là 1 không (sếp đưa mình mỗi cái device có in serial trên đó thôi, cái hộp đựng với cái device có serial không khớp, hàng này đặt trên amazon)
bạn nào đã từng làm qua hoặc có kiến thức về vấn đề này giúp mình với.
Cảm ơn mọi người
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|