2016-01-06 5 views
2

У меня есть приложение WinForms, которое считывает данные из конфиденциального файла и выполняет вычисления с использованием этих данных. Чтобы сохранить конфиденциальную информацию с персональных компьютеров, мы решили переместить вычисления в веб-службу, где файл будет скрываться в защищенной папке и доступен только самой веб-службе.C# WinForms скрыть ключ шифрования

Из-за некоторых осложнений, похоже, может быть невозможно защитить пространство сервера в требуемые сроки, поэтому теперь мы хотим использовать шифрование для защиты файла, чтобы его можно было безопасно распределить по ПК.

Мой вопрос в том, что. Является ли можно зашифровать файл (один раз, поэтому предварительно зашифрованный файл будет прикреплен к проекту), а затем расшифровать файл для использования приложения, не раскрывая

  • секретной информации в файл
  • Ключ шифрования, используемый для дешифрования файла

Я знаю, что возможно генерировать исходный код из .exe-файла, поэтому я бы искал решение, которое имеет в виду это. Я новичок в такой разработке приложений, поэтому, пожалуйста, извините меня, если это глупый вопрос и что то, что я пытаюсь сделать, на самом деле невозможно.

Приветствия

+1

Нет, это невозможно, вам только трудно сделать эти две вещи. Вы не можете сделать это невозможным. Все, что вы можете сделать, это просто сделать это достаточно сложно, и это не стоит пытаться попробовать, и это требует денег (через специализированное программное обеспечение для обфускации и платит экспертам в этой области, чтобы посмотреть на ваш код и сделать его более безопасным) –

+0

@ScottChamberlain насколько мне известно, это прекрасный и правильный ответ. – CompuChip

+0

Одним из способов сделать это будет шифрование файла данных с помощью PGP. Однако это было бы громоздким, поскольку каждый пользователь должен был иметь свой собственный ключ PGP и зашифрованный файл. Например: Пользователь отправляет вам свой открытый ключ. Вы шифруете данные и отправляете их им. Затем они используют свой секретный ключ и кодовую фразу для дешифрования файла (в приложении, а не для сохранения на диске), и приложение использует дешифрованные данные для сеанса. Чтобы сделать это более безопасным, вы можете вставлять зашифрованные данные в приложение и вводить его публичный ключ и кодовую фразу во время выполнения. –

ответ

1

Нет, это не представляется возможным, вы можете только сделать это трудно сделать эти две вещи. Вы не можете сделать это невозможным. Все, что вы можете сделать, это просто сделать его достаточно сложным, и не стоит пытаться попробовать, и это требует денег (через специализированное программное обеспечение для обфускации и платит экспертам в этой области, чтобы посмотреть на ваш код и сделать его более безопасным)

+0

Спасибо - делает полный смысл и является тем видом ответа, которого я ожидал. Просто опубликовано, чтобы быть уверенным. Еще раз спасибо. –