gdcmanon - クラウド上のオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド gdcmanon です。

プログラム:

NAME


gdcmanon - DICOM ファイルを匿名化するツール。

SYNOPSIS


gdcmanon [オプション] ファイルイン ファイルアウト
gdcmanon [オプション] dir-in dir-out

DESCRIPTION


  グドクマノン ツールは PS 3.15 / E.1 / Basic Application Level の実装です
機密性プロファイル (E.1.1 匿名化および E.1.2 再識別の実装)

このツールは XNUMX つのまったく異なる動作モードに分かれています。

· PS 3.15 の実装。-e フラグと -d フラグを参照

· ダムモード。-dumb を参照

ダム モードと PS 3.15 はうまく連携しません。実際には XNUMX 種類のモードのみを使用する必要があります。
匿名化。 疑わしい場合は、-dumb の使用を避けてください。

PS 3.15 実装 (-d および -e フラグ) を使用するには、次のことを行うための証明書が必要です。
匿名化操作、および再識別を行うための関連秘密鍵
手術。 ワンショットの匿名化のみを行っており、適切に匿名化する必要がない場合
DICOM ファイルを再識別すると、秘密キーを安全に破棄し、DICOM ファイルのみを保持できます。
証明書。 プライベートの生成方法の例については、以下の OpenSSL の参照セクションを参照してください。
キーと証明書のペア。

OpenSSL が設定されていない、またはライブラリに適切に組み込まれていない場合、gdcmanon は早期に終了します。
(cmake の GDCM_USE_SYSTEM_OPENSSL を参照)。

パラメーター


file-in DICOM 入力ファイル名

file-out DICOM 出力ファイル名

or

ファイルイン DICOM 入力ディレクトリ

file-out DICOM 出力ディレクトリ

OPTIONS


次のリストから少なくとも XNUMX つの動作モードを指定する必要があります (XNUMX つだけ)。

必須 パラメータ
-e --de-identify DICOM の識別を解除します (デフォルト)
-d --re-identify DICOM を再識別します
--dumb ダムモードアノニマイザー

ダム モードで動作する場合の警告。実行する操作も指定する必要があります。
タグを「削除」または「空」にします。以下のダム モード オプションを参照してください。

特定の オプション
-i --input DICOM ファイル名/ディレクトリ
-o --output DICOM ファイル名 / ディレクトリ
-r --recursive (サブ) ディレクトリを再帰的に処理します。
-- continue 見つかったファイルが DICOM でない場合でも停止しません。
--root-uidルートUID。
--resources-path リソースのパス。
-k --key RSA 秘密キーへのパス。
-c --certificate 証明書へのパス。

暗号化 オプション
--デスDES。
--des3 トリプル DES。
--aes128 AES 128。
--aes192 AES 192。
--aes256 AES 256。

ダム モード オプション
--empty %d、%d 個の DICOM タグを空にします
--remove %d,%d 個の DICOM タグを削除します
--replace %d,%d,%s 置換する DICOM タグ

一般的な オプション
-h --ヘルプ
このヘルプテキストを印刷して終了します

-v --バージョン
バージョン情報を印刷して終了します

-V --冗長
詳細モード(警告+エラー)。

-W--警告
警告モード、警告情報を出力

-E--エラー
エラーモード、エラー情報の印刷

-D --デバッグ
デバッグモード、デバッグ情報の出力

環境 変数
GDCM_ROOT_UIDルートUID
GDCM_RESOURCES_PATH リソース ファイル (Part3.xml など) を指すパス

典型的な USAGE


匿名化 (匿名化、 暗号化します)
この操作に必要なのは、証明書ファイル (PEM 形式) だけです。

$ gdcmanon --certificatecertificate.pem -eoriginal.dcmoriginal_anonymized.dcm

gdcmdump の –asn1 オプションを使用して、生成された DataSet を ASN1 構造としてダンプできます。
(参照してください gdcmdump(1) たとえば)。

再識別 (匿名化解除、復号化)
この操作に必要なのは、秘密キー (PEM 形式) だけです。 それは
再識別プロセスに使用される秘密キーが実際のものであることが必要です。
証明書ファイル (certificate.pem) の生成に使用される秘密キー。
匿名化ステップ。

$ gdcmanon --key privatekey.pem -doriginal_anonymized.dcmoriginal_copy.dcm

その後、original.dcm とoriginal_copy.dcm が同一であることを確認できます。

複数 ファイル 警告
以上のものを匿名化する場合は、次の参照を理解することが非常に重要です。
単一のファイル。 複数の DICOM ファイルを匿名化する場合は、
ディレクトリ入力。 gdcmanon コマンド ライン ツールを複数回呼び出すことはできません。 確かに、
ツールはプロセス中に変換のハッシュ テーブルのみをメモリに保存するため、毎回
特定の値が見つかると、常に同じ匿名化された値に置き換えられます (次のように考えてください)。
一貫したシリーズ インスタンス UID)。

ダム モード
この機能は DICOM 標準には記述されていません。 ユーザーは不適切であることを警告します
このモードの使用は推奨されません。つまり、重要なタグが削除される可能性があります。
空/削除/置換の結果、違法/無効な DICOM ファイルが生成されました。 わかっている場合にのみ使用してください
何をしているの。 タイプ 1 属性を削除すると、DICOM ファイルが
ほとんどの DICOM サードパーティ ビューアでは受け入れられません。 残念ながら、これは多くの場合このモードです
一般的な DICOM Viewer に実装されており、常に DICOM 標準を優先します。
を説明し、ダムモードを回避します。

次の例は、ダム モードを使用して 5 つの操作を同時に実現する方法を示しています。
時間:

· タグ (0010,0010) 患者名を空にします。

· タグ (0010,0020) 患者 ID を空にします。

· タグ (0010,0040) 患者の性別を削除します。

· 患者の年齢のタグ (0010,1010) を削除します。

· タグ (0010,1030) 患者の体重を値「10」に置き換えます。

試行する前に、どの DICOM 属性がタイプ 1 とタイプ 1C であるかを確認する必要があります。
'空の' or '取り除く' 特定の DICOM 属性。 同じ理由で、次のことを行う必要があります。
置換操作で有効な値を確認してください。

$ gdcmanon --dumb --empty 10,10 --empty 10,20 --remove 10,40 --remove 10,1010 --replace 10,1030,10 012345.002.050.dcm out.dcm

–dumb モードの複数の操作を実行できます。前の出力を再利用するだけです。
手術。 実際の内容を確認するには、常に入力ファイルと出力ファイルで gdcmdump を使用してください。
達成。 diff プログラムを使用すると、変更された内容のみを確認できます (「 gdcmdiff(1)
例)。

不可逆 匿名化
非常にまれなケースですが、PS 3.15 モードを使用して匿名化したい場合があります。
患者を含む可能性のあるすべてのコンテンツの自動変換を利用します。
関連情報。

最終的に、患者関連の情報はすべて削除され、秘密裏に保管されました。
0400,0500 DICOM 属性に格納されます。 ただし、誰もそのようなことを試みないようにするため、
ブルートフォースアルゴリズムを使用してセキュリティを破り、完全に削除したい場合
この DICOM 属性。 これにより、DICOM は次のようになります。

· 患者関連情報は一切含まれません (PS 3.15 仕様による)

· ファイルをブルートフォース攻撃して身元を突き止める手段を排除します。
患者の

この場合、最初のステップとして可逆アノニマイザを実行するだけで済みます。

$ gdcmanon -c 証明書.pem input.dcm anonymized_reversible.dcm

そして今度は、秘密に暗号化されたデータを含む DICOM 属性を完全に削除します。
患者関連情報:

$ gdcmanon --dumb --remove 400,500 --remove 12,62 --remove 12,63 anonymized_reversible.dcm anonymized_irreversible.dcm

OPENSSL


ほとんどのシステムでは、OpenSSL にアクセスして秘密キー/証明書を生成できます。
ペア。

生成 a プライベート キー
rsa キー (512 ビット) を生成するコマンド ライン

$ openssl genrsa -out CA_key.pem

rsa キー (2048 ビット) を生成するコマンド ライン

$ openssl genrsa -out CA_key.pem 2048

rsa キー (2048 ビット) + パスフレーズを生成するコマンド ライン

$ openssl genrsa -des3 -out CA_key.pem 2048

生成 a 認証
以前に生成した秘密キーから、PEM (DER) で証明書を生成できるようになりました。
形式は現在サポートされていません)。

$ openssl req -new -key CA_key.pem -x509 -days 365 -out CA_cert.cer

DICOM STANDARD:


DICOM 標準へのページ:

http://dicom.nema.org/

gdcmanon リリース時の DICOM 標準は次のとおりです。

ftp://medical.nema.org/medical/dicom/2008/

PS 3.15-2008 への直接リンク:

ftp://medical.nema.org/medical/dicom/2008/08_15pu.pdf

警告


特定の属性には、保護された健康情報 (PHI) が含まれている場合があります。
匿名化ステップ。 これは通常、患者の住所 (0010,1040) の場合に当てはまります。 の
その理由は、この特定の属性が複合 IOD に含まれることは想定されていないためです。
最初の場所。 DICOM Supp 142 にはこれが含まれています (ただし、gdcmanon はそれを実装していません)。

onworks.net サービスを使用してオンラインで gdcmanon を使用する



最新のLinuxおよびWindowsオンラインプログラム