P.Y. написав:У варіанті з підписом, очевидно, критично важливим є захист від підміни лише підпису, як і самого скрипта, а файл налаштувань може бути й зовсім без обмежень прав (які все одно можна обійти, але підміну все одно буде виявлено, якщо тільки криптоалгоритм не виявиться недостатньо надійним)?
Всі криптоалгоритми мають певний рівень стійкості, тобто час який потрібний на їх подолання, то може бути від секунд до тисяч років, але навіть цей показник не враховує ріст продуктивності заліза, тому ще варто окремо робити прогноз щодо зростання продуктивності та її доступність та на нього коригувати поточну стійкість алгоритму.
Щодо захисту скрипта, то тут вже окрема історія. Є таке поняття як ланцюг довіри. Де є точка з якої починається довіра.
Для прикладу, як функціонують системи ЕЦП: є наприклад мін'юст, у якого є кореневий сервер який той береже і на ньому підпис, яким він підписує сертифікати підписів центрів сертифікації, які в свою чергу підписують підписи вашої організації. То поки можна довіряти мін'юсту ви можете довіряти всьому ланцюгу і маючи лише вбудованим в софт пару до підпису мін'юста ви можете перевірити весь ланцюг: у центра сертифікації взявши сертифікат на підпис що перевіряєте та перевірити що він виданий ним, взявши вбудований сертифікат мін'юста перевірити підпис яким підписує центр сертифікації сертифікати на підписи що видає. Але якщо підпис мін'юста скомпроментований то скомпрометований весь ланцюг.
Ще один приклад, принцип Secure Boot. Є в uefi/bios вбудований сертифікат виробника процесора, яким той перевіряє сертифікат до підпису розробника award (чи іншого розробника uefi/bios) яким перевіряється цілісність bios/uefi якщо підпис справній, за допомогою сертифікату award перевіряється підпис розробника MS (чи іншої ОС) яким підписано заванажувач ОС і відповідно перевіряє цілісність завантажувача якщо підпис дійсний, за допомогою сертифікату підпису MS перевіряється підпис релізу ОС і якщо той дійсний перевіряється цілісність ядра та інших захищених компонентів включно зі сховищем сертифікатів підписів за допомогою яких перевіряються підписи вендорів (розробників драйверів) та розробників програмного забезпечення які потрібні для перевірки цілісность їх та якщо треба наступні рівні підписів якими можуть бути захищенні деякі компоненти.