HCE安全问题

最近的项目中每每都会被问到:HCE安全吗?

我的答复是:相对安全。

听到我这样的回答,很多人可能会开始说了,某某银行都上HCE应用了,怎么不安全了?

其实,HCE应用的场景有两种:在线模式与离线模式。

在线模式:

相关密钥以及运算在后台完成,即便出现安全问题,也属于网络安全范畴。但,不会发生大规模密钥泄露问题。目前,银行上线的HCE应用都是属于在线模式。

离线模式:

相关密钥、敏感数据、金额等信息都会存储在手机内部。这样就麻烦了,因为Android手机很容易被root,所有的数据会被读取、复制。

纯HCE的安全方案:

  • 交易密钥:通过会话密钥进行保护,每次登陆会话密钥会进行变化,对交易密钥进行转加密。
  • 敏感数据以及金额:通过会话密钥进行保护,用数据明文对全0进行加密,产生校验值;在验证敏感数据与金额时,先进行解密,然后进行比较校验值。

安全级别:算法隐藏

缺点:无法实现防复制。

HCE+TEE的安全方案:

  • HCE应用实现模拟行业应用。
  • TEE存储密钥、敏感数据、金额等。

安全级别:内核安全

缺点:TEE适配率低,而且需要重新启动手机。

时间: 2024-10-15 13:43:06

HCE安全问题的相关文章

从HCE的各种问题 讨论未来趋势

为了能让NFC手机支持NFC支付,维萨公司和万事达公司宣布了对HCE的研发,并且将很快推出最新的HCE规范.从2012年末,我一直在关注关于HCE的相关信息,其原因是由于我们公司参与了名为SimplyTapp的NFC支付系统,如想了解更多信息您可阅读“HCE存留的质疑”和“安卓KitKat系统采用HCE功能实现移动支付的意义”两篇文章. 根据最近的网络认证公告,这篇文章意图给维萨卡和万事达卡的发展动态提供一些新的关注点,如: 1.各运营商凭借各自不同的方法是如何做到把发卡方安全凭证储存到云端?

基于HCE移动支付研究报告

1. 概念 HCE(host-based card emulation),即基于主机的卡模拟.在一部配备NFC功能的手机实现卡模拟,目前有两种方式:一种是基于硬件的,称为虚拟卡模式(Virtual Card Mode);一种是基于软件的,被称为主机卡模式(Host Card Mode),即本文要讨论的方式. 在虚拟卡模式下,需要提供安全模块SE(Secure Elemen),SE提供对敏感信息的安全存储和对交易事务提供一个安全的执行环境.NFC芯片作为非接触通讯前端,将从外部读写器接收到的命令转

多线程的实现及其安全问题

一.进程和线程概述 1.进程:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动,简单来说开启一个程序就开启了一个进程: 如果开启多个进程,它们之间是由于CPU的时间片在相互的切换: 2.线程:开启一个进程的一个任务,对于多线程:每一个线程都在争夺CPU的执行权(CPU的执行权具有随机性): 如果一个程序的执行路径有多条,那么该线程是多线程;反之,就单线程线程:线程是依赖于进程存在的! 3.Jvm是多线程 -- 至少开启了两条线程 main方法 主线程 gc() 垃圾回收线程 二.多线程

java线程安全问题之静态变量、实例变量、局部变量

Java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同<java并发编程实践>中所说: 写道 给线程安全下定义比较困难.存在很多种定义,如:"一个类在可以被多个线程安全调用时就是线程安全的". 此处不赘述了,首先给出静态变量.实例变量.局部变量在多线程环境下的线程安全问题结论,然后用示例验证,请大家擦亮眼睛,有错必究,否则误人子弟! 静态变量:线程非安全. 静态变量即类变量,位于方法区,为所有对象共享,共享一份内存,一旦静态

php == 操作符带来的安全问题

1 比较操作符 php的比较操作符有==(等于)松散比较,===(完全等于)严格比较,这里面就会引入很多有意思的问题.在松散比较的时候,php会将他们的类型统一,比如说字符到数字,非bool类型转换成bool类型,为了避免意想不到的运行效果,应该使用严格比较.如下是php manual上的比较运算符表: 例子 名称 结果 $a == $b 等于 TRUE,如果类型转换后 $a 等于 $b. $a === $b 全等 TRUE,如果 $a 等于 $b,并且它们的类型也相同. $a != $b 不等

JSON中的安全问题

Web中使用JSON时最常见的两个安全问题: 1.跨站请求伪造: 即CSRF,是一种利用站点对用户浏览器信任发起攻击的方式.典型的就是JSON数组,更多信息请自行上网百度. 2.跨站脚本攻击. 是注入攻击的一种,在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象时. 在定位JSON安全问题时,应该记住以下三件事情: 一.不要使用顶级数组.顶级数组是合法的JavaScript脚本,它们可以用<scirpt>标签链接并使

GEETEST极验召集互联网大佬齐聚光谷,共同探讨交互安全问题

全球互联网技术在飞速发展的同时,网络安全事件也随之频发.除了直接带来经济损失的网络恶意攻击之外,企业在多个方面也遭受着不同程度的网络恶意攻击,包括品牌形象.管理时间.企业竞争力.客户成交量.用户行为等. 极验自2012年成立以来, 一直专注于利用人工智能技术解决日益严峻的互联网交互安全问题.为了更好的帮助企业应对日益严峻的交互安全形势,极验于9月14日举办的以"新视角.新安全"为主题的线下沙龙在光谷创业咖啡举办. 本次沙龙聚集了盛天网络.斗鱼TV.九州通.长江证券.泰康在线.楚天云.卓

asp.net MVC 常见安全问题及解决方案

asp.net MVC 常见安全问题及解决方案 一.CSRF (Cross-site request forgery跨站请求伪造,也被称为"one click attack"或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用) 详细说明: http://imroot.diandian.com/post/2010-11-21/40031442584 Example :            在登陆状态下进入了攻击网站向安全站点发送了请求. Solut

多线程创建方式及线程安全问题

1.创建线程方式 一:  创建线程方式一继承Thread类 public clsss MyThread extends Thread{ //重写run方法,设置线程任务 Run(){ } } main(){ new MyThread().start(); } 获取线程名称: Thread.currentThread()获取当前线程对象 Thread.currentThread().getName();获取当前线程对象的名称 二:创建线程方式-实现Runnable接口 创建线程的步骤. 1.定义类