拆卸C#

Sin*_*rMJ 7 c# security

我有一个关于C#的问题.

我目前正在研究医疗软件产品,其中一个重要的事情是确保患者的数据是加密的.我有两个问题:

1.)System.Security.Cryptography中的.NET(Rijndael)的Microsoft .NET实现有多安全?它是否有任何已知的安全漏洞,或者我只是使用MS实现?(注意,我知道这些算法如何工作的基本背景,但我并不是那么深入了解它是如何工作的).

2.)由于数据与应用程序存储在同一台PC上,从C#应用程序获取信息有多难?假设我在代码中的某个地方

string encrypPassword = "ThisIsMyPassword";
string encryptedString = EncryptString(ClearString, encrypPassword);
// save encryptedString to harddrive
Run Code Online (Sandbox Code Playgroud)

我知道攻击者可以直接进入汇编代码,此时我无法对此做任何事情(系统必须能够加密/解密数据),但有一个快捷方式C#获取encrypPassword,因为它是托管的,或者做这样的事情还需要你去编译汇编代码?

Cod*_*odo 5

如果您的应用程序中编译了固定密码,则无需关心AES的安全性和已知的安全故障,因为您的数据根本不安全.能够访问PC的知识渊博的人将能够解密所有数据.

找到固定密码通常不需要任何编程知识.一个好的十六进制编辑器在大多数情 您甚至不需要知道使用了什么编程语言.

如果您的数据由单个用户使用,则可以将患者数据的密码绑定到他或她的Windows密码(或帐户).Windows为此提供了一些特定的功能.有关如何从.NET访问它,请参见http://msdn.microsoft.com/en-us/library/aa302402.aspx.