Hệ thống xác thực bằng mật khẩu sử dụng một lần (One time password OTP)

Một phần của tài liệu Nghiên cứu các phương pháp bảo mật trong internet banking và mobile banking (Trang 41)

Chương 3: Các giải pháp an toàn trong Internet Banking

3.1.2. Hệ thống xác thực bằng mật khẩu sử dụng một lần (One time password OTP)

Có rất nhiều giải pháp xác thực đa yếu tố nhưng trong thực tế hầu hết các ngân hàng đểu sử dụng hệ thống xác thực bằng mật khẩu một lần do nó có rất nhiều ưu điểm và phù hợp với nhu cầu của ngân hàng cũng như khách hàng so với các hệ thống xác thực khác.

a. Khái niệm về mật khẩu sử dụng một lần OTP

Mọi người đều đã quen thuộc với khái niệm mật khẩu (password) là một chuỗi kí tự bí mật dùng để đăng nhập vào hệ thống, one time password cũng là một loại mật khẩu nhưng nó mang một số tính chất như chỉ đăng nhập được một phiên và chỉ có tác dụng trong một khoảng thời gian nhất định.

One time password (Mật khẩu một lần) được sinh ra nhằm mục đích chống lại một số phương thức tấn công thường gặp với mật khẩu tĩnh thông thường như tấn công lặp lại. Mật khẩu một lần làm giảm thiểu rủi ro trong khía cạnh bảo mật, đồng thời nó cũng không cần người dùng phải ghi nhớ và cần một số công nghệ phụ trợ cho việc này. Hơn nữa việc triển khai mật khẩu một lần là dễ dàng và có chi phí thấp so với một số phương pháp khác nhưng vẫn đảm bảo được an toàn cho người dùng. Tuy nhiên OTP vẫn không bảo vệ được người dùng khỏi hình thức tấn công man-in-the-middle.

Hình 14: Sử dụng mật khẩu một lần để đăng nhập. b. Phương pháp sinh mật khẩu OTP

Mật khẩu một lần được tạo ra từ thuật toán số ngẫu nhiên, điều này là bắt buộc bởi nếu sử dụng các phương pháp khác thì mật khẩu có thể dễ dàng được đoán ra từ các mật khẩu trước đó. Một số phương pháp tạo mật khẩu một lần :

*Phương pháp đồng bộ thời gian

Phương pháp đồng bộ thời gian thường liên quan đến thiết bị sinh mật khẩu token. Mỗi người sử dụng được cung cấp một token có một đồng hồ thời gian chính xác được đồng bộ với server với thời gian của server xác thực trung tâm. Trong phương pháp này thì mật khẩu một lần thường được sinh ra từ kết quả là hàm băm với 2 đầu vào là khóa mật chia sẽ giữa người dùng và nhà sản xuất và tham số thời gian.

*Phương pháp thuật toán

Mỗi mật khẩu một lần mới có thể được tạo ra từ các mật khẩu môt lần đã được sử dụng trước đó. Người ta thường sử dụng hàm một chiều, ở đây là hàm f và hạt giống ban đầu s. Các mật khẩu được sinh ra là f(s), f(f(s)), f(f(f(s)))… Hàm một chiều giúp ta dễ dàng tìm ra f(s) từ s nhưng rất khó biết được s từ f(s) (Một số thuật toán hàm một chiều phổ biến trong lĩnh vưc an ninh như SHA1 và MD5). Bởi vậy danh sách mật khẩu một chiều tới tay người dùng sẽ được sắp xếp theo thứ tự ngược lại từ mật khẩu đầu tiên tới mật khẩu cuối cùng, từ f(f(...f(s))...) đến f(s). Nếu kẻ trộm lấy được một mật khẩu thì chỉ có thể sử dụng nó trong một thời gian nhất định, sau thời gian đó mật khẩu đó trở lên vô dụng. Kể trộm muốn tiếp tục thâm nhập hệ thống cần có mật khẩu tiếp theo trong danh

sách sẽ phải tìm cách tính hàm f-1, hàm này là hàm khó tính trong toán học cũng như khoa học máy tính .

c. Các phương pháp phân phối mật khẩu OTP

*Phân phối qua tin nhắn SMS

Công nghệ đơn giản dễ triển khai mà vẫn đạt độ an toàn nhất định nên được các ngân hàng tại việt nam sử dụng tương đối rộng rãi. Một công nghệ phổ biến để phân phối mật khẩu một lần là sử dụng hệ thống tin nhắn sms. Bởi vì sms là một kênh liên lạc rất phổ biến, sẵn sàng sử dụng với một lượng lớn khách hàng, sms có tiềm năng lớn để tiếp cận tất cả khách hàng với một chi phí thực hiện thấp. Tuy chi phí sms là thấp, nhưng với một bộ phận khách hàng có nhu cầu sử dụng mật khẩu nhiều lần thì chi phí cũng khá cao, cho nên phân phối qua SMS không phù hợp với nhóm đối tượng này.

Mật khẩu một lần gửi qua tin nhắn sms cũng có thể được mã hóa bằng chuẩn A5/x để phòng trường hợp hacker tấn công, khi được mã hóa thì mật khẩu khó có thể bị phá khóa trong thời gian vài phút, thời gian này đủ để mật khẩu hết hiệu lực. Ngoài nguy cơ tấn công từ hacker, khi sử dụng hình thức phân phối này thì chúng ta buộc phải tin tưởng vào nhà cung cấp dịch vụ di động, trong trường hợp người dùng roaming thì ta còn phải tin tưởng vào nhiều nhà cung cấp và có thể chịu hình thức tấn công người ở giữa .

*Phân phối qua điện thoại di động

Sử dụng điện thoại di động giúp cho tổng chi phí thấp vì phần lớn khách hàng đều sử dụng điện thoại di động so với phương pháp dùng thiết bị tạo mật khẩu riêng biệt. Năng lực tính toán và lưu trữ mật khẩu một lần thường là không đáng kể khi so sánh với các điện thoại thông minh phổ biến trên thị trường. Một số hệ thống chứng thực thông qua phần mềm trên điện thoại di động như FiveBarGate hay FireID hỗ trợ việc tạo mật khẩu và chứng thực người dùng một cách dễ dàng. Tuy nhiên hình thức này cũng gặp một số vấn đề về an ninh như việc điện thoại có thể bị mât, phá hủy hay bị đánh cắp.

*Phân phối trên các token độc quyền

Một số loại token đang được sử dụng phổ biến như SecurID của RSA Security hay Identia hoặc NagraID. Các thiết bị này cũng có thể bị mất, ăn trộm hay bị hỏng. Chúng có dạng một móc chìa khóa hay dưới dạng thẻ tín dụng. Hình thức xác thực bằng token cho độ tin cậy cao nhất hiện nay và bước đầu được các ngân hàng lớn ở việt nam sử dụng như ngân hàng HSBC, Techcombank, ACB.

Hình 15: Các thiết bị phân phối OTP

*Phân phối trên các thẻ ma trận ngẫu nhiên

Đây là một hình thức xác thực đơn giản, được sử dụng khi khách hàng không có điều kiện sử dụng các hình thức xác thực ở trên (SMS, hardware token). Khách hàng sẽ được ngân hàng cấp cho một thẻ xác thực trên đó in một ma trận hàng và cột với nội dung là các giá trị ngẫu nhiên. Mỗi lần xác thực khách hàng sẽ phải nhập vào một ô số tương ứng với các giá trị hàng và cột nhất định theo yêu cầu của ngân hàng. Các yêu cầu về tọa độ của mã xác thực được thay đổi sau mỗi lần đăng nhập sao cho các giá trị mật khẩu có xác suất trùng là thấp nhất.

Một phần của tài liệu Nghiên cứu các phương pháp bảo mật trong internet banking và mobile banking (Trang 41)

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

(89 trang)
w