実際の非対称暗号化

こんにちは、ハブラヴチャン!



セキュリティに関する懸念は、私たちのほとんどにとって弱点です。 私たち全員が衝突するのは不快であり、マウスの偶発的なクリックによって貴重なものを失うことはずっと少なくなります。 それが、私が見つけた資料をあなたと共有することにした理由です。



最もよく寄せられる質問を払拭するために、なぜ彼らは私を攻撃するのですか? 誰が必要ですか? -私たちは彼と一緒に記事を始めます。



人だけがあなたを攻撃できるわけではないことに留意してください。 これは、たとえばボットによって実行できます。

私たちはそれぞれインターネットプロバイダーに接続されています。 そして、彼に対して、ほとんどの場合、攻撃は文字通り毎日発生します。 メールのスパムセクションに気づきましたか? そのような各電子メールには、フィッシング攻撃が潜在的にあります。 この攻撃は個人的なものではありません。 これは、広範囲の顔を対象とした大規模な攻撃です。 私たちは潜在的な犠牲者です。



多くの場合、彼らの目標はお金です。 彼らはどうやってそれらを手に入れることができますか?



たとえば、コンピューターをWebサーバーとして使用し、コンテンツを盗み、電子メール攻撃、ボットネットアクティビティ、アカウント盗難、恐ex攻撃を実行します。 はい、電子メールアカウントは潜在的に重要なものです。私たちは皆、いくつかのサービスで同じパスワードを使用することが多いためです。



時間は高価であり、セキュリティ関連の問題に費やす時間をできる限り少なくしたいと考えています。



そのため、最初に行うことは、いくつかの質問に答えることです。





たとえば、ラップトップの盗難。 はい、痛くて悲しいです。 しかし、これはどのようにあなたを脅かすことができますか?

これは、ソーシャルネットワークに入るためのデータの損失である可能性があります。 これは、作業中に取得した機密情報である可能性があります。 または、個人の写真かもしれません。



さて、保護する必要があるものを決定しました。 次のステップは、保護方法を選択することです。



はい、もちろん、世界には多くの攻撃があり、誰からも自分を守ることはまったく不可能です。

したがって、最も効果的なツールの1つである暗号化を検討します。



暗号化とは何ですか?



セキュリティの分野で正しい選択をするには、暗号化とは何かを理解する必要があります。 筋金入りの数学を知る必要はありません。 基本レベルで理解するのに十分。 これは、私たちの武器庫で最良かつ不可欠なツールの1つです。



暗号化は、人が読めるデータを、人が読めない形式に変換する方法です。 このため、データは機密でプライベートなままです。



復号化は逆の操作です。 読み取り不能データを読み取り可能に変換します。



OK、これはどこに適用されますか? 実際には多くの場所で。 たとえば、httpsプロトコルに注意しましたか? 彼のおかげで、インターネットを登っている間、3人目はあなたのデータを傍受することができません。 詳しく説明します。 サイト「 www.google.com 」にアクセスして、リクエストを行います。 同時に、結果の表示に必要なすべてのデータはhttpsプロトコルを使用して送信されます。 そのため、誰かがあなたのトラフィックに関するデータを見ることにした場合(Man In the Middle攻撃)、彼はあなたがGoogleにログインしていることだけを見るでしょう。 さらに、彼は多くの暗号化されたパケットを受け取ります。 つまり、彼は何も受け取らないと言えます。



しかし、基本理論に戻ります。 暗号化プロセスには、アルゴリズムとキーの2つの主要コンポーネントが含まれます。



アルゴリズムは、ある意味では、データを秘密に保つことができるロックです。 そのため、テキストが変換されます。



キーは、トートロジーについては申し訳ありませんが、ロックのキーです。 テキストを変換する一意のデータ



なるほど。 さらに進んでいます。 電圧を少し上げます。



暗号化の種類



私たち自身の利己的な目的のために他にどのように暗号化を使用できますか? 理解を容易にするために、アーカイブの暗号化を検討します。 アーカイブするとき、多くのアーカイバはパスワードを設定する機能を持っています。 この場合、アーカイバは暗号化に何らかのアルゴリズムを使用します。 そしてほとんどの場合、対称アルゴリズムです。



対称暗号化



対称暗号化アルゴリズム-暗号化と復号化に同じキーが使用されるアルゴリズム。 目を引くと同時にシンプルな例は、Caesarのコードです。



このアルゴリズムの全体的な作業は、特定のステップでキャラクターを別のキャラクターに変更することです。



たとえば、オフセットが5文字の場合、最初の位置にある文字は6番目の位置の文字に置き換えられ、以下同様に続きます。



現時点で最も堅牢なのは、AES(Advanced Encryption Standard)アルゴリズムと見なされます。

言及する価値のあるもう1つのポイントは、パスワードのパワーです。 パスワードの強度はビット単位で測定されます。 最も一般的なソリューションの1つは、128ビットまたは256ビットです。 これは、パスワードに割り当てられるビット数です。 この数は、この暗号化アルゴリズムで取得できるパスワードの数も意味します。 ただし、キーの長さが長いほど、暗号化または復号化のプロセスが遅くなります。



ただし、非対称暗号化が最も一般的に使用されています。



そして、私たちは手紙を暗号化しましたが、それを友人に送る方法は? ソーシャルに送信 ネットワークやテキストメッセージングは​​お勧めできません。 電話で彼と話すのが好きです。



そして、これは新しいタイプの暗号化につながります。



非対称暗号化では、パブリックキーとプライベートキー(秘密キー)の2つのキーが使用されます。

暗号化のための公開鍵、復号化のための秘密鍵。



このテクノロジーを使用できるアルゴリズムは何ですか?



リストは次のとおりです。





非対称アルゴリズムの利点:





短所:





上級者向け
私はプログラマーの中核と数学への愛を持っているので、すべてが「内部」でどのように機能するかについて話をせずにはいられません



RSAアルゴリズムの例を考えてみましょう。



最初に行う必要があるのは、公開キーと秘密キーを生成することです。 アクションのシーケンスはおよそ次のとおりです。



1)2つの素数を選択します。 彼らは十分に近いことをお勧めします



p = 19

s = 13



2)積とオイラー関数を計算します



n = p * s

f =(p-1)*(s-1)



3)最も時間のかかる部分は、指数と任意の係数の選択です。



実際、選択された係数では、「d」の値は整数でなければなりません。 「D」はアルゴリズムの必要なコンポーネントです



e = 5

k = 9

d =(k * f + 1)/ e



これで、(メッセージを暗号化するための)公開キーは、変数「e」と「n」の値と、値「d」と「n」の秘密キー(復号化)で構成されます。

つまり、私たちの場合では...



次に、次の式を使用してメッセージが暗号化されます:crypt = m ^ e%n。

復号化:復号化=暗号化^ d%n。



さて、プログラマの観点から、この情報は次のように使用できます。



  1. 文字とそのコード(ASCIIコードなど)に一致する配列を作成します
  2. 各文字にアルゴリズムを適用し、変換された値の配列を作成します
  3. 結果の配列を文字列形式に戻します
  4. 利益!


非対称暗号化を私の目的にどのように使用できますか?



これで、理論、アルゴリズムの長所と短所、そしてなぜそれを使用する必要があるのか​​がわかったので、実際の応用について話をすることができます。



見つかったすべてのプログラムの中で、gpg4usbが私にとって最も便利だと思われました。



このプログラムはPGP暗号化を使用します。 なぜ使用することをお勧めしますか?



すべてがシンプルです。 このタイプの暗号化はまだ解読されていません。 誰にも。 それを使用します。



プログラムの使用は非常に簡単です。 クリックする場所を知る必要があります。

そして、まさにこれが今議論されることです。



最初に行うことは、プログラムをダウンロードすることです。 リンクからこれを行うことができます:

リンク



すぐに言います-このプログラムはクロスプラットフォームです。 つまり、WindowsとLinuxの両方で使用できます。



2つ目は、暗号化キーペアを作成することです。



これは、次の手順に従って実行できます。



1)[キーマネージャー]セクションに移動します



2)上部パネルで「キー」を選択し、「キーを生成」を選択します



次のようになります。







3)必須フィールドに入力します。 すぐに警告します-後でメッセージを解読するために必要になるので、どこかにパスワードを書き留めておく(または覚えておく)方が良いでしょう。



これでキーが作成され、暗号化に直接進むことができます。



メイン画面にテキストフィールドがあります-これはメッセージを作成するための踏み台です。 右側のサイドバーで、キーをオフにします。







フィールドにメッセージを入力したら、上部パネルの「暗号化」をクリックします。



おめでとうございます、メッセージを暗号化できます。







復号化も同じ方法で行われますが、「暗号化」の代わりに「復号化」ボタンを使用する点が異なります。



そして今、脳が30分かかった瞬間:どのようにキーを友人に渡すのですか?

はい、暗号化システムをセットアップし、それが機能します。はい、友人に公開鍵を与えることができ、メッセージが読まれるのを恐れることはありません。 しかし、どこで入手できますか?



結局のところ、すべてが非常に簡単です。 暗号化用のキーを作成したウィンドウで、目的のキーにチェックマークを付け、上部パネルの「ファイルにエクスポート」を選択します。 公開キーを取得し、それを誰にも渡して、暗号化されたメッセージを受信して​​、私たちだけが読むことができます。







そのため、秘密キーを取得したいのですが(別のコンピューターから作業している場合はどうなりますか?結局、キーはローカルに保存されます)。



この問題を解決するために、再びメイン画面に戻り、右側のパネルで目的のキーを右クリックして、「キーのプロパティを表示」を選択します。 開いたウィンドウで、「秘密鍵のエクスポート」を選択します。







完了しました。これで、「公開」の公開および秘密暗号化キーが得られました。これらは自由裁量で使用できます。



さて、この記事の最後で、有用な手法である脅威モデリングとリスク評価を共有したいと思います。



最初に理解すべきことは、100%のセキュリティを確保することも、すべてのリスクをゼロに減らすこともできないということです。 100%の匿名性は得られません。 電話とPCを使用しない限り、100%のセキュリティを確保することはできません。



インターネットを使用して、何らかの形でリスクを受け入れます。 これにより、機能を拡張する機会が得られますが、データを失うリスクがあります。 したがって、セキュリティは、利便性、知識の拡大、快適さ、および既に定義された重要なデータの保存の間のバランスをとる行為です。



リスクベースのアプローチを使用する必要があります。



リスク=脆弱性*脅威*結果



たとえば、ラップトップの盗難。 何ができますか? ディスク全体を暗号化し、追加の認証手順を追加します。



品質保護を確保するには、いくつかの段階を経る必要があります。



  1. 選ぶ
  2. カスタマイズする
  3. 見積もり。 ドライブが完全に暗号化されていることを確認してください
  4. 制御します。 セキュリティアップデートを確認する



All Articles