<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>On the road to Bandol &#187; Discussions</title>
	<atom:link href="https://javacard.vetilles.com/category/discussions/feed/" rel="self" type="application/rss+xml" />
	<link>https://javacard.vetilles.com</link>
	<description>A weblog on Java Card, security, and other things personal</description>
	<lastBuildDate>Mon, 18 Aug 2025 06:48:26 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.32</generator>
	<item>
		<title>Uh oh, Google just stopped updating my kids&#8217; phones</title>
		<link>https://javacard.vetilles.com/2019/05/20/uh-oh-google-just-stopped-updating-my-kids-phones/</link>
		<comments>https://javacard.vetilles.com/2019/05/20/uh-oh-google-just-stopped-updating-my-kids-phones/#comments</comments>
		<pubDate>Mon, 20 May 2019 20:13:32 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Mobile Security]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26391</guid>
		<description><![CDATA[So, Google has revoked Huawei&#8217;s Android license. Huawei&#8217;s new phones won&#8217;t get any of the nice Google features like Google&#8217;s store, Gmail, and more. But also, all existing Huawei phones will stop receiving updates from Google. What? This includes my kids&#8217; Honor-branded phones, and as far as I know, a significant portion of the kids [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So, Google has revoked Huawei&#8217;s Android license. Huawei&#8217;s new phones won&#8217;t get any of the nice Google features like Google&#8217;s store, Gmail, and more. But also, all existing Huawei phones will stop receiving updates from Google.</p>
<p>What? This includes my kids&#8217; Honor-branded phones, and as far as I know, a significant portion of the kids in their middle school, as Honor has been proposing phones with a great value for a few years, and they are popular in that population who are usually not getting the top-of-the-line models.</p>
<p>I could also have titled this blog more provocatively as &#8220;Google denies basic security to their customers,&#8221; &#8220;Donald Trump throws millions of kids in hackers&#8217; hands,&#8221; or &#8220;Evil Americans exercise extra-territorial power over people around the world.&#8221; There are plenty of opportunities here to be angry, but the problem is elsewhere.</p>
<p>There is here a trust and liability issue. When I buy an Android phone, I expect some service from the vendor, but I also expect some services from Google. In my professional life, I am battling for improving IoT security, making updates mandatory and secure, among other things. Until now, this was a battle against slackers and profiteers, but today, politics is getting in the way. If hackers benefit from this, who can be held liable? Is this just Huawei? Doesn&#8217;t Google share some responsibility for stopping their support? My kids have done nothing, for sure.</p>
<p>Most comments seem to emphasize that Google dealt a big blow to Huawei, but Google has also dealt a big blow to themselves: Huawei didn&#8217;t cut my kids&#8217; updates, Google did. This really has some consequences on the Android model: When you buy a phone with Android, you introduce a dependency between you and both the device vendor and Google, and you will be a collateral victim if their relationship turns sour. This almost sounds like Apple; when you get an iPhone, you belong to Apple, but at least, only to Apple.</p>
<p>It makes me rethink seriously my dependency on Google, so it&#8217;s time to take some strong decisions. I will switch my family streaming subscription from Google Play Music to Spotify, just to make sure that my kids still enjoy music on their unsupported phones. And if this madness continues, I will move them to Huawei&#8217;s app store as wellâ€¦ </p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2019/05/20/uh-oh-google-just-stopped-updating-my-kids-phones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re back for 2019!</title>
		<link>https://javacard.vetilles.com/2019/01/06/were-back-for-2019/</link>
		<comments>https://javacard.vetilles.com/2019/01/06/were-back-for-2019/#comments</comments>
		<pubDate>Sun, 06 Jan 2019 16:01:01 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Open issues]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26381</guid>
		<description><![CDATA[It&#8217;s 2019, and it took me 2 months (including a great deal of procrastination) to fix a PHP version issue after a site migration. My hate of PHP just grew a bit more&#8230; In this early 2019, the Road to Bandol can be quite dangerous, as exemplified by the video below: Yep, that&#8217;s the Bandol [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s 2019, and it took me 2 months (including a great deal of procrastination) to fix a PHP version issue after a site migration. My hate of PHP just grew a bit more&#8230;</p>
<p>In  this early 2019, the Road to Bandol can be quite dangerous, as exemplified by the video below:</p>
<p><iframe width="560" height="315" src="https://www.youtube.com/embed/N99Po_zbtgc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Yep, that&#8217;s the Bandol toll barrier burning during a <em>gilets jaunes</em> demonstration. I am not sure to be fully sympathetic to these <em>gilets jaunes</em>, but they represent the French way to signal major unease in the population: rioting.</p>
<p>What they want is not clear, but what they express is very clear: it was better before. And I have to admit that the latest serious books that I have read kinda make me feel somewhat like this:</p>
<ul>
<li>Bruce Schneier&#8217;s <a href="https://amzn.to/2SD5CjV" class="liexternal">Click Here to Kill Everybody: Security and Survival in a Hyper-Connected World</a> promises us an IoT apocalypse that sounds just plausible to me.</li>
<li>Yuval Harari&#8217;s <a href="https://amzn.to/2C2eAAf" class="liexternal">Homo Deus: A Brief History of Tomorrow</a> promises us another dystopian future, where AI is the scary thing, and gives a good background to the <em>gilets jaunes</em> by his description of the current failure of the capitalist religion.</li>
<li>Research book <a href="https://amzn.to/2TtOVr6" class="liexternal">Agnotology: The Making and Unmaking of Ignorance</a> provides chilling insights into how fake news is just one of the ways to build ignorance of the masses willfully for the benefit of a few.</li>
</ul>
<p>I guess that the year 2019 is going to be interesting, but it takes me a lot of positive energy to be optimistic about the near future. But then, who knows, because</p>
<blockquote><p><em><large>The times, they are a changing&#8230;</large></em>
</p></blockquote>
<p>So let&#8217;s go for a good change.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2019/01/06/were-back-for-2019/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resilience for Connected Objects</title>
		<link>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/</link>
		<comments>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/#comments</comments>
		<pubDate>Wed, 30 Nov 2016 18:06:24 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[IoT Security]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[trust]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26311</guid>
		<description><![CDATA[Attacks occur, especially on IoT. While it is very hard to avoid an attack altogether, we can minimize its consequences. The first factor to consider is the impact of an attack; there are many ways to analyze such impact, for instance from a financial or technical point of view. In a very simple analysis, we [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Attacks occur, especially on IoT. While it is very hard to avoid an attack altogether, we can minimize its consequences.<br />
The first factor to consider is the impact of an attack; there are many ways to analyze such impact, for instance from a financial or technical point of view. In a very simple analysis, we can consider three main categories of impacts:</p>
<ul>
<li>The device performs its tasks normally, but the attacker also runs other software on it, for instance to make it participate to DDoS attacks.</li>
<li>The device apparently works normally, but its behavior is somehow altered, for instance by providing wrong information.</li>
<li>The device doesnâ€™t work or obviously dysfunctions, for instance a car that wonâ€™t start.</li>
</ul>
<p>A second factor to analyze the consequence of an attack is the duration of the attack, or the delay until recovery. Here, we can consider four situations:</p>
<ul>
<li><strong>Until next reboot</strong>. I am confident that the firmware hasnâ€™t been modified, so a reboot will remove the attack vector from RAM and address the problem.</li>
<li><strong>Until next hard reset</strong>. I am confident that the device will not boot on modified firmware, so a hard reset will restore a Â«&nbsp;good&nbsp;Â» copy of the last known correct firmware.</li>
<li><strong>Until next update</strong>. I am not sure about the full firmware, but I know that a firmware update will remain possible and will address the issue.</li>
<li><strong>Until replacement</strong>. The firmware update mechanism is corrupted as well (or the device is permanently damaged), so the only solution is to replace the device.</li>
</ul>
<p><span id="more-26311"></span></p>
<p>We could go further, but letâ€™s stop here for now. The impact looks essential, but the differences between the three scenarios arenâ€™t that great. An obvious dysfunction is bad, but a device whose behavior has been altered by an attacker can be just as bad, and a device that is controlled by a hacker can easily become dysfunctional. In all three situations, it is obvious that some fix is required.</p>
<p>Thatâ€™s where duration and recovery are important. The two first options (reboot and hard reset) are only temporary fixes. Even if the attack is transient and can be removed, the vulnerabilities that made the attack possible are still present, and the attack can be reproduced easily. Ideally, a reboot or reset/restore must be accompanied with some operational restrictions (like a &#8220;safe mode&#8221;) until an update is performed.</p>
<p>What we are analyzing here with recovery methods is resilience, or according to Random House, &#8220;the power or ability to return to the original form, after being [attacked]&#8221;. It is a valuable property for systems that are submitted to high levels of stress. Resilience is about recovery, in opposition to resistance, which is about protection.</p>
<p>Resilience and resistance are complementary. Resilience is often considered easier to achieve than resistance, but maybe more importantly, resilience may still happen when resistance has failed. Even if an attack on a system has been successful, its recovery is possible is the system is resilient to that attack.</p>
<p>We can here use an analogy with resilience against natural disasters. Although a hurricane can cause massive destruction to coastal areas, (resistance is limited), most U.S. coastal areas are resilient against hurricanes because hurricane evacuation routes have been defined, and shelters are ready to host evacuated people. Such resilience measures rarely fail, and we are shocked when this occurs, like in New Orleans after Katrina.</p>
<p>For an embedded device, resilience is mostly about:</p>
<ul>
<li>Secure boot, to restart from a clean sheet upon reboot, and detect a potentially persistent attack.</li>
<li>Firmware update, to load a new version that is not vulnerable to the attack.</li>
</ul>
<p>More generally, resilience can be achieved through simple infrastructure means like roads and shelters. In the case of connected devices, resilience can be achieved through low-level features, within or below the operating system, and highly independent of the use case.</p>
<p>However, although resilience mechanisms are simple, they also need to be very robust. A hurricane shelter must be built on high ground with strong material like reinforced concrete that offer strong guarantees of resistance against a hurricane. Similarly, the secure boot and firmware updates of a connected device must be designed and implemented to resist attacks. In both cases, this resistance is easier to build because it is applied on a smaller scale, and it is mutualized:</p>
<ul>
<li><strong>Smaller scale</strong>. A shelter is a single building, typically used for other purposes (like a stadium) that is relatively easy to reinforce. Similarly, a secure boot is a small mechanism, so is the security-critical subset of a firmware update mechanism. These mechanisms offer a small attack surface, and are therefore easier to protect than an entire software stack.</li>
<li><strong>Mutualized</strong>. A shelter is shared by all members of a community, who will use it together in case of emergency. Similarly, secure boot and firmware update are independent of the deviceâ€™s role and application. The development and reinforcement efforts can therefore be mutualized, reducing the cost for every device.</li>
</ul>
<h3>Resilience must be proactive</h3>
<p>Resilience is the capacity to recover from an attack, and as such, appears to be a highly reactive technology, that comes after the fact. It is of course true that resilience mechanisms are triggered after the fact, but in order to succeed, they need to be proactively prepared.</p>
<p>Just like evacuation routes and shelters need to be planned in advance and designed to resist a hurricane, resilience measures in IoT devices similarly need to be prepared beforehand. A firmware update mechanism is crucial, and it needs to be prepared with great care proactively. In particular, this mechanism must be designed to be highly resistant against attacks.</p>
<p>In the world of connected devices, we know that resistance to attacks will be difficult to achieve, because it requires a very large investment from vendors to fix all vulnerabilities and make their systems resistant to attacks. Resilience, on the other hand, can be achieved on a wide scale with a limited budget, and has the ability to provide a strong basis on which IoT security can gradually be built.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beyond Java Card</title>
		<link>https://javacard.vetilles.com/2016/05/19/beyond-java-card/</link>
		<comments>https://javacard.vetilles.com/2016/05/19/beyond-java-card/#comments</comments>
		<pubDate>Thu, 19 May 2016 09:32:06 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Java Card]]></category>
		<category><![CDATA[Mobile Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=25880</guid>
		<description><![CDATA[When Java Card was created, the market for smart cards was quite simple: chip vendors would design specific chips, chip vendors would develop an operating system for the chips and produce cards embedding the chip. Since then, this market has become much more complicated. For traditional payment and ID, changes are minimal, as card vendors [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>When Java Card was created, the market for smart cards was quite simple: chip vendors would design specific chips, chip vendors would develop an operating system for the chips and produce cards embedding the chip. Since then, this market has become much more complicated. For traditional payment and ID, changes are minimal, as card vendors often keep a central role. On mobile phones, the security landscape has greatly evolved, with embedded SIM cards, secure elements offering multiple applications like mobile payment, and even security hardware embedded in main chipsets, for instance around a TrustZone architecture, which is used to control security interfaces like fingerprint scanners. Finally, there are new potential security requirements, such as the internet of things, where security is becoming important.</p>
<p>Looking at this from a Java Card point of view, the main question is to understand the limits of Java Card. Should it be just a smart card framework, or a more generic security framework?  Are there good reasons to use or not use Java Card on a particular kind of security framework? That&#8217;s what we explore in this last installment of my farewell to Java Card.</p>
<h2>What makes Java Card good?</h2>
<p>Or in other terms, &#8220;what&#8217;s the value of Java Card&#8221;? Java Card is a security middleware framework, which presents a portable interface to security functions typically provided by smart card hardware, and it is valuable because:</p>
<ul>
<li>It allows the development of reference frameworks (such as the SIM toolkit framework), and of reference applications (like Visa&#8217;s payment application), which can then be made available on all Java Card-compliant devices.</li>
<li>It provides to developers a security framework that is relatively easy to use, where all the key functions (cryptography, authentication) are already implemented and available with predictible qualities on many commercial platforms.</li>
<li>It includes a full ecosystem, including laboratories and certification authorities that are specific to the security community.</li>
</ul>
<p>That may not sound like much, but when it comes to programming security environments, this combination is quite unique.</p>
<h2>What can Java Card run on?</h2>
<p>That may first sound as a strange question, unless we reformulate it as &#8220;Beyond smart cards, what can Java Card run on&#8221;?</p>
<p>I have stated for quite a while that Java Card is suitable for any dedicated security subsystem. Such subsystems obviously include all kinds of smart cards and secure elements. Now, what about other security subsystems:</p>
<ul>
<li>In preparation for the deployment of eUICC, mobile chip vendors are getting ready to integrate a security element within the main mobile chipset (as they do with all new promising technologies). Here, the idea is to include secure hardware, similar to a secure element&#8217;s, and to use some kind of TEE to protect its access. This kind of security subsystem is quite obviously a Java Card target, at least because it will most likely need to support the SIM Toolkit Java Card framework.</li>
<li>Going a step further, Java Card could run on any Trusted Execution Environment. Some experiments have been made, showing that Java Card could be successful in that area. The debate is here whether this extension of Java Card&#8217;s realm represents a risk (for the smart card/secure element industry) or an opportunity (for the security subsystem industry).</li>
<li>Going even a bit further, Java Card can run on any system that offers virtualization and the ability to have a dedicated security VM. This could be very useful in particular for low-cost devices, where it doesn&#8217;t make financial sense to include a secure element or even a full-fledged TEE. Note that such a dedicated VM could still achieve a good security level, by leveraging hardware mechanisms  like TrustZone (now available even on Cortex M cores), or software mechanisms like formally proven software stacks.</li>
</ul>
<p>Note that such extensions could require an evolution of the Java Card platform, at least because the memory model of these chips is different from the model used in secure elements. In addition, some additional features may be required.</p>
<h2>What uses for Java Card?</h2>
<p>The final step is to combine the value of Java Card with these opportunities: How can Java Card bring significant added value in these areas? We can take a look at a few use cases:</p>
<ul>
<li>On mobile devices, eUICC is likely to be a game changer. The combination of secure element technology and TrustZone in a mobile processor allows the implementation of UICC-like functionality, and the flexibility required to manage the environments provided by several network operators can be easily addressed with Java Card, since most operators already use the technology and have applications ported to the platform. In addition, this secure environment could be leveraged in other ways: (1) the TEE is not clearly established today, so it could be replaced by this environment, which offers similar or higher security features; and (2) this secure environment could be leveraged to host the applications that run today in the mobile device&#8217;s embedded secure element, if implementers are able to prove that they can reach the required security level.</li>
<li>In the IoT market, the opportunity is to address the  security of endpoints (the things). This market remains wide open, with no established standard. Most actors also have limited security know-how, and development cycles are very short. The Java Card ecosystem can here prove to be an essential competitive advantage, as it is relatively easy to develop Java Card applications and evaluate their security. Yet, in this market, we are missing a category of actors that would build the basic security services and a framework to deploy them easily on top of the existing Java Card and GlobalPlatform frameworks.</li>
</ul>
<p>I am sure that there is more, but these two markets represent the major opportunities available today.</p>
<h2>Long live Java Card!</h2>
<p>Java Card technology has dominated the smart card industry for a while, and it now faces the same challenges as this industry, which may also be a great opportunity. Security is becoming a priority in areas like mobile phones and IoT, but secure elements are being challenged by new technologies for the implementations of security subsystems.</p>
<p>Java Card has the ability to be one of the technologies that will bridge the &#8220;old&#8221; smart card world with this new world, and I will close this series by wishing the best to the Oracle, the Java Card Forum and the entire Java Card community, hoping that they will be able to seize this opportunity and keep Java Card great for many more years.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2016/05/19/beyond-java-card/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java Card, a farewell</title>
		<link>https://javacard.vetilles.com/2016/05/09/java-card-a-farewell/</link>
		<comments>https://javacard.vetilles.com/2016/05/09/java-card-a-farewell/#comments</comments>
		<pubDate>Mon, 09 May 2016 11:54:08 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[History]]></category>
		<category><![CDATA[Java Card 2.x]]></category>
		<category><![CDATA[Java Card Bandol]]></category>
		<category><![CDATA[Java Card]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=25865</guid>
		<description><![CDATA[My Oracle story has ended, and with it my Java Card story, at least for now. I started working on the technology in February 1997, and I have never been very far from the technology for almost 20 years. However, Java Card is not in the scope of my next job, as I will focus [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>My Oracle story has ended, and with it my Java Card story, at least for now. I started working on the technology in February 1997, and I have never been very far from the technology for almost 20 years. However, Java Card is not in the scope of my next job, as I will focus on embedded and IoT security. I can&#8217;t say that I will never work again on Java Card, but at least I will take a break.</p>
<p>These 20 years have been quite an interesting ride. Java Card is an amazing technology, just as successful as it is understated. Java Card has been deployed on over 15 billion devices since the first deployments in 2000, its deployment numbers have been growing steadily for 15 years. With the current movements in the SIM industry, it is hard to guarantee that this growth will be sustained over the next years, but Java Card is at least guaranteed to have a very fat and very long tail before it disappears.</p>
<p>I will publish a few entries on Java Card, starting here with a few comments on how improbable this success has been over the years.</p>
<h2>An immature technology for an immature industry</h2>
<p>Initial work on Java Card started in 1996 at Schlumberger&#8217;s research team (now part of Gemalto), as all card vendors were looking for solutions to run scripts on smart cards, mostly for supporting the SIM Toolkit framework. At the time, every major vendor had developed a proprietary solution, usually based on an existing programming framework.</p>
<p>In 1997, smart card issuers were starting to ask for interoperability between vendors. The Java Card Forum was founded in the spring as an answer, although few of its members were convinced that it was the way to go forward. Sun Microsystems was invited as owner of the Java technology, smart card vendors became Java Card licensees, and Sun Microsystems took the responsibility of managing the specification and related technologies (reference implementation and compliance kit). Sun didn&#8217;t have any experience about smart cards, and in the first meetings, their representatives clearly showed it. Sun then hired Integrity Arts (a Gemplus spin-off) as consultant, and rapidly acquired them, getting expertise in-house.</p>
<p>Java was not well suited to the smart cards available then. The language was easy to learn, but the virtual machine brought an overhead in both size and performance. At the time, it would have been possible to design a more suitable standard for programming smart cards, but the industry has not been able to organize in order to define such a standard.</p>
<p>Java Card became an API specification rapidly with version 2.0, but this version was short-lived, and quickly replaced by version 2.1, which also included a virtual machine specification, and allowed binary Interoperability between products. At about that time, the mobile operators became really interested, a SIM toolkit API was defined, and the deployment began around 2000.</p>
<p>15 years later, this adoption of a poorly adapted technology by an immature industry has become an asset. Because Java Card was a bit too ambitious at the time, and thanks to the continuing success of the Java language, Java Card has now become a mainstream technology, which in 2015, fits the needs of the smart card market, and is present on most open smart cards, and roughly half of the microprocessor cards sold worldwide. In the end, it pays to be inadapted.</p>
<h2>Mostly an ecosystem</h2>
<p>In the late 1990&#8217;s, the first marketing sentences for Java Card were directly taken from Java, like &#8220;Millions of developers&#8221;, or &#8220;Write once, run anywhere&#8221;. The one specific marketing argument was about &#8220;Running multiple applications on your card&#8221;. Fifteen years later, here is a factual status:</p>
<ul>
<li>Hundreds of developers (tens of expert developers), mostly working for smart card vendors or for a few specialized consulting firms.</li>
<li>Most applications written for a single card, or at least for a single issuer.</li>
<li>Most applications written by a card vendor, and running only on a single vendor&#8217;s cards.</li>
<li>Most cards running a single application.</li>
</ul>
<p>The next question is: why is Java Card still around if it is not used? Well, in fact, it is being used, just not in the ways that people initially planned. In fact, an essential factor in the success of Java Card has been the certification of cards. In many cases, once a card is deployed, there is no (efficient) procedure to update the card to fix a bug or a vulnerability. Therefore, cards are heavily tested before to be deployed, and most vendors require several levels of certification, including a functional certification and a security certification.</p>
<p>These certification processes are costly, both in developer resources and in laboratory fees. Over the years, efficient certification has become an essential aspect of card development, and Java Card facilitated this in several ways:</p>
<ul>
<li>A reference for core functionality. The Java Card specification defines a set of core functions which can then be used to develop applications (cryptography, I/O, storage, appication isolation and sharing). It then becomes possible to test separately these core functions (by evaluating a Java Card platform) and the application using them (by evaluating a Java Card applet). This can lead to economies of scale.</li>
<li>Reference applications. Some issuers and actors, notably Visa, have written reference versions of their applications, which have been thoroughly tested on compliant Java Card implementations. Vendors who use these reference implementations can simplify the certification process.</li>
<li>Building experience beyond developers. Laboratories, certification authorities, security consultants all have worked with many Java Card platforms and applications over the years, and now feel confident about their ability to use, test and certify such cards in different configurations. This is the ecosystem part.</li>
</ul>
<p>In the past few years, the strength of this ecosystem has been a key asset for Java Card, together with the fact that it remains today the dominant platform for defining APIs for smart cards, regardless of the target vertical (once again an ecosystem aspect).</p>
<h2>Not dead, not frozen, just slow and conservative</h2>
<p>Another striking feature of Java Card is its lack of evolution. The core features of the platform have remained vastly unchanged since release 2.1. Several attempts to make the platform evolve have failed over the years:</p>
<ul>
<li>Java Card RMI was introduced with Java Card 2.2, with the objective of making it easier to design new smart card applications, but it was never adopted by the community. Support of Java Card RMI has been optional in the latest releases, and it was close from being deprecated a few times.</li>
<li>Java Card 3.0 Connected was a bolder attempt at reaching new markets, this time arounod Smart Card Web Servers. This specification is very nice, and it defines a Web application model that can be implemented in half a megabyte, all included (OS, VM, Web container, content management, and a few apps). Yet, smart card web servers never caught, and this specification has never been implemented in a real product since its 2009 release.</li>
<li>An annotation framework for security interoperability was added recently, but the industry hasn&#8217;t been able to agree on a semantics for these annotations, and it has not been adopted.</li>
</ul>
<p>In the latest 3.0.5 release, we have attempted to add a few simple things, hoping that they will be adopted, but this will only happen in a while, because of another interesting specificity of Java Card. It takes around a year to develop a new platform after the release of a specification, at least another year to get a full certification (functional and security), and another year to sell, produce and deploy it. That&#8217;s about 3 years between the specification and the actual availability of products.</p>
<p>This development rate partly explains the slow evolution of Java Card. The smart card ecosystem globally evolves very slowly, and to observers who are used to Web-like evolution, it may look life completely frozen. However, it keeps evolving at its specific and very slow rate. Since 2009, Java Card has become much better adapted to contactless cards, it has adopted a number of cryptographic technologies, and a few other features have evolved to follow the evolution of smart card hardware. Such changes are invisible to the non-specialist, but they keep the Java Card framework in synch with smart card technology, and this is what really counts.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2016/05/09/java-card-a-farewell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Did Apple just boost mobile security?</title>
		<link>https://javacard.vetilles.com/2014/09/12/did-apple-just-boost-mobile-security/</link>
		<comments>https://javacard.vetilles.com/2014/09/12/did-apple-just-boost-mobile-security/#comments</comments>
		<pubDate>Fri, 12 Sep 2014 20:47:13 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Mobile Security]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mobile payment]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=893</guid>
		<description><![CDATA[I have been working on mobile security for many years, and things haven&#8217;t moved much: justifying mobile security is always painful. Whyshould Ispend more money? There aren&#8217;t that many attacks! Some business use cases seemed like a good justification, but the economics are unclear and remain in the order of &#8220;if youget hacked, it could [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have been working on mobile security for many years, and things haven&#8217;t moved much: justifying mobile security is always painful. Whyshould Ispend more money? There aren&#8217;t that many attacks! Some business use cases seemed like a good justification, but the economics are unclear and remain in the order of &#8220;if youget hacked, it could cost you a lot of money&#8221;.</p>
<p>With iPay, Apple just proved to many people that mobile security can have a favorable economics. By embedding a biometric sensor and putting their critical credentials on an embedded secure element, they have been able to negotiate a lower transaction fees on their payments and save millions in the future. Mobile security brings millions instead of just boring geek stuff? Now, that&#8217;s innovation.</p>
<p>Of course, the security of the iPhone 6 must live up to these high expectations. As much as the latest announcements bring a boost to mobile security, the announcement of a hack allowing a guy to steal a phone and use it &#8220;illegally&#8221; has the power to bring us back to the dark ages.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2014/09/12/did-apple-just-boost-mobile-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Off-Card Bytecode Verifier is fine, thank you!</title>
		<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/</link>
		<comments>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/#comments</comments>
		<pubDate>Thu, 21 Nov 2013 13:42:50 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Java Card 2.x]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[logical attack]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=877</guid>
		<description><![CDATA[REWRITTEN on 23 Nov. 2013. A few weeks ago, a friend sent me a link to the Cardis program, with the message &#8220;A bug in the verifier?&#8221;. Looking at the program, I saw a paper entitled Manipulating frame information with an Underflow attack undetected by the Off-Card Verifier, by Thales Communications and Security. This sounded [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>REWRITTEN on 23 Nov. 2013.</p>
<p>A few weeks ago, a friend sent me a link to the <a href="http://cardis.sec.t-labs.tu-berlin.de/program.html" class="liexternal">Cardis</a> program, with the message &#8220;A bug in the verifier?&#8221;. Looking at the program, I saw a paper entitled <em>Manipulating frame information with an Underflow attack undetected by the Off-Card Verifier</em>, by Thales Communications and Security. This sounded like bad news, so I got a copy of the paper and read it. </p>
<p>The good news is that there is no bug. Nevertheless, reading the paper made me unhappy. As a consequence, the first version of this blog post was a flame, in which I qualified the paper of &#8220;dishonest, not innovative, and misleading&#8221;.</p>
<p>Publishing the flame triggered some discussions, with people at Thalès and with other people, in particular with Jean-Louis Lanet of XLIM. They provided me their views on the topic, and I have decided to revise my original flame into a more mundane and constructive post.</p>
<h4>Dishonest, or just a bad title.</h4>
<p>As mentioned above, the paper&#8217;s title is&#8221;Manipulating frame information with an Underflow attack undetected by the Off-Card Verifier&#8221;. However, section 3.2 of the paper surprisingly starts with the sentence: &#8220;The standard Oracle bytecode verifier detects the underflow attack&#8221;. There is no other reference to a verifier that would not detect that attack, and that makes the title sound really dishonest, at least the &#8220;undetected&#8221; part of it.</p>
<p>More specifically, it seems that the objective of the paper is not to point to an issue in the off-card verifier, as the title seems to, but rather to point to the fact that there exist ways to bypass the verification. A revision of the title in the proceedings would do just fine.</p>
<h4>Not innovative, or not published.</h4>
<p>The paper describes an attack that uses the <code>dup_x</code> instruction to perform a stack underflow. This stack underflow allows the authors to access the content of a stack frame, including the current context, and to change it. The question is: is this a new attack? As a virtual machine implementer and evaluator, I would say no immediately. This attack very easily comes to mind as soon as you know the content of a stack frame (as an implementer does). This attack has therefore been in my &#8220;bag of tricks&#8221; when I was an evaluator, and was even quite a practical one.</p>
<p>Now, the smart card industry is secretive, and evaluators are even more secretive. Very few actual attacks have been described in scientific papers. It seems that the attack to mention stack underflow is the EMAN2 attack described by Bouffard <em>et al.</em> at Cardis in 2011. However, they only abuse the return address, labeling the current context &#8220;unknown value&#8221;. In that context, it seems that this paper describes something that has not been published before. For this one, my apologies, as I forgot the secrecy of the industry, and kudos for actually publishing this rather than keeping it secret.</p>
<p>So now, the community knows that, unverified bytecode can lead on some cards to allowing an attacker to run attacker-provided code in a chosen context. This is about as bad as it gets, and now, additional attacks will fall in my &#8220;tricks&#8221; category, in which an attacker/evaluator uses a new illegal bytecode combination because the previously known ones don&#8217;t work on a card. I hope that we won&#8217;t see more scientific papers about such tricks (see Jean-Louis Lanet&#8217;s second comment about this).</p>
<h4>Misleading, or missing its target.</h4>
<p>Of course, since the off-card verifier catches all of these logical attacks, they are not supposed to occur in real life, where bytecode verifiers are systematically used.</p>
<p>Let&#8217;s make a parallel between two typical components, RSA and a virtual machine. RSA is a crypto algorithm, a function <em>RSA(K,M)</em> that takes as input a key <em>K</em> and a message <em>M</em>, and produces a result. Similarly, a virtual machine is a function <em>VM(P,I)</em>, where <em>P</em> is a program (in bytecode) and <em>I</em> some input data, and produces a result. The RSA and VM functions share something important: the key <em>K</em> and the program <em>P</em> need to obey some properties. If the don&#8217;t, the algorithms don&#8217;t work. </p>
<p>If the RSA prime factors are not prime numbers, or if the program provided to the VM is not valid, their results may not be satisfactory: although they are functionally correct, they will not have the expected security properties. In order to avoid bad keys and bad programs, we use appropriate algorithms to perform primality checks, and to verify bytecode. Just as it is important to ensure that an attacker cannot tamper with the key generation scheme, it is important to ensure that bytecode is verified before to be executed. But is it sufficient?</p>
<p>Well, that may be sufficient if you run your VM or your RSA on a device that is physically protected from attackers. But on a smart card, it isn&#8217;t sufficient, at least for RSA. There have been many attacks published on smart card implementations of RSA, using fault induction, power analysis, and more. The VM is just as sensitive to these attacks; in particular, combined attacks can be used to dynamically create illegal code on a card, as mentioned in the paper.</p>
<p>If we continue the analogy, RSA is still used on cards, even though attacks exist. During security evaluations, the robustness of the implementation is verified by a lab, which ensures that well-known attacks don&#8217;t work. Naturally, the same thing must be done with the VM: a high-security implementation must include significant countermeasures against attacks on VM, such as combined attacks. The implementers have the choice of the countermeasures; they can include additional checks in the virtual machine, attempt to detect the faults, or both, or anything else, as long as it works.</p>
<p>According to my discussion with Thales, this is more or less the point that the paper tries to make, in particular in its last part. However, the paper insists on the malicious application rather than on the attacks, especially in its last sentence:</p>
<blockquote><p>
Finally, this paper shows that during open platform evaluations, it is necessary to take into account malicious applications, and make detailed analysis of each requirement included in the platform guidance.
</p></blockquote>
<p>I definitely agree on the platform guidance aspect. Requiring bytecode verification is not sufficient, as the management of the verification context is also important to avoid logical attacks. However, during evaluations, malicious applications are not the real issue, attacks on the virtual machine are. In that context, malicious applications are for now tied to combined attacks, where a fault triggers the logical attack. What the community often fails to understand is that, on a smart card, a virtual machine is a component like any other: it can be subject to physical attacks. And that&#8217;s the reason why specific countermeasures are required.</p>
<h4>So what?</h4>
<p>In Cardis, the proceedings are collected after the conference, so authors have an opportunity to revise their paper before publication. After our exchanges, I hope that some revisions will be made before publication, in particular on the title and on the last part (making a stronger point about evaluation requirements). And so, I replaced my flame with this. </p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google sucks, or why it is nice to pay sometimes</title>
		<link>https://javacard.vetilles.com/2012/09/22/google-sucks-or-why-it-is-nice-to-pay-sometimes/</link>
		<comments>https://javacard.vetilles.com/2012/09/22/google-sucks-or-why-it-is-nice-to-pay-sometimes/#comments</comments>
		<pubDate>Sat, 22 Sep 2012 16:48:16 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/2012/09/22/google-sucks-or-why-it-is-nice-to-pay-sometimes/</guid>
		<description><![CDATA[I just spent two hours being upset at my daughter&#8217;s school, Google, American law, and a few more people. Let me tell the story. Two hours ago, my 12-year old daughter received an e-mail from her school inviting her to Google+. She accepted the invitation, and Google asked for her age. She told the truth, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I just spent two hours being upset at my daughter&#8217;s school, Google, American law, and a few more people. Let me tell the story. Two hours ago, my 12-year old daughter received an e-mail from her school inviting her to Google+. She accepted the invitation, and Google asked for her age. She told the truth, and the answer has been &#8220;You are not allowed to use Google. Your account has been deactivated, and will be deleted in 29 days&#8221;. Then, she called me.</p>
<p>So, there is an age limit to have a gmail account. Uh oh. The bad thing for me is that Ethel gets punished for doing what I told her to for years: don&#8217;t lie about your age. She has been waiting to get a Facebook account, and she will get it in 40 days, when she turns 13. Sadly, her gmail account will have been deleted 10 days earlier, with all her data, and without any way to get her e-mail address back.</p>
<p>Being bugged by these no-backup and 29-day clauses, I tried to get in contact with Google. Well, this sure isn&#8217;t simple. Basically, you have to use the forum or fill a form. In both cases, you get a robot answer reminding you the rules and ignoring your question. Just the worst service you can imagine. I am not optimistic about saving Ethel&#8217;s e-mail.</p>
<p>Of course, I set up her account two years ago. At the time, there was no age question, and I didn&#8217;t think for a second that there was an age issue to get e-mail. Apparently, the age thing was in the conditions, but not even explicitly; according to some internet posts, the wording was like &#8220;you must be old enough according to laws blah blah&#8221;. Once again, I didn&#8217;t think that there was a law against e-mail for children. Well, there isn&#8217;t, but your gmail account also gives you access to other Google services, including Google+. And there, there is a law (American, not French). So now, as soon as Google realizes that you are underage, they cut you off. Period.</p>
<p>Now, a few more questions and, in some cases, answers:</p>
<ul>
<li><strong>The school invited a 12-year old to Google+?</strong> Well, yes, school fail. I will be on their case, to figure out how this could happen. Most likely, this is just one person making the mistake, and the others not realizing what all this implies.</li>
<li><strong>What do you do with your Android phone if you are under 13?</strong> Well, without an account, many apps won&#8217;t work well. So I guess that the best thing to do is to lie about your age. Thank you, Google, for this nice educational help.</li>
<li><strong>Can&#8217;t parents get a contract on behalf of their children?</strong> In many cases, it is possible, but not with Google (or Facebook). The reason is Google+ and the COPPA law, which protects children on Internet. Since Google+ doesn&#8217;t comply to COPPA, it cannot be accessed by children under 13, even with an authorization. And because Google stupidly links Google+ and gmail, youlose.</li>
</ul>
<p>Now, what is this thing about liking to pay? A few weeks ago, I signed up to Amazon Cloud and had some issues with the music player. I sent a support request, and somebody from Amazon called me the next day on my mobile. I was baffled, since I only expected an e-mail answer. The guy couldn&#8217;t help me, because the feature wasn&#8217;t working. He noted it, and told me that he would let me know when the issue is resolved. And you now what? He did.</p>
<p>This is just good service. i don&#8217;t expect anything close to it from Google. I&#8217;ll let you know what I get. I didn&#8217;t pay for Amazon Cloud (or at least, not yet); however, I am a faithful Amazon customer, spending a lot of money on their site year after year. And I believe that Amazon wants to keep customers, which motivates them to have decent support. For Google, Ethel is not a customer, she is just a piece of data that can be sold to customers. And that just isn&#8217;t a good enough information to pay for.</p>
<p>So, in the end, I become every day more of a fan of paying for services I use, instead of relying on ulltra-complex business models. Would it be possible to have companies that don&#8217;t use random advertising but don&#8217;t make me pay for it? Once again, simple customer-vendor relationships sound good.</p>
<p>Google fail.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2012/09/22/google-sucks-or-why-it-is-nice-to-pay-sometimes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Who inherits your data?</title>
		<link>https://javacard.vetilles.com/2012/08/30/who-inherits-your-data/</link>
		<comments>https://javacard.vetilles.com/2012/08/30/who-inherits-your-data/#comments</comments>
		<pubDate>Thu, 30 Aug 2012 10:17:31 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=823</guid>
		<description><![CDATA[I was pointed this morning by HBR to an interesting article about inheritance and iTunes. The basic story is that, since you only purchase licenses to use content from Apple or Amazon, and since these licenses are not transferable, things don&#8217;t look very good. However, apparently, there may be some kind of a void in [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I was pointed this morning by <a href="http://blogs.hbr.org/morning-advantage/2012/08/morning-advantage-who-gets-you.html" class="liexternal">HBR</a> to an <a href="http://articles.marketwatch.com/2012-08-23/finance/33336852_1_digital-content-digital-files-apple-and-amazon" class="liexternal">interesting article</a> about inheritance and iTunes. The basic story is that, since you only purchase licenses to use content from Apple or Amazon, and since these licenses are not transferable, things don&#8217;t look very good. However, apparently, there may be some kind of a void in the law, so this s a good area for lawyers, and we will see what happens in the future.</p>
<p>This article led me to make the link with the hack that was recently publicized. Beyond hacking, dying is definitely a good way to lose your digital assets. In my personal case, my wife and kids don&#8217;t know my passwords, and they are even aware of all the accounts that I have in many places (actually, I am not fully aware of that). This means that, most likely, nobody will inherit my data, unless I do a digital will.</p>
<p>A rapid Google search has shown that <a href="http://blogs.technet.com/b/next/archive/2012/04/05/do-you-need-a-digital-will.aspx" class="liexternal">other people</a> are thinking about it, including <a href="http://www.funeralinspirations.co.uk/information/Digital-Will-Secure-Internet-Storage.html" class="liexternal">companies offering</a> &#8220;advance funeral plans&#8221;.</p>
<p>Of course, there are a few startups in the area. I like the <a href="http://www.deathswitch.com/" class="liexternal">deathswitch</a> idea: they will regularly send you e-mails; if you don&#8217;t answer them for 30 days, they will send an e-mail to other people, including personalized messages that you have provided, to let them know what to do after your death. This is a service you better not forget, but it gives you an opportunity to tell them that all your passwords are stored in file &#8220;passwords.txt&#8221;, with password &#8220;1234&#8221;.</p>
<p>The <a href="http://legacylocker.com/" class="liexternal">legacylocker</a> offer is much more complete, as it allows you to store all kinds of important information, who will then be disclosed to your legal heirs after your death. And in that case, they will need to provide a certified death certificate to access the information. This one looks good, but I am not sure that they provide a worldwide guarantee. Anyway, they would be nicely complemented by a death switch reminding your heirs of the existence of this digital locker.</p>
<p>Not sure that I will move ahead with such services. I have a personal preference for a NFC-enabled smart card stored in a safe, just because physical objects are a good bootstrap to digital objects (and maybe a little bit because I like smart cards).</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2012/08/30/who-inherits-your-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protecting your contactless card</title>
		<link>https://javacard.vetilles.com/2012/02/20/protecting-your-contactless-card/</link>
		<comments>https://javacard.vetilles.com/2012/02/20/protecting-your-contactless-card/#comments</comments>
		<pubDate>Mon, 20 Feb 2012 08:35:11 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Mobile Security]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[contactless]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=806</guid>
		<description><![CDATA[As I mentioned in NFC Payments 101, current contactless cards aren&#8217;t protected against the simple attack that consists in performing a transaction while your card is in your pocket. Since some models don&#8217;t require anything else than tapping the card, the attack is workable. Well, that may change. researchers for the University of Pittsburgh&#8217;s RFID [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>As I mentioned in <a href="http://javacard.vetilles.com/2012/02/16/nfc-payments-101/" class="liinternal">NFC Payments 101</a>, current contactless cards aren&#8217;t protected against the simple attack that consists in performing a transaction while your card is in your pocket. Since some models don&#8217;t require anything else than tapping the card, the attack is workable.</p>
<p>Well, that may change. researchers for the University of Pittsburgh&#8217;s <a href="http://www.engr2.pitt.edu/SITE/RFID/" class="liexternal">RFID Center for Excellence</a> have invented a on/off switch for cards, that simply requires you to put your finger on a specific spot on a contactless card to allow it to work (see a picture <a href="http://venturebeat.com/2012/02/18/researchers-create-onoff-switch-for-credit-cards-to-prevent-rfid-theft/" class="liexternal">here</a>).</p>
<p>Comment on the various articles around the topic are quite typical, ranging from the &#8220;This is very dumb because it is unpractical&#8221; to the &#8220;You have to give up some practicality for security&#8221;, and all variants in the middle. I would have liked to see the inventors&#8217; arguments, but I haven&#8217;t found a reference to a paper/report.</p>
<p>From previous experience, user experience often wins, in particular when, like with contactless cards, practicality is a selling point of a technology.Also, since the idea is to protect your cards in your wallet, I would think that it is easier for security-conscious to use wallets that include some kind of wire mesh or other wave-blocking technology. Since the on/off switch requires you to actually get the card out of your wallet, it is more or less equivalent, and it only annoys security-conscious people. The other guys will still be able totap their wallet (until, of course, they start having several contactless cards in there, in which case this optimization may not work any more).</p>
<p>This invention does not look flexible enough. The threat of someone performing transactions without you knowing is not significant enough to justify this kind of generalized measure for payment cards. On the other hand, it sounds much better as privacy-protecting technology on ID cards, since an ID card. Ensuring that the data about your identity will not leak from your wallet is interesting, and since an ID card is typically pulled out of the wallet before to be used, the technology is not an annoyance any more. But of course, in research like in politics, the fears associated to credit card theft remain more powerful than those associated to privacy protection (although identity theft is gaining traction).</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2012/02/20/protecting-your-contactless-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
