一种密钥协商方法及系统与流程

文档序号:18639031发布日期:2019-09-11 22:44阅读:2991来源:国知局
一种密钥协商方法及系统与流程

本发明涉及智能家居技术领域,尤其涉及一种密钥协商方法及系统。



背景技术:

智能家居是指以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。

在智能家电-云端服务器-终端的体系中,有的智能家电可能没有wifi模块或者在无网络的环境中不能与云端服务器交互,云端服务器无法验证智能家电的安全性,智能家电与终端直接建立连接则终端是否拥有智能家电的控制权限无法保障,存在一定的安全风险。



技术实现要素:

本发明的目的是为了克服现有技术的不足,提供一种密钥协商方法及系统。

本发明提供了一种密钥协商方法,包括:

步骤s1:智能家电和终端通过非网络连接的点对点通信方式建立连接,所述智能家电使用保存的设备密钥对设备id加密得到第一密文,发送所述第一密文给终端;

步骤s2:所述终端发送密钥申请请求和所述第一密文给云端服务器;

步骤s3:所述云端服务器判断所述智能家电是否安全,是则执行步骤s4,否则发送警示信息给所述终端;

步骤s4:所述云端服务器判断所述终端是否拥有智能家电的控制权限,是则执行步骤s5,否则返回错误响应给所述终端;

步骤s5:所述云端服务器生成随机会话密钥,使用保存的用户密钥对所述随机会话密钥和所述密钥申请请求中的设备id及随机数加密得到第二密文,使用保存的设备密钥对所述随机会话密钥和所述密钥申请请求中的用户id加密得到第三密文,并将所述第二密文和所述第三密文发送给所述终端;

步骤s6:所述终端使用保存的用户密钥解密所述第二密文得到第一随机会话密钥、第二设备id和第一随机数,判断保存的随机数和所述第一随机数、保存的设备id与所述第二设备id是否均相同,均为是则使用所述第一随机会话密钥对用户id加密得到第四密文,并通过非网络连接的点对点通信方式将所述第三密文和所述第四密文发送给所述智能家电,执行步骤s7,否则密钥协商结束;

步骤s7:所述智能家电使用保存的设备密钥解密所述第三密文得到第一用户id和第二随机会话密钥,使用所述第二随机会话密钥解密所述第四密文得到第二用户id,判断所述第一用户id和所述第二用户id是否相同,是则将所述第二随机会话密钥作为通信密钥并通过非网络连接的点对点通信方式通知所述终端密钥协商成功,否则密钥协商结束。

本发明还提供了一种密钥协商系统,包括:智能家电、终端和云端服务器;

所述智能家电包括:

第一建立连接模块,用于和所述终端通过非网络连接的点对点通信方式建立连接;

第一加密发送模块,用于使用保存的设备密钥对设备id加密得到第一密文,发送所述第一密文给所述终端;

第一接收判断模块,用于接收所述终端发送的第三密文和第四密文,使用保存的设备密钥解密所述第三密文得到第一用户id和第二随机会话密钥,使用所述第二随机会话密钥解密所述第四密文得到第二用户id,判断所述第一用户id和所述第二用户id是否相同,是则触发第一发送模块,否则密钥协商结束;

所述第一发送模块,用于将第二随机会话密钥作为通信密钥并通过所述第一建立连接模块通知所述终端密钥协商成功;

所述终端包括:

第二建立连接模块,用于和所述智能家电通过非网络连接的点对点通信方式建立连接;

第一接收发送模块,用于接收所述智能家电发送的所述第一密文,发送密钥申请请求和所述第一密文给云端服务器;

第二接收判断模块,用于接收所述云端服务器发送的第二密文和所述第三密文,使用保存的用户密钥解密所述第二密文得到第一随机会话密钥、第二设备id和第一随机数,判断保存的随机数和所述第一随机数、保存的设备id与所述第二设备id是否均相同,均为是则触发第二加密发送模块,否则密钥协商结束;

所述第二加密发送模块,用于使用所述第一随机会话密钥对用户id加密得到第四密文,并通过所述第二建立连接模块将所述第三密文和所述第四密文发送给所述智能家电;

所述云端服务器包括:

接收模块,用于接收所述终端发送的所述密钥申请请求和所述第一密文;

第一判断模块,用于判断智能家电是否安全,是则触发第二判断模块,否则触发第二发送模块;

所述第二判断模块,用于判断所述终端是否拥有所述智能家电的控制权限,是则触发生成发送模块,否则触发所述第二发送模块;

所述第二发送模块,用于发送警示信息给所述终端,还用于返回错误响应给所述终端;

所述生成发送模块,用于生成随机会话密钥,使用保存的用户密钥对所述随机会话密钥和所述密钥申请请求中的设备id及随机数加密得到所述第二密文,使用保存的设备密钥对所述随机会话密钥和所述密钥申请请求中的用户id加密得到所述第三密文,并将所述第二密文和所述第三密文发送给所述终端。

本发明与现有技术相比,具有以下优点:

本发明技术方案提供的一种密钥协商方法及系统,智能家电无需与云端服务器进行交互即可实现云端服务器对智能家电安全性的验证,适用于无wifi模块的低成本智能家电及无法使用wifi的环境,安全性更高。

附图说明

图1为本发明实施例一提供的一种密钥协商方法的流程图;

图2为本发明实施例一中步骤103的细化流程图;

图3为本发明实施例二提供的一种密钥协商方法的流程图;

图4为本发明实施例二中步骤303的细化流程图;

图5为本发明实施例三提供的一种密钥协商系统的方框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供一种密钥协商方法,如图1所示,包括

步骤101:智能家电和终端通过非网络连接的点对点通信方式建立连接;

具体的,非网络连接的点对点通信方式为蓝牙或nfc;

步骤102:智能家电使用保存的设备密钥对设备id加密得到第一密文,发送第一密文给终端;

步骤103:终端接收智能家电发送的第一密文,发送密钥申请请求和第一密文给云端服务器;

具体的,密钥申请请求中包含申请参数,例如用户id、设备id、生成的随机数;

具体的,密钥申请为837000215000000000f3984e445af69ed0ded34c9608a0f600de65d904384d88bcf3e6f66fd95dabd5;

在本实施例中,步骤103如图2所示,具体包括:

步骤201:终端接收用户输入的用户id、用户密码;

步骤202:终端判断接收的用户id、用户密码与保存的用户id、用户密码是否相同,是则执行步骤203,否则退出;

步骤203:终端通过用户id和用户密码计算得到用户密钥;

具体的,用户密钥为ccb41dcab5a7b5caad8210e6d319c2a5d53447fb274b687014c7b93592d09f91;

步骤204:终端获取设备id;

具体的,终端可以通过发送获取设备id指令、扫描智能家电二维码、使用蓝牙搜索查找智能家电的广播数据等方式获取设备id;

优选地,本实施例中,智能家电通过蓝牙广播包含其设备id的广播数据;

步骤205:终端生成随机数并保存;

步骤206:终端根据用户id、设备id、随机数生成密钥申请请求,并将密钥申请请求和第一密文发送给云端服务器;

步骤104:云端服务器接收终端发送的密钥申请请求和第一密文,使用保存的设备密钥解密第一密文得到第一设备id;

步骤105:云端服务器判断第一设备id和密钥申请请求中的设备id是否相同,是则执行步骤106,否则发送警示信息给终端;

步骤106:云端服务器判断密钥申请请求中的设备id是否存在于关联列表中,是则执行步骤107,否则执行步骤108;

步骤107:云端服务器判断用户id是否为关联列表中与设备id相关联的用户id,是则执行步骤109,否则返回错误响应给终端;

步骤108:云端服务器将设备id与用户id进行关联,并将记录保存在关联列表中,执行步骤109;

步骤109:云端服务器生成随机会话密钥;

具体的,随机会话密钥为7c1ed9e7d787d1a614fac7780b7fa1afc98f2897bc7ce4be3cabff85425dda62;

步骤110:云端服务器使用保存的用户密钥对随机会话密钥、密钥申请请求中的设备id和随机数进行加密得到第二密文;

具体的,第二密文为4a21668e99082f55ca2da33d6ec98d7273f92631d8b20216ca45381bc7efb5fa;

步骤111:云端服务器使用保存的设备密钥对随机会话密钥和密钥申请请求中的用户id进行加密得到第三密文;

具体的,设备密钥为55e3192d096e62d4f9cd00e734a949de2b8e55b13d9b85b1d2d2999c9db2e72c;

具体的,第三密文为94011eb9fa384eef8be6c7aa65b3491bc60756e3f67af4fff6865b7f958b79a2b2;

步骤112:云端服务器将第二密文和第三密文发送给终端;

步骤113:终端使用保存的用户密钥解密第二密文,得到第一随机会话密钥、第二设备id、第一随机数;

步骤114:终端判断保存的随机数与第一随机数、保存的设备id与第二设备id是否均相同,是则执行步骤115,否则密钥协商结束;

步骤115:终端使用得到的第一随机会话密钥对用户id进行加密,得到第四密文;

具体的,第四密文为97e19eb03b3d26772d15d510cfda40191a290c9765870e954bb80c9474af0d95;

步骤116:终端通过非网络连接的点对点通信方式将第三密文和第四密文发送给智能家电;

步骤117:智能家电使用保存的设备密钥解密第三密文,得到第一用户id和第二随机会话密钥;

步骤118:智能家电使用第二随机会话密钥解密第四密文,得到第二用户id,

步骤119:智能家电判断第一用户id与第二用户id是否相同,是则将第二随机会话密钥作为通信密钥,并通过非网络连接的点对点通信方式通知终端密钥协商成功;否则密钥协商结束。

实施例二

本发明实施例二提供一种密钥协商方法,如图3所示,包括

步骤301:智能家电和终端通过非网络连接的点对点通信方式建立连接;

具体的,非网络连接的点对点通信方式为蓝牙或nfc;

步骤302:智能家电使用保存的设备私钥对设备id加密得到第一加密值,发送第一加密值给终端;

步骤303:终端接收智能家电发送的第一加密值,发送密钥申请请求和第一加密值给云端服务器;

具体的,密钥申请请求中包含申请参数,例如用户id、设备id、生成的随机数;

具体的,密钥申请为837000215000000000f3984e445af69ed0ded34c9608a0f600657a94d4f15695633005ec909ac565511;

在本实施例中,步骤303如图4所示,具体包括:

步骤401:终端接收输入的用户id、用户密码;

步骤402:终端判断接收的用户id、用户密码与保存的用户id、用户密码是否相同,是则执行步骤403,否则退出;

步骤403:终端获取设备id;

具体的,终端可以通过发送获取设备id指令、扫描智能家电二维码、使用蓝牙搜索查找智能家电的广播数据等方式获取设备id;

优选地,本实施例中,智能家电通过蓝牙广播包含其设备id的广播数据;

步骤404:终端生成随机数并保存;

步骤405:终端根据用户id、设备id、随机数生成密钥申请请求,并将密钥申请请求和第一加密值发送给云端服务器。

步骤304:云端服务器接收终端发送的密钥申请请求和第一加密值,使用保存的设备公钥解密第一加密值得到设备id’;

步骤305:云端服务器判断设备id’和密钥申请请求中的设备id是否相同,是则执行步骤306,否则发送警示信息给终端;

步骤306:云端服务器判断密钥申请请求中的设备id是否存在于关联列表中,是则执行步骤307,否则执行步骤308;

步骤307:云端服务器判断用户id是否为关联列表中与设备id相关联的用户id,是则执行步骤309,否则返回错误响应给终端;

步骤308:云端服务器将设备id与用户id进行关联,并将记录保存在关联列表中,执行步骤309;

步骤309:云端服务器生成随机工作密钥;

具体的,随机工作密钥为657a94d4f15695633005ec909ac5655111599bcd8278b75d183b86feeb778bff;

步骤310:云端服务器使用保存的用户公钥对随机工作密钥、密钥申请请求中的设备id和随机数进行加密得到第二加密值;

具体的,用户公钥为b645775ec1fb27c1b45d798489f77ebe6c00a93a0aaa88be9c4ffa1e7e6c32545cac5782d0ce1615caece919c33ec8b34bd98af3ac9adbb14cfd02f65220d9e93be644f30611bb7521073ddb6c8a6f0ad25852c46792332cf65dc3835d4730a2ddaeec3a7d8978a2bc752d5ca32b918b167a5ccfbdc91eaa5b40d232d7a8ac2efbad5ed6bd37ab53134d688626030209187e01c0726bf91aeb8cabb2e946c64af46b919b2649187efaea912103f3db5ad036bad0218cb3f7568390970983efcd885f4d9bd4721b3ab52032fa4b7865c0d68f7b68b28d7fc04f3b6efa49902da20598daa211cf97d08b6e879738d81e8c3b81baf25474521a4fc3dc269d2d1c4b;

具体的,第二加密值为73c27cc2dca1b31c6c510606689e804d0e76a158eab332a6920d2ea376a0ad8e9bdcbba7acff6f0dd3a2ac3ad5ffebf8cd5c4f279eb83b0b03fe32dca1f0df962b08c8c844f0af4f8f087e23b4a8d370942deac73b6003e689a1322f232bef1e6e225270958c5dd5d02d3e00f6bac6286d2dd9c5fac7c3592e9a827332270c0a5082554d34e725618597d966404889aa99c415fc3605762b6b4a4dd306e36e222881a9f65a6b3b43bb8793cf2eac6a6eaf413388fbf7dc7ea7f756fdbea16d521c9a4b52f954cc8d4be9a5c32e7355c6f073439a479e69eebfc0e1eab0f9ac9bba11d276e164048dc03f366d254feddcee079095ab3cb38c2bd92a44257b174d;

步骤311:云端服务器使用保存的设备公钥对随机工作密钥和密钥申请请求中的用户id进行加密得到第三加密值;

具体的,设备公钥为a83daffe93db91c319a6c73ce713133fdb70afe001db7f0472e22940f8bf003710060b3908ab7ab4b49a24b07a9dad5e17c6e5c36f1b4af8362d0751dd3d809e6ab86d0bf665d14e76d44621fd85d060ef28255111f4f19ec92ee5c3a85c51d733147b99f6fb7ab7746fbdc7e8bd8179d8a6f668786fc8e49b28d3af9c08b3728f850863f3a20f463140f56b1472f09255d12d0437243127d11e43a0128fff22498c180753a6bb6f2e216b28a774e47d034e70bcccaf396dc704c29218b6fa1197ee3a8c624ea1564a56d8473ba600746b62254ffabdccc134ade18bb05488b02964673480b7914e62faf44cc521c224f7508483e2980564a072809e3d602f7f;

具体的,第三加密值为2e136a766a6083a770d43b5db0427cec1d191b696335ebf3072249683e570f5b82d0ac87ad4d274b106be5842b9985fc3f095ba44655938353c8d6bcf38c33d40a675e5317c4dfb954419455e3038cc44d0d90768094d29bddaf1389a12611fb19485984ee4924fba8d6c995491bf94638b23745e782d2bab50331e1c009e989b999992b10c70766919cd86d91871844a4301c20a58a50714cf90ce47fe8e23261b254a7ede0023f1bc617c77a0195cb7ea38483e00bea2e68ac18725431a97e67a40dffaa36853c55d8a15ee558dd493e4cfdea1b7790d2a2e3627f5a31991f91ad8c9675363e22a9fd512b874d5b8f67dc9d1f4c83f93cecdbe95c64957d99;

步骤312:云端服务器将第二加密值和第三加密值发送给终端;

步骤313:终端使用保存的用户私钥解密第二加密值,得到第一随机工作密钥、设备id”和随机数';

具体的,用户私钥为

db750dc524646da0f749382e4ed44952e0331dfcf8c1860ebdb05eb94cf7d52587c4d9109a1dc3ced0565800490d5ae339dc785bdb0b50fee4e4dc4154eaa69855a1dffa334ae55ad050aeb0a3ff648b0d3e912d9d9cdc147a63f95b4859cb553ec59d2523e9a27efb70c8721e1e72e6bafc53c22f1ef5daa909ed3964ffb763ce175ae88ebb0cddb795c60f24ea3ffd699aa0427a098bdd7244e245db9acff59a75274afc77f836fe71858ba2e18e218e8cb630bd8c5b3ffa6dd661baff0dc5c563e82b984a6223a469f85a9edfb237c2b03ebf2668566ccb8d52045f10e56b956a4a865b9777b965de817c872b00a3f4d06f2dea062f6d25f78b59fd1df439012f76ad93eebef0d9a5199a966e6b1ef97b0d346a9b90ffcf627e807dbbf0f8ccecf14737ade57ade8138e477808cf7213ee19f8d655840a837dc40b616b663a842c194f665f72b3068df28b11a160ef2395e4b62c8901fc4317a0d562cb5fe75e25760f5fab318007fb1757c5829c2b94bd79ffae52deaca72f5471416958537f4bb681d28c84b82c715a992fa4f397cecd0ca7bdc0fafa690f166ca43746758f2aa227ffe0ad4d3acfaf778d809012f75211a86bc8f2205dac0b474533fe80cba1d958899d99f97ca75f614e0e3c0a409ba5fa80bf83b3de136fd9cda379048573db8d13184fe3f9c7447dd635d9f269f59307c3405b87af085537f981c71b2856b80603120426fa9d7c372e590640c46b350b46af564ed42821e298ef3b4d0a24cba84283f6d390e249d26dc5f3dd91bff39d47032aba8132b66c717614736a2245adc19c88617e1c15ab06f2b520e75e7733ebbdaaf5c0bfc9a5ce1b0d99cdbdea7b144e6c82533893a7b2920fac6e35841580a4f29163d9c08dee8bee3;

步骤314:终端比对保存的随机数与随机数'、保存的设备id与设备id”是否均相同,是则执行步骤315,否则密钥协商结束;

步骤315:终端使用得到的第一随机工作密钥对用户id进行加密,得到第四加密值;

具体的,第四加密值为ed4e1d4d3179b53d22a561e38b97522bb2c29fbc7957b0f1d7bb03ae96760d7a;

步骤316:终端通过非网络连接的点对点通信方式将第三加密值和第四加密值发送给智能家电;

步骤317:智能家电使用保存的设备私钥解密第三加密值,得到用户id'和第二随机工作密钥;

具体的,设备私钥为

fb5172ee60330b9e5d20a451da66a22f81b93390528f93d8ae35fc121c38823fa4f2ae3254c9e47a776d554e3b3e1dcbaff77e7e096532ae8896992dabf42d31fdccd8807dc4fa40ffa492c93a117ce6e440b198cfa5c84e87793e784469a2007a50aef1fa84dded72c4e37f86a7357e7e1ee93c4a0d0eb89a47613e93c35c5ffa40ba665ff67928f92bc6c9fd7af759993d28e25603111f3dda4185431c362376dc2bcf710a389be7695de63ffe988d647a376c2bc38b17fb7554e7bd84f7dd210476e9c5e22230a7e638cea6114c2bf740ac38d6401fc6ce7100d6deb0c83ff35b3e61f8b6afe45320c2094c8ca120d037fd0c990143e7d983ce6fc93af02dccc2abb57443a2afc0889bd8e4ecc22f9aadde49343b2ee657ea3c1a354c0532fd9d8c380dc50096973f49459817200798b339284f575857c3898ffc1a21b3c10b5c1ef9717f4fb62d9354d506aec0e90e0777ab5d6361343a449a953a882629e57e5f4b602568fbd18a8120a2011220a17965e66d1efe6381afae9761a4c65929be6a59716077cd71e2ef81fa1a6cf0313396824abeb03879e4d2511c64b4532e1c83e25284d5f48ba173dc58886b820a64a8a20e9acbb4f0691e049a04782416c1dbe41af221a9e417ef19e971b1371443617709a620a6d500dc96fb069a20b0c363a08c104d3ed4eefdeef729ee26bf14d7cd2628a3df24d56bb611e716f1ec070f506d2f9b00a15e9d118166f21d647ddfe7cef6d2dc03a41748f75bef4c3c2cf60efea2a7cf54ee6114143f93830c68b9a8a694cc29d38bf8e6746facb808d38b382a58f61113abc76e129701220ea2667784c4f700f21e9eb5ecb0c88c970e6194eae69a603d9d245b78bc7b5845a5b0977b220adc34cdc4a6d09d7ed7;

步骤318:智能家电使用第二随机工作密钥解密第四加密值,得到用户id”,

步骤319:智能家电判断用户id'与用户id”是否相同,是则将第二随机工作密钥作为通信密钥,并通过非网络连接的点对点通信方式通知终端密钥协商成功;否则密钥协商结束。

实施例三

本发明实施例三提供一种密钥协商系统,如图5所示,包括智能家电、终端和云端服务器;

智能家电包括:

第一建立连接模块11,用于和终端通过非网络连接的点对点通信方式建立连接;

第一加密发送模块12,用于使用保存的设备密钥对设备id加密得到第一密文,发送第一密文给终端;

第一接收判断模块13,用于接收终端发送的第三密文和第四密文,使用保存的设备密钥解密第三密文得到第一用户id和第二随机会话密钥,使用第二随机会话密钥解密第四密文得到第二用户id,判断第一用户id和第二用户id是否相同,是则触发第一发送模块14,否则密钥协商结束;

第一发送模块14,用于将第二随机会话密钥作为通信密钥并通过第一建立连接模块11通知终端密钥协商成功;

终端包括:

第二建立连接模块21,用于和智能家电通过非网络连接的点对点通信方式建立连接;

第一接收发送模块22,用于接收智能家电发送的第一密文,发送密钥申请请求和第一密文给云端服务器;

第二接收判断模块23,用于接收云端服务器发送的第二密文和第三密文,使用保存的用户密钥解密第二密文得到第一随机会话密钥、第二设备id和第一随机数,判断保存的随机数和第一随机数、保存的设备id与第二设备id是否均相同,均为是则触发第二加密发送模块24,否则密钥协商结束;

第二加密发送模块24,用于使用第一随机会话密钥对用户id加密得到第四密文,并通过第二建立连接模块21将第三密文和第四密文发送给智能家电;

云端服务器包括:

接收模块31,用于接收终端发送的密钥申请请求和第一密文;

第一判断模块32,用于判断智能家电是否安全,是则触发第二判断模块33,否则触发第二发送模块34;

第二判断模块33,用于判断终端是否拥有智能家电的控制权限,是则触发生成发送模块35,否则触发第二发送模块34;

第二发送模块34,用于发送警示信息给终端,还用于返回错误响应给终端;

生成发送模块35,用于生成随机会话密钥,使用保存的用户密钥对随机会话密钥和密钥申请请求中的设备id及随机数加密得到第二密文,使用保存的设备密钥对随机会话密钥和密钥申请请求中的用户id加密得到第三密文,并将第二密文和第三密文发送给终端。

可选的,在本实施例中,第一接收发送模块22包括:

第一验证子模块,用于验证用户身份,若验证通过则触发运算生成子模块,否则退出;

运算生成子模块,用于根据用户输入的用户id和用户密码计算得到用户密钥并保存,获取设备id并保存,生成随机数并保存,触发生成发送子模块;

生成发送子模块,用于根据用户id、设备id、随机数生成密钥申请请求,发送密钥申请请求和第一密文给云端服务器。

可选的,在本实施例中,第一验证子模块包括:

第一接收保存单元,用于接收用户输入的用户id、用户密码并保存;

第一判断单元,用于判断接收的用户id、用户密码与保存的用户id、用户密码是否相同,均为是则触发运算生成子模块,否则退出。

可选的,在本实施例中,第一判断模块,具体用于使用保存的设备密钥解密第一密文得到第一设备id,判断第一设备id和密钥申请请求中的设备id是否相同,是则智能家电安全,触发第二判断模块,否则触发第二发送模块。

可选的,在本实施例中,第二判断模块33包括:

第一判断子模块,用于判断密钥申请请求中的设备id是否存在于关联列表中,是则触发第二判断子模块,否则触发关联子模块;

第二判断子模块,用于判断密钥申请请求中的用户id是否为关联列表中于设备id相关联的用户id,是则触发生成发送模块,否则触发第二发送模块;

关联子模块,用于将密钥申请请求中的设备id和密钥申请请求中的用户id进行关联,并将记录保存在关联列表中,触发生成发送模块。

实施例四

本发明实施例四提供一种密钥协商方法,包括:

步骤s1:智能家电和终端通过非网络连接的点对点通信方式建立连接,所述智能家电使用保存的设备密钥对设备id加密得到第一密文,发送所述第一密文给终端;

步骤s2:所述终端发送密钥申请请求和所述第一密文给云端服务器;

步骤s3:所述云端服务器判断所述智能家电是否安全,是则执行步骤s4,否则发送警示信息给所述终端;

步骤s4:所述云端服务器判断所述终端是否拥有智能家电的控制权限,是则执行步骤s5,否则返回错误响应给所述终端;

步骤s5:所述云端服务器生成随机会话密钥,使用保存的用户密钥对所述随机会话密钥和所述密钥申请请求中的设备id及随机数加密得到第二密文,使用保存的设备密钥对所述随机会话密钥和所述密钥申请请求中的用户id加密得到第三密文,并将所述第二密文和所述第三密文发送给所述终端;

步骤s6:所述终端使用保存的用户密钥解密所述第二密文得到第一随机会话密钥、第二设备id和第一随机数,判断保存的随机数和所述第一随机数、保存的设备id与所述第二设备id是否均相同,均为是则使用所述第一随机会话密钥对用户id加密得到第四密文,并通过非网络连接的点对点通信方式将所述第三密文和所述第四密文发送给所述智能家电,执行步骤s7,否则密钥协商结束;

步骤s7:所述智能家电使用保存的设备密钥解密所述第三密文得到第一用户id和第二随机会话密钥,使用所述第二随机会话密钥解密所述第四密文得到第二用户id,判断所述第一用户id和所述第二用户id是否相同,是则将所述第二随机会话密钥作为通信密钥并通过非网络连接的点对点通信方式通知所述终端密钥协商成功,否则密钥协商结束。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1