深刻なセキュリティ: ブラックジャックで家を打ち負かすことはできません。

Cryptoguru Bruce Schneier (どこで クリプト 手段 暗号、他のことではありません!) というタイトルの興味深いメモを彼のブログに公開しました 自動カードシャッフルのランダム性について.

ネバダ州の少なくとも XNUMX つのカジノに行ったことがある場合は、ブラックジャックのテーブルが、業界で次のように知られている顧客とのチャンスを逃さないことを知っているでしょう。 カードカウンター.

この用語は、ハンドでこれまでにプレイされたカードを綿密に追跡できるようになるまで記憶を訓練したプレーヤーを指すために使用されます。これにより、プレイとしてスタンドするかヒットするかを予測する際に、家よりも理論的に有利になります。進行します。

カード カウンターは、ディーラーのシューに残っている 10 枚のカード (Ten、Jack、Queen、King) と 10 以外のカードの比率を追跡するだけでもアドバンテージを得ることができます。

たとえば、ディーラーがエースを持って座っているが、平均以上の数の 10 値のカードがすでに使い果たされている場合、ディーラーがブラックジャックを行う可能性は平均以下になります (21 枚のカードで 10 ポイント、つまりエースと 17-JQK のうちの XNUMX つ) と一気に勝ち、XNUMX 以上の停止ポイントに到達する前に平均以上の確率でバーストします。

頭の中でリアルタイムで確率のバランスをとることができれば、それに応じて賭けを変更し、長期的には有利になる可能性があります。

少なくともネバダ州では、実際にこれを試してはいけません。カードを数えていない場合、プレイのパターンは、最も情報に基づいた勝利の選択肢から著しく逸脱するため、カジノはすぐにあなたを捕まえる可能性があります. あなたは法廷に出廷することはないかもしれませんが、ほぼ確実に施設から連れ出され、二度と戻らないでしょう.

オッズの平準化

カードカウンターが享受する確率のカウンターバランスを減らすために(少なくともまだ捕まっていない人は)、カジノは通常次のことを行います。

  • 52 枚のカードが XNUMX パック (デッキ) 入ったシューからハンドを配ります。 これは、XNUMX つのパックを使用した場合よりも、配られた各ハンドがカードの残りの分布をゆがめることを意味します。
  • 毎回のハンドの前に、シュー全体の 312 枚のカード (XNUMX パック) をシャッフルします。 時間を節約し、ディーラーから疑いを取り除くために、疑似ランダム電気機械マシンが、すべてのプレーヤーの前で、テーブルのすぐ上でカードをシャッフルします。

これはすぐに Schneier によって提起された質問を提起します: カードが機械から出てきたとき、カードはどれだけうまくシャッフルされているのでしょうか?

特に、予測可能な順序 (ハートのエースからキング、エースからクラブのエース、キングからダイヤのエース、キングからスペードのエース) で到着する XNUMX つの新しいカード パックでは、機械はその仕事をしましたか?

靴から出てくる次のカードを偶然よりもうまく「推測」できますか?

完全に電子的なランダマイザーの複雑さは、主に使用する CPU の速度によって制限されます。CPU の速度は通常、XNUMX 秒間に数億回または数十億回の算術演算で測定されます。

しかし、電気機械式のカード シャッフラーは、実際にカードを文字通り動かさなければなりません。

メカニズムの速度がカードを損傷し始める前に、パックの分割、カードの交換、およびインターリーブ操作を実行できる速度には明らかに制限があります。つまり、ランダム性 (または、より正確には、 疑似ランダム性) マシンは、次のハンドをプレイする前に導入できます。

シャッフルの時間が短すぎると、最初からカードの配布に既知の偏りがある場合、カジノは実際にカードカウンターにとって物事を容易にする可能性があります.

シャッフルが長すぎると、プレイが遅すぎて、プレイヤーが飽きてさまよってしまいます。これは、カジノが必死に避けようとすることです。

Schneier のブログ投稿のリンクは、 魅力的な作品 スタンフォード大学のペルシ・ディアコニスと呼ばれる数学者/魔術師が、ジェイソン・フルマンとスーザン・ホームズと共に、今世紀初めにこの問題について正式な調査をどのように行ったかを説明する BBC による、単純に次のようなタイトルの論文で: カジノ棚シャッフリングマシンの分析.

複雑さのレベル

明らかに、単純に次のように、カードをまったく混ぜないシャッフル テクニックがいくつかあります。 切断 パックを XNUMX つの部分に分け、下部を上部に移動します。

他のテクニックはより良いミキシングをもたらします (またはそうすべきだと感じます)。 リフルシャッフル、パックを大まかに半分に分割し、半分をそれぞれの手で持ち、XNUMXつの半分を一緒に「裏返し」、片側から数枚のカードを取り、次に反対側から数枚のカードを交互に取る疑似ランダムな方法でそれらをインターリーブします.

アイデアは、パックを数回リフルシャッフルする場合、各リフルの前にパックを分割するたびにカットの疑似ランダムシーケンスを実行し、N-from-the-左から右から M プロセス。

しかし、興味深いことに、熟練した人間のシャッフラーが関与する場合、これらの予測不可能性の仮定はどれも安全ではありません。

器用なマジシャンと曲がったディーラー (ディアコニス自身は前者ですが、後者ではありません) は、 ファロシャッフルまたは 完璧なシャッフル、彼らはパックをリフルするたびに、次の両方のことを行います。

  • カードを正確にXNUMXつに分割し、 したがって、各ハンドで正確に 26 枚のカードを取得します。
  • それらを完璧にインターリーブし、 毎回、各手から交互に、一度に正確に XNUMX 枚のカードを裏返します。

ディアコニス自身は完璧なシャッフルを行うことができます (パックの両方の半分を片手で保持する珍しいスキルを含む!)、BBC によると:

[彼] は、新しいカードのデッキを用意して、片面に太い黒のマーカーで「RANDOM」という言葉を書くことで、完璧なシャッフルを実演するのが好きです。 彼がカードを巧みに操っていると、文字が混ざり合い、古いテレビ セットの不完全に調整された画像のように、時々幽霊のような形で現れます。 その後、彼が XNUMX 回目と最後のシャッフルを行った後、その単語はデックの横に再出現します。 カードは、スペードのエースからハートのエースまで、正確に元の順序になっています。

XNUMX種類の完成度

実際、カードを 26 つの XNUMX 枚のカードの山にカットした後、どちらのハンドからリフリングを開始するかによって、XNUMX 種類のパーフェクト シャッフルがあります。

カードをインターリーブして、1-27-2-28-3-29-…-25-51-26-52 の順序になるようにすることができます。彼はパックの下半分です。

しかし、最初にめくったカードがパックの上半分だったものの一番下のカードだった場合、27-1-28-2-29-3-…-51-25-52-26 になるので、途中で終わったカードはその後一番上になります。

前者のタイプは アウトシャッフル、次に示すように、52 回繰り返すごとにパックを並べ替えます (画像には XNUMX 行のピクセルがあり、各行は XNUMX 枚のカードの端に対応し、マーカー ペンで RANDOM という単語が書かれています)。

真剣なセキュリティ: ブラックジャックでハウスに勝つことはできません – それともできるでしょうか? PlatoBlockchain データ インテリジェンス。垂直検索。あい。
8 回のアウトシャッフルごとに、イメージ内の行の元の順序が繰り返されます。

後者のタイプは インシャッフル、そしてこれは、驚くべきことに、繰り返す前に 52 回の再シャッフルを要しますが、パックが真のランダム性を実際に示すことは決してなく、途中で完全な反転さえ通過することがはっきりとわかります。

真剣なセキュリティ: ブラックジャックでハウスに勝つことはできません – それともできるでしょうか? PlatoBlockchain データ インテリジェンス。垂直検索。あい。
インシャッフルは、52 回ごとに興味深い方法で繰り返されます。

数学者は何と言いましたか。

それで、2013年にDiaconis el al。 メーカーの招待でシェルフシャフラーマシンを研究したところ、彼らは何を見つけましたか?

紙が説明しているように、シェルフ シャッフルは、シャッフル時間を短く保つために、理想的にはカードを XNUMX 回だけ処理する必要があるように、自動化されたランダム化された「マルチカット マルチリフル シャッフル」を考案する電気機械的な試みです。

シェルフ シャッフラー内のカードは、デバイス内の N 個の金属製シェルフ (名前の由来) の XNUMX つに疑似ランダムに一度に XNUMX つずつ急速に「配られ」、カードがシェルフに追加されるたびに、下、または前のカードの上にドロップします。 (既にスタックにある XNUMX 枚のランダムなカードの間にカードを差し込もうとすると、処理が遅くなり、カードにダメージを与える可能性があると想定しています。)

すべてのカードが棚に割り当てられた後、各棚にカードの約 1/N が配置されるように、カードは疑似ランダムな順序で XNUMX つの山に再組み立てされます。

疑似ランダム性が関係していることを考えると、直観的には、再シャッフルを追加することで、全体的なランダム性がある程度改善されることが期待できます…

…しかし、マシンに 10 個の棚があったこの場合、研究者は具体的に尋ねられました。 「適切なランダム性を生成するには、マシンの XNUMX 回のパスで十分でしょうか?」

おそらく、会社は、プレーヤーを満足させ、ゲームの流れを良好に保つために、複数のサイクルでマシンを実行することを避けたいと考えており、デバイスを設計したエンジニアは、独自のテスト中に明らかに搾取可能な統計的異常を検出していませんでした.

しかし、会社はそれを確認したかった テストがマシンに適していたという理由だけで、独自のテストに合格していませんでした、それは彼らに誤った安心感を与えるでしょう。

最終的に、研究者はランダム性がかなり悪いことを発見しただけでなく、それがどれほど悪いかを正確に定量化し、ランダム性の欠如を説得力を持って明らかにする代替テストを考案することができた.

特に、デバイスを 9 回パスするだけで、シャッフルされた出力に十分な数の短い一連のカードが残り、後でシャッフルされた 10 枚のカードのパックが配られたときに、平均して 52 ~ XNUMX 枚のカードを確実に予測できることが示されました。

研究者が書いたように:

[U]私たちの理論を使用すると、知識のあるプレイヤーは 9 枚のカード デッキを 52 回の実行で約 4 枚のカードを正しく推測できることを示すことができました。 よくシャッフルされたデッキの場合、最適な戦略では約 XNUMX 枚のカードが正しくなります。 このデータは会社を納得させました。 この理論は、有用な治療法も示唆しています。

[...]

会社の社長は、「あなたの結論には満足していませんが、私たちはそれを信じており、それがあなたを雇った理由です。」 簡単な代替案を提案しました。マシンを 200 回使用します。 これにより、XNUMX シェルフ マシンと同等のシャッフルが発生します。 ここでは報告されていませんが、私たちの数学的分析とさらなるテストは、これが十分にランダムであることを示しています。

何をするか?

この物語にはいくつかの「教えられる瞬間」が含まれており、特にランダムネスに取り組んでいるプログラマーやプロダクト マネージャーであろうと、サイバーセキュリティの保証に関与している SecOps/DevOps/IT/サイバーセキュリティの専門家であろうと、それらから学ぶのが賢明です。全般的:

  • 独自のテストに合格するだけでは十分ではありません。 独自のテストに失敗することは間違いなく悪いことですが、特に修正や「バグ修正」がテストを通過したかどうかによって測定される場合は、アルゴリズム、製品、またはサービスが合格すると予想されるテストに行き着くのは簡単です. 場合によっては、客観的で独立した情報源から得られるセカンドオピニオンが必要です。 その独立した概要は、カリフォルニアの数学的統計学者のクラック チームから得られる可能性があります。 侵入テスターの外部「レッドチーム」から。 または、サイバーセキュリティの状況に自分の目と耳を向ける MDR (マネージド型の検出と対応) の乗組員から。
  • 悪いニュースを聞くことは重要です。 この場合、シャッフル機会社の社長は、結果に不満を持っていることを認めたとき、完全に答えましたが、単に彼が望んでいることを聞くためではなく、真実を明らかにするためにお金を払った.
  • 特に暗号化、および一般的なサイバーセキュリティは困難です。 助けを求めることは、失敗を認めることではなく、成功するために何が必要かを認識することです。
  • ランダム性は、偶然に任せるにはあまりにも重要です。 障害の測定は簡単ではありません (紙を読む 理由を理解する必要があります) が、実行可能であり、実行する必要があります。

サイバーセキュリティの脅威に対応するための時間や専門知識が不足していませんか? サイバーセキュリティのせいで、やらなければならない他のすべてのことから気が散ってしまうのではないかと心配していますか?

詳細については、こちらから ソフォスが管理する検出と対応:
24時間年中無休の脅威のハンティング、検出、および対応  ▶


タイムスタンプ:

より多くの 裸のセキュリティ