首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >M2M通信通过HTTPS -如何认证?

M2M通信通过HTTPS -如何认证?
EN

Stack Overflow用户
提问于 2015-12-02 16:07:31
回答 1查看 215关注 0票数 0

需求

我目前正在为一个机器销售商开发一个PHP门户。他的机器能够通过互联网与局域网端口集成SBC进行通信。购买机器的消费者可以在登录到机器销售商门户后在线配置它。

在他们在线配置它之后,他们可以通过HMI (在机器本身的触摸显示)下载配置文件到机器上。配置文件包含有价值的私有信息。人机界面不是基于浏览器的。例如,它是一个具有按钮"Load“的二进制应用程序。剩下的部分必须在后台的bash/php脚本中完成。

用于身份验证的解决方案

我处于非常早期的受孕状态,但我想知道一些过程。我从来没有一台机器需要访问我的服务,只有人类。究竟是怎样做的呢?

我有三种方法:

1.使用"API-Key"访问

意思:在SBC的操作系统中有一个文件,其中包含一个类似于8asd7d7d的序列。当我收到GET-request to portal.company.com/getConfig/8asd7d7d时,我知道它是从哪台机器来的,并且允许它接收这个配置。

缺点:买方可以访问SBCs文件系统。他可能会不经意地毁了档案。他可以找到发电方案,并从其他买家那里下载配置文件。

2.生成一次性UUID-URL

意思是:使用者在线创建他的配置。在此之后,他将得到一个像portal.company.com/getConfig/d8ac2292ea1fec3fe5c65e6ef573这样的一次性URL,他可以在人机界面中输入这个URL并加载文件。

缺点:使用者必须在人机界面的显示中键入一个长URL。

3.模拟人工身份验证过程

方法:机器向portal.company.com/login发送一个有效的post请求,其中包含其人类所有者的登录数据。它得到了一个会话cookie(在非浏览器环境中,比如纯PHP脚本中,这甚至可能吗?!)门户逻辑知道哪些URL是可访问的,哪些是不可访问的(就像人类访问者一样)。

还有其他/更好的想法吗?

我倾向于使用解决方案2,因为它相对容易实现,并且希望是安全的(让我们将sha512-字符串假装为URL-参数)。你有更好的建议吗?请注意,相反的方法是不可能的,门户不能主动地将数据推送到机器上(因为它没有固定的IP,没有way服务器,.)

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 05:59:02

如果设备支持加密功能,则可以使用PKI。使用设备公钥加密数据。只有知道私钥的设备才能解密配置文件。PKI也支持身份验证。在这里,设备连接到请求客户端证书的登录门户,在对客户端进行身份验证之后,配置文件被发送到以设备公钥加密的设备。

缺点:每个设备都需要一个客户端证书。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34047396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档