ไทย

เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ · ตัวถอดรหัส JWT

เหตุใดตัวถอดรหัส JWT จึงไม่จำเป็นต้องมีเซิร์ฟเวอร์: การตรวจสอบกับแผงเครือข่าย

· มันทำงานอย่างไร

jwt ความเป็นส่วนตัว การประมวลผลเบราว์เซอร์

เบราว์เซอร์ถอดรหัสส่วน JWT โดยไม่มีลูกศรอัปโหลด
ภาพประกอบเวกเตอร์ต้นฉบับ ToolAcre

การแยกสตริงและถอดรหัส base64url เป็นเรื่องเล็กน้อยสำหรับเบราว์เซอร์ ดังนั้นจึงไม่มีเหตุผลทางเทคนิคที่ตัวถอดรหัสจะส่งโทเค็นของคุณไปที่ใดก็ได้ โพสต์นี้แสดงวิธีการยืนยันว่าเครื่องมือเก็บเครื่องมือไว้ในเครื่อง

โทเค็นของฉันจะไปไหนเมื่อฉันกดถอดรหัส? — คำถามที่ต้องถามเกี่ยวกับเครื่องมือออนไลน์ทุกชนิด

ก่อนที่จะใช้ตัวถอดรหัสออนไลน์ใดๆ ให้ถามสิ่งที่ได้รับสตริงหลังจากกดปุ่มแล้ว JWT อาจเป็นข้อมูลรับรองสำหรับผู้ถือที่ใช้งานอยู่ ดังนั้นการอัปโหลดจึงสามารถเปิดเผยได้มากกว่าการอ้างสิทธิ์ที่สามารถอ่านได้ เพจไม่ควรรับโทเค็นที่ใช้งานจริงเพียงเพราะอินเทอร์เฟซดูเหมือนตัวจัดรูปแบบข้อความ

คำเตือนของ ToolAcre นั้นเข้มงวดกว่าสัญญาทางการตลาด: อย่าวางโทเค็นที่ใช้งานจริงลงในเครื่องมือเว็บใดๆ รวมถึงอันนี้ด้วย ใช้ตัวอย่างที่หมดอายุ หมุนเวียน หรือสังเคราะห์ การใช้งานจะดำเนินการในเครื่อง แต่ส่วนขยายเบราว์เซอร์ สคริปต์โดยรอบ และอุปกรณ์ยังคงเป็นส่วนหนึ่งของสภาพแวดล้อมที่คุณต้องเชื่อถือ

งานที่เกี่ยวข้อง — การแยกสตริง การถอดรหัส base64url และการแยกวิเคราะห์ JSON ความสามารถมาตรฐานของเบราว์เซอร์ทั้งหมด

การถอดรหัสจริงประกอบด้วยการทำงานของสตริงและเบราว์เซอร์ดั้งเดิม โค้ดจะเล็มคำนำหน้า Bearer ที่เป็นตัวเลือก, แยกบนจุด, ทำให้ตัวอักษร base64url เป็นปกติ, คืนค่าช่องว่างภายใน, เรียกใช้ `atob`, แปลงไบต์ผ่าน UTF-8 TextDecoder ที่เข้มงวด และแยกวิเคราะห์ผลลัพธ์สองรายการแรกเป็นอ็อบเจ็กต์ JSON

ไม่มีขั้นตอนใดเลยที่ต้องใช้บริการระยะไกล แถว NumericDate ใช้วันที่ภายในเครื่อง แถวการอ้างสิทธิ์จะประกอบจากออบเจ็กต์ที่แยกวิเคราะห์ และเอาต์พุตถูกกำหนดเป็นข้อความ แหล่งที่มาไม่นำเข้าไลบรารีการตรวจสอบ และขอไม่มีรหัสลับหรือสาธารณะ เนื่องจากการตรวจสอบเป็นเพียงการดำเนินการเดียวเท่านั้น

วิธีตรวจสอบ — เปิดแผงเครือข่าย วางโทเค็น ถอดรหัส และดูคำขอ

เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ก่อนที่จะป้อนข้อมูลการทดสอบที่ไม่เป็นอันตราย ล้างรายการเครือข่าย ทำการถอดรหัส จากนั้นตรวจสอบคำขอใหม่ ค้นหา URL คำขอ วิธีการ และเนื้อหาสำหรับโทเค็นหรือสตริงย่อยเฉพาะ คำขอที่เกิดขึ้นในเวลาเดียวกันไม่ใช่การอัปโหลดโดยอัตโนมัติ พิสูจน์ว่ามีไบต์ข้อมูลรับรองอยู่หรือไม่

ควบคุมการทดสอบไว้ โหลดหน้าเว็บก่อนเพื่อให้คำขอเนื้อหาได้รับการจัดการ ใช้เครื่องหมายสังเคราะห์ที่ไม่ซ้ำกันในเพย์โหลด และหลีกเลี่ยงข้อมูลประจำตัวจริง หากเครื่องหมายปรากฏในเนื้อหาคำขอ URL หรือส่วนหัว แสดงว่าค่าจะเหลือเส้นทางถอดรหัสในเครื่อง หากไม่เป็นเช่นนั้น การสังเกตจะสนับสนุนเซสชันนั้นเท่านั้น

นโยบายการรักษาความปลอดภัยของเนื้อหาที่เข้มงวดจะจำกัดจุดหมายปลายทางให้แคบลง หน้านี้ยังคงโหลดสคริปต์ที่เปิดเผย

เพจที่สร้างขึ้นมีนโยบายการรักษาความปลอดภัยของเนื้อหาซึ่ง `connect-src` อนุญาตตนเอง หยด และข้อมูลปลายทาง แทนที่จะเป็น API ระยะไกลที่กำหนดเอง นั่นเป็นการจำกัดการเชื่อมต่อที่เริ่มต้นสคริปต์โดยทั่วไป แต่ไม่ได้แสดงให้เห็นถึงการอ้างสิทธิ์ของโครงร่างที่ว่า “ไม่มีสคริปต์ แท็ก หรือการวิเคราะห์ของบุคคลที่สาม” ผลิตภัณฑ์ที่กว้างกว่าอาจโหลดสคริปต์ Google ที่เปิดเผย

CSP เป็นการป้องกันเชิงลึก ไม่ใช่การพิสูจน์ว่าองค์ประกอบที่ปฏิบัติการได้ทั้งหมดสมควรได้รับข้อมูลรับรอง มันสามารถจำกัดปลายทางในขณะที่ปลายทางของบุคคลที่หนึ่งยังคงได้รับอนุญาต และส่วนขยายทำงานภายใต้สิทธิพิเศษที่แตกต่างกัน อ่านนโยบายควบคู่ไปกับหลักฐานและแหล่งที่มาของเครือข่าย อย่ายุบข้อสังเกตที่แยกออกไปเหล่านั้นเป็น "ไม่มีสิ่งใดสามารถอ่านฟิลด์นี้ได้"

ตัวถอดรหัสไม่เก็บโทเค็น แต่การทดสอบการโหลดซ้ำไม่สามารถพิสูจน์ได้ว่าส่วนประกอบโดยรอบทั้งหมดไม่เป็นอันตราย

แผง JWT เก็บโทเค็นไว้ในค่าของตัวแก้ไข และไม่เรียก localStorage หรือ sessionStorage การล้างแผงจะนำค่าปัจจุบันออก และการโหลดซ้ำไม่มีฟีเจอร์ที่จะกู้คืนโทเค็น ข้อเท็จจริงของแหล่งที่มาที่แคบกว่านั้นสนับสนุนข้อความที่ไม่คงอยู่เกี่ยวกับแผงนั้นเอง

ตัวแก้ไขเปล่าหลังจากโหลดซ้ำถือเป็นหลักฐานที่มีประโยชน์ แต่ไม่ใช่การตรวจสอบที่เก็บข้อมูลสากล ประวัติเบราว์เซอร์ ตัวจัดการคลิปบอร์ด ส่วนขยาย ภาพหน้าจอ และสิ่งอำนวยความสะดวกระบบปฏิบัติการจะอยู่นอกโมดูลนี้ ดังนั้นการตรวจสอบเครือข่ายและที่เก็บข้อมูลจึงควรอธิบายว่าเป็นการสังเกตที่สามารถทำซ้ำได้ ไม่ใช่การรับประกันเกี่ยวกับทุกเลเยอร์บนอุปกรณ์

ตัวอย่างการทำงาน: แยกทราฟฟิกเพจธรรมดาออกจากคำขอที่มีข้อมูลโทเค็น

สำหรับการตรวจสอบที่ใช้งานได้ ให้โหลดตัวถอดรหัส JWT ของ ToolAcre รอให้กิจกรรมหน้าเริ่มต้นเสร็จสิ้นและล้างรายการคำขอ วางตัวอย่างที่หมดอายุในตัวหรือโทเค็นที่ไม่ละเอียดอ่อนอื่น กดถอดรหัสและกรองคำเพย์โหลดที่ไม่ซ้ำกัน ส่วนหัว เพย์โหลด บันทึกอัลกอริทึม และแถวเวลาควรปรากฏขึ้นโดยไม่มีคำขอที่มีเครื่องหมายนั้น

อย่าเรียกแผงว่า "ว่างเปล่า" หากมองเห็นการวิเคราะห์ การเชื่อมต่อเว็บไซต์ หรือคำขอเนื้อหา บันทึกสิ่งที่เกิดขึ้นอย่างชัดเจน: การเข้าชมเพจตามปกติอาจมีอยู่ ในขณะที่ไม่มีคำขอที่ตรวจสอบรวมโทเค็นสังเคราะห์ ความแตกต่างดังกล่าวเป็นหลักฐานที่ชัดเจนกว่าการซ่อนแถวที่ไม่เกี่ยวข้องเพื่อให้การเรียกร้องความเป็นส่วนตัวดูสมบูรณ์

สิ่งนี้ไม่ครอบคลุมถึง — ส่วนขยายเบราว์เซอร์และผู้จัดการคลิปบอร์ด ซึ่งอยู่นอกเหนือการควบคุมของเพจ

ขั้นตอนนี้ไม่สามารถตรวจสอบส่วนขยายเบราว์เซอร์ที่เป็นอันตราย ประวัติคลิปบอร์ด หรือระบบปฏิบัติการที่ถูกบุกรุกได้ นอกจากนี้ยังไม่สามารถพิสูจน์ได้ว่าโค้ดจะทำอะไรหลังจากการปรับใช้ในอนาคต ทำซ้ำกับเวอร์ชันและสภาพแวดล้อมที่คุณต้องการใช้ และเลือกใช้สคริปต์ในเครื่องที่คุณควบคุมเมื่อไม่สามารถหลีกเลี่ยงเนื้อหาข้อมูลรับรองจริงได้

นอกจากนี้ แผงเครือข่ายจะไม่แปลงการอ้างสิทธิ์ที่ถอดรหัสแล้วเป็นข้อเท็จจริงที่ได้รับการตรวจสอบแล้ว แม้ว่าโทเค็นจะยังคงอยู่ในแท็บ ToolAcre ก็ไม่รับรองความถูกต้อง การประมวลผลเฉพาะที่ลดเส้นทางการเปิดเผยข้อมูลหนึ่งเส้นทาง มันไม่ได้สร้างความสมบูรณ์ของลายเซ็น ตัวตนของผู้ออก ความเหมาะสมของผู้ชม หรือการอนุญาต

รหัส ToolAcre ในเครื่องทำการถอดรหัส แต่โทเค็นสดยังคงไม่อยู่ในเว็บไซต์

ToolAcre ทำการแปลงแบบแยกไบต์และ JSON แยกวิเคราะห์ในโค้ดของเบราว์เซอร์ และแหล่งที่มาเฉพาะของเครื่องมือไม่มีการอัปโหลดหรือการดำเนินการคงอยู่ คุณสามารถทดสอบพฤติกรรมนั้นได้โดยใช้ข้อมูลสังเคราะห์และเครื่องมือสำหรับนักพัฒนา แทนที่จะยอมรับป้ายสถานะหรือสโลแกนความเป็นส่วนตัวตามมูลค่าที่กำหนด

ประเด็นที่ถูกต้องยังคงเป็นแบบอนุรักษ์นิยม: ตรวจสอบเส้นทางในเครื่อง แต่เก็บโทเค็นการเข้าถึงแบบสดไว้นอกเว็บไซต์ เครื่องมือฝั่งไคลเอ็นต์แบบถอดรหัสเท่านั้นอาจเหมาะสำหรับการวินิจฉัยแบบใช้แล้วทิ้ง ไม่ใช่ห้องเก็บข้อมูลประจำตัว ผู้ตรวจสอบ หรือบริการอนุญาต