Как работают мобильные кошельки на основе смарт-карт

CasinoUpdate

Активный
Сегодня мы подробно расскажем о свойстве смарт-карт-приложений, которые могут защищать биткоиновый кошелек и создавать приватную безопасную систему аутентификации.

Итак, нам предоставили патент на применение ECDSA для создания и безопасной передачи ключей. Этот же механизм можно использовать для разработки системы, совершающей вход в компьютеры и создающей кошелек-ключ, совместимый со смарт-картами и мобильными телефонами и работающий как одноразовый биткони-ключ, постоянно меняющий адрес.

Существование биометрических Java смарт-карт не ново, но сейчас их начинают внедрять в общее пользование.

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

Биометрические смарт-карты могут быть изданы при условии, что ключ ECDSA для базовой части не опубликован в блокчейне. Связанный адрес может даже быть заверен в PKI (Инфраструктуре Открытого Ключа), где биткоин-адрес (не Открытый Ключ) зарегистрирован Центром Сертификации. В результате, можно будет даже создавать целую систему идентификации на основе AML/KYC, а биометрическая ID-карта (например паспорт UK) сделает возможным процесс Java ECDSA.

Подобный процесс способен решить все проблемы, связанные и PKI и приватностью.

В примере патента мы заменяем ноутбук на смарт-карту.

1.png

В результате, мы получим систему позволяющую вход в устройства (такие как телефоны). Ключ в данном случае хранится в качестве совместной обработке.

  • PO = секрет (смарт-карта) XG(G – cure operator ECDSA)
  • Pi = секрет (значение кошелька) XG

Значение кошелька + секретом смарт-карты открывают возможность резервного копирования данных.
Безымянный.png


С мобильного приложения на смарт-карту с транзакционным хэшем отправляется секрет коина (значение кошелька). Для этого приложение составляет хэш для транзакции (у «смартов» есть функция составления) и секрет (значение кошелька).

Смарт-карты назначает хэш с помощью сложных ключей:
  • S = секрет (значение кошелька) + секрет (смарт-карта):
Затем через приложение на смарт-карту посылается следующее:
  • Si = секрет (смарт карта)
  • H = хэш (предстоящая транзакция)
Теперь смарт-карта вычисляет значение биткоин-адреса, связанного со сложным ключом, (P0+Pi). Возвращенная сигнатура:
  • (R,S) i – сложная ECDSA-сигнатура для адреса (P0+Pi).
Приложение устанавливает изменение (если оно есть) на новый адрес, P(i+1).

Адрес для P (коин + 1) выводится на смарт-карту и возвращается в приложение. Это достигается путем генерации нового секрета в приложении и отправки его на смарт-карту:
  • P0 = секрет (смарт-карты) XG (G – cure operator ECDSA)
  • P(i+1) = секрет (значение кошелька +1) XG
  • P(coin+1) = P0 + P(i+1)
Вместо того, чтобы отправлять секрет на карту, приложение всегда отправляет открытый ключ. Если он известен владельцу карты (например, при использовании как хэшированного адреса, так и ключа), приложение может произвести вычисление.

В сочетании смарт-карта и приложение могут дать надежный кошелек, совершающий вход через карту. Также с их помощью можно улучшить кошельки вроде Handcash или Centbee. После каждого входа генерируется новый ключ безопасности.

При использовании карты, можно создать отдельный кошелек для каждого устройства. Так гораздо проще людям со слабыми или устаревшими устройствами. Ключ гарантированно одноразовый, а подтвердить его можно будет позже в условиях полной приватности.

Каждый коин расходуется на новый адрес один единственный раз. А в связи с тем, что большинство транзакций обрабатываются телефоном или приложением, операции должны быть предельно простыми.

Резервные копии смарт-карт можно хранить в сейфе, чтобы произвести восстановление данных. Карта и приложение работают только при подтверждении биометрии пользователя (например, отпечатков пальцев). Одну и ту же карту можно использовать неоднократно, при этом ни разу не разоблачив ключ, так как зарегистрированный ключ к смарт-карте не нужен для обмена биткоинами.

Более того, карту можно использовать для процесса, расписанного ниже для безопасной шифровки и даже входа в компьютер и дистанционного запуска VPN.

Безопасность персональных устройств – подробности базового изобретения

Данное изобретение описывает новый метод безопасного шифрования данных на любом персональном электронном устройстве, включая ПК, ноутбуки, планшеты и так далее. Данный метод задействует технику обмена секретным значением между двумя узлами.

Описание проблемы

Шифрование данных на персональных устройствах предназначено для защиты содержимого жесткого диска в случае потери или кражи. У нынешних методов множество недостатков. К примеру, для дешифровки жесткого диска, может потребоваться PIN-код или пароль. Но короткие коды (4-8 символов) может легко взломать хакер, в чьих руках находится устройство, путем подбора комбинаций. Пароли-фразы гораздо безопаснее, но вынуждают запоминать длинные наборы слов. Еще более безопасен криптографический ключ, например в USB-устройстве. Но даже в этом методе есть брешь: несмотря на прямой контакт между флешкой и устройством, секрет все равно можно перехватить через электромагнитные сигналы, генерируемые во время трансмиссий.

Приведенный метод решает подобные проблемы. Через персональное устройство он вычисляет секрет, основанный на трансмиссии только несекретной информации, посылаемой авторизованным пользователем.

Словарь

  • DCS – патент под названием «Determining a Common Secret for two nodes» (Определение Общего Секрета для Двух Узлов)
  • PED – Personal Electronic Device (Личное Электронное Устройство, которое нужно дешифровать (ноутбук, ПК итд))
  • Брелок – устройство, содержащее в себе основной ключ пользователя (смартфон, USB итд)
  • Пользователь – авторизованный владелец PED и Брелка
  • Софт (с заглавной буквы) – приложение на PED, выполняющее вычисления по эллиптической кривой и взаимодействующее с брелком.
  • Приложение (с заглавной буквы) – приложение в Брелке, выполняющее вычисления по эллиптической кривой и взаимодействующее с PED.
  • ECC – Elliptic Curve Cryptography (Криптография Эллиптической Кривой)
  • Сессия – промежуток времени, пока PED во владении пользователя и не дешифрован. Сессия начинается с аутентификации, далее идет дешифровка, заканчивается все шифрованием PED.
  • Цикл – полный оборот Шифрования и Дешифровки пока PED бездействует.

Ключевые элементы изобретения:
  1. Шифровочный/дешифровочный ключ – это криптографический ключ (пример: AES256), который не подлежит непосредственному обмену между пользователем и устройством. Вместо этого, он пересчитывается после аутентификации. Новый шифрофочный ключ нужен для каждого нового цикла.
  2. Метод использует секретный протокол по обмену ключами, описанный в патенте DCS.

Исключения
  1. Сам процесс шифровки/дешифровки задействует существующие стандарты и здесь не описан.
  2. Протоколы решения проблем перебоев связи (например, отсоединившиеся кабель) здесь не описан.

Техническое Описание
В данном описании приведена сноска DCS. Нужная для процесса терминология:

  • PED («Сервер») Master Private Key = VMS (секретный)
  • PED («Сервер») Master Public Key = PMS (несекретный)
  • Брелок («Клиент») Master Private Key = VMC (секретный)
  • Брелок («Клиент») Master Public Key = PMC (несекретный)

Описание приведено в качестве примера; PED – гипотетический ноутбук, брелок – смартфон.

Инициализация (регистрация DCS)

Фаза инициализации начинается с полностью незашифрованного ноутбука с установленным Софтом. На смартфон устанавливается приложение-аналог Софта. Приложение должно быть совместимым, т.е. соответствовать тому же стандарту ECC (к примеру secp256k1), с похожим набором параметров. Параметры ECC перманентно заносятся на устройство.

1) Ноутбук и смартфон соединены либо кабелем, либо беспроводным соединением, например через Bluetooth. Софт ноутбука настраивает контакт с приложением смартфона и верифицирует через обмен сигналами.

Примечание: Предполагается соблюдение всех существующих мер безопасности (например стандартного введения Pin-кода или пароля).

2) Софт ноутбука и приложение смартфона независимо генерируют свою собственную пару открытых/приватных ключей. Изначально генерируются мастер-ключи. Приватные ключи (VMS и VMC) хранятся на релевантном устройстве. Открытые ключи (PMS и PMC) пересылаются в другое устройство. На каждом устройстве перманентно сохраняется три мастер-ключа (собственный приватный/открытый ключ + открытый ключ другого устройства).

3) Ноутбук создает новое сообщение «Mn» (n – новый) и задействует стандартный алгоритм для создания хэша сообщения, образуя 256-битное целое число:

  • Сообщение = Mn (Hash160 случайно сгенерированного номера)
  • Message Hash = SHA-256 (Mn)

Инициализация продолжается до конца первой фазы шифрования. После этого каждая сессия состоит из фазы дешифровки вначале и фазы шифровки в конце.

Шифровка

4) Софт ноутбука задействует Mn для пересчета собственной пары ключей, а также новый открытый ключ смартфона:

  • Новый Приватный Ключ Ноутбука = VnS = VMS + SHA-256 (Mn)
  • Новый Открытый Ключ Ноутбука = PnS = PMS + SHA-256 (Mn) XG
  • Новый Открытый Ключ Смартфона = PnC – PMC + SHA-256 (Mn) XG

5) Теперь Софт может вычислить новый секретный Sn:

Софт вычисляет Sn = VnS X PnC

(Примечание: Приложение также может вычислить секрет, как в DCS, но в случае с данным изобретением, только Софт необходим для получения значения).

6) В приведенном примере секрет Sn не используется в качестве шифровочного ключа, хотя может быть в некоторых вариациях. Здесь серийный номер ноутбука закодирован в самом шифровочном коде ноутбука, что обеспечивает его уникальность. Шифровочный ключ вычисляется следующим образом:

E = SHA256(SHA256(salt + Sn) + серийный номер)

где

Salt = Mn

7) В рамках процессов выхода и выключения, Софт шифрует диск. Шифровочный диск E нигде не хранится, а сообщение Mn не хранится на ноутбуке. Сообщение Mn хранится в смартфоне и задействуется при дешифровки жесткого диска.

Дешифровка

8) Налажен контакт между ноутбуком и смартфоном посредством кабельного либо беспроводного соединения (например, Bluetooth). Происходит верификация через обмен сигналами.

(Примечание: данный шаг аналогичен первому шагу инициализации)

9) Система ноутбука создает новое сообщение «Mn» для аутентификации, текущей фазы дешифровки, а также последующей шифровки. Значение отличается от ранее созданного смартфоном в конце фазы шифровки. Для дальнейшего разделения сообщений, первое будет называться Mo (o = «old», «старый»). Ноутбук отсылает Mn на смартфон и задействует стандартный алгоритм для создания хэша, из которого получается целое число:

  • Message = Mn (Hash160 случайно сгенерированного числа)
  • Message Hash = SHA-256(Mn)

10) Прежде всего, Приложение вычисляет новую пару ключей, основываясь на значении Mn:

  • Новый Приватный Ключ Смартфона = VnC = VMC + SHA-256(Mn)
  • Новый Открытый Ключ Смартфона = PnC = PMC + SHA-256(Mn) XG

11) После этого приложение назначает новый приватный ключ для Mn и отсылает его обратно к Софту:

  • Сообщение назначение = Sig-VnC <Mn>

12) Как и в случае с DCS, Софт идентифицирует Приложение путем верификации назначенных сообщений. Для этого происходит независимое вычисление нового Открытого Ключа Приложения (PnC) с помощью формулы из пункта 10. Затем происходит стандартная проверка ECDSA между Sig-VnC <Mn> и PnC.

13) Распределив задачи, Софт отправляет запрос на получение Mo, хранившегося на Смартфоне на момент фазы шифрования. Для дополнительной безопасности, Приложение назначает Mo новые приватные ключи для Софта под кодом Sig-VnC <Mo>. Софт также может верифицировать назначение и получить Mo стандартным образом.

14) Сообщение Mo связано с предыдущими наборами ключей, т.е. с ключами, сгенерированными для прошлого цикла. Теперь ноутбук может пересчитать ключи, а также секрет S и Шифровочный ключ.

15) Пересчитанный нужен для дешифровки диска. После этого, ноутбуком можно пользоваться как обычно. Новое сообщение Mn сохраняется в памяти на протяжении всей сессии, которая завершится фазой шифрования, когда Пользователь выйдет, перезапустит или выключит систему.

Вариант 1: Шифровочный ключ = Секретный Ключ S
В некоторых случаях встраивание серийного номера в ключ может не быть обязательным или выполнимым (например, если PED не имеет доступного серийного номера). В таких случаях сам Sn может быть использован в качестве шифровочного ключа.

Вариант 2: Шифрование Папок/Файлов
Есть и возможность шифрования отдельных файлов или папок. Приложения PED и Брелка могут быть спроектированы таким образом, чтобы уточнять, какрие файлы/папки нужно зашифровать. Mn будет сгенерирован для каждого отдельного файла или папки из которых будет получит шифровочный ключ. В таком случае, Брелок сможет безопасно хранить таблицы связующие уникальный идентификатор файла/папки с подобающими сообщениями. Что касается шифровки диска, ключ действителен только для одного цикла. Для нового цикла будет создан новый ключ (то есть Mn замещается в таблице после каждого сеанса, с доступом к файлу/папке).
 
Верх Низ