TOTP trên cùng một laptop có thật sự là yếu tố thứ hai?
Trình tạo mã trên laptop VPN là yếu tố sở hữu nằm trong cùng ranh giới bị xâm phạm. Hãy theo dõi hạt giống và phiên trước.
Đăng nhập vào một ứng dụng VPN yêu cầu mật khẩu rồi đến mã sáu chữ số, và hai lời nhắc trông như hai rào cản độc lập. Tính theo loại yếu tố thì đúng là như vậy: mật khẩu là điều bạn biết, mã là điều bạn sở hữu. Tính theo những gì một laptop bị xâm phạm để lộ ra, chúng có thể sụp thành một ranh giới duy nhất, vì thứ bạn sở hữu là một tệp trên chính chiếc máy bạn đang gõ. Khoảng cách giữa hai cách đếm đó là chủ đề của bài phân tích này.
Theo dõi một lần đăng nhập từ ô mật khẩu đến ô mã
Hãy xem trình tự, không phải nhãn. Ứng dụng khách gửi mật khẩu, máy chủ trả lời rằng cần bằng chứng thứ hai, và ứng dụng khách mở một ô cho sáu hoặc tám chữ số. Phía sau ô đó là một ứng dụng tạo mã giữ một bí mật chia sẻ và một chiếc đồng hồ. Nó tính một giá trị từ bí mật và bước thời gian hiện tại, và máy chủ tính lại đúng giá trị đó từ bản sao bí mật của mình.
Cả hai phía đều giữ cùng một chất liệu khóa. Chính sự đối xứng đó là phần mọi người bỏ qua khi mô tả mã như một bí mật: nhà cung cấp cũng có thể tạo mã của bạn, vì vậy hạt giống có giá trị hơn mọi kết quả đơn lẻ. Một mã bị lộ là giá trị dùng một lần; hạt giống đã tạo ra nó là thông tin đăng nhập vĩnh viễn, tiếp tục tạo ra các giá trị hợp lệ cho đến khi bị thay thế.
Kích hoạt là nửa còn lại của luồng. Một trình tạo mở khóa bằng mã thiết bị, yêu cầu sinh trắc học hoặc vùng chứa mã hóa sẽ trình bày bằng chứng sở hữu cùng một thứ khác. Trình tạo chạy không mã hóa và mở khóa bằng phiên của hệ điều hành chỉ trình bày tệp. Cùng một ứng dụng có thể cung cấp cả hai cách sắp xếp tùy theo cách đăng ký đã thực hiện, nên quyết định triển khai nằm ở bước đó, không phải ở trang tiếp thị của ứng dụng.
Quyết định xem mã thực sự chứng minh điều gì
Ngôn ngữ của các tiêu chuẩn ở đây rõ ràng một cách bất thường, và đáng đọc trực tiếp. Hướng dẫn của NIST về trình xác thực liệt kê các trình tạo OTP dựa trên phần mềm như những trình xác thực, phân biệt OTP một yếu tố với OTP đa yếu tố có yếu tố kích hoạt, và nêu rằng xác thực OTP không chống được lừa đảo trực tuyến. Mỗi một trong ba điều khoản đó thay đổi điều bạn có thể khẳng định về lời nhắc.
Không chống được lừa đảo trực tuyến là cạnh sắc nhất. Một mã gõ vào ô này có thể bị gõ vào ô của người khác, trong thời gian thực, bởi một người đã bị thuyết phục làm việc đó. Khoảng thời gian ngắn, điều này làm giảm số lần thử hữu ích nhưng không đóng lại kỹ thuật. Nếu yêu cầu của bạn bao gồm việc chống lại điều đó, OTP là nguyên thủy sai, bất kể trình tạo chạy ở đâu.
Một yếu tố so với đa yếu tố là khác biệt thứ hai. Một mã xuất hiện mà không có bước kích hoạt chỉ chứng minh việc sở hữu một tệp và không gì khác, và tệp chỉ mạnh bằng tài khoản có thể đọc nó. Thêm một yếu tố kích hoạt thì khẳng định được cải thiện, dù nó vẫn mô tả bằng chứng được trình bày lúc đăng nhập, không phải sự cô lập của chiếc máy tạo ra nó.
Xem một laptop bị xâm phạm có thể với tới đâu
Kẻ tấn công có khả năng thực thi mã trên máy trạm không bị giới hạn ở việc đọc ô bạn đang gõ. Phiên được thiết lập sau khi đăng nhập thành công thường là một token hoặc cookie, và token có thể dùng từ máy khác mà không cần mã nào cả. Nếu đó là năng lực bạn đang phòng thủ, việc thêm lời nhắc thứ hai lúc đăng nhập thay đổi số bước của cuộc tấn công, không phải kết quả.
| Arrangement | What it adds at login | What it leaves inside the laptop boundary |
|---|---|---|
| Password plus TOTP app on the same machine | A possession proof the password alone does not supply | The seed, the unlock step and the authenticated session |
| TOTP app on a separate phone | Seed storage outside the workstation | Session cookies, the typed password and any prompt that can be proxied |
| Hardware key with a signed challenge | A per-login signature bound to the origin | Whatever the browser and the workstation are already trusted to do |
Hãy đọc cột thứ ba như cột trung thực. Mọi cách sắp xếp ở trên đều để lại thứ gì đó bên trong ranh giới tin cậy của máy trạm, vì phiên được dùng ở đó. Điều thay đổi là bí mật dài hạn có đi cùng ranh giới đó hay ở ngoài nó, và bằng chứng có bị ràng buộc với một nguồn gốc cụ thể để một trang giả không thể chuyển tiếp nó.
Hai chi tiết nhỏ hơn thuộc cùng bức tranh. Một mã vẫn hợp lệ trong cửa sổ chấp nhận của nó, thường là ba mươi giây cộng với dung sai cho việc lệch đồng hồ, nên một giá trị bị bắt có thể được phát lại trong cửa sổ đó trừ khi trình xác minh từ chối dùng lại. Và việc cài trình tạo mới không chấm dứt các phiên đã được xác thực, nên một phiên cũ sống lâu hơn thay đổi thông tin đăng nhập lẽ ra phải khống chế sự cố.
Chỉ chuyển trình tạo đến nơi việc tách biệt giúp ích
Đặt trình tạo mã trên điện thoại là một cải thiện thực sự cho một lỗi cụ thể: một laptop bị đánh cắp không còn mang cả hai bằng chứng. Nhưng nó không làm gì cho việc chiếm đoạt phiên trên laptop, không làm gì cho người dùng gõ mã vào trang lừa đảo, và không làm gì cho các mã khôi phục từng được in một lần rồi chụp ảnh vào ứng dụng ghi chú.
Vì vậy hãy viết yêu cầu trước khi chọn công cụ. Nếu mục tiêu là bằng chứng bổ sung chống lại mật khẩu bị lộ, hãy nói thẳng điều đó, và ứng dụng trên cùng thiết bị đã cung cấp nó. Nếu mục tiêu là khả năng chịu đựng khi máy trạm VPN bị xâm phạm, hãy gọi tên năng lực của kẻ tấn công đó và chọn cách sắp xếp đã được đánh giá cho nó, với yêu cầu chống lừa đảo được nêu riêng thay vì giả định.
Sau đó xử lý nửa vận hành, phần quyết định liệu có gì trong số này sống sót khi tiếp xúc với sự cố. Mất thiết bị cần một đường thay thế được ghi lại, việc luân chuyển thông tin đăng nhập cần thu hồi các phiên đang hoạt động, và tài liệu đăng ký cần sự bảo vệ như hạt giống, vì một bản sao đăng ký không được bảo vệ trao cho kẻ tấn công đúng những mã trong tương lai bằng một đường ngắn hơn. Liệt kê bốn mục đó hữu ích hơn việc tranh luận xem token trên cùng thiết bị là tốt hay vô giá trị.