[要約] RFC 2479は、IDUP-GSS-APIの仕様を定義しており、独立したデータユニットの保護に関するセキュリティサービスを提供します。このRFCの目的は、アプリケーションプログラムがセキュリティサービスを利用できるようにすることです。
Network Working Group C. Adams Request for Comments: 2479 Entrust Technologies Category: Informational December 1998
Independent Data Unit Protection Generic Security Service Application Program Interface (IDUP-GSS-API)
独立データユニット保護Generic Security Serviceアプリケーションプログラムインターフェイス(IDUP-GSS-API)
Status of this Memo
本文書の状態
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
このメモは、インターネットコミュニティに情報を提供します。いかなる種類のインターネット標準も規定していません。このメモの配布は無制限です。
Copyright Notice
著作権表示
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright(C)The Internet Society(1998)。全著作権所有。
ABSTRACT
概要
The IDUP-GSS-API extends the GSS-API [RFC-2078] for applications requiring protection of a generic data unit (such as a file or message) in a way which is independent of the protection of any other data unit and independent of any concurrent contact with designated "receivers" of the data unit. Thus, it is suitable for applications such as secure electronic mail where data needs to be protected without any on-line connection with the intended recipient(s) of that data. The protection offered by IDUP includes services such as data origin authentication with data integrity, data confidentiality with data integrity, and support for non-repudiation services. Subsequent to being protected, the data unit can be transferred to the recipient(s) - or to an archive - perhaps to be processed ("unprotected") only days or years later.
IDUP-GSS-APIは、GSS-API [RFC-2078]を拡張して、汎用データユニット(ファイルやメッセージなど)の保護を必要とするアプリケーションに対して、他のデータユニットの保護から独立し、データユニットの指定された「受信者」との同時接続。したがって、データの目的の受信者とオンラインで接続せずにデータを保護する必要がある安全な電子メールなどのアプリケーションに適しています。 IDUPが提供する保護には、データの完全性を備えたデータ発信元認証、データの完全性を備えたデータの機密性、否認防止サービスのサポートなどのサービスが含まれます。保護された後、データユニットは受信者またはアーカイブに転送され、おそらく数日または数年後に処理(「保護されていない」)されます。
Throughout the remainder of this document, the "unit" of data described in the above paragraph will be referred to as an IDU (Independent Data Unit). The IDU can be of any size (the application may, if it wishes, split the IDU into pieces and have the protection computed a piece at a time, but the resulting protection token applies to the entire IDU). However, the primary characteristic of an IDU is that it represents a stand-alone unit of data whose protection is entirely independent of any other unit of data. If an application protects several IDUs and sends them all to a single receiver, the IDUs may be unprotected by that receiver in any order over any time span; no logical connection of any kind is implied by the protection process itself.
このドキュメントの残りの部分では、上記の段落で説明したデータの「ユニット」をIDU(独立データユニット)と呼びます。 IDUのサイズは任意です(必要に応じて、アプリケーションでIDUを分割し、保護を一度に1つずつ計算させることができますが、結果の保護トークンはIDU全体に適用されます)。ただし、IDUの主な特徴は、スタンドアロンのデータユニットを表し、その保護が他のデータユニットから完全に独立していることです。アプリケーションが複数のIDUを保護し、それらすべてを単一のレシーバーに送信する場合、IDUはそのレシーバーによって任意の期間にわたって任意の順序で保護されない可能性があります。保護プロセス自体によって、いかなる種類の論理接続も暗示されません。
As with RFC-2078, this IDUP-GSS-API definition provides security services to callers in a generic fashion, supportable with a range of underlying mechanisms and technologies and hence allowing source-level portability of applications to different environments. This specification defines IDUP-GSS-API services and primitives at a level independent of underlying mechanism and programming language environment, and is to be complemented by other, related specifications:
RFC-2078と同様に、このIDUP-GSS-API定義は一般的な方法で呼び出し元にセキュリティサービスを提供し、さまざまな基礎となるメカニズムとテクノロジーでサポートできるため、さまざまな環境へのアプリケーションのソースレベルの移植性を可能にします。この仕様は、基礎となるメカニズムやプログラミング言語環境とは独立したレベルでIDUP-GSS-APIサービスとプリミティブを定義しており、他の関連する仕様によって補完されます。
- documents defining specific parameter bindings for particular language environments; - documents defining token formats, protocols, and procedures to be implemented in order to realize IDUP-GSS-API services atop particular security mechanisms.
- 特定の言語環境の特定のパラメーターバインディングを定義するドキュメント。 -特定のセキュリティメカニズム上でIDUP-GSS-APIサービスを実現するために実装されるトークンの形式、プロトコル、および手順を定義するドキュメント。
TABLE OF CONTENTS
目次
1. IDUP-GSS-API Characteristics and Concepts .................. 3 1.1. IDUP-GSS-API Constructs .................................. 5 1.1.1. Credentials ............................................ 5 1.1.2. Tokens ................................................. 5 1.1.3. Security Environment ................................... 6 1.1.4. Mechanism Types ........................................ 6 1.1.5. Naming ................................................. 6 1.1.6. Channel Bindings ....................................... 6 1.2. IDUP-GSS-API Features and Issues ......................... 6 1.2.1. Status Reporting ....................................... 6 1.2.2. Per-IDU Security Service Availability .................. 9 1.2.3. Per-IDU Replay Detection and Sequencing ................ 9 1.2.4. Quality of Protection .................................. 9 1.2.5. The Provision of Time .................................. 12 2. Interface Descriptions ..................................... 13 2.1. Credential management calls .............................. 14 2.1.1. Relationship to GSS-API ................................ 14 2.2. Environment-level calls .................................. 15 2.2.1. Relationship to GSS-API ................................ 15 2.2.2. IDUP_Establish_Env call ................................ 15 2.2.3. IDUP_Abolish_Env call .................................. 19 2.2.4. IDUP_Inquire_Env call .................................. 19 2.3. Per-IDU protection/unprotection calls .................... 20 2.3.1. Relationship to GSS-API ................................ 20 2.3.2. The "SE" Calls ......................................... 21 2.3.3. The "EV" Calls ......................................... 27 2.3.4. The "GP" Calls ......................................... 36 2.4. Special-Purpose calls .................................... 47 2.4.1. Relationship to GSS-API ................................ 47 2.4.2. IDUP_Form_Complete_PIDU ................................ 48 2.5. Support calls ............................................ 49
2.5.1. Relationship to GSS-API ................................ 49 2.5.2. IDUP_Acquire_Cred_With_Auth ............................ 49 2.5.3. IDUP_Get_Token_Details ................................. 50 2.5.4. IDUP_Get_Policy_Info ................................... 53 2.5.5. IDUP_Cancel_Multibuffer_Op ............................. 55 3. Related Activities ......................................... 55 4. Acknowledgments ............................................ 56 5. Security Considerations .................................... 56 6. References ........................................... 56 7. Author's Address ........................................... 56 Appendix A Mechanism-Independent Token Format ................. 57 Appendix B Examples of IDUP Use ............................... 58 Full Copyright Statement ....................................... 70
The paradigm within which IDUP-GSS-API operates is as follows. An IDUP-GSS-API caller is any application that works with IDUs, calling on IDUP-GSS-API in order to protect its IDUs with services such as data origin authentication with integrity (DOA), confidentiality with integrity (CONF), and/or support for non-repudiation (e.g., evidence generation, where "evidence" is information that either by itself, or when used in conjunction with other information, is used to establish proof about an event or action (note: the evidence itself does not necessarily prove truth or existence of something, but contributes to establish proof) -- see [ISO/IEC] for fuller discussion regarding evidence and its role in various types of non-repudiation). An IDUP-GSS-API caller passes an IDU to, and accepts a token from, its local IDUP-GSS-API implementation, transferring the resulting protected IDU (P-IDU) to a peer or to any storage medium. When a P-IDU is to be "unprotected", it is passed to an IDUP-GSS-API implementation for processing. The security services available through IDUP-GSS-API in this fashion are implementable over a range of underlying mechanisms based on secret-key and/or public-key cryptographic technologies.
IDUP-GSS-APIが動作するパラダイムは次のとおりです。 IDUP-GSS-APIの呼び出し元は、IDUと連携して動作するすべてのアプリケーションで、IDUP-GSS-APIを呼び出して、整合性のあるデータ起点認証(DOA)、整合性のある機密性(CONF)、および/またはまたは否認防止のサポート(たとえば、「エビデンス」がそれ自体で、または他の情報と組み合わせて使用される場合に、イベントまたはアクションに関する証拠を確立するために使用される証拠の生成(例:エビデンス自体は、何かの真実または存在を必ず証明するが、証拠の確立に寄与する)-証拠およびさまざまなタイプの否認防止におけるその役割に関する詳細な議論については、[ISO / IEC]を参照) IDUP-GSS-APIの呼び出し元は、ローカルのIDUP-GSS-API実装にIDUを渡し、そこからトークンを受け取り、結果の保護されたIDU(P-IDU)をピアまたは任意のストレージメディアに転送します。 P-IDUが「保護されていない」場合は、IDUP-GSS-API実装に渡されて処理されます。この方法でIDUP-GSS-APIを介して利用できるセキュリティサービスは、秘密鍵や公開鍵の暗号化技術に基づいて、さまざまな基本的なメカニズムで実装できます。
During the protection operation, the input IDU buffers may be modified (for example, the data may be encrypted or encoded in some way) or may remain unchanged. In any case, the result is termed a "M-IDU" (Modified IDU) in order to distinguish it from the original IDU. Depending on the desire of the calling application and the capabilities of the underlying IDUP mechanism, the output produced by the protection processing may or may not encapsulate the M-IDU. Thus, the P-IDU may be the contents of a single output parameter (if encapsulation is done) or may be the logical concatenation of an unencapsulated token parameter and a M-IDU parameter (if encapsulation is not done). In the latter case, the protecting application may choose whatever method it wishes to concatenate or combine the unencapsulated token and the M-IDU into a P-IDU, provided the unprotecting application knows how to de-couple the P-IDU back into its component parts prior to calling the IDUP unprotection set of functions.
保護動作中、入力IDUバッファーは変更される場合があります(たとえば、データが何らかの方法で暗号化またはエンコードされる場合があります)。いずれの場合も、結果は元のIDUと区別するために「M-IDU」(変更されたIDU)と呼ばれます。呼び出し側アプリケーションの要求と、基盤となるIDUPメカニズムの機能に応じて、保護処理によって生成される出力は、M-IDUをカプセル化する場合とカプセル化しない場合があります。したがって、P-IDUは単一の出力パラメーターの内容(カプセル化が行われている場合)、またはカプセル化されていないトークンパラメーターとM-IDUパラメーターの論理的な連結(カプセル化が行われていない場合)の場合があります。後者の場合、非保護アプリケーションがコンポーネントにP-IDUを分離する方法を知っていれば、保護アプリケーションは、カプセル化されていないトークンとM-IDUを連結または結合する方法を選択できます。 IDUP保護解除機能セットを呼び出す前のパーツ。
It is expected that any output buffer returned by IDUP (i.e., P-IDU or portion thereof) is ready for immediate transmission to the intended receiver(s) by the calling application, if this is desired. In other words, an application wishing to transmit data buffers as they appear from IDUP should not be unduly restricted from doing so by the underlying mechanism.
これが必要な場合、IDUP(つまり、P-IDUまたはその一部)によって返される出力バッファーは、呼び出し側アプリケーションによって目的の受信機にすぐに送信できる状態になっていることが予想されます。言い換えると、IDUPから表示されるデータバッファーを送信したいアプリケーションは、基盤となるメカニズムによって過度に制限されるべきではありません。
The IDUP-GSS-API separates the operation of initializing a security environment (the IDUP_Establish_Env() call) from the operations of providing per-IDU protection, for IDUs subsequently protected in conjunction with that environment. Per-IDU protection and unprotection calls provide DOA, CONF, evidence, and other services, as requested by the calling application and as supported by the underlying mechanism.
IDUP-GSS-APIは、セキュリティ環境を初期化する操作(IDUP_Establish_Env()呼び出し)と、IDUごとに保護を提供する操作を、その環境と組み合わせて後で保護されるIDUに対して分離します。 IDUごとの保護と保護解除の呼び出しは、呼び出し元のアプリケーションからの要求に応じて、および基盤となるメカニズムによってサポートされているとおり、DOA、CONF、証拠、およびその他のサービスを提供します。
The following paragraphs provide an example illustrating the dataflows involved in the use of the IDUP-GSS-API by the sender and receiver of a P-IDU in a mechanism-independent fashion. The example assumes that credential acquisition has already been completed by both sides. Furthermore, the example does not cover all possible options available in the protection/unprotection calls.
次の段落では、メカニズムに依存しない方法でP-IDUの送信者と受信者によるIDUP-GSS-APIの使用に関連するデータフローを示す例を示します。この例では、クレデンシャルの取得が両側ですでに完了していることを前提としています。さらに、この例では、保護/保護解除の呼び出しで使用可能なすべてのオプションが網羅されているわけではありません。
The sender first calls IDUP_Establish_Env() to establish a security environment. Then, for the IDU to be protected the sender calls the appropriate protection calls (SE, EV, or GP) to perform the IDU protection. The resulting P-IDU, which may (depending on whether or not encapsulation was chosen/available) be either the token itself or the logical concatenation of the token and the M-IDU, is now ready to be sent to the target. The sender then calls IDUP_Abolish_Env() to flush all environment-specific information.
送信者は最初にIDUP_Establish_Env()を呼び出してセキュリティ環境を確立します。次に、IDUを保護するために、送信者は適切な保護呼び出し(SE、EV、またはGP)を呼び出してIDU保護を実行します。結果のP-IDUは、(カプセル化が選択されているかどうかに応じて)トークン自体、またはトークンとM-IDUの論理連結のいずれかである可能性があり、ターゲットに送信する準備ができています。次に、送信者はIDUP_Abolish_Env()を呼び出して、環境固有の情報をすべてフラッシュします。
The receiver first calls IDUP_Establish_Env() to establish a security environment in order to unprotect the P-IDU. Then, for the received P-IDU the receiver calls the appropriate unprotection calls (SE, EV, or GP (known a priori, or possibly determined through the use of the IDUP_Get_token_details call)) to perform the P-IDU unprotection. The receiver then calls IDUP_Abolish_Env() to flush all environment-specific information.
受信側は最初にIDUP_Establish_Env()を呼び出して、P-IDUの保護を解除するためにセキュリティ環境を確立します。次に、受信したP-IDUに対して、レシーバーは適切な非保護呼び出し(SE、EV、またはGP(事前にわかっているか、IDUP_Get_token_details呼び出しを使用して決定される))を呼び出して、P-IDU保護解除を実行します。次に、レシーバーはIDUP_Abolish_Env()を呼び出して、環境固有の情報をすべてフラッシュします。
It is important to note that absolutely no synchronization is implied or expected between the data buffer size used by the sender as input to the protection calls, the data buffer size used by the receiver as input to the unprotection calls, and the block sizes required by the underlying protection algorithms (integrity and confidentiality). All these sizes are meant to be independent; furthermore, the data buffer sizes used for the protection and unprotection calls are purely a function of the local environment where the calls are made.
送信者が保護呼び出しへの入力として使用するデータバッファーサイズ、受信者が保護解除呼び出しへの入力として使用するデータバッファーサイズ、および必要なブロックサイズの間で同期が暗黙または暗黙的にまったくないことに注意することが重要です。基礎となる保護アルゴリズム(整合性と機密性)。これらのサイズはすべて独立していることを意図しています。さらに、保護と保護解除の呼び出しに使用されるデータバッファーサイズは、呼び出しが行われるローカル環境の関数にすぎません。
The IDUP-GSS-API design assumes and addresses several basic goals, including the following.
IDUP-GSS-API設計は、以下を含むいくつかの基本的な目標を想定し、それに対処します。
Mechanism independence: The IDUP-GSS-API defines an interface to cryptographically implemented security services at a generic level which is independent of particular underlying mechanisms. For example, IDUP-GSS-API-provided services can be implemented by secret-key technologies or public-key approaches.
メカニズムの独立性:IDUP-GSS-APIは、特定の基本的なメカニズムに依存しない一般的なレベルで、暗号化されて実装されたセキュリティサービスへのインターフェースを定義します。たとえば、IDUP-GSS-APIが提供するサービスは、秘密鍵技術または公開鍵アプローチによって実装できます。
Protocol environment independence: The IDUP-GSS-API is independent of the communications protocol suites which may be used to transfer P-IDUs, permitting use in a broad range of protocol environments.
プロトコル環境に依存しない:IDUP-GSS-APIは、P-IDUの転送に使用できる通信プロトコルスイートに依存しないため、幅広いプロトコル環境で使用できます。
Protocol association independence: The IDUP-GSS-API's security environment construct has nothing whatever to do with communications protocol association constructs, so that IDUP-GSS-API services can be invoked by applications, wholly independent of protocol associations.
プロトコルアソシエーションの独立性:IDUP-GSS-APIのセキュリティ環境コンストラクトは、通信プロトコルアソシエーションコンストラクトとは何の関係もないため、IDUP-GSS-APIサービスは、プロトコルアソシエーションから完全に独立してアプリケーションから呼び出すことができます。
Suitability for a range of implementation placements: IDUP-GSS-API clients are not constrained to reside within any Trusted Computing Base (TCB) perimeter defined on a system where the IDUP-GSS-API is implemented; security services are specified in a manner suitable for both intra-TCB and extra-TCB callers.
さまざまな実装配置への適合性:IDUP-GSS-APIクライアントは、IDUP-GSS-APIが実装されているシステムで定義されているTrusted Computing Base(TCB)境界内に存在するように制限されていません。セキュリティサービスは、TCB内およびTCB外の呼び出し元の両方に適した方法で指定されます。
This section describes the basic elements comprising the IDUP-GSS-API.
このセクションでは、IDUP-GSS-APIを構成する基本要素について説明します。
Credentials in IDUP-GSS-API are to be understood and used as described in GSS-API [RFC-2078].
IDUP-GSS-APIの資格情報は、GSS-API [RFC-2078]で説明されているように理解および使用されます。
Tokens in IDUP-GSS-API are to be understood and used as described in GSS-API [RFC-2078] with the exception that there are no context-level tokens generated by IDUP-GSS-API. The IDUP-GSS-API token may (depending on the underlying mechanism) encapsulate the M-IDU or may be logically concatenated with the M-IDU prior to transfer to a target; furthermore, for some evidence services the token may be sent independently of any other data transfer.
IDUP-GSS-APIのトークンは、GSS-API [RFC-2078]で説明されているように理解され、使用されます。ただし、IDUP-GSS-APIによって生成されるコンテキストレベルのトークンはありません。 IDUP-GSS-APIトークンは(基盤となるメカニズムに応じて)M-IDUをカプセル化するか、ターゲットに転送する前にM-IDUと論理的に連結できます。さらに、一部の証拠サービスでは、トークンは他のデータ転送とは無関係に送信できます。
The "security environment" in IDUP-GSS-API is entirely different from the concept of security contexts used in GSS-API [RFC-2078]. Here, a security environment exists within a calling application (that is, it is purely local to the caller) for the purpose of protecting or unprotecting one or more IDUs using a particular caller credential or set of credentials. In GSS-API, on the other hand, a security context exists between peers (the initiator and the target) for the purpose of protecting, in real time, the data that is exchanged between them. Although they are different concepts, the env_handle in IDUP-GSS-API is similar to the context_handle in GSS-API in that it is a convenient way of tying together the entire process of protecting or unprotecting one or more IDUs using a particular underlying mechanism. As with the GSS-API security contexts, a caller can initiate and maintain multiple environments using the same or different credentials.
IDUP-GSS-APIの「セキュリティ環境」は、GSS-API [RFC-2078]で使用されるセキュリティコンテキストの概念とはまったく異なります。ここで、セキュリティ環境は、特定の呼び出し元の資格情報または資格情報のセットを使用して1つ以上のIDUを保護または保護解除する目的で、呼び出し元のアプリケーション内に存在します(つまり、呼び出し元に対して純粋にローカルです)。一方、GSS-APIでは、ピア間で交換されるデータをリアルタイムで保護するために、ピア(イニシエータとターゲット)の間にセキュリティコンテキストが存在します。概念は異なりますが、IDUP-GSS-APIのenv_handleは、GSS-APIのcontext_handleに似ています。これは、特定の基本的なメカニズムを使用して、1つ以上のIDUを保護または保護解除するプロセス全体を結び付ける便利な方法です。 GSS-APIセキュリティコンテキストと同様に、呼び出し元は、同じまたは異なる資格情報を使用して複数の環境を開始および維持できます。
Mechanism types in IDUP-GSS-API are to be understood and used as described in GSS-API [RFC-2078].
IDUP-GSS-APIのメカニズムタイプは、GSS-API [RFC-2078]で説明されているように理解および使用されます。
Naming in IDUP-GSS-API is to be understood and used as described in GSS-API [RFC-2078].
IDUP-GSS-APIでの命名は、GSS-API [RFC-2078]で説明されているように理解され、使用されます。
The concept of channel bindings discussed in GSS-API [RFC-2078] is not relevant to the IDUP-GSS-API.
GSS-API [RFC-2078]で説明されているチャネルバインディングの概念は、IDUP-GSS-APIには関係ありません。
This section describes aspects of IDUP-GSS-API operations and of the security services which the IDUP-GSS-API provides. It also provides commentary on design issues.
このセクションでは、IDUP-GSS-APIの動作と、IDUP-GSS-APIが提供するセキュリティサービスについて説明します。また、設計の問題に関する解説も提供します。
Status reporting in IDUP-GSS-API is to be understood and used as described in GSS-API [RFC-2078], with the addition of a number of IDUP-specific status codes. Descriptions of the major_status codes used in IDUP are provided in Table 1. Codes that are informatory (i.e., that do not cause the requested operation to fail) are indicated with the symbol "(I)".
IDUP-GSS-APIのステータスレポートは、GSS-API [RFC-2078]で説明されているように理解され、使用されます。IDUP固有のステータスコードがいくつか追加されています。 IDUPで使用されるmajor_statusコードの説明を表1に示します。情報を提供する(つまり、要求された操作を失敗させない)コードは、記号「(I)」で示されています。
As with GSS-API, minor_status codes, which provide more detailed status information than major_status codes, and which may include status codes specific to the underlying security mechanism, are not specified in this document.
GSS-APIと同様に、major_statusコードより詳細なステータス情報を提供し、基になるセキュリティメカニズムに固有のステータスコードを含む可能性があるminor_statusコードは、このドキュメントでは指定されていません。
Table 1: IDUP-GSS-API Major Status Codes
表1:IDUP-GSS-APIのメジャーステータスコード
GSS_S_BAD_MECH indicates that a mech_type unsupported by the IDUP_GSS-API implementation was requested, causing the environment establishment operation to fail.
GSS_S_BAD_MECHは、IDUP_GSS-API実装でサポートされていないmech_typeが要求され、環境の確立操作が失敗したことを示します。
GSS_S_BAD_QOP indicates that the provided qop_alg value is not recognized or supported for the environment.
GSS_S_BAD_QOPは、指定されたqop_alg値が環境で認識またはサポートされていないことを示します。
GSS_S_BAD_MIC indicates that the received P-IDU contains an incorrect integrity field (e.g., signature or MAC) for the data.
GSS_S_BAD_MICは、受信したP-IDUに、データの不正な整合性フィールド(署名やMACなど)が含まれていることを示します。
GSS_S_COMPLETE indicates that the requested operation was successful.
GSS_S_COMPLETEは、要求された操作が成功したことを示します。
GSS_S_CREDENTIALS_EXPIRED indicates that the credentials associated with this operation have expired, so that the requested operation cannot be performed.
GSS_S_CREDENTIALS_EXPIREDは、この操作に関連付けられている資格情報の有効期限が切れているため、要求された操作を実行できないことを示します。
GSS_S_DEFECTIVE_CREDENTIAL indicates that consistency checks performed on the credential structure referenced by claimant_cred_handle failed, preventing further processing from being performed using that credential structure.
GSS_S_DEFECTIVE_CREDENTIALは、claimant_cred_handleによって参照される資格情報構造で実行される整合性チェックが失敗し、その資格情報構造を使用して以降の処理が実行されないことを示します。
GSS_S_DEFECTIVE_TOKEN indicates that consistency checks performed on the received P-IDU failed, preventing further processing from being performed.
GSS_S_DEFECTIVE_TOKENは、受信したP-IDUに対して実行された整合性チェックが失敗し、それ以降の処理が実行されないことを示しています。
GSS_S_FAILURE indicates that the requested operation could not be accomplished for reasons unspecified at the IDUP-GSS-API level, and that no interface-defined recovery action is available.
GSS_S_FAILUREは、IDUP-GSS-APIレベルで指定されていない理由により、要求された操作を実行できなかったこと、およびインターフェースで定義された回復アクションを使用できないことを示します。
GSS_S_NO_CRED indicates that no environment was established, either because the input cred_handle was invalid or because the caller lacks authorization to access the referenced credentials.
GSS_S_NO_CREDは、入力されたcred_handleが無効だったか、呼び出し元が参照された資格情報にアクセスするための許可を欠いているために、環境が確立されなかったことを示します。
IDUP_S_BAD_DOA_KEY indicates that the key used to provide IDU data origin auth. / integ. has either expired or been revoked.
IDUP_S_BAD_DOA_KEYは、IDUデータオリジン認証を提供するために使用されるキーを示します。 / integ。有効期限が切れているか、取り消されています。
IDUP_S_BAD_ENC_IDU indicates that decryption of the received IDU cannot be completed because the encrypted IDU was invalid/defective (e.g., the final block was short or had incorrect padding).
IDUP_S_BAD_ENC_IDUは、暗号化されたIDUが無効であるか欠陥があるため(たとえば、最終ブロックが短いか、不正なパディングがあったため)、受信したIDUの復号化を完了できないことを示します。
IDUP_S_BAD_KE_KEY indicates that the key used to establish a key for confidentiality purposes between originator and target has either expired or been revoked.
IDUP_S_BAD_KE_KEYは、オリジネーターとターゲットの間の機密保持目的でキーを確立するために使用されたキーが期限切れであるか、取り消されていることを示します。
IDUP_S_BAD_TARG_INFO indicates that the full set of supplied information regarding the target(s) is invalid or is insufficient for the protection of an IDU, so P-IDU cannot be created.
IDUP_S_BAD_TARG_INFOは、ターゲットに関して提供された情報の完全なセットが無効であるか、IDUの保護には不十分であるため、P-IDUを作成できないことを示します。
IDUP_S_DEFECTIVE_VERIF indicates that consistency checks performed on Service_Verification_Info failed, preventing further processing from being performed with that parameter.
IDUP_S_DEFECTIVE_VERIFは、Service_Verification_Infoで実行された整合性チェックが失敗し、そのパラメーターを使用してそれ以上の処理を実行できないことを示します。
IDUP_S_ENCAPSULATION_UNAVAIL (I) indicates that the underlying mechanism does not support encapsulation of the M-IDU into the token.
IDUP_S_ENCAPSULATION_UNAVAIL(I)は、基になるメカニズムがM-IDUのトークンへのカプセル化をサポートしていないことを示します。
IDUP_S_INAPPROPRIATE_CRED indicates that the credentials supplied do not contain the information necessary for P-IDU unprotection.
IDUP_S_INAPPROPRIATE_CREDは、提供された資格情報にP-IDU保護解除に必要な情報が含まれていないことを示します。
IDUP_S_INCOMPLETE (I) indicates that the unprotection of the P-IDU is not yet complete (i.e., a determination cannot yet be made on the validity of the P-IDU). The application should call IDUP_Form_Complete_PIDU and then should call this function again with the complete P-IDU.
IDUP_S_INCOMPLETE(I)は、P-IDUの保護解除がまだ完了していないことを示します(つまり、P-IDUの有効性をまだ判断できない)。アプリケーションはIDUP_Form_Complete_PIDUを呼び出してから、完全なP-IDUを使用してこの関数を再度呼び出す必要があります。
IDUP_S_INCONSISTENT_PARAMS indicates that the supplied parameters are inconsistent (e.g., only one or the other of two parameters may be supplied, but both have been input).
IDUP_S_INCONSISTENT_PARAMSは、指定されたパラメーターが矛盾していることを示します(たとえば、2つのパラメーターのどちらか一方しか指定できないが、両方が入力されている)。
IDUP_S_MORE_OUTBUFFER_NEEDED (I) indicates that the output buffer supplied is too small to hold the generated data. The application should continue calling this routine (until GSS_S_COMPLETE is returned) in order to get all remaining output data.
IDUP_S_MORE_OUTBUFFER_NEEDED(I)は、提供された出力バッファーが小さすぎて生成されたデータを保持できないことを示します。残りのすべての出力データを取得するために、アプリケーションは(GSS_S_COMPLETEが返されるまで)このルーチンの呼び出しを継続する必要があります。
IDUP_S_MORE_PIDU_NEEDED (I) indicates that not enough of the P-IDU has been input yet for the completion of StartUnprotect. The application should call this routine again with another buffer of P-IDU in partial(initial)_pidu_buffer.
IDUP_S_MORE_PIDU_NEEDED(I)は、StartUnprotectを完了するために十分なP-IDUがまだ入力されていないことを示します。アプリケーションは、partial(initial)_pidu_buffer内のP-IDUの別のバッファーを使用して、このルーチンを再度呼び出す必要があります。
IDUP_S_NO_ENV indicates that no valid environment was recognized for the env_handle provided.
IDUP_S_NO_ENVは、提供されたenv_handleに対して有効な環境が認識されなかったことを示します。
IDUP_S_NO_MATCH indicates that Service_Verification_Info (or evidence_check) and the P-IDU to be verified do not match.
IDUP_S_NO_MATCHは、Service_Verification_Info(またはエビデンス_チェック)と検証されるP-IDUが一致しないことを示します。
IDUP_S_REQ_TIME_SERVICE_UNAVAIL indicates that the time service requested (TTIME or UTIME) is not available in the environment.
IDUP_S_REQ_TIME_SERVICE_UNAVAILは、要求されたタイムサービス(TTIMEまたはUTIME)が環境で使用できないことを示します。
IDUP_S_SERVICE_UNAVAIL indicates that the underlying mechanism does not support the service requested.
IDUP_S_SERVICE_UNAVAILは、基になるメカニズムが要求されたサービスをサポートしていないことを示します。
IDUP_S_SERV_VERIF_INFO_NEEDED (I) indicates that the Service_Verification_Info parameter bundle must be input in order for service verification to proceed. The output parameter service_verification_info_id contains an identifier which may be used by the calling application to locate the necessary information.
IDUP_S_SERV_VERIF_INFO_NEEDED(I)は、サービスの検証を続行するために、Service_Verification_Infoパラメータバンドルを入力する必要があることを示します。出力パラメーターservice_verification_info_idには、呼び出し側アプリケーションが必要な情報を見つけるために使用できる識別子が含まれています。
IDUP_S_UNKNOWN_OPER_ID indicates that the input prot_oper_id value is not recognized or supported in the underlying mechanism.
IDUP_S_UNKNOWN_OPER_IDは、基になるメカニズムで入力prot_oper_id値が認識またはサポートされていないことを示します。
Per-IDU security service availability in IDUP-GSS-API is to be understood and used as described in GSS-API [RFC-2078], with the exception that combinations of services requested by the calling application and supported by the underlying mechanism may be applied simultaneously to any IDU (true for both the SE and the EV calls, but true in the fullest sense for the GP calls).
IDUP-GSS-APIでのIDUごとのセキュリティサービスの可用性は、GSS-API [RFC-2078]で説明されているように理解され、使用されます。ただし、呼び出し元のアプリケーションによって要求され、基盤となるメカニズムによってサポートされるサービスの組み合わせは、任意のIDUに同時に適用されます(SE呼び出しとEV呼び出しの両方に当てはまりますが、GP呼び出しには完全に当てはまります)。
GSS-API callers desiring per-message security services should check the relevant service OBJECT IDs at environment establishment time to ensure that what is available in the established environment is suitable for their security needs.
メッセージごとのセキュリティサービスを希望するGSS-API呼び出し元は、環境の確立時に関連するサービスのOBJECT IDをチェックして、確立された環境で利用可能なものが自分のセキュリティニーズに適していることを確認する必要があります。
The concept of per-IDU replay detection and sequencing discussed in GSS-API [RFC-2078] is not relevant to the IDUP-GSS-API.
GSS-API [RFC-2078]で説明されているIDUごとのリプレイ検出およびシーケンスの概念は、IDUP-GSS-APIには関係ありません。
The concept of QOP control in IDUP-GSS-API is to be understood essentially as described in GSS-API [RFC-2078]. However, the actual description and use of the QOP parameter is given as follows.
IDUP-GSS-APIのQOP制御の概念は、GSS-API [RFC-2078]で説明されているように本質的に理解されます。ただし、QOPパラメータの実際の説明と使用法は次のとおりです。
The qop_algs parameter for IDUP is defined to be a 32-bit unsigned integer with the following bit-field assignments:
IDUPのqop_algsパラメータは、次のビットフィールド割り当てを持つ32ビットの符号なし整数として定義されています。
31 (MSB) (LSB) 0 ---------------------------------------------- | U(19) | TS(5) | IA(4) | MA(4) | ----------------------------------------------
where
ただし
U is a 19-bit Unspecified field (available for future use/expansion) -- must be set to zero;
Uは19ビットの未指定フィールド(将来の使用/拡張に使用可能)-ゼロに設定する必要があります。
TS is a 5-bit Type Specifier (a semantic qualifier whose value specifies the type of algorithm which may be used to protect the corresponding IDU -- see below for details);
TSは5ビットのタイプ指定子(その値は、対応するIDUを保護するために使用できるアルゴリズムのタイプを指定する意味的修飾子です。詳細は以下を参照してください)。
IA is a 4-bit field enumerating Implementation-specific Algorithms; and
IAは、実装固有のアルゴリズムを列挙する4ビットのフィールドです。そして
MA is a 4-bit field enumerating Mechanism-defined Algorithms.
MAは、メカニズム定義アルゴリズムを列挙する4ビットのフィールドです。
The interpretation of the qop_algs parameter is as follows. The MA field is examined first. If it is non-zero then the algorithm used to protect the IDU is the mechanism-specified algorithm corresponding to that integer value.
qop_algsパラメータの解釈は次のとおりです。 MAフィールドが最初に検査されます。ゼロ以外の場合、IDUの保護に使用されるアルゴリズムは、その整数値に対応するメカニズム指定のアルゴリズムです。
If MA is zero then IA is examined. If this field value is non-zero then the algorithm used to protect the IDU is the implementation-specified algorithm corresponding to that integer value. Note that use of this field may hinder portability since a particular value may specify one algorithm in one implementation of the mechanism and may not be supported or may specify a completely different algorithm in another implementation of the mechanism.
MAがゼロの場合、IAが検査されます。このフィールド値がゼロ以外の場合、IDUを保護するために使用されるアルゴリズムは、その整数値に対応する実装指定のアルゴリズムです。特定の値がメカニズムの1つの実装で1つのアルゴリズムを指定し、サポートされない場合や、メカニズムの別の実装で完全に異なるアルゴリズムを指定する場合があるため、このフィールドの使用は移植性を妨げる可能性があることに注意してください。
Finally, if both MA and IA are zero then TS is examined. A value of zero for TS specifies the default algorithm for the established mechanism. A non-zero value for TS corresponds to a particular algorithm qualifier and selects any algorithm from the mechanism specification which satisfies that qualifier (which actual algorithm is selected is an implementation choice; the calling application need not be aware of the choice made).
最後に、MAとIAの両方がゼロの場合、TSが検査されます。 TSのゼロの値は、確立されたメカニズムのデフォルトのアルゴリズムを指定します。 TSのゼロ以外の値は特定のアルゴリズム修飾子に対応し、その修飾子を満たすメカニズム仕様からアルゴリズムを選択します(実際に選択されるアルゴリズムは実装上の選択です。呼び出し側のアプリケーションは、行われた選択を認識する必要はありません)。
The following TS values (i.e., algorithm qualifiers) are specified; other values may be added in the future.
次のTS値(つまり、アルゴリズム修飾子)が指定されています。その他の値は将来追加される可能性があります。
When qop_algs is used to select a confidentiality algorithm:
qop_algsを使用して機密性アルゴリズムを選択する場合:
00000 (0) = default confidentiality algorithm 00001 (1) = IDUP_SYM_ALG_STRENGTH_STRONG 00010 (2) = IDUP_SYM_ALG_STRENGTH_MEDIUM 00011 (3) = IDUP_SYM_ALG_STRENGTH_WEAK 11111 (31) = IDUP_NO_CONFIDENTIALITY
00000(0)=デフォルトの機密性アルゴリズム00001(1)= IDUP_SYM_ALG_STRENGTH_STRONG 00010(2)= IDUP_SYM_ALG_STRENGTH_MEDIUM 00011(3)= IDUP_SYM_ALG_STRENGTH_WEAK 11111(31)= IDUP_NO_CONFIDENTIALITY
When qop_algs is used to select a DOA/integrity algorithm:
qop_algsを使用してDOA /整合性アルゴリズムを選択する場合:
00000 (0) = default integrity algorithm 00001 (1) = IDUP_INT_ALG_DIG_SIGNATURE (integrity provided through a digital signature) 00010 (2) = IDUP_INT_ALG_NON_DIG_SIGNATURE (integrity without a dig. sig. (e.g., with a MAC)) 11111 (31) = IDUP_NO_INTEGRITY
00000(0)=デフォルトの整合性アルゴリズム00001(1)= IDUP_INT_ALG_DIG_SIGNATURE(デジタル署名によって提供される整合性)00010(2)= IDUP_INT_ALG_NON_DIG_SIGNATURE(掘り込み信号なしの整合性(例:MACあり))11111(_EGITY_IDUP_
Clearly, qualifiers such as strong, medium, and weak are debatable and likely to change with time, but for the purposes of this version of the specification we define these terms as follows. A confidentiality algorithm is "weak" if the effective key length of the cipher is 40 bits or less; it is "medium-strength" if the effective key length is strictly between 40 and 80 bits; and it is "strong" if the effective key length is 80 bits or greater. ("Effective key length" describes the computational effort required to break a cipher using the best-known cryptanalytic attack against that cipher.)
明らかに、strong、medium、weakなどの修飾子は議論の余地があり、時間とともに変化する可能性がありますが、このバージョンの仕様では、これらの用語を次のように定義します。暗号の有効なキーの長さが40ビット以下の場合、機密性アルゴリズムは「弱い」です。有効なキーの長さが厳密に40〜80ビットの場合、「中程度の強度」です。有効なキーの長さが80ビット以上の場合は「強力」です。 (「有効なキーの長さ」は、その暗号に対する最もよく知られている暗号解読攻撃を使用して暗号を解読するために必要な計算量を表します。)
A five-bit TS field allows up to 30 qualifiers for each of confidentiality and integrity (since "0" is reserved for "default" and "31" is reserved for "none", as shown above). This document specifies three for confidentiality and two for integrity, leaving a lot of room for future specification. Suggestions of qualifiers such as "fast", "medium-speed", and "slow" have been made, but such terms are difficult to quantify (and in any case are platform- and processor-dependent), and so have been left out of this initial specification. The intention is that the TS terms be quantitative, environment-independent qualifiers of algorithms, as much as this is possible.
5ビットのTSフィールドでは、機密性と整合性のそれぞれに最大30個の修飾子を使用できます(上記のように、「0」は「デフォルト」用に予約され、「31」は「なし」用に予約されているため)。このドキュメントでは、機密性のために3つ、完全性のために2つを指定しているため、将来の仕様のために多くの余地があります。 「高速」、「中速」、「低速」などの修飾子の提案が行われましたが、このような用語は定量化が困難であり(いずれの場合もプラットフォームとプロセッサに依存します)、そのため省略されました。この初期仕様の。これは、TS用語が可能な限り、アルゴリズムの定量的で環境に依存しない修飾子であることを意図しています。
Use of the qop_algs parameter as defined above is ultimately meant to be as follows.
上記で定義されたqop_algsパラメータの使用は、最終的には次のようになることを意味します。
- TS values are specified at the IDUP-GSS-API level and are therefore portable across mechanisms. Applications which know nothing about algorithms are still able to choose "quality" of protection for their message tokens.
- TS値はIDUP-GSS-APIレベルで指定されるため、メカニズム間で移植可能です。アルゴリズムについて何も知らないアプリケーションでも、メッセージトークンの保護の「品質」を選択できます。
- MA values are specified at the mechanism level and are therefore portable across implementations of a mechanism.
- MA値はメカニズムレベルで指定されるため、メカニズムの実装間で移植可能です。
- IA values are specified at the implementation level (in user documentation, for example) and are therefore typically non-portable. An application which is aware of its own mechanism implementation and the mechanism implementation of its intended P-IDU recipient, however, is free to use these values since they will be perfectly valid and meaningful for protecting IDUs between those entities.
- IA値は実装レベル(ユーザードキュメントなど)で指定されるため、通常は移植できません。ただし、独自のメカニズムの実装と目的のP-IDU受信者のメカニズムの実装を認識しているアプリケーションは、これらの値を自由に使用できます。これらの値は、エンティティ間のIDUを保護するために完全に有効で意味があるためです。
The receiver of a P-IDU must pass back to its calling application (in IDUP_Start_Unprotect()) a qop_algs parameter with all relevant fields set. For example, if triple-DES has been specified by a mechanism as algorithm 8, then a receiver of a triple-DES-protected P-IDU must pass to its application (TS=1, IA=0, MA=8). In this way, the application is free to read whatever part of the qop_algs parameter it understands (TS or IA/MA).
P-IDUのレシーバーは、呼び出し側のアプリケーション(IDUP_Start_Unprotect()内)に、関連するすべてのフィールドが設定されたqop_algsパラメーターを渡す必要があります。たとえば、メカニズムによってTriple-DESがアルゴリズム8として指定されている場合、Triple-DESで保護されたP-IDUの受信側はそのアプリケーションに渡す必要があります(TS = 1、IA = 0、MA = 8)。このようにして、アプリケーションは、qop_algsパラメーターの理解できる部分(TSまたはIA / MA)を自由に読み取ることができます。
IDUP mechanisms should make provision in their protocols for the carrying of time information from originator to target(s). That is, a target (a legitimate recipient) should get some indication during unprotection regarding the time at which the protection operation took place. This is particularly important if the mechanism offers non-repudiation services because in some cases evidence verification may only be achievable if the time at which the evidence was generated is known.
IDUPメカニズムは、オリジネーターからターゲットへの時間情報の伝送のためのプロトコルで規定を作成する必要があります。つまり、ターゲット(正当な受信者)は、保護解除中に保護操作が行われた時間に関する何らかの指示を取得する必要があります。メカニズムが否認防止サービスを提供する場合、これは特に重要です。証拠が検証されたのは、証拠が生成された時刻がわかっている場合にのみ達成できる場合があるためです。
Depending upon the platform and resources available to the implementation, an IDUP environment may have access to a source of trusted (secure) time, untrusted (local) time, both kinds of time, or no time. OBJECT IDs indicating such availability are returned by the IDUP_Establish_Env() call. When starting a protection operation, an application may specify which time services it wishes to have applied to the IDU. Similarly, for unprotection, an application may specify which kind of time (if any) to consult when the validity of the P-IDU is to be established. Specifying both kinds of time is interpreted to mean that the calling application does not care which kind of time is used.
実装に利用可能なプラットフォームとリソースに応じて、IDUP環境は、信頼できる(セキュア)時間、信頼できない(ローカル)時間、両方の種類の時間、または時間がないソースにアクセスできます。このような可用性を示すオブジェクトIDは、IDUP_Establish_Env()呼び出しによって返されます。保護操作を開始するとき、アプリケーションは、IDUに適用したいタイムサービスを指定できます。同様に、保護を解除するために、アプリケーションは、P-IDUの有効性を確立する必要があるときに、どのような種類の時間(ある場合)に相談するかを指定できます。両方の種類の時間を指定すると、呼び出し元のアプリケーションがどの種類の時間を使用するかを気にしないと解釈されます。
The IDUP calls which use a time parameter specify the type of that parameter to be INTEGER. This INTEGER is defined in all cases to be the number of seconds which have elapsed since midnight, January 1, 1970, coordinated universal time.
時間パラメーターを使用するIDUP呼び出しは、そのパラメーターのタイプをINTEGERに指定します。このINTEGERは、すべての場合において、1970年1月1日の午前0時から調整された世界時での経過秒数として定義されます。
This section describes the IDUP-GSS-API's operational interface, dividing the set of calls offered into five groups. Credential management calls are related to the acquisition and release of credentials by API callers. Environment-level calls are related to the management of the security environment by an API caller. Per-IDU calls are related to the protection or unprotection of individual IDUs in established security environments. Special-purpose calls deal with unusual or auxiliary evidence generation/verification requirements. Support calls provide extra functions useful to IDUP-GSS-API callers. Table 2 groups and summarizes the calls in tabular fashion.
このセクションでは、IDUP-GSS-APIの操作インターフェイスについて説明し、提供される一連の呼び出しを5つのグループに分けます。資格情報管理呼び出しは、API呼び出し元による資格情報の取得と解放に関連しています。環境レベルの呼び出しは、API呼び出し元によるセキュリティ環境の管理に関連しています。 IDUごとの呼び出しは、確立されたセキュリティ環境での個々のIDUの保護または保護解除に関連しています。特別な目的の呼び出しは、異常または補助的な証拠生成/検証の要件を扱います。サポート呼び出しは、IDUP-GSS-API呼び出し元に役立つ追加機能を提供します。表2は、呼び出しをグループ化し、表形式で要約したものです。
Table 2: IDUP-GSS-API Calls
表2:IDUP-GSS-API呼び出し
CREDENTIAL MANAGEMENT (see the calls given in Section 2.1 of GSS-API [RFC-2078])
クレデンシャル管理(GSS-API [RFC-2078]のセクション2.1に記載されている呼び出しを参照)
ENVIRONMENT-LEVEL CALLS IDUP_Establish_Env IDUP_Abolish_Env IDUP_Inquire_Env
環境レベルの呼び出しIDUP_Establish_Env IDUP_Abolish_Env IDUP_Inquire_Env
PER-IDU CALLS SE (SIGN,ENCRYPT) CALLS IDUP_SE_SingleBuffer_Protect IDUP_SE_SingleBuffer_Unprotect IDUP_SE_MultiBuffer_StartProtect IDUP_SE_MultiBuffer_EndProtect IDUP_SE_MultiBuffer_StartUnprotect IDUP_SE_MultiBuffer_EndUnprotect IDUP_SE_Process_Buffer EV (EVIDENCE) CALLS IDUP_EV_SingleBuffer_Generate IDUP_EV_SingleBuffer_Verify IDUP_EV_MultiBuffer_StartGenerate IDUP_EV_MultiBuffer_EndGenerate IDUP_EV_MultiBuffer_StartVerify IDUP_EV_MultiBuffer_EndVerify IDUP_EV_Process_Buffer GP (GENERAL PROTECTION) CALLS IDUP_Start_Protect IDUP_Protect IDUP_End_Protect IDUP_Start_Unprotect IDUP_Unprotect IDUP_End_Unprotect
IDUは、それ自体(SIGN、ENCRYPT)がCALLS CALLS IDUP_SE_SingleBuffer_Protect IDUP_SE_SingleBuffer_Unprotect IDUP_SE_MultiBuffer_StartProtect IDUP_SE_MultiBuffer_EndProtect IDUP_SE_MultiBuffer_StartUnprotect IDUP_SE_MultiBuffer_EndUnprotect IDUP_SE_Process_Buffer EV(エビデンス)IDUP_EV_SingleBuffer_Generate IDUP_EV_SingleBuffer_Verify IDUP_EV_MultiBuffer_StartGenerate IDUP_EV_MultiBuffer_EndGenerate IDUP_EV_MultiBuffer_StartVerify IDUP_EV_MultiBuffer_EndVerify IDUP_EV_Process_Buffer GP(一般保護)を呼び出しIDUP_Start_Protect IDUP_Protect IDUP_End_Protect IDUP_Start_Unprotect IDUP_Unprotect IDUP_End_Unprotectを呼び出し
SPECIAL-PURPOSE CALLS (might not be supported by all mechanisms) IDUP_Form_Complete_PIDU
SPECIAL-PURPOSE CALLS(一部のメカニズムではサポートされない場合があります)IDUP_Form_Complete_PIDU
SUPPORT CALLS IDUP_Acquire_cred_with_auth IDUP_Get_Token_Details IDUP_Get_Policy_Info IDUP_Cancel_Multibuffer_Op (see also the calls given in Section 2.4 of GSS-API [RFC-2078])
サポートコールIDUP_Acquire_cred_with_auth IDUP_Get_Token_Details IDUP_Get_Policy_Info IDUP_Cancel_Multibuffer_Op(GSS-API [RFC-2078]のセクション2.4に記載されている呼び出しも参照)
In terms of conformance to this specification, IDUP-GSS-API implementations must support the credential management calls, the environment-level calls, some subset of the per-IDU calls, and the support calls (except where explicitly stated otherwise in Section 2.5). The subset of per-IDU calls supported will depend upon the underlying mechanisms supported and will typically be the SE calls, or the EV calls, or both. As stated in Section 2.3.2.1, implementations are encouraged to support the more powerful GP calls to anticipate the future needs of applications developers, but this is not required for conformance.
この仕様への準拠に関して、IDUP-GSS-API実装は、資格情報管理呼び出し、環境レベルの呼び出し、IDUごとの呼び出しの一部のサブセット、およびサポート呼び出しをサポートする必要があります(セクション2.5で特に明記されている場合を除く)。 。サポートされるIDUごとの呼び出しのサブセットは、サポートされる基本的なメカニズムに依存し、通常はSE呼び出しまたはEV呼び出し、あるいはその両方になります。セクション2.3.2.1で述べたように、実装は、アプリケーション開発者の将来のニーズを予測するために、より強力なGP呼び出しをサポートすることが推奨されますが、これは準拠のために必要ではありません。
Credential management in IDUP-GSS-API is to be understood and used as described in GSS-API [RFC-2078]. The calls given in Section 2.1 of GSS-API (including all associated parameters) are unchanged, although the interpretation of the cred_usage parameter in the GSS-API calls for IDUP purposes is as follows.
IDUP-GSS-APIの資格情報管理は、GSS-API [RFC-2078]で説明されているように理解および使用されます。 GSS-APIのセクション2.1で指定された呼び出し(すべての関連パラメーターを含む)は変更されていませんが、IDUPを目的としたGSS-API呼び出しのcred_usageパラメーターの解釈は次のとおりです。
ENCRYPT_ONLY 8 DECRYPT_ONLY 16 SIGN_ONLY 32 VERIFY_ONLY 64
ENCRYPT_ONLY 8 DECRYPT_ONLY 16 SIGN_ONLY 32 VERIFY_ONLY 64
The values above may be logically OR'ed together in any desired combination to restrict credential usage (where OR'ing all values results in NO_RESTRICTION). Future possible values for this parameter are for further study.
上記の値は、クレデンシャルの使用を制限するために、任意の望ましい組み合わせで論理ORすることができます(すべての値のORをとると、NO_RESTRICTIONになります)。このパラメータの将来の可能な値は、今後の検討課題です。
The call IDUP_Acquire_cred_with_auth has been added as a support call in this specification to permit authenticated credential acquirement; see Section 2.5.2 for details.
IDUP_Acquire_cred_with_authの呼び出しは、認証された資格情報の取得を許可するために、この仕様のサポート呼び出しとして追加されました。詳細については、セクション2.5.2を参照してください。
This group of calls is devoted to the establishment and management of an environment for the purpose of IDU protection and unprotection. Before protecting or unprotecting any IDU, an application must call IDUP_Establish_Env() to initialize environment information and select the underlying IDUP-GSS mechanism to be used. A series of protection or unprotection calls is made to process each IDU, the protection calls resulting in a P-IDU for each. Finally, IDUP_Abolish_Env() is called to flush all environment information.
この通話グループは、IDUの保護と保護解除を目的とした環境の確立と管理に専念しています。 IDUを保護または保護解除する前に、アプリケーションはIDUP_Establish_Env()を呼び出して環境情報を初期化し、使用する基礎となるIDUP-GSSメカニズムを選択する必要があります。一連の保護または保護解除呼び出しが各IDUを処理するために行われ、保護呼び出しはそれぞれにP-IDUをもたらします。最後に、IDUP_Abolish_Env()が呼び出され、すべての環境情報がフラッシュされます。
Semantically, acquiring credentials and establishing an environment is (in many cases) analogous to logging in to a system -- it authenticates a local user to the system and gives that user access to a set of operations which can be performed.
意味的には、認証情報の取得と環境の確立は、(多くの場合)システムへのログインに似ています。ローカルユーザーをシステムに対して認証し、そのユーザーに実行可能な一連の操作へのアクセスを許可します。
The set of calls described in this section is used in place of the calls described in Section 2.2 of GSS-API [RFC-2078], since those calls are specific to a session-oriented environment.
GSS-API [RFC-2078]のセクション2.2で説明されている呼び出しの代わりに、このセクションで説明されている呼び出しのセットが使用されます。これらの呼び出しはセッション指向の環境に固有であるためです。
Inputs: o claimant_cred_handle CREDENTIAL HANDLE, -- NULL parameter specifies "use default"
入力:o Claimant_cred_handle CREDENTIAL HANDLE、-NULLパラメータは「デフォルトを使用」を指定します
o req_mech_type OBJECT IDENTIFIER, -- NULL parameter specifies "use default" o req_environmentPolicies EnvironmentPolicies, -- NULL parameter specifies "use default" o req_services SET OF OBJECT IDENTIFIER, -- GSS_C_NO_OID_SET requests full set of services available -- for req_mech_type
o req_mech_type OBJECT IDENTIFIER、-NULLパラメータは「デフォルトの使用」を指定o req_environmentPolicies EnvironmentPolicies、-NULLパラメータは「デフォルトの使用」を指定o req_services SET OF OBJECT IDENTIFIER、-GSS_C_NO_OID_SETはサービスの完全なセットを要求-req_mech_type
Outputs: o major_status INTEGER, o minor_status INTEGER, o env_handle ENVIRONMENT HANDLE, o actual_mech_type OBJECT IDENTIFIER, -- actual mechanism always indicated, never NULL o actual_environmentPolicies EnvironmentPolicies, -- actual values always indicated, never NULL o ret_services SET OF OBJECT IDENTIFIER,
Return major_status codes: o GSS_S_COMPLETE -- environment-level information was successfully initialized,
major_statusコードを返します。o GSS_S_COMPLETE-環境レベルの情報が正常に初期化されました。
-- and IDU / P-IDU processing can begin. o GSS_S_DEFECTIVE_CREDENTIAL o GSS_S_NO_CRED o GSS_S_CREDENTIALS_EXPIRED -- the credentials provided through claimant_cred_handle are -- no longer valid, so environment cannot be established. o GSS_S_BAD_MECH o GSS_S_FAILURE
The following structures are defined to facilitate environment policy input and output:
次の構造は、環境ポリシーの入力と出力を容易にするために定義されています。
EnvironmentPolicies ::= SEQUENCE { confPolicy [0] PolicyAndTime OPTIONAL, -- NULL parameter (on input) specifies "use default" integPolicy [1] PolicyAndTime OPTIONAL, -- NULL parameter (on input) specifies "use default" evidencePolicy [2] PolicyAndTime OPTIONAL } -- NULL parameter (on input) specifies "use default"
PolicyAndTime ::= SEQUENCE { policy OBJECT IDENTIFIER, -- this environment-level policy identifier is separate from -- the policy provisions connected with credentials, if they exist time INTEGER -- on input: the policy rules available at the specified time -- on output: the time at which the policy rules came into effect -- (defined to be the number of seconds elapsed since midnight, -- January 1, 1970, coordinated universal time) endTime INTEGER OPTIONAL } -- on input: unused -- on output: the expiration time of the given policy rules
This routine is used by an application which protects or unprotects IDUs. Using information in the credentials structure referenced by claimant_cred_handle, IDUP_Establish_Env() initializes the data structures required to protect or unprotect IDUs. The claimant_cred_handle, if non-NULL, must correspond to a valid credentials structure.
このルーチンは、IDUを保護または保護解除するアプリケーションによって使用されます。 IDUP_Establish_Env()は、claimant_cred_handleによって参照される資格情報構造の情報を使用して、IDUの保護または保護解除に必要なデータ構造を初期化します。 Claimant_cred_handleは、NULLでない場合、有効な資格情報構造に対応している必要があります。
This routine returns an env_handle for all future references to this environment; when protection, unprotection, or IDUP_Abolish_Env() calls are made, this handle value will be used as the input env_handle argument. It is the caller's responsibility to establish a communications path to the intended recipients of the P-IDU, and to transmit the P-IDU to those recipients over that path. This may occur subsequent to the IDUP_Abolish_Env() call.
このルーチンは、この環境への今後のすべての参照に対してenv_handleを返します。保護、保護解除、またはIDUP_Abolish_Env()呼び出しが行われると、このハンドル値が入力env_handle引数として使用されます。 P-IDUの目的の受信者への通信パスを確立し、そのパスを介してそれらの受信者にP-IDUを送信するのは呼び出し元の責任です。これは、IDUP_Abolish_Env()呼び出しの後に発生する可能性があります。
The req_services parameter may be used by the calling application to request that data origin authentication with integrity, confidentiality with integrity, evidence generation, and/or evidence verification services be available in the established environment. Requests can also be made for "trusted" or "untrusted" time services. Requesting evidence generation or verification indicates that the calling application may wish to generate or verify evidence information for non-repudiation purposes (note: an IDU protector may request that a flag be inserted into a P-IDU asking a recipient to provide an evidence of the type "non-repudiation of delivery"; however, the IDUP-GSS-API cannot by itself guarantee that the evidence will be sent because there is no way to force a target to send an evidence_token back to the IDU protector).
req_servicesパラメータは、呼び出し元のアプリケーションで使用して、整合性のあるデータ発信元認証、整合性のある機密性、証拠の生成、および/または証拠検証サービスを確立された環境で利用できるように要求できます。 「信頼された」または「信頼されていない」タイムサービスのリクエストも作成できます。証拠の生成または検証の要求は、呼び出し側のアプリケーションが否認防止の目的で証拠情報を生成または検証することを望む可能性があることを示します(注:IDU保護者は、受信者に証拠を提供するよう求めるフラグをP-IDUに挿入するよう要求する場合がありますタイプは「配信の否認防止」ですが、IDUP-GSS-API自体では、ターゲットがエビデンス_トークンをIDUプロテクターに送り返すよう強制する方法がないため、エビデンスが送信されることを保証できません。
Not all features will be available in all underlying mech_types; the returned value of ret_services indicates, as a function of mech_type processing capabilities and the initiator-provided input OBJECT IDs, the set of features which will be available in the environment. The value of this parameter is undefined unless the routine's major_status indicates COMPLETE. Failure to provide the precise set of services desired by the caller does not cause environment establishment to fail; it is the caller's choice to abolish the environment if the service set provided is unsuitable for the caller's use. The returned mech_type value indicates the specific mechanism employed in the environment and will never indicate the value for "default".
基礎となるすべてのmech_typesですべての機能が使用できるわけではありません。 ret_servicesの戻り値は、mech_type処理機能およびイニシエーターが提供する入力オブジェクトIDの関数として、環境で使用できる機能のセットを示します。ルーチンのmajor_statusがCOMPLETEを示さない限り、このパラメーターの値は未定義です。呼び出し元が必要とする正確なサービスのセットを提供しなくても、環境の確立は失敗しません。提供されたサービスセットが呼び出し元の使用に適さない場合、環境を廃止するのは呼び出し元の選択です。返されるmech_type値は、環境で使用されている特定のメカニズムを示し、「デフォルト」の値を示すことはありません。
The following OBJECT IDs are defined for protection and unprotection services (the OBJECT ID iso.org.dod.internet.security.services, 1.3.6.1.5.7, has been assigned by IANA, and some of the security services under that node are assigned as shown below). It is recognized that this list may grow over time.
次のOBJECT IDは、保護サービスと保護解除サービスに対して定義されています(OBJECT ID iso.org.dod.internet.security.services、1.3.6.1.5.7はIANAによって割り当てられており、そのノードの下のセキュリティサービスの一部が割り当てられています以下に示すように)。このリストは時間とともに大きくなる可能性があることが認識されています。
PER_CONF = { 1.3.6.1.5.7.1.1 } -- perform data confidentiality (i.e., encrypt data) PER_CONF_FULL = { 1.3.6.1.5.7.1.3 } -- perform full confidentiality (i.e., encrypt data and sig) -- (may be used only when PER_DOA is requested simultaneously) PER_DOA = { 1.3.6.1.5.7.3.1 } -- perform data origin authentication with data integrity PER_DOA_CIPH = { 1.3.6.1.5.7.3.3 } -- perform DOA with DI over ciphertext (rather than plaintext) -- (may be used only when PER_CONF is requested simultaneously) PER_POO = { 1.3.6.1.5.7.4.1 } -- perform (i.e., create) non-repudiable "proof of origin" PER_POD = { 1.3.6.1.5.7.4.3 } -- perform (i.e., create) non-repudiable "proof of delivery"
REC_CONF = { 1.3.6.1.5.7.1.2 } -- receive data confidentiality (i.e., decrypt data) REC_CONF_FULL = { 1.3.6.1.5.7.1.4 } -- receive full confidentiality (i.e., decrypt data and sig) -- (may be used only when REC_DOA is received simultaneously) REC_DOA = { 1.3.6.1.5.7.3.2 } -- receive / verify DOA with data integrity REC_DOA_CIPH = { 1.3.6.1.5.7.3.4 } -- verify DOA with DI over ciphertext (rather than plaintext) -- (may be used only when PER_CONF is received simultaneously) REC_POO = { 1.3.6.1.5.7.4.2 } -- receive / verify "proof of origin" REC_POD = { 1.3.6.1.5.7.4.4 } -- receive / verify "proof of delivery" TTIME = { 1.3.6.1.5.7.7.1 } -- trusted time availability UTIME = { 1.3.6.1.5.7.7.2 } -- untrusted time availability
The PER_CONF return value (in the ret_services paramater) indicates whether the environment supports confidentiality services, and so informs the caller whether or not a request for encryption can be honored. In similar fashion, the PER_DOA return value indicates whether DOA services are available in the established environment, and the PER_POO and PER_POD return values indicate whether evidence generation services are available. The TTIME and UTIME values indicate whether trusted time and untrusted time are available for protection / unprotection services.
PER_CONF戻り値(ret_servicesパラメーター内)は、環境が機密性サービスをサポートしているかどうかを示し、暗号化の要求を受け入れることができるかどうかを呼び出し元に通知します。同様に、PER_DOAの戻り値は、確立された環境でDOAサービスが利用できるかどうかを示し、PER_POOおよびPER_PODの戻り値は、証拠生成サービスが利用できるかどうかを示します。 TTIME値とUTIME値は、信頼できる時間と信頼できない時間を保護/保護解除サービスに使用できるかどうかを示します。
Note that, unlike a GSS "context", an IDUP environment does not have an explicit lifetime associated with it. Instead, it relies on the lifetime of the calling entity's credential (set by the caller in the GSS_Acquire_cred() call). When the credential expires (or is explicitly deleted in any other way), no new operations are allowed in the IDUP environment (although operations which have begun, such as the Protection set of calls, can be taken to completion).
GSSの「コンテキスト」とは異なり、IDUP環境には明示的なライフタイムが関連付けられていないことに注意してください。代わりに、呼び出し元のエンティティの資格(GSS_Acquire_cred()呼び出しで呼び出し元によって設定される)の有効期間に依存します。資格情報の有効期限が切れた(または他の方法で明示的に削除された)場合、IDUP環境では新しい操作は許可されません(ただし、保護の呼び出しセットなど、開始された操作は完了することができます)。
Input: o env_handle ENVIRONMENT HANDLE
入力:o env_handle ENVIRONMENT HANDLE
Outputs: o major_status INTEGER, o minor_status INTEGER,
出力:o major_status INTEGER、o minor_status INTEGER、
Return major_status codes: o GSS_S_COMPLETE -- the relevant environment-specific information was flushed. o IDUP_S_NO_ENV o GSS_S_FAILURE
major_statusコードを返します。o GSS_S_COMPLETE-関連する環境固有の情報がフラッシュされました。 o IDUP_S_NO_ENV o GSS_S_FAILURE
This call is made to flush environment-specific information. (Once an environment is established, cached credential and environment-related info. is expected to be retained until an IDUP_Abolish_Env() call is made or until the cred. lifetime expires.) Attempts to perform IDU processing on a deleted environment will result in error returns.
この呼び出しは、環境固有の情報をフラッシュするために行われます。 (環境が確立されると、IDUP_Abolish_Env()呼び出しが行われるか、クレデンシャルの有効期限が切れるまで、キャッシュされた資格情報と環境関連の情報が保持されることが期待されます。)削除された環境でIDU処理を実行しようとすると、エラーが発生します。戻り値。
Input: o env_handle ENVIRONMENT HANDLE,
入力:o env_handle ENVIRONMENT HANDLE、
Outputs: o major_status INTEGER, o minor_status INTEGER, o mech_type OBJECT IDENTIFIER, -- the mechanism supporting this environment o environmentPolicies EnvironmentPolicies, -- the environment policies in effect o ret_services SET OF OBJECT IDENTIFIER,
Return major_status codes: o GSS_S_COMPLETE -- referenced environment is valid and mech_type and other return -- values describe the characteristics of the environment. o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_ENV o GSS_S_FAILURE
This routine provides environment-related information to the caller.
このルーチンは、環境関連の情報を呼び出し元に提供します。
This group of calls is used to perform IDU protection and unprotection processing on an established IDUP environment. Some of these calls may block pending network interactions (depending on the underlying mechanism in use). These calls may be invoked by an IDU's protector or by the P-IDU's recipient. Members of this group form pairs; the output from the protection types of calls is typically meant to be input to the unprotection types of calls.
この呼び出しグループは、確立されたIDUP環境でIDU保護および保護解除処理を実行するために使用されます。これらの呼び出しの一部は、保留中のネットワーク相互作用をブロックする可能性があります(使用中の基になるメカニズムによって異なります)。これらの呼び出しは、IDUの保護者またはP-IDUの受信者が呼び出すことができます。このグループのメンバーはペアを形成します。保護タイプの呼び出しからの出力は、通常、非保護タイプの呼び出しへの入力となることを意図しています。
The per-IDU calls can support caller-requested data origin authentication with data integrity, confidentiality with data integrity, evidence, and evidence-requested-from-target services.
IDUごとの呼び出しは、データの整合性を備えた発信者が要求したデータ発信元認証、データの整合性を備えた機密性、証拠、およびターゲットからの証拠を要求されたサービスをサポートできます。
The protection operations output a token which encapsulates all the information required to unprotect the IDU. The token is passed to the target (possibly separate from the M-IDU) and is processed by the unprotection calls at that system. Unprotection performs decipherment, DOA verification, evidence verification, or notification of evidence requested, as required.
保護操作は、IDUの保護を解除するために必要なすべての情報をカプセル化するトークンを出力します。トークンはターゲットに渡され(おそらくM-IDUとは別)、そのシステムの保護解除呼び出しによって処理されます。保護解除は、必要に応じて、解読、DOA検証、証拠検証、または要求された証拠の通知を実行します。
Each of the two main operations (protection and unprotection) may be separated into three parts: "Start_Operation"; "Operation" (which may be called once for each buffer of input data); and "End_Operation". This separation is available for the case where the IDU or P-IDU is to be processed one buffer at a time. "Start_Operation" allows the caller to specify or retrieve the appropriate "Quality" used during the processing. "Operation" is concerned with the processing itself, receiving a buffer of input data and potentially returning a buffer of output data. "End_Operation" performs any required clean-up and creates the appropriate token or states whether the input token was verified.
2つの主な操作(保護と保護解除)はそれぞれ3つの部分に分けることができます。 「操作」(入力データのバッファごとに1回呼び出すことができます)。および「End_Operation」。この分離は、IDUまたはP-IDUが一度に1つのバッファーで処理される場合に使用できます。 「Start_Operation」を使用すると、呼び出し元は、処理中に使用される適切な「品質」を指定または取得できます。 「操作」は処理自体に関係し、入力データのバッファーを受け取り、出力データのバッファーを返す可能性があります。 「End_Operation」は必要なクリーンアップを実行し、適切なトークンを作成するか、入力トークンが検証されたかどうかを示します。
If the IDU or P-IDU is wholly contained in a single buffer, the three-part protection/unprotection processing need not be done. Instead, protection or unprotection can be accomplished using only a single call, simplifying application code.
IDUまたはP-IDUが完全に単一のバッファーに含まれている場合は、3つの部分からなる保護/保護解除処理を実行する必要はありません。代わりに、保護または保護解除を1回の呼び出しだけで実行できるため、アプリケーションコードが簡素化されます。
The set of calls described in this section is used in place of the calls GSS_GetMIC(), GSS_VerifyMIC, GSS_Wrap(), and GSS_Unwrap() which are specified in [RFC-2078], since those calls are specific to a session-oriented environment.
このセクションで説明する一連の呼び出しは、[RFC-2078]で指定されているGSS_GetMIC()、GSS_VerifyMIC、GSS_Wrap()、GSS_Unwrap()の呼び出しの代わりに使用されます。これらの呼び出しはセッション指向の環境に固有であるためです。 。
The "SE" group of calls provides a very simple, high-level interface to underlying IDUP mechanisms when application developers need access only to signature and encryption protection/unprotection services. It includes both the single-buffer and multiple-buffer IDU cases and can be used for signing only, encrypting only, signing and encrypting (in either order, and with or without visibility of the resulting signature), and "clear signing" (where the data is not modified in any way and the signature itself is returned as a separate item). [Note that encapsulation occurs in all cases except for clear signing, so that these calls provide functionality similar to the GSS_Wrap call.]
「SE」呼び出しグループは、アプリケーション開発者が署名と暗号化の保護/保護解除サービスにのみアクセスする必要がある場合に、基礎となるIDUPメカニズムへの非常にシンプルで高レベルのインターフェースを提供します。これには、シングルバッファーとマルチバッファーの両方のIDUケースが含まれ、署名のみ、暗号化のみ、署名と暗号化(どちらの順序でも、結果の署名の表示あり/なし)、および「明確な署名」(ここで署名)に使用できます。データは一切変更されず、署名自体は別のアイテムとして返されます)。 [カプセル化はクリア署名を除くすべてのケースで発生するため、これらの呼び出しはGSS_Wrap呼び出しと同様の機能を提供することに注意してください。]
Note that the term "signing" is used in its most generic sense, not necessarily implying the use of public-key techniques. This concept has also been called "sealing" in other contexts (e.g., in other standardization efforts).
「署名」という用語は最も一般的な意味で使用されており、必ずしも公開鍵技術の使用を意味しているわけではないことに注意してください。この概念は、他のコンテキスト(他の標準化の取り組みなど)では「シーリング」とも呼ばれています。
The SE calls may be viewed by mechanism implementors as an "API" to the more powerful GP calls defined later and so may be implemented as simple mapping functions to those calls (when those optional calls are supported). Application callers, on the other hand, may find that the SE calls are all they currently need for many environments. At some time in the future when they have need of non-repudiation or "directed receipts" types of services, they may consider using the EV calls (or the GP calls -- when these are supported -- if complex and sophisticated combinations of services are required). To assist in this migration path, mechanism implementors are encouraged to support the full set of IDUP calls (i.e., the SE, EV, and GP calls) even though some calling applications will only use the SE calls in the short term.
SE呼び出しは、メカニズムの実装者によって、後で定義されるより強力なGP呼び出しの「API」と見なされる場合があり、それらの呼び出しへの単純なマッピング関数として実装される場合があります(オプションの呼び出しがサポートされている場合)。一方、アプリケーションの呼び出し元は、SE呼び出しだけで現在多くの環境に必要なものを見つけることができます。将来、否認防止または「ダイレクトレシート」タイプのサービスが必要になったときに、EVコール(またはGPコール-これらがサポートされている場合-サービスの複雑で高度な組み合わせの場合)の使用を検討する可能性があります。が必要です)。この移行パスを支援するために、メカニズムの実装者は、一部の呼び出し元アプリケーションが短期的にはSE呼び出しのみを使用する場合でも、IDUP呼び出しの完全なセット(つまり、SE、EV、およびGP呼び出し)をサポートすることをお勧めします。
The concept of "parameter bundles" is used in the calls presented in the following subsections in order to simplify their presentation and clarify their intended purpose and use. See Section 2.3.4.1 for a more complete description of parameter bundles.
「パラメータバンドル」の概念は、次のサブセクションで示される呼び出しで使用され、それらの表示を簡略化し、それらの意図された目的と使用法を明確にします。パラメータバンドルの詳細については、セクション2.3.4.1を参照してください。
The following parameter bundles are used in the "SE" protection and unprotection sets of calls.
次のパラメータバンドルは、コールの「SE」保護および非保護セットで使用されます。
o Protect_Options PARAMETER BUNDLE o protect_operation INTEGER { sign_only (0), encrypt_only (1), sign_and_encrypt (2), -- let mechanism choose order (and readability of signature) sign_then_encrypt_data (3), -- sign, then encrypt plaintext (leaving signature in clear) sign_then_encrypt_full (4), -- sign, then encrypt everything (including signature) encrypt_then_sign (5), -- encrypt, then sign the ciphertext clear_sign_only (6) } OPTIONAL, o protect_oper_oid OBJECT IDENTIFIER OPTIONAL, -- may be used in place of above parameter if OID is known o sign_qop_alg UNSIGNED INTEGER, o sign_qop_algID AlgorithmIdentifier, --overrides sign_qop_alg o enc_qop_alg UNSIGNED INTEGER, o enc_qop_algID AlgorithmIdentifier, --overrides enc_qop_alg o idu_type_string OCTET STRING, -- type of the IDU ("data", "e-mail doc", MIME type, etc.) o pidu_type_string OCTET STRING, o mech_indep_encap_req BOOLEAN -- (see Appendix A)
o Protect_Options PARAMETER BUNDLE o protect_operation INTEGER {sign_only(0)、encrypt_only(1)、sign_and_encrypt(2)、-メカニズムに順序(および署名の読みやすさ)を選択させますsign_then_encrypt_data(3)、-署名してから平文を暗号化します(署名はそのままにします) clear)sign_then_encrypt_full(4)、-署名してからすべてのもの(署名を含む)を暗号化するencrypt_then_sign(5)、-暗号化してから暗号文に署名するclear_sign_only(6)}オプション、o protect_oper_oid OBJECT IDENTIFIER OPTIONAL、-以下で使用可能OIDがわかっている場合は、上記のパラメーターの場所o sign_qop_alg UNSIGNED INTEGER、o sign_qop_algID AlgorithmIdentifier、-sign_qop_algをオーバーライドしますo enc_qop_alg UNSIGNED INTEGER、o enc_qop_algID AlgorithmIdentifier、--overrides enc_qop_alstring、OCT_typeのIDを返します「e-mail doc」、MIMEタイプなど)o pidu_type_string OCTET STRING、o mech_indep_encap_req BOOLEAN-(付録Aを参照)
o PIDU_Information PARAMETER BUNDLE o protect_options Protect_Options, o originator_name INTERNAL NAME, o originator_role Originator_Role, -- (see Section 2.3.4.1) o protection_time INTEGER, o Bad_Target_Name PARAMETER BUNDLE, -- same as in Section 2.3.3.2 o bad_targ_name INTERNAL NAME, o bad_targ_status INTEGER, -- a status flag giving the reason for rejection of the name -- in bad_targ_name. Specified reasons include: -- SYNTAX_INVALID (0) the syntax of the name is invalid; -- NAME_UNRECOGNIZED (1) the name is not recognized; -- NAME_AMBIGUOUS (2) the name cannot be resolved; -- ACCESS_DENIED (3) access to this target is denied; -- CERTIFICATE_NOT_FOUND (4) the encryption certificate of the target could not be found.
o PIDU_Information PARAMETER BUNDLE o protect_options Protect_Options、o originator_name INTERNAL NAME、o originator_role Originator_Role、-(セクション2.3.4.1を参照)o protection_time INTEGER、o Bad_Target_Name PARAMETER BUNDLE、-セクション2.3.3.2と同じo bad_targ_name INTERNAL NAME INTEGER-名前の拒否理由を示すステータスフラグ-bad_targ_name内。特定の理由は次のとおりです。-SYNTAX_INVALID(0)名前の構文が無効です。 -NAME_UNRECOGNIZED(1)名前が認識されません。 -NAME_AMBIGUOUS(2)名前を解決できません。 -ACCESS_DENIED(3)このターゲットへのアクセスが拒否されました。 -CERTIFICATE_NOT_FOUND(4)ターゲットの暗号化証明書が見つかりませんでした。
o Target_Info PARAMETER BUNDLE, -- same as in Section 2.3.3.2 o targ_names SET OF INTERNAL NAME, o bad_targ_count INTEGER, o bad_target_names SET OF Bad_Target_Name,
o Target_Info PARAMETER BUNDLE、セクション2.3.3.2と同じo o内部引数のtarg_namesセット、o bad_targ_count INTEGER、o bad_Target_names Bad_Target_Nameセット
The following major_status return codes are defined for the "SE" calls in this section:
次のmajor_status戻りコードは、このセクションの「SE」呼び出しに対して定義されています。
o GSS_S_COMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED -- returned (by any SE call) to indicate that there is more output -- data than can fit into the supplied buffers. The application -- should save the returned data and call again to retrieve the -- remaining output. o IDUP_S_MORE_PIDU_NEEDED -- indicates that more PIDU data is needed for the StartUnprotect -- operation (e.g., so that PIDU_Information or initial_idu_buffer -- may be returned). o IDUP_S_INCONSISTENT_PARAMS o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_ENV o GSS_S_BAD_QOP o GSS_S_FAILURE
o GSS_S_COMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED-より多くの出力があることを示すために(任意のSE呼び出しによって)返されます-指定されたバッファーに収まりきらないデータ。アプリケーション-返されたデータを保存し、再度呼び出すことで-残りの出力を取得する必要があります。 o IDUP_S_MORE_PIDU_NEEDED-StartUnprotect-操作にさらにPIDUデータが必要であることを示します(たとえば、PIDU_Informationまたはinitial_idu_bufferが返されるようにするため)。 o IDUP_S_INCONSISTENT_PARAMS o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_ENV o GSS_S_BAD_QOP o GSS_S_FAILURE
If Target_Info is used as an input parameter (e.g., if an encryption operation is being performed), the following major_status return code is also defined:
Target_Infoが入力パラメーターとして使用される場合(暗号化操作が実行されている場合など)、次のmajor_status戻りコードも定義されます。
o IDUP_S_BAD_TARG_INFO
o IDUP_S_BAD_TARG_INFO
Note for this return code that if one or more of the targets in targ_names cannot be used as a valid recipient of the P-IDU, these names will be returned in bad_targ_names (with associated status codes in bad_targ_status). As long as at least one of the targets can be used, however, this does not cause this call to fail (i.e., the failure code IDUP_S_BAD_TARG_INFO is not returned); it is the caller's choice to discontinue IDU protection if the target set which can be used is unsuitable for the caller's purposes.
この戻りコードについては、targ_namesの1つ以上のターゲットをP-IDUの有効な受信者として使用できない場合、これらの名前はbad_targ_namesに返されます(bad_targ_statusに関連するステータスコードが含まれます)。ただし、少なくとも1つのターゲットを使用できる限り、これによってこの呼び出しが失敗することはありません(つまり、エラーコードIDUP_S_BAD_TARG_INFOは返されません)。使用できるターゲットセットが呼び出し元の目的に適さない場合、IDU保護を中止するのは呼び出し元の選択です。
Inputs: o env_handle ENVIRONMENT HANDLE, o Protect_Options PARAMETER BUNDLE, o Target_Info PARAMETER BUNDLE, o idu_buffer OCTET STRING o additional_protection BOOLEAN -- TRUE if idu_buffer is the output of a previous protection -- operation (i.e., if this is the second (or higher) in a -- series of SE/EV protection calls)
Outputs: o major_status INTEGER, o minor_status INTEGER, o pidu_buffer OCTET STRING, o sig_token OCTET STRING -- used if Protect_Options is clear_sign_only
Using the security environment referenced by env_handle, encrypt and/or sign the supplied IDU. If "clear signing" is performed, the signature will be returned in sig_token and pidu_buffer may be empty (depends on underlying mechanism).
env_handleで参照されるセキュリティ環境を使用して、提供されたIDUを暗号化または署名します。 「署名のクリア」を実行すると、署名はsig_tokenで返され、pidu_bufferは空になる場合があります(基礎となるメカニズムによって異なります)。
Inputs: o env_handle ENVIRONMENT HANDLE, o pidu_buffer OCTET STRING, -- may contain an IDU if sig_token is non-NULL (i.e., if -- clear_sign_only protection was applied) o sig_token OCTET STRING
Outputs: o major_status INTEGER, o minor_status INTEGER, o idu_buffer OCTET STRING, -- may be empty if clear_sign_only protection was applied (depends -- on underlying mechanism) o PIDU_Information PARAMETER BUNDLE o additional_unprotection BOOLEAN -- TRUE if idu_buffer should be input to another unprotection -- operation (i.e., if this should not be the last in a series -- of SE/EV unprotection calls)
Using the security environment referenced by env_handle, decrypt and/or verify the supplied PIDU and return the contained IDU along with all available PIDU_Information.
env_handleによって参照されるセキュリティ環境を使用して、提供されたPIDUを復号化または検証し、含まれているIDUと使用可能なすべてのPIDU_Informationを返します。
Inputs: o env_handle ENVIRONMENT HANDLE, o Protect_Options PARAMETER BUNDLE, o Target_Info PARAMETER BUNDLE, o additional_protection BOOLEAN, -- (see Section 2.3.2.4) o idu_size INTEGER -- (see Section 2.3.4.2)
Outputs: o major_status INTEGER, o minor_status INTEGER, o initial_pidu_buffer OCTET STRING -- may be empty (depends on underlying mechanism)
出力:o major_status INTEGER、o minor_status INTEGER、o initial_pidu_buffer OCTET STRING-空の可能性があります(基礎となるメカニズムによって異なります)
Using the security environment referenced by env_handle, initialize the data structures required to begin the process of signing and/or encrypting the IDU (which will be supplied in multiple buffers to the Process_Buffer call).
env_handleによって参照されるセキュリティ環境を使用して、IDU(Process_Buffer呼び出しへの複数のバッファーで提供される)の署名および/または暗号化のプロセスを開始するために必要なデータ構造を初期化します。
Inputs: o env_handle ENVIRONMENT HANDLE
入力:o env_handle ENVIRONMENT HANDLE
Outputs: o major_status INTEGER, o minor_status INTEGER, o final_pidu_buffer OCTET STRING, o sig_token OCTET STRING -- used if Protect_Options was clear_sign_only
Using the security environment referenced by env_handle, complete the protection processing on the data and place the computed output in final_pidu_buffer and/or sig_token. Successful application of IDUP_SE_MultiBuffer_EndProtect() does not guarantee that unprotection can necessarily be performed successfully when the P-IDU arrives at the target (for example, it may be damaged in transit).
env_handleで参照されるセキュリティ環境を使用して、データの保護処理を完了し、計算された出力をfinal_pidu_bufferやsig_tokenに配置します。 IDUP_SE_MultiBuffer_EndProtect()が正常に適用されても、P-IDUがターゲットに到達したときに保護解除が必ずしも正常に実行できるとは限りません(たとえば、転送中に損傷を受ける可能性があります)。
Inputs: o env_handle ENVIRONMENT HANDLE, o initial_pidu_buffer OCTET STRING, o sign_qop_alg_in UNSIGNED INTEGER, -- used if Protect_Options was clear_sign_only (and calling -- application has prior knowledge of signing alg. applied); -- if NULL, then sig_token must be supplied o sig_token OCTET STRING -- used if Protect_Options was clear_sign_only; -- if NULL, then sign_qop_alg_in must be supplied
Outputs: o major_status INTEGER, o minor_status INTEGER, o PIDU_Information PARAMETER BUNDLE, -- returns all available information
出力:o major_status INTEGER、o minor_status INTEGER、o PIDU_Information PARAMETER BUNDLE-利用可能なすべての情報を返します
o initial_idu_buffer OCTET STRING -- may be empty
o initial_idu_buffer OCTET STRING-空の可能性があります
Using the security environment referenced by env_handle, initialize the data structures required to begin the process of decrypting and/or verifying the PIDU (which will be supplied in multiple buffers to the Process_Buffer call).
env_handleで参照されるセキュリティ環境を使用して、PIDU(Process_Buffer呼び出しに複数のバッファーで提供されます)の復号化および検証のプロセスを開始するために必要なデータ構造を初期化します。
The parameters sign_qop_alg_in and sig_token should not both be supplied (i.e., they should not both be non-NULL). If they are both non-NULL, however, sig_token is taken to be authoritative since this is the token created at protection time and therefore is guaranteed to carry the information needed to unprotect.
パラメータsign_qop_alg_inとsig_tokenの両方を指定しないでください(つまり、両方をNULL以外にすることはできません)。ただし、両方がNULL以外の場合、sig_tokenは保護時に作成されたトークンであり、保護を解除するために必要な情報を運ぶことが保証されているため、信頼できると見なされます。
Inputs: o env_handle ENVIRONMENT HANDLE, o sig_token OCTET STRING OPTIONAL -- used if Protect_Options was clear_sign_only and sig_token was -- not available when StartUnprotect was called
Outputs: o major_status INTEGER, o minor_status INTEGER, o PIDU_Information PARAMETER BUNDLE, -- returns all available information o final_idu_buffer OCTET STRING -- may be empty o additional_unprotection BOOLEAN -- (see Section 2.3.2.5)
Using the security environment referenced by env_handle, complete the decryption and/or verification processing on the data and place any residual output in final_idu_buffer.
env_handleによって参照されるセキュリティ環境を使用して、データの復号化および/または検証処理を完了し、残っている出力をfinal_idu_bufferに配置します。
Inputs: o env_handle ENVIRONMENT HANDLE, o input_buffer OCTET STRING,
入力:o env_handle ENVIRONMENT HANDLE、o input_buffer OCTET STRING、
Outputs: o major_status INTEGER, o minor_status INTEGER, o output_buffer OCTET STRING -- may be zero length (depends on underlying mechanism and -- corresponding Start() call and Protect_Options value)
Using the security environment referenced by env_handle, continue the processing on the data in input_buffer and, if it is available, put any resulting output data in output_buffer. The application calls this routine over and over again with new buffers of data until it has processed all the data buffers of the IDU/PIDU. It then calls the appropriate End() call to complete the processing.
env_handleによって参照されるセキュリティ環境を使用して、input_buffer内のデータの処理を続行し、使用可能な場合は、結果の出力データをoutput_bufferに入れます。アプリケーションは、IDU / PIDUのすべてのデータバッファーを処理するまで、新しいデータバッファーを使用してこのルーチンを繰り返し呼び出します。次に、適切なEnd()呼び出しを呼び出して処理を完了します。
The "EV" group of calls provides a simple, high-level interface to underlying IDUP mechanisms when application developers need to deal only with evidence but not with encryption or integrity services. It includes both the single-buffer and multiple-buffer IDU cases and can be used for the generation and verification of evidence tokens embodying several different types of evidences.
呼び出しの「EV」グループは、アプリケーション開発者が証拠のみを処理し、暗号化または整合性サービスを処理する必要がない場合に、基礎となるIDUPメカニズムへのシンプルで高レベルのインターフェースを提供します。これには、シングルバッファーとマルチバッファーの両方のIDUケースが含まれ、いくつかの異なるタイプの証拠を具体化する証拠トークンの生成と検証に使用できます。
The following list of evidence types is supported. This list is by no means exhaustive and it is anticipated that it may be extended in future versions of this specification.
以下の証拠タイプのリストがサポートされています。このリストは決して完全なものではなく、この仕様の将来のバージョンで拡張されることが予想されます。
"Non-repudiation of Origin" prevents a message creator's false denial of creating and sending a message.
「Originの否認防止」は、メッセージ作成者によるメッセージの作成および送信の誤った拒否を防止します。
"Non-repudiation of Creation" prevents a message creator's false denial of creating a message.
「作成の否認防止」は、メッセージ作成者によるメッセージ作成の誤った拒否を防止します。
"Non-repudiation of Sender" prevents a message creator's false denial of sending a message (that was not necessarily created by the sender).
「送信者の否認防止」は、メッセージの作成者がメッセージを送信することを誤って拒否することを防ぎます(送信者が必ずしも作成したわけではありません)。
"Non-repudiation of Delivery" prevents a message recipient's false denial of having received and looked at the content of a message.
「配信の否認防止」は、メッセージの受信者がメッセージの内容を受信して見たという誤った拒否を防ぎます。
"Non-repudiation of Receipt" prevents a message recipient's false denial of having received a message (whose content was not necessarily looked at by the recipient).
「受信の否認防止」は、メッセージ受信者がメッセージを受信したことを誤って拒否することを防止します(その内容は必ずしも受信者によって見られたわけではありません)。
"Non-repudiation of Approval" prevents a message recipient's false denial of having approved the content of a received message.
「承認の否認防止」は、受信したメッセージの内容を承認したというメッセージ受信者の誤った拒否を防ぎます。
An evidence is provided in the form of a evidence token. Two forms of evidence tokens are supported:
証拠は証拠トークンの形式で提供されます。 2つの形式の証拠トークンがサポートされています。
o Tokens including the associated data, o Tokens without included data (but with a unique reference to the associated data).
o関連データを含むトークン、oデータを含まないトークン(ただし、関連データへの一意の参照)。
Evidence tokens may be freely distributed. Any possessor of an evidence token (and of the associated data, if not included in the token) can verify the evidence if it has the appropriate credentials which include the definition of security policies (i.e., keys alone do not permit the verification of evidence tokens). Any holder of an evidence token may store it (along with the associated data, if not included in the token) for later verification.
証拠トークンは自由に配布できます。エビデンストークン(およびトークンに含まれていない場合は関連データ)の所有者は、セキュリティポリシーの定義を含む適切な資格情報がある場合にエビデンスを検証できます(つまり、キーだけではエビデンストークンの検証が許可されません) )。証拠トークンの所有者は、後で検証するために、証拠トークンを(トークンに含まれていない場合は、関連付けられたデータとともに)保存できます。
Calls that are specific to the support of evidence include:
証拠のサポートに固有の呼び出しには、次のものが含まれます。
* Generate_token, which generates a non-repudiation token using the current environment. The generated token may consist of:
* 現在の環境を使用して否認防止トークンを生成するGenerate_token。生成されたトークンは次のもので構成されます。
1 - an evidence token 2 - a token containing a request for an evidence, which carries information describing which evidence type should be generated by the recipient(s) and sent back to some entities (that may or may not include the sender). 3 - a token containing an evidence token which is an answer to an evidence that has been previously requested. 4 - a token including both an evidence and a request for another evidence to be provided.
1-エビデンストークン2-エビデンスの要求を含むトークン。これには、受信者が生成し、一部のエンティティ(送信者が含まれる場合も含まれない場合もある)に送り返される必要があるエビデンスの種類が記述されています。 3-以前に要求された証拠への回答である証拠トークンを含むトークン。 4-証拠と別の証拠を提供するための要求の両方を含むトークン。
* Verify_evidence, which verifies the evidence token using the current environment. This operation returns a major_status code which can be used to determine whether the evidence contained in a token is complete (i.e., can be successfully verified (perhaps years) later). If a token's evidence is not complete, the token can be passed to form_complete_pidu to complete it.
* Verify_evidence。現在の環境を使用して証拠トークンを検証します。この操作は、トークンに含まれる証拠が完全である(つまり、(おそらく数年後に)正常に検証できる)かどうかを判断するために使用できるmajor_statusコードを返します。トークンの証拠が完全でない場合、トークンをform_complete_piduに渡してそれを完成させることができます。
Additional useful calls for evidence services include: * IDUP_Get_token_details (see Section 2.5.3); * IDUP_Form_Complete_PIDU (see Section 2.4.2).
エビデンスサービスのその他の便利な呼び出しには、次のものがあります。* IDUP_Get_token_details(セクション2.5.3を参照)。 * IDUP_Form_Complete_PIDU(セクション2.4.2を参照)。
The following parameter bundles are used in the "EV" protection and unprotection sets of calls.
次のパラメータバンドルは、コールの「EV」保護および非保護セットで使用されます。
o Nr_Options PARAMETER BUNDLE o evidence_type INTEGER { no_evidence (0) -- used when request-only token desired proof_of_receipt (1), proof_of_delivery (2), proof_of_approval (3), proof_of_creation (4), proof_of_sender (5), proof_of_origin (6) } OPTIONAL, o evidence_type_oid OBJECT IDENTIFIER OPTIONAL, -- may be used in place of above parameter if OID is known o evidence_validity_duration INTEGER, -- duration_in_minutes -- DURATION_HOUR = 60; -- DURATION_DAY = 1440; -- DURATION_WEEK = 10080; -- DURATION_MONTH = 43200;// 30 days -- DURATION_YEAR = 525600;//365 days o mech_indep_encap_req BOOLEAN -- (see Appendix A)
o Originator_Information PARAMETER BUNDLE o token_generator_name INTERNAL NAME, -- obtained from the credentials of the originator -- (e.g., from its public key certificate) o token_generator_role Originator_Role OPTIONAL, -- (see Section 2.3.4.1) o protection_time INTEGER OPTIONAL
o Originator_Information PARAMETER BUNDLE o token_generator_name INTERNAL NAME、-発信者の資格情報から取得-(たとえば、その公開鍵証明書から)o token_generator_role Originator_Role OPTIONAL、-(セクション2.3.4.1を参照)o protection_time INTEGER OPTIONAL
o Bad_Target_Name PARAMETER BUNDLE -- (see Section 2.3.2.2) o bad_targ_name INTERNAL NAME, o bad_targ_status INTEGER -- a status flag giving the reason for rejection of the -- name in bad_targ_name
o Bad_Target_Name PARAMETER BUNDLE-(セクション2.3.2.2を参照)o bad_targ_name内部名、o bad_targ_status INTEGER-拒否の理由を示すステータスフラグ-bad_targ_nameの名前
o Target_Info PARAMETER BUNDLE -- same as in Section 2.3.2.2 o targ_names SET OF INTERNAL NAME, o bad_targ_count INTEGER, o bad_target_names SET OF Bad_Target_Name
o Target_Info PARAMETER BUNDLE-セクション2.3.2.2と同じo内部名のtarg_namesセット、o bad_targ_count INTEGER、o bad_target_names Bad_Target_Nameのセット
o Request_Features PARAMETER BUNDLE o requested_evidence_type INTEGER { no_evidence (0), - used when no token desired proof_of_receipt (1), proof_of_delivery (2), proof_of_approval (3), }, o nr_req_policy OBJECT IDENTIFIER, o evidence_from Target_Info, o evidence_to Target_Info, o include_received_token_in_evidence BOOLEAN
o Request_Features PARAMETER BUNDLE o requested_evidence_type INTEGER {no_evidence(0)、-トークンが不要な場合に使用されますブール
The following data_type is used in the "EV" protection calls.
次のdata_typeは、「EV」保護呼び出しで使用されます。
o Nr_Operation INTEGER { evidence_and_or_evidence_request (1), returned_evidence (2) }
o Nr_Operation INTEGER {証拠_および_または_証拠_リクエスト(1)、戻り_証拠(2)}
The following major_status return codes are defined for the "EV" calls in this section:
以下のmajor_status戻りコードは、このセクションの「EV」呼び出しに対して定義されています。
o GSS_S_COMPLETE -- indicates that the evidence is complete o IDUP_S_INCOMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED -- returned (by any EV call) to indicate that there is more output -- data than can fit into the supplied buffers. The application -- should save the returned data and call again to retrieve the -- remaining output. o IDUP_S_INCONSISTENT_PARAMS o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_MATCH o IDUP_S_NO_ENV o GSS_S_FAILURE
o GSS_S_COMPLETE-証拠が完全であることを示しますo IDUP_S_INCOMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED-より多くの出力があることを示すために返されます-指定されたバッファーに収まりきらないデータ。アプリケーション-返されたデータを保存し、再度呼び出すことで-残りの出力を取得する必要があります。 o IDUP_S_INCONSISTENT_PARAMS o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_MATCH o IDUP_S_NO_ENV o GSS_S_FAILURE
If Target_Info is used as an input parameter (i.e., if an evidence is being requested ), the following major_status return code is also defined:
Target_Infoが入力パラメーターとして使用される場合(つまり、証拠が要求されている場合)、次のmajor_status戻りコードも定義されます。
o IDUP_S_BAD_TARG_INFO
o IDUP_S_BAD_TARG_INFO
Note for this return code that if one or more of the targets in targ_names cannot be used as a valid recipient of the P-IDU, these names will be returned in bad_targ_names (with associated status codes in bad_targ_status). As long as at least one of the targets can be used, however, this does not cause this call to fail (i.e., the failure code IDUP_S_BAD_TARG_INFO is not returned); it is the caller's choice to discontinue IDU protection if the target set which can be used is unsuitable for the caller's purposes.
この戻りコードについては、targ_namesの1つ以上のターゲットをP-IDUの有効な受信者として使用できない場合、これらの名前はbad_targ_namesに返されます(bad_targ_statusに関連するステータスコードが含まれます)。ただし、少なくとも1つのターゲットを使用できる限り、これによってこの呼び出しが失敗することはありません(つまり、エラーコードIDUP_S_BAD_TARG_INFOは返されません)。使用できるターゲットセットが呼び出し元の目的に適さない場合、IDU保護を中止するのは呼び出し元の選択です。
Inputs: o env_handle ENVIRONMENT HANDLE, o nr_operation Nr_Operation, o Nr_Options PARAMETER BUNDLE, o idu_buffer OCTET STRING, o form_complete_pidu BOOLEAN, -- if TRUE the implementation will attempt to form a complete PIDU o include_data_in_token BOOLEAN,
-- if TRUE, data provided in idu_buffer will be included in the -- generated token; if FALSE, the data will not be included o Request_Features PARAMETER BUNDLE -- the type of the evidence that is requested; -- policy under which the returned evidence should be generated; -- the recipients that are supposed to send back an evidence; -- the recipients that should receive the requested evidence; -- an indicator include_received_token_in_evidence: -- if TRUE, the evidence token incorporating the request will be -- included in the data for which recipients will generate -- evidence; if FALSE, evidence will be generated using only -- the data (and not the token incorporating the request). o additional_protection BOOLEAN -- (see Section 2.3.2.4)
Outputs: o major_status INTEGER, o minor_status INTEGER, o token OCTET STRING, o evidence_check OCTET STRING, -- present only if an evidence is requested. Consists of data to -- be used to verify the requested token(s) (if any) when they are -- received.
Description:
説明:
This operation generates a non-repudiation token associated with the data passed in an input buffer. Two kinds of operations can be performed (using the Nr_Operation parameter):
この操作は、入力バッファーで渡されたデータに関連付けられた否認防止トークンを生成します。 2種類の操作を実行できます(Nr_Operationパラメーターを使用)。
a) generating a token that includes either an evidence only, or an evidence request only, or both an evidence and an evidence request;
a) 証拠のみ、証拠要求のみ、または証拠と証拠要求の両方を含むトークンを生成する。
b) generating a response token for some recipients that includes an evidence generated as a response to a request (in this case the idu_buffer is used to enter the request token that was received).
b) 要求に対する応答として生成された証拠を含む一部の受信者の応答トークンを生成します(この場合は、受け取った要求トークンを入力するためにidu_bufferが使用されます)。
It is possible to request the generation of complete evidence. This may succeed or fail; if it fails, a subsequent call to Form_Complete_PIDU can be made.
完全な証拠の生成を要求することは可能です。これは成功する場合と失敗する場合があります。失敗した場合は、Form_Complete_PIDUへの後続の呼び出しを行うことができます。
Inputs: o env_handle ENVIRONMENT HANDLE, o token OCTET STRING, o external_idu_buffer OCTET STRING, -- if not present within the token
入力:o env_handle ENVIRONMENT HANDLE、oトークンOCTET STRING、o external_idu_buffer OCTET STRING、-トークン内に存在しない場合
o evidence_check OCTET STRING, -- present only if the input token is a response to a previous -- request for evidence (this parameter is used to validate that -- evidence).
o エビデンス_チェックオクテット文字列、-入力トークンが前のトークンへの応答である場合にのみ存在-エビデンスのリクエスト(このパラメーターはそれを検証するために使用されます-エビデンス)
Outputs: o major_status INTEGER, o minor_status INTEGER, o Nr_Options PARAMETER BUNDLE, o Originator_Information PARAMETER BUNDLE, o Request_Features PARAMETER BUNDLE, o trusted_time_stamping_time INTEGER OPTIONAL, -- present for informational purposes only o complete_evidence_before INTEGER OPTIONAL, -- if the major status code that is returned is -- IDUP_S_INCOMPLETE, IDUP_Form_Complete_PIDU should be called -- with the same token before this time. -- This may be required, for example, in order to insure that -- the time skew between the evidence generation time and -- the trusted time service's countersignature on the evidence -- falls within the interval allowed by the current NR policy. o complete_evidence_after INTEGER OPTIONAL, -- if the major status code that is returned is -- IDUP_S_INCOMPLETE, IDUP_Form_Complete_PIDU should be called -- with the same token after this time. -- This may be required, for example, to insure that all -- authorities involved in generating the evidence have passed -- the last time at which the current NR policy allows them to -- repudiate their keys. o encapsulated_idu_buffer OCTET STRING -- if the IDU was present within the token o additional_unprotection BOOLEAN -- (see Section 2.3.2.5)
Description:
説明:
Verifies the validity and discloses the content of a nr_token.
有効性を検証し、nr_tokenの内容を開示します。
If the token containing the evidence to be verified was provided to the calling application by a partner responding to the calling application's request, then the calling application must pass the evidence check it received when it generated the request as a parameter along with the token it received from the partner.
検証する証拠を含むトークンが、呼び出し側アプリケーションの要求に応答するパートナーによって呼び出し側アプリケーションに提供された場合、呼び出し側アプリケーションは、要求を生成したときに受け取った証拠チェックを、受け取ったトークンと共にパラメーターとして渡す必要があります。パートナーから。
Output indicators are provided which give guidance about the time or times at which form_complete_pidu should be called; see the parameter descriptions for explanations of these indicators and their use. Note that the time specified by complete_evidence_before may be earlier than that specified by complete_evidence_after; in this case it will be necessary to call form_complete_pidu twice.
form_complete_piduを呼び出す必要がある時間に関するガイダンスを提供する出力インジケーターが提供されます。これらのインジケーターとその使用方法の説明については、パラメーターの説明を参照してください。 complete_evidence_beforeで指定された時間は、complete_evidence_afterで指定された時間よりも早い場合があることに注意してください。この場合、form_complete_piduを2回呼び出す必要があります。
Because keys can be revoked or declared compromised, the return from verify_evidence cannot in all cases be a definitive "valid" or "invalid"; sometimes "conditionally valid" may be returned, depending upon the policy in use. IDUP_S_INCOMPLETE will be returned, for example, if:
キーは取り消されたり、侵害されたと宣言されたりする可能性があるため、verify_evidenceからの戻りは、すべての場合に「有効」または「無効」の決定的なものになることはありません。使用されているポリシーによっては、「条件付きで有効」が返される場合があります。 IDUP_S_INCOMPLETEは、たとえば次の場合に返されます。
- the interval during which the generator of the evidence may permissibly declare his key invalid has not yet expired (and therefore it is possible that the evidence may be declared invalid in the future), or
- エビデンスの生成者が彼のキーを無効であると許容できると宣言することができる期間がまだ満了していない(したがって、エビデンスが将来無効であると宣言される可能性があります)、または
- trusted time is required for verification, and the time obtained from the token is not trusted.
- 検証には信頼できる時間が必要であり、トークンから取得した時間は信頼できません。
Inputs: o env_handle ENVIRONMENT HANDLE, o nr_operation Nr_Operation, o Nr_Options PARAMETER BUNDLE, o form_complete_pidu BOOLEAN, o include_data_in_token BOOLEAN, o idu_size INTEGER, -- (see Section 2.3.4.2) o Request_Features PARAMETER BUNDLE o additional_protection BOOLEAN -- (see Section 2.3.2.4)
Outputs: o major_status INTEGER, o minor_status INTEGER, o initial_pidu_buffer OCTET STRING -- may be empty (depends on underlying mechanism)
出力:o major_status INTEGER、o minor_status INTEGER、o initial_pidu_buffer OCTET STRING-空の可能性があります(基礎となるメカニズムによって異なります)
Description:
説明:
Using the security environment referenced by env_handle, initialize the data structures required to begin the generation of a token. The IDU will be supplied in multiple buffers to the IDUP_EV_Process_Buffer call). Two kinds of operations can be performed (using the Nr_Operation parameter) :
env_handleによって参照されるセキュリティ環境を使用して、トークンの生成を開始するために必要なデータ構造を初期化します。 IDUは、複数のバッファーでIDUP_EV_Process_Buffer呼び出しに提供されます。 2種類の操作を実行できます(Nr_Operationパラメーターを使用)。
a) generating a token that includes either an evidence only, or an evidence request only, or both an evidence and an evidence request.
a) 証拠のみ、証拠要求のみ、または証拠と証拠要求の両方を含むトークンを生成する。
b) generating a return token for some recipients that includes an evidence generated as a response to a request. In that case the received token will be passed into the subsequent IDUP_EV_Process_Buffer calls. The boolean include_data_in_token is ignored as the output will always be contained in a single token. The Request_Features are ignored in that case at this time in order to keep things simple and to avoid the piggy-backing that is theoretically possible.
b) 要求への応答として生成された証拠を含む、一部の受信者用の戻りトークンの生成。その場合、受信したトークンは後続のIDUP_EV_Process_Buffer呼び出しに渡されます。 boolean include_data_in_tokenは、出力が常に単一のトークンに含まれるため無視されます。この場合、物事を単純に保ち、理論的に可能なピギーバッキングを回避するために、現時点ではRequest_Featuresは無視されます。
It is possible to request the generation of complete evidence. This may succeed or fail; if it fails, a subsequent call to Form_Complete_PIDU can be made.
完全な証拠の生成を要求することは可能です。これは成功する場合と失敗する場合があります。失敗した場合は、Form_Complete_PIDUへの後続の呼び出しを行うことができます。
Inputs: o env_handle ENVIRONMENT HANDLE
入力:o env_handle ENVIRONMENT HANDLE
Outputs: o major_status INTEGER, o minor_status INTEGER, o final_pidu OCTET STRING, o token OCTET STRING, o evidence_check OCTET STRING -- present only if an evidence is requested.
Description:
説明:
Using the security environment referenced by env_handle, provide the requested token or the final P-IDU. A token will be generated if encapsulation was not requested; otherwise, the final P-IDU is provided.
env_handleによって参照されるセキュリティ環境を使用して、要求されたトークンまたは最後のP-IDUを提供します。カプセル化が要求されなかった場合、トークンが生成されます。それ以外の場合は、最終的なP-IDUが提供されます。
Inputs: o env_handle ENVIRONMENT HANDLE, o token OCTET STRING, o evidence_check OCTET STRING, -- present only if an evidence has been previously requested.
入力:o env_handle ENVIRONMENT HANDLE、oトークンOCTET STRING、o証拠_check OCTET STRING、-以前に証拠が要求された場合にのみ存在します。
Outputs: o major_status INTEGER, o minor_status INTEGER Description:
出力:o major_status INTEGER、o minor_status INTEGER説明:
Using the security environment referenced by env_handle, initialize the data structures required to begin the process of verifying the token. The P-IDU will be supplied in multiple buffers to the IDUP_EV_Process_Buffer call.
env_handleによって参照されるセキュリティ環境を使用して、トークンの検証プロセスを開始するために必要なデータ構造を初期化します。 P-IDUは、複数のバッファーでIDUP_EV_Process_Buffer呼び出しに提供されます。
Input: o env_handle ENVIRONMENT HANDLE
入力:o env_handle ENVIRONMENT HANDLE
Outputs: o major_status INTEGER, o minor_status INTEGER, o Nr_Options PARAMETER BUNDLE, o Originator_Information PARAMETER BUNDLE, o Request_Features PARAMETER BUNDLE, o trusted_time_stamping_time INTEGER OPTIONAL, o complete_evidence_before INTEGER OPTIONAL, o complete_evidence_after INTEGER OPTIONAL, o idu_buffer OCTET STRING -- if the IDU was present within the token o additional_unprotection BOOLEAN -- (see Section 2.3.2.5)
Description:
説明:
Using the security environment referenced by env_handle, complete the verification processing on the data and provide verified output parameters to the caller when the major status code is either:
env_handleによって参照されるセキュリティ環境を使用して、データの検証処理を完了し、主要なステータスコードが次のいずれかである場合に検証済みの出力パラメーターを呼び出し元に提供します。
o GSS_S_COMPLETE or o IDUP_S_INCOMPLETE
o GSS_S_COMPLETEまたはo IDUP_S_INCOMPLETE
Inputs: o env_handle ENVIRONMENT HANDLE, o input_buffer OCTET STRING
入力:o env_handle ENVIRONMENT HANDLE、o input_buffer OCTET STRING
Outputs: o major_status INTEGER, o minor_status INTEGER, o output_buffer OCTET STRING -- may be zero length (depends on underlying mechanism and -- corresponding Generate () call and options -- (e.g., data_included_in_token)
Description:
説明:
Using the security environment referenced by env_handle, continue the processing on the data in input_buffer and, if it is available, put any resulting output data in output_buffer. The application calls this routine over and over again with new buffers of data until it has processed all the data buffers of the IDU/PIDU. It then calls the appropriate End() call to complete the processing.
env_handleによって参照されるセキュリティ環境を使用して、input_buffer内のデータの処理を続行し、使用可能な場合は、結果の出力データをoutput_bufferに入れます。アプリケーションは、IDU / PIDUのすべてのデータバッファーを処理するまで、新しいデータバッファーを使用してこのルーチンを繰り返し呼び出します。次に、適切なEnd()呼び出しを呼び出して処理を完了します。
The "GP" group of calls provides a powerful interface to flexible and sophisticated combinations of protection and unprotection services. This power and flexibility, however, necessitates a more complex interface than either the SE or the EV calls. Furthermore, such combinations of services are not needed in many of the security mechanisms in common use today (although this is likely to change as time goes on). The GP calls are therefore specified to be OPTIONAL and need not be supported by IDUP-conformant implementations. Note, however, that the structure of IDUP tokens should be such that the SE/EV and GP calls may be used interchangably by the receiver.
コールの「GP」グループは、保護サービスと保護解除サービスの柔軟で高度な組み合わせへの強力なインターフェイスを提供します。ただし、このパワーと柔軟性には、SEやEVの呼び出しよりも複雑なインターフェイスが必要です。さらに、このようなサービスの組み合わせは、今日一般的に使用されている多くのセキュリティメカニズムでは必要ありません(ただし、これは時間の経過とともに変化する可能性があります)。したがって、GP呼び出しはオプションとして指定され、IDUP準拠の実装でサポートする必要はありません。ただし、IDUPトークンの構造は、SE / EV呼び出しとGP呼び出しを受信者が交換して使用できるようにする必要があります。
The concept of "parameter bundles" is used in the calls presented in the following subsections in order to simplify their presentation and clarify their intended purpose and use (note that specific language bindings may or may not use parameter bundles for its actual calling conventions). A parameter bundle is simply a set of closely-related parameters of a call which are either all used by / available to the calling application or all not used by / unavailable to the calling application. These parameters may be all input parameters, all output parameters, or any combination of the two.
「パラメータバンドル」の概念は、次のサブセクションで示される呼び出しで使用され、その表示を簡素化し、それらの意図された目的と使用法を明確にします(特定の言語バインディングでは、実際の呼び出し規約にパラメータバンドルを使用する場合と使用しない場合があります)。パラメータバンドルは、呼び出しの密接に関連するパラメータのセットであり、すべてが呼び出し側アプリケーションで使用されるか、呼び出し側アプリケーションで使用可能であるか、すべて使用されないか、呼び出し側アプリケーションで使用できません。これらのパラメーターは、すべて入力パラメーター、すべて出力パラメーター、またはその2つの任意の組み合わせです。
An example use envisioned for parameter bundles in a language such as C would be as a structure, where individual parameters in the bundle are structure members. The calling application wishing to use a particular bundle would then allocate the appropriate structure variable, assign the desired input values to the appropriate members, and pass the address of the structure as the bundle "parameter". On output, the values of the appropriate output members may be read. An application not wishing to use a particular bundle (or one which is satisfied with default values for all input parameters of the bundle and which doesn't care about output values), can pass NULL as the bundle "parameter". From the mechanism implementor's perspective, if a parameter bundle is not supported (for example, if it represents a security service which is not supported by the implementation), then any non-NULL value passed as the bundle parameter will generate an error status return code.
Cなどの言語のパラメーターバンドルに想定される使用例は、バンドルとしての個々のパラメーターが構造体メンバーである構造体としての使用です。特定のバンドルを使用したい呼び出し側アプリケーションは、適切な構造体変数を割り当て、適切なメンバーに必要な入力値を割り当て、構造体のアドレスをバンドルの「パラメーター」として渡します。出力時に、適切な出力メンバーの値を読み取ることができます。特定のバンドル(またはバンドルのすべての入力パラメーターのデフォルト値で満足し、出力値を気にしないもの)を使用したくないアプリケーションは、バンドルの「パラメーター」としてNULLを渡すことができます。メカニズムの実装者の観点から、パラメータバンドルがサポートされていない場合(たとえば、実装でサポートされていないセキュリティサービスを表す場合)、バンドルパラメータとしてNULL以外の値を渡すと、エラーステータスの戻りコードが生成されます。 。
[Note that the parameter bundles given below, except where explicitly referenced by the SE and EV calls, are specific to the (optional) GP calls. Thus, these bundles need not be supported by IDUP-conformant implementations if the GP calls are not supported.]
[以下に示すパラメーターバンドルは、SEおよびEV呼び出しによって明示的に参照されている場合を除き、(オプションの)GP呼び出しに固有であることに注意してください。したがって、GP呼び出しがサポートされていない場合、これらのバンドルをIDUP準拠の実装でサポートする必要はありません。]
The following parameter bundles are used in the subsequent protection and unprotection sets of calls. A parameter preceded by "(I)" is an input parameter; one preceded by "(O)" is an output parameter; one preceded by neither is an input if the bundle itself is an input and is an output if the bundle itself is an output; one preceded by "(X)" is the opposite: an output if the bundle itself is an input and an input if the bundle itself is an output.
次のパラメータバンドルは、後続の保護および保護解除のコールセットで使用されます。 「(I)」が前に付いているパラメーターは入力パラメーターです。 「(O)」が前に付いているものが出力パラメーターです。どちらも前に付いているものは、バンドル自体が入力の場合は入力であり、バンドル自体が出力の場合は出力です。 「(X)」が前に付いているものは反対です。バンドル自体が入力の場合は出力、バンドル自体が出力の場合は入力です。
o Mech_Specific_Info PARAMETER BUNDLE -- actual parameters included in this bundle are defined by (and -- specific to) the underlying mechanism
o Mech_Specific_Info PARAMETER BUNDLE-このバンドルに含まれる実際のパラメーターは、基礎となるメカニズムによって(および-固有の)定義されます
o Sensitivity PARAMETER BUNDLE, -- actual parameters included in this bundle are defined by (and -- specific to) the underlying mechanism, but may include -- codified values for "Unclassified", "Secret", "Top Secret", -- and so on
o Sensitivity PARAMETER BUNDLE-このバンドルに含まれる実際のパラメーターは、基礎となるメカニズムによって定義されます(そして-固有のメカニズム)が含まれる可能性があります-"Unclassified"、 "Secret"、 "Top Secret"のコード化された値-およびなど
o Service_Creation_Info PARAMETER BUNDLE -- actual parameters included in this bundle are defined by (and -- specific to) the underlying mechanism, but it is mandatory -- that they include at least service_id and Quality
o Service_Creation_Info PARAMETER BUNDLE-このバンドルに含まれる実際のパラメーターは、基礎となるメカニズムによって(そして-固有の)定義されていますが、必須です-少なくともservice_idとQualityが含まれている必要があります。
o Service_Verification_Info PARAMETER BUNDLE -- actual parameters included in this bundle are defined by (and -- specific to) the underlying mechanism, but it is mandatory -- that they include at least service_id and Quality
o Service_Verification_Info PARAMETER BUNDLE-このバンドルに含まれる実際のパラメーターは、基礎となるメカニズムによって(そして-固有の)定義されていますが、必須です-少なくともservice_idとQualityが含まれている必要があります。
o Quality PARAMETER BUNDLE o qop_algs UNSIGNED INTEGER, o qop_algID AlgorithmIdentifier, --overrides qop_algs o validity UNSIGNED INTEGER, -- protection guaranteed to be valid until time specified o policy_id OBJECT IDENTIFIER, -- security policy under which protection is/was carried out o allow_policy_mapping BOOLEAN, -- determines whether mapping between policy IDs is allowed o actual_policy_time INTEGER -- time at which the above policy rules came into effect
o Quality PARAMETER BUNDLE o qop_algs UNSIGNED INTEGER、o qop_algID AlgorithmIdentifier、-overrides qop_algs o validation UNSIGNED INTEGER、-保護は指定された時間まで有効であることを保証opolicy_id OBJECT IDENTIFIER、-保護が実行された/されたセキュリティポリシーoallow_policy_mapping BOOLEAN、-ポリシーID間のマッピングを許可するかどうかを決定しますo actual_policy_time INTEGER-上記のポリシールールが有効になった時刻
o Idu_Information PARAMETER BUNDLE, o idu_type_oid OBJECT IDENTIFIER, o idu_type_string OCTET STRING, o idu_title OCTET STRING, o idu_sensitivity Sensitivity, o pidu_type_oid OBJECT IDENTIFIER, o pidu_type_string OCTET STRING, o pidu_title OCTET STRING, o pidu_sensitivity Sensitivity,
o Idu_Information PARAMETER BUNDLE、またはidu_type_oid OBJECT IDENTIFIER、またはidu_type_string OCTET STRING、またはidu_title OCTET STRING、またはidu_sensitiveivity Sensitivity、またはpidu_type_oid OBJECT IDENTIFIER、またはpidu_type_string OETET STRING
o Prot_Information PARAMETER BUNDLE, o originator_name INTERNAL NAME, o originator_role Originator_Role, o idu_information Idu_Information, o protection_time INTEGER,
o Prot_Information PARAMETER BUNDLE、o originator_name INTERNAL NAME、o originator_role Originator_Role、o idu_information Idu_Information、o protection_time INTEGER、
o Originator_Role PARAMETER BUNDLE, -- role in organization o domain_name INTERNAL NAME OPTIONAL, o role PRINTABLE STRING, o role_info_is_authenticated BOOLEAN -- TRUE if info. is authenticated (e.g., inside a cert.)
o Originator_Role PARAMETER BUNDLE、-組織内の役割o domain_name INTERNAL NAME OPTIONAL、o役割PRINTABLE STRING、o role_info_is_authenticated BOOLEAN-情報の場合はTRUE。認証済み(証明書内など)
o Special_Conditions PARAMETER BUNDLE, o prot_oper_id INTEGER, o form_complete_pidu BOOLEAN, -- input to protection operations for evidence generation o pidu_in_solic_service BOOLEAN, -- in protection operations, used as input for service -- solicitation to request that receiver include the -- received PIDU when generating the response. In unprot. -- operations, used as output to inform receiver that PIDU -- should be included when generating the response. o use_trusted_time BOOLEAN, o use_untrusted_time BOOLEAN, o mech_indep_encap_req BOOLEAN -- (see Appendix A)
o Special_Conditions PARAMETER BUNDLE、o prot_oper_id INTEGER、o form_complete_pidu BOOLEAN、-エビデンス生成のための保護操作への入力o pidu_in_solic_service BOOLEAN、-サービスの入力として使用-受信者に含めることを要求する要請-受信したPIDU応答を生成します。非保護で。 -PIDUをレシーバーに通知するための出力として使用される操作-応答の生成時に含める必要があります。 o use_trusted_time BOOLEAN、o use_untrusted_time BOOLEAN、o mech_indep_encap_req BOOLEAN-(付録Aを参照)
o Bad_Target_Name PARAMETER BUNDLE, o (O) bad_targ_name INTERNAL NAME, o (O) bad_targ_status INTEGER, -- a status flag giving the reason for rejection of -- the name in bad_targ_name. Specified reasons include: -- SYNTAX_INVALID (0) -- the syntax of the name is invalid; -- NAME_UNRECOGNIZED (1) -- the name is not recognized; -- NAME_AMBIGUOUS (2) -- the name cannot be resolved; -- ACCESS_DENIED (3)
o Bad_Target_Name PARAMETER BUNDLE、o(O)bad_targ_name INTERNAL NAME、o(O)bad_targ_status INTEGER、-拒否の理由を示すステータスフラグ-bad_targ_nameの名前。特定の理由は次のとおりです。-SYNTAX_INVALID(0)-名前の構文が無効です。 -NAME_UNRECOGNIZED(1)-名前が認識されません。 -NAME_AMBIGUOUS(2)-名前を解決できません。 -ACCESS_DENIED(3)
-- access to this target is denied; -- CERTIFICATE_NOT_FOUND (4) -- the encryption certificate of the target could -- not be found.
o Target_Info PARAMETER BUNDLE, o targ_names SET OF INTERNAL NAME, o (O) bad_targ_count INTEGER, o (O) bad_target_names SET OF Bad_Target_Name,
o Target_Infoパラメータバンドル、o targ_names SET OF INTERNAL NAME、o(O)bad_targ_count INTEGER、o(O)bad_target_names SET OF Bad_Target_Name、
o General_Service_Data PARAMETER BUNDLE, o target_info Target_Info, o (X) unencapsulated_token OCTET STRING, -- zero length if encapsulation_request is TRUE o (O) minor_status INTEGER,
o General_Service_Data PARAMETER BUNDLE、o target_info Target_Info、o(X)unencapsulated_token OCTET STRING、-encapsulation_requestがTRUEの場合は長さゼロo(O)minor_status INTEGER、
Three types of protection services are defined in IDUP. These are:
IDUPでは、3種類の保護サービスが定義されています。これらは:
1. perform unsolicited service (i.e., act on a locally-generated service request), 2. perform solicited service (i.e., act on a remotely-generated service request), and 3. perform service solicitation (i.e., send a service request to the remote end).
1. 非送信請求サービスを実行する(つまり、ローカルで生成されたサービス要求を処理する)、2。要求されたサービスを実行する(つまり、リモートで生成されたサービス要求を処理する)、3。サービス要求を実行する(つまり、サービス要求をリモートに送信する)終わり)。
As an originator, applying data confidentiality with data integrity, or data origin authentication with data integrity, or proof of origin evidence is an example of service type 1. As a target, creating a proof of delivery (i.e., receipt) evidence token as the result of a request received from the originator is an example of service type 2. Finally, as an originator, submitting a request that one or more targets return a receipt for the data sent is an example of service type 3.
オリジネーターとして、データの完全性を伴うデータの機密性、データの完全性を伴うデータの起点認証、または起点の証拠証拠を適用することは、サービスタイプ1の例です。ターゲットとして、配信の証拠(つまり、受領)証拠トークンを発信者から受信した要求の結果はサービスタイプ2の例です。最後に、発信者として、1つ以上のターゲットが送信されたデータの受信を返すように要求を送信することは、サービスタイプ3の例です。
The first four parameters in the Prot_Service parameter bundle pertain to all service types; the fifth parameter is used if and only if service type 2 is desired; parameters 6-8 are used if and only if service type 3 is desired.
Prot_Serviceパラメータバンドルの最初の4つのパラメータは、すべてのサービスタイプに関係します。 5番目のパラメーターは、サービスタイプ2が必要な場合にのみ使用されます。パラメータ6〜8は、サービスタイプ3が必要な場合にのみ使用されます。
o Prot_Service PARAMETER BUNDLE o (I) prot_service_type INTEGER, o (I) service_id OBJECT IDENTIFIER, o (I) quality Quality, -- NULL specifies default Quality o (I) general_service_data General_Service_Data, o (I) service_creation_info Service_Creation_Info, o (I) service_to SET OF INTERNAL NAME, o (O) service_verification_info Service_Verification_Info, o (O) service_verification_info_id INTEGER,
o Prot_Service PARAMETER BUNDLE o(I)prot_service_type INTEGER、o(I)service_id OBJECT IDENTIFIER、o(I)quality Quality、-NULL specified default Quality o(I)general_service_data General_Service_Data、o(I)service_creation_info Service_Creation_Info、o(I)service_to内部名のセット、o(O)service_verification_info Service_Verification_Info、o(O)service_verification_info_id INTEGER、
Also, three types of unprotection services are defined. These are:
また、3つのタイプの保護解除サービスが定義されています。これらは:
1. receive unsolicited service (i.e., process unrequested remotely-generated service), 2. receive solicited service (i.e., process remotely-generated response to locally-generated request), and 3. receive service solicitation (i.e., process req. from rem. end)
1. 非送信請求サービス(つまり、要求されていないリモートで生成されたサービスを処理する)、2。送信請求サービス(つまり、ローカルで生成された要求に対するリモートで生成された応答を処理する)、3。サービス要求を受信する(つまり、リモートから要求を処理する) )
As a target, unprotecting an encrypted message, or verifying the originator's proof of origin is an example of service type 1. As an originator, verifying a proof of delivery which you requested from a target is an example of service type 2. Finally, as a target, receiving a request from an originator for a proof of delivery is an example of service type 3.
ターゲットとして、暗号化されたメッセージの保護を解除する、または発信者の発信元の証明を確認することは、サービスタイプ1の例です。発信者として、ターゲットから要求した配信の証明を確認することは、サービスタイプ2の例です。最後に、発信者から配信証明の要求を受け取るターゲットは、サービスタイプ3の例です。
The first four parameters in the Unprot_Service parameter bundle pertain to all service types; parameters 5-6 are used if and only if service type 2 is required; parameters 7-8 are used only if service type 3 is required.
Unprot_Serviceパラメータバンドルの最初の4つのパラメータは、すべてのサービスタイプに関係します。パラメータ5〜6は、サービスタイプ2が必要な場合にのみ使用されます。パラメータ7〜8は、サービスタイプ3が必要な場合にのみ使用されます。
o Unprot_Service PARAMETER BUNDLE o (O) unprot_service_type INTEGER, o (O) service_id OBJECT IDENTIFIER, o (O) quality Quality, -- actual Quality specified (never NULL) o (O) general_service_data General_Service_Data, o (O) service_verification_info_id INTEGER, o (I) service_verification_info Service_Verification_Info, o (O) service_to SET OF INTERNAL NAME, o (O) service_creation_info Service_Creation_Info,
o Unprot_Service PARAMETER BUNDLE o(O)unprot_service_type INTEGER、o(O)service_id OBJECT IDENTIFIER、o(O)quality Quality、-指定された実際の品質(決してNULLではない)o(O)general_service_data General_Service_Data、o(O)service_verification_info_id INTEGER、o( I)service_verification_info Service_Verification_Info、o(O)service_to SET OF INTERNAL NAME、o(O)service_creation_info Service_Creation_Info、
Inputs: o env_handle ENVIRONMENT HANDLE, o Mech_Specific_Info PARAMETER BUNDLE, -- NULL selects the mechanism-defined default values o Idu_Information PARAMETER BUNDLE, o Special_Conditions PARAMETER BUNDLE, o encapsulation_request BOOLEAN, o single_idu_buffer OCTET STRING, -- non-zero length for this buffer means that Protect/End_Protect -- won't be called (i.e., entire IDU is contained in this buffer) o idu_size INTEGER, -- size (in bytes) of the IDU to be protected; -- may be "-1" signifying "UNKNOWN" (note that some mechanisms -- may not support encapsulation in such a case) o Target_Info PARAMETER BUNDLE, o Services_to_Perform SET OF Prot_Service,
Outputs: o major_status INTEGER, o minor_status INTEGER, o midu_buffer OCTET STRING, -- zero length if encapsulation_request is TRUE; -- may be zero length otherwise (depends on underlying mechanism) o pidu_buffer OCTET STRING, -- zero length if encapsulation_request is FALSE; -- may be zero length otherwise (depends on underlying mechanism)
Return major_status codes: o GSS_S_COMPLETE -- the protection process can begin (or has completed, if -- single_idu_buffer has non-zero length). o IDUP_S_MORE_OUTBUFFER_NEEDED o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_ENV o IDUP_S_ENCAPSULATION_UNAVAIL o IDUP_S_SERVICE_UNAVAIL o IDUP_S_REQ_TIME_SERVICE_UNAVAIL o IDUP_S_UNKNOWN_OPER_ID o GSS_S_BAD_QOP o IDUP_S_BAD_TARG_INFO o GSS_S_FAILURE
Using the security environment referenced by env_handle, initialize the data structures required to begin the process of protecting the IDU buffers. The caller requests specific protection services by supplying the appropriate Prot_Service parameter bundles in Services_to_Perform. Each service is able to return a minor status code to the calling application, if necessary.
env_handleによって参照されるセキュリティ環境を使用して、IDUバッファーを保護するプロセスを開始するために必要なデータ構造を初期化します。呼び出し元は、Services_to_Performで適切なProt_Serviceパラメータバンドルを提供することにより、特定の保護サービスを要求します。各サービスは、必要に応じて、マイナーステータスコードを呼び出し側アプリケーションに返すことができます。
The calling application, knowing the size of the IDU it wishes to protect and the buffer size which it has available to it, can choose to input the entire IDU in a single buffer and omit the subsequent IDUP_Protect() and IDUP_End_Protect() calls. Furthermore, the application can request that the resulting M-IDU be encapsulated in the token -- so that the token contains the entire P-IDU -- rather than having it be returned separately in midu_buffer. Encapsulation, however, may not be supported by all underlying mechanisms or implementations; if this is the case, the IDUP_S_ENCAPSULATION_UNAVAIL major status code will be returned and M-IDU will be returned in midu_buffer.
保護するIDUのサイズと使用可能なバッファーサイズを知っている呼び出し元のアプリケーションは、IDU全体を単一のバッファーに入力し、その後のIDUP_Protect()およびIDUP_End_Protect()呼び出しを省略できます。さらに、アプリケーションは、結果のM-IDUをトークンにカプセル化するように要求できます。これにより、トークンがmidu_bufferに個別に返されるのではなく、トークンにP-IDU全体が含まれます。ただし、カプセル化は、基盤となるすべてのメカニズムまたは実装でサポートされているとは限りません。この場合、IDUP_S_ENCAPSULATION_UNAVAILメジャーステータスコードが返され、M-IDUがmidu_bufferに返されます。
For those mechanisms which allow or require multiple stages of processing, each producing a different aspect of protection for the IDU, the operation identifier prot_oper_id is used to specify which stage is currently being requested by the application. An example where this would be useful is a mechanism which implements the signed Message Security Protocol [MSP]. As another example, a mechanism may choose to do a digital signature in two stages: one for the hashing of the message and another for the signature on the hash. The calling application would therefore use the protection set of calls on the IDU in stage 1 and then use the protection set of calls on the token (from stage 1) in stage 2.
複数の処理段階を許可または要求するメカニズムでは、それぞれがIDUの保護の異なる側面を生成し、操作識別子prot_oper_idを使用して、アプリケーションによって現在要求されている段階を指定します。これが役立つ例は、署名されたメッセージセキュリティプロトコル[MSP]を実装するメカニズムです。別の例として、メカニズムは2つの段階でデジタル署名を行うことを選択できます。1つはメッセージのハッシュ用で、もう1つはハッシュの署名用です。したがって、呼び出し元のアプリケーションは、ステージ1でIDUの保護セットの呼び出しを使用し、その後、ステージ2で(ステージ1からの)トークンの保護セットの呼び出しを使用します。
Note that prot_oper_id is simply an integer (1, 2, 3, ..., n, where "n" is the number of stages as defined by the mechanism (typically 1 or 2)). The calling application uses this parameter to indicate to the underlying mechanism whether it wishes to do stage 1 of protection / unprotection processing, or stage 2, and so on. Portable applications may pass "0" to let the mechanism choose the stage (note that mechanism implementers may still iterate when prot_oper_id = 0 (e.g., use output as next input, et cetera).
prot_oper_idは単なる整数であることに注意してください(1、2、3、...、n、 "n"はメカニズムで定義されたステージ数(通常は1または2))。呼び出し元のアプリケーションは、このパラメーターを使用して、基礎となるメカニズムに対して、保護/保護解除処理のステージ1、またはステージ2などを実行するかどうかを示します。ポータブルアプリケーションは、メカニズムにステージを選択させるために「0」を渡す場合があります(メカニズムの実装者は、prot_oper_id = 0の場合でも反復する可能性があることに注意してください(たとえば、出力を次の入力として使用するなど)。
If one or more of the targets in targ_names cannot be used as a valid recipient of the P-IDU, these names will be returned in bad_targ_names (with associated status codes in bad_targ_status). As long as at least one of the targets can be used, this does not cause this call to fail; it is the caller's choice to discontinue IDU protection if the target set which can be used is unsuitable for the caller's purposes. Note that each Prot_Service parameter bundle can also input a list of targ_names; this is used if a separate list is to be used for that service only (the general list of targets is to be used for all services unless overridden in this way).
targ_namesの1つ以上のターゲットをP-IDUの有効な受信者として使用できない場合、これらの名前はbad_targ_namesに返されます(bad_targ_statusに関連するステータスコードが含まれます)。少なくとも1つのターゲットを使用できる限り、これによってこの呼び出しが失敗することはありません。使用できるターゲットセットが呼び出し元の目的に適さない場合、IDU保護を中止するのは呼び出し元の選択です。各Prot_Serviceパラメータバンドルはtarg_namesのリストも入力できることに注意してください。これは、そのサービスにのみ別のリストを使用する場合に使用されます(このようにオーバーライドされない限り、ターゲットの一般的なリストはすべてのサービスに使用されます)。
Inputs: o env_handle ENVIRONMENT HANDLE, o input_buffer OCTET STRING,
入力:o env_handle ENVIRONMENT HANDLE、o input_buffer OCTET STRING、
Outputs: o major_status INTEGER, o minor_status INTEGER, o output_buffer OCTET STRING -- may be zero length if encapsulation_request was set to TRUE in -- IDUP_Start_Protect() (depends on underlying mechanism)
Return major_status codes: o GSS_S_COMPLETE o IDUP_S_NO_ENV o GSS_S_FAILURE
major_statusコードを返します:o GSS_S_COMPLETE o IDUP_S_NO_ENV o GSS_S_FAILURE
Using the security environment referenced by env_handle, continue the protection processing on the data in input_buffer and, if the underlying mechanism defines this, put any resulting P-IDU/M-IDU data in output_buffer. The application calls this routine over and over again with new buffers of data until it has protected all the data buffers of the IDU. It then calls IDUP_End_Protect() to complete the protection processing.
env_handleによって参照されるセキュリティ環境を使用して、input_buffer内のデータの保護処理を続行し、基になるメカニズムがこれを定義している場合は、結果のP-IDU / M-IDUデータをoutput_bufferに入れます。アプリケーションは、IDUのすべてのデータバッファーを保護するまで、新しいデータバッファーを使用してこのルーチンを繰り返し呼び出します。次に、IDUP_End_Protect()を呼び出して保護処理を完了します。
Inputs: o env_handle ENVIRONMENT HANDLE,
入力:o env_handle ENVIRONMENT HANDLE、
Outputs: o major_status INTEGER, o minor_status INTEGER, o Services_to_Perform SET OF Prot_Service, o final_midu_buffer OCTET STRING, -- zero length if encapsulation_request was set to TRUE in -- IDUP_Start_Protect(), in which case pidu is used o final_pidu_buffer OCTET STRING, -- zero length if encapsulation_request was set to FALSE in -- IDUP_Start_Protect(), in which case token and midu are used
Return major_status codes: o GSS_S_COMPLETE -- protection has successfully completed and the resulting P-IDU -- is ready for transfer. If defined by the underlying mechanism, -- final_midu_buffer will contain any residual M-IDU data. o IDUP_S_MORE_OUTBUFFER_NEEDED o IDUP_S_NO_ENV o GSS_S_FAILURE
Using the security environment referenced by env_handle, complete the protection processing on the data and place the computed output in final_pidu_buffer (or final_midu_buffer and the unencapsulated_token parameter for each Prot_Service). If a service was requested from one or more targets in Start_Protect() - and if this is supported by the underlying mechanism - Service_Verification_Info will hold whatever data is necessary for the mechanism to verify a service returned by a target (unprotector) of the P-IDU. Successful application of IDUP_End_Protect() does not guarantee that the corresponding unprotection set of calls can necessarily be performed successfully when the P-IDU arrives at the target (for example, it may be damaged in transit).
env_handleで参照されるセキュリティ環境を使用して、データの保護処理を完了し、計算された出力をfinal_pidu_buffer(または各Prot_Serviceのfinal_midu_bufferおよびunencapsulated_tokenパラメータ)に配置します。 Start_Protect()で1つ以上のターゲットからサービスがリクエストされた場合-これが基礎となるメカニズムによってサポートされている場合-Service_Verification_Infoは、メカニズムがP-のターゲット(アンプロテクター)によって返されたサービスを検証するために必要なすべてのデータを保持しますIDU。 IDUP_End_Protect()が正常に適用されても、P-IDUがターゲットに到達したときに、対応する保護解除呼び出しセットが必ず正常に実行されるとは限りません(たとえば、転送中に損傷を受ける可能性があります)。
Inputs: o env_handle ENVIRONMENT HANDLE, o Mech_Specific_Info PARAMETER BUNDLE, -- NULL selects the mechanism-defined default values o single_pidu_buffer OCTET STRING, -- non-zero length for this buffer means that IDUP_Unprotect() and -- IDUP_End_Unprotect() will not be called (i.e., the entire P-IDU -- (if encapsulation is used) or M-IDU (if encap. is not used) -- is contained in this buffer) o partial_pidu_buffer OCTET STRING, -- may be an arbitrary-sized piece of the full pidu (if the -- application's buffer isn't large enough to hold entire pidu). -- Used if pidu_buffer will be input a buffer at a time (except -- that the final buffer must be passed in final_pidu_buffer -- rather than partial_pidu_buffer). Only one of -- single_pidu_buffer and partial(final)_pidu_buffer can have -- nonzero length. o final_pidu_buffer OCTET STRING, o Special_Conditions PARAMETER BUNDLE,
Outputs: o major_status INTEGER, o minor_status INTEGER, o Services_to_Receive SET OF Unprot_Service, o Prot_Information PARAMETER BUNDLE, o single_idu_buffer OCTET STRING, -- if this buffer has non-zero length, then service processing has -- been completed on the data in single_pidu_buffer o initial_idu_buffer OCTET STRING, -- holds any data from partial(final)_pidu_buffer which has been -- unprotected; remaining data will be returned by Unprotect and -- End_Unprotect as they are called with successive buffers of -- pidu o Service_Verification_Info PARAMETER BUNDLE, -- used only if target is on "service_to" list in Unprot_Service o service_verification_info_id INTEGER, -- used only if target is on "service_to" list in Unprot_Service
Return major_status codes: o GSS_S_COMPLETE -- unprotection processing can begin (or has completed, if -- single_idu_buffer has non-zero length). o IDUP_S_INCOMPLETE -- used only if single_idu_buffer has non-zero length. o IDUP_S_MORE_OUTBUFFER_NEEDED o IDUP_S_MORE_PIDU_NEEDED o GSS_S_DEFECTIVE_TOKEN o IDUP_S_INAPPROPRIATE_CRED o IDUP_S_INCONSISTENT_PARAMS o IDUP_S_DEFECTIVE_VERIF o IDUP_S_NO_MATCH o IDUP_S_SERVICE_UNAVAIL o IDUP_S_REQ_TIME_SERVICE_UNAVAIL o IDUP_S_SERV_VERIF_INFO_NEEDED o GSS_S_CREDENTIALS_EXPIRED o IDUP_S_NO_ENV o IDUP_S_UNKNOWN_OPER_ID o GSS_S_BAD_QOP -- the qop_algs value specified in P-IDU for at least one of the -- services is unavailable in the local mechanism, so processing -- cannot continue. o GSS_S_BAD_MIC o IDUP_S_BAD_DOA_KEY o IDUP_S_BAD_KE_KEY o IDUP_S_BAD_ENC_IDU o GSS_S_FAILURE
Using the security environment referenced by env_handle, initialize the data structures required to begin the process of unprotecting a P-IDU. The caller will be alerted as to which services were applied to the P-IDU in the returned Services_to_Receive set of parameters.
env_handleによって参照されるセキュリティ環境を使用して、P-IDUの保護を解除するプロセスを開始するために必要なデータ構造を初期化します。呼び出し元は、返されたパラメーターのServices_to_ReceiveセットでP-IDUに適用されたサービスについて警告されます。
If encapsulation was not used by the originator, it is the receiving application's responsibility to separate the received P-IDU into a M-IDU and one or more unencapsulated_token buffers (the latter being input in separate Unprot_Service bundles in the Services_to_Receive parameter). These unencapsulated_token buffers should be input before the M-IDU (i.e., in IDUP_Start_Unprotect) or after the M-IDU (i.e., in IDUP_End_Unprotect) as appropriate; this order may be dictated, for example, by their placement in the in-coming message.
オリジネーターがカプセル化を使用しなかった場合、受信したアプリケーションの責任は、受信したP-IDUをM-IDUと1つ以上のunencapsulated_tokenバッファーに分離することです(後者は、Services_to_Receiveパラメーターの個別のUnprot_Serviceバンドルに入力されます)。これらのunencapsulated_tokenバッファーは、M-IDUの前(IDUP_Start_Unprotect内)またはM-IDUの後(IDUP_End_Unprotect内)に適宜入力する必要があります。この順序は、たとえば、受信メッセージ内での配置によって決定される場合があります。
If unprotection will be applied more than once to a given P-IDU, it is the responsibility of the calling application to remember if a service solicitation has been responded to previously (i.e., if the requested service has already been generated / sent for that P-IDU) and thus ignore subsequent solicitations on unprotect.
保護解除が特定のP-IDUに2回以上適用される場合、サービス要請が以前に応答されたかどうか(つまり、要求されたサービスがすでにそのPに対して生成/送信されているかどうか)を覚えておくのは、呼び出し側アプリケーションの責任です。 -IDU)であり、保護解除に関するその後の要請を無視します。
The time flags indicate whether to consult trusted, untrusted, or no time (if both flags are FALSE) during the unprotection operation. If the current time is not to be checked, then unprotection may be successful even if the protector's key has expired since the P-IDU was generated (that is, if the Validity period -- as specified in the Quality parameter bundle -- has expired).
時間フラグは、保護解除操作中に、信頼できる、信頼できない、または時間がない(両方のフラグがFALSEの場合)のどちらを参照するかを示します。現在の時刻をチェックしない場合、P-IDUが生成されてからプロテクターのキーが期限切れになった場合(つまり、品質パラメーターバンドルで指定された有効期間)が期限切れになった場合でも、保護が解除される可能性があります。 )。
If the underlying mechanism supports it and if this information is contained in the P-IDU, information regarding the originator (that is, the entity which used the protection set of calls to generate this P-IDU) is returned in the Prot_Information parameter bundle.
基になるメカニズムがそれをサポートし、この情報がP-IDUに含まれている場合、発信者(つまり、このP-IDUを生成するために呼び出しの保護セットを使用したエンティティ)に関する情報がProt_Informationパラメータバンドルで返されます。
Inputs: o env_handle ENVIRONMENT HANDLE, o input_buffer OCTET STRING
入力:o env_handle ENVIRONMENT HANDLE、o input_buffer OCTET STRING
Outputs: o major_status INTEGER, o minor_status INTEGER, o output_buffer OCTET STRING
出力:o major_status INTEGER、o minor_status INTEGER、o output_buffer OCTET STRING
Return major_status codes: o GSS_S_COMPLETE o IDUP_S_NO_ENV o GSS_S_FAILURE
major_statusコードを返します:o GSS_S_COMPLETE o IDUP_S_NO_ENV o GSS_S_FAILURE
Using the security environment referenced by env_handle, continue the unprotection processing on the data in input_buffer, putting any resulting IDU data in output_buffer (if required).
env_handleで参照されるセキュリティ環境を使用して、input_bufferのデータの保護解除処理を続行し、結果のIDUデータをoutput_bufferに入れます(必要な場合)。
Inputs: o env_handle ENVIRONMENT HANDLE,
入力:o env_handle ENVIRONMENT HANDLE、
Outputs: o major_status INTEGER, o minor_status INTEGER, o Prot_Information PARAMETER BUNDLE, o Services_to_Receive SET OF Unprot_Service, o final_idu_buffer OCTET STRING, o Service_Verification_Info PARAMETER BUNDLE, -- used only if target is on "service_to" list in Unprot_Service o service_verification_info_id INTEGER, -- used only if target is on "service_to" list in Unprot_Service
Return major_status codes: o GSS_S_COMPLETE -- residual IDU data will be returned in final_idu_buffer. o IDUP_S_INCOMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED o GSS_S_BAD_MIC o IDUP_S_BAD_DOA_KEY o IDUP_S_BAD_KE_KEY o IDUP_S_BAD_ENC_IDU o IDUP_S_NO_ENV o GSS_S_FAILURE
Using the security environment referenced by env_handle, complete the unprotection processing on the data and return the appropriate status code. If there is any residual IDU data it will be returned in final_idu_buffer.
env_handleによって参照されるセキュリティ環境を使用して、データの保護解除処理を完了し、適切なステータスコードを返します。 IDUデータが残っている場合は、final_idu_bufferに返されます。
If the IDUP_S_INCOMPLETE major status value is returned, all output parameters are conditionally valid; the unprotection set of functions will have to be called again (perhaps with a complete P-IDU, as produced by IDUP_Form_Complete_PIDU) in order to get valid values for all parameters. "Conditional validity" may arise, for example, if all relevant certificates verify correctly, but it is not yet past the time up to which the current policy allows the authorities involved to repudiate their keys.
IDUP_S_INCOMPLETEメジャーステータス値が返される場合、すべての出力パラメーターは条件付きで有効です。すべてのパラメーターの有効な値を取得するために、保護されていない関数のセットを再度呼び出す必要があります(おそらく、IDUP_Form_Complete_PIDUによって生成された完全なP-IDUを使用)。 「条件付きの有効性」は、たとえば、関連するすべての証明書が正しく検証された場合に発生しますが、現在のポリシーで関係当局が鍵を否認できるようになるまでの時間がまだ経過していない場合です。
If the underlying mechanism supports it and if this information is contained in the token, information regarding the originator (that is, the entity which used the protection set of calls to generate this token) is returned in the Prot_Information parameter bundle. This information may or may not be omitted if it was returned by the IDUP_Start_Unprotect() call.
基盤となるメカニズムがそれをサポートし、この情報がトークンに含まれている場合、発信者(つまり、このトークンを生成するために呼び出しの保護セットを使用したエンティティ)に関する情報がProt_Informationパラメータバンドルで返されます。この情報は、IDUP_Start_Unprotect()呼び出しによって返された場合、省略される場合とされない場合があります。
Note that, unlike GSS-API, IDUP-GSS-API does not incorporate the concept of error tokens transferred between sender and recipient since the protection and unprotection of an IDU may be separated by an indefinite amount of time and may or may not be performed by the same entity.
GSS-APIとは異なり、IDUP-GSS-APIには送信者と受信者の間で転送されるエラートークンの概念が組み込まれていないことに注意してください。IDUの保護と保護解除は無期限に分離され、実行される場合とされない場合があるためです。同じエンティティによって。
The special-purpose call described in this section has no analog in GSS-API [RFC-2078]. This call is used to complete a P-IDU (that is, to generate a P-IDU which can be unprotected successfully with no additional data at any time during its validity period). This call may not be supported by all underlying IDUP mechanisms or implementations.
このセクションで説明する特殊目的の呼び出しは、GSS-API [RFC-2078]に類似点がありません。この呼び出しは、P-IDUを完了するために使用されます(つまり、P-IDUを生成するために使用されます。このP-IDUは、有効期間中に追加データがなくても正常に保護を解除できます)。この呼び出しは、基盤となるすべてのIDUPメカニズムまたは実装でサポートされているとは限りません。
Inputs: o env_handle ENVIRONMENT HANDLE, o single_pidu_buffer OCTET STRING, o partial_pidu_buffer OCTET STRING, -- an arbitrary-sized piece of the full pidu token. Used if pidu -- will be input a buffer at a time (except that the final buffer -- must be passed in final_pidu_buffer rather than -- partial_pidu_buffer). Only one of single_pidu_buffer and -- partial(final)_pidu_buffer can have nonzero length. o final_pidu_buffer OCTET STRING,
Outputs: o major_status INTEGER, o minor_status INTEGER, o pidu_token_out OCTET STRING -- the augmented PIDU; may be complete o call_again_before INTEGER, o call_again_after INTEGER, o trusted_time_stamping_time INTEGER -- for information only
Return major_status codes: o GSS_S_COMPLETE o IDUP_S_MORE_OUTBUFFER_NEEDED o IDUP_S_INCOMPLETE -- generation of the P-IDU is not yet complete. The application -- should call this function again before the time given in -- call_again_before (if not NULL), or after the time given in -- call_again_after (if not NULL), or both (if neither are NULL). o IDUP_S_INCONSISTENT_PARAMS o IDUP_S_SERVICE_UNAVAIL o GSS_S_DEFECTIVE_TOKEN o GSS_S_FAILURE
Form_Complete_PIDU is used primarily by the evidence services; in particular, when the evidence token itself does not contain all the data required for its verification and it is anticipated that some of the data not stored in the token may become unavailable during the interval between generation of the evidence token and verification unless it is stored in the token. The Form_Complete_PIDU operation gathers the missing information and includes it in the token so that verification can be guaranteed to be possible at any future time.
Form_Complete_PIDUは主に証拠サービスによって使用されます。特に、証拠トークン自体に検証に必要なすべてのデータが含まれておらず、トークンに格納されていないデータの一部が、証拠トークンの生成から検証までの間に保存されない場合に利用できなくなることが予想される場合トークンで。 Form_Complete_PIDU操作は、不足している情報を収集してトークンに含めます。これにより、将来の検証が可能になることが保証されます。
This call generates a PIDU which can be unprotected successfully with no additional data at any time during its validity period. [For background information on the notion of "complete" evidence, see
この呼び出しはPIDUを生成します。PIDUは、有効期間中はいつでも追加データなしで無保護にできます。 [「完全な」証拠の概念に関する背景情報については、
"CORBA Security Service v1.2 Draft D02", 18 June 1997.]
「CORBA Security Service v1.2 Draft D02」、1997年6月18日。]
Using the security environment referenced by env_handle, complete the generation of a P-IDU token and return the appropriate status value along with the completed token (if available). Such a call may be used, for example, for the purpose of batch evidence generation on an "evidence server". A local machine may be able to use the protection set of calls to fill out most of an evidence token and then send a number of these to a batch processor which forms the complete evidence tokens (perhaps by adding a certification path, or a timestamp and signature from a timestamping authority). As another example, on the receiving end an application may make such a call in order to collect all the information necessary to unprotect a P-IDU (such as all relevant certificates and Certificate Revocation Lists); this will ensure that the calls to the unprotection set of operations will be entirely local (i.e., can be performed off-line) and fast.
env_handleによって参照されるセキュリティ環境を使用して、P-IDUトークンの生成を完了し、完了したトークン(利用可能な場合)とともに適切なステータス値を返します。そのような呼び出しは、例えば、「証拠サーバー」上でのバッチ証拠生成の目的で使用されてもよい。ローカルマシンは、呼び出しの保護セットを使用して証拠トークンの大部分を埋めてから、これらの番号の多くをバッチプロセッサに送信して、完全な証拠トークンを形成することができます(おそらく、証明書パスまたはタイムスタンプを追加して、タイムスタンプ機関からの署名)。別の例として、P-IDUの保護を解除するために必要なすべての情報(関連するすべての証明書や証明書失効リストなど)を収集するために、受信側でアプリケーションがこのような呼び出しを行うことがあります。これにより、保護されていない一連の操作の呼び出しが完全にローカルになり(オフラインで実行できる)、高速になります。
Note that the complete P-IDU generated will be formed using trusted time if this is available in the environment referenced by env_handle and will use untrusted time or no time otherwise (depending on what is available).
生成された完全なP-IDUは、env_handleによって参照される環境で利用可能な場合は信頼できる時刻を使用して形成され、(利用可能なものに応じて)信頼できない時刻を使用するか、そうでない場合は時間を使用しないことに注意してください。
Support calls in IDUP-GSS-API are to be understood and used as described in GSS-API [RFC-2078]. The calls described in Section 2.4 of GSS-API (including all associated parameters) are unchanged. The following additional calls are specified for IDUP-GSS-API.
IDUP-GSS-APIのサポート呼び出しは、GSS-API [RFC-2078]で説明されているように理解および使用されます。 GSS-APIのセクション2.4で説明されている呼び出し(すべての関連パラメーターを含む)は変更されていません。 IDUP-GSS-APIには、次の追加の呼び出しが指定されています。
2.5.2: IDUP_Acquire_cred_with_auth call
2.5.2:IDUP_Acquire_cred_with_auth呼び出し
Inputs: o desired_name INTERNAL NAME, -- NULL requests locally-determined default o authenticator OCTET STRING -- string which authenticates the caller claiming to be -- desired_name o lifetime_req INTEGER, -- in seconds; 0 requests default o desired_mechs SET OF OBJECT IDENTIFIER, -- empty set requests system-selected default o cred_usage BIT STRING -- actual values which can be used currently correspond to those -- given in Section 2.1.1 (i.e., -- ENCRYPT_ONLY 8 -- DECRYPT_ONLY 16
-- SIGN_ONLY 32 -- VERIFY_ONLY 64 -- with the values logically OR'ed together in any desired -- combination to restrict credential usage; OR'ing all values -- results in NO_RESTRICTION). -- Future possible values for this parameter are for further -- study (note that the type of this parameter is BIT STRING -- (rather than INTEGER as in GSS_Acquire_cred) to facilitate -- such future expansion).
Outputs: o major_status INTEGER, o minor_status INTEGER, o output_cred_handle CREDENTIAL HANDLE, o actual_mechs SET OF OBJECT IDENTIFIER, o actual_cred_usage BIT STRING, o lifetime_rec INTEGER -- in seconds, or reserved value for INDEFINITE
This call (which need not be supported by all underlying mechanisms or implementations) is identical to the GSS_Acquire_cred call, with the exception of the added input parameter "authenticator" and the added output parameter "actual_cred_usage". The authenticator (typically a password, pass-phrase, or PIN) is used to authenticate the caller claiming to be desired_name to the underlying GSS (or mechanism) code. The actual_cred_usage specifies the actual uses available for these credentials; it is up to the caller to determine if this is sufficient for its purposes.
この呼び出し(基礎となるすべてのメカニズムまたは実装でサポートされる必要はありません)は、追加された入力パラメーター「authenticator」と追加された出力パラメーター「actual_cred_usage」を除いて、GSS_Acquire_cred呼び出しと同じです。オーセンティケーター(通常はパスワード、パスフレーズ、またはPIN)は、基礎となるGSS(またはメカニズム)コードに対してdesired_nameであると主張する呼び出し元を認証するために使用されます。 actual_cred_usageは、これらの資格情報で使用可能な実際の用途を指定します。これが目的のために十分であるかどうかを決定するのは呼び出し側の責任です。
Implementations that are able to authenticate the caller in some other way are encouraged to use the GSS_Acquire_cred call; those having no other means available to them, or wishing to explicitly authenticate the caller at the time of credential acquisition, should use the IDUP_Acquire_cred_with_auth call (if supported).
他の方法で呼び出し元を認証できる実装では、GSS_Acquire_cred呼び出しを使用することをお勧めします。他に利用できる手段がない場合、または資格情報の取得時に呼び出し元を明示的に認証したい場合は、IDUP_Acquire_cred_with_auth呼び出し(サポートされている場合)を使用する必要があります。
Note that the return major status codes for this call are identical to those given for the GSS_Acquire_cred call. If the authentication fails (e.g., the wrong authenticator is supplied for the given desired_name), the major status GSS_S_FAILURE is returned (along with an appropriate minor status code).
この呼び出しで返されるメジャーステータスコードは、GSS_Acquire_cred呼び出しで返されるものと同じであることに注意してください。認証が失敗した場合(たとえば、指定されたdesired_nameに間違ったオーセンティケーターが提供された場合)、メジャーステータスGSS_S_FAILUREが(適切なマイナーステータスコードとともに)返されます。
Inputs: o token OCTET STRING, -- all the data to be returned shall be within the first 4 KB of -- the token; hence, a single call is needed. It is not necessary -- to provide the entire token when the token includes the IDU.
o mech_type SET OF OBJECT IDENTIFIER -- input if known (typically SET will contain a single member)
o mech_type SET OF OBJECT IDENTIFIER-既知の場合は入力(通常、SETには単一のメンバーが含まれます)
Outputs: o major_status INTEGER, o minor_status INTEGER, o actual_mech_type OBJECT IDENTIFIER, o data_included_in_token BOOLEAN, -- true if the data is encapsulated o idu_size INTEGER, o has_SE_protection BOOLEAN, o has_EV_protection BOOLEAN, o PIDU_Information PARAMETER BUNDLE, o nr_policy OBJECT IDENTIFIER, -- this and subsequent parameters pertain only to evidence tokens o Nr_Options PARAMETER BUNDLE, o Originator_Information PARAMETER BUNDLE, o time_stamping_time INTEGER OPTIONAL o Request_Features PARAMETER BUNDLE, -- describes the included request, if any. o requested_evidence_back BOOLEAN, -- true if this is an evidence generated in response to a -- previously-sent request o evidence_check OCTET STRING, -- meaningful if the boolean above is true
Return major_status codes: o GSS_S_COMPLETE -- input_token could be parsed for all relevant fields. o GSS_S_CREDENTIALS_EXPIRED o GSS_S_DEFECTIVE_TOKEN -- the mechanism type could be parsed, but either the other fields -- could not be determined from the input_token, or their values -- did not correspond to valid values for that mechanism. o GSS_S_FAILURE -- the mechanism type was missing or corrupted.
IDUP_Get_token_details() is used to return to an application the attributes that correspond to a given input token. Since IDUP-GSS-API tokens are meant to be opaque to the calling application, this function allows the application to determine information about the token without having to violate the opaqueness intention of IDUP. Of primary importance is the mechanism type, which the application can then use as input to the IDUP_Establish_Env() call in order to establish the correct environment in which to have the token processed.
IDUP_Get_token_details()は、特定の入力トークンに対応する属性をアプリケーションに返すために使用されます。 IDUP-GSS-APIトークンは呼び出し側アプリケーションに対して不透明であることを意図しているため、この関数を使用すると、アプリケーションはIDUPの不透明性の意図に違反することなく、トークンに関する情報を判別できます。最も重要なのはメカニズムタイプです。アプリケーションは、トークンを処理する正しい環境を確立するために、IDUP_Establish_Env()呼び出しへの入力として使用できます。
If all tokens are framed as suggested in Section 3.1 of [RFC-2078] (mandated in the Kerberos V5 GSS mechanism [RFC 1964] and in the SPKM GSS Mechanism [RFC 2025]), then any mechanism implementation should be able to return the mech_type parameter for any uncorrupted input token. If the mechanism implementation whose IDUP_Get_token_details() function is being called does recognize the token, it can return any further relevant information in the other token attributes, as specified. In particular, this function can set has_SE_protection if the SE calls may be used to unprotect it, or has_EV_protection if the EV calls may be used to unprotect it, or both if both kinds of protection have been applied (so that SE or EV calls may be used in any order for unprotection) [note that GP calls, when supported, should be usable for unprotection of any IDUP token].
[RFC-2078]のセクション3.1で提案されているようにすべてのトークンがフレーム化されている場合(Kerberos V5 GSSメカニズム[RFC 1964]およびSPKM GSSメカニズム[RFC 2025]で義務付けられている)、メカニズムの実装は、破損していない入力トークンのmech_typeパラメータ。 IDUP_Get_token_details()関数が呼び出されているメカニズム実装がトークンを認識している場合、指定されたように、他のトークン属性で関連情報を返すことができます。特に、この関数は、SE呼び出しを使用して保護を解除できる場合はhas_SE_protectionを設定でき、EV呼び出しを使用して保護を解除できる場合はhas_EV_protectionを設定できます。また、両方の種類の保護が適用されている場合は、SEまたはEV呼び出しを設定できます。保護を解除するために任意の順序で使用する)[GP呼び出しは、サポートされている場合、IDUPトークンの保護を解除するために使用できることに注意してください]。
IDUP_Get_token_details (which need not be supported by all underlying mechanisms or implementations) gives only a hint about the content of the token, there is no integrity check of any kind performed. Regardless of the token type, it is possible to check that this information is correct only by doing a proper unprotection of the token. It is recommended that IDUP callers supply a token buffer at least 4 KB in length in order to ensure that the desired data can easily flow across this interface.
IDUP_Get_token_details(基礎となるすべてのメカニズムまたは実装でサポートされる必要はありません)は、トークンの内容についてのヒントのみを提供し、実行される種類の整合性チェックはありません。トークンのタイプに関係なく、トークンの保護を適切に解除することによってのみ、この情報が正しいことを確認できます。目的のデータがこのインターフェイスを簡単に通過できるようにするために、IDUPの呼び出し元が少なくとも4 KBの長さのトークンバッファーを提供することをお勧めします。
The OID of the mechanism and whether the token contains the associated data is returned. In addition the size of the associated data, whether inside or outside the token, is included if known. [Note: data size will typically be unknown if the data was protected using multibuffer calls. A value of "-1" may be used to indicate "UNKNOWN".]
メカニズムのOIDと、トークンに関連データが含まれているかどうかが返されます。さらに、関連付けられているデータのサイズは、トークンの内外にかかわらず、わかっている場合は含まれます。 [注:データがマルチバッファ呼び出しを使用して保護されている場合、データサイズは通常不明です。値「-1」は「不明」を示すために使用できます。]
When the input token contains only an evidence generated spontaneously, the following is returned: - the evidence type; - the Non-Repudiation policy under which the evidence was generated; - the name of the generator of the evidence; - the date and time when the evidence was generated (if available); - the date and time when it was time stamped (if available).
When the input token contains only an evidence generated in response to a request from another entity, the following additional information is returned: - an indicator to state that this evidence relates to a request; - a string significant for the requester that will allow him to check whether the answer corresponds to the requested evidence.
入力トークンに別のエンティティからの要求に応じて生成された証拠のみが含まれる場合、次の追加情報が返されます。-この証拠が要求に関連していることを示すインジケータ。 -回答者が要求された証拠に対応するかどうかを確認できるようにする、リクエスタにとって重要な文字列。
When the input token only contains a request, the following is returned: - the name of the requestor of the evidence,
入力トークンにリクエストのみが含まれている場合、以下が返されます。-証拠のリクエスタの名前、
- the date and time when the request was made, - the evidence type to send back, - the non-repudiation policy under which the evidence to send back should be generated, - the names of the recipients which should generate and distribute the requested evidence, - the names of the recipients to whom the requested evidence should be sent after it has been generated.
- 要求が行われた日時-送り返す証拠の種類-送り返す証拠を生成する際の否認防止ポリシー-要求された証拠を生成して配布する必要がある受信者の名前、 -要求された証拠が生成された後に送信される受信者の名前。
When the input token contains both evidence and a request, an indicator is returned describing whether the new evidence should be generated using only the data in the input token, or using both the data and the evidence in the input token.
入力トークンに証拠と要求の両方が含まれている場合、新しい証拠を入力トークンのデータのみを使用して生成するか、入力トークンのデータと証拠の両方を使用して生成するかを示すインジケーターが返されます。
When the input token contains only CONF and DOA services, the PIDU_Information bundle is returned. Other relevant parameters (such as idu_size and time_stamping_time) may also be returned if this data is available.
入力トークンにCONFおよびDOAサービスのみが含まれている場合、PIDU_Informationバンドルが返されます。このデータが利用可能な場合、他の関連パラメーター(idu_sizeやtime_stamping_timeなど)も返されることがあります。
Inputs: o policy_id OBJECT IDENTIFIER
入力:o policy_id OBJECT IDENTIFIER
Outputs: o major_status INTEGER, o minor_status INTEGER, o policy_version INTEGER, o policy_effective_time INTEGER, o policy_expiry_time INTEGER, o supported_services SET OF Service_Descriptor, -- services supported by this particular policy_id (equal to the -- intersection of the services supported by the mechanisms -- listed in supported_mechanisms) o supported_mechanisms SET OF Mechanism_Descriptor -- mechanisms supported by this particular policy_id
Return major_status codes: o GSS_S_COMPLETE -- policy_id recognized; all relevant fields have been returned. o GSS_S_FAILURE -- the policy_id was not recognized.
This call (which need not be supported by all underlying mechanisms or implementations) allows the application to retrieve information pertaining to a given policy_id. Policies define the following: - rules for the protection of IDUs, such as trusted third parties which may be involved in P-IDU generation, the roles in which they may be involved, and the duration for which the generated P-IDU is valid;
この呼び出し(基礎となるすべてのメカニズムまたは実装でサポートされる必要はありません)により、アプリケーションは特定のpolicy_idに関連する情報を取得できます。ポリシーは以下を定義します。-P-IDUの生成に関与する可能性のある信頼できるサードパーティなどのIDUの保護のルール、それらが関与する可能性のある役割、および生成されたP-IDUが有効な期間。
- rules for the unprotection of P-IDUs, such as the interval during which a trusted third party may legitimately declare its key to have been compromised or revoked; and
- P-IDUの保護を解除するためのルール。信頼されたサードパーティが、キーが危殆化または取り消されたと合法的に宣言する間隔など。そして
- rules for adjudication, such as which authorities may be used to adjudicate disputes.
- 紛争を裁定するためにどの当局を使用できるかなどの裁定のルール
The policy itself may be used by an adjudicator when resolving a dispute. For example, the adjudicator might refer to the policy to determine whether the rules for generation of the P-IDU have been followed.
ポリシー自体は、紛争解決時に裁定者が使用する場合があります。たとえば、裁定者はポリシーを参照して、P-IDUの生成に関するルールが守られているかどうかを判断します。
The following parameter bundles are associated with this call.
次のパラメータバンドルは、この呼び出しに関連付けられています。
o Service_Descriptor PARAMETER BUNDLE, o service_type OBJECT IDENTIFIER, o service_validity_duration INTEGER, o must_use_trusted_time BOOLEAN
o Service_Descriptor PARAMETER BUNDLE、o service_type OBJECT IDENTIFIER、o service_validity_duration INTEGER、o must_use_trusted_time BOOLEAN
o Mechanism_Descriptor PARAMETER BUNDLE, o mechanism_type OBJECT IDENTIFIER, o Authority_List PARAMETER BUNDLE, o maximum_time_skew INTEGER -- maximum permissible difference between P-IDU generation -- time and the time of countersignature from a time -- service (if required). This parameter is unused if -- trusted time is not required.
o Mechanism_Descriptor PARAMETER BUNDLE、o mechanism_type OBJECT IDENTIFIER、o Authority_List PARAMETER BUNDLE、o maximum_time_skew INTEGER-P-IDU生成-時間と時間からの副署名の時間-サービス(必要な場合)。このパラメータは次の場合には使用されません-信頼できる時間が必要ない
o Authority_List PARAMETER BUNDLE, o authority_name INTERNAL NAME, o authority_role OCTET STRING, o last_revocation_check_offset INTEGER -- may be 0, greater than 0, or less than 0. The value of -- this parameter is added to P-IDU generation time to -- get latest time at which the mechanism will check to -- see if this authority's key has been revoked.
o Authority_List PARAMETER BUNDLE、oauthority_name INTERNAL NAME、oauthority_role OCTET STRING、olast_revocation_check_offset INTEGER-値は0、0より大きい、または0未満です。-このパラメーターは、P-IDU生成時間に追加されます-メカニズムがチェックする最新の時刻を取得します-この権限のキーが取り消されているかどうかを確認します。
An example of the use of the last parameter in Authority_List is as follows. If an authority has a defined last_revocation_check_offset of negative one hour, then all revocations taking effect earlier than one hour before the generation of a P-IDU will render that P-IDU invalid; no revocation taking place later than one hour before the generation of the P-IDU will affect the P-IDU's validity.
Authority_Listの最後のパラメーターの使用例は次のとおりです。当局がlast_revocation_check_offsetに負の1時間を定義している場合、P-IDUの生成の1時間前にすべての取り消しが有効になると、そのP-IDUは無効になります。 P-IDUの生成の1時間前に失効が発生しても、P-IDUの有効性に影響はありません。
Note that both the maximum_time_skew and the last_revocation_check_offset values are given in minutes.
maximum_time_skewとlast_revocation_check_offsetの両方の値は分単位で指定されることに注意してください。
Inputs: o env_handle ENVIRONMENT HANDLE,
入力:o env_handle ENVIRONMENT HANDLE、
Outputs: o major_status INTEGER, o minor_status INTEGER,
出力:o major_status INTEGER、o minor_status INTEGER、
Return major_status codes: o GSS_S_COMPLETE -- operation cancelled; state purged. o GSS_S_FAILURE -- unable to cancel operation; state retained.
This call (which need not be supported by all underlying mechanisms or implementations) allows the application to cancel a multibuffer operation prior to normal completion (e.g., subsequent to calling Start_operation and zero or more Process_operation, but prior to calling End_operation). When successful, this call purges any internal state information which would have been used to continue processing for the full set of multibuffer calls.
この呼び出し(基盤となるすべてのメカニズムまたは実装でサポートされる必要はありません)により、アプリケーションは、通常の完了前(たとえば、Start_operationと0以上のProcess_operationの呼び出し後、ただしEnd_operationの呼び出し前)にマルチバッファー操作をキャンセルできます。成功すると、この呼び出しは、マルチバッファー呼び出しの完全なセットの処理を続行するために使用されていた内部状態情報をすべて削除します。
In order to implement the IDUP-GSS-API atop existing, emerging, and future security mechanisms, the following is necessary:
IDUP-GSS-APIを既存、新興、および将来のセキュリティメカニズムの上に実装するには、以下が必要です。
- object identifiers must be assigned to candidate IDUP-GSS-API mechanisms and the name types which they support; and
- オブジェクト識別子は、候補のIDUP-GSS-APIメカニズムとそれらがサポートする名前タイプに割り当てる必要があります。そして
- concrete data element (i.e., token and parameter bundle) formats must be defined for candidate mechanisms.
- 候補となるメカニズムには、具体的なデータ要素(トークンとパラメーターのバンドル)形式を定義する必要があります。
Calling applications must implement formatting conventions which will enable them to distinguish IDUP-GSS-API P-IDUs from other IDUs in their environment.
呼び出し側のアプリケーションは、IDUP-GSS-API P-IDUを環境内の他のIDUから区別できるようにするフォーマット規則を実装する必要があります。
Concrete language bindings are required for the programming environments in which the IDUP-GSS-API is to be employed.
IDUP-GSS-APIを使用するプログラミング環境には、具体的な言語バインディングが必要です。
Many thanks are due to Tim Moses and Dhanya Thakkar of Entrust Technologies, Denis Pinkas of Bull, and David Kurn of Tandem Computers for a number of helpful comments and contributions.
Entrust TechnologiesのTim MosesとDhanya Thakkar、BullのDenis Pinkas、Tandem ComputersのDavid Kurnの多くの役立つコメントと貢献に感謝します。
Security issues are discussed throughout this memo.
セキュリティの問題は、このメモ全体で議論されています。
[MSP] U.S. National Security Agency, "Message Security Protocol", Secure Data Network System SDN.701, March 1994.
[MSP]米国国家安全保障局、「メッセージセキュリティプロトコル」、Secure Data Network System SDN.701、1994年3月。
[RFC-1421] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures", RFC 1421, February 1993.
[RFC-1421] Linn、J.、「インターネット電子メールのプライバシー強化:パートI:メッセージの暗号化と認証手順」、RFC 1421、1993年2月。
[RFC-2078] Linn, J., "Generic Security Service Application Program Interface, Version 2", RFC 2078, January 1997..
[RFC-2078] Linn、J。、「Generic Security Service Application Program Interface、Version 2」、RFC 2078、1997年1月
[RFC 1964] Linn, J, "The Kerberos Version 5 GSS-API Mechanism", RFC 1964, June 1996.
[RFC 1964] Linn、J、「Kerberosバージョン5 GSS-APIメカニズム」、RFC 1964、1996年6月。
[RFC 2025] Adams, C., "The Simple Public-Key GSS-API Mechanism (SPKM)", RFC 2025, October 1996.
[RFC 2025] Adams、C。、「The Simple Public-Key GSS-API Mechanism(SPKM)」、RFC 2025、1996年10月。
[ISO/IEC] 2nd ISO/IEC CD 13888-1, "Information technology - Security techniques - Non-repudiation - Part 1: General Model", ISO/IEC JTC 1/SC 27, May 30, 1995
Carlisle Adams Entrust Technologies 750 Heron Road, Suite E08, Ottawa, Ontario, CANADA K1V 1A7
Carlisle Adams Entrust Technologies 750 Heron Road、Suite E08、Ottawa、Ontario、CANADA K1V 1A7
Phone: +1 613.247.3180 EMail: cadams@entrust.com
APPENDIX A: MECHANISM-INDEPENDENT TOKEN FORMAT
付録A:メカニズムに依存しないトークン形式
This appendix specifies the use, for IDUP-GSS-API tokens, of the mechanism-independent level of encapsulating representation for tokens given in Section 3.1 of GSS-API [RFC-2078]. The representation given there incorporates an identifier of the mechanism type to be used when processing the associated tokens. Use of that octet format is recommended to the designers of IDUP-GSS-API implementations based on various mechanisms so that tokens can be interpreted unambiguously at IDUP-GSS-API peers. It is recognized, however, that for interoperability purposes with peers not using IDUP for specific IDU protection/unprotection protocols, the encapsulating representation may need to be omitted. (In such a case it is necessary that the underlying mechanism provides some sort of internal or external identification that allows it to recognize its own tokens.) When the mechanism-independent level of encapsulating representation is not desired, callers SHOULD set mech_indep_encap_req to FALSE (note that some underlying mechanisms may default this parameter to FALSE).
この付録では、IDUP-GSS-APIトークンについて、GSS-API [RFC-2078]のセクション3.1に示されているトークンのメカニズムに依存しないレベルのカプセル化表現の使用を指定しています。そこで与えられた表現は、関連するトークンを処理するときに使用されるメカニズムタイプの識別子を組み込んでいます。 IDUP-GSS-APIピアでトークンを明確に解釈できるように、さまざまなメカニズムに基づくIDUP-GSS-API実装の設計者には、そのオクテット形式の使用をお勧めします。ただし、特定のIDU保護/保護解除プロトコルにIDUPを使用していないピアとの相互運用性の目的で、カプセル化表現を省略しなければならない場合があることは認識されています。 (このような場合、基礎となるメカニズムが、独自のトークンを認識できるようにする内部または外部の識別を提供する必要があります。)メカニズムに依存しないレベルのカプセル化表現が不要な場合、呼び出し元はmech_indep_encap_reqをFALSEに設定する必要があります(SHOULD)。一部の基本的なメカニズムでは、このパラメーターがデフォルトでFALSEになっている場合があります)。
For purely descriptive purposes, the following simple ASN.1 structure is used to illustrate the structural relationships among token and tag objects. For interoperability purposes, token and tag encoding shall be performed using the concrete encoding procedures described in Section 3.1 of GSS-API [RFC-2078].
純粋に説明のために、次の単純なASN.1構造を使用して、トークンオブジェクトとタグオブジェクト間の構造的な関係を示します。相互運用性を目的として、GSS-API [RFC-2078]のセクション3.1で説明されている具体的なエンコード手順を使用して、トークンとタグのエンコードを実行する必要があります。
-- top-level token definition to frame different mechanisms
-さまざまなメカニズムを組み立てるためのトップレベルのトークン定義
IDUP-GSS-API DEFINITIONS ::= BEGIN MechType ::= OBJECT IDENTIFIER
Token ::= [APPLICATION 0] IMPLICIT SEQUENCE { thisMech MechType, token ANY DEFINED BY thisMech -- contents mechanism-specific } END
APPENDIX B: EXAMPLES OF IDUP USE
付録B:IDUPの使用例
This appendix provides examples of the use of IDUP to do IDU protection and unprotection. It should not be regarded as constrictive to implementations or as defining the only means through which IDUP-GSS-API functions can be realized with particular underlying technology, and does not demonstrate all IDUP-GSS-API features.
この付録では、IDUPを使用してIDUの保護と保護解除を行う例を示します。 IDUP-GSS-APIの機能を特定の基盤となるテクノロジーで実現するための手段を定義したり、実装を制限したりするものと見なしてはならず、IDUP-GSS-APIのすべての機能を示しているわけではありません。
Most of the examples below only illustrate the use of CONF/DOA protection services. Note that when both CONF/DOA and Evidence services are required, calling applications may use a series of SE and EV calls, or may use the GP calls (when these are supported). Using the former approach implies multiple calls (e.g., the SE calls are used to protect some data and the resulting token is then input to the EV calls to add evidence information), but some callers may find this to be more attractive than coding to the GP calls because of the simpler SE/EV interface. Depending upon the underlying mechanism, the series of SE/EV calls may result in a single token that can be unprotected using the SE and EV calls in any order (for example, because it is a single ASN.1 SEQUENCE that incorporates all the specified protection services at one level), or the series may result in a token that can only be unprotected in the reverse order of protection (for example, because each SE/EV output token was effectively embedded in the token of the subsequent call). The IDUP_Get_token_details call can assist callers in determining how to unprotect any received token.
以下の例のほとんどは、CONF / DOA保護サービスの使用のみを示しています。 CONF / DOAとEvidenceの両方のサービスが必要な場合、呼び出し側のアプリケーションは一連のSEとEVの呼び出しを使用するか、GPの呼び出しを使用する場合があります(これらがサポートされている場合)。前者のアプローチを使用すると、複数の呼び出しが含まれることを意味します(たとえば、SE呼び出しを使用して一部のデータを保護し、結果のトークンをEV呼び出しに入力して証拠情報を追加します)。ただし、呼び出し元によっては、シンプルなSE / EVインターフェイスのため、GP呼び出し。基礎となるメカニズムに応じて、一連のSE / EV呼び出しは、SEとEV呼び出しを任意の順序で使用して保護されない単一のトークンになる可能性があります(たとえば、指定されたすべてを組み込んだ単一のASN.1 SEQUENCEであるため) 1つのレベルの保護サービス)、またはシリーズによって、保護の逆順でのみ保護解除できるトークンが生成される場合があります(たとえば、各SE / EV出力トークンが後続の呼び出しのトークンに効果的に埋め込まれたため)。 IDUP_Get_token_details呼び出しは、受信したトークンの保護を解除する方法を決定する際に呼び出し元を支援できます。
To illustrate the simplest possible case, consider an underlying IDUP mechanism which does straightforward encryption/decryption and signing/verification only using public-key techniques; none of the other possible services, such as creation of proof-of-origin evidence, requests for proof-of-delivery evidence, or use of trusted time, are supported. PEM[RFC-1421] is one example of a mechanism which fits this description. Furthermore (again for simplicity), assume that encapsulation is chosen by the calling application during IDU protection.
考えられる最も単純なケースを説明するために、公開鍵技術のみを使用して簡単な暗号化/復号化と署名/検証を行う、基礎となるIDUPメカニズムを検討してください。起源証明の作成、配達証明の要求、信頼できる時刻の使用など、他の可能なサービスはサポートされていません。 PEM [RFC-1421]は、この説明に適合するメカニズムの一例です。さらに(ここでも簡単にするため)、IDU保護中に呼び出し側アプリケーションによってカプセル化が選択されていると想定します。
Such a mechanism would likely use the "SE" set of IDUP-GSS-API calls. The following parameter bundle uses and defaults would therefore be specified in the relevant IDUP mechanism document.
このようなメカニズムは、IDUP-GSS-API呼び出しの「SE」セットを使用する可能性があります。したがって、次のパラメーターバンドルの使用とデフォルトは、関連するIDUPメカニズムドキュメントで指定されます。
SENDER:
送信者:
Set env_handle = environment handle in use; idu_buffer = data buffer; Target_Info.targ_names = receiver names; Protect_Options = as necessary;
Call IDUP_SE_SingleBuffer_Protect() with above input parameters
上記の入力パラメーターを使用してIDUP_SE_SingleBuffer_Protect()を呼び出します。
Check major_status. If not GSS_S_COMPLETE, check minor_status, Target_Info.Bad_Targ_Name, (as required) for more detailed information.
major_statusを確認してください。 GSS_S_COMPLETEでない場合、minor_status、Target_Info.Bad_Targ_Name(必要に応じて)で詳細情報を確認してください。
Send Output parameter pidu_buffer to receiver.
出力パラメーターpidu_bufferをレシーバーに送信します。
RECEIVER (any parameters not listed below are given the value NULL):
RECEIVER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; pidu_buffer = received data buffer;
Call IDUP_SE_SingleBuffer_Unprotect() with above input parameters Check major_status. If not GSS_S_COMPLETE, check minor_status, (as required) for more detailed information
上記の入力パラメーターを使用してIDUP_SE_SingleBuffer_Unprotect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、詳細情報について(必要に応じて)minor_statusを確認してください
Utilize PIDU_Information.Protect_Options.Protect_Operation, (to determine which services were applied by the originator) PIDU_Information.Protect_Options.sign_qop_alg / enc_qop_alg, (to determine the corresponding qualities of the services) Prot_Information.originator_name, (to determine the name of the originator) Prot_Information.protection_time, (to determine when the IDU was protected) idu_buffer (to retrieve the unprotected data).
PIDU_Information.Protect_Options.Protect_Operationを利用します(オリジネーターによって適用されたサービスを特定します)PIDU_Information.Protect_Options.sign_qop_alg / enc_qop_alg、(サービスの対応する品質を特定します)Prot_Information.originator_name、(オリジネーターの名前を特定します) .protection_time(IDUがいつ保護されたかを判別するため)idu_buffer(保護されていないデータを取得するため)。
To illustrate a slight variation on the simplest possible case, assume that everything is as in the previous scenario except that the "GP" calls are used.
最も単純なケースのわずかなバリエーションを示すために、「GP」コールが使用されることを除いて、すべてが前のシナリオと同じであると想定します。
The following parameter bundle uses and defaults would therefore be specified in the relevant IDUP mechanism document.
したがって、次のパラメーターバンドルの使用とデフォルトは、関連するIDUPメカニズムドキュメントで指定されます。
Mech_Specific_Info - NOT USED (the only acceptable input, therefore, is NULL)
Mech_Specific_Info-使用されていません(したがって、唯一の受け入れ可能な入力はNULLです)
Idu_Sensitivity - NOT USED (the only acceptable input, therefore, is NULL)
Idu_Sensitivity-使用されていません(したがって、唯一の許容入力はNULLです)
Service_Creation_Info - NOT USED (the only acceptable input, therefore, is NULL)
Service_Creation_Info-使用されていません(したがって、唯一の受け入れ可能な入力はNULLです)
Service_Verification_Info - NOT USED (the only acceptable input, therefore, is NULL)
Service_Verification_Info-使用されていません(したがって、唯一の受け入れ可能な入力はNULLです)
Quality - the qop_algs parameter must be supported, with a suitable DEFAULT value specified; - suitable DEFAULT values for validity, policy_id, and allow_policy_mapping must be specified (it may be an implementation option as to whether these parameters are explicitly modifiable by the calling application, or whether NULLs are the only acceptable input)
品質-qop_algsパラメーターがサポートされ、適切なDEFAULT値が指定されている必要があります。 -有効性、policy_id、およびallow_policy_mappingに適切なDEFAULT値を指定する必要があります(これらのパラメーターが呼び出し側アプリケーションによって明示的に変更可能かどうか、またはNULLが唯一の受け入れ可能な入力であるかどうかに関する実装オプションの場合があります)
Idu_Information - the idu_type parameter must have a value representing a suitable IDU type (for example, in PEM a value representing the string "RFC822" or some other valid "Content-Domain" would be used), with a suitable DEFAULT value specified; - the idu_title parameter is NOT USED (the only acceptable input, therefore, is NULL)
Idu_Information-idu_typeパラメータには、適切なIDUタイプを表す値が必要です(たとえば、PEMでは、文字列 "RFC822"または他の有効な "Content-Domain"を表す値が使用されます)。適切なDEFAULT値が指定されます。 -idu_titleパラメータは使用されていません(したがって、唯一許容される入力はNULLです)
Prot_Information - the originator_name and idu_type (in Idu_Information) parameters are read from the encapsulating information and output by IDUP_Start_Unprotect; - all other parameters are NOT USED (and therefore NULL)
Prot_Information-originator_nameおよびidu_type(Idu_Information内)パラメーターは、カプセル化情報から読み取られ、IDUP_Start_Unprotectによって出力されます。 -他のすべてのパラメーターは使用されません(したがってNULL)
Special_Conditions - NOT USED (the only acceptable input, therefore, is NULL)
Special_Conditions-使用されていません(したがって、唯一の受け入れ可能な入力はNULLです)
Target_Info - this bundle is used as described in IDUP; no DEFAULT values are specified
Target_Info-このバンドルは、IDUPで説明されているように使用されます。 DEFAULT値が指定されていません
General_Service_Data - the unencapsulated_token parameter is used if encapsulation_request is FALSE; - the minor_status parameter is used to return minor status values as specified by the mechanism document
General_Service_Data-encapsulation_requestがFALSEの場合、unencapsulated_tokenパラメータが使用されます。 -minor_statusパラメータは、メカニズムドキュメントで指定されているマイナーステータス値を返すために使用されます
Prot_Service - the prot_service_type parameter may have a value of "1" ("perform unsolicited service") or NULL (which specifies the DEFAULT value of "1"); - the service_id parameter must have a value representing "PER_CONF" or "PER_DOA"; - the parameters Service_Creation_Info, service_to, Service_Verification_Info, and service_verification_info_id are NOT USED (and therefore NULL)
Unprot_Service - the unprot_service_type parameter will always have a value of "1" ("receive unsolicited service"); - the service_id parameter will have a value representing "REC_CONF" or "REC_DOA"; - the parameters service_verification_info_id, Service_Verification_Info, service_to, and Service_Creation_Info, are NOT USED (and therefore NULL)
Assuming that the calling application has only a single buffer of data to protect/unprotect, the following sequence of operations must be performed by the sender and receivers (subsequent to environment establishment).
呼び出し側のアプリケーションが保護/保護解除するデータのバッファを1つだけ持っていると想定すると、次の一連の操作を送信者と受信者が実行する必要があります(環境の確立後)。
SENDER (any parameters not listed below are given the value NULL):
SENDER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; encapsulation_request = TRUE; single_idu_buffer = data buffer; Target_Info.targ_names = receiver names; P_Services.Prot_Service_1.service_id = PER_CONF; P_Services.Prot_Service_2.service_id = PER_DOA;
Call IDUP_Start_Protect() with above input parameters
上記の入力パラメーターでIDUP_Start_Protect()を呼び出します。
Check major_status. If not GSS_S_COMPLETE, check minor_status, Target_Info.bad_targ_names / Target_Info.bad_targ_status, P_Services.Prot_Service_1.General_Service_Data.minor_status, P_Services.Prot_Service_2.General_Service_Data.minor_status (as required) for more detailed information.
major_statusを確認してください。 GSS_S_COMPLETEでない場合は、minor_status、Target_Info.bad_targ_names / Target_Info.bad_targ_status、P_Services.Prot_Service_1.General_Service_Data.minor_status、P_Services.Prot_Service_2.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください。
Send Output parameter pidu_buffer to receiver.
出力パラメーターpidu_bufferをレシーバーに送信します。
RECEIVER (any parameters not listed below are given the value NULL):
RECEIVER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; single_pidu_buffer = received data buffer;
Call IDUP_Start_Unprotect() with above input parameters Check major_status. If not GSS_S_COMPLETE, check minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status, R_Services.Unprot_Service_2.General_Service_Data.minor_status (as required) for more detailed information
上記の入力パラメーターを指定してIDUP_Start_Unprotect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、minor_status、R_Services.Unprot_Service_1.General_Service_Data.minor_status、R_Services.Unprot_Service_2.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください
Utilize R_Services.Unprot_Service_1/2.service_id, (to determine which services were applied by the originator) R_Services.Unprot_Service_1/2.Quality, (to determine the corresponding qualities of the services) Prot_Information.originator_name, (to determine the name of the originator) single_idu_buffer (to retrieve the unprotected data).
R_Services.Unprot_Service_1 / 2.service_id(オリジネーターによって適用されたサービスを判別するため)を利用しますR_Services.Unprot_Service_1 / 2.Quality(サービスの対応する品質を判別するため)Prot_Information.originator_name )single_idu_buffer(保護されていないデータを取得するため)。
To illustrate the next step up in complexity, consider the use of the simple IDUP mechanism described in B.2 above with multiple data buffers. In particular, consider the case in which a large data file is to be signed. For this example, assume that the calling application does not wish to use encapsulation.
複雑さの次のステップを説明するために、複数のデータバッファーを使用して、上記のB.2で説明した単純なIDUPメカニズムの使用を検討してください。特に、大きなデータファイルに署名する場合を考慮してください。この例では、呼び出し側のアプリケーションがカプセル化を使用しないことを想定しています。
Note that the parameter bundle uses and defaults are as specified in B.2. above.
パラメータバンドルが使用し、デフォルトはB.2で指定されているとおりであることに注意してください。上記。
SENDER (any parameters not listed below are given the value NULL):
SENDER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; encapsulation_request = FALSE; P_Services.Prot_Service.service_id = PER_DOA;
Call IDUP_Start_Protect() with above input parameters Check major_status. If not GSS_S_COMPLETE, check minor_status, P_Services.Prot_Service.General_Service_Data.minor_status (as required) for more detailed information.
上記の入力パラメーターを使用してIDUP_Start_Protect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、minor_status、P_Services.Prot_Service.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください。
For each buffer of input data: Set input_buffer = buffer Call IDUP_Protect() with above input parameter Check major_status. If not GSS_S_COMPLETE, check minor_status
入力データの各バッファーに対して:input_buffer = bufferを設定します。上記の入力パラメーターでIDUP_Protect()を呼び出します。major_statusを確認します。 GSS_S_COMPLETEでない場合は、minor_statusを確認してください
Call IDUP_End_Protect() Check major_status. If not GSS_S_COMPLETE, check minor_status, P_Services.Prot_Service.General_Service_Data.minor_status (as required) for more detailed information.
IDUP_End_Protect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、minor_status、P_Services.Prot_Service.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください。
Send P_Services.Prot_Service.General_Service_Data.unencapsulated_token, and the file for which the signature was calculated (if required), to receiver.
P_Services.Prot_Service.General_Service_Data.unencapsulated_token、および署名が計算されたファイル(必要な場合)を受信者に送信します。
RECEIVER (any parameters not listed below are given the value NULL):
RECEIVER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; R_Services.Unprot_Service_1.General_Service_Data. unencapsulated_token = received unencapsulated token;
Call IDUP_Start_Unprotect() with above input parameters Check major_status. If not GSS_S_COMPLETE, check
上記の入力パラメーターを指定してIDUP_Start_Unprotect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、確認してください
minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status, (as required) for more detailed information
minor_status、R_Services.Unprot_Service_1.General_Service_Data.minor_status(必要に応じて)、詳細情報
For each buffer of input data: Set input_buffer = buffer Call IDUP_Unprotect() with above input parameter Check major_status. If not GSS_S_COMPLETE, check minor_status
入力データの各バッファーについて:input_buffer = bufferを設定します上記の入力パラメーターを使用してIDUP_Unprotect()を呼び出しますmajor_statusを確認します。 GSS_S_COMPLETEでない場合は、minor_statusを確認してください
Call IDUP_End_Unprotect() Check major_status. If not GSS_S_COMPLETE, check minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status, (as required) for more detailed information.
IDUP_End_Unprotect()を呼び出しますmajor_statusを確認します。 GSS_S_COMPLETEでない場合は、minor_status、R_Services.Unprot_Service_1.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください。
Utilize R_Services.Unprot_Service_1.service_id, (to determine which service was applied by the originator; note that Unprot_Service_2 will have NULL in unprot_service_type to indicate that it is not used) R_Services.Unprot_Service_1.Quality, (to determine the corresponding quality of the service) Prot_Information.originator_name, (from IDUP_Start_Unprotect) (to determine the name of the signer) major_status (from IDUP_End_Unprotect) (to determine pass/fail status of signature verification).
R_Services.Unprot_Service_1.service_idを使用します(オリジネーターによって適用されたサービスを判別します。Unprot_Service_2は、unprot_service_typeにNULLが含まれていることを示し、使用されていないことを示します)R_Services.Unprot_Service_1.Quality(サービスの対応する品質を判別します) Prot_Information.originator_name、(IDUP_Start_Unprotectから)(署名者の名前を判別するため)major_status(IDUP_End_Unprotectから)(署名検証の合否ステータスを判別するため)。
To illustrate a higher level of complexity, consider the use of a more sophisticated IDUP mechanism and a calling application with small data buffers. In particular, consider the case in which a very small e-mail message is to be encrypted for a relatively large receiver list (R), some subset of whom (r) will be asked to send proofs of receipt of the message to some other subset (L) (which includes the originator). So that the example is not unnecessarily complicated, assume again that the originating application uses encapsulation.
より高いレベルの複雑さを示すために、より洗練されたIDUPメカニズムと小さなデータバッファーを使用した呼び出し側アプリケーションの使用を検討してください。特に、非常に小さな電子メールメッセージを比較的大きな受信者リスト(R)に対して暗号化する場合を考えてください。その一部(r)のサブセットは、メッセージの受信の証拠を他の誰かに送信するように求められます。サブセット(L)(オリジネーターを含む)。例が不必要に複雑にならないようにするために、元のアプリケーションがカプセル化を使用すると仮定します。
The uses and defaults for the various parameter bundles for this mechanism would be specified in the relevant IDUP mechanism document as follows.
このメカニズムのさまざまなパラメータバンドルの使用とデフォルトは、関連するIDUPメカニズムのドキュメントで次のように指定されます。
Mech_Specific_Info - NOT USED (the only acceptable input, therefore, is NULL)
Mech_Specific_Info-使用されていません(したがって、唯一の受け入れ可能な入力はNULLです)
Idu_Sensitivity - NOT USED (the only acceptable input, therefore, is NULL)
Idu_Sensitivity-使用されていません(したがって、唯一の許容入力はNULLです)
Service_Creation_Info - used to create "proof of delivery" evidence (but actual structure is opaque to calling application)
Service_Creation_Info-「配信の証明」の証拠を作成するために使用されます(ただし、実際の構造は呼び出し側のアプリケーションに対して不透明です)
Service_Verification_Info - used to verify "proof of delivery" evidence (but actual structure is opaque to calling application)
Service_Verification_Info-「配達証明」の証拠を検証するために使用されます(ただし、実際の構造はアプリケーションの呼び出しに対して不透明です)
Quality - the qop_algs parameter must be supported, with a suitable DEFAULT value specified; - suitable DEFAULT values for validity, policy_id, and allow_policy_mapping must be specified (it may be an implementation option as to whether these parameters are explicitly modifiable by the calling application, or whether NULLs are the only acceptable input)
品質-qop_algsパラメーターがサポートされ、適切なDEFAULT値が指定されている必要があります。 -有効性、policy_id、およびallow_policy_mappingに適切なDEFAULT値を指定する必要があります(これらのパラメーターが呼び出し側アプリケーションによって明示的に変更可能かどうか、またはNULLが唯一の受け入れ可能な入力であるかどうかに関する実装オプションの場合があります)
Idu_Information - the idu_type parameter must have a value representing a suitable IDU type, with a suitable DEFAULT value specified; - the idu_title parameter must have a value representing a suitable IDU title, with a suitable DEFAULT value specified
Idu_Information-idu_typeパラメーターには、適切なIDUタイプを表す値と、適切なDEFAULT値を指定する必要があります。 -idu_titleパラメータには、適切なIDUタイトルを表す値と、適切なDEFAULT値を指定する必要があります
Prot_Information - the originator_name, protection_time, and idu_type / idu_title (in Idu_Information) parameters are read from the contained header information and output by IDUP_Start_Unprotect;
Prot_Information-originator_name、protection_time、およびidu_type / idu_title(Idu_Information内)パラメーターは、含まれているヘッダー情報から読み取られ、IDUP_Start_Unprotectによって出力されます。
Special_Conditions - the parameter prot_oper_id is NOT USED (the only acceptable input, therefore, is NULL); - trusted or untrusted time may be selected by the calling application, with a suitable DEFAULT value specified
Special_Conditions-パラメータprot_oper_idは使用されません(したがって、唯一の受け入れ可能な入力はNULLです)。 -適切なDEFAULT値を指定して、呼び出し側アプリケーションが信頼できる時間または信頼できない時間を選択できます
Target_Info - this bundle is used as described in IDUP; no DEFAULT values are specified
Target_Info-このバンドルは、IDUPで説明されているように使用されます。 DEFAULT値が指定されていません
General_Service_Data - the unencapsulated_token parameter is used if encapsulation_request is FALSE; - the minor_status parameter is used to return minor status values
General_Service_Data-encapsulation_requestがFALSEの場合、unencapsulated_tokenパラメータが使用されます。 -minor_statusパラメータは、マイナーステータス値を返すために使用されます
as specified by the mechanism document
メカニズム文書で指定されているとおり
Prot_Service - the prot_service_type parameter may have a value of "1" ("perform unsolicited service"), "2" ("perform solicited service"), "3" (perform service solicitation), or NULL (which specifies the DEFAULT value of "1"); - the service_id parameter must have a value representing "PER_CONF", "PER_DOA", "PER_POO", or "PER_POD"; - the parameters Service_Creation_Info, service_to, Service_Verification_Info, and service_verification_info_id are used when required by the IDUP operation
Unprot_Service - the unprot_service_type parameter may have a value of "1" ("receive unsolicited service"), "2" ("receive solicited service"), or "3" (receive service solicitation); - the service_id parameter will have a value representing "REC_CONF", "REC_DOA", "REC_POO", or "REC_POD"; - the parameters service_verification_info_id, Service_Verification_Info, service_to, and Service_Creation_Info, are used when required by the IDUP operation
SENDER (any parameters not listed below are given the value NULL):
SENDER(以下にリストされていないパラメーターには、値NULLが与えられます):
Set env_handle = environment handle in use; Idu_Information.idu_type = value for "e-mail document"; Idu_Information.idu_title = "Contract 1234"; Special_Conditions.use_trusted_time = TRUE; encapsulation_request = TRUE; single_idu_buffer = very small e-mail message; Target_Info.targ_names = receiver names (R); Prot_Service_1.prot_service_type = "1"; Prot_Service_1.service_id = PER_CONF; Prot_Service_2.prot_service_type = "3"; Prot_Service_2.service_id = PER_POD; Prot_Service_2.General_Service_Data.Target_Info.targ_names = "receipts from" list (r); Prot_Service_2.service_to = "receipts to" list (L); P_Services.Prot_Service_1 = Prot_Service_1; P_Services.Prot_Service_2 = Prot_Service_2;
Call IDUP_Start_Protect() with above input parameters
上記の入力パラメーターでIDUP_Start_Protect()を呼び出します。
Check major_status. If not GSS_S_COMPLETE, while major_status == IDUP_S_MORE_OUTBUFFER_NEEDED Save pidu_buffer, Call IDUP_Start_Protect() (to get next portion of pidu_buffer) Check major_status, minor_status, Target_Info.bad_targ_names / Target_Info.bad_targ_status, P_Services.Prot_Service_1.General_Service_Data.minor_status, P_Services.Prot_Service_2.General_Service_Data.minor_status (as required) for more detailed information.
major_statusを確認してください。 GSS_S_COMPLETEでない場合、major_status == IDUP_S_MORE_OUTBUFFER_NEEDED pidu_bufferを保存し、IDUP_Start_Protect()を呼び出します(pidu_bufferの次の部分を取得します)。詳細については、.minor_status(必要に応じて)。
Save Prot_Service_2.Service_Verification_Info, Prot_Service_2.service_verification_info_id
Prot_Service_2.Service_Verification_Info、Prot_Service_2.service_verification_info_idを保存します
Send All saved buffers of pidu_buffer to receiver list (R).
保存されたpidu_bufferのすべてのバッファーを受信者リスト(R)に送信します。
RECEIVER (ON RECEIVER LIST (R)): (any parameters not listed below are given the value NULL)
RECEIVER(ON RECEIVER LIST(R)):(以下にリストされていないパラメーターには、値NULLが与えられます)
Set env_handle = environment handle in use; partial_pidu_buffer = initial buffer of received p-idu;
Call IDUP_Start_Unprotect() with above input parameters While major_status == IDUP_S_MORE_PIDU_NEEDED, Set partial_pidu_buffer = next buffer of p-idu Call IDUP_Start_Unprotect() Check major_status, minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status, R_Services.Unprot_Service_2.General_Service_Data.minor_status, (as required) for more detailed information
上記の入力パラメーターを使用してIDUP_Start_Unprotect()を呼び出し、major_status == IDUP_S_MORE_PIDU_NEEDEDの間に、partial_pidu_buffer = p-iduの次のバッファーを設定します。IDUP_Start_Unprotect()を呼び出します。必須)詳細情報
Save initial_idu_buffer (if non-empty)
initial_idu_bufferを保存します(空でない場合)
Set input_buffer = remaining p-idu buffer Call IDUP_Unprotect() with above input parameter Check major_status. If not GSS_S_COMPLETE, check minor_status Save output_buffer
input_bufferの設定=残りのp-iduバッファー上記の入力パラメーターでIDUP_Unprotect()を呼び出しますmajor_statusを確認します。 GSS_S_COMPLETEでない場合は、minor_statusを確認し、output_bufferを保存します。
Call IDUP_End_Unprotect() Check major_status. If not GSS_S_COMPLETE, check minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status, R_Services.Unprot_Service_2.General_Service_Data.minor_status, (as required) for more detailed information.
IDUP_End_Unprotect()を呼び出しますmajor_statusを確認します。 GSS_S_COMPLETEでない場合、minor_status、R_Services.Unprot_Service_1.General_Service_Data.minor_status、R_Services.Unprot_Service_2.General_Service_Data.minor_status(詳細)を確認してください。
Utilize R_Services.Unprot_Service_1/2.service_id, (to determine which services were applied by the originator) R_Services.Unprot_Service_1/2.Quality, (to determine the corresponding qualities of the service) Prot_Information.originator_name/protection_time and Prot_Information.Idu_Information.idu_type/idu_title, (from IDUP_Start_Unprotect) (to determine originator info.) R_Services.Unprot_Service_2.General_Service_Data.Target_Info. targ.names, (to determine if rec. is in "receipts from" (r)) Service_Verification_Info/service_verification_info_id (to determine if receiver is in "receipts to" list (L))
R_Services.Unprot_Service_1 / 2.service_id(オリジネーターによって適用されたサービスを判別するため)を利用しますR_Services.Unprot_Service_1 / 2.Quality(サービスの対応する品質を判別するため) idu_title、(IDUP_Start_Unprotectから)(発信者情報を判別するため)。R_Services.Unprot_Service_2.General_Service_Data.Target_Info。 targ.names、(rec。が「レシートから」にあるかどうかを判別する(r))Service_Verification_Info / service_verification_info_id(レシーバーが「レシート」リストにあるかどうかを判別する(L))
If receiver is in "receipts from" list (r) Save R_Services.Unprot_Service_2.service_to, R_Services.Unprot_Service_2.Service_Creation_Info
受信者が「受信元」リストにある場合(r)保存R_Services.Unprot_Service_2.service_to、R_Services.Unprot_Service_2.Service_Creation_Info
If receiver is in "receipts to" list (L) Save Service_Verification_Info, service_verification_info_id
受信者が「受信先」リストにある場合(L)保存Service_Verification_Info、service_verification_info_id
RECEIVER (ON "RECEIPTS FROM" LIST (r)): (procedure to generate receipt)
領収書(「領収書」リスト(r)上):(領収書を生成する手順)
Set env_handle = environment handle in use; Target_Info.targ_names = service_to Prot_Service_1.prot_service_type = "2"; Prot_Service_1.service_id = "PER_POD"; Prot_Service_1.Service_Creation_Info = Service_Creation_Info; P_Services.Prot_Service_1 = Prot_Service_1
Call IDUP_Start_Protect() with above input parameters Check major_status. If not GSS_S_COMPLETE, check minor_status, P_Services.Prot_Service_1.General_Service_Data.minor_status (as required) for more detailed information.
上記の入力パラメーターを使用してIDUP_Start_Protect()を呼び出します。major_statusを確認してください。 GSS_S_COMPLETEでない場合は、minor_status、P_Services.Prot_Service_1.General_Service_Data.minor_status(必要に応じて)で詳細を確認してください。
Send pidu_buffer to "receipts to" list (L)
pidu_bufferを「受信先」リストに送信(L)
RECEIVER (ON "RECEIPTS TO" LIST (L)): (procedure to process received receipt)
RECEIVER(ON "RECEIPTS TO" LIST(L)):(受信したレシートを処理する手順)
Set env_handle = environment handle in use; single_pidu_buffer = received p-idu buffer (if it fits in a single buffer; otherwise use partial_pidu_buffer and make multiple calls, as above)
env_handle =使用中の環境ハンドルを設定します。 single_pidu_buffer =受信したp-iduバッファー(単一のバッファーに収まる場合。それ以外の場合は上記のようにpartial_pidu_bufferを使用して複数の呼び出しを行う)
Call IDUP_Start_Unprotect() with above input parameters If major_status == IDUP_S_SERV_VERIF_INFO_NEEDED Utilize R_Services.Unprot_Service_1.service_verification_info.id (to assist in locating necessary Service_Verification_Info) Set R_Services.Unprot_Service_1.Service_Verification_Info = Service_Verification_Info Call IDUP_Start_Unprotect() with above input parameters Check major_status, minor_status, R_Services.Unprot_Service_1.General_Service_Data.minor_status (as required) for more detailed information.
上記の入力パラメーターを使用してIDUP_Start_Unprotect()を呼び出します。major_status == IDUP_S_SERV_VERIF_INFO_NEEDEDを使用します。詳細については、R_Services.Unprot_Service_1.General_Service_Data.minor_status(必要に応じて)をご覧ください。
Utilize R_Services.Unprot_Service_1.service_id, (to determine that this is a "proof of delivery" evidence) R_Services.Unprot_Service_1.Quality, Prot_Information.originator_name, (for evidence generator info.) major_status (to determine pass/fail status of evi. verif.).
R_Services.Unprot_Service_1.service_idを利用します(これが「配達証明」の証拠であることを確認します)R_Services.Unprot_Service_1.Quality、Prot_Information.originator_name、(証拠作成者情報用)major_status(evi.verifの合格/失敗ステータスを決定します) 。)。
Full Copyright Statement
完全な著作権表示
Copyright (C) The Internet Society (1998). All Rights Reserved.
Copyright(C)The Internet Society(1998)。全著作権所有。
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
このドキュメントとその翻訳はコピーして他のユーザーに提供することができ、コメントまたはその他の方法で説明したり、その実装を支援する二次的著作物は、いかなる種類の制限なしに、全体または一部を準備、コピー、公開、および配布することができますただし、上記の著作権表示とこの段落は、そのようなすべてのコピーと派生物に含まれています。ただし、このドキュメント自体は、著作権に関する通知を削除したり、インターネットソサエティや他のインターネット組織への参照を削除したりするなど、いかなる方法でも変更できません。ただし、インターネット標準を開発する目的で必要な場合は除きます。インターネット標準のプロセスに従うか、または必要に応じて、それを英語以外の言語に翻訳する必要があります。
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
上記で付与された制限付きのアクセス許可は永続的であり、インターネットソサエティまたはその後継者または譲受人によって取り消されることはありません。
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
このドキュメントとここに含まれる情報は「現状有姿」で提供され、インターネット社会およびインターネット技術タスクフォースは、明示または黙示を問わず、ここに記載されている情報の使用が保証するものに限定されないいかなる保証も含め、一切の保証を否認します。商品性または特定の目的への適合性に関する権利または黙示の保証を侵害すること。