蔡文潔, 易術(shù)明, 易文清, 黃偉華, 劉海燕
(長(zhǎng)沙醫(yī)學(xué)院,信息工程學(xué)院 , 湖南,長(zhǎng)沙 410219)
計(jì)算機(jī)和移動(dòng)設(shè)備的全面普及,網(wǎng)絡(luò)和移動(dòng)設(shè)備的結(jié)合是大趨勢(shì)的結(jié)果,越來越多的事務(wù)處理也開始在移動(dòng)端進(jìn)行,手機(jī)作為最方便的移動(dòng)設(shè)備使用率越來越高,充當(dāng)著極為重要的角色[1]。微信在手機(jī)軟件中有著重要的地位,其有著數(shù)量龐大的用戶群體,以微信為中心的眾多移動(dòng)互聯(lián)網(wǎng)產(chǎn)物也都取得了巨大的成功。
近幾年騰訊公司又推出了用完即退的微信小程序,用戶在使用微信小程序時(shí),是直接從微信客戶端進(jìn)入的,不用安裝App,不會(huì)占用手機(jī)的存儲(chǔ)空間,使用的是微信權(quán)限,這就為小程序的發(fā)展提供了強(qiáng)有力的基礎(chǔ),而且小程序的使用十分簡(jiǎn)單方便,Web端大部分功能在移動(dòng)端都可以進(jìn)行,用戶的體驗(yàn)感更好了,這也成為了近年來移動(dòng)辦公的新趨勢(shì)[2-3]。在微信小程序進(jìn)行設(shè)計(jì)開發(fā)時(shí),以Browser/Server(B/S)結(jié)構(gòu)為軟件開發(fā)的模式是當(dāng)下的選擇之一,其應(yīng)用的計(jì)算機(jī)編程語言Java在軟件開發(fā)系統(tǒng)中有安全性和可移植性的特點(diǎn),B/S軟件開發(fā)技術(shù)的成熟也讓兩者的關(guān)聯(lián)越來越緊密[4]。
微信小程序發(fā)展中的信息安全性、軟件開發(fā)效能都是研究人員需要重視的,本文對(duì)基于B/S計(jì)算機(jī)軟件開發(fā)技術(shù)的金融安全微信小程序進(jìn)行了深入的分析研究,分析了微信小程序的功能特點(diǎn)和應(yīng)用系統(tǒng),研究了軟件開發(fā)技術(shù),總結(jié)了B/S結(jié)構(gòu)對(duì)小程序的優(yōu)勢(shì),為小程序應(yīng)用系統(tǒng)的優(yōu)化提供了理論依據(jù)。
軟件開發(fā)的過程是以用戶的需求為基準(zhǔn)構(gòu)造應(yīng)用系統(tǒng)中軟件部分,軟件開發(fā)包括需求捕捉和分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等等。通常來說,軟件開發(fā)用Java、C++和C語言等程序設(shè)計(jì)語言實(shí)現(xiàn),用各種軟件工具進(jìn)行軟件開發(fā)[5]。軟件開發(fā)過程中常用到的工具如圖1所示。
圖1 軟件開發(fā)工具種類
各類軟件工具都是基于計(jì)算機(jī)的工具,這些工具可以輔助軟件生命周期延長(zhǎng),減少手工管理方式,也讓軟件工程更加系統(tǒng)化。
一種以Web瀏覽器為客戶端主要應(yīng)用軟件的網(wǎng)絡(luò)結(jié)構(gòu)模式就是B/S結(jié)構(gòu)。B/S模式下的客戶端被統(tǒng)一,其結(jié)構(gòu)模式把系統(tǒng)功能的核心部分轉(zhuǎn)移到了服務(wù)器上,此模式讓系統(tǒng)的開發(fā)、維護(hù)和使用變得更加簡(jiǎn)單便捷。而B/S架構(gòu)作為Client/Server(C/S)架構(gòu)的改進(jìn),也可以說是3層的C/S架構(gòu)[6],每層的構(gòu)成和性能如圖2所示。
圖2 B/S架構(gòu)組成
B/S架構(gòu)利用的是不斷發(fā)展和成熟的瀏覽器技術(shù),在常用的瀏覽器中實(shí)現(xiàn)了原來專業(yè)或?qū)S密浖拍軐?shí)現(xiàn)的各種效能,是一種新的軟件系統(tǒng)構(gòu)造技術(shù),其工作模式是瀏覽器請(qǐng)求,服務(wù)器響應(yīng),即用戶通過瀏覽器對(duì)分布在網(wǎng)絡(luò)平臺(tái)的服務(wù)器進(jìn)行請(qǐng)求訪問,此訪問是由服務(wù)器進(jìn)行請(qǐng)求處理,并將處理結(jié)果和信息數(shù)據(jù)反饋回用戶使用的瀏覽器,其他的數(shù)據(jù)加工等都是網(wǎng)頁(yè)服務(wù)器完成。現(xiàn)今軟件開發(fā)的主要結(jié)構(gòu)模式是B/S結(jié)構(gòu)和輸入在操作系統(tǒng)的瀏覽器的開發(fā)模式[7]。
微信小程序是一種創(chuàng)新型應(yīng)用,此應(yīng)用不需要使用者下載安裝就可以使用,是一種只需要用戶掃一掃或搜索一下就可以打開的應(yīng)用,實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想。自微信小程序上線以來,就在數(shù)量龐大的微信用戶群體中傳播開來,以多元、便捷等特點(diǎn)迅速發(fā)展并參與到人們生活的各個(gè)方面,如小游戲、地鐵、公交服務(wù)等等。在用戶應(yīng)用這些小程序時(shí)用戶數(shù)據(jù)需要進(jìn)行授權(quán),又因?yàn)槲⑿乓灿杏脩魯?shù)據(jù)的權(quán)限,因此小程序的授權(quán)十分簡(jiǎn)單,這就讓人們對(duì)小程序的接受程度越來越高。也正是因?yàn)槲⑿判〕绦蛟诟鞣矫娴膬?yōu)越性,現(xiàn)在小程序的使用已經(jīng)成為移動(dòng)辦公的新趨勢(shì)[8-9]。
用戶在使用微信小程序時(shí),會(huì)收集獲取使用者的用戶數(shù)據(jù),因此微信小程序在推廣應(yīng)用時(shí)要堅(jiān)持“必要+合理”的基本原則。必要是在小程序的某些具體業(yè)務(wù)必須使用用戶數(shù)據(jù)時(shí),小程序的開發(fā)者才可以獲得用戶的授權(quán);合理是開發(fā)者獲取的用戶信息必須是業(yè)務(wù)中要用的且不能超過業(yè)務(wù)需求要的信息范圍。這也就是說在小程序的設(shè)計(jì)應(yīng)用中,我們要十分注重各方面的數(shù)據(jù)安全性,提高一種自我信息保護(hù)的意識(shí),尤其是個(gè)人的金融安全[10]。
正是因?yàn)樾畔⒒澜绲陌l(fā)展,人們擁有的個(gè)人移動(dòng)端,即手機(jī)中含有了個(gè)人的大量資料信息,各種應(yīng)用程序的安裝注冊(cè)讓個(gè)人的信息傳輸?shù)搅司W(wǎng)絡(luò)系統(tǒng)中,從而增加了獲取用戶信息的渠道。由于微信小程序的快速發(fā)展,微信中銀行卡的綁定、電子支付的使用和發(fā)展也讓人們?cè)絹碓秸J(rèn)識(shí)到個(gè)人信息和金融安全的重要性,這不僅僅是個(gè)人隱私的被窺視,個(gè)人信息的被竊取,也會(huì)使得個(gè)人發(fā)生經(jīng)濟(jì)損失的情況。
本文研究了微信小程序中存在的隱患和小程序開發(fā)時(shí)的軟件開發(fā)模式,分析研究了其中的優(yōu)勢(shì)和存在的問題,探討微信小程序的未來前景和發(fā)展。
微信小程序的優(yōu)勢(shì)和各項(xiàng)功能總結(jié)如表1所示。
表1所描述的微信小程序的功能和優(yōu)勢(shì)都是其能夠快速發(fā)展,擁有大量用戶的原因,這些功能和優(yōu)勢(shì)減少了使用者的移動(dòng)設(shè)備負(fù)擔(dān)。
表1 微信小程序的功能和優(yōu)勢(shì)
總的來說,微信小程序的開發(fā)讓人們的生活更加便捷,隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,微信小程序在移動(dòng)端設(shè)備對(duì)人們生活的影響也將越來越多,在使用微信小程序時(shí),我們也不能因?yàn)槠鋸?qiáng)大的功能和突出的優(yōu)勢(shì)就丟失了自我信息保護(hù)的意識(shí),正是因?yàn)槲⑿判〕绦驅(qū)ι钊娴挠绊懀覀兏⒁庑〕绦蚴褂脮r(shí)的安全性。
基于Web的B/S結(jié)構(gòu)有著眾多的優(yōu)勢(shì)所在,如表2所示。
表2 B/S結(jié)構(gòu)的優(yōu)勢(shì)
如表2所示,B/S結(jié)構(gòu)在開發(fā)應(yīng)用時(shí)多方面有一定的優(yōu)勢(shì),這些優(yōu)勢(shì)讓B/S模式在近幾年的軟件開發(fā)中成為主流模式。
雖然B/S結(jié)構(gòu)在軟件開發(fā)中有著許多的優(yōu)點(diǎn),但是其中也難免有一些缺點(diǎn),又因?yàn)锽/S結(jié)構(gòu)是在C/S結(jié)構(gòu)上的改進(jìn)版,所以B/S結(jié)構(gòu)的缺點(diǎn)很少。在實(shí)際應(yīng)用中存在的最大的5點(diǎn)就是通信開銷比較大、系統(tǒng)和數(shù)據(jù)的安全性比較難保障。這也就是說基于B/S結(jié)構(gòu)的用戶群體對(duì)信息數(shù)據(jù)安全的掌控比較弱,在使用這個(gè)結(jié)構(gòu)進(jìn)行開發(fā)時(shí),安全和訪問速度都要經(jīng)過多重考慮,這才能讓其發(fā)展更加順利。
用B/S模式進(jìn)行軟件開發(fā)是以瀏覽器的形式和用戶群體打交道為基礎(chǔ)點(diǎn)的,在設(shè)計(jì)時(shí)需要注重的是客戶端訪問請(qǐng)求數(shù)據(jù)庫(kù)的方法。B/S構(gòu)架在客戶端中安裝了Web瀏覽器,是用戶輸入詢問請(qǐng)求和顯示請(qǐng)求答案的交互界面,這也是Web數(shù)據(jù)庫(kù)的訪問技術(shù)。表3是Web應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)連接方式的分類。
表3 Web應(yīng)用系統(tǒng)與數(shù)據(jù)庫(kù)系統(tǒng)的連接分類
如表3所示,通過瀏覽器訪問數(shù)據(jù)庫(kù)的渠道分為了好幾種形式,這些方式都是由于技術(shù)的高速發(fā)展形成的,在不同的時(shí)期有著不同的主流方式,在開發(fā)Web應(yīng)用程序時(shí),需要選擇合適的方法才能完成軟件開發(fā)。
在無線網(wǎng)絡(luò)普及的當(dāng)下,基于B/S結(jié)構(gòu)的軟件開發(fā)是主流選擇,現(xiàn)今有著眾多用戶的微信小程序更是其中的代表。在基于B/S結(jié)構(gòu)進(jìn)行微信小程序的應(yīng)用開發(fā)時(shí),為了用戶數(shù)據(jù)的安全性,我們?cè)谑褂肂/S結(jié)構(gòu)進(jìn)行軟件開發(fā)時(shí)要進(jìn)行用戶數(shù)據(jù)的加解密技術(shù),如圖3所示。
圖3 應(yīng)用系統(tǒng)中信息數(shù)據(jù)加解密過程(A:DES/RSA控件加解密;B:數(shù)據(jù)加密)
圖3是現(xiàn)在實(shí)際應(yīng)用系統(tǒng)中,采用的加密和解密控件及其過程。這項(xiàng)技術(shù)在數(shù)據(jù)保護(hù)方面取得了一定的成果,對(duì)保護(hù)微信小程序的安全性和其他性能是非常有效的措施。
微信用戶在通過掃一掃或者搜索到的微信小程序進(jìn)行事務(wù)的操作請(qǐng)求時(shí),需要保證用戶的訪問和權(quán)限授予的安全性,換句話說就是,每個(gè)不同功能的小程序獲取的用戶授予權(quán)限也是不同的。小程序用戶請(qǐng)求發(fā)送過程中,數(shù)據(jù)是在網(wǎng)絡(luò)中進(jìn)行傳輸?shù)模诖诉^程中,要保證用戶數(shù)據(jù)信息和個(gè)人資料信息的安全,防止信息被人惡意竊取和更改。因?yàn)槲⑿判〕绦蚴腔谖⑿跑浖谟脩糁惺褂玫?,微信中含有大量的用戶信息,包括個(gè)人隱私信息和經(jīng)濟(jì)信息,在用戶個(gè)人數(shù)據(jù)丟失時(shí),用戶的隱私將被侵犯,金融安全也將受到威脅,甚至造成經(jīng)濟(jì)損失的后果。
因此,除了在數(shù)據(jù)方面的安全性手段,還需要考慮在系統(tǒng)網(wǎng)絡(luò)級(jí)和操作系統(tǒng)級(jí)上的安全性,如圖4所示。
圖4 網(wǎng)絡(luò)和操作系統(tǒng)的安全性
圖4是在數(shù)據(jù)加密方式之外的安全性提高的方式,這樣全方位地進(jìn)行安全措施的實(shí)施、方法間相互彌補(bǔ)和完善可以最大限度地排除應(yīng)用軟件的安全漏洞,保證強(qiáng)可靠的安全體系。如現(xiàn)在常用的實(shí)名認(rèn)證和人臉識(shí)別技術(shù),特別是在進(jìn)行金融交易時(shí),除了驗(yàn)證碼和密碼的操作,小程序中人臉識(shí)別技術(shù)的加入更是有效地提升了用戶使用時(shí)的金融安全。
通過微信小程序?qū)⑾到y(tǒng)PC端的功能轉(zhuǎn)移到移動(dòng)端,使得應(yīng)用功能能夠隨時(shí)改變位置,方便了用戶使用,讓用戶對(duì)數(shù)據(jù)信息的請(qǐng)求更加簡(jiǎn)便快速,而且小程序和B/S結(jié)構(gòu)的優(yōu)點(diǎn)是在相互結(jié)合中被放大,加快了微信小程序在移動(dòng)端中的發(fā)展。然而,應(yīng)用系統(tǒng)中協(xié)議是無記憶性的,Web應(yīng)用程序以及數(shù)據(jù)庫(kù)結(jié)合是動(dòng)態(tài)創(chuàng)建的。微信小程序界面和數(shù)據(jù)分布情況及遠(yuǎn)程操作情況,會(huì)讓數(shù)據(jù)在請(qǐng)求時(shí)出現(xiàn)不完整或者不一致的情況,而且通過瀏覽器的應(yīng)用程序以及數(shù)據(jù)訪問的安全性問題也是其中的要點(diǎn),這些都是作為商業(yè)運(yùn)行的微信小程序在開發(fā)時(shí)需要注意的問題。因此,在基于B/S結(jié)構(gòu)進(jìn)行計(jì)算機(jī)軟件開發(fā)時(shí),我們要考慮B/S結(jié)構(gòu)和微信小程序中有可能會(huì)出現(xiàn)的問題,對(duì)B/S結(jié)構(gòu)進(jìn)行一定程度的改進(jìn),消除了兩者間的缺陷問題。
本文探討學(xué)習(xí)了移動(dòng)端基于B/S結(jié)構(gòu)軟件開發(fā)的微信小程序,重點(diǎn)分析了B/S結(jié)構(gòu)的理論、優(yōu)勢(shì)和發(fā)展,研究了微信小程序自開發(fā)以來的應(yīng)用優(yōu)勢(shì)和發(fā)展,以及用戶在使用小程序時(shí)的數(shù)據(jù)信息安全問題,尤其是金融安全。微信小程序應(yīng)用范圍越來越廣,使用人數(shù)越來越多,于是,金融安全成了我們必須要重視和解決的問題之一,當(dāng)這個(gè)問題解決后,微信小程序的應(yīng)用會(huì)得到更快速的發(fā)展。移動(dòng)設(shè)備和信息化的發(fā)展讓微信小程序的發(fā)展更加迅速,也為小程序的發(fā)展帶來了更多的可能,微信小程序中出現(xiàn)的小瑕疵也會(huì)在不斷更新的軟件開發(fā)技術(shù)中被解決,從而為微信小程序的改革和發(fā)展內(nèi)容帶來新的未來。