相关疑难解决方法(0)

生成一些数据的防篡改签名?

我有一个数据.目前,它是一个XML文件,但架构可能会发生变化.所以我们暂时假设它是一个C#类.

当我将数据存储在磁盘或数据库中时,我需要添加某种签名或指纹或校验和或其他任何内容,以确保没有人可以修改数据.警告:即使是有权访问所有源代码的管理员或开发人员也不应该修改它.

我假设由于具有完全代码访问权限的人可以轻松地创建新签名(签名需要以编程方式完成,因此无需手动密码短语输入),签名在某种程度上需要包含一些其他数据.理想情况下,我应该能够从签名中提取这些数据,例如签名日期和一些字符串.

我的一般方法是使用对称加密.我从所有字段生成哈希,即SHA-512,然后使用哈希作为密码加密该哈希和我的附加数据以获取我的签名.要解密,我的函数会根据文件中的实际数据生成哈希值,并尝试解密签名.这不会是防篡改的,因为很容易生成签名日期和附加信息仍然完整的签名.

由于我不是该领域的专家,我相信我正在尝试重新发明轮子,而且它不是一个非常好的轮子.我只是想知道是否有一些标准方法?我相信我的部分请求是不可能的(毕竟,如果有人控制整个环境,那个人也会控制系统时间),但我仍然想知道这通常是如何解决的?

.net c#

6
推荐指数
1
解决办法
2329
查看次数

什么技术可以保护完全信任的用户的秘密?

我正在使用C#编程系统.我的程序生成一个我想要存储在硬盘上的小消息(文件的哈希摘要) - 但我不希望用户能够读取它.我打算加密这条消息,但有人建议这是一个不好的想法.

所以我正在寻找替代方案 - 您如何保护完全信任的用户的一些秘密信息?

c# security

6
推荐指数
3
解决办法
1244
查看次数

安全软件许可证使用审核日志

伙计们,

我们有一个有趣的技术挑战.如何编写一个跟踪软件使用情况的安全审计文件,以便许可证费用可以根据使用情况进行,从而使那些使用它的人更容易负担得起.

具体来说,TickZoom为对冲基金出售alpha代交易平台,目前每月需要2000美元才能获得许可,包括支持(将很快增加到两倍以上).这对机构来说很好,但对个人来说太贵了.个人经常要求更低的价格换取使用软件赚取的利润的百分比,直到他们能够支付固定费用为止.

我们喜欢这个提议.但我们需要一种可靠的方法来审核平台上实际产生的利润,以及通过删除或覆盖审计文件来阻止用户"游戏"它的方法,从而报告收益低于实际收益.

此应用程序是用C#编写的,系统的这一部分是混淆的,至少使解密代码变得困难.

另一个要求是针对每次发生的交易写入文件,以便在用户认为总费用存在差异的情况下允许更深入的审核.这样,个人贸易利润可以与经纪人的陈述进行比较.

当然,假设文件将被加密.

但任何关于如何使其"防篡改"的想法?特别是针对简单的删除尝试?

我的第一个猜测是让软件始终需要一个预先存在的审计文件,否则它将拒绝运行.

然后,当我们交付软件时,它会打包一个"空"审计文件,但事实上,它有某种防篡改验证.

用户可能试图"篡改"文件的下一个显而易见的技术是让某人简单地备份原始的"空"文件,然后用它来覆盖审计文件,从而欺骗系统认为这是一个新的开始.

也许这可以通过包含某种"最后更新时间戳"和到期时间来解决.

此外,欢迎完全不同的解决方案想法.在这种情况下,我们可能会被迫添加"电话回家"功能,以便交易记录到我们的中央服务器.但这似乎是不利的,并可能在关键任务应用程序中增加另一个失败点.一般来说,他们非常不喜欢"手机之家"功能,原因很明显.

真诚的,Waynek

c# security audit cracking

3
推荐指数
1
解决办法
748
查看次数

标签 统计

c# ×3

security ×2

.net ×1

audit ×1

cracking ×1