移動動態密碼驗證系統

 

傳統的身份識別系統,採用固定的用戶名-密碼方式。用戶通過客戶端輸入用戶名-密碼,將信息提交到服務器段進行身份識別。一旦用戶機器被惡性代碼或木馬所控制,用戶的隱私信息將得不到保護。

目前對於安全級別較高的系統(例如:銀行,交易網站等),通常會給用戶提供USB KeyToken)。例如:RSA的安全方案。但是這種方案的成本和對於應急性消費是有侷限性的,用戶不可能隨身攜帶各種USB Key,而且各種機構頒發的Key也是種類繁多,用戶難以管理。

 

是否能夠找到便捷、安全的身份管理方案?

目前手機的應用非常普及。Wireless Intelligence預測到2007年年底,全球手機用戶數量將達到30億。全球手機用戶在20069月達到了25億。手機已成爲每個人生活的必需品。如果能夠讓手機作爲USB Key,利用手機提供的計算能力,作爲身份識別的工具,將爲用戶提供極大的方便。

  

 

假設:一個手機只有一個SeedToken

 

 

過程1說明:

1,  手機發送請求信息(IMEI手機號碼)到認證服務器。可以同過GPRS網絡或者SMS短信等。

2,  認證服務器下發響應信息(SeedTime手機號碼)到手機。可以同過GPRS或者SMS短信等。

3,  手機存儲接收到的SeedTime手機號碼。

 

過程2說明:

假設:

1,  用戶以前在該網站註冊過,並且使用過密碼保護功能。

2,  已經通過過程1獲得了密碼保護。

操作過程:

1,  用戶可以通過電腦訪問某網站。

2,  用戶在該網站登陸頁面輸入用戶名稱(UserName

3,  用戶通過手機生成一次一密的動態登陸密碼。並將其填寫到登陸頁面的密碼區,並提交用戶對該網站的登錄請求。

4,  網站將用戶提供的用戶名稱,密碼信息以及網站標示信息發送給認證服務器。

5,  認證服務器,根據網站提供的信息(用戶名稱、網站標示信息)找到相關的SeedIMEI,手機號碼,經過運算生成密碼。將生成密碼與網站傳遞的密碼信息進行比較。如果比較結果一致,則認證成功,向網站發送認證成功標誌。如果比較結果不一致,則認證失敗,向網站發送認證失敗標誌。

6,  網站根據認證服務器的反饋結果,做響應的處理。

 

過程2說明:

假設:

1,  用戶以前在該網站註冊過,但是還沒有使用密碼保護功能。

2,  已經通過過程1獲得了密碼保護。

操作過程:

1,  用戶可以通過電腦訪問某網站。

2,  用戶在該網站登陸頁面輸入用戶名稱(UserName

3,  用戶通過手機生成一次一密的登陸密碼。並將其填寫到登陸頁面的密碼區,並提交用戶對該網站的登錄請求。

4,  用戶輸入用戶的密碼保護手機號碼。

5,  網站將用戶提供的用戶名稱,密碼信息,手機號碼以及網站標示信息發送給認證服務器。

6,  認證服務器,根據網站提供的信息(用戶名稱、網站標示信息,手機號碼)找到相關的SeedIMEI,手機號碼,經過運算生成密碼。將生成密碼與網站傳遞的密碼信息進行比較。如果比較結果一致,則認證成功,向網站發送認證成功標誌。如果比較結果不一致,則認證失敗,向網站發送認證失敗標誌。

7,  網站根據認證服務器的反饋結果,做響應的處理。

 

 

 

 

該系統整合用戶,服務提供商,運營商、手機制造商、社會的價值鏈條,建立完整的應用服務生態系統。

1,  用戶。使用一次一密的動態密碼保護措施,防止目前固定密碼方式由於木馬等工具造成用戶密碼被盜用損失。

2,  認證服務提供商。通過安全便捷的認證服務,作爲服務工作,向用戶收取服務費用。

3,  運營商。通過用戶的使用獲得通訊費用(GPRS流量費、SMS收入)。監控水貨手機的使用情況。以及定製機在各區域及渠道中由於價格差異產生的竄貨,監控營銷效果。

4,  手機制造商。產品在各區域及渠道中由於價格差異產生的竄貨,監控營銷效果。

5,  服務提供商。爲用戶提供安全消費的環境,體現企業責任,降低客戶投訴。

6,  社會利益。通過技術手段建立信用體系,降低交易成本。

 

 

 

 

 

 

Q1,如果用戶手機丟了怎麼辦?會有安全隱患碼?

A1,不會有安全隱患。因爲用戶名稱信息需要用戶記憶,手機中並不存儲用戶名稱信息。

Q2, 如果用戶更換了SIM卡或用戶手機號碼,還可以使用認證服務嗎?

A2,無法使用。只能通過修改認證服務器後臺系統進行。

Q3,如果用戶手機密碼生成程序損壞,如何處理?

A3,需要重新部署移動客戶端程序,用戶可以繼續使用原有服務。

Q4,什麼行業的應用可能需要這樣的認證系統?

A4,有比較嚴格安全性要求的系統。例如:Mail服務網站,遊戲網站,電子交易網站,以及有比較嚴格審計要求的企業客戶。

Q5,如果企業使用這樣的認證系統,需要做哪些工作?

A5

方案一,企業自建認證系統。需要提供:認證服務器的軟硬件資源;移動客戶端軟硬件資源;需要對修改原系統的用戶認證過程。

方案二,企業租用公共認證系統。需要提供:移動客戶端軟硬件資源;需要對修改原系統的用戶認證過程。

Q6:這種解決方案未來可以做什麼?

A6SSOsingle sign on.YahooOpenID類似,但是它能解決Yahoo-OpenID的許多安全問題。Yahoo OpenID is one username and one password for all of the sites that you go to. MCA-SSO is one username and one dynamic password.

MCA -SSO is a new way to identify yourself all over the Web. With your own personal MCA- ID you can login to any MCA-ID-enabled site and identify yourself as you.

 

 

 

 

 

CA/NTP

 

1,  負責接受手機端的信息(IMEIMobile Number),產生加密Seed,將基準時間發送給手機段。目前通訊部分使用Socket技術實現,如果必要也可以考慮SMS方式通訊。

2,  負責接受來自SP的用戶身份驗證請求。根據用戶的請求,驗證是否爲有效用戶。目前通訊部分使用Web Service技術實現。

 

 

Moblie

1,  負責採集用戶的信息,發送給CA/NTP服務器。接受CA/NTP的響應數據(SeedBaseTime),並在手機端存儲。目前通過Socke進行通訊,通過Sql Site數據庫進行存儲。

2,  負責產生動態密碼,供用戶登錄時使用。根據SeedBase TimeIMEIMobile Number產生密碼。

沒有獲得Seed的用戶,單擊get password,系統提示用戶輸入手機號碼。

 

 

已經獲得Seed的用戶,單擊get password,系統給出登錄密碼。

SP APP

1,  負責將用戶的信息發送給CA/NTP服務器,根據CA/NTP的認證結果確認用戶是否有權訪問改站點。目前演示以MS PetShop4.0爲例,通過Web ServiceCA/NTP進行通訊。

 

 

更改Sign in實現過程。

protected void Login_Authenticate(object sender, AuthenticateEventArgs e)

    {

        CheckBox ckPasswordProtect= Login.FindControl("PasswordProtect") as CheckBox;

        Literal ltFailureText = Login.FindControl("FailureTip") as Literal;

        TextBox txMobileNum=Login.FindControl("MobileNum") as TextBox;

         TextBox txUserName=Login.FindControl("UserName") as TextBox;

         TextBox txPassword=Login.FindControl("Password") as TextBox;

        

        localhost.Service localService = new localhost.Service();

 

//Validate the user..

        if (ckPasswordProtect.Checked == true)

        {

            if (txMobileNum.Visible == true)

            {

// callWebServiceFirstLogin;

                string responsed = localService.FirstCheckIn("1",txUserName.Text.ToString(), txMobileNum.Text.ToString(),txPassword.Text.ToString());

                if(responsed=="OK")

                e.Authenticated = true;

            }

            else

            {

                if (FirstUses())

                {

                    txMobileNum.Visible = true;

                    ltFailureText.Visible = true;

                    ltFailureText.Text = "It's your first time to use Moblile Password Protect on this site,Please type your Mobile Number!";

                }

                else

                {

                    //callWebServiceCheckIn;

                    if (localService.CheckIn("1",txUserName.Text.ToString(), txPassword.Text.ToString()) == "true")

                    e.Authenticated = true;

                }

            }

        }

     

    }

 

第一次使用手機密碼保護,系統提示用戶輸入手機號碼

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章