Linuxで新しい電子署名ユーティリティを設定する方法





Linuxで国内のGOSTアルゴリズムを使用した電子署名(ES)の手段について少し話しましょう。 LinuxでESを操作するためのさまざまなツールとインターフェイスは、Windowsよりもさらに開発されているという事実にもかかわらず、それらの使用はそれほど簡単ではありません。



この状況は過去数年にわたって続いています。 しかし、2016年末以降、状況はさらに良くなりました。 コンソールを使用せずに、GOST標準に準拠した電子署名と暗号化を使用できる2つの製品が同時に登場しました。これらはRosa Crypto ToolとTrusted eSignです。 これらの暗号化製品は両方とも、Linux用のCryptoPro CSPを使用しています。 したがって、製品自体の説明に移る前に、「CryptoPro CSP」について少し話しましょう。



Linux用のCryptoPro CSPはあいまいな製品です。 一方では、WindowsとLinuxの両方で最も広く強力な認証済み暗号化ツールの1つです。 一方、普通の人にとっては、Windowsでもインターフェースを使用するのはそれほど簡単ではありません。 また、Linuxでは、コンソールインターフェイスのみが使用可能です。 CryptoPro企業がこの状況を認識しており、将来的にはWindowsとLinuxの両方に対応する新しい美しく便利なインターフェイスができることを願っています。



設定するには、次のものが必要です。





CryptoPro CSPセットアップ



Linux用のCryptoPro CSPの構成に関する優れた記事(たとえば、 hereまたはhere )があるにもかかわらず、 ここでバージョンについて説明します。 主な理由は、ほとんどの指示が「Crypto Pro CSP」バージョン3.x用に書かれているためです。 また、CryptoPro CSP 4.0の最新バージョンは、3.xと100%互換性がありません。 追加の理由は、1つの場所で完全なセットアップ手順を持ち、1つのウィンドウから別のウィンドウに切り替えないことは常に良いことです。



セットアップを始めましょう。



Linux用の「CryptoPro CSP」をCryptoProの公式Webサイトからダウンロードします-www.cryptopro.ru/downloads



Linux用の「CryptoPro CSP」を解凍します。



tar -zxf ./linux-amd64_deb.tgz
      
      





さらに、自動インストールと手動インストールの2つのオプションがあります。 次のコマンドにより自動インストールが開始されます。



 sudo ./install.sh
      
      





または



 sudo ./install_gui.sh
      
      





ここでは、「CryptoPro」の開発者に敬意を表する必要があります。ほとんどのディストリビューションの自動インストールは正常に完了します。 微妙な違いはありますが。 たとえば、十分なパッケージがない場合、インストールは正常に完了しますが、一部の機能は動作しません。



何かがうまくいかなかった場合、または何らかの理由でインストールを手動モードで使用したい場合は、以下を行う必要があります。



 dpkg -i ./cprocsp-curl-64_4.0.0-4_amd64.deb lsb-cprocsp-base_4.0.0-4_all.deb lsb-cprocsp-capilite-64_4.0.0-4_amd64.deb lsb-cprocsp-kc1-64_4.0.0-4_amd64.deb lsb-cprocsp-rdr-64_4.0.0-4_amd64.deb
      
      





ROSAにパッケージをインストールするには、 dpkg -iの代わりにurpmiを使用します



Linux用CryptoPro CSPのライセンスをインストールし、すべてが正常に機能することを確認します。



 cpconfig -license -set <_> cpconfig -license –view
      
      





次のようなものを取得する必要があります。



 License validity: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX Expires: 3 month(s) 2 day(s) License type: Server.
      
      





Rutoken EDS 2.0での作業のセットアップ



少し脱線しましょう。 電子署名と暗号化を使用するには、キーペアと証明書が必要です。 秘密キーの信頼できるストレージは、主要なセキュリティ要素の1つです。 そして、人類はまだトークンやスマートカードよりも信頼性の高いストレージ手段を考え出していない。 Rutoken EDS 2.0を使用します。これはFSBによって認定されており、新旧両方のGOSTでの作業をサポートします。







Linuxでトークンを操作するためのさまざまなツールとドライバーがたくさんあります。 これらのツールをすべて説明するには、別の記事が必要です。 したがって、これがどのように機能するのか、これらのパッケージが必要な理由については詳しく説明しません。



Rutoken EDS 2.0を使用するためのパッケージをインストールします。



 apt-get install libpcsclite1 pcscd libccid
      
      





トークンを使用した作業をサポートするには、CryptoPro CSPパッケージをインストールする必要もあります。



 dpkg -i ./cprocsp-rdr-gui-gtk-64_4.0.0-4_amd64.deb ./cprocsp-rdr-rutoken-64_4.0.0-4_amd64.deb ./cprocsp-rdr-pcsc-64_4.0.0-4_amd64.deb ./lsb-cprocsp-pkcs11-64_4.0.0-4_amd64.deb
      
      







テスト証明書を取得します



署名の操作に直接進む前に、キーペアを生成し、電子署名証明書を作成する必要があります。 既にCryptoProコンテナーを備えたRutokenがある場合は、この部分を安全にスキップできます。



アドレスhttps://www.cryptopro.ru/certsrv/でCryptoPro会社のテストCAを使用します。

デフォルト設定で証明書リクエストを作成します。







証明書が正常に受信されたことを確認します。



「CryptoPro CSP」がトークンを正常に認識したことを確認するために、次を実行します。



 list_pcsc
      
      





次のようなものを取得する必要があります。



 Aktiv Rutoken ECP 00 00
      
      





次に、トークン上の証明書が正常に表示されることを確認します。



 csptest -keyset -enum_cont -verifyc -fq
      
      





取得するもの:



 CSP (Type:80) v4.0.9014 KC1 Release Ver:4.0.9842 OS:Linux CPU:AMD64 FastCode:READY:AVX. AcquireContext: OK. HCRYPTPROV: 13476867 \\.\Aktiv Rutoken ECP 00 00\822506788-dfcd-54c9-3a5e-e0a82a2d7f0 OK. Total: SYS: 0,020 sec USR: 0,160 sec UTC: 0,870 sec [ErrorCode: 0x00000000]
      
      





この証明書に関する情報をCryptoPro証明書ストアに書き込みます。



 csptestf -absorb -cert -pattern 'rutoken' Match: SCARD\rutoken_ecp_351d6671\0A00\62AC OK. Total: SYS: 0,010 sec USR: 0,140 sec UTC: 1,040 sec [ErrorCode: 0x00000000]
      
      





証明書がストアに正常に保存されたことを確認します。



 certmgr -list -cert -store uMy Certmgr 1.0 (c) "CryptoPro", 2007-2010. program for managing certificates, CRLs and stores ============================================================================= 1------- Issuer : E=support@cryptopro.ru, C=RU, L=Moscow, O=CRYPTO-PRO LLC, CN=CRYPTO-PRO Test Center 2 Subject : CN=Trusted eSign Test Serial : 0x120019F5D4E16D75F520A0299B00000019F5D4 SHA1 Hash : 0x016f443df01187d5500aff311ece5ea199ff863e SubjKeyID : 204e94f63c68595e4c521357cf1d9279bff6f6e5 Signature Algorithm :   34.11/34.10-2001 PublicKey Algorithm :   34.10-2001 (512 bits) Not valid before : 22/02/2017 10:53:16 UTC Not valid after : 22/05/2017 11:03:16 UTC PrivateKey Link : Yes Container : SCARD\rutoken_ecp_351d6671\0A00\62AC Provider Name : Crypto-Pro GOST R 34.10-2012 KC1 CSP Provider Info : ProvType: 80, KeySpec: 1, Flags: 0x0 CA cert URL : http://testca.cryptopro.ru/CertEnroll/test-ca-2014_CRYPTO-PRO%20Test%20Center%202.crt OCSP URL : http://testca.cryptopro.ru/ocsp/ocsp.srf CDP : http://testca.cryptopro.ru/CertEnroll/CRYPTO-PRO%20Test%20Center%202.crl Extended Key Usage : 1.3.6.1.5.5.7.3.2 ============================================================================= [ErrorCode: 0x00000000]
      
      





これで基本的なセットアップが完了し、さまざまな手段を使用してファイルの署名または暗号化を開始できます。 この記事が考案された理由に戻ります。



CryptoPro CSPによる署名



CryptoPro CSPには、さまざまな暗号化操作を実行できるcsptestfユーティリティが含まれています。 上で書いたように、このユーティリティには2つの欠点があります。





次のコマンドを使用して署名できます。



 csptestf –sfsign –sign –in < > -out < > -my 'Trusted eSign Test' –detached –alg GOST94_256
      
      





ここに

my-署名用の証明書の共通名部分を指定する必要があるパラメーター。

分離-分離署名を作成できます。

alg GOST94_256-署名の作成時に使用されるハッシュアルゴリズムを設定します。



次のコマンドを実行すると、可能なパラメーターに関する詳細情報を取得できます。



 csptestf –sfsign
      
      





このようなインターフェイスは、トレーニングを受けたユーザーやスクリプトの操作の自動化に最適です。



Linuxの署名と暗号化を使用する際に、一般のユーザーの作業を楽にするユーティリティについて話しましょう。



Rosa暗号ツール



名前が示すように、これはROSA Linuxディストリビューション用の電子署名および暗号化ユーティリティです。 このユーティリティは現在、Rosa LinuxおよびAlt Linuxリポジトリで利用可能です。



このユーティリティは、ミハイルヴォズネセンスキーという1人によって開発されました。 シンプルだが便利なインターフェースを備えています。 現時点では、ユーティリティは活発に開発されています-2016年11月以来、3つのバージョンをテストすることができました。 執筆時点で利用可能な最新バージョンは0.2.2です。 現在、このユーティリティはLinux用CryptoPro CSPでの作業のみをサポートしていますが、近い将来、他の暗号化プロバイダーのサポートが追加される予定です。



中身は? このユーティリティは、グラフィカルインターフェイスにPyQt4を使用してPythonで記述されています。



Rosa Linuxの「プログラム管理」を使用してインストールできます。







トークンを挿入し、ユーティリティを実行します。







トークンが正常に決定され、証明書が見つかったことがわかります。



プログラムのインターフェースは非常に単純なので、記事ですべての機能を説明および表示することは意味がありません。 ファイルへの署名のみを試みます。



ファイルを選択し、「署名ファイル」をクリックします。 この警告が表示されます。







「OK」をクリックして、ファイルが正常に署名されたという情報を取得します。







このユーティリティの主な利点は、次の製品とは異なり、完全に無料であることです。



コンソールからCryptoPro CSPを使用する場合と比較して:



+桁違いに使いやすい。

-さまざまな署名オプションはありません。



プログラムのソースコードは、ABFの公開リポジトリで入手できます。

abf.io/uxteam/rosa-crypto-tool-devel

STC IT ROSAで使用されるバージョン管理システムは、アセンブリ環境に統合されており、Gitに基づいています。 どのgitクライアントも完全に使用できます。



Astra Linux、GosLinuxなど、他の国内Linuxディストリビューションの開発者が、rosa-crypto-toolを使用してパッケージをディストリビューションに追加することを願っています。



信頼できる電子署名



2番目に取り上げる製品は、Digital TechnologyのTrusted eSignです。 彼女は、ロシアの情報セキュリティ市場で、Windowsの署名と暗号化を扱うツール「CryptoARM」の開発者として知られています。



主なことは、この製品とTrusted.eSignを混同しないことです。Trusted.eSignは、同じ会社の署名を扱うためのWebサービスです。



Digital Technologiesのサイトで製品を見つけるのは簡単ではありません。 簡単な説明は、ストアhttp://www.cryptoarm.ru/shop/trusted_esignにあります。製品は、trusted.ruのダウンロードセンターセクションからもダウンロードできます-https : //trusted.ru/support/downloads/?product= 133



残念ながら、この製品は64ビットシステムのdebパッケージとしてのみ入手可能です。 この制限の理由は明らかではありません。 近い将来、同社がrpmパッケージと32ビットLinuxディストリビューションのバージョンをリリースすることを期待しましょう。



公式Webサイトからdebパッケージをダウンロードし、次のコマンドでインストールします。



 dpkg –i ./trustedesign-x64.deb
      
      





Trusted eSignを起動します。







開発者がいなければ開発ができなかったことはすぐに明らかです。 皮肉なし。 すべてのアクションは単純かつ論理的に行われ、見た目は目を楽しませます。 残念ながら、ロシアの開発者が提供する情報セキュリティの分野のツールとプログラムのほとんどは、UX専門家やデザイナーの関与なしに開発され、ユーザーを苦しめ、涙を流して泣かせています。 情報セキュリティの他の手段は単純にできないようです。 「デジタル技術」はこれに反論します。 美しさと便利さのための支払い-ライセンスの支払いの必要性。



しかし、署名に戻ります。



「電子署名」セクションを選択します。







「署名用証明書」を選択します。







署名するファイルを選択し、「署名」をクリックします。







フードの下には何がありますか? サイトから引用します。「アプリケーションは最新のElectronエンジンで作成され、OpenSSLライブラリは暗号化操作を呼び出すために使用されます。 CryptoPro CSP 4.0暗号化情報保護システムと互換性があり、それに実装されているすべての暗号化アルゴリズムをサポートします。」Electronをまだ知らない人のために、これはプラットフォームnode.jsでデスクトップアプリケーションを作成するためのフレームワークです。



Trusted eSignとRosa暗号ツールを比較します。



+より便利で美しいインターフェース

-有料ライセンス



まとめ



まとめると。 2016年後半から2017年初頭にかけて、Linuxの電子署名を扱う手段は大きく進歩しました。 情報セキュリティはユーザーに顔を向け始め、毎年、国内のアルゴリズムを使用してファイルに署名または暗号化するなどの単純なアクションに必要なアクションはますます少なくなっています。



州および地方自治体の組織でWindowsをLinuxに置き換える現在の傾向を考えると、このような国内製品の開発にさらに注目したいと思います。 この傾向の一部として、Linux用の暗号情報保護ツールの使用が重要になっています。 ロシアの開発者の優れた便利な製品は、州の組織や構造が正常に機能し、輸入代替要件を満たすのに役立ちます。



この開発は、特にLinuxで発生する場合に喜ばざるを得ません。



PS



確かに、かなりの数のユーザー、特にLinuxユーザーは、十分なコンソールユーティリティがあると考えています。 設計と利便性は情報セキュリティの過剰であると考える情報セキュリティの専門家も同様です。 しかし、私はそれらに同意することはできません。 コンソールユーティリティは間違いなく自動化に理想的です。 ただし、ほとんどのユーザーは、グラフィカルインターフェイスを使用する方が快適です。 Linuxでも。



All Articles