⑴ 如何安全保存密码
过去一段时间来,众多的网站遭遇用户密码数据库泄露事件,这甚至包括顶级的互联网企业–NASDQ上市的商务社交网络Linkedin,国内诸如CSDN一类的就更多了。
层出不穷的类似事件对用户会造成巨大的影响,因为人们往往习惯在不同网站使用相同的密码,一家“暴库”,全部遭殃。
那么在选择密码存储方案时,容易掉入哪些陷阱,以及如何避免这些陷阱?我们将在实践中的一些心得体会记录于此,与大家分享。
菜鸟方案:
直接存储用户密码的明文或者将密码加密存储。
曾经有一次我在某知名网站重置密码,结果邮件中居然直接包含以前设置过的密码。我和客服咨询为什么直接将密码发送给用户,客服答曰:“减少用户步骤,用户体验更好”;再问“管理员是否可以直接获知我的密码”, 客服振振有词:“我们用XXX算法加密过的,不会有问题的”。 殊不知,密码加密后一定能被解密获得原始密码,因此,该网站一旦数据库泄露,所有用户的密码本身就大白于天下。
以后看到这类网站,大家最好都绕道而走,因为一家“暴库”,全部遭殃。
入门方案:
将明文密码做单向哈希后存储。
单向哈希算法有一个特性,无法通过哈希后的摘要(digest)恢复原始数据,这也是“单向”二字的来源,这一点和所有的加密算法都不同。常用的单向哈希算法包括SHA-256,SHA-1,MD5等。例如,对密码“passwordhunter”进行SHA-256哈希后的摘要(digest)如下:
“”
可能是“单向”二字有误导性,也可能是上面那串数字唬人,不少人误以为这种方式很可靠, 其实不然。
单向哈希有两个特性:
1)从同一个密码进行单向哈希,得到的总是唯一确定的摘要
2)计算速度快。随着技术进步,尤其是显卡在高性能计算中的普及,一秒钟能够完成数十亿次单向哈希计算
结合上面两个特点,考虑到多数人所使用的密码为常见的组合,攻击者可以将所有密码的常见组合进行单向哈希,得到一个摘要组合,然后与数据库中的摘要进行比对即可获得对应的密码。这个摘要组合也被称为rainbow table。
更糟糕的是,一个攻击者只要建立上述的rainbow table,可以匹配所有的密码数据库。仍然等同于一家“暴库”,全部遭殃。以后要是有某家厂商宣布“我们的密码都是哈希后存储的,绝对安全”,大家对这个行为要特别警惕并表示不屑。有兴趣的朋友可以搜索下,看看哪家厂商躺着中枪了。
进阶方案:
将明文密码混入“随机因素”,然后进行单向哈希后存储,也就是所谓的“Salted Hash”。
这个方式相比上面的方案,最大的好处是针对每一个数据库中的密码,都需要建立一个完整的rainbow table进行匹配。 因为两个同样使用“passwordhunter”作为密码的账户,在数据库中存储的摘要完全不同。
10多年以前,因为计算和内存大小的限制,这个方案还是足够安全的,因为攻击者没有足够的资源建立这么多的rainbow table。 但是,在今日,因为显卡的恐怖的并行计算能力,这种攻击已经完全可行。
专家方案:
故意增加密码计算所需耗费的资源和时间,使得任何人都不可获得足够的资源建立所需的rainbow table。
这类方案有一个特点,算法中都有个因子,用于指明计算密码摘要所需要的资源和时间,也就是计算强度。计算强度越大,攻击者建立rainbow table越困难,以至于不可继续。
这类方案的常用算法有三种:
1)PBKDF2(Password-Based Key Derivation Function)
PBKDF2简单而言就是将salted hash进行多次重复计算,这个次数是可选择的。如果计算一次所需要的时间是1微秒,那么计算1百万次就需要1秒钟。假如攻击一个密码所需的rainbow table有1千万条,建立所对应的rainbow table所需要的时间就是115天。这个代价足以让大部分的攻击者忘而生畏。
美国政府机构已经将这个方法标准化,并且用于一些政府和军方的系统。 这个方案最大的优点是标准化,实现容易同时采用了久经考验的SHA算法。
2) bcrypt
bcrypt是专门为密码存储而设计的算法,基于Blowfish加密算法变形而来,由Niels Provos和David Mazières发表于1999年的USENIX。
bcrypt最大的好处是有一个参数(work factor),可用于调整计算强度,而且work factor是包括在输出的摘要中的。随着攻击者计算能力的提高,使用者可以逐步增大work factor,而且不会影响已有用户的登陆。
bcrypt经过了很多安全专家的仔细分析,使用在以安全着称的OpenBSD中,一般认为它比PBKDF2更能承受随着计算能力加强而带来的风险。bcrypt也有广泛的函数库支持,因此我们建议使用这种方式存储密码。
3) scrypt
scrypt是由着名的FreeBSD黑客 Colin Percival为他的备份服务 Tarsnap开发的。
和上述两种方案不同,scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利用rainbow table进行暴力攻击更加困难。scrypt没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。但是,scrypt在算法层面只要没有破绽,它的安全性应该高于PBKDF2和bcrypt。
来源:坚果云投稿,坚果云是一款类似Dropbox的云存储服务,可以自动同步、备份文件。
⑵ 数据存储方案选择,请说明理由
说实话,如果用于收藏的话,两者没有可比性
原因:
原版DVD光盘的音效、画质是经压缩后保存在硬盘上所无法比拟的
收藏的人会选择用DVD来保存,
不过嘛,在我看来,如果有条件最好双管齐下,买一个硬盘是必须的,而且DVD的普及率,估计家家都有吧
⑶ iphone怎么使用共享空间
订阅
iCloud 为每一位注册用户提供了 5GB 的免费储存空间,你可以用来备份照片、视频或者上传各种文件。5GB 的空间对于一些用户来说远远不够,但是付费升级到 50GB、200GB 甚至 2T 后可能会用不完,如果你升级到了 200GB 或者 2T,可以把 iCloud 储存空间共享给家人或好友,这样每个人都会获得充足的空间,也划算了很多。
共享储存空间方案时,你的照片、视频等文件始终保持私密,每位共享用户都只能访问自己的 iCloud,也就是说共享的只是储存空间而不是文件。
共享前,iPhone 必须升级至 iOS 11 及以上系统。
在 iPhone、iPad 或 iPod touch 上依次打开前往“设置”>“Apple ID”,点击“设置家人共享”并“开始使用”:
然后选择“iCloud 储存空间”项,只有升级至 200 GB 或 2 TB 储存空间方案后才可以选择共享:
使用“信息”可最多邀请五个人共享你的储存空间方案。
在 iPhone、iPad 或 iPod touch 上再次打开“家人共享”,进入“iCloud 储存空间”后就可以看到每一位成员当前已使用的储存空间。
根据不同的 Apple ID 注册地,支付时的费用可能会有很小的差异,以 2T 容量为例,美国和香港地区的售价折合人民币大约 67 元,大陆售价为 68元。
即使不是 iPhone 用户,你也可以注册 iCloud 账号并使用 Apple 提供的云盘服务,相比于国内大多数同类产品,iCloud 的安全性和稳定性都更胜一筹。
⑷ 近期准备出国,家里东西想先找个地方存储,但放在朋友家又不合适,朋友告诉我可以租个迷你仓
是的,有这种情况可以租个迷你仓。迷你仓,也叫自存仓、自助式仓储、私人仓储,是专门服务城市居民(个人和家庭)和企业储存行李、家具、换季衣物、文件等物品的独立式小型仓库。迷你仓企业往往是将大型仓库改造建设成为若干间独立小仓库,作为独立的存储单元向个人、家庭和企业租赁,可按天、月、季、年计算租金。
迷你仓在国外已经具有六七十年的发展历史,本世纪初被引入了中国大陆,开启了中国迷你仓行业的发展。个人、家庭和企业选择迷你仓,除了存储红酒等特殊物品之外,应当优先选择地上迷你仓。地上存储环境是安全保险的基本保障。
迷你仓根据客户的不同需要,提供从小型衣物放置到大型物品储藏的各种型号的储藏室。迷你仓与客户签订标准的寄存货品协议,让客户得到法律保障。
迷你仓可以选择大众迷你仓,大众迷你仓灵活便捷,安全有保障,入仓客户在进行存储之前都必须经过管家的严格检查和安检,不得存放任何易燃易爆物品,一经发现,拒绝入仓。一些仓库的实用面积仅有七成,但迷你仓实用面积高达100%。迷你仓内无货架,提供小推车和电梯,价格最低2元/天。大众迷你仓目前全国拥有上百家门店,服务客户群体高达十万。
⑸ 怎么选择储存方案
- -
做RAID!!!!!!!!!!!!~~~~~~~~~~~~~~~
比你说那几种都好得多!~
主板不支持RAID的话就买个RAID卡
.Raid定义
RAID(Rendant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。
二、RAID的几种工作模式
1、RAID0
即Data Stripping数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。
(1)、RAID 0最简单方式
就是把x块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个独立的逻辑驱动器,容量是单独硬盘的x倍,在电脑数据写时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据就会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n。
(2)、RAID 0的另一方式
是用n块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向n块磁盘读写数据,速度提升n倍。提高系统的性能。
2、RAID 1
RAID 1称为磁盘镜像:把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1有以下特点:
(1)、RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。
(2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本高。
(3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)、出现硬盘故障的RAID系统不再可靠,应当及时的更换损坏的硬盘,否则剩余的镜像盘也出现问题,那么整个系统就会崩溃。
(5)、更换新盘后原有数据会需要很长时间同步镜像,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)、RAID 1磁盘控制器的负载相当大,用多个磁盘控制器可以提高数据的安全性和可用性。
3、RAID0+1
把RAID0和RAID1技术结合起来,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供全冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并具有快速读/写能力。RAID0+1要在磁盘镜像中建立带区集至少4个硬盘。
4、RAID2
电脑在写入数据时在一个磁盘上保存数据的各个位,同时把一个数据不同的位运算得到的海明校验码保存另一组磁盘上,由于海明码可以在数据发生错误的情况下将错误校正,以保证输出的正确。但海明码使用数据冗余技术,使得输出数据的速率取决于驱动器组中速度最慢的磁盘。RAID2控制器的设计简单。
5、RAID3:带奇偶校验码的并行传送
RAID 3使用一个专门的磁盘存放所有的校验数据,而在剩余的磁盘中创建带区集分散数据的读写操作。当一个完好的RAID 3系统中读取数据,只需要在数据存储盘中找到相应的数据块进行读取操作即可。但当向RAID 3写入数据时,必须计算与该数据块同处一个带区的所有数据块的校验值,并将新值重新写入到校验块中,这样无形虽增加系统开销。当一块磁盘失效时,该磁盘上的所有数据块必须使用校验信息重新建立,如果所要读取的数据块正好位于已经损坏的磁盘,则必须同时读取同一带区中的所有其它数据块,并根据校验值重建丢失的数据,这使系统减慢。当更换了损坏的磁盘后,系统必须一个数据块一个数据块的重建坏盘中的数据,整个系统的性能会受到严重的影响。RAID 3最大不足是校验盘很容易成为整个系统的瓶颈,对于经常大量写入操作的应用会导致整个RAID系统性能的下降。RAID 3适合用于数据库和WEB服务器等。
6、 RAID4
RAID4即带奇偶校验码的独立磁盘结构,RAID4和RAID3很象,它对数据的访问是按数据块进行的,也就是按磁盘进行的,每次是一个盘,RAID4的特点和RAID3也挺象,不过在失败恢复时,它的难度可要比RAID3大得多了,控制器的设计难度也要大许多,而且访问数据的效率不怎么好。
7、 RAID5
RAID 5把校验块分散到所有的数据盘中。RAID 5使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。RAID 5提高了系统可靠性,但对数据传输的并行性解决不好,而且控制器的设计也相当困难。
8、RAID6
RAID6即带有两种分布存储的奇偶校验码的独立磁盘结构,它是对RAID5的扩展,主要是用于要求数据绝对不能出错的场合,使用了二种奇偶校验值,所以需要N+2个磁盘,同时对控制器的设计变得十分复杂,写入速度也不好,用于计算奇偶校验值和验证数据正确性所花费的时间比较多,造成了不必须的负载,很少人用。
9、 RAID7
RAID7即优化的高速数据传送磁盘结构,它所有的I/O传送均是同步进行的,可以分别控制,这样提高了系统的并行性和系统访问数据的速度;每个磁盘都带有高速缓冲存储器,实时操作系统可以使用任何实时操作芯片,达到不同实时系统的需要。允许使用SNMP协议进行管理和监视,可以对校验区指定独立的传送信道以提高效率。可以连接多台主机,当多用户访问系统时,访问时间几乎接近于0。但如果系统断电,在高速缓冲存储器内的数据就会全部丢失,因此需要和UPS一起工作,RAID7系统成本很高。
10、 RAID10
RAID10即高可靠性与高效磁盘结构它是一个带区结构加一个镜象结构,可以达到既高效又高速的目的。这种新结构的价格高,可扩充性不好。
11、 RAID53
RAID7即高效数据传送磁盘结构,是RAID3和带区结构的统一,因此它速度比较快,也有容错功能。但价格十分高,不易于实现。
个人使用磁盘RAID主要是用RAID0、 RAID1或RAID0+1工作模式。
参考资料:http://www.yesky.com/Hardware/72624946416713728/20030607/1705974.shtml