2017-02-23 8 views
4

私の知る限り、SIMカードはJava Cardであり、ETSI/3GPP仕様とUICC設定を実装します。SIMカードとJCREの混乱

  1. SIMは、Javaカードの場合 - それはサンズ JCRE仕様からJCREが含まれているのでしょうか?
  2. SIMカードにJCREが搭載されている場合、実際にはカードのOSですか、または 別のレイヤーがありますか?もしあれば、どこでそれについて読むことができますか? APDUとカードリーダーを使ってJCREと対話するオプションがありますか?
  3. JCREとカードマネージャが同じエンティティであるか、カードマネージャがネイティブアプレットですか?それらが異なる場合、SMS経由のOTA更新が受信されたときに、JCREが最初にそれを処理してアプレットに転送するのか、それともカードマネージャがそれを直接受け取るのでしょうか?

答えて

3
  1. SIMは、Javaカードの場合 - それはサンズJCRE仕様からJCREが含まれているのでしょうか?

はい、とにかく「サンズ」JCRE仕様に準拠したJCRE(日はもう存在しません、それは今、すべてのOracleの)。

2a。 SIMカードにJCREがある場合、実際にはカードのOSですか、別のレイヤがありますか?

複数のレイヤーが存在する可能性があります。通常は、ネイティブの暗号ライブラリとHAL - ハードウェア抽象化(または適応)レイヤーも備えています。また、別の/ネイティブOSがカードに依存している場合(ただし、SIMカードの場合は表示されません)

2b。もしあれば、どこでそれについて読むことができますか? JCREとAPDUやカードリーダーと対話するオプションはありますか?

オペレーティングシステム/チップの製造元に相談する必要があります。また、それらが入手できない場合は、販売代理店から連絡を受けてください。

  1. JCREとカードマネージャは同じエンティティですか、カードマネージャはネイティブアプレットですか?

カードマネージャは、グローバルプラットフォームの仕様の一部です。ほとんどのJava Cardはそれらに準拠しています。カードは、ネイティブ、バイトコード、または組み合わせのいずれかです。もう一度、それは製造業者の責任です。

これらが異なる場合は、SMS経由のOTAアップデートが受信されたときにJCREが最初に処理してアプレットに転送するか、カードマネージャが直接受信しますか?

これらは、通常、かなり絡み合っています。私は、HAL(上記参照)が直接通信とAPDUバッファを処理すると想定していますが、カードがそれぞれの規格に準拠している限り、何かが行きます。

もちろん、よく記述されていれば、製造元はおそらくFIPSまたはCommon Criteria認証機関から話を聞くことになります。しかし、設計書は通常、製造業者によって公開されていません。

+0

すばらしい答えをありがとう!私は2つのフォローアップの質問があります - SIMはJCREを持っています。 JCREは任意のアプレットのメソッドを呼び出すことができますか?可能であれば、RMIとINVOKE apdu(またはapduを使用する他の方法)を使用して(任意のメソッドの)呼び出しを行うことができますか? – Bluestar

+1

['Remote'](https://docs.oracle.com/javacard/3.0.5/api/java/rmi/Remote.html):「リモート・インタフェース」で指定されたメソッドのみ、 'java.rmi.Remote'はリモートで利用可能です。 –

+1

RMIに加えて、通常は 'install'メソッド、' process'メソッドと 'select'メソッドにアクセスできます(ただし、最後のパラメータは引数をとりません)。 - 追加のSIMインターフェイス/コールバックのほかに、もちろん。 –