Tải bản đầy đủ (.pdf) (25 trang)

Nghiên cứu phương pháp bảo mật cho cơ chế đăng nhập một lần ứng dụng trong hệ phân tán (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (416.89 KB, 25 trang )

-1-

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
------------------------------------------

PHẠM TUẤN DŨNG
NGHIÊN CỨU PHƯƠNG PHÁP BẢO MẬT CHO
CƠ CHẾ ĐĂNG NHẬP MỘT LẦN ỨNG DỤNG
TRONG HỆ PHÂN TÁN
CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH

MÃ SỐ : 60.48.15

TĨM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS. HOÀNG XUÂN DẬU

HÀ NỘI - 2011


-2-

MỞ ĐẦU
Ngày nay cùng với sự phát triển mạnh mẽ của các hệ thống
phân tán, người dùng có thể dễ dàng chia sẻ thông tin cũng như sử
dụng nguồn tài nguyên vô cùng to lớn của hệ thống mạng. Những
nhà cung cấp dịch vụ đã dựa trên nền mạng phân tán để phân chia hệ
thống máy chủ của mình phục vụ cho các nhóm người dùng theo
những vùng khác nhau về vị trí địa lý, nhưng cho phép người dùng
truy cập các nhóm nội dung tương tự nhau, nhờ vậy giảm bớt thời
gian và chi phí cho việc truy cập. Thơng thường giải pháp được sử


dụng trong trường hợp có nhiều nhà cung cấp dịch vụ khác nhau là
người sử dụng phải đăng ký tên người dùng và mật khẩu riêng với
từng nhà cung cấp. Tuy nhiên khi người sử dụng phải lưu trữ q
nhiều các thơng tin bí mật như trên sẽ dẫn đến những vấn đề như
không đảm bảo tính an ninh, an tồn và tăng thêm những chi phí
khác. Cơ chế đăng nhập một lần đảm bảo cho người dùng hợp pháp
có thể truy nhập vào rất nhiều những dịch vụ khác nhau trên hệ thống
mạng phân tán nhưng chỉ phải sử dụng một khóa duy nhất. Hiện nay
có nhiều phương pháp khác nhau được đưa ra nhằm mục đích ứng
dụng cơ chế này, nhưng trên các thử nghiệm thực tế hầu hết các
phương pháp đó đều khơng ngăn chặn được các tấn cơng một cách
có chủ ý từ bên ngồi. Một số phương pháp có kèm theo cơ chế đồng
bộ thời gian để loại bỏ các truy nhập trái phép, nhưng điều đó dẫn
đến việc tăng chi phí tính tốn.


-3Luận văn này tập trung nghiên cứu phương pháp tăng cường
bảo mật và hiệu quả cho cơ chế đăng nhập một lần ứng dụng cho các
thiết bị di động trong hệ thống phân tán.
Nội dung của luận văn bao gồm ba chương chính như sau:
-

Chương 1: Giới thiệu tổng quan về cơ chế đăng nhập,
các kỹ thuật xác thực sử dụng trong đăng nhập và giới
thiệu khái quát về cơ chế đăng nhập một lần. Đồng thời,
chương cũng cung cấp phần đánh giá các ưu, nhược
điểm của cơ chế đăng nhập một lần.

-


Chương 2: Phân loại các giải pháp đăng nhập một lần,
các hình thức tấn cơng vào cơ chế đăng nhập một lần.
Chương cũng giới thiệu các thuật toán mã hóa sử dụng
trong xác thực người dùng trong đăng nhập như: thuật
tốn mã hóa khóa cơng khai, hàm băm một chiều.

-

Chương 3: Đề xuất giải pháp nâng cao tính bảo mật cho
cơ chế đăng nhập một lần, đánh giá độ an tồn cũng như
chi phí tính tốn của giải pháp; cài đặt thử nghiệm hệ
thống đăng nhập một lần.


-4-

CHƯƠNG 1 - TỔNG QUAN VỀ ĐĂNG NHẬP MỘT LẦN
1.1. Khái quát về đăng nhập và các kỹ thuật xác thực sử dụng
trong đăng nhập
1.1.1. Giới thiệu cơ chế đăng nhập
Cùng với sự phát triển mạnh mẽ của hệ thống mạng máy
tính, người sử dụng và quản trị hệ thống phải đối mặt với những
thách thức trong việc đảm bảo hệ thống vận hành an toàn và hiệu
quả. Để đảm bảo tính bảo mật cho các thơng tin được lưu trữ trên các
máy chủ dịch vụ, đòi hỏi người sử dụng phải đăng nhập vào các hệ
thống sau đó họ sẽ được cấp quyền để truy nhập vào các thông tin
đó.
Đăng nhập là q trình người dùng sử dụng định danh và các
thơng tin bí mật khác thiết lập một kết nối bảo mật với hệ thống, định
danh và các thơng tin bí mật của người dùng đã được người dùng

đăng ký từ trước với hệ thống. Quá trình người dùng đăng nhập bao
gồm hai bước xác thực và ủy quyền, trong đó :
+ Xác thực (Authentication) : Kiểm tra một người dùng có
hợp lệ hay khơng thơng qua các phương thức xác thực của hệ thống.
Xác thực được coi là cốt lõi của quá trình đăng nhập trong một hệ
thống thơng tin.
+ Ủy quyền (Authorization) : Là q trình kiểm chứng một
người dùng đã được xác thực có đủ quyền truy cập vào tài nguyên


-5mà người dùng yêu cầu hay không. Sự phân cấp truy cập tài nguyên
phụ thuộc vào các chính sách của hệ thống.
1.1.2. Xác thực
1.1.2.1. Khái quát về xác thực
Xác thực là một hành động nhằm thiết lập hoặc chứng thực
một cái gì đó (hoặc một người nào đó) đáng tin cậy, có nghĩa là
những lời khai báo do người đó đưa ra hoặc về vật đó là sự thật. Xác
thực một đối tượng cịn có nghĩa là cơng nhận nguồn gốc của đối
tượng, trong khi, xác thực một người thường bao gồm việc thẩm tra
nhận dạng của họ. Việc xác thực thường phụ thuộc vào một hoặc
nhiều nhân tố xác thực để minh chứng cụ thể.
Xác thực có vai trị đặc biệt quan trọng giúp cho hoạt động
của hệ thống được an toàn. Hệ thống sẽ xác thực một thực thể khi
thực thể đó có yêu cầu thiết lập liên lạc. Khi đó thơng tin nhận dạng
của thực thể được dùng để xác định quyền truy nhập của chính nó.
Trong cả quá trình thực hiện giao thức xác thực, hai bên trao đổi
những thơng tin bí mật, và đó là cơ sở đảm bảo tính bảo mật và tồn
vẹn cho toàn bộ hệ thống.
1.1.2.2. Các dạng xác thực
Căn cứ vào tính chất và đặc điểm của các thành phần xác

thực người ta phân ra làm hai dạng xác thực sau:
 Sự xác thực thực thể.
 Sự xác thực trách nhiệm văn bản gốc.
Trong sự xác thực thực thể, người dùng yêu cầu được chấp
nhận là người dùng chính thức hợp pháp của hệ thống. Dịch vụ xác


-6thực thực thể có khả năng cơng nhận hoặc bác bỏ thông tin nhận
dạng của người truy nhập. Xác thực thực thể có thể được thực hiện từ
một phía hoặc nhiều phía:
 Trong xác thực một phía, chỉ một phía thực hiện xác
thực bản thân mình với hệ thống khi yêu cầu liên lạc.
 Trong xác thực thực thể nhiều phía, thơng thường cả
hai bên phải xác thực lẫn nhau.
1.1.2.3. Các giao thức xác thực
Sức mạnh của một hệ xác thực phụ thuộc khả năng của cơ sở
hạ tầng hỗ trợ lưu giữ các khóa mật mã dài và thực hiện các giải
thuật mật mã. Các giao thức xác thực sử dụng các giải thuật mật mã
tổng hợp và dùng khóa mật mã dài để chống lại các dạng tấn công
thông tin. Các giao thức xác thực thông dụng bao gồm: giao thức thử
thách và trả lời, giao thức mật khẩu được chuyển đổi, giao thức mật
khẩu sử dụng một lần, giao thức chứng chỉ số và giao thức nhận dạng
sinh trắc học.
1.1.2.4. Các kỹ thuật xác thực
a. Xác thực bằng thẻ
b. Xác thực dựa theo tri thức
c. Xác thực dựa theo nhân trắc quan
d. Xác thực sử dụng thẻ nhớ USB
e. Xác thực bằng mật khẩu sử dụng một lần (OTP:one-time
password)

f. Xác thực sử dụng thiết bị phát sóng radio (RFID - Radio
frequency identification card)


-7- Trên thực tế, đôi khi phải kết hợp nhiều nhân tố xác thực để
đảm bảo tính an tồn đến một mức độ nào đó mà chúng ta hướng
tới, bởi mỗi phương thức xác thực đều có những nhược điểm riêng
xét cụ thể như sau:
 Xác thực bằng mật khẩu có nhược điểm lớn nhất là
người dùng thường chọn mật khẩu dễ nhớ, do vậy dễ
đoán, nên dễ bị tấn cơng.
 Phương pháp nhận dạng sinh học thì địi hỏi phải dựa
trên hạ tầng thông tin tốt.
 RFID chỉ sử dụng được trong phạm vi gần đầu đọc
chuyên dụng.
 Sử dụng OTP địi hỏi cơ sở hạ tầng thơng tin phải kết
nối tốt và liên tục, bởi mỗi OTP chỉ tồn tại trong một
thời gian nhất định.
1.2. Cơ chế đăng nhập một lần
1.2.1. Giới thiệu cơ chế đăng nhập một lần
Trong quá trình phát triển của các hệ thống phân tán, chúng
ta có thể nhận thấy ban đầu chúng chỉ là những thành phần hoạt động
như những hệ thống độc lập và đòi hỏi những chế độ bảo mật độc lập
tương đương. Những thành phần này bao gồm những nền tảng riêng
rẽ liên kết với từng ứng dụng và hệ điều hành khác nhau. Điều này
dẫn tới việc những người dùng cuối phải đăng ký và xác thực một
cách độc lập với từng dịch vụ nếu họ muốn truy nhập đến các dữ liệu
được bảo mật.



-8Tuy nhiên trên thực tế người dùng phải đăng nhập vào rất
nhiều các máy chủ dịch vụ khác nhau, từ đó dẫn đến mỗi người phải
đăng ký và ghi nhớ rất nhiều các thông tin định danh người dùng.
Những người quản trị hệ thống cũng phải đối mặt với việc quản lý
những người dùng trong các hệ thống liên kết muốn truy nhập đến
các tài nguyên trong hệ thống của mình mà khơng xảy ra xung đột
cũng như đảm bảo được các quy tắc bảo mật.
Cơ chế đăng nhập một lần là cơ chế giúp cho người dùng
hợp pháp có thể truy nhập vào rất nhiều những dịch vụ khác nhau
trên hệ thống mạng phân tán nhưng chỉ phải sử dụng một định danh
duy nhất. Người sử dụng chỉ cần đăng ký và đăng nhập duy nhất một
lần vào hệ thống, khi đó trong phiên làm việc của mình họ có thể
truy cập ngay lập tức vào các dịch vụ liên kết của hệ thống phân tán
mà không phải đăng ký thêm định danh và thơng qua q trình đăng
nhập lần nữa.
1.2.2. Ưu khuyết điểm của cơ chế đăng nhập một lần
1.2.2.1. Ưu điểm
 Tiết kiệm thời gian cho người sử dụng trong việc đăng nhập
vào nhiều dịch vụ được cung cấp trên các nền tảng khác nhau
của hệ thống phân tán.
 Tăng cường khả năng bảo mật thông qua việc giúp người sử
dụng không cần nhớ nhiều thông tin đăng nhập (định danh và
mật khẩu).


-9 Giúp cho người quản trị hệ thống tiết kiệm thời gian trong việc
tạo lập hay loại bỏ người dùng trên hệ thống, cũng như thay
đổi quyền của một hay một nhóm người dùng nào đó.
 Tiết kiệm thời gian khi tái lập lại mật khẩu cho người dùng.
 Bảo mật các cấp độ của việc thoát hay truy xuất hệ thống.

 Người phát triển ứng dụng không cần thiết phải hiểu và thực
hiện nhận dạng bảo mật trong ứng dụng của họ, điều họ cần
làm là liên kết đến một máy chủ định danh đã được bảo đảm,
việc này giúp những người dùng của họ có thể truy cập vào
các dịch vụ khác cũng liên kết đến máy chủ đó như họ.
1.2.2.2. Khuyết điểm
 Địi hỏi cơ sở hạ tầng của toàn bộ hệ thống phải bảo đảm
 Do nhiều domain cùng sử dụng chung cơ sở dữ liệu người
dùng nên việc xác thực khi người dùng đăng ký với hệ thống
phải chặt chẽ, nếu không sẽ rất dễ vi phạm việc đảm bảo an
ninh cho hệ thống.
 Cần có cơ chế xác thực đảm bảo khi truyền các thông tin định
danh người dùng giữa người sử dụng với các máy chủ dịch vụ
khác nhau.
1.3. Nội dung và đóng góp của luận văn
Năm 2000, giao thức trao đổi định danh người dùng đã được
giới thiệu lần đầu tiên bởi hai nhà khoa học Lee và Chang, giao thức
này cung cấp phương pháp thiết lập khóa cho phiên làm việc cũng
như giấu tên người dùng trong hệ thống phân tán. Tuy nhiên sau đó
phương thức này đã được chứng minh là dễ bị tổn thương bởi các tấn


- 10 cơng có chủ ý từ bên ngồi. Năm 2004, Hsu và Wu chỉ ra rằng giao
thức trên có thể bị đánh lừa bởi các cuộc tấn công giả mạo người
dùng và họ cũng cung cấp giải pháp để sửa lỗi này. Một thời gian
sau, Yang và cộng sự của ông chứng tỏ rằng giải pháp của Hsu và
Wu cũng khơng thể bảo vệ khóa bí mật của người dùng khỏi những
nhà cung cấp dịch vụ giả mạo, và họ cũng đã đưa ra giải pháp nâng
cấp để ngăn ngừa các cuộc tấn công dạng này. Năm 2005, Lee đã thử
nghiệm hai khả năng tấn công vào giải pháp của Hsu và Wu, theo đó,

kẻ tấn cơng giả mạo các khóa hợp pháp để đánh lừa những nhà cung
cấp dịch vụ. Năm 2006 Mangipudi và Katti giới thiệu phương pháp
tấn công từ chối dịch vụ DoS nhằm vào giải pháp của Yang, cùng
với đó họ cũng đưa ra cách thức để chống lại DoS. Mới đây, Hsu và
Chuang chứng tỏ rằng các giải pháp của Yang cũng như của
Mangipudi và Katti đều dễ bị tổn thương bởi cách tấn công làm lộ
thông tin định danh.
Mặc dù giải pháp của Hsu và Chuang có nhiều tính năng
nâng cao, tuy nhiên trên thực tế, nó khơng cung cấp tất cả các tính
năng bảo mật như những gì đã được đề cập đến trong giải pháp. Nó
có thể bị tấn cơng bằng cách sử dụng thuật toán RSA tương tự để tạo
các khóa bí mật từ đó giả mạo người dùng hợp pháp đánh lừa hệ
thống. Thêm vào đó giải pháp của Hsu và Chuang sử dụng nhãn thời
gian để chống các cuộc tấn cơng lặp lại, tuy nhiên rất khó để xác
nhận các nhãn thời gian này khi các phần của hệ thống phân tán trải
rộng trên các vùng địa lý khác nhau, trên các múi giờ khác nhau,


- 11 trong khi hệ thống mạng chưa thể đáp ứng được cơ chế đồng bộ thời
gian trên toàn hệ thống.
Luận văn này tập trung nghiên cứu phương pháp bảo mật
cho cơ chế đăng nhập một lần cho phép người dùng di động có thể sử
dụng một định danh duy nhất để đăng nhập vào các dịch vụ khác
nhau trên hệ thống phân tán. Phương pháp này dựa trên hàm băm
một chiều và các biến ngẫu nhiên để giải quyết các vấn đề về bảo
mật mà các giải pháp nêu trên gặp phải nhằm nâng cao độ an toàn
của hệ thống. Nội dung của luận văn tập trung làm rõ các điểm yếu
của các giải pháp đăng nhập một lần đã được biết đến và các phương
pháp tấn công lợi dụng các điểm yếu đó để phá hoại hệ thống, từ đó
đưa ra giải pháp khắc phục và nâng cao độ an tồn cho hệ thống.

1.4. Kết chương
Thơng qua nội dung chương 1, luận văn đề cập đến những
kiến thức cơ bản về cơ chế đăng nhập và các kỹ thuật xác thực sử
dụng trong đăng nhập; giới thiệu khái quát về cơ chế đăng nhập một
lần, những ưu khuyết điểm của cơ chế này và những ứng dụng thực
tế của nó trong hệ thống phân tán.
Chương cũng nêu nội dung vấn đề được giải quyết trong
luận văn và các đóng góp của luận văn trong việc nghiên cứu nâng
cao tính bảo mật của cơ chế đăng nhập một lần ứng dụng trong hệ
phân tán. Đây là cơ sở để xây dựng những ứng dụng thực tế dựa trên
giải pháp đăng nhập một lần được giới thiệu trong luận văn này.


- 12 -

CHƯƠNG 2 - CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG
THỰC TẾ CỦA CƠ CHẾ ĐĂNG NHẬP MỘT LẦN
2.1. Phân loại và ứng dụng của cơ chế đăng nhập một lần
2.1.1 Phân loại các phương pháp đăng nhập một lần
Việc phân loại các phương pháp đăng nhập một lần giúp
chúng ta nhận biết được sự khác nhau của các thuộc tính an tồn của
từng phương pháp, từ đó có cơ sở để lựa chọn được phương pháp
phù hợp cho từng hệ thống cụ thể. Luận văn này trình bày hai cách
thức phân loại đang được sử dụng hiện nay đó là cách phân loại của
De Clercq và cách phân loại của Pashalidis-Mitchell.
2.1.2 Các giải pháp đăng nhập một lần
Hiện nay có khá nhiều giải pháp đăng nhập một lần được
giới thiệu và đưa vào kiểm chứng trên thực tế như:
 Open Single Sign-On (OpenSSO) hoạt động dựa trên Token.
 Central Authentication Service (CAS)

 Tivoli Access Manager for Enterprise Single Sign-On.
2.2. Các vấn đề an toàn trong cơ chế đăng nhập một lần
2.2.1 Các vấn đề về bảo mật
Khi đề cập đến lỗ hổng bảo mật, chúng ta thường quan tâm
đến tính an tồn của hệ thống bao gồm các thuộc tính quan trọng của
an tồn thơng tin đó là: Tính bí mật, tính tồn vẹn, tính xác thực và
tính sẵn sàng. Sự tồn tại của các lỗ hổng cho thấy hệ thống có nguy
cơ bị người ngồi lợi dụng khai thác các thông tin người dùng trong


- 13 cuộc tấn cơng có chủ đích. Các cuộc tấn cơng có tính chất khác nhau
tùy thuộc vào loại và mức độ nghiêm trọng của các lỗ hổng bị khai
thác.
Hệ thống đăng nhập một lần thường gặp các vấn đề về bảo
mật như sau:
- Vấn đề mật khẩu yếu: Sử dụng mật khẩu là phương pháp
xác thực được dùng phổ biến nhất hiện nay. Mật khẩu có thể được sử
dụng nhiều lần và không được thay đổi trong thời gian dài để truy
cập vào các ứng dụng là vấn đề thường gặp. Một phương pháp thông
thường dùng để tấn cơng các mật khẩu yếu là đốn mật khẩu bằng
cách sử dụng phương pháp tấn công từ điển. Chúng ta có thể khắc
phục vấn đề này bằng cách thiết lập các chính sách mật khẩu mạnh.
- Vấn đề về hình thức đăng nhập: Nhà cung cấp dịch cụ tích
hợp mẫu đăng nhập dành cho người dùng vào trong một trang nội
dung của mình, và trong q trình đăng nhập thơng tin của người
dùng sẽ được gửi trở lại cho nhà cung cấp dịch vụ để xác thực, nếu
các thông tin này khơng được mã hóa sẽ dẫn đến vấn đề lộ định danh
người dùng. Bên cạnh đó nếu các hệ mã hóa được sử dụng khơng
đảm bảo an tồn thì cũng có thể dẫn đến các nguy cơ lộ thơng tin về
người dùng.

2.3. Cơ sở lý thuyết mã hoá cho đăng nhập một lần
2.3.1. Các phương pháp mã hóa sử dụng khóa cơng khai
2.3.1.1. Giới thiệu mật mã sử dụng khóa cơng khai
Mật mã khóa cơng khai là một dạng mã hóa cho phép người
sử dụng trao đổi các thơng tin mật mà không cần phải trao đổi các


- 14 khóa chung bí mật trước đó. Điều này được thực hiện bằng cách sử
dụng một cặp khóa có quan hệ tốn học với nhau là khóa cơng khai
và khóa cá nhân hay khóa bí mật.
Trong mật mã khóa cơng khai, khóa cá nhân phải được giữ
bí mật trong khi khóa cơng khai được phổ biến. Trong hai khóa, một
khóa dùng để mã hóa và khóa cịn lại dùng để giải mã. Điều quan
trọng đối với hệ thống dùng khóa loại này là khơng thể tìm ra khóa bí
mật nếu chỉ biết khóa cơng khai.
2.3.2. Hàm băm một chiều
Một hàm băm H có đầu vào là một thơng tin X có kích thước
biến thiên và đưa ra kết quả là một chuỗi có độ dài cố định. Chuỗi
này thường được gọi là phần lõi của thông tin X. H(X) thường có
kích thước nhỏ hơn rất nhiều so với X.
2.4. Kết chương
Như vậy chúng ta có thể thấy, hiện nay có rất nhiều nguy cơ
bị tấn cơng từ bên ngồi đối với hệ thống mạng. Sử dụng các cơ chế
xác thực đủ mạnh có thể đảm bảo cho người dùng hợp pháp truy cập
dễ dàng vào các máy chủ dịch vụ, bên cạnh đó cũng loại bỏ các truy
nhập của người dùng bất hợp pháp. Các thuật tốn mã hóa áp dụng
cho cơ chế đăng nhập một lần đảm bảo chống lại các cuộc tấn công
không mong muốn từ bên ngoài.



- 15 -

CHƯƠNG 3 - GIẢI PHÁP NÂNG CAO TÍNH BẢO MẬT
CỦA CƠ CHẾ ĐĂNG NHẬP MỘT LẦN
3.1. Giải pháp nâng cao tính bảo mật cho cơ chế đăng nhập một lần
Hiện nay trên thực tế một số giải pháp đăng nhập một lần đã
được nghiên cứu và ứng dụng, mỗi giải pháp đều có những ưu
khuyết điểm riêng. Giải pháp được đưa ra trong luận văn này được
phát triển trên nền tảng là giải pháp đăng nhập một lần do Hsu và
Chuang [21] đề xuất; luận văn sẽ phân tích các ưu khuyết điểm của
giải pháp này từ đó nghiên cứu đề xuất giải pháp nhằm nâng cao tính
bảo mật và giảm chi phí tính tốn cho hệ thống
3.1.1 Giải pháp đăng nhập một lần của Hsu và Chuang
Giải pháp này bao gồm ba quá trình: Quá trình khởi tạo hệ
thống, quá trình đăng ký người dùng và quá trình xác thực người
dùng.
3.1.2 Đề xuất giải pháp nâng cao tính bảo mật cho cơ chế đăng
nhập một lần
Nhằm giải quyết những vấn đề liên quan đến bảo mật trong
cơ chế đăng nhập một lần, luận văn đưa ra giải pháp định danh người
dùng dựa trên việc thiết lập khóa phiên, nhằm chống lại các tấn công
trái phép giả mạo người dùng hợp pháp, giải pháp này bao gồm hàm
băm một chiều với nonce tạo ngẫu nhiên nhằm nâng cao độ bảo mật.
Cơ chế hoạt động của giải pháp cũng bao gồm ba quá trình như sau:
a. Quá trình khởi tạo hệ thống


- 16 Máy chủ xác thực SCPC chọn hai số ngun tố đủ lớn p và q
sau đó tính tốn N=p*q. SCPC cũng xác định cặp khóa (e,d) với e*d
1 mod (N) với (N) = (p-1)*(q-1). Tiếp theo, SCPC lựa chọn một

số g trong tập hữu hạn Z *n với n là một số nguyên tố lớn. Cuối cùng,
SCPC giữ bí mật khóa d và cơng khai tập khóa (e, g, n, N). Lưu ý
mọi thông tin về các thông số p và q bị xóa sau khi q trình khởi tạo
của hệ thống kết thúc.
b. Quá trình đăng ký người dùng
Trong quá trình đăng ký, mỗi người dùng Ui phải đăng ký
một định danh duy nhất IDi với độ dài xác định và nhận lại token bí
mật Si từ máy chủ xác thực SCPC thông qua kênh bảo mật. Token bí
mật Si được tính theo cơng thức Si=(IDi || h(IDi))d mod N, với h(.) là
hàm băm mã hóa một chiều, khơng xung đột.
Bên cạnh đó, máy chủ dịch vụ Pj cũng cần duy trì các cặp
khóa bí mật và cơng khai của mình tránh khỏi các cuộc tấn cơng từ
chối dịch vụ DoS. Đầu tiên Pj xác định hai số ngun tố đủ lớn pj và
qj sau đó tính Nj=pj*qj. Tiếp theo Pj chọn cặp khóa (ej, dj) sao cho
ej*dj  1 mod (Nj), với (Nj) = (pj-1)*(qj-1). Cuối cùng, Pj giữ lại
khóa bí mật dj và cơng bố cơng khai các thơng số (IDj, ej, Nj).
c. Q trình xác thực người dùng
Nếu người dùng Ui muốn truy nhập vào dữ liệu được cung
cấp bởi máy chủ dịch vụ Pj thì Pj cần xác thực người dùng Ui đã
đăng ký và có đủ quyền truy cập.


- 17 Trong quá trình xác thực người dùng, Ui và Pj thực hiện các
bước sau:


Bước 1: Ui gửi thông điệp yêu cầu dịch vụ cùng với
một nonce ngẫu nhiên n1 tới Pj, m1={Service Request,
n1}.




Bước 2: Sau khi nhận được m1, Pj lựa chọn một số
ngẫu nhiên k và tạo ra một nonce ngẫu nhiên n2.



Bước 3: Pj tính tốn Z=gk mod n, u=h(Z||IDj||n1) và
chữ ký số v=(u||h(u))djmod Nj. Sau đó Pj gửi thơng
điệp m2={Z, v, n2} trở lại cho Ui.



Bước 4: Sau khi nhận được m2 từ Pj, Ui tính tốn
u=h(Z||IDj||n1) và thực hiện các bước kế tiếp.



Bước 5: Để kiểm tra tính xác thực của thơng số Z, Ui
kiểm định chữ ký v bằng cách so sánh giá trị 2 biểu
e

thức v j mod Nj và (u||h(u)) mod Nj. Nếu kết quả
không bằng nhau, Ui xác nhận thông số Z từ Pj bị giả
mạo và bỏ qua việc kết nối. Ngược lại, Ui chọn một số
ngẫu nhiên t dựa trên khóa bí mật của mình và tính
tốn w=gt mod n.


Bước 6: Ui tính tốn thơng số kij = Zt mod n.




Bước 7: Ui khởi tạo một nonce ngẫu nhiên n3 và tính
tốn ba thơng số Kij, x và y theo các cơng thức sau:
khóa phiên

h ( Kij || w||n2 )

Kij=h(IDj||kij), x= S i

mod N,


- 18 y= E Kij (IDi||n3||n2) với E(.) là hệ mã hóa đối xứng
dạng DES hoặc AES.


Bước 8: Ui gửi thông điệp m3=(w, x, y) đến Pj.



Bước 9: Sau khi nhận được m3, Pj tính giá trị kij= wk
mod n.



Bước 10: Pj tính được khóa phiên Kij=h(IDj||kij).




Bước 11: Pj sử dụng giá trị Kij để giải mã y và nhận
được các giá trị IDi, n3 và n2. Nếu giá trị n2 là đúng, Pj
tính SIDi=(IDi||h(IDi)).



Bước 12: Pj xác thực người dùng Ui thơng qua định
danh người dùng IDi mà nó nhận được, bằng cách so
h ( Kij || w||n2 )

sánh giá trị biểu thức SIDi

?

mod N  xe mod

N. Nếu kết quả như nhau thì Pj xác nhận Ui là người
dùng hợp pháp.


Bước 13: Pj tính giá trị V=h(n3) và gửi thông điệp
m4={V} đến Ui.



Bước 14: Sau khi nhận được m4, Ui tính giá trị
V’=h(n3) và so sánh hai giá trị V và V’. Nếu kết quả
bằng nhau thì Ui xác nhận Pj là nhà cung cấp dịch vụ
hợp lệ và chấp nhận khóa phiên Kij từ Pj.


3.2 Đánh giá độ an toàn của giải pháp được đề xuất
Nhằm đánh giá độ an tồn trong q trình xác thực của giải
pháp bao gồm tiến trình máy chủ dịch vụ xác thực người dùng và
ngược lại, luận văn sử dụng logic BAN nhằm kiểm tra độ chính xác


- 19 của giao thức trao đổi khóa có đảm bảo (AKE - authenticated key
exchange).
3.3 Đánh giá độ an toàn của giải pháp đề xuất trước các tấn công
từ bên ngoài
Nhằm đánh giá độ an toàn của giải pháp trước các tấn cơng
từ bên ngồi, luận văn tập trung vào các lỗ hổng bảo mật đã xuất
hiện trong các giải pháp đăng nhập một lần hiện tại, từ đó chứng
minh giải pháp đưa ra trong luận văn có thể chống lại các tấn cơng
đó qua việc khắc phục các lỗ hổng bảo mật đã được phát hiện.
3.3.1 Chống lại tấn cơng khám phá khóa phiên.
3.3.2 Chống lại tấn cơng khám phá định danh người dùng.
3.4 So sánh hiệu năng thực thi của các giải pháp
3.4.1 So sánh về hiệu suất tính tốn
Chi phí tính

Chi phí tính

Tổng chi phí

tốn của Ui

tốn của Pj


tính tốn

Giải pháp của

5Exp +

1Inv + 4Exp +

1Inv + 9Exp +

Yang

3Mul

2Mul

5Mul

Giải pháp của

7Exp +

1Inv + 5Exp +

1Inv + 12Exp

Mangipudi-Katti

3Mul


3Mul

+ 6Mul

Giải pháp của

1Inv + 4Exp

Chien

+ 2Mul

4Exp + 1Mul

1Inv + 8Exp +
3Mul


- 20 Giải pháp của Hsu-

1Inv + 6Exp

Chuang

+ 2Mul

Giải pháp đưa ra
trong luận văn này

4Exp


5Exp + 2Mul

5Exp

1Inv + 11Exp
+ 4Mul

9Exp

3.4.2 So sánh về chi phí truyền thơng.
Các thơng số truyền thông
Giải pháp của Yang

1|Nhãn thời gian| + 1|IDi| +
3|N|

Giải pháp của

2|Nhãn thời gian| + 1|IDi| +

Mangipudi-Katti

4|N|

Giải pháp của Chien

1|Nhãn thời gian| + 4|N|

Giải pháp của Hsu-


2|Nhãn thời gian| + 1|IDi| +

Chuang

4|N| + 1|Hàm băm một chiều|

Giải pháp đưa ra

4|Nonce| + 1|IDi| + 2|N| + 2|n|

trong luận văn

+1|Hàm băm một chiều|

Tổng số bit
3136

4192
4128
4352

3392

3.5 Cài đặt thử nghiệm
3.5.1 Mơ hình thử nghiệm
Mơ hình thử nghiệm một hệ thống đăng nhập một lần dựa
trên giải pháp đã được đề xuất trong luận văn bao gồm hai quá trình
đăng ký và xác thực người dùng. Hệ thống được xây dựng dựa trên



- 21 việc cải tiến phần mềm mã nguồn mở Java Open Single Sign-On
(JOSSO) của hãng Atricore ()
a. Yêu cầu phần cứng và phần mềm
- Hệ thống thử nghiệm được xây dựng trên máy chủ chạy
Windows server 2008 với cấu hình: Bộ vi xử lý Intel Xeon 3.0GHz,
RAM 2GB, ổ cứng 160GB.
- Phần mềm trên máy chủ bao gồm:


Phần mềm Apache Tomcat 7.0.22 của Apache.



Phần mềm Java Development Kit 7u1 của Oracle.



Phần mềm JOSSO Community Edition 2.2.1 của
Atricore.

- Máy trạm là các thiết bị di động hỗ trợ nền tảng java.
- Các thông điệp được truyền trên mạng thông qua kênh bảo
mật SSL.
- Các thuật toán được viết trên nền java bao gồm:


Hàm tạo khóa cơng khai theo định dạng RSA.




Hàm băm dạng SHA-1.

b. Mơ hình thử nghiệm


- 22 Mơ hình thử nghiệm bao gồm:


Máy chủ xác thực AcmeIDP, cơ sở dữ liệu người dùng
IDPUsers.



Các máy chủ dịch vụ SP1 và SP2 chạy trên nền
Apache Tomcat.

3.5.3 Một số kết quả đạt được
Sau khi tiến hành chạy thử nghiệm hệ thống, nhận thấy hệ
thống có thể đáp ứng được đối với các nhu cầu cơ bản của người
dùng. Thơng qua q trình thử nghiệm các thuật tốn chạy ổn định
theo đúng kết quả tính tốn trước đó.
3.6. Kết chương
Giải pháp cho cơ chế đăng nhập một lần được đưa ra trong
luận văn được chứng minh dựa trên lôgic BAN đáp ứng được độ an
tồn trong q trình xác thực người dùng, đồng thời giải pháp này
cũng chống lại được các cuộc tấn cơng có chủ ý từ bên ngồi. Thơng
qua tính tốn và kết quả thực tế của hệ thống thử nghiệm đã chứng tỏ
giải pháp này đã giảm được thời gian tính tốn, giảm chi phí đường
truyền cho hệ thống so với các giải pháp được đề cập trước đó.



- 23 -

KẾT LUẬN
Cơ chế đăng nhập một lần với những ưu điểm của mình đã
và đang được ứng dụng rộng rãi trên thực tế nhất là trên các hệ thống
mạng phân tán. Trong luận văn đã tập trung đi sâu nghiên cứu
phương pháp bảo mật cho cơ chế đăng nhập một lần cho phép người
dùng di động có thể sử dụng một định danh duy nhất để đăng nhập
vào các dịch vụ khác nhau trên hệ thống phân tán. Phương pháp này
dựa trên hàm băm một chiều và các biến ngẫu nhiên để giải quyết
các vấn đề về bảo mật mà các giải pháp nêu trên gặp phải cũng như
nâng cao độ an toàn của hệ thống.
Nội dung của luận văn tập trung vào làm rõ các điểm yếu
của các giải pháp đăng nhập một lần đã được biết đến cũng như các
phương pháp tấn công lợi dụng các điểm yếu đó để phá hoại hệ
thống, từ đó đưa ra giải pháp khắc phục và nâng cao độ an toàn cho
hệ thống.
Giải pháp đăng nhập một lần đưa ra trong luận văn đã đạt
được một số kết quả nhất định trong tính tốn dựa trên lý thuyết và
cài đặt thực tế như: đảm bảo được độ an toàn trong quá trình xác
thực người dùng, chống lại được một số tấn cơng có chủ ý từ bên
ngồi, giảm chi phí tính tốn cũng như chi phí đường truyền cho hệ
thống.


- 24 Tuy vậy, đây mới chỉ là các bước nghiên cứu đầu tiên, mơ
hình cài đặt chỉ mang tính thử nghiệm, trong thời gian tới tác giả sẽ
tiếp tục nghiên cứu, cải tiến giải pháp này theo hướng:



Cải tiến giải pháp để có thể chống lại các cuộc tấn
cơng dạng DoS và tấn công giả mạo người dùng.



Phát triển ứng dụng thực tế có thể chạy trên nhiều
nền tảng khác nhau dựa trên giải pháp đề xuất.


- 25 -


×