EA034935B1 - Верификация с допуском ошибок для защищенных идентификаторов продукта - Google Patents

Верификация с допуском ошибок для защищенных идентификаторов продукта Download PDF

Info

Publication number
EA034935B1
EA034935B1 EA201890564A EA201890564A EA034935B1 EA 034935 B1 EA034935 B1 EA 034935B1 EA 201890564 A EA201890564 A EA 201890564A EA 201890564 A EA201890564 A EA 201890564A EA 034935 B1 EA034935 B1 EA 034935B1
Authority
EA
Eurasian Patent Office
Prior art keywords
code
user
entered
characters
errors
Prior art date
Application number
EA201890564A
Other languages
English (en)
Other versions
EA201890564A1 (ru
Inventor
Эрван Фраде
Филипп Шателен
Патрик Шане
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 EA201890564A1 publication Critical patent/EA201890564A1/ru
Publication of EA034935B1 publication Critical patent/EA034935B1/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Character Discrimination (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

Настоящая заявка испрашивает приоритет предварительной заявки США № 62/209798, поданной 25 августа 2015, содержание которой включено в настоящий документ посредством ссылки во всей ее полноте.
Настоящее изобретение относится в целом к методам верификации продукта и автоматической коррекции или допущения определенных наборов ошибок. При попытке верифицировать идентификатор продукта, особенно при использовании немашинных методов считывания, некоторые ошибки возникают с большей вероятностью, чем другие. Эти ошибки часто делаются при вводе вручную символов для кода человеком или с помощью оптического распознавания символов. Настоящее изобретение направлено на решение проблемы, состоящей в том, как преодолеть некоторые типы ошибок, в то же время обеспечивая возможность достаточных уровней аутентификации.
Изобретение относится к системе автоматической коррекции, где допускаются определенные ошибки, в то время как другие распознаются и отклоняются. Это применяется особенно к немашиночитаемым вводам или оптическому распознаванию символов при чтении или транскрибировании кодов. При вводе определенных символов, некоторые символы могут быть похожи на другие, и эта система допускает некоторые комбинации похожих символов и некоторое количество ошибок из такого набора, сохраняя при этом целостность идентификационных кодов.
Строгое соблюдение распознавания символов повышает уровень безопасности в системе аутентификации. Однако, когда люди или оптическое распознавание символов используются для чтения или транскрибирования символов, могут возникать некоторые ошибки. Это может быть связано с проблемами остроты зрения или проблемами разрешения при попытке чтения символов. Для преодоления некоторых ошибок, когда вводятся подобные символы, система должна быть в состоянии распознавать определенные сходные символы, сохраняя при этом целостность и безопасность системы. Допущение ввода подобных символов снижает количество возможных комбинаций при использовании определенного количества символов.
Следующие варианты осуществления настоящего изобретения являются иллюстративными и не предназначены для ограничения объема настоящего изобретения. В то время как описаны один или более вариантов осуществления настоящего изобретения, различные изменения, дополнения, перестановки и их эквиваленты включаются в объем настоящего изобретения. В последующем описании вариантов осуществления даются ссылки на приложенные чертежи, которые составляют часть данного описания, которые показывают в качестве иллюстрации конкретные варианты осуществления заявленного предмета изобретения. Должно быть понятно, что могут быть использованы другие варианты осуществления, и что могут быть выполнены изменения или модификации, такие как структурные изменения. Такие варианты осуществления, изменения или модификации не обязательно являются отклонением от объема относительно предполагаемого заявленного предмета изобретения. В то время как приведенные ниже этапы могут быть представлены в определенном порядке, в некоторых случаях упорядочение может быть изменено таким образом, что определенные вводы предоставляются в другое время или в другом порядке без изменения функций описанных систем и способов. Различные вычисления, которые описаны ниже, такие как находящиеся в рамках процедур инициализации, генерации и аутентификации кода, не требуется выполнять в раскрытом порядке, и другие варианты осуществления с использованием альтернативных порядков вычислений могут быть легко реализованы. В дополнение к переупорядочению, вычисления можно также разбить на подвычисления с теми же результатами.
Варианты осуществления настоящего изобретения далее будут описаны в качестве примера со ссылками на прилагаемые чертежи.
Фиг. 1 иллюстрирует примерную таблицу буквенно-числового кода.
Фиг. 2 иллюстрирует примерный способ для инициализации кода.
Фиг. 3 иллюстрирует примерный способ для генерации кода.
Фиг. 4 иллюстрирует примерный способ для авторизации кода.
В соответствии с вариантом осуществления настоящего изобретения для верификации того, что пользовательский код, введенный в вычислительную систему, соответствует истинному коду, способ содержит: определение набора кодовых символов, которые могут быть использованы в идентификационном коде продукта; определение одного или более поднаборов кодовых символов, причем каждый из поднаборов содержит два или более предварительно определенных эквивалента идентификации набора кодовых символов, каждый поднабор имеет предварительно определенный идентификатор поднабора; определение преобразования для генерации идентификационной информации истинного кода на основе предварительно определенного идентификатора поднабора; прием введенного пользователем кода, содержащий прием набора из одного или более кодовых символов, введенных пользователем с целью верификации продукта; дешифрование введенного пользователем кода путем применения преобразования, чтобы получить идентификационную информацию введенного пользователем кода; генерирование идентификационной информации истинного кода; и верификацию того, что идентификационная информация введенного пользователем кода соответствует идентификационной информации истинного кода.
В альтернативном или дополнительном варианте осуществления способ дополнительно содержит определение истинного кода, содержащего один или более кодовых символов, полученных из идентифи
- 1 034935 кационной информации продукта. В альтернативном или дополнительном варианте осуществления способ дополнительно содержит этап сравнения пользовательского кода и истинного кода. В альтернативном или дополнительном варианте осуществления этап сравнения дополнительно содержит одно или более из определения количества ошибок или типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом. В альтернативном или дополнительном варианте осуществления одно или более из количества ошибок и типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом, записываются.
В альтернативном или дополнительном варианте осуществления этап верификации истинного кода содержит верификацию истинного кода только тогда, когда одно или более из количества ошибок и типа ошибок ниже предварительно определенного порога. В альтернативном или дополнительном варианте осуществления все кодовые символы содержатся в пределах одного или более поднаборов. В альтернативном или дополнительном варианте осуществления все поднаборы содержат только два кодовых символа.
В альтернативном или дополнительном варианте осуществления каждая ошибка имеет ассоциированную оценку вероятности, и коррекция одной или более ошибок, обнаруженных во введенном пользователем коде, выполняется на основе оценки вероятности, ассоциированной с одной или более обнаруженными ошибками, и код корректируется, только если оценка вероятности коррекции выше предварительно определенного порога. В альтернативном или дополнительном варианте осуществления на оценку вероятности, ассоциированную с ошибочным введенным пользователем символом, оказывают влияние символы, которые находятся рядом с ошибочным введенным пользователем символом.
В альтернативном или дополнительном варианте осуществления два последовательно введенных пользователем символа обнаруживаются как ошибки и коррекция обоих символов производится перестановкой двух последовательно введенных пользователем символов, обнаруженных как ошибки, приводя в результате к тому, что символы становятся корректными при сравнении с истинным кодом, независимо от того, превосходит ли оценка вероятности коррекции любой ошибки предварительно определенный порог.
В альтернативном или дополнительном варианте осуществления система для верификации того, что пользовательский код, введенный в вычислительную систему, соответствует истинному коду, содержит компьютеризованный процессор, сконфигурированный для исполнения инструкций для: определения набора кодовых символов, которые могут быть использованы в идентификационном коде продукта; определения одного или более поднаборов кодовых символов, причем каждый из поднаборов содержит два или более предварительно определенных эквивалента идентификации из набора кодовых символов, каждый поднабор имеет предварительно определенный идентификатор поднабора; определения преобразования для генерации идентификационной информации истинного кода на основе предварительно определенного идентификатора поднабора; приема введенного пользователем кода, содержащего прием набора из одного или более кодовых символов, введенных пользователем с целью верификации продукта; дешифрования введенного пользователем кода путем применения преобразования, чтобы получить идентификационную информацию введенного пользователем кода; генерации идентификационной информации истинного кода и верификации того, что идентификационная информация введенного пользователем кода соответствует идентификационной информации истинного кода.
В альтернативном или дополнительном варианте осуществления система дополнительно содержит инструкции для определения истинного кода, содержащего один или более кодовых символов, полученных из идентификационной информации продукта.
В альтернативном или дополнительном варианте осуществления система дополнительно содержит инструкции для сравнения пользовательского кода и истинного кода.
В альтернативном или дополнительном варианте осуществления система дополнительно содержит инструкции для определения количества ошибок или типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом.
В одном варианте осуществления изобретения различные типы ошибок могут быть символами, которые представляются подобными, такими как О, 0 и Q, другой тип ошибки может быть символами, которые находятся в физической близости друг от друга, такими как клавиши символов, окружающие корректный символ. Еще одним примером другого типа ошибки может быть перестановка двух символов, которые находятся рядом друг с другом в коде. Примером может быть случай, где истинным кодом является AZSXDC, а пользователь вводит AZXSDC. Хотя S и X не являются визуально сходными, они находятся в физической близости. Их можно считать как две ошибки типа ошибок физической близости. Альтернативно, так как местоположение предыдущей ошибки и ее тип записываются, это может быть идентифицировано как ошибка перестановки, поскольку обе ошибки связаны с ошибками физической близости рядом друг с другом, и если эта одна коррекция выполнена, то код становится корректным. Также существуют другие примеры, например при использовании не-QWERTY клавиатур, или если ввод требует перехода с одного языка или кодировки на другие, например с ввода двоичного эквивалента шестнадцатеричного кода или перехода от QWERTY (стандартной) клавиатуры на японскую иероглифическую систему записи (кандзи).
В некоторых случаях более чем один вид ошибки может существовать для той же самой клавиши.
- 2 034935
Примером в клавиатуре QWERTY являются O и 0, находящиеся в непосредственной физической близости друг от друга, и они часто считаются оптически подобными. Однако O и Q не находятся в непосредственной физической близости, но могут считаться оптически подобными. Таким образом, в способе каждая из этих ошибок может приниматься только как одна, например, O и 0 рассматривается только как оптическая ошибка или ошибка физического местоположения. В другом случае это может быть посчитано за две ошибки, например, если истинный код имеет вид OO0O, а введено O0OO, то это может быть посчитано как две ошибки физического местоположения, или две оптически подобные ошибки, или как одна ошибка перестановки, или как одна ошибка каждого вида ошибок. Способ может иметь предел по общему числу ошибок. Альтернативно он может иметь пределы по каждому виду ошибок. Он также может иметь пределы, как, например, различные комбинации ошибок не подсчитываются, например, если имеется ошибка перестановки, которая также может подсчитываться как две оптические ошибки или две ошибки физического местоположения, он записывает ярлык для всех этих типов, но при подсчете количества ошибок для принятия кода он считает это как одну ошибку перестановки или любым другим способом, который минимизирует количество ошибок. В качестве альтернативы система, для обеспечения максимальной безопасности, может быть установлена так, чтобы вместо этого считать максимально возможное количество ошибок.
Фиг. 1 представляет собой иллюстративный пример буквенно-числового кода для использования в настоящем изобретении. Длина кода, количество символов и типы символов приведены только для примера и не являются ограничительными по показанному количеству или типам.
Для данного изобретения код вводится пользователем или с использованием метода оптического распознавания символов. Затем этот код преобразуется в идентификационную информацию. Идентификационная информация является дешифрируемым кодом, введенным пользователем, например, как если код, который необходимо дешифровать, чтобы получить исходные значения, или пропустить через хэш, или обработать каким-либо другим способом является не точной строкой символов, он будет сравниваться с истинной идентификационной информацией продукта, которая является надлежащим кодом, для которого пользователь пытается получить совпадение. Если не используется обфускация, шифрование, хэширование или другой метод и только сравниваются введенные пользователем символы, то в этом случае введенный пользователем код является идентификационной информацией.
При автокоррекции имеется меньше доступной идентификационной информации, чем кодов, ввиду предварительно определенных поднаборов, которые могут быть использованы для коррекции ошибок. Настоящее изобретение также использует предварительно определенные эквиваленты идентификации, которые, например, включают в себя, без ограничения указанным, буквенно-числовые символы, символы, такие как символы ASCII, и символы других алфавитов, такие как китайские символы, символы хи рагана и катакана, кириллица и другие используемые символы.
Для группы (G) из n полей каждое n поле (F) содержит по меньшей мере m отдельных элементов (e), то есть элементы различаются по n полям и являются частью группы элементов Е. Элементы могут быть любым буквенно-числовым символом, включая неанглийские буквы и числа, символы ASCII и т.д. Существует функция Size (размер) как число элементов в группе, G(i), где 0<i<n является группой, содержащей по меньшей мере m уникальных элементов e, где eeE. F(i,j), где 0<i<n и 0<j<Size(G(i)). (Отметим, что Size(G(i)>m.) Свойства этих групп являются такими, как Size(E)>m-n. Для группы кодов по E длины l запишем ее как C, где C=El таково, что такой код определен как элемент C, где коду^, e1, ..., el-1}.
Также определим для кода идентификационную информацию как {i0, i1, ..., il-1}, так что ekeG(i) для 0<k<1, с числовым представлением таким, что идентификационная информация равна Eik-mk, где 0< идентификационная информация <m1, и определим для кода безопасность (защиту) как ..., j1-1}, так что ek=F(ik,jk) для 0<k<1, с числовым представлением безопасности = ^k=oJk· П,г=о Size(G(iay).
Одним из преимуществ настоящего изобретения является то, что для получения идентификационной информации кода пользователю не нужно знать безопасность, и, следовательно, пользователь может принимать ошибки в чтении или вводе кода для элементов одного и того же поля. Например, если E={A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, 1, 2, 3, 4, 5, 6, 7, 8, 9} и G={{A,R}, {B,8}, {C,G}, {D,O,Q}, {E,4}, {F,P}, {H,N}, {I,1}, {J,Y}, {M,W}, {S,5}, {T,7}, {U,V}, {X,K}, {Z,2}, {L,6}, {3,9}}. В этом примере n=17 и m=2, и если код длины определяется как 12 символов, идентификационная информация в этом отношении представляет собой: 0< идентификационная информация <1712. 12 используется только в качестве примера, поскольку используемый идентификационный номер имеет длину 12 цифр. Кроме того, определяя размер безопасности как Пу=о $1ге(С(ЬУ) и основываясь на G, как указано выше, размер безопасности для этого набора G равен 2*2*2*2*2*2*2*2*2*2*2*3=211*3=6144. Если какое-либо из полей было бы равно четырем символам, например {D,O,0,Q}, то мультипликативный множитель для набора G составлял бы четыре вместо трех в предыдущем уравнении, когда поле было равно только {D,O,Q}. Это позволяет принять больше вариаций ошибок, но одновременно привело бы к снижению безопасности системы. Размер безопасности может быть использован в способе дешифрования символов в оригинал на основе используемого метода,
- 3 034935 например, такого как усеченный хэш или другие средства шифрования/дешифрования или расшифровки.
После того как код выбран, этот способ может быть использован для получения идентификационной информации введенного пользователем кода и сравнения его с идентификационной информацией оригинала. Идентификационная информация оригинала представляет собой корректный, без исправления ошибок, набор символов. Даже если идентификационная информация была зашифрована, этот способ исправления ошибок может быть использован. При выполнении алгоритма шифрования каждая из комбинации подобных символов может маркироваться, так что, если один из символов введен и алгоритм выполняется, он может проверить, является ли другой подобный символ корректным символом. Если они являются одним из наборов подобных символов, то он подтверждается в качестве корректного.
Эта система также может быть установлена, чтобы допускать принятие только определенного количества ошибок подобных символов, например, если имеется цепочка из 20 символов, то не более, например, трех символов могут быть введены ошибочно. Также может быть установлено, что если более трех символов в последовательности введены некорректно, если два или более являются тем же самым символом и используется один и тот же некорректный символ, он считается одиночным или не засчитывается как некорректный символ. Например, если пользователь вводит число 5 для символов два, шесть и восемь, система может быть установлена, чтобы принимать код и считать как одну ошибку, когда символ два вводится как 5 вместо S, или как ноль. То же самое может быть сделано, если S вводится для всех трех символов. Альтернативно, если S вводится для символов два и шесть, но 5 вводится для символа восемь, система может снова принять это или посчитать это одной ошибкой. Кроме того, если 5 вводится для символа два и S для символа шесть и восемь, это может быть посчитано как ноль ошибок, одна, две или три ошибки в зависимости от того, насколько строгой должна быть система. Может считаться одной ошибкой то, когда 5 и S были переставлены друг с другом, поэтому в противном случае это правильно, двумя ошибками, например, когда все символы S были переставлены с 5, и все символы 5 были переставлены с S. Альтернативно это может происходить на индивидуальной основе, так что каждый отдельный символ, который был переставлен, является ошибкой, но принимается.
Существуют различные способы и времена, в которые включается способ автокоррекции. Первым является то, когда символы вводятся впервые. Набор может распознавать, что они являются частью набора коррекции ошибок и автоматически устанавливаться, чтобы использовать один из символов, например, из набора {D,O,Q}, чтобы использовать только O, в этом примере O будет репрезентативным символом для определенного поднабора {D,O,Q}. Этот метод имеет то преимущество, что, даже если исправление ошибок завершается раньше, существует меньше вариантов для отдельно используемых символов. Проверка ошибок может быть выполнена автоматически.
Альтернативой является выполнение нормального способа преобразования, следующего от представления символов, через хэширование, дешифрование или любой(е) другой(е) метод(ы) расшифровки, чтобы определить, какова первоначальная нумерация (до первого шифрования числа/буквы), а затем проверку ошибок, чтобы определить, попадают ли символы в один из наборов автокоррекции. Это можно сделать, зная, после того как способ был запущен и число или буква оригинала получены, что упомянутое зашифрованное число для числа оригинала находилось в одном из полей набора G. Этот метод также не требует какой-либо замены. Он позволяет принимать любой из введенных кодов, если символы попадают в предварительно определенные поднаборы.
В качестве альтернативы может быть использован способ, в котором, после того как пользователь вводит код, проверяется, чтобы убедиться, следует ли выполнить какое-либо исправление ошибок до расшифровки кода, посредством хэширования, дешифрования или другого способа. Если один или более символов введены некорректно, т.е. которые попадают в предварительно определенные поднаборы, они могут быть приняты как корректные, и затем код может быть расшифрован и принят как корректный. Это позволяет поддерживать введенный пользователем код, даже если он может не быть истинным идентификационным кодом.
Автокоррекция также может быть сделана после того, как вся строка буквенно-числовых символов введена, но перед их расшифровкой. С помощью этого метода строка символов может быть разделена на предыдущие и последующие сегменты строки на основе местоположения символа, который является частью определенного поднабора, или достаточно высокой оценки вероятности содержания. Новая строка создается с использованием предшествующего сегмента строки, скорректированного символа и последующей строки. Процесс может запускаться итеративно, так что только один символ корректируется каждый раз, при изменении предыдущей и последующей строк. С использованием фиг. 1 в качестве примера, первый раз, когда символ должен быть заменен, соответствует символу числа шесть, поэтому предыдущая строка будет включать в себя символы от одного до пяти и последующая строка будет включать в себя символы от семи до двадцати. Новая строка будет использовать предыдущую строку, скорректированный символ шесть, а затем последующую строку, и исправление ошибок будет продолжаться с проверкой остальных символов и, например, находить, что символ 17 должен быть исправлен автокоррекцией, предыдущая строка будет включать в себя символы от одного до 16 со скорректированным символом шесть, и последующая строка будет включать в себя символы от 18 до 20. В качестве альтернативы несколько предыдущих и последующих сегментов строки может быть создано, если более чем
- 4 034935 один символ должен быть скорректирован. Используя пример, приведенный выше, первая предыдущая строка будет представлена символами от одного до пяти, вторая строка будет представлена символами от семи до 16 и конечная последующая строка будет представлена символами от 18 до 20. Символы шесть и 17 будут скорректированы, и затем строка будет восстановлена с использованием нескольких сегментов и исправленных символов.
Замена символов также может быть выполнена вместо использования идентификационной информации кода с использованием их вероятности замещения ошибкой. Оценки вероятности содержания могут быть вычислены или заранее определены. Более высокая оценка вероятности содержания может быть установлена для O, замещаемого на 0, чем O и Q или O и С. Кроме того, на стандартной клавиатуре QWERTY оценки вероятности содержания могут быть установлены для клавиш, окружающих и ближайших к вводимой клавише. Например, на макете клавиатуры QWERTY буква D окружена буквами W, E, R, S, F, X, C и V. Каждая из них может иметь оценку вероятности содержания, ассоциированную с ними, и они могут быть разными, например C может считаться оптически более похожей на D, чем на W или R, и как таковая может быть установлена, чтобы иметь более высокую оценку вероятности содержания для замещения. Некоторые клавиши могут иметь несколько оценок вероятности содержания, ассоциированных с ними. Например, одну оценку для физической близости и другую для сходства символов. Эти оценки могут быть определены по-разному для разных клавиатур, например для сканеров штрихкодов, которые имеют клавиатуру, или клавиатуры смартфона, которая отличается от настройки QWERTY, и т.д. Оценки могут быть объединены нелинейным образом, принимая во внимание как местоположение клавиши, так и оптическое сходство клавиш, чтобы увеличить оценку, или игнорировать физическое местоположение, основываясь на оптическом сходстве буквы, или устанавливаться, чтобы только суммироваться с оценкой вероятности содержания. Клавиши могут также иметь различные оценки для заглавных букв по сравнению со строчными буквами или цифрами на клавишах. Когда оценки вероятности содержания используются, пороговая оценка может устанавливаться системой, чтобы выполнять определенные замены.
Оценка вероятности содержания также может быть назначена строке символов вместо или в дополнение к назначению на индивидуальной посимвольной основе. Если некоторые комбинации символов определяются как более вероятные для ввода, то они могут контролироваться, и если они будут обнаружены, то может выполняться их автокоррекция. Например, строке TEH может быть назначена высокая вероятность того, что она представляет собой THE и, следовательно, если распознана предыдущая строка, то выполняется коррекция или принятие ее в качестве последней строки. Это может также работать для числовых элементов, например, если используется двоичная последовательность и пользователь вводит 01007011 вместо 01001011, то система снова может исправлять ее на последнюю форму с более высокой оценкой вероятности содержания.
Графики состояний также могут быть использованы для исправления ошибок. Это особенно полезно, когда используются полные слова или фразы, и оценка содержания вычисляется для каждого слова и для всей фразы в целом. Если определенное слово имеет низкую оценку содержания и коррекция этого слова привела бы к высокой оценке содержания, то слово может быть исправлено, например, заменой too на to или two в зависимости от увеличенной оценки содержания фразы и слова. Это может быть сделано по сходству буквенно-цифровых строк или по словам и т.д.
В одном варианте осуществления может вводиться одиночный символ. В этом варианте осуществления может быть предпочтительным уменьшить вероятность содержания ввода ошибки или запретить замещение символов совсем, если это желательно. Это также может быть достигнуто путем привязки количества допустимых ошибок к длине количества вводимых символов, например, количество ошибок для исправления меньше, чем количество введенных символов. Это может быть изменено обычными способами принятия большого или меньшего количества исправлений, от полного введенного количества вплоть до нуля, в зависимости от вводимого количества или любого другого нормального алгоритма, который можно использовать, чтобы определить, сколько ошибок может быть или будет исправлено.
Примерные исполняемые компьютером инструкции для выполнения предлагаемых способов, представлены ниже.
using System;
using System.Collections . Generic;
- 5 034935 using System.Ling;
using System.Text;
using System.Threading. Tasks ; namespace ConsoleApplicationl {
class Program {
static string[] Groups=new[] { AR,
B8,
CG,
DOQ,
E4, pp
HN,
II,
JY,
MW,
S5,
И rp 7 П
UV,
XK ,
Z2,
L6,
39};
static int numberOfGroups=Groups. Length; static void Main (string[] args) {
//codeGenTD int id=122334;
int noise=SecurityFunction(id);
var gr=new int[12];
//Convert your ID to base numberOfGroups (17) for (int i=0; i < 12; i++) {
gr[i] = (id % numberOfGroups); id=id/numberOfGroups;
- 6 034935 }
// Calculate the total size of the security (Noise) Number of Elements in each selected group int noiseSize=l;
for (int 1=0; i < 12; 1++) {
noiseSize=noiseSize * Groups[gr[1]] . Length;
} // Truncate the generated security with the available one in the code var usedNoise=noise % noiseSize;
// Create the code by selecting the element in the group based on the security
StringBuilder stb=new StringBuilder(12);
for (int 1=0; 1 < 12; 1++) {
stb.Append(Groups[gr[1]] [noise % Groups[gr[1]] . Length]) ; noise=noise/Groups[gr[1]].Length;
}
Console.WriteLine (Code= +stb.ToString());
Console .WriteLine(Enter User Code);
string code=Console.ReadLine();
id=0;
usedNoise=0;
int carryOver=0;
// Extracting the id and the user entered security from the user entered code for (int 1=11; 1 >= 0; 1--) {
var ch=code[i];
for (int j=0; j < numberOfGroups; j++) {
var index=Groups[j].IndexOf(ch);
if (index >= 0) {
id=id * numberOfGroups+j;
- 7 034935 usedNoise=usedNoise * carryOver+index; carryOver=Groups[j].Length;
} }
}
Console .WriteLine(Id= + id);
Console.WriteLine(Compare Security=+(usedNoise == (SecurityFunction(id) % noiseSize)));
Console.WriteLine(Enter to exit);
Console .ReadLine();
} private static int SecurityFunction(int id) {
return 345;
} } }
Интеграция с защищенными системами производства
Описанные выше системы и способы для верификации могут быть использованы в комбинации с системами для генерации защищенных идентификаторов для использования с производством.
Как используется в настоящем документе, объект может относиться к: i) лицу, такому как потребитель продукта; ii) группе, такой как группа, имеющая общий интерес, например розничные торговцы; iii) вычислительному устройству; iv) вычислительному узлу в сетевой системе; v) месту хранения, такому как ячейка хранения памяти, хранящая документ; vi) виртуальной точке в сети, например, представляющей бизнес-функцию в рамках коммерческого предприятия, и т.п. Кроме того, объект может представлять собой точку в технологическом потоке, например для авторизации, которая может выполняться лицом, ответственным за этот аспект технологического потока, или вычислительным устройством, которое обеспечивает автоматизированную обработку. Термин объект не предназначается для ограничения каким-либо одним из этих примеров и может распространяться на другие ситуации в соответствии с концепциями, описанными в настоящем документе.
Модуль контроля
Модуль управления (110), см. фиг. 2, также известный как Orchestrator (координатор), может принимать ввод от любого из других модулей или внешних источников и может предоставлять инструкции на другие модули в системе, основываясь на предварительно сконфигурированных программах и/или вводах оператора. Он также может генерировать сводку состояния системы на приборной панели.
Ввод в модуль управления может включать в себя любые или все данные (105) конфигурации. Вводимые данные конфигурации могут указывать любой или все параметры, включая, без ограничения указанным, машину для производства, производственную линию, завод, производимый продукт и объем продукта. Данные конфигурации могут указывать, какие элементы (например, продукты) должны быть маркированы защищенными идентификаторами и каким образом эти элементы могут производиться. Данные конфигурации могут указывать номенклатуру (диапазон, серию) продукции, как, например, начальный и конечный идентификаторы продуктов. В некоторых вариантах осуществления номенклатура может представлять собой набор идентификаторов продуктов. Данные конфигурации могут быть предоставлены оператором системы или могут генерироваться динамически или автоматически. Данные конфигурации могут включать в себя дополнительные исполняемые инструкции или интерпретируемый алгоритм. Данные конфигурации могут быть основаны на вводе оператора или выводе системы управления производством или другой централизованной системы для инструктирования, что и как производить.
Модуль управления (110) может передавать данные конфигурации на любой модуль, в том числе, без ограничения указанным, на модуль авторизации (130), модуль идентификации (140) и модуль подписи (145).
Модуль управления может запросить авторизацию от модуля авторизации для выполнения операции производства. Этот процесс включает в себя передачу запроса (включая некоторые или все данные конфигурации) на модуль авторизации и прием подписанных или зашифрованных данных конфигурации. В некоторых вариантах осуществления модуль авторизации может возвращать данные конфигурации на модуль управления, включая цифровую подпись, применяемую к этим данным конфигурации. Модуль авторизации определяет, следует ли авторизовать запрос от модуля управления, на основе данных, которые он принимает. Кроме того, информация, возвращаемая модулем авторизации, включенная
- 8 034935 в данные конфигурации, может быть использована для связывания генерируемых кодов с обеспечиваемой авторизацией. Поскольку данные подписаны модулем авторизации, в системе может быть предотвращено модифицирование данных конфигурации. В качестве неограничивающего примера модификация запроса на производство одной марки (бренда) вместо другой может контролироваться, разрешаться или отклоняться.
Авторизации, принятые от модуля авторизации, также могут передаваться на модуль верификации, так что запросы верификации могут затем обрабатываться в отношении этих авторизаций. Данные, передаваемые на модуль верификации, могут включать в себя защищенный идентификатор, а также любые из данных конфигураций. В некоторых примерах данные конфигурации, отправленные на модуль авторизации, могут включать в себя информацию о номенклатуре продуктов.
Подписанные или подтвержденные данные конфигурации могут быть некоторыми или всеми из набора параметров ввода модуля управления, верифицированных и подтвержденных модулем авторизации, которые остаются в силе в течение производства. Маркер безопасности может быть выводом из модуля авторизации и/или параметром ввода модуля управления. Маркер безопасности может быть доказательством того, что идентификатор продукта соответствует подтвержденным данным конфигурации и, следовательно, авторизованному производству. Маркер безопасности может быть вводом в модуль подписи, чтобы генерировать подпись для идентификатора одного продукта, или подпись одного идентификатора продукта, или самого идентификатора продукта, или номенклатуры продуктов или идентификаторов продуктов. Маркер безопасности может быть уникальным кодом, случайным кодом или псевдослучайным кодом. Маркер безопасности может быть любым числовым, или буквенным, или комбинацией числовых и буквенных символов.
Модуль авторизации
Модуль авторизации работает, чтобы подтверждать запросы на авторизацию для выполнения действия в системе идентификации. В некоторых вариантах осуществления он может работать в качестве менеджера лицензий.
Модуль авторизации может принимать данные конфигурации. Модуль авторизации может также принимать информацию о номенклатуре и/или алгоритме. В некоторых вариантах осуществления модуль авторизации может получать введенные данные конфигурации от модуля управления. Выводимая номенклатура может опционально определять номенклатуру продуктов, машины, предприятия, серии или объемы продуктов, которые авторизованы. Вывод может также включать в себя информацию о номенклатуре и/или включать в себя алгоритм, который содержит набор исполняемых или интерпретируемых инструкций, которые будут использоваться для генерации маркеров безопасности. Модуль авторизации может быть централизованным на уровне завода или децентрализованным на каждой производственной линии или комбинацией того и другого.
Модуль авторизации может хранить и/или генерировать один или более ключей шифрования. В некоторых вариантах осуществления ключ, сохраненный в модуле авторизации, может быть частным открытым ключом шифрования согласно инфраструктуре открытого ключа (PKI). В некоторых вариантах осуществления модуль авторизации хранит единственную копию частного ключа. В других вариантах осуществления модуль авторизации распределен по нескольким объектам, которые копируют ключи между собой. В случае PKI модуль авторизации может выводить подписанные данные конфигурации. В некоторых вариантах осуществления модуль авторизации может шифровать данные конфигурации и/или подписывать вывод данных конфигурации.
В некоторых вариантах осуществления система сконфигурирована таким образом, что только модуль авторизации может считывать защищенные параметры ввода модуля управления, необходимые для генерации маркеров безопасности. В некоторых вариантах осуществления ключ предоставляется в модуль авторизации из другого источника.
Модуль авторизации может быть выполнен в виде аппаратного защищенного модуля (HSM) или другого типа физического вычислительного устройства, которое обеспечивает защиту и управляет цифровыми ключами для надежной аутентификации и обеспечения криптографической обработки. Функциональность модуля авторизации может выполняться компьютером со встроенной платой с ключом шифрования или частным ключом PKI. Модуль может быть оснащен такими функциями, что попытки получить доступ к данным могут привести к тому, что он становится нечитаемым или недоступным.
Если ввод в модуль авторизации является номенклатурой и алгоритмом, то модуль авторизации может выводить идентификационную информацию в диапазоне авторизации и маркеры безопасности идентификатора. Например, выводимая идентификационная информация может быть в диапазоне от 0 до 1000 с маркером безопасности для каждого элемента в диапазоне.
Модуль авторизации может генерировать ключ из любого параметра, используемого в модуле управления. В некоторых вариантах осуществления модуль авторизации может генерировать или выводить ключ из существующего ключа из любого параметра, используемого в модуле управления таким образом, что только конкретный модуль авторизации может использовать этот ключ. Оборудование и программное обеспечение, реализующие этот метод открытого ключа, могут быть воплощены в асимметричной криптосистеме.
- 9 034935
Выводом модуля авторизации может быть информация, такая как данные конфигурации и, опционально, один или более маркеров безопасности, с цифровой подписью, предоставленной модулем подписи. Альтернативно выводом модуля авторизации могут быть данные конфигурации, зашифрованные ключом, хранящимся в модуле авторизации. Вывод модуля авторизации может быть предоставлен на модуль управления.
В соответствии с вариантом осуществления способ аутентификации производства продуктов включает в себя хранение в электронном виде данных конфигурации для производственного цикла, причем данные конфигурации для производственного цикла определяют параметры, используемые в производстве продуктов; определение, авторизованы ли данные конфигурации для производственного цикла; если производственный цикл авторизован, генерирование маркеров защиты и ассоциирование маркеров с данными конфигурации; и снабжение цифровой подписью данных конфигурации путем генерации цифровой подписи и ассоциирование цифровой подписи с данными конфигурации; прием снабженных цифровой подписью данных конфигурации и цифровой подписи в производственной машине; в производственной машине верификацию цифровой подписи, ассоциированной со снабженными цифровой подписью данными конфигурации; вычисление набора защищенных идентификаторов продуктов на основе снабженных цифровой подписью данных конфигурации; производство продуктов в производственном цикле в соответствии со снабженными цифровой подписью данными конфигурации; и печать набора защищенных идентификаторов продуктов на продуктах в соответствии со снабженными цифровой подписью данными конфигурации.
В альтернативном или дополнительном варианте осуществления данные конфигурации представляют номенклатуру продуктов, которые должны производиться. В альтернативном или дополнительном варианте осуществления данные конфигурации представляют номенклатуру продуктов, машины, предприятия, диапазоны или объемы продуктов, которые авторизованы. Альтернативные или дополнительные варианты осуществления могут включать в себя прием запроса на верификацию, причем запрос содержит идентификатор продукта и определение, авторизованы ли данные конфигурации для производственного цикла, посредством ссылки на менеджер лицензий. Альтернативные или дополнительные варианты осуществления могут включать в себя генерирование маркера безопасности для номенклатуры продуктов и ассоциирование маркера безопасности с номенклатурой продуктов.
Модуль подписи
Модуль подписи, см. фиг. 2-4, может принимать данные конфигурации, ключ авторизации, маркер безопасности или любую их комбинацию так же, как и уникальный идентификатор продукта, сгенерированный модулем идентификации. В некоторых вариантах осуществления модуль подписи может принимать, кроме того, одну или более собственных характеристик машины, и/или продукта, и/или характеристик элемента продукта. Модуль подписи может создать цифровую подпись на основе любых или всех из этих вводов, в общем упоминаемых здесь как данные конфигурации.
Для генерации цифровой подписи в некоторых вариантах осуществления модуль подписи может сначала сгенерировать дайджест или другое представление данных конфигурации. В некоторых вариантах осуществления дайджест может быть сгенерирован путем вычисления криптографического хэшзначения данных конфигурации в соответствии с алгоритмом цифровой подписи, предоставленным модулем подписи, выполняющим алгоритм цифровой подписи. В качестве неограничивающих примеров хэш может быть вычислен в соответствии с функциями MD5, SHA-1, SHA-2, SHA-3/Keccak. Дайджест может быть зашифрован с использованием частного ключа, полученного с помощью модуля подписи для генерации цифровой подписи.
В некоторых вариантах осуществления цифровая подпись может использовать технологию инфраструктуры открытого ключа (PKI), чтобы установить аутентичность данных конфигурации. Системы PKI используют сертификаты и ключи для идентификации объектов, физических лиц или организаций. Модуль аутентификации использует частный ключ, чтобы подписывать данные конфигурации, и ассоциирует данные конфигурации с сертификатом, включая открытый ключ, используемый в модуле аутентификации.
Модуль получателя использует открытый ключ для верификации цифровой подписи и, таким образом, аутентичности подписанных данных конфигурации. Поддерживающие технологии могут быть использованы для создания других характеристик защиты от неправомерных отречений (отказа от авторства), как, например, время подписания и статус ключей подписи. Открытый ключ может быть предоставлен объектуполучателю непосредственно либо путем публикации в онлайн хранилище или каталоге.
Модуль идентификации
Модуль идентификации может принимать данные конфигурации и генерировать идентификаторы для элементов, подлежащих маркировке. Модуль идентификации может принимать цифровую подпись, сгенерированную модулем подписи, которая будет объединена с уникальным идентификатором, чтобы генерировать составной уникальный идентификатор.
Идентификаторы могут включать в себя или быть основаны на дате и/или времени производства продукта, подлежащего маркировке, и цифровой подписи, принятой от модуля подписи. В некоторых вариантах осуществления генерируемые защищенные идентификаторы могут быть уникальными или, по
- 10 034935 существу, уникальными. В некоторых вариантах осуществления защищенные идентификаторы могут быть маркерами безопасности.
В случае диапазонов модуль идентификации может генерировать идентификатор диапазона и набор идентификаторов в пределах генерируемого диапазона.
Созданные идентификаторы могут быть выведены в модуль управления печатью для прямой печати на продукт или могут быть введены в дальнейшую обработку, чтобы генерировать другой код, который печатается на упаковке продукта.
Модуль верификации
Модуль верификации (150), см. фиг. 4, может быть сконфигурирован, чтобы использовать усовершенствованные методы верификации, описанные выше. Модуль верификации может быть дополнительно сконфигурирован, чтобы принимать верифицированные данные конфигурации и, основываясь на подтвержденных данных конфигурации, подтверждать запрос на авторизацию (305) для сообщенных данных для предприятия, машины, продукта или объема производства. Вводы в модуль верификации могут включать в себя некоторые или все из верифицированных данных конфигурации, вывода из модуля подписи, идентификаторов, маркеров безопасности и/или информации о номенклатуре (диапазоне). Модуль верификации может генерировать информацию для модуля авторизации с этими параметрами с целью верификации/подтверждения идентификатора продукта.
Модуль верификации может генерировать дешифрование (320) запроса, что включает в себя один или более идентификаторов или диапазоны идентификаторов (315) и данные подписи (310), включающие в себя один или более маркеров безопасности.
Если маркер безопасности введен в модуль верификации, модуль верификации может возвратить информацию, относящуюся к авторизации, данным конфигурации и/или диапазонам. Если один маркер безопасности используется для номенклатуры продуктов, маркер безопасности может быть предоставлен модулю верификации для верификации параметров, ассоциированных с номенклатурой продуктов, а не с отдельными продуктами. Этот вариант осуществления может быть особенно полезным в контексте регулирования экспорта.
Системные процессы
Инициализация кода идентификации
Инициализация кода идентификации может быть выполнена для подтверждения авторизации и параметров. В некоторых вариантах осуществления, по соображениям производительности, это может быть выполнено один раз в начале производства. Модуль управления (110), см. фиг. 2, может получить доступ к хранилищу данных (115) для дополнительных параметров, или дополнительные параметры могут быть предоставлены в модуль. Параметры и данные конфигурации, после того как подписаны модулем авторизации (130), формируют подтвержденные данные конфигурации (135). Модуль управления получает верифицированные данные конфигурации, как описано выше, в ответ на его запрос в модуль авторизации (130).
Авторизация может представлять собой авторизацию на производство продукта, или на маркировку продукта определенным ID, или и то и другое. Данные конфигурации и дополнительные параметры передаются в модуль авторизации и используются модулем авторизации для генерации маркеров безопасности. Модуль авторизации может подписать данные конфигурации и дополнительные параметры, формируя подписанные данные конфигурации. Как обсуждалось выше, данные конфигурации могут указывать определенный производственный цикл или другие продукты и действия. Модуль авторизации может генерировать блок авторизации, включая ключ, авторизованные идентификаторы и маркеры безопасности. В некоторых вариантах осуществления ключ может генерироваться модулем авторизации или может предоставляться на него. Модуль авторизации может передавать блок авторизации в модуль управления. Модуль управления может передавать подтвержденные данные конфигурации и другую информацию, например список идентификаторов, диапазон идентификаторов и/или один или более маркеров безопасности, на модуль подписи (145). Модуль подписи может подписывать данные и отправлять подписанные данные и подпись на модуль управления. Модуль идентификации (140) может затем принимать от модуля управления блок инициализации, включая идентификаторы и/или диапазоны идентификаторов для продуктов.
Вариант осуществления настоящего изобретения может включать в себя способ для инициализации процесса для безопасного управления производственным оборудованием, включающего в себя прием электронным образом данных конфигурации из электронного хранилища данных; сохранение электронным образом данных конфигурации для производственного цикла, причем данные конфигурации для производственного цикла задают параметры, используемые в производстве продуктов; передачу данных конфигурации на модуль авторизации; в модуле авторизации: определение, авторизован ли производственный цикл; генерирование подтвержденных данных конфигурации, содержащих ключ, представление множества авторизованных идентификаторов продуктов и маркер безопасности; передачу подтвержденных данных конфигурации на модуль подписи; и в модуле подписи: снабжение подписью подтвержденных данных конфигурации.
Альтернативные или дополнительные варианты осуществления могут включать в себя определение,
- 11 034935 являются ли данные конфигурации для производственного цикла авторизованными; если производственный цикл авторизован, генерирование маркера защиты и ассоциирование маркера с данными конфигурации; и снабжение цифровой подписью данных конфигурации путем генерирования цифровой подписи и ассоциирования цифровой подписи с данными конфигурации.
Альтернативные или дополнительные варианты осуществления могут включать в себя прием снабженных цифровой подписью данных конфигурации и цифровой подписи на производственной машине; на производственной машине верификацию цифровой подписи, ассоциированной со снабженными цифровой подписью данными конфигурации; и вычисление набора защищенных идентификаторов продуктов на основе снабженных цифровой подписью данных конфигурации.
Альтернативные или дополнительные варианты осуществления могут включать в себя производство продуктов в производственном цикле в соответствии со снабженными цифровой подписью данными конфигурации; и печать набора защищенных идентификаторов продуктов на продукты в соответствии со снабженными цифровой подписью данными конфигурации.
Альтернативные или дополнительные варианты осуществления могут включать в себя определение, авторизован ли производственный цикл, дополнительно содержащее извлечение данных лицензирования из сервера лицензирования.
Г енерация идентификационного кода
Процесс генерации кода, см. фиг. 3, генерирует коды во время производственного процесса. Процесс генерации идентификационного кода может начинаться с запроса на модуль идентификации (130) о получении идентификатора или диапазона идентификаторов, которые затем возвращаются на модуль управления (110). Эти идентификаторы затем отправляются на модуль подписи (145), который подписывает идентификаторы и возвращает подписанные идентификаторы на модуль управления. Модуль подписи может принимать маркер безопасности. В некоторых вариантах осуществления модуль подписи не нуждается в управлении внешними инструкциями, и если какой-либо идентификационный код должен считаться, то код может быть связан с одним маркером безопасности. Модуль подписи может управляться модулем авторизации. Модуль управления может затем отправить выходные данные для управления печатью в модуль принтера (210). Выходные данные, отправляемые на управление печатью, могут быть зашифрованы перед передачей. Данные конфигурации могут передаваться на модуль верификации (150) для обработки последующих запросов верификации.
Вариант осуществления настоящего изобретения включает в себя способ для генерации кода для защищенной идентификации продуктов, производимых на производственном оборудовании, включающий в себя прием электронным образом данных конфигурации из электронного хранилища данных; сохранение электронным образом данных конфигурации для производственного цикла, причем данные конфигурации для производственного цикла задают параметры, используемые в производстве продуктов; передачу данных конфигурации на модуль авторизации; в модуле авторизации: определение, авторизован ли производственный цикл; генерирование подтвержденных данных конфигурации, содержащих ключ, представление множества авторизованных идентификаторов продуктов и маркер безопасности; передачу подтвержденных данных конфигурации на модуль подписи; в модуле подписи: снабжение цифровой подписью подтвержденных данных конфигурации; в модуле идентификации: прием запроса на идентификатор продукта и генерацию идентификатора продукта в ответ на запрос; передачу идентификатора продукта от модуля идентификации на модуль подписи; снабжение цифровой подписью идентификатора продукта в модуле подписи и передачу снабженного цифровой подписью идентификатора продукта на модуль принтера.
Альтернативные или дополнительные варианты осуществления могут включать в себя прием электронным образом данных конфигурации из электронного хранилища данных; сохранение электронным образом данных конфигурации для производственного цикла, причем данные конфигурации для производственного цикла задают параметры, используемые в производстве продуктов; передачу данных конфигурации на модуль авторизации; в модуле авторизации: определение, авторизован ли производственный цикл; генерирование подтвержденных данных конфигурации, содержащих ключ, представление множества авторизованных идентификаторов продуктов и маркер безопасности; передачу подтвержденных данных конфигурации на модуль подписи; в модуле подписи: снабжение цифровой подписью подтвержденных данных конфигурации.
В альтернативных или дополнительных вариантах осуществления запрос осуществляется для диапазона идентификаторов. Альтернативные или дополнительные варианты осуществления могут включать в себя определение, авторизованы ли данные конфигурации для производственного цикла; если производственный цикл авторизован, генерирование маркера защиты и ассоциирование маркера с данными конфигурации; и снабжение цифровой подписью данных конфигурации путем генерации цифровой подписи и ассоциирования цифровой подписи с данными конфигурации.
Верификация идентификационного кода
Как описано выше, модуль верификации (рассматриваемый здесь в единственном числе как последовательные или параллельные отношения нескольких логических или физических модулей верификации) может принять запрос на верификацию. Запрос может включать в себя один или более идентифика
- 12 034935 ционных кодов. Модуль верификации может расшифровать или иным образом демаскировать принятый идентификационный код. Полученная информация, будучи расшифрованной, может включать в себя компоненты подписи и идентификатор. Полученный идентификатор может быть тогда связан с исходными данными конфигурации, ранее сохраненными в ассоциации с идентификатором. Связанные данные могут включать в себя другие идентификаторы в диапазоне, маркер безопасности и другую информацию, сохраненную в связи с производством продукта, несущего этот идентификационный код.
Некоторые варианты осуществления могут включать в себя дополнительные функциональные возможности для обработки идентификаторов, которые предоставляются на модуль верификации на основании стороны, запрашивающей верификацию кода. Различным сторонам могут быть предоставлены различные средства для доступа к модулю верификации. Например, розничному торговцу или иному торговцу может быть предоставлен другой портал или канал связи, чем потребителю. Розничному торговцу также может потребоваться аутентифицировать себя по отношению к модулю верификации.
В некоторых вариантах осуществления система может быть сконфигурирована таким образом, что верификация потребителем приводит в результате к маркировке идентификатора как верифицированного. Система может быть дополнительно сконфигурирована так, чтобы сохранять те коды, для которых верификация запрошена потребителем.
Любые последующие запросы на верификацию тех уже верифицированных кодов могут быть отклонены или в противном случае быть обработаны иным образом.
Функции экспорта
Варианты осуществления настоящего изобретения могут быть применены в контексте экспорта кода к третьим сторонам. Эти варианты осуществления могут включать в себя функцию экспорта, сконфигурированную, чтобы генерировать отдельный код для этой цели. Экспортируемый код может генерироваться путем сбора одного или более идентификаторов продуктов и/или маркеров защиты и снабжения подписью этих идентификаторов и/или маркеров. Идентификаторы и/или маркеры могут быть собраны в любой момент в процессе производства. Подписанные идентификаторы и/или маркеры в форме экспортируемых кодов могут быть предоставлены третьей стороне, которая может хранить их и выполнять верификацию действительности этих идентификаторов и/или маркеров.
Архитектура системы
Системы и способы, описанные здесь, могут быть реализованы в программном обеспечении, или аппаратных средствах, или в любой их комбинации. Системы и способы, описанные здесь, могут быть реализованы с использованием одного или более вычислительных устройств, которые могут или не могут быть физически или логически отделены друг от друга. Кроме того, различные аспекты способов, описанных в данном документе, могут быть объединены или включены в другие функции. В некоторых вариантах осуществления проиллюстрированные элементы системы могут быть объединены в единое аппаратное устройство или разделены на несколько аппаратных устройств. Если используется несколько аппаратных устройств, аппаратные устройства могут быть физически расположены вблизи или удаленно друг от друга.
Способы могут быть реализованы в виде компьютерного программного продукта, доступного из используемого компьютером или считываемого компьютером носителя хранения, который обеспечивает программный код для использования посредством или в соединении с компьютером или любой системой выполнения инструкций. Используемый компьютером или считываемый компьютером носитель хранения может быть любым устройством, которое может содержать или хранить программу для использования посредством или в соединении с компьютером или системой, устройством или прибором для выполнения инструкций.
Система обработки данных, подходящая для хранения и/или выполнения соответствующего программного кода, может включать в себя по меньшей мере один процессор, связанный прямо или косвенно с компьютеризованным устройством хранения данных, таким как элементы памяти. Устройства ввода/вывода (I/O) (включая, без ограничения указанным, клавиатуры, дисплеи, указательные устройства и т.д.) могут быть связаны с системой. Сетевые адаптеры могут быть также связаны с системой, чтобы система обработки данных связывалась с другими системами обработки данных, или удаленными принтерами, или устройствами хранения данных через промежуточные частные или общедоступные сети. Для обеспечения взаимодействия с пользователем признаки могут быть реализованы на компьютере с устройством отображения, таким как CRT (электронно-лучевая трубка), LCD (жидкокристаллический дисплей) или другой тип монитора для отображения информации пользователю, и клавиатурой и устройством ввода, таким как мышь или трекбол, с помощью которого пользователь может обеспечить ввод данных в компьютер.
Компьютерная программа может представлять собой набор инструкций, которые могут быть использованы, прямо или косвенно, в компьютере. Системы и способы, описанные здесь, могут быть реализованы с использованием языков программирования, таких как Flash™, Java™, C++, C, C#, Visual Basi™, JavaScript™, PHP, XML, HTML и т.д., или комбинации языков программирования, включая компилируемые и интерпретируемые языки, и могут быть развернуты в любой форме, в том числе как от
- 13 034935 дельная программа или как модуль, компонент, подпрограмма или другой блок, пригодный для использования в вычислительной среде. Программное обеспечение может включать в себя без ограничения указанным встроенное программное обеспечение, резидентное программное обеспечение, микрокод и т.д. Протоколы, такие как SOAP/HTTP, могут быть использованы при реализации интерфейсов между модулями программирования. Компоненты и функциональные возможности, описанные здесь, могут быть реализованы на любой операционной системе рабочего стола с исполнением в виртуализованной или невиртуализованной среде с использованием любого языка программирования, подходящего для разработки программного обеспечения, включая, без ограничения указанным, различные версии Microsoft Windows™, Apple™ Mac™, iOS™, Uni™/X-Windows™, Linux™ и т.д.
Подходящие процессоры для выполнения программы инструкций включают без ограничения указанным микропроцессоры общего и специального назначения и единственный процессор или один из нескольких процессоров или ядер любого вида компьютера. Процессор может получать и хранить инструкции и данные из компьютеризованного устройства хранения данных, такого как постоянная память, память с произвольным доступом или обе, или любая комбинации устройств хранения данных, описанных в настоящем документе. Процессор может включать в себя любую схему обработки или схему управления, выполненные с возможностью управления операциями и рабочими характеристиками электронного устройства.
Процессор может также включать в себя или быть операционно связанным, чтобы осуществлять связь с одним или более устройствами хранения данных для хранения данных. Такие устройства хранения данных могут включать в себя в качестве неограничивающих примеров магнитные диски (включая внутренние жесткие диски и съемные диски), магнитооптические диски, оптические диски, постоянную память, память с произвольным доступом и/или флэш-память. Устройства хранения, подходящие для материального воплощения инструкций компьютерной программы и данных, могут также включать в себя все формы энергонезависимой памяти, в том числе, например, полупроводниковые устройства памяти, такие как EPROM, EEPROM и устройства флэш-памяти; магнитные диски, такие как внутренние жесткие диски и съемные диски, магнитооптические диски и диски CD-ROM и DVD-ROM. Процессор и память могут дополняться или быть включены в ASIC (специализированные интегральные схемы).
Системы, модули и способы, описанные в настоящем документе, могут быть реализованы с использованием любой комбинации элементов программного обеспечения или аппаратных средств. Системы, модули и способы, описанные здесь, могут быть реализованы с использованием одной или более виртуальных машин, работающих по отдельности или в сочетании друг с другом. Любое применимое решение виртуализации может быть использовано для инкапсулирования физической платформы вычислительной машины в виртуальную машину, которая выполняется под управлением программного обеспечения виртуализации, работающего на вычислительной платформе аппаратных средств или хосте. Виртуальная машина может иметь как аппаратные средства виртуальной системы, так и программное обеспечение гостевой операционной системы.
Системы и способы, описанные здесь, могут быть реализованы в компьютерной системе, которая включает в себя компонент внутреннего интерфейса, такой как сервер данных, или которая включает в себя компонент промежуточного программного обеспечения, такой как сервер приложений или Интернет-сервер, или которая включает в себя компонент внешнего интерфейса, такой как клиентский компьютер, имеющий графический пользовательский интерфейс, или Интернет-браузер, или любую их комбинацию. Компоненты систем могут быть соединены с помощью любой формы или среды передачи цифровых данных, такой как сеть связи. Примеры сетей связи включают в себя, например, LAN, WAN и компьютеры и сети, которые образуют Интернет.
Один или более вариантов осуществления настоящего изобретения могут быть реализованы на практике с другими конфигурациями компьютерных систем, включая портативные устройства, микропроцессорные системы, основанную на микропроцессорах или программируемую бытовую электронику, миникомпьютеры, универсальные компьютеры и т.д. Кроме того, изобретение может быть реализовано на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть.
Хотя были описаны один или более вариантов осуществления изобретения, различные их изменения, дополнения, перестановки и эквиваленты включены в объем изобретения.

Claims (14)

ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ верификации того, что пользовательский код, введенный в вычислительную систему, соответствует истинному коду, содержащему один или более кодовых символов, полученных из идентификационной информации продукта, причем способ содержит этапы, на которых определяют набор кодовых символов, которые могут быть использованы в идентификационном коде продукта;
определяют один или более поднаборов кодовых символов, причем каждый из поднаборов содержит два или более предварительно определенных эквивалента идентификации из набора кодовых симво
- 14 034935 лов, причем каждый поднабор имеет предварительно определенный идентификатор поднабора;
определяют преобразование для генерации идентификационной информации истинного кода на основе предварительно определенного идентификатора поднабора, причем преобразование включает в себя обфускацию, шифрование, хэширование, или при этом истинный код является идентификационной информацией;
принимают введенный пользователем код, в том числе принимают набор из одного или более кодовых символов, введенных пользователем с целью верификации продукта;
дешифруют введенный пользователем код путем применения упомянутого преобразования, чтобы получить идентификационную информацию введенного пользователем кода, причем преобразование является обфускацией, шифрованием, хэшированием, или при этом введенный пользователем код является идентификационной информацией;
генерируют идентификационную информацию истинного кода;
сравнивают пользовательский код и истинный код и определяют количество ошибок или типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом;
причем каждая ошибка имеет ассоциированную оценку вероятности, и выполняют коррекцию одной или более ошибок, обнаруженных во введенном пользователем коде, на основе оценки вероятности, ассоциированной с упомянутыми одной или более обнаруженными ошибками, и причем код корректируют, только если оценка вероятности коррекции выше предварительно определенного порога;
причем оценка вероятности содержания вычисляется или предварительно определена для замещения символов, включающих в себя для некоторых символов первую оценку вероятности содержания для физической близости и вторую оценку вероятности содержания для сходства символов, и верифицируют то, что идентификационная информация введенного пользователем кода соответствует идентификационной информации истинного кода.
2. Способ по п.1, дополнительно содержащий комбинирование нелинейно первой оценки вероятности содержания и второй оценки вероятности содержания.
3. Способ по любому одному или более предыдущим пунктам, дополнительно содержащий этап, на котором определяют истинный код, содержащий один или более кодовых символов, выведенных из идентификационной информации продукта.
4. Способ по любому одному или более предыдущим пунктам, в котором одно или более из количества ошибок и типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом, записывают.
5. Способ по любому одному или более предыдущим пунктам, в котором этап верификации истинного кода содержит этап, на котором верифицируют истинный код только тогда, когда одно или более из количества ошибок и типа ошибок ниже предварительно определенного порога.
6. Способ по любому одному или более предыдущим пунктам, в котором все кодовые символы содержатся в одном или более поднаборах.
7. Способ по любому одному или более предыдущим пунктам, в котором все поднаборы содержат только два кодовых символа.
8. Способ по любому одному или более предыдущим пунктам, в котором на оценку вероятности, ассоциированной с ошибочным введенным пользователем символом, оказывают влияние символы, которые находятся рядом с ошибочным введенным пользователем символом.
9. Способ по любому одному или более предыдущим пунктам, в котором два последовательно введенных пользователем символа обнаруживают как ошибки и выполняют коррекцию обоих символов перестановкой этих двух последовательно введенных пользователем символов, обнаруженных как ошибки, в результате чего символы становятся правильными при сравнении с истинным кодом, независимо от того, превышает ли или нет оценка вероятности коррекции любой ошибки предварительно определенный порог.
10. Система для верификации того, что пользовательский код, введенный в вычислительную систему, соответствует истинному коду, причем система содержит компьютеризованный процессор, сконфигурированный для исполнения инструкций для определения набора кодовых символов, которые могут быть использованы в идентификационном коде продукта;
определения одного или более поднаборов кодовых символов, причем каждый из поднаборов содержит два или более предварительно определенных эквивалента идентификации набора кодовых символов, причем каждый поднабор имеет предварительно определенный идентификатор поднабора;
определения преобразования для генерации идентификационной информации истинного кода на основе предварительно определенного идентификатора поднабора, причем преобразование включает в себя обфускацию, шифрование, хэширование, или при этом истинный код является идентификационной информацией;
приема введенного пользователем кода, в том числе приема набора из одного или более кодовых символов, введенных пользователем с целью верификации продукта;
дешифрования введенного пользователем кода путем применения преобразования, чтобы получить
- 15 034935 идентификационную информацию введенного пользователем кода, причем преобразование является обфускацией, шифрованием, хэшированием, или при этом введенный пользователем код является идентификационной информацией;
генерирования идентификационной информации истинного кода;
сравнивают пользовательский код и истинный код и определяют количество ошибок или типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом;
причем каждая ошибка имеет ассоциированную оценку вероятности, и выполняют коррекцию одной или более ошибок, обнаруженных во введенном пользователем коде, на основе оценки вероятности, ассоциированной с упомянутыми одной или более обнаруженными ошибками, и причем код корректируют, только если оценка вероятности коррекции выше предварительно определенного порога;
причем оценка вероятности содержания вычисляется или предварительно определена для замещения символов, включающих в себя для некоторых символов первую оценку вероятности содержания для физической близости и вторую оценку вероятности содержания для сходства символов, и верификации того, что идентификационная информация введенного пользователем кода соответствует идентификационной информации истинного кода.
11. Система по п.10, дополнительно содержащая комбинирование нелинейно первой оценки вероятности содержания и второй оценки вероятности содержания.
12. Система по любому одному или более из пп.10 или 11, дополнительно содержащая инструкции для определения истинного кода, содержащего один или более кодовых символов, выведенных из идентификационной информации продукта.
13. Система по любому одному или более из пп.10-12, дополнительно содержащая инструкции для сравнения пользовательского кода и истинного кода.
14. Система по любому одному или более из пп.10-13, дополнительно содержащая инструкции для определения количества ошибок или типов ошибок, обнаруженных между введенным пользователем кодом и истинным кодом.
Номер символа 1 2 3 4 5 6 7 8 9 10 и 12 13 14 15 16 17 18 19 20 Код 3 S 6 8 Р 5 F 5 W X Z 9 L М J 4 6 2 Е L
EA201890564A 2015-08-25 2016-08-25 Верификация с допуском ошибок для защищенных идентификаторов продукта EA034935B1 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562209798P 2015-08-25 2015-08-25
PCT/EP2016/070138 WO2017032861A1 (en) 2015-08-25 2016-08-25 Verification with error tolerance for secure product identifiers

Publications (2)

Publication Number Publication Date
EA201890564A1 EA201890564A1 (ru) 2018-08-31
EA034935B1 true EA034935B1 (ru) 2020-04-08

Family

ID=56802492

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201890564A EA034935B1 (ru) 2015-08-25 2016-08-25 Верификация с допуском ошибок для защищенных идентификаторов продукта

Country Status (6)

Country Link
US (1) US10579889B2 (ru)
EP (1) EP3341880B1 (ru)
CN (1) CN108140076B (ru)
EA (1) EA034935B1 (ru)
HK (1) HK1257671A1 (ru)
WO (1) WO2017032861A1 (ru)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116720535B (zh) * 2023-04-18 2024-01-26 浙江微特码信息技术有限公司 微叠码管理方法、系统和存储介质和计算机装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066167A1 (en) * 2006-09-12 2008-03-13 Andri Michael J Password based access including error allowance
EP2472451A1 (en) * 2010-12-30 2012-07-04 Philip Morris Products S.A. Method and apparatus for marking manufactured items
WO2012136138A1 (en) * 2011-04-04 2012-10-11 Coentre Ventures Llc Anti-counterfeiting using asymmetrical dual codes on product

Family Cites Families (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4035615A (en) 1976-05-20 1977-07-12 Sperry Rand Corporation System for accepting wide ranges of universal product code system
US4094244A (en) 1976-12-22 1978-06-13 Dymo Industries, Inc. Hand-held bar code label marking device
US4354101A (en) 1977-04-15 1982-10-12 Msi Data Corporation Method and apparatus for reading and decoding a high density linear bar code
US4463250A (en) 1981-07-11 1984-07-31 Mcneight David L Method and apparatus for use against counterfeiting
US4529871A (en) 1982-09-29 1985-07-16 Loblaw Companies Limited Price marking system
US4860226A (en) 1986-09-09 1989-08-22 Martin Edward L Method and apparatus for bar code graphics quality control
US4963719A (en) 1989-11-01 1990-10-16 Spectra-Physics Bar code scanner and method of scanning
US5646389A (en) 1990-11-13 1997-07-08 Symbol Technologies, Inc. Inventory management system using coded re-order information
WO1993010506A1 (en) 1991-11-22 1993-05-27 Engineered Data Products, Inc. Label generation apparatus
JPH05151381A (ja) 1991-11-29 1993-06-18 Nippondenso Co Ltd バーコード読取装置
US5483624A (en) 1992-03-27 1996-01-09 Monarch Marking Systems, Inc. Programmable hand held labeler
US5467433A (en) 1992-04-15 1995-11-14 Monarch Marking Systems, Inc. Label printing and data collection program generator
JPH06282677A (ja) * 1993-01-29 1994-10-07 Oki Electric Ind Co Ltd 光学式文字読取装置における候補文字修正方式
US5382779A (en) 1993-05-07 1995-01-17 Digicomp Research Corporation Shelf price label verification apparatus and method
US5400319A (en) 1993-10-06 1995-03-21 Digital Audio Disc Corporation CD-ROM with machine-readable I.D. code
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
JPH07156459A (ja) 1993-12-03 1995-06-20 Japan Tobacco Inc 封函テープ供給装置及び出荷品の製造情報記録システム
US6456729B1 (en) 1994-04-14 2002-09-24 Lewis J. Moore Anti-counterfeiting and tracking system
JP3355804B2 (ja) 1994-08-30 2002-12-09 株式会社デンソー 車両用道路地図表示装置
JP3693694B2 (ja) * 1994-10-03 2005-09-07 株式会社ジャストシステム 入力誤り自動修復装置
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
US5850080A (en) 1995-08-03 1998-12-15 Barcode Graphics Inc. Verification of barcodes
US6371375B1 (en) 1995-09-25 2002-04-16 Intermec Ip Corp. Method and apparatus for associating data with a wireless memory device
US5837983A (en) 1996-06-10 1998-11-17 Psc, Inc. Readability monitoring system for optical codes
US6272634B1 (en) 1996-08-30 2001-08-07 Regents Of The University Of Minnesota Digital watermarking to resolve multiple claims of ownership
US5767498A (en) 1996-09-17 1998-06-16 Ncr Corporation Bar code error scanner
US7797164B2 (en) 1996-10-02 2010-09-14 Nintendo Of America, Inc. Method and apparatus for enabling purchasers of products to obtain return information and to initiate product returns via an on-line network connection
US6442276B1 (en) 1997-07-21 2002-08-27 Assure Systems, Inc. Verification of authenticity of goods by use of random numbers
US6832202B1 (en) 1997-08-29 2004-12-14 Electronic Data Systems Corporation Method and system of routing requests for authorized approval
US5974150A (en) 1997-09-30 1999-10-26 Tracer Detection Technology Corp. System and method for authentication of goods
US6212638B1 (en) 1997-12-02 2001-04-03 George C. Lee Method for generating unpredictable authentication identification symbols
US6134561A (en) 1997-12-29 2000-10-17 Pitney Bowes Inc. System for tracking the receipt and internal delivery of items such as packages
US6069955A (en) 1998-04-14 2000-05-30 International Business Machines Corporation System for protection of goods against counterfeiting
US6924781B1 (en) 1998-09-11 2005-08-02 Visible Tech-Knowledgy, Inc. Smart electronic label employing electronic ink
GB2342743B (en) 1998-10-17 2003-05-14 Nicholas Paul Elliot Verification method
US6226619B1 (en) 1998-10-29 2001-05-01 International Business Machines Corporation Method and system for preventing counterfeiting of high price wholesale and retail items
US6963846B1 (en) 2000-07-17 2005-11-08 Kelly Registration Systems, Inc. System and method of managing registration, sale, distribution and use of regulated agricultural products and the licensing/certification of dealers and applicators of agricultural products
US6217966B1 (en) 1999-02-26 2001-04-17 Ncr Corporation Desensitized price label
US6260029B1 (en) 1999-08-11 2001-07-10 Pitney Bowes Inc. Postage meter that provides on a mailpiece evidence of postage paid together with cryptographically secured, third party certified, non-shipping information about the sender of the mailpiece
US7188258B1 (en) 1999-09-17 2007-03-06 International Business Machines Corporation Method and apparatus for producing duplication- and imitation-resistant identifying marks on objects, and duplication- and duplication- and imitation-resistant objects
WO2001055882A2 (en) 2000-01-27 2001-08-02 Crossoff Inc. Authenticity verification method and apparatus
US6547137B1 (en) 2000-02-29 2003-04-15 Larry J. Begelfer System for distribution and control of merchandise
US20060143180A1 (en) 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
JP2001328711A (ja) 2000-05-18 2001-11-27 Ishikawajima Harima Heavy Ind Co Ltd 商品の配送管理方法
JP4577950B2 (ja) 2000-06-23 2010-11-10 大日本印刷株式会社 非接触型icカードの発行処理システム
US6725366B1 (en) 2000-09-07 2004-04-20 International Business Machines, Corporation System and method for 32 bit code branching to 64 bit targets
US7113922B2 (en) 2000-11-02 2006-09-26 Living Naturally, Llc Electronic inventory movement and control device
US20020053796A1 (en) 2000-11-07 2002-05-09 Mccann Mark Graphical label and method of manufacturing
DE10058688B4 (de) 2000-11-25 2011-08-11 Alstom Technology Ltd. Dämpferanordnung zur Reduktion von Brennkammerpulsationen
WO2002073550A1 (en) 2001-03-14 2002-09-19 Orell Füssli Security Documents AG A method for verifying the authenticity of an article
US6497367B2 (en) 2001-04-26 2002-12-24 International Business Machines Corporation Providing a location and item identification data to visually impaired shoppers in a site having barcode labels
US20020158137A1 (en) 2001-04-30 2002-10-31 William Grey Systems and methods wherein a machine-readable item code is substantially invisible to a human
US6729603B1 (en) 2001-06-08 2004-05-04 Psc Scanning, Inc. Add-on capture rate in a barcode scanning system
RU2199781C1 (ru) 2001-07-20 2003-02-27 Ямилев Ильгиз Амирович Способ маркировки товара, или изделия, или конструкции с последующей идентификацией (варианты) и система проведения идентификации товара или изделия, или конструкции с указанной маркировкой (варианты)
US6616056B2 (en) 2001-08-31 2003-09-09 International Business Machines Corporation Method and system of capturing and reading consumer-oriented responses through consumer-appended bar codes
US20030051767A1 (en) 2001-09-19 2003-03-20 Unilever Home And Personal Care Usa Package and system
US20030074223A1 (en) 2001-09-24 2003-04-17 Scott Laboratories, Inc. Methods and apparatuses for assuring quality and safety of drug administration and medical products and kits
JP2003104562A (ja) 2001-09-29 2003-04-09 Toshiba Corp 手荷物管理方法および手荷物管理システム
US8209226B2 (en) 2001-11-15 2012-06-26 Nintendo Of America Inc. Non-serialized electronic product registration system and method of operating same
RU2216776C2 (ru) 2001-12-24 2003-11-20 Общество с ограниченной ответственностью "АЙ-ФЕРСТ" Способ идентификации и учета маркированных объектов и система для его осуществления
WO2003056506A1 (en) 2002-01-04 2003-07-10 Flying Null Limited Multi label verification system
JP3834241B2 (ja) 2002-01-16 2006-10-18 埼玉日本電気株式会社 ソフトウェア記録部分離型情報処理装置及びソフトウェア管理方法
RU2225641C2 (ru) 2002-01-24 2004-03-10 Слепов Анатолий Алексеевич Способ защиты от подделки изделий массового изготовления
JP2003233794A (ja) 2002-02-07 2003-08-22 Hitachi Ltd 無線タグ、商品、商品付随物、商品セット、リーダ、印刷機、情報加工方法、及び判定方法
CN1856783B (zh) 2002-07-26 2011-05-25 罗恩·埃弗里特 使用参考与一般数据项关联的数据管理结构
EP1429224A1 (en) 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
JP2004094510A (ja) 2002-08-30 2004-03-25 Inst Of Physical & Chemical Res 商品流通における虚偽表示防止方法及びこれに用いる改ざん防止機能付きラベル書込装置
US20040117265A1 (en) 2002-12-12 2004-06-17 Paul Hoffman Method and system for labeling and managing the sale of manufactured concrete blocks
US6827275B2 (en) 2003-01-22 2004-12-07 Ufp Technologies, Inc. Method of tracking and marking tools
US6712275B1 (en) 2003-02-10 2004-03-30 Targus Fly And Feather, Llc UPC identification device
US7286043B2 (en) 2003-04-28 2007-10-23 Battelle Memorial Institute K1-53 System and method for inventorying multiple remote objects
US20050006469A1 (en) 2003-07-10 2005-01-13 United Parcel Service Of America, Inc. Methods, systems, and computer-readable media for linking object identification data to package identification data
US7028901B2 (en) 2003-07-17 2006-04-18 Symbol Technologies, Inc. System and method for reading and decoding optical codes using multiple color illumination
US6892947B1 (en) 2003-07-30 2005-05-17 Hewlett-Packard Development Company, L.P. Barcode embedding methods, barcode communication methods, and barcode systems
JP2005060080A (ja) 2003-08-19 2005-03-10 Dainippon Printing Co Ltd 可変印字管理システム
JP2005115890A (ja) 2003-10-07 2005-04-28 Pv Up:Kk 購読条件付メールマガジン登録システム
US7752137B2 (en) 2003-11-03 2010-07-06 Meyers Printing Company Authentication and tracking system
US8543411B2 (en) 2003-11-05 2013-09-24 United Parcel Service Of America, Inc. Systems and methods for detecting counterfeit pharmaceutical drugs at the point of retail sale
JP2005200187A (ja) 2004-01-19 2005-07-28 Nippon Telegr & Teleph Corp <Ntt> 情報管理方法、情報管理システムおよび情報管理プログラム
US7497379B2 (en) 2004-02-27 2009-03-03 Microsoft Corporation Counterfeit and tamper resistant labels with randomly occurring features
US7055691B2 (en) 2004-02-27 2006-06-06 Owens-Illinois Healthcare Packaging Inc. Plastic packaging having embedded micro-particle taggants
WO2005083644A1 (en) 2004-03-02 2005-09-09 Stikker.Com Bv Method and system for verifying the authenticity of goods
JP4402490B2 (ja) 2004-03-22 2010-01-20 東芝テック株式会社 流通物情報管理システム
JP4455246B2 (ja) 2004-03-29 2010-04-21 株式会社日立製作所 リコール対応支援システム、リコール対応支援方法、およびリコール対応支援プログラム
US20050273434A1 (en) 2004-04-18 2005-12-08 Allen Lubow System and method for managing security in a supply chain
US20050234823A1 (en) 2004-04-20 2005-10-20 Rainer Schimpf Systems and methods to prevent products from counterfeiting and surplus production also of tracking their way of distribution.
US7307536B2 (en) 2004-05-06 2007-12-11 Savi Technology, Inc. Portable deployment kit for nested visibility
US20070203808A1 (en) 2004-05-31 2007-08-30 Densel-Lambda Kabushiki Kaisha Product management system
US7267271B2 (en) 2004-06-16 2007-09-11 Dell Products L.P. System and method for component inventory tracking with shipper identification codes
US7246748B1 (en) 2004-06-30 2007-07-24 Adobe Systems Incorporated Enabling the use of machine-readable codes
US20060011726A1 (en) 2004-07-14 2006-01-19 Culture.Com Technology (Macau) Ltd. Micro bar code and recognition system and method thereof
JP2006103813A (ja) 2004-09-30 2006-04-20 Hitachi Ltd 物品追跡情報格納方法および物品追跡情報格納システム
EP1645992A1 (en) 2004-10-08 2006-04-12 Philip Morris Products S.A. Methods and systems for marking, tracking and authentication of products
US7309011B2 (en) 2004-10-29 2007-12-18 Symbol Technologies, Inc. Method of authenticating products using hardware compatibility flag
JP2006229582A (ja) 2005-02-17 2006-08-31 Ricoh Co Ltd 文書処理装置、画像形成装置及び文書処理プログラム
EP1710764A1 (en) 2005-04-07 2006-10-11 Sap Ag Authentication of products using identification tags
US7513436B2 (en) 2005-06-30 2009-04-07 Symbol Technologies, Inc. Apparatus and methods for optical representations of radio frequency identification tag information
JP4272186B2 (ja) 2005-07-08 2009-06-03 株式会社みずほコーポレート銀行 回収代行システム
US7492267B2 (en) 2005-07-29 2009-02-17 Suzanne Bilyeu Tracking methods and systems using RFID tags
FR2900486A1 (fr) 2006-04-28 2007-11-02 Hafshejani Abdollah Sadeghi Procede de detection de la contrefacon ou de l'authenticite d'un produit
WO2008086393A1 (en) 2007-01-09 2008-07-17 Mojix, Inc. Systems and methods for secure supply chain management and inventory control
CN101201886B (zh) 2007-01-15 2012-08-22 于志 一种数字化识别商品的方法
US20080216185A1 (en) 2007-01-19 2008-09-04 Invitrogen Corporation Compositions and Methods for Genetic Manipulation and Monitoring of Cell Lines
US8175578B2 (en) 2007-05-07 2012-05-08 Battelle Energy Alliance, Llc Wireless device monitoring methods, wireless device monitoring systems, and articles of manufacture
EP2051189A1 (en) 2007-10-18 2009-04-22 Siemens Aktiengesellschaft Device for electronic identification of items
EP2223460A4 (en) 2007-12-20 2011-12-28 Bce Inc NON-CONTACT LABEL WITH SIGNATURE AND ASSOCIATED APPLICATIONS
JP2009151668A (ja) 2007-12-21 2009-07-09 Hitachi Ltd 農産物トレーサビリティシステム、農産物トレーサビリティ方法、農産物トレーサビリティプログラム、および小売業者端末
EP2104067A1 (en) 2008-03-17 2009-09-23 Philip Morris Products S.A. Method and apparatus for identifying, authenticating, tracking and tracing manufactured items
KR100911762B1 (ko) 2008-06-23 2009-08-11 (주)지디에스케이 주소표준화 시스템 및 방법
US8761390B2 (en) 2008-06-30 2014-06-24 Gm Global Technology Operations Production of cryptographic keys for an embedded processing device
CN101354753B (zh) 2008-09-10 2010-09-29 张其善 产品标签制作方法、产品真伪检验方法与系统
EP2172882A1 (en) 2008-10-06 2010-04-07 JT International S.A. Method of cigarette packaging and cigarette packaging system
SG171730A1 (en) 2008-11-24 2011-07-28 Certicom Corp System and method for hardware based security
FR2939542B1 (fr) 2008-12-04 2012-08-03 Advanced Track & Trace Procede et dispositif de protection d'un recipient et etiquette pour leur mise en oeuvre
GB2547363A (en) 2009-06-08 2017-08-16 Kezzler As Method and system for storage and retrieval of track and trace information
CN101609626A (zh) 2009-07-10 2009-12-23 烟台东方瑞创达电子科技有限公司 产品防伪防窜货的附标方法
EP2348465A1 (en) 2009-12-22 2011-07-27 Philip Morris Products S.A. Method and apparatus for storage of data for manufactured items
JP5730491B2 (ja) 2010-02-26 2015-06-10 株式会社ニコン・エシロール レンズ加工管理システム、レンズ製造システム、レンズ製造方法、コンピュータプログラム、レンズ加工管理方法、データ供給装置、レンズ設計データ利用管理システム、レンズ設計データ利用管理装置、及びレンズ設計データ利用管理プログラム
US8839459B2 (en) 2010-09-22 2014-09-16 Qualcomm Incorporated Product authentication using end-to-end cryptographic scheme
US9507971B2 (en) 2010-11-05 2016-11-29 Barcode Graphics Inc. Systems and methods for barcode integration in packaging design and printing
CN102542215A (zh) 2010-12-13 2012-07-04 杭州华杭科技有限公司 一次性容器的双签认证法
US8903884B2 (en) 2011-02-21 2014-12-02 Microsoft Corporation Multi-tenant services gateway
TW201236927A (en) 2011-03-11 2012-09-16 China Steel Corp Anti-counterfeiting bottle
US20120254052A1 (en) 2011-04-04 2012-10-04 Gao Zeming M Anti-counterfeiting marking with dual-code and partial concealment
US9130917B2 (en) 2011-05-02 2015-09-08 Verisign, Inc. DNSSEC signing server
US20120310848A1 (en) 2011-05-31 2012-12-06 Gao Zeming M Anti-counterfeiting marking with asymmetrical concealment
DE102011081804B4 (de) 2011-08-30 2015-02-12 Siemens Aktiengesellschaft Verfahren und System zum Bereitstellen von gerätespezifischen Betreiberdaten, welche an ein Authentisierungs-Credential gebunden werden, für ein Automatisierungsgerät einer Automatisierungsanlage
EP2751970A1 (en) 2011-08-31 2014-07-09 Thomson Licensing Method for a secured backup and restore of configuration data of an end-user device, and device using the method
CN103186863A (zh) 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 防伪方法及应用该防伪方法的产品
US8881005B2 (en) * 2012-04-20 2014-11-04 King Abdulaziz City For Science And Technology Methods and systems for large-scale statistical misspelling correction
US9064229B2 (en) 2012-05-07 2015-06-23 Sap Se Real-time asset tracking using discovery services
US20140122479A1 (en) 2012-10-26 2014-05-01 Abbyy Software Ltd. Automated file name generation
TWI610253B (zh) 2012-12-17 2018-01-01 印奈克斯托股份有限公司 用於儲存追踪製造品項用的資料之方法及設備
TWI622969B (zh) 2012-12-17 2018-05-01 印奈克斯托股份有限公司 用以使用物理特性來標記製造物品的方法及設備
GB2508922A (en) 2012-12-17 2014-06-18 Ibm Controlling cabling modifications in storage area networks by physical locks
EP2747003A1 (en) 2012-12-21 2014-06-25 Kezzler AS Method and system for storing and retrieving packaging relationships
GB201302206D0 (en) 2013-02-07 2013-03-27 Benson Ip Ltd System,apparatus and method of authenticating products
US20150269559A1 (en) 2014-03-24 2015-09-24 Cellum Innovacios es Szolgaltato Zrt. Systems and methods for a quick card
CN106688205A (zh) 2014-06-23 2017-05-17 英艾克斯图股份有限公司 用于标记制造的物品以检测未授权的再填充的方法和系统
US20160027021A1 (en) 2014-07-24 2016-01-28 Andrew Kerdemelidis Product Authenticator
US9628270B2 (en) 2014-09-09 2017-04-18 Microsoft Technology Licensing, Llc Cryptographically-verifiable attestation label
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
DE102015213412A1 (de) 2015-07-16 2017-01-19 Siemens Aktiengesellschaft Verfahren und Anordnung zum sicheren Austausch von Konfigurationsdaten einer Vorrichtung

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080066167A1 (en) * 2006-09-12 2008-03-13 Andri Michael J Password based access including error allowance
EP2472451A1 (en) * 2010-12-30 2012-07-04 Philip Morris Products S.A. Method and apparatus for marking manufactured items
WO2012136138A1 (en) * 2011-04-04 2012-10-11 Coentre Ventures Llc Anti-counterfeiting using asymmetrical dual codes on product

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Inside Windows Product Activation", INTERNET CITATION, 1 July 2001 (2001-07-01), XP009130019, Retrieved from the Internet: URL:http://www.licenturion.com/xp/fully-licensed-wpa.txt [retrieved on 2010-03-05] Introduction *

Also Published As

Publication number Publication date
EP3341880B1 (en) 2022-03-30
EP3341880A1 (en) 2018-07-04
HK1257671A1 (zh) 2019-10-25
US20180239980A1 (en) 2018-08-23
CN108140076B (zh) 2022-04-05
WO2017032861A1 (en) 2017-03-02
US10579889B2 (en) 2020-03-03
CN108140076A (zh) 2018-06-08
EA201890564A1 (ru) 2018-08-31

Similar Documents

Publication Publication Date Title
US10700861B2 (en) System and method for generating a recovery key and managing credentials using a smart blockchain contract
CN106161006B (zh) 一种数字加密算法
US10237074B2 (en) Redactable document signatures
US9286466B2 (en) Registration and authentication of computing devices using a digital skeleton key
US9219602B2 (en) Method and system for securely computing a base point in direct anonymous attestation
US20120137353A1 (en) Method and system for abstracted and randomized one-time use passwords for transactional authentication
US9325499B1 (en) Message encryption and decryption utilizing low-entropy keys
US8452965B1 (en) Self-identification of tokens
CN105279401A (zh) 用于密码认证的装置和方法
EP3637674A1 (en) Computer system, secret information verification method, and computer
US20190080061A1 (en) Method for secure key input
EP3335370B1 (en) Enhanced obfuscation or randomization for secure product identification and verification
US7347366B2 (en) Method and apparatus to provide authentication using an authentication card
US9378358B2 (en) Password management system
CN112084487B (zh) 一种弱口令分析方法、装置、存储介质及电子设备
EP2947591A1 (en) Authentication by Password Mistyping Correction
US20060136738A1 (en) System and method for password validation
CN105281899A (zh) 用于密码认证的装置和方法
EA034935B1 (ru) Верификация с допуском ошибок для защищенных идентификаторов продукта
US9454605B1 (en) Transferring data between devices using bar codes
CN114117388A (zh) 设备注册方法、设备注册装置、电子设备以及存储介质
CN113221074A (zh) 一种离线授权方法
EP3306505B1 (en) Information input method and device
KR20180031624A (ko) 서버 장치, 정보관리 시스템, 정보관리 방법 및 컴퓨터 프로그램
CN114884646B (zh) 基于改进md5加密处理的系统密码存储方法

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AZ BY KG TJ TM