一種用于推送消息的方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種用于推送消息的方法及設(shè)備。
【背景技術(shù)】
[0002] 在如今的互聯(lián)網(wǎng)服務(wù)中,服務(wù)器,如應(yīng)用服務(wù)提供商(Application Service Provider, AS巧的服務(wù)器,可為用戶設(shè)備提供推送服務(wù)。對于送種推送服務(wù),用戶設(shè)備只 需要進行一次性的注冊或授權(quán),所述ASP服務(wù)器便可W多次地、主動地向用戶設(shè)備推送消 息。但是,大多數(shù)的ASP服務(wù)器不能直接向用戶設(shè)備推送消息,而是需要通過第H方平臺 (Third-Party Plat化rm,TP巧服務(wù)器向用戶設(shè)備轉(zhuǎn)發(fā)所推送的消息。常見的TPP包括;短 信或郵件服務(wù)提供商、蘋果推送通知服務(wù)(Apple化sh Notification Service, APNs)和微 信公眾平臺等。
[0003] 為了使得TPP服務(wù)器無法獲得ASP服務(wù)器向用戶設(shè)備推送的消息,所述ASP服務(wù) 器在向所述用戶設(shè)備推送消息前,所述ASP服務(wù)器和所述用戶設(shè)備可采用迪菲-赫爾曼 值i巧e-HelIman, DH)協(xié)議進行密鑰協(xié)商,獲得對稱密鑰。所述ASP服務(wù)器可采用所述對稱 密鑰,對所述推送消息進行加密,相應(yīng)地,所述用戶設(shè)備可采用所述對稱密鑰,對所述推送 消息進行解密。例如:所述用戶設(shè)備可接收多個ASP服務(wù)器,比如第一 ASP服務(wù)器和第二 ASP服務(wù)器,推送的消息。所述用戶設(shè)備與所述第一 ASP服務(wù)器協(xié)商確定第一對稱密鑰,保 存與所述第一 ASP服務(wù)器對應(yīng)的所述第一對稱密鑰。所述用戶設(shè)備還與所述第二ASP服務(wù) 器協(xié)商確定第二對稱密鑰,保存與所述第二ASP服務(wù)器確定的所述第二對稱密鑰。送樣,所 述用戶設(shè)備需要耗費較多的存儲空間來保存對稱密鑰,降低了安全性;所述用戶設(shè)備還需 要配置針對所述對稱密鑰的管理機制,W便在接收到某一 ASP服務(wù)器推送的消息后,能夠 快速查找出與某一 ASP服務(wù)器對應(yīng)的對稱密鑰,增加了用戶設(shè)備的負擔。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的實施例提供一種用于推送消息的方法及設(shè)備,有助于提高安全性和降低 設(shè)備的負擔。
[0005] 為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0006] 第一方面,提供一種用于推送消息的方法,包括:
[0007] 服務(wù)器獲得第一字段,所述第一字段為根據(jù)DH協(xié)議、第一隨機數(shù)和DH參數(shù)生成的 數(shù)據(jù),所述第一隨機數(shù)為根據(jù)用戶設(shè)備的私有密鑰和所述服務(wù)器的標識生成的數(shù)據(jù),所述 DH參數(shù)為所述用戶設(shè)備和所述服務(wù)器共享的參數(shù);
[0008] 所述服務(wù)器根據(jù)所述DH協(xié)議、第二隨機數(shù)、所述第一字段W及所述DH參數(shù),獲得 第一密鑰,所述第二隨機數(shù)為所述服務(wù)器生成的隨機數(shù);
[0009] 所述服務(wù)器采用所述第一密鑰加密第一消息,獲得加密后的第一消息,所述第一 消息為所述服務(wù)器向所述用戶設(shè)備推送的消息;
[0010] 所述服務(wù)器向所述用戶設(shè)備發(fā)送第二字段和所述加密后的第一消息,所述第二字 段為根據(jù)所述DH協(xié)議、所述第二隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù)。
[0011] 結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述服務(wù)器獲得第一字 段包括:
[0012] 所述服務(wù)器接收所述用戶設(shè)備發(fā)送的請求報文,所述請求報文用于請求所述服務(wù) 器提供推送服務(wù),所述請求報文包括所述第一字段;
[0013] 所述服務(wù)器從所述請求報文中獲得所述第一字段。
[0014] 結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的 實現(xiàn)方式中,還包括:
[0015] 所述服務(wù)器根據(jù)所述DH協(xié)議、第H隨機數(shù)、所述第一字段W及所述DH參數(shù),獲得 第二密鑰,所述第H隨機數(shù)為所述服務(wù)器生成的隨機數(shù);
[0016] 所述服務(wù)器采用所述第二密鑰加密第二消息,獲得加密后的第二消息,所述第二 消息為所述服務(wù)器向所述用戶設(shè)備推送的消息;
[0017] 所述服務(wù)器向所述用戶設(shè)備發(fā)送第H字段和所述加密后的第二消息,所述第H字 段為根據(jù)所述DH協(xié)議、所述第H隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù)。
[0018] 結(jié)合第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式, 在第一方面的第H種可能的實現(xiàn)方式中,所述請求報文還包括所述用戶設(shè)備的標識,還包 括:
[0019] 所述服務(wù)器存儲所述第一字段和所述用戶設(shè)備的標識之間的對應(yīng)關(guān)系。
[0020] 第二方面,提供一種用于推送消息的方法,包括:
[0021] 用戶設(shè)備接收服務(wù)器發(fā)送的第二字段和加密后的第一消息,所述第二字段為根據(jù) DH協(xié)議、第二隨機數(shù)和DH參數(shù)生成的數(shù)據(jù),所述第二隨機數(shù)為所述服務(wù)器生成的隨機數(shù), 所述DH參數(shù)為所述用戶設(shè)備和所述服務(wù)器共享的參數(shù);
[0022] 所述用戶設(shè)備獲得第一隨機數(shù),所述第一隨機數(shù)為根據(jù)所述用戶設(shè)備的私有密鑰 和所述服務(wù)器的標識生成的數(shù)據(jù);
[0023] 所述用戶設(shè)備根據(jù)所述DH協(xié)議、所述第一隨機數(shù)、所述第二字段W及所述DH參 數(shù),獲得第一密鑰;
[0024] 所述用戶設(shè)備采用所述第一密鑰對所述加密后的第一消息進行解密,獲得第一消 息,所述第一消息為所述服務(wù)器向所述用戶設(shè)備推送的消息。
[0025] 結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述用戶設(shè)備接收服務(wù) 器發(fā)送的第二字段和加密后的第一消息之前,還包括:
[0026] 所述用戶設(shè)備獲得第一字段,所述第一字段為根據(jù)所述DH協(xié)議、所述第一隨機數(shù) 和所述DH參數(shù)生成的數(shù)據(jù);
[0027] 所述用戶設(shè)備向所述服務(wù)器發(fā)送所述第一字段。
[0028] 結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式 中,所述用戶設(shè)備向所述服務(wù)器發(fā)送所述第一字段,包括:
[0029] 所述用戶設(shè)備獲得請求報文,所述請求報文用于向所述服務(wù)器請求提供推送服 務(wù),所述請求報文包括所述第一字段;
[0030] 所述用戶設(shè)備向所述服務(wù)器發(fā)送所述請求報文。
[0031] 結(jié)合第二方面、第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實 現(xiàn)方式,在第二方面的第H種可能的實現(xiàn)方式中,還包括:
[0032] 所述用戶設(shè)備接收所述服務(wù)器發(fā)送的第H字段和加密后的第二消息,所述第H字 段為根據(jù)所述DH協(xié)議、第H隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù),所述第H隨機數(shù)為所述服務(wù) 器生成的隨機數(shù);
[0033] 所述用戶設(shè)備根據(jù)所述DH協(xié)議、所述第一隨機數(shù)、所述第H字段W及所述DH參 數(shù),獲得第二密鑰;
[0034] 所述用戶設(shè)備采用所述第二密鑰對所述加密后的第二消息進行解密,獲得所述第 二消息,所述第二消息為所述服務(wù)器向所述用戶設(shè)備推送的消息。
[0035] 第H方面,提供一種服務(wù)器,包括:
[0036] 第一獲得單元,用于獲得第一字段,所述第一字段為根據(jù)DH協(xié)議、第一隨機數(shù)和 DH參數(shù)生成的數(shù)據(jù),所述第一隨機數(shù)為根據(jù)用戶設(shè)備的私有密鑰和所述服務(wù)器的標識生成 的數(shù)據(jù),所述DH參數(shù)為所述用戶設(shè)備和所述服務(wù)器共享的參數(shù);
[0037] 第二獲得單元,用于根據(jù)所述DH協(xié)議、第二隨機數(shù)、所述第一字段W及所述DH參 數(shù),獲得第一密鑰,所述第二隨機數(shù)為所述服務(wù)器生成的隨機數(shù);
[0038] 加密單元,用于采用所述第二獲得單元獲得的所述第一密鑰加密第一消息,獲得 加密后的第一消息,所述第一消息為所述服務(wù)器向所述用戶設(shè)備推送的消息;
[0039] 發(fā)送單元,用于向所述用戶設(shè)備發(fā)送第二字段和所述加密后的第一消息,所述第 二字段為根據(jù)所述DH協(xié)議、所述第二隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù)。
[0040] 結(jié)合第H方面,在第H方面的第一種可能的實現(xiàn)方式中,還包括:
[0041] 接收單元,用于接收所述用戶設(shè)備發(fā)送的請求報文,所述請求報文用于請求所述 服務(wù)器提供推送服務(wù),所述請求報文包括所述第一字段;
[0042] 所述第一獲得單元還用于從所述接收單元接收到的所述請求報文中獲得所述第 一字段。
[0043] 結(jié)合第H方面或第H方面的第一種可能的實現(xiàn)方式,在第H方面的第二種可能的 實現(xiàn)方式中,
[0044] 所述第二獲得單元還用于根據(jù)所述DH協(xié)議、第H隨機數(shù)、所述第一字段W及所述 DH參數(shù),獲得第二密鑰,所述第H隨機數(shù)為所述服務(wù)器生成的隨機數(shù);
[0045] 所述加密單元還用于采用所述第二獲得單元獲得的所述第二密鑰加密第二消息, 獲得加密后的第二消息,所述第二消息為所述服務(wù)器向所述用戶設(shè)備推送的消息;
[0046] 所述發(fā)送單元還用于向所述用戶設(shè)備發(fā)送第H字段和所述加密后的第二消息,所 述第H字段為根據(jù)所述DH協(xié)議、所述第H隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù)。
[0047] 結(jié)合第H方面的第一種可能的實現(xiàn)方式或第H方面的第二種可能的實現(xiàn)方式, 在第H方面的第H種可能的實現(xiàn)方式中,所述請求報文還包括所述用戶設(shè)備的標識,還包 括:
[0048] 存儲單元,用于存儲所述第一字段和所述用戶設(shè)備的標識之間的對應(yīng)關(guān)系。
[0049] 第四方面,提供一種用戶設(shè)備,包括:
[0050] 接收單元,用于接收服務(wù)器發(fā)送的第二字段和加密后的第一消息,所述第二字段 為根據(jù)DH協(xié)議、第二隨機數(shù)和DH參數(shù)生成的數(shù)據(jù),所述第二隨機數(shù)為所述服務(wù)器生成的隨 機數(shù),所述DH參數(shù)為所述用戶設(shè)備和所述服務(wù)器共享的參數(shù);
[0051] 第一獲得單元,用于獲得第一隨機數(shù),所述第一隨機數(shù)為根據(jù)所述用戶設(shè)備的私 有密鑰和所述服務(wù)器的標識生成的數(shù)據(jù);
[0052] 第二獲得單元,用于根據(jù)所述DH協(xié)議、所述第一隨機數(shù)、所述第二字段W及所述 DH參數(shù),獲得第一密鑰;
[0053] 解密單元,用于采用所述第二獲得單元獲得的所述第一密鑰對所述加密后的第一 消息進行解密,獲得第一消息,所述第一消息為所述服務(wù)器向所述用戶設(shè)備推送的消息。
[0054] 結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,還包括:
[0055] 第H獲得單元,用于在所述接收單元接收服務(wù)器發(fā)送的第二字段和加密后的第一 消息之前,獲得第一字段,所述第一字段為根據(jù)所述DH協(xié)議、所述第一隨機數(shù)和所述DH參 數(shù)生成的數(shù)據(jù);
[0056] 發(fā)送單元,用于向所述服務(wù)器發(fā)送所述第H獲得單元獲得的所述第一字段。
[0057] 結(jié)合第四方面的第一種可能的實現(xiàn)方式,在第四方面的第二種可能的實現(xiàn)方式 中,
[0058] 所述第H獲得單元還用于獲得請求報文,所述請求報文用于向所述服務(wù)器請求提 供推送服務(wù),所述請求報文包括所述第一字段;
[0059] 所述發(fā)送單元用于向所述服務(wù)器發(fā)送所述第H獲得單元獲得的所述請求報文。
[0060] 結(jié)合第四方面、第四方面的第一種可能的實現(xiàn)方式或第四方面的第二種可能的實 現(xiàn)方式,在第四方面的第H種可能的實現(xiàn)方式中,
[0061] 所述接收單元還用于接收所述服務(wù)器發(fā)送的第H字段和加密后的第二消息,所述 第H字段為根據(jù)所述DH協(xié)議、第H隨機數(shù)和所述DH參數(shù)生成的數(shù)據(jù),所述第H隨機數(shù)