本發(fā)明涉及一種控制系統(tǒng)方案,尤其涉及一種移動(dòng)互聯(lián)環(huán)境下全集成工業(yè)控制系統(tǒng)方案。
背景技術(shù):
在全集成系統(tǒng)中,ERP、MES等系統(tǒng)與SCADA系統(tǒng)集成,會(huì)為用戶提供諸多的應(yīng)用。如果針對(duì)不同的應(yīng)用,用戶采用不同的登錄名和密碼,那么這種認(rèn)證方式會(huì)帶來(lái)諸多的安全管理問(wèn)題,特別是在移動(dòng)互連環(huán)境下,用戶借助移動(dòng)終端對(duì)應(yīng)用進(jìn)行訪問(wèn),在移動(dòng)終端上多次輸入用戶名密碼會(huì)造成使用的不便。
技術(shù)實(shí)現(xiàn)要素:
發(fā)明目的:本發(fā)明的目的在于設(shè)計(jì)一種基于單點(diǎn)登錄系統(tǒng)SSO的認(rèn)證方式,用于移動(dòng)用戶與全集成SCADA系統(tǒng)的各個(gè)應(yīng)用之間的認(rèn)證和訪問(wèn)控制。針對(duì)全集成系統(tǒng)基于ID的密鑰管理方案的基礎(chǔ)上,提出了單點(diǎn)登錄安全擴(kuò)展認(rèn)證方案,用于移動(dòng)用戶與工業(yè)應(yīng)用之間的認(rèn)證;在移動(dòng)互聯(lián)環(huán)境下全集成SCADA系統(tǒng)中,用戶、AC、和系統(tǒng)中的應(yīng)用之間存在兩種信任關(guān)系。
·一種是用戶和AC之間信任的關(guān)系。AC對(duì)其認(rèn)證的用戶進(jìn)行身份信息的管理;同時(shí),用戶信任由AC所認(rèn)證的全集成SCADA系統(tǒng)的應(yīng)用。
·另一種是AC與全集成SCADA系統(tǒng)的應(yīng)用之間的信任關(guān)系。AC可以對(duì)訪問(wèn)全集成系統(tǒng)的應(yīng)用的用戶進(jìn)行身份驗(yàn)證,用以確認(rèn)這個(gè)用戶是否有權(quán)限對(duì)這個(gè)應(yīng)用進(jìn)行訪問(wèn);系統(tǒng)的應(yīng)用相信并接受由AC所認(rèn)證的用戶對(duì)其的訪問(wèn)。
本發(fā)明是這樣實(shí)現(xiàn)的:移動(dòng)互聯(lián)環(huán)境下全集成工控制系統(tǒng)SSO方案是針對(duì)全集成系統(tǒng)基于ID的密鑰管理方案的基礎(chǔ)上提出了單點(diǎn)登錄安全擴(kuò)展認(rèn)證方案,首先用戶票據(jù)頒發(fā),用戶登錄全集成SCADA系統(tǒng),與AC進(jìn)行認(rèn)證,在認(rèn)證完成之后,AC對(duì)這個(gè)用戶進(jìn)行票據(jù)頒發(fā)。步驟如下:1、用戶向AC申請(qǐng)認(rèn)證票據(jù);2、AC確認(rèn)用戶的身份;3、AC生成用戶認(rèn)證票據(jù);4、AC將票據(jù)傳送給用戶;5、用戶確認(rèn)AC身份。
然后是用戶與全集成系統(tǒng)應(yīng)用的相互認(rèn)證,用戶在和AC認(rèn)證之后,獲得AC頒發(fā)的票據(jù)TKU,就可以利用這個(gè)票據(jù)訪問(wèn)全集成SCADA系統(tǒng)中的應(yīng)用;用戶對(duì)移動(dòng)互聯(lián)環(huán)境下的全集成SCADA系統(tǒng)的應(yīng)用的訪問(wèn)流程如下:1、用戶將票據(jù)發(fā)送給要訪問(wèn)的應(yīng)用;2、應(yīng)用確認(rèn)用戶身份;3、應(yīng)用將票據(jù)發(fā)送給AC;4、AC確認(rèn)票據(jù);5、應(yīng)用響應(yīng)用戶;6、用戶建立會(huì)話密鑰。
本發(fā)明相較于現(xiàn)有技術(shù)具有的積極效果在于:由于AC與系統(tǒng)的應(yīng)用有相互信任的關(guān)系,那么被AC所認(rèn)證授權(quán)的用戶,也會(huì)被系統(tǒng)的應(yīng)用所信任;同樣,用戶在完成與AC之間的認(rèn)證之后,也會(huì)信任AC所認(rèn)證過(guò)的應(yīng)用。在用戶通過(guò)移動(dòng)終端登錄系統(tǒng)時(shí),這種信任關(guān)系的建立能夠?qū)崿F(xiàn)“一處登錄,多處訪問(wèn)”的移動(dòng)互聯(lián)環(huán)境下全集成SCADA系統(tǒng)的單點(diǎn)登錄SSO。其中“一處登錄”,是指登錄AC;“多處訪問(wèn)”,是指訪問(wèn)全集成SCADA系統(tǒng)的應(yīng)用。針對(duì)移動(dòng)互聯(lián)環(huán)境下全集成SCADA系統(tǒng)的日益增多的應(yīng)用。
附圖說(shuō)明:
附圖是本發(fā)明SCADA系統(tǒng)中用戶可以直接訪問(wèn)應(yīng)用的SS0流程示意圖。
具體實(shí)施方式:
票據(jù)的頒發(fā)
用戶登錄全集成SCADA系統(tǒng),首先會(huì)與AC進(jìn)行認(rèn)證,這是單點(diǎn)登錄過(guò)程的開(kāi)始。用戶和AC之間相互認(rèn)證的過(guò)程可以采用生成共享密鑰的方式進(jìn)行。在認(rèn)證完成之后,AC會(huì)對(duì)這個(gè)用戶進(jìn)行票據(jù)頒發(fā)。
1.用戶向AC申請(qǐng)認(rèn)證票據(jù)。
·用戶利用自身的身份ID,IDU,和AC的身份ID,IDAC,生成共享密鑰KAU=F(IDAC,IDU)。
·RequestTK是用戶的票據(jù)請(qǐng)求,隨機(jī)序列號(hào)nonce用于表示消息的新鮮性,用戶將消息發(fā)送給AC。
2.AC確認(rèn)用戶的身份。
·AC收到消息后,按照用戶的身份ID和自身的ID,計(jì)算出共享密鑰KAU=F(IDAC,IDU),將加密信息進(jìn)行解密。
·如果RequestTK被正確解密,并且nonce在之前的通信中沒(méi)有被使用過(guò),那么就可以確認(rèn)該用戶的身份。
3.AC生成用戶認(rèn)證票據(jù)。
·AC根據(jù)用戶身份查詢用戶權(quán)限表,根據(jù)用戶權(quán)限會(huì)對(duì)用戶發(fā)布一個(gè)票據(jù),Ticket(TKU)。
·這個(gè)票據(jù)上記錄包括:用戶的基本信息、用戶的訪問(wèn)權(quán)限、權(quán)限的有效時(shí)間、票據(jù)的創(chuàng)建時(shí)間和到期時(shí)間。
4.AC將票據(jù)傳送給用戶。
·AC將票據(jù)用用戶和AC之間的共享密鑰KAU加密后傳送給用戶。
·ResponseTK是票據(jù)請(qǐng)求的響應(yīng)。AC將消息發(fā)送給用戶。
5.用戶確認(rèn)AC身份。
·用戶利用共享密鑰KAU=F(IDAC,IDU)將加密信息解密。
·如果ResponseTK被正確解密,并且nonce是之前用戶發(fā)送請(qǐng)求信息中的隨機(jī)序號(hào),那么就可以確認(rèn)這個(gè)票據(jù)TKU是由AC所頒發(fā)的。
·用戶將這個(gè)票據(jù)保存在移動(dòng)終端。
TKU=IDU||PU||TIU||TEU||CTU||ETU||SU
表1-1是用戶訪問(wèn)權(quán)限票據(jù),它的具體內(nèi)容如下:
·用戶的基本信息包括:用戶ID(IDU)。
·用戶的訪問(wèn)權(quán)限(PU=[p1,p2,...pm])是指:用戶可以訪問(wèn)的SCADA系統(tǒng)的應(yīng)用,可以包括MTU、SCADA系統(tǒng)的其他應(yīng)用等。這里m是指SCADA系統(tǒng)中所有應(yīng)用的個(gè)數(shù),這里可以用1和0分別表示用戶是否有權(quán)限訪問(wèn)這個(gè)應(yīng)用。
·訪問(wèn)權(quán)限的開(kāi)始時(shí)間(TIU=[ti1,ti2,...,tim])和結(jié)束時(shí)間(TEU=[te1,te2,...,tem])是用來(lái)記錄這個(gè)用戶對(duì)SCADA系統(tǒng)中有訪問(wèn)權(quán)限的應(yīng)用的訪問(wèn)時(shí)限,也就是對(duì)這個(gè)應(yīng)用訪問(wèn)的的有效時(shí)限。當(dāng)超過(guò)這個(gè)時(shí)限時(shí),對(duì)這個(gè)應(yīng)用的訪問(wèn)就會(huì)被拒絕。
·票據(jù)創(chuàng)建時(shí)限(CTU)和到期時(shí)限(ETU):當(dāng)票據(jù)在有效時(shí)限內(nèi),這個(gè)票據(jù)就有效,否則,票據(jù)就已過(guò)期,需要用戶與AC重新進(jìn)行認(rèn)證,并由AC重新向用戶頒發(fā)票據(jù)。
·AC的簽名信息(SU):這用以保證票據(jù)的可靠性,也就是說(shuō)證明這個(gè)票據(jù)是由AC發(fā)布的。AC將票據(jù)的內(nèi)容進(jìn)行哈希處理之后,對(duì)這個(gè)結(jié)果進(jìn)行加密,以防止票據(jù)的內(nèi)容被篡改。加密的密鑰為AC特有的,可以是KMC為AC選取的專門用于票據(jù)簽名
SU=E[H(IDU||PU||TIU||TEU||CTU||ETU)]。
表1-1票據(jù)內(nèi)容
用戶與全集成系統(tǒng)應(yīng)用的相互認(rèn)證
用戶在和AC認(rèn)證之后,獲得AC頒發(fā)的票據(jù)TKU,就可以利用這個(gè)票據(jù)訪問(wèn)全集成SCADA系統(tǒng)中的應(yīng)用。附圖描述了用戶對(duì)移動(dòng)互聯(lián)環(huán)境下的全集成SCADA系統(tǒng)的應(yīng)用的訪問(wèn)流程。
1.用戶將票據(jù)發(fā)送給要訪問(wèn)的應(yīng)用。
·用戶利用自身的身份ID,IDU,和應(yīng)用的身份ID,IDAPP,計(jì)算出共享密鑰KAppU=F(IDAPP,IDU)。
·用戶選擇隨機(jī)序列號(hào)nonce,用以保證消息的新鮮性;sn5為用戶提供的用以生成用戶和應(yīng)用之間會(huì)話密鑰的密鑰因子。用戶將消息發(fā)送給應(yīng)用。
2.應(yīng)用確認(rèn)用戶身份。
·應(yīng)用收到這個(gè)票據(jù),利用自身的身份ID和用戶的身份ID計(jì)算出共享密鑰鑰KAppU=F(IDAPP,IDU)。
·應(yīng)用將消息解密,利用票據(jù)TKU中的用戶ID和消息中的用戶ID進(jìn)行對(duì)比,如果兩者一致,則應(yīng)用確認(rèn)消息是用戶發(fā)出。Nonce用以確認(rèn)這個(gè)消息是否是新鮮的。
·如果票據(jù)TKU記錄表明用戶有權(quán)限訪問(wèn)這個(gè)應(yīng)用,并且訪問(wèn)時(shí)間是合法的,則應(yīng)用就會(huì)將票據(jù)發(fā)送給AC用以判斷票據(jù)的真?zhèn)巍?/p>
3.應(yīng)用將票據(jù)發(fā)送給AC。
·應(yīng)用利用自身ID,IDAPP,和AC的ID,IDAC,計(jì)算與AC之間的共享密鑰KACApp=F(IDAC,IDAPP)。
·應(yīng)用將用戶的票據(jù)TKU、隨機(jī)序號(hào)nonce和票據(jù)驗(yàn)證請(qǐng)求RequestVer一并用共享密鑰加密后,將消息發(fā)送給AC。
4.AC確認(rèn)票據(jù)。
·AC利用自身ID和應(yīng)用的ID計(jì)算出共享密鑰KACApp=F(IDAC,IDAPP),將加密信息解密。
·如果票據(jù)驗(yàn)證請(qǐng)求RequestVer被正確解密,并且nonce對(duì)應(yīng)用戶ID是之前沒(méi)有被使用過(guò),則AC開(kāi)始驗(yàn)證票據(jù)的真?zhèn)巍?/p>
·AC利用票據(jù)的簽名鑰匙對(duì)票據(jù)中的簽名進(jìn)行驗(yàn)證,如果驗(yàn)證通過(guò),則這個(gè)票據(jù)是合法的票據(jù)。
·AC發(fā)送消息給應(yīng)用,用以表明票據(jù)是真的;否則就發(fā)送消息用以表明票據(jù)是偽造的。
5.應(yīng)用響應(yīng)用戶。
·應(yīng)用如果確認(rèn)這個(gè)用戶的票據(jù)是真的,就會(huì)用共享密鑰KAppU將nonce和sn6加密回傳給用戶其中sn6是應(yīng)用提供的生成應(yīng)用和用戶之間會(huì)話密鑰的密鑰因子。
·應(yīng)用計(jì)算G(sn5,sn6)得到應(yīng)用和用戶隨后通信中用到的會(huì)話密鑰。
6.用戶建立會(huì)話密鑰。
·用戶將應(yīng)用響應(yīng)的消息用共享密鑰KAppU解密,nonce用以表明消息的新鮮性。
用戶計(jì)算得到應(yīng)用和用戶隨后通信中用到的會(huì)話密鑰;并開(kāi)始對(duì)應(yīng)用的訪問(wèn)。