❶ SSO單點登錄的實現原理是怎樣的
關鍵字: 單點登錄 SSO Session
單點登錄在現在的系統架構中廣泛存在,他將多個子系統的認證體系打通,實現了一個入口多處使用,而在架構單點登錄時,也會遇到一些小問題,在不同的應用環境中可以採用不同的單點登錄實現方案來滿足需求。我將以我所遇到的應用環境以及在其中所經歷的各個階段與大家分享,若有不足,希望各位不吝賜教。
一、共享Session
共享Session可謂是實現單點登錄最直接、最簡單的方式。將用戶認證信息保存於Session中,即以Session內存儲的值為用戶憑證,這在單個站點內使用是很正常也很容易實現的,而在用戶驗證、用戶信息管理與業務應用分離的場景下即會遇到單點登錄的問題,在應用體系簡單,子系統很少的情況下,可以考慮採用Session共享的方法來處理這個問題。
由上圖可以看到,這套單點登錄依賴於OpenId的傳遞,其驗證的基礎在於OpenId的存儲以及發送。
1、當用戶第一次登錄時,將用戶名密碼發送給驗證服務;
2、驗證服務將用戶標識OpenId返回到客戶端;
3、客戶端進行存儲;
4、訪問子系統時,將OpenId發送到子系統;
5、子系統將OpenId轉發到驗證服務;
6、驗證服務將用戶認證信息返回給子系統;
7、子系統構建用戶驗證信息後將授權後的內容返回給客戶端。
這套單點登錄驗證機制的主要問題在於他基於C/S架構下將用戶的OpenId存儲於客戶端,在子系統之間發送OpenId,而B/S模式下要做到這一點就顯得較為困難。為了處理這個問題我們將引出下一種方式,這種方式將解決B/S模式下的OpenId的存儲、傳遞問題。
三、基於Cookie的OpenId存儲方案
我們知道,Cookie的作用在於充當一個信息載體在Server端和Browser端進行信息傳遞,而Cookie一般是以域名為分割的,例如a.xxx.com與b.xxx.com的Cookie是不能互相訪問的,但是子域名是可以訪問上級域名的Cookie的。即a.xxx.com和b.xxx.com是可以訪問xxx.com下的Cookie的,於是就能將頂級域名的Cookie作為OpenId的載體。
驗證步驟和上第二個方法非常相似:
1、 在提供驗證服務的站點里登錄;
2、 將OpenId寫入頂級域名Cookie里;
3、 訪問子系統(Cookie里帶有OpenId)
4、 子系統取出OpenId通過並向驗證服務發送OpenId
5、 返回用戶認證信息
6、 返回授權後的內容
在以上兩種方法中我們都可以看到通過OpenId解耦了Session共享方案中的類型等問題,並且構造用戶驗證信息將更靈活,子系統間的驗證是相互獨立的,但是在第三種方案里,我們基於所有子系統都是同一個頂級域名的假設,而在實際生產環境里有多個域名是很正常的事情,那麼就不得不考慮跨域問題究竟如何解決。
四、B/S多域名環境下的單點登錄處理
在多個頂級域名的情況下,我們將無法讓各個子系統的OpenId共享。處理B/S環境下的跨域問題,我們首先就應該想到JSONP的方案。
驗證步驟如下:
1、 用戶通過登錄子系統進行用戶登錄;
2、 用戶登錄子系統記錄了用戶的登錄狀態、OpenId等信息;
3、 用戶使用業務子系統;
4、 若用戶未登錄業務子系統則將用戶跳轉至用戶登錄子系統;
5、 用戶子系統通過JSONP介面將用戶OpenId傳給業務子系統;
6、 業務子系統通過OpenId調用驗證服務;
7、 驗證服務返回認證信息、業務子系統構造用戶登錄憑證;(此時用戶客戶端已經與子業務系統的驗證信息已經一一對應)
8、 將用戶登錄結果返回用戶登錄子系統,若成功登錄則將用戶跳轉回業務子系統;
9、 將授權後的內容返回客戶端;
五、安全問題
經過以上步驟,跨域情況下的單點登錄問題已經可以得到解決。而在整個開發過程初期,我們採用用戶表中紀錄一個OpenId欄位來保存用戶OpenId,而這個機制下很明顯存在一些安全性、擴展性問題。這個擴展性問題主要體現在一個方面:OpenId的安全性和用戶體驗的矛盾。
整個單點登錄的機制決定了OpenId是會出現在客戶端的,所以OpenId需要有過期機制,假如用戶在一個終端登錄的話可以選擇在用戶每次登錄或者每次退出時刷新OpenId,而在多終端登錄的情況下就會出現矛盾:當一個終端刷新了OpenId之後其他終端將無法正常授權。而最終,我採用了單用戶多OpenId的解決方案。每次用戶通過用戶名/密碼登錄時,產生一個OpenId保存在Redis里,並且設定過期時間,這樣多個終端登錄就會有多個OpenId與之對應,不再會存在一個OpenId失效所有終端驗證都失效的情況。
❷ 怎樣為單獨二級域名配置https
一、首先需要二級域名辦理SSL證書:網頁鏈接
二、根據需要的域名辦理手續驗證。
三、由於SSL證書需部署到獨立伺服器的,所以可以聯系簽發機構拿到對應伺服器環境的教程進行部署。
❸ 使用自簽SSL證書有什麼風險
1、沒有真正的加密主功能,所謂自簽SSL證書,是指不受信任的任意機構或個人,使用工具自己簽發的SSL證書。自簽名SSL證書可以隨意簽發,沒有第三方監督審核,不受瀏覽器和操作系統信任,常被用於偽造證書進行中間人攻擊,劫持SSL加密流量。很多網站為了節約成本,採用自簽名SSL證書,其實是給自己的網站埋下了一顆定時炸彈,隨時可能被黑客利用。
2、在HTTPS情況下屬於明文傳輸,這樣情況下建議使用HTTP。
3、自簽SSL證書是不受瀏覽器信任的,用戶訪問部署了自簽SSL證書的網站時,瀏覽器會持續彈出安全警告,極大影響用戶體驗。
4、如果您的網站使用自簽SSL證書,那黑客也可以偽造一張一模一樣的自簽證書,用在釣魚網站上,偽造出有一樣證書的假冒網銀網站!
4、加密,無法真正的,將被數據傳輸過程中被劫持。
5、公網信任SSL證書申請:網頁鏈接
❹ 域名備案的原理:誰能告訴網站備案的原理,也就是為什麼要取得備案號,備案號在網路運行中得作用!
備案號就像身份證,在國內沒身份證不行,在國內網站沒有備案也不行,不給你開通,但你用國內空間就沒這限制了。主要是打擊非法暴力網站。不要把這備案看的太重要,只是形式而已。
現在個人沒法備案,必須通過你的域名空間服務商代為備案,這是他們的責任,免費的,你只需提供資料給服務商,由服務商提交備案。以下是在上海樂道科技空間服務商代為備案的流程,免費的,你可以參考下,上海備案一般二周時間內,有快有慢,運氣好時一周時間。如你在上海還可以到管局的網站上留言催促他們快點審核。
目前第三版備案系統已經啟用。新域名備案,老域名添加,備案變更等需要按照下面方法操作:
1、提供域名證書,網站管理人身份證復印件(如果是公司的還要加上營業執照復印件),還有網站真實性核驗單、授權書、信息安全承諾書(見附2)。
以上資料快遞到我公司。
注意:核驗單的第2頁表格要求一式三份,其中請不要填寫關於接入服務單位的部分!另外列印的時候注意千萬不要把表格列印到2頁上了,一定要完整的一頁。(可以到上海樂道科技網站上下載)
2、(老備案審核無需做這步)北京、山東、雲南、江蘇、遼寧客戶的備案,還需要把照片嵌入到備案幕布的背景中,彩色列印出來郵寄給我們。
以上流程其實很簡單,目前必須有服務商,不然你連提交的地方都沒有,買空間和域名網路找:上海樂道科技,免費代為網站備案。購買虛擬產品,買的不光是域名和網站空間,最重要的就是服務了。其實不管在哪裡買,域名和空間都是一樣或差不多,最主要是要找一個負責任的上級,可以耐心的給你指導,並且能幫助你解解一些後續問題,教你怎樣更好的運行好網站,更快的成長起來。上海樂道科技這方面做的很好,把服務客戶做為經營的理念,網站空間也是非常的好的,一年內從未停過,網站打開速度很快。
❺ 京東雲哪裡獲得域名證書
你去照注冊地址頁面的域名,後面一般都有選項,裡面就有域名證書。我用阿里雲和騰訊雲,原理都差不多。
❻ SSL證書的認證原理
安全套接字層(SSL) 技術通過加密信息和提供鑒權,保護您的網站安全。一份 SSL 證書包括一個公內共密鑰和一個私用容密鑰。公共密鑰用於加密信息,私用密鑰用於解譯加密的信息。瀏覽器指向一個安全域時,SSL 同步確認伺服器和客戶端,並創建一種加密方式和一個唯一的會話密鑰。它們可以啟動一個保證消息的隱私性和完整性的安全會話。
SSL的工作原理中包含如下三個協議。
握手協議(Handshake protocol)
記錄協議(Record protocol)
警報協議(Alert protocol) 記錄協議在客戶機和伺服器握手成功後使用,即客戶機和伺服器鑒別對方和確定安全信息交換使用的演算法後,進入SSL記錄協議,記錄協議向SSL連接提供兩個服務:
(1)保密性:使用握手協議定義的秘密密鑰實現
(2)完整性:握手協議定義了MAC,用於保證消息完整性 客戶機和伺服器發現錯誤時,向對方發送一個警報消息。如果是致命錯誤,則演算法立即關閉SSL連接,雙方還會先刪除相關的會話號,秘密和密鑰。每個警報消息共2個位元組,第1個位元組表示錯誤類型,如果是警報,則值為1,如果是致命錯誤,則值為2;第2個位元組制定實際錯誤類型。
❼ SSL證書為什麼不能長期有效
答案:CA/B規定最長注冊時間2年。擴展閱讀:網頁鏈接
解釋原因:
不能保證一個合法網站永專遠不會成為一個釣屬魚站點
永久有效的證書導致CRL不斷增加,會增加瀏覽器的請求流量壓力
有效期由3年(39個月)縮短為2年(825天)。EV證書因信任級別較高,最長有效期2年
有效期對保護證書安全性是基於PKI技術的數字證書,結合公鑰加密演算法、對稱加密演算法、散列演算法等密碼技術,用於實現認證、加密、簽名等安全功能。
沒有合理設置SSL證書有效期,會造成極大的安全威脅。自簽名SSL證書為例,自簽名SSL證書不受國際標准制約,可以把有效期設置為10年甚至20年。自簽名證書長期未更新,仍在使用非常不安全的1024位RSA演算法和SHA-1簽名演算法。超長的有效期和脆弱的加密演算法,讓黑客擁有足夠的時間和算力破解證書的加密密鑰,造成嚴重後果。
CA機構必須重新驗證身份信息,確保身份認證信息是最新的,並仍然擁有該域名。
解決辦法:可以在淘寶中找到Gworg,注冊2年SSL證書,預訂單方式續費。
❽ SSL證書是什麼
SSL證書是數字證書的一種,類似於駕駛證、護照和營業執照的電子副本。
SSL證書通過在客戶端瀏覽器和Web伺服器之間建立一條SSL安全通道(Secure socket layer(SSL)安
SSL證書
全協議是由Netscape Communication公司設計開發。該安全協議主要用來提供對用戶和伺服器的認證;對傳送的數據進行加密和隱藏;確保數據在傳送中不被改變,即數據的完整性,現已成為該領域中全球化的標准。由於SSL技術已建立到所有主要的瀏覽器和WEB伺服器程序中,因此,僅需安裝伺服器證書就可以激活該功能了)。即通過它可以激活SSL協議,實現數據信息在客戶端和伺服器之間的加密傳輸,可以防止數據信息的泄露。保證了雙方傳遞信息的安全性,而且用戶可以通過伺服器證書驗證他所訪問的網站是否是真實可靠。
SSL證書的功能
a 確認網站真實性(網站身份認證):用戶需要登錄正確的網站進行在線購物或其它交易活動,但由於互聯網的廣泛性和開放性,使得互聯網上存在著許多假冒、釣魚網站,用戶如何來判斷網站的真實性,如何信任自己正在訪問的網站,可信網站將幫你確認網站的身份。 b 保證信息傳輸的機密性:用戶在登錄網站在線購物或進行各種交易時,需要多次向伺服器端傳送信息,而這些信息很多是用戶的隱私和機密信息,直接涉及經濟利益或私密,如何來確保這些信息的安全呢?可信網站將幫您建立一條安全的信息傳輸加密通道。 其實現原理圖如下圖1所示: 在SSL會話產生時,伺服器會傳送它的證書,用戶端瀏覽器會自動的分析伺服器證書,並根據不同版本的瀏覽器,從而產生40位或128位的會話密鑰,用於對交易的信息進行加密。所有的過程都會自動完成,對用戶是透明的,因而,伺服器證書可分為兩種:最低40位和最低128位(這里指的是SSL會話時生成加密密鑰的長度,密鑰越長越不容易破解)證書。 最低40位的伺服器證書在建立會話時,根據瀏覽器版本不同,可產生40位或128位的SSL會話密鑰用來建立用戶瀏覽器與伺服器之間的安全通道。而最低128位的伺服器證書不受瀏覽器版本的限制可以產生128位以上的會話密鑰,實現高級別的加密強度,無論是IE或Netscape瀏覽器,即使使用強行攻擊的辦法破譯密碼,也需要10年。
SSL證書分類
SSL證書依據功能和品牌不同分類有所不同,但SSL證書作為國際通用的產品,最為重要的便是產品兼容性(即證書根預埋技術),因為他解決了網民登錄網站的信任問題,網民可以通過SSL證書輕松識別網站的真實身份。目前國際上,常見的證書品牌如VeriSign、GeoTrust等均可以實現該技術。我們以VeriSign證書為例,該類證書分為如下品類: 1、VeriSign 128位SSL支持型證書(VeriSign Secure Site) 2、VeriSign 128位SSL強制型證書(VeriSign Secure Site Pro) 3、VeriSign 128位EV SSL支持型證書(VeriSign Secure Site with EV):支持綠色地址欄技術 4、VeriSign 128位EV SSL強制型證書(VeriSign Secure Site Pro with EV ):支持綠色地址欄技術
❾ ssl證書的工作原理
SSL證書的工作原理:
客戶端向伺服器請求HTTPS連接
客戶端向伺服器傳送客戶端SSL協議的版本號,加密演算法的種類,產生的隨機數,以及其他伺服器和客戶端之間通訊所需要的各種信息。
伺服器確認並返回證書
伺服器向客戶端傳送SSL 協議的版本號,加密演算法的種類,隨機數以及其他相關信息,同時伺服器還將向客戶端傳送自己的證書。
客戶端驗證伺服器發來的證書
客戶端利用伺服器傳過來的信息驗證伺服器的合法性,伺服器的合法性包括:證書是否過期,發行伺服器證書的CA 是否可靠,發行者證書的公鑰能否正確解開伺服器證書的「發行者的數字簽名」,伺服器證書上的域名是否和伺服器的實際域名相匹配。如果合法性驗證沒有通過,通訊將斷開;如果驗證通過,將繼續進行。
信息驗證通過,客戶端生成隨機密鑰A,用公鑰加密後發給伺服器
從第③步驗證過的證書裡面可以拿到伺服器的公鑰,客戶端生成的隨機密鑰就使用這個公鑰來加密,加密之後,只有擁有該伺服器(持有私鑰)才能解密出來,保證安全。
伺服器用私鑰解密出隨機密鑰A,以後通信就用這個隨機密鑰A來對通信進行加密
這個握手過程並沒有將驗證客戶端身份的邏輯加進去。因為在大多數的情況下,HTTPS只是驗證伺服器的身份而已。如果要驗證客戶端的身份,需要客戶端擁有證書,在握手時發送證書,而這個證書是需要成本的。