ĐẶT VẤN ĐỀ Khi nhu cầu giao dịch, trao đổi thông tin trên các mạng truyền thông ngày càng cao sẽ đòi hỏi các dịch vụ đảm bảo tính an ninh của tài khoản người dùng càng phải phát triển. Một trong những công nghệ đó là OTP (One – Time Password). OTP được nhiều website khuyến cáo người dùng nên sử dụng như các trang game (www.volam.zing.vn), giao dịch điện tử (ibanking), và gần đây là Facebook, nhằm tăng tính bảo mật cho tài khoản khách hàng của họ. Sự ra đời của các thiết bị bảo mật theo công nghệ OTP, mà tiêu biểu là Yubikey tạo điều kiện thuận lợi cho người dùng. Chỉ với một thao tác nhẹ nhàng, đơn giản lên Yubikey, người dùng đã tạo ra một mật khẩu mới cho họ mà sau mỗi lần thoát ra thì mật khẩu đó không còn tác dụng, do đó tài khoản của họ rất khó có thể bị đột nhập. Yubikey không là xa lạ với các nước phát triển nhưng ở Việt Nam nó vẫn là một thứ sản phẩm xa lạ và có phần “xa xỉ”, nhất là đối với sinh viên. Do đó, đây là lần đầu tiên nhóm có cơ hội tìm hiểu về Yubikey. Trong quá trình tìm tòi không thể tránh những thiếu sót, rất mong sự đóng góp của thầy và các bạn. Xin chân thành cảm ơn NỘI DUNG I. Giới thiệu OTP 1. OTP và các loại mật khẩu khác ……………………………………4 2. Tìm hiểu công nghệ OTP …………………………………………..9 II. Giới thiệu Yubikey 1. Yubikey là gì? ……………………………………………………...10 2. Sử dụng Yubikey như thế nào? ……………………………………11 3. Yubikey hoạt động như thế nào? …………………………………..12 III. Làm thế nào thêm Yubikey vào hệ thống riêng của mình? ………………16 IV. Giải pháp xác thực USB OTP Token ……………………………………..27 V. Giới thiệu một số sản phẩm OTP trên thị trường ………………………...29 VI. Mức độ an toàn của OTP …………………………………………………31 Tài liệu tham khảo …………………………………………………………….33
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ
CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
THÔNG TIN KHOA KTMT LỚP KTMT02
Báo cáo
Đề tài: Yubikey Authentication
Giảng viên hướng dẫn:
ThS Phạm Xuân Khánh
Nhóm sinh viên thực hiện:
Ngô Thị Hồng Ngân 07520240Đinh Tiên Hoàng 07520543
Trang 2Thành phố Hồ Chí Minh, ngày 17 tháng 12 năm 2010
ĐẶT VẤN ĐỀ
Khi nhu cầu giao dịch, trao đổi thông tin trên các mạng truyền thông ngày càngcao sẽ đòi hỏi các dịch vụ đảm bảo tính an ninh của tài khoản người dùng càngphải phát triển Một trong những công nghệ đó là OTP (One – Time Password)
OTP được nhiều website khuyến cáo người dùng nên sử dụng như các tranggame (www.volam.zing.vn), giao dịch điện tử (ibanking), và gần đây làFacebook, nhằm tăng tính bảo mật cho tài khoản khách hàng của họ
Sự ra đời của các thiết bị bảo mật theo công nghệ OTP, mà tiêu biểu là Yubikeytạo điều kiện thuận lợi cho người dùng Chỉ với một thao tác nhẹ nhàng, đơngiản lên Yubikey, người dùng đã tạo ra một mật khẩu mới cho họ mà sau mỗilần thoát ra thì mật khẩu đó không còn tác dụng, do đó tài khoản của họ rất khó
có thể bị đột nhập
Yubikey không là xa lạ với các nước phát triển nhưng ở Việt Nam nó vẫn là mộtthứ sản phẩm xa lạ và có phần “xa xỉ”, nhất là đối với sinh viên Do đó, đây làlần đầu tiên nhóm có cơ hội tìm hiểu về Yubikey Trong quá trình tìm tòi khôngthể tránh những thiếu sót, rất mong sự đóng góp của thầy và các bạn
Xin chân thành cảm ơn!
Trang 3NỘI DUNG
I Giới thiệu OTP
1 OTP và các loại mật khẩu khác ………4
2 Tìm hiểu công nghệ OTP ……… 9
II Giới thiệu Yubikey 1 Yubikey là gì? ……… 10
2 Sử dụng Yubikey như thế nào? ………11
3 Yubikey hoạt động như thế nào? ……… 12
III Làm thế nào thêm Yubikey vào hệ thống riêng của mình? ………
16 IV Giải pháp xác thực USB OTP Token ……… 27
V Giới thiệu một số sản phẩm OTP trên thị trường ……… 29
VI Mức độ an toàn của OTP ………
31 Tài liệu tham khảo ……….33
Trang 4I GIỚI THIỆU VỀ OTP
Vì Yubikey là thiết bị hoạt động theo nguyên tắc OTP (one - time password) nên chúng ta sẽ tìm hiểu về OTP trước tiên
1 OTP và các loại mật khẩu khác
a Mật khẩu truyền thống
Đây là công nghệ bảo mật đã áp dụng từ những ngày đầu tiên khimáy tính xuất hiện Năm 1961, viện công nghệ MIT cho ra mắt mộttrong những hệ thống chia sẻ đầu tiên trên thế giới – CTSS – cùngvới hệ thống mật khẩu sơ khai bao gồm lệnh LOGIN, yêu cầu ngườidùng nhập vào mật khẩu Sau khi nhập lệnh PASSWORD, ngườidùng sẽ phải nhập tiếp mật khẩu của mình để được hệ thống xácnhận
Cũng trong thập niên 1960, công nghệ bảo mật bằng mật khẩu dầnđược hoàn thiện thành dạng password được sử dụng phổ biến nhất
cho đến ngày nay: alpha – numeric password, tức mật khẩu dưới
dạng một chuỗi các chữ cái và chữ số Bất kỳ chuỗi ký tự nào cũng
có thể trở thành mật khẩu, nhưng người dùng được khuyến cáo nênđặt mật khẩu của mình phức tạp đủ để không bị người khác đoán ra.Mật khẩu càng phức tạp, khó đoán thì độ bảo mật càng cao Tuynhiên, độ phức tạp của mật khẩu cũng tỉ lệ nghịch với việc ngườidùng có thể nhớ chúng một cách dễ dàng Ngoài việc khó có thể tựđặt ra một mật khẩu đủ khó để không bị người khác đoán ra nhưngcũng phải đủ dễ để chính bản thân người dùng có thể ghi nhớ, alpha
Trang 5– numberic password còn phải đối mặt với các cuộc tấn công chiếmpassword và các chương trình đánh cắp mật khẩu.
Dạng tấn công phổ biến nhất là tấn công tra cứu từ điển (dictionary
attack) Phương thức này hiểu đơn giản là kiểu đoán mật khẩu với
các cụm từ có nghĩa thường được nhiều người chọn dùng làm mậtkhẩu (thay vì các chuỗi ký tự ngẫu nhiên như được khuyến cáo), kẻtấn công sẽ dùng chương trình tự động thử tất cả các từ có nghĩatrong từ điển để bẻ khóa password
Ngoài ra còn có hàng trăm chương trình keylogger được sử dụng đểghi nhận quá trình nhập password của nạn nhân rồi tự động gửithông tin về cho kẻ có ý muốn đánh cắp password đó Hoặc kiểu tra
cứu từng ký tự trong mật khẩu (brute-force attack), chương trình
sẽ tự động dò tìm từng ký tự trong chuỗi mật khẩu Tuy dạng force attack có tỉ lệ phá mật khẩu cao nhưng nếu người dùng sửdụng các loại mật khẩu bao gồm nhiều ký tự chữ và số xen lẫn ký tựđặc biệt thì có thể phải mất nhiều năm mới có thể tìm ra chuỗi mậtkhẩu hoàn thiện (Ví dụ: n$W0k1J^57$h@k3R mật khẩu được cho
brute-là có tính bảo mật cao nhưng lại khó nhớ)
Trước sự đe dọa của các chương trình đánh cắp mật khẩu, việc phátminh ra nhiều dạng password mới thay thế cho kiểu truyền thống là
hết sức cần thiết, và mật khẩu hình ảnh cùng với mật khẩu một lần
là 2 trong số những số ấy
b Mật khẩu dạng hình ảnh (Graphical password)
Về cơ bản, con người có xu hướng ghi nhớ các thông tin dưới dạnghình ảnh dễ dàng hơn thông tin dưới các dạng khác Chúng ta có thểgặp khó khăn khi phải nhớ một chuỗi 50 ký tự, nhưng lại dễ dàngnhớ gương mặt của những người ta đã gặp, những nơi ta đã đến vànhững thứ ta đã thấy Dựa vào đặc điểm này, người ta đã tạo ra mật
khẩu hình ảnh (graphical password)
Trang 6 Để đăng nhập vào một website hay hệ thống được bảo mật bằnggraphical password, thay vì phải nhập một chuỗi ký tự như ở alpha–numberic password, người dùng sẽ được yêu cầu ấn chuột vào 4điểm trên bức ảnh mà hệ thống đưa ra 4 điểm này chính là mậtkhẩu mà họ đã xác định và ghi nhớ trong quá trình tạo mật khẩu Dĩnhiên người dùng cũng có thể chọn số lượng điểm bí mật nhiều hơn
4 để tăng độ bảo mật
Ở một hình thức khác, người dùng sẽ chọn và ghi nhớ 4 hoặc nhiềuhơn các biểu tượng trong quá trình tạo password và chọn lại chúngtrong hàng loạt biểu tượng được sắp xếp ngẫu nhiên và thay đổitrong quá trình đăng nhập
Trang 7Hình1: chọn password theo hình ảnh
Trường Đại học Malaya (Malaysia) còn cung cấp một thuật toánkhác: khi đăng ký tài khoản, người dùng sẽ tạo password bằng cáchchọn các biểu tượng do máy chủ cung cấp Khi đăng nhập, nhữngbiểu tượng này sẽ được thu nhỏ và xoay theo các chiều khác nhau,người dùng lúc này sẽ phải nhận ra biểu tượng mà mình đã chọn,sau đó nhập vào ô password những ký tự hiện bên dưới biểu tượng
đó Giải pháp này khá mất thời gian nên vẫn còn đang trong giaiđoạn thăm dò ý kiến người dùng
Hình 2: thuật toán của trường đại học Malaysia
Điểm mạnh của graphical password là dễ nhớ mà mức độ bảo mậtlại cao vì hacker không thể sự dụng cách tấn công từ điển để đánhcắp mật khẩu và các chương trình keylogger cũng trở nên vô dụng
vì các biểu tượng được xáo trộn ngẫu nhiên mỗi lần đăng nhập Tuynhiên bạn cũng có thể bị lộ password nếu người khác quan sát vàghi nhớ các biểu tượng cũng như điểm ảnh bạn chọn mỗi lần đăngnhập
Trang 8c Mật khẩu dùng một lần duy nhất (One time password - OTP)
Nguyên lý hoạt động của OTP như sau: sau khi đã đăng ký dịch vụ,mỗi lần muốn đăng nhập, người dùng sẽ được cung cấp một mậtkhẩu tạo ra bởi đầu đọc và thẻ thông minh hay thiết bị tạo mật khẩucầm tay (token) nhờ vào kết nối internet với máy chủ của dịch vụcung cấp OTP hoặc cũng có thể thông qua thẻ OTP in sẵn hhay điệnthoại di động mà không cần đến kết nối internet Mật khẩu này sẽ tựmất hiệu lực sau khi người dùng đăng xuất (log out) ra khỏi hệthống Như vậy, nếu bạn bị lộ mật khẩu thì người có được mật khẩu
đó cũng không thể dùng được, và do đó giải pháp OTP có tính bảomật rất cao
Quá trình tạo mật khẩu mới sẽ lặp lại mỗi lần người dùng đăng nhậpvào hệ thống được bảo mật bằng OTP Công nghệ OTP được dùngnhiều trong chứng thực trực tuyến (thương mại trực tuyến) Hiệnnay người dùng các thiết bị cầm tay như iPhone, Blackberry cũng cóthể tự cài đặt cơ chế bảo mật OTP bằng các chương trình nhưVeriSign, RSA SecureID hay SafeNet MobilePASS
Ngày càng có nhiều giải pháp mới giúp tăng cường tính bảo mật của password Nhưng dù với bất cứ giải pháp nào thì người dùng cũng nên tự bảo vệ mình bằng cách lựa chọn và ghi nhớ mật khẩu của mình thật hiệu quả, cũng như tăng cường các biện pháp phòng vệ trước sự đe dọa của hacker và các chương trình keylogger.
Trang 9Hình 3: công nghệ OTP trên mobile
2 Tìm hiểu công nghệ OTP
a Mục đích: làm cho việc truy cập bất hợp pháp đến những tài nguyên được
giới hạn trở nên khó khăn hơn, ví dụ như với một tài khoản máy Thôngthường, password cố định có thể được truy cập bởi người dùng bất hợppháp dễ dàng hơn trong trường hợp họ có đủ thời gian và số lần truy cập bằng việc thường xuyên thay đổi password, giống như cài chúng ta làmvới OTP, sự rủi ro này có thể giảm xuống đáng kể
Trang 10cách khởi đầu với một giá trị s, sau đó sản sinh ra các password vớigiá trị : f(s), f(f(s)), f(f(f(s))) rất nhiều lần tương đương với số lần
sử dụng Nếu như một người nào đó thấy được password sử dụngmột lần, họ chỉ có thể truy cập được một phiên duy nhất, nó sẽkhông thể lặp lại lần nữa khi phiên truy cập đó kết thúc Để có đượcpassword trong dãy từ password của lần truy cập trước đó, người đóphải tìm cách để tính ngược được hàm nghịch đảo (f-1), Vì hàm f làhàm một chiều nên điều này cực kỳ khó để thực hiện Nếu f là mộthàm mã hóa hash (cryptographic hash function) thì nó không thểnào tính toán được (như với trình độ hiện nay)
Kiểu thứ hai được dựa trên sự đồng bộ thời gian giữa nhà cung cấpdịch vụ (authentication server) và khách hàng (clien) được cung cấppassword: Password sử dụng một lần kiểu đồng bộ thời gian luôn cómối quan hệ mật thiết với một thiết bị phần cứng gọi là token (ví dụmột người được cung cấp thiết bị token cá nhân để tạo mộtpassword sử dụng một lần) Bên cạnh thiết bị này là 1 đồng hồchính xác được đồng bộ với đồng hồ của nhà cung cấp dịch vụ.Trong hệ thống OTP này, thời gian là một phần quan trọng của thuậttoán tạo ra password, từ đó việc tạo ra passworrd mới dựa trên thờigian hiện tại khác với việc dựa trên password trước đó hay là một từkhóa Điện thoại di động hoặc PDA cũng có thể được dùng để tạoOTP…
Kiểu thứ 3 cũng sử dụng một thuật toán nhưng pasword thì đượccăn cứ trên một trò chơi (challenge) Ví dụ, một số ngẫu nhiên đượcchọn bởi server xác thực hoặc transection detail và một bộ đếm thaycho password trước đó
II GIỚI THIỆU YUBIKEY
Như đã nói, Yubikey là thiết bị sử dụng công nghệ OTP
Trang 111 Yubikey là gì?
Nó là một hình chữ nhật nhỏ, về cơ bản là bao gồm một cổng usb vàmột nút bấm Nó giống như một usb flash nhỏ, kích thước 18x45x2 mm,nặng chừng 2 gram, dễ dàng móc vào dây khóa hay đựng trong ví
Hình 4: Yubikey rất nhỏ gọn
YubiKey là một phương thức đăng nhập an toàn vào nhiều websitesbằng cách sử dụng một thẻ USB bảo mật Nó không cần phần mềm đặcbiệt, và nó chỉ tạo ra một OTP (One Time Password) mỗi lần đăng nhập
2 Sử dụng Yubikey như thế nào?
Khi cắm yubikey vào cổng usb, nó tự coi mình là một keyboard, tức nó
là nền độc lập (platform-independent) miễn là thiết bị host hỗ trợ nhập dữliệu qua đặc tính kĩ thuật USB Human Interface Device (HID) Nó lấynăng lượng từ host Các kết nối bề mặt vàng khá mạnh mẽ và bền Theomột đại diện yubico, yubikey vẫn sử dụng được dù bị ngâm trong mộtchu kì máy giặt
Mỗi lần nhấn nút trên thiết bị, nó lại tạo ra một khẩu mới và gửi mậtkhẩu đó đến host Mật khẩu này có thể được sử dụng bởi dịch vụ để xácnhận bạn là một người sử dụng
Trang 12Hình 5: kết nối vào máy thông qua cổng usb Hình 6: bề mặt khá bền
YubiKeys làm việc như sau: Các thiết bị tự xác nhận như là một bàn phímUSB để nó làm việc với hệ điều hành bất kì Khi nút YubiKey được nhấpvào, nó hiển thị ra một chuỗi OTP OTP là một chuỗi mã hóa ModHex,chuỗi bao gồm một ID duy nhất và một chuỗi mã hóa AES-128 Các chuỗiđược mã hóa chứa: Một ID tĩnh bí mật, số lần yubikey được cắm vào mộtcổng USB Một mốc thời gian (dựa trên một đồng hồ 8Hz bắt đầu từ khithiết bị được nạp) Số lượng OTP được tạo ra từ khi thiết bị được nạp 2byte số giả ngẫu nhiên Và một tổng kiểm tra CRC Chuỗi ModHex đượcgửi đến các máy chủ xác thực YubiKey nơi nó được giải mã và kiểm trathấy OTP là hợp lệ
3 Yubikey hoạt động như thế nào?
RoundCube là một ứng dụng web chuyên quản lý email hoạt động dựa trênAJAX Chúng ta sử dụng nó thông qua trình duyệt web của mình giống
Trang 13như khi sử dụng gmail RoundCube là mã nguồn mở và dựa trên PHP, do
đó nên nó dễ dàng để thêm Yubikey authentication
Thông thường, RoundCube yêu cầu chúng ta nhập địa chỉ email vàpassword để đăng nhập Tuy nhiên, bây giờ màn hình đăng nhập có thêmtrường Yubikey OTP (one-time password) Việc cần làm là nhập email vàpassword vào, khi vị trí con trỏ ở trong trường yubikey, bấm ngón tay vàonút trên yubikey Sau một lát, trong trường yubikey sẽ xuất hiện chuỗi 44
kí tự, và theo sau là kí tự xuống dòng (kí tự này thông báo kết thúc chuỗi
và bắt đầu gửi để xác nhận) Giả sử là Yubikey đã kết nối với tài khoản củachúng ta, chúng ta sẽ được đăng nhập
Hình 7: màn hình đăng nhập RoundCube
Tuy nhiên, không nên chỉ dùng yubikey là phương pháp xác nhận duy nhất.Bởi vì chỉ cần người nào đó có được Yubikey của bạn và biết được thôngtin đăng nhập tương ứng sẽ có thể truy cập tài khoản Yubikey Hiểu theocách khác, Yubikey được sử dụng như một thuộc tính cho một chươngtrình xác nhận có nhiều thuộc tính để tăng cường an ninh VD: ai đó có thểthu thập các mật khẩu của bạn bằng cách kiểm tra các gói TCP nhưng mậtkhẩu Yubikey họ bắt được sẽ không có tác dụng nữa vì nó chỉ được sửdụng một lần
Trang 14Chuỗi gồm 22 bytes trong đó 16bytes token và 6bytes ID public.
Trong chuỗi 16bytes, các bytes được phân bổ như sau:
- 6 bytes đầu giữ ID bí mật duy nhất của yubikey, nó được ấn địnhkhi lập trình Yubikey Từ các Yubikey thì không thể tra ra được
nó 6 bytes dịch thành 2(6*8) = 281,474,976,710,656 kết hợp (duynhất) của các bit Đó là số IDs mà Yubico có thể phát hành
- 2 bytes tiếp theo lưu trữ một bộ đếm các phiên truy cập Giá trịkhởi đầu của counter là 0 và nó được tăng lên sau mỗi lần cắm vào
2 bytes này cho phép 2(2*8) = 65536 phiên
- 3 bytes tiếp theo được sử dụng làm mốc thời gian (time stamp),được lưu trữ trong bộ nhớ ổn định ở mỗi lượt Mỗi lần cắm thiết bị,thời gian bắt đầu ở 0 và tiếp tục tăng lên Vì nó tăng bằng đồng hồ8Hz nội nên các giá trị đếm sẽ hết sau khoảng 24 ngày Lúc đó cầnrút Yubikey và cắm nó trở lại
- Byte 12 là bộ đếm phiên bắt đầu tại 0 và tăng lên mỗi lần mộttoken được tạo ra Khi nó đạt tới giá trị tối đa là 255, nó trở về 0
- Byte 13, 14 là các số giả ngẫu nhiên được tạo bởi bộ dao độngchạy tự do Những byte này được dùng để thêm chỉ số entropy chovăn bản thuần túy
Trang 15- 2 bytes cuối chứa giá trị checksum sử dụng thuật toán CRC-16 trêntất cả giá trị của token Ban đầu 2 bytes này được thiết lập tại 0.Checksum này nhằm kiểm tra tính toàn vẹn dữ liệu
Ngoài 16byte được mã hóa như trên có thêm 6byte ID public ID public nàyhoàn toàn khác ID bí mật sử dụng để xây dựng chuỗi 16byte 6byte ID pulickhông thay đổi và được sử dụng để kết hợp một thẻ Yubikey với một tàikhoản Cuối cùng, toàn bộ 22byte (16byte được mã hóa với 6byte ID) sẽđược mã hóa bằng cách sử dụng thuật toán ModHex
Yubico chọn ModHex vì nó giới hạn số kí tự phổ biến với các loại bànphím bố trí khác nhau Bởi vì Yubikey đóng vai trò như một bàn phím, nó
cố gắng sử dụng các kí tự làm việc với các thiết lập bàn phím khác nhau
mà nó gặp ModHex mã hóa có phần không hiệu quả ở chổ nó yêu cầu 2 kí
tự cho mỗi byte nó mã hóa, đó là lí do vì sao chuỗi 22byte thành chuỗi 44
kí tự Tuy nhiên vì không cần đánh chữ cho Yubikey nên không có gì bấttiện cho người dùng)
Trang 16Hình 8: cấu trúc Yubikey Token
III LÀM THẾ NÀO THÊM OTP VÀO HỆ THỐNG RIÊNG CỦA
MÌNH?
Chúng ta hãy xem xét kỹ hơn các bước mã hóa tạo ra các token Ngược lại vớithuật toán bất đối xứng được sử dụng trong chương trình mã hoá khoá công khai(chẳng hạn như PGP, AES) là một thuật toán đối xứng Điều này có nghĩa cả haibên mã hóa các token và các bên giải mã và xác thực nó sẽ cần truy cập vàoAES-128 key Điều này đã được lập trình trước cho thiết bị Tương tự như IDduy nhất của thiết bị, các AES-128 key duy nhất được tạo ra và lưu trữ trên thiết
bị của Yubico trước khi nó được đưa ra thị trường Yubico duy trì một cơ sở dữliệu, nơi ID public cũng như ID bí mật tương ứng với các AES key Bằng cáchnày, Yubico có thể cung cấp một dịch vụ chứng thực Web
Sử dụng một thuật toán đối xứng có lợi thế là nó rất nhanh Ngoài ra, bạn khôngcần dựa vào các bên thứ ba để quản lý key hoặc để bảo đảm identities
Nếu bạn muốn chịu trách nhiệm về AES key của bạn, bạn có hai lựa chọn Trướctiên, bạn có thể yêu cầu AES key của bạn từ Yubico Lúc này, Yubico sẽ gửi chobạn một đĩa CD có chứa AES key, yubico cũng có một giải pháp thuận tiện hơn
đó là cho phép nhận key online Thứ hai, bạn có thể sử dụng development kit củaYubico để lập trình cho key của chính mình Bằng cách này, bạn có thể gán AES-
128 key, cũng như ID public và ID bí mật, theo quy ước đặt tên của riêng bạn.Nếu bạn bổ sung phương pháp này bằng cách chạy dịch vụ xác thực Web của
Trang 17riêng bạn, bạn loại bỏ bất kỳ sự phụ thuộc vào Yubico như là một bên thứ batrong thủ tục xác thực của bạn.
Quá trình xác thực một OTP ngược lại các bước cần thiết để xây dựng một OTP.Trước tiên, bạn giải mã chuỗi ModHex Tiếp theo, bạn chia chuỗi thành IDpublic và 16byte token Sau đó, bạn sử dụng ID public để tìm AES key tươngứng Sau khi sử dụng AES key để giải mã, bạn có 16byte token gốc Tiếp theo,bạn sẽ xác nhận tổng kiểm tra CRC-16 (hai byte cuối) Sau đó, bạn sẽ so sánh ID
bí mật với ID bạn lấy từ cơ sở dữ liệu bằng cách sử dụng ID public Sử dụngsession counter và session token counter, hãy chắc chắn rằng token hiện tại đượctạo ra sau lần xác thực token thành công cuối cùng Mặc dù bạn không biết chínhxác khi nào hai token bất kì được tạo ra, bạn luôn có thể biết thứ tự mà chúngđược tạo ra Nếu token đi qua tất cả các bước kiểm tra này, bạn có thể gửi một tínhiệu xác thực thành công cho client Nếu không, token bị từ chối
Tùy chọn, bạn có thể làm thuật toán xác thực mạnh hơn Ví dụ, bạn có thể thửtính toán có bao nhiêu sessions hoặc tokens đã được bỏ qua kể từ lần xác thựcthành công cuối cùng và xem xét thông tin đó trong các quyết định của bạn đểxác nhận hoặc từ chối các token Bạn có thể sử dụng session timestamp một cáchtương tự
Yubico cung cấp tất cả các phần mềm ở dạng mã nguồn mở Yubico cung cấp cácthư viện client cần thiết cho việc thực hiện chứng thực Yubikey trong các ứngdụng và nền tảng khác nhau Hiện nay, có thư viện client có sẵn trong Java, C, C
# / NET, PAM, PHP, Ruby, Perl và Python…
Khi bạn đặt mua một Yubikey, nó đi kèm theo những thuận lợi của dịch vụchứng thực Web của Yubico Vì Yubico duy trì cơ sở dữ liệu của tất cả các APIkey, cũng như ID public và ID bí mật mà các Yubikey đã được lập trình trước khi