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 .
2.5. GIỚI THIỆU THUẬT TOÁN MÃ HÓA CỦA RSA SECURID 2.5.1. Giới thiệu 2.5.1. Giới thiệu
Tokencode RSA SecurID hiện nay là dựa trên một thuật toán thuộc quyền sở hữu riêng và cung cấp một tokencode 6 đến 8 chữ số giống nhƣ một đầu ra của thuật toán. Đầu ra này là một mã mới, không thể dự đoán đƣợc, đƣợc hiển thị sau một khoảng thời gian là 30 hoặc 60 giây.
Thuật toán ban đầu đƣợc thiết kế và sử dụng trên một bộ vi điều khiển 64 bit do khách hàng đặt làm với một tốc độ hoạt động ít hơn 1 megahertz. Dựa vào khả năng hoạt động và tính toán này, việc sử dụng một giá trị thời gian 64 bit và thành phần bí mật 64 bit trong thuật toán huỷ là những lựa chọn đáp ứng cho việc xác thực qua các kênh không bị pha tạp.
Nếu các mã đƣợc đƣa ra qua một phƣơng tiện trung gian mà có thể đƣợc điều khiển bởi một kẻ tấn công hoặc đƣợc quan sát trên một thiết bị mã thông bao đã đƣợc làm tạm thời, việc thi hành SecurID dễ bị tấn công nếu tồn tại một tấn công để đƣa ra thành phần bí mật bằng cách quan sát các tokencode đã đƣợc tạo ra trƣớc đó hoặc các tokencode liên tiếp.
Ngoài ra, với giá trị tới hạn của các tokencode mềm đang tồn tại trên các hệ thống hoạt động phổ biến và không phụ thuộc vào phần cứng đặc biệt nào, mức độ lỗ lực cần thiết để tìm ra thuật toán và thành phần bí mật đã đƣợc giảm đáng kể. Nếu thuật toán có thể đảo đƣợc hoặc các thành phần khởi tạo của thuật toán là có thể suy diễn thì rủi ro là các thẻ bị bắt chƣớc hoặc việc tiên đoán ra giá trị các tokencode sau này là dễ dàng có thực.
Độ đo độ an toàn trở nên rất dễ dàng: đảm bảo tính toàn vẹn và việc điều khiển của các thiết bị tokencode phần cứng cũng nhƣ phần mềm, xác thực thông qua các kênh giao tiếp đã đƣợc mã hoá và đảm bảo cuối mỗi kênh giao tiếp bằng máy chủ ứng dụng tới máy chủ xác thực ACE là không đƣợc thực hiện qua các đƣờng truyền công cộng.
2.5.2. Các vấn đề liên quan đến thuật toán
Các mã thẻ đƣợc tạo ra bằng thuật toán xuất phát từ hai giá trị bên trong: giá trị thời gian 64 bit và một giá trị bí mật 64 bit.
Kết quả của thuật toán sau đó đƣợc đƣa qua một thủ tục làm biến đổi cuối cùng làm cho nó trở nên khó hiểu hơn là đầu ra thực của thuật toán và đƣa ra một giá trị phù hợp hiển thị tokencode dựa trên phần cứng hoặc phần mềm.