基于区块链技术的移动智能终端安全通信探究

2022-06-26 12:51方文祥陈玕来
通信电源技术 2022年2期
关键词:密钥好友加密

方文祥,陈玕来

(华信咨询设计研究院有限公司,浙江 杭州 310052)

1 移动智能终端通信安全问题

移动智能终端存在多种通信安全问题,主要包括密码安全性较低、信息收发缺少审核、安全补丁滞后以及信息追溯性较差等[1]。对于通信领域来说,传统的通信信息基本都是以点对点的方式进行传输,不法分子很容易就能追踪到信息传输的路径,将正在传输中的信息拦截下来,导致信息通信存在较大的安全问题,必须要保证信息传输路径的安全,避免信息在传输过程中出现问题。区块链技术能够很好地解决安全问题,利用通信网络区块链VOIP通信功能分析区块链异常交易的数据,推导出具体的加密方案,保证数据信息始终处于最高级别的加密状态,保护用户隐私,以免出现信息泄露情况。

2 区块链的相关技术

区块链技术具有开放、去中心、公开透明、不可篡改以及可追溯等优点,能够充分保证通信安全,提高通信效率。区块链主要包含两方面的技术,分别是区块安全同步技术和智能合约技术。

从内容存储结构来看,区块链为分布式结构,底层P2P网格的各个节点有相同的权利。为了让各个节点保持一致的状态,可以利用共识机制让各节点相互信任。区块安全同步技术的应用主要包含3个步骤:一是挑选“出块者”,也可将其称为“记账者”,主要包括单一节点和多个节点;二是生成区块,将新接收的数据打包,加入到目前的区块内,多个区块共同构成链状结构;三是验证工作与同步工作,对各个节点的信息进行验证,保证信息的一致性[2]。

智能合约最开始属于一种协议,用户能够自行决定数字的形式。如今,智能合约被运用到区块链领域,变成了一种程序代码,可以按照约定条款执行算法,通过驱动转换实现用户的目标。运用智能合约技术时需要使用设备的接口和协议,由此形成一种代码逻辑,只要到达了触发条件,就会按照智能合约执行,基本不会受到干扰,能够有效满足用户的要求[3]。

3 基于区块链技术的移动智能终端安全通信研究

3.1 算法设计

在密钥派生算法设计中需要对公钥进行加密处理,可以采用椭圆曲线密码体制(Ellipse Curve Cryptosystem,ECC)。椭圆曲线的离散对数非常复杂,可以有效保证密码的安全。当密钥从私钥转换为公钥时可以进行单项映射,单项映射的原理如图1所示。其中,k→k′、k→k′都是单向映射。

图1 ECC密钥派生映射规则

在ECC单项映射中,将仅自己可见的初始私钥映射为所有人可见的初始公钥。安全通信系统可以采用公钥密码体制,通过Weierstrass方程形成密钥,在无协商密钥共享中运用加密算法、解密算法、签名算法等。在安全通信的数字签名体制中,签名时使用私钥,验证时使用对应的公钥,以此来保证信息的真实性[4]。

安全通信系统的运行需要遵循加密通信逻辑,而密钥派生算法就是该逻辑的基础。安全通信系统需要遵循种子密钥流程,建立可逆公钥密码体制,利用数字签名机制验证用户的身份。用户提交申请后,根据消息签名和公钥验证消息的真实性,记录用户的申请信息,对种子密钥进行初始化处理。在处理过程中,对消息签名、公钥、加密种子进行验证,验证无误后添加对方。此时再次更新种子密钥,形成加密种子,根据会话密钥进行通信,最终完成密钥协商[5]。在区块链网络系统中,网络节点并没有部署中心化。如果某个通信网络节点出现故障,并不会使整个区块链系统无法运行,数据信息可以正常在网络中传输。就算大部分的节点受到攻击导致网络节点断开,整个系统依旧能够持续运行。当区块链系统受到病毒的恶意攻击时,区块链技术还可以通过协议进行保护,确保那些通过验证的数据能够顺利传播出去。

3.2 功能模块设计

利用区块链技术对安全通信系统的联盟链通信功能模块进行设计,用户可以一直保持连接的状态,接收不同的信息后对信息进行自动解析,直接将处理后的信息转发给用户。应用层包含多种类型的信息,如会话信息和心跳信息等。会话信息能够在正式通信中发挥作用,自动识别用户身份,同时还能生成区块,便于双方验证。心跳信息能够更新用户会话参数,同时发送密钥[6]。区块链技术可以在较短的时间内完成传输工作,将数据信息快速传输到不同地区的网络节点上。即使互联网服务突然中断,区块链技术依旧可以通过高频无线电或者传真等方法继续传递信息。区块链技术能够提供安全稳定的网络通信环境,使信息传输过程更加可靠。

移动智能终端安全通信系统的客户端功能模块主要包括用户注册登录功能模块、个人信息管理功能模块、用户通信功能模块。在用户注册登录模块的设计中,需要保护用户的用户名和密码。用户在注册时需要填写密码并确认密码,如果两次密码完全相同,就可以发送请求。系统会判断用户名是否存在重名的情况,如果没有重名就会随机生成密钥。如果密钥符合标准,就会自动存储用户的信息。在个人信息管理模块的设计中,要对后台存储功能和相关操作进行设计。进入信息列表和通信界面后,工作人员可以获取信息数据,还可以查询信息和修改信息。该模块运行时,可以对数据进行传递或调用。按照数据的类型和统一资源定位符(Uniform Resource Locator,URL)发送请求,通过请求后调用接口并对数据库下达命令,返回时会判断是否成功[7]。

在用户通信模块的设计中,需要与联盟链进行交互,运用派生密钥对通信的信息进行加密处理。对于发送方来说,用户发送信息后构建消息体,判断该消息是否为心跳消息。如果是心跳消息,就要让消息体包装密钥派生参数,同时还要进行签密。如果不是心跳信息,继续判断是否为好友申请消息。如果是好友申请消息,就要让消息体包装个人初始密钥、种子密钥以及握手标识,同时还要对信息进行签密处理。如果不属于好友申请信息,继续判断信息是否属于文字消息。如果不属于文字消息,就要将信息上传到文件系统中,提取URL消息;如果属于文字消息,继续判断消息是否属于群聊消息。如果属于群聊消息,就要利用群会话密钥进行加密处理;如果不属于群聊信息,就要利用好友会话密钥进行加密处理。最后,将消息体发送到链服务端。对于接收方来说,系统要对消息体进行解析,判断信息是否为好友申请、文字消息、群聊消息。确认消息的类型后,获得对应的解密消息,将消息存储到本地设备中,同时将消息同步到个人服务后台[8]。

3.3 数据库设计

数据库能够长时间存储数据信息,随着在通信过程中数据信息的数量越来越多,操作时可能会出现卡顿等问题,对此需要进行优化设计。移动智能终端能够利用MUI框架封装storage,在本地设备上存储大量的缓存信息和用户的基本信息,利用键值划分各个信息的类别,实现分类存储和快速调用。后台数据库为MySQL,记录着用户的个人信息,包括好友信息、列表信息、缓存信息等。数据库各部分的关系如图2所示。

图2 数据库E-R示例

用户信息表中含有主键ID,记录了用户名、密码以及用户的其他信息。好友关系表中包含用户和好友的ID信息,记录了双方成为好友的日期。成为好友时,系统会自动生成好友种子密钥,其他人不能修改种子密钥,只有好友能够调用种子密钥[9]。

数据库中还包含消息记录表的相关信息,例如用户和好友的会话时间。某一方发出消息后,并不会只产生一条记录,双方可以通过各自的ID进行访问。访问时,系统会形成两条记录,双方的信息标识也不同。当用户添加好友时要进行密钥协商,并且按照“3次握手”机制生成添加好友的种子密钥,根据协商信息判断用户是否想要进入下个环节。此外,数据库包含区块头和区块体两部分。区块头不仅能够存储用户信息,而且还能存储业务方面的数据信息,确保数据库能够和通信系统相互兼容[10]。

4 结 论

通过运用区块链技术,为用户提供一个安全、高效的移动智能终端通信平台。充分应用区块链技术和安全通信技术,同时还要运用现代密码学技术,保障网络通信安全,避免用户信息泄露,为用户创建一个安全的通信环境。

猜你喜欢
密钥好友加密
一种新型离散忆阻混沌系统及其图像加密应用
幻中邂逅之金色密钥
幻中邂逅之金色密钥
密码系统中密钥的状态与保护*
属羊
TPM 2.0密钥迁移协议研究
删除好友
加密与解密
DES 对称加密和解密算法的安全性应用
SQL server 2005数据库加密技术