Способ шифрования и передачи данных между отправителем и получателем с использованием сети
Формула / Реферат
1. Способ шифрования и передачи данных между отправителем и получателем с использованием сети, включающий
получение сервером идентификатора получателя от отправителя;
создание ключа шифрования, предназначенного для данной конкретной передачи;
шифрование данных с использованием этого ключа шифрования;
доступ сервера к индивидуальной информации получателя согласно полученному идентификатору получателя и шифрование указанного ключа шифрования с помощью индивидуальной информации получателя;
передача зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем;
получение сервером от получателя зашифрованного ключа шифрования;
доступ сервера к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования и
расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования.
2. Способ по п.1, включающий установление линии связи между отправителем и сервером и посылку серверу указанного идентификатора получателя.
3. Способ по п.2, включающий установление линии связи между отправителем и сервером как безопасной линии связи.
4. Способ согласно п.2 или 3, включающий установление линии связи между отправителем и сервером при условии проверки сервером пароля отправителя.
5. Способ по любому из предшествующих пунктов, включающий установление линии связи между получателем и сервером и посылку серверу указанного идентификатора получателя.
6. Способ по п.5, включающий установление линии связи между получателем и сервером как безопасной линии связи.
7. Способ по п.5 или 6, включающий установление линии связи между получателем и сервером при условии проверки сервером пароля получателя.
8. Способ по любому из предшествующих пунктов, в котором создание ключа шифрования, предназначенного для данной конкретной передачи, происходит у отправителя, и созданный ключ шифрования посылают на сервер.
9. Способ по любому из предшествующих пунктов, в котором шифрование данных с использованием указанного ключа шифрования происходит у отправителя.
10. Способ по п.9, в котором отправитель получает от сервера зашифрованный ключ шифрования, предназначенный для данной конкретной передачи, и отправитель передает зашифрованные данные и указанный зашифрованный ключ шифрования получателю по сети.
11. Способ по любому из пп.1-7, в котором получатель получает от сервера расшифрованный ключ шифрования, предназначенный для данной конкретной передачи, и расшифровывание зашифрованных данных с использованием указанного расшифрованного ключа шифрования происходит у получателя.
12. Способ по любому из пп.1-7, в котором создание ключа шифрования, предназначенного для данной конкретной передачи, происходит на сервере.
13. Способ по п.12, в котором шифрование данных с использованием указанного ключа шифрования происходит на сервере.
14. Способ по п.13, в котором сервер передает зашифрованные данные и зашифрованный ключ шифрования получателю по сети.
15. Способ по любому из пп.1-10 и 12-14, в котором расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования происходит на сервере и сервер передает расшифрованные данные получателю.
16. Способ по любому из предшествующих пунктов, включающий посылку идентификатора получателя от отправителя на сервер.
17. Способ по любому из предшествующих пунктов, включающий посылку идентификатора получателя от получателя на сервер.
18. Способ по любому из предшествующих пунктов, включающий
создание значения кода аутентификации сообщения (MAC) для данных до их шифрования;
передачу значения MAC вместе с зашифрованными данными и зашифрованным ключом шифрования и
создание значения MAC для данных после их расшифровывания и его проверку на достоверность путем сравнения с переданным значением MAC.
19. Способ по любому из предшествующих пунктов, в котором при шифровании ключа шифрования, предназначенного для данной конкретной передачи, используют одно или более из следующего: способ шифрования с открытым ключом, алгоритм blowfish и секретный код сервера.
20. Способ работы сервера для шифрования и передачи данных между отправителем и получателем с использованием сети, включающий
получение идентификатора получателя от отправителя;
доступ к индивидуальной информации получателя согласно полученному идентификатору получателя и шифрование с помощью индивидуальной информации получателя ключа шифрования, который предназначен для данной конкретной передачи и используется, чтобы зашифровать данные;
прием от получателя зашифрованного ключа шифрования после того, как зашифрованные данные и зашифрованный ключ шифрования переданы по сети для приема получателем, и
доступ к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования.
21. Способ по п.20, включающий создание на сервере ключа шифрования, предназначенного для данной конкретной передачи.
22. Способ по п.20, включающий получение от отправителя ключа шифрования, предназначенного для данной конкретной передачи;
и передачу зашифрованного ключа шифрования, предназначенного для данной конкретной передачи, отправителю.
23. Способ по одному из пп.20-22, включающий шифрование данных на сервере с использованием указанного ключа шифрования.
24. Способ по любому из пп.20-23, включающий передачу зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем.
25. Способ по любому из пп.20-24, включающий передачу расшифрованного ключа шифрования, предназначенного для данной конкретной передачи, получателю.
26. Способ по любому из пп.20-24, включающий расшифровывание зашифрованных данных на сервере с использованием расшифрованного ключа шифрования, предназначенного для данной конкретной передачи.
27. Компьютерный носитель данных для способа шифрования и передачи данных между отправителем и получателем с использованием сети, включающий
компьютерный код для приема от отправителя идентификатора получателя и для создания ключа шифрования, предназначенного для данной конкретной передачи;
компьютерный код для шифрования данных с использованием указанного ключа шифрования;
компьютерный код для доступа к индивидуальной информации получателя согласно принятому идентификатору получателя и для шифрования, с использованием индивидуальной информации получателя, упомянутого ключа шифрования;
компьютерный код для передачи зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем;
компьютерный код для приема от получателя зашифрованного ключа шифрования, предназначенного для данной конкретной передачи, и для доступа к индивидуальной информации получателя, чтобы расшифровать зашифрованный ключ шифрования, и
компьютерный код для расшифровывания зашифрованных данных с использованием расшифрованного ключа шифрования.
Текст
009997 Настоящее изобретение касается способа шифрования и передачи данных между отправителем и получателем с использованием сети, позволяющего таким образом реализовать безопасную передачу данных. В настоящее время полезные данные от отправителя к получателю все чаще посылаются в электронной форме. При таких обстоятельствах становится все более важным гарантировать, что данные не могут быть перехвачены или прочитаны неуполномоченными людьми, то есть данные должны передаваться с соблюдением мер безопасности так, чтобы к содержанию данных имели доступ только отправитель и получатель. В одном случае безопасная связь может быть установлена между отправителем А и получателем В прежде, чем происходит передача данных. Однако в ситуациях, когда, скажем, 10 отдельных людей в одном офисе желают общаться и передавать полезные данные между собой и 10 людьми в другом удаленном офисе по двусторонней связи, возникают неудобства в установлении контактов, поскольку такое количество безопасных связей требует дополнительных аппаратных средств и программного обеспечения. Кроме того, для поддержания таких связей и связанных с ними систем паролей привлекаются значительные аппаратные средства и ресурсы времени. Это особенно актуально, когда люди в каждом офисе связаны вместе некоторой формой Intranet или Ethernet, а офисы связаны по Интернету. Необходимо также как у отправителя, так и у получателя иметь сложное программное обеспечение для шифрования и дешифрования, которое требует дополнительных аппаратных средств и систем программного обеспечения, и связанных с этим затрат на обслуживание специалистами. В другом случае единственный отправитель может пожелать передать различные данные множеству дискретных получателей. Однако это связано с теми же самыми неудобствами, что и упомянутые выше. В частности, отправителю необходимо принять сложные меры безопасности, чтобы поддерживать безопасные системы паролей. Кроме того, чтобы хранить и обслуживать такие системы, должны быть установлены дополнительные аппаратные средства и системы программного обеспечения. Действительно, в век малогабаритных мобильных устройств типа персональных цифровых помощников, портативных телефонов с доступом в Интернет и способностью работы с электронной почтой,которые имеют ограниченные память и способность обработки информации, часто технически невыполнимо иметь средство для двусторонних безопасных соединений, где требуется высокое качество шифрования и дешифрования. Хотя можно использовать цифровые сертификаты, чтобы уменьшить требование к техническим ресурсам как сервера, так и получателя, но они приводят к затратам, которые часто не могут быть оправданы получателем, даже если эти затраты невелики. Альтернатива для отправителя - зашифровать данные, подлежащие передаче, и затем посылать зашифрованные данные по сети. Однако, опять же, получатель должен иметь аппаратные обрабатывающие ресурсы, вместе с памятью, чтобы сделать возможным расшифровывание зашифрованных данных с помощью соответствующего программного обеспечения. Кроме того, в ситуациях, когда устройство получателя имеет относительно слабые ресурсы аппаратных средств, привлечение значительных ресурсов для обеспечения безопасной передачи данных часто не реально. Использование сложных способов шифрования и дешифрования требует установки на аппаратуре отправителя и аппаратуре получателя специального программного обеспечения. Это является как неудобным, так и дорогостоящим. Кроме того, процедура установки может быть сложна, требовать много времени и может вызывать конфликты с другим программным обеспечением на соответствующей аппаратуре. Кроме того, дополнительное программное обеспечение может требовать уровня загрузки процессора, который является недоступным для аппаратуры, и может занимать значительное пространство памяти, что особенно актуально в вышеупомянутом случае мобильных устройств. Из вышеизложенного ясно, что известные способы и системы для безопасной передачи данных требуют значительных накладных расходов, таких как существенные ресурсы вычислительных средств и локальной памяти. Это, очевидно, не пригодно в тех ситуациях, когда отправитель и/или получатель имеют аппаратуру с существенно ограниченными вышеупомянутыми техническими ресурсами. Поэтому имеется потребность в способе и системе безопасной передачи данных, которые могут уменьшать уровень технических ресурсов, требуемых аппаратурой получателей и/или отправителя. Также, в случае использования системы шифрования с открытым/секретным ключами, отправитель должен быть уверен, что открытый ключ, который, как предполагается, принадлежит получателю, не был заменен открытым ключом постороннего. Согласно одному аспекту настоящего изобретения, предлагается способ шифрования и передачи данных между отправителем и получателем, с использованием сети, включающий получение сервером идентификатора получателя от отправителя; создание ключа шифрования, предназначенного для данной конкретной передачи; шифрование данных с использованием этого ключа шифрования; доступ сервера к индивидуальной информации получателя, соответствующей полученному идентификатору получателя, и шифрование индивидуальной информации получателя указанным ключом шифрования;-1 009997 передача зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем; получение сервером от получателя зашифрованного ключа шифрования; доступ сервера к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования и расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования. Предпочтительно, способ также включает установление линии связи между отправителем и сервером и посылку серверу упомянутого идентификатора получателя. В одной реализации способ также включает установление между отправителем и сервером связи,являющейся безопасной связью. В одном случае, способ также включает установление линии связи между отправителем и сервером при условии проверки сервером пароля отправителя. В другом варианте осуществления изобретения способ также включает установление линии связи между получателем и сервером и посылку серверу указанного идентификатора получателя. В одном случае способ также включает установление линии связи между получателем и сервером,являющейся безопасной связью. В частном случае, способ также включает установление между получателем и сервером линии связи при условии проверки сервером пароля получателя. Предпочтительно, создание ключа шифрования происходит у отправителя, и созданный ключ шифрования посылается серверу. В другом случае шифрование данных с использованием ключа шифрования происходит у отправителя. В конкретном варианте осуществления изобретения, отправитель получает от сервера зашифрованный ключ шифрования, и отправитель передает зашифрованные данные и зашифрованный ключ шифрования получателю по сети. В другом варианте осуществления изобретения, получатель получает от сервера расшифрованный ключ шифрования, и расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования происходит у получателя. В следующем варианте осуществления изобретения, создание ключа шифрования происходит на сервере. В частном случае, шифрование данных с использованием ключа шифрования происходит на сервере. В одном варианте осуществления изобретения, сервер передает зашифрованные данные и зашифрованный ключ шифрования получателю по сети. В другом варианте осуществления изобретения, расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования происходит на сервере, и сервер передает расшифрованные данные на получатель. Предпочтительно способ также включает посылку идентификатора получателя от отправителя к серверу. В другом варианте осуществления изобретения способ также включает посылку идентификатора получателя от получателя к серверу. Способ также включает установление значения кода аутентификации сообщения (message authentication code, MAC) для данных до шифрования; передачу значения MAC вместе с зашифрованными данными и зашифрованным ключом шифрования, предназначенным для данной конкретной передачи; и создание значения MAC для данных после расшифровывания и его проверку на достоверность путем сравнения с переданным значением MAC. В одном варианте осуществления изобретения, шифрование ключа шифрования использует одно или более из следующего: шифрование способом с открытым ключом, алгоритм blowfish, секретный код сервера. Согласно другому аспекту настоящего изобретения, обеспечивается способ работы сервера для шифрования и передачи данных между отправителем и получателем с использованием сети, этот способ включает получение от отправителя идентификатора получателя; доступ к индивидуальной информации получателя согласно полученному идентификатору получателя и шифрование индивидуальной информации получателя созданным для данной передачи ключом шифрования, который используется, чтобы зашифровать данные; получение от получателя зашифрованного ключа шифрования после того, как зашифрованные данные и зашифрованный ключ шифрования были переданы по сети для приема получателем, и доступ к индивидуальной информации получателя, чтобы расшифровать зашифрованный ключ шифрования.-2 009997 В одном варианте осуществления изобретения, способ работы сервера также включает создание на сервере ключа шифрования, предназначенного для данной конкретной передачи. В другом варианте осуществления изобретения, способ работы сервера также включает получение от отправителя ключа шифрования; и передачу зашифрованного ключа шифрования отправителю. Предпочтительно способ работы сервера также включает шифрование данных на сервере с использованием ключа шифрования. В другой предпочтительной реализации, способ работы сервера также включает передачу зашифрованных данных и зашифрованного ключа шифрования по сети для получения получателем. Предпочтительно способ работы сервера также включает передачу получателю расшифрованного ключа шифрования. В другом варианте осуществления изобретения способ работы сервера также включает расшифровывание зашифрованных данных на сервере, с использованием расшифрованного ключа шифрования. Согласно другому аспекту настоящего изобретения предлагается компьютерный носитель данных для способа шифрования и передачи данных между отправителем и получателем с использованием сети,компьютерный носитель данных включает компьютерный код для получения от отправителя идентификатора получателя и для создания ключа шифрования; компьютерный код для шифрования данных с использованием ключа шифрования; компьютерный код для доступа к индивидуальной информации получателя согласно полученному идентификатору получателя, и шифрование с помощью индивидуальной информации получателя упомянутого ключа шифрования; компьютерный код для передачи зашифрованных данных и зашифрованного ключа шифрования по сети для получения получателем; компьютерный код для получения от получателя зашифрованного ключа шифрования и для доступа к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования; и компьютерный код для расшифровывания зашифрованных данных с использованием расшифрованного ключа шифрования. Пример настоящего изобретения будет теперь описан со ссылками на прилагаемые чертежи, на которых фиг. 1 показывает упрощенную схему системы, использующей способ шифрования и передачи данных между отправителем и получателем с использованием сети согласно настоящему изобретению; фиг. 2 - упрощенную блок-схему взаимодействия модулей сервера, показанного на фиг. 1; фиг. 3 - схему процессов у отправителя и на сервере согласно настоящему изобретению при посылке данных от отправителя на сервер; фиг. 4 - схему процессов у отправителя и на сервере в ответ на сообщение электронной почты, полученное от сервера. Обратимся теперь к фиг. 1 и 2, которые показывают систему, использующую одну реализацию способа шифрования и передачи данных между отправителем и получателем с использованием сети. На данных чертежах система работает, чтобы зашифровать и передать данные между аппаратурой 100 отправителя и аппаратурой 200 получателя. В этом примере аппаратура 100 отправителя включает компьютер 101, связанный с клавиатурой 107, источник 108 данных и внешний дисплей 105. Источник данных может включать дисковое устройство чтения некоторого вида или интерфейс связи с библиотекой данных, источник данных, накапливающий данные, передаваемые получателю. Компьютер 101 имеет шину 106 общего доступа, соединенную с микропроцессором 102, памятью 103, интерфейсом 104 дисплея, интерфейсом 109 устройств ввода и веб-броузером 110 для соединения с Интернетом через соединение 111. Интерфейс 104 дисплея связан с внешним устройством 105 дисплея, тогда как интерфейс 109 устройств ввода связан с клавиатурой 107 и источником 108 данных. Память 103 обычно хранит идентификатор (ID) отправителя и пароль отправителя, хотя они могут быть введены через клавиатуру 107 в ответ на побуждающий запрос на устройстве 105 дисплея. В этом примере аппаратура 200 получателя включает мобильный телефон, имеющий способность выхода в Интернет через веб-броузер 210, соединенный с Интернетом через соединение 211. Подробности того, как устанавливается такая связь, широко известны и здесь не описываются. Вебброузер связан с шиной 206 общего доступа, соединенной с микропроцессором 202, памятью 203, интерфейсом 204 дисплея и интерфейсом 209 устройства ввода. Интерфейс 204 дисплея связан с встроенным устройством 205 отображения, тогда как интерфейс устройства 209 ввода связан с встроенной клавиатурой 207. Память 203 обычно хранит идентификатор получателя и пароль получателя, хотя они могут быть введены через клавиатуру 207 в ответ на показ побуждающего запроса на устройстве 205 дисплея. Аппаратура 200 также включает почтового (email) клиента 212 для посылки и получения сообщений электронной почты через соединение 213 с Интернетом.-3 009997 Сервер 300 также связан с Интернетом через соединение 302. Подробная блок-схема структуры сервера показана на фиг. 2. Эта структура сервера будет пояснена при описании работы системы согласно настоящему изобретению. Как отправитель, так и получатель до использования системы, показанной на фиг. 1 и 2, сначала регистрируются сервером 300, и их данные хранятся в модуле 305 базы данных сервера. В этой реализации хранимые данные включают, по меньшей мере, идентификатор и пароль для каждого отправителя и получателя. Отправитель желает передать получателю данные, содержащиеся в источнике 108 данных. Чтобы отправитель мог передать данные, отправитель должен знать идентификатор получателя и веб-адрес сервера 300. Эта информация может хранится в памяти 103 отправителя, или может быть вручную введена через клавиатуру 107 в ответ на побуждающее сообщение на устройстве 105 отображения. Как показано на фиг. 2, сервер 300 включает веб-сервер 301 связанный с Интернетом через соединение 302. Веб-сервер связан со входной шиной 303 и управляется микропроцессором 304. Когда отправитель входит в контакт с адресом веб-сервера, устанавливается безопасная связь типа SSL связи, подробности которой известны специалистам. Микропроцессор 304 не позволяет осуществить доступ отправителя к настоящей системе, пока модулем 305 не будет выполнена проверка пароля в сочетании с доступом к модулю базы данных 306. Подробности подобных проверок пароля известны специалистам и поэтому здесь не описаны. После выполнения проверки пароля сервер 300 посылает отправителю экранную форму. Заполняя эту форму, отправитель посылает серверу уникальный идентификатор получателя вместе с данными для передачи, которые получены из источника 108 данных. Эти функции выполняются модулями в верхней части чертежа. По получении идентификатора получателя и данных, которые будут посланы, микропроцессор 304 сервера пересылает данные к модулю 307 генератора кода аутентификации сообщения (message authentication code, MAC). Как известно, такой генератор производит код, который вычисляется с использованием части данных или всех данных в комбинации с алгоритмом криптографического дайджеста. В данном случае используется известный алгоритм хеширования MD, чтобы произвести из данных хеш-значениеMD. Хеш-значение MD направляется почтовому клиенту 312, связанному с Интернетом через соединение 316 так, чтобы быть готовым к обработке в блоке электронной почты. Полученные данные сжимают (упаковывают) в модуле 308 перед шифрованием модулем 309 с использованием ключа сессии, полученного от модуля 310. Как известно, ключ сессии генерируется из случайного числа, порождаемого генератором 311 случайных чисел. Этот ключ сессии определен именно для этих данных и этой передачи, и таким образом является предназначенным для данной конкретной передачи ключом шифрования. Зашифрованные данные последовательно направляются почтовому клиенту 312, готовые к выполнению обработки в блоке электронной почты. Ключ сессии от модуля 310 также шифруется в модуле 313 с использованием открытого ключа по методу шифрования с открытым/секретным ключами, например шифрования RSA, которое является достаточно известным. Затем выходные данные модуля 313 также шифруется в модуле 314 с использованием алгоритма blowfish, который включает пароль получателя, полученный из базы 306 данных. Этот пароль представляет собой выходные данные, соответствующие идентификатору получателя, направленному от микропроцессора по шине 315. Зашифрованный ключ сессии направляется почтовому клиенту 312, готовому к обработке в блоке электронной почты. Почтовый клиент 312 известным способом обрабатывает хеш-значение MD, зашифрованные данные и зашифрованный ключ сессии, чтобы восстановить сообщение электронной почты, которое было послано по соответствующему адресу получателя, заданному микропроцессором на шине 315 после доступа к базе данных 306. Известным способом почтовый клиент назначает уникальную метку сообщению электронной почты и регистрирует ее посылку. Подтверждение посылки сообщения электронной почты также посылается отправителю с использованием либо веб-сервера 301, либо почтового клиента 312. Сообщение электронной почты, которое послано сервером 300, может быть получено обычным способом почтовым клиентом 212 мобильного телефона 200. Содержимое сообщения электронной почты либо уведомляет получателя о передаче данных с использованием системы согласно настоящему изобретению, либо автоматически активизирует веб-броузер 210, чтобы инициировать связь с сервером 300. В любом случае под управлением микропроцессора 202 получатель входит в контакт с веб-адресом сервера, и устанавливается безопасная связь, типа SSL связи, подробности которой известны специалистам. Микропроцессор сервера 304 не позволяет осуществить доступ к настоящей системе, пока модулем 305 не будет закончена проверка пароля в сочетании с доступом к модулю базы 306 данных. Подробности таких проверок пароля известны и поэтому здесь не описаны. Только после успешного завершения проверки пароля зашифрованные данные, зашифрованный ключ сессии и хеш-значение MD, содержащиеся в сообщении электронной почты, посылаются по безопасной связи серверу 300 через веб-сервер 301. Эти функции выполняются модулями, показанными в нижней части чертежа. Очевидно, что, если выбранный способ посылки и чтения сообщения электронной почты является веб-почтой, то отдельный почтовый клиент 213 не нужен.-4 009997 По получении зашифрованного ключа сессии микропроцессор 304 сервера направляет его модулю 320, который применяет обратный алгоритм blowfish в комбинации с паролем получателя, который получен из базы данных 306 по шине 315 в соответствии с идентификатором получателя. Выходные данные модуля 320 затем расшифровываются в модуле 321 с использованием секретного ключа шифрованияRSA, использованного для отправки данных. Посредством этих модулей воспроизводится исходный ключ сессии модуля 310. Принятые зашифрованные данные, находящиеся в упакованном виде, расшифровывают в модуле 323 с использованием расшифрованного ключа сессии до их распаковки в модуле 324. Как и в случае модуля 307 в модуле 325 из расшифрованных и распакованных данных под управлением микропроцессора 324 генерируется хеш-значение MD, а модуль 326 выполняет проверку, сравнивая вновь сгенерированное хеш-значение MD с хеш-значением MD, принятым от получателя, чтобы удостовериться, что эти значения совпадают. Если хеш-значение MD прошло проверку на достоверность в модуле 326, расшифрованные данные из модуля 324 посылают обратно получателю по безопасной линии связи. Фиг. 3 показывает процессы, происходящие у отправителя и на сервере при отправке данных от отправителя на сервер согласно изобретению. Начинается с того, что отправитель хочет передать конкретные данные конкретному получателю,имеющему известный идентификатор получателя. На шаге S1A отправитель входит в контакт с сервером в попытке установить безопасную линию связи, например SSL. Установление этой линии связи связано с запуском определенных протоколов соединения и вышеупомянутой проверкой пароля, и может иметь форму отображения веб-страницы на устройстве 105 отображения, с вводом соответствующих данных регистрации на веб-странице и т.д. Как упомянуто выше, установление такой линии связи и проверка пароля достаточно известны и здесь подробно не описываются. Сервер, в ответ на контакт от отправителя, также пробует на шаге S1B установить линию связи, запуская определенные протоколы связи и вышеупомянутую проверку пароля. Затем на шаге S2B сервер проверяет, была ли установлена надежная линия связи, то есть были ли выполнены все протоколы связи и пройдены все проверки пароля. Если связь не была установлена, или проверка пароля потерпела неудачу, сервер переходит к шагу S3B обработки ошибки. Такой шаг может включать дальнейшие попытки установить линию связи. Если надежная линия связи установлена, процесс переходит к шагу S4B ожидания получения идентификатора получателя и данных, подлежащих передаче. Если требуется, в этой точке может быть включен шаг предельного времени ожидания. У отправителя проверка выполняется на шаге S2A, чтобы также видеть, была ли установлена надежная линия связи, то есть все ли протоколы связи были выполнены и все ли проверки пароля пройдены. Если связь не была установлена или проверка пароля потерпела неудачу, отправитель переходит к шагу S3A обработки ошибки. Такой шаг может включать дальнейшие попытки установить линию связи. Если надежная линия связи установлена, процесс перемещается к шагу S4A, чтобы послать идентификатор получателя и данные, которые подлежат передаче. Если требуется, в этой точке может быть включен шаг предельного времени ожидания. В одном примере, веб-страница передачи данных отображается на устройстве 105 дисплея, требуя ввода идентификатора получателя и прилагаемых данных, например файла, расположенного у отправителя данных 108. Завершенная страница передаваемых данных затем посылается серверу 300. Очевидно,что данные, которые будут зашифрованы, могут быть введены непосредственно в страницу передачи данных. Содержимое страницы передачи данных принимается сервером 300 на шаге S4B, после чего процесс переходит к шагу S5B. На этом шаге сервер производит оценку хеш-значения MD, уникального для данных, и направляет это значение почтовому клиенту 312, после чего процесс переходит к шагу S6B. На шаге S6B данные упаковывают, например, с использованием алгоритма ZIP. Затем на шаге S7B от генератора 311 случайных чисел принимается случайное число, чтобы сформировать ключ сессии,который задан именно для этой передачи данных. После этого на шаге S8B данные зашифровываются с использованием этого ключа сессии, и зашифрованные данные направляются почтовому клиенту 312. Процесс далее переходит к шагу S9B, на котором ключ сессии зашифровывается с использованием открытого ключа RSA. Далее процесс переходит к шагу S10B, чтобы восстановить пароль получателя,после чего на шаге S11B результат шага S9B зашифровывается по алгоритму blowfish, с использованием пароля, восстановленного на шаге S10B. Результирующий зашифрованный ключ сессии затем направляется почтовому клиенту 312. На следующем шаге S12B сообщение электронной почты формируется известным способом почтовым клиентом 312 в соответствующем формате для передачи посредством HTML, например, с использованием кодировки Base 64. Может также иметься HTML файл приложения или встроенный код HTML для зашифрованных данных и зашифрованного ключа сессии. Затем посылается сообщение электронной почты, посылка сообщения электронной почты регистрируется обычным способом, и отправителю посылается подтверждение, после чего процесс заканчивается. Очевидно, что сообщение электронной почты содержит хеш-значение MD, зашифрованные данные-5 009997 и зашифрованный ключ сессии, предпочтительно как скрытые поля. Сообщение электронной почты предпочтительно также включает HTML-ссылку, позволяющую получателю соединиться с сервером. Эта ссылка сконфигурирована так, чтобы автоматически предоставить обратно на сервер скрытые поля формы HTML. Заголовок темы сообщения электронной почты выбран отправителем, и сообщение электронной почты адресуется на email-адрес получателя. На шаге S5A отправитель получает подтверждение посылки сообщения электронной почты и процесс заканчивается. Фиг. 4 показывает процессы, происходящие у получателя и на сервере в ответ на сообщение электронной почты, полученное от сервера. На шаге S101A получатель 200 принимает от сервера сообщение электронной почты, которое содержит, среди прочего, зашифрованные данные, зашифрованный ключ сессии и хеш-значение MD. Сообщение электронной почты может быть получено с использованием веб-почты или с использованием почтового клиента 212 по соединению 213. На шаге S102A получатель открывает сообщение электронной почты и входит в контакт с сервером в попытке установить безопасную линию связи, например, SSL. Аналогично вышеописанному, установление этой связи связано с запуском определенных протоколов соединения и проверкой пароля, аналогичной рассмотренной выше в отношении модуля 305, и может иметь форму отображения веб-страницы на устройстве 105 отображения, с вводом соответствующих данных регистрации на веб-странице и т.д. Как упомянуто выше, установление такой линии связи и проверка пароля достаточно известны и здесь подробно не описываются. Сервер, в ответ на контакт от получателя, также пробует на шаге S101B установить линию связи,выполняя определенные протоколы связи и вышеупомянутые проверки пароля. Затем на шаге S102B сервер проверяет, была ли выполнена надежная связь, то есть были выполнены все протоколы связи и все проверки пароля пройдены. Если связь не была установлена, или проверка пароля потерпела неудачу,сервер переходит к шагу S103B обработки ошибок. Такой шаг может включать дальнейшие попытки установить линию связи. Полагая, что надежная линия связи установлена, процесс переходит к шагуS104B ожидания получения идентификатора получателя и другой информации, включающей зашифрованные данные, зашифрованный ключ сессии и хеш-значение MD. В этой точке, если требуется, может быть включен шаг предельного времени ожидания. У получателя на шаге S103A также выполняется проверка, была ли установлена надежная связь, то есть были выполнены все протоколы связи, и прошли все проверки пароля. Если связь не была установлена, или проверка пароля потерпела неудачу, отправитель переходит к шагу S104A обработки ошибок. Такой шаг может включать дальнейшие попытки установить линию связи. В этой точке, если требуется,может быть включен шаг предельного времени ожидания. Полагая, что надежная линия связи установлена, процесс переходит к шагу S105A, посылая идентификатор получателя и другую упомянутую в предыдущем абзаце информацию. Последняя может быть представлена в форме скрытых HTML полей в сообщении электронной почты, которые представлены серверу 300. Очевидно, что протокол может быть различным в части тайминга и способов посылки идентификаторов, скрытых полей, паролей и т.д., чтобы удовлетворить конкретным ситуациям. Процесс на сервере далее переходит к шагу S105B, чтобы извлечь пароль получателя из модуля 306, после чего на шаге S106B, зашифрованный ключ сессии расшифровывается по алгоритму blowfish, с использованием пароля, извлеченного на шаге S105B. Процесс далее переходит к шагу S107B RSA расшифровывания, на котором результат шага S106B расшифровывается с использованием секретного ключа сервера. Это позволяет получить ключ сессии. После этого процесс переходит к шагу S108B, на котором все еще упакованные данные расшифровывают с использованием расшифрованного ключа сессии, полученного на шаге S107B. После этого процесс перемещается к шагу S109B, на котором производится распаковка данных. На следующем шаге, S110B, сервер вычисляет хеш-значение MD, уникальное для данных шагаS109B. После этого на шаге S111B хеш-значение MD из шага S110B сверяется с хеш-значением MD, полученным на шаге S104B. Если хеш-значение MD прошло проверку на достоверность, процесс переходит к шагу S113B, и теперь незашифрованные данные отправителя направляются получателю по безопасной линии связи. Посылка этих данных регистрируется и процесс заканчивается. Если хеш-значениеMD не достоверно, процесс ответвляется к шагу S112B обработки ошибок. Это может включать фиксацию ошибки и посылку сообщения об ошибке получателю, чтобы указать, что данные, возможно, были искажены или компрометированы. На шаге S106A получатель получает незашифрованные данные и процесс оканчивается. В реализации изобретения, описанной выше, процессы шифрования и расшифровывания выполняются на сервере 300. Таким образом, отправитель и получатель не нуждаются в каком-либо специальном программном обеспечении, чтобы быть способными безопасно посылать или получать данные. В частности, не нужно иметь программное обеспечение или использовать память аппаратных средств и ресурсы обработки, использовать шифрование RSA и шифрование blowfish. Кроме того, доступ к паролям производится на сервере, и пароли не должны сообщаться отправителю. Кроме того, поскольку шифрование и расшифровывание имеют место на сервере, отправителю или получателю не нужны специальные меры,-6 009997 необходимые для шифрования и расшифровывания. Однако настоящее изобретение также охватывает альтернативу, в которой функции, показанные в пределах прямоугольника 317 на фиг. 2, обеспечиваются у отправителя. То есть, в этой модификации формирование ключа сессии генератором случайных чисел, упаковка данных и шифрование упакованных данных с помощью этого ключа сессии проводятся у отправителя. Однако, как и выше, с сервером устанавливается безопасная связь, но в этом случае серверу посылается только сгенерированный ключ сессии. После такой же проверки пароля, как и выше, модули S313 и S314 снова генерируют зашифрованный ключ сессии, который в этом случае возвращается отправителю. Зашифрованные данные, зашифрованный ключ сессии и хеш-значение затем направляются почтовому клиенту отправителя (не показан), который также связан с Интернетом. Этот почтовый клиент формирует сообщение электронной почты, как и выше, перед посылкой получателю. Как можно видеть, шаги от S5B до S8B, показанные на фиг. 3, теперь имеют место у отправителя. Это может уменьшать требования к обработке, накладываемые на сервер. Получатель получает сообщение электронной почты от его почтового клиента и может обрабатывать сообщение электронной почты, как показано на фиг. 4. Настоящее изобретение также охватывает альтернативу, в которой функции, показанные в пределах прямоугольника 322 на фиг. 2, обеспечиваются у получателя, как только сообщение электронной почты получено от сервера. То есть, в этой модификации расшифровывание данных, распаковка данных, генерация хеш-значения MD и проверка его достоверности - все это производится у получателя. Однако, как и выше, с сервером устанавливается безопасная связь, но в этом случае серверу посылается только зашифрованный ключ сессии. После такой же проверки пароля, как и выше, модули S320 и S321 снова расшифровывают ключ сессии, который в этом случае возвращается получателю. Зашифрованные данные расшифровываются с использованием расшифрованного ключа сессии, распаковываются, вычисляется хеш-значение MD и проверяется его достоверность путем сравнения с хеш-значением MD, полученным в сообщении электронной почты. Отсюда можно видеть, что шаги от S108B до S113, показанные на фиг. 4, теперь имеют место у получателя. Это может уменьшить требования к обработке, накладываемые на сервер. Следует отметить, что обе упомянутые выше модификации могут быть реализованы одновременно. Тем не менее, в соответствии с настоящим изобретением, шифрование ключа сессии в комбинации с паролем получателя происходит на сервере. Следует отметить, что при необходимости может быть зарегистрирована группа пользователей, получающих сообщения электронной почты. Например, отдел информационных технологий какой-либо фирмы может зарегистрировать всех служащих. В этом случае, когда проверка пароля на сервере терпит неудачу, можно использовать ссылку на другие пароли этой группы. В реализациях изобретения требуется специальное программное обеспечение, установленное у отправителя или получателя; как известно, оно может быть загружено с сервера в течение процесса регистрации и затем установлено. Следует отметить, что поскольку для расшифровывания требуется правильный пароль получателя,данные в алгоритме blowfish, и правильность расшифровывания эффективно проверяется правильностью хеш-значения MD, проверка пароля в течение связи между получателем и сервером на шаге 102 А может быть пропущена, если требуется. Следует также отметить, что, если расшифровывание оказалось неудачным, сервер 300 может быть настроен на выполнение дальнейших проверок, чтобы пытаться получить правильный пароль, например,просматривая старые пароли получателя и пробуя каждый из них по очереди для расшифровывания данных. Если один из этих паролей производит правильное хеш-значение MD, то расшифровывание считается успешным. Однако если ни один из паролей не работает, то получатель не является назначенным получателем, или данные были повреждены в течение передачи. Если получатель не имеет пароля и еще не зарегистрирован на сервере 300, то сервер может генерировать разовый пароль, который он посылает получателю любыми безопасными средствами, например, безопасной почтой или безопасной связью или безопасной электронной почтой, требуя от пользователя заменить его пароль на безопасный пароль, который будет использован в дальнейшем. С помощью настоящего изобретения может быть проверена подлинность как отправителя, так и получателя, так что отправитель может посылать данные получателю, у которого не установлено специальное программное обеспечение, так, чтобы получатель был уверен в происхождении данных. Кроме того,попытки шифрования и расшифровывания регистрируются, что может позволить отправителю проверить, получил ли и дешифровал ли получатель данные, и может позволить получателю проверять, были ли уже посланы данные, которые он ожидает получить. Аппаратура отправителя и получателя может быть разнообразной, не ограничивающий список включает, например, компьютер, персонального цифрового помощника или другое мобильное устройство, портативный компьютер, мобильный телефон. Сервер - это предпочтительно компьютер, хотя им также может быть и альтернативный тип вычислительного устройства. Очевидно, что в соответствии с настоящим изобретением, ни отправитель, ни получатель не знают-7 009997 пароли друг друга, поскольку пароли хранятся на сервере. Следовательно, уровень безопасности, требуемой от отправителя и получателя, не столь высок, как в других известных формах безопасной передачи данных. Согласно настоящему изобретению, сервер обеспечивает получателя определенной информацией,такой как пароль, которая используется сервером в процессе шифрования. Сервер получает эту информацию из хранилища данных, которое содержит список идентификаторов получателей и индивидуальную информацию получателя, которая является секретной. Индивидуальная информация получателя может включать пароль, контрольную фразу, PIN-код, значение хеш-функции или любую другую информацию, которую используют для проведения идентификации. Сеть, используемая настоящим изобретением, может быть сетью Интернет, местной интрасетью типа Ethernet, телефонной сетью, радиосетью, или сетью любого другого типа для передачи данных. Предпочтительно при использовании Интернета используется безопасная SSL связь между сервером и отправителем и/или между сервером и получателем. Отправитель и получатель могут быть идентифицированы сервером по их email адресам (или другим сетевым адресам). Однако, они могут также иметь идентификаторы пользователей, которые не связаны с их сетевыми адресами. Сервер может иметь список сетевых адресов в своей базе данных, и/или он может иметь список идентификаторов пользователей, где каждый сетевой адрес и/или идентификатор пользователя связан с секретной информацией, индивидуальной для получателя. В одной реализации настоящего изобретения сервер 300 может включать секретный код, уникальный для сервера и известный только серверу. Этот секретный код может быть включен в модули шифрования и дешифрования по алгоритму blowfish. Секретный код может использоваться при шифровании в дополнение к использованию индивидуальной информации получателя. Эти две части информации могут просто быть конкатенированы, чтобы использоваться в процессе шифрования. Использование секретного ключа обеспечивает повышенный уровень безопасности в системе. Следует отметить, что сервер не должен сохранять ключ сессии или любые из данных, посылаемых получателю. Они могут быть сохранены в оперативной памяти на сервере и перезаписаны, когда шифруются последующие данные и ключи. Преимущество состоит в том, что сервер не должен иметь большое количество памяти, доступной для хранения старых и, возможно, избыточных данных и/или ключей. Носитель данных может включать временный носитель, например электрический, оптический,микроволновый, радиочастотный, электромагнитный, акустический или магнитный сигнал (напримерTCP/IP сигнал поверх IP сети, такой как Интернет), или носитель типа дискеты, компакт-диск, жесткий диск или программируемое устройство памяти. Хотя изобретение было описано на примерах того, что является в настоящее время его предпочтительной реализацией, очевидно, что могут быть сделаны различные изменения предпочтительных реализаций без того, чтобы отойти от сути изобретения, которая определена формулой изобретения. Настоящее изобретение может найти применение, например, у поставщиков услуг мобильной телефонии, которые могут рассылать ежемесячные счета пользователям мобильных телефонов безопасным способом,соединяя пользователя мобильного телефона с сервером для получения зашифрованного сообщения. Аналогично, банки могут распространять подробности о поступающих платежах для своих клиентов,которые могут просто соединяться с сервером, как описано выше, чтобы извлечь такую информацию,распространяемую безопасным способом. ФОРМУЛА ИЗОБРЕТЕНИЯ 1. Способ шифрования и передачи данных между отправителем и получателем с использованием сети, включающий получение сервером идентификатора получателя от отправителя; создание ключа шифрования, предназначенного для данной конкретной передачи; шифрование данных с использованием этого ключа шифрования; доступ сервера к индивидуальной информации получателя согласно полученному идентификатору получателя и шифрование указанного ключа шифрования с помощью индивидуальной информации получателя; передача зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем; получение сервером от получателя зашифрованного ключа шифрования; доступ сервера к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования и расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования. 2. Способ по п.1, включающий установление линии связи между отправителем и сервером и посылку серверу указанного идентификатора получателя. 3. Способ по п.2, включающий установление линии связи между отправителем и сервером как-8 009997 безопасной линии связи. 4. Способ согласно п.2 или 3, включающий установление линии связи между отправителем и сервером при условии проверки сервером пароля отправителя. 5. Способ по любому из предшествующих пунктов, включающий установление линии связи между получателем и сервером и посылку серверу указанного идентификатора получателя. 6. Способ по п.5, включающий установление линии связи между получателем и сервером как безопасной линии связи. 7. Способ по п.5 или 6, включающий установление линии связи между получателем и сервером при условии проверки сервером пароля получателя. 8. Способ по любому из предшествующих пунктов, в котором создание ключа шифрования, предназначенного для данной конкретной передачи, происходит у отправителя, и созданный ключ шифрования посылают на сервер. 9. Способ по любому из предшествующих пунктов, в котором шифрование данных с использованием указанного ключа шифрования происходит у отправителя. 10. Способ по п.9, в котором отправитель получает от сервера зашифрованный ключ шифрования,предназначенный для данной конкретной передачи, и отправитель передает зашифрованные данные и указанный зашифрованный ключ шифрования получателю по сети. 11. Способ по любому из пп.1-7, в котором получатель получает от сервера расшифрованный ключ шифрования, предназначенный для данной конкретной передачи, и расшифровывание зашифрованных данных с использованием указанного расшифрованного ключа шифрования происходит у получателя. 12. Способ по любому из пп.1-7, в котором создание ключа шифрования, предназначенного для данной конкретной передачи, происходит на сервере. 13. Способ по п.12, в котором шифрование данных с использованием указанного ключа шифрования происходит на сервере. 14. Способ по п.13, в котором сервер передает зашифрованные данные и зашифрованный ключ шифрования получателю по сети. 15. Способ по любому из пп.1-10 и 12-14, в котором расшифровывание зашифрованных данных с использованием расшифрованного ключа шифрования происходит на сервере и сервер передает расшифрованные данные получателю. 16. Способ по любому из предшествующих пунктов, включающий посылку идентификатора получателя от отправителя на сервер. 17. Способ по любому из предшествующих пунктов, включающий посылку идентификатора получателя от получателя на сервер. 18. Способ по любому из предшествующих пунктов, включающий создание значения кода аутентификации сообщения (MAC) для данных до их шифрования; передачу значения MAC вместе с зашифрованными данными и зашифрованным ключом шифрования и создание значения MAC для данных после их расшифровывания и его проверку на достоверность путем сравнения с переданным значением MAC. 19. Способ по любому из предшествующих пунктов, в котором при шифровании ключа шифрования, предназначенного для данной конкретной передачи, используют одно или более из следующего: способ шифрования с открытым ключом, алгоритм blowfish и секретный код сервера. 20. Способ работы сервера для шифрования и передачи данных между отправителем и получателем с использованием сети, включающий получение идентификатора получателя от отправителя; доступ к индивидуальной информации получателя согласно полученному идентификатору получателя и шифрование с помощью индивидуальной информации получателя ключа шифрования, который предназначен для данной конкретной передачи и используется, чтобы зашифровать данные; прием от получателя зашифрованного ключа шифрования после того, как зашифрованные данные и зашифрованный ключ шифрования переданы по сети для приема получателем, и доступ к индивидуальной информации получателя для расшифровывания зашифрованного ключа шифрования. 21. Способ по п.20, включающий создание на сервере ключа шифрования, предназначенного для данной конкретной передачи. 22. Способ по п.20, включающий получение от отправителя ключа шифрования, предназначенного для данной конкретной передачи; и передачу зашифрованного ключа шифрования, предназначенного для данной конкретной передачи, отправителю. 23. Способ по одному из пп.20-22, включающий шифрование данных на сервере с использованием указанного ключа шифрования. 24. Способ по любому из пп.20-23, включающий передачу зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем.-9 009997 25. Способ по любому из пп.20-24, включающий передачу расшифрованного ключа шифрования,предназначенного для данной конкретной передачи, получателю. 26. Способ по любому из пп.20-24, включающий расшифровывание зашифрованных данных на сервере с использованием расшифрованного ключа шифрования, предназначенного для данной конкретной передачи. 27. Компьютерный носитель данных для способа шифрования и передачи данных между отправителем и получателем с использованием сети, включающий компьютерный код для приема от отправителя идентификатора получателя и для создания ключа шифрования, предназначенного для данной конкретной передачи; компьютерный код для шифрования данных с использованием указанного ключа шифрования; компьютерный код для доступа к индивидуальной информации получателя согласно принятому идентификатору получателя и для шифрования, с использованием индивидуальной информации получателя, упомянутого ключа шифрования; компьютерный код для передачи зашифрованных данных и зашифрованного ключа шифрования по сети для приема получателем; компьютерный код для приема от получателя зашифрованного ключа шифрования, предназначенного для данной конкретной передачи, и для доступа к индивидуальной информации получателя, чтобы расшифровать зашифрованный ключ шифрования, и компьютерный код для расшифровывания зашифрованных данных с использованием расшифрованного ключа шифрования.
МПК / Метки
МПК: H04L 9/08
Метки: получателем, отправителем, использованием, данных, шифрования, сети, способ, между, передачи
Код ссылки
<a href="https://eas.patents.su/13-9997-sposob-shifrovaniya-i-peredachi-dannyh-mezhdu-otpravitelem-i-poluchatelem-s-ispolzovaniem-seti.html" rel="bookmark" title="База патентов Евразийского Союза">Способ шифрования и передачи данных между отправителем и получателем с использованием сети</a>
Предыдущий патент: Проекционный экран и способ его изготовления
Следующий патент: Способ и устройство для получения изображений в пространстве
Случайный патент: 2-(3,5 -бис-трифторметилфенил)-n-[6-(1,1-диоксо-1лямда6-тиоморфолин-4-ил)-4-(2- метил- или 4-фтор-2-метил) фенилпиридин-3-ил]-n-метилизобутирамид