ใน Android เวอร์ชันใหม่กว่า (ฉันเดาว่าตั้งแต่ 4.2) มีตัวเลือกที่เรียกว่า "ฮาร์ดแวร์สำรอง" และ "ซอฟต์แวร์เท่านั้น" ดังที่ Google สันนิษฐาน:
ขณะนี้ Android ยังสนับสนุนพื้นที่จัดเก็บข้อมูลที่สนับสนุนด้วยฮาร์ดแวร์สำหรับข้อมูลประจำตัว KeyChain ของคุณ ซึ่งให้ความปลอดภัยมากขึ้นโดยการทำให้ไม่สามารถดึงคีย์ได้ กล่าวคือ เมื่อคีย์อยู่ในที่เก็บคีย์ที่สนับสนุนฮาร์ดแวร์ (Secure Element, TPM หรือ TrustZone) คีย์เหล่านั้นจะสามารถนำมาใช้สำหรับการดำเนินการเข้ารหัสลับได้ แต่เนื้อหาคีย์ส่วนตัวจะไม่สามารถส่งออกได้ แม้แต่เคอร์เนลระบบปฏิบัติการก็ไม่สามารถเข้าถึงเนื้อหาสำคัญนี้ได้ แม้ว่าอุปกรณ์ที่ใช้ Android บางตัวจะรองรับพื้นที่เก็บข้อมูลบนฮาร์ดแวร์ แต่คุณสามารถตรวจสอบในขณะรันไทม์ได้ว่ามีที่เก็บข้อมูลที่สำรองไว้ด้วยฮาร์ดแวร์หรือไม่
อีฟาซิสเป็นของฉัน
สิ่งที่ฉันไม่เข้าใจคือ GalaxyNexus และ Nexus 7 มีชิป NFC พร้อม Secure Element แต่ประเภทพื้นที่เก็บข้อมูลคือ "ซอฟต์แวร์เท่านั้น" Nexus 4 มี NFC Secure Element และ "รองรับฮาร์ดแวร์" ในขณะที่ Nexus 7 (2013) และ Nexus 5 ไม่มี NFC-Secure-Element แต่ยังคง "รองรับฮาร์ดแวร์" ฉันสามารถตรวจสอบสิ่งนี้ด้วยตนเองภายในแอพการตั้งค่า แต่มีวิธีตรวจสอบสิ่งนี้ภายในแอพของฉันหรือไม่
ตามที่ CommonsWare กล่าวถึง ฉันควรจัดเตรียมลิงก์: ข้อมูลแรกที่องค์ประกอบความปลอดภัยเกี่ยวข้องกับประเภทการจัดเก็บข้อมูลนั้นถูกกล่าวถึง ที่นี่: แหล่งข้อมูลที่มีประโยชน์อีกแหล่งคือ บล็อกของ Nelenkov
IKeystoreService
จากServiceManager
และเรียกใช้เมธอดis_hardware_backed()
แต่ตามที่นิโคเลย์ตอบด้านล่างKeyChain#isBoundKeyAlgorithm(String)
ไปตามเส้นทางเดียวกัน และเรียกIKeystoreService#is_hardware_backed()
ในที่สุด - person Vikram   schedule 27.11.2013