Score:1

ไฟล์ Samsung .Cert - เจาะลึกยิ่งขึ้น

ธง cn

ฉันไม่รู้ว่าฉันควรถามคำถามนี้ใน Android สแต็คแลกเปลี่ยน หรือที่นี่ แต่ฉันแน่ใจว่าฉันมาถูกที่แล้วที่จะถาม

คำถามของฉันเกี่ยวกับไฟล์ Samsung Certificate ต่อไปนี้:

ชื่อไฟล์: I9301I-357537065876500.cert

[ใบรับรอง] 
รุ่น=GT-I9301I
IMEI=357537065876500
SerNo=S200013955 
ImeiSign=75779BA6B9FF5269A6828F2EAB02049B874169ACE705F5B6187EFE5F91B619E4D23EC50D7AED63D3F570766B6E03C9A416FC4B760329F43F3C06FF2B5404922BE64B7FAA457B11F3840057E8ED4160537C241B89B36B48842A78D9B5EB359820A8A44DFB1AD9021D5920AD8B856558740CDC8ECDD1981ADEA9ED81873F989221322A2CD8D8FF7DA19DEDABADF2E00D0BC7D1A8331A6C3904CCA8CF7EB97F4413496CC50966ECB12012DAB689EBEFF23ED3C5E48944675E4488A501BE5BF44DBAD20F035E3C5A0E4E7C32653061EB5E8ACA4B26480A19DC3F02EB881A0ED2BE64522228FFCA66B335FECF7DD9113AEE9067DB8AEBB751528A4E9A6B4DF07AF9F1

PubKey=4000000025A3C38C533FFC73439ED6110A953784B1489FAABCC5050059FFB62E6FED9602EEE2752285681D3F888D47E44D509865B76E6CE2D0CCC53928BD9C220792A8B6EC3D7EDA75364B7D3E2057F20CBA44E75C1057D0E85A0BE9C873AFB740ECD20B9BF1CC22CA167A4AC850ADF41CFBDC924A1A8EEBB603274584B50EEA786EB184C5284EDAAF79D8F15BD9A559A4F4A11D11478BA7259182EB2561C6C05BC587C491A60206689BFCE7A463617A7DE64FAF4493D12245BFA9523D58508FC8543E8868AB9C506DA1379BE2954AA35397B2ADA75518F158D5FB691BA8A6309266A714C9A22ACBA4693DC5B2848E45611E0E712FC577A3A50B21B6095744B28FDCD149ADD9F0935367F7FC9D79C3237791D74AD38A47846A117571D91802AE3261DD971ECD968454AD397DE1F413C430EAB7A2B3B1A3B9C94AC031B11B3233F49BD7A165E3D603C3FA274F1F10BE6A3112305F47EFDE511627CDA0010D90F35A90689041384F4FA83BADB8CA8AD523470DF9C556A07E05FC7E33FB945C46EE29BA9082E6C970BE5AFF147750029FD0B51A8CE71BF5F25E6076F02B0AB01DE8F8E742D0CA855E9D89EF6CFEEB41EE819E21256B8E1A1AF25C47E904BACBB891C7C0D173A40F0B4A727DF7F273EDCD2A0B2728BEC9A986259866676E1B1EE743D20D08F977D1AAAEAD3CDD4CECF6B1E0A C67C8CE0F158C1093CE04B7F4E6E4B77B1D05BB1832923B

PubKeySign=719D9FE450D96A5DCFCD05FAC2DD88CD4222D30D396CB1760EF9C3024E7EC686F45C44AA6D1ED4648733389C5945130F567949A7E55419B1765B4FC0B829F4487528CC85AE552E6F3A8759B25C95AE658F1E4C578178230A738B46409A65213DB4246B0A1A7888A4EB72D545F85613309E1C6696AC6C8123566450193594625292AF269BBE1A89A8B77B49C0E65D59910BE886B0A5B1A3A8F5A2595158FC10B408800E840FCE78EA9835B5085D3CCE3DC36FA92DAB7C1373DC563599F32E61C6ED85DA4C0708EF0743FAC5A08904F097BC782FE92102BC511D014806CCEAD4D1EF860A415E3DFE578431513E49E7CC99B7F17852FDFF2EBB75163968E09B67AE

ไฟล์ถูกดาวน์โหลดจาก ที่นี่

การอภิปรายที่ฉันพบ ที่นี่ กล่าวว่าไฟล์ใบรับรองนี้คือ

ใบรับรอง Imei คือ RSA 512

ผู้ใช้รายอื่นพูดว่า:

ผิดเต็มๆ! ใบรับรอง Imei คือ rsa 2048

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

Score:5
ธง in

ฉันพบคำอธิบายเกี่ยวกับรูปแบบของรหัสสาธารณะ ที่นี่ โพสต์โดย Victor จาก Blagoevgrad ที่ GSMHosting.com ดังที่กล่าวไว้ในความคิดเห็น ขนาดลายเซ็นทั้งสองมีขนาด 2048 บิตด้วย ดังนั้นจึงสรุปได้ค่อนข้างดี

นี่คือเนื้อหาของโพสต์ข้อมูลในลิงค์:

#define RSANUMBYTES 256 /* ความยาวคีย์ 2048 บิต */
#กำหนด RSANUMWORDS (RSANUMBYTES / sizeof(uint32_t))


typedef โครงสร้าง RSAPublicKey {
    เลนส์ int; /* ความยาวของ n[] ในจำนวน uint32_t */
    uint32_t n0inv; /* -1 / n[0] ม็อด 2^32 */
    uint32_t n[RSANUMWORDS]; /* โมดูลัสเป็นอาร์เรย์ endian น้อย */
    uint32_t rr[RSANUMWORDS]; /* R^2 เป็นอาร์เรย์ endian น้อย */
    เลขชี้กำลัง int; /*3 หรือ 65537 */
} RSAPublicKey;

ฉันพบว่ามี modexp3 ในส่วนที่เหลือของซอร์สโค้ดซึ่ง มีประสิทธิภาพมากขึ้น ใช้ n0inv และ ค่า ดังนั้นเลขชี้กำลังสาธารณะมีค่าเป็น 3 (ดูเหมือนไม่มีอยู่ในโครงสร้าง ดังนั้นฉันเดาว่าส่วนนั้นเลิกใช้แล้ว)

ความสับสนอาจมาจาก 40 00 00 00 ค่าเลขฐานสิบหกที่ด้านหน้า สิ่งนี้เข้ารหัส 64 เมื่อเห็นว่าเป็นค่า endian เล็กน้อย อย่างไรก็ตาม ไม่ได้หมายถึง 64 ไบต์: 64 * 8 = 512 แต่หมายถึง 64 คำ โดยที่แต่ละคำคือ 32 บิต นั่นคือ 4 เท่าของจำนวน 2048 บิต

ซึ่งหมายความว่าโมดูลัสมีค่าดังต่อไปนี้ - ใน big endian:

93f0d9ad49d1dc8fb2445709b6210ba5a377c52f710e1e61458e84b2c53d69a4cb2aa2c914a7669230a6a81b69fbd558f11855a7adb29753a34a95e29b37a16d
509cab68883e54c88f50583d52a9bf4522d19344af4fe67d7a6163a4e7fc9b680602a691c487c55bc0c66125eb829125a78b47111da1f4a459a5d95bf1d879af
da4e28c584b16e78ea0eb584452703b6eb8e1a4a92dcfb1cf4ad50c84a7a16ca22ccf19b0bd2ec40b7af73c8e90b5ae8d057105ce744ba0cf257203e7d4b3675
da7e3decb6a89207229cbd2839c5ccd0e26c6eb76598504de4478d883f1d68852275e2ee0296ed6f2eb6ff590005c5bcaa9f48b18437950a11d69e4373fc3f53

ถ้าฉันใช้คีย์ (แค่ใช้โมดูลัสและเลขยกกำลังสาธารณะ 3) ฉันพบว่า ImeiSign ลายเซ็นเป็นลายเซ็น PKCS#1 v1.5 โดยใช้ SHA-1 เป็นแฮช โชคดีสำหรับ Samsung ที่ IMEI เองอาจจะไม่ไวต่อจุดอ่อน SHA-1 ด้วย ความต้านทานการชน

ดูเหมือนว่าฉันไม่สามารถยืนยัน IMEI ได้ด้วย อาจเป็นเพราะการเข้ารหัสหมายเลข IMEI ที่แปลก (เหมือน BCD) อย่างไรก็ตาม แฮช SHA-1 ภายในลายเซ็นคือ 824ae6730ee34d365375e791aa2331d5e57c320d ในกรณีที่คุณต้องการลองบางสิ่ง

Maarten Bodewes avatar
in flag
ฉันไม่สามารถย้อนกลับลายเซ็น `PubKeySign` ได้ ฉันคาดว่าลายเซ็นนั้นได้รับการเซ็นชื่อด้วยรหัสส่วนตัวเฉพาะของ Samsung ดังนั้นจึงต้องใช้รหัสสาธารณะอื่นในการตรวจสอบ นั่นคือแนวคิดทั้งหมดที่อยู่เบื้องหลัง PKI แบบลำดับชั้น
Score:-1
ธง si

นี่ไม่ใช่รูปแบบคีย์สาธารณะที่ใช้กันทั่วไป แต่ส่วน PubKey เป็นเลขฐานสิบหก 1040 ไบต์ คีย์สาธารณะ RSA ประกอบด้วย "เลขชี้กำลังสาธารณะ" และ "โมดูลัส" และความยาวเป็นบิตของ "โมดูลัส" คือสิ่งที่กำหนดขนาดคีย์ RSA (512, 2048, 3072, 4096 เป็นต้น) "เลขยกกำลังสาธารณะ" มักจะค่อนข้างเล็ก 65537 (0x010001) เป็นเรื่องปกติ

ดังนั้นด้วยอักขระฐานสิบหก 1,040 ตัว (แทะ) $1040\ แทะ\ครั้ง 4\frac{bits}{nibble}=4160\ bits$ ฉันเดาว่านี่เป็นรหัสสาธารณะ 4096 บิต

คุณไม่สามารถสร้างใบรับรองของคุณเองได้หากไม่มีคีย์ส่วนตัวที่อุปกรณ์จะยอมรับ เนื่องจากคุณไม่มีสิทธิ์เข้าถึงคีย์ส่วนตัวนั้น คุณจึงไม่สามารถสร้างใบรับรองที่ถูกต้องได้

Meir Maor avatar
in flag
ฉันสงสัยว่ากุญแจไขอาจมีมากกว่า n ซ่อนอยู่ที่นั่น ลายเซ็นจะสั้นกว่า

โพสต์คำตอบ

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