Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android UICC:我可以信任主动计时器管理吗?_Android_Ios_Smartcard_Javacard_Sim Card - Fatal编程技术网

Android UICC:我可以信任主动计时器管理吗?

Android UICC:我可以信任主动计时器管理吗?,android,ios,smartcard,javacard,sim-card,Android,Ios,Smartcard,Javacard,Sim Card,UICC(SIM卡)没有内部时钟。如果SIM卡上加载的小程序需要知道是否已经过了某个时间间隔,则它必须在设备中分配一个计时器,并使用计时器管理主动命令启动它 ETSI标准(102 223 V12.1.0)规定: “返回值的精度在所有情况下都无法依赖 由潜在的终端活动引起的病例” 这是否意味着计时器可以在应该触发事件之前触发所需事件 操作系统是否针对计时器事件欺诈提供了任何保护(攻击者假装计时器事件已被触发) 即使在一些“严肃”的安全应用程序中,我也可以信任计时器,或者它只是一种在现实世界中使用有

UICC(SIM卡)没有内部时钟。如果SIM卡上加载的小程序需要知道是否已经过了某个时间间隔,则它必须在设备中分配一个计时器,并使用计时器管理主动命令启动它

ETSI标准(102 223 V12.1.0)规定:

“返回值的精度在所有情况下都无法依赖 由潜在的终端活动引起的病例”

这是否意味着计时器可以在应该触发事件之前触发所需事件

操作系统是否针对计时器事件欺诈提供了任何保护(攻击者假装计时器事件已被触发)

即使在一些“严肃”的安全应用程序中,我也可以信任计时器,或者它只是一种在现实世界中使用有限的玩具

  • “由于潜在的终端活动,返回值的精度在所有情况下都不可靠”意味着计时器可能在所需时间后启动,因为手机可能正忙。但这比使用投票机制要精确得多
  • 使用计时器、轮询或提供本地信息(日期和时间)不会保护您的应用程序免受欺诈。任何事情都可以用终端不安全地回复
  • 如果您希望时间安全,也许您可以向网络发送加密的SMS submit,服务器将计算时间并安全地向您发送信封SMSPP。当然,这需要GSM连接

  • 针对您的三个问题:

  • 这是否意味着计时器可以在应该触发事件之前触发所需事件

    • 通常情况下,它不会。ETSI标准中的引用“由于潜在的终端活动,返回值的精度在所有情况下都不可靠”实际上意味着在手机处于空闲状态(例如,不在电话通话或其他STK会话中)时,手机应在计时器启动时触发计时器事件。因此,如果计时器管理不准确,它通常会由于手机的繁忙状态而延迟
  • 操作系统是否针对计时器事件欺诈提供了任何保护(攻击者假装计时器事件已被触发)

    • 不,没有。对于sim卡,它无法判断与其通信的终端是手机还是读卡器。只要符合ISO7816-4和GSM/UICC标准,攻击者始终可以从读卡器发送预设命令来攻击卡并从中获取信息
  • 即使在一些“严肃”的安全应用程序中,我也可以信任计时器,或者它只是一种在现实世界中使用有限的玩具


    • 问题不在于您是否应该信任从终端发送的计时器管理-原因是我在问题2中回答的。如果计时器管理关联事件中包含机密或敏感信息,则应实施安全措施,例如加密数据请问您想在这里保护哪些信息?

  • 找不到任何使用网络时间的方法?如果您启动计时器一段时间,并且在计时器过期之前手机被关闭,会发生什么情况…那么将不会出现计时器过期事件,您必须再次检查,重新启动计时器,但您将无法获得剩余时间。@Abraham好的,网络时代似乎很容易被黑客入侵。您的信封解决方案可以,但需要GSM连接。计时器将完全独立于网络工作。关闭不是问题,我只需要确保已经过了很短的时间(如果时间更长,这并不重要,我总是可以重新启动计时器并重试)。@vojta yes timer expiration信封可以通过任何APDU工具发送,即使时间段未完成,您的小程序也会认为它已过期。1。计时器可能会在所需时间后启动,因为手机可能正忙。但这比使用投票机制要精确得多。2.使用计时器、轮询或提供本地信息不会保护您的应用程序免受欺诈。任何事情都可以用终端不安全地回复。3.如果您希望时间安全,也许您可以向网络发送加密的SMS submit,服务器将计算时间并安全地向您发送信封SMSPP。当然,这需要GSM连接。“我可以问一下你在这里想要保护什么信息吗?”-想象一下一个在SIM卡上存储车票的交通应用程序,它提供离线购票(通过SIM卡上的电子钱包支付)。那么车票是有效的,如果它是在至少60秒前买的。。。因此,小程序希望设置一个计时器60秒,然后等待计时器事件触发。那么Android访问控制执行器呢?这能解决问题吗?我可以用精心选择的访问规则保护我的小程序免受恶意应用程序的攻击,不是吗?据你所说,手机只提供计时器。当计时器启动时,手机会通知SIM卡。票据的处理在SIM卡内部进行,因此我认为您不应该担心计时器管理的安全性。“Android访问控制执行器”是另一个问题的完全不同的解决方案集,即手机应用程序访问卡上java小程序。老实说,我有点困惑。如果您的票务解决方案涉及电话应用程序,则不需要使用计时器管理事件。手机应用程序可以方便地获取系统时间,并且能够在时间到时通知卡上小程序执行某些操作。如果您正在使用的是android手机应用程序,则可以使用java.util.Timer。android访问控制执行器如何?这能解决问题吗?我可以用精心选择的访问规则保护我的小程序免受邪恶应用程序的攻击,不是吗?