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

2018-12-31 17:27:33 +08:00
 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 圈的大大们,看看有没有现成的方案,或者能够做的?

先行感谢拉。
19552 次点击
所在节点    程序员
181 条回复
msg7086
2019-01-01 09:34:01 +08:00
「原生的 程序 进行播放」原生的程序就是把数据拷贝到内存后播放的。
所以你为什么要提一个与你的要求完全相反的要求呢。
realpg
2019-01-01 10:06:49 +08:00
@ech0x #100
不。主控只是保证能实现功能。
因为不同主控并不支持 U 盘的某些模式
TonyGong
2019-01-01 10:07:50 +08:00
对于视频播放,我有个方法,可以阻挡 99%的人吧,什么也不用安装,就是个 u 盘
zhouyut001
2019-01-01 10:19:33 +08:00
电脑是无法拷贝,那么外部物理截图录像怎么解决?
BingZ
2019-01-01 10:20:12 +08:00
依赖 OS 原生播放器或阅读器是无法实现很好实现“防拷贝”的。这源于各平台的差异,和相关软件的功能,都不在你的掌控范围(你没法保证各 OS 上的原生应用都能具备某种类似 DRM 的功能,你也没法区分各应用的发出的读取和拷贝操作)。按客户的描述,他们可能是希望实现“ DVD 防拷贝”的效果,但不切实际的扩展了非视频内容。

要支持各种格式文件,又要兼容各大 OS 平台,还要在应用级别控制拷贝,较易实施的方案是:在被保护内容上套上自定义的壳,同时把文件 IO 和解码控制在自己手里。
那么,何不自定义“播放器”,“阅读器”呢?然后,连同被保护内容一起,装入一个可独立运行的“虚拟机”内,不是更容易掌控么?更容易有统一体验么?何必拘泥于“原生应用”?

涉及的技术:
各 OS 平台“可移动磁盘自动运行”的机制;
一个可跨平台运行的虚拟机;
一个精简的带 GUI 的 linux 镜像,提供操作界面和有限的文件管理;
自定义基于 linux 的“播放器”、“阅读器”,限制应用级别的一切复制操作;
应用加密算法,来保护“内容”,流媒体可区别对待;

综上:将一个可即插即用的虚拟机塞到 U 盘,支持各大 OS 的自动运行机制,在该虚拟机跑一个自定义的 linux,在自定义的“应用”上完成阅读和播放。

上述方案完全基于软件实现,若需更高等级保护,还可在 u 盘主控上设置硬件门槛或使用自定义主控。
zjsxwc
2019-01-01 10:39:29 +08:00
需求逻辑自相矛盾,请换个产品经理
jaggerkyne
2019-01-01 11:11:09 +08:00
@stzz, 目前使用的就是光盘,但是客户的用户现在大规模推广 usb,光盘业务在萎缩。
@ThirdFlame,@discrete 具体哪个国家因为保密协议不能说,但是提示一下,他们正在经历我们曾经经历的。

@aphyllan 这个方式已经做了测试,坑太多了,造价也远超 20W 软妹子能搞定的。
@icyalala @swulling 现在老板正在考虑是否涨价了。现在的问题是怎么样才能做到?


@qile1 文本可以,但是音频和视频不行。


@jinhan13789991 这个需求需要在当地做主机,但是当地的全国局域网条件做不了。


@hugee @qiukong @zhouyut001 不怕录,要的就是把内容和 u 盘硬件弄得不可分割。


@kcats @LGA1150 是这个道理,if you can read, then you can copy。但是为了防止的是技术小白,而不是极少数的骇客。


@vmebeh 所以我觉得这个解决方案要在数据 IO 的地方想办法。按照数据流的 pattern 来制止,但怎么制止,还没想到方案。

@rio @icyalala tb 和 jd 上面一大堆,也有可以定制的方案,除非能做到插入就能自己 local 安装 app,否则这方面还是坑。

@Mohanson 使用时候必须输入密码的这个方案不行,因为密码输入后,用户可以拷贝。客户要求的就是,最终用户不经历大麻烦,不能拷贝。


@DreaMQ 这个有考虑,请问有相关方案或者文档吗?


@whileFalse 是的,是个笑话,但是人家 LD 阶层用的就是 mac 和 IOS 阿。sandboxie 和影子卫士啊,冰点还原精灵都是使用类似的技术,我们自己有 win 端的解决方案,但是怎么合在一起就头痛了。


@msg7086 可能我说的不太清楚吧。客户要求是机子上面有什么播放器就用什么播放器。不用特制的播放器就能播,就能看。


@TonyGong 能分享一下吗?

@BingZ 这是我们其中的一个想法类似,但是没有做过,有没有什么现成的方案或者相应的技术文档呢?


@zjsxwc 在我司这么一大堆的工程师看来是这样的,但这个就是客户提出来要我们解决的。这个客户是老板自己拉来的。所以老板就是产品经理,换不了。客户的原话就是:“在 u 盘上放文件,客户可以看,听,但是需要复制的时候,只能把 u 盘拿走。u 盘要可以在 windows,macOS,安卓手机和苹果手机上面使用。”老板给我们钱,就是要帮老板解决问题的。现在看来,要么是拍脑袋的决定,要么就是老板把客户的 USD 变成了 RMB。我还是挺好奇 @realpg 的方案的。
l1ve
2019-01-01 11:13:19 +08:00
U 盘中做一个小型化系统,类似电视盒子
然后远程上去?
ech0x
2019-01-01 11:17:30 +08:00
<amp-youtube data-videoid="_B5vP9xLbQo" layout="responsive" width="480" height="270"></amp-youtube>
像这个视频里不是有物理锁吗?我看淘宝上带读写保护的盘也不贵啊。
msg7086
2019-01-01 11:18:07 +08:00
@jaggerkyne 那客户的播放器如果有拷贝功能,不就把文件拷走了?
播放器要播放,必须要读取(也就是拷贝)出来。你说「有什么播放器就用什么播放器」,那只能依赖于 DRM 联网验证解密。不联网,又让用户的播放器随便读,和你的原始要求是完全相反的。
如果不联网,而改用 USB 设备验证,我是不知道哪个客户自己安装的播放器能支持这个功能。
ech0x
2019-01-01 11:19:48 +08:00
@ech0x 好吧,这是写保护。
ech0x
2019-01-01 11:22:26 +08:00
可不可以自己实现一个文件系统,接口和已有的例如 Fat 之类的兼容。
8e47e42
2019-01-01 11:23:10 +08:00
教 PTE 的吧?没救,用加密狗都有人录屏的
msg7086
2019-01-01 11:23:36 +08:00
换句话说。

1. 客户自己安装的播放器随便播
1 => 2. 使用不加密的方式存储文件
1 => 2 => 不加密存储的文件可以随意拷贝随意播放
1 => 3. 使用 DRM 加密方式
1 => 3 => DRM 需要联网验证,播放时解密

你刚才说 DRM 不可行,那么就必须要播放器负责解密,那么就势必不能用客户自己的没有解密功能的播放器。

所以还是考虑自定义播放环境吧。
test99
2019-01-01 11:24:55 +08:00
又是个想花小钱办大事的,开发预算后面加个零差不多,这个价格别想了
oott123
2019-01-01 11:26:58 +08:00
就说你有 ppt 文件,然后不能让客户安装查看器,好,那么使用 ms office 打开 ppt

然后你做了再好的防拷贝,文件是不能复制了,结果人家打开 ppt 点了一下另存为,得到了一份副本,你咋办……
BingZ
2019-01-01 11:53:23 +08:00
@jaggerkyne

参考实现:
https://willhaley.com/blog/simple-portable-linux-qemu-vm-usb/

虚拟机:QEMU,支持 linux, mac,有 win 的第三方移植
OS:Tiny Core Linux

虚拟一个 linux 的好处是,有大把的现成应用可用。
----------------------------------------
另外,变通下:是否可以将需发布的内容,预先转化为音视频,静态 pdf 或图片,这样对“阅读器”的要求就能大幅降低。甚至,一个基于 QT 开发的跨平台的应用就能满足要求。
murmur
2019-01-01 12:06:38 +08:00
ppt 如果是壳的话你是不是还得实现个 powerpoint
gq00001
2019-01-01 12:59:28 +08:00
我有个想法,能不能这个 U 盘就是个 USB HUB,里面分成 2 个,一个是一个微型 PC,一个是公开的存储.那个微型 PC 系统定制的 LINUX 系统,里面包含 WEB 服务.公开的存储里面就放一个网页快捷方式就行,指向那个微型 PC 提供的 WEB 站点.跟微型 PC 通信就用 USB 模拟网线就行.这样就相当于从浏览器里面访问和查看及管理微型 PC 里面的内容.PC,苹果,手机应该都支持浏览器的,USB 模拟网线之类的驱动和实现方法,手机现在也很多自带的了,应该不难找.WEB 服务的开发就很多方法了.
kzoacn
2019-01-01 13:10:59 +08:00
90 年代的网络水平?莫非是黑人兄弟?
这东西不可能实现。不妨把目标定为只能防小白防不住有一定知识的人。小白的定义是仅懂得复制+粘贴,不懂得上网查解决办法。
这样的话 CD 实际上就做到了这一点,打开都是 cda 文件,需要稍微懂点知识才能拷贝出文件。
借着 CD 的思路,对于 win 可以把文件隐藏,给用户一些快捷方式,(这让我想起了小学时兴冲冲的把红警快捷方式拷回家然后傻眼[滑稽])
当然这可能太侮辱用户智商,思路还是一样的,就是用一个 link 指向真实文件,让小白用户只能拷贝走 link。可以考虑从文件系统下手

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

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

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

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

© 2021 V2EX