Can you summarize the following document?
        
  OpenVPN的技術核心是虛擬網絡卡,其次是SSL協議實現。

  虛擬網絡卡是使用網路底層程式設計技術實現的一個驅動軟體。安裝此類程式後主機上會增加一個非真實的網絡卡,並可以像其它網絡卡一樣進行配置。服務程式可以在應用層開啟虛擬網絡卡,如果應用軟體(如網路瀏覽器)向虛擬網絡卡傳送資料,則服務程式可以讀取到該資料。如果服務程式寫合適的資料到虛擬網絡卡,應用軟體也可以接收得到。虛擬網絡卡在很多的作業系統中都有相應的實現,這也是OpenVPN能夠跨平臺使用的一個重要原因。  在OpenVPN中,如果使用者訪問一個遠端的虛擬地址(屬於虛擬網絡卡配用的地址系列,區別於真實地址),則作業系統會通過路由機制將資料包(TUN模式)或資料幀(TAP模式)傳送到虛擬網絡卡上,服務程式接收該資料並進行相應的處理後,會通過SOCKET從外網上傳送出去。這完成了一個單向傳輸的過程,反之亦然。當遠端服務程式通過SOCKET從外網上接收到資料,並進行相應的處理後,又會傳送回給虛擬網絡卡,則該應用軟體就可以接收到。

  OpenVPN使用OpenSSL庫來加密資料與控制資訊。這意味著,它能夠使用任何OpenSSL支援的演算法。它提供了HMAC功能以提高連線的安全性。此外,OpenSSL的硬體加速也能提高它的效能。2.3.0以後版本引入PolarSSL。

  OpenVPN提供了多種身份驗證方式,用以確認連線雙方的身份,包括: 預享金鑰最為簡單,但同時它只能用於建立點對點的VPN;基於PKI的第三方證書提供了最完善的功能,但是需要額外維護一個PKI證書系統。OpenVPN2.0後引入了使用者名稱/口令組合的身份驗證方式,它可以省略客戶端證書,但是仍需要一份伺服器證書用作加密。

  OpenVPN與生俱來便具備了許多安全特性:它在使用者空間執行,無須對核心及網路協議棧作修改;初始完畢後以chroot方式執行,放棄root許可權;使用mlockall以防止敏感資料交換到磁碟。  OpenVPN通過PKCS#11支援硬體加密標識,如智慧卡。

  防火長城會針對OpenVPN伺服器回送證書完成握手建立有效加密連線時干擾連線,在使用TCP協議模式時握手會被連線重置,而使用UDP協議時含有伺服器認證證書的資料包會被故意丟棄,使OpenVPN無法建立有效加密連線而連線失敗。而在中國大陸內部的連線不受這種限制。
OpenVPN是一個用於建立虛擬私人網路加密通道的軟體包,最早由James Yonan編寫。OpenVPN允許建立的VPN使用公開金鑰、電子證書、或者使用者名稱/密碼來進行身份驗證。