วิธีนำเข้าใบรับรอง VPN บน Android และตรวจสอบกุญแจ
นำเข้า P12 ลง Android ยืนยันว่าผู้ให้บริการรายใดถือกุญแจ และค้นหาว่าใครเป็นเจ้าของข้อกำหนดการล็อกหน้าจอจริงๆ
การนำเข้าใบรับรองไคลเอนต์ VPN บน Android ใช้เวลาสองสามนาที การตรวจสอบว่ามันไปลงในที่ที่ถูกต้องใช้เวลานานกว่า และนั่นคือส่วนที่คนส่วนใหญ่ข้ามไปเมื่อกล่องโต้ตอบการติดตั้งบอกว่าสำเร็จ ข้อความแจ้งความสำเร็จหมายความเพียงว่าไฟล์ถูกแยกวิเคราะห์แล้ว มันไม่ได้บอกอะไรเลยว่าผู้ให้บริการรายใดถือกุญแจส่วนตัว หรือยังมีสำเนาค้างอยู่ในโฟลเดอร์ Downloads ของคุณหรือไม่
ขั้นตอนที่ 1: อ่าน P12 ก่อนที่มันจะออกจากเครื่องของคุณ
เริ่มจากตัวไฟล์เอง ถ้าคุณบอกชื่อหัวเรื่อง ผู้ออก และวันหมดอายุข้างในไม่ได้ แสดงว่าคุณกำลังนำเข้าสิ่งที่คุณจะตรวจสอบย้อนหลังไม่ได้
แพ็กเกจ PKCS#12 มักบรรจุใบรับรองไคลเอนต์ กุญแจส่วนตัวของมัน และห่วงโซ่ผู้ออก openssl pkcs12 -in client.p12 -info -noout พิมพ์ค่า MAC และอัลกอริทึมการเข้ารหัสโดยไม่เปิดเผยเนื้อหากุญแจ คุณจึงเห็นว่าแพ็กเกจได้รับการป้องกันด้วยรหัสผ่านหรือไม่ และใช้รหัสลับใด ต่อด้วย keytool -list -v -keystore client.p12 -storetype PKCS12 เพื่อให้ได้นามแฝง ลายนิ้วมือ SHA-256 และช่วงเวลาที่มีผลซึ่งคุณจะเทียบกับโทรศัพท์
ส่งรหัสผ่านผ่านช่องทางอื่นที่ไม่ใช่ไฟล์ หรือส่งมอบไฟล์ในกระบวนการแจกจ่ายที่มีการจัดการซึ่งไม่ทิ้งสำเนาไว้ รหัสผ่านที่วางในข้อความแชทเดียวกับไฟล์บีบอัดจะทำให้การควบคุมสองอย่างเหลืออย่างเดียว
ขั้นตอนที่ 2: ติดตั้งในช่องที่แอป VPN อ่านจริง
บน Android 11 ถึง 14 รุ่นมาตรฐาน เส้นทางคือ การตั้งค่า ความปลอดภัย การเข้ารหัสและข้อมูลรับรอง ติดตั้งใบรับรอง จากนั้น VPN และใบรับรองผู้ใช้ของแอป ถ้อยคำและลำดับชั้นเปลี่ยนไปตามเวอร์ชันและสกินของผู้ผลิต ดังนั้นให้ทำตามป้ายประเภทข้อมูลรับรองแทนตำแหน่งเมนูที่จำมา ในโปรไฟล์งานให้ติดตั้งจากด้านในฝั่งงาน เพราะข้อมูลรับรองไม่ข้ามขอบเขตโปรไฟล์
อย่าวางตัวตนไคลเอนต์ไว้ในช่องใบรับรอง CA ช่องนั้นป้อนที่เก็บความเชื่อถือของผู้ใช้ และตั้งแต่ Android 7 แอปต่างๆ จะเพิกเฉยต่อ CA ที่ผู้ใช้เพิ่ม เว้นแต่การกำหนดค่าความปลอดภัยเครือข่ายจะอนุญาต ดังนั้นใบรับรองไคลเอนต์ที่วางไว้ที่นั่นจะไม่ปรากฏในตัวเลือกกุญแจของ VPN เลย
ไคลเอนต์ VPN บางตัวไม่แตะที่เก็บของระบบเลย และนำเข้า P12 ไว้ในไดเรกทอรีแอปของตัวเองแทน นั่นเป็นการออกแบบที่ชอบด้วยกฎหมาย แต่เปลี่ยนทุกขั้นตอนหลังจากนั้น กุญแจอาศัยอยู่ในแซนด์บ็อกซ์ของแอป และแข็งแรงเท่ากับที่แอปนั้นจัดการที่เก็บของตัวเอง ตรวจสอบเอกสารของไคลเอนต์ก่อนสันนิษฐานว่า KeyChain เกี่ยวข้อง
ขั้นตอนที่ 3: พิสูจน์ว่าผู้ให้บริการรายใดถือกุญแจ
การนำเข้าเป็นการยืนยันการแยกวิเคราะห์ ไม่ใช่การรองรับฮาร์ดแวร์ ตั้งแต่ Android 12 เป็นต้นไป KeyInfo.getSecurityLevel() จะรายงานว่ากุญแจอยู่ในสภาพแวดล้อมการประมวลผลที่เชื่อถือได้ ใน StrongBox หรือในซอฟต์แวร์ และมันแทนที่การเรียก isInsideSecureHardware() แบบเก่า หากไคลเอนต์ VPN ไม่แสดงค่านั้น ลายนิ้วมือจากขั้นตอนที่ 1 คือทางเลือกสำรองของคุณ ใบรับรองที่เข้ารหัสใหม่ระหว่างการนำเข้าจะไม่ตรงกันทุกไบต์ แต่กุญแจสาธารณะและหัวเรื่องยังคงตรงกัน
ส่งออกไม่ได้ไม่ได้หมายความว่าใช้ไม่ได้ กุญแจที่ไม่สามารถออกจากอุปกรณ์ได้ยังคงถูกใช้โดยแอปใดก็ตามที่ผู้ใช้อนุญาตให้เลือกนามแฝงนั้น ซึ่งเป็นเหตุผลที่พรอมต์นามแฝงเป็นการควบคุมจริงไม่ใช่พิธีการ เอกสาร Android Keystore คุ้มค่าที่จะอ่านสักครั้งหากคุณกำลังตัดสินใจเรื่องการออกแบบนั้น
จากนั้นให้คำนึงถึงสำเนาที่คุณสร้างขึ้น P12 บนแล็ปท็อปของคุณ ฉบับในไฟล์แนบของตั๋ว และฉบับในข้อมูลสำรองของเดือนที่แล้ว ล้วนเป็นตัวตนที่ใช้ได้จนกว่าผู้ออกจะเพิกถอน การป้องกันด้วยฮาร์ดแวร์ของอินสแตนซ์บนโทรศัพท์ไม่ได้ช่วยอะไรกับสิ่งเหล่านั้น
ขั้นตอนที่ 4: ค้นหาว่าใครเป็นเจ้าของข้อกำหนดการล็อกหน้าจอ
ความลับสามอย่างปนกันที่นี่ PIN ปลดล็อกอุปกรณ์ วลีรหัสผ่านของกุญแจส่วนตัว และรหัสผ่านบัญชี VPN การขออย่างหนึ่งไม่เคยเป็นการขอให้รีเซ็ตอย่างอื่น และการรีเซ็ตผิดตัวคือวิธีที่ผู้คนล็อกตัวเองออกจากโปรไฟล์ที่ทำงานได้ดี
เมื่อผู้ดูแลอุปกรณ์หรือนโยบายโปรไฟล์ที่มีการจัดการกำหนดให้ต้องมีล็อก ข้อกำหนดนั้นเป็นของนโยบายนั้น ไม่ใช่ของใบรับรอง adb shell dumpsys device_policy แสดงรายชื่อผู้ดูแลที่ใช้งานอยู่และคุณภาพรหัสผ่านที่พวกเขาบังคับใช้ ซึ่งเป็นวิธีที่เร็วที่สุดในการดูว่าตัวแทน MDM เป็นเหตุให้กฎ PIN ของคุณเปลี่ยนไปหรือไม่ การลบใบรับรองจะไม่ผ่อนคลายนโยบาย และการลบนโยบายเป็นการตัดสินใจด้านการบริหารไม่ใช่การปรับแต่งการตั้งค่า
คาดว่าจะมีการแลกเปลี่ยนด้านการใช้งานด้วย หากกุญแจต้องมีการอนุญาตจากผู้ใช้ อุโมงค์จะไม่สามารถขึ้นได้ก่อนการปลดล็อกครั้งแรก ดังนั้นการซิงค์ตามกำหนดและการปลุกจากระยะไกลจะล้มเหลวตามการออกแบบ ตัดสินใจเรื่องนี้ก่อนการติดตั้งใช้งาน ไม่ใช่หลังจากนั้น
หลีกเลี่ยงทางลัดในการแก้ไข locksettings.db หรือเล่นซ้ำวิธีแก้ไขการลืมรูปแบบแบบเก่า กิจวัตรเหล่านั้นเขียนขึ้นสำหรับบิลด์เฉพาะ อาจทำให้ที่เก็บข้อมูลรับรองอยู่ในสถานะที่เฟรมเวิร์กไม่คาดคิดอีกต่อไป และมันไม่เคยเปลี่ยนนโยบายที่ขอล็อกตั้งแต่แรก
ขั้นตอนที่ 5: ปลดระวางตัวตนและตรวจสอบการปฏิเสธ
การปลดระวางมีสามส่วน และมีเพียงส่วนแรกที่เป็นภายในเครื่อง ลบโปรไฟล์ VPN ลบใบรับรองผู้ใช้ภายใต้ การตั้งค่า ความปลอดภัย การเข้ารหัสและข้อมูลรับรอง ข้อมูลรับรองผู้ใช้ จากนั้นให้ผู้ออกเพิกถอนหมายเลขซีเรียลของใบรับรอง การลบภายในเครื่องอย่างเดียวจะทิ้งข้อมูลรับรองที่เซิร์ฟเวอร์ยังคงยอมรับหากมีคนเก็บ P12 ไว้
ตรวจสอบผลลัพธ์แทนการสันนิษฐาน ลองเชื่อมต่อด้วยโปรไฟล์ที่ปลดระวางแล้วและยืนยันว่าเซิร์ฟเวอร์ปฏิเสธ อุโมงค์ที่ยังขึ้นได้หมายความว่าคุณเพิกถอนหมายเลขซีเรียลผิด หรือไคลเอนต์ถอยกลับไปใช้ตัวตนอื่นที่ติดตั้งไว้อย่างเงียบๆ
หากคุณกำลังย้อนกลับการนำเข้าที่ล้มเหลว ให้นำเข้าจากแพ็กเกจที่เข้ารหัสต้นฉบับอีกครั้งและตรวจสอบลายนิ้วมืออีกครั้ง แทนที่จะใช้ไฟล์กุญแจที่ถอดรหัสแล้วซึ่งคุณทิ้งไว้บนดิสก์