文件安全传输

2024-09-29

文件安全传输(精选12篇)

文件安全传输 篇1

现在, 随着网络技术和信息技术的发展, 人类进入了信息时代, 各类信息传输的设备都实现了传输的高效和安全性, 为人们的工作和生活提供了便利。蓝牙技术的应用为人们传输文件提供了方便, 人们不用借助数据线就可以传输文件, 但是, 同时蓝牙技术在传输文件的过程中安全性较低, 给人们带来不便, 所以, 提高手机蓝牙传输文件的安全性是势在必行的。

1 OCEX层文件传输安全性探究及改善

1.1 手机蓝牙文件传输的基本步骤

手机蓝牙在进行文件传输的时候, 首先使两个手机的蓝牙建立连接, 用一个手机搜索另一个手机中蓝牙设备中的文件, 在两个手机的蓝牙建立连接后, 实现两个手机的文件传输, 传输文件的手机能够将被传输文件手机进行控制。在两个手机的蓝牙连接后, 就建立了文件传输的路径, 实现了蓝牙的协议, 这些协议包括基带协议、逻辑控制和适配控制, 蓝牙可以传输不同类型的文件, 而且能够传输文件夹。两个手机在运用蓝牙传输文件时, 这时, 一个手机充当的是客户端, 一个手机充当的服务器, 文件由客户端向服务器传送, 服务器起到了交换信息的作用, 也能够调整文件的格式。

1.2 函数拦截技术分析

手机蓝牙实现文件的传输是通过函数的拦截技术实现的, 这项技术主要是通过对手机的挂接函数实现的, 结合蓝牙技术文件传输的原理, 运用系统调试的工具, 并通过反汇编理论和静态跟踪理论对蓝牙传输的文件进行追踪, 实现两部手机之间函数的对接, 对传输的文件格式进行匹配, 将不同类型文件的传输进行终止, 能够在一定程度上对文件传输的速度和安全性进行监控。

手机蓝牙在进行文件传输的时候, 主要包括建立连接、发送文件、接收文件、设置路径这几个步骤, 在对系统进行操作的时候, 在蓝牙的数据库中设计接口函数, 实现两部手机之间信息的互通, 当系统的文件传输到另一台手机的蓝牙设备时, 通过蓝牙设备将目录打开, 系统就可以自动调节应用程序。

1.3 手机蓝牙文件传输机制的改进

手机蓝牙在进行文件传输之前都要进行文件的过滤, 文件的过滤要通过文件的监控模块, 然后在系统中自动的形成监控日志, 将文件传输中的敏感内容记录下来。

手机蓝牙的文件传输监控模块主要由进程发现模块、监控功能模块、文件传输过滤模块等构成。进程发现模块能够对系统的运行情况进行监控, 当两个手机的蓝牙建立连接后, 当文件通过蓝牙进行传输的时候, 这一模块能够对文件传输过程中的信息进行储存, 能够建立文件传输进程列表, 然后将收集的信息传输到监控功能模块中。在监控功能模块中, 能够对蓝牙传输的过程进行扫描, 运用有监控作用的DLL, 运用远程技术, 将传输的线路进行存储。在文件传输过滤模块中, 根据系统中设置的规律的规模, 对蓝牙设备传输的文件进行扫描和过滤, 当文件能够符合设置的规则时, 文件就可以通过扫描, 当文件的规模不符合设置的规则时, 文件就会被禁止传输, 这一模块的实现是当蓝牙建立连接后, 根据设置的规律对文件传输的过程进行监控。

2 LMP层连接机制的安全性分析及改进

2.1 手机蓝牙建立链路连接的步骤分析

手机的蓝牙设备要进行文件传输, 首先两台设备之间要明确身份, 对身份进行匹配, 在确认身份时一般是通过鉴权实现的, 当两部手机的蓝牙连接后, 链路的连接需要密码, 需要两个设备的蓝牙生成密码后, 通过连接, 然后输入相同的密码, 当密码输入相同时, 才能实现连接, 在进行鉴权后, 两台设备的密码连接是一次性的, 如果还需要连接, 则要进行二次匹配。

2.2 手机蓝牙体制中的几种安全模式的对比分析

手机蓝牙体制中的几种安全模式的基本区别在于安全性的高低, 安全模式I是最低级的, 在蓝牙设备中几乎不使用, 安全模式II在蓝牙设备传输文件的时候可以起到一定的安全防护作用, 能够防止文件内容的泄露, 这种安全模式在高层协议中使用比较广泛, 安全模式III在使用过程中是通过建立链路通信的方式, 这就实现了全面地保护, 是安全级别最高的保护方式。

2.3 个人识别码匹配步骤分析

两个手机在第一次运用蓝牙进行通信的时候, 在生成密码的时候需要在两部手机上都输入PIN码, 其主要步骤是两个蓝牙输入相同的PIN码后, 两部手机上都会出现一个随机的数字, 然后两部手机同时输入数字, 就能够建立连接, 当两部手机建立连接后, 这个随机的数字便会失去作用, 不能重复使用, 初始密码是链路连接的一种方式, 根据类型, 在蓝牙中可以将初始密码分成四种类型, 链路密码都是由128位随机数字组成的, 链路密码可以随时更换, 也可以长时间使用, 当链路密码受到当前线路的限制时, 就必须更换。

3 结语

现在, 蓝牙设备被广泛地应用于手机中, 其可以不通过数据线的连接就可以实现文件的传输, 方便了人们的工作与学习, 实现了资源的共享, 但是, 蓝牙设备在进行文件传输的时候安全性比较低, 容易造成文件内容的泄露, 所以, 有必要采取措施加强蓝牙设备进行文件传输的安全性。通过函数拦截技术和设置PIN码的方式, 提高蓝牙设备传输文件的安全性。

摘要:移动通信技术的发展越来越迅速, 推动了信息时代的发展, 在移动通讯技术中, 蓝牙技术成为一项重要技术, 蓝牙技术为移动技术的发展提供了广阔的前景, 蓝牙技术在手机中的应用, 能够实现手机在无线连接的方式下传输文件, 实现了无线通信。而且, 蓝牙技术在文件传输的过程中效率比较高, 不会受到其他因素的干扰, 但是, 蓝牙技术在传输文件的过程中存在着一定的安全性问题, 所以, 本文通过分析蓝牙技术的安全性问题, 从而提高蓝牙技术传输文件的安全性。

关键词:手机蓝牙,文件传输,机制,安全性分析

参考文献

[1]刘廷龙.OBEX协议的研究及在Android蓝牙系统上的实现[D].太原理工大学, 2013.

[2]何彪, 周开班.基于NFC技术的蓝牙对象交换方法[J].微计算机信息, 2012 (06) :133-134+284.

[3]张文, 夏戈明, 周翱隆, 万山川.一种安全加固的NFC无线通信连接认证加速系统[J].信息网络安全, 2013 (11) :17-21.

文件安全传输 篇2

U盘传输文件之所以会失败,我也是知道原因的,文件太大了,传输的时间过长,有时候就容易造成数据传输的中断,进而失败,但是文件会被损坏,这可是我始料未及的,真心有点郁闷了,很多的照片,全是前方的编辑记者发回来的,后面几天的稿件就要靠他们吃饭了,这下可好,打开一看,亲娘也,一张不剩的全部损坏掉了,连后缀的格式也变了。不少朋友会天真的意味可以通过改变后缀的格式来修改图片,让它还原,呵呵,这样的方式你可以试试,成功的几率为0%,这可是实践证明的。

那么还有什么方式可以恢复图片信息呢?总不能不要了吧?我估计再传一次的效果和这个也差不多,都怪公司的网速不好,要是贴上好网速,早就搞定了!所以为了应对这样的问题发生,咱们的编辑早就英明的找到了解决的方法,一款专门恢复照片数据的软件,怎么用的,我现在来告诉你!

第一步自然是下载安装,这是每一款软件使用的前提条件!建议不要安装在C盘就好了,免得以后格式化的时候被格掉,这是安装软件的一个常识性问题。

第二步咱们开始使用,打开软件选择扫描,常规扫描就好了,然后将位置指向咱们丢失文件的u盘,当然,在这之前需要将u盘连接到电脑上,不然是找不到路径的。

第三步,咱们在扫描出来的文件中,注意是在未删除文件中寻找,找到需要恢复的文件,然后全部勾选上,就可以点击进入下一步了。

第四步,咱们又需要设定一个指向路径,是文件恢复后存放在哪里的一个路径,照片容量需求很大,找除c盘之外的磁盘存放吧,这样比较靠谱一点。好了,第四步进行完之后点击下一步,回天照片恢复软件就会开始工作了,后面的事就不需要我们操作了!

操作步骤解析:

1、首先点最左边那个“文件夹”图标,会弹出一个“选择驱动器”窗口,选择要恢复数据的硬盘,就是删除的文件所在的那个硬盘,比如我的G盘。你应该知道在哪个硬盘吧?别说忘记了,要是忘记了,就每个盘都扫描吧。

2、选择G盘后,然后点“确定”,出现一个“正在扫描根目录”窗口,扫描完后弹出一个“选择要搜索的簇范围”窗口,如果你记得删除的文件大小MB范围,就相应的拖动“结束”滑动条,确定搜索文件容量的范围,这样可以减少扫描的时间(我是这么理解的,呵呵,实在不行就默认不做修改),最后点确定,弹出一个“簇扫描”窗口,慢慢等着扫描结束吧,呵呵,扫描时间很长的,取决于你的电脑处理速度和以前在这个盘里删除的文件多少。

3、扫描结束,被删除的文件将会出现在右边的窗口中(左边窗口不用管它),选中要恢复的文件,点右键——“恢复”,然后弹出一个“选择要保存的文件夹”窗口,选择好要保存的路径(比如我的E盘),其他一切都默认,然后点“保存”,保存后这样误删的文件就恢复了,恢复的文件将出现在E盘里。

文件传输多管齐下 篇3

一般情况下,我们和宿舍内其他同学共享文件时。我们要将文件所在的文件夹设置为共享,随后在网上邻居中一一打开即可。其实,打开共享文件夹不用如此麻烦,我们可以在运行中快速访问对方的共享文件夹。访问时,单击“开始”→“运行”,在“运行”对话框中键入形如“\192.168.1.2我的文件”地址。其中“192.168.12”为对方电脑的内网JP地址,后面的“我的文件”是对方设置的共享文件夹的名称,(回车)即可快速访问对方共享文件夹的内容。

小提示

如果你知道对方计算机的用户名,我们也可以使用“\用户名、共享文件夹”的方式快速打开共享文件夹。

在使用“\192.168.1.2我的文件”地址访问共享文件夹时,总会出现打不开文件夹的现象。这是由于自己的电脑没有开启局域网共享服务。我们可以手工开启即可。

步骤:1

在“控制面板”中双击“网络安装向导”,打开“网络安装向导”窗口。

步骤:2

在向导窗口里单击两次“下一步”按钮。在“选择连接方法”窗口里选择“此计算机通过居民区的网关活网络上的其他计算机连接到Inte.rnet”,然后根据向导提示配置好“计算机描述、计算机名、网络的工作组名”。进入“文件和打印共享”时,选择“启用文件和打印机共享”,完成设置后重启计算机就可以使用这种方式打开共享文件夹了。

Web共享方式

除了上面提供里的快速访问局域网内共享文件夹的外,其实我们还可以通过Web共享的方式来快速访问对方的文件夹。Web共享,顾名思义就是通过Web形式访问局域网内的共享资源。也就是说对局域网内某个用户将指定的文件夹设置为Web共享后。局域网内的其他用户就可以在IE浏览器中的输入对方IE地址和Web共享文件夹名称来快速访问对方共享资源了。

步骤:1

设置Web共享时,首先需要安装IIS。单击“开始”→“运行”,在“运行”里输入“appwlz.cpl”打开“添加/删除程序”对话框。在左侧面板单击“添加除Windows组件”按钮,待打开“Windows组件向导”窗口后,勾选列表里的“Internet信息服务(IIS)”复选框,单击“下一步”按钮,根据提示进行安装即可。

步骤:2

IIS安装好后,右击需要共享的文件夹,我们可以发现“文件夹属性”对话框中多出一个“Web共享”选项卡。在此面板里,选择“共享文件夹”选项,然后单击“添加”按钮。在弹出的“编辑别名”对话框里起个名字。在“访问权限”里建议勾选“读取”复选框,其它选项可根据要选择。在“应用程序权限”中选项“无”,确认后就会显示在“别名”列表里。

小提示

如果没有看到“Web共享”标签项,我们可以在文件夹中单击“工具,文件夹选项”,打开“文件夹选项”对话框,在“查看”选项卡里取消“使用简单文件共享(推荐)”复选框的选中状态,确认后即可显示web共享标签项了。

步骤:3

设置后,在该局域网其它计算机的IE地址栏中输入该计算机的IP地址和这个共享文件夹名称(如http://192.168.0.5/mp3),(回车)后就能看到该文件夹中的所有内容,并显示出该所有文件创建的时间。我们还可以单击该文件夹中标有“dir”链接,表示这是个文件夹,单击右侧的链接可以访问下一级文件夹的内容。这时。右击文件,在弹出的菜单里选择“另存为”,可以下载保存此文件。

架设文件传输服务器

通过上面的两种方式,我们可以非常方便访问局域网内各个电脑共享文件夹中的文件。但是,如果我们将每个需要传递的文件夹都设置为共享,操作起来比较麻烦。也会给系统带来安全隐患。如果你经常和局域网内的同学们传递文件,这些文件又没有保存在固定的文件夹中,这时我们可以架设一个“文件传输服务器”,这样不用设置共享文件夹就可以和同学们进行文件传递。非常方便。

文件服务器架设

架设“文件传输服务器”方法非常简单。通过“HTTP Fies Server”(以后简称HFS)软件就可以轻松实现。如果你想在各个电脑上进行互相传输文件,那么就需要在局域网内的所有电脑上运行HFS。

首次运行HFS时,系统会提示是否在资源管理器里添加右键菜单,建议选择“是”。这时,任务栏的托盘会多出一个HFS图标,双击后弹出HFS主窗口,在地址栏中程序给出了本地电脑的文件传输服务器的访问地址,如http://192681.2/。

添加文件

在HFS传递文件,我们先要将本地电脑中需要传递的文件添加到HFS文件服务器里。添加文件的方法非常简单,我只要用鼠标将需要传递的文件拖曳到服务器界面的“虚拟文件系统”窗口中,即可将文件添加到文件列表中。如果添加的文件多了,在窗口查找也非常麻烦,这时可以在列表里添加几个虚拟目录。随后将上传的文件进行分类添加即可。

小提示

添加到HFS中的文件并没有复制到HFS服务器中,只是在HFS服务器窗口中的文件列表。

文件传递

当文件添加到HFS服务器后,就可以和同学们共享文件了。在同学电脑的IE浏览器访问自己电脑的IP地址。打开后就可以看到刚刚设置的共享文件,文件下载方法和Web共享方式类似。

安全设置

文件服务器架设后,我们还可以限制局域网内的某些用户禁止访问自己电脑的文件。设置时在HFS服务器窗口中单击“菜单”→“限制”→“禁止访问”命令,打开“禁止访问”对话框这样将不允许访问的用户IP地址添加到禁止访问列表中即可。

架设FTP服务器

同学们感觉架设了文件传输服务器后。再传输文件确实非常方便。但是,如果对方不在线。我们就无法使用了。要避免这个问题,我们可以在一台电脑上创建一个FTP服务器,将共享的文件上传到FTP空间,以后只要登录就能轻松下载需要的文件了。

服务器的架设

在局域网内找一台电脑作为服务器,在该电脑上下载安装并运行Serv-U FTP Server(以下简称serv-U)软件。在欢迎界面中单击“下一步”按钮,进入到“添加新建域”界面,在该界面的“域IP地址”文本框中输入该本地的IP地址。接着,单击“下一步”按钮。输入FTP服务器域名的名称并在下面的界面中设置好FTP服务器使用的端口号,程序默认为的端口为“21”,随后根据向导提示即可完成设置。设置后进入Serv-U程序界面,在域界面下就可以查看刚刚设置的信息。

设置上传文件空间

FTP服务器建好后,下面我们开始在服务器空间内创建多个用户,这样可以将共享的文件分类保存,方便多用户使用。

创建前,首先在服务器电脑的硬盘上创建几个保存共享文件的文件夹。随后在创建的域列表中右击“用户”,在弹出的右键菜单中选择“新建用户”命令,弹出一个“添加新建用户”对话框,输入用户名、密码并选择创建的文件夹,随后单击“完成”按钮该用户创建成功。随后按照此方法创建其他用户。上传或下载文件。

用户添加后,我们就可以在FTP空间内上传或下载文件了。登录时,在IE地址栏中输入“ftp://172.25.194.8”(服务器IP地址),随后在弹出的对话框中的输入用户名和密码即可登录到指定的空间,就可以访问文件了,非常方便。

设置用户属性

为了使FTP服务器更安全,还得对访问的用户帐号进行权限设置。在服务器电脑的Serv-U主界面选择需要设置的用户名称,比如不想让其他用户随意上传或删除该用户中的文件,可以切换到“目录访问”选项卡,对该用户进行读取、写入等权限设置。

小提示

在“常规”选项卡里,我们可以对隐藏文件、只接受同一个JP地址的N个用户登录、最大上传速度、最大下载速度等项目进行设置。

限制磁盘空间的使用

为了控制电脑磁盘空间的使用,我们可以限制一些用户传输较大的文件。打开Serv-U界面,选中需要限制空间的用户,在右侧面板切换到“配额”选项卡,勾选“启用磁盘配额”复选框,并设置上传文件的“最大”空间容量。单击“应用”按钮即可。

文件安全传输 篇4

随着网络的飞速发展,网络文件存储使人们的生活和工作变得更加方便、快捷。但随之而来的数据安全的问题越来越受到人们的重视。本文基于Samsung公司的ARM9处理器S3c2410, 设计了一种基于ARM处理器的安全文件传输系统。该系统不但能为用户提供方便的文件管理、上传、下载功能,更在文件传输方面加入openSSL加密传输协议,使文件安全得到保障。

2、sbc2410简介

Sbc2410开发板是一款基于ARM9、结构紧凑的嵌入式平台。它使用三星公司的成熟的ARM9处理器s3c2410, s3c2410是基于ARM920T核的嵌入式通用处理器,使得主频为一般为200MHZ,最高可达到2 6 6 M H Z, 采用A R M V 4 T (Harvard) 结构,五级流水处理以及分离的C a c h e结构,平均功耗为0.7 m W/MHz。SBC2410使用了两片外接的32M bytes总共64M bytes的SDRAM芯片,同时具备两种Flash,一种是Nor Flash,大小为2Mbyte;另一种是Nand Flash,大小为64Mbyte。同时采用了CS8900网卡芯片,它可以自适应1 0/1 0 0 M网络。sbc2410内部带有全性能的MMU,支持Linux, Windows CE等操作系统。支持TFT LCD/触摸屏, 音频, USB, 网卡, SD卡, IDE, AD等, 它适用于设计移动手持设备类产品,具有高性能、低功耗、接口丰富和体积小能优良特性。

结核框图如图1。

3、OPENSSL简介

openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:S S L协议实现 (包括S S L v 2、S S L v 3和TL Sv1) 、大量软算法 (对称/非对称/摘要) 、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求 (PKCS10) 编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。

加密技术简介:加密,即将明文数据转换为密文数据的过程,以起到对明文保密的作用。加密算法:数据加密过程所采用的一种运算算法,用于将明文转换为密文。密钥:加密算法通过与密钥进行某种运算, 将明文数据进行加密,生成加密数据。解密时,加密算法通过密钥, 将加密数据再转换为明文数据。

现今的加密技术, 加密算法是公开的,即所有人都知道加密所采用的运算方式。但只有使用密钥才能进行对密文的解密。所以,密钥的保护, 是数据安全的核心。

功能如下: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 () 来加载错误字符串, 否则, 就不能够将Open SSL错误映射为字符串。通过使用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()载入用户私钥。

4.1.2 套接字初始化:

应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket) 的接口。Socket可以看成在两个程序进行通讯连接中的一个端点。

相关函数:int socket (int domain, int type, int protocol) 。一旦通过socket调用返回一个socket描述符,就将该socket与你本机上的一个端口相关联,即配置套接字基本信息。同时使用i n t b i n d (i n t 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结构对套接字中的T Cp数据进行S S L封装(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的连接结构。

4.2.2 socket套接字的初始化:

需要设置socket的服务端IP地址和客服端的端口。对于客服端套接字就不需要对其绑定和监听,利用SSl库文件对其传输的数据实现封装。同时也采用了ssl_read () 和ssl_write () 两大函数实现了文件在传输和接受过程中的安全性。

4.2.3 QT图形界面部分主要包含有:

登录界面,注册界面,用户管理界面。通过调用后台的数据通信部分,实现了客服端与远程服务端的信息交互。

5、结论

本文设计了一种基于ARM9处理器S3C2410的安全文件传输系统。在介绍了本系统所使用的ARM9处理器S3C2410和SSL协议的加密方法基础上,依次说明了系统的硬件结构设计,软件服务端、客户端设计,并在sbc2410和PC机上进行文件安全传输实验,效果很好。该安全文件传输系统研究的实现,有利于提高文件传输过程中用户资料的安全性和保密性。

摘要:本文介绍一种基于sbc2410开发板的安全文件传输系统设计方法。首先对基于ARM9处理器的sbc2410开发板和openssl安全传输原理进行了简要介绍, 然后重点说明了软件设计部分的服务端和客服端的设计原理。服务端文件在传输过程中通过openssl协议传输加密, 实现了多用户数据操作。客服端主要提供了用户命令以及QT图形界面的操作数据。

关键词:ARM,Linux,网络安全传输,openssl

参考文献

[1] (美) 史蒂文斯编著.Unix环境高级编程 (第2版) (M) .人民邮电出版社.2006-05

[2] (美) 史蒂文斯编著.TCP/IP详解 (M) .机械工业出版社.2002-06

[3]令晓静等.SSL安全传输协议在网络通信中的应用研究[D].西安电子科技大学.2006

[4]贠睿等.SSL协议及其安全性[D].电脑知识与技术.2009

联想i908蓝牙文件传输技巧 篇5

如果要共享给别人的文件放在手机内存里,就在“文件共享设定”里将“共享目录”设置成“手机”;如果文件在手机卡中,就改设成“记忆卡”。

存储路径的设定跟共享文件时的设定方式相同,根据自己的需要选择吧,

接收文件有个技巧:当选择“手机”或是“记忆卡”的时候,按OK键是直接选中手机内存主目录或是记忆卡主目录,所以接收文件的时候会发现收到的文件全部都被放入一个名叫“received”的文件夹中(i908移动文件只能一个一个进行,当接受了很多文件后,要全部移动要另一个文件夹里很麻烦)。此时就该在选择的时候用左软键点出“选项”,进入“开启”,然后选择要放入的具体文件夹,这样就可以避免重复的无谓操作了。

文件安全传输 篇6

iDroppe r是一只外观类似于笔的文件传输器,它可以用来吸“信息”——包括图片、文件等等。因为触摸屏的广泛应用,所以iDrop还能当触控笔使用。

吸取文件进行复制

iDropper顶端有一个操控按钮,如果要在iPhone和iPad之间传输某张图片,那么,拿着它去iphone对着图片“吸一吸”,然后移到iPad上“滴下”就行了。

滴出文件进行粘贴

iDropper相当于一种无线剪贴板,复制和粘贴文件只需要如吸管一样吸入或滴出。完全不再需要我们用传统的鼠标和键盘完成。非常适合极客一族的口味。

还在用鼠标和键盘进行文件传输吗?如果拥有一款像卖验室用的滴管一样的工具,复制和粘贴只需要像是吸入和滴出液体一样简单,会不会觉得很酷?iDropper就是这样一款文件传输器。它完全颠覆了我们传统的文件传输方式,是一款颇受极客一族喜爱的概念工具。iDropper的外观类似于一支笔,功能和吸管很相似,它顶端有一个触控按钮,如果想要进行文件的复制,只需要像是操作实验室的滴管一样,捏住笔端的按钮并对准文件,松开按钮就可以吸人文档或图片,从而完成文档复制,想要完成文件粘贴,只需要将文件转移到别处。再捏一下笔端的按钮,文件就能成功粘贴。iDropper的灵感都是来源于吸管,设计师Heo Jaeyoung受到吸管传递液体的启发,从而提出iDropper的概念设计。iDropper相当于一种无线剪贴板,它可以让不同终端之间的文件分享和传送变得简单。是相当有趣的一个设计,可惜目前还处于概念阶段,实物的研发和真正面世恐怕还需要一些时日。

点评:与科幻片里能进行智能思考和对话的机器人相比,这款名为iDropper,通过吸取和滴出进行文件传输器的电子设备,显然并不属于多么难以搞定的高科技产品。相比那些动辄要耗费长达数年的科技研发产品,iDropper的面世周期显然不会太长。只是iDropper的设计者眼光比较独特,能够在我们日常生活中发现这一特殊性能的产品,即便看似外观普通,且使用范围也并不广泛,但是对于科技发烧友或者极客群体来讲,iDropper超前的设计理念和炫酷的技术,也让他还未面世就已经拥有了一定的市场前景。

近日,一项通过艺术表现形式、如舞蹈、音乐、漫画等艺术作品获取灵感,从而让机器入思维变得更智能的研究正在国外进行。如借助舞蹈者一人分饰多个角色的表现形式,新研发的智能机器人将如人类一样主动思考并作出相应反应。

文件安全传输 篇7

1 昆明广播电台文件安全传输平台安全设计

昆明广播电台文件安全传输与共享系统的设计针对上述安全风险与威胁, 建立完善的保障体系。

1.1 文件格式选择与过滤

文件安全传输平台应具备强大的文件安全检查能力, 只允许昆明广播电台目工作需要的TXT、DOC等文本文件和音频文件进入共享平台。避免与业务无关的文件或伪造成业务文件的病毒、木马文件进入昆明广播电台文件共享系统。同时, 对交换到外部网络的文件格式进行限制, 防止涉密文件泄露。

1.2 主机安全加固

能够有效保障文件存储主机的安全, 防止木马程序驻留主机导致存储文件的主机工作异常、主机被远程控制等安全威胁。

1.3 抗外部网络攻击

由于需要通过互联网收发各种文件, 因此, 防御DDOS、蠕虫等各类外部网络入侵攻击也是重要的技术要求。

1.4 关闭高风险的对外服务

在保证昆明广播电台工作人员容易使用文件安全传输平台的前提下, 应保证在通过公共网络传输文件时, 文件传输的机密性、安全性, 防止黑客利用文件传输服务的漏洞控制和破坏共享文件。

2 文件安全传输平台解决方案

为避免文件传输安全威胁, 专业针对昆明广播电台行业文件交换安全应用的解决方法, 采用文件安全传输平台, 这个平台由三大系统构成:办公外网 (与互联网相连接) 系统、安全物理隔离交换区系统以及制作网系统。

整套文件安全传输平台设计“以文件统一服务器为存储、上传核心、以隔离网闸为安全防御核心”的文件安全交换体系, 为使用者提供完全透明的文件上传、下载、共享以及交换的安全认证与权限管理服务, 通过应用进程安全白名单系统在内的安全子系统为整套文件安全传输平台提供完善的身份认证、文件读写权限控制、服务器及网络安全防护、文件格式过滤、传输安全保护等完整的安全防御体系。

2.1 办公外网 (与互联网相连接) 系统

办公外网客户端主要是指访问文件安全传输平台的所有主机, 包括办公文稿网上的主持人、编辑人员的个人电脑, 驻站记者的电脑、移动办公电脑以及新媒体服务器等。

2.2 安全隔离交换区系统

安全隔离交换系统是文件安全传输平台中的重要部分, 它用于全面防御各种网络攻击、提供上传服务器限制的支持、识别音视频文件格式等安全任务。安全隔离交换系统主要由隔离网闸、文件安全同步软件模块组成。

2.3 制作网 (新闻非编网) 系统

制作网系统的主要功能是存储从外网区域摆渡进来的有效安全数据, 并控制用户对文件的访问权限和识别非法篡改后的文件。

3 同步交换平台建设的优势

首先, 没有人可以从不可信的网络访问和操作控制可信网络上的计算机, 所有允许到可信网络的数据都在一个安全的环境中经过详细的审查, 这是从不安全环境到安全环境传输信息的一个最安全的方法。

其次, 信息交换系统采用国际先进的GAP硬件隔离反射技术, 实现了在网络隔离环境下的可控信息交换, 并针对传统安全隔离与信息交换系统应用层安全防护薄弱的现状, 运用创新技术开发出基于网络隔离安全基础平台下的应用层防护系统。

再次, 安全隔离交换系统的所有控制逻辑由硬件实现的, 不能被软件修改;安全隔离交换系统在内外安全主板上各设计了一个隔离开关, 称反射GAP。反射GAP实现内外网络之间的物理断开, 但同时交换数据的目的。反射GAP使内外网中继数据的速率达到物理连通状态的100%, 从而消除了因物理断开内外网络而可能造成的通信瓶颈。

4 结语

同传统的防火墙等逻辑隔离访问控制技术相比, 此次昆明广播电台采用的技术结构具有一些其他安全技术难以达到的安全特性, 包括对网络层/OS层已知和未知攻击的全面防护能力, 使隐藏在网络层/OS层的攻击行为根本没有进入受保护内网网络的可能, 同时也不再依赖操作系统的安全性, 无论是微软还是UNIX/Linux的系统漏洞都不会成为整个安全产品的漏洞。整个策略库和决策过程都十分安全, 未经严格检查的数据将始终被隔离在受保护网络 (LAN) 以外, 确保决策过程的安全。最后, 所有进入安全隔离交换系统内的数据在传递过程中都是静态的, 其内容不被任何程序执行, 仅仅是对静态内容实施检查和决策, 因此, 这些数据本身携带的任何恶意代码都无法执行, 也就无法危及系统的安全, 整个系统安全可靠。

摘要:本文根据计算机网络安全的基本理论及知识, 提出昆明广播电台文件交换的安全保护思想及其实现方案。从多个角度详细分析昆明广播电台文件传输内部各个层次可能存在的安全隐患及风险, 按照整体, 平衡, 技管结合等原则, 提出一个符合企业要求的文件安全目标, 并以此为基础提出一个整体文件安全传输方案设计。根据电台实际情况, 本文重点论述文件格式选择与过滤、主机安全加固以及抗外部网络攻击等内容。同时, 还对办公网系统、交换安全系统和制作网系统给出说明。该方案具有高实用性、高安全性、较好的性价比、可操作性强、配置较为先进以及可扩展性良好等优点。

关键词:安全传输,安全隔离,安全防护

参考文献

[1]樊勇兵.制播网与互联网数据的互通互联[J].新闻世界, 2015 (5) :282-284.

[2]布拉格.网络安全完全手册[M].陈代伟, 译.北京:电子工业出版社, 2005.

[3]张斌.网络安全隔离技术在公安车管网络中的应用[J].统计与管理, 2015 (5) :93-94.

[4]樊峰鑫.电子文件安全管理浅论[J].电脑知识与技术, 2009 (5) :1244-1245.

文件安全传输 篇8

1 文件安全传输的体系结构模型

文件传输是由硬软件两部分实现的,硬件是以嵌入式平台来支撑,软件部分是以Linux网络编程加上SSL协议[1]、线程池技术以及文件安全传输的服务器/客户端程序。主要是实现不同机器上服务器与客户端之间的文件互传,服务器监听客户机的请求,并且做出相应的响应。该系统主要实现的具体要求如下:1服务器和客户端都支持用户账号和密码的验证;2客户端可以浏览本地和服务器端的文件列表;3服务器端可以实现多用户同时连接,必须是多线程的;4服务器端的系统日志可以记录文件操作的事件日志;5在上传和下载文件之前要先检查磁盘的大小,以确保上传和下载可以正常执行。系统结构模型如图1所示:

2 文件加密

2.1 服务器端的文件SSL加密

文件安全传输的主要功能由SSL协议加密来实现,SSL协议完成的主要流程是:先对SSL协议相应库的初始化,然后载入相应的加密算法模块。应用程序再回调加密算法模块即可对数据进行加密,然后载入所有SSL错误信息,该错误信息对应于在处理过程中可能会产生的所有错误。然后创建本次会话连接中所用到的所有协议,以便用于通讯双方进行通讯的连接。接下来就是申请SSL回话的环境CTX,载入数据证书,载入用户私钥,并检查用户私钥是否正确。创建套接字并开启socket监听,等待客户端的连接请求。再基于CTX产生一个新的SSL,并将连接用户的socket套接口加入SSL,建立SSL连接完成SSL握手,接收数据并做相关处理。最后关闭SSL并释放SSL、关闭socket、释放CTX等操作。服务器端的SSL加密过程如图2所示:

2.2 客户端的SSL加密

客户端文件的SSL加密过程与服务器端基本一致,主要区别是客户端不用处理并发任务,不用对端口进行监听等操作。具体的SSL加密流程如下:先对相应的SSL库进行初始化,再载入所有的SSL算法,用于在对数据处理过程中对数据的加密。然后载入所有SSL错误信息,以应付在处理过程中可能出现的各种错误。然后在创建本次会话连接所使用的协议,用于通讯双发进行通讯连接。接下来是申请会话环境CTX,创建socket用于TCP通讯,建立SSL连接完成SSL握手,对数据进行接收并做相关的处理。最后关闭连接以及释放相关的资源等操作。

2.3 SSL协议

SSL是一种协议套件,它是由握手协议、记录协议、更改密码规范协议以及警告协议,四部分协议组成。SSL协议在TCP/IP协议站中的位置以及与这四部分的关系如图3所示:

应用SSL协议建立的通道是透明的,服务器端与客户端之间的数据经过加密,不改变传输数据的内容。这样的透明性是基于TCP/IP的协议,然后稍加修改就可以运行在SSL之上,就可以打造一个安全通道[2]。SSL是位于应用层和传输层之间的,该协议一般是由握手协议和记录协议两部分组成,前者一般用于通信双方之间会话时的密码参数协商,记录协议一般用于数据传输前的身份验证、算法协商、交换密钥。一个基本的SSL会话应当包括握手、下发证书、密钥交换和算法协商四个阶段[5]。如图4所示:

3 加密模块的代码实现

3.1 传输协议的设置

客户端与服务器端进行命令交互的时候,通讯双方需要遵循一定的标准,只有这样双方才能够准确的知道来自对方的报文意义。

本系统的传输协议结构如下[3]:

在双方通讯的过程中,当要发送数据时,要调用打包函数将要发送的数据封装成协议包,在要接收数据的时候,要调用解包函数解析出有效的数据。这两个函数分别如下:

⑴打包函数

struct FilePackage pack (char tCmd, char* tBuf, char* tFile-name, int tFilesize, int tAck,int count,char *uname)

⑵解包函数

struct FilePackage unpack (SSL * ,struct FilePackage )

客户端能否连接上服务器,还取决于服务器上连接的客户端数量,因此,还要对服务器的最大连接数加以设置。调用函数InitMaxClientNum()来对客户端最大连接数进行初始化。

3.2 安全链接的建立

在安全链接建立之前,我们需要提前加载可以信任的证书库。在此过程中需要进程握手协商,服务器首先要向客户机端发送一个证书,客户机端根据自己提前加载的可信任的证书库来验证服务器端的证书是否有效。并且在这个过程中通讯信双发之间需要传递密码参数从而建立安全的连接。

1)设置安全链接

首先通过调用SSL_CTX_new()函数来创建一个类型为SSL_CTX型的指针ctx,并用该指针来保存一些与SSL相关的参数。

2)加载可信任的证书库

3)创建连接

调用函数SSL_new()来创建一个新的ssl,然后需要将用户创建的socket对象链接到ssl,接着需要调用SSL_accept()函数等待客户端链接请求,若是没有客户端请求,程序会一直阻塞在这里,一直等到有客户端的请求到来。

3.3客户端与服务器端进行通信

在客户端常见完socket套接字之后,调用Open SSL API中的SSL_set_fd()函数来设置socket文件描述符来作为ssl的I/O设备,然后在调用SSL_connect()函数来请求连接服务器。通过调用两个函数,SSL_read()和SSL_write()来完成对SSL对象的数据包接收与发送操作。

4线程池的设计

一般情况下服务器端所要承担的任务远比想象中要复杂的多,就单单拿数据文件传输来说,它可能要同时处理多个客户端的请求,服务器端要不断的创建和销毁客户端的请求进程。服务器端处理多用户关系如图5所示:

相对于进程而言,创建和销毁线程已经是很轻量级的任务了。但是如果服务器系统来频繁的执行线程的创建、销毁,对于服务器来说这也是一笔很大的资源浪费。那么线程池技术的使用就可以很大程度上减少这样的资源消耗。

调用函数Create Thread Pool()来创建线程池,线程池会把一些已经创建好的线程集中在一起,这些线程都处于等待状态。当有新任务到达时,应用程序就会去激活线程池中的某个线程。当该线程执行完成后,再去调用MoveToIdle()函数,该线程就又恢复等待状态,重新放回到回线程池中,等待下一个新任务的到达。当线程池中的每一个线程都处于忙碌状态的时候,会将其他的新任务放入等待队列中,直到线程池中有线程空闲下来,然后去执行队列中的新任务。线程池的工作过程如图6所示:

为了更进一步具体的说明,利用了线程池以后可以大大的提高资源的利用率,节约系统资源。运行了一下线程池代码thread.c加以解释。有运行结果可以看出,线程池中有3个线程0xb6e2cb70、0xb782db70、0xb642bb70被10任务重复利用。运行结果如图7所示:

5 结果测试

以Linux虚拟机作为服务器端,输入管理员的ID和密码,就可以成功登陆并进入服务器端的控制界面(如图8),并按照相应的提示完成对服务器端的操作。

输入正确的用户名和密码即可登录客户端(如图9),客户端可以显示本地目录文件,并且可以通过命令,对文件进行上传、下载已经退出客户端操作。

6 总结与分析

本文实现了在Linux环境下基于SSL协议的数据文件安全传输系统的基本框架,并且在服务器端利于了线程池技术,减小了服务器不停的创建和撤销应用线程所带来的资源浪费和时间开销[3]。但是,由于个人能力欠缺以及时间关系,该系统还存在很多的问题和不足。例如:所设计的Linux系统环境,只是在Windows下的虚拟机模拟实现,并没有实现远程网络上的传输,以及在集群服务器下的多线程处理能力的验证等,这些问题都有待进一步的研究和验证。

摘要:在当今移动互联网环境下,为了保证数据文件在网络中传输的安全性,加密传输就显得尤为重要。具体实现了一种在嵌入式Linux系统环境下加入SSL协议,并对将要传输的数据文件利用一定的加密算法进行加密,能够较好的解决数据文件在网络环境下传输的安全性问题。同时在服务器端利用线程池技术解决了多用户多进程的问题,避免了服务器端不断创建和销毁线程所带来的资源浪费和时间开销。

网络文件的传输机制研究 篇9

如今, 大量的信息都通过网络进行交换, 给人们的生活带来了巨大的方便, 更是推动了社会的发展。而信息又基本上是以文件的形式存在的, 所以信息的互传大部分都是在进行着文件的互相传输。本文主要探讨了在目前流行的TCP/IP网络体系下通过TCP协议进行文件传输所要考虑的一些问题, 分析了文件传输过程中各个环节的因素对传输速率的影响。

2 TCP与UDP协议的概述及比较

⑴TCP的概述。TCP是TCP/IP体系中面向连接的运输层协议, 它提供全双工的和可靠交付的服务。“面向连接”的含义就是在正式通信前必须要与对方建立起连接, 否则通信无法进行。这种连接是实时的, 只有双方都在时才能通信。

TCP是一个复杂的协议, 能够为应用程序提供可靠的通信连接, 使一台计算机发出的字节流无差错地发往网络上的其它计算机, 因此对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

⑵UDP的概述。UDP是面向非连接的用户数据包协议。“面向非连接”的含义是指在正式通信前不必与对方先建立连接, 不管对方状态如何直接发送数据。UDP协议适用于可靠性要求不高的应用环境, 或者根本不需要建立可开连接的情况。因此UDP协议能够快速的发送数据, 降低系统连接时的消耗。

⑶TCP与UDP的比较。通过对TCP和UDP的介绍, 我们可以知道UDP在传送数据之前不需要建立连接, 远地主机的运输层在收到UDP报文后, 不需要给出任何确认。虽然UDP不提供可靠交付, 但是在某些情况下UDP是一种最有效的工作方式。TCP则提供面向连接的服务。在传送数据之前必须先建立连接, 数据传送结束后要释放连接。我们可以把TCP协议和UDP协议的差别以一张表清晰的显示出来, 如下表:

由表得出UDP看起来似乎比TCP更快, 毕竟TCP协议相比UDP协议复杂些, 但事实并非完全如此, 尤其是对于那些高可靠性的应用。要求的就是文件传输能够稳定可靠, 所以选择TCP。

3 多线程技术在文件传输中的使用

⑴多线程技术概念。多线程技术是这样一种机制, 它允许在程序中并发执行多个指令流, 每个指令流都称为一个线程, 彼此间互相独立。它和进程一样拥有独立的执行控制, 由操作系统负责调度, 区别在于线程没有独立的存储空间, 而是和所属进程中的其它线程共享一个存储空间, 这使得线程间的通信远较进程简单。

⑵文件传输中多线程技术的引入。为了让文件传输能够更快速, 我们有必要应用多线程技术。使用多线程传输文件时, 发送端和接收端在读写文件时必须把文件共享属性设置为Cfile::share Dent None。这是因为在发送端会有多个线程同时只读一个文件。

4 影响传文件输速率的一些因素

如果要想让文件传输达到一种最佳的形式, 还必须了解一些影响传输速率的相关因素, 具体来说有以下两个因素对文件传输速率有着决定性的意义。

⑴单次读取文件大小对速率的影响。发送端每次读文件的字节数以及接收端每次写文件的字节数都与文件传输性能有密切的关系。考虑到硬盘读写的特性, 所以每次读/写盘最好读取/写入N个 (N为扇区大小) 字节的数据, 这样有利于把文件更快的读进缓冲区和写入磁盘。

⑵套接字个数对文件传输速率的影响。进行文件传输时, 一般情况下是一个线程独立拥有一个套接字。所以, 套接字的个数也就意味着传输线程的个数。那么是不是套接字越多, 文件的传输速率就可以无限增大呢?事实证明, 其实并非那样。

例如我们进行“一个线程独立拥有一个套接字”的编程, 当套接字数量 (等于线程数) 达到一定数量时, 再增加套接字的个数对传输速度的改善将越来越小。当增大到临界值之后, 甚至会对传输速度有负影响。

因此, 从系统性能和传输性能的综合角度考虑, 如果采用“一个线程独立拥有一个套接字”的编程方式。套接字个数的设置应当同处理器能力相当, 不宜取得太大。

5 结论

通过对TCP和UDP比较, 得出应用TCP进行网络文件的传输更稳定更可靠。在以TCP传输文件的基础上, 为了让文件传输能够高速进行, 应该引入多线程技术。本文提及了文件传输过程中的某些方法, 还具体分析了在网络文件传输机制中一些对传输速率的影响因素, 对今后的网络文件传输机制研究提供了一定的参考性。

参考文献

[1]李文泽.Java程序设计专家门诊[M].北京:清华大学出版社, 2006:410-434.[1]李文泽.Java程序设计专家门诊[M].北京:清华大学出版社, 2006:410-434.

[2]谢希仁.计算机网络[M].北京:电子工业出版社, 2003:248-276.[2]谢希仁.计算机网络[M].北京:电子工业出版社, 2003:248-276.

[3]欧阳峥峥, 林茂.基于TCP/IP协议通信软件的分析与实现[J].武汉:武汉工业学院学报, 2005, 15 (02) :1-5.[3]欧阳峥峥, 林茂.基于TCP/IP协议通信软件的分析与实现[J].武汉:武汉工业学院学报, 2005, 15 (02) :1-5.

[4]黄易峰.Visual c++编程技巧典型案例解析[M].北京:中国电力出版社, 2005:88-96.[4]黄易峰.Visual c++编程技巧典型案例解析[M].北京:中国电力出版社, 2005:88-96.

基于Socket的网络文件传输 篇10

关键词:上传,下载,Socket编程,传输,客户端

传统的网络编程是一项非常细节化的工作, 程序员必须处理和网络有关的大量细节, 甚至有些需要理解网络相关的硬件知识。但是Java则将这些细节予以屏蔽, 使得操作网络数据传输像操作流一样简单方便。

到底什么是Socket?简单来说, Socket就是网络上的两个程序现实数据交换的双向链路, 即实现客户端和服务端的连接。一个Socket由一个IP地址和一个端口号唯一确定。

Socket的整个通讯过程可以描述如下:Server端Listen (监听) 某个端口是否有连接请求, Client端向Server端发出Connect (连接) 请求, Server端向Clien端发回Accept (接受) 消息。一个连接就建立起来了。Server端和Client端都可以通过Send, Write等方法与对方通信, 见图1。

正是由于Java的Socket网络编程如此简单方便, 因此选择基于Socket实现网络上文件的传输。

1 实现方案

对于客户端而言, 工作首先为连接服务端, 如果连接成功可以从本地磁盘选取任何一个文件上传至服务端或者从服务端下载任何共享的文件。如果上传和下载工作完毕可以断开连接。按下返回按钮可以返回到上级目录。双击鼠标将显示下一级目录和文件。如果双击的是文件, 则不会产生任何结果。当然在此过程中需要考虑各种异常的出现。客户端功能, 见图2。

对于服务端而言, 主要的工作是进行监听, 一旦监听到有请求, 将接收请求并创建一个Socket与客户端建立连接, 并能浏览所有共享的文件, 如果任务完成可以切断连接, 当然在此过程中需要考虑各种异常的出现。服务端功能见图3。

在设计的时候运用设计模式来提高程序的可扩展性。采用了装饰模式, 利用此模式可以扩充一个对象的功能, 当然这种扩展不是通过子类机制扩展, 而是通过另一个新对象动态地、透明地包装现有对象;界面采用了复合模式和策略模式, 利用这两种模式可以使容器中装纳组件和界面的绝对定位。

1.1 客户端的实现

客户端主要用来完成文件的上传、下载和显示目录功能。每执行一个动作需向服务端发送命令。服务端的共享文件在客户端是以目录树显示, 在目录树中如果是文件夹可以双击扩展其节点, 当然还可以返回上一级目录。下面介绍关键类。

1.1.1 类Client Interface

客户端界面类, 客户端界面包括的组件有:3个JText Field实例, 分别用来输入主机地址、用户名和密码。4个按钮分别处理连接、上传、下载和返回上一级目录。1个分隔窗格用来存放服务器的目录树。1个滚动窗格放在分隔窗格中, 分隔窗格中还放有JFile Chooser的一个实例。其中所包含的方法如下。

expansion (int x, int y) :当双击目录树中的目录查看下一级文件和目录时调用此方法, 参数x和y表示鼠标双击的位置, 根据位置得到双击的文件夹, 由JTree的方法get Closet Path For Location (x, y) 实现。将所得到的文件夹的路径传送给服务端, 服务端再将其下的所有文件和目录传送给客户端, 客户端调用accept Files () 方法接收文件并将其显示为一棵目录树。

display () :将界面的各个组件定位, 采用绝对定位, 并定义内部类Action Listener实现Action Listener, 此类是按钮的事件监听器, 并将类Action Listener1的实例注册到各个按钮。

get Conn (String str, int port) :此方法向服务端申请建立连接, 一旦连接成功则将以目录树的形式显示服务端下的目录和文件。传输过程中以所接收的字符是否等于-2来判断, 若为-2表明传输结束。

Down () :用来处理下载文件。接收文件流是以字节数组做缓冲, 并在本地当前目录生成同名文件, 判断接收是否完毕是以接收到的字节数是否等于-1。

up Load () :此方法用来上传文件, 发送up Load命令和所要上传的文件和文件所要保存的位置, 然后建立上传文件的文件流, 以字节数组做缓冲传送给服务端, 以计数变量amount是否小于零来判断文件是否已读完, 最后刷新目录, 将所传文件在目录树上显示。

up () :此方法用来返回上一级目录, 根据变量path Name到当前目录的上一级目录, 然后向服务端发送要求扩展此目录的命令, 即可返回上一级目录。

1.1.2 类Client

顶层类, 设置了观感, 并生成了类Cliet Interface的实例win, 调用其display () 方法。

1.2 服务器端的实现

服务器必须考虑并发性, 为了更进一步提高系统的可伸缩性, 运用线程池来提高程序的效率。下面介绍关键类。

1.2.1 Closed Queue Exception类

继承Exception类, 用户自定义异常。

1.2.2 Blocking Queue类

由工具类Linked List实例list存放线程。其中add () 方法向队列加入线程, notify () 唤醒正在等待的线程, get () 从队列中取线程, 当队列为空时则等待, size () 得到队列的长度, close () 设置线程池状态为false, 并唤醒等待线程, 同时将队列清空。方法add () 、get () 、size () 和close () 需实现同步。

1.2.3 Thread Pool类

此类用于定义线程池, 其中有一个内部类Thread Pool Thread称为工作线程, 由工作线程不停地取队列中的线程运行。属性有:max Pool Size表示线程池的最大值, init Pool Size表示线程池的初始值, is Running表示线程池的状态, request Queue用来存放线程, queue Requests表示队列元素的计数变量。

1.2.4 Thread Pool Thread类

此类是Thread Pool Thread的内部类, 继承了Thread类, 重定义了run () 方法, 并在run () 方法中调用reqeust Queue中的线程并调用其start () 方法, 前提条件是线程池状态为true且当前线程没被中断, 捕捉异常Interrupted Exception。

1.2.5 Listening类

此类用于监听客户端是否发送请求。

构造方法Listening ()

server Socket=new Server Socket (3456) ;

pool=new Thread Pool (5) , 并捕捉异常IOException。

run () 方法

while (true) {

try{

p o o l.s u b m i t R e q u e s t (n e w D i s p o s a l T h r e a d (server Socket.accept () ) ) ;

}

catch (IOException exc) {…}

1.2.6 Diaposal Thread类

此类继承Thread类, 用于处理客户端传送的命令。包含如下方法。

run () 方法:根据不同的命令执行不同的操作。

transfer Files (String file Name) :此方法用来传送文件和目录到客户端, 在传送过程中判断是文件还是目录, 如果是目录则在目录名后加上[str], 文件传输完毕以-2做为结束标志。参数file Name表示在客户端浏览到服务器的当前目录。

1.2.7 Server Interface类

此类用于做服务器端界面。服务端有三个按钮:浏览、开始和停止。浏览按钮用来选择可供用户所共享的文件夹, 默认为d:;当单击“开始”按钮, 创建类Listening的一个实例, 并调用start () 方法;当单击“停止”按钮, 调用线程池的shut Down () 方法。

2 技术解析

利用网络进行文件传输是当今用的非常广的技术, 为更好地提高文件传输的效率和准确率, 在设计过程中用到如下技术:为了提高服务器端效率, 同时也为了实现多用户并发执行, 服务器端采用多线程, 同时应用线程池能提高程序的伸缩性。读写本地文件及对网络的读写操作中都使用了流技术。运用多种设计模式来实现可重用代码、使代码更容易被他人理解、保证代码可靠性。在此设计中合理运用设计模式可以更完美地解决许多问题。在服务端程序中, 自定义了异常, 在传输过程中也充分利用了已有的异常机制, 以保证程序的健壮性。

3 结语

利用Socket实现网络文件传输, 可以实现跨平台, 能更好地实现移植。采用的是图形用户界面, 操作简单。利用多种设计模式使程序的实现更加完美, 服务器端利用线程池提高程序效率。

参考文献

文件安全传输 篇11

关键词:电子文件;档案;管理系统;模型

Abstract:In this paper, for the study of electronic document management and delivery system, based on real, complete, credible and consistent system functions as a target, and detailed analysis of the contents of the network environmental planning, metadata top-level design, digital security, authentication, data packet structure, etc., Proposed a more complete, electronic document management and transmission model of "heterogeneous" background.

Keywords: Electronic documents;Archives;Management Systems;Model

1  前言

电子文件管理系统是保障电子文件安全有效管理及长期归档保存的解决方案。随着海量电子文件的出现,很多单位已经开始进行电子文件管理系统的实践,但究其本质,大多仍未达到“可信”标准,如系统不支持元数据捕获及管理、元数据方案及结构不完整、文件缺乏必要的签署和认证、数据格式不规范无法长期存用等,这种似是而非的电子文件管理系统,仍在“可信”二字上有较长道路要走。

本文主要针对业务系统、电子档案管理系统“异构”现状,提出一套电子文件从传输到集中的处置模型。在建模过程中,我们对系统功能目标、管理及传输网络、元数据方案、数字认证、文档封装等内容进行系统的研究,全面保障电子文件的真实可信。

2  可信的电子文件管理及传输平台功能目标

2.1  真实。电子文件真实性是指形成于特定环境的电子文件经过传输、处置、利用、迁移等环节之后文件的内容、结构和背景等基本构成要素没有发生变化,管理过程清晰可见。这个真实性体现在电子文件管理的三个阶段(业务系统、电子文件管理系统、数字档案馆),都应有相应的评价机制来保障该份电子文件在不同封装状态、不同处置环境下的管理及保存状态,且该评价贯穿电子文件形成、管理到利用。

全程管理及前端控制理论要求我们,一是要设计尽可能系统、完整的元数据项目,包含文件实体、形成背景、处置主体及处置行为等多方面内容;二是元数据规划要探入系统设计前端,要符合国家、地区及行业有关规范及要求;三是为了辅证公文的可信,系统中应有必要的权限管理与控制、操作日志、审计机制、数字保真、“留痕”等功能,可帮助我们监控管理行为并处置非法行为。

图1  电子文件真实保障示意图

2.2  完整。完整性是指电子文件及其元数据完整,它和真实性一起为电子文件的“可信”创造了条件。影响电子文件完整性的因素主要包括电子文件管理系统捕获机制是否完备、元数据方案是否规范、电子文件归档流程是否正确、电子文件物理及逻辑状态是否清晰等。

从系统功能看,系统首先应有灵活完善的收集机制,可以让我们的管理系统介入业务系统上游,对系统外及手工归档的各类电子文件及数字副本进行收集,通过规章力量和系统功能来保障所有办理完毕、具有保存价值的文件能实时或定期反映到电子文件管理系统之中;其次,电子文件管理的全过程要按照既定的元数据方案主动地捕获或手工登记文件形成、处置和利用等元数据,这是电子文件的重要组成部分,且与电子文件紧密联系在一起才能证明该份电子文件的法定身份;最后要充分建立和维护好元数据与文件本身的联系,保证电子文件与各类元数据、文档存储路径及格式信息等能牢固捆绑并封装在一起。

2.3  可用。可用性是指电子文件的内容能始终可读并能长期保存,它包括内容可用和形式可用两个方面。内容可用是指电子文件中所包含的二进制信息和字符编码标准无误。系统可通过元数据捕获和记录来注册电子文件编码格式、字符集和版本序号、管理软件名称、版本号、制作及转换信息等特定内容,当我们面对保存或迁移需求时,可便捷地为读取或还原该文件提供良好的现实环境或仿真环境。

形式可用是指电子文件的格式和存储载体要符合管理规范。电子文件管理及传输系统应遵从《电子文件归档及管理规范》等标准,将通用电子文件格式(JPG、MP3、TXT/RTF、AVI等)纳入系统审查机制,并允许非标格式在系统内进行转换,保证管理端、传输端、利用端电子文件长久可用。对于流式文档,如DOC、TXT等格式,我们提倡采用版式文档进行转码,削弱硬件设备、平台差异对文件原貌的影响。

2.4  一致。电子文件管理系统应具有相应的检测及约束机制,可以在系统管理及维护中通过内嵌的检测体系衡量系统是否达到既定效果,从而维护电子文件真实、完整、有效在理论和实践上的一致。换言之,文件管理系统应当具备自评估功能,能动态地对文件是否符合既定规划和标准进行评估,且该结果可以表单或系统警报的方式反馈至系统使用者或管理员。

它包括,系统能够对电子文件及元数据的捕获率作出完整性评估,尤其是对数据属性为非空值的数据进行检测,从而判断背景、结构、内容、管理过程是否完整;能够对文件存储格式作出标准化评估,非标准格式的由系统进行注册并作提示和预警[1],并转换为标准格式;能够深入封装、签署、认证、保真等环节,通过电子文件属性判断、元数据监测、病毒检测,作出真实性、有效性评估。评估完成后系统将形成评估报告,从而协助我们作出利于电子文件保存的判断,更好地发挥电子文件的价值(图2)。

图2  电子文件管理系统一致性检验及约束图

3  可信的电子文件管理系统模型构建

3.1  网络拓扑模型。网络是电子文件管理的底层物理环境,这个环境不好,电子文件的真实性、完整性就易遭受严重的威胁。综合考虑电子文件管理系统的用户分布和功能诉求,我们认为有必要对ERMS所处网域进行功能划分、分级管理,这既是对电子文件的管理特点的尊重与维护,也符合电子文件管理安全性要求。

电子文件随着其生命周期的推进,将依次经历三个物理网络(图3),在这三个网络中,电子文件的价值及处置主体(系统)是不同的。我们可采取关键网物理分离、网域内在线管理、网域间双线传输的形式来规范及约束电子文件的管理,确保电子文件的安全。

首个网络在电子文件形成机关内部,它通过物理网关及软硬件防火墙与广域网隔离,规避外界及内部不良影响,电子文件只能在局域网业务系统内进行登录和处置;第二个网络是资源收集或移交的关键,即业务系统中的电子文件及其元数据经过XML封装和数字证书加密保真后,以脱机拷贝的形式,进入到政务内网或机要网进行处理;第三个网络是电子文件接收方或管理方(档案馆、室、文件中心等)的专用网络,该网络直接与政务内网或机要网相连,可提供数据库、格式转换、封装、备份、WEB管理、全文浏览、流媒体点播等服务。

图3  电子文件生命周期内网络保障分布图

3.2  元数据方案模型。元数据,是用来描述数据的内容、结构及背景的信息,它可以反映数据管理的整个过程,应用在电子文件及电子档案的管理上,可以用来证实文件的真实性、完整性、有效性、一致性。

我们目前关于电子文件元数据研究的较为成熟的成果有ISO 15489、ISO 23081、DA/T46-2009等。综合考虑电子档案载体形态、电子文件管理特点、国家及地方管理特色,本文以ISO 23081中提出的法规四元组的顶层框架模型为基础[2],结合《文书类电子文件元数据方案》(DA/T46-2009),将反映电子文件与各类信息的关系描述、政策法规依据、职能活动描述等列入元数据采集范围[3]。我们在元数据方案中定义了实体、业务、责任、法规及关系等五个元数据属类,并在封装时将其转成以文件为中心的扁平化结构。在整个元数据方案中,除反映文件本身自然属性的实体元数据稳定不变之外,其他各类元数据都是随管理过程的深入而动态变化(图4)。

五个属类中,实体元数据用于了解电子文件的来源、属性及生成环境;责任元数据是落实责任对象、评价电子文件法定性的重要依据;业务元数据是重现文件管理过程的重要信息;关系元数据是揭示材料间相互联系、进行信息联动的有力支撑;法规元数据是控制、约束业务行为与职能授权的规则。这些元数据直接为电子文件三个阶段的管理提供了数据记录及验证支持。

图4  元数据方案顶层设计图

3.3  文档封装模型。元数据封装是指按元数据方案的结构将编码数据及元数据整合为一个文档,并用数字证书对需保真部分作摘要和签名。封装技术的直接优势在于它以纯文本、小体积的形式对文件背景、内容和关系进行了完整的自我描述。综合考虑BS、ERMS、TDR三个管理阶段的管理要求,其封装模型呈现出以下特点。

其一,封装的过程性。它的封装不是一次成型。电子文件的管理及利用有灵活的分段封装机制,即电子文件可以允许多次解析和封装,BS系统中以结构状态、形成背景及处置行为为主封装出SIP包(提交数据包),ERMS系统中以实体、验证及其管理行为为主封装AIP包(存档数据包),TDR系统则以实体、认证为主封装DIP包(分发数据包),三者基于同一种封装及解析算法,具有一定的系统性,但封装及解析又具有相对独立性。

其二,封装结构的半封闭式。它的部分取值来自对文档及生成环境的自动摄取,这些文档及背景元数据是静态的,提取后不可篡改,因而可保障电子文件的真实性;还有部分数据来自管理过程中的人工著录和记录,它是动态的,它可随管理活动的深入而增加,呈现出横向稳定、纵向增加、不可逆转的特点,连续的动态数据可佐证电子文件生成及管理过程、帮助解读各项职能及业务行为、明确及判断相关权限。

配合系统日志、审计机制,我们可以判断电子文件形成、归档及保存全过程是否合规合法,文件是否可信(图5)。

图5  元数据封包结构图

3.4  数字认证模型。通过电子政务或电子商务平台制作和传输的电子文件,要杜绝业务流程中的篡改、丢失、攻击等问题,保障电子公文的真实有效,就必须借助于一定的验证技术。数字签名技术(PKI)就是其中一种,它利用某种密码运算生成一系列符号及代码组成的电子密码进行签名,来代替书写签名或印章,主要用于鉴定签名人身份以及确保电子数据完整、真实,技术成熟、可靠性强。

传统的“小作坊”式的两两认证只局限于处于同一编码环境下的文件传输双方,认证范围较窄,一旦脱离这个系统,势必又要重新开始认证,周而复始,浪费资源。鉴于ERMS系统中的电子文件都形成于合法的社会组织,所以,我们主张充分引入国家认可的认证机构及已有的认证资源,统一数字认证编码算法,在全国(全省)范围内建立一个完整的数字认证体系。当前可应用于立档单位与同级综合档案馆之间电子档案交接,待认证资源高度统一后,则可用于复杂的数字档案馆间档案共享与协作、档案交流与交换。

其原理及流程如下,CA作为国家承认并备案的第三方认证中心,负责向领用单位颁发证书,并通过根证书的离线或在线验证来证实其所颁发证书的有效,建立起发证单位与领证单位的信任;领证单位得到的这份证书主要用于信息及数据的加密,我们称为密钥,与之相对应的公钥在网上在线发布,公私两个密钥是非对称结构,接收加密数据包的单位在收到密文后,利用数字证书当中的公钥,确认算法,从而将其还原成明文,完成解码。

4  结论

网络环境是电子文件管理系统所处的外界环境,是摒除网络不稳定因素,保障网络及信息安全的根本所在;元数据方案是保障电子文件真实可信的关键因素,是确保电子文件真实可信的第一道屏障;文档封装是元数据的组织及解析形式,是各类验证及评价的数据及结构基础;数字认证是确保文件来源及信息真实可信的有力支撑。可信平台的构建一定要妥善处理好以上四者的关系,不可偏废。相信随着管理体制的不断完善、国内标准的不断发布、安全技术的不断创新和应用,未来的电子文件管理系统会越来越成熟。

参考文献:

[1]李泽锋.基于OAIS的可信电子文件管理系统的体系构建[J].情报杂志,2010(8):136.

[2]国际标准化组织. ISO 23081-1信息与文件-文件管理过程-文件元数据第一部分:原则[S], 2006: 11~13.

[3]毛海帆.电子档案元数据方案设计与应用初探[J].档案学研究,2010(1):74~78.

文件安全传输 篇12

文件传输软件是一种很常见的软件, 但是很多传输软件对要传送的文件的大小有要求, 一般最大是4G, 当传输的文件大于4G时就无法传输。本文设计的传输软件几乎可以不受文件大小的约束。而且系统开销小, 操作简单。

2 软件设计

2.1 套接字 (Socket)

套接字是通信的基石, 是支持TCP/IP协议的网络通信单元。可以将套接字看作不同主机间的进程双向通信的终点, 它构成了在单个主机内及整个网络间的编程界面。套接字有两种不同的类型:流套接字和数据套接字。流套接字提供双向的、有序的、无重复并且无记录的数据流服务, 它适用于处理大量数据。数据套接字支持双向的数据流, 但并不保证数据传输的可靠性、有序性和无重复性。因此, 根据本文的设计的需要选择流套接字。

2.2 客户机/服务器模型

本软件采用的是服务器客户机的模式。一个服务程序通常在一个众所周知的地址监听客户对服务的请求, 也就是说, 服务进程一直处于休眠状态, 知道一个客户对这个服务的地址提出了连接请求。在这个时刻, 服务程序被“惊醒”并且为客户提供服务——对客户的请求做出反应。这一请求/响应的过程可以简单地用图1表示。

3 软件的编程实现

该软件是在VC++6.0上编程实现的, 下面介绍该软件的几个关键部分。

3.1 大文件传输的处理

一般传输软件设计的数据类型都是32位的, 所以传输文件最大只能是4G。本文将文件大小的数据类型定义为64位, 那么传输文件可以到234G, 几乎为无穷大。软件的部分代码如下:

其中m_FileLength为无符号的64为类型, 存储文件的长度。StreamFileIfo为文件信息结构体类型, 其中将文件的大小信息分割成长度为32位的两部分, 分别存在StreamFileInfo.nFileSizeHigh和StreamFileInfo.nFileSizeLow里面。

3.2 多线程实现

该软件采用两个线程, 一个是接收线程U I N T ReceiveDataThread (LPVOID lpPara m) ;另一个是发送线程UINT SendDataThread (LPVOID pPara m) ;当服务器端点击发送按钮后启动发送线程, 启动发送线程的函数为:AfxBeginThread ( (AFX_THREADPROC) SendDataThread, this, THREAD_PRIORITY_NORMAL) ;

当客户端点击接收按钮后启动接收线程, 启动接收线程的函数为:AfxBeginThread (ReceiveDataThread, this, THREAD_PRIORITY_NORMAL) ;

服务器与客户机的通信流程见图2。

3.3 磁盘剩余空间判断

当客户端接收文件的时候首先判断磁盘的剩余空间是否可以满足文件大小的要求, 然后再进行传输。获取磁盘信息的函数为:GetDiskFreeSpaceEx (str.L eft (3) , &lpuse, &lptotal, &lpfree) ;

其中, str.Left (3) 为磁盘的盘符, lpuse为已用空间大小, lptotal为总的空间大小, lpfree为剩余空间大小。最后将lpfree与m_FileLength作比较判断磁盘空间是否满足文件存储的要求。

4总结

本文通过在VC++6.0上编程实现了可以在整个网络传输的功能, 传输文件的大小几乎没有限制, 服务器可以随时暂停和终止文件的传输, 客户端在接收文件的时候可以事先判断磁盘的容量, 当磁盘空间不足的时候会出现提示信息。下图为实际生成的软件界面。

参考文献

[1]莫海光.用VC++实现的文件传输工具[J].计算机信息技术, 2007年第15期.

上一篇:精致课堂的教学模式下一篇:以人为本关注民生