发明内容
本发明要解决的技术问题是提供一种定向加密的电视屏幕和智能手机间可见光通信方法,以解决背景技术中提到的问题。
为了达到上述目的,本发明采取以下技术方案:
一种定向加密的电视屏幕和智能手机间可见光通信方法,包括如下步骤:
电视屏幕上设定至少一个信息像素块和密钥像素块,所述信息像素块作为可见光通信的发射模组传递已加密的信息,所述密钥像素块作为可见光通信的发射模组传递一个加密转换函数;
所述加密转换函数配置为,当输入任何一个设备ID时,检查该设备ID是否为被许可的设备ID,若是,则输出可用于解密所述信息像素块传递的信息的正确解密密钥,若否,则输出一个区别于所述正确解密密钥的错误解密密钥;
智能手机以摄像头为可见光通信的接收模组接收来自上述信息像素块和密钥像素块的信息,通过密钥像素块获得加密转换函数,智能手机检测设备ID并输入其设备ID到加密转换函数中,利用加密转换函数输出的解密密钥解密来解密所述信息像素块传递来的信息。
在一些实施例中,所述加密转换函数为一个对比函数,对比函数中设置有所有被许可的设备ID,如果对比函数发现被许可的设备ID中存在输入的设备ID,则输出正确解密密钥,如果对比函数发现被许可的设备ID中不存在输入的设备ID,则采用一个密钥派生函数作用到该设备ID,生成一个错误解密密钥。
在一些实施例中,所述密钥派生函数为bcrypt、scrypt或PBKDF2。
在一些实施例中,所述加密转换函数为一个加密脚本。
在一些实施例中,所述设备ID为智能手机的物理MAC地址或电话号码或对应于扫描用APP的账户ID。
所谓的扫描用APP的账户ID,存在如下例子:如果在一个银行,银行用大屏幕展示一些转账信息,则客户需要用手机银行APP扫描该大屏幕获得对应的转账信息,这些转账信息一般和手机银行APP的账户绑定,因此可以利用该ID作为输入的设备ID获取解密密钥。一般账户ID可以是一个较长的字符串,且手机银行APP登录也存在保护,手机银行APP也可以检测账户ID,因此被破解的概率较低。
优选的,所述像素块由多个紧邻的像素组成,组成像素块的像素发光情况同步。
本发明相对于现有技术的优点在于,本发明通过结合电视屏幕和智能手机之间的可见光通信技术,实现了定向加密的信息传输方法。与现有技术相比,本发明无需用户手动输入密码,从而简化了信息的接收和解密过程。通过引入密钥像素块和设备ID的加密转换函数,本发明确保了只有被许可的设备才能成功解密电视屏幕上传递的信息,既增强了信息的安全性,又提高了用户的操作便捷性。同时,本发明避免了信息传输方需要通过其他渠道通知用户密码的麻烦。智能手机的设备ID被用作解密的关键,确保了每位用户的独特性和信息的隐私性。这种机制使得信息传输更加安全、高效,同时遵循了信息传递的方便原则,为用户提供了一个流畅且直观的体验。
具体实施方式
下面结合附图对本发明的具体实施方式作描述。
如图1所示,本发明包括如下步骤:
电视屏幕上设定至少一个信息像素块和密钥像素块,所述信息像素块作为可见光通信的发射模组传递已加密的信息,所述密钥像素块作为可见光通信的发射模组传递一个加密转换函数;
所述加密转换函数配置为,当输入任何一个设备ID时,检查该设备ID是否为被许可的设备ID,若是,则输出可用于解密所述信息像素块传递的信息的正确解密密钥,若否,则输出一个区别于所述正确解密密钥的错误解密密钥;
智能手机以摄像头为可见光通信的接收模组接收来自上述信息像素块和密钥像素块的信息,通过密钥像素块获得加密转换函数,智能手机输入其设备ID到加密转换函数中,利用加密转换函数输出的解密密钥解密来解密所述信息像素块传递来的信息。
所述步骤中,加密转换函数内设置有一个对比函数,对比函数中设置有所有被许可的设备ID,如果对比函数发现被许可的设备ID中存在输入的设备ID,则输出正确解密密钥,如果对比函数发现,被许可的设备ID中,没有输入的设备ID,则可以采用一个密钥派生函数作用到该设备ID,生成一个错误解密密钥,KDF可以从一个密码或其他任意长度的字符串(例如设备ID)生成一个或多个固定长度的密钥,比如PBKDF2 (Password-Based KeyDerivation Function 2)、bcrypt、scrypt等密钥派生函数。
所述加密转换函数中的加密,指的是这是一个黑箱,只能够根据输入得到输出,而无法获知其内部的结构,尤其是内部存在哪些许可的设备ID的信息。这可以通过加密脚本的方式进行,在加密脚本中,脚本可以运行,但是由于受到加密,使用者无法知道脚本的源代码等,因此无法破解其中可能存在哪些许可的设备ID。
所述设备ID,是每个设备独有的标识,可以设置为设备的物理MAC地址,也可以设置为设备的手机号,也可以设置为物理MAC地址或手机号的哈希值,由于哈希值可以从物理MAC地址或手机号唯一生成,因此其对于一个设备而言也是唯一的,且不易破解。
所述像素块是由多个紧邻的像素组成,依据电视屏幕分辨率和智能手机的摄像头分辨率确定像素块大小,以使得摄像头可以清晰分辨每个像素块;之所以设置像素块,是因为现在的电视屏幕的分辨率很高,单个像素不容易被智能手机识别,因此需要用多个像素组成像素块,像素块统一模式发光才容易被智能手机识别。
当然,由于采用的是可见光通信,电视屏幕上的像素块传递信息的过程是,先把要传递的数字信息(0和1构成的字符串)加密成另外一组数字信息,然后调制到电视屏幕上,一个像素块的闪烁类比于可见光通信中的LED灯的闪烁,用其发送加密后的信息,智能手机接收到信息后,将其解调得到加密的信息,然后用得到的解密密钥进行解密。如果该智能手机的设备是被允许的设备,自然能够得到正确解密密钥,从而得到正确的解密结果,如果该智能手机并非被允许的设备,则会得到错误解密密钥,从而无法得到正确的解密结果。不同设备可以采用统一的调制和解调过程,从而相互适应。由于调制和解调过程是现有技术内容,这里不赘述。
以下考虑一个具体的例子:
在银行或其他金融机构中,客户可能需要确认大额转账或特定的金融操作。为确保这些操作的安全性,金融机构可以在其大屏幕上显示确认信息,如果没有本发明的技术方案,所有客户都有机会看到大屏幕上的信息,从而产生隐私泄露。但是采用了本发明技术方案后,只有被选定的客户可以解码该信息。更具体的:
客户在柜台提供了客户需要转账的详细信息,柜台员工在系统中输入这些信息,并根据客户的设备ID(比如电话号码或其手机银行的账户ID)为其生成一个加密的交易确认信息,银行的屏幕上,出现两个像素块——一个信息像素块和一个密钥像素块。这些像素块开始以特定的模式闪烁,代表着被加密的交易确认信息和加密转换函数。
客户可以使用手机打开银行的官方APP,并使用摄像头捕捉屏幕上的像素块。首先,手机从密钥像素块中获取加密转换函数。每个客户的手机都有一个与其账户关联的独特设备ID,手机会输入这个设备ID到加密转换函数中。在内部,加密转换函数检查该设备ID是否与当前操作的账户匹配,如果匹配,转换函数会输出正确的解密密钥,使用这个密钥,客户的手机成功解密了信息像素块传递的交易确认信息。
客户在手机上可以清晰地看到了转账的所有细节,包括金额、接收方账户和其他相关信息,而无需担心其他客户或员工能看到这些私密信息。客户可以确认交易,柜台员工得到了确认信号,即可成功完成了转账。
通过这种机制,银行确保了客户的交易信息只对本人可见,大大增强了客户的信任,并且能够只使用一个大屏幕,就可以实现所有客户的统一沟通,不必担心信息被其他客户看到。
除此之外,本发明还可以有其他应用场景,比如:
1. 医疗诊断中心:
在医疗诊断中心,病人们可以在公共大屏幕上获取自己的体检报告。但由于隐私问题,这些报告不能直接在大屏幕上显示。采用本发明后,当病人要查看报告时:
病人在诊断中心的APP上登录并选择查看报告;
大屏幕显示密钥像素块,病人用手机摄像头扫描;
手机APP使用密钥像素块解密大屏幕上的报告(其设备ID可以是APP的账户ID),允许病人在手机上私密查看。
2. 展览会或贸易展览:
在大型展览或贸易展览中,参展商在展位上安装了大屏幕,展示他们的产品或服务。如果其中一些展位想要展示一些仅仅给同行业的人查看的内部信息,那么可以通过本发明确定名单后,给该名单上的人进行大屏幕的定向可见光通信,而不必担心其他行业的人看到,也不必担心记者拍照泄露。
3. 大学或研究机构公开课:
在大学或研究机构举办的公开课上,讲师可能需要与学生共享某些资料,但由于版权或其他原因,这些资料只能提供给在场的学生,因此可以采用本发明只把对应的资料通过大屏幕的方式传递给现场的学生,而参加的学生的信息一般在事先有登记,因此,利用学生的电话号码,便可以进行对应的推送,并且不用担心现场的拍照泄露等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。