999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM的安全文件傳輸系統設計

2010-10-26 08:09:36唐浩波方兵侯克斌周建斌成都理工大學610059
中國科技信息 2010年4期
關鍵詞:用戶

唐浩波 方兵 侯克斌 周建斌 成都理工大學 610059

基于ARM的安全文件傳輸系統設計

唐浩波 方兵 侯克斌 周建斌 成都理工大學 610059

本文介紹一種基于sbc2410開發板的安全文件傳輸系統設計方法。首先對基于ARM9處理器的sbc2410開發板和openssl安全傳輸原理進行了簡要介紹,然后重點說明了軟件設計部分的服務端和客服端的設計原理。服務端文件在傳輸過程中通過openssl協議傳輸加密,實現了多用戶數據操作。客服端主要提供了用戶命令以及QT圖形界面的操作數據。

ARM;Linux;網絡安全傳輸;openssl

1、引言

隨著網絡的飛速發展,網絡文件存儲使人們的生活和工作變得更加方便、快捷。但隨之而來的數據安全的問題越來越受到人們的重視。本文基于Samsung公司的ARM9處理器S3c2410,設計了一種基于ARM處理器的安全文件傳輸系統。該系統不但能為用戶提供方便的文件管理、上傳、下載功能,更在文件傳輸方面加入openSSL加密傳輸協議,使文件安全得到保障。

2、sbc2410簡介

Sbc2410開發板是一款基于ARM9、結構緊湊的嵌入式平臺。它使用三星公司的成熟的ARM9處理器s3c2410,s3c2410是基于ARM920T核的嵌入式通用處理器,使得主頻為一般為200MHZ,最高可達到266M H Z,采用A R M V 4T(Harvard)結構,五級流水處理以及分離的Cache結構,平均功耗為0.7mW/ MHz。SBC2410使用了兩片外接的32M bytes 總共64M bytes 的SDRAM 芯片,同時具備兩種Flash,一種是Nor Flash,大小為2Mbyte;另一種是Nand Flash,大小為64Mbyte。同時采用了CS8900網卡芯片,它可以自適應10/100M 網絡。sbc2410內部帶有全性能的 MMU,支持Linux, Windows CE等操作系統。支持TFT LCD/觸摸屏,音頻,USB,網卡,SD卡, IDE, AD等,它適用于設計移動手持設備類產品,具有高性能、低功耗、接口豐富和體積小能優良特性。

結核框圖如圖1。

3、OPENSSL簡介

openssl是一個功能豐富且自包含的開源安全工具箱。它提供的主要功能有:SSL協議實現(包括SSLv2、SSLv3和TLSv1)、大量軟算法(對稱/非對稱/摘要)、大數運算、非對稱算法密鑰生成、ASN.1編解碼庫、證書請求(PKCS10)編解碼、數字證書編解碼、CRL編解碼、OCSP協議、數字證書驗證、PKCS7標準實現和PKCS12個人數字證書格式實現等功能。

加密技術簡介:加密,即將明文數據轉換為密文數據的過程,以起到對明文保密的作用。加密算法: 數據加密過程所采用的一種運算算法,用于將明文轉換為密文。密鑰: 加密算法通過與密鑰進行某種運算,將明文數據進行加密,生成加密數據。解密時,加密算法通過密鑰, 將加密數據再轉換為明文數據。

現今的加密技術,加密算法是公開的,即所有人都知道加密所采用的運算方式。但只有使用密鑰才能進行對密文的解密。所以,密鑰的保護,是數據安全的核心。

圖3 結核框圖

功能如下:1.在網絡中傳輸的數據包,同時保護這些數據不被修改和偽造;2.網絡對話中雙方的身份SSL協議包含兩個子協議,一個是包協議,一個是握手協議。包協議是說明SSL的數據包應該如何封裝的。握手協議則是說明通信雙方如何協商共同決定使用什么算法以及算法使用的key。很明顯包協議位于握手協議更下一層。SSL握手過程說就是:通信雙方通過不對稱加密算法來協商好一個對稱加密算法以及使用的key,然后用這個算法加密以后所有的數據完成應用層協議的數據交換。

4、系統軟件設計

4.1 服務端的簡要設計流程

服務端設計流程圖如圖2。

服務端的設計流程圖形如圖2所示,服務端分別有服務端初始化、命令解析,數據管理,數據傳輸3部分組成。命令解析主要用于解析用戶所要執行的操作,數據管理主要用于對用戶數據的上傳下載刪除等功能的實現。用戶管理主要是管理用戶的登錄注冊信息。下面分別介紹圖2中所提及到的部分功能和實現:

4.1.1 服務端配置以及初始化:

SSL初始化說明:在使用OPENSSL之前,需要對其進行初始化,這個過程通過SSL_library_init()函數來完成,它主要加載OpenSSL將會用到的算法, 同樣需要通過SSL_load_error_strings()來加載錯誤字符串,否則,就不能夠將OpenSSL錯誤映射為字符串。通過使用S S L_C T X_n e w (SSLv23_server_method())為當前服務器創建S S L上下文C T X。同時使用SSL_CTX_use_certificate_file(ctx,“cacert. pem”,SSL_FILETYPE_PEM)載入用戶的數字證書,此證書用來發送給客服端口。最后使用SSL_CTX_use_PrivateKey_file()載入用戶私鑰。

圖2 服務端設計流程圖

4.1.2 套接字初始化:

應用層通過傳輸層進行數據通信時,TCP和UDP會遇到同時為多個應用程序進程提供并發服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個TCP協議端口傳輸數據。為了區別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的接口。Socket可以看成在兩個程序進行通訊連接中的一個端點。

相關函數:int socket(int domain, int type, int protocol)。 一旦通過socket調用返回一個socket描述符,就將該socket與你本機上的一個端口相關聯,即配置套接字基本信息。同時使用int bind(int sockfd,struct sockaddr *my_addr, int addrlen)將服務端的信息和套接字綁定。在服務器端程序中,當socket與某一端口捆綁以后,就需要監聽該端口,以便對到達的服務請求加以處理。使用函數int listen(int sockfd, int backlog)。

4.1.3 循環等待服務器的連接

基于上面SSL初始化時候生成的SSL上下文CTX,用SSL_new(SSL_CTX* ctx)函數實現以個SSL結構實例。和當前accept函數返回的客服端套接字,建立SSL結構與TCP套接字聯系,使SSL結構對套接字中的TCp數據進行SSL封裝(SSL_set_fd(SSL *ssl,int fd),同時接收新的SSL連接(int SSL_accept(SSL *ssl)).同時開啟一個新的線程為新連接的客服端執行不同的數據命令。

1)命令解析:對于用戶的不同操作命令信息,進行解析,主要有解析以下命令的功能:登錄,注冊,上傳,下載,刪除,重命名,退出等命令的解析。同時也包含了傳輸過程中的出錯信息的處理功能。

2)數據管理:主要用于查詢數據庫文件。用戶登錄信息管理數據庫文件,記錄了所有用戶的賬號和密碼,主要有登錄、注冊2大功能,用于判定用戶登錄時的密碼校驗。文件信息管理數據庫,主要數據成員包括如下:文件擁有者,文件名,文件大小,修改時間等元數據。在本程序中使用了int sqlite3_open(const char*,sqlite3**),用于打開或者創建特定的數據庫文件。文件數據管理主要有以下幾個功能:查詢,插入,搜索,重命名,刪除等功能。

4.1.4 數據傳輸:主要實現了用戶與服務器之間的信息和數據文件的安全傳輸,出錯信息的傳輸。主要是使用了openssl協議進行安全文件的傳輸。這里先說一下SSL接受和發送數據的實現方式:和普通的read()/write()調用一樣,用下面的函數完成數據的SSL發送和接收,函數輸入數據是明文,SSL自動將數據封裝進SSL中:

讀/接收:int SSL_read(SSL *ssl, void *buf, int num);

寫/發送:int SSL_write(SSL *ssl, const void *buf, int num);

當服務端接收到客服端連接時,等待客服端口發送的第一個命令數據包。這里通過ssl_read接收數據包信息,解析當前執行的命令,做出相應的操作。

4.1.5 循環讀取客服端命令:

當執行完當前的命令后,將等待客服端發來的下一個命令,并處理。這里涉及前面提及到的數據庫文件中上傳、下載、刪除等命令,都需要使用當前file管理數據庫文件,查詢,刪除,插入等功能實現當前操作。當用戶選擇退出,結束當前線程,重新設置剩余客服端連接數量。

4.2 客服端簡要設計概述:

客服端流程圖如圖3。

如圖3所示:客服端主要有2部分:后臺數據通信部分和前臺QT圖形部分:

數據通信部分主要包含以下2部分:

4.2.1 SSL的初始化說明:通過前面服務端對SSL的簡單介紹,這里與前面略微不同的就是生成SSL上下文ctx所使用的方法,通過使用 SSL_CTX_new函數創建保存SSL信息的結構體,這里使用的方法函數是SSLv23_client_method,還設置另一個SSL類型的指針保持SSL的連接結構。

客服端流程圖 圖2

4.2.2 socket套接字的初始化:需要設置socket的服務端IP地址和客服端的端口。對于客服端套接字就不需要對其綁定和監聽,利用SSl庫文件對其傳輸的數據實現封裝。同時也采用了ssl_read()和ssl_write()兩大函數實現了文件在傳輸和接受過程中的安全性。

4.2.3 QT圖形界面部分主要包含有:登錄界面,注冊界面,用戶管理界面。通過調用后臺的數據通信部分,實現了客服端與遠程服務端的信息交互。

5、結論

本文設計了一種基于ARM9處理器S3C2410的安全文件傳輸系統。在介紹了本系統所使用的ARM9處理器S3C2410和SSL協議的加密方法基礎上,依次說明了系統的硬件結構設計,軟件服務端、客戶端設計,并在sbc2410和PC機上進行文件安全傳輸實驗,效果很好。該安全文件傳輸系統研究的實現,有利于提高文件傳輸過程中用戶資料的安全性和保密性。

[1](美)史蒂文斯編著.Unix環境高級編程(第2版)(M). 人民郵電出版社.2006-05

[2](美)史蒂文斯編著.TCP/IP詳解(M).機械工業出版社.2002-06

[3]令曉靜 等.SSL安全傳輸協議在網絡通信中的應用研究[D]. 西安電子科技大學. 2006

[4] 贠睿 等.SSL協議及其安全性[D]. 電腦知識與技術.2009

[5]李曉峰 等. SSL協議及其應用[J]. 信息安全與通信保密. 2007

唐浩波 男,成都理工大學核技術與自動化工程學院2007級碩士生,主要研究方向智能儀器。

猜你喜歡
用戶
雅閣國內用戶交付突破300萬輛
車主之友(2022年4期)2022-08-27 00:58:26
您撥打的用戶已戀愛,請稍后再哭
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年5期)2016-11-28 09:55:15
兩新黨建新媒體用戶與全網新媒體用戶之間有何差別
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
挖掘用戶需求尖端科技應用
Camera360:拍出5億用戶
創業家(2015年10期)2015-02-27 07:55:08
100萬用戶
創業家(2015年10期)2015-02-27 07:54:39
主站蜘蛛池模板: 欧美区日韩区| 伊人久久综在合线亚洲2019| 亚洲无码37.| 97se亚洲综合| 亚洲国产亚洲综合在线尤物| 亚亚洲乱码一二三四区| 青青操视频在线| 午夜视频www| 国产亚洲精品97AA片在线播放| 欧美精品色视频| 成人亚洲天堂| 国产成人一区免费观看 | 久久永久免费人妻精品| 99视频国产精品| 欧美亚洲中文精品三区| 成人精品午夜福利在线播放| 国产在线麻豆波多野结衣| 欧美一区二区三区国产精品| 毛片手机在线看| 国产精品九九视频| 一级片一区| 色综合久久久久8天国| 久久久精品无码一区二区三区| 亚洲三级a| 免费一级成人毛片| 精品国产网| 亚洲成人在线免费观看| 91精品在线视频观看| 国产a v无码专区亚洲av| 99精品热视频这里只有精品7| 91精品福利自产拍在线观看| 伊人成人在线视频| 人人91人人澡人人妻人人爽| 国产av色站网站| 亚洲娇小与黑人巨大交| 日本人妻丰满熟妇区| 波多野结衣国产精品| 波多野结衣爽到高潮漏水大喷| 99久久精品国产自免费| 高清无码手机在线观看| 97国产精品视频自在拍| 99精品在线视频观看| 又污又黄又无遮挡网站| 日本高清在线看免费观看| 亚洲欧美在线综合图区| 日韩毛片在线视频| 亚洲成人网在线播放| av一区二区无码在线| 亚洲精品桃花岛av在线| 国产精品lululu在线观看| 日本午夜在线视频| 国产最新无码专区在线| 国产JIZzJIzz视频全部免费| 99这里只有精品在线| 亚洲成aⅴ人在线观看| 在线观看欧美精品二区| 亚洲精品无码在线播放网站| 欧美激情一区二区三区成人| 狠狠色香婷婷久久亚洲精品| 国产精品久久久久久搜索 | 99人体免费视频| 成年网址网站在线观看| 国产精彩视频在线观看| 国产97视频在线| 亚洲日本www| 伊人久久福利中文字幕| 亚洲男人在线| 亚洲第一成年网| 欧美国产日韩在线| 国产熟女一级毛片| 2020亚洲精品无码| 久久婷婷色综合老司机| 91精品久久久无码中文字幕vr| 亚洲无码不卡网| 日本亚洲欧美在线| 在线永久免费观看的毛片| 免费不卡视频| 国产毛片高清一级国语 | 欧美第二区| 精品亚洲欧美中文字幕在线看 | 在线观看亚洲成人| 97视频免费在线观看|