Thứ Bảy, 23 tháng 10, 2010

Giải pháp an ninh bảo mật của Token RSA


Print E-mail
0
Internet và mô hình thương mại điện tử
Với sự phát triển của mạng Internet hiện nay, các doanh nghiệp nhanh chóng nhận thấy lợi ích của việc sử dụng mạng Internet để mở rộng thêm mạng doanh nghiệp bao gồm cả các đối tác, nhà cung cấp và nhất là thông qua Internet, các doanh nghiệp có thể cung cấp các dịch vụ của mình đến với khách hàng thông qua các ứng dụng web.
Tuy nhiên, với việc mở rộng mạng doanh nghiệp đến nhiều đối tượng, doanh nghiệp bắt buộc phải cung cấp dữ liệu thông tin của mình cho các đối tượng đó. Do vậy, vấn đề đặt ra ở đây là khả năng đảm bảo an ninh mạng là một trong những yếu tố sống còn cho một doanh nghiệp khi áp dụng mô hình thương mại điện tử. An ninh mạng bao gồm rất nhiều các khía cạnh khác nhau. Một trong những khía cạnh được quan tâm nhất khi xem xét một hệ thống an ninh mạng là giải pháp xác thực (Authentication) người dùng. Xác thực là một quá trình mà đảm bảo cho một thực thể rằng phía đầu bên kia của kết nối đúng là đối tượng mà thực thể đó cần giao tiếp. Trong thế giới thực, chúng ta hoàn toàn có thể nhận biết một ai đó thông qua các đặc điểm sinh học như khuôn mặt, giọng nói hoặc thậm chí chỉ là hình dáng hay những dấu hiệu khác. Tuy nhiên, xác thực trên mạng lại là một vấn đề hoàn toàn khác bởi vì hai người làm việc với nhau trên mạng qua một khoảng cách lớn về địa lý, do vậy cần có những giải pháp xác thực trên mạng.
Các doanh nghiệp khi mở rộng hệ thống mạng của mình đến với nhiều đối tượng thì cần phải có khả năng phân quyền (Authorization) một cách thích hợp và chính xác. Phân quyền là các quy định về khả năng truy cập dữ liệu của một tổ chức hay nối cách khác là các quy định về việc những đối tượng nào sẽ được truy cập vào những thông tin nào. Ở đây, chúng ta lại thấy vai trò của vấn đề xác thực. Nếu không có một giải pháp xác thực đảm bảo thì việc phân quyền cũng sẽ không thể thực hiện được một cách đúng đắn.

Giải pháp xác thực bằng mật khẩu


Có lẽ hầu hết trong số chúng ta đều đã từng sử dụng Internet, E-Mail hoặc đăng nhập (Login) và một hệ thống mạng nào đó. Khi đăng nhập vào các hệ thống trên, tất cả những cái mà chúng ta cần là một Tên truy cập (Username) và một Mật khẩu (Password) gắn với tên truy cập đó. Để đăng nhập vào hệ thống, chúng ta chỉ cần cung cấp cho hệ thống tên truy cập và mật khẩu là đủ. Tên truy cập là hoàn toàn công khai trong khi mật khẩu nhất thiết phải được giữ kín. Giải pháp xác thực này có những ưu nhược điểm của nó. Ưu điểm của nó là:
· Đơn giản, dễ sử dụng.
· Không cần thêm bất cứ một phần mềm hoặc phần cứng nào.
Tuy nhiên, giải pháp xác thực này cũng có những nhược điểm như sau:
· Dễ bị giả mạo: chỉ cần biết được mật khẩu của ai đó, hacker hoàn toàn có thể mạo danh người đó để thực hiện các giao dịch trên mạng hoặc đăng nhập vào hệ thống để tiến hành phá hoại hay đánh cắp thông tin.
· Dễ bị đánh cắp: một mật khẩu thông thường là được dùng nhiều lần, do vậy chỉ cần những phần mềm đơn giản (có thể tải được một cách dễ dàng từ Internet), một hacker có thể chặn bắt được các gói tin trên mạng và lấy cắp được mật khẩu người sử dụng. Người dùng cũng hay có xu hướng là sử dụng những mật khẩu đơn giản, dễ nhớ và cũng chỉ có một vài mật khẩu để sử dụng quay vòng và kết quả là rất dễ bị đoán biết. Các phần mềm spyware hiện nay rất phổ biến và được nguỵ trang rất kỹ nên đa số người sử dụng khó có thể nhận biết được. Những chương trình như Keyboard logging sẽ ghi lại những gì người dùng gõ từ bàn phím và gửi đến cho chủ nhân của nó.
· Quản lý khó khăn: với nhiều hệ thống, người sử dụng phải sử dụng nhiều mật khẩu, do vậy, vấn đề quản lý mật khẩu trở nên phức tạp. Một hệ thống mạng hiện nay bao gồm rất nhiều các ứng dụng và dịch vụ chạy trên nó (VD: các phần mềm kế toán, quản lý,..., các dịch vụ E-Mail, nhắn tin,...). Với mỗi một ứng dụng hoặc dịch vụ đó, thường là người sử dụng lại cần phải có thêm một mật khẩu để sử dụng. Do vậy, với số lượng mật khẩu nhiều, người sử dụng sẽ hay ghi lại (save password) ngay trong máy tính, viết ra giấy hoặc thậm chí không sử dụng mật khẩu. Điều này đặc biệt nguy hiểm trong môi trường sử dụng chung máy tính.
· Chi phí cao: trong một mạng doanh nghiệp lớn, sẽ có rất nhiều yêu cầu tới bộ phận hỗ trợ kỹ thuật về các vấn đề liên quan đến mật khẩu và hầu hết trong số đó sẽ là do người sử dụng quên mật khẩu, mật khẩu bị hết hạn sử dụng,...Trước khi bộ phận hỗ trợ kỹ thuật giải quyết được vấn đề, người sử dụng sẽ không thể đăng nhập được vào hệ thống và do vậy sẽ không thể làm việc được dẫn đến giảm năng suất lao động. Tất cả những điều này làm chi phí của giải pháp xác thực bằng mật khẩu trên thực tế là rất cao
Với tất cả những nhược điểm trên, chúng ta có thể thấy rằng xác thực bằng mật khẩu không thể đảm bảo được an toàn và độ tin cậy nhất là trong những lĩnh vực nhậy cảm như ngành ngân hàng, tài chính, bưu điện, dịch vụ y tế,... nơi mà những thông tin cần phải được giữ bí mật tuyệt đối . Người sử dụng thậm chí có thể khởi kiện những tổ chức cung cấp dịch vụ do những thông tin cá nhân của họ bị tiết lộ. Trong một hội thảo về an ninh mạng do hãng RSA tổ chức vào tháng 2 năm 2004, ngay cả chủ tịch Microsoft, Bill Gate cũng đã phát biểu là xác thực người dùng bằng mật khẩu hiện nay là không an toàn.

Giải pháp xác thực hai yếu tố SecurID của RSA (Two – Factors Authentication)


Với việc sử dụng giải pháp xác thực truyền thống là không an toàn, người ta cần những giải pháp xác thực tốt hơn trong môi trường kinh doanh hiện nay. Một giải pháp xác thực chỉ được gọi là tốt khi mà nó đáp ứng được những yêu cầu chủ yếu sau:
· Chi phí thấp

· Dễ dàng, thuận tiện cho người sử dụng và sử dụng được trong nhiều hệ thống
. Khả năng mở rộng và tương thích với các hệ thống khác tốt
Để đáp ứng được những yêu cầu mới về an ninh mạng hiện nay, RSA đã đưa ra một giải pháp xác thực người dùng được gọi là giải pháp xác thực dựa trên hai yếu tố SecurID.
Chúng ta hãy cùng xem xét một ví dụ sau (Hình 1): một ai đó muốn rút tiền từ một máy ATM, anh/chị ta cần phải có đủ hai yếu tố sau: (a) một thẻ ATM (ATM card) và (b) là một mã số cá nhân hay còn được gọi là PIN (Personal Identification Number). Ở đây, nếu một ai đó muốn rút được tiền của người khác thì bắt buộc phải có đủ cả hai yếu tố này là thẻ ATM và số PIN. Nếu chủ sở hữu có bị mất thẻ thì người cầm thẻ cũng không thể rút được tiền ra hay nếu có đánh cắp được số PIN thì cũng phải có thẻ ATM mới có thể tiến hành rút tiền được. Đây cũng là một giải pháp xác thực người dùng hai yếu tố. Hai yếu tố ở đây là: thẻ ATM (cái mà bạn có) và số PIN (cái mà chỉ có bạn biết). Giải pháp xác thực hai yếu tố SecurID của RSA cũng hoạt động theo nguyên tắc trên: để đăng nhập vào hệ thống, bạn phải có đủ hai yếu tố: cái mà bạn biết và cái mà bạn có.

Giải pháp RSA SecurID® gồm có ba thành phần:


· RSA SecurID® Authenticators: Là thiết bị được gắn với người sử dụng. Chúng có thể là phần cứng hoặc phần mềm và được gọi là các Token. Nếu là phần mềm, chúng có thể được cài đặt lên máy tính xách tay hoặc các thiết bị cầm thay khác như PDA, Wireless Phone, .... Các thiết bị này tạo ra các con số khác nhau trong một khoảng thời gian nhất định. Khách hàng có thể lựa chọn thiết bị phù hợp với nhu cầu của mình.



. RSA ACE/Agent Software: là phần mềm được cài lên trên các điểm truy cập vào mạng (Ví dụ: gateway, VPN, Remote Access Server,...), các máy chủ (server) và các tài nguyên thông tin cần được bảo vệ của doanh nghiệp. Nó hoạt động giống như là một người gác cửa. Khi có yêu cầu đăng nhập của người sử dụng gửi đến, nó sẽ tiếp nhận và chuyển những thông tin đăng nhập tới máy chủ có thành phần RSA ACE/Server để thực hiện xác thực. Hầu hết các sản phẩm router, remote access server, firewall, VPN, wireless access,... của các hãng sản xuất hàng đầu trên thế giới đều đã tích hợp sẵn thành phần này trong các sản phẩm của mình. Đây là một lợi ích vô cùng quan trọng cho giải pháp RSA SecurID.


· RSA ACE/Server: là thành phần quản trị của giải pháp RSA SecurID được sử dụng để kiểm tra các yêu cầu xác thực và quản trị tập trung chính sách xác thực của trên toàn mạng doanh nghiệp.RSA ACE/Server có thể được mở rộng theo bất cứ nhu cầu nào của doanh nghiệp. RSA ACE/Server có khả năng xác thực được hàng triệu người sử dụng, xác thực người dùng trong mạng cục bộ, người dùng truy cập từ xa, người dùng qua VPN,...RSA ACE/Server tương thích hoàn toàn với các thiết bị mạng, RAS, VPN, Access Point,... của tất cả các hãng sản xuất lớn trên thế giới. Do vậy, với giải pháp SecurID của RSA, người dùng hoàn toàn không phải lo lắng tới vấn đề tương thích.

Giải pháp xác thực RSA SecurID hoạt động như thế nào?

Như đã đề cập ở trên, SecurID bao gồm ba thành phần. Thành phần RSA SecurID Authenticator hay còn được gọi là Token sẽ được trao cho người sử dụng. Thành phần này có nhiều loại khác nhau (là hardware token hoặc software token) nhưng đều có một chức năng là tạo ra những chuỗi số khác nhau sau một khoảng thời gian nhất định (Thông thường là một phút).



Giả sử một người sử dụng trong hệ thống được cấp phát một Token, khi đăng nhập vào hệ thống, người sử dụng này sẽ được yêu cầu nhập tên đăng nhập (VD: JSMITH) và một dẫy số được gọi là Passcode. Dẫy số này gồm có hai thành phần là số PIN và dẫy số xuất hiện trên token (Token code) của người đó vào thời điểm đăng nhập. Tất cả các thông tin (Tên đăng nhập và Passcode) này được thành phần RSA ACE/Agent tiếp nhận và thành phần này sẽ lại gửi những thông tin này đến RSA ACE/Server. Server này sẽ có số PIN của người sử dụng trong cơ sở dữ liệu của nó. Ngoài ra, nó cũng có một cơ chế cho phép nó tính toán ra một dẫy số của nó. ACE/Server sẽ ghép số PIN trong cơ sở dữ liệu và dẫy số của nó với nhau sau đó .


so sánh với Passcode của người sử dụng cung cấp. Nếu hai dẫy số này giống nhau, người dùng được xác thực là hợp lệ và được quyền đăng nhập vào mạng. Trong trường hợp ngược lại, quyền truy cập sẽ bị từ chối. Hoặc được chấp nhận truy cập hoặc không, những thông tin này sẽ được RSA ACE/Server gửi đến người sử dụng thông qua thành phần RSA ACE/Agent.
Cơ chế để RSA ACE/Server tính toán được một dẫy số của nó để so khớp với dẫy số trên token của người sử dụng là tương đối đơn giản. Như được minh hoạ trên hình 4, để tạo ra được dẫy số thay đổi sau mỗi khoảng thời gian, một token sẽ có những thành phần sau:
· Một đồng hồ bên trong (Tính theo giờ UTC).
· Một số Seed có độ dài 64 hoặc 128 bits.
· Thuật toán tạo số giả ngẫu nhiên
Với hai yếu tố là thời gian và số seed, sau khi áp dụng thuật toán tạo số giả ngẫu nhiên, token sẽ có một con số xuất hiện trên màn hình của nó (token code) và sau một khoảng thời gian xác định, thuật toán này lại tạo ra được một con số khác ứng với thời gian đó. Thuật toán này luôn tạo được những con số thay đổi theo thời gian và không lặp lại. Do vậy, việc dự đoán trước con số sẽ xuất hiện tiếp theo hoặc con số sẽ xuất hiện tại một thời điểm nào đó trong tương lai là không thể (chỉ có thể thực hiện được khi có số seed và thuật toán).
Khi gán một token cho một người sử dụng, quản trị mạng cũng sẽ phải cập nhật số seed của token đó vào cơ sở dữ liệu của RSA ACE/Server tương ứng với người dùng. Trên RSA ACE/Server cũng có một chương trình chạy thuật toán tạo số giả ngẫu nhiên giống với trên token. Khi có yêu cầu đăng nhập của người sử dụng, căn cứ vào tên đăng nhập, căn cứ vào đồng hồ hệ thống, căn cứ vào số seed được lưu trong cơ sở dữ liệu, khi chạy thuật toán tạo số giả ngẫu nhiên, RSA ACE/Server cũng sẽ có được một dẫy số giống với dẫy số trên token của người sử dụng tại cùng một thời điểm. Dãy số này được ghép với số PIN của người sử dụng trong cơ sở dữ liệu, RSA ACE/Server có thể kiểm tra được người sử dụng này có hợp lệ hay không.
Điều gì sẽ xảy ra khi đồng hồ trên token và đồng hồ trên RSA ACE/Server không giống nhau? Trong thực tế thì điều này luôn luôn xảy ra. Tuy vậy, RSA ACE/Server luôn ghi nhận lại một sự sai lệch về thời gian giữa nó và từng token khi đăng nhập và RSA ACE/Server sẽ chấp nhận bất cứ passcode nào của người sử dụng nằm trong khoảng thời gian sai lệch đó. Ví dụ, nếu RSA ACE/Server ghi nhận sự sai lệch của một token với nó là một phút thì nó sẽ chấp nhận bất cứ passcode nào của người sử dụng mà rơi vào khoảng thời gian trước thời điểm đăng nhập một phút, tại đúng thời điểm và sau thời điểm đó một phút. Khoảng thời gian sai lệch tối đa cho phép có thể thay đổi được trên RSA ACE/Server.
Như được mô tả trên hình 2, token của người sử dụng có rất nhiều loại khác nhau. Căn cứ vào nhu cầu thực tế, một tổ chức khi triển khai giải pháp xác thực RSA SecurID có thể lựa chon thiết bị phù hợp nhất với yêu cầu của mình. Thành phần RSA ACE/Agent có thể được cài lên rất nhiều điểm khác nhau trong hệ thống. Nó có thể được cài lên các điểm truy cập vào mạng như gateway, RAS, VPN,... cũng như cài lên các server Windows, Novell,...và được tích hợp sẵn trong tất cả các sản phẩm của các hãng sản xuất lớn như Microsoft, Nokia, CheckPoint, Cisco, Nortel...Thành phần RSA ACE/Server thực sự là thành phần quan trọng nhất của giải pháp. Để có thể hoạt động được liên tục và thuận lợi cho quá trình xác thực người sử dụng, RSA ACE/Server có thể được cài lên trên nhiều server trong đó có một máy đóng vai trò chính (ACE/Server Primary ) và các máy còn lại đóng vai trò bản sao (ACE/Server Replica). Các máy bản sao có thể được đặt phân tán và luôn được đồng bộ với máy chính. Khi máy chính không thể hoạt động, một máy bản sao nào đó có thể được nâng cấp lên thành máy chính. Quá trình hoạt động không hề bị dán đoạn.
Qua cấu trúc cũng như nguyên lý hoạt động của giải pháp RSA SecurID, ta thấy nó có những ưu điểm sau:
· Độ an toàn cao: được xác thực dựa trên hai yếu tố (PIN + Token code) và luôn thay đổi, khi một ai đó có chặn bắt được passcode của người sử dụng thì cũng thể sử dụng nó để đăng nhập vào hệ thống. Do vậy, nó khắc phục được một nhược điểm rất lớn của xác thực bằng password là chỉ cần chặn bắt được password là có thể sử dụng để đăng nhập.
· Quản lý password: đây là một nhược điểm cố hữu của password. Nhưng đối với SercurID, do được xác thực tập trung trên RSA ACE/Server và ACE/Agent có thể được cài đặt tại rất nhiều điểm, chí cần sử dụng một token là người sử dụng có thể xác thực được tại bất cứ đâu trong mạng, tránh được việc phải sử dụng nhiều password.
· Thuận tiện: với nhiều lựa chọn cho thành phần RSA SecurID Authenticator, người sử dụng có thể lựa chọn được thành phần thích hợp nhất cho mình.
· Khả năng mở rộng: với việc được cài đặt RSA ACE/Server lên nhiều máy chủ, một tổ chức có nhiều chi nhánh có thể cung cấp khả năng xác thực thông qua một máy chủ bản sao được đặt ngay tại chi nhánh thay vì phải sử dụng những kết nối đắt tiền về trung tâm để xác thực. Người dùng SecurID của tổ chức này cũng có thể đăng nhập thông qua một tổ chức khác miễn là RSA ACE/Server của hai tổ chức này tin cậy (Trusted) lẫn nhau.
· Tích hợp với hệ điều hành MS Windows: không chỉ bảo vệ người dùng khi truy cập vào trong mạng, khi truy cập vào ngay trong máy tính cá nhân (Windows logon), RSA SecurID cũng được kích hoạt để bảo vệ máy tính người dùng. Giờ đây, password để truy cập vào máy tính cá nhân sẽ được thay bằng passcode. Đây là một trong những tính năng mới nhất của giải pháp này và điều này đảm bảo mọi tài nguyên thông tin trong doanh nghiệp đều được bảo vệ.
· Hoạt động liên tục: khi một máy chủ chính không thể hoạt động được, một máy chủ bản sao sẽ được nâng cấp lên thành máy chủ chính. Điều này đảm bảo hệ thống hoạt động được liên tục và ổn định.
· Chi phí thấp: với việc không phải sử dụng và quản lý quá nhiều password, người sử dụng sẽ không phải yêu cầu hỗ trợ từ bộ phận kỹ thuật, do vậy, chi phí cho hỗ trợ kỹ thuật giảm và năng suất lao động tăng lên.
Với các ưu điểm trên, chúng ta thấy rằng giải pháp xác thực người sử dụng RSA SecurID thực sự là một giải pháp rất tối ưu. Trong một hệ thống, với những cá nhân có quyền truy cập vào các thông tin quan trọng và nhậy cảm như lãnh đạo tổ chức, phòng kế toán, các quản trị hệ thống,... thì sử dụng giải pháp xác thực này sẽ giảm thiểu đến mức thấp nhất các nguy cơ như bị đánh cắp thông tin hay phá hoại xuống đến mức thấp nhất.

Không có nhận xét nào:

Đăng nhận xét