СПОСОБ И СИСТЕМА ДВУСТОРОННЕЙ ИДЕНТИФИКАЦИИ ОБЪЕКТА НА ОСНОВЕ ДОВЕРЕННОЙ ТРЕТЬЕЙ СТОРОНЫ
METHOD AND SYSTEM FOR TRUSTED THIRD PARTY-BASED TWO-WAY OBJECT IDENTIFICATION

Настоящая заявка испрашивает приоритет китайской патентной заявки за № 200710018920.6, поданной в китайское патентное ведомство 23 октября 2007 г., озаглавленной «METHOD AND SYSTEM FOR MUTUAL AUTHENTICATION OF ENTITIES BASED UPON TRUSTED THIRD PARTY» и которая полностью включена в данный документ посредством ссылки.
Область техники
Настоящее изобретение относится к области связи и, в частности, к способу взаимной аутентификации объектов на основе доверенной третьей стороны, а также системе для этого.
Предшествующий уровень техники
В настоящее время взаимная аутентификация типично применяется между пользователем и точкой доступа к сети посредством сети связи для того, чтобы гарантировать доступ достоверного пользователя к достоверной сети. Способы аутентификации объектов с использованием асимметричной криптографической методики могут быть классифицированы на два следующих типа: односторонняя аутентификация и взаимная аутентификация. В частности, уникальностью/своевременностью аутентификации управляют посредством формирования и проверки переменных во времени параметров, таких как временные отметки, порядковые номера или случайные числа. Если в качестве переменных во времени параметров используются временные отметки или порядковые номера, то взаимная аутентификация между объектами может быть осуществлена посредством двухэтапной аутентификации; или, если в качестве переменных во времени параметров используются случайные числа, то взаимная аутентификация между объектами может быть осуществлена посредством трехэтапной аутентификации или двух параллельных.
Перед работой или во время работы механизма аутентификации устройство верификации должно быть обеспечено достоверным открытым ключом заявляющей стороны, в противном случае аутентификация может быть поставлена под угрозу или неудачно завершиться. В качестве примера описывается трехэтапная взаимная аутентификация.
A
B
A
A
B
B
A
B
B
A
X
X
X
Ссылаясь на фиг.1, система аутентификации включает в себя два объекта аутентификации - А и В. Объект А аутентификации передает маркер TokenAB=R║R║B║Text3║SS(R║R║B║Text2) объекту В аутентификации, а объект В аутентификации передает маркер TokenBA=R║R║A║Text5║SS(R║R║A║Text4) объекту А аутентификации, при этом SS обозначает подпись объекта Х, R обозначает случайное число, сгенерированное объектом Х, Cert обозначает сертификат объекта Х, Text2, Text3, Text4 и Text5 обозначают необязательные текстовые поля, и Х обозначает отличительный идентификатор объекта аутентификации, в данном случае это А или В.
Далее подробно описывается процесс работы механизма трехэтапной аутентификации:
B
1) Объект В передает случайное число R и необязательное текстовое поле Text1 объекту А;
A
2) Объект А передает маркер TokenAB и необязательное поле сертификата Cert объекту В;
3) После приема сообщения, переданного из объекта А, объект В выполняет следующие этапы:
3.1) Гарантирует получение достоверного открытого ключа объекта А или посредством верификации сертификата объекта А, или с помощью каких-либо других средств; и
B
B
3.2) Верифицирует подпись объекта А, содержащуюся в маркере TokenAB на этапе 2), проверяет правильность отличительного идентификатора объекта - В и проверяет, что случайное число R, переданное на этапе 1), согласуется со случайным числом R, содержащимся в маркере TokenAB, для того, чтобы объект А был аутентифицирован объектом В;
B
4) Объект В передает маркер TokenBA и необязательное поле сертификата Cert объекту А;
5) После приема сообщения, содержащего маркер TokenBA, переданный из объекта В, объект А выполняет следующие этапы:
5.1) Гарантирует получение достоверного открытого ключа для объекта В либо посредством верификации сертификата объекта В, или с помощью каких-либо других средств; и
A
A
B
B
5.2) Верифицирует подпись объекта В, содержащуюся в маркере TokenBA, переданном на этапе 4), проверяет правильность отличительного идентификатора А объекта и проверяет, что случайное число R, переданное на этапе 2), согласуется со случайным числом R, содержащимся в маркере TokenBA, и что случайное число R, принятое на этапе 1), согласуется со случайным числом R, содержащимся в маркере TokenBA, для того, чтобы объект В был аутентифицирован объектом А.
Очевидно, что успешная работа механизма трехэтапной аутентификации может быть гарантирована при условии, что объект А и объект В обладают соответственно достоверными открытыми ключами друг друга, но при этом протокол не включает в себя то, как получить достоверные открытые ключи и их достоверность. Однако это условие гарантирования не может быть выполнено в настоящее время во многих прикладных сценариях. Например, функция управления пользовательским доступом типично реализуется посредством механизма аутентификации объекта по сети, и, таким образом, доступ пользователя в сеть запрещается до того, как механизм аутентификации успешно сработает, и, следовательно, невозможно или трудно для пользователя получить доступ к центру сертификации и даже невозможно получить достоверность открытого ключа противоположного объекта, то есть точки доступа к сети, до аутентификации.
Сущность изобретения
Для решения технической задачи, существующей в предшествующем уровне техники, настоящее изобретение предлагает способ и систему для взаимной аутентификации объектов на основе доверенной третьей стороны для того, чтобы неаутентифицированные объекты могли быть успешно аутентифицированы, не требуя знания достоверного открытого ключа противоположного объекта связи перед аутентификацией.
Вариант осуществления изобретения обеспечивает способ взаимной идентификации объектов на основе доверенной третьей стороны, который содержит этапы, на которых:
A
A
этап 1) передают первое сообщение из первого объекта во второй объект, причем первое сообщение содержит первый переменный во времени параметр R1, сгенерированный первым объектом, идентификатор ID первого объекта и первое необязательное текстовое поле Text1;
B
этап 2) передают второе сообщение из второго объекта в первый объект после приема первого сообщения, причем второе сообщение содержит маркер TokenBA, переданный из второго объекта в первый объект, идентификатор ID второго объекта и второе необязательное текстовое поле Text2;
B
в
этап 3) передают третье сообщение из первого объекта в третий объект после приема второго сообщения, причем третье сообщение содержит второй переменный во времени параметр R, сгенерированный вторым объектом, идентификатор ID второго объекта и третье необязательное текстовое поле Text3;
этап 4) верифицируют посредством третьего объекта после приема третьего сообщения, являются ли первый объект и второй объект допустимыми, и выполняют процесс предварительной установки в зависимости от результатов верификации;
этап 5) передают четвертое сообщение из третьего объекта в первый объект, причем четвертое сообщение содержит маркер TokenTA, переданный из третьего объекта в первый объект, и четвертое необязательное текстовое поле Text4;
этап 6) верифицируют четвертое сообщение посредством первого объекта после приема четвертого сообщения, для завершения аутентификации второго объекта, после того как первый объект верифицирует четвертое сообщение;
этап 7) передают четвертое сообщение из первого объекта во второй объект, причем четвертое сообщение содержит маркер TokenTA, переданный из третьего объекта в первый объект, маркер TokenAB, переданный из первого объекта во второй объект, и пятое необязательное текстовое поле Text5 или содержит второй подмаркер TokenTA2, переданный из третьего объекта в первый объект, маркер TokenAB, переданный из первого объекта во второй объект, и пятое необязательное текстовое поле Text5; и
этап 8) верифицируют пятое сообщение посредством второго объекта после приема пятого сообщения, для завершения аутентификации первого объекта, после того, как второй объект верифицирует пятое сообщение.
A
B
Предпочтительно этап 4) верификации, являются ли первый объект и второй объект допустимыми, и выполнения процесса предварительной установки в зависимости от результатов верификации включает в себя следующее: если ID и ID в третьем сообщении являются сертификатами, верифицируют сертификат первого объекта и сертификат второго объекта на действительность, и, если сертификат первого объекта и/или сертификат второго объекта является недействительным, отбрасывают третье сообщение и заканчивают процесс аутентификации, или возвращают четвертое сообщение первому объекту и переходят к этапу 5); или, если сертификат первого объекта и сертификат второго объекта являются действительными, возвращают четвертое сообщение первому объекту и переходят к этапу 5).
A
B
Предпочтительно этап 4) верификации, являются ли первый объект и второй объект допустимыми, и выполнения процесса предварительной установки в зависимости от результатов верификации включает в себя следующее: если ID и ID в третьем сообщении являются отличительными идентификаторами, верифицируют открытый ключ первого объекта и открытый ключ второго объекта на действительность, и, если открытый ключ первого объекта и/или открытый ключ второго объекта являются недействительными, отбрасывают третье сообщение и заканчивают процесс аутентификации, или возвращают четвертое сообщение третьему объекту; или, если открытый ключ первого объекта и открытый ключ второго объекта являются действительными, возвращают четвертое сообщение первому объекту.
A
A
A
A
Предпочтительно этап 6) верификации четвертого сообщения посредством первого объекта включает в себя следующее: 601, верифицируют подпись третьего объекта, содержащуюся в маркере TokenTA или первом подмаркере TokenTA1, переданном из третьего объекта в первый объект, и согласовывается ли R2 в третьем сообщении с R2 в TokenTA или TokenTA1, и, если верификация пройдена, получают результат верификации второго объекта, определяют, является ли второй объект допустимым, и, если второй объект является допустимым, переходят к этапу 602; если второй объект является недопустимым, заканчивают процесс аутентификации или переходят к этапу 7); и 602, получают открытый ключ второго объекта, верифицируют подпись второго объекта, содержащуюся в TokenBA во втором сообщении, и согласовывается ли R1 в первом сообщении с R1 в TokenAB, и, если верификация пройдена, переходят к этапу 7) для того, чтобы второй объект был аутентифицирован первым объектом.
B
B
B
B
Предпочтительно этап 8) верификации пятого сообщения вторым объектом включает в себя следующее: 801, верифицируют подпись третьего объекта, содержащуюся в TokenTA или TokenTA2, и согласовывается ли R во втором сообщении с R в TokenTA или TokenTA2, и, если верификация пройдена, получают результат верификации первого объекта, определяют, является ли первый объект достоверным, и, если первый объект является достоверным, переходят к этапу 802; если первый объект является недействительным, заканчивают процесс аутентификации; и 802, получают открытый ключ первого объекта, верифицируют подпись первого объекта, содержащуюся в TokenAB, и согласовывается ли R во втором сообщении с R в TokenAB, и, если верификация пройдена, то второй объект завершает аутентификацию первого объекта.
A
A
Предпочтительно R2 в третьем сообщении может быть таким же, как R1 в первом сообщении.
Предпочтительно переменные во времени параметры могут быть случайными числами, временными тегами или порядковыми номерами.
Предпочтительно этап 1) является необязательным, если переменные во времени параметры являются порядковыми номерами или временными тэгами.
Другой вариант осуществления настоящего изобретения, обеспечивающий систему для взаимной аутентификации объектов на основе доверенной третьей стороны, включает в себя следующее: первый объект, выполненный с возможностью передачи первого сообщения второму объекту, передачи третьего сообщения третьему объекту после приема второго сообщения, переданного от второго объекта, верификации четвертого сообщения после приема четвертого сообщения, переданного из третьего объекта, и передачи пятого сообщения второму объекту после верификации; второй объект, выполненный с возможностью приема первого сообщения, переданного из первого объекта, передачи второго сообщения первому объекту, и верификации пятого сообщения после приема пятого сообщения, переданного из первого объекта; и третий объект, выполненный с возможностью приема третьего сообщения, переданного из первого объекта, верификации, являются ли первый объект и второй объект допустимыми, выполнения процесса предварительной установки в зависимости от результата верификации и передачи четвертого сообщения первому объекту после упомянутого процесса.
Вариант осуществления изобретения обеспечивает систему для взаимной аутентификации объектов на основе доверенной третьей стороны, которая включает в себя следующее: первый объект, выполненный с возможностью передачи первого сообщения второму объекту, передачи третьего сообщения третьему объекту после приема второго сообщения, переданного из второго объекта, верификации четвертого сообщения после приема четвертого сообщения, переданного из третьего объекта, и передачи пятого сообщения второму объекту после аутентификации; второй объект, выполненный с возможностью приема первого сообщения, переданного из первого объекта, передачи второго сообщения первому объекту и верификации пятого сообщения после приема пятого сообщения, переданного из первого объекта; и третий объект, выполненный с возможностью приема третьего сообщения, переданного из первого объекта, проверки первого объекта и второго объекта на их допустимость, выполнения процесса предварительной установки в зависимости от результата проверки и передачи четвертого сообщения первому объекту после упомянутого процесса.
Как это очевидным образом следует из описанных выше вариантов осуществления изобретения, архитектура с тремя объектами может быть принята для того, чтобы объекты аутентификации извлекали открытый ключ или сертификат третьего объекта до аутентификации и извлекали сертификат пользователя, выданный для использования, из третьего объекта или предоставляли их собственный открытый ключ третьему объекту для безопасного хранения, не требуя предварительного знания достоверного открытого ключа противоположного объекта аутентификации. Во время работы протокола открытый ключ одного из объектов аутентификации и его достоверность могут быть автоматически переданы противоположному объекту аутентификации посредством извлечения и верификации объектом третьей стороны. По сравнению с традиционными механизмами аутентификации варианты осуществления изобретения определяют механизм оперативного извлечения и аутентификации открытых ключей, чтобы тем самым сделать возможным централизованное управление открытыми ключами, упростить условия работы протокола и достичь хорошей осуществимости и легкости использования в практических применениях.
Краткое описание чертеже
й
Фиг.1 представляет собой блок-схему механизма трехэтапной аутентификации в предшествующем уровне техники.
Фиг.2 представляет собой блок-схему способа взаимной аутентификации в соответствии с настоящим изобретением.
Подробное описание изобретения
X
X
X
X
X
X
X
X
X
Ссылаясь на фиг.2, иллюстрируется блок-схема способа взаимной аутентификации в соответствии с настоящим изобретением. Вариант осуществления изобретения предполагает использование трех объектов, то есть двух объектов А и В аутентификации и объекта (TP) доверенной третьей стороны, который является доверенной третьей стороной объектов А и В аутентификации, где Valid обозначает достоверность сертификата Cert, PublicKey является открытым ключом объекта Х, ID является идентификатором объекта Х, который представлен с помощью Cert или Х, Pub обозначает результат верификации объекта Х и состоит из сертификата Cert и его действительности Valid или состоит из объекта Х и его открытого ключа PublicKey, и Х представляет собой отличительный идентификатор объекта аутентификации, который в настоящем варианте осуществления изобретения может быть А или В.
В настоящем варианте осуществления изобретения соответствующие маркеры определяются следующим образом:
A
B
A
B
A
B
A
A
TokenBA=R1║R║ID║SS(R1║R║ID║Text2): маркер, переданный объекту А аутентификации из объекта В аутентификации, где R1 представляет собой первое случайное число, сгенерированное объектом А аутентификации;
A
B
A
B
TokenAB=SS(R║R1║ID║Text5║TokenTA): маркер, переданный объекту В аутентификации из объекта А аутентификации;
A
B
A
B
TP
A
B
A
B
A
TokenTA=R2║R║Pub║Pub║SS(R2║R║Pub║Pub║Text4): маркер, переданный объекту А аутентификации от доверенной третьей стороны, где R2 представляет собой второе случайное число, сгенерированное объектом А аутентификации.
Альтернативно, маркеры могут быть определены следующим образом:
TokenTA=TokenTA1║TokenTA2
A
B
TP
A
B
TokenTA1=R2║Pub║Text6║SS(R2║Pub║Text6)
B
A
TP
B
A
TokenTA2=R║Pub║Text7║SS(R║Pub║Text7).
Конкретная последовательность операций способа является следующей:
A
A
1) Объект А аутентификации передает объекту В аутентификации сообщение 1, включающее в себя первое случайное число R1, сгенерированное объектом А аутентификации, идентификатор ID объекта А аутентификации и необязательное текстовое поле Text1.
B
2) После приема сообщения 1 объект В аутентификации передает объекту А аутентификации сообщение 2, включающее в себя маркер TokenBA, переданный из объекта В аутентификации объекту А аутентификации, идентификатор ID объекта В аутентификации и необязательное текстовое поле Text2.
A
B
A
B
3) После приема сообщения 2 объект А аутентификации передает доверенной третьей стороне сообщение 3, включающее в себя второе случайное число R2, сгенерированное объектом А аутентификации, случайное число R, сгенерированное объектом B аутентификации, идентификатор ID объекта А аутентификации, идентификатор ID объекта В аутентификации и необязательное текстовое поле Text3.
4) После приема сообщения 3 доверенная третья сторона верифицирует объект А аутентификации и объект аутентификации на допустимость.
В частности, если идентификаторы объекта А аутентификации и объекта В аутентификации в сообщении 3 являются сертификатами, то сертификат объекта А аутентификации и сертификат объекта В аутентификации верифицируются на действительность; и, если сертификат объекта А аутентификации и/или сертификат объекта В аутентификации являются недействительными, то сообщение 3 непосредственно отбрасывается и процесс аутентификации заканчивается, или сообщение 4 возвращается объекту А аутентификации и процесс переходит к этапу 5); и, если сертификат объекта А аутентификации и сертификат объекта В аутентификации являются действительными, то сообщение 4 возвращается объекту А аутентификации и процесс переходит к этапу 5).
Если идентификаторы объекта А аутентификации и объекта В аутентификации в сообщении 3 являются отличительными идентификаторами, то открытый ключ объекта А аутентификации и открытый ключ объекта В аутентификации верифицируются на действительность, и, если открытый ключ объекта А аутентификации и/или открытый ключ объекта В аутентификации являются недействительными, то сообщение 3 непосредственно отбрасывается и процесс аутентификации заканчивается, или сообщение 4 возвращается объекту А аутентификации и процесс переходит к этапу 5); и, если открытый ключ объекта А аутентификации и открытый ключ объекта В аутентификации являются действительными, то сообщение 4 возвращается объекту А аутентификации и процесс переходит к этапу 5).
5) Объект доверенной третьей стороны передает объекту А аутентификации сообщение 4, включающее в себя маркер TokenTA, переданный из объекта доверенной третьей стороны объекту А аутентификации, и необязательное текстовое поле Text4.
6) Объект А аутентификации верифицирует сообщение 4 после приема сообщения 4.
В частности, данный процесс верификации включает в себя следующее:
A
A
6.1) Верифицируют подпись объекта доверенной третьей стороны, содержащуюся в маркере TokenTA или маркере TokenTA1, и согласуется ли второе случайное число R2, сгенерированное объектом А аутентификации, в сообщении 3 со случайным числом R2 в маркере TokenTA или маркере TokenTA1; если верификация пройдена, то переходят к этапу 6.2);
B
6.2) Получают результат Pub верификации объекта В аутентификации, определяют, является ли объект В аутентификации допустимым, и, если объект В аутентификации является допустимым, то переходят к этапу 6.3); в противном случае заканчивают процесс аутентификации или переходят к этапу 7); и
A
A
6.3) Получают открытый ключ объекта В аутентификации, верифицируют подпись объекта В аутентификации, содержащуюся в маркере TokenBA, в сообщении 2, и согласуется ли случайное число R1, сгенерированное объектом А аутентификации, в сообщении 1 со случайным числом R1 в маркере TokenBA; если верификация пройдена, то переходят к этапу 7), на котором первый объект завершает аутентификацию второго объекта.
7) Объект А аутентификации передает объекту В аутентификации сообщение 5, включающее в себя маркер TokenTA, маркер TokenAB и необязательное текстовое поле Text5, или включает в себя маркер TokenTA2, маркер TokenAB и необязательное текстовое поле Text5.
8) Объект В аутентификации верифицирует сообщение 5 после приема сообщения 5.
В частности, данный процесс верификации включает в себя следующее:
B
B
8.1) Верифицируют подпись доверенной третьей стороны, содержащуюся в маркере TokenTA или маркере TokenTA2, и согласуется ли случайное число R, сгенерированное объектом В аутентификации, в сообщении 2 со случайным числом R в маркере TokenTA или маркере TokenTA2; если верификация пройдена, то переходят к этапу 8.2);
A
8.2) Получают результат Pub верификации объекта А аутентификации, определяют, является ли объект А аутентификации допустимым, и, если объект А аутентификации является допустимым, то переходят к этапу 8.3); если объект А аутентификации является недопустимым, то заканчивают процесс аутентификации; и
B
B
8.3) Получают открытый ключ объекта А аутентификации, верифицируют подпись объекта А аутентификации, содержащуюся в маркере TokenAB, и согласуется ли случайное число Rв сообщении 2 со случайным числом R в маркере TokenAB; и, если верификация пройдена, то второй объект завершает аутентификацию первого объекта.
Следует отметить, что в вышеописанном варианте осуществления изобретения переменные во времени параметры являются случайными числами. Альтернативно, временные отметки или порядковые номера могут быть использованы в качестве переменных во времени параметров, и в этом случае сообщение 1 является необязательным сообщением, то есть этап 1) может быть опущен.
В соответствии со способом взаимной аутентификации объектов на основе доверенной третьей стороны согласно вышеописанному варианту осуществления изобретения вариант осуществления изобретения дополнительно обеспечивает систему для взаимной аутентификации объектов на основе доверенной третьей стороны, которая включает в себя объект А, объект В и объект доверенной третьей стороны, в которой любой из взаимно соединенных объекта А и объекта В могут быть соединены с объектом доверенной третьей стороны. Объект доверенной третьей стороны может быть объектом службы аутентификации, уже существующей или вновь добавляемой к системе. Например, объект доверенной третьей стороны может быть сервером аутентификации, уже существующим или вновь добавляемым к системе в приложении для пользователя и точки доступа к сети.