资源预览内容
第1页 / 共66页
第2页 / 共66页
第3页 / 共66页
第4页 / 共66页
第5页 / 共66页
第6页 / 共66页
第7页 / 共66页
第8页 / 共66页
第9页 / 共66页
第10页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Silence is Gold! Do not let mobile phone ruin your lecture非对称加密 & PKI隐私数据文件的保护高峰f.gaostdu.edu.cn2RSA 公钥加密算法密钥产生算法:密钥产生算法:1, 生成两个随机的大的素数p和q, 它们的大小近似相等,从而使它们的乘积n(n = pq)能满足要求的比特长度,例如1024比特;2, 计算n = pq and (n) = (p-1)(q-1);3RSA 公钥加密算法3, 选择一个整数e,其中1 e (n),使得 gcd (e, (n) ) = 1(即e与(n)互素 ); 两个不同时为0的整数a与b的最大公约数表示成gcd(a,b)。例如,gcd(24,30)=6,gcd(5,7)=1,gcd(0,9)=9。 4, 计算秘密的指数d,其中1 d (n) ,使得ed 1 (mod (n) ) ;4RSA公钥加密算法5, 则公钥为(n, e),私钥为(n, d)。其中p、q和(n)的值必须保密。 n 为模数. e 为公钥的指数或者加密时的指数。 d 为私钥的指数或者解密时的指数。5RSA公钥加密算法加密加密: 发送者A进行如下操作:1, 获取接收者B的公钥(n, e);2, 将明文消息表示为一个正整数M;3, 计算密文C = Me mod n;4, 把密文C发送给B.。6RSA公钥加密算法解密:解密: 接收者B进行如下操作:1, 使用自己的私钥(n, d)来计算 M = Cd mod n;2, 从M中提取出原始的明文;7使用RSA进行加密的一个简单例子例如: 已知:p=17, q=11, e=7; M = 88 求: 公钥: (n, e) ?; 私钥 (n, d) ?; 密文: C ?n1, 选择素数 p=17, q=11;n2, n = pq = 1711 = 187; 8使用RSA进行加密的一个简单例子3, (n) = (p-1)(q-1) = 1610 = 160; 4, 选择 e = 7 ;5,计算一个 d 使得 ed 1 (mod (n) ) 即 7d 1 mod 160; 因为 23 * 7 = 161 = 1 *160 + 1; 则正确的值为 d = 23 ; 9使用RSA进行加密的一个简单例子5, 公钥 = (n, e) = (187, 7) 私钥 = (n, d) = (187, 23).10使用RSA进行加密的一个简单例子现在我们开始加密消息 M = 88 . C = Me mod n = 887 mod 187 = 11 因此密文 C = 11。 为了检验,我们进行解密计算:M = cd mod n = 1123 mod 187 = 88 下图描述了上述例子。1112安全性公钥=e,N;私钥=d,N安全性在于:通过e和N来计算d是不可行的ed 1 mod (N)如果知道e和(N),则容易求得d。那困难在哪里?(N)难求!(N) =(p-1)*(q-1)?N=p*q最终的困难在于很难将N分解为两个素数之积。500位数约需1025 年7613YouneedtocheckthatyourfriendBobhasyourcorrectphonenumber,butyoucannotaskhimdirectly.You must write the question on a cardandgiveittoEvewhowilltakethecardtoBobandreturntheanswertoyou.What must you write on the card,besidesthequestion,toensureBobcanencodethemessagesothatEvecannotreadthephonenumber?Inacountryinwhichpeopleonlywantboysevery family continues to have children until they have a boy. If they have a girl, they have another child. If they have a boy, they stop. What is the proportion of boys to girls in the country?组合密码技术明文明文明文明文HiBobAliceHiBobAliceHiBobAlice会话密钥会话密钥加密加密1. 信息信息X2c67afGkz78会话密钥会话密钥xaF4m78dKmAliceBob密文密文解密解密4.信息信息B的公钥的公钥加密加密2.会话密钥会话密钥产生一个一次性,对称密钥产生一个一次性,对称密钥会话密钥会话密钥用会话密钥加密信息用会话密钥加密信息最后用接收者的公钥加密会话密钥最后用接收者的公钥加密会话密钥因为它很短因为它很短数字签名保证原始信息的真实性,完整性。数字签名是用签名方的私钥对原始信息采取不可逆的单向散列算法提取出的一串唯一特征码(称为:信息摘要)进行加密的一个过程,这个过程所得到的密文即称为签名信息。摘要算法(Hash)Hashingalgorithm信息摘要 D421F53D229ACCB73CAAE2DC121AA1CBData特性l不可逆l对任何长度的信息进行哈希后,结果都是一个固定长度的数据摘要,摘要的长度通常为128 bits或160 bitsl原始信息中一个字节的改变会导致摘要后的结果发生变化常用算法:MD5, SHA-1哈希算法和数字签名结合明文明文AliceBobA的私钥的私钥HiBobAliceA的公钥的公钥摘要摘要哈希函数哈希函数gJ39vzamp4xOurjj9rRr%9$数字签名数字签名HiBobAlice明文明文Ourjj9rRr%9$数字签名数字签名HiBobAlice明文明文gJ39vzamp4x新新摘要摘要哈希函数哈希函数gJ39vzamp4x=?相同相同1、没有篡改、没有篡改2、是、是Alice发送发送的的1234567RSARandomly GeneratedSymmetric Key (seed + PRNG)AlicePublickeyPrivatekeyPrivate keyPublic keyAlices Public keyBob发送机密数据的过程发送机密数据的过程Signingthemessage:Encryptingthemessage:Encryptingthesessionkey:Bobs Public keyBobspay-slipDESX15/ow83h7ERH39DJ3HnI2jR98Fdz(q6Bobspay-slipSHA-1HashRSAAlicesDigitalSignatureAlice01101001001001111010Alice01101001001001111010AlicePublickeyPrivatekeyPrivate keyPublic keyAlices Public keyBobBobs Public keyRSA发送机密数据的过程发送机密数据的过程Signingthemessage:Encryptingthemessage:Encryptingthesessionkey:Bobspay-slipDESX15/ow83h7ERH39DJ3HnI2jR98Fdz(q6Bobspay-slipSHA-1HashRSAAlicesDigitalSignatureAlice01101001001001111010Alice01101001001001111010接收机密数据的过程接收机密数据的过程Decryptingthesessionkey:Decryptingthemessage:Verifyingsignatureandmessageintegrity:Bobspay-slipSame?nI2jR98Fdz(q6X15/ow83h7ERH39DJ3HDESBobspay-slipAlice01101001001001111010SHA-1HashYesNonI2jR98Fdz(q6X15/ow83h7ERH39DJ3HAlice01101001001001111010RSAHashRSAnI2jR98Fdz(q6X15/ow83h7ERH39DJ3H+Randomly GeneratedSymmetric Key (seed + PRNG)PKI与密码技术只只有有公公钥钥密密码码技技术术还还不不够够,如如何何将将此此技技术术应应用用到到具具体体的商业及应用中的商业及应用中?验证数字签名验证数字签名对可信身份的需求对可信身份的需求我我们们需需要要找找到到某某种种方方式式确确保保一一个个特特定定的的公公钥钥确确实实属属于于一一个个特特定定的的人。人。认证机构认证机构数字证书数字证书PKI/CA发展历程1976年,提出RSA算法20世纪80年代,美国学者提出了PKI的概念为了推进PKI在联邦政府范围内的应用,1996年就成立了联邦PKI指导委员会1996年,以Visa、MastCard、IBM、Netscape、MS、数家银行推出SET协议,推出CA和证书概念1999年,PKI论坛成立2000年4月,美国国防部宣布要采用PKI安全倡议方案。2001年6月13日,在亚洲和大洋洲推动PKI进程的国际组织宣告成立,该国际组织的名称为“亚洲PKI论坛”,其宗旨是在亚洲地区推动PKI标准化,为实现全球范围的电子商务奠定基础数字证书 什么是数字证书?Name:BrianLiuSerialnumber:484865Issuedby:ABCcorpCAIssuedate:19970102Expirationdate:19990102Publickey:38ighwejb38ighwejbDigitalSignature:hwefdsafhwefdsaf身份信息身份信息姓名等姓名等唯一标识唯一标识公钥公钥/ /照片照片发证机关发证机关数字签名数字签名/ /公章公章有效期有效期/ /序列号序列号什么是数字证书?CA 的名称的名称(颁发机构颁发机构)Bob 的名称的名称(对象对象)Bob 的公钥的公钥包含用户身份信息的文件包含用户身份信息的文件由可信的第三方进行签名由可信的第三方进行签名CertificationAuthority使用使用CA的私钥的私钥保证信息的真实性和完整性保证信息的真实性和完整性数字签名数字签名遵守遵守X.509标准标准Issuer(CA)Subject(Bob)SubjectsPublicKeyPublicBobDigitalSignatureHASHSignedwithtrustedprivatekeyPrivateCA什么是数字证书?PKI系统(CA系统)的产物数字证书是PKI技术的现实载体,通过数字证书我们可以实现身份认证、信息加密、签名等一系列的安全操作网络世界的电子身份证与现实世界的身份证类似能够证明个人、团体或设备的身份包含相关信息:包含姓名、地址、公司、电话号码、Email地址、 与身份证上的姓名、地址等类似包含所有者的公钥拥有者拥有证书公钥对应的私钥由可信的颁发机构颁发比如身份证由公安局颁发一样颁发机构对证书进行签名与身份证上公安局的盖章类似可以由颁发机构证明证书是否有效可防止擅改证书上的任何资料什么是数字证书?数字证书是各类实体(持卡人/个人、商户/企业、网关/银行等)在网上进行信息交流及商务活动的身份证明,在电子交易的各个环节,交易的各方都需验证对方证书的有效性,从而解决相互间的信任问题。证书是一个经证书认证中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。从证书的用途来看,数字证书可分为签名证书和加密证书。签名证书主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。什么是数字证书?理解数字证书是理解PKI系统的中心问题。一个网络用户的证书等于他的电子版的身份证。它由CA签发,获得证书的个人或组织可以用它来证明自己的身份或存取信息的权利。当CA签发证书时,它验证证书申请者的身份,一张数字证书是一个二进制文件,它包含了证书持有者的名字、能够证明证书持有者身份的可靠信息还有证书持有者的公钥,这给出了证书持有者和他的公钥之间的对应关系。证书中的公钥既可被他人用于加密也可用来验证持有者的数字签名。数字证书中也包含序列号、有效期、与证书相联系的权利和使用信息等。最后,数字证书中包含发证机关CA的信息。所有证书都用CA的私钥进行数字签名。证书格式证书格式版本(目前是X509V3、V4)证书序列号签名算法标识符认证机构的X.500名字有效期主题X.500名字主题公钥信息发证者唯一标识符主题唯一标识符扩展域认证机构的数字签名 PKI及其构件PKI体系CARA终端终端用户用户目录目录服务服务申请与审核申请与审核证书归档证书归档证书终止证书终止证书注销证书注销证书发布证书发布证书生成证书生成Public Key Infrastructure (PKI) . . .是硬件、软件、人员、策略和操作规程的总和,它们要完成创建、管理、保存、发放和废止证书的功能,通过管理数字证书的生命周期来管理对应的身份信息的生命周期。EndusersFace-to-face受理点受理点受理点受理点RAD/BRAD/BRAD/B受理点受理点CAHSMD/BCAHSMD/BCACrossCertificationCAHSMD/BDirectoryServicesLDAPv3,DAPEndUserDomainPKIenabledapplicationsLDAPPKIXCMP,CertSigningAlgorithmsRSA,DSA,ECDSAPKIXPKCS#12、PKCS#11PKI系统标准结构SPKMKMCRA受理点受理点RA受理点CA受理点密钥管理中心 - KMC密钥的生成密钥的分发密钥的备份密钥的恢复密钥的更新密钥的归档密钥查询密钥销毁KMCCertification Authority - CA发布本地CA策略对下级机构进行认证和鉴别产生和管理下属机构的证书接收和认证RA证书请求签发和管理证书、CRL发布证书CRL密钥安全生成及管理交叉认证RA受理点受理点RA受理点CA受理点KMCRegistration Authority - RA 进行用户身份信息的审核,确保其真实性; 本区域用户身份信息管理和维护; 数字证书的下载; 数字证书的发放和管理 登记黑名单RA受理点受理点受理点受理点RA受理点受理点CA受理点受理点KMC安全通道nSSL 安全通道通信流程(C-用户端 S-服务器端)STEP 1: CS(发起对话,协商传送加密算法)你好,S!我想和你进行安全对话,我的对称加密算法有DES,RC5,我的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。STEP2: CB(发送服务器数字证书)你好,B!那我们就使用DESRSASHA这对组合进行通讯,为了证明我确实是S,现在发送我的数字证书给你,你可以验证我的身份。STEP 3: CS(传送本次对话的密钥)(检查S的数字证书是否正确,通过CA机构颁发的证书验证了S证书的真实有效性后。生成了利用S的公钥加密的本次对话的密钥发送给S) S, 我已经确认了你的身份,现在将我们本次通讯中使用的对称加密算法的密钥发送给你。 STEP4: SC(获取密钥)(S用自己的私钥解密获取本次通讯的密钥)。B, 我已经获取了密钥。我们可以开始通信了。 STEP5: SC(进行通讯)隐私数据文件的保护隐私数据文件的保护MS OFFICE : Word, Excel, PPT.PDF图片 http:/www.pepsoft.com/视频http:/www.china-drm.com/http:/www.elcomsoft.comEFS加密和安全什么是EFS加密 EFS:Encrypting File System,加密文件系统。它可以帮助你针对存储在NTFS磁盘卷上的文件和文件夹进行加密操作。EFS加密是基于公钥策略的。在使用EFS加密一个文件或文件夹时,系统首先会生成一个由伪随机数组成的FEK (File Encryption Key,文件加密钥匙),然后将利用FEK和数据扩展标准X算法创建加密后的文件,并把它存储到硬盘上,同时删除未加密的原始文件。随后系统利用你的公钥加密FEK,并把加密后的FEK存储在同一个加密文件中。 而在访问被加密的文件时,系统首先利用当前用户的私钥解密FEK,然后利用FEK解密出文件。在首次使用EFS时,如果用户还没有公钥/私钥对(统称为密钥),则会首先生成密钥,然后加密数据。如果你登录到了域环境中,密钥的生成依赖于域控制器,否则它就依赖于本地机器。EFS加密有什么好处 首先,EFS加密机制和操作系统紧密结合,因此我们不必为了加密数据安装额外的软件,这节约了我们的使用成本。 其次,EFS加密系统对用户是透明的。这也就是说,如果你加密了一些数据,那么你对这些数据的访问将是完全允许的,并不会受到任何限制。而其他非授权用户试图访问加密过的数据时,就会收到“访问拒绝”的错误提示。EFS加密的用户验证过程是在登录Windows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。 如何使用EFS加密 要使用EFS加密,首先要保证你的操作系统符合要求。目前支持EFS加密的Windows操作系统主要有Windows 2000全部版本,Windows XP Professional和Windows Server 2003等操作系统。其次,EFS加密只对NTFS5分区上的数据有效(注意,这里我们提到了NTFS5分区,这是指由Windows 2000/XP格式化过的NTFS分区;而由Windows NT4格式化的NTFS分区是NTFS4格式的,虽然同样是NTFS文件系统,但它不支持EFS加密),你无法加密保存在FAT和FAT32分区上的数据。 对于想加密的文件或文件夹,只需要用鼠标右键点击,然后选择“属性”,在常规选项卡下点击“高级”按钮,之后在弹出的窗口中选中“加密内容以保护数据”,然后点击确定,等待片刻数据就加密好了。如果你加密的是一个文件夹,系统还会询问你,是把这个加密属性应用到文件夹上还是文件夹以及内部的所有子文件夹。按照你的实际情况来操作即可。解密数据也是很简单的,同样是按照上面的方法,把“加密内容以保护数据”前的钩消除,然后确定。如果你不喜欢图形界面的操作,还可以在命令行模式下用“cipher”命令完成对数据的加密和解密操作,至于“cipher”命令更详细的使用方法则可以通过在命令符后输入“cipher /?”并回车获得。 注意事项:如果把未加密的文件复制到具有加密属性的文件夹中,这些文件将会被自动加密。若是将加密数据移出来,如果移动到NTFS分区上,数据依旧保持加密属性;如果移动到FAT分区上,这些数据将会被自动解密。被EFS加密过的数据不能在Windows中直接共享。如果通过网络传输经EFS加密过的数据,这些数据在网络上将会以明文的形式传输。NTFS分区上保存的数据还可以被压缩,不过一个文件不能同时被压缩和加密。最后一点,Windows的系统文件和系统文件夹无法被加密。 给鼠标的右键菜单中增添“加密”和“解密”的选项在运行中输入“regedit”并回车,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion /Explorer/Advanced ,在“编辑”菜单上点击“新建Dword值”,输入“EncryptionContextMenu”作为键名,并设置键值为“1”。现在退出注册表编辑器,打开资源管理器,任意选中一个NTFS分区上的文件或者文件夹,然后点击鼠标右键,就可以在右键菜单中找到相应的选项,直接点击就可以完成加密解密的操作。 多用户禁止特殊文件夹加密多用户禁止特殊文件夹加密 如果你想设置禁止加密某个文件夹,可以在这个文件夹中创建一个名为“Desktop.ini”的文件,然后用记事本打开,并添加如下内容:EncryptionDisable=1之后保存并关闭这个文件。这样,以后要加密这个文件夹的时候就会收到错误信息,除非这个文件被删除。 禁用禁用EFSEFS加密功能加密功能如果要彻底禁用EFS加密,可以打开“注册表编辑器”,定位到HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionEFS,在“编辑”菜单上单击“新建Dword值”,然后输入EfsConfiguration作为键名,并设置键值为“1”,这样本机的EFS加密就被禁用了。 注:注册表项设置完成后,必须重新启动计算机才可使设置生效。如何保证EFS加密的安全和可靠 前面我们已经了解到,在EFS加密体系中,数据是靠FEK加密的,而FEK又会跟用户的公钥一起加密保存;解密的时候顺序刚好相反,首先用私钥解密出FEK,然后用FEK解密数据。可见,用户的密钥在EFS加密中起了很大作用。 密钥又是怎么来的呢?在Windows 2000/XP中,每一个用户都有一个SID(Security Identifier,安全标示符)以区分各自的身份,每个人的SID都是不相同的,并且有唯一性。在第一次加密数据的时候,操作系统就会根据加密者的SID生成该用户的密钥,并把公钥和私钥分开保存起来,供用户加密和解密数据。 如何避免不慎使用EFS加密带来的损失 方法:备份密钥和设置恢复代理 1.备份密钥1).在运行中输入“certmgr.msc”然后回车,打开证书管理器。2).利用管理控制台mmc打开证书管理器。 注意:在你加密过文件或文件夹后,打开证书管理器,在“当前用户”“个人”“证书”路径下,应该可以看见一个以你的用户名为名称的证书(如果你还没有加密任何数据,这里是不会有证书的)。导出的证书将是一个pfx为后缀的文件。 具体步骤:具体步骤:第一步:首先以本地帐号登录,最好是具有管理员权限的用户。然后单击“开始运行”,输入“MMC”后回车,打开控制台面板界面。第二步:单击控制台面板的“文件添加删除管理单元”,在弹出的“添加/删除管理单元”对话框中单击“添加”按钮,在“添加独立管理单元”对话框中选择“证书”后,单击“添加”按钮添加该单元。 如果是管理员,会要求选择证书方式,选择“我的用户证书”,然后单击“关闭”按钮,单击“确定”按钮返回控制面板。第三步:依次展开左边的“控制台根节点证书个人证书选择右边窗口中的账户”,右击选择“所有任务导出”,弹出“证书导出向导”(如图)。 第四步:单击“下一步”按钮,选择“是,导出私钥”,单击“下一步”按钮,勾选“私人信息交换”下面的“如果可能,将所有证书包括到证书路径中”和“启用加强保护”项,单击“下一步”按钮,进入设置密码界面。第五步:输入设置密码,这个密码非常重要,一旦遗忘,将永远无法获得,以后也就无法导入证书。输入完成以后单击“下一步”按钮,选择保存私钥的位置和文件名。第六步:单击“完成”按钮,弹出“导出成功”对话框,表示你的证书和密钥已经导出成功了,打开保存密钥的路径,会看到一个“信封钥匙”的图标,这就是你宝贵的密钥!丢失了它,不仅仅意味着你再也打不开你的数据,也意味着别人可以轻易打开你的数据。 重装操作系统之后找到之前导出的pfx文件,鼠标右键点击,并选择“安装PFX”,之后会出现一个导入向导,按照导入向导的提示完成操作(注意,如果你之前在导出证书时选择了用密码保护证书,那么在这里导入这个证书时就需要提供正确的密码,否则将不能继续),而之前加密的数据也就全部可以正确打开。小提示小提示确保你导入的密钥有查看的权利,否则就是导入了也没有用的。这一点要求在导出时就要做到记住导出时设置的密码,最好使用和导出是相同的用户名。2.设置恢复代理(略) EFSEFS加密的加密的常见疑问 1. 为什么打开加密过的文件时没有需要我输入密码?这正是EFS加密的一个特性,同时也是EFS加密和操作系统紧密结合的最佳证明。因为跟一般的加密软件不同,EFS加密不是靠双击文件,然后弹出一个对话框,然后输入正确的密码来确认的用户的;EFS加密的用户确认工作在登录到Windows时就已经进行了。一旦你用适当的账户登录,那你就能打开相应的任何加密文件,并不需要提供什么额外的密码。 2. 我的加密文件已经打不开了,我能够把NTFS分区转换成FAT32分区来挽救我的文件吗?这是不可能的了。很多人尝试过各种方法,例如把NTFS分区转换成FAT32分区;用NTFS DOS之类的软件到DOS下去把文件复制到FAT32分区等,不过这些尝试都以失败告终。毕竟EFS是一种加密,而不是一般的什么权限之类的东西,这些方法对付EFS加密都是无济于事。而如果你的密钥丢失或者没有做好备份,那么一旦发生事故所有加密过的数据就可能都没救了。 3. 我加密数据后重装了操作系统,现在加密数据不能打开了。如果我使用跟前一个系统相同的用户名和密码可以吗?这当然也是不行的,我们在前面已经了解到,跟EFS加密系统密切相关的密钥是根据每个用户的SID得来的。尽管你在新的系统中使用了相同的用户名和密码,但是这个用户的SID已经变了。这个可以理解为两个同名同姓的人,虽然他们的名字相同,不过指纹绝不可能相同,那么这种想法对于只认指纹不认人名的EFS加密系统当然是无效的。 4. 被EFS加密过的数据是不是就绝对安全了呢?当然不是,安全永远都是相对的。以被EFS加密过的文件为例,如果没有合适的密钥,虽然无法打开加密文件,不过仍然可以删除。所以对于重要文件,最佳的做法是NTFS权限和EFS加密并用。这样,如果非法用户没有合适的权限,将不能访问受保护的文件和文件夹;而即使拥有权限,没有密钥同样还是打不开加密数据。 5. 我只是用Ghost恢复了一下系统,用户账户和相应的SID都没有变,怎么以前的加密文件也打不开了?这也是正常的,因为EFS加密所用到的密钥并不是在创建用户的时候生成,而是在你第一次用EFS加密文件的时候。如果你用Ghost创建系统的镜像前还没有加密过任何文件,那你的系统中就没有密钥,而这样的系统制作的镜像当然也就不包括密钥。一旦你加密了文件,并用Ghost恢复系统到创建镜像的状态,解密文件所用的密钥就丢失了。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号