Tạo OTP sử dụng token

Một phần của tài liệu Nghiên cứu mật khẩu sử dụng một lần và ứng dụng (Trang 30)

Token là một thiết bị dùng để xác thực người dùng thay cho cơ chế ID/Username và mật khẩu đăng nhập. Mỗi thiết bị token đều phân biệt nhau và được nhà cung cấp dịch vụ gán với một người dùng cụ thể. OTP có thể được sinh trên token.

Thiết bị token hoạt động theo phương thức tự tạo các dãy số ngẫu nhiên (OTP) và có giá trị chỉ trong một khoảng thời gian nhất định (thường dưới 1 phút). Chẳng hạn, khi người dùng muốn đăng nhập vào trang web ngân hàng - nơi đã cung cấp thiết bị token,

NGUYỄN VIỆT HUY D09CNPM2 Page | 30

để thực hiện giao dịch, người dùng phải nhập dãy số OTP trên thiết bị token vào ô mật khẩu thì mới được truy cập. Nếu sau thời gian qui định trên thiết bị token, OTP này sẽ không còn giá trị, và nếu người dùng vẫn chưa đăng nhập hay hoàn tất giao dịch thì họ phải nhấn nút hay thiết bị token sẽ tự động tạo ra OTP mới và người dùng nhập OTP mới này để đăng nhập hay hoàn tất giao dịch. Có thể tham khảo một số dịch vụ dùng thiết bị token: www.payoo.com.vn,www.fpts.com.vn.

Thiết bị Token gồm 2 loại chính: thẻ EMV và E-Token

Thẻ EMV: là dạng thẻ chíp có công dụng tạo OTP, không có khả năng dùng để chi tiêu như các loại thẻ thanh toán khác. EMV là chuẩn thẻ thông minh do 3 liên minh thẻ lớn nhất thế giới là Europay, Master Card và Visa International đưa ra. Các liên minh này đã khuyến cáo các nước về việc cần thiết phải chuyển đổi từ thẻ từ có tính bảo mật thấp sang thẻ chíp có tính năng bảo mật cao hơn rất nhiều. Khuyến cáo này được đưa ra từ năm 2004, sau những con số thiệt hại do gian lận thẻ ngày càng lớn.

Sau mốc thời gian quy định, nếu ngân hàng nào còn sử dụng thẻ từ, có thể chịu phạt lên tới 50 ngàn USD một năm tính theo các vụ gian lận thẻ. Mức phạt này áp dụng cho cả ngân hàng phát hành thẻ và ngân hàng chấp nhận thẻ.

Quá trình chuyển đổi sang chuẩn EMV trên toàn thế giới đã và đang diễn ra từ vài năm nay. Việt Nam nằm trong khu vực có hạn áp dụng từ 1/1/2006, nhưng tới thời điểm này, mới chỉ có VPBank đã thực hiện phát hành thẻ EMV. Các ngân hàng khác chưa công bố kế hoạch chuyển đổi chính thức. Hình 2.5 minh họa thẻ EMV:

NGUYỄN VIỆT HUY D09CNPM2 Page | 31

Hình 2.5: Minh họa thẻ EMV

Về mặt kỹ thuật, thẻ chíp có nhiều tính năng hơn thẻ từ. Một thẻ chíp có thể sử dụngnhư là một thẻ ngân hàng, chứng minh thư, thẻ tín dụng, cũng có thể dùng để trả phí giao thông hay lưu trữ thông tin về y tế, bảo hiểm xã hội, thông tin cá nhân...

E-Token: là thiết bị có công dụng tạo OTP dựa trên sự kết nối thiết bị với máy tính mà khách hàng đang thực hiện giao dịch. E-Token là một thiết bị nhận dạng số, được tích hợp những giải pháp phần mềm bảo mật chuyên dụng, theo đúng chuẩn quốc tế và kết nối với máy tính thông qua cổng giao tiếp USB.E-Token cho phép cả người dùng lẫn người quản trị bảo mật và quản lý hiệu quả quá trình chứng thực người dùng hệ thống bằng cách lưu trữ và sinh mật khẩu, chứng chỉ số và mã hóa tất cả thông tin đăng nhập (cả khóa chung và khóa riêng).E-Token cung cấp nền tảng bảo mật an toàn, hiệu quả, dễ sử dụng và triển khai trên diện rộng.Hình 2.6 minh họa thiết bị E-Token:

NGUYỄN VIỆT HUY D09CNPM2 Page | 32

Hình 2.6: Minh họa thiết bị E-Token

Dưới đây là những lợi ích chính của E-Token:

a) Đăng nhập hệ thống, đăng nhập trình ứng dụng, đăng nhập mạng ... b)Mã hóa thư điện tử và tạo chữ ký số ...

c) Bảo mật máy tính cá nhân: bảo vệ khởi động máy và mã hóa tập tin thư mục... d)Thương mại điện tử theo mô hình B2B và B2C: chứng thực và ký giao dịch cho các ứng dụng thương mại điện tử ...

e) Kết hợp giải pháp truy cập máy chủ từ xa, mạng riêng ảo, chứng thực dựa trên 2 yếu tố sử dụng E-Token và công nghệ mật mã tiên tiến.

f) Hỗ trợ các dịch vụ tài chính trên mạng: chứng thực, ký giao dịch ngân hàng điện tử và các ứng dụng thương mại ...

g)Hỗ trợ các dịch vụ trên mạng: chính phủ điện tử, chăm sóc sức khỏe, đào tạo trực tuyến...

NGUYỄN VIỆT HUY D09CNPM2 Page | 33 2.2.4. Tạo OTP sử dụng điện thoại di động

a)Giới thiệu về MOTP

Ngoài việc sử dụng các loại token, người dùng còn có thể dùng ngay chiếc điện thoại di động của mình, cùng phần mềm miễn phí “mật khẩu dùng một lần di động” (Mobile One Time Password – MOTP) để tạo OTP.

Mỗi khi muốn truy cập vào hệ thống mạng nội bộ qua SSL VPN, người dùng phải nhập mã PIN (đã biết trước) vào điện thoại di động để tạo ra mật khẩu đăng nhập. Sau khi thực hiện kết nối SSL VPN, trình đăng nhập xuất hiện yêu cầu nhập username và password. Lúc này người dùng nhập username (đã biết trước) và mật khẩu vừa được tạo trên điện thoại di động để đăng nhập vào mạng nội bộ. Hình 2.7 mô tả mô hình kết nối SSL VPN đến Vigor2950 có điện thoại hỗ trợ xác thực:

NGUYỄN VIỆT HUY D09CNPM2 Page | 34

b)Cài đặt và sử dụng ứng dụng MOTP

Bộ định tuyến Vigor2950 của hãng DrayTek (Firmware v3.2.6_RC5) tích hợp sẵn cơ chế mật khẩu dùng một lần trong xác thực kết nối SSL và VPN (theo giao thức PPTP, L2TP) là một trong những ứng dụng MOTP điển hình sử dụng trên điện thoại di động[21]. Hình 2.8 minh họa quá trình cài đặt phần mềm sinh OTP trên iPhone để xác thực với bộ định tuyến Vigor2950.

Sau khi cài đặt xong phần mềm MOTP vào điện thoại, bước tiếp theo và cũng quan trọng nhất là người dùng phải thiết lập cùng thời gian trên cả điện thoại và Vigor2950. Nếu thời gian sai lệch sẽ dẫn đến việc tạo mật khẩu sai – 1 phút là thời gian tối đa để người dùng nhập mật khẩu được tạo ra từ điện thoại vào ô mật khẩu đăng nhập trên màn hình máy tính, khi thực hiện một kết nối SSL VPN. Ở đây để xác lập thời gian chính xác, trên Vigor2950 người dùng thiết lập đồng bộ thời gian với máy chủ ntp.org, chọn “time zone” GMT+7; và người dùng nên “canh” thời gian trên Vigor2950 vừa nhảy qua phút mới thì chỉnh ngay lại thời gian trên điện thoại.

NGUYỄN VIỆT HUY D09CNPM2 Page | 35

Hình 2.8: Cài đặt phần mềm sinh OTP trên iPhone với Vigor2950.

Sau khi người dùng thiết lập xong các thông số SSL VPN trên Vigor2950, phần thông số ở mục SSL VPN\User Account là phần mà người dùng cần quan tâm. Tại ô nhập username, người dùng nhấn chọn Enable Mobile One-Time Password (mOTP), lúc này hai ô Pin Code và Secret sẽ hiện ra, ô password sẽ ẩn đi.

Với giải pháp SSL VPN kết hợp cơ chế “mật khẩu dùng một lần di động”, việc truy cập từ xa vào mạng nội bộ sẽ tin cậy, an toàn và bảo mật hơn.

NGUYỄN VIỆT HUY D09CNPM2 Page | 36 2.3.Kết chương

Chương 2 đã trình bày các phương pháp sinh mật khẩu sử dụng một lần (OTP) và các phương pháp chuyển giao chúng đến người sử dụng. Có 3 phương pháp sinh OTP thông dụng, bao gồm phương pháp sinh sử dụng thời gian đồng bộ, sinh sử dụng thuật toán và sinh OTP dựa trên giao thức thách thức - trả lời. Các phương pháp chuyển giao OTP đến người sử dụng gồm phương pháp in ra giấy, gửi OTP bằng tin nhắn SMS, sử dụng token và phương pháp MOTP. Mỗi phương pháp sinh và chuyển giao OTP đều có những đặc trưng và các ưu, nhược điểm riêng. Do đó, theo yêu cầu bảo mật cụ thể của mỗi hệ thống mà ta lựa chọn một phương pháp phù hợp.

NGUYỄN VIỆT HUY D09CNPM2 Page | 37

CHƯƠNG 3. ỨNG DỤNG OTP TRONG XÁC THỰC GIAO DỊCH NGÂN HÀNG TRỰC TUYẾN

3.1.Xác thực giao dịch ngân hàng trực tuyến sử dụng OTP chuyển giao qua SMS 3.1.1.Mô tả kịch bản thử nghiệm 3.1.1.Mô tả kịch bản thử nghiệm

Ngày nay, nhiều ngân hàng đã ứng dụng các phương pháp xác thực giao dịch trực tuyến sử dụng OTP khác nhau.Mỗi phương pháp sinh và chuyển giao OTP có ưu và nhược điểm riêng như đã phân tích ở chương 2 và do đó chúng có khả năng ứng dụng với mức độ khác nhau. Trong số các phương pháp chuyển giao OTP,đó phương pháp chuyển giao OTP qua SMS được nhiều ngân hàng sử dụng vì tính cơ động trong giao dịch của nó. Hình 3.1 mô tảmô hình nhận OTP qua SMS.

NGUYỄN VIỆT HUY D09CNPM2 Page | 38 Kịch bản thử nghiệm:

Trước khi có thể thực hiện các giao dịch trực tuyến có xác thực bằng OTP, người dùng cần thực hiện các thủ tục đăng ký tài khoản giao dịch trực tuyến, gồm username, passwordvà số điện thoại với ngân hàng. Sau đó, người dùng sẽ sử dụng các thông tin này khi giao dịch chuyển tiền trên trang thanh toán trực tuyếncủa ngân hàng đó. Kịch bản thực hiện giao dịch trực tuyến có xác thực bằng OTP gồm các bước sau:

1. Người dùng đăng nhập vào trang thanh toán trực tuyến của ngân hàng sử dụng username và password đã đăng ký.

2. Hệ thống xác thực thông tin tài khoản người dùng; Nếu chính xác sẽ cho người dùng truy cập vào hệ thống.

3. Người dùngvào ứng dụng chuyển tiền trực tuyến. Giao diện chuyển tiền trực tuyến xuất hiện.

4. Người dùng sẽ nhập lần lượt các thông tin của giao dịch vào giao diện chuyển tiền trực tuyến bao gồm: tài khoản người nhận, số tiền chuyển khoản, nội dung chuyển tiền; và người dùng sẽ lựa chọn “Gửi tin nhắn SMS” trong ô “Hình thức nhận mã giao dịch”.

5. Người dùng nhấn vào nút “Chấp nhận”. Giao diện xác thực OTP xuất hiện. Đồng hồ đếm lùi 1 phút (thời gian sống hợp lệ của OTP) bắt đầu chạy.

6. Một tin nhắn sẽ được gửi từ tổng đài của hệ thống tới điện thoại của người dùng chứa mã giao dịch OTP. Người dùng nhập mã OTP nhận được từ tin nhắn SMS vào ô xác thực và nhấn nút “Chấp nhận”. Nếu người dùng nhập đúng OTP và trong khoảng thời gian cho phép thì giao diện giao dịch thành công xuất hiện. Nếu người dùng nhập sai thì hệ thống sẽ yêu cầu người dùng nhập lại OTP.

NGUYỄN VIỆT HUY D09CNPM2 Page | 39 3.1.2.Cài đặt

Chương trình thử nghiệm được cài đặt trên hệ điều hành Microsoft Windows, ngôn ngữ C# trên phần mềm lập trình Microsoft Visual Studio kết hợp với hệ quản trị cơ sở dữ liệu My SQL để hệ thống có thể truy xuất cơ sở dữ liệu.

Thuật toán băm SHA – 1 được sử dụng để tạo ra OTP. Cơ sở dữ liệu được sử dụng để xác thực người dùng, lưu lịch sử giao dịch. Cơ sở dữ liệu lưu trữ username, password, tên chủ tài khoản, số tiền hiện có và các lần giao dịch.

Phần mềm bên server được xây dựng dưới dạng web server. Phía server dựa vào OTP đã gửi tới di động người dùng để đưa ra quyết định cho phép người dùng thanh toán hay từ chối yêu cầu này. Phần mềm này tương tác với cơ sở dữ liệu lưu thông tin của người dùng cũng như tài khoản của họ. Chương trình sử dụng một điện thoại mô phỏng một tổng đài để gửi tin nhắn chứa OTP.

NGUYỄN VIỆT HUY D09CNPM2 Page | 40 3.1.3.Kết quả

Trong phần demo, một trang chủ Banking và hai trang khác nhau được cài đặt. Trang chủ có hiển thịdanh sách hai trang này trên trang web của mình để người sử dụng có thể click để vào trang. Ban đầu người dùng phải đăng nhập vào trang chủ với username và password của mình. Màn hình đăng nhập như minh họa trên Hình 3.2.

NGUYỄN VIỆT HUY D09CNPM2 Page | 41

Trên trang web có chứa danh sách hai trang mà người dùng có quyền được truy cập sau khi đăng nhập là: Chuyển khoản và Lịch sử giao dịch. Sau khi đăng nhập thành công bằng username và password đã đăng ký trước đó, người dùng click vào “Chuyển khoản” và sẽ được hướng tới trang Chuyển khoản. Trang Chuyển khoản được thiết kế như trên Hình 3.3.

NGUYỄN VIỆT HUY D09CNPM2 Page | 42

Sau khi đăng nhập bằng tài khoản của mình, trên trang chuyển khoản sẽ hiện lên thông tin của người dùng với cơ sở dữ liệu hiện tại bao gồm: số tài khoản, họ tên, số dư tài khoản, số điện thoại. Người dùng sẽ phải nhập số tiền chuyển khoản, số tài khoản người nhận, nội dung chuyển tiền. Trong ô Hình thức nhận mã giao dịch có hai lựa chọn cho người dùng là: Tin nhắn SMSChallenge – Response, ở phần này chúng ta sẽ lựa chọn Tin nhắn SMS. Sau khi đã điền đầy đủ thông tin cho lần giao dịch, người dùng ấn vào nút “Chấp nhận”, một tin nhắn chứa OTP sẽ được gửi ngay đến cho người dùng và người dùng sẽ được hướng tới trang Xác Nhận để xác thực OTP. Trang Xác Nhận được thiết kế như trên hình 3.4.

NGUYỄN VIỆT HUY D09CNPM2 Page | 43

Bắt đầu từ lúc chuyển sang trang xác nhận, đồng hồ bắt đầu đếm lùi. Người dùng có một phút để điền mã giao dịch. Tin nhắn sẽ được hệ thống gửi ngay tới số điện thoại của người dùng cùng lúc khi trang chuyển hướng vì vậy người dùng có đủ thời gian để điền mã giao dịch và hoàn tất giao dịch. Người dùng điền mã giao dịch xong và nhấn nút “Chấp nhận”, hệ thống sẽ xác thực mã giao dịch và sẽ có thông báo tới người dùng.

Nếu như mã giao dịch chính xác thì sẽ nhận được thông báo giao dịch thành công như hình 3.5, nếu nhập sai mã giao dịch thì hệ thống sẽ yêu cầu người dùng nhập lại.Khi quá thời gian giao dịch thì người dùng sẽ phải thực hiện lại giao dịch và hệ thống sẽ tiếp tục gửi một tin nhắn chứa một mã giao dịch khác tới số điện thoại di động của người dùng.

NGUYỄN VIỆT HUY D09CNPM2 Page | 44 3.2.Xác thực giao dịch ngân hàng trực tuyến sử dụng OTP sinh trên điện thoại di động dựa trên giao thức Thách thức – Trả lời

3.2.1.Mô tả kịch bản thử nghiệm

Hình 3.6 mô tả quá trình xác thực sử dụng OTP sinh trên điện thoại di động sử dụng giao thức Thách thức – Trả lời (Challenge – Response).

Hình 3.6: Mô hình tạo OTP qua Challenge – Response trên điện thoại di động

Kịch bản thử nghiệm:

Trước khi có thể thực hiện các giao dịch trực tuyến có xác thực bằng OTP, người dùng cũng cần thực hiện các thủ tục đăng ký tài khoản giao dịch trực tuyến, gồm username, password và số điện thoại với ngân hàng. Sau đó, người dùng sẽ sử dụng các thông tin nàykhi giao dịch chuyển tiền trên trang thanh toán trực tuyếncủa ngân hàng đó. Kịch bản thực hiện giao dịch trực tuyến có xác thực OTP sinh trên điện thoại di động sử dụng giao thức Thách thức – Trả lời gồm các bước sau:

1. Người dùng đăng nhập vào trang thanh toán trực tuyến của ngân hàng sử dụng username và password đã đăng ký.

2. Hệ thống xác thực thông tin tài khoản người dùng; Nếu chính xác sẽ cho người dùng truy cập vào hệ thống. Người dùng vào ứng dụng chuyển tiền trực tuyến. Giao diện chuyển tiền trực tuyến xuất hiện.

NGUYỄN VIỆT HUY D09CNPM2 Page | 45

3. Người dùng sẽ nhập lần lượt các thông tin của lần giao dịch vào giao diện chuyển tiền trực tuyến bao gồm: số tiền chuyển khoản, tài khoản người nhận, nội dung chuyển tiền; và người dùng sẽ lựa chọn “Challenge - Response” trong ô “Hình thức nhận mã giao dịch”. Một ô “Challenge”chứa một OTP và một ô “Mã giao dịch” để trống hiện lên.

4. Người dùng khởi động ứng dụng Mobile OTP đã cài trên điện thoại; ứng dụng hiện lên bao gồm các ô: Challenge, Money, OTP. Người dùng nhập mã Challenge và số tiền cần chuyển được trên trang web vào điện thoại và nhấn nút “OK”. Ứng dụng sẽ sinh ra

Một phần của tài liệu Nghiên cứu mật khẩu sử dụng một lần và ứng dụng (Trang 30)

Tải bản đầy đủ (PDF)

(52 trang)