Storing Credential Data on SIM Card

TL;DR: Can we write and read data to and from the Hologram SIM card itself from a client application (namely an Android app we’ve developed)? :zap: :fire:

I’m working on a really cool project that will utilize an Android app to authenticate emergency responders to a private network. The trick is part of our requirement is to store pre-registered credentials (private keys) on a SIM card that can be accessed by the application.

Is it possible to store credentials (for the purpose of this post, let’s say a text file with an RSA private key) on a Hologram SIM card and access it via the Android SDK (Java) or other method by an Android app?

We’ve been looking at issuing raw APDU commands to commercial device SIM cards or utilizing Java Card applets, but the problem is most of these cards are locked down by providers and the keys are not public. Having the cards locked down also means we can’t install our own applets. In the long term we’re working on a relationship to register with commercial manufacturers but if Hologram supports it we’d go this route instead as its much more flexible.

This gets pretty complicated, but SIM cards do have a file system on them that you can write to. We can’t provide much guidance here but take a look at the AT+CSIM command in the UBlox documentation. You may need to read through the 3GPP spec a bit and try to find open places where you can store things.

AT+CRSM is also useful

Oh and if you’re able to commit to a very large order, it’s possible that we can install something on there for you. You can try reaching out sales@hologram.io for more information.