問題タブ [key-management]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
encryption - 公開されている PKCS#12 の拡張機能はありますか?
PKCS#12は、秘密鍵と対応する X.509 証明書を標準化された単一のファイル形式にまとめるための便利な方法です。ただし、この仕様は 1999 年に RSALabs によって公開され、対称暗号化に RC4、RC2、および TripleDES のみを使用しています。より多くの暗号化アルゴリズムやその他のキー導出関数を追加する、スキームに対する一般的な準標準拡張機能はありますか? OpenSSLは AES と Camellia のサポートを実装するように文書化されていますが、対応する標準を検索すると空白になるため、これは OpenSSL 固有の実装のようです。これらの拡張機能の ASN.1 モジュールと疑似コードを文書化した人はいますか?
java - DUKPT または ANSI X9.24 を実装するオープンソース ライブラリはありますか
私は、DUKPT プロトコル/スキーム/アルゴリズムを使用して、デバイスに対して復号化機能を実装する任務を負っています。
暗号化アルゴリズム自体は、使いやすく、優れたライブラリ サポート (JCE、BouncyCastle) を備えた DESede です。
問題は DUKPT 部分です。Base Derivation Key (共有シークレット)、キーのシリアル番号、および暗号文を持っていますが、次に何をすべきかわかりません。
可能な限り、独自の実装を作成したくありません。代わりに、十分にテストされたライブラリを使用したいと考えています。
そのようなものはありますか?
注: DUKPT = トランザクションごとの派生一意キー
encryption - 患者データを暗号化する
AES_ENCRYPT()とAES_DECRYPTを使用して患者データをEMRシステムに保存しようとしていますが、キーを保存する方法を考えていました。患者の記録に保存されているデータを復号化して読み取るには、許可されたユーザーがそのキーにアクセスできるようにする必要があります。キーを多くのユーザーと簡単に共有しながら、そのキーを安全に保つにはどうすればよいですか。任意の考えや例をいただければ幸いです。
c - キー値を使用してキー チェック値を計算する
C言語でプログラミングしています。たとえば、 TMK1 = 32byte hex value TMK2 = 32 byte hex value のようなコンポーネントで TMK (ターミナルマスターキー) が与えられました。これら 2 つのキー値を使用してキー チェック値を計算する必要があります。これを達成するためにDESアルゴリズムが使用されていることは知っていますが、完全な手順はわかりません。これを行うためのサンプル プログラムを提供してください。
私はそれを次のように試しています:
1.KVを取る: XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY
2.各部分が 64 ビット長の左右の部分に分割します。 左 = XXXX XXXX XXXX XXXX 右 = YYYY YYYY YYYY YYYY
3. 64 ビット バッファをゼロで初期化します。このバッファを結果と呼びます。
4.DES 暗号化結果を左に。
5.DES 復号化結果を右に。
6.左側の DES 暗号化結果
プラットフォーム:Linux、C言語
python - PEM + PKCS#1 形式の RSA 公開鍵を読み取る方法
PEM 形式の RSA 公開鍵 + PKCS#1 を持っています (推測):
Python で ASN1 エンコード バージョンの SHA1 ダイジェストを取得したいと考えています。最初のステップはこのキーを読み取ることですが、私は PyCrypto でそれを行うことができませんでした:
PyCryptoのドキュメントには、PEM + PKCS#1 がサポートされていると記載されているため、混乱しています。M2Crypto も試してみましたが、M2Crypto は PKCS#1 をサポートせず、X.509 のみをサポートしていることがわかりました。
security - データベースに保存されているデータの暗号化に使用される暗号化キーを自動的にローテーションするWebアプリケーションの開発
各Webサーバーがワークグループに属するWebファームで実行されるASP.NETMVC3アプリケーションがあると仮定します(共有アカウントを持つドメインに割り当てます)。Webファームも自動スケーラブルです。つまり、インスタンスの数は負荷に依存します。機密データは、データベースに保存/データベースから取得されるときに暗号化および復号化されます。対称キーと非対称キーは各マシンに保存され、ACLで保護され、DAPIを使用して暗号化されます(マシンキーを使用)。
コンプライアンスとセキュリティ上の理由から、キーは定期的にローテーションする必要があります。システムをオフラインにすることなく、一定の間隔でキーを自動的に回転させるようにシステムをどのように設計/変更しますか?キーを使用して暗号化された任意の数の列を持つ任意の数のテーブルがあると想定します。
多くのQ&Aは、使用するアルゴリズムとキーの保護方法に関連していますが、特にデータベースを共有する動的環境(自動スケーリング環境)で、これらのキーをローテーションできるようにするアプリケーションを設計および実装する方法を実際に扱っているものはほとんどありません。
encryption - 暗号化キーをパーツに分割するにはどうすればよいですか?
128 ビットの暗号化キーを 3 つの部分に分割して、XOR を組み合わせてキーを再現したいと考えています。
どうすればいいですか?
encryption - Bouncy Castle の空の PGPKeyRing または PGPKeyRingCollection
Bouncy Castle で空の PGPKeyRing または PGPKeyRingCollection を作成する方法は?
java - Java Encrypter のキー処理
私のJavaベースのWebアプリでは、DBに書き込まれる前にデータを暗号化し、メモリにロードされたら復号化したいと考えています。そのために、bouncycastle API を使用して、次のようなクラスを作成しました。
ここまではとても良いです (私はそう思います。このクラスについて何かコメントがあればどうぞ)。このクラスを初期化するには、キーを提供する必要があります。私の質問は、このキーをどのように管理すればよいですか?
もう少し詳しく言うと:
- 特定の技法を使用して作成する必要がありますか?
- どこに保管すればよいですか?プロパティファイルで?DBで?私のコードのどこかに?
- このキー (ここでは文字列について話していますよね?) を暗号化し、ロードまたは使用後に復号化する必要がありますか? もしそうなら、どうすればいいですか?
key-management - オープンソースの鍵管理ソリューション
PCI に準拠するためにキー管理ソリューションを研究しています。私はアリーナで多くのベンダーと話をしましたが、彼らの製品は気に入っていますが、コストは私の予算を超えています. キー管理のためのオープンソースまたは低コストのソリューションを知っている人はいますか? 私は Windows/.NET 環境を使用しているので、その環境を対象としたソリューションを希望しますが、そこにあるものすべてについて聞くことに興味があります。
ありがとう