Шифрование полей в документах
Notes позволяет ограничивать доступ к определенным полям в документах посредством шифрования (encryption) их содержимого. Шифрование - кодирование данных так, чтобы только те пользователи, которые имеют ключ, могли эти данные читать. Встречаются системы шифрования с одним ключом ("симметричная" система) и с двумя (личным и публичным) ключами ("асимметричная" система).
В первом случае один и тот же ключ используется и для кодирования, и для декодирования информации. Обе стороны должны знать тот же самый ключ. Этот метод неудобен при передаче почты в больших сетях, где пользователи могут и не знать друг друга лично. Но он удобен в случае использования зашифрованных документов из одной базы ограниченным кругом лиц, каждому из которых можно предоставить ключ шифрования. В Notes "на этом поприще" используется криптосистема с одним ключом DES (Data Encryptions System), разработанная фирмой IBM по заказу правительства США и считающаяся одной из наиболее "быстрых".
Во втором случае один из пары ключей используется для кодирования, а другой для декодирования информации. В Notes "на этом поприще" используется криптосистема RSA с двумя ключами. Эта криптосистема была изобретена в 1977 году тремя профессорами Ronald Rivest, Adi Shamir и Leonard Adelman (отсюда и аббревиатура RSA) из MIT, впоследствии основавшими компанию RSA Data Security Inc. в Redwood City, Калифорния. В криптосистеме RSA каждому субъекту (пользователю, серверу) назначается уникальная пара ключей: личный (private) ключ, который этот субъект хранит в тайне, и публичный (public) ключ, который, напротив, должен быть известен многим. Данные, зашифрованные одним из пары ключей, могут быть расшифрованы только при наличии другого ключа из этой пары.
Личный ключ хранится только в ID-файле субъекта. Публичный ключ хранится и в ID- файле субъекта, и в общей адресной книге. Любой пользователь сети Notes может отправить для пользователя Х сообщение, зашифрованное публичным ключом пользователя Х, ибо общая адресная книга с этим ключом общедоступна. Только пользователь Х может расшифровать это сообщение, ибо только в его ID-файле хранится его личный ключ. При регистрации нового пользователя в общую адресную книгу добавляется его публичный ключ. Пользователь без публичного ключа в адресной книге вообще не может получить шифрованную почту.
В Notes для шифрования используются обе криптосистемы (RSA и DES), причем во многих случаях комбинированно. Алгоритмы шифрования полей документа и шифрования почтового сообщения различны.
Информация в полях документов, хранимых в базах данных Notes, шифруется по схеме с одним ключом. Ключи шифрования (encryption keys) создаются пользователями и сохранятся в ID-файлах пользователей. Информация в документах и шифруется, и дешифрируется одним и тем же ключом шифрования. Чтобы иметь доступ к зашифрованной информации, нужно иметь в ID-файле соответствующий ключ. Ключи шифрования также могут быть ограниченно распространены среди группы пользователей, имеющих доступ к зашифрованной этими ключами информации (по аналогии с ключами от рабочих помещений). Таких ключей может быть создано много, каждый для своего специального применения. Чтобы "отличать" ключи друг от друга, все ключи "внутри" одного ID-файла имеют уникальное имя.
Кроме того, информация в одном документе может быть зашифрована сразу несколькими ключами шифрования, которые находятся в ID-файле "шифрующего" документ. Для дешифрирования информации в документе достаточно наличия в ID-файле только одного из использованных при шифровании ключей. Для "запоминания" этого момента полезна аналогия с комнатой, имеющей три двери: три ключа необходимы, чтобы запереть все двери, но только один ключ необходим, чтобы войти в комнату. А в качестве примера целесообразного использования можно предложить следующий. В подразделении два отдела. Отдел А имеет ключ шифрования "КлючА", а отдел В - "КлючВ". Руководство подразделения, в который входят эти отделы, имеет оба ключа "КлючА" и "КлючВ". Если документ создан в отделе А и зашифрован ключом "КлючА", к информации в нем могут получить доступ только имеющие "КлючА" - отдел А и руководство подразделения, но не отдел В. Если документ создан в отделе В и зашифрован ключом "КлючВ", к информации в нем могут получить доступ только имеющие "КлючВ" - отдел В и руководство подразделения, но не отдел А. Если же документ был создан в подразделении и был зашифрован обоими ключами "КлючА" и "КлючВ", к информации в нем могут получить доступ как в подразделении, так и в отделе А (имея "КлючА") и в отделе В (имея "Ключ В").
Итак, для обеспечения шифрования документов необходимы три шага: создание ключа и распространение его среди группы пользователей, создание в документе шифруемых полей и назначение ключа для документа.