ГОСТ Р 8.883-2015. Национальный стандарт Российской Федерации. Государственная система обеспечения единства измерений. Программное обеспечение средств измерений. Алгоритмы обработки, хранения, защиты и передачи измерительной информации. Методы испытаний
6.7. Проверка программного обеспечения средств измерений при использовании информационных технологий
6.7.1 Проверку ПО СИ и его алгоритмов при использовании в нем информационных технологий проводят с целью обеспечения функционирования этих технологий в соответствии с технической документацией, подлинности, целостности и необходимого уровня защиты ПО и данных от непреднамеренных и преднамеренных измерений.
Под проверкой ПО СИ при использовании информационных технологий понимается:
- проверка обновления (загрузки) ПО;
- проверка долговременного хранения данных и их передачи через сети коммуникации;
- проверка разделения ПО на метрологически значимую и незначимую части.
6.7.2 Проверка обновления (загрузки) программного обеспечения средств измерений
6.7.2.1 Проверку обновления (загрузки) ПО проводят при обнаружении и исправлении ошибок в ПО, при расширении/модификации его функций, при обновлении служебных программных модулей (драйверов, библиотек и т.п.).
6.7.2.2 Анализом документации и функциональными проверками убеждаются, что ПО было загружено с разрешения пользователя или владельца СИ. Если для распознавания пользователя или владельца СИ используют электронную подпись, она должна сохраняться в установленной части ПО СИ. Подлинность подписи, присоединенной к ПО, должна устанавливаться автоматически.
6.7.2.3 Тестированием (функциональными проверками) убеждаются, что загрузка и последующая инсталляция ПО осуществляется автоматически и что загрузка метрологически значимой части ПО производится в защищенную область ПО, при этом автоматически осуществляется проверка целостности и подлинности ПО и уничтожаются излишние файлы.
6.7.2.4 Анализом документации и функциональными проверками убеждаются, что ПО СИ, предусматривающее возможность обновления, содержит средства проверки подлинности загружаемого ПО. ПО может быть загружено только после успешной проверки его подлинности. Подлинность загружаемого ПО проверяют перед началом загрузки. В том случае, если проверка подлинности показала отрицательный результат, ПО прерывает загрузку с записью данных о попытке загрузки.
6.7.2.5 Проверка подлинности ПО и его принадлежности к СИ, прошедшему испытания с целью утверждения типа, осуществляется автоматической идентификацией метрологически значимой части. При этом генерируется контрольная сумма (электронная подпись) для загружаемой части ПО. Подлинность гарантирована, если контрольная сумма, сохраняемая в установленной части ПО, совпадает с контрольной суммой, зафиксированной при подтверждении соответствия ПО. Установление этого соответствия должно производиться автоматически.
6.7.2.6 Анализом документации и функциональными проверками убеждаются, что ПО СИ, предусматривающее возможность обновления, содержит средства проверки целостности загружаемого ПО, т.е. проверки того, что оно не было изменено в процессе загрузки. Проверка целостности загружаемого ПО обеспечивается, например, добавлением хеш-суммы (контрольной суммы) загружаемого обновления с проверкой значения контрольной суммы в начале и по окончании загрузки.
6.7.2.7 Целостность ПО проверяют путем вычисления контрольной суммы для метрологически значимой части ПО и ее сравнения с контрольной суммой, сохраненной в ПО после подтверждения его соответствия.
6.7.2.8 Если для облегчения загрузки было произведено снижение уровня защиты, то убеждаются, что после завершения загрузки уровень защиты автоматически восстанавливается до исходного уровня.
6.7.2.9 Тестированием (функциональными проверками) убеждаются, что процесс загрузки не влияет на функционирование метрологически значимых функций ПО СИ, при этом техническими средствами обеспечивается корректная работа ПО в процессе загрузки или приостановка его действия на период загрузки.
6.7.2.10 Вся информация об обновлении ПО фиксируется. Запись об обновлении создается при каждом его инициировании вне зависимости от его результата, а также вне зависимости от загружаемой части, т.е. вне зависимости от того, относится ли обновляемая часть к метрологически значимому ПО или не относится. К данным об обновлении, как минимум, относятся: дата загрузки, результат загрузки (успешно/ошибка, включая код ошибки), прежнее и новое значения идентификации, данные об источнике загрузки.
6.7.3 Проверка долговременного хранения данных и их передачи через сети коммуникации
6.7.3.1 Проверку долговременного хранения данных проводят в тех случаях, когда ПО СИ использует данные, полученные вне места проведения измерений, и когда возможны передача и хранение таких данных в незащищенной среде.
6.7.3.2 Анализом документации убеждаются в достоверности сохраняемых данных, при этом проверяют, что сохраняемые данные содержат необходимую информацию об измерениях, в процессе которых они были получены, т.е. что данные об измерениях, как минимум, содержат:
- измеренные значения, включая единицы измерения,
- время измерения,
- идентификацию СИ, которое было использовано для получения этих данных.
6.7.3.3 Анализом документации и проведением функциональных проверок убеждаются, что сохраняемые данные защищены с помощью средств, обеспечивающих их подлинность и целостность, при этом использование данных, полученных вне места проведения измерений, возможно только после успешной проверки и подтверждения их подлинности и целостности.
6.7.3.4 Для проверки отсутствия изменения данных вследствие физических эффектов вычисляют контрольную сумму по всему вводимому массиву данных, которую сравнивают с контрольной суммой, сохраняемой в проверяемом массиве.
6.7.3.5 Тестированием (функциональными проверками) убеждаются, что сохраняемые данные измерений не могут быть удалены без предварительного разрешения, при этом должно выводиться диалоговое сообщение или "окно" с запросом о подтверждении удаления.
6.7.3.6 Целостность данных проверяют повторным вычислением контрольной суммы по сохраняемому массиву данных и сравнением с сохраняемым номинальным значением перед повторным использованием данных. Если значения контрольных сумм совпадают, массив данных принимается и может быть использован, в противном случае он должен быть удален или помечен как неверный.
6.7.3.7 Для проверки корректности процедуры восстановления сохраняемых данных в том случае, если возникают сомнения в их достоверности после восстановления, массив данных считывается из устройства хранения или передачи программой, прошедшей подтверждение соответствия. Затем снова вычисляют контрольную сумму по всему массиву данных, которую сравнивают с сохраняемым номинальным значением. Если оба значения совпадают, данные признаются корректными, в противном случае данные не используются и удаляются или помечаются программой как неверные.
6.7.3.8 Тестированием (функциональными проверками) проверяют, что:
- каждый набор передаваемых данных имеет единственный идентификационный номер, который может содержать информацию о времени, когда измерение было выполнено (отметку времени);
- каждый набор передаваемых данных содержит информацию о происхождении данных измерения, т.е. регистрационный номер или идентификацию средства измерений, которое произвело измерение;
- в сети с неизвестными участниками набор данных имеет однозначную электронную подпись, при этом электронная подпись перекрывает все области набора данных (тем самым гарантируется их подлинность и целостность);
- приемник массива данных проверяет все данные на их подлинность и целостность.
6.7.3.9 С помощью технических средств имитируется ситуация, когда программа, принимающая данные, обнаруживает несоответствие между набором данных и номинальным значением контрольной суммы (электронной подписи). При этом убеждаются в том, что принимающая программа сначала пытается восстановить правильное значение контрольной суммы, если доступна избыточная (добавочная) информация. Если восстановление невозможно, то должно генерироваться соответствующее предупреждение пользователю, измеренное значение не выводится и устанавливается значок в искаженной области массива данных со значением "не действительно" или искаженный набор данных удаляется.
6.7.3.10 Для проверки функционирования средств защиты данных от прерывания передачи имитируют повреждение сети передачи данных, при этом убеждаются в том, что переданные данные не теряются.
6.7.4 Проверка разделения ПО на метрологически значимую и незначимую части
Проверка разделения ПО на метрологически значимую и незначимую части изложена в 6.2.