一、系统概述
二、技术栈
2.1 核心技术
区块链技术:采用私有链(Hyperledger Fabric)搭建,适配私域网部署,支持节点授权管理、交易上链、区块查询,实现聊天记录不可篡改存证;集成智能合约,用于身份验证、权限管控及聊天记录加密存储规则定义。
加密通讯技术:采用 AES-256-GCM 对称加密算法(用于聊天内容实时加密)、RSA-4096 非对称加密算法(用于密钥交换)、SHA-256 哈希算法(用于数据校验),结合 TLS 1.3 协议,实现端到端加密传输,杜绝数据在传输过程中被窃取、篡改。
2.2 基础技术栈
后端:PHP 7.4+(核心业务逻辑)、Go 1.18+(区块链节点部署与智能合约调用)
数据库:MySQL 5.7+(存储用户基础信息、非敏感配置数据)、IPFS(星际文件系统,存储加密后的聊天附件、头像等大文件,关联区块链存证)
前端:HTML5 + CSS3 + JavaScript (jQuery) + Web3.js(区块链交互插件),延续科幻风格,支持自适应布局。
辅助工具:Docker(容器化部署,简化区块链节点与应用服务部署)、OpenSSL(加密算法实现)、GD 扩展(图片处理与加密)
三、主要功能
3.1 基础功能(延续并优化)
用户注册与登录:支持私域网内用户注册,注册信息加密存储,登录时通过区块链节点验证身份,杜绝非法登录。
实时聊天:支持文字、图片、表情实时发送,所有内容均经过端到端加密,仅发送方与接收方可解密查看。
表情选择器:18种内置科幻风格表情,发送时自动加密,与聊天内容同步上链存证。
在线用户列表:实时展示私域网内在线用户,标注用户身份(普通用户/管理员),支持在线状态加密同步。
自定义头像上传:头像文件加密后存储于IPFS,文件哈希值上链,保障头像不被篡改、泄露。
管理员后台:支持用户管理(授权、禁用、删除)、消息管理(查看加密存证记录、异常消息排查)、区块链节点管理。
科幻风格自适应界面:优化科幻视觉设计,适配电脑、平板等不同终端,界面元素融入区块链、加密相关视觉符号(如哈希值展示、加密动画)。
3.2 区块链与加密核心功能
去中心化身份认证:用户注册后生成唯一区块链身份标识( DID ),替代传统账号密码验证,仅授权节点可验证身份,提升安全性。
聊天记录上链存证:所有聊天内容(文字、图片哈希值)经加密后同步写入私有链,生成不可篡改的区块记录,支持按时间、用户查询存证信息。
端到端加密传输:发送方通过RSA算法生成临时会话密钥,加密聊天内容后发送,接收方通过自身私钥解密,中间节点(服务器、区块链节点)无法获取明文内容。
密钥管理:用户私钥本地存储(支持硬件密钥备份),公钥上链,密钥更新、注销可通过智能合约触发,保障密钥安全。
存证查询与验证:用户可查询自身聊天记录的区块链存证信息,通过哈希值校验记录完整性,管理员可查看全量加密存证记录(无法解密明文)。
四、默认管理员账号
用户名: admin
密码: admin123
区块链身份标识(DID): did:chat:private:admin:001(默认生成,可在管理员后台修改)
五、目录结构
chat/ ├── admin/ # 管理后台(含区块链节点管理、存证查询功能) ├── blockchain/ # 区块链相关(节点配置、智能合约、Web3.js交互文件) │ ├── config/ # 私有链配置文件 │ ├── contract/ # 智能合约(身份认证、存证相关) │ └── node/ # 区块链节点部署文件 ├── config/ # 系统配置文件(含数据库、加密算法、IPFS配置) ├── css/ # 样式文件(科幻风格优化) ├── includes/ # 公共组件(加密工具、区块链交互工具、IPFS工具) ├── ipfs/ # IPFS客户端配置与文件缓存 ├── uploads/ # 临时上传文件目录(最终加密后同步至IPFS) ├── index.php # 聊天主页(集成区块链身份验证、加密聊天界面) ├── login.php # 登录页(支持区块链DID登录、密码登录双重验证) ├── register.php # 注册页(生成区块链DID、加密存储用户信息) ├── logout.php # 登出(销毁本地私钥缓存、区块链会话) ├── settings.php # 个人设置(含私钥备份、加密方式设置) └── crypto/ # 加密工具包(AES、RSA算法实现、哈希校验)
六、部署说明
环境准备:确保已安装 PHP 7.4+、MySQL 5.7+、Go 1.18+、Docker、OpenSSL、GD 扩展,开启 TLS 1.3 协议。
区块链节点部署:通过 Docker 启动 Hyperledger Fabric 私有链节点,配置节点授权(仅私域网内节点可加入),部署智能合约(身份认证、存证合约)。
IPFS 部署:启动 IPFS 私有节点,配置与区块链节点的关联,确保上传文件哈希值可同步上链。
系统配置:修改 config/config.php 中的数据库连接信息、区块链节点地址、IPFS 节点地址、加密算法配置(默认 AES-256-GCM、RSA-4096)。
Web 服务器配置:部署 Nginx/Apache 服务器,配置 HTTPS(开启 TLS 1.3),指向系统根目录。
系统初始化:访问系统首页,自动初始化数据库、创建默认管理员账号、生成初始区块链节点数据,完成后重启 Web 服务器与区块链节点。
权限配置:登录管理员后台,配置用户授权规则、区块链节点权限,备份管理员私钥,完成部署。
七、系统要求
7.1 硬件要求
服务器:CPU ≥ 4核,内存 ≥ 8GB,硬盘 ≥ 100GB(用于区块链节点数据、IPFS文件存储)
客户端:支持现代浏览器(Chrome、Firefox 等),开启 JavaScript 与 Web3 支持,建议配置硬件密钥(用于私钥备份)。
7.2 软件要求
基础环境:PHP 7.4 或更高版本、MySQL 5.7 或更高版本、Web 服务器(Nginx 1.18+ / Apache 2.4+)
区块链环境:Go 1.18+、Docker 20.10+、Hyperledger Fabric 2.4+
加密与存储:OpenSSL 1.1.1+、GD 扩展、IPFS 0.18+
依赖插件:Web3.js 1.8+、jQuery 3.6+
八、加密机制说明
身份加密:用户DID、公钥上链,私钥本地存储,登录时通过智能合约验证DID与私钥的匹配性,杜绝身份伪造。
传输加密:聊天内容通过AES-256-GCM加密,会话密钥通过RSA-4096算法交换,传输过程中仅存在加密密文,无明文泄露风险。
存储加密:用户信息、聊天附件(头像、图片)加密后存储于MySQL与IPFS,文件哈希值上链,确保数据不可篡改。
校验机制:所有上链数据均通过SHA-256哈希校验,一旦数据被篡改,哈希值不匹配,系统将拒绝识别该条记录。
发表评论