0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MCGS用戶程序云端授權(quán)系統(tǒng)設(shè)計(jì)

jf_10471008 ? 來源:jf_10471008 ? 作者:jf_10471008 ? 2022-11-08 12:04 ? 次閱讀

MCGS用戶程序云端授權(quán)系統(tǒng)設(shè)計(jì)

基于HTTP請(qǐng)求通過外接串口服務(wù)器實(shí)現(xiàn)MCGS組態(tài)屏(TPC7062Ti)云端授權(quán)系統(tǒng)搭建,重點(diǎn)講解如何實(shí)現(xiàn)系統(tǒng)對(duì)時(shí)(基于UDP協(xié)議的NTP對(duì)時(shí)協(xié)議)、加密算法的選擇、加密算法的設(shè)計(jì)與實(shí)現(xiàn)。

算法實(shí)現(xiàn)

MCGS組態(tài)屏授權(quán)管理可以通過“開發(fā)平臺(tái)”內(nèi)置的“用戶權(quán)限管理”,這種方式基本屬于一次配置授權(quán)永久有效,而現(xiàn)在介紹的這種授權(quán)方式可以利用云平臺(tái)修改設(shè)備授權(quán)狀態(tài),實(shí)現(xiàn)更加可控的設(shè)備管理。

通過MCGS實(shí)現(xiàn)云端授權(quán)有幾個(gè)難點(diǎn),如何將MCGS組態(tài)屏接入互聯(lián)網(wǎng),如何連接管理服務(wù)器,如何進(jìn)行數(shù)據(jù)加密與解密,如何獲取當(dāng)前時(shí)間戳(非MCGS時(shí)間戳)等困難。

1.接入互聯(lián)網(wǎng)

“接入互聯(lián)網(wǎng)”可以使用市場(chǎng)上常見的串口轉(zhuǎn)4G串口服務(wù)器、串口轉(zhuǎn)WIFI串口服務(wù)器、串口轉(zhuǎn)以太網(wǎng)串口服務(wù)器設(shè)備實(shí)現(xiàn),其中串口轉(zhuǎn)4G對(duì)于需要移動(dòng)的應(yīng)用場(chǎng)景有著不可替代性,但這種方式存在流量費(fèi)用。一般來說MCGS組態(tài)屏應(yīng)用于固定環(huán)境,此時(shí)可以采用串口轉(zhuǎn)WIFI串口服務(wù)器或者串口轉(zhuǎn)以太網(wǎng)串口服務(wù)器,WIFI相對(duì)于以太網(wǎng)穩(wěn)定性較差且易受干擾,接下來小編就采用MCGS組態(tài)屏連接串口轉(zhuǎn)以太網(wǎng)的NA111串口服務(wù)器實(shí)現(xiàn)設(shè)備上網(wǎng)。

2.連接管理服務(wù)器

“連接管理服務(wù)器”為了方便我就直接采用OneNET的HTTP服務(wù)器實(shí)現(xiàn),應(yīng)用場(chǎng)景并不復(fù)雜,只需要定義一個(gè)字符型變量,并且可以通過“GETPOST”請(qǐng)求或修改變量就行。

3.獲取時(shí)間戳

“獲取當(dāng)前時(shí)間戳”可以通過串口服務(wù)器NA111連接NTP服務(wù)器通過NTP協(xié)議獲取準(zhǔn)確時(shí)間戳,這里我就通過中國(guó)國(guó)家授時(shí)中心(ntp.ntsc.ac.cn:123)的NTP服務(wù)器獲取時(shí)間。

【注】網(wǎng)絡(luò)時(shí)間協(xié)議,英文名稱:Network Time Protocol(NTP)是用來使計(jì)算機(jī)時(shí)間同步化的一種協(xié)議。

數(shù)據(jù)加密

這幾個(gè)難點(diǎn)中最難的是如何對(duì)數(shù)據(jù)進(jìn)行加密,利用MCGS腳本開發(fā)進(jìn)行數(shù)據(jù)的加密與解密是比較困難,若一個(gè)加密不能被該理解的設(shè)備所理解這樣的加密是沒有意義的,而MCGS并不支持使用加密庫(kù)函數(shù)導(dǎo)致加密解密都需要從原理自行封裝腳本,導(dǎo)致不能使用運(yùn)算過于復(fù)雜的算法,常見的加密算法有對(duì)稱加密和非對(duì)稱加密和散列算法,接下來分析哪個(gè)算法適合MCGS腳本加密,先從安全級(jí)別較高的非對(duì)稱加密分析。

1.非對(duì)稱加密

非對(duì)稱加密算法,又稱為公開密鑰加密算法。它需要兩個(gè)密鑰,一個(gè)稱為公開密鑰(public key),即公鑰,另一個(gè)稱為私有密鑰 (private key),即私鑰,常見的非對(duì)稱加密算法有RSA、ECC等,他們都有運(yùn)算復(fù)雜且非常消耗MCU的算力,并不適用于組態(tài)屏的加密。

共享密鑰加密算法。在對(duì)稱加密算法中,使用的密鑰只有一個(gè),發(fā)送和接收雙方都使用這個(gè)密鑰對(duì)數(shù)據(jù)進(jìn)行加密和解密。這就要求加密和解密方事先都必須知道加密的密鑰。

2.散列算法

散列算法,常見的有MD5、CRC16、SHA1等,嚴(yán)格來說他們不能算作加密算法而是摘要算法,他們加密的結(jié)果是不可逆的,常被用于文件完整性以及數(shù)字簽名等場(chǎng)景。

3.對(duì)稱加密

現(xiàn)在就只剩下了對(duì)稱加密,AES、DES、3DES等都屬于對(duì)稱加密,對(duì)稱加密結(jié)果是可逆的,算法可以簡(jiǎn)單可以復(fù)雜,對(duì)于筆者來說,使用組態(tài)屏的腳本程序?qū)崿F(xiàn)AES、DES、3DES仍有些困難,并且寫這樣腳本有點(diǎn)違背使用MCGS的初衷(開發(fā)簡(jiǎn)單),MCGS的加密腳本就只能使用對(duì)稱加密的思想來實(shí)現(xiàn)。

上述這么多的算法留著給那些有興趣,并且熟悉MCGS腳本開發(fā)的人自行探索,筆者這里就是用密碼本加密,為了方便前端開發(fā),就使用Base64編碼表再結(jié)合Base64格式化文本實(shí)現(xiàn)數(shù)據(jù)加密,若認(rèn)為這樣的算法不可靠,可以對(duì)明文進(jìn)行“加”“減”進(jìn)一步加密,不建議使用“乘”“除”“與”“或”“非”“異或”這些可能導(dǎo)致數(shù)據(jù)不可逆的算法,這里就不再額外加密明文。

使用Base64就需要了解Base64,Base64算法很簡(jiǎn)單只需要把3個(gè)8位字節(jié)(3*8=24)轉(zhuǎn)化為4個(gè)6位的字節(jié)(4*6=24),之后在6位的前面補(bǔ)兩個(gè)0,形成8位一個(gè)字節(jié)的形式。如果剩下的字符不足3個(gè)字節(jié),則用0填充,輸出字符使用'=',因此編碼后輸出的文本末尾可能會(huì)出現(xiàn)1或2個(gè)'=',使用MCGS腳本實(shí)現(xiàn)這一操作也不算簡(jiǎn)單但可以實(shí)現(xiàn),先將Base64編碼表使用字符串變量一一存儲(chǔ),比如將base64_list的初值賦予“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”,也可以自定義密碼本(每個(gè)字符都必須唯一對(duì)應(yīng))對(duì)應(yīng)的加密時(shí)也需要使用對(duì)于密碼本加密,上述字符串順序不可亂,亂了就是不再是Base64編碼表。

MCGS加密過程講解

通過!InStr(1,base64_list,”M”)查找加密字符的碼值,解出的碼值使用!I2Bin(s)轉(zhuǎn)換為二進(jìn)制字符(不足6字節(jié)前面填零),再通過字符串拼接合成原始二進(jìn)制字符串,將“=”忽略不轉(zhuǎn)換(因?yàn)锽ase64把三個(gè)字節(jié)分成四個(gè)字節(jié),不足3個(gè)字節(jié),則用0填充,輸出字符使用'='),使用!Mid(str,1,8)和!Bin2I(s)轉(zhuǎn)換為ASCII碼值,在使用!I2Ascii(s)轉(zhuǎn)換為ASCII字符,拼接這些字符串就可以得到明文。

解決了怎么加密,現(xiàn)在需要考慮對(duì)什么數(shù)據(jù)進(jìn)行加密,這取決于我們要實(shí)現(xiàn)怎樣的授權(quán)系統(tǒng),比如,實(shí)現(xiàn)云端修改賬戶模式,這樣就需要預(yù)先定義模式對(duì)應(yīng)碼值表(9573-長(zhǎng)期授權(quán),6685-授權(quán)1天等等),為了保證碼值的安全甚至可使用當(dāng)前時(shí)間對(duì)碼值進(jìn)行保護(hù),實(shí)現(xiàn)動(dòng)態(tài)密鑰?;蛘呃迷贫嗽O(shè)置有效時(shí)間,也就是需要對(duì)結(jié)束時(shí)間的時(shí)間戳進(jìn)行加密。

本文僅探討算法和實(shí)現(xiàn)方法,有時(shí)間再講解算法的實(shí)現(xiàn)。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8881

    瀏覽量

    84991
  • MCGS
    +關(guān)注

    關(guān)注

    11

    文章

    87

    瀏覽量

    34837
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    云端ai開發(fā)環(huán)境怎么樣

    隨著云計(jì)算技術(shù)的成熟與普及,云端AI開發(fā)環(huán)境應(yīng)運(yùn)而生,為AI開發(fā)者提供了一個(gè)高效、靈活、可擴(kuò)展的開發(fā)與部署平臺(tái)。下面,一起探討云端ai開發(fā)環(huán)境怎么樣。
    的頭像 發(fā)表于 10-24 09:37 ?84次閱讀

    云端超級(jí)計(jì)算機(jī)怎么用

    云端超級(jí)計(jì)算機(jī)是一種基于云計(jì)算的高性能計(jì)算服務(wù),它將大量計(jì)算資源和存儲(chǔ)資源集中在一起,通過網(wǎng)絡(luò)向用戶提供按需的計(jì)算服務(wù)。
    的頭像 發(fā)表于 10-18 10:14 ?50次閱讀

    云端設(shè)備管理系統(tǒng):開啟高效運(yùn)維新時(shí)代

    隨著數(shù)字化飛速發(fā)展,云端設(shè)備管理系統(tǒng)應(yīng)運(yùn)而生。通過實(shí)時(shí)監(jiān)測(cè)設(shè)備運(yùn)行狀態(tài),云端設(shè)備管理系統(tǒng)能及時(shí)發(fā)現(xiàn)潛在問題,提高設(shè)備管理效率。它自動(dòng)化了諸多繁瑣的管理流程,如設(shè)備巡檢、維修工單生成等,
    的頭像 發(fā)表于 08-26 09:57 ?155次閱讀
    <b class='flag-5'>云端</b>設(shè)備管理<b class='flag-5'>系統(tǒng)</b>:開啟高效運(yùn)維新時(shí)代

    鴻蒙開發(fā)Ability Kit程序訪問控制:安全控件概述

    安全控件是系統(tǒng)提供的一組系統(tǒng)實(shí)現(xiàn)的ArkUI組件,應(yīng)用集成這類組件就可以實(shí)現(xiàn)在用戶點(diǎn)擊后自動(dòng)授權(quán),而無需彈窗授權(quán)。它們可以作為一種“特殊的按
    的頭像 發(fā)表于 07-03 09:22 ?288次閱讀
    鴻蒙開發(fā)Ability Kit<b class='flag-5'>程序</b>訪問控制:安全控件概述

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):向用戶申請(qǐng)單次授權(quán)

    基于授權(quán)最小化的原則,防止應(yīng)用獲取和濫用用戶數(shù)據(jù),針對(duì)部分應(yīng)用敏感權(quán)限,在彈窗向用戶申請(qǐng)授權(quán)時(shí),新增“允許本次使用”的授權(quán)選項(xiàng)。
    的頭像 發(fā)表于 07-01 14:34 ?340次閱讀
    鴻蒙開發(fā)Ability Kit<b class='flag-5'>程序</b>框架服務(wù):向<b class='flag-5'>用戶</b>申請(qǐng)單次<b class='flag-5'>授權(quán)</b>

    鴻蒙開發(fā)Ability Kit程序框架服務(wù):向用戶申請(qǐng)授權(quán)

    當(dāng)應(yīng)用需要訪問用戶的隱私信息或使用系統(tǒng)能力時(shí),例如獲取位置信息、訪問日歷、使用相機(jī)拍攝照片或錄制視頻等,應(yīng)該向用戶請(qǐng)求授權(quán),這部分權(quán)限是user_grant權(quán)限。
    的頭像 發(fā)表于 07-01 09:18 ?447次閱讀
    鴻蒙開發(fā)Ability Kit<b class='flag-5'>程序</b>框架服務(wù):向<b class='flag-5'>用戶</b>申請(qǐng)<b class='flag-5'>授權(quán)</b>

    有了云端,智能家居還有必要部署本地AI嗎?

    ? 電子發(fā)燒友網(wǎng)報(bào)道(文/黃山明)現(xiàn)如今,不少終端產(chǎn)品中都安裝了AI程序,不過這些AI程序基本上都需要通過互聯(lián)網(wǎng)訪問云端AI服務(wù),來實(shí)現(xiàn)各種智能化功能,例如語(yǔ)音識(shí)別、圖像識(shí)別、自然語(yǔ)言處理等。這種
    的頭像 發(fā)表于 05-10 00:19 ?2501次閱讀

    小米汽車答疑:智能泊車、授權(quán)登錄等問題

    對(duì)于“授權(quán)登錄賬號(hào)維持多久需重授權(quán)?”,小米汽車明確表示,如用戶為親屬/友人提供車輛使用許可,則默認(rèn)長(zhǎng)期生效;如需取消,僅需在小米汽車App中的“車輛-鑰匙與安全”選項(xiàng)中刪除即可。
    的頭像 發(fā)表于 05-07 14:19 ?862次閱讀

    帶FreeRTOS操作系統(tǒng)用戶程序跳轉(zhuǎn)到iap工程進(jìn)不去中斷是什么原因?

    用戶程序移植了FreeRTOS操作系統(tǒng),為了避免在任務(wù)中進(jìn)行跳轉(zhuǎn)到iap工程中,現(xiàn)將跳轉(zhuǎn)放到定時(shí)器中斷中,但是跳轉(zhuǎn)到iap工程后串口等中斷不進(jìn)入了,程序正常跑著?。?!有遇到此問題的嗎,
    發(fā)表于 04-25 07:45

    特斯拉正與車企洽談FSD系統(tǒng)授權(quán)事宜

    值得一提的是,自2021年起,馬斯克已數(shù)次提及與其他車企就FSD授權(quán)展開早期探討,但此后再無動(dòng)靜。去年,特斯拉對(duì)外公布了Autopilot及FSD的授權(quán)計(jì)劃。然而,今年初馬斯克卻表示,部分汽車制造商對(duì)特斯拉的完全自動(dòng)駕駛技術(shù)存在疑慮。
    的頭像 發(fā)表于 04-24 11:46 ?413次閱讀

    鴻蒙原生應(yīng)用元服務(wù)-訪問控制(權(quán)限)開發(fā)Stage模型向用戶申請(qǐng)授權(quán)

    requestPermissionsFromUser()方法后,應(yīng)用程序將等待用戶授權(quán)的結(jié)果。如果用戶授權(quán),則可以繼續(xù)訪問目標(biāo)操作。如果
    發(fā)表于 04-15 16:44

    MCGS嵌入版組態(tài)軟件主控窗口的屬性設(shè)置

    MCGS嵌入版組態(tài)軟件的主控窗口是組態(tài)工程的主窗口,是所有設(shè)備窗口和用戶窗口的父窗口,主控窗口可以放置一個(gè)設(shè)備窗口和多個(gè)用戶窗口,負(fù)責(zé)所有窗口的管理和調(diào)控,并調(diào)度用戶策略的運(yùn)行。
    發(fā)表于 03-28 11:34 ?1031次閱讀
    <b class='flag-5'>MCGS</b>嵌入版組態(tài)軟件主控窗口的屬性設(shè)置

    VMware宣布停止買斷授權(quán),改為訂閱制

    VMware日前宣布未來將全面終止買斷授權(quán),改為訂閱制,此舉影響全球的用戶及國(guó)內(nèi)VMware用戶云端支出,為此數(shù)字通國(guó)際云端服務(wù)業(yè)務(wù)處處長(zhǎng)羅
    的頭像 發(fā)表于 02-27 18:17 ?1300次閱讀

    EG網(wǎng)關(guān)網(wǎng)口連接MCGS觸摸屏應(yīng)用案例

    EG網(wǎng)關(guān)網(wǎng)口連接MCGS觸摸屏應(yīng)用案例 前言:MCGS觸摸屏廣泛應(yīng)于工業(yè)控制領(lǐng)域,是一款性能高,運(yùn)行穩(wěn)定的人機(jī)交互設(shè)備。
    的頭像 發(fā)表于 12-19 17:12 ?1111次閱讀
    EG網(wǎng)關(guān)網(wǎng)口連接<b class='flag-5'>MCGS</b>觸摸屏應(yīng)用案例

    基于MCGS的水泥生產(chǎn)現(xiàn)場(chǎng)監(jiān)控教學(xué)仿真系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于MCGS的水泥生產(chǎn)現(xiàn)場(chǎng)監(jiān)控教學(xué)仿真系統(tǒng).pdf》資料免費(fèi)下載
    發(fā)表于 11-08 10:22 ?0次下載
    基于<b class='flag-5'>MCGS</b>的水泥生產(chǎn)現(xiàn)場(chǎng)監(jiān)控教學(xué)仿真<b class='flag-5'>系統(tǒng)</b>