いくつかの基本的な定義から始めましょう。
データを別の言語 (通常は私用言語) に翻訳することによるコード保護。スペイン語に翻訳された英語はエンコードされていますが、多くの人がスペイン語を理解しているため、あまり安全ではありません.
暗号鍵を使用してデータを暗号化することでデータを保護します。Julius Caesar によって最初に文書化された文字置換暗号は、この例です。現代の技術には、素数を使用したバイナリ データの数学的操作が含まれます。最良の手法では、非対称キーを使用します。データの暗号化に使用される鍵では解読できないため、別の鍵が必要です。これにより公開鍵が公開され、SSL ブラウザー通信の基礎となります。
暗号化データをエンコードおよび/または暗号化することでデータを保護します。
これらの用語はすべて同じ意味で使用されることがよくありますが、それらは異なり、その違いが重要な場合もあります。あなたがやろうとしているのは、暗号によってデータを保護することです。
データが「クリア」である場合、傍受されると失われます。暗号化されている場合は、データとキーの両方を傍受する必要があります。暗号化およびエンコードされている場合は、データ、キー、およびコードを傍受する必要があります。
データの脆弱性はどこにありますか?
- データの最も脆弱な場所は、ストレージ デバイス (USB、CD、紙) または頭の中に誰かの個人的な所有物があることが明らかな場合です。これがウィキリークスの根幹です - 機密情報で信頼されている人々は、その信頼を裏切るように仕向けられています - この倫理については、個人の良心に委ねます。
- クライアントとサーバーの間で転送中、またはその逆の場合。国家安全保障上重要なデータを除き、SSL 方式の暗号化で十分です。
- プログラムのメモリにあるとき。プログラムのソース コードはキーを保存するのに最適な場所ですが、キー自体は、プログラムを実行するたびに入力する (最適な) パスワードで暗号化して保存する必要があります。コードに埋め込まれます (最悪)。よほどの理由がない限り、1 つのキーで十分です。ユーザーごとに 1 つではありません。また、実際に必要な場合を除き、メモリ内データを暗号化したままにしておく必要があります。また、メモリ内のクリアなデータ構造をすぐに使用し、使い終わったらすぐに破棄する必要があります。キーはどこかに保存する必要があります。そうしないと、データを回復できなくなります。しかし、誰がソース コード (バックアップや置き換えられたバージョンを含む) にアクセスできるのか、バックドアやトロイの木馬をどのようにチェックできるのかを考えてみてください。
- プログラムのマシンとデータ ストアの間で転送中の場合。プログラムとデータ ストアの間で暗号化されたデータのみを送信し、キーをデータ ストアに保存しない場合は、これで問題ありません。
- データ ストアに格納されている場合。同上。
物理的なセキュリティを見落とさないでください。多くの場合、データを盗む最も簡単な方法は、サーバーに近づいてハード ドライブをコピーすることです。多くの企業 (そして悲しいことに防衛/治安部隊) は、オンラインのデータ セキュリティに何百万ドルも費やし、そのデータを鍵のない部屋に保管しています。また、10 歳の子供が回避できるアクセス プロトコルもあります。
これで素敵な暗号化されたデータができました。あなたのプログラムがそれを求める人に平文で提供するのをどのように止めますか?
これにより、識別、検証、承認が行われます。その他の定義:
識別自分はまあまあであるという人による主張。これは通常、コンピューター プログラムでユーザー名によって処理されます。物理的なセキュリティ アプリケーションでは、自分自身を提示して「私はまあまあです」と言う人によるものです。これは、明示的に口頭で説明するか、パスポートなどの身分証明書を提示するか、またはあなたを認識している知っている警備員によって暗黙的に行うことができます.
検証これは、その人が本人であることを証明するものです。コンピュータでは、これがパスワードの役割です。より正確に言えば、これは、彼らが自分のパスワードを知っていることを証明するものであり、これは全体において大きく、巨大で、巨大で、克服できない問題です。物理的なセキュリティでは、信頼できる文書 (パスポートなど) に記載されている物理的な測定基準 (外見、身長など) をクレームと比較します。ドキュメントを信頼できるようにするには、プロトコルを用意する必要があります。ちなみに、これが悪者を識別する顔認識技術の問題の主な原因です。これは、検証技術を使用して誰かを識別しようとします。「この男は悪い男#1のように見えます」; 何だと思う?70億の人口の多くの人々もそうです。
許可人が識別され、検証されると、特定のことを行い、特定の場所に行く許可が与えられます。このための一時的な身分証明書が与えられる場合があります。訪問者 ID バッジや Cookie を思い浮かべてください。どこに行くかによっては、身元を再確認して再確認する必要がある場合があります。銀行のウェブサイトを考えてみてください。銀行口座を確認するために自分自身を識別して検証し、送金または支払いを行うためにもう一度それを行います。
概して、これはコンピュータ セキュリティ システムの最も弱い部分です。私があなたのデータを盗むのは難しいですが、あなたの身元を盗んでデータを私に渡すのははるかに簡単です.
あなたの場合、これはおそらくあなたの関心事ではありません.ユーザーが通常の商業的な方法でパスワードを設定、変更、および取得できるようにするという通常のことを行う場合、おそらくできる限りのことを行いました.
データ セキュリティは、一方ではセキュリティ、もう一方では信頼と使いやすさの間のトレードオフであることを忘れないでください。物事を難しくしすぎると (価値の低いデータに非常に複雑なパスワードを使用するなど)、システム全体が危険にさらされます (人は人であり、それらを書き留めるため)。
コンピュータのすべてと同様に、ユーザーが問題です!
このデータを保護する理由と、保護するためにいくら費やすつもりですか?
これは古典的なリスク管理の質問です。実際には、このデータを失うことによる悪影響、現在のレベルの保護でこれが発生するリスク、および追加の保護にかかるリスクの削減に見合う価値があるかどうかを考慮する必要があります。
データの損失は、次のいずれかまたはすべてを意味する可能性があります。
- 公表してもらう
- 間違った人の手に渡った場合
- 故意または過失により破壊すること。(バックアップ、みんな!)
- 変わったこと。変更されていることがわかっている場合、これはそれを失うことと同じです。そうしないと、誤ったデータに基づいて行動している可能性があるため、これはさらに悪化する可能性があります。
このタイプの考え方は、防衛と政府のデータを最高機密、秘密、制限付き、および制限なし (オーストラリアの分類) に分類することにつながります。ここでも人間の要素が介入します。官僚主義の性質上、ドキュメントに低い分類を与えるインセンティブはなく、多くのインセンティブがありません。そのため、ドキュメントは日常的に過剰に分類されています。これは、制限付き分類の多くのドキュメントを適切なクリアランスを持たない人々に配布する必要があるため、これが起こることを意味します。
これも階層と考えることができます。それについての私の個人的な考え方は次のとおりです。
- 領域妥協の防衛は、あなたが考えているレベルに関係なく、私の国/企業/家族の戦略的存続に深刻な悪影響を及ぼします.
- 生と死の妥協は、誰かの生命や健康を危険にさらします。
- 金銭的妥協により、誰かがお金/車/ボート/スペースシャトルを盗むことができます.
- 商業的妥協は、将来の金銭的利益の損失を引き起こします。
- 屈辱的な妥協は恥ずかしさを引き起こします。もちろん、あなたが政治家なら、これはおそらくNo 1です。
- 個人的なこれらは、あなたが公表したくない詳細ですが、特に地球を揺るがすものではありません. 私はここに私の個人的な病歴を入れますが、プライバシー法に違反することの影響により、屈辱的(人々が発見した場合)または経済的(訴訟または起訴された場合)にまで押し上げられる可能性があります.
- プライベートこれは他の誰にも関係のないことですが、彼らに知られても実際にあなたを傷つけることはありません。
- パブリック紙に印刷して、誰でも気になるようにします。
レベルに関係なく、このデータが失われたり変更されたりすることは望ましくありませんが、そうである場合は、これが発生したことを知る必要があります。ナチスにとって、エニグマ暗号が破られることは悪いことでした。それが起こったことを知らなかったことは壊滅的でした。
以下のコメントで、ベスト プラクティスについて説明するよう求められました。これは、データのリスク (および組織のリスク許容度) を知らなければ不可能です。データ セキュリティに多額の費用をかけることは、少なすぎることと同じくらい悪いことです。