<?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; Internet of Things</title>
	<atom:link href="https://javacard.vetilles.com/tag/internet-of-things/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>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>Experimenting NFC, things</title>
		<link>https://javacard.vetilles.com/2013/03/27/experimenting-nfc-things/</link>
		<comments>https://javacard.vetilles.com/2013/03/27/experimenting-nfc-things/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 11:37:12 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[VRM]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=868</guid>
		<description><![CDATA[Following my little NFC rants, I have kept on experimenting with Android NFC applications and reading about the Internet of Things (experimenting remains harder, here). The combination is trendy these days, as this week will see the launch of a new initiative in France with the French chapter of ACM SIGOPS (in French). I won&#8217;t [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Following my little NFC rants, I have kept on experimenting with Android NFC applications and reading about the Internet of Things (experimenting remains harder, here). The combination is trendy these days, as this week will see the launch of a new initiative in France with the French chapter of ACM SIGOPS (<a href="http://www.sigops-france.fr/Main/Journee-NFC-SSO" class="liexternal">in French</a>). I won&#8217;t be there, sadly, but I hope to get some feedback from this event.</p>
<p>So, about the Internet of Things, as suggested by <a href="https://twitter.com/tcarlyle" class="liexternal">@tcarlyle</a>, I looked at <a href="http://www.evrythng.com/" class="liexternal">Everythng</a>. I really liked it, and their basic engine is very interesting. What they are doing in the social area is interesting, as they take a fresh look at advertising (with <a href="http://blogs.hbr.org/cs/2013/03/advertising_and_the_internet_o.html" class="liexternal">real interaction</a>). Their offer is definitely worth looking at if you want to do something with objects. And the fact that they are looking in parallel at smart and &#8220;dumb&#8221; objects makes their initiative even more appealing.</p>
<p>However, I still get the feeling that there is a strong interest in going one step further, really exploring VRM here. For instance, on approach like <a href="http://onecub.com" class="liexternal">Onecub</a>, which helps users organize and manage their incoming e-mails from retailers and service providers, sounds really interesting. This kind of engine, connected to Everythng&#8217;s &#8220;thing&#8221; engine, could efficiently link the Internet of People with the Internet of Things, because we certainly don&#8217;t want to get unfiltered messages from all the things we know (and their makers/vendors/distributors). By the way, <a href="https://twitter.com/Onecub" class="liexternal">@Onecub</a>, I would love to take a look at your private beta.</p>
<p>In the end, it looks more and more that some experimentation will be possible without necessarily having to go through too much of  a backend effort, building on these upcoming technologies. Which brings me to the implementation side, with NFC. I have tried a few applications that perform actions when scanning tags.</p>
<p>The first one I tried was Tagstand&#8217;s <a href="https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher&#038;hl=en" class="liexternal">NFC Tag Launcher</a>. This application seems to work nicely, but it requires to use their own tags (they supposedly ship some free, but only in the US). I did try it anyway, because their application can also perform some actions when connecting to a Bluetooth device or to a Wifi network. That&#8217;s actually interesting, as such events can happen when arriving in the car or at home. For me, turning my phone&#8217;s loud ringtone on automatically when I get home is useful.</p>
<p>The second one I tried was <a href="https://play.google.com/store/apps/details?id=com.widgapp.NFC_ReTAG_FREE&#038;hl=en" class="liexternal">NFC ReTAG Free</a>. This app does about the same thing as the previous one, but it can do it with any NFC tag, including my old conference badges (and I have enough of these to organize quite a few experiments). This application works fine, and I have been able to associate some behavior to old badges. Sadly, in practice, the app is made less interesting by Android&#8217;s design choices when several NFC applications are available. Like in other cases, a chooser is displayed, that allows me to choose in a single click between the various tag-reading applications. However, this chooser does not include an option that allows me to make a permanent choice: a chooser is displayed every time.</p>
<p>If I try to second guess Google&#8217;s intentions, I would say that they simply want to avoid applications that would hijack all NFC interactions. However, Google also describes the main value of NFC as the streamlining of the interaction: you read a tag, and you immediately get what you want. In that particular case, this value falls as a collateral damage to another policy.</p>
<p>If we dig a bit deeper, this shows that the preferred model for Android NFC is a closed model, in which an application is associated to a set of tags, issued by the same company. In that case, they will use private NDEF content, which guarantees them that their tags will trigger their applications. Open models, in which a tag can be used freely by several applications (letting a user select a preferred app) is more difficult. I still believe that such applications are very promising for NFC, in particular in publc spaces, but the interaction may not be as fluid, at least to start with.</p>
<p>Now that the Layar app is reading <a href="http://www.layar.com/blog/2013/03/05/qr-codes-in-layar-yes/" class="liexternal">QR-codes</a>, we can see how similar applications may rapidly become the front-end to our smartphones, and NFC tags will be losing some of their competitive advantage if they can&#8217;t trigger this app automatically. Let&#8217;s hope that this feature will keep evolve in future releases of Android.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2013/03/27/experimenting-nfc-things/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LG Thinq and smart appliances</title>
		<link>https://javacard.vetilles.com/2011/01/07/lg-thinq-and-smart-appliances/</link>
		<comments>https://javacard.vetilles.com/2011/01/07/lg-thinq-and-smart-appliances/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 20:56:36 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[Java Card Bandol]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Internet of Things]]></category>
		<category><![CDATA[Java Card 3.0]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=672</guid>
		<description><![CDATA[Beside Motorola&#8217;s Atrix 4G and the many tablets, one of the very nice announcements of CES is LG&#8217;s Thinq, with significant press coverage. Connecting home appliances sounds kind of obvious, and the ubiquitous availability of smartphones and tablets makes it even more obvious. I have many times left my clean laundry sit in the washer [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Beside Motorola&#8217;s <a href="http://www.motorola.com/Consumers/US-EN/Consumer-Product-and-Services/Mobile-Phones/Motorola-ATRIX-US-EN" class="liexternal">Atrix 4G</a> and the many tablets, one of the very nice announcements of CES is LG&#8217;s <a href="http://www.lg.com/global/press-release/article/lg-unveils-total-home-appliance-solution-empowering-consumers-to-smartly-manage-their-homes.jsp" class="liexternal">Thinq</a>, with <a href="http://www.engadget.com/2011/01/04/lg-thinq-linqs-your-smart-appliances-with-wifi-and-smartphone-ap/" class="liexternal">significant</a> <a href="http://www.wired.com/gadgetlab/2011/01/lg-smart-appliances/" class="liexternal">press</a> <a href="http://www.reghardware.com/2011/01/05/lg_home_applicances/" class="liexternal">coverage</a>.</p>
<p>Connecting home appliances sounds kind of obvious, and the ubiquitous availability of smartphones and tablets makes it even more obvious. I have many times left my clean laundry sit in the washer for hours, just because I turned the thing on and forgot about it; no doubt that a message on the phone in my pocket would be a welcome reminder.</p>
<p>The devices shown by LG seem to be rather high-end stuff, with rather large LCD screens for the interface (and no buttons, so these screens must be tactile). Apparently, these devices are running Android, which could mean that we will soon find Android applications targeted at washers and refrigerators. This is great news at least for one point: I have no doubt that independent developers can imagine applications on appliances that LG wouldn&#8217;t dream about, and opening this market could lead to real improvements.</p>
<p>Now, I am wondering: do we need a smartphone in every home appliance? Do we need a 7&#8243; screen on every appliance? A few rich geeks may answer yes, but most people are quite likely to stick with much simpler interfaces and cheaper electronics. You may have guessed already where I am heading: Java Card 3.0 Connected is the way to go. It has many qualities required to do that:</p>
<ul>
<li><strong>Web-based application model</strong>. A Java Card 3.0 servlet can provide the required communication link between an appliance and the controlling device, using a fairly simple and well-known application model.</li>
<li><strong>Dynamic management of applications</strong>. With the addition of GlobalPlatform specs, Java Card 3.0 supports a wide range of application management models, and it could in particular be used in an application store model. For those who doubt, we can remind that the Java Card/GlobalPlatform is already used on a few billion devices, so scaling up is not a major issue here.</li>
<li><strong>Small footprint, possible single-chip integration</strong>. Adding a full Android device to a US$1,000 washer is not a big issue, but adding the same device to a US$100 coffee machine will have a significant impact on its price. </li>
</ul>
<p>Of course, it lacks a few things, in particular regarding I/O&#8217;s. In order to control an appliance, Java Card 3.0 needs to be able to control a few I/O ports, including a small display. But these APIs already exist in other embedded Java dialects such as MIDP, so why not doing it?</p>
<p>The bottom line is here that we can achieve with Java Card 3.0 Connected results that are quite similar to what is possible with Android, while making it accessible to a much wider range of devices. The only question is: Who is going to define the few missing APIs and make a reference design for a network extension board for appliances? I would definitely like to be part of that, but I&#8217;m not the one who will do the electronics part.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2011/01/07/lg-thinq-and-smart-appliances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
