А откуда уверенность, что Ubuntu из, например, двух предложенных корневых систем выберет именно ложную?
Она же по понимает, что в случае наличия корневой системы на HDD и на bootable флешке (что является штатной ситуацией) использовать нужно именно файловую систему с флешки.
Использование Tails — это разумный подход с точки зрения безопасности.
Но нужно смотреть, что у него с usability.
В целом, данная статья — это демонстрация подхода на базе обновленной аппаратной платформы Рутокен ЭЦП Flash с применением ПО Рутокен. Выбор дистрибутива и его уровень его кастомизации — вопрос дискуссионный.
Вредоносный софт модифицирует файловую систему винды, и она «прикинется» корневой для Ubuntu?
Или злоумышленник подключит заранее настроенный HDD, который «обманет» Ubuntu, и она подмонтирует с него корневую файловую систему и запустит с нее приложение?
Такая модель угроз?
Ну про этот случай вы сами верно написали выше. Либо обязать пользователя каждый раз загружаться через boot-меню, либо таки защищать BIOS от несанкционированной модификации.
Насколько я знаю, на рынке есть решения, которые позволяют использовать тот же Рутокен ЭЦП для аутентификации в UEFI.
Сначала аутентифицируетесь в UEFI с помощью Рутокен ЭЦП Flash, потом загружаетесь с него же, потом им же аутентифицируетесь на web-сайте и им же подписываете документы.
Я думаю, что подобный комплексный подход осложнит жизнь злоумышленнику.
Прям так и 2000 руб.
На одну площадку покупаем один сертификат, но выясняется, что на другой его не принимают. А для сдачи отчетности оказывается нужен 3-ий сертификат. И не за 2000 руб, а дороже.
Нет единого пространства доверия, страдают пользователи.
Смотря какая подпись. Если нужна усиленная неквалифицированная, то она может стоить 0 руб. Но нужно создать четкий регламент ее арбитража и заставить его подписать всех участников системы. И потом считать накладные расходы. В итоге может получиться, что дешевле купить квалифицированную подпись в УЦ.
Считать файл, используя, например, объект FileReader из HTML5.
Примерно так:
readFile: function (file)
{
var defer = $q.defer();
var reader = new FileReader();
reader.onloadend = function ()
{
try
{
var binary = '';
var bytes = new Uint8Array(reader.result);
var len = bytes.byteLength;
for (var i = 0; i < len; i++) {
binary += String.fromCharCode(bytes[i]);
}
defer.resolve(binary);
} catch (e) {
defer.reject('Ошибка при чтении файла - ' + e);
}
};
reader.readAsArrayBuffer(file);
return defer.promise;
}
Затем вызвать функцию cmsEncrypt, которой передать для шифрования результат readFile.
Она же по понимает, что в случае наличия корневой системы на HDD и на bootable флешке (что является штатной ситуацией) использовать нужно именно файловую систему с флешки.
Но нужно смотреть, что у него с usability.
В целом, данная статья — это демонстрация подхода на базе обновленной аппаратной платформы Рутокен ЭЦП Flash с применением ПО Рутокен. Выбор дистрибутива и его уровень его кастомизации — вопрос дискуссионный.
Или злоумышленник подключит заранее настроенный HDD, который «обманет» Ubuntu, и она подмонтирует с него корневую файловую систему и запустит с нее приложение?
Такая модель угроз?
Насколько я знаю, на рынке есть решения, которые позволяют использовать тот же Рутокен ЭЦП для аутентификации в UEFI.
Сначала аутентифицируетесь в UEFI с помощью Рутокен ЭЦП Flash, потом загружаетесь с него же, потом им же аутентифицируетесь на web-сайте и им же подписываете документы.
Я думаю, что подобный комплексный подход осложнит жизнь злоумышленнику.
На одну площадку покупаем один сертификат, но выясняется, что на другой его не принимают. А для сдачи отчетности оказывается нужен 3-ий сертификат. И не за 2000 руб, а дороже.
Нет единого пространства доверия, страдают пользователи.
Примерно так:
Затем вызвать функцию cmsEncrypt, которой передать для шифрования результат readFile.