RU2302276C2 - Аутентификация в защищенной компьютеризованной игровой системе - Google Patents

Аутентификация в защищенной компьютеризованной игровой системе Download PDF

Info

Publication number
RU2302276C2
RU2302276C2 RU2004134356/09A RU2004134356A RU2302276C2 RU 2302276 C2 RU2302276 C2 RU 2302276C2 RU 2004134356/09 A RU2004134356/09 A RU 2004134356/09A RU 2004134356 A RU2004134356 A RU 2004134356A RU 2302276 C2 RU2302276 C2 RU 2302276C2
Authority
RU
Russia
Prior art keywords
game
game data
data
betting
computerized
Prior art date
Application number
RU2004134356/09A
Other languages
English (en)
Other versions
RU2004134356A (ru
Inventor
Марк Д. ДЖЕКСОН (US)
Марк Д. ДЖЕКСОН
Original Assignee
Ай Джи Ти
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ай Джи Ти filed Critical Ай Джи Ти
Publication of RU2004134356A publication Critical patent/RU2004134356A/ru
Application granted granted Critical
Publication of RU2302276C2 publication Critical patent/RU2302276C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Abstract

Изобретение относится к использованию методов аутентификации с использованием доказательств с нулевым знанием в качестве базы для обеспечения защиты в компьютеризированной игровой системе для игры на ставки. Технический результат достигается за счет обеспечения архитектуры и способа игры на ставки путем защищенного хранения и верификации игрового кода и других данных, обеспечивая возможность защищенного обмена игрового кода в компьютеризированной игровой системе на ставки и/или сетевой системе. Изобретение обеспечивает возможность идентифицировать код игровой программы как сертифицированный или утвержденный Комиссией по регулированию игр штата или другими регулирующими агентствами. Изобретение также обеспечивает эти и другие функции с использованием шифрования, арифметических операций по модулю, хеш-функций и других криптографических методов. 6 н. и 32 з.п. ф-лы, 6 ил.

Description

Область техники
Настоящее изобретение относится к компьютеризованным игровым системам для игры на ставки, более конкретно к использованию методов аутентификации с использованием доказательств с нулевым знанием (zero knowledge proof - ZKP) в качестве базы для обеспечения защиты в компьютеризованной игровой системе для игры на ставки.
Предшествующий уровень техники
Азартные игры являются излюбленными играми людей уже в течение тысяч лет и в последнее время становятся все более распространенными и популярными. Как и в случае других форм развлечения, игроки с удовольствием играют в самые разнообразные и новые виды игр. Новые игры доставляют дополнительное удовольствие от игры. Как хорошо известно в технике и используется в настоящем описании, термины «игра» и «игровые устройства» используются для указания на то, что с этим связана некоторая форма пари, осуществление ставок, и что игроки должны делать ставки на стоимость, будь то реальные деньги или некоторый эквивалент стоимости, например жетон или кредит.
Популярной азартной игрой является автомат для игры в слоты. Обычно автомат для игры в слоты обеспечивает игроку возможность осуществления ставки на некоторую стоимость, например сумму денег, жетонов игорного дома, установленного кредита или другое представление денег или кредита. После того как ставка сделана, игрок приводит в действие игровой автомат, чтобы вызвать возникновение случайного события. Игрок ставит ставку на то, что это конкретное событие произойдет и обеспечит возвращение стоимости игроку. В стандартном устройстве имеется множество барабанов, которые вращаются и в конечном счете останавливаются, отображая случайную комбинацию некоторой формы знаков, например чисел или символов. Если это отображение содержит одно из предварительно выбранного множества выигрышных комбинаций, то автомат выдает деньги в лоток выплат или увеличивает показание счетчика кредита на величину выигрыша игрока. Например, если игрок первоначально поставил две монеты конкретного номинала, и этот игрок получил выплату, то игрок может получить то же число или кратное число от суммы ставки в монетах того же достоинства, в каких была сделана ставка.
Имеется множество различных форматов для генерации изображения случайных событий, которые могут произойти, для определения выплат в устройствах для игры на ставки. Стандартным или первоначальным форматом было использование трех барабанов с символами, распределенными по поверхности барабана. Когда три барабана приводились во вращение, они в конечном счете прекращали вращаться и показывали комбинацию из трех символов (например, при использовании трех барабанов и единственной линии выплаты в качестве ряда в середине области, где визуализируются символы). Путем соответствующего распределения и варьирования символов на каждом из барабанов случайное возникновение предварительно определенных выигрышных комбинаций может быть обеспечено с математически предварительно определенными вероятностями. Путем четкого обеспечения конкретных вероятностей для каждого из предварительно выбранных выигрышных результатов можно легко контролировать точные шансы, которые будут определять сумму выплат для каждой конкретной комбинации и долю выплат по ставкам для игорного дома.
Количество разных форматов игровых автоматов, которые были разработаны в процессе развития от простого игрового автомата для игры в слоты с тремя барабанами, выросло в огромных масштабах с разработками игровых автоматов для видеоигр. Вместо наличия только механических элементов, таких как колеса или барабаны, которые вращались и останавливались для отображения случайным образом символов, игровые автоматы для видеоигр и быстро возрастающая сложность аппаратного и программного обеспечения привели к бурному развитию новых весьма привлекательных игровых автоматов. Первые игровые автоматы для видеоигр просто имитировали или моделировали игру с механическими барабанами, поскольку существовало мнение, что игроки желали бы играть только в те же самые игры. Поэтому первые видеоигры представляли собой имитированные игровые автоматы для игры в слоты. Использование игровых автоматов для видеоигр, предназначенных для новых игр, таких как покер и кено, пробили путь к осмыслению того, что имелось множество неиспользованных форматов для игровых автоматов. В настоящее время казино могут иметь сотни различных типов игровых автоматов со сравнимым количеством существенных различий в игре. Автомат может модифицироваться от традиционных автоматов с тремя барабанами с единственной линией выплат, видеоимитации игровых автоматов с тремя барабанами к имитированным автоматам для игры в слоты с пятью барабанами, с пятью столбцами, с выбором двенадцати и более отдельных линий выплат, включая расположенные случайным образом линии выплат, выплаты вразброс или выплаты для одного отображения. В дополнение к варьированию форматов для игр с большим успехом были введены призовые игры, призовые вознаграждения и прогрессивные джекпоты. Призовые игры могут быть связаны с осуществлением игры, которая совершенно отличается от первоначальной игры, например отображение видеоизображения скачек со ставками на отдельных лошадей, случайным образом сопоставляемых с игроками, которые получили право на призовую игру, вращение случайным образом барабана с фиксированными суммами призовых выплат для барабана (или его имитации), или попытка выбрать случайную карту, которая имеет более высокий номинал, чем карта, показанная от лица виртуального дилера.
Примеры таких игровых автоматов с отличающейся функцией призовой игры раскрыты в патентах США 5823874, 5848932, 5853041, в патентах Великобритании 2201821А, 2202984А, 2072395А и в патенте Германии 4014477А1. Каждый из этих патентов отличается способами игры в рамках призового раунда. Патент Великобритании 2201821А и патент Германии 3700861А1 описывают игровой автомат, в котором, после того как в первый раз достигнут выигрыш в игровом сегменте того типа, в котором используются барабаны, начинается второй сегмент, чтобы определить присужденное количество денег или дополнительных игр. Игра второго сегмента связана с использованием вращающегося барабана с приведенными на нем призовыми (например, количество монет или количество дополнительных игр) и вращающейся стрелки, которая будет указывать на сегменты на барабане со значениями призовых на нем. Игрок будет нажимать кнопку останова, и стрелка будет указывать на одно из значений. В описании указывается, что имеется определенный уровень способностей у игрока, связанный с остановкой барабана и стрелки (стрелок), а также что связанный компьютер действует для обеспечения случайного выбора циклически изменяющихся чисел для определения результатов в дополнительной выигрышной игре, что указывает на некоторый выбор случайным образом во втором игровом сегменте. Патенты США 5823874 и 5848932 описывают игровое устройство, содержащее первый стандартный игровой блок для отображения случайно выбранной комбинации знаков, причем отображаемые знаки выбраны из группы, состоящей из барабанов, знаков на барабанах, знаков игральных карт и их комбинаций; средство для генерации, по меньшей мере, одного сигнала, соответствующего, по меньшей мере, одному выбранному изображению знаков, первым игровым блоком; средство для обеспечения, по меньшей мере, одного различимого знака механического указателя призовой игры, причем упомянутый различимый знак указывает, по меньшей мере, на одну из множества возможных призовых игр, причем упомянутое средство для обеспечения оперативно связано с первым стандартным игровым блоком и активизируется в ответ на упомянутый сигнал. Реально второе игровое событие имитирует механический указатель призовой игры, такой как колесо рулетки или колесо с указательным элементом.
Видеотерминал представляет собой другую форму игрового устройства. Видеотерминалы работают тем же способом, что и обычные слот-автоматы или видеоавтоматы, за исключением того, что выдается квитанция о погашении вместо непосредственной выдачи выплаты.
Огромный массив игровых автоматов для электронных видеоигр, коммерчески доступных в настоящее время, не стандартизованы в промышленности или необходимым образом даже в рамках коммерческой линии устройств, выпускаемых одним изготовителем. Одной из причин такого отсутствия однородности или стандартизации является то обстоятельство, что операционные системы, которые используются в настоящее время в промышленности, являются примитивными. В результате программист должен часто создавать код для каждой отдельной функции, выполняемой индивидуальным автоматом. До настоящего времени, до правообладателя настоящего изобретения, не было известно ни одного изготовителя, который бы смог успешно создать универсальную операционную систему для преобразования существующего оборудования (которое включает в себя такие признаки, как повторно используемые модули кода), по меньшей мере частично, из-за ограничений в применимости и совместимости с существующими используемыми операционными системами. При создании новых игр по вышеназванным причинам в типовом случае создаются новые аппаратные средства и программное обеспечение.
Была сделана, по меньшей мере, одна попытка создать универсальную игровую машину (процессор), выделяющую код, ассоциированный с генерацией случайных чисел (RNG), и алгоритмы, применяемые к последовательности случайных чисел, из остатка кода. В патенте США 5707286 описано такое устройство. Патентовладелец понял, что модульный код обеспечит выгоды от использования, однако предложил выполнить модульными только RNG и алгоритмы передачи.
Отсутствие стандартной операционной системы способствовало поддержанию искусственно высокой цены на эти системы на рынке. Этому способствует использование уникальных и нестандартизованных интерфейсов аппаратных средств в различных выпускаемых видеоигровых системах. Различные аппаратные средства, различные коды доступа, различные связи выводов, различные жгуты проводки для соединения выводов, различные функции, обеспечиваемые с различных выводов, и другие разнообразные и различающиеся конфигурации в пределах систем препятствуют стандартизации в данной области техники. Это является предпочтительным для изготовителей игровых автоматов, поскольку игры для каждой системы предоставляются исключительным образом одним изготовителем, и системы в целом легко устаревают, так что рынок вынужден приобретать комплектный блок, а не просто заменять программное обеспечение и аппаратные средства. Таким образом, конкуренты не могут просто обеспечить одну игру, в которую можно было бы играть с использованием различных аппаратных средств. Решение этой проблемы представлено в совместно поданной настоящим заявителем заявке на «Видеоигровое устройство для игры на ставки с использованием универсального компьютеризованного контроллера и интерфейса ввода/вывода для уникальной архитектуры» № 09/405,921 от 24 сентября 1999, раскрытие которой включено в настоящее описание посредством ссылки.
Изобретение компьютеризованных игровых систем, которые включают в себя обычный или универсальный контроллер видеоигры на ставки, который может быть установлен в широком классе устройств для видеоигр без существенной модификации контроллера игры, сделало возможным стандартизацию многих компонентов и соответствующего программного обеспечения игр в игровых системах. Такие системы желательным образом должны иметь функции и свойства, которые специальным образом настраиваются с конкретными потребностями поддержки разнообразных игр и типов игровых автоматов, обеспечивая это эффективным, надежным и экономичным способом.
В дополнение к осуществлению связи между универсальной операционной системой и нестандартными устройствами в составе игрового автомата, такими как монетоприемники, мониторы, устройства проверки банкнот и т.п., было бы желательно обеспечить функции защиты, которые позволяют операционной системе проверять то, что код игры и другие данные не были изменены в ходе функционирования.
В патенте США 5643086 описана игровая система, обеспечивающая возможность аутентификации приложения или игровой программы, сохраненной в устройстве памяти (носителе данных), таком как CD-ROM (ПЗУ на компакт-диске), RAM (ОЗУ), ROM (ПЗУ) или другом устройстве с использованием методов хеширования и шифрования. Устройства памяти могут быть расположены в игровом автомате или могут быть внешними относительно игрового автомата. Такой способ верификации не позволит обнаружить какие-либо изменения, которые возникают в исполняемом коде, поскольку этот способ тестирует код, находящийся на носителе до его загрузки в ОЗУ. Система аутентификации основывается на использовании цифровой подписи и предусматривает хеширование всего набора данных до осуществления процесса шифрования и дешифрования. См. также патенты США 6106396 и 6149522.
Патентная заявка США № 09/949,021 от 7 сентября 2001 на «Шифрование в защищенной компьютеризованной игровой системе» раскрывает систему шифрования/аутентификации, в которой компьютеризованный игровой контроллер имеет процессор, память и энергонезависимую память и обеспечивает управление компьютеризованной игрой на ставки; и игровые данные, сохраненные в энергонезависимой памяти, причем игровые данные, сохраненные в энергонезависимой памяти, проверяются в процессе работы. Кроме того, раскрыта игровая система, содержащая энергонезависимую память, зашифрованный файл управления, сохраненный в энергонезависимой памяти, причем зашифрованный файл управления включает в себя набор имен программных файлов, дающих информацию команд, код аутентификации сообщений, уникальный для каждого программного файла, и ключ кода аутентификации сообщений; игровой контроллер, обеспечивающий возможность дешифрования зашифрованного файла управления и аутентификации файлов игровых программ в процессе работы игровой системы; и устройства игровой системы, осуществляющие связь с игровым контроллером через интерфейс игровой системы.
Эта система может дополнительно содержать процесс кода аутентификации сообщений, сохраненный в памяти, причем игровой контроллер аутентифицирует набор программных файлов путем применения процесса аутентификации сообщений с использованием программных файлов и ключа кода аутентификации сообщений для обеспечения набора дополнительных кодов аутентификации сообщений и сравнения кодов аутентификации сообщений из файла управления с дополнительными кодами аутентификации сообщений. Дополнительно система может иметь процесс аутентификации сообщений, сохраненный в ПЗУ. Также раскрыт считываемый компьютером носитель, имеющий исполняемые компьютером команды для выполнения способа подготовки набора игровых данных, обеспечивающего возможность аутентификации, включающего обеспечение набора игровых данных, определение кода аутентификации сообщений, уникального для набора игровых данных; и сохранение набора игровых данных и кода аутентификации сообщений; а также считываемый компьютером носитель, имеющий исполняемые компьютером команды для выполнения способа аутентификации игры, используемой в игровой системе, включающего прием зашифрованного файла управления; дешифрование зашифрованного файла управления для обеспечения файла управления, причем файл управления включает в себя набор имен программных файлов, обеспечивающих информацию команд, набор кодов аутентификации сообщений, включающий в себя код аутентификации сообщений, уникальный для каждого программного файла, и ключ кода аутентификации сообщений; и использование исходного файла управления для верификации аутентификации игры.
Имеется потребность в альтернативной архитектуре и способах обеспечения специфической для игр платформы, которая отличается защищенным хранением и верификацией игрового кода и других данных, обеспечивает возможность защищенного изменения игрового кода в компьютеризованной игровой системе на ставки и имеет возможность проверять то, что этот код не изменился в процессе работы игрового автомата.
В области обеспечения защищенности игровых автоматов также желательно, чтобы игровой программный код мог быть идентифицирован как сертифицированный или утвержденный, например, посредством различных комиссий по регулированию игр, таких как Комиссия по регулированию игр штата Невада, Комиссия по регулированию игр штата Нью-Джерси и других полномочных комиссий.
Настоящее изобретение обеспечивает архитектуру и способ обеспечения специфической для игр на ставки платформы, которая отличается защищенным хранением и верификацией игрового кода и других данных, обеспечивает возможность защищенного обмена игровым кодом в компьютеризованной игровой системе на ставки и/или сетевой системе и обеспечивает это способом, простым для реализации и управления. Некоторые варианты осуществления изобретения обеспечивают возможность идентифицировать игровой программный код как сертифицированный или утвержденный Комиссией по регулированию игр штата или другими регулирующими агентствами. Изобретение обеспечивает эти и другие функции с использованием методов шифрования, арифметических операций по модулю, хеш-функций и других криптографических методов. Эти криптографические компоненты используются совместно для создания способа, который обеспечивает идентификацию при интерактивном его применении и аутентификацию набора игровых данных при неинтерактивном применении.
В математических системах интерактивная проверка неформально рассматривается как протокол, реализуемый между двумя сторонами, при котором одна сторона, называемая доказывающей стороной, пытается доказать некоторый факт другой стороне, называемой верифицирующей стороной (верификатором). Интерактивная проверка обычно принимает форму протокола запроса-ответа, при котором доказывающая сторона и верифицирующая сторона обмениваются сообщениями, и верифицирующая сторона по результатам выполнения протокола выдает либо «принято», либо «отклонено». Помимо теоретического интереса интерактивные проверки нашли некоторые применения в криптографии и компьютерной защите, такие как идентификация и аутентификация. В этих ситуациях факт, требующий доказательства, обычно, но не всегда, связан с проверкой идентичности доказывающей стороны, например секретного ключа доказывающей стороны.
Для интерактивных проверок полезно иметь следующие свойства, особенно в криптографических приложениях.
Полнота. Верифицирующая сторона всегда принимает доказательство, если факт является истинным, и как доказывающая сторона, так и верифицирующая сторона следуют протоколу.
Нормальность (правильность). Верифицирующая сторона всегда отклоняет доказательство, если факт является ложным, при условии, что верифицирующая сторона следует протоколу.
Нулевое знание. Верифицирующая сторона не узнает ничего о доказываемом факте (за исключением того, что он корректен) от доказывающей стороны, чего он не мог бы узнать помимо доказывающей стороны, даже если верифицирующая сторона не следует протоколу (если доказывающая сторона следует). В интерактивном доказательстве с нулевым знанием верифицирующая сторона не сможет и позже доказать этот факт кому-либо еще. (Не все интерактивные доказательства имеют это свойство).
Типовой цикл или компонент доказательства с нулевым знанием состоит из сообщения «извещения» от доказывающей стороны, за которым следует запрос от верифицирующей стороны, и затем ответ на запрос от доказывающей стороны. Протокол может повторяться на нескольких циклах. На основе ответов доказывающей стороны на всех циклах верифицирующая сторона принимает решение, принять или отклонить доказательство.
В предпочтительном варианте осуществления настоящее изобретение обеспечивает способ аутентификации набора игровых данных, сохраненного в игровом автомате. Путем применения интерактивного способа доказательства в комбинации с односторонней хеш-функцией как набора игровых данных, так и сообщения (сообщений) извещения от доказывающей стороны набор игровых данных может быть аутентифицирован как исходящий от доказывающей стороны. Это осуществляется путем интерпретации значения хеш-функции как набора случайных запросов к доказывающей стороне, которые используются для совершения интерактивных проверок, не требуя присутствия верифицирующей стороны. Такая процедура называется неинтерактивным доказательством с нулевым знанием. Она содержит все элементы интерактивного доказательства с дополнением значения хеш-функции, интерпретированного указанным образом. Каждая пара запроса/ответа записывается и сохраняется вместе с набором игровых данных для обеспечения цифровой «метки аутентичности».
Краткое описание чертежей
Фиг. 1 - компьютеризованное устройство для игры на ставки, которое может быть использовано для реализации некоторых вариантов осуществления изобретения.
Фиг. 2 - диаграмма сетевого компьютера, соединенного с некоторыми компонентами, включающая в себя часть компьютеризованного устройства для игры на ставки, совместимого с некоторыми вариантами осуществления настоящего изобретения.
Фиг. 3 - граф, используемый для объяснения одного из примеров.
Фиг. 4 - диаграмма выступов, поясняющая описание процесса доказательства с нулевым знанием.
Фиг. 5 - блок-схема, соответствующая одному из ряда вариантов осуществления доказательства с нулевым знанием.
Фиг. 6 - cave (полость) - диаграмма для описания теории доказательства с нулевым знанием.
Детальное описание изобретения
Следующее описание содержит изложение того, как доказательство с нулевым знанием описано в работе Bruce Schneier, "Applied Cryptography", Second Edition, John Wiley& Sons, Inc., 1996. ISBN 0-471-12845-7. Функция доказательства с нулевым знанием в типовом случае обсуждается в терминах событий, причем cave-диаграмма, показанная на фиг. 6, представляет собой полезный инструмент для данного обсуждения. Предположим, что дверь между двумя пунктами, обозначенными С и D, может быть отперта только с использованием секретного ключа или пароля. Предполагается, что некоторое лицо (доказывающая сторона) знает секрет для отпирания двери, и оно может убедить наблюдателя (верифицирующую сторону), что ему известен секрет для отпирания двери, без необходимости открытия этого секрета наблюдателю с использованием доказательства с нулевым знанием. (Термин «нулевое знание» вытекает из того факта, что никакое знание секрета не выдается при представлении доказательства, таким образом, единичные итерации могут продолжаться нескончаемо долго).
Единичное доказательство с нулевым знанием может осуществляться следующим образом. Наблюдатель и лицо, владеющее секретом, как открыть дверь, начинают процедуру в точке А. Лицо, владеющее секретом, входит в полость в точку С или в точку D на диаграмме. После того как лицо, владеющее секретом, окажется на месте, оно вызывает наблюдателя для перемещения в точку В на диаграмме.
Наблюдатель затем выбирает случайным образом 1 или 0. Предварительно установлено, что если наблюдатель выбрал 0, то лицо, владеющее секретом, выйдет на левую сторону диаграммы, а если наблюдатель выбрал 1, то лицо, владеющее секретом, выйдет на правую сторону диаграммы. Наблюдатель выбирает число случайным образом, после того как лицо, владеющее секретом, окажется на месте в точке С или D. В результате наблюдатель знает, что единственным путем, когда результат может быть успешным с вероятностью 100%, является то, что если лицо, заявляющее, что оно знает секрет, действительно знает, как открыть дверь.
Заметим, что если это лицо на самом деле не знает секрета, вероятность равна точно 50%, что они смогут выйти из полости по правильному ходу, после того как наблюдатель выберет случайное число. Поэтому при повторении проверки с нулевым знанием n раз вероятность продолжения наличия успешного исхода, если лицо в действительности не знает секрета, становится 1/(2n). Если проверка с нулевым знанием повторяется 10 раз, то вероятность равна 1 из 1024, что лицо сможет «обмануть» протокол.
Второй момент, который необходимо отметить, заключается в том, что не имеет значения, сколько раз протокол повторяется, наблюдатель не получает знания о точном свойстве, в чем состоит секрет, чтобы открыть дверь. Лицо, которое знает секрет, может доказать наблюдателю, что оно действительно знает секрет, с любым уровнем определенности путем простого повторения протокола достаточное число раз.
Таким образом, ключевыми элементами доказательства с нулевым знанием являются следующие: 1) секрет, который может быть продемонстрирован без открытия его точного значения или его свойства, 2) извещение о конкретном выборе или проблеме, 3) случайный бит, выбранный после извещения, 4) возможность выполнить протокол независимо от того, какой бит выбран. Требуется, чтобы было невозможным успешно выполнить протокол со 100% вероятностью, если извещение не согласуется с выбранным случайным образом битом, если только секрет не известен. Выстраивая в цепочку множество итераций доказательства с нулевым знанием, вероятность того, что некто, не знающий секрет, сможет предсказать (передать извещение) правильный выбор до осуществления случайного выбора бита, может быть снижена.
Пример 1: Графическая реализация протокола доказательства с нулевым знанием
Для реализации доказательства с нулевым знанием с использованием математики следует обосновать доказательство известной проблемы, которую трудно решить. Здесь показаны два отличающихся варианта осуществления, хотя может быть множество возможных путем формирования протокола на основе ZKP.
Возможная реализация протокола доказательства с нулевым знанием основана на математической области теории графов. Граф, подобный показанному на фиг. 3, является совокупностью вершин (круги на чертеже), соединенных ребрами (линии на чертеже). Каждое ребро (линии на диаграмме) соединяют две вершины (круги на диаграмме).
При задании конкретного графа, если существует путь, который соединяет все вершины графа только однократно вдоль пути и завершается в исходной вершине, то такой путь известен как «гамильтонов цикл». На чертеже путь 2-4-6-5-1-9-8-3-10-7-2 является гамильтоновым циклом. Гамильтонов цикл является трудной проблемой для решения в случае чрезвычайно больших графов. Если только путь не является уже известным, время, которое потребовалось бы потратить на нахождение гамильтонова цикла в чрезвычайно большом графе, по математическому порядку величины соответствует квадрату числа вершин в графе.
Другая трудная проблема для решения в случае очень больших графов заключается в обеспечении того, чтобы два графа с одинаковым числом вершин и ребер были идентичны или изоморфны. То есть если бы граф случайным образом переупорядочивался и все вершины графа были бы заново обозначены другой последовательностью чисел, то очень трудно доказать, что два полученных в результате графа отличаются только обозначением вершин, если только заранее не известно отображение между вершинами графов.
Предположим, что гамильтонов цикл известен для конкретного чрезвычайно большого графа (наиболее вероятно путем создания графа из случайной функции). Это составляет секрет. Единственной итерацией доказательства с нулевым знанием данного секрета была бы следующая:
1) Доказывающая сторона публикует первоначальный граф. Доказывающая сторона утверждает, что ей известен гамильтонов цикл и может доказать его.
2) Доказывающая сторона случайным образом переупорядочивает граф и перенумеровывает все вершины.
3) Доказывающая сторона извещает о решении для нового графа. Имеются различные криптографические методы для извещения о секрете без раскрытия секрета, с использованием симметричного шифрования, шифрования открытым ключом или четной односторонней хеш-функции. Не имеет значения, какой из них использован на данном этапе, если желательная цель извещения о новом графе реализована на этом этапе.
4) Верифицирующая сторона выбирает случайным образом бит 0 или 1.
а) Если выбранный бит есть 0, то доказывающая сторона показывает, что новый граф изоморфен старому графу.
b) Если выбранный бит есть 1, то доказывающая сторона показывает гамильтонов цикл для нового графа.
Заметим, что для каждого цикла этого протокола, если мошенник в действительности не знает гамильтонова цикла исходного графа, то он должен был бы прогнозировать, выберет ли верифицирующая сторона 0 или 1 на этапе 4, прежде чем извещать на этапе 2. Если мошенник ожидал выбора 0, то он случайным образом переупорядочил бы исходный граф, но не смог бы найти гамильтонов цикл в новом графе, если вместо этого была выбрана 1, поскольку он не знает первоначальный секрет. Если мошенник ожидал выбора 1, то он мог бы генерировать новый граф с гамильтоновым циклом в нем, с тем же числом вершин и ребер, что и в исходном графе, но он не смог бы обеспечить отображение вершин для доказательства, что два графа были изоморфны, если вместо этого был выбран 0. Кроме того, поскольку новый граф является случайным относительно исходного графа и только одно из двух решений дается с каждой итерацией доказательства с нулевым знанием, то отсутствует утечка информации, относящейся к первоначальному секрету. Протокол может быть повторен любое число раз, причем с каждой итерацией уменьшается вероятность того, что кто-то сможет успешно предсказать случайные биты для всех этапов.
Пример 2: Протокол доказательства с нулевым знанием с использованием разложения на множители, возведения в квадрат и арифметических операций по модулю
Эта процедура основывается на опубликованной в Интернете статье о доказательствах с нулевым знанием автора Bennett Yee из Калифорнийского университета, Сан-Диего.
Предположим, что имеются два больших простых числа, произведение которых условно обозначено n. Если для этих двух простых чисел выбраны достаточно большие значения, то в вычислительном смысле становится практически не реализуемым разложить на множители это число. Кроме того, при задании любого числа нахождение квадратного корня от этого числа по модулю n равным образом оказывается практически нереализуемым в вычислительном смысле. Показано, что разложение на множители числа n эквивалентно вычислению квадратного корня из числа по модулю n.
Для данной реализации доказывающая сторона выбирает случайное число s. Число s становится секретом. Следующие этапы описывают протокол доказательства с нулевым знанием для данной реализации.
Доказывающая сторона публикует значение v=s2 mod n. Поскольку математически очень сложно вычислить корень квадратный из этого значения по модулю n (см. выше), то секрет остается скрытым.
Доказывающая сторона выбирает случайное число r.
Доказывающая сторона извещает о значении x=r2 mod n и посылает это значение верифицирующей стороне. Верифицирующая сторона выбирает случайное число 0 или 1.
а) Если выбранный бит есть 0, то доказывающая сторона посылает y=r верифицирующей стороне; и верифицирующая сторона проверяет, чтобы убедиться, согласовано ли y2 mod n со значением x=r2 mod n, о котором доказывающая сторона известила на этапе 3.
b) Если выбранный бит есть 1, то доказывающая сторона посылает y=r s верифицирующей стороне, и верифицирующая сторона проверяет, согласуется ли y2 mod n с значением xv.
Заметим, что если мошенник не знает секрет, то он смог бы только успешно завершить протокол с вероятностью 50%. Если мошенник ожидал, что выбрано 0, то он мог бы только следовать протоколу и иметь успех, если только в действительности не было бы выбрано 1, и в этом случае он не смог бы предоставить значение y=rs верифицирующей стороне, поскольку секрет s неизвестен. С другой стороны, если мошенник ожидал, что выбрана 1, он смог бы выбрать любое случайное число t и послать x=t2/v в верифицирующей стороне, если только 0 не был в действительности выбран, и в этом случае он не смог бы вычислить квадратный корень из v mod n в знаменателе.
Вновь этот протокол доказательства с нулевым знанием может быть повторен любое число раз без открытия секрета верифицирующей стороне. Каждая итерация снижает вероятность того, что кто-либо, кто не знает секрет, сможет успешно обмануть протокол.
Ниже приведен пример того, что представляет собой этот протокол с использованием 128-битовых чисел:
Figure 00000002
и пакеты могут продолжаться таким образом до бесконечности, причем каждый цикл снижает вероятность того, что посторонний мошенник сможет искусственно сформировать пакеты.
До сих пор описание фокусировалось на объяснении того, что понимается под доказательствами с нулевым знанием, и на представлении некоторых примеров, что может представлять собой протокол на основе ZKP. Последующие разделы описывают то, каким образом можно адаптировать любой протокол доказательства с нулевым знанием для использования при аутентификации наборов данных игр казино и игровых данных и игровых программ.
Хеш-функция представляет собой функцию, которая берет битовую последовательность переменной длины и вычисляет из нее более короткую битовую идентифицирующую последовательность («отпечаток пальца») фиксированной длины. Это значение хеш-функции может быть использовано для различных целей в компьютерной области.
Односторонняя хеш-функция является специальной хеш-функцией, которая вычисляет значение хеш-функции из битовой последовательности переменной длины таким путем, что невозможно предсказать результат для конкретных входных данных. Очень трудно генерировать или модифицировать последовательность битов, чтобы ее можно было хешировать для получения желательного значения.
Путем использования односторонней хеш-функции любой алгоритм доказательства с нулевым знанием может быть адаптирован для осуществления аутентификации. Для того чтобы показать, как это делается, напомним, что каждый алгоритм, основанный на доказательстве с нулевым знанием, должен содержать для каждой итерации: 1) секрет, который может быть предоставлен без раскрытия его точного значения или свойства; 2) извещение о конкретном выборе или проблеме (случайная перестановка); 3)случайный бит, который выбран после извещения, и 4) возможность завершения протокола независимо от того, какой бит выбран. В одном из примеров, приведенных выше, секретом была нумерация вершин графа для задачи нахождения гамильтонова цикла, а во втором примере - выбранная битовая последовательность. В обоих случаях секрет был замаскирован генерацией случайной перестановки перед каждым доказательством с нулевым знанием, чтобы не открыть секрет. Часть доказательства с нулевым знанием в каждом примере для доказывающей стороны заключалась в открытии случайного упорядочения, если соответствующий случайный бит был выбран верифицирующей стороной.
Обращаясь к фиг. 5, можно видеть, что если набор данных используется в качестве входных данных для односторонней хеш-функции, вместе с проверкой существования секрета и случайными перестановками из каждого цикла доказательства с нулевым знанием вырабатывается значение хеш-функции, которое зависит не только от набора данных, но и от случайных извещений о строго определенных проблемах ZKP (которые могут, таким образом, описываться как случайные перестановки первоначальной задачи). Это значение хеш-функции может затем использоваться как случайная битовая строка, которая выводится из входных данных. Иными словами, вместо осуществления доказательства с нулевым знанием по интерактивной процедуре, когда верифицирующая сторона случайным образом выбирает 1 или 0, можно использовать шаблон единиц или нулей, который образует эту хэш-функцию из односторонней хеш-функции, для завершения протокола ZKP по неинтерактивной процедуре. Поскольку результат значения хеш-функции невозможно предсказать, доказывающая сторона должна быть готова решать строго определенные задачи для каждого доказательства с нулевым знанием, и единственным путем осуществления этого со 100% достоверностью является знание секрета.
Можно показать, что только сторона, знающая секрет, может генерировать ответы на доказательства с нулевым знанием, когда случайное значение хеш-функции формируется таким путем. После завершения циклов ZKP набор данных аутентифицируется как поступающий из источника, обладающего секретом.
Дополнительно результаты, полученные в результате этой последовательности этапов, хотя и сходные с обеспечением указания аутентичности входных данных, существенным образом отличаются от того, что известно в предшествующем уровне техники как цифровая подпись. Как минимум, никакое шифрование (что обычно является составной частью подписи) не требуется, чтобы выполнить последовательность ZKP (хотя шифрование может быть использовано в качестве возможного варианта, когда публикуется первоначальная проверка существования секрета, для повышения гибкости метода). Классическая цифровая подпись, состоящая из зашифрованного значения хеш-функции, основывается на упорядочении битов во всей полноте битового массива. В последовательности и процессе ZKP итерации случайных перестановок/доказательства знания могут быть переупорядочены, удалены, дополнены дополнительными случайными перестановками/доказательствами знания или битами где-либо в последовательности, и целостность всей последовательности останется той же самой. (В действительности это может быть сделано после завершения процедуры, и итерации могут быть удалены без знания секрета). В противоположность этому, типовая подпись станет недействительной, если битовый шаблон переупорядочивается, или добавляются дополнительные биты, или биты удаляются в какой-либо части последовательности. Другое различие между ZKP и классической цифровой подписью заключается в бесконечном числе одинаково действительных битовых шаблонов, возможных в результате случайных перестановок, используемых в ZKP, в противоположность уникальному соотношению между значением хеш-функции и цифровой подписью, являющемуся стандартным требованием в классической цифровой подписи.
Реализация аутентификации на основе доказательства с нулевым знанием на игровом устройстве
В данном разделе показано, каким образом провайдер игровой системы и провайдер игры могут реализовать аутентификацию на игровом устройстве (автомате) с использованием доказательств с нулевым знанием. Используя математическую реализацию согласно примеру 2, провайдер публикует значение v=s2 mod n путем шифрования v секретным ключом или путем выпуска его отдельным способом из набора игровых данных, например на стираемой программируемой постоянной памяти операционной системы (OS EPROM). Оно может дешифрироваться с использованием открытого ключа, но извещается, что секрет остается защищенным ввиду математической сложности вычисления квадратного корня по модулю n. Как отмечено выше, шифрование является второстепенным для данного метода. В этом случае оно используется только для сохранения значения v неизменным в случае, когда оно сохраняется на носителе для записи.
Когда наступает время генерировать последовательность ZKP, наборы игровых данных должны хешироваться вместе со значением v и множеством случайных перестановок. Как только случайное хешированное значение вычислено, как описано в предыдущем разделе, биты хешированного значения используются как случайные варианты выбора для решений для доказательств с нулевым знанием. Решения сохраняются незашифрованными вместе со случайными извещениями. Заметим, что аутентификация могла бы выполняться на пофайловой основе или значения хеш-функций от каждого индивидуального набора игровых данных могли бы подвергаться логической операции «ИСКЛЮЧАЮЩЕЕ ИЛИ» для экономии пространства хранения, и при этом весь набор файлов мог бы хешироваться и верифицироваться сразу. В других вариантах осуществления значения хеш-функций от каждого индивидуального набора игровых данных могли бы комбинироваться так, чтобы формировался новый набор данных, который мог бы затем подвергаться аутентификации с использованием процесса ZKP.
Когда наступает время осуществлять аутентификацию наборов игровых данных в игре, значение v восстанавливается путем дешифрирования. Затем выполняются хеширования набора (наборов) игровых данных, включая случайные извещения и значение v. Решения ZKP затем проверяются путем верификации, являются ли корректными доказательства с нулевым знанием для каждого случайного бита. Если решения корректны для каждого бита в значении хеш-функции, то набор(ы) игровых данных рассматривается (ются) как аутентичный (ые).
Модификации метода аутентификации на основе ZKP
Имеется ряд важных модификаций рассматриваемого способа, которые заслуживают упоминания. Во-первых, хеширование может быть легко осуществлено с использованием отдельных аппаратных средств, и в этом случае хеширование будет производиться очень быстро. Как только хеширование завешено, остальная часть протокола ZKP должна быть выполнена системой программного обеспечения.
Во-вторых, протокол ZKP мог бы быть использован как интерактивный протокол, если бы наборы игровых данных загружали бы, например, с сервера. В этом случае значение хеш-функции не использовалось бы в качестве источника случайных чисел, и поэтому не было бы необходимости в случайном значении хеш-функции, поскольку этапы доказательства ZKP осуществлялись бы, как описано в примере со случайным выбором 1 или 0, производимым верифицирующей стороной.
Третья модификация состоит в том, что код аутентификации сообщения заменяется на одностороннюю хеш-функцию. Код аутентификации сообщения является зависимой от ключа односторонней хеш-функцией. Эта модификация сделала бы значение хеш-функции дополнительно зависимым от случайной битовой последовательности, которую можно было бы использовать различными способами, чтобы обеспечить дополнительную гибкость в работе с протоколом. Этот вариант описан в совместно поданной патентной заявке (номер дела поверенного PA0670.ap.US), с той же датой подачи, что и настоящая заявка, включенной в настоящее описание посредством ссылки вместе со ссылками, цитированными в ней.
В последующем детальном описании вариантов осуществления изобретения ссылки даются на иллюстрирующие чертежи, которые составляют часть описания и на которых для иллюстрации приведены конкретные варианты осуществления, в соответствии с которыми изобретение может быть реализовано практически. Эти варианты описаны достаточно детально, чтобы дать возможность специалистам в данной области техники практически осуществить изобретение, при этом следует иметь в виду, что могут быть использованы и другие варианты осуществления и что изменения в логических, механических и электрических средствах могут быть произведены без отклонения от сущности или объема настоящего изобретения. Поэтому последующее детальное описание не должно трактоваться в ограничительном смысле, и объем изобретения определяется только формулой изобретения.
Настоящее изобретение в различных вариантах его осуществления обеспечивает архитектуру и способ для универсальной операционной системы, которая отличается защищенным хранением и верификацией кода игры и других данных, обеспечивает возможность защищенного обмена данными с компьютеризованной игровой системой для игры на ставки, причем реализует эти возможности способом, который характеризуется простотой и легкостью в управлении. Некоторые варианты осуществления обеспечивают возможность идентифицировать программный код игры как сертифицированный или утвержденный, например, Комиссией по играм штата Невада, Комиссией по играм штата Нью-Джерси или другими органами государственного регулирования. Изобретение обеспечивает эти и другие функции с использованием шифрования, случайных чисел и хеш-функций, а также других криптографических способов, которые введены и представлены в настоящем описании.
«Хеш-функции» для целей настоящего описания представляют собой некоторый тип функции, которая генерирует уникальную последовательность данных, в типовом случае фиксированной длины из последовательностей символов или текста переменной длины. Генерируемая последовательность данных в типовом случае существенно меньше, чем собственно текстовая последовательность, но достаточно велика, так что невозможно сформировать то же самое число посредством хеш-функции из отличающихся текстовых последовательностей. Формула, используемая в хеш-функции, должна быть, таким образом, выбрана так, чтобы оказалось невозможным, чтобы другие текстовые последовательности сформировали бы то же самое значение хеш-функции.
Последовательность хешированных данных обычно называется профилем сообщения (короткая цифровая строка фиксированной длины, формируемая из более длинного сообщения с использованием специального алгоритма). Профиль сообщения может быть сохранен для последующего использования или зашифрован и затем сохранен, например, в энергонезависимой памяти.
Хеш-функции часто используются для хеширования записей данных, чтобы сформировать уникальные числовые значения, соответствующие каждой записи данных в базе данных, которые могут затем применяться к строке поиска для воспроизведения значения хеш-функции. Затем значение хеш-функции может быть использовано в качестве ключа индекса, что исключает необходимость поиска запрошенных данных по всей базе данных.
Некоторые хеш-функции известны как односторонние хеш-функции, означающие то, что с помощью таких функций чрезвычайно трудно получить текстовую последовательность, которая должна сформировать данное значение хеш-функции, но относительно легко сформировать значение хеш-функции из текстовой последовательности. Это гарантирует то, что невозможно модифицировать содержание текстовой последовательности и сформировать то же самое значение хеш-функции. Примером подходящей односторонней хеш-функции является 160-битовая хеш-функция SHA (защищенный алгоритм хеширования). Независимо от размера файла значение хеш-функции будет иметь длину 160 битов.
Такая функция может использоваться для хеширования заданной последовательности символов и формирования первого значения хеш-функции, которое может затем сравниваться со вторым значением хеш-функции, выведенным из той же самой последовательности символов, чтобы гарантировать, что последовательность символов не изменилась. Если последовательность символов была изменена, то значения хеш-функции, сформированные той же самой хеш-функцией, будут различными. Целостность первого значения хеш-функции может быть защищена от изменения путем использования методов шифрования, таких как использование цифровой подписи.
Цифровые подписи используются для подписывания электронных документов или последовательностей символов и гарантируют, что последовательность символов не изменялась с момента подписи. Цифровые подписи в типовом случае используются для указания на то, что последовательность символов была намеренно подписана подписью, которую невозможно фальсифицировать, то есть не может быть использована с другим документом, и что подписанный документ невозможно изменить. Механизм или метод цифровой подписи предназначен для удовлетворения этим критериям обычно за счет использования сложных математических методов шифрования.
Примером является использование системы шифрования с открытым ключом и с секретным ключом для подписывания документов. В системе с открытым ключом и с секретным ключом пользователь имеет пару ключей, которые могут быть использованы альтернативно для шифрования и дешифрования документа. Открытый ключ опубликован или распространяется таким образом, что он обоснованным образом гарантирует, что ключ фактически принадлежит владельцу ключа, а секретный (личный) ключ сохраняется в строгом секрете. Если кто-либо желает послать последовательность символов, которую может прочитать только конкретное лицо, эта последовательность символов зашифровывается перед передачей с использованием открытого ключа предназначаемого адресата («читателя»). Последовательность символов становится тогда «видимой» только с использованием открытого ключа предназначаемого адресата для дешифрования последовательности символов.
Однако если пользователю желательно послать последовательность символов таким способом, чтобы документ виртуально гарантировался как аутентичный документ, созданный отправителем, но по существу любое лицо может прочитать его, то пользователь может подписать документ путем его шифрования своим секретным (личным) ключом перед посылкой. Тогда любое лицо сможет дешифровать документ обычно широко распространяемым открытым ключом подписавшего лица и сможет при этом удостовериться, что последовательность символов была подписана владельцем пары ключей.
Поскольку шифрование длинных последовательностей символов, таких как большие компьютерные программы или длинные текстовые документы, может потребовать существенного количества времени на шифрование и дешифрование, некоторые варианты осуществления цифровых подписей реализуют односторонние хеш-функции. В одном таком варианте осуществления подписывающая сторона использует известный алгоритм односторонней хеш-функции для создания значения хеш-функции для последовательности символов и шифрует значение хеш-функции своим секретным ключом. Документ и подписанное значение хеш-функции затем посылаются получателю, который исполняет ту же самую хеш-функцию для последовательности символов и сравнивает полученное в результате значение хеш-функции с значением хеш-функции, сформированным путем дешифрирования подписанного значения хеш-функции с использованием открытого ключа подписавшего лица. Такой метод обеспечивает очень хорошую защиту, при условии, если использованные хеш-функция и алгоритм шифрования достаточно сильны.
Шифрование данных посредством системы открытого ключа и секретного ключа полезно не только для формирования цифровых подписей, но и для шифрования данных перед посылкой или сохранением данных или для сохранения данных в защищенном виде или в секрете в других приложениях. Аналогичным способом, симметричные методы шифрования, которые основываются на шифровании и дешифрировании с использованием одного того же единственного секретного ключа, могут быть применены к таким приложениям. Например, передача программных данных между сетевым сервером и компьютеризованным игровым устройством для игры на ставки может быть защищена посредством применения метода симметричного шифрования, причем программные данные, принимаемые в игровом устройстве, могут быть верифицированы как утвержденные регулирующим ведомством с помощью цифровой подписи, использующей хеш-функции и шифрование открытым ключом, перед исполнением.
Существуют другие методы и формулы, которые также могут быть использованы в соответствии с настоящим изобретением. Некоторые методы шифрования, такие как DES (стандарт шифрования данных) и его варианты основываются на секретности единственного ключа, и поэтому могут оказаться неадаптируемыми к методам, представленным в настоящем описании, и требуют пары ключей с применением открытого ключа. Множество других методов шифрования, таких как RSA (алгоритм цифровой подписи Райвеста-Шамира-Адлемана) или Диффи-Хеллмана, совместимы с методами, основанными на использовании открытого и секретного ключей, и поэтому могут использоваться в этих методах. Также могут использоваться различные хеш-функции, такие как MD5 или SHA, которые могут оказаться полезными во многих аспектах, совместимых с настоящим изобретением, при условии, что они в достаточной степени нереверсивны, чтобы рассматриваться как односторонние хеш-функции. Различные методы шифрования также обеспечат изменяемые степени защищенности, от тех, которые относительно легко преодолеть, до таких, которые чрезвычайно трудно преодолеть. Такие различающиеся степени защищенности должны рассматриваться в рамках объема методов шифрования, совместимых с настоящим изобретением, включая различные степени защищенности, которые могут изменять степени вероятности, с которой для зашифрованных данных обеспечивается невозможность их фальсификации, невозможность считывания и т.п. Существует множество методов шифрования и, как ожидается, будут разрабатываться в будущем, и все такие методы, вероятно, могут использоваться в некотором аспекте, совместимом с изобретением, и поэтому входят в объем изобретения.
На фиг. 1 представлена приведенная для примера игровая система 100, иллюстрирующая множество компонентов, которые в типовом случае имеются в игровых системах, и то, каким образом они могут использоваться в соответствии с изобретением. Устройства пользовательского интерфейса в этой игровой системе включают в себя кнопки 101, джойстик 102 и рукоятку 103. Кредит для ставок может помещаться посредством щели 104 для монет или жетонов, устройства 105, например приемника банкнот или устройства считывания с карточек, или любого другого устройства ввода кредита. Устройство 105 считывания с карточек может также обеспечивать возможность записи информации о кредите на пользовательскую карточку, когда пользователь завершает игру, или кредит может возвращаться через лоток 106 для монет или другое устройство для возврата кредита. Информация предоставляется пользователю посредством таких устройств, как видеоэкран 107, который может представлять собой ЭЛТ, жидкокристаллическую панель, панель на светоизлучающих диодах, или другое устройство отображения, которое формирует визуальное отображение под управлением компьютеризованного игрового контроллера. Также кнопки 101 могут подсвечиваться, чтобы указывать, какие кнопки можно использовать для обеспечения действительного ввода в игровую систему в любой момент игры. Дополнительные световые или иные визуальные индикаторы могут быть обеспечены для указания игровой информации или для других целей, например для привлечения внимания потенциальных игроков. Звуки формируются посредством динамиков 108 и тоже могут использоваться для указания статуса игры, для привлечения внимания потенциальных игроков или для других целей, под управлением компьютеризованного игрового контроллера.
Игровая система 100 также содержит компьютеризованный игровой контроллер 111 и интерфейс 112 ввода/вывода, соединенные через шину 113. Не требуется, чтобы универсальный игровой контроллер 111 имел программное обеспечение или аппаратные средства, спроектированные для согласования с требованиями к интерфейсу, соответствующими различным блокам пользовательских интерфейсов игровых систем, а может быть спроектирован однократно и может управлять различными игровыми системами через интерфейсы 112 ввода/вывода, спроектированные для надлежащего сопряжения ввода и вывода универсального компьютеризованного игрового контроллера с блоками интерфейсов, находящихся в различных игровых системах.
В некоторых вариантах осуществления универсальный игровой контроллер 111 представляет собой стандартный IBM РС-совместимый компьютер. В других вариантах осуществления универсальный игровой контроллер 111 содержит универсальные компьютерные системы, такие как встроенные платы контроллеров или модульные компьютерные системы. Примеры таких вариантов осуществления включают в себя РС-совместимый компьютер с шиной РС/104, который является примером модульной компьютерной системы, отличающейся компактными размерами и низким потреблением мощности при сохранении совместимости с программным обеспечением и аппаратными средствами персональных компьютеров. Универсальный игровой контроллер обеспечивает все функции, необходимые для реализации широкого спектра игр, путем загрузки различных программных кодов в универсальный контроллер, обеспечивая тем самым общую платформу для развертывания и доставки игры клиентам в целях использования в разных игровых системах. Другие универсальные компьютеризованные игровые контроллеры, совместимые с принципами настоящего изобретения, могут включать в себя любые универсальные компьютеры, которые имеют возможность поддержки разнообразного программного обеспечения игровых систем, такие как универсальные компьютеры, оптимизированные по критерию цена-эффективность в игровых прикладных программах, или содержат другие специализированные элементы, которые, однако, сохраняют возможность загрузки и исполнения разнообразного игрового программного обеспечения.
В других вариантах осуществления универсальный контроллер с функцией обеспечения защищенности может быть использован для других приложений, включая управление соединенными в сеть системами поточной технологической обработки, такими как последовательные (поточные) контроллеры и системы отслеживания игроков. Изобретение также может быть использовано для визуализации изображений на компьютерах, подсоединенных к Интернету и общедоступных для пользователей, и для создания изображения в функциях формирования изображений на видеодисплее.
Универсальный компьютеризованный игровой контроллер для некоторых вариантов осуществления представляет собой исполняемую на компьютере операционную систему с ядром, специализированным для игровых приложений, таким как заказное ядро Linux. В других вариантах осуществления уровень приложения системного обработчика кода исполняется в ядре, дополнительно обеспечивая общие игровые функциональные средства для программиста. Поэтому игровая программа в таких вариантах осуществления является лишь частью полного кода и основывается на уровне приложения обработчика системы и ядре для обеспечения обычно используемых игровых функций. Другие варианты осуществления будут иметь различные уровни кода прикладной программы, от вариантов, содержащих несколько уровней специфического для игры кода, до одноуровневого игрового программного обеспечения, исполняемого без операционной системы или ядра, но обеспечивающего средства управления своей собственной компьютерной системой.
На фиг. 2 представлен сетевой компьютер, соединенный с выбранными элементами, которые образуют часть компьютеризованного игрового автомата для игры на ставки, используемого в различных вариантах осуществления настоящего изобретения. Компьютеризованный игровой контроллер 201 имеет процессор 202, память 203 и энергонезависимую память 204. Примером энергонезависимой памяти является устройство массовой памяти с групповой перезаписью («флэш-диск»). Флэш-диск предпочтительно предназначается для считывания и записи и сохраняет информацию, сохраненную на диске, после выключения питания. С компьютеризованным игровым контроллером в некоторых вариантах осуществления связаны устройство 205 массовой памяти и адаптер 206 сетевого интерфейса. Адаптер 206 сетевого интерфейса подсоединен к сетевому компьютеру 207 через сетевое соединение 208. Различные компоненты, показанные на фиг. 2, существуют в вариантах осуществления изобретения и показаны для иллюстрации того, каким образом связаны различные компоненты.
Компьютеризованный игровой контроллер для игры на ставки, соответствующий изобретению, действует для управления компьютеризованной игрой на ставки и в различных вариантах осуществления использует шифрование для обеспечения защищенности данных. Компьютеризованный игровой контроллер 201 в некоторых вариантах осуществления является универсальным компьютером, таким как IBM PC-совместимый компьютер. Игровой компьютер исполняет операционную систему, такую как Lunix или Microsoft Windows, которая в некоторых вариантах осуществления модифицируется для исполнения в компьютеризованных игровых автоматах. Компьютеризованный игровой контроллер также исполняет игровой код, который может быть загружен в память 203 перед исполнением либо из массовой памяти 205, например с накопителя на жестких дисках, либо из энергонезависимой памяти 204, например из флэш-памяти или стираемой программируемой постоянной памяти. В некоторых вариантах осуществления компьютеризованный игровой контроллер 201 загружает функции шифрования в память 203, и эти функции затем исполняются для защищенной загрузки данных других игровых систем из массовой памяти 205.
В других вариантах осуществления компьютеризованный игровой контроллер обменивается данными с сетевым компьютером 207 через сетевое соединение 208 и адаптер 206 сетевого интерфейса. Данные, обмениваемые через сетевое соединение, в некоторых вариантах осуществления зашифровываются для обеспечения защищенности передаваемых данных. Данные, которыми обмениваются, в различных вариантах осуществления содержат данные игровой программы, данные сообщений компьютеризованного игрового автомата, данные, включающие в себя команды для управления работой компьютеризованного игрового автомата, и другие данные компьютеризованного игрового автомата. Использование шифрования при обмене такими данными обеспечивает определенную степень защищенности, гарантирует, что эти данные не будут изменены или фальсифицированы.
Изобретение использует криптографию, включая хеш-функции, симметричное шифрование и шифрование с использованием открытого ключа и секретного ключа в различных вариантах осуществления, что обеспечивает некоторую степень достоверности, что данные, используемые компьютеризованной игровой системой и защищенные шифрованием в соответствии с изобретением, не изменены или не фальсифицированы. Данные в соответствии с настоящим изобретением включают в себя, без ограничения указанным, данные, содержащие программы, такие как операционную систему или программные игровые данные, данные статуса компьютеризованного игрового автомата, такие как кредиты и другие данные о состоянии игры, данные команд управления для управления работой компьютеризованного игрового автомата и другие данные компьютеризованного игрового автомата.
Существенной целью программ аутентификации является обеспечение практически абсолютной гарантии того, что данные, сохраненные в памяти, не были искажены, разрушены, изменены или иным образом модифицированы относительно исходных данных, загруженных в память. Поэтому все программы аутентификации должны действовать для обеспечения первого набора информации игровых данных для казино, с которым может сравниваться текущий набор игровых данных для казино. Варианты в различных известных программах аутентификации обрабатывают первоначальные данные различным образом, сравнивают различные формы данных, используют различные методы шифрования, образуют различные формы сохраняемых данных (например, цифровые подписи, сокращенные наборы битовых последовательностей и т.д.), представляющие наборы игровых данных для казино, и выполняют другие этапы и используют другие особенности, причем основополагающие цели остаются теми же: должно быть показано, что первоначальный кэш информации остается тем же самым, последующим доказательством на основе сравнения исходной информации (ее содержимого и/или состояния) с данными, относящимися к текущему состоянию и/или содержимому данных. Разнообразие методов таких сравнений является положительным фактором, способствующим отказу от попыток преодоления защиты, поскольку различные программы будут требовать различных усилий и методов для их преодоления. За счет обеспечения широкого разнообразия различных систем аутентификации преодоление каждой отдельной системы защиты усложняется.
В одном варианте осуществления операционная система, как описано в совместно поданной заявке на «Компьютеризованную игровую систему, способ и устройство», имеющей номер 09/520,405 от 8 марта 2000, взаимодействует с библиотекой «совместно используемых объектов», которые являются специфическими для игрового приложения. Для целей настоящего раскрытия термин «совместно используемые объекты» определен как автономные (модульные) функциональные блоки игрового кода, которые определяют конкретный набор признаков или последовательность операций для игры. Индивидуальная особенность (специализация) и поведение (способ действия) игрового автомата согласно настоящему изобретению определяются конкретным набором совместно используемых объектов, вызываемых и исполняемых операционной системой. В одной игре множество совместно используемых объектов может динамически загружаться и исполняться. Это определение противоречит общепринятому значению совместно используемого объекта, которое в типовом случае обеспечивает API (интерфейс программирования приложения - набор функций, предоставляемый для использования в прикладных программах) для множества программ. API является интерфейсом программирования приложения и включает в себя библиотеку функций.
В одном варианте осуществления совместно используемые объекты для конкретного приложения и их соответствующие цифровые подписи (сигнатуры) сохранены во флэш-памяти или EPROM. Когда совместно используемые объекты вызываются, они копируются в ОЗУ (RAM), где они хешируются на частой периодической основе. Совместно используемые объекты могут хешироваться из флэш-памяти или могут загружаться в RAM и затем хешироваться из RAM. Использование Linux, Unix или иной подобной операционной системы предпочтительным образом позволяет поместить данные в RAM. Верификация данных в RAM имеет определенное преимущество, состоящее в том, что возникающие ошибки могут быть зафиксированы в момент их появления, а не тогда, когда данные загружены или выгружены. Это сэкономит для казино огромные суммы за счет исключения выплаты джекпотов и тому подобных выигрышей, обусловленных сбоями в функционировании игровых автоматов. Поскольку хеширование представляет собой процесс пакетной обработки, этот процесс не является непрерывным. Однако если хеширование занимает относительно малое время, например 10 секунд, процесс может повторяться, так что верификация данных в RAM в действительности будет непрерывной. Внутреннее устройство верификации, описанное в настоящем документе, как то, которое описано в патентной заявке США № 10/318,369 от 10 сентября 2001 (которая включена в настоящее описание посредством ссылки), обеспечивает механизм, повышающий скорость хеширования, причем указанное устройство может быть использовано для практической реализации изобретения.
Хотя выше детально описана верификация кода совместно используемых объектов игровой программы, верификация кода с использованием хеш-функций и цифровых подписей может быть применена для верификации аутентичности linux-ядра, модульных модификаций ядра, операционной системы, данных состояния игры, данных генерации случайных чисел и т.д.
В различных вариантах осуществления выбранные данные в качестве менее предпочтительного варианта могут быть защищены с применением шифрования путем подписи данных цифровой подписью, которая верифицируется для обеспечения целостности данных. В некоторых вариантах осуществления цифровая подпись содержит подписывание выбранных данных секретным ключом подписывающего лица, так что данные могут быть дешифрованы только с использованием соответствующего открытого ключа. Поскольку только предназначенное подписывающее лицо знает свой секретный ключ и документы, зашифрованные другими секретными ключами, не могут быть расшифрованы открытым ключом указанного предназначенного подписывающего лица, успешное дешифрование данных открытым ключом предназначенного подписывающего лица обеспечивает некоторую степень достоверности того, что данные были подписаны или зашифрованы предназначенным подписывающим лицом.
Однако поскольку алгоритмы шифрования с использованием открытого ключа и секретного ключа обычно требуют довольно длительного времени для шифрования больших объемов данных, алгоритм шифрования более эффективно используется в некоторых вариантах осуществления для шифрования уникальной характеристики данных, таких как значение хеш-функции, полученное из односторонней хеш-функции. В таком варианте осуществления подписывающее лицо выводит опорное значение хеш-функции с помощью односторонней хеш-функции для данных, которые должны быть подписаны, и зашифровывает полученное в результате значение хеш-функции своим открытым ключом. Односторонние хеш-функции в типовом случае могут быть применены к данным с намного более высоким быстродействием, чем алгоритмы с использованием открытого ключа и секретного ключа, так что более желательным является обрабатывать все данные, требующие подписи, с использованием хеш-функции, а не алгоритма с использованием открытого ключа и секретного ключа. В некоторых вариантах осуществления изобретения, если используется шифрование битовой последовательности, объединяющей случайное число и набор игровых данных для казино, то требуется только шифровать значение хеш-функции с помощью алгоритма шифрования с использованием открытого ключа и секретного ключа, что существенным образом сокращает время, требуемое на подписывание или верификацию больших объемов данных. Для верификации подписи значение хеш-функции дешифруется открытым ключом предназначенного подписывающего лица, и дешифрованное опорное значение хеш-функции сравнивается с заново вычисленным значением хеш-функции для тех же самых данных. Если опорное значение хеш-функции согласуется с заново вычисленным значением хеш-функции, то существует определенная степень достоверности, что подписанные данные не были изменены со времени их подписи.
В некоторых вариантах осуществления, использующих цифровые подписи, секретный ключ предоставляется регулирующим ведомством или иной организацией, обеспечивающей целостность данных в компьютеризованных игровых системах для игр на ставки. Например, Комиссия по регулированию игр штата Невада может применить цифровую подпись с использованием своего секретного ключа к данным, используемым в таких игровых системах, гарантируя, что они имеют утвержденные подписанные данные. Такой вариант осуществления полезен для обеспечения того, что игровой код, исполняемый в этих системах, утвержден и не изменялся с момента утверждения, а также обеспечивает защищенность как игровому оператору или владельцу, так и регулирующей комиссии. В других вариантах осуществления цифровая подпись обеспечивается изготовителем или разработчиком игрового кода и гарантирует, что игровой код не изменялся относительно его первоначального состояния с момента подписания.
Секретное хранение опорных значений хеш-функции или открытых ключей в системах, описанных выше, является важным, так как данные могут быть более легко фальсифицированы, если опорные значения хеш-функции или открытые ключи, используемые для верификации целостности данных, также можно изменить. По этой причине данные опорных значений хеш-функции, открытых ключей или других ключей шифрования хранятся в неперезаписываемой памяти. В некоторых вариантах осуществления энергонезависимая память является программируемой памятью, которая не может быть изменена и должна заменяться всякий раз, когда необходимы новые данные ключа шифрования. Такие варианты осуществления имеют преимущество, заключающееся в том, что энергонезависимая память 204 должна быть физически удалена и заменена, чтобы изменить данные, что обеспечивает определенную степень защиты доступа и обеспечивает визуальную верификацию идентичности энергонезависимой памяти и ее содержимого.
В других вариантах осуществления данные ключа шифрования хранятся в устройстве массовой памяти. Другие варианты осуществления включают в себя память данных ключа шифрования, заключенную в защищенные области памяти функций шифрования устройства массовой памяти на жестких дисках, или используют другие методы защиты данных ключей шифрования.
Эти методы аутентификации или шифрования в некоторых вариантах осуществления изобретения также применяются к передачам данных в компьютеризованной игровой системе по сети. Данные, передаваемые по сети, в различных вариантах осуществления изобретения верифицируются с использованием хеш-функции, верифицируются путем шифрования с использованием открытого ключа и секретного ключа, верифицируются с использованием симметричного шифрования, верифицируются в процессе, подобном использованию процедуры шифрования случайного числа, описанной выше, или верифицируются с использованием цифровых подписей или других криптографических методов, таких как «чаффинг» (помехи). Также существует множество протоколов обмена ключей или согласования ключей, которые в некоторых вариантах осуществления изобретения обеспечивают возможность для сетевой компьютеризованной игровой системы публично согласовывать с другой сетевой компьютерной системой ключи шифрования, которые могут затем использоваться для защищенного информационного обмена по сети.
Такие методы сетевого информационного обмена используются в изобретении для обеспечения защищенного обмена данными между компьютеризованной игровой системой для игры на ставки и другими сетевыми компьютерными системами. Например, команды управления, которые управляют некоторыми аспектами функционирования компьютеризованных игр на ставки, посылаются в защищенном виде по сети в соответствии с некоторыми вариантами осуществления изобретения. Такие команды могут включать в себя увеличение шансов на выплату по выбранным компьютеризованным игровым системам для игры на ставки или изменение игровой программы, которая выполняется на выбранных компьютеризованных игровых системах для игры на ставки, в выбранное время суток. Компьютеризованные игры на ставки в некоторых вариантах осуществления защищенным образом передают игровые данные, такие как расчетные данные, на сетевой компьютер для шифрования. В других вариантах осуществления программные данные игры на ставки защищенным образом передаются по сети на компьютеризованные игровые системы для игры на ставки, обеспечивая защищенный способ предоставления новых игр на ставки системам без физического доступа к каждой компьютеризованной игровой системе для игры на ставки. Различные варианты осуществления изобретения предусматривают передачу других данных компьютеризованной игры на ставки по сетевому соединению посредством шифрования, которые также входят в объем изобретения.
Поскольку методы аутентификации обычно обеспечивают определенную степень защиты, которая зависит от усилий и затрат, хакеры вкладывают средства в преодоление шифрования, замену ключей шифрования, которые могут быть использованы в некоторых вариантах осуществления изобретения. Использование генерации случайных чисел с 25,50,60,80,100,120,128,156,1980 и более символов явно обеспечивает возможность превзойти возможности хакеров по доступу к кодам. Это особенно верно, когда генерация случайных чисел является уникальной для индивидуальных автоматов и может быть даже уникальной для каждой игры или каждой загрузки (программы начального пуска) игры. Цифровые подписи в некоторых вариантах осуществления являются действительными только в течение предварительно определенного периода времени и в других вариантах осуществления имеют связанную с ними дату истечения срока, после которой они больше не могут использоваться. Такие методы также могут быть применены в различных вариантах осуществления изобретения для лицензирования игр на использование в течение определенного периода времени, после которого они не могут быть верифицированы надлежащим образом вследствие истечения срока действия ключей шифрования, используемых для верификации данных. Поскольку хеш-функции обычно формируют значения хеш-функции, которые полностью зависят от хешируемых данных, варианты осуществления изобретения, которые включают истечение и замену опорных значений хеш-функции, также требуют повторного выпуска модифицированных данных для выработки другого значения хеш-функции. Например, незначительно измененные «безошибочные варианты» (версии ПО, выпущенные ради исправления старых ошибок), добавления новых свойств, другие незначительные изменения в данных, составляющих игровую программу, будут достаточны для формирования отличающегося опорного значения хеш-функции после хеширования отредактированных программных данных, следствием чего является обновленное опорное значение хеш-функции, соответствующее обновленным данным.
Другие варианты используют разнообразные ключи в различных компьютеризованных играх на ставки и для различных производителей игр, что снижает риск и тем самым стоимость успешного преодоления защиты, обеспечиваемой ключом шифрования. Например, производитель игр, согласно одному варианту осуществления, использует отличающуюся цифровую подпись для каждого клиента его компьютеризованных игр на ставки, гарантируя, что преодоление действия ключа шифрования в одной игровой системе повлияет на ограниченное число игр. В другом варианте осуществления регулирующее ведомство может изменять ключи, с которыми оно подписывает игры, на периодической основе, так что успешное взламывание ключей, использованных для подписи данных, приводит в результате к потенциальным потерям лишь для ограниченного и идентифицируемого числа игр. Для специалиста в данной области техники должно быть понятно, что существует множество вариантов относительно замены ключей и истечения действия ключей, все из которых также входят в объем настоящего изобретения.
Изобретение обеспечивает архитектуру и способ для специфической игры платформы, которая отличается защищенным хранением и верификацией игрового кода и других данных, обеспечивает возможность защищенного обмена данными с компьютеризованной игровой системой для игры на ставки и осуществляет это таким способом, который прост и легок в управлении. Некоторые варианты осуществления изобретения обеспечивают возможность идентифицировать игровой программный код в качестве сертифицированного или утвержденного, например, Комиссией по регулированию игр штата Невада или другим регулирующим ведомством. Изобретение обеспечивает эти и другие функции за счет использования шифрования, хеш-функций, а также других криптографических методов.
На фиг. 8 показана блок-схема, иллюстрирующая приведенный для примера вариант осуществления настоящего изобретения. Согласно чертежу элементы показанные на выделенном фоне, иллюстрируют то, что публикуется до использования ZKP, сохраняется вместе с набором игровых данных при использовании ZKP для аутентификации или пересылается по сети при использовании ZKP в интерактивном режиме. Сплошные блоки содержат элементы информации, которые генерируются до фазы запроса доказательства с нулевым знанием. Выделенный блок справа содержит элементы информации, которые завершают проверки на основе случайных запросов, показанные на диаграмме как случайные биты для каждого этапа.
При интерактивном осуществлении ZKP случайные биты выбираются после приема каждой случайной перестановки. При неинтерактивном осуществлении ZKP случайные биты выводятся из односторонней хеш-функции набора игровых данных и некоторой комбинации случайных перестановок и доказательства существования для секрета.
В качестве части подготовительной последовательности перед выполнением итераций выполняется следующее:
1) Генерировать секрет и доказательство существования секрета. Это делается однократно. Секрет, будучи генерированным, не может быть изменен. Доказательство существования секрета имеет следующие свойства: оно уникально для секрета, и очень трудно вычислить секрет из доказательства его существования. Секрет должен быть либо сохранен в неперезаписываемой запоминающей среде OS EPROM, либо он может быть зашифрован с использованием открытого и секретного ключей, чтобы секрет было невозможно изменить без знания секретного ключа. Этот этап является общим для интерактивного и неинтерактивного протоколов ZKP. Отметим, что шифрование с использованием PKI не является обязательной частью способа.
Для выполнения интерактивного ZKP:
Эта процедура должна быть выполнена в сети или ином типе среды, которая поддерживает «живой» (в реальном времени) обмен данными.
2) Генерировать случайное число и из него генерировать случайную перестановку доказательства существования секрета. Случайная перестановка доказательства существования секрета должна быть такой, чтобы было очень трудно восстановить случайное число, которое было использовано из случайной перестановки.
3) Предоставить (известить) случайную перестановку верифицирующей стороне. (Верифицирующая сторона должна также иметь доказательство существования секрета.)
4) Верифицирующая сторона выбирает 1 или 0.
5) В зависимости от того, было ли выбрано 1 или 0, делается одно из следующего:
а. Если выбрано 0, то открыть случайное число, которое было использовано для генерации случайной перестановки.
b. Если было выбрано 1, то открыть, что операции известен секрет путем комбинирования случайного числа и секрета таким образом, чтобы можно было показать, что способ, которым случайная перестановка связана со случайным числом, ассоциируется со способом, которым доказательство существования секрета связано с первоначальным секретом. Это должно быть сделано таким путем, чтобы не выдать в процесс ни случайное число, ни секрет.
6) Повторять этапы 2-5 столько раз, сколько желательно. Каждый этап снижает вероятность мошенничества соответственно коэффициенту 1/2.
Для неинтерактивного ZKP, чтобы аутентифицировать фрагмент данных (D), выполненный для подготовки набора данных D для аутентификации, после подготовки секрета согласно этапу (1) выполнить следующие этапы:
2) Принять решение, сколько итераций следует выполнить. Назвать это число N.
3) Генерировать N случайных чисел. Из этих чисел генерировать N случайных перестановок доказательства существования секрета.
4) Прогнать доказательство существования секрета, N случайных перестановок и данные D (например, игровые данные казино, наборы игровых данных казино и т.д.) через одностороннюю хеш-функцию для получения случайной последовательности «1» и «0».
5) Применить каждый бит случайной последовательности к этапу (5) интерактивного протокола. Сохранить результаты этого этапа вместе со случайными перестановками.
Для аутентификации набора D данных в игровом автомате:
Повторять этапы (4) и (5) неинтерактивной процедуры, приведенной выше, чтобы удостовериться, что все этапы были завершены надлежащим образом и успешно. Существование завершенных проверок гарантирует аутентичность набора D данных, который был использован при генерации значения хеш-функции (случайной последовательности «1» и «0»).
Другой альтернативный метод для описания другого варианта осуществления аутентификации игровых данных казино в игровом автомате с использованием доказательства с нулевым знанием заключается в следующем:
а) Первый этап заключается в выборе случайного числа. Этот этап может быть выполнен любым способом, предпочтительно с использованием генератора случайных чисел (даже генератора случайных чисел, обычно имеющегося в игровом аппарате для игры на ставки) или любым иным способом. Это случайное число является «секретом» в методе ZKP (подобно «секрету», описанному выше для других вариантов осуществления процесса аутентификации ZKP).
b) Случайное число вводится через математическую функцию (первоначальную математическую функцию) для получения второго отличающегося числа или значения. Генерация второго отличающегося числа или значения осуществляется таким образом, чтобы не имелось конкретной формулы, алгоритма или процесса, с помощью которых можно было бы подставить второе отличающееся число, чтобы в результате получить упомянутое случайное число. Примером такой функции может служить r2 mod n, где r - случайное число, а n - произведение двух простых чисел. Очень легко вычислить получающееся в результате число, однако очень трудно получить из результата исходное значение r.
c) Второе число сохраняется в процессоре игрового автомата. Это число может быть предоставлено любому лицу, и при этом оно не может быть проанализировано в обратном порядке, чтобы получить секрет.
d) Дополнительная информация необходима для работы с системой верификации, в том числе следующее: большое количество случайных чисел пропускаются через первоначальную математическую функцию для формирования «различных вторых чисел». Ряд из этих «различных вторых чисел» (обрабатываемые числа) может сохраняться в автомате или генерироваться в момент, когда подготавливается доказательство по процедуре ZKP. Они сохраняются в памяти в автомате вместе с наборами игровых данных. Полное число сохраненных чисел (они представляют собой обрабатываемые числа) вместе с наборами игровых данных вводится в хеш-функцию для вычисления последовательности случайных комбинаций (SRP) из «1» и «0» (эта SRP-последовательность не используется в качестве значения хеш-функции, а именно ряд «1» и «0»). Берется первый бит (0 или 1) SRP-последовательности, и если первый бит представляет собой 0, то принимается первое решение. Если первый бит представляет собой 1, то принимается второе решение. Если бит решения соответствует 0, то может быть принято решение взять первое случайное число (и затем последовательно каждое из них, для которого связанный бит решения представляет собой 0) и связать (считанное следующим друг с другом) первое обработанное случайное число со случайным числом, которое привело к этому значению. Если бит решения представляет собой 1, то второе решение может состоять в умножении первого обработанного случайного числа на первоначальное секретное число (для формирования произведения) и затем в связывании произведения с обработанным случайным числом, которое соответствует тому биту.
Указанные операции производятся для такого числа обработанных случайных чисел, какое желательно, вплоть до предельного значения количества битов в SRP-последовательности. Это может делаться так часто и до тех пор, пока возможно, путем добавления к SRP-последовательности с использованием больших чисел или путем генерирования полностью нового набора случайных перестановок и повторения процесса.
В результате в памяти (например, в портативной флэш-памяти или в памяти другого типа) сохраняются случайные обработанные числа и связанные с ними данные. Затем может осуществляться аутентификация в компьютеризованном игровом автомате путем регенерации комбинации из «1» и «0». Такая регенерация может быть выполнена путем пропускания SRP-последовательности через хэш-функцию вместе с первоначальным набором игровых данных и сохраненными обработанными случайными числами. При регенерации комбинации из «1» и «0» связанные данные проверяются для проверки того, как они сопоставляются с комбинацией из «1» и «0». Аутентификация будет вновь установлена, если последовательности проверок ZKP завершены корректно и полностью для всех N битов.
Компоненты настоящего изобретения могут быть реализованы аппаратными средствами посредством микропроцессора, программируемой логики или конечного автомата, а также программно-аппаратными средствами или на основе программного обеспечения в конкретном устройстве. Внутренний управляющий верификатор описан в совместно поданной предварительной заявке № 10/318,369 от 10 сентября 2001 и также может быть использован для повышения скорости хеширования. В предпочтительном варианте осуществления один или более компонентов изобретения реализованы посредством программного обеспечения. Компоненты настоящего изобретения, реализованные посредством программного обеспечения, также могут находиться на одном или более машиночитаемых носителей. Машиночитаемые носители в том виде, как использовано в настоящем описании, включают в себя память любого типа, энергозависимую и энергонезависимую, такую как дискеты, жесткие диски, CD-ROM, флэш-память, ПЗУ (ROM), ОЗУ (RAM). Кроме того, игровая система 100 может использовать электронную систему/оборудование с встроенным микропроцессором, реализующие специализированные аппаратные средства электронного оборудования.
В одном аспекте игровая система может включать в себя игровую систему управления, интерфейс игровой системы и автоматы игровой системы. Игровые системы управления включают в себя компьютеры или контроллеры, энергозависимую память и энергонезависимую память. Контроллер включает в себя память и энергонезависимое ОЗУ (NVRAM). В одном аспекте память является оперативной памятью. Оперативная память может представлять собой динамическую оперативную память (DRAM). Энергонезависимое ОЗУ включает в себя резервную батарею питания для сохранения данных, имеющихся в памяти после отключения питания. В одном варианте осуществления энергонезависимое ОЗУ 308 используется для хранения критически важных игровых данных, например настроек игрового автомата для игры в «слоты», процентов выплат и кредитов.
В одном варианте осуществления память программы может представлять собой энергонезависимую память с записью и считыванием. В одном аспекте память с записью может представлять собой флэш-память, коммерчески доступную под торговой маркой "Compact flash" от различных поставщиков. Возможность использования в настоящем изобретении энергонезависимой памяти других типов будет очевидна для специалистов в данной области техники на основе изучения описания настоящего изобретения.
Энергонезависимая память может быть использована для хранения набора игровых данных или файлов игровых программ. Примерами конкретных кодов игровых программ могут служить код игры, игровые данные, звуковое сопровождение игры, графика игры, файлы конфигурации игры и другие специфические для игры файлы. Специфические для игры файлы или программные файлы относятся к конкретным типам игр, выполняемых в игровой системе, таких как блэкджек, покер, видеослоты или слоты, реализуемые на игровом автомате с барабанами. В одном варианте осуществления энергонезависимая память представляет собой электронно-стираемую программируемую постоянную память (EEPROM). После подачи питания или включения игровой системы операционный код игровой системы и наборы игровых данных переносятся в память, предпочтительно энергозависимую память, для обеспечения быстрого доступа к ним контроллеру для функционирования игровой системы. В процессе функционирования игровой системы контроллер взаимодействует с игровыми автоматам игровой системы для осуществления операций игровой системы. Интерфейс игровой системы может включать в себя сетевой интерфейс, сетевой компьютер и сетевое соединение, как подробно описано выше. Игровой автомат игровой системы может включать в себя механические электронные аппаратные средства, программное обеспечение и видеоустройства, в том числе кнопки, джойстик, рукоятку, устройство для приема жетонов или монет, лоток для выдачи монет, видеоэкран, динамики, как детально описано выше.
В одном аспекте хеш-функция, используемая в изобретении, может представлять собой хеш-функцию типа SHA. Другие подходящие хеш-функции включают в себя MD5, SHEFRU, HAVAL и N-HASH. Другие хеш-функции, которые могут быть использованы в изобретении, будут очевидны для специалистов в данной области техники на основе изучения настоящего описания. Хешированные значения выходных данных или сообщений сохраняются в системе памяти. Система памяти может включать в себя профиль сообщений, сохраняемый в памяти типа RAM или VRAM или в другой подходящей системе памяти, являющейся частью игровой системы.
В процессе функционирования игровой системы набор игровых данных может непрерывно верифицироваться для определения того, не возникло ли изменения в наборе игровых данных. В частности, набор игровых данных верифицируется по одному файлу или поднабору данных в каждый данный момент времени. Более конкретно, при функционировании игровой системы к программному файлу применяется хеш-функция. Хешированное выходное значение сравнивается с хешированным выходным значением, сохраненным в системе. Если совпадения нет, то игровая система переходит в режим ошибки, завершает игру и/или уведомляет обслуживающий игру персонал. Если имеется совпадение, то аналогичным способом верифицируется следующий программный файл. Как таковой набор игровых данных непрерывно верифицируется в процессе функционирования игровой системы. В другом аспекте набор игровых данных может верифицироваться с использованием процесса верификации согласно настоящему изобретению с желательными интервалами времени или после возникновения желательного события, например запуска каждой игры, в которую играют в игровой системе.
Игровая система, соответствующая изобретению, обеспечивает уникальную систему и способ для подготовки набора игровых данных, который может быть аутентифицирован, и осуществления аутентификации игры, реализуемой в игровой системе. Игровая система включает в себя процесс, который надежным способом верифицирует, что набор игровых данных, включая программные файлы, не был изменен как намеренно, так и ненамеренно, что могло бы привести к изменению результата игры в игровой системе. В одном аспекте настоящее изобретение обеспечивает непрерывную верификацию игровой системы в процессе ее функционирования.
Хотя выше показаны и описаны конкретные варианты осуществления изобретения, специалистам в данной области техники должно быть ясно, что для конкретных показанных вариантов осуществления могут быть использованы любые вычислительные конфигурации для реализации того же назначения. Настоящая заявка включает в себя любые адаптации или варианты изобретения. Предусматривается, что настоящее изобретение ограничено только формулой изобретения и полным объемом ее эквивалентов.

Claims (38)

1. Компьютеризованное игровое устройство для игры на ставки, содержащее компьютеризованный игровой контроллер, имеющий процессор, память, генератор случайных чисел и энергонезависимую память и обеспечивающий управление компьютеризованной игрой на ставки, сохраненные игровые данные, содержащие игровой код, программу аутентификации, предназначенную для осуществления верификации последовательности доказательства с нулевым знанием, причем последовательность доказательства с нулевым знанием опрашивает сохраненные игровые данные для аутентификации сохраненных игровых данных, при этом игровые данные хешируются со случайным числом после загрузки игровой программы в оперативную память, и отклик нулевого знания сравнивается с сохраненными игровыми данными, относящимися к откликам доказательств с нулевым знанием в непрерывно исполняемом программном потоке, исполняющемся в компьютеризированном игровом контроллере, причем в процессе осуществления игры верификация включает в себя проверку достоверности того, что последовательность доказательства с нулевым знанием завершена корректным образом.
2. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором последовательность доказательства с нулевым знанием аутентифицирует управление игрой.
3. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором последовательность доказательства с нулевым знанием аутентифицирует сохраненные игровые данные путем
a) обеспечения секрета,
b) обеспечения N итераций, подлежащих выполнению,
c) генерирования N случайных чисел,
d) генерирования из этих чисел N случайных перестановок доказательства существования секрета путем обработки случайных чисел с использованием математической функции,
e) выполнения доказательства существования секрета как функции v=s2mod N; N случайных перестановок и набора D сохраненных игровых данных с использованием односторонней хеш-функции для получения случайной последовательности «1» и «0»,
f) использования каждого бита для принятия решения, причем каждое решение приводит к отдельной взаимосвязи, для каждого бита случайной последовательности, образованной односторонней хеш-функцией, и
g) сохранения результатов этапа (f) вместе с соответствующими элементами в случайных перестановках,
аутентифицирования набора D сохраненных игровых данных в игровом устройстве путем повторения этапов (d) и (е) вышеуказанной процедуры для верификации того, что все этапы завершены надлежащим образом и успешно выполнены.
4. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором игровые данные сохранены в энергонезависимой памяти и хешированы вместе с набором случайных перестановок, и результирующее значение используется для выполнения последовательности доказательства с нулевым знанием.
5. Компьютеризованное игровое устройство для игры на ставки по п.4, в котором результирующее значение является результатом хеширования игровых данных и случайных перестановок с использованием односторонней хеш-функции.
6. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором программа указывает, что
i) если отклики на последовательность доказательства с нулевым знанием корректны, то сохраненные игровые данные подтверждаются, и
ii) если отклики на последовательность доказательства с нулевым знанием некорректны, то сохраненные игровые данные идентифицируются как дефектные.
7. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором сохраненные игровые данные и, по меньшей мере, одна случайная перестановка хешируются зависимой от ключа хеш-функцией.
8. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором игровые данные сохраняются в энергонезависимой памяти, составляющей часть компьютеризированного игрового устройства для игры на ставки.
9. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором прикладная программа системной обработки загружает и исполняет криптографические функции, которые затем используются для защищенной загрузки других игровых данных из энергонезависимой памяти.
10. Компьютеризованное игровое устройство для игры на ставки по п.1, дополнительно содержащее энергонезависимую память для хранения открытого ключа, соответствующего секретному ключу, используемому для шифрования информации для неинтерактивной процедуры аутентификации ZKP.
11. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором компьютеризованный игровой контроллер представляет собой универсальный компьютер.
12. Компьютеризованное игровое устройство для игры на ставки по п.1, дополнительно содержащее сетевой интерфейс, соединяющий компьютеризованное игровое устройство для игры на ставки с сетевым компьютером.
13. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором программа аутентификации включает в себя только часть верификации последовательности доказательства с нулевым знанием и взаимодействует через сеть с удаленной доказывающей стороной.
14. Компьютеризованное игровое устройство для игры на ставки по п.1, в котором последовательность доказательства с нулевым знанием аутентифицирует сохраненные игровые данные.
15. Компьютеризованное игровое устройство для игры на ставки по п.13, в котором последовательность доказательства с нулевым знанием аутентифицирует сохраненные игровые данные путем верификации откликов, полученных по сети.
16. Компьютеризованное игровое устройство для игры на ставки по п.13, в котором последовательность доказательства с нулевым знанием идентифицирует удаленного верификатора через сеть.
17. Способ защиты данных в компьютеризованном игровом устройстве для игры на ставки, включающий в себя верификацию игровых данных в процессе функционирования компьютеризованного игрового устройства по процедуре, включающей в себя сохранение игровых данных, содержащих игровой код, в первой памяти;
использование последовательности доказательства с нулевым знанием для верификации игровых данных, причем последовательность доказательства с нулевым знанием опрашивает сохраненные игровые данные для аутентификации сохраненных игровых данных;
загрузку игрового кода во вторую память;
хеширование сохраненных игровых данных со случайным числом;
сравнение отклика нулевого знания с сохраненными игровыми данными, относящимися к откликам доказательств с нулевым знанием, в непрерывно исполняемом программном потоке, исполняющемся в компьютеризированном игровом контроллере; и
проверку достоверности того, что последовательность доказательства с нулевым знанием завершена корректным образом, в процессе функционирования компьютеризированного игрового устройства.
18. Способ по п.17, в котором игровые данные аутентифицируют.
19. Способ по п.17, в котором игровые данные содержат игровые данные казино.
20. Способ по п.17, в котором хеширование переданных данных выполняют в процессе верификации.
21. Способ по п.17, в котором хеширование выполняют зависимой от ключа хеш-функцией.
22. Способ по п.17, дополнительно содержащий шифрование данных, используемых в протоколе ZKP, перед передачей или сохранением.
23. Способ по п.17, в котором хеширование выполняют посредством встроенного средства проверки достоверности.
24. Компьютеризованное игровое устройство для игры на ставки, содержащее
компьютеризованный игровой контроллер, имеющий процессор, память и энергонезависимую память, генератор случайных чисел и код игровой программы, сохраненный в энергонезависимой памяти, в которой также сохранены результирующие значения математической хеш-функции случайных чисел из генератора случайных чисел, результирующий продукт или результирующее значение, взаимосвязанные с соответствующими случайными числами, и
программу аутентификации, также сохраненную в энергонезависимой памяти, причем программа аутентификации при исполнении проверяет достоверность того, что код игровой программы в энергонезависимой памяти не изменен, посредством последовательности доказательства с нулевым знанием, которая генерирует связи результирующего продукта или результирующего значения, взаимосвязанные с соответствующими случайными числами, и проверяет, что указанные взаимосвязи являются идентичными,
при этом хеш-функция и программа аутентификации выполняются в непрерывно исполняемом программном потоке, исполняющемся в компьютеризированном игровом контроллере.
25. Устройство по п.24, в котором проверка достоверности кода игровой программы посредством программы аутентификации осуществляется односторонней хеш-функцией.
26. Компьютеризированное игровое устройство для игры на ставки, содержащее
интерфейс ввода/вывода данных в/из компьютеризированный игровой контроллер, включающий в себя процессор, память и генератор случайных чисел, при этом контроллер предназначен для управления компьютеризированной игрой на ставки и выполнения загруженного в память игрового кода;
процессор предназначен для периодического копирования в память игрового кода;
генератор случайных чисел предназначен для генерирования множества случайных чисел для выбора числа или итераций-перестановок и их генерации;
процессор также предназначен для обеспечения случайных перестановок выбираемой из генератора случайных чисел комбинации и сохранения результатов случайных перестановок в памяти, а также для проверки результатов перестановок посредством хеш-функции;
процессор также предназначен для непрерывной верификации сохраненных результатов по одному файлу или набору игровых данных в каждый данный момент времени, чтобы определять, не возникли ли изменения в игровых данных;
причем при определении, что игровые данные изменены, процессор обеспечивает прекращение игры, а при определении, что игровые данные не изменены, процессор начинает верифицировать следующие файлы.
27. Устройство по п.26, в котором игровые данные и случайные перестановки хешируются зависимой от ключа хеш-функцией.
28. Устройство по п.26, в котором игровые данные сохранены в энергонезависимой памяти, являющейся частью компьютеризированного игрового устройства для игры на ставки.
29. Устройство по п.26, дополнительно содержащее энергонезависимую память для хранения открытого ключа, соответствующего секретному ключу, используемому для шифровании информации для неинтерактивной процедуры аутентификации по процедуре ZKP.
30. Устройство по п.26, дополнительно содержащее сетевой интерфейс для соединения компьютеризированного игрового устройства для игры на ставки с сетевым компьютером.
31. Способ защиты данных в компьютеризированном игровом устройстве для игры на ставки, заключающийся в том, что
обеспечивают управление компьютеризированной игрой на ставки путем выполнения загруженного в память игрового кода;
периодически копируют с помощью процессора игровой код в оперативную память;
генерируют множество случайных чисел посредством генератора случайных чисел;
генерируют множество случайных перестановок комбинации, выбираемой из генератора случайных чисел;
сохраняют результаты случайных перестановок в памяти;
верифицируют результаты случайных перестановок хеш-функцией;
непрерывно верифицируют в процессе функционирования игрового устройства сохраненные результаты по одному файлу или набору данных в каждый данный момент времени, для определения того, не произошло ли изменение в игровых данных;
при этом, в случае определения изменения игровых данных, процессор завершает игру, а в случае определения отсутствия изменений процессор начинает верифицировать следующие файлы игровых данных.
32. Способ по п.31, в котором игровые данные аутентифицируют.
33. Способ по п.31, в котором игровые данные содержат игровые данные казино.
34. Способ по п.31, в котором хеширование выполняют зависимой от ключа хеш-функцией.
35. Способ по п.31, в котором хеширование выполняют посредством встроенного средства проверки достоверности.
36. Считываемый компьютером носитель с сохраненными на нем командами, при исполнении которых обеспечивается
выполнение загруженного в первую память игрового кода для игры на ставки;
периодическое копирование игрового кода во вторую память;
генерирование комбинации случайных чисел, имеющей множество итераций-перестановок комбинаций случайных перестановок;
сохранение результатов случайных перестановок в первой памяти;
верификацию сохраненных результатов хеш-функцией;
непрерывную верификацию в процессе функционирования игрового устройства сохраненных результатов по одному файлу или набору данных в каждый данный момент времени, для определения того, не произошло ли изменение в игровых данных;
при этом, в случае определения изменения игровых данных, процессор завершает игру, а в случае определения отсутствия изменений процессор верифицирует следующие файлы игровых данных.
37. Считываемый компьютером носитель по п.36, дополнительно содержащий команды для соотнесения комбинации случайных чисел и сохраненных результатов.
38. Считываемый компьютером носитель по п.36, в котором хеш-функция является односторонней хеш-функцией.
RU2004134356/09A 2002-04-25 2003-04-09 Аутентификация в защищенной компьютеризованной игровой системе RU2302276C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/134,663 2002-04-25
US10/134,663 US6962530B2 (en) 2002-04-25 2002-04-25 Authentication in a secure computerized gaming system

Publications (2)

Publication Number Publication Date
RU2004134356A RU2004134356A (ru) 2005-05-27
RU2302276C2 true RU2302276C2 (ru) 2007-07-10

Family

ID=29249272

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004134356/09A RU2302276C2 (ru) 2002-04-25 2003-04-09 Аутентификация в защищенной компьютеризованной игровой системе

Country Status (8)

Country Link
US (1) US6962530B2 (ru)
EP (1) EP1497006B1 (ru)
JP (1) JP2005523668A (ru)
CA (1) CA2479093C (ru)
NO (1) NO20045069L (ru)
RU (1) RU2302276C2 (ru)
WO (1) WO2003090886A1 (ru)
ZA (1) ZA200409472B (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2496138C2 (ru) * 2009-06-12 2013-10-20 Сони Корпорейшн Магистраль распределения

Families Citing this family (201)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2421701A (en) * 1999-06-03 2001-04-17 Igt Method and device for implementing a downloadable software delivery system
US8033913B2 (en) * 1999-06-03 2011-10-11 Igt Gaming machine update and mass storage management
US7682245B2 (en) 2000-02-29 2010-03-23 Igt Name your prize game playing methodology
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7951002B1 (en) 2000-06-16 2011-05-31 Igt Using a gaming machine as a server
US6804763B1 (en) * 2000-10-17 2004-10-12 Igt High performance battery backed ram interface
US7111141B2 (en) * 2000-10-17 2006-09-19 Igt Dynamic NV-RAM
US8550922B2 (en) 2006-03-03 2013-10-08 Igt Game removal with game history
US7972214B2 (en) 2000-12-07 2011-07-05 Igt Methods and devices for downloading games of chance
US7722453B2 (en) * 2001-03-27 2010-05-25 Igt Interactive game playing preferences
US7918738B2 (en) 2001-03-27 2011-04-05 Igt Interactive game playing preferences
US8480466B2 (en) 2001-03-27 2013-07-09 Igt Method and apparatus for previewing a game
WO2002102484A1 (en) 2001-06-15 2002-12-27 Walker Digital, Llc Method and apparatus for planning and customizing a gaming experience
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) 2001-08-08 2004-02-03 Igt Process verification
US7699703B2 (en) * 2001-09-20 2010-04-20 Igt Method and apparatus for registering a mobile device with a gaming machine
US7611409B2 (en) * 2001-09-20 2009-11-03 Igt Method and apparatus for registering a mobile device with a gaming machine
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
WO2003045519A1 (en) 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
GB0128495D0 (en) * 2001-11-28 2002-01-23 Waterleaf Ltd Gaming system and method of operation thereof
US8360838B2 (en) * 2006-07-03 2013-01-29 Igt Detecting and preventing bots and cheating in online gaming
US6997803B2 (en) 2002-03-12 2006-02-14 Igt Virtual gaming peripherals for a gaming machine
US8597116B2 (en) 2002-03-12 2013-12-03 Igt Virtual player tracking and related services
AU2003252901A1 (en) * 2002-04-18 2003-12-11 Walker Digital, Llc Method and Apparatus for Authenticating Data Relating to Usage of a Gaming Device
US8608548B2 (en) * 2002-06-12 2013-12-17 Igt Intelligent wagering token and wagering token tracking techniques
US8616984B2 (en) * 2002-06-12 2013-12-31 Igt Intelligent player tracking card and wagering token tracking techniques
US7909699B2 (en) * 2002-06-27 2011-03-22 Igt Scan based configuration control in a gaming environment
US20090131151A1 (en) * 2006-09-01 2009-05-21 Igt Automated Techniques for Table Game State Tracking
US7815507B2 (en) 2004-06-18 2010-10-19 Igt Game machine user interface using a non-contact eye motion recognition device
US8333652B2 (en) * 2006-09-01 2012-12-18 Igt Intelligent casino gaming table and systems thereof
US8460103B2 (en) 2004-06-18 2013-06-11 Igt Gesture controlled casino gaming system
US8795061B2 (en) 2006-11-10 2014-08-05 Igt Automated data collection system for casino table game environments
US7104889B2 (en) * 2002-09-13 2006-09-12 Igt Method of using a rule based script to describe gaming machine payout
US7347778B2 (en) * 2003-03-03 2008-03-25 Wms Gaming Inc. Gaming machine system having automatic reporting feature
US8784195B1 (en) 2003-03-05 2014-07-22 Bally Gaming, Inc. Authentication system for gaming machines
US20040259640A1 (en) * 2003-04-16 2004-12-23 Gentles Thomas A. Layered security methods and apparatus in a gaming system environment
US7491122B2 (en) * 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
US8512144B2 (en) 2003-10-20 2013-08-20 Tipping Point Group, Llc Method and apparatus for providing secondary gaming machine functionality
US8287380B2 (en) * 2006-09-01 2012-10-16 Igt Intelligent wireless mobile device for use with casino gaming table systems
US8684839B2 (en) 2004-06-18 2014-04-01 Igt Control of wager-based game using gesture recognition
US7942744B2 (en) * 2004-08-19 2011-05-17 Igt Virtual input system
US7467404B2 (en) * 2004-09-27 2008-12-16 Bally Garning, Inc. System and method for distributing software licenses
US7862427B2 (en) 2004-10-04 2011-01-04 Igt Wide area progressive jackpot system and methods
US8602882B2 (en) 2004-10-04 2013-12-10 Igt Jackpot interfaces and services on a gaming machine
US8210920B2 (en) 2005-01-24 2012-07-03 Jay Chun Methods and systems for playing baccarat jackpot
US7922587B2 (en) 2005-01-24 2011-04-12 Jay Chun Betting terminal and system
US20060166726A1 (en) 2005-01-24 2006-07-27 Jay Chun Methods and systems for playing baccarat jackpot
US7914368B2 (en) 2005-08-05 2011-03-29 Jay Chun Methods and systems for playing baccarat jackpot with an option for insurance betting
US9940778B2 (en) 2005-01-24 2018-04-10 Igt System for monitoring and playing a plurality of live casino table games
US8308559B2 (en) 2007-05-07 2012-11-13 Jay Chun Paradise box gaming system
US8920238B2 (en) 2005-01-24 2014-12-30 Jay Chun Gaming center allowing switching between games based upon historical results
US8038530B2 (en) 2005-02-28 2011-10-18 Wms Gaming Inc. Method and apparatus for filtering wagering game content
US20060287111A1 (en) * 2005-05-23 2006-12-21 Bally Gaming, Inc. High efficiency gaming machine
US20070060302A1 (en) * 2005-08-17 2007-03-15 Igt Scan based configuration control in a gaming environment
WO2007027427A2 (en) * 2005-08-29 2007-03-08 Wms Gaming Inc. On-the-fly encryption on a gaming machine
US7887420B2 (en) 2005-09-12 2011-02-15 Igt Method and system for instant-on game download
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US8702502B2 (en) 2005-11-10 2014-04-22 Wms Gaming Inc. Authenticating files in wagering game machines
US8485881B2 (en) * 2005-11-17 2013-07-16 Igt Gaming machine with movable display
WO2007078654A2 (en) * 2005-12-20 2007-07-12 Wms Gaming Inc. Wagering game machine having image copied file system
US20080318669A1 (en) * 2005-12-22 2008-12-25 Wms Gaming Inc. Wagering Game Content Approval and Dissemination System
US7951008B2 (en) * 2006-03-03 2011-05-31 Igt Non-volatile memory management technique implemented in a gaming machine
US8366109B2 (en) 2006-04-12 2013-02-05 Bally Gaming, Inc. System and method to handle playing cards, employing elevator mechanism
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US10026255B2 (en) 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US8784196B2 (en) 2006-04-13 2014-07-22 Igt Remote content management and resource sharing on a gaming machine and method of implementing same
US9028329B2 (en) 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device
US8052519B2 (en) 2006-06-08 2011-11-08 Bally Gaming, Inc. Systems, methods and articles to facilitate lockout of selectable odds/advantage in playing card games
US20080009337A1 (en) * 2006-07-08 2008-01-10 Jackson Mark D Self-authenticating file system in an embedded gaming device
US7963839B2 (en) * 2006-09-19 2011-06-21 Mudalla Technology, Inc. Regulated gaming exchange
US7896741B2 (en) * 2006-10-16 2011-03-01 Igt Progressive controller
US7934993B2 (en) * 2006-10-16 2011-05-03 Igt Secure progressive controller
US20080108435A1 (en) * 2006-11-03 2008-05-08 Igt Monitoring and controlling gaming-environments
US8277314B2 (en) * 2006-11-10 2012-10-02 Igt Flat rate wager-based game play techniques for casino table game environments
US8195826B2 (en) 2006-11-10 2012-06-05 Bally Gaming, Inc. UDP broadcast for user interface in a download and configuration gaming method
US9311774B2 (en) 2006-11-10 2016-04-12 Igt Gaming machine with externally controlled content display
US20090156303A1 (en) 2006-11-10 2009-06-18 Igt Bonusing Architectures in a Gaming Environment
US8191121B2 (en) 2006-11-10 2012-05-29 Bally Gaming, Inc. Methods and systems for controlling access to resources in a gaming network
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8631501B2 (en) 2006-11-10 2014-01-14 Bally Gaming, Inc. Reporting function in gaming system environment
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US8478833B2 (en) 2006-11-10 2013-07-02 Bally Gaming, Inc. UDP broadcast for user interface in a download and configuration gaming system
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US7712045B2 (en) * 2006-11-10 2010-05-04 Igt Displaying content for various aspect ratios
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US8131829B2 (en) 2006-11-13 2012-03-06 Bally Gaming, Inc. Gaming machine collection and management
US7942742B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Accessing identification information to verify a gaming device is in communications with a server
US10068421B2 (en) * 2006-11-16 2018-09-04 Cfph, Llc Using a first device to verify whether a second device is communicating with a server
US8012015B2 (en) * 2006-11-15 2011-09-06 Cfph, Llc Verifying whether a gaming device is communicating with a gaming server
US7942740B2 (en) * 2006-11-15 2011-05-17 Cfph, Llc Verifying a first device is in communications with a server by storing a value from the first device and accessing the value from a second device
US7942739B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Storing information from a verification device and accessing the information from a gaming device to verify that the gaming device is communicating with a server
US7942741B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Verifying whether a device is communicating with a server
CA3106530A1 (en) * 2006-11-15 2008-05-22 Cfph, L.L.C. Systems and methods for determining that a gaming device is communicating with a gaming server
US7942738B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Verifying a gaming device is in communications with a gaming server
US7980948B2 (en) * 2006-12-19 2011-07-19 Igt Dynamic side wagering system for use with electronic gaming devices
US9292996B2 (en) 2006-12-19 2016-03-22 Igt Distributed side wagering methods and systems
US20080242426A1 (en) * 2007-03-28 2008-10-02 Kraft David W Gaming machine critical data memory system and method
US8118681B2 (en) * 2007-04-12 2012-02-21 Igt Gaming system having retractable gaming unit
US7949998B2 (en) * 2007-04-20 2011-05-24 Microsoft Corporation Programming framework for closed systems
US8330764B2 (en) * 2007-04-20 2012-12-11 Microsoft Corporation Programming framework for closed systems
US8523666B2 (en) * 2007-05-25 2013-09-03 Microsoft Corporation Programming framework for closed systems
WO2009020843A1 (en) * 2007-08-03 2009-02-12 Wms Gaming, Inc. Wagering game history features
US9039515B2 (en) 2007-10-25 2015-05-26 Igt Server based gaming system providing multiple side bet awards
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US8201229B2 (en) 2007-11-12 2012-06-12 Bally Gaming, Inc. User authorization system and methods
US8721431B2 (en) 2008-04-30 2014-05-13 Bally Gaming, Inc. Systems, methods, and devices for providing instances of a secondary game
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US8366542B2 (en) 2008-05-24 2013-02-05 Bally Gaming, Inc. Networked gaming system with enterprise accounting methods and apparatus
US9443377B2 (en) 2008-05-30 2016-09-13 Bally Gaming, Inc. Web pages for gaming devices
US9424712B2 (en) 2008-06-27 2016-08-23 Bally Gaming, Inc. Authenticating components in wagering game systems
US8412768B2 (en) 2008-07-11 2013-04-02 Ball Gaming, Inc. Integration gateway
US8422683B2 (en) * 2008-07-15 2013-04-16 The Mitre Corporation Appraising systems with zero knowledge proofs
US20100075762A1 (en) * 2008-09-24 2010-03-25 Incredible Technologies Segmented Memory Control System for Gaming Devices
US10235832B2 (en) 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
US8347303B2 (en) 2008-11-14 2013-01-01 Bally Gaming, Inc. Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM)
US8423790B2 (en) 2008-11-18 2013-04-16 Bally Gaming, Inc. Module validation
US8192283B2 (en) 2009-03-10 2012-06-05 Bally Gaming, Inc. Networked gaming system including a live floor view module
JP5414346B2 (ja) * 2009-04-28 2014-02-12 三菱電機株式会社 データ処理装置
US10817851B2 (en) 2009-12-23 2020-10-27 Aristocrat Technologies Australia Pty Limited System and method for cashless gaming
US8781119B2 (en) * 2010-12-14 2014-07-15 Nxp, B.V. User-controlled Random-ID generation function for smartcards
US9092608B2 (en) 2010-12-14 2015-07-28 Nxp B.V. Random-ID function for smartcards
US9098970B2 (en) 2011-06-17 2015-08-04 Wms Gaming Inc. Wagering game machine hibernation
US9875607B2 (en) 2011-07-13 2018-01-23 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US8517824B2 (en) 2011-08-30 2013-08-27 Igt Gaming system, gaming device, and method for side wagering on occurrences of bonus events
US8628412B2 (en) 2011-08-30 2014-01-14 Igt Gaming system, gaming device, and method for side wagering on bonus event outcomes generated in bonus events
US10297105B2 (en) 2011-09-09 2019-05-21 Igt Redemption of virtual tickets using a portable electronic device
US10121318B2 (en) 2011-09-09 2018-11-06 Igt Bill acceptors and printers for providing virtual ticket-in and ticket-out on a gaming machine
US9367835B2 (en) 2011-09-09 2016-06-14 Igt Retrofit devices for providing virtual ticket-in and ticket-out on a gaming machine
US8613659B2 (en) 2011-09-09 2013-12-24 Igt Virtual ticket-in and ticket-out on a gaming machine
US20190272704A1 (en) 2011-09-09 2019-09-05 Igt Redemption of virtual tickets using a portable electronic device
US8540567B2 (en) 2011-09-28 2013-09-24 Igt Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games
US9293000B2 (en) 2011-09-28 2016-03-22 Igt Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games
US8672750B2 (en) 2011-09-28 2014-03-18 Igt Gaming system, gaming device and method for reporting for multiple concurrently played games
US8777738B2 (en) * 2011-09-30 2014-07-15 Igt System and method for an extensible boot image for electronic gaming machines
US9524609B2 (en) 2011-09-30 2016-12-20 Igt Gaming system, gaming device and method for utilizing mobile devices at a gaming establishment
US8613668B2 (en) 2011-12-22 2013-12-24 Igt Directional wireless communication
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8876596B2 (en) 2012-02-29 2014-11-04 Igt Virtualized magnetic player card
US9311769B2 (en) 2012-03-28 2016-04-12 Igt Emailing or texting as communication between mobile device and EGM
US9412227B2 (en) 2012-07-11 2016-08-09 Igt Method and apparatus for offering a mobile device version of an electronic gaming machine game at the electronic gaming machine
AU2013327323B2 (en) 2012-10-02 2017-03-30 Igt System and method for providing remote wagering games in live table game system
US9489801B2 (en) 2012-12-06 2016-11-08 Igt Community gaming experience
US9098973B2 (en) 2013-03-08 2015-08-04 Igt Gaming system and method for providing a game including roaming wild symbols
US9098847B2 (en) 2013-03-08 2015-08-04 Igt Gaming system and method for providing a game including roaming wild symbols
US9070251B2 (en) 2013-03-08 2015-06-30 Igt Multi-tiered static chain of trust
WO2014197071A1 (en) * 2013-03-13 2014-12-11 Willow, Inc. Secured embedded data encryption systems
US8821239B1 (en) 2013-07-22 2014-09-02 Novel Tech International Limited Gaming table system allowing player choices and multiple outcomes thereby for a single game
US9336650B2 (en) 2013-08-29 2016-05-10 Igt Conducting a side bet in a game
US8684830B1 (en) 2013-09-03 2014-04-01 Novel Tech International Limited Individually paced table game tournaments
US9208648B2 (en) 2013-09-12 2015-12-08 Igt Gaming system and method for triggering a random secondary game in association with multiple concurrently played primary games
US9595159B2 (en) 2013-10-01 2017-03-14 Igt System and method for multi-game, multi-play of live dealer games
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
US9578004B2 (en) * 2014-09-12 2017-02-21 Ca, Inc. Authentication of API-based endpoints
US10706689B2 (en) 2014-09-26 2020-07-07 Igt Gaming system and method employing multiple symbol generators utilized for multiple concurrently played games
USD780201S1 (en) 2014-09-26 2017-02-28 Igt Gaming system display with graphical user interface
US10255763B2 (en) 2014-12-12 2019-04-09 Synergy Blue, Llc Interactive event outcome reveal techniques implemented in wager-based video games and non wager-based video games
US10255765B2 (en) 2015-08-20 2019-04-09 Synergy Blue, Llc Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games
US10311679B2 (en) 2014-12-12 2019-06-04 Synergy Blue, Llc First person shooter, RPG and sports themed hybrid arcade-type, wager-based gaming techniques
US10032337B2 (en) 2014-12-12 2018-07-24 Synergy Blue, Llc Achievement-based payout schedule unlock techniques implemented in wager-based gaming networks
US10909809B2 (en) 2014-12-12 2021-02-02 Synergy Blue Llc Graphical user interface and computer processing techniques for facilitating user interaction with electronic gaming devices
US10255761B2 (en) 2015-03-17 2019-04-09 Igt Gaming system and method for converting primary game outcomes to secondary game outcomes
US9916735B2 (en) 2015-07-22 2018-03-13 Igt Remote gaming cash voucher printing system
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US10417867B2 (en) 2015-09-25 2019-09-17 Igt Gaming system and method for automatically transferring funds to a mobile device
US20170092054A1 (en) 2015-09-25 2017-03-30 Igt Gaming system and method for utilizing a mobile device to fund a gaming session
CN110383352A (zh) * 2015-11-19 2019-10-25 斯尼吉布兰有限公司 与基于技巧的游戏有关的游戏以及筹码技术
AU2017286898A1 (en) 2016-06-29 2019-01-03 Synergy Blue, Llc Dynamic placement of in-game ads, in-game product placement, and in-game promotions in wager-based game environments
US10163302B2 (en) 2016-08-08 2018-12-25 Double Down Interactive Llc Gaming system and method for providing a variable award in association with a virtual currency purchase
US10217317B2 (en) 2016-08-09 2019-02-26 Igt Gaming system and method for providing incentives for transferring funds to and from a mobile device
US10916090B2 (en) 2016-08-23 2021-02-09 Igt System and method for transferring funds from a financial institution device to a cashless wagering account accessible via a mobile device
US10621824B2 (en) 2016-09-23 2020-04-14 Igt Gaming system player identification device
WO2018093416A1 (en) 2016-11-21 2018-05-24 Synergy Blue, Llc Achievement-based payout schedule unlock techniques implemented in wager-based gaming networks
US10362016B2 (en) * 2017-01-18 2019-07-23 International Business Machines Corporation Dynamic knowledge-based authentication
US10332344B2 (en) 2017-07-24 2019-06-25 Igt System and method for controlling electronic gaming machine/electronic gaming machine component bezel lighting to indicate different wireless connection statuses
US10360763B2 (en) 2017-08-03 2019-07-23 Igt System and method for utilizing a mobile device to facilitate fund transfers between a cashless wagering account and a gaming establishment retail account
US10373430B2 (en) 2017-08-03 2019-08-06 Igt System and method for tracking fund transfers between an electronic gaming machine and a plurality of funding sources
US10360761B2 (en) 2017-08-03 2019-07-23 Igt System and method for providing a gaming establishment account pre-approved access to funds
US10380843B2 (en) 2017-08-03 2019-08-13 Igt System and method for tracking funds from a plurality of funding sources
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
CN111630811A (zh) 2017-10-19 2020-09-04 奥特海威公司 生成和寄存用于多点认证的密钥的系统和方法
US10469490B2 (en) * 2017-10-19 2019-11-05 Mastercard International Incorporated Methods and systems for providing FIDO authentication services
US11341817B2 (en) 2017-12-18 2022-05-24 Igt System and method for providing awards for utilizing a mobile device in association with a gaming establishment retail account
US10643426B2 (en) 2017-12-18 2020-05-05 Igt System and method for providing a gaming establishment account automatic access to funds
US11922765B2 (en) 2017-12-18 2024-03-05 Igt System and method employing virtual tickets
US10950088B2 (en) 2017-12-21 2021-03-16 Igt System and method for utilizing virtual ticket vouchers
US11043066B2 (en) 2017-12-21 2021-06-22 Igt System and method for centralizing funds to a primary gaming establishment account
US10970968B2 (en) 2018-04-18 2021-04-06 Igt System and method for incentivizing the maintenance of funds in a gaming establishment account
US11100758B2 (en) * 2019-05-22 2021-08-24 Igt System and method for implementing a lottery game
US11027197B2 (en) * 2019-09-30 2021-06-08 Sony Interactive Entertainment Inc. Serverless gaming through zero-knowledge proofs
US11854348B2 (en) 2019-11-21 2023-12-26 Igt System and method for lottery and skill games
AU2020244440A1 (en) 2020-03-04 2021-09-23 Aristocrat Technologies Australia Pty Limited Gaming device with dynamic awards based on symbol position state

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1512857A (en) 1974-09-13 1978-06-01 Bally Mfg Corp Monitoring system for use with amusement game devices
GB2072395B (en) 1980-03-13 1984-05-02 Kennedy R J Gaming or amusement machine
US4525599A (en) 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4582324A (en) 1984-01-04 1986-04-15 Bally Manufacturing Corporation Illusion of skill game machine for a gaming system
US4727544A (en) 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device
DE8700597U1 (ru) 1987-01-14 1987-12-10 Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen, De
US4871171A (en) 1987-03-30 1989-10-03 Recreativus Franco, S.A. Game device including means simulating release of a ball
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
DE3817484A1 (de) 1988-05-21 1989-11-30 Thomas Prof Beth Verfahren und schaltungsanordnung zur identifikation und echtheitspruefung aller arten von spezifischen merkmalen
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US5004232A (en) 1989-10-13 1991-04-02 Macronix, Inc. Computer game cartridge security circuit
DE4014477A1 (de) 1990-01-22 1991-07-25 Bergmann & Co Th Rouletteartiges geldspielgeraet
JP2560124B2 (ja) 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス ビデオゲームシステム及び情報処理装置
US5326104A (en) 1992-02-07 1994-07-05 Igt Secure automated electronic casino gaming system
US5489095A (en) 1992-07-01 1996-02-06 U.S. Philips Corporation Device for protecting the validity of time sensitive information
FR2697653B1 (fr) 1992-11-04 1995-01-20 Info Telecom Dispositif électronique de jeu de hasard.
US5954583A (en) 1992-11-05 1999-09-21 Com21 Limited Secure access control system
US6298441B1 (en) * 1994-03-10 2001-10-02 News Datacom Ltd. Secure document access system
US5848932A (en) 1994-09-23 1998-12-15 Anchor Gaming Method of playing game and gaming games with an additional payout indicator
US5823874A (en) 1994-09-23 1998-10-20 Anchor Gaming Method of playing game and gaming device with an additional payout indicator
US5707286A (en) 1994-12-19 1998-01-13 Mikohn Gaming Corporation Universal gaming engine
US5604801A (en) 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
JP2002515765A (ja) * 1995-06-29 2002-05-28 シリコン・ゲーミング・インコーポレーテッド 優れた遊技機能と認証およびセキュリティを有する電子的カジノゲームシステム
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5800268A (en) 1995-10-20 1998-09-01 Molnick; Melvin Method of participating in a live casino game from a remote location
US5758875A (en) 1996-01-11 1998-06-02 Silicon Gaming, Inc. Dynamic rate control method and apparatus for electronically played games and gaming machines
FR2747257B1 (fr) * 1996-04-09 1998-09-11 Gilbert Henri Procede d'identification et/ou de signature
US5871400A (en) 1996-06-18 1999-02-16 Silicon Gaming, Inc. Random number generator for electronic applications
CN1212101A (zh) * 1996-10-23 1999-03-24 皇家菲利浦电子有限公司 移动通信业务的付费方案
US5971851A (en) 1996-12-27 1999-10-26 Silicon Gaming, Inc. Method and apparatus for managing faults and exceptions
US6099408A (en) 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US6071190A (en) 1997-05-21 2000-06-06 Casino Data Systems Gaming device security system: apparatus and method
US6203427B1 (en) 1997-07-03 2001-03-20 Walker Digital, Llc Method and apparatus for securing a computer-based game of chance
EP0895149B1 (en) * 1997-07-31 2003-09-17 Siemens Aktiengesellschaft Computer system for protecting a file and a method for protecting a file
US5879234A (en) 1997-10-01 1999-03-09 Universal De Desarrollos Electronicos, S.A. (Unidesa) Security system for reel type slot machine with physical mapping to control the win odds
US5863041A (en) 1997-12-11 1999-01-26 Bet Technology, Inc. Pai gow poker with auxiliary game
US6501390B1 (en) * 1999-01-11 2002-12-31 International Business Machines Corporation Method and apparatus for securely determining aspects of the history of a good
US8226473B2 (en) * 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2496138C2 (ru) * 2009-06-12 2013-10-20 Сони Корпорейшн Магистраль распределения

Also Published As

Publication number Publication date
JP2005523668A (ja) 2005-08-04
EP1497006B1 (en) 2013-09-18
ZA200409472B (en) 2006-04-26
US20030203756A1 (en) 2003-10-30
EP1497006A4 (en) 2009-07-22
EP1497006A1 (en) 2005-01-19
NO20045069L (no) 2004-12-28
RU2004134356A (ru) 2005-05-27
CA2479093A1 (en) 2003-11-06
AU2003223536A1 (en) 2003-11-10
US6962530B2 (en) 2005-11-08
CA2479093C (en) 2011-06-14
WO2003090886A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
RU2302276C2 (ru) Аутентификация в защищенной компьютеризованной игровой системе
US7116782B2 (en) Encryption in a secure computerized gaming system
US7203841B2 (en) Encryption in a secure computerized gaming system
AU2009206188B2 (en) Pass-through live validation device and method
US20030203755A1 (en) Encryption in a secure computerized gaming system
US6790143B2 (en) Gaming system with individualized centrally generated random number generator seeds
US20080009337A1 (en) Self-authenticating file system in an embedded gaming device
WO1998035309A1 (en) Distributed game accelerator
US11495088B2 (en) System and method for authenticating storage media within an electronic gaming system
AU2003223536B2 (en) Authentication in a secure computerized gaming system
AU2001245518B2 (en) Encryption in a secure computerized gaming system
AU2001245518A1 (en) Encryption in a secure computerized gaming system
AU5848098A (en) Distributed game accelerator

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20140410