スマートカードと通信できる(ATRの読み取り、APDUコマンドへの応答の発行と読み取りなどが可能な)マイクロコントローラーを備えたプロトタイプボードを開発しました。次に、このハードウェアをAndroid携帯電話またはタブレットで使用したいと思います。ボードにはUSB接続があり、Android経由でMCUの読み取りと書き込みを行うことができます。
最終的な目標は、PKCS#11をサポートするAndroidプラットフォーム上で機能するスマートカードリーダーを用意し、スマートカードリーダーのエンドユーザーがカードと通信できるようにライブラリを提供することです。
私はこのテーマに関するいくつかの議論を読みましたが、そのうちのいくつかは、これを行うにはカスタムAndroidを構築する必要があると述べています。USB経由で周辺機器(カードリーダー)と通信できるのに、なぜAndroidを再構築する必要があるのかを理解するには、Androidアーキテクチャにあまり詳しくありません。CCIDのようなインターフェイスを実装するライブラリを提供すると、ユーザーは、ライブラリをターゲットの.apkファイルに統合することで、AndroidUSBスタックを使用してリーダーと通信できるようになります。
上記の計画に私たちが気付いていない問題はありますか?上記のライブラリの実装を開始するときに問題が発生する、AndroidまたはSmartCardリーダー全般に関する基本的なもの(セキュリティなど)が欠落しているのではないかと心配しています。