ISO/IEC 23465-1:2023 個人識別用のカードおよびセキュリティ デバイス — セキ​​ュリティ デバイス用のプログラミング インターフェイス — Part 1: 概要とアーキテクチャの説明 | ページ 3

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

序章

集積回路カード (ICC) のテクノロジとソリューションは世界中で広く展開されていますが、ID トークンと資格情報のシステムは急速に変化しています。これに関連して、ISO/IEC 7816 シリーズで定義されたアプリケーション プロトコル データ ユニット (APDU) プロトコルは、場合によっては、携帯電話などの環境での (セキュリティ デバイスとしての) 集積回路 (IC) の統合の障害になりつつあります。 、ハンドヘルド デバイス、コネクテッド デバイス (M2M, IoT など)、またはセキュリティ デバイスを使用するその他のアプリケーション。

一部の利害関係者は、その複雑さのために APDU プロトコルに慣れていないか、あまり好きではありません。多くの場合、IC の仕様を隠す抽象化レイヤーを要求することで、その制約を回避します。セキュリティ デバイスのセキュリティ メカニズムは ISO/IEC 7816-4 で明確に定義されていますが、その実装とアプリケーションはベンダーごとに異なり、その複雑さがほとんどのアプリケーション開発者の負担になっています。

ソフトウェア開発において、複雑なシステムの使用を簡素化する一般的な方法は、デバイス内の IC にアクセスするためのアプリケーション プログラミング インターフェイス (API) 機能の定義と適用です。 APDU プロトコルと IC 実装の詳細に関する特定の知識は、もはや必要ありません。また、セキュリティ モデルとセキュリティ ポリシーの実装の複雑さと詳細は、純粋なアプリケーション開発から、電子デバイスとその関連ソフトウェアのシステム設計に移行できます。

そのため、このドキュメントは、ソフトウェア (SW) アーキテクト、アプリケーション プログラマー、またはオペレーティング システムまたはそのコンポーネント内のセキュリティ デバイスとして IC を使用およびアドレス指定するソフトウェア アプリケーションを開発する仕様開発者を対象としています。

投影されたアプリケーションは、さまざまなソフトウェアおよびハードウェア環境で実行できます。 API 定義の一般化が重要であり、特定のランタイム環境や機器への依存は原則として除外されます。

既存のランタイム環境は、OpenMobileAPI, [ 10] 、PKCS#11, [ 12] などのさまざまな特定の API を使用して、セキュリティ デバイスとして IC へのアクセスを既にサポートしていますが、それらは常に独自のインターフェイスとミドルウェアを実装しており、これは一般的には適用されません。ただし、この種のミドルウェアに基づくソリューションでさえ、一部のシステムでは扱いにくいと認識されています。市場は、ミドルウェアのメモリ フットプリントができるだけ小さいことを求めています。このドキュメントはまた、ICC 機​​能を維持し、新しいシステムへのシームレスな ICC 移植性を可能にする新しいアプローチを提案することによって、これらの問題を克服または軽減することを目的としています。

このシステムはモバイル オペレーティング システムで簡単にサポートできるように設計されているため、モバイル オペレーティング システム (OS) の設計者/実装者は、これらの標準化された API をサポートして、モバイル デバイス内の組み込みセキュア エレメント (eSE) にアクセスすることをお勧めします。

モバイル デバイスのコンテキストでは、専用のセキュリティ ハードウェアなどによる信頼できるコンピューティングが必要です。提案された API は、そのような信頼できる IC への標準化された共通インターフェイスを使用して、アプリケーションの実装者を支援します。

ISO/IEC 23465 シリーズは、以下の特徴を持つ API とシステムを設計することにより、ソリューションに焦点を当てています。

  • ISO/IEC 7816 シリーズおよびその他の ICC 関連規格から派生した、マルチセクター ICC 機​​能に関連する一連の API 呼び出しを提供します。
  • これは、API 関数から Proxy と呼ばれるセキュリティ デバイスのインターフェイス (APDU インターフェイスなど) への変換を実行するサブシステムを定義します。
  • これにより、ミドルウェアがない、またはミドルウェアのメモリ フットプリントが非常に少ない (つまり、単純化されたドライバー) ソリューションの説明が得られます。
  • これは、簡素化された ICC 機​​能、発見可能性 (つまり、ISO/IEC 24727 よりも大幅に複雑さが少ない)、および使用例を定義しています。

ISO/IEC 23465 シリーズは、それぞれ特定のトピックに焦点を当てた 3 つのパートで構成されています。

  • ISO/IEC 23465-1 (このドキュメント): シリーズの紹介とアーキテクチャの簡単な概要を提供します。
  • ISO/IEC TS 23465-2: セキュリティ デバイスの組み込みと使用を可能にするクライアント アプリケーションの API を定義します。
  • ISO/IEC TS 23465-3 1: さまざまなサービスを提供する Proxy と呼ばれるソフトウェアについて説明しています。たとえば、API 呼び出しを、セキュリティ デバイスに送信されるシリアル化されたメッセージに変換します。

Introduction

Integrated circuit card (ICC) technologies and solutions are widely deployed around the world, but systems for identity tokens and credentials are quickly changing. In this context, the application protocol data unit (APDU) protocol defined in the ISO/IEC 7816 series is becoming, in some cases, a hindrance to the integration of integrated circuits (ICs) (as security devices) in environments such as mobile phones, handheld devices, connected devices (e.g. M2M, IoT) or other applications using security devices.

Several stakeholders are not familiar with, or not very fond of the APDU protocol because of its complexity. They will often circumvent its constraints by requesting an abstraction layer hiding IC specifics. Although the security mechanisms of security devices are well defined in ISO/IEC 7816-4 their implementation and application differ from vendor to vendor and the complexity overstrains most of the application developers.

In software development, a common way to simplify the usage of complex systems is the definition and application of application programming interface (API) functions to access the IC within the devices. Specific knowledge of APDU protocols and details of the IC implementation is not necessary anymore. Also, the complexity and details of the implementation of the security model and the security policy can be shifted from pure application development into system design of the electronic device and its related software.

Therefore, this document is geared towards software (SW)-architects, application programmers or specification developers developing software applications using and addressing ICs as security devices within operating systems or their components.

The projected applications can run on different software and hardware environments. Generalisation of the API definition is key and the dependencies on specific runtime environments and equipment are kept out in principle.

Existing runtime environments already support the access to IC as security devices using different specific APIs, e.g. OpenMobileAPI,[10] PKCS#11,[12] but they always implement a proprietary interface and middleware, which is not commonly applicable. However, even solutions based on those kinds of middleware are perceived as cumbersome in some systems. The market looks for a middleware memory footprint to be as low as possible. This document also aims to overcome or mitigate those issues by proposing a new approach that would preserve ICC functionality and allows for a seamless ICC portability onto new systems.

Since the system is designed for easy support by mobile operation systems, mobile operating system (OS) designers/ implementers are encouraged to support these standardized APIs to access any embedded secure element (eSE) within the mobile device.

In the context of mobile devices, there is a necessity for trusted computing, e.g. by dedicated security hardware. The proposed API helps the application implementer with a standardized common interface to such trusted IC.

The ISO/IEC 23465 series focuses on a solution by designing an API and a system with the following characteristics.

  • It offers a set of API calls related to multi-sectorial ICC functionality, derived from the ISO/IEC 7816 series and other ICC related standards.
  • It defines the sub-system to perform the conversion from the API function to the interface of the security device (e.g. APDU-interface), called Proxy.
  • It results in a description of solutions with no middleware or very little middleware memory footprint (i.e. simplified drivers).
  • It defines the simplified ICC capabilities, the discoverability (i.e. with significantly less complexity than ISO/IEC 24727) and examples of usages.

The ISO/IEC 23465 series is comprised of three parts each focusing on a specific topic:

  • ISO/IEC 23465-1 (this document): provides an introduction to the series and a short overview of the architecture;
  • ISO/IEC TS 23465-2: defines the API for client applications allowing incorporation and usage of security devices;
  • ISO/IEC TS 23465-3 1: describes the software called Proxy which provides different services e.g. to convert the API calls into serialized messages to be sent to the security device.