Các biện pháp này không chỉ can thiệp đến mã của agent mà còn sửa đổi trạng thái của agent. Giả sử rằng bạn gửi agent đến các site ở xa để thi hành một câu truy vấn cơ sở dữ liệu. Nếu site đích đơn giản đổi thông tin của server đích của agent và server nguồn và gửi lại nó cho server mà nó xuất phát, agent có thể lấy thông tin từ các
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cơ sở dữ liệu của bạn trƣớc khi nó quay trở về server đích. Ngoài ra, nếu bạn muốn thẩm tra một chƣơng trình, điều này thật đơn giản. Nhƣng nếu bạn muốn thẩm tra trạng thái theo cách thông thƣờng, điều này rất khó. Một giải pháp thƣờng gặp là tiếp cận theo tổ chức. Theo cách này, bạn tạo một nhóm server tin tƣởng lẫn nhau. Bất kỳ server nào trong nhóm phải đƣợc xác nhận nhƣ là thành viên của nhóm đó để liên lạc và gửi agent tới một thành viên khác trong nhóm.
2.6.3 Agent vượt quá quyền hạn của nó và làm hại đến server
Thậm chí ngay khi agent trình mà nhận dạng đúng, vẫn còn những nguy cơ bị tấn công. Chƣơng trình có thể bị xâm hại để thâm nhập bất hợp pháp tới các thông tin cá nhân hay một agent lỗi có thể làm hại server.
Nhƣ chúng ta đã đề cập, bạn có thể sử dụng chữ ký điện tử để thẩm tra rằng không có những mƣu hại xâm phạm agent. Việc thẩm tra này, tuy nhiên không đảm bảo các hành động của agent và không đảm bảo cho các hệ agent khỏi truy cập bất hợp pháp. Do đó, hệ thống agent phải đƣợc trang bị các thuộc tính sau:
Diễn đạt an toàn: bất kỳ điều kiện thuận lợi nào cho phép các truy cập bất hợp pháp tới bộ nhớ hệ thống hay các thông tin cá nhân phải đƣợc cấm một cách nghiêm ngặt.
Thi hành việc xác nhận: mọi agent phải đƣợc kiểm soát một cách nghiêm ngặt theo các chính sách an toàn đƣợc xác định bởi ngƣời có thẩm quyền. Sẽ không có cách nào lẩn tránh chính sách này.
2.7 Mô hình an toàn của Aglet.
Mô hình này hõ trợ các định nghĩa về các chính sách an toàn và mô tả cách làm thế nào và ở đâu hệ thống an toàn Aglet thi hành các chính sách này.
Chúng ta bắt đầu bằng mô tả các chủ nhân của mô hình này, nghĩa là các thực thể mà mã nhận dạng của nó phải đƣợc xác nhận. Sau đó chúng ta sẽ đề cập đến tiến trình xác nhận, rồi kết thúc bằng việc mô tả cơ chế kiểm soát truy nhập. Cơ chế này định nghĩa chính sách cho phép những gì aglet đƣợc làm và không đƣợc làm.
2.7.1 Các chủ sở hữu
Mô hình này đƣa ra năm chủ sở hữu cơ bản: - Aglet
- Chủ sở hữu Aglet - Ngƣời tạo ra aglet - Ngữ cảnh thi hành
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Miền và quyền truy cập trên miền
Aglet: do các hành vi tự trị của các aglet, nên có thể giả sử rằng chúng có thể xác định cac chính sách an toàn của chính mình và yêu cầu tất cả các server tôn trọng nó
Ví dụ: một aglet có thể xác định một chính sách chỉ cho phép các aglet của cùng một chủ sở hữu truy cập nó. Có ba vai trò của thân chủ aglet.
- Aglet: một aglet object thực sự là một luồng có trách nhiệm
- Ngƣời tạo ra aglet: đại diện cá nhân hay tổ chức cài đặt aglet. Các hành vi của aglet cũng đƣợc kiểm soát dƣới sự cho phép đối với chƣơng trình aglet - Chủ sở hữu aglet: đại diện cho cá nhân hay tổ chức thực hiện và đƣa aglet vào sử dụng. Bởi vì chủ sở hữu có trách nhiệm với các aglet của nó nên thân chủ này đƣợc dùng để xác nhận aglet.
Ngữ cảnh thi hành và máy phục vụ: chịu trách nhiệm trong việc giữ gìn hệ điều hành bên dƣới an toàn bằng cách bảo vệ nó khỏi các aglet phá hoại. Một máy phục vụ định nghĩa một chính sách an toàn để bảo vệ các tài nguyên cục bộ. Mỗi ngữ cảnh thi hành, có nhiệm vụ quản lý các agent ghé đến và cung cấp khả năng truy cập đến các tài nguyên cục bộ tƣơng ứng. Do đó, mỗi ngữ cảnh thi hành trên một máy phục vụ có thể định nghĩa các chính sách an toàn khác nhau tùy vào trách nhiệm riêng của nó.
Ví dụ: một ngữ cảnh thi hành phục vụ cơ sở dữ liệu có thể cho phép các aglet truy cập cơ sở dữ liệu, trong khi các ngữ cảnh thi hành khác trong cùng máy phục vụ có thể không cho phép những truy cập nhƣ vậy. Các mục đích đƣợc dùng cho aglet mà máy phục vụ và ngữ cảnh thi hành có thể định nghĩa bao gồm việc truy cập của aglet và tài nguyên cục bộ nhƣ hệ thống tập tin, các cửa sổ, các kết nối mạng; các tài nguyên thi hành nhƣ bộ nhớ, CPU time; số lƣợng tối đa các aglet có thể ghé vào cùng một thời điểm; và các giới hạn với các hoạt động của aglet nhƣ là số lƣợng tối đa các thể hiện hay nhái mà một agent có thể tạo cũng nhƣ thời gian tồn tại của aglet. Có ba thân chủ cho máy phục vụ và ngữ cảnh thi hành:
- Ngữ cảnh thi hành: là nơi quản lý các aglet. Thực vậy, nó là hệ điều hành tiến hành việc thi hành trên máy phục vụ quản lý ngữ cảnh thi hành này.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Chủ sở hữu ngữ cảnh thi hành: đƣợc dùng cho việc xác nhận các máy chủ đóng vai trò ngƣời gửi và nhận các aglet
Miền: đại diện cho một nhóm máy phục vụ. Chủ nhân của miền để xác nhận một máy phục vụ có phải là thành viên của một miền hay không.
Ví dụ: một máy phục vụ có thể xác mình một liên lạc với nó có thuộc về cùng miền hay không bằng cách kiểm tra rằng các máy phục vụ đích có chứng nhận bởi quyền truy cập miền
Một quyền truy cập miền: có nhiệm vụ giữ mạng an toàn để các aglet ghé đến có thể hoàn thành các tác vụ của chúng một cách an toàn.
Ví dụ: do đƣờng truyền là một nguồn tài nguyên quan trọng đƣợc dùng bởi một aglet để di chuyển nó thành công tới đích, đƣờng truyền phải đƣợc bảo vệ đúng mức. Các tài nguyên có thể cần đƣợc bào vệ gồm số lƣợng các hop mà aglet có thể thực hiện, số lƣợng các phiên bản mà aglet có thể sinh ra, thời gian tồn tại của một aglet trong một domain. Biện pháp bảo vệ mạnh hơn có thể đƣợc cung cấp bởi domain
Ví dụ: một miền có thể định nghĩa đƣợc tối đa số lƣợng các câu truy vấn mà một aglet có thể thực hiện trong miền đó.
2.7.2 Sự cấp phép
Sự cấp phép định nghĩa khả năng thi hành aglet bằng cách đặt các giới hạn lên các tài nguyên mà aglet sử dụng. Một sự cấp phép bao gồm một tài nguyên, nhƣ là một tập tin cục bộ, kết hợp với các hành động tƣơng ứng nhƣ là đọc hay ghi lên tập tin, đọc port mạng hay là tạo một cửa sổ trên màn hình. Một cú pháp trừu tƣợng cho sự cấp phép trong Aglet dựa trên cách giải quyết của JDK 1.2, [permission name action].
Sau đây là một số sự cấp phép đƣợc dùng cho aglet
- Sự cấp phép trên tập tin: aglet có thể đƣợc gán quyền truy cập tới một tập tin hay toàn bộ một thƣ mục nào đó.
FilePermission “/temp/*” “read,write” FilePermission “C:\public\*” “read”
- Sự cấp phép trên tài nguyên mạng: aglet có thể đƣợc gán quyền truy cập trên một tài nguyên nào đó hay đƣợc phép đọc một port nào đó.
SocketPermission “trl.ibm.com:100-110” “connect”
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Cửa sổ hệ thống: aglet có thể đƣợc gán quyền để mở một cửa sổ
AWTPermission “topLevelWindow”
- Sự cấp phép trên ngữ cảnh thi hành: một aglet có thể đƣợc cấp quyền sử dụng các dịch vụ do ngữ cảnh thi hành cấp. Các dịch vụ này bao gồm truy cập tới phƣơng thức dùng cho tạo, nhái, gửi đi, kéo về, tạm ngƣng và kích hoạt các aglet
ContextPermission “example.HelloAgent” “Create” ContextPermission “context” “start, remove”
- Sự cấp phép trên aglet: một aglet có thể đƣợc phép gọi các phƣơng thức của aglet khác đƣợc sở hữu bởi một thân chủ đƣợc cho bởi một tên
AgletPermission “Oshima” “dispose” AgletPermission “*” “dispatch”
2.7.3 Các biện pháp bảo vệ
Mặc dù aglet có thể đƣợc cấp quyền truy cập tới một tài nguyên hay một aglet khác, nó cũng có thể muốn bảo vệ chính nó khỏi các truy cập từ các thực thể khác Ví dụ: một aglet bị hủy bởi chính bạn, trong khi các aglet khác đƣợc truy cập công khai. Các biện pháp bảo vệ định nghĩa các mức bảo vệ bằng cách thiết lập các giới hạn truy cập
AgletProtection “Oshima” “dispose” AgletProtection “*” “dispatch”
2.7.4 Chính sách an toàn và thi hành
Tất cả các thân chủ mà chúng ta đã đề cập có thể đƣợc dùng để định nghĩa các chính sách an toàn. Một chính sách an toàn đƣợc mô hình bằng một tập các luật chứng tỏ bằng các thân chủ và bằng các đặc quyền. Tập tin định nghĩa chính sách an toàn của aglet dựa trên JDK 1.2
Một chính sách an toàn bao gồm một cá nhân hay tổ chức có trách nhiệm đối với các tài nguyên đƣợc sử dụng bởi các thực thể khác.
Ví dụ: Chủ sở hữu aglet có trách nhiệm đối với chính aglet, trong khi chủ sở hữu ngữ cảnh thi hành có trách nhiệm giữ máy phục vụ đƣợc an toàn. Trong mô hình aglet có ba quyền:
- Chủ sở hữu aglet: do tính độc lập của các hành vi của aglet, nên sẽ rất hợp lý nếu họ có thể định nghĩa các chính sách an toàn của aglet mà mình sở hữu. Mục tiêu chính của chủ sở hữu aglet là bảo vệ các agent trƣớc các cuộc tấn công. Khi aglet
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
ghé đến một ngữ cảnh thi hành, chúng có thể yêu cầu các ngữ cảnh thi hành thực hiện các chính sách an toàn đã định trƣớc. Tuy nhiên điều này còn phụ thuộc vào chính sách an toàn của ngữ cảnh thi hành. Chủ sở hữu của ngữ cảnh thi hành có vị trí cao hơn chủ sở hữu agent trong cấu trúc phân cấp an toàn và không cần đồng ý hoàn toàn các chính sách an toàn của chủ sở hữu agent
Grant code base “ http://some.host.com “, ownedby “Oshima” { Protection.com.ibm.aglet.security.agletProtection “Oshima” “dispose”
}
- Chủ sở hữu ngữ cảnh thi hành: quyền trên ngữ cảnh thi hành có trách nhiệm giữ an toàn cho máy phục vụ và hệ thống bên dƣới trƣớc những agent phá hoại. Chính sách an toàn của chủ sở hữu agent định nghĩa các hành động mà agent có thể thực hiện trong một ngữ cảnh thi hành
Grant code base “ http://some.host.com “, Signedby “IBM” ownedby “Oshima” { Permission java.io.filePermission “/tmp/file.dat” “read”; Permission java.awr.AWTPermission “topLevelWindow”; Permission java.net.socketPermission “ www.trl.ibm.co.jp:80 “ “connect”; }
- Chủ sở hữu miền: quyền trên miền có nhiệm vụ giữ cho hệ thống mạng của nó an toàn để các máy phục vụ trong miền có thể cung cấp các dịch vụ một cách tin cậy và tất cả các agent ghé đến có thể hoàn thành các tác vụ của chúng. Quyền trên miền định nghĩa các chính sách an toàn cho miền.
Ví dụ: nó có thể đặt giới hạn trên số lƣợng các hop mà các agent ghé đến có thể thi hành hay trên chu kỳ sống của một agent để agent sẽ bị hủy bỏ khi chu kỳ sống của nó kết thúc.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.8 Các giải pháp an toàn trong Internet Banking 2.8.1 Xây dựng hệ thống xác thực mạnh 2.8.1 Xây dựng hệ thống xác thực mạnh
2.8.1.1 Khái niệm
Phƣơng pháp truyền thống để xác thực ngƣời sử dụng là dùng tên tài khoản và mật khẩu đã đƣợc áp dụng từ rất lâu và bộc lộ nhiều khuyết điểm, hiện nay phƣơng pháp trên đƣợc coi là phƣơng pháp xác thực yếu bới tin tặc có thể đánh cắp đƣợc thông tin về tên tài khoản và mật khẩu của ngƣời dùng dƣới nhiểu hình thức nhƣ:
Phƣơng pháp công nghệ cao nhƣ Trojan, keylogger, lừa đảo dƣới dạng phishing hay pharming…
Phƣơng pháp thủ công: các hành vi nghe trộm, đánh cắp thông tin trái phép, lừa đảo dựa vào long tin của khách hang.
Tuy nhiên vẫn còn nhiều ngân hàng sử dụng dịch vụ internet banking chấp nhận hình thức xác thực bằng tên tài khoản và mật khẩu, đây là điểm yếu đƣợc nhiều tin tặc nhắm tới. Để giải quyết những hạn chế của phƣơng pháp xác thực cổ điển trên, đã ra dới rất nhiều phƣơng pháp xác thực mới nhằm tang cƣờng tính bảo mật cho khách hàng cũng nhƣ các dịch của ngân hàng. Các hệ thống xác thực mạnh thƣờng dựa vào 3 yếu tố cơ bản sau:
Thông tin ngƣời dùng biết: có thể là mật khẩu, số PIN…
Thiết bị ngƣời dùng đang có: có thể là các thiết bị vật lý nhƣ token, smartcard, hoặc điện thoại…
Đặc điểm riêng của ngƣời dùng: đƣợc hiểu là các đặc tính sinh trắc học của ngƣời dùng có khả năng xác thực duy nhất nhƣ vân tay, mống mắt…
Hệ thống xác thực nhiều yếu tổ có rất nhiều ƣu điểm so với hệ thống xác thực bằng tên và mật khẩu trƣớc đây:
Tăng cƣờng mức độ bảo mật lên một mức cao hơn, an toàn hơn cho cả ngân hàng lẫn khách hàng.
Phòng chống tấn công phishing và pharming: với việc sử dụng cùng lúc nhiều yếu tố xác thực làm cho việc đánh cắp đƣợc mật khẩu của phishing và pharming trở lên vô nghĩa vỉ vẫn còn thiếu các yếu tố xác thực còn lại.
Có thể xác định đƣợc tính chống từ chói cho các giao dịch, điều này không có nếu áp dụng phƣơng pháp bảo mật một yêu tố nhƣ trƣớc.
Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Giúp đỡ ngƣời dùng thuận tiện hơn, không phải nhớ hay quản lý một dãy các mật khẩu nhƣ trƣớc mà chỉ cần sử dụng các thiết bị ngân hàng cung cấp (token, smart card…).
2.8.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ế 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 nhiệ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 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 g9a5p 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 1 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 sử dụng. Tuy nhiên mật khẩu một lầ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.
b. Phương pháp sinh mật khẩu OTP
Mật khẩu một lần dƣợ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: