一種一次性密碼認證系統及認證方法
【專利摘要】本發明屬于網絡信息安全【技術領域】,具體為一種一次性密碼認證系統及認證方法。本發明系統包括:OTP認證管理平臺、OTP認證系統管理API服務端、OTP認證API服務端、OTP系統用戶數據庫、待接入敏感系統、敏感系統用戶訪問終端、用戶移動設備;其中,OTP認證系統管理API服務端和OTP認證API服務端部署運行在核心層,提供用戶管理和認證服務功能;OTP認證管理平臺和待接入敏感系統運行在業務層;OTP認證系統管理API服務端、OTP認證管理平臺、以及OTP認證平臺管理員的工作電腦由防火墻策略控制在一個安全網絡內。本發明可在敏感系統中實現一次性密碼認證,并且具有高的易用性、通用性和安全性。
【專利說明】—種一次性密碼認證系統及認證方法
【技術領域】
[0001]本發明屬于網絡信息安全【技術領域】,具體涉及一種一次性密碼認證系統及認證方法。
【背景技術】
[0002]在日益信息化的社會中,信息技術的應用已經滲透到生產與生活的方方面面。人們會使用電子設備終端通過網絡訪問各種各樣的信息系統,這些信息系統有可能關系到企業的生產經營或者個人的交易錢款,為了保障這些信息系統的安全,常用的手段是為系統的每個用戶設置私有的用戶名和密碼。但是系統用戶的用戶名和密碼通常在相當長的一段時間內是不會變的,考慮到用戶名和密碼會在網絡上傳輸,存在被第三方截獲的可能,并且在系統的服務端和用戶電子設備訪問終端都存在被第三方植入收集用戶密碼的木馬程序的可能,所以常見的用戶名和密碼保障系統用戶安全的技術手段還存在著相當大的風險。
[0003]為了減小風險,就需要引入一種更安全的密碼驗證手段。這種密碼驗證手段能避免常見的用戶名和密碼方式中密碼在相當長的一段時間內不會變的缺陷。一次性密碼(OneTime Password,以下簡稱為OTP)就是這種更安全的密碼驗證手段。一次性密碼的密碼有效期相當短,并且密碼只是一次性的,到期后會重新生成新的密碼,這樣就保證了就算一次性密碼在網絡上傳輸被第三方截獲了,或者被木馬程序收集了,留給系統入侵方的反應時間窗口也是非常的短的,采用一次性密碼這種技術能有效的提高敏感系統的安全性。
[0004]但如何在敏感系統中整合實現一次性密碼,怎么進一步提高一次性密碼認證方法及認證系統的易用性、通用性和安全性,是一個亟待解決的問題。
【發明內容】
[0005]本發明的目的在于提供一種一次性密碼認證系統及認證方法,以便在敏感系統中整合實現一次性密碼,并且具有高的易用性、通用性和安全性。
[0006]本發明提供的一次性密碼認證系統,其總體結構如圖3所示,系統包括:0ΤΡ認證管理平臺、OTP認證系統管理API服務端、OTP認證API服務端、OTP系統用戶數據庫、待接入敏感系統、敏感系統用戶訪問終端、用戶移動設備;其中,OTP認證系統管理API服務端和OTP認證API服務端部署運行在核心層,提供用戶管理和認證服務功能,所有對OTP系統用戶數據庫持久化的訪問只能在核心層訪問;敏感系統是指其訪問數據和內容需要被保護的系統,防止未經授權的訪問;0ΤΡ認證管理平臺和待接入敏感系統運行在業務層,待接入敏感系統只能訪問OTP認證API服務端,OTP認證系統管理API服務端只能讓OTP認證管理平臺訪問,OTP認證系統管理API服務端、OTP認證管理平臺、以及OTP認證平臺管理員的工作電腦都由防火墻策略控制在一個安全網絡內;敏感系統用戶訪問終端訪問敏感系統,除了需要PC機外,還有一個用戶端的移動設備(通常是手機,運行著Android或1S或WindowsPhone系統)作為OTP動態口令的生成工具。
[0007]其中,OTP認證系統管理API服務端只提供遠程服務接口(包括HTTP服務接口或Dubbo服務接口)給OTP認證管理平臺,用于實現敏感系統注冊和敏感系統用戶注冊以及敏感系統、敏感系統用戶、操作日志的增刪改查功能;0TP認證API服務端可提供HTTP服務或Dubbo服務給各種待接入的敏感系統以及OTP認證管理平臺,用于實現對敏感系統用戶授權的創建和驗證功能;0TP認證管理平臺是基于B/S結構實現的信息管理系統,只能由OTP認證平臺管理員訪問。這里,HTTP服務接口是指基于HTTP的遠程服務調用接口,而HTTP為超文本傳送協議;Dubbo服務接口是指基于Dubbo的遠程服務調用接口,而Dubbo是指分布式服務框架,服務接口以高性能的遠程服務調用協議(RPC)。
[0008]本發明的一次性密碼認證系統的組件結構如圖4所示。其中,設置有公用基礎模塊,該公用基礎模塊包括OTP基礎認證模塊和數據訪問模塊,公用基礎模塊以Java類庫發行包(例如:jar包)的形式包含在OTP認證系統管理API服務端和OTP認證API服務端的部署包中,公用基礎模塊jar包會隨著OTP認證系統管理API服務端和OTP認證API服務端的啟動運行而被加載到OTP認證系統管理API服務端和OTP認證API服務端的Java程序執行環境中。
[0009]OTP認證系統管理API服務端包括遠程調用的接收模塊(例如=Dubbo接入模塊)和OTP認證系統管理服務模塊;0ΤΡ認證API服務端包括Dubbo接入模塊和HTTP接入模塊和OTP認證服務模塊;0ΤΡ認證管理平臺包括WEB前端展示頁面、WEB后端服務模塊和二維碼生成模塊。
[0010]OTP認證管理平臺、OTP認證系統管理API服務端、OTP認證API服務端都以軟件發布包(如war包)的形式發布,在軟件開發階段,這三個軟件發布包(如war包)對應三個Java Web項目,基于分層架構設計原則,其層次結構和調用順序為如圖4所示的從左到右的次序。
[0011 ] 公用基礎模塊中的OTP基礎認證模塊封裝OTP授權密鑰的生成和驗證操作。公用基礎模塊中的數據訪問模塊封裝數據庫中的各種表(包括敏感系統注冊表、敏感系統用戶密鑰表、操作歷史表)的增刪改查操作。
[0012]OTP認證系統管理API服務端中的OTP認證系統管理服務模塊把讀取敏感系統用戶密鑰、操作敏感系統及其用戶、記錄操作歷史的功能封裝成服務,它基于調用公用基礎模塊中的OTP基礎認證模塊和數據訪問模塊實現這些功能。OTP認證系統管理API服務端中的敏感系統接入模塊(包括Dubbo接入模塊和http接入模塊)用于接收OTP認證系統管理服務的接入請求(如Dubbo請求)并解析其參數,然后調用OTP認證系統管理服務模塊的服務處理請求并返回結果。
[0013]OTP認證API服務端中的OTP認證服務模塊把重置生成密鑰、驗證密鑰的功能封裝成服務,它基于調用公用基礎模塊中的OTP基礎認證模塊和數據訪問模塊實現這些功能。OTP認證API服務端中的敏感系統接入模塊(如Dubbo接入模塊)用于接收OTP認證服務的接入請求(如Dubbo請求)并解析其參數,然后調用OTP認證服務模塊的服務處理請求并返回結果。
[0014]OTP認證管理平臺中的二維碼生成模塊提供二維碼圖像生成服務,OTP認證管理平臺中的WEB后端服務模塊會以遠程調用(通過Dubbo)的方式調用OTP認證系統管理API服務端中的Dubbo接入模塊來實現讀取敏感系統用戶密鑰、操作敏感系統及其用戶、記錄操作歷史的功能,并把讀到的密鑰傳給二維碼生成模塊,由二維碼生成模塊生成相應敏感系統的用戶的OTP 口令密鑰二維碼圖像。OTP認證管理平臺中的WEB前端展示頁面即為在OTP認證管理平臺管理員電腦瀏覽器中顯示的頁面,它通過超文本傳輸協議與OTP認證管理平臺中的WEB后端服務模塊交互。
[0015]待接入敏感系統可以通過各種遠程調用方式接入到OTP認證API服務端,比如通過Dubbo方式和OTP認證API服務端中的Dubbo接入模塊交互、通過HTTP方式和OTP認證API服務端中的HTTP接入模塊交互。
[0016]由于OTP認證系統管理API服務端只為OTP認證管理平臺服務,而OTP認證管理平臺只能由OTP認證管理平臺管理員使用,所以會和外部交互的只有OTP認證管理平臺管理員和OTP認證API服務端,OTP認證管理平臺管理員負責為新接入的敏感系統注冊接入信息,為敏感系統的用戶維護用戶資料(比如更新手機號,重置OTP 口令)。OTP認證API月艮務端提供遠程調用服務,接受敏感系統以DubbO方式接入或者HTTP方式接入,同時也要接受OTP認證管理平臺的Dubbo方式接入為OTP認證管理平臺提供對某些敏感系統用戶的授權信息的創建和驗證操作。
[0017]OTP認證API服務端對外提供的遠程調用服務,一個是為敏感系統創建用戶授權的服務,另一個是為敏感系統驗證用戶授權的服務。其流程圖分別如圖5和如圖6所示。
[0018]為敏感系統創建用戶授權的流程如圖5所示,OTP認證API服務端在接收到創建用戶授權的HTTP請求或Dubbo請求后,先解析HTTP請求或Dubbo請求中的敏感系統、用戶名、手機號碼參數,然后檢查要授權的敏感系統是否已經由OTP認證管理平臺管理員配置好加入到OTP認證系統,如果沒有,就會為此請求返回敏感系統未預先加入到OTP認證系統的錯誤信息,如果已經配置好,那么還會檢查是否已經存在該敏感系統的用戶的OTP授權,如果是,則返回該敏感系統的用戶的OTP授權已存在信息,沒有的話,創建該敏感系統的用戶的OTP授權并持久化到數據庫,然后返回創建成功信息。
[0019]為敏感系統驗證用戶授權的流程如圖6所示,OTP認證API服務端在接收到驗證用戶授權的HTTP請求或Dubbo請求后,先解析HTTP請求或Dubbo請求中的敏感系統、用戶名、OTP 口令參數,然后檢查該敏感系統的該用戶授權信息是否存在OTP認證系統數據庫中,如果不存在,則返回該敏感系統的該用戶授權信息不存在的錯誤信息,如果存在,就驗證請求參數中的OTP 口令是否和OTP認證系統數據庫中的授權口令一致,如果不一致,則返回此次用戶授權驗證未通過的信息,如果一致,則返回此次用戶授權驗證成功通過的信息。
[0020]基于上述一次性密碼認證系統,一次性密碼認證方法的具體步驟為:
步驟一:為待接入敏感系統注冊到OTP認證平臺,其中敏感系統是指其訪問數據和內容需要被保護的系統,防止未經授權的訪問。
[0021]步驟二:敏感系統通過遠程OTP認證服務接口接入到OTP認證系統。
[0022]步驟三:用戶安裝掃碼軟件。
[0023]步驟四:用戶去OTP系統管理平臺掃碼。
[0024]步驟五:掃碼操作能觸發提示短信。
[0025]步驟六:手機掃碼生成OTP動態口令。
[0026]步驟七:0ΤΡ 口令每隔一段時間變化一次。
[0027]步驟八:用戶讀出OTP 口令。
[0028]步驟九:敏感系統調用遠程OTP認證服務接口驗證口令是否有效。
[0029]步驟十:0ΤΡ認證完成。
[0030]本發明的一次性密碼認證系統詳細工作流程如圖2所示,整個認證系統中主要的參與方為OTP系統管理平臺(管理員)、敏感系統用戶、敏感系統用戶手機(移動設備)、敏感系統。
[0031]在敏感系統將要首次部署上線前,需要先去OTP系統管理平臺注冊此敏感系統的接入,敏感系統上線后,如果敏感系統需要把本系統的用戶注冊到OTP認證系統,那么敏感系統可以通過API的方式把本系統用戶注冊到OTP認證系統,這樣就可以省去到時用戶去找OTP系統管理平臺的管理員掃碼時,管理員再手動為該敏感系統的該用戶注冊的環節。
[0032]敏感系統的用戶開始訪問敏感系統的時候,敏感系統先在用戶認證界面上提示需要OTP 口令,如果用戶手機上已經為該敏感系統掃碼生成過OTP 口令,那么該敏感系統的該用戶的OTP 口令可以直接從手機上讀出,該OTP 口令會每隔30秒變化一次,但只要沒有在OTP系統管理平臺重置過該敏感系統的該用戶的OTP 口令密鑰,那么手機上的這個動態OTP口令就一直是有效的。如果手機上沒有該敏感系統的該用戶的OTP 口令,那么就需要在手機上生成OTP 口令。
[0033]首先就是要檢查手機上是否有OTP動態口令客戶端,如果沒有,就需要去手機應用市場下載安裝OTP動態口令客戶端,如果安裝好了,那么就可以聯系OTP系統管理平臺掃該敏感系統的該用戶的OTP 口令密鑰的二維碼。OTP系統管理平臺的管理員首先會檢查該用戶是否已經注冊過該敏感系統,如果沒有,就為該敏感系統的該用戶進行注冊。確認OTP認證系統注冊好該敏感系統的該用戶的授權信息后,管理員就為該敏感系統的該用戶重置生成OTP 口令二維碼,然后OTP系統管理平臺會檢查該敏感系統安全級別是否應給用戶發短信提醒,如果不是,接下來用戶直接拿手機掃碼生成OTP動態口令,如果是,則為該敏感系統該用戶發出OTP 口令密鑰已被重置的短信,用戶手機收到OTP 口令被重置短信后,用戶可以檢查本次重置生成OTP 口令二維碼是否是本人發起的操作,因為有可能被誤操作,也有可能被不良企圖的人通過技術手段之外的途徑在OTP系統管理平臺的管理員的工作電腦上重置生成OTP 口令二維碼并掃碼,如果出現這樣的情況,敏感系統用戶可以及時的知道OTP 口令已經被重置;如果確認不是本人發起的操作,則敏感系統用戶可以去找OTP系統管理平臺的管理員再重置生成OTP 口令二維碼,如果是本人發起的操作,則用手機掃碼生成OTP動態口令,OTP 口令每30秒變化一次,敏感系統用戶讀出OTP 口令后,則可以用此口令訪問敏感系統,敏感系統通過調用OTP認證API驗證口令是否有效,如果無效則提示需要OTP 口令,如果有效則OTP認證授權通過。
[0034]本發明的有益效果:
本發明將接受多個敏感系統的接入,為這些敏感系統提供一次性密碼認證服務,使得這些敏感系統實現一次性密碼認證功能,來保證這些敏感系統的用戶安全。
[0035]本發明能充分的利用待接入敏感系統原有的服務資源,在不大幅度修改待接入敏感系統的情況下,待接入敏感系統通過調用應用程序編程接口(Applicat1n ProgrammingInterface,以下簡稱為API),可以輕易的把一次性密碼認證功能加入到敏感系統中。待接入敏感系統的用戶也能輕易的使用一次性密碼認證功能,因為一次性密碼的密碼口令可以在各種移動設備平臺(包括Android、1S和Windows Phone)上生成,無須專門的一次性密碼認證硬件。本發明的一次性密碼認證方法及認證系統,還具有對接入的敏感系統和敏感系統用戶進行統一管理的一次性密碼認證管理平臺,管理員可以方便的在一次性密碼認證管理平臺對接入的敏感系統和敏感系統用戶進行增加、刪除、修改、查詢的操作。從待接入敏感系統方和系統用戶方以及一次性密碼認證管理平臺管理方來看,本發明的一次性密碼認證方法及認證系統都具有良好的易用性。
[0036]本發明能讓不同安全級別的各種待接入敏感系統通過常見的API服務形式接入一次性密碼認證系統。具體來說,本發明的一次性密碼認證系統是作為OTP認證服務的認證中心,待接入敏感系統只需要應用HTTP協議或者Dubbo協議與本發明的一次性密碼認證方法及認證系統進行通訊,就能實現待接入敏感系統的跨編程語言、跨運行平臺的OTP認證服務接入。對于不同安全級別的各種待接入敏感系統,只需要在API調用接口中指定相應安全參數,本發明的一次性密碼認證系統就可以實現自動安全分級。因而本發明的一次性密碼認證方法及認證系統具有多個系統接入、異構系統接入、自適應安全別級接入的通用性。
[0037]本發明用于保障待接入敏感系統的用戶是安全的,但是一次性密碼認證管理平臺本身的安全也是非常重要的,本發明的一次性密碼認證系統,通過采用網絡防火墻的手段,在計算機網絡OSI七層模型的傳輸層限制僅僅只有一次性密碼認證管理平臺管理員的計算機才能訪問一次性密碼認證管理平臺。為了保障一次性密碼認證管理平臺的數據安全,本發明的一次性密碼認證系統還能記錄下系統管理員的操作歷史記錄。對于不同安全級別的各種待接入敏感系統,本發明的一次性密碼認證系統能依據待接入敏感系統的安全級別高低,來決定在重新生成該敏感系統的用戶的OTP密碼密鑰及其對應的二維碼圖片的時候是否向該敏感系統的用戶發送手機短信提醒。因而本發明的一次性密碼認證系統具有風險可控的網絡層面安全性,并且還具有操作數據可追蹤、密鑰變更可預警的優點。
【專利附圖】
【附圖說明】
[0038]圖1為本發明一次性密碼認證方法流程圖。
[0039]圖2為本發明一次性密碼認證系統工作流程圖示。
[0040]圖3為本發明一次性密碼認證系統總體結構圖示。
[0041]圖4為本發明一次性密碼認證系統組件構成圖示。
[0042]圖5為本發明中敏感系統創建用戶授權的流程圖。
[0043]圖6為本發明中敏感系統驗證用戶授權的流程圖。
【具體實施方式】
[0044]實施例1
公司現有決策分析系統是基于公司歷來的營銷數據、市場數據、業務數據和用戶行為等數據為公司管理層提供決策分析支持。因為這個決策分析系統中包含公司各種商業機密,所以對它的數據訪問和操作都需要嚴格的授權,這個決策分析系統就是一個典型的敏感系統。
[0045]公司CTO決定給決策分析系統在用戶登錄的時候增加OTP認證的環節,以提高決策分析系統的安全性。要實施這項決定,首先,OTP系統管理平臺的管理員把決策分析系統注冊(注冊信息:系統代號是decis1n,系統全名是決策分析系統,系統安全級別是高,表示給決策分析系統的用戶重置OTP密鑰二維碼的時候需要給用戶發短信提醒)到OTP系統中去。決策分析系統是已有的系統,加OTP認證的環節是新時期的新需求,所以要對老的決策分析系統進行改造。決策分析系統中已有的用戶,要導入到OTP認證系統中去,在改造決策分析系統的時候,就需要增加把決策分析系統的用戶批量導入到OTP認證系統中去的功能,實現這個功能,就是通過調用“為敏感系統創建用戶授權”的遠程服務接口(決策分析系統沒有使用DubbO服務框架,它與外部的信息交換通過基于HTTP協議通信的方式實現,所以它調用OTP認證API服務端的HTTP服務接口進行通信,OTP認證API服務端的HTTP服務接口的URL地址是http://10.48.170.200/otp-service,創建用戶授權的HTTP請求形如:http://10.48.170.200/otp-service/api/creator?userName=xl&issuer=x2&name=x3&mobile=X4,其中xl指英文縮寫用戶名,x2指敏感系統代號,這個例子中就是決策分析系統的代號decis1n,x3指用戶姓名中文全名,x4指用戶手機號碼。創建用戶授權執行成功后,會返回形如:{ "message": 〃ok〃 }這樣的結果。)來實現批量導入決策分析系統用戶到OTP認證系統中去的。
[0046]決策分析系統改造好了,部署上線運行,用戶(就是公司的高管,因為這個決策分析系統是給公司高管用的)訪問決策分析系統,在登錄的時候要求填寫OTP 口令。由于這是決策分析系統改造后首次亮相,用戶是第一次碰到OTP 口令這問題,用戶會被告知需要拿手機去找OTP系統管理員掃OTP密鑰二維碼生成OTP 口令,用戶找到OTP系統管理員后,OTP系統管理員幫用戶安裝好手機OTP掃碼軟件(如果用戶手機上沒裝的話),在OTP系統中把用戶注冊(注冊信息:用戶真實姓名、用戶手機號)到決策分析系統名下(如果決策分析系統漏了把這個用戶導入到OTP系統的話),然后為決策分析系統的這位用戶重置生成OTP密鑰二維碼,重置生成二維碼的同時,一條OTP密鑰二維碼已被重置的提醒短信會發到用戶的手機上,再拿用戶的手機掃這個二維碼,手機掃了這個二維碼后,生成OTP 口令(6位數字的口令),0ΤΡ 口令每隔30秒變一次(用戶在以后需要OTP 口令的時候,就不用再來找OTP系統管理員了,只要把手機上當時的口令讀出來就行了)。用戶讀出OTP 口令后輸入到決策分析系統的登錄頁面,決策分析系統通過調用“為敏感系統驗證用戶授權”的遠程服務接口(決策分析系統沒有使用Dubb0服務框架,它與外部的信息交換通過基于HTTP協議通信的方式實現,所以它調用OTP認證API服務端的HTTP服務接口進行通信,OTP認證API服務端的HTTP服務接口的URL地址是http://10.48.170.200/otp-service,驗證用戶授權的HTTP 請求形如:http://10.48.170.200/otp-service/api/verifier?userName=xl&issuer=x2&authCode=x3,其中xl指英文縮寫用戶名,x2指敏感系統代號,這個例子中就是決策分析系統的代號decis1n, x3指6位數字的OTP 口令。驗證用戶授權通過后,會返回形如:{"passed": true, "message": 〃ok〃 }這樣的結果。)來驗證該用戶的OTP認證授權是否通過。
[0047]實施例2
公司決定為現有的業務開發一個運營支撐系統,提供備付金管理、對賬處理、提現處理和客戶服務等功能,由于這個運營支撐系統涉及到支付賬款等,所以對它的數據訪問和操作都需要嚴格的授權,這個運營支撐系統也是一個典型的敏感系統。
[0048]運營支撐系統在產品定義和需求分析階段就明確提出了運營支撐系統在用戶登錄的時候需要采用OTP認證的技術手段來提高運營支撐系統的安全性。要實現運營支撐系統OTP認證的這項需求,首先,OTP系統管理平臺的管理員把運營支撐系統注冊(注冊信息:系統代號是support,系統全名是運營支撐系統,系統安全級別是高,表示給運營支撐系統的用戶重置OTP密鑰二維碼的時候需要給用戶發短信提醒)到OTP系統中去。
[0049]因為運營支撐系統涉及到公司的各種業務子系統,出于軟件設計的業務解耦原貝U,運營支撐系統采用的是面向服務的系統架構(S0A),技術選型采用的是Dubbo作為服務框架,并基于其提供的高性能的遠程服務調用協議(RPC)進行通信。所以運營支撐系統以Dubbo服務接口的方式接入到OTP認證系統,OTP認證API服務端的Dubbo服務接口的參數和OTP認證API服務端的HTTP服務接口的參數是一樣的,只是通信協議不同,HTTP服務接口的通信協議是HTTP,Dubbo服務接口的通信協議是Dubbo內置的高性能的遠程服務調用協議(RPC)。
[0050]除了接入方式不同,運營支撐系統與OTP認證系統以及用戶的整個交互過程與例一的決策分析系統的整個交互過程是一樣的。技術細節方面,除了接入方式一個是基于Dubbo服務接口、一個是基于HTTP服務接口,其它的都一樣。
【權利要求】
1.一種一次性密碼認證系統,其特征在于系統包括:OTP認證管理平臺、OTP認證系統管理API服務端、OTP認證API服務端、OTP系統用戶數據庫、待接入敏感系統、敏感系統用戶訪問終端、用戶移動設備;其中,OTP認證系統管理API服務端和OTP認證API服務端部署運行在核心層,提供用戶管理和認證服務功能,所有對OTP系統用戶數據庫持久化的訪問只能在核心層訪問;敏感系統是指其訪問數據和內容需要被保護的系統,防止未經授權的訪問;0ΤΡ認證管理平臺和待接入敏感系統運行在業務層,待接入敏感系統只能訪問OTP認證API服務端,OTP認證系統管理API服務端只能讓OTP認證管理平臺訪問,OTP認證系統管理API服務端、OTP認證管理平臺、以及OTP認證平臺管理員的工作電腦都由防火墻策略控制在一個安全網絡內;敏感系統用戶訪問終端訪問敏感系統,除了有PC機外,還有一個用戶端的移動設備作為OTP動態口令的生成工具; 其中,OTP認證系統管理API服務端提供遠程服務接口給OTP認證管理平臺,用于實現敏感系統注冊和敏感系統用戶注冊以及敏感系統、敏感系統用戶、操作日志的增刪改查功能;0ΤΡ認證API服務端提供遠程服務接口給各種待接入的敏感系統以及OTP認證管理平臺,用于實現對敏感系統用戶授權的創建和驗證功能;0ΤΡ認證管理平臺是基于B/S結構實現的信息管理系統,僅由OTP認證平臺管理員訪問;所述遠程服務接口包括HTTP服務接口或Dubbo服務接口 ; 其中,OTP是指一次性密碼,API是指應用程序編程接口,HTTP服務接口是指基于HTTP的遠程服務調用接口,Dubbo服務接口是指基于Dubbo的遠程服務調用接口。
2.根據權利要求1所述的一次性密碼認證系統,其特征在于還包括公用基礎模塊,該公用基礎模塊包括OTP基礎認證模塊和數據訪問模塊,公用基礎模塊以Java類庫jar包的形式包含在OTP認證系統管理API服務端和OTP認證API服務端的部署包中,公用基礎模塊jar包隨著OTP認證系統管理API服務端和OTP認證API服務端的啟動運行而被加載到OTP認證系統管理API服務端和OTP認證API服務端的Java程序執行環境中; OTP認證系統管理API服務端包括遠程調用的Dubbo接入模塊和OTP認證系統管理服務模塊;0ΤΡ認證API服務端包括Dubbo接入模塊、HTTP接入模塊和OTP認證服務模塊;0ΤΡ認證管理平臺包括WEB前端展示頁面、WEB后端服務模塊和二維碼生成模塊; OTP認證管理平臺、OTP認證系統管理API服務端、OTP認證API服務端都以軟件發布包的形式發布,在軟件開發階段,這三個以軟件發布包對應三個Java Web項目,基于分層架構設計原則,其層次結構和調用順序為從左到右的次序; 公用基礎模塊中的OTP基礎認證模塊封裝OTP授權密鑰的生成和驗證操作;公用基礎模塊中的數據訪問模塊封裝數據庫中的各種表包括敏感系統注冊表、敏感系統用戶密鑰表、操作歷史表的增刪改查操作; OTP認證系統管理API服務端中的OTP認證系統管理服務模塊把讀取敏感系統用戶密鑰、操作敏感系統及其用戶、記錄操作歷史的功能封裝成服務,它基于調用公用基礎模塊中的OTP基礎認證模塊和數據訪問模塊實現這些功能;0ΤΡ認證系統管理API服務端中的敏感系統接入模塊用于接收OTP認證系統管理服務模塊的接入請求并解析其參數,然后調用OTP認證系統管理服務模塊的服務處理請求并返回結果;所述敏感系統接入模塊包括Dubbo接入模塊或http接入模塊; OTP認證API服務端中的OTP認證服務模塊把重置生成密鑰、驗證密鑰的功能封裝成服務,它基于調用公用基礎模塊中的OTP基礎認證模塊和數據訪問模塊實現這些功能;0ΤΡ認證API服務端中的敏感系統接入模塊用于接收OTP認證服務模塊的接入請求并解析其參數,然后調用OTP認證服務模塊的服務處理請求并返回結果; OTP認證管理平臺中的二維碼生成模塊提供二維碼圖像生成服務,OTP認證管理平臺中的WEB后端服務模塊以遠程調用的方式調用OTP認證系統管理API服務端中的Dubbo接入模塊來實現讀取敏感系統用戶密鑰、操作敏感系統及其用戶、記錄操作歷史的功能,并把讀到的密鑰傳給二維碼生成模塊,由二維碼生成模塊生成相應敏感系統的用戶的OTP 口令密鑰二維碼圖像;0ΤΡ認證管理平臺中的WEB前端展示頁面即為在OTP認證管理平臺管理員電腦瀏覽器中顯示的頁面,它通過超文本傳輸協議與OTP認證管理平臺中的WEB后端服務模塊交互; 待接入敏感系統通過各種遠程調用方式接入到OTP認證API服務端,即通過Dubbo方式和OTP認證API服務端中的Dubbo接入模塊交互、通過HTTP方式和OTP認證API服務端中的HTTP接入模塊交互; 由于OTP認證系統管理API服務端只為OTP認證管理平臺服務,而OTP認證管理平臺只能由OTP認證管理平臺管理員使用,所以和外部交互的只有OTP認證管理平臺管理員和OTP認證API服務端,OTP認證管理平臺管理員負責為新接入的敏感系統注冊接入信息,為敏感系統的用戶維護用戶資料;0ΤΡ認證API服務端提供遠程調用服務,接受敏感系統以Dubbo方式接入或者HTTP方式接入,同時也接受OTP認證管理平臺的Dubbo方式接入為OTP認證管理平臺提供對某些敏感系統用戶的授權信息的創建和驗證操作。
3.根據權利要求2所述的一次性密碼認證系統,其特征在于所述OTP認證API服務端對外提供的遠程調用服務:一個是為敏感系統創建用戶授權的服務,另一個是為敏感系統驗證用戶授權的服務,其中: 為敏感系統創建用戶授權的流程如下:0ΤΡ認證API服務端在接收到創建用戶授權的HTTP請求或Dubbo請求后,先解析HTTP請求或Dubbo請求中的敏感系統、用戶名、手機號碼參數,然后檢查要授權的敏感系統是否已經由OTP認證管理平臺管理員配置好加入到OTP認證系統;如果沒有配置好,則為此請求返回敏感系統未預先加入到OTP認證系統的錯誤信息;如果已經配置好,那么還檢查是否已經存在該敏感系統的用戶的OTP授權,如果是,則返回該敏感系統的用戶的OTP授權已存在信息,如果不是,則創建該敏感系統的用戶的OTP授權并持久化到數據庫,然后返回創建成功信息; 為敏感系統驗證用戶授權的流程如下=OTP認證API服務端在接收到驗證用戶授權的HTTP請求或Dubbo請求后,先解析HTTP請求或Dubbo請求中的敏感系統、用戶名、OTP 口令參數,然后檢查該敏感系統的該用戶授權信息是否存在OTP認證系統數據庫中;如果不存在,則返回該敏感系統的該用戶授權信息不存在的錯誤信息;如果存在,就驗證請求參數中的OTP 口令是否和OTP認證系統數據庫中的授權口令一致,如果不一致,則返回此次用戶授權驗證未通過的信息,如果一致,則返回此次用戶授權驗證成功通過的信息。
4.基于權利要求1-3之一所述的一次性密碼認證系統的一次性密碼認證方法,其特征在于具體步驟為: 步驟一:為待接入敏感系統注冊到OTP認證平臺; 步驟二:敏感系統通過遠程OTP認證服務接口接入到OTP認證系統; 步驟三:用戶安裝掃碼軟件; 步驟四:用戶去OTP系統管理平臺掃碼; 步驟五:掃碼操作能觸發提示短信; 步驟六:手機掃碼生成OTP動態口令; 步驟七:0ΤΡ 口令每隔一段時間變化一次; 步驟八:用戶讀出OTP 口令; 步驟九:敏感系統調用遠程OTP認證服務接口驗證口令是否有效; 步驟十:0ΤΡ認證完成。
5.根據權利要求4所述的一次性密碼認證方法,其特征在于: 在敏感系統首次部署上線前,先去OTP系統管理平臺注冊此敏感系統的接入,敏感系統上線后,如果敏感系統需要把本系統的用戶注冊到OTP認證系統,那么敏感系統通過API的方式把本系統用戶注冊到OTP認證系統; 敏感系統的用戶開始訪問敏感系統的時候,敏感系統先在用戶認證界面上提示需要OTP 口令,如果用戶手機上已經為該敏感系統掃碼生成過OTP 口令,那么該敏感系統的該用戶的OTP 口令可以直接從手機上讀出,該OTP 口令每隔30秒變化一次,但只要沒有在OTP系統管理平臺重置過該敏感系統的該用戶的OTP 口令密鑰,那么手機上的這個動態OTP 口令就一直有效;如果手機上沒有該敏感系統的該用戶的OTP 口令,那么就需要在手機上生成OTP 口令; 首先要檢查手機上是否有OTP動態口令客戶端,如果沒有,就去手機應用市場下載安裝OTP動態口令客戶端,如果安裝好了,那么就聯系OTP系統管理平臺掃該敏感系統的該用戶的OTP 口令密鑰的二維碼;0ΤΡ系統管理平臺的管理員首先檢查該用戶是否已經注冊過該敏感系統,如果沒有,就為該敏感系統的該用戶進行注冊;確認OTP認證系統注冊好該敏感系統的該用戶的授權信息后,管理員為該敏感系統的該用戶重置生成OTP 口令二維碼,然后OTP系統管理平臺檢查該敏感系統安全級別是否應給用戶發短信提醒,如果不是,接下來用戶直接拿手機掃碼生成OTP動態口令,如果是,則為該敏感系統該用戶發出OTP 口令密鑰已被重置的短信; 用戶手機收到OTP 口令被重置短信后,用戶檢查本次重置生成OTP 口令二維碼是否是本人發起的操作;如果確認不是本人發起的操作,則敏感系統用戶去找OTP系統管理平臺的管理員再重置生成OTP 口令二維碼;如果是本人發起的操作,則用手機掃碼生成OTP動態口令,OTP 口令每30秒變化一次,敏感系統用戶讀出OTP 口令后,則用此口令訪問敏感系統,敏感系統通過調用OTP認證API驗證口令是否有效,如果無效則提示需要OTP 口令,如果有效則OTP認證授權通過。
【文檔編號】H04L9/32GK104468119SQ201410673453
【公開日】2015年3月25日 申請日期:2014年11月21日 優先權日:2014年11月21日
【發明者】肖煌華 申請人:上海瀚之友信息技術服務有限公司