Tiếng Việt

Công cụ dành cho nhà phát triển · Bộ giải mã JWT

Tại sao Bộ giải mã JWT Không cần Máy chủ: Xác minh bằng Bảng điều khiển mạng

· Cách thức hoạt động

jwt quyền riêng tư browser-processing

Trình duyệt giải mã JWT phân đoạn không có mũi tên tải lên
Hình minh họa vector ToolAcre gốc

Việc tách một chuỗi và giải mã base64url là công việc tầm thường đối với trình duyệt, vì vậy không có lý do kỹ thuật nào để bộ giải mã gửi mã thông báo của bạn đến bất kỳ đâu. Bài đăng này cho thấy cách xác nhận rằng một công cụ sẽ giữ nó cục bộ.

Mã thông báo của tôi sẽ đi đâu khi tôi nhấn giải mã? — câu hỏi đặt ra cho mọi công cụ trực tuyến

Trước khi sử dụng bất kỳ bộ giải mã trực tuyến nào, hãy hỏi xem chuỗi nào nhận được sau khi nhấn nút. JWT có thể là thông tin xác thực mang tính trực tiếp nên việc tải lên có thể tiết lộ nhiều thông tin hơn những xác nhận quyền sở hữu có thể đọc được. Một trang không nên nhận mã thông báo sản xuất chỉ vì giao diện của nó trông giống như một trình định dạng văn bản.

Cảnh báo của chính ToolAcre nghiêm ngặt hơn lời hứa tiếp thị: không dán mã thông báo sản xuất vào bất kỳ công cụ web nào, kể cả công cụ này. Sử dụng một ví dụ đã hết hạn, được luân chuyển hoặc tổng hợp. Việc triển khai chạy cục bộ nhưng các tiện ích mở rộng của trình duyệt, các tập lệnh xung quanh và thiết bị vẫn là một phần của môi trường mà bạn phải tin cậy.

Công việc liên quan - tách chuỗi, giải mã base64url và phân tích cú pháp JSON, tất cả các khả năng tiêu chuẩn của trình duyệt

Việc giải mã thực tế bao gồm các thao tác chuỗi và nguyên hàm của trình duyệt. Mã này cắt bớt tiền tố Bearer tùy chọn, phân tách trên các dấu chấm, chuẩn hóa bảng chữ cái base64url, khôi phục phần đệm, gọi `atob`, chuyển đổi byte thông qua Trình giải mã văn bản UTF-8 nghiêm ngặt và phân tích hai kết quả đầu tiên dưới dạng đối tượng JSON.

Không có bước nào trong số đó yêu cầu dịch vụ từ xa. Các hàng NumericDate sử dụng cách triển khai Ngày cục bộ, các hàng yêu cầu được tập hợp từ đối tượng được phân tích cú pháp và đầu ra được gán dưới dạng văn bản. Nguồn không nhập thư viện xác minh và không yêu cầu khóa bí mật hoặc khóa chung vì kiểm tra là hoạt động duy nhất được cung cấp.

Cách kiểm tra - mở bảng mạng, dán mã thông báo, giải mã và xem yêu cầu

Mở công cụ dành cho nhà phát triển trước khi nhập dữ liệu thử nghiệm vô hại, xóa danh sách Mạng, thực hiện giải mã, sau đó kiểm tra các yêu cầu mới. Tìm kiếm URL, phương thức và nội dung yêu cầu cho mã thông báo hoặc chuỗi con đặc biệt. Một yêu cầu xảy ra cùng lúc không tự động được tải lên; chứng minh xem các byte thông tin xác thực có hiện diện hay không.

Giữ bài kiểm tra được kiểm soát. Tải trang trước để yêu cầu nội dung được giải quyết, sử dụng điểm đánh dấu tổng hợp duy nhất trong tải trọng và tránh thông tin xác thực thực. Nếu điểm đánh dấu xuất hiện trong nội dung yêu cầu, URL hoặc tiêu đề, thì giá trị sẽ rời khỏi đường dẫn giải mã cục bộ. Nếu không, quan sát chỉ hỗ trợ phiên đó.

Chính sách bảo mật nội dung nghiêm ngặt sẽ thu hẹp các điểm đến; trang này vẫn tải các tập lệnh được tiết lộ

Trang được tạo bao gồm Chính sách bảo mật nội dung có `connect-src` cho phép đích đến là chính nó, blob và dữ liệu thay vì các API từ xa tùy ý. Điều đó hạn chế một cách có ý nghĩa các kết nối do tập lệnh bắt đầu thông thường, nhưng nó không biện minh cho tuyên bố của phác thảo về việc “không có tập lệnh, thẻ hoặc phân tích của bên thứ ba”. Sản phẩm rộng hơn có thể tải các tập lệnh Google được tiết lộ.

CSP là biện pháp bảo vệ chuyên sâu, không phải là bằng chứng cho thấy mọi thành phần thực thi đều xứng đáng có thông tin xác thực. Nó có thể giới hạn đích đến trong khi điểm cuối của bên thứ nhất vẫn được phép và tiện ích mở rộng hoạt động theo các đặc quyền khác nhau. Đọc chính sách cùng với bằng chứng và nguồn Mạng; đừng thu gọn những quan sát riêng biệt đó thành “không gì có thể đọc được trường này”.

Bộ giải mã không lưu trữ mã thông báo, nhưng việc kiểm tra tải lại không thể chứng minh mọi thành phần xung quanh đều vô hại

Bảng JWT giữ mã thông báo của nó trong giá trị trình chỉnh sửa và không gọi localStorage hoặc sessionStorage. Việc xóa bảng sẽ xóa các giá trị hiện tại của nó và việc tải lại không chứa tính năng khôi phục mã thông báo. Thực tế nguồn hẹp hơn đó hỗ trợ cho một tuyên bố không nhất quán về chính ban hội thẩm.

Trình chỉnh sửa trống sau khi tải lại là bằng chứng hữu ích nhưng không phải là kiểm tra lưu trữ chung. Lịch sử trình duyệt, trình quản lý clipboard, tiện ích mở rộng, ảnh chụp màn hình và tiện ích hệ điều hành nằm ngoài mô-đun này. Do đó, việc kiểm tra mạng và lưu trữ phải được mô tả là các quan sát có thể lặp lại chứ không phải là sự đảm bảo về mọi lớp trên thiết bị.

Ví dụ đã hoạt động: phân biệt lưu lượng truy cập trang thông thường với yêu cầu mang dữ liệu mã thông báo

Để kiểm tra thành công, hãy tải bộ giải mã JWT của ToolAcre, đợi hoạt động trang ban đầu kết thúc và xóa danh sách yêu cầu. Dán mẫu đã hết hạn tích hợp hoặc một mã thông báo không nhạy cảm khác, nhấn Giải mã và lọc để tìm từ tải trọng duy nhất. Các hàng tiêu đề, tải trọng, thuật toán và thời gian sẽ xuất hiện mà không có yêu cầu mang điểm đánh dấu đó.

Đừng gọi bảng điều khiển là “trống” nếu các yêu cầu phân tích, kết nối trang web hoặc nội dung hiển thị. Ghi lại chính xác những gì đã xảy ra: lưu lượng truy cập trang thông thường có thể tồn tại, trong khi không có yêu cầu nào được kiểm tra bao gồm mã thông báo tổng hợp. Sự khác biệt đó là bằng chứng mạnh mẽ hơn việc che giấu các hàng không liên quan để khiến cho yêu cầu về quyền riêng tư trông có vẻ tuyệt đối.

Điều này không bao gồm - tiện ích mở rộng trình duyệt và trình quản lý khay nhớ tạm, nằm ngoài tầm kiểm soát của trang

Quy trình này không thể kiểm tra tiện ích mở rộng trình duyệt độc hại, lịch sử khay nhớ tạm hoặc hệ điều hành bị xâm nhập. Nó cũng không thể chứng minh mã sẽ làm gì sau khi triển khai trong tương lai. Lặp lại nó với phiên bản và môi trường bạn định sử dụng và ưu tiên tập lệnh cục bộ mà bạn kiểm soát khi không thể tránh khỏi tài liệu thông tin xác thực thực.

Bảng điều khiển Mạng cũng không chuyển đổi các xác nhận quyền sở hữu đã được giải mã thành thông tin thực tế đã được xác minh. Ngay cả khi mã thông báo vẫn ở trong tab, ToolAcre vẫn không xác thực mã thông báo đó. Xử lý cục bộ làm giảm một lộ trình tiết lộ; nó không thiết lập tính toàn vẹn của chữ ký, danh tính nhà phát hành, sự phù hợp hoặc ủy quyền của đối tượng.

Mã ToolAcre cục bộ thực hiện giải mã nhưng mã thông báo trực tiếp vẫn không thuộc về trang web

ToolAcre thực hiện phân tách, chuyển đổi byte và phân tích cú pháp JSON trong mã trình duyệt và nguồn dành riêng cho công cụ của nó không chứa thao tác tải lên hoặc lưu giữ lâu dài. Bạn có thể kiểm tra hành vi đó bằng cách sử dụng dữ liệu tổng hợp và công cụ dành cho nhà phát triển thay vì chấp nhận huy hiệu hoặc khẩu hiệu về quyền riêng tư theo mệnh giá.

Bài học rút ra chính xác vẫn là thận trọng: xác minh đường dẫn cục bộ nhưng giữ mã thông báo truy cập trực tiếp ra khỏi các trang web. Công cụ phía máy khách chỉ giải mã có thể thích hợp cho việc chẩn đoán dùng một lần; nó không phải là kho thông tin xác thực, trình xác minh hoặc dịch vụ ủy quyền.