カテゴリー: 認証

認証

  • 暗号化の仕組み

    インターネットを使用するとき、私たちはニュース記事やブログ投稿を読むなど、常にクリックして受動的に情報を取り入れているわけではありません。オンライン時間の多くは、自分の情報を他の人に送信することに関係しています。本、 CD 、その他オンライン ベンダーに何かをインターネット上で注文したり、オンライン アカウントにサインアップしたりするには、大量の機密の個人情報を入力する必要があります。一般的な取引には、名前、電子メールアドレス、住所、電話番号だけでなく、パスワードや個人識別番号 (PIN) も含まれる場合があります。

    インターネットの驚異的な成長は、私たちの生活や働き方を変えるという期待に、企業も消費者も同様に興奮させています。ラップトップの前に座りながら、世界中で商品を売買するのは非常に簡単です。しかし、インターネット上では、特に当事者間で機密情報を送信するためにインターネットを使用する場合、セキュリティが大きな懸念事項となります。

    正直に言うと、次のような他の人に見られたくない情報がたくさんあります。

    • クレジットカード情報
    • 社会保障番号
    • 私信
    • 個人情報
    • 会社の機密情報
    • 銀行口座情報

    情報セキュリティは、さまざまな方法でコンピュータやインターネット上で提供されます。シンプルだが簡単なセキュリティ方法は、機密情報をポータブル フラッシュ メモリ ドライブや外付けハード ドライブなどのリムーバブル ストレージメディアにのみ保存することです。しかし、最も一般的なセキュリティ形式はすべて暗号化に依存しています。これは、キーを持っている人 (またはコンピュータ) だけが情報を復号できるように情報をエンコードするプロセスです。

    この記事では、暗号化と認証について学びます。また、公開鍵システムと対称鍵システム、ハッシュ アルゴリズムについても学習します。

    セキュリティ暗号化システム

    暗号化の仕組み

    コンピューターの暗号化は暗号科学に基づいており、人間が情報を秘密にしたいと考えてきた限り使用されてきました。デジタル時代以前は、暗号化の最大のユーザーは政府、特に軍事目的でした。

    たとえば、ギリシャの歴史家プルタルコスは、スキュタレ(木で作られた薄い円筒)を使って機密メッセージを送受信したスパルタの将軍について書いています。将軍は羊皮紙をスキュタレに巻き付け、その長さに沿ってメッセージを書きました。誰かがシリンダーから紙を取り出すと、その文字はナンセンスの寄せ集めのように見えました。しかし、羊皮紙を受け取ったもう一人の将軍が同じような大きさのスキュタレを持っていれば、羊皮紙をその周りに巻き付けることができ、意図されたメッセージを簡単に読み取ることができます。

    ギリシャ人はまた、文字や数字の置換や転置を伴う特定の暗号である暗号を最初に使用した人でもあります。

    両方の将軍が正しい暗号を持っている限り、相手が送信したメッセージを解読することができました。メッセージを解読しにくくするために、グリッド内の文字を任意の組み合わせで配置することができます。

    最近使用されているほとんどの形式の暗号化はコンピュータに依存しています。これは単純に、人間が作成したコードはコンピュータでは解読するのが非常に簡単であるためです。暗号は、今日では暗号化のガイドであるアルゴリズムとしてもよく知られています。アルゴリズムは、メッセージを作成し、特定の範囲の可能な組み合わせを提供する方法を提供します。一方、キーは、人間またはコンピュータが特定の状況で 1 つの可能性を見つけ出すのに役立ちます。

    コンピュータ暗号化システムは通常、次の 2 つのカテゴリのいずれかに属します。

    • 対称キー暗号化
    • 公開鍵暗号化

    次のセクションでは、これらの各システムについて学習します。

    対称キー

    2 人のスパルタ将軍が互いにメッセージを送信するのと同じように、対称キー暗号化を使用して相互に情報を送信するコンピュータは同じキーを持っている必要があります。

    対称キー暗号化では、各コンピューターは秘密キー (コード) を持ち、情報のパケットをネットワーク経由で別のコンピューターに送信する前に暗号化するために使用できます。対称キーでは、各コンピュータにキーをインストールできるように、どのコンピュータが相互に通信するかを知っている必要があります。対称キー暗号化は、情報を復号化するために 2 台のコンピューターのそれぞれが知っておく必要がある秘密コードと本質的に同じです。このコードは、メッセージを解読するための鍵を提供します。

    次のように考えてください。友人に送信するコード化されたメッセージを作成します。このメッセージでは、各文字がアルファベットで 2 つ下の文字に置き換えられます。したがって、「A」は「C」になり、「B」は「D」になります。あなたはすでに信頼できる友人に、そのコードが「Shift by 2」であることを伝えました。友人はメッセージを受信して​​解読します。他の人がメッセージを見たとしても、それはナンセンスにしか見えません。

    コンピューターにも同じことが当てはまりますが、当然のことながら、キーは通常よりもはるかに長くなります。米国のコンピュータ用に開発された最初の主要な対称アルゴリズムは、1970 年代に使用が承認されたデータ暗号化標準 (DES) でした。 DES は 56 ビットのキーを使用します。

    70 年代以降、コンピュータはますます高速になったため、セキュリティ専門家はもはや DES が安全であるとは考えていません。ただし、56 ビット キーには 70,000,000,000,000,000 を超える可能な組み合わせ (70,000,000,000,000,000) があり、ブルート フォース攻撃 (考えられるすべての組み合わせを順番に試すだけです)正しいキーを見つけるため)、暗号化されたデータを短時間で簡単に解読できます。その後、DES は、128、192、または 256 ビットのキーを使用する Advanced Encryption Standard (AES) に置き換えられました。ほとんどの人は、AES が今後長い間十分な暗号化標準であると信じています。たとえば、128 ビット キーには 300,000,000,000,000,000,000,000,000,000,000,000 を超えるキーの組み合わせが含まれる可能性があります 。

    シーザーの暗号

    ジュリアス・シーザーも同様の置換手法を使用し、3 文字を上にシフトしました。たとえば、「ルビコンを渡る」と言いたければ、代わりに「FURVV LQJWK HUXEL FRQ」と書き留めるでしょう。ご覧のとおり、各単語のサイズがわかりにくくするために、テキストも均等なグループに分割されています。

    公開鍵暗号化

    対称キー暗号化について一部の人が指摘している弱点の 1 つは、2 人のユーザーが相互に通信しようとすると安全な方法が必要であるということです。そうしないと、攻撃者がストリームから必要なデータを簡単に抜き取ることができます。 1976 年 11 月に、ジャーナル IEEE Transactions on Information Theory に掲載された「暗号化の新しい方向性」というタイトルの論文では、この問題に対処し、公開キー暗号化という解決策を提案しました。

    非対称キー暗号化とも呼ばれる公開キー暗号化では、2 つの異なるキー (秘密キーと公開キーの組み合わせ) を同時に使用します。秘密キーはあなたのコンピュータだけが知っていますが、公開キーはあなたのコンピュータから安全に通信したいすべてのコンピュータに与えられます。暗号化されたメッセージを復号するには、コンピュータは送信元のコンピュータから提供された公開キーと独自の秘密キーを使用する必要があります。あるコンピュータから別のコンピュータに送信されるメッセージは安全ではありません。暗号化に使用される公開キーは公開され、誰でも利用できるため、秘密キーがなければメッセージを受け取った人は誰でも読むことができません。キー ペアは、長い長さの素数(2、3、5、7、11 など、それ自身と 1 の約数のみを持つ数値) に基づいています。これにより、システムは非常に安全になります。これは、本質的に無限の数の素数が利用可能であり、キーにはほぼ無限の可能性があることを意味します。非常に人気のある公開キー暗号化プログラムの 1 つはPretty Good Privacy (PGP)で、これを使用すると、ほぼすべてのものを暗号化できます。

    送信側コンピュータは対称キーを使用してドキュメントを暗号化し、次に受信側コンピュータの公開キーを使用して対称キーを暗号化します。受信側のコンピューターは、秘密キーを使用して対称キーを復号します。次に、対称キーを使用してドキュメントをデコードします。

    安全なWeb サーバーが必要とするような大規模な公開キー暗号化を実装するには、別のアプローチが必要です。ここでデジタル証明書が登場します。デジタル証明書は基本的に、Web サーバーが認証局と呼ばれる独立したソースによって信頼されていることを示す一意のコードまたは多数のコードです。認証局は、両方のコンピュータが信頼する仲介者として機能します。各コンピュータが実際に本人であることを確認し、各コンピュータの公開鍵を他のコンピュータに提供します。

    SSLとTLS

    暗号化の仕組み

    公開キー暗号化の一般的な実装は、 Secure Sockets Layer (SSL) です。 SSL は、もともと Netscape によって開発された、インターネット ブラウザおよびWeb サーバーが機密情報を送信するために使用するインターネット セキュリティ プロトコルです。 SSL は、トランスポート層セキュリティ(TLS) として知られる全体的なセキュリティ プロトコルの一部となっています。

    ブラウザでは、TLS などの安全なプロトコルを使用していることをいくつかの異なる方法で知ることができます。アドレス行の「http」が「https」に置き換えられ、ブラウザ ウィンドウの下部にあるステータス バーに小さな南京錠が表示されることがわかります。オンライン銀行口座やPayPalやGoogle Checkout などの支払い転送サービスなどの機密情報にアクセスする場合、この種の形式の変更を目にする可能性があり、情報が安全に送信される可能性が高いことがわかります。

    TLS とその前身である SSL は、認証局を大幅に利用します。ブラウザが安全なページをリクエストし、「http」に「s」を追加すると、ブラウザは公開キーと証明書を送信し、次の 3 つのことを確認します。1) 証明書が信頼できる当事者からのものであること。 2) 証明書が現在有効であること。 3) 証明書が送信元のサイトと関係があること。

    暗号化の仕組み

    次に、ブラウザは公開キーを使用して、ランダムに選択された対称キーを暗号化します。公開キー暗号化には大量のコンピューティングが必要なため、ほとんどのシステムでは公開キー暗号化と対称キー暗号化を組み合わせて使用​​します。 2 台のコンピュータが安全なセッションを開始すると、一方のコンピュータは対称キーを作成し、公開キー暗号化を使用してもう一方のコンピュータに送信します。これにより、2 台のコンピュータは対称キー暗号化を使用して通信できるようになります。セッションが終了すると、各コンピュータはそのセッションに使用された対称キーを破棄します。セッションを追加するには、新しい対称キーを作成する必要があり、このプロセスが繰り返されます。

    ハッシュアルゴリズム

    公開鍵暗号化の鍵はハッシュ値に基づいています。これは、ハッシュ アルゴリズムを使用して基本入力数値から計算される値です。基本的に、ハッシュ値は元の値の要約です。ハッシュ値に関して重要なことは、ハッシュ値の作成に使用されたデータを知らずに元の入力数値を導き出すことはほぼ不可能であるということです。簡単な例を次に示します。

    番号を入力してください

    10,667

    ハッシュアルゴリズム

    入力番号×143

    ハッシュ値

    1,525,381

    値 1,525,381 が 10,667 と 143 の乗算から得られると判断するのがいかに難しいかがわかります。しかし、乗数が 143 であることがわかっていれば、値 10,667 を計算するのは非常に簡単です。公開キー暗号化は実際にはこの例よりもはるかに複雑ですが、それが基本的な考え方です。

    公開キーは通常、複雑なアルゴリズムと、40 ビットまたは 128 ビットの数値を含む非常に大きなハッシュ値を暗号化に使用します。 128 ビットの数値には 2 128 、つまり 3,402,823,669,209,384,634,633,746,074,300,000,000,000,000,000,000,000,000,000,000,000,000 個の異なる組み合わせが考えられます。これは、特定の組み合わせを見つけようとするようなものです。サハラ砂漠の砂粒。

    認証

    前述したように、暗号化は、あるコンピューターが別のコンピューターに送信するすべてのデータを取得し、他のコンピューターのみが復号できる形式にエンコードするプロセスです。別のプロセスである 認証 は、情報が信頼できるソースからのものであることを確認するために使用されます。基本的に、情報が「本物」であれば、その情報を作成した人がわかり、その人が作成して以来一切変更されていないことがわかります。これら 2 つのプロセス、暗号化と認証は連携して動作し、安全な環境を作成します。

    コンピュータ上の個人または情報を認証するには、いくつかの方法があります。

    • パスワード– ユーザー名とパスワードの使用は、最も一般的な認証形式を提供します。コンピュータのプロンプトが表示されたら、名前とパスワードを入力します。ペアを安全なファイルと照合して確認します。名前またはパスワードのいずれかが一致しない場合、それ以上のアクセスは許可されません。
    • パス カード– これらのカードは、クレジット カードに似た磁気ストライプが付いた単純なカードから、コンピュータ チップが組み込まれた高度なスマート カードまで多岐にわたります。
    • デジタル署名– デジタル署名は基本的に、電子文書 (電子メール、スプレッドシート、テキスト ファイル) が本物であることを確認する方法です。デジタル署名標準(DSS) は、デジタル署名アルゴリズム(DSA) を使用する一種の公開キー暗号化方式に基づいています。 DSS は、米国政府によって承認されたデジタル署名の形式です。 DSA アルゴリズムは、文書の作成者 (署名者) だけが知っている秘密キーと公開キーで構成されます。公開キーには 4 つの部分があります。詳細については、「 」を参照してください。デジタル署名が添付された後に文書内で何かが変更されると、デジタル署名が比較する値が変更され、署名が無効になります。

    最近、より洗練された認証形式が家庭やオフィスのコンピュータ システムに登場し始めています。これらの新しいシステムのほとんどは、認証に何らかの形式の生体認証を使用します。バイオメトリクスでは、生物学的情報を使用して身元を確認します。生体認証には次のような方法があります。

    チェックサムとCRC

    セキュア コンピューティングのもう 1 つのニーズは、送信または暗号化中にデータが破損していないことを保証することです。これを行う一般的な方法がいくつかあります。

    チェックサム– おそらくデータが正しいことを確認する最も古い方法の 1 つであり、無効なチェックサムはデータが何らかの方法で侵害されたことを示唆するため、チェックサムは認証の形式も提供します。チェックサムは 2 つの方法のいずれかで決定されます。パケットのチェックサムの長さが 1バイトだとします。 1 バイトは 8 ビットで構成され、各ビットは 2 つの状態のいずれかになり、合計 256 (2 8 ) 通りの組み合わせが可能になります。最初の組み合わせはゼロに等しいため、バイトの最大値は 255 になります。

    • パケット内の他のバイトの合計が 255 以下の場合、チェックサムにはその正確な値が含まれます。
    • 他のバイトの合計が 255 を超える場合、チェックサムは合計値を 256 で割った残りになります。

    チェックサムの例を見てみましょう。

    • 合計 1,151 バイト
    • 1,151 / 256 = 4.496 (4 に四捨五入)
    • 4 x 256 = 1,024
    • 1,151 – 1,024 = 127 チェックサム

    巡回冗長検査(CRC) – CRC は概念としてはチェックサムに似ていますが、多項式の除算を使用して CRC の値を決定します。CRC の値は通常、長さが 16 ビットまたは 32 ビットです。 CRC の良い点は、非常に正確であることです。 1 つのビットが間違っている場合、CRC 値は一致しません。チェックサムと CRC はどちらも、送信中のランダム エラーを防ぐのに役立ちますが、データに対する意図的な攻撃からはほとんど保護されません。対称キー暗号化技術と公開キー暗号化技術は、より安全です。

    これらのさまざまなプロセスがすべて組み合わされて、インターネット上で送受信する情報の安全性を確保するために必要なツールが提供されます。実際、コンピュータ ネットワーク経由で情報を送信することは、他の方法で送信するよりもはるかに安全であることがよくあります。電話機、特にコードレス電話機は、特に無線スキャナを持った悪意のある人によって盗聴される可能性があります。従来の郵便やその他の物理媒体は、宛先に届くまでに多くの人の手を経由することが多く、破損の可能性が高くなります。暗号化を理解し、インターネット経由で送信する機密情報が安全であることを確認するだけで (「https」と南京錠の記号を思い出してください)、より大きな安心感を得ることができます。

  • 指紋スキャナーの仕組み

    コンピューター化された指紋スキャナーは、何十年にもわたってスパイ スリラーの主力でしたが、最近まで、現実世界では非常に珍しいテクノロジーでした。しかし、ここ数年で、警察署、厳重な警備の建物、さらにはPC のキーボードなど、いたるところにスキャナーが設置されるようになりました。個人用USB指紋スキャナーは 100 ドル未満で購入でき、それと同じように、コンピューターはハイテク生体認証によって保護されます。アクセスするには、パスワードの代わりに、またはパスワードに加えて、独自の印刷物が必要です。

    この記事では、法執行機関とアイデンティティ セキュリティにおけるこのエキサイティングな発展の背後にある秘密を考察します。また、指紋スキャナーのセキュリティ システムが従来のパスワードおよび ID カード システムとどのように連携するのかを確認し、どのように失敗する可能性があるのか​​を確認します。

    指紋の基本

    指紋スキャナーの仕組み

    指紋は自然の奇妙なねじれの 1 つです。人間には、簡単にアクセスできる ID カードが組み込まれています。あなただけを表現するユニークなデザインが、文字通りあなたの指先にあります。どうしてこんなことになったのでしょうか?

    人々の指に小さな隆起のある皮膚があるのは、この特定の適応が人類の祖先にとって非常に有利だったからです。ゴムのトレッドパターンがタイヤが路面をグリップするのと同じように、指の山と谷のパターンにより、手で物を掴みやすくなります。

    指紋のもう 1 つの役割は、まったくの偶然です。人体のあらゆるものと同様、これらの隆起は遺伝的要因と環境的要因の組み合わせによって形成されます。 DNAの遺伝暗号は、発育中の胎児において皮膚が形成される方法に関する一般的な命令を与えますが、皮膚が形成される具体的な方法はランダムな出来事の結果です。特定の瞬間における子宮内の胎児の正確な位置と、周囲の羊水の正確な組成と密度によって、個々の尾根がどのように形成されるかが決まります。

    つまり、そもそもの遺伝子構成を決定する無数の要因に加えて、指の形成に影響を与える環境要因が無数にあります。雲やビーチの海岸線を形成する気象条件と同じように、開発プロセス全体は非常に混沌としており、人類の歴史全体を通じて、まったく同じパターンが 2 回形成される可能性は事実上ありません。

    したがって、指紋は、たとえ一卵性双生児であっても、その人にとって固有のマーカーとなります。また、2 つの印刷物は一見すると基本的に同じように見えますが、訓練を受けた調査員や高度なソフトウェアを使用すれば、明確な違いを見つけ出すことができます。

    これは、犯罪捜査とセキュリティの両方における指紋分析の基本的な考え方です。指紋スキャナーの仕事は、人間の分析者の代わりに印刷サンプルを収集し、記録されている他のサンプルと比較することです。次のいくつかのセクションでは、スキャナがこれをどのように行うかについて説明します。

    光学スキャナー

    指紋スキャナ システムには 2 つの基本的な仕事があります。つまり、指の画像を取得する必要があり、もう 1 つは、この画像の山と谷のパターンが事前にスキャンされた画像の山と谷のパターンと一致するかどうかを判断する必要があります。

    誰かの指の画像を取得するには、さまざまな方法があります。現在最も一般的な方法は、光学式スキャン静電容量式スキャンです。どちらのタイプも同じようなイメージを思いつきますが、それを実現する方法はまったく異なります。

    光学スキャナの心臓部は電荷結合素子(CCD) であり、これはデジタル カメラやビデオカメラで使用されているものと同じ光センサー システムです。 CCD は、単にフォトサイトと呼ばれる光感応ダイオードのアレイであり、光フォトンに応答して電気信号を生成します。各フォトサイトは、そのスポットに当たった光を表す小さな点であるピクセルを記録します。明るいピクセルと暗いピクセルが集合して、スキャンされたシーン (指など) の画像を形成します。通常、スキャナ システムのアナログ – デジタル コンバータはアナログ電気信号を処理して、この画像のデジタル表現を生成します。 CCD とデジタル変換の詳細については、 「デジタル カメラの仕組み」を参照してください。

    ガラス板に指を置くとスキャン プロセスが開始され、CCD カメラが写真を撮ります。スキャナーには、指の隆線を照らすための独自の光源 (通常は発光ダイオードのアレイ) が備わっています。 CCD システムは実際に指の反転画像を生成します。暗い領域はより多くの反射光を表し (指の隆線)、より明るい領域はより少ない反射光を表します (隆線間の谷)。

    印刷物と保存されたデータを比較する前に、スキャナ プロセッサは CCD が鮮明な画像をキャプチャしたことを確認します。平均ピクセルの暗さ、または小さなサンプルの全体的な値をチェックし、画像全体が暗すぎるか明るすぎる場合はスキャンを拒否します。画像が拒否された場合、スキャナは露出時間を調整して光を多かれ少なかれ取り込み、スキャンを再試行します。

    濃度レベルが適切な場合、スキャナ システムは画像の鮮明度(指紋スキャンがどの程度鮮明であるか) をチェックします。プロセッサは、画像上で水平および垂直に移動するいくつかの直線を調べます。指紋画像の鮮明度が高い場合、隆線に垂直に伸びる線は、非常に暗いピクセルと非常に明るいピクセルが交互に並んだ部分で構成されます。

    プロセッサーは、画像が鮮明で適切に露出していると判断すると、取り込んだ指紋とファイル上の指紋の比較に進みます。このプロセスについてはすぐに説明しますが、最初に、もう 1 つの主要なスキャン技術である静電容量式スキャナーについて検討します。

    静電容量スキャナー

    指紋スキャナーの仕組み

    光学式スキャナーと同様に、容量性指紋スキャナーは、指紋を構成する山と谷の画像を生成します。ただし、光を使用して印刷物を感知する代わりに、コンデンサは電流を使用します。

    以下の図は、単純な静電容量センサーを示しています。センサーは、小さなセルのアレイを含む 1 つまたは複数の半導体チップで構成されています。各セルには、絶縁層で覆われた 2 つの導体板が含まれています。細胞は非常に小さく、指の 1 つの隆起の幅よりも小さいです。

    センサーは、反転オペアンプを中心に構築された電気回路である積分器に接続されています。反転アンプは、多数のトランジスタ、抵抗、コンデンサで構成される複雑な半導体デバイスです。その動作の詳細については、それだけで記事全体が書けてしまいますが、ここでは静電容量スキャナーでどのような動作をするのかについての一般的な感覚を得ることができます。 (技術的な概要については、オペアンプを確認してください。)

    他のアンプと同様に、反転アンプは、ある電流の変動に基づいて別の電流を変更します (詳細については、「アンプの仕組み」を参照してください)。具体的には、反転増幅器は電源電圧を変更します。この変更は、反転端子と非反転端子と呼ばれる 2 つの入力の相対電圧に基づいて行われます。この場合、非反転端子はグランドに接続され、反転端子は基準電圧源とフィードバックループに接続されます。フィードバック ループはアンプの出力にも接続されており、2 つの導体プレートが含まれています。

    ご存知かもしれませんが、2 つの導体板は基本的なコンデンサ、つまり電荷を蓄積できる電気部品を形成します (詳細については、 「コンデンサの仕組み」を参照してください)。指の表面は、セル構造内の絶縁層によって分離された第 3 のコンデンサ プレートとして機能し、指紋の谷の場合は空気のポケットとなります。コンデンサ プレート間の距離を変えると (指を導電プレートに近づけたり遠ざけたりすることによって)、コンデンサの総静電容量 (電荷を蓄積する能力) が変化します。この性質のため、尾根の下のセルのコンデンサは、谷の下のセルのコンデンサよりも大きな静電容量を持ちます。

    フィンガーをスキャンするには、プロセッサがまず各セルのリセット スイッチを閉じます。これにより、各アンプの入力と出力が短絡され、積分回路の「バランス」が保たれます。スイッチが再び開かれ、プロセッサが積分回路に固定電荷を適用すると、コンデンサが充電されます。フィードバック ループのコンデンサの静電容量はアンプの入力電圧に影響を与え、それがアンプの出力に影響します。フィンガーまでの距離によって静電容量が変化するため、フィンガーの隆起部ではフィンガーの谷部とは異なる電圧出力が生じます。

    スキャナ プロセッサはこの電圧出力を読み取り、それが尾根の特徴であるか谷の特徴であるかを判断します。プロセッサーは、センサー アレイ内のすべてのセルを読み取ることで、光学スキャナーでキャプチャされた画像と同様の、指紋の全体像をまとめることができます。

    静電容量式スキャナの主な利点は、指紋の視覚的な印象を構成する明暗のパターンではなく、実際の指紋タイプの形状が必要であることです。これにより、システムを騙すことが難しくなります。さらに、静電容量式スキャナは CCD ユニットではなく半導体チップを使用するため、光学式デバイスよりもコンパクトになる傾向があります。

    分析

    映画やテレビ番組では、自動指紋分析装置は通常、さまざまな指紋画像を重ね合わせて一致するものを見つけます。実際には、これは指紋を比較するための特に実用的な方法ではありません。にじみを付けると、同じプリントの 2 つの画像がかなり違って見えるため、完璧な画像オーバーレイが得られることはほとんどありません。さらに、指紋画像全体を比較分析に使用すると、多くの処理能力が消費され、誰かが印刷データを盗むことも容易になります。

    代わりに、ほとんどの指紋スキャナ システムは、一般に特徴点として知られる指紋の特定の特徴を比較します。通常、人間とコンピューターの調査者は、稜線が終わる点、または 1 つの稜線が 2 つに分かれる (分岐) 点に集中します。これらおよびその他の特徴的な特徴を総称して、ティピカと呼ぶこともあります。

    スキャナ システム ソフトウェアは、非常に複雑なアルゴリズムを使用して、これらの細部を認識および分析します。基本的な考え方は、星の相対的な位置によって空の一部を認識するのと同じような方法で、特徴点の相対的な位置を測定することです。これを考える簡単な方法は、さまざまな特徴点の間に直線を引いたときに形成される形状を考えることです。 2 つのプリントに 3 つの尾根端と 2 つの分岐があり、同じ寸法で同じ形状を形成している場合、それらは同じプリントからのものである可能性が高くなります。

    一致を得るために、スキャナ システムはサンプルと記録上のプリントの両方で特徴点のパターン全体を見つける必要はありません。2 つのプリントに共通する十分な数の特徴点パターンを見つけるだけで済みます。正確な数はスキャナのプログラミングによって異なります。

    長所と短所

    セキュリティ システムが誰かが許可されたユーザーであることを確認できる方法はいくつかあります。ほとんどのシステムは、次の 1 つ以上を探しています。

    • あなたが持っているもの
    • 知っていること
    • あなたは誰ですか

    「所持品」システムを通過するには、磁気ストライプ付きの ID カードなど、ある種の「トークン」が必要です。 「知っていること」システムでは、パスワードまたは PIN 番号を入力する必要があります。 「あなたが誰であるか」システムは、実際には、あなたが自分であるという物理的な証拠、つまり特定の指紋、声、 虹彩のパターンを探しています。

    指紋スキャナーのような「誰ですか」システムには、他のシステムに比べて多くの利点があります。いくつか例を挙げると、

    • 身体的属性は身分証明書よりも偽造がはるかに困難です。
    • パスワードを推測できるように、指紋のパターンを推測することはできません。
    • アクセス カードを置き忘れるのと同じように、指紋、虹彩、音声を置き忘れることはありません。
    • パスワードを忘れるのと同じように、指紋も忘れることはできません。

    しかし、それらは効果的ではありますが、間違いがないわけではなく、大きな欠点もあります。光学式スキャナーは、指の画像と指そのものを常に区別できるわけではありません。また、静電容量式スキャナーは、人の指の型に騙されることがあります。誰かが許可されたユーザーのプリントにアクセスした場合、その人はスキャナーを騙す可能性があります。最悪のシナリオでは、犯罪者がスキャナーのセキュリティ システムをすり抜けるために誰かの指を切り落とす可能性さえあります。一部のスキャナーには、型や切断された指ではなく、指が生きていることを確認するための追加のパルスセンサーと熱センサーが搭載されていますが、これらのシステムでも、本物の指の上にあるゼラチンプリントの型によって騙される可能性があります。 (誰かがスキャナーを騙すさまざまな方法を説明します。)

    これらのセキュリティ システムの信頼性を高めるには、生体認証分析とパスワードなどの従来の識別手段を組み合わせることをお勧めします ( ATM で銀行カードと PIN コードが必要になるのと同じです)。

    生体認証セキュリティ システムの本当の問題は、誰かが ID 情報を盗んだ場合の被害の程度です。クレジット カードを紛失したり、秘密の PIN 番号を誤って誰かに教えてしまった場合でも、いつでも新しいカードを入手したり、コードを変更したりできます。しかし、誰かがあなたの指紋を盗んだら、あなたは残りの人生でほぼ不幸になります。すべてのコピーが破棄されたことを完全に確信するまで、プリントを身分証明書として使用することはできません。新しいプリントを入手する方法はありません。

    しかし、この重大な欠点があっても、指紋スキャナーと生体認証システムは優れた識別手段です。将来的には、今日の鍵、ATM カード、パスワードと同じように、ほとんどの人々の日常生活に不可欠な部分になる可能性が高くなります。

    指紋スキャナーやその他の生体認証技術の詳細については、次のページのリンクを参照してください。

  • CAPTCHA の仕組み

    あなたはコンピューターを使用して、地元の会場でコンサートを見るチケットを購入しています。チケットを購入する前に、まずテストに合格する必要があります。この種のテストはCAPTCHAです。 CAPTCHA という用語は、Completely Automated Public Turing Test to Tell Computers and Humans Apart の頭字語です。

    これは難しいテストではありません。実際、それが重要なのです。人間のユーザーにとって、テストはシンプルで簡単なものである必要があります。しかし、コンピュータの場合、このテストを解くのはほぼ不可能なはずです。 CAPTCHA の目的は、悪意のあるボットを識別することです。人間のユーザーは問題なく通過できるはずです。

    CAPTCHA テストは、ヒューマン インタラクション プルーフ () の一種としても知られています。おそらく多くの Web サイトでこれらのテストを見たことがあるでしょう。 CAPTCHA の最も一般的な形式は、いくつかの歪んだ文字の画像です。正しい一連の文字をフォームに入力するのはあなたの仕事です。あなたの文字が歪んだ画像内の文字と一致すれば、テストに合格です。

    もう 1 つの一般的なタイプは画像 CAPTCHA です。画像 CAPTCHA テストには、一般的なシーンの一連の写真が含まれます。これには、高速道路、市街路、公園などが含まれる場合があります。ユーザーは、街路灯、消火栓、自転車などの特定の物体が含まれる写真のみを選択するように求められます。適切な写真を選択すると、テストに合格します。

    画像認識キャプチャは通常、テキストベースのキャプチャよりもボットが解読するのが困難です。歪んだ画像やぼやけた画像は、ボットの認識技術を簡単に妨害してしまう可能性があるため、さらに効果的です。人間のみが解決できる CAPTCHA を慎重に作成することが重要です。

    なぜ人間とコンピューターを区別できるテストを作成する必要があるのでしょうか?それは、システムを悪用しようとする人々のせいです。彼らは、サイトを実行しているコンピューターの弱点を悪用したいと考えています。これらの個人はおそらくインターネット上のすべての人々の少数派ですが、彼らの行動は何百万ものユーザーとウェブサイトに影響を与える可能性があります。

    たとえば、無料の電子メールサービスは、自動化されたプログラムからのアカウント要求によって攻撃される可能性があります。この自動プログラムは、数百万人にスパムメールを送信する大規模な試みの一部である可能性があります。 CAPTCHA テストは、どのユーザーが本物の人間で、どのユーザーがコンピューター プログラムであるかを識別するのに役立ちます。

    CAPTCHA テストの興味深い点の 1 つは、テストを設計する人が、テストが失敗しても必ずしも動揺するわけではないということです。 CAPTCHA テストが失敗するには、誰かがコンピュータにテストの解決方法を教える方法を見つけなければならないからです。言い換えれば、あらゆる CAPTCHA の失敗は、実際には人工知能の進歩なのです。

    次のセクションでは、CAPTCHA とは何なのかを詳しく見てみましょう。

    こんにちは、プログラムです!

    CAPTCHA プログラムの皮肉の 1 つは、CAPTCHA アプリケーションが、答えがわかっていないと解決できないテストを生成できることです。

    CAPTCHA とチューリング テスト

    ビジュアル CAPTCHA の写真。

    CAPTCHA テクノロジーの基礎は、チューリング テストと呼ばれる実験にあります。現代コンピューティングの父とも呼ばれるアラン・チューリングは、機械が人間と同じように考えることができるか、あるいは考えているように見えるかどうかを調べる方法としてこのテストを提案しました。古典的なテストは模倣のゲームです。このゲームでは、尋問者が 2 人の参加者に一連の質問をします。参加者の 1 人は機械、もう 1 人は人間です。尋問者は参加者を見ることも聞くこともできず、どちらがどちらであるかを知る方法がありません。質問者が応答に基づいてどの参加者がマシンであるかを判断できない場合、そのマシンはチューリング テストに合格します。

    もちろん、CAPTCHA の目標は、人間は簡単に合格できるが、機械は合格できないテストを作成することです。 CAPTCHA アプリケーションが異なるユーザーに異なる CAPTCHA を表示できることも重要です。視覚的な CAPTCHA がすべてのユーザーに同じ静止画像を表示した場合、スパマーがフォームを見つけて文字を解読し、正しい答えを自動的に入力するようにアプリケーションをプログラムするまでに、それほど時間はかかりません。

    すべてではありませんが、ほとんどの CAPTCHA は視覚的なテストに依存しています。コンピューターは、視覚データの処理に関して人間のような高度な技術を欠いています。私たちはコンピューターよりも簡単に画像を見てパターンを見つけることができます。人間の心は、パターンが存在しない場合でもパターンを認識することがあります。これをパレイドリアと呼びます。雲の中の形や月の顔を見たことがありますか?それはあなたの脳がランダムな情報をパターンや形状に関連付けようとしているということです。

    ただし、最新の CAPTCHA のすべてが視覚的なパターンに依存しているわけではありません。実際、視覚的な CAPTCHA に代わる手段を用意することが重要です。そうしないと、Web ページ管理者が視覚障害のあるユーザーから権利を剥奪される危険があります。視覚テストの代替手段の 1 つは、聴覚テストです。音声 CAPTCHA は通常、一連の音声文字または数字をユーザーに提示します。番組が発言者の音声を歪めることは珍しいことではなく、また、番組の録音に背景雑音が含まれることもよくあります。これは音声認識プログラムを阻止するのに役立ちます。

    もう 1 つのオプションは、読者に短いテキストの一節を解釈するよう求める CAPTCHA を作成することです。文脈に応じた CAPTCHA は読者にクイズを出し、理解力をテストします。コンピューター プログラムはテキストの一節からキーワードを抽出することはできますが、それらの単語が実際に何を意味するかを理解することはあまり得意ではありません。

    次のセクションでは、CAPTCHAを使用して脈ありかどうかを確認するサイトの種類を詳しく見ていきます。

    ごめんなさい、もう一度読みます

    CAPTCHA では、人間ですら解読できないほど歪んだ画像や音声が表示されることがあります。そのため、多くの CAPTCHA アプリケーションでは、新しい CAPTCHA を生成して再試行するオプションがユーザーに提供されています。 2回目は1回目ほど混乱しないことを願っています。

    CAPTCHA を使用する人

    CAPTCHA を含む Web フォームの写真。

    CAPTCHA の一般的な用途の 1 つは、オンライン投票の検証です。実際、以前の Slashdot 世論調査は、世論調査機関が調査にフィルターを実装しなかった場合に何が問題となるかを示す例として役立ちます。

    1999 年にスラッシュドットは、コンピュータ サイエンスで最も優れたプログラムを提供する大学院を訪問者に尋ねるアンケートを発表しました。カーネギーメロン大学とマサチューセッツ工科大学の 2 つの大学の学生は、それぞれの学校に繰り返し投票するためのボットと呼ばれる自動プログラムを作成しました。これら 2 校は数千票を獲得しましたが、他の学校はそれぞれ数百票しか得られませんでした。世論調査に投票できるプログラムを作成することが可能であれば、そもそもオンライン世論調査の結果をどうやって信頼できるのでしょうか? CAPTCHA フォームは、プログラマによるポーリング システムの悪用を防ぐのに役立ちます。

    Web サイトの登録フォームでは CAPTCHA が使用されることがよくあります。たとえば、Hotmail、 Yahoo!などの無料の Web ベースの電子メール サービスです。 MailまたはGmail を使用すると、電子メール アカウントを無料で作成できます。通常、ユーザーはアカウントを作成するときに個人情報を提供する必要がありますが、サービスは通常この情報を検証しません。彼らは CAPTCHA を使用して、スパマーがボットを使用して何百ものスパムメール アカウントを生成するのを阻止しようとします。

    TicketMaster などのチケット ブローカーも CAPTCHA アプリケーションを使用します。これらのアプリケーションは、チケットダフ屋が大規模なイベントのチケットを大量に購入してサービスを攻撃するのを防ぐのに役立ちます。何らかのフィルターがなければ、ダフ屋がボットを使用して数秒のうちに何百、何千ものチケット注文を行うことが可能です。チケットが入手可能になってから数分後にイベントが完売するため、正規の顧客が犠牲になります。その後、ダフ屋はチケットを額面以上に売ろうとします。 CAPTCHA アプリケーションはスキャルピングを防止しませんが、大規模なチケットのスキャルピングをより困難にします。

    一部の Web ページには、訪問者がサイトにメッセージを投稿したり、Web 管理者に直接送信したりできるメッセージ ボードまたは連絡フォームが備わっています。スパムの雪崩を防ぐために、これらのサイトの多くはノイズを除去する CAPTCHA プログラムを備えています。 CAPTCHA は、失礼なメッセージを投稿したり、管理者に嫌がらせをしようとしているユーザーを阻止することはできませんが、ボットが自動的にメッセージを投稿するのを防ぐのには役立ちます。

    CAPTCHA の最も一般的な形式では、訪問者はアプリケーションによって何らかの形で歪められた単語または一連の文字と数字を入力する必要があります。 CAPTCHA 作成者の中には、そのようなアプリケーションの価値を高める方法、つまり書籍のデジタル化を考え出した人もいました。 CAPTCHA reCAPTCHA と呼ばれるアプリケーションは、CAPTCHA フィールドのユーザー応答を利用して、スキャンされた紙の内容を検証します。コンピューターはデジタル スキャンから単語を常に識別できるとは限らないため、印刷されたページに何が書かれているかを人間が確認する必要があります。これにより、検索エンジンがスキャンされた文書の内容を検索してインデックスを作成できるようになります。

    その仕組みは次のとおりです。 まず、reCAPTCHA プログラムの管理者が書籍をデジタル スキャンします。次に、reCAPTCHA プログラムはデジタル化された画像から 2 つの単語を選択します。アプリケーションはすでに単語の 1 つを認識しています。訪問者がその単語をフィールドに正しく入力すると、アプリケーションはユーザーが入力した 2 番目の単語も正しいとみなします。この 2 番目の単語は、アプリケーションが他のユーザーに提示する単語のプールに入ります。各ユーザーが単語を入力すると、アプリケーションはその単語を元の回答と比較します。最終的に、アプリケーションは単語を高い確実性で検証するのに十分な応答を受け取ります。その後、その単語は検証されたプールに入ることができます。

    時間がかかるように思えますが、この場合、CAPTCHA は二重の役割を果たしていることに注意してください。デジタル化された本の内容を検証するだけでなく、Web フォームに記入する人々が実際に人間のユーザーであることも検証します。その結果、それらの人々は使いたいサービスにアクセスできるようになります。

    次に、CAPTCHA を作成するプロセスを見ていきます。

    CAPTCHAの作成

    CAPTCHA を作成するための最初のステップは、人間と機械が情報を処理するさまざまな方法を調べることです。機械は一連の指示に従います。何かがこれらの命令の範囲外にある場合、マシンはそれを補うことができません。

    CAPTCHA 設計者は、テストを作成するときにこれを考慮する必要があります。たとえば、メタデータ (人間には見えないが機械は読み取ることができるWeb上の情報) を調べるプログラムを構築するのは簡単です。ビジュアル CAPTCHA を作成し、画像のメタデータにソリューションが含まれている場合、CAPTCHA はすぐに破損します。

    同様に、文字や数字を何らかの形で歪めない CAPTCHA を構築するのは賢明ではありません。歪みのない一連の文字はあまり安全ではありません。多くのコンピューター プログラムは、画像をスキャンして、文字や数字などの単純な形状を認識できます。

    CAPTCHA を作成する 1 つの方法は、使用する画像とソリューションを事前に決定することです。このアプローチには、すべての CAPTCHA ソリューションを含むデータベースが必要ですが、テストの信頼性が損なわれる可能性があります。

    Microsoft Research の専門家である Kumar Chellapilla 氏と Patrice Simard 氏によると、人間は特定の CAPTCHA を解決する成功率が 80% であるはずですが、マシンの成功率はわずか 0.01 であるはずです。スパム送信者がすべての CAPTCHA ソリューションのリストを見つけることができた場合、総当たり攻撃で CAPTCHA にあらゆる回答を攻撃するアプリケーションを作成することができます。データベースが優れた CAPTCHA の条件を満たすには、10,000 を超える CAPTCHA が必要になります。

    他の CAPTCHA アプリケーションは、文字と数字のランダムな文字列を作成します。同じシリーズが二度手に入ることはまずありません。ランダム化を使用すると、ブルート フォース攻撃の可能性が排除されます。ボットが正しい一連のランダムな文字を入力する確率は非常に低くなります。文字列が長ければ長いほど、ボットが幸運を得る可能性は低くなります。

    CAPTCHA は、単語を歪曲するためにさまざまなアプローチを採用しています。まるで溶けたガラスを通して単語を見ているかのように、奇妙な方法で文字を伸ばしたり曲げたりするものもあります。他の人は、文字の形を崩すために、棒のクロスハッチパターンの後ろに単語を置きます。同じ効果を実現するために、異なる色やドットのフィールドを使用するものもあります。最終的に、目標は同じです。コンピュータが CAPTCHA の内容を理解するのを非常に困難にすることです。

    デザイナーは、人間が解決しやすいパズルや問題を作成することもできます。一部の CAPTCHA はパターン認識と外挿に依存しています。たとえば、CAPTCHA には一連の形状が含まれており、いくつかの選択肢のうちどの形状が論理的に次に来るかをユーザーに尋ねることがあります。このアプローチの問題は、すべての人間がこの種の問題を得意とするわけではなく、人間のユーザーの成功率が 80% を下回る可能性があることです。

    次に、コンピュータが CAPTCHA をどのように破るかを見ていきます。

    今私の声が聞こえますか?

    多くの点で、音声 CAPTCHA は視覚的な CAPTCHA に似ています。データベースによるアプローチでは、CAPTCHA 作成者は、人物またはコンピュータが一連の文字を話すたびに事前に記録し、それらを適切なソリューションと照合する必要があります。ランダム化アプローチでは、作成者が各文字を個別に事前に記録し、アプリケーションが文字をランダムに並べて CAPTCHA を作成します。

    CAPTCHA を破る

    CAPTCHA プロジェクトの写真。

    CAPTCHA を解読する際の課題は、メッセージの内容を理解することではありません。結局のところ、人間には少なくとも 80% の成功率が必要です。本当に難しい仕事は、人間の思考と同じような方法で情報を処理する方法をコンピューターに教えることです。多くの場合、CAPTCHA を破る人々は、コンピュータをより賢くすることに集中しているのではなく、CAPTCHA によって引き起こされる問題の複雑さを軽減することに集中しています。

    英語の単語を表示する CAPTCHA を使用してオンライン Web フォームを保護したと仮定します。アプリケーションはフォントをわずかに歪め、文字を予期しない方法で伸縮させたり曲げたりします。さらに、CAPTCHA には単語の背後にランダムに生成された背景が含まれています。

    この CAPTCHA を解読したいプログラマは、段階的に問題にアプローチすることができます。彼または彼女は、アルゴリズム、つまりマシンに特定の一連のステップを実行するように指示する一連の命令を作成する必要があります。このシナリオでは、1 つのステップとして、画像をグレースケールに変換することが考えられます。つまり、アプリケーションは画像からすべての色を削除し、CAPTCHA が採用する難読化レベルの 1 つを取り除きます。

    次に、アルゴリズムは、白黒画像内のパターンを検出するようにコンピューターに指示します。プログラムは各パターンを通常の文字と比較し、一致するものを探します。プログラムが少数の文字しか照合できない場合、それらの文字を英単語のデータベースと相互参照する可能性があります。次に、可能性の高い候補者を送信フィールドに入力します。このアプローチは驚くほど効果的です。 100% 常に機能するわけではありませんが、スパム送信者にとって価値があるほど頻繁に機能する可能性があります。

    より複雑な CAPTCHA についてはどうすればよいでしょうか? Gimpy CAPTCHA は、不規則な背景にワープしたフォントで 10 個の英単語を表示します。 CAPTCHA では単語がペアに配置され、各ペアの単語が互いに重なり合います。次に進むには、ユーザーは 3 つの正しい単語を入力する必要があります。このアプローチはどの程度信頼できるのでしょうか?

    結局のところ、適切な CAPTCHA クラッキング アルゴリズムを使用しても、それほど信頼できるものではありません。 Greg Moe と Jitendra Malik は、Gimpy バ​​ージョンの CAPTCHA をクラックするアプローチの詳細を公開しました。彼らにとって役立った点の 1 つは、Gimpy のアプローチでは、ランダムな文字や数字の文字列ではなく、実際の単語が使用されていることです。これを念頭に置いて、モリ氏とマリク氏は、文字列の先頭と末尾を調べて単語を識別しようとするアルゴリズムを設計しました。また、Gimpy の 500 語辞書も使用しました。

    モリ氏とマリク氏は、アルゴリズムを使用して一連のテストを実行しました。彼らは、アルゴリズムが Gimpy CAPTCHA 内の単語を 33% の確率で正しく識別できることを発見しました。これは完璧には程遠いですが、重要なことでもあります。スパマーは、毎分数百回 CAPTCHA を破るようにボットを設定した場合、試行の 3 分の 1 しか成功しない可能性があります。

    CAPTCHA の発明者たちは、自分たちの努力の成果がハッカーによってばらばらにされることに腹を立てるだろうと思うかもしれませんが、それは間違いです。その理由については、次のセクションで説明します。

    電子耳

    音声 CAPTCHA も完全に安全というわけではありません。 2008 年の春、ハッカーが Google の音声 CAPTCHA システムを破る方法を見つけたという報告がありました。音声 CAPTCHA を解読するには、CAPTCHA のデータベース内の各文字を表す音声のライブラリを作成する必要があります。ディストーションによっては、同じキャラクターに複数のサウンドが存在する可能性があることに注意してください。各音声を分類した後、スパマーはさまざまな音声認識ソフトウェアを使用して音声 CAPTCHA を解釈します。

    CAPTCHAと人工知能

    CAPTCHA の写真。 

    カーネギーメロン大学のルイス・フォン・アンは、CAPTCHA の発明者の 1 人です。 2006 年の講演で、フォン・アン氏は CAPTCHA などと人工知能 (AI) の分野との関係について話しました。 CAPTCHA はスパマーやハッカーとその目的との間の障壁であるため、これらの人々は CAPTCHA を破るために時間と労力を費やしています。彼らの成功は、マシンがより洗練されていることを意味します。誰かが CAPTCHA を破るように機械に教える方法を発見するたびに、私たちは人工知能に一歩近づきます。

    人々が CAPTCHA を回避する新しい方法を見つけるにつれて、フォン・アン氏のようなコンピューター科学者は AI 分野の他の課題に対処する CAPTCHA を開発しています。 CAPTCHA にとっては一歩後退しても、AI にとっては前進であり、すべての敗北は敗北でもあります。

    しかし、Web 管理者はどうでしょうか?彼らはフォン・アンの哲学をそれほど魅力的に感じないかもしれない。彼らの視点から見ると、彼らは依然としてスパマーとハッカーという大きな問題に対処しなければなりません。 Web サイトを管理したり、オンライン投票を作成したりする人は、いくつかの CAPTCHA システムが有効ではなくなっていることに注意する必要があります。

    どの CAPTCHA アプリケーションが依然として信頼できるかについて少し調査することが重要です。そして、このテーマについて常に最新の情報を入手し続けることも同様に重要です。 1 つの CAPTCHA システムに障害が発生した場合、管理者はサイトからコードを削除し、別のバージョンに置き換える必要がある場合があります。

    CAPTCHA デザイナーは紙一重の判断を迫られます。コンピューターがより高度になるにつれて、テスト方法も進化する必要があります。しかし、人間がまともな成功率で CAPTCHA を解決できないところまでテストが進化すると、システム全体が機能しなくなります。答えには、テキストの歪みや変形が含まれない場合があります。ユーザーは、数式を解くか、短編小説に関する質問に答える必要があるかもしれません。そして、これらのテストが複雑になるにつれて、ユーザーの興味を失うリスクがあります。まず二次方程式を解かなければならない場合でも、掲示板に返信したいと思う人がどれだけいるでしょうか?

    2014 年、Google (2009 年に reCAPTCHA を買収) は、従来のサービスの段階的廃止を開始しました。その代わりに、「私はロボットではありません」という言葉が書かれたボックスにチェックを入れるように求められました。これは「No CAPTCHA」と呼ばれていました。で、Google は No CAPTCHA を廃止すると発表しました。代わりに、このサービスは、ユーザーが画面上のポインターをどのように動かすかに注目したり、閲覧習慣を分析してユーザーが人間であるかロボットであるかを判断するなどの技術に依存します。これを といいます。疑わしいと思われる場合 (おそらく実際にはロボットである可能性があります)、さらなる検証として解決すべき古い reCAPTCHA の課題の 1 つが表示されます。

  • デジタル署名とは何ですか?

    デジタル署名は基本的に、電子文書 (電子メール、スプレッドシート、テキスト ファイルなど) が本物であることを確認する方法です。本物とは、文書の作成者がわかっており、その人が作成してから文書が一切変更されていないことがわかっていることを意味します。

    デジタル署名は、認証を保証するために特定の種類の暗号化に依存します。暗号化は、あるコンピュータが別のコンピュータに送信するすべてのデータを取得し、他のコンピュータのみが復号できる形式にエンコードするプロセスです。認証は、情報が信頼できるソースからのものであることを確認するプロセスです。これら 2 つのプロセスは、デジタル署名に関して連携して機能します。

    コンピュータ上の個人または情報を認証するには、いくつかの方法があります。

    パスワード– ユーザー名とパスワードの使用は、最も一般的な認証形式を提供します。コンピュータのプロンプトが表示されたら、名前とパスワードを入力します。ペアを安全なファイルと照合して確認します。名前またはパスワードのいずれかが一致しない場合、それ以降のアクセスは許可されません。

    チェックサム– おそらくデータが正しいことを確認する最も古い方法の 1 つであり、無効なチェックサムはデータが何らかの方法で侵害されたことを示唆するため、チェックサムは認証の形式も提供します。チェックサムは 2 つの方法のいずれかで決定されます。パケットのチェックサムの長さが 1 バイトであるとします。これは、最大値が 255 であることを意味します。パケット内の他のバイトの合計が 255 以下の場合、チェックサムにはその正確な値が含まれます。ただし、他のバイトの合計が 255 を超える場合、チェックサムは合計値を 256 で割った残りになります。次の例を見てください。

    • バイト 1 = 212
    • バイト 2 = 232
    • バイト 3 = 54
    • バイト 4 = 135
    • バイト5 = 244
    • バイト6 = 15
    • バイト 7 = 179
    • バイト 8 = 80
    • 合計 = 1151 。 1151 を 256 で割ると、4.496 (四捨五入) になります。 4 X 256 を掛けると、1024 になります。1151 から 1024 を引くと、チェックサムは 127 になります。

    CRC (巡回冗長検査) – CRC は概念としてはチェックサムに似ていますが、多項式除算を使用して CRC の値を決定します。CRC の値は通常、長さが 16 ビットまたは 32 ビットです。 CRC の良い点は、非常に正確であることです。 1 つのビットが間違っている場合、CRC 値は一致しません。チェックサムと CRC はどちらも、送信中のランダム エラーを防ぐのに役立ちますが、データに対する意図的な攻撃からはほとんど保護されません。以下の暗号化技術はより安全です。

    秘密キーの暗号化 –秘密キーとは、各コンピュータが情報のパケットをネットワーク経由で他のコンピュータに送信する前に暗号化するために使用できる秘密キー (コード) を持っていることを意味します。秘密キーを使用するには、どのコンピュータが相互に通信するかを把握し、各コンピュータにキーをインストールする必要があります。秘密キー暗号化は、情報を復号化するために 2 台のコンピューターがそれぞれ知っている必要がある秘密コードと本質的に同じです。このコードは、メッセージを解読するための鍵を提供します。このように考えてください。友人に送信するコード化されたメッセージを作成します。各文字は 2 番目の文字に置き換えられます。したがって、「A」は「C」になり、「B」は「D」になります。あなたはすでに信頼できる友人に、そのコードが「Shift by 2」であることを伝えました。友人はメッセージを受信して​​解読します。他の人がこのメッセージを見ると、ナンセンスにしか見えなくなります。

    公開キー暗号化– 公開キー暗号化では、秘密キーと公開キーの組み合わせを使用します。秘密キーはあなたのコンピュータだけが知っていますが、公開キーはあなたのコンピュータから、そのコンピュータと安全に通信したいすべてのコンピュータに与えられます。暗号化されたメッセージを復号するには、コンピュータは送信元のコンピュータから提供された公開キーとそれ自体の秘密キーを使用する必要があります。

    キーはハッシュ値に基づいています。これは、ハッシュ アルゴリズムを使用して基本入力数値から計算される値です。ハッシュ値に関して重要なことは、ハッシュ値の作成に使用されたデータを知らずに元の入力数値を導き出すことはほぼ不可能であるということです。簡単な例を次に示します。

    番号10667を入力してください

    ハッシュ アルゴリズム = 入力番号 x 143

    ハッシュ値 = 1525381

    1525381 の値が 10667 と 143 の乗算から得られると判断するのがいかに難しいかがわかります。しかし、乗数が 143 であることがわかっていれば、10667 の値を計算するのは非常に簡単です。 公開キー暗号化この例よりもはるかに複雑ですが、それが基本的な考え方です。公開キーは通常、暗号化に複雑なアルゴリズムと非常に大きなハッシュ値 (40 ビット、さらには 128 ビットの数値) を使用します。 128 ビットの数値には、2 128通りの異なる組み合わせが可能です。これは、オリンピック サイズの 270 万個のプールに存在する水分子と同じ数の組み合わせです。あなたがイメージできる最も小さな水滴でさえ、その中に何十億もの水分子が含まれています。

    デジタル証明書– 安全な Web サーバーに必要な場合など、公開キー暗号化を大規模に実装するには、別のアプローチが必要です。ここでデジタル証明書が登場します。デジタル証明書は基本的に、Web サーバーが認証局と呼ばれる独立したソースによって信頼されていることを示す情報です。認証局は、両方のコンピュータが信頼する仲介者として機能します。各コンピュータが実際に本人であることを確認し、各コンピュータの公開鍵を他のコンピュータに提供します。

    デジタル署名標準 (DSS) は、デジタル署名アルゴリズム (DSA)を使用する公開キー暗号化方式の一種に基づいています。 DSS は、米国政府によって承認されたデジタル署名の形式です。 DSA アルゴリズムは、文書の作成者 (署名者) だけが知っている秘密鍵と公開鍵で構成されます。公開キーには 4 つの部分があります。詳細については、「 」を参照してください。

    電子決済は通貨の未来となる可能性があります。ここをクリックして、デジタル署名が電子決済の将来を保護するのにどのように役立つかをご覧ください。

    以下に興味深いリンクをいくつか示します。