USB 防拷贝 U 盘-需要行业大佬们的建议

2018 年 12 月 31 日
 jaggerkyne
最近一个客户找到我们,提出了想要这样的一个资源分享方案。

USB 防拷贝技术,要求是放在 usb 里面的文件:主要是音频,视频,文件,图片最终客户可以看,但是不能够私自拷贝。文件格式主要是:mp3,mp4,pdf,ppt,jpg。u 盘必须是独立运行,不能让客户安装客户端(包括插进去后自动安装的 autorun,而且还得跨平台 windows 和 mac ),或者 viewer 之类的东西。

要求支持的平台有:苹果和安卓手机,mac 和 windows。

给的钱大约是 20WRMB,每月的订单为 2W 美金左右的订单。

看了目前所有市场上的我们能找到的方案,基本上就是在文件上加了一个类似播放器的壳,然后运用软件给壳来解锁。我们还发现有些方案直接就是把文件给建造在层层的文件夹里隐藏起来(最可怕的,人家还拿到国内的专利证书)。

最后找到了 2 家,以色列的 TrusCont 和美国的 nexcopy,这两个类似是用硬件的,TrusCont 但是本质上还是壳,还要使用 autorun,虽然已经很接近了,但人家只支持 windows。还找到日本的一家 Hagiwara Sys-Com,可惜还没拿到 developer kit。

我知道一个关于拷贝的定律,if it can be read, it can be copied.

上来求助 v 圈的大大们,看看有没有现成的方案,或者能够做的?

先行感谢拉。
22625 次点击
所在节点    程序员
181 条回复
hugee
2019 年 1 月 2 日
可以录就已经分割了
a22124497
2019 年 1 月 2 日
当年擎泰 sk6211,搞过一个方案,使用的是官方的 API,然后自己封装的玩意,隐藏分区,一个 USB-CDROM

我们在隐藏分区里造轮子,重新做了一个文件系统,然后放文件。当时只做了 WIN 的,需要安装一个服务,然后来识别。
CDROM 里放文件,安装服务之类,然后自己调用隐藏分区。
隐藏分区里的文件系统,是一个大牛给我们写的,强度什么 的就不知道了,因为最后也没有实际上商用,只是自己测试了一下,还不错。你可以用我这个思路去玩一下。

现在 USB3,好像是银灿用的比较多的了
mytry
2019 年 1 月 2 日
U 盘里放一个 html 文件和几个隐藏的资源文件。资源文件加密存储,用户通过 html 浏览,运行时通过 JS 解密,同时做一些强力混淆保护,然后加些可追踪的水印即可。理论上支持任何操作系统。
shidianxia
2019 年 1 月 2 日
@CRVV 这个思路很棒
no1xsyzy
2019 年 1 月 2 日
我认为 @CRVV #135 的想法算是个最好的了?
VLC 只要能播放就能转储(通过转码功能),但还是突破不了 #135 的读取模式判断
——
如果可以自己附带 player 的话不如选择可以直接播放 stdin 的播放器?然后根据 U 盘的特征值生成一个密钥,写入的时候通过这个密钥加密写入,然后可以
cat file|decrypt|vlc -
就可以播放了
alfredsun
2019 年 1 月 2 日
你听说过采集卡吗?
blless
2019 年 1 月 2 日
参考各种财务银行软件吧,电子狗,自定义格式,还成熟
原生什么的还是算了吧有这种
另外 20w 不够吧
openbsd
2019 年 1 月 2 日
有没可能操作系统提供某种接口,证书加密文件,然后 U 盘划分一个区域存储证书,文件可以拷贝走,只要不接上对应的证书,依然没法解码播放 ?
h4wklee
2019 年 1 月 2 日
一种猜想,不一定对:Netflix 要通过 U 盘在古巴开展业务
exip
2019 年 1 月 2 日
自定义文件系统、高强度加密、隐藏并混淆,用定制播放器播放,保证小白拿不走,大牛拿走了也无法解密就行了。
jaggerkyne
2019 年 1 月 2 日
@BingZ,@laqow 谢谢,已经有工作人员去看这个方案了。

@murmur 这倒不用,微软的 MSDN 里面有详细的解决方案。

@gq00001 谢谢您的想法,这个和 @BingZ 的想法类似,已经有人去研究了。

@kzoacn 这个貌似是最简单的方案,老板也在让人写了个小程序,过几天做 demo 的时候就知道分晓了。


@dream7758522 windows 可以简单解决,移动端好像没有现成的解决方案,如果有,还请告知一下,如何把桌面端和移动端合在一起。


@fxxwor99LVHTing 人家要把东西灌进去,然后全国推广的。


@kcats 法律手段在客户的眼中就是笑话,如果大家觉得天朝的协议有够那个的,那么这个国家的法律体验就要更加👎了。


@asdqaz 这个的话怎么实现无缝体验?还得加一个 u 盘底层加 loader,让底层根据插入的系统来显示。可惜这方面的现成方案几乎没有,专门开模弄个芯片 20W 却远远不够。


@zjsxwc 这个如果是软件实现,那么写 loader 必不可少,但是 loader 在底层的空间却是不足。有现成的方案吗?


@sdijeenx #126 其实这个方案的思路挺好,如果我们能实现在快捷方式到隐藏文件之间的单方向加锁就可以完美实现,只是如何做呢?这个和#120@kzoacn 的方案很像。


@vmebeh 尝试了,只有单一平台,跨平台目前还没找到相应方案。


@zhengxinhn 我们找到日本一家企业可以做到,但是 20W 软妹子基本没戏。



@cai1151671293 这个成本太高,该国的这块生意不是由客户决定,不能动别人的奶酪。


@mumbler 已经被否决了。因为人家担心我们在 app 中留了后门。所有必须联网的方案都被否了。
@CRVV 呵呵,类似,但是 20W 软妹子做不了 gfw,特别是在 u 盘单独的空间里面。


@fbqk2008 我们不能用“正常思维”去看待,因为我看了他们要放进去的内容,在我看来直接发就可以了。想拷贝的人始终能找到方法拷贝的。


@Everyxin 客户的要求就是,如果要传播,必须把 u 盘拿走。就像我们以前买粮食,除了钱,还必须有粮票一样。缺一不可。u 盘相当于粮票。


@USNaWen 虚拟机能搞定跨平台吗?特别是手机端?插进去手机系统自动重启进入系统?

@a22124497 有成品吗?或者文档吗?老板说价格合理可以付费。


@mytry 已经在做了个 demo,但是在手机端遇到了问题,window 端防火墙过不去。


@no1xsyzy 做了测试,但是发现每一批的 u 盘的值都不一样,即使同一批出来的,换个接口也不太一样。穷举法费用不足。


@alfredsun 听过,但是客户不在意,他在意的是 u 盘和内容锁定。


@blless 这个方案垮不了平台,而且有点 overkill,20W 软妹子仅够塞牙缝。可能连 driver 的授权费都不够。


@openbsd 这个方案解决了 win 和 mac,移动端还无解。


@h4wklee 呵呵
myxingkong
2019 年 1 月 2 日
目测客户是隔壁三胖
sdijeenx
2019 年 1 月 2 日
用快捷方式可以做到双击运行,复制粘贴只能复制快捷方式。(这里假设用户是小白不会查找源文件路径)
文件隐藏方法可以参考这个:
http://www.cnblogs.com/caoyuanzhanlang/p/3437001.html
sdijeenx
2019 年 1 月 2 日
现在好多 MCU&emmc&nand 啥的都有唯一序列号,如果你指的是这个值的话一定是不一样的。
murmur
2019 年 1 月 2 日
@shidianxia usb2.0 甚至更低的 usb 可破?
sdijeenx
2019 年 1 月 2 日
@zhengxinhn 可以,U 盘主控其实是一个自带 USB 和 nand 控制器的 MCU,只不过跟通用 MCU 相比可以做到开箱即用,不用自己写程序。比如 STM32F103+tf 卡+自己写代码就可以虚拟 U 盘,功耗也不高。
exip
2019 年 1 月 2 日
u 盘分两个区,可见和不可见,可见区放无关的文件(伪装成真的)和必要的程序,不可见区自定义文件系统,任意放一个足够大的文件,这个文件来做”密码本”。用 u 盘的主控或专用硬件实现播放时根据“密码本”实时生成视频流。“密码本“和硬件结合才能播放出内容,而播放的内容根本就没有存放 U 盘里。但也防止不了录屏、录像。
JCZ2MkKb5S8ZX9pq
2019 年 1 月 2 日
换个角度,拷贝防不了,看能不能加个追责机制。
在发给各个客户的内容里,用各种方法折腾上水印。事后跟收版税一样,等对方搞大了去讨债呗。
前提是所在地区有规矩可讲。
exip
2019 年 1 月 2 日
实现原理可参考 利用 windows 字体文件生成后门程序 ,把生成后门的方法写成一个无害的程序,程序运行后用类似查表的方法查字体文件中特定位置的值来拼接一个后门出来。
realpg
2019 年 1 月 2 日
@a22124497 #142
跟我的方案很类似了

不过我的不需要驱动,只需要专门的绿色播放器(可以直接放 U 盘的普通存储区里) 无法硬件解码必须软件解码( H.264 )
而且看不见视频文件本身(即使播放过程中也看不见完全隐藏),所以拷走这个不存在

但是对于一些精通精通计算机的人来说,把这些视频不太费劲的转储到另外一处地方借助这个播放器播放是可能的(当时的客户需求也没提深度防备份,而且理论上是有一定办法让这个备份变得更加困难,客户没要求就没用)

我这理论上 mac、linux 甚至 freebsd 等各种通用 PC 平台都可以实现播放,但是没去实现因为没有会开发那些平台软件的人,客户也只要求 windows

假设实现了非 windows 平台的软件,在非 windows 平台下,无法防止研究明白机制的人想办法把这些视频数据拷走使用我们的通用播放器在别处播放,且无法让这个过程更复杂(缺少系统底层黑科技支持),所以在 windows 下研究明白机制的人可以很容易的在 mac 下把存储区

如果不反向工程播放器研究透数据机制,即使你成功将视频数据弄出去,你也没法将其还原成 mp4 文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/522737

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX