Công cụ dành cho nhà phát triển · Bộ giải mã JWT
Tại sao mã thông báo truy cập tồn tại trong thời gian ngắn lại quan trọng: JWT không thể bị thu hồi sau khi được phát hành
· Tại sao nó quan trọng
jwt xác thực bảo vệ
Mã thông báo độc lập có hiệu lực cho đến khi hết hạn, bất kể điều gì xảy ra ở giữa. Bài đăng này giải thích vấn đề thu hồi, các biện pháp giảm nhẹ có sẵn và tại sao exp là yêu cầu quan trọng nhất mà bạn đặt ra.
Đăng xuất mà không đăng xuất - mã thông báo tiếp tục hoạt động sau khi phiên kết thúc
Việc đăng xuất có thể xóa bản sao cục bộ của trình duyệt trong khi mã thông báo độc lập đã phát hành trước đó vẫn được chấp nhận đối với người xác minh chỉ kiểm tra chữ ký và xác nhận quyền sở hữu. Trải nghiệm người dùng cho biết "đã đăng xuất" nhưng một chủ sở hữu khác có thể giữ lại thông tin xác thực nhỏ gọn tương tự cho đến khi ranh giới chính sách dừng việc đó.
Đây không phải là điều mà bộ giải mã có thể giải quyết được. ToolAcre có thể hiển thị giá trị `exp` và gọi nó là đã hết hạn theo đồng hồ trình duyệt, tuy nhiên nó không có kết nối lưu trữ phiên, danh sách từ chối hoặc nhà phát hành. Hành vi thu hồi thuộc về kiến trúc phát hành và sử dụng thông tin xác thực.
Xác minh không quốc tịch và giá của nó - không có danh sách trung tâm có nghĩa là không có công tắc tiêu diệt trung tâm
Xác minh không trạng thái cho phép máy chủ tài nguyên đánh giá tài liệu mật mã và các xác nhận quyền sở hữu mà không cần truy vấn bản ghi phiên trung tâm cho mọi yêu cầu. Việc xóa việc tra cứu đó cũng sẽ xóa chuyển đổi tự nhiên mỗi phiên trừ khi một cơ chế trạng thái khác được thêm vào. Giao dịch mang tính kiến trúc chứ không phải tài sản chỉ hiển thị trong JSON.
Mã thông báo có thể chứa `jti` nhưng số nhận dạng không có tác dụng thu hồi cho đến khi người xác minh tham khảo ý kiến của một cửa hàng hoặc quy tắc đáng tin cậy. Tương tự, chữ ký có thể vẫn hợp lệ về mặt toán học sau khi tài khoản bị vô hiệu hóa. Việc chấp nhận ứng dụng yêu cầu chính sách hiện hành, không chỉ bằng chứng rằng một số byte lịch sử đã được ký chính.
Thiết kế hết hạn và làm mới có thể ràng buộc mức hiển thị, nhưng kho lưu trữ này không xác định thời gian tồn tại tiêu chuẩn
Các hệ thống thường kết hợp thông tin xác thực truy cập bị giới hạn với cơ chế làm mới riêng biệt, nhưng kho lưu trữ này không xác định thời gian tồn tại chung hoặc tuyên bố rằng một khoảng thời gian là hợp lý. Rủi ro, trải nghiệm người dùng, khả năng phát hiện và các hạn chế về cơ sở hạ tầng khác nhau, vì vậy bài viết này không đưa ra hướng dẫn về vòng đời của mã thông báo.
Nguyên tắc hẹp hơn: ranh giới hết hạn có thể giới hạn thời gian hữu dụng của mã thông báo truy cập bị đánh cắp nếu người xác minh thực thi `exp` đã được xác thực. Sau đó, quá trình làm mới có thể tham khảo thêm trạng thái trước khi cấp thông tin xác thực khác. ToolAcre chỉ hiển thị các xác nhận quyền sở hữu; nó không thực hiện việc thực thi cũng như không làm mới.
Người từ chối bởi jti — giới thiệu lại trạng thái cho các trường hợp cần thu hồi ngay lập tức
Danh sách từ chối được khóa bởi `jti` có thể giới thiệu lại điểm quyết định ngay lập tức cho các mã thông báo đã chọn. Điều đó đòi hỏi một mã định danh duy nhất, đường dẫn chèn đáng tin cậy, tính khả dụng của bộ nhớ và chính sách tra cứu người xác minh. Chỉ giải mã `jti` không thể hiện tính duy nhất hoặc chứng minh rằng cửa hàng có chứa nó.
Trạng thái tương tự có thể hỗ trợ việc vô hiệu hóa trên toàn tài khoản hoặc theo từng phiên cụ thể tùy thuộc vào thiết kế. Nó cũng khôi phục các phần phụ thuộc hoạt động mà việc xác minh không trạng thái đã tránh được. Đánh giá lỗi bộ đệm, khả năng lưu giữ và truyền bá một cách rõ ràng thay vì hiển thị danh sách từ chối dưới dạng chuyển đổi miễn phí.
Xem xét nội tâm và xoay vòng chìa khóa - hỏi nhà phát hành hoặc vô hiệu hóa mọi thứ cùng một lúc
Việc xem xét nội tâm yêu cầu cơ quan có thẩm quyền về trạng thái mã thông báo hiện tại, biến việc chấp nhận thành quyết định trực tuyến. Xoay khóa có thể ngừng xác minh đối với các khóa đã bị xóa nhưng nó có thể làm mất hiệu lực nhiều mã thông báo cùng một lúc và không phải là sự thay thế chính xác cho việc thu hồi phiên. Các cơ chế này giải quyết các vấn đề vận hành khác nhau.
ToolAcre không biết trạng thái hiện tại của họ. Nhà phát hành được giải mã, mã định danh chính hoặc thời hạn sử dụng có thể giúp xác định các hồ sơ liên quan, nhưng hội đồng không bao giờ liên hệ với nhà phát hành và không bao giờ xác minh chữ ký. Sử dụng dịch vụ đo từ xa có thẩm quyền để tìm hiểu xem mã thông báo đang hoạt động, bị thu hồi hay bị từ chối.
Ví dụ hoạt động: tính khoảng thời gian đã khai báo mà không đánh giá liệu nó có hợp lý hay không
Đối với ví dụ được kiểm soát, hãy trừ số `iat` khỏi `exp` để tính khoảng thời gian mà tải trọng yêu cầu. Nếu `iat` là 1,717,243,200 và `exp` là 1,717,246,800 thì chênh lệch là 3,600 giây. ToolAcre cũng hiển thị từng giá trị dưới dạng ISO ngay lập tức.
Số học không đánh giá khoảng thời gian. Nó không thể chứng minh được khiếu nại nào được đưa ra bởi bên được mong đợi và kho không cung cấp thời gian tồn tại được khuyến nghị. Chỉ so sánh các giá trị đã xác thực với chính sách được ghi lại của bạn sau khi xác minh, sau đó kiểm tra xem trạng thái đăng xuất và thu hồi ảnh hưởng như thế nào đến các yêu cầu thực.
Điều này không bao gồm - làm mới việc lưu trữ và luân chuyển mã thông báo, đây là vấn đề thiết kế của riêng họ
Lưu trữ mã thông báo làm mới, phát hiện xoay và phát lại là các chủ đề thiết kế riêng biệt. Mã thông báo làm mới có thể mờ, có thể có cách xử lý khác và không được gửi tới tài nguyên API chỉ vì mã thông báo truy cập bị từ chối. Bộ giải mã này được định hình cụ thể xung quanh đầu vào giống ba phần JWS.
Không dán thông tin xác thực làm mới vào đó. Nếu mã thông báo làm mới mờ đục thì có thể không có gì hữu ích để giải mã; nếu nó được cấu trúc, việc tiết lộ vẫn tạo ra rủi ro về thông tin xác thực. Chẩn đoán các luồng phát hành bằng cách sử dụng nhật ký và công cụ đáng tin cậy của nhà cung cấp.
Hết hạn là một đòn bẩy giữa xác minh, trạng thái thu hồi và thiết kế thông tin xác thực
Hết hạn là hữu ích, nhưng không phải là chiến lược thu hồi hoàn toàn và không phải là phán quyết của bộ giải mã. Hệ thống tiêu thụ phải xác thực mã thông báo, thực thi chính sách về thời gian và đối tượng cũng như tham khảo bất kỳ trạng thái thu hồi nào mà kiến trúc của nó yêu cầu. Mỗi cơ chế đều có tính sẵn có và hậu quả hoạt động.
Chỉ sử dụng ToolAcre để quan sát các giá trị trong mã thông báo an toàn. Nó có thể trả lời “tải trọng này yêu cầu khoảng thời gian nào?” Nó không thể trả lời “yêu cầu này có nên được chấp nhận ngay bây giờ không?” hoặc "phiên này có bị thu hồi không?" Những câu hỏi đó thuộc về các dịch vụ đáng tin cậy.