เนื้อหาทางเทคนิคเป็นหัวใจของ RuggedLayer แหล่งข้อมูลสาธารณะแสดงรูปแบบการเชื่อมต่ออุปกรณ์ที่ทำซ้ำได้และหลักฐานที่ต้องใช้เพื่อพาแอปเดิมไปสู่การใช้งานจริง ส่วน SDK ที่มีข้อจำกัดจะอยู่ในช่องทางแจกจ่ายที่ได้รับอนุมัติ
หลักฐานอุปกรณ์ที่เปรียบเทียบได้ พร้อมวิธีทดสอบ เวอร์ชัน และข้อจำกัด
- เจ้าของความปลอดภัยที่ได้รับอนุมัติและอุปกรณ์ทดสอบหรือชุดการ์ดที่กำหนดไว้
- ขอบเขตที่ชัดเจนสำหรับคีย์, PIN, ข้อมูล APDU, ใบรับรอง และการรวมโฮสต์การชำระเงิน
- สภาพแวดล้อมการทดสอบส่วนตัวพร้อมบันทึกที่แก้ไขและไม่มีข้อมูลประจำตัวของลูกค้า
มาตรฐานการเผยแพร่
สร้างและตรวจสอบการเชื่อมต่อ Android สำหรับองค์กรด้วยหลักฐานตามเวอร์ชัน
เนื้อหาทางเทคนิคเป็นหัวใจของ RuggedLayer แหล่งข้อมูลสาธารณะแสดงรูปแบบการเชื่อมต่ออุปกรณ์ที่ทำซ้ำได้และหลักฐานที่ต้องใช้เพื่อพาแอปเดิมไปสู่การใช้งานจริง ส่วน SDK ที่มีข้อจำกัดจะอยู่ในช่องทางแจกจ่ายที่ได้รับอนุมัติ
- 01
ตั้งชื่อการ์ดและขอบเขตความปลอดภัย
ICC, PSAM, PICC แถบแม่เหล็ก แผ่น PIN และองค์ประกอบความปลอดภัยเป็นขั้นตอนการทำงานที่แตกต่างกัน บันทึกประเภทการ์ด สล็อต โปรโตคอล เจ้าของและอุปกรณ์เป้าหมาย แทนที่จะเรียกทุกอย่างว่า "การสนับสนุนการ์ด"
- 02
เก็บความลับนอกการสาธิต
ใช้จุดจับการทดสอบแบบทึบและแก้ไขผลลัพธ์ในรูปแบบสาธารณะ คีย์, บล็อก PIN, ข้อมูลแทร็ก, ค่า KSN, ใบรับรอง และส่วนควบของลูกค้าจะยังคงอยู่ในการผสานรวมส่วนตัวที่ได้รับอนุมัติ
- 03
ทำให้การเปิดใช้งานและการปล่อยมีความสมมาตร
เปิดใช้งานหนึ่งเซสชัน ตรวจสอบความยาวและสถานะการตอบกลับ จากนั้นปิดใช้งานในเส้นทางสุดท้าย ธุรกรรมที่ล้มเหลวจะต้องไม่เปิดการ์ดหรือโมดูลความปลอดภัยทิ้งไว้
- 04
ต้องมีการตรวจสอบความปลอดภัยก่อนที่จะอ้างสิทธิ์ฮาร์ดแวร์
ตัวอย่าง SDK ในเครื่องมีประโยชน์สำหรับการค้นหาโมดูล แต่ไม่ได้กำหนดการปฏิบัติตามข้อกำหนด การอนุมัติการชำระเงิน หรือความเข้ากันได้ในการผลิต การกล่าวอ้างเหล่านั้นจำเป็นต้องมีบันทึกหลักฐานแยกต่างหาก
แอปตัวอย่าง / Kotlin
รูปแบบ SDK และ API
สิ่งนี้จงใจใช้จุดจับทดสอบทึบแสง ไม่ใช่การดำเนินการชำระเงินและไม่มีคีย์หรือข้อมูลรับรอง
data class SecureRequest(
val operation: String,
val testHandle: String,
)
sealed interface SecureResult {
data object Accepted : SecureResult
data class Declined(val reason: String) : SecureResult
data class Failed(val reason: String) : SecureResult
}
interface SecurePort {
suspend fun execute(request: SecureRequest): SecureResult
}
suspend fun executeApprovedOperation(port: SecurePort): SecureResult =
runCatching {
port.execute(SecureRequest("approved-test", "fixture-01"))
}.getOrElse {
SecureResult.Failed("secure-operation-failed")
}การแจกจ่าย SDK
เงื่อนไขการเผยแพร่
จะไม่เผยแพร่ไบนารี เอกสาร API, firmware หรือซอร์สตัวอย่างของผู้ขายจนกว่าจะบันทึกสิทธิ์แจกจ่ายต่อและขอบเขตที่รองรับ
ละทิ้งการตอบสนองจากเวิร์กโฟลว์สาธารณะ บันทึกความล้มเหลวที่แก้ไขแล้ว และปล่อยเซสชัน
หยุดการทดสอบ หมุนเวียนข้อมูลประจำตัวที่ได้รับผลกระทบ และนำส่วนที่ผิดปกติออกจากสภาพแวดล้อมการทดสอบ
แยกบันทึกความเข้ากันได้และร้องขอการตรวจสอบความปลอดภัยเฉพาะอุปกรณ์
วิธีประเมินหลักฐาน
หลักฐานอุปกรณ์ที่เปรียบเทียบได้ พร้อมวิธีทดสอบ เวอร์ชัน และข้อจำกัด
- 01
ใช้ข้อมูลรับรองการทดสอบและฟิกซ์เจอร์ที่ได้รับอนุมัติในสภาพแวดล้อมส่วนตัวเท่านั้น
- 02
ตรวจสอบการเปิดใช้งาน ความสำเร็จ การหมดเวลา ความล้มเหลว และเส้นทางการเผยแพร่
- 03
เรียกใช้การสแกนบันทึกที่แก้ไขแล้วก่อนที่จะแชร์รายงานหรือตัวอย่างใดๆ
- 04
บันทึกเจ้าของความปลอดภัย อุปกรณ์ เฟิร์มแวร์ SDK และขอบเขตการอนุมัติ
แหล่งข้อมูล
รูปแบบ SDK และ API
จะไม่เผยแพร่ไบนารี เอกสาร API, firmware หรือซอร์สตัวอย่างของผู้ขายจนกว่าจะบันทึกสิทธิ์แจกจ่ายต่อและขอบเขตที่รองรับ