Nguyên tắc đồng bộ thời gian trên RSA Authentication Manager

Một phần của tài liệu Nghiên cứu xây dựng hệ thống đảm bảo an toàn truyền tin trên mạng Vinaphone (Trang 51)

Để tạo ra đƣợc dẫy số thay đổi sau mỗi khoảng thời gian và đồng bộ nhau, thì trong token và trên RSA Authentication Manager của ngƣời sử dụng sẽ đều phải có những thành phần sau:

1/. Một đồng hồ bên trong (Tính theo giờ UTC).

Trên token đƣợc gán cho ngƣời sử dụng và trên RSA Authentication Manager đều có một đồng hồ bên trong đã đƣợc đồng bộ và đƣợc đặt theo giờ chuẩn quốc tế GMT, do đó đƣợc gọi là ―đồng bộ thời gian‖.

2/. Một số Seed có độ dài 64 hoặc 128 bits.

Seed là một khối khóa đối xứng 128 bít đƣợc phát triển bởi cơ quan an toàn thông tin Hàn Quốc KISA và một nhóm các chuyên gia vào năm 1998.

Cả token của ngƣời dùng và RSA Authentication Agent đều có chứa các số seed giống hệt nhau. Số seed này đƣợc nhúng vào trong một thẻ và tạo một mã xác thực mới sau mỗi 60 giây.

3/. 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).

Kích thƣớc khối đầu vào/đầu ra của seed là 128 bít và độ dài khóa cũng là 128 bít. Seed có cấu trúc 16 vòng. Một đầu vào 128 bít đƣợc chia thành hai khối 64 bit (L,R), và khối 64 bít phải là một đầu vào cho vòng F, với 64 bít khóa con Ki tạo ra từ sơ đồ khoá.

Mã giả cho cấu trúc của seed nhƣ sau:

for (i = 1; i <= 16; i++) {

L = R;

R = L ^ F(Ki, R); }

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 Authentication Manager tƣơng ứng với ngƣời dùng. Trên RSA Authentication Manager 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 Authentication Manager 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 Authentication Manager có thể kiểm tra đƣợc ngƣời sử dụng này có hợp lệ hay không.

RSA Authentication Manager cho phép một sự sai lệch về thời gian giữa nó và từng token khi đăng nhập và RSA Authentication Manager 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 đó. Khoảng thời gian sai lệch tối đa cho phép có thể thay đổi đƣợc trên RSA Authentication Manager .

Một phần của tài liệu Nghiên cứu xây dựng hệ thống đảm bảo an toàn truyền tin trên mạng Vinaphone (Trang 51)