From 848a210b7eafdb3b3807ef01d3cdbb68fef56c39 Mon Sep 17 00:00:00 2001 From: kubodera_yuichi Date: Mon, 21 Dec 2009 13:09:19 +0000 Subject: [PATCH] =?UTF-8?q?=E3=82=A8=E3=83=A9=E3=83=BC=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E4=B8=80=E8=A6=A7=20:=20HSM,=20NFKM=E3=82=92=E4=BB=98?= =?UTF-8?q?=E3=81=91=E3=81=A6=E6=98=8E=E7=A2=BA=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-09-30%20-%20paladin.7z/paladin/ctr_eFuse@8 ff987cc8-cf2f-4642-8568-d52cce064691 --- cr_generate_id.h | 84 ++++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 39 deletions(-) diff --git a/cr_generate_id.h b/cr_generate_id.h index 29bc020..ed56b8c 100644 --- a/cr_generate_id.h +++ b/cr_generate_id.h @@ -137,59 +137,55 @@ #define CR_GENID_ERROR_ERR_BUF_SIZE (-20) #define CR_GENID_ERROR_PRIVKEY_SCRAMBLE (-21) +//--------------------------------------------------- // HSM処理に伴う追加コード +//--------------------------------------------------- // NFastAppライブラリ? : 20 -#define CR_GENID_ERROR_ACCESS_DENIED // Status_AccessDenied = 5, : 処理と鍵のACLの不一致に伴うエラー -#define CR_GENID_ERROR_BAD_KEYHASH // Status_BadCertKeyHash = 9, : 証明書のハッシュが正しくない -#define CR_GENID_ERROR_BAD_SIGN // Status_BadCertSignature = 10, : 証明書の署名が正しくない -#define CR_GENID_ERROR_SIGN_VERIFY // Status_VerifyFailed = 11, : 署名の検証に失敗した場合 -> OpenSSLで行うから不要? -#define CR_GENID_ERROR_NO_MEMORY // Status_NoMemory = 15, : (HSMの)メモリを使い果たした -> SEE使うわけではないので不要かも -#define CR_GENID_ERROR_KEY_TYPE // Status_BlobTypeUnknown = 19, : kmdataを認識出来ない -> HDDの不具合で発生しうる? -#define CR_GENID_ERROR_BUFFER_FULL // Status_BufferFull = 20, : 固定長バッファを使い果たした -> 引数のバッファの話か? -#define CR_GENID_ERROR_HSM_RESET // Status_UnitReset = 21, : コマンド処理中にHSMリセット発生 -> 異常系 -#define CR_GENID_ERROR_STATUS_INVALID // Status_InvalidState = 25, : モジュール、あるいはAPIのレベル(e.g. Fips)がリクエストされたコマンドを実行できる状態にない -#define CR_GENID_ERROR_KEY_NOT_FOUND // Status_UnknownKM = 28, : HSMキーが見付からない -#define CR_GENID_ERROR_HSM_DEC // Status_DecryptFailed = 31, : 復号化に失敗した -#define CR_GENID_ERROR_KEY_HASH // Status_UnknownKeyHash = 37, : 鍵のハッシュとモジュール内のハッシュが一致しない -> 改竄 or HDD関連異常 -#define CR_GENID_ERROR_HSM_ENC // Status_EncryptFailed = 44, : 暗号化に失敗した +#define CR_GENID_ERROR_HSM_BAD_CERTKEYHASH // Status_BadCertKeyHash = 9, : 証明書のハッシュが正しくない +#define CR_GENID_ERROR_HSM_BAD_CERTSIGN // Status_BadCertSignature = 10, : 証明書の署名が正しくない +#define CR_GENID_ERROR_HSM_CERTVERIFY_FAILED // Status_VerifyFailed = 11, : 署名の検証に失敗した場合 -> OpenSSLで行うから不要? +#define CR_GENID_ERROR_HSM_LOAD_BLOB_FAILED // Status_BlobTypeUnknown = 19, : kmdataを認識出来ない -> HDDの不具合で発生しうる? +#define CR_GENID_ERROR_HSM_BUFFER_FULL // Status_BufferFull = 20, : 固定長バッファを使い果たした -> 引数のバッファの話か? +#define CR_GENID_ERROR_HSM_RESET_NOW // Status_UnitReset = 21, : コマンド処理中にHSMリセット発生 -> 異常系 -#define CR_GENID_ERROR_HSM_FAILED // Status_HardwareFailed = 55, : HSMハードエラー -#define CR_GENID_ERROR_SERVER_STOPPED // Status_ServerNotRunning = 56, : サーバが動作していない -#define CR_GENID_ERROR_OS_ERROR // Status_OSErrorErrno = 57, : OSがHSMとプログラムの通信を遂行できない -#define CR_GENID_ERROR_CONNECTION_LOST // Status_ServerConnectionLost = 60, : HSMと通信するためのサーバとの接続が切れた。エラーが多発すると発生するとのこと -#define CR_GENID_ERROR_HSM_CANCELLED // Status_Cancelled = 64, : HSMの障害・リセットが起きそうなため、コマンド発行がキャンセルされた -> HSMの故障? -#define CR_GENID_ERROR_BIGNUMOP_STACK_OVERFLOW // Status_OpStackOverflow = 67, : Bignum操作コマンドよりスタックのエントリ数を超えるPushを行おうとした -#define CR_GENID_ERROR_BIGNUMOP_STACK_UNDERFLOW // Status_OpStackUnderflow = 68, : Bignum操作コマンドより空スタックからPopを行おうとした -#define CR_GENID_ERROR_BIGNUMOP_NEGATIVE // Status_NegativeResult = 69,: Bignum操作コマンドの結果に負の値があった(かつ、AllowNegtiveフラグがセットされていなかった) +#define CR_GENID_ERROR_HSM_KEY_NOT_FOUND // Status_UnknownKM = 28, : HSMキーが見付からない +#define CR_GENID_ERROR_HSM_DECRYPT_FAILED // Status_DecryptFailed = 31, : 復号化に失敗した +#define CR_GENID_ERROR_HSM_CONFILICT_KEYHASH // Status_UnknownKeyHash = 37, : 鍵のハッシュとモジュール内のハッシュが一致しない -> 改竄 or HDD関連異常 +#define CR_GENID_ERROR_HSM_ENCRYCT_FAILED // Status_EncryptFailed = 44, : 暗号化に失敗した -// netHSM 関連か? : 4 -#define CR_GENID_ERROR_SOFTWARE_FAILED // Status_SoftwareFailed = 80, : ホストソフトウェアで起きたエラー -> netHSM関連? -#define CR_GENID_ERROR_NO_HOST_MEMORY // Status_NoHostMemory = 81, : ホストメモリを使い果たした -> netHSM関連? -#define CR_GENID_ERROR_NO_MODULE_MEMORY // Status_NoModuleMemory = 82, : HSMメモリを使い果たした -> netHSM関連? -#define CR_GENID_ERROR_OPERATION_FAILED // Status_OperationFailed = 84, : nCipherサーバで不正な操作が発行された -> netHSM関連? -#define CR_GENID_ERROR_NC_ERR // Status_nCErrno = 93, : OSエラー -> netHSMのOSのエラーか? +#define CR_GENID_ERROR_HSM_HARD_FAILED // Status_HardwareFailed = 55, : HSMハードエラー +#define CR_GENID_ERROR_HSM_SERVER_STOPPED // Status_ServerNotRunning = 56, : サーバが動作していない +#define CR_GENID_ERROR_HSM_OS_ERROR // Status_OSErrorErrno = 57, : OSがHSMとプログラムの通信を遂行できない +#define CR_GENID_ERROR_HSM_CONNECTION_LOST // Status_ServerConnectionLost = 60, : HSMと通信するためのサーバとの接続が切れた。エラーが多発すると発生するとのこと +#define CR_GENID_ERROR_HSM_COMMAND_CANCELLED // Status_Cancelled = 64, : HSMの障害・リセットが起きそうなため、コマンド発行がキャンセルされた -> HSMの故障? +#define CR_GENID_ERROR_HSM_BIGNUMOP_STACK_OVERFLOW // Status_OpStackOverflow = 67, : Bignum操作コマンドよりスタックのエントリ数を超えるPushを行おうとした +#define CR_GENID_ERROR_HSM_BIGNUMOP_STACK_UNDERFLOW // Status_OpStackUnderflow = 68, : Bignum操作コマンドより空スタックからPopを行おうとした +#define CR_GENID_ERROR_HSM_BIGNUMOP_NEGATIVE // Status_NegativeResult = 69,: Bignum操作コマンドの結果に負の値があった(かつ、AllowNegtiveフラグがセットされていなかった) +#define CR_GENID_ERROR_HSM_TIMEOUT_OPERATION // Status_OperationTimeout = 106, : モジュールに設定されているtimelimit以内にコマンドが完了しなかった -> key の time limit とはまた別? +#define CR_GENID_ERROR_HSM_UNKNOWN_KEY // Status_UnknownKey = 130, : 鍵がモジュール内で見付からなかった -// NFKMライブラリ? : 7 -#define CR_GENID_ERROR_NO_PERMID // Status_UnknownPermID = 104, : 割り当てられていないPermID -> PermIDとは? -#define CR_GENID_ERROR_OP_TIMEOUT // Status_OperationTimeout : モジュールに設定されているtimelimit以内にコマンドが完了しなかった -> key の time limit とはまた別? -#define CR_GENID_ERROR_UNKNOWN_KEY // Status_UnknownKey = 130, : 鍵がモジュール内で見付からなかった -#define CR_GENID_ERROR_KEY_LOAD // Status_KeyNotLoaded = 132, : リクエストされた鍵が見付からなかった(NFKMライブラリ) -#define CR_GENID_ERROR_HSM_NOUSABLE // Status_NoUsableModules = 135, : 利用可能なモジュールが存在しない(NFKMライブラリ) -#define CR_GENID_ERROR_WORLD_UNUSABLE // Status_WorldUnusable = 137, : 現在のセキュリティワールドが使用不可である。(NFKMライブラリ) -#define CR_GENID_ERROR_USELIMIT_UNAVAILABLE // Status_UseLimitsUnavailable = 141, : 鍵が適切なUSE LIMITを持っていない -#define CR_GENID_ERROR_MODULE_UNUSABLE // Status_ModuleNotUsable = 144, : モジュールが利用不可である。(NFKMライブラリ) +// NFKMライブラリ? : 6 +#define CR_GENID_ERROR_NFKM_NOTFOUND_KEY // Status_KeyNotLoaded = 132, : リクエストされた鍵が見付からなかった(NFKMライブラリ) +#define CR_GENID_ERROR_NFKM_NOUSABLE_MODULE // Status_NoUsableModules = 135, : 利用可能なモジュールが存在しない(NFKMライブラリ) +#define CR_GENID_ERROR_NFKM_NOUSABLE_WORLD // Status_WorldUnusable = 137, : 現在のセキュリティワールドが使用不可である。(NFKMライブラリ) +#define CR_GENID_ERROR_NFKM_UNAVAILABLE_USELIMIT // Status_UseLimitsUnavailable = 141, : 鍵が適切なUSE LIMITを持っていない +#define CR_GENID_ERROR_NFKM_UNUSABLE_MODULE // Status_ModuleNotUsable = 144, : モジュールが利用不可である。(NFKMライブラリ) + +// その他? : 1 +#define CR_GENID_ERROR_HSM_REPLY_MISMATCH // Status_CommandReplyMismatch = 238, : reply が command と一致しない。 +//--------------------------------------------------- -// その他? : 2 -#define CR_GENID_ERROR_REPLY_MISMATCH // Status_CommandReplyMismatch = 238, : reply が command と一致しない。 -#define CR_GENID_ERROR_TIME_OUTOFRANGE // Status_TimeOutOfRange = 283, : Time が time_tの値の範囲を超えた -> 何の Time? // 現在大好評発生中であるが、将来的には出ない(ようにする)と思われるもの #if 0 +#define CR_GENID_ERROR_ACCESS_DENIED // Status_AccessDenied = 5, : 処理と鍵のACLの不一致に伴うエラー #define CR_GENID_ERROR_USE_LIMIT // Status_UseLimitExceeded = 7, : ACLに定められた使用回数を超えた場合 #define CR_GENID_ERROR_TIME_LIMIT // Status_TimeLimitExceeded = 8, : 処理を行うまでのタイムリミット(これもACL) #define CR_GENID_ERROR_BAD_TOKEN // Status_BadTokenData = 14, : カード、NVRAM、またはRTCの値が不正 -> RTC は一度値をセットすれば電池切れまで大丈夫、なはず +#define CR_GENID_ERROR_NO_MEMORY // Status_NoMemory = 15, : (HSMの)メモリを使い果たした? -> SEE使うわけではないので不要かも #define CR_GENID_ERROR_NOT_SUPPORT // Status_UnknownParameter = 17, Status_UnknownFlag = 18, Status_UnknownMechanism = 39, : コマンドまたはフラグ、メカニズム(暗号アルゴリズムなど)をサポートしていない、ECC系で出る? #define CR_GENID_ERROR_PARAM_INVALID // Status_InvalidParameter = 24, : 矛盾したパラメータ設定 +#define CR_GENID_ERROR_STATUS_INVALID // Status_InvalidState = 25, : モジュール、あるいはAPIのレベル(e.g. Fips)がリクエストされたコマンドを実行できる状態にない #define CR_GENID_ERROR_TOKEN_ASSEMBLE // Status_TokenAssemblyFailed = 27, : トークンの再構築に失敗した -> セットアップの時のみ? #define CR_GENID_ERROR_PRAM_OUTOFRANGE // Status_OutOfRange = 34, : パラメータが範囲外 #define CR_GENID_ERROR_PRIVILEGED_COMMAND // Status_PrivilegedCommand = 35, : 非特権接続において特権コマンドを発行 -> 本プログラムでは発生するようなコマンドはない(はず) @@ -201,12 +197,22 @@ #define CR_GENID_ERROR_CHANNEL_TYPE // Status_UnsupportedChannelType = 65, : オープンしようとしたチャンネルのタイプをサポートしてない -> 今はチャンネルを使っていないが、今後使う可能性あり? #define CR_GENID_ERROR_BIGNUMOP_ARITHMETIC // Status_ArithmeticError = 66, : Bignum操作コマンドで 0 で割るような不正な計算を行おうとした #define CR_GENID_ERROR_BIGNUMOP_NOUPCALL // Status_NoUpcall = 72, : Bignum操作が必要なコマンドが呼ばれたとき、Bignum操作関数が登録されていなかった -> NFastApp_SetBignumUpcalls() が必要 + +// netHSM 関連か? : 4 +#define CR_GENID_ERROR_SOFTWARE_FAILED // Status_SoftwareFailed = 80, : ホストソフトウェアで起きたエラー -> netHSM関連? +#define CR_GENID_ERROR_NO_HOST_MEMORY // Status_NoHostMemory = 81, : ホストメモリを使い果たした -> netHSM関連? +#define CR_GENID_ERROR_NO_MODULE_MEMORY // Status_NoModuleMemory = 82, : HSMメモリを使い果たした -> netHSM関連? +#define CR_GENID_ERROR_OPERATION_FAILED // Status_OperationFailed = 84, : nCipherサーバで不正な操作が発行された -> netHSM関連? +#define CR_GENID_ERROR_NC_ERR // Status_nCErrno = 93, : OSエラー -> netHSMのOSのエラーか? + +#define CR_GENID_ERROR_NFKM_NO_PERMID // Status_UnknownPermID = 104, : 割り当てられていないPermID -> PermIDとは?(NFKMライブラリ?) #define CR_GENID_ERROR_MANY_LINKS // Status_TooManyLinks = 140, : Blobを読み込もうとしたとき、モジュールの許可する以上(5)の多くのエイリアスが存在した(NFKMライブラリ) #define CR_GENID_ERROR_HSM_BUSY // Status_Busy = 142, : モジュールが処理中である。 -> これは発生しない?(はず)#define CR_GENID_ERROR_STRICT_FIPS // Status_StrictFIPSSecurityLevel = 275, : strict FIPSモードで許可されていない処理を行った #define CR_GENID_ERROR_CONFLICT_PARAM // Status_ConflictingParameters = 239, : パラメータが衝突している。(データベース?) #define CR_GENID_ERROR_DATA_MISMATCH // Status_DataMismatch = 240, : データベース?のデータが予期していたデータとマッチしない。 #define CR_GENID_ERROR_KEY_NOACTIVE // Status_NoActiveKey = 242, : 鍵を鍵束からロードしようとしたが、その鍵束は現在ハンドリングされていないものである。 #define CR_GENID_ERROR_NOGROUP_PERM // Status_NoGroupPermission = 244, : エンドポイント?が鍵をフェッチしようとしたが、適切なグループパーミッションが見付からなかった +#define CR_GENID_ERROR_OTHER_TIME_OUTOFRANGE // Status_TimeOutOfRange = 283, : Time が time_tの値の範囲を超えた -> 何の Time?RTCの値か? #define CR_GENID_ERROR_STATUS_MAX // Status__Max = 288 : HSM のエラーコードの最大値 #endif