1.源代码审计工具之:SonarQube
2.PGPå·¥ä½åç
源代码审计工具之:SonarQube
SonarQube是一个开源的代码分析平台,用于持续分析和评估项目源代码的利泄露源质量。它能检测出项目中的码意重复代码、潜在bug、大利代码规范和安全性漏洞等问题,泄露并通过web UI展示结果。意大源码日波指标公式源码
1. Sonar简介
1.1 SonarQube是利泄露源什么?
1. 代码质量和安全扫描和分析平台。
2. 多维度分析代码:代码量、码意安全隐患、大利编写规范隐患、泄露重复度、意大源码复杂度、利泄露源代码增量、码意测试覆盖率等。大利
3. 支持+编程语言的泄露代码扫描和分析,包括Java、Python、C#、JavaScript、Go、C++等。趋势精灵 源码
4. 涵盖了编程语言的静态扫描规则:代码编写规范和安全规范。
5. 能够与代码编辑器、CI/CD平台完美集成。
6. 能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7. 帮助程序猿写出更干净、更安全的代码。
静态扫描主要针对开发人员编写的源代码。
通过定义好的代码质量和安全规则,对开发人员编写的iapp联机源码代码进行扫描和分析。
将分析的结果多维护的呈现出来,以方便开发人员进行代码的优化和规范编写。
1.2 SonarQube的各个功能:
1.2.1 代码可靠性
1. BUG检测
2. 设置需要的代码标准
3. 代码异味
4. 代码安全性
5. 对于开发的各个路径进行检测
1.2.2 软件安全性
1. Security Hotspots: 代码存在安全问题的部分
2. Vulnerabilities: 代码是否存在漏洞
1.3 SonarQube如何工作?
Sonar静态代码扫描由两部分组成:SonarQube平台和sonar-scanner扫描器。
SonarQube: web界面管理平台。
1)展示所有的项目代码的质量数据。
2)配置质量规则、管理项目、配置通知、配置SCM等。
SonarScanner: 代码扫描工具。split源码java
专门用来扫描和分析项目代码。支持+语言。
代码扫描和分析完成之后,会将扫描结果存储到数据库当中,在SonarQube平台可以看到扫描数据。
SonarQube和sonarScanner之间的关系:
2 检测
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量。通过插件形式,可以支持包括Java、delphi源码控件C#、C/C++、PL/SQL、Cobol、JavaScript、Groovy等等二十几种编程语言的代码质量管理与检测。
2.1 Rules提示
2.1.1 Rule界面
2.1.2 Rule正确实例提示
2.2 糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们,且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要全面的回归测试。
2.3 重复
显然程序中包含大量复制粘贴的代码是质量低下的,Sonar可以展示源码中重复严重的地方。
2.4 缺乏单元测试
Sonar可以很方便地统计并展示单元测试覆盖率。
2.5 没有代码标准
Sonar可以通过PMD、CheckStyle、Findbugs等等代码规则检测工具规范代码编写。
2.6 没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷。
2.7 潜在的bug
Sonar可以通过PMD、CheckStyle、Findbugs等等代码规则检测工具检测出潜在的bug。
2.8 糟糕的设计(原文Spaghetti Design,意大利面式设计)
通过Sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;通过Sonar可以管理第三方的jar包,可以利用LCOM4检测单个任务规则的应用情况,检测耦合。
3. Sonar组成
4. Sonar集成过程
开发人员在他们的IDE中使用SonarLint运行分析本地代码。
开发人员将他们的代码提交到代码管理平台中(SVN、GIT等),
持续集成工具自动触发构建,调用SonarScanner对项目代码进行扫描分析,
分析报告发送到SonarQube Server中进行加工,
SonarQube Server加工并且保存分析报告到SonarQube Database中,通过UI显示分析报告。
PGPå·¥ä½åç
PGPæ¯ä¸ä¸ªåºäºRSAå ¬åå å¯ä½ç³»çé®ä»¶å å¯è½¯ä»¶ãå¯ä»¥ç¨å®å¯¹ä½ çé®ä»¶ä¿å¯ä»¥é²æ¢éææè é 读ï¼å®è¿è½å¯¹ä½ çé®ä»¶å ä¸æ°åç¾åä»è使æ¶ä¿¡äººå¯ä»¥ç¡®ä¿¡é®ä»¶æ¯ä½ åæ¥çãå®è®©ä½ å¯ä»¥å®å ¨å°åä½ ä»æªè§è¿ç人们é讯ï¼äºå 并ä¸éè¦ä»»ä½ä¿å¯çæ¸ éç¨æ¥ä¼ éå¯åãå®éç¨äºï¼å®¡æ çå¯å管çï¼ä¸ç§RSAåä¼ ç»å å¯çæåç®æ³ï¼ç¨äºæ°åç¾åçé®ä»¶ææç®æ³ï¼å å¯åå缩çï¼è¿æä¸ä¸ªè¯å¥½ç人æºå·¥ç¨è®¾è®¡ãå®çåè½å¼ºå¤§æå¾å¿«çé度ãèä¸å®çæºä»£ç æ¯å è´¹çã
å®é ä¸PGPçåè½è¿ä¸æ¢ä¸é¢è¯´çï¼;PGPå¯ä»¥ç¨æ¥å å¯æ件ï¼è¿å¯ä»¥ç¨PGP代æ¿UUencode;çæ;RADIX;;æ ¼å¼ï¼å°±æ¯MIME;ç;BASE;æ ¼å¼ï¼çç¼ç æ件ã
PGP;çåå§äººæ¯ç¾å½ç;Phil;Zimmermannãä»çåé æ§å¨äºä»æRSAå ¬åä½ç³»çæ¹ä¾¿åä¼ ç»å å¯ä½ç³»çé«é度ç»åèµ·æ¥ï¼å¹¶ä¸å¨æ°åç¾ååå¯å认è¯ç®¡çæºå¶ä¸æå·§å¦ç设计ãå æ¤PGPæ为å ä¹ææµè¡çå ¬åå å¯è½¯ä»¶å ã
PGPæ¯ä¸ç§ä¾å¤§ä¼ä½¿ç¨çå å¯è½¯ä»¶ãå å¯æ¯ä¸ºäºå®å ¨ï¼ç§å¯ææ¯ä¸ç§åºæ¬äººæãå¨ç°ä»£ç¤¾ä¼éï¼çµåé®ä»¶åç½ç»ä¸çæä»¶ä¼ è¾å·²ç»æ为çæ´»çä¸é¨åãé®ä»¶çå®å ¨é®é¢å°±æ¥ççªåºäºï¼å¤§å®¶é½ç¥éå¨Internetä¸ä¼ è¾çæ°æ®æ¯ä¸å å¯çãå¦æä½ èªå·±ä¸ä¿æ¤èªå·±çä¿¡æ¯ï¼ç¬¬ä¸è å°±ä¼è½»æè·å¾ä½ çéç§ã;è¿æä¸ä¸ªé®é¢å°±æ¯ä¿¡æ¯è®¤è¯ï¼å¦ä½è®©æ¶ä¿¡äººç¡®ä¿¡é®ä»¶æ²¡æ被第ä¸è 篡æ¹ï¼å°±éè¦æ°åç¾åææ¯ãRSAå ¬åä½ç³»çç¹ç¹ä½¿å®é常éåç¨æ¥æ»¡è¶³ä¸è¿°ä¸¤ä¸ªè¦æ±ï¼
ä¿å¯æ§ï¼Privacy)å认è¯æ§ï¼Authenticationï¼ã
RSAï¼Rivest-Shamir-Adlemanï¼ç®æ³æ¯ä¸ç§åºäºå¤§æ°ä¸å¯è½è´¨å æ°å解å设çå ¬åä½ç³»ãç®åå°è¯´å°±æ¯æ¾ä¸¤ä¸ªå¾å¤§çè´¨æ°ï¼ä¸ä¸ªå ¬å¼ç»ä¸çï¼ä¸ä¸ªä¸åè¯ä»»ä½äººãä¸ä¸ªç§°ä¸ºâå ¬åâï¼å¦ä¸ä¸ªå«âç§åâ(Public;key;&;Secretkey;or;Private;key)ãè¿ä¸¤ä¸ªå¯åæ¯äºè¡¥çï¼å°±æ¯è¯´ç¨å ¬åå å¯çå¯æå¯ä»¥ç¨ç§å解å¯ï¼åè¿æ¥ä¹ä¸æ ·ãå设ç²è¦å¯ä¿¡ç»ä¹ï¼ä»ä»¬äºç¸ç¥é对æ¹çå ¬åãç²å°±ç¨ä¹çå ¬åå å¯é®ä»¶å¯åºï¼ä¹æ¶å°åå°±å¯ä»¥ç¨èªå·±çç§å解å¯åºç²çåæãç±äºæ²¡å«äººç¥éä¹çç§åæ以å³ä½¿æ¯ç²æ¬äººä¹æ æ³è§£å¯é£å°ä¿¡ï¼è¿å°±è§£å³äºä¿¡ä»¶ä¿å¯çé®é¢ãå¦ä¸æ¹é¢ç±äºæ¯ä¸ªäººé½ç¥éä¹çå ¬åï¼ä»ä»¬é½å¯ä»¥ç»ä¹åä¿¡ï¼é£ä¹ä¹å°±æ æ³ç¡®ä¿¡æ¯ä¸æ¯ç²çæ¥ä¿¡ã认è¯çé®é¢å°±åºç°äºï¼è¿æ¶åæ°åç¾åå°±æç¨äºã
å¨è¯´ææ°åç¾ååå è¦è§£éä¸ä¸ä»ä¹æ¯âé®ä»¶ææâ(message;digest)ï¼åå°è®²å°±æ¯å¯¹ä¸å°é®ä»¶ç¨æç§ç®æ³ç®åºä¸ä¸ªè½ä½ç°è¿å°é®ä»¶âç²¾åâçæ°æ¥ï¼ä¸æ¦é®ä»¶æä»»ä½æ¹åè¿ä¸ªæ°é½ä¼ååï¼é£ä¹è¿ä¸ªæ°å ä¸ä½è çååï¼å®é ä¸å¨ä½è çå¯åéï¼è¿ææ¥æççï¼å°±å¯ä»¥ä½ä¸ºä¸ä¸ªç¾åäºãç¡®åå°è¯´PGPæ¯ç¨ä¸ä¸ªä½çäºè¿å¶æ°ä½ä¸ºâé®ä»¶ææâçï¼ç¨æ¥äº§çå®çç®æ³å«MD5(message;digest;5)ï¼MD5çæåºè æ¯Ron;Rivestï¼PGPä¸ä½¿ç¨ç代ç æ¯ç±Colin;Plumbç¼åçï¼MD5æ¬èº«æ¯å ¬ç¨è½¯ä»¶ãæ以PGPçæ³å¾æ¡æ¬¾ä¸æ²¡ææå°å®ãMD5æ¯ä¸ç§ååæ£åç®æ³ï¼å®ä¸åCRCæ ¡éªç ï¼å¾é¾æ¾å°ä¸ä»½æ¿ä»£çé®ä»¶èä¸åä»¶å ·æä¸æ ·çâç²¾åâã
åå°æ°åç¾åä¸æ¥ï¼ç²ç¨èªå·±çç§åå°ä¸è¿°çä½çâç²¾åâå å¯ï¼éå å¨é®ä»¶ä¸ï¼åç¨ä¹çå ¬åå°æ´ä¸ªé®ä»¶å å¯ãè¿æ ·è¿ä»½å¯æ被ä¹æ¶å°ä»¥åï¼ä¹ç¨èªå·±çç§åå°é®ä»¶è§£å¯ï¼å¾å°ç²çåæåç¾åï¼ä¹çPGPä¹ä»åæ计ç®åºä¸ä¸ªä½ç âç²¾åâæ¥åç¨ç²çå ¬å解å¯ç¾åå¾å°çæ°æ¯è¾ï¼å¦æ符å就说æè¿ä»½é®ä»¶ç¡®å®æ¯ç²å¯æ¥çãè¿æ ·ä¸¤ä¸ªè¦æ±é½å¾å°äºæ»¡è¶³ã
PGPè¿å¯ä»¥åªç¾åèä¸å å¯ï¼è¿éç¨äºå ¬å¼å表声ææ¶ï¼å£°æ人为äºè¯å®èªå·±ç身份ï¼å¨ç½ç»ä¸åªè½å¦æ¤äºï¼ï¼å¯ä»¥ç¨èªå·±çç§åç¾åãè¿æ ·å°±å¯ä»¥è®©æ¶ä»¶äººè½ç¡®è®¤å信人ç身份ï¼ä¹å¯ä»¥é²æ¢å信人æµèµèªå·±ç声æãè¿ä¸ç¹å¨åä¸é¢åæå¾å¤§çåºç¨åéï¼å®å¯ä»¥é²æ¢å信人æµèµå信件被éä¸ç¯¡æ¹ã
é£ä¹ä¸ºä»ä¹è¯´PGPç¨çæ¯RSAåä¼ ç»å å¯çæåç®æ³å¢ï¼å 为RSAç®æ³è®¡ç®éæ大å¨é度ä¸ä¸éåå å¯å¤§éæ°æ®ï¼æ以PGPå®é ä¸ç¨æ¥å å¯çä¸æ¯RSAæ¬èº«ï¼èæ¯éç¨äºä¸ç§å«IDEAçä¼ ç»å å¯ç®æ³ãæå 解éä¸ä¸ä»ä¹å«ä¼ ç»å å¯ï¼ç®åå°è¯´å°±æ¯ç¨ä¸ä¸ªå¯åå å¯ææï¼ç¶åç¨åæ ·çå¯å解å¯ãè¿ç§æ¹æ³ç代表æ¯DES(US;Fed eral;DataEncryption;Standard)ï¼ä¹å°±æ¯ä¹æ³å å¯ï¼å®ç主è¦ç¼ºç¹å°±æ¯å¯åçä¼ éæ¸ é解å³ä¸äºå®å ¨æ§é®é¢ï¼ä¸éåç½ç»ç¯å¢é®ä»¶å å¯éè¦ã
-1- : åå¤
æ大å©
lvchenyang_
ä½ç²ä¸
2楼
IDEA;æ¯ä¸ä¸ªæä¸å©çç®æ³ï¼ä¸å©ææè æ¯ETHåä¸ä¸ªçå£«å ¬å¸ï¼Ascom-Tech;AGã
éåä¸ç¨éçIDEAå®ç°ä¸ç¨åä»ä»¬äº¤çº³è´¹ç¨ãIDEAçå ï¼è§£ï¼å¯é度æ¯RSAå¿«å¾å¤ï¼æ以å®é ä¸PGPæ¯ç¨ä¸ä¸ªéæºçæå¯åï¼æ¯æ¬¡å å¯ä¸åï¼ç¨IDEAç®æ³å¯¹ææå å¯ï¼ç¶åç¨RSAç®æ³å¯¹è¯¥å¯åå å¯ãè¿æ ·æ¶ä»¶äººåæ ·æ¯ç¨RSA解å¯åºè¿ä¸ªéæºå¯åï¼åç¨IDEA解å¯é®ä»¶æ¬èº«ãè¿æ ·çé¾å¼å å¯å°±åå°äºæ¢æRSAä½ç³»çä¿å¯æ§ï¼åæIDEAç®æ³çå¿«æ·æ§ãPGPçåææä¸åå°±å¨è¿ä¸ç¹ä¸äºï¼ä¸ºä»ä¹RSAä½ç³»å¹´ä»£å°±æåºæ¥ï¼ä¸ç´æ²¡ææ¨å¹¿åºç¨å¢ï¼éåº¦å¤ªæ ¢ï¼é£ä¹PGPåæçå¦ä¸åå¨åªå¿å¢ï¼ä¸é¢æåè°PGPçå¯å管çã
ä¸ä¸ªæççå å¯ä½ç³»å¿ ç¶è¦æä¸ä¸ªæççå¯å管çæºå¶é å¥ãå ¬åä½å¶çæåºå°±æ¯ä¸ºäºè§£å³ä¼ ç»å å¯ä½ç³»çå¯ååé é¾ä¿å¯ç缺ç¹ãæ¯å¦ç½ç»hacker们常ç¨çæ段ä¹ä¸å°±æ¯âçå¬âï¼å¦æå¯åæ¯éè¿ç½ç»ä¼ é就太å±é©äºã举个ä¾åï¼NovellNetware;çèçæ¬ä¸ï¼ç¨æ·çå¯ç æ¯ä»¥ææå¨çº¿è·¯ä¸ä¼ è¾çï¼è¿æ ·çå¬è è½»æå°±è·å¾äºä»äººçå¯ç ãå½ç¶;Netware;4.1;ä¸æ°æ®å 头çç¨æ·å¯ç ç°å¨æ¯å å¯çäºã对PGPæ¥è¯´å ¬åæ¬æ¥å°±è¦å ¬å¼ï¼å°±æ²¡æé²çå¬çé®é¢ãä½å ¬åçåå¸ä¸ä»ç¶åå¨å®å ¨æ§é®é¢ï¼ä¾å¦å ¬åç被篡æ¹(Public;Key;Tampering)ï¼è¿å¯è½æ¯å ¬åå¯ç ä½ç³»ä¸æ大çæ¼æ´ï¼å 为大å¤æ°æ°æä¸è½å¾å¿«åç°è¿ä¸ç¹ãä½ å¿ é¡»ç¡®ä¿¡ä½ æ¿å°çå ¬åå±äºå®çä¸å»å±äºçé£ä¸ªäººã为äºæè¿ä¸ªé®é¢è¯´æ¸ æ¥ï¼æ举个ä¾åï¼ç¶åå说å¦ä½æ£ç¡®å°ç¨PGPå µä½è¿ä¸ªæ¼æ´ã
ä»¥ä½ åAliceçé信为ä¾ï¼åè®¾ä½ æ³ç»Aliceåå°ä¿¡ï¼é£ä½ å¿ é¡»æAliceçå ¬åï¼ä½ ä»BBSä¸ä¸è½½äºAliceçå ¬åï¼å¹¶ç¨å®å å¯äºä¿¡ä»¶ç¨BBSçEmailåè½åç»äºAliceãä¸å¹¸å°ï¼ä½ åAliceé½ä¸ç¥éï¼å¦ä¸ä¸ªç¨æ·å«Charlieçç¨æ·æ½å ¥BBSï¼æä»èªå·±ç¨Aliceçååçæçå¯å对ä¸çå ¬åæ¿æ¢äºAliceçå ¬åãé£ä½ ç¨æ¥åä¿¡çå ¬åå°±ä¸æ¯Aliceçèæ¯Charlieçï¼ä¸åçæ¥é½å¾æ£å¸¸ï¼å ä¸ºä½ æ¿å°çå ¬åçç¨æ·åæ¯âAliceâãäºæ¯Charlieå°±å¯ä»¥ç¨ä»æä¸çç§åæ¥è§£å¯ä½ ç»Aliceçä¿¡ï¼çè³ä»è¿å¯ä»¥ç¨Aliceçæ£çå ¬åæ¥è½¬åä½ ç»Aliceçä¿¡ï¼è¿æ ·è°é½ä¸ä¼èµ·çå¿ï¼ä»å¦ææ³æ¹å¨ä½ ç»Aliceçä¿¡ä¹æ²¡é®é¢ãæ´æçè ï¼ä»è¿å¯ä»¥ä¼ªé Aliceçç¾åç»ä½ æ
å ¶ä»äººåä¿¡ï¼å ä¸ºä½ ä»¬æä¸çå ¬åæ¯ä¼ªé çï¼ä½ 们ä¼ä»¥ä¸ºçæ¯Aliceçæ¥ä¿¡ã
é²æ¢è¿ç§æ åµåºç°çæ好åæ³æ¯é¿å 让任ä½å ¶ä»äººææºä¼ç¯¡æ¹å ¬åï¼æ¯å¦ç´æ¥ä»Aliceæä¸å¾å°å¥¹çå ¬åï¼ç¶èå½å¥¹å¨åéä¹å¤ææ æ³è§å°æ¶ï¼è¿æ¯å¾å°é¾çãPGPåå±äºä¸ç§å ¬åä»ç»æºå¶æ¥è§£å³è¿ä¸ªé®é¢ã举ä¾æ¥è¯´ï¼å¦æä½ åAliceæä¸ä¸ªå ±åçæåDavidï¼èDavidç¥éä»æä¸çAliceçå ¬åæ¯æ£ç¡®çï¼å ³äºå¦ä½è®¤è¯å ¬åï¼PGPè¿æä¸ç§æ¹æ³ï¼åé¢ä¼è°å°ï¼è¿éå设Davidå·²ç»åAlice认è¯è¿å¥¹çå ¬åï¼ãè¿æ ·Davidå¯ä»¥ç¨ä»èªå·±çç§åå¨Aliceçå ¬åä¸ç¾åï¼å°±æ¯ç¨ä¸é¢è®²çç¾åæ¹æ³ï¼ï¼è¡¨ç¤ºä»æ ä¿è¿ä¸ªå ¬åå±äºAliceãå½ç¶ä½ éè¦ç¨Davidçå ¬åæ¥æ ¡éªä»ç»ä½ çAliceçå ¬åï¼åæ ·Davidä¹å¯ä»¥åAlice认è¯ä½ çå ¬åï¼è¿æ ·Davidå°±æä¸ºä½ åAliceä¹é´çâä»ç»äººâãè¿æ ·AliceæDavidå°±å¯ä»¥æ¾å¿å°æDavidç¾è¿åçAliceçå ¬åä¸è½½å°BBSä¸è®©ä½ å»æ¿ï¼æ²¡äººå¯è½å»ç¯¡æ¹å®èä¸è¢«ä½ åç°ï¼å³ä½¿æ¯BBSç管çåã è¿å°±æ¯ä»å ¬å ±æ¸ éä¼ éå ¬åçå®å ¨æ段ã
æ人ä¼é®ï¼é£ä½ æä¹å®å ¨å°å¾å°Davidçå ¬åå¢ï¼è¿ä¸æ¯ä¸ªå æ鸡è¿æ¯å æèçé®é¢åï¼ç¡®å®æå¯è½ä½ æ¿å°çDavidçå ¬åä¹æ¯åçï¼ä½è¿å°±è¦æ±è¿ä¸ªæ£èè åä¸è¿æ´ä¸ªè¿ç¨ï¼ä»å¿ é¡»å¯¹ä½ ä»¬ä¸äººé½å¾çæï¼è¿è¦çåå¾ä¹ ï¼è¿ä¸è¬ä¸å¯è½ãå½ç¶ï¼PGP对è¿ç§å¯è½ä¹æé¢é²ç建议ï¼é£å°±æ¯ç±ä¸ä¸ªå¤§å®¶æ®éä¿¡ä»»ç人ææºææ å½è¿ä¸ªè§è²ãä»è¢«ç§°ä¸ºâå¯åä¾è âæâ认è¯æå¨âï¼æ¯ä¸ªç±ä»ç¾åçå ¬åé½è¢«è®¤ä¸ºæ¯ççï¼è¿æ ·å¤§å®¶åªè¦æä¸ä»½ä»çå ¬åå°±è¡äºï¼è®¤è¯è¿ä¸ªäººçå ¬åæ¯æ¹ä¾¿çï¼å 为ä»å¹¿æ³æä¾è¿ä¸ªæå¡ï¼ååä»çå ¬åæ¯å¾æå°é¾çï¼å 为ä»çå ¬åæµä¼ 广æ³ã è¿æ ·çâæå¨âéåç±é个人æ§å¶ç»ç»ææ¿åºæºæå å½ï¼ç°å¨å·²ç»æç级认è¯å¶åº¦çæºæåå¨ã
-1- : åå¤
æ大å©
lvchenyang_
ä½ç²ä¸
3楼
对äºé£äºé常åæ£ç人们ï¼PGPæ´èµæ使ç¨ç§äººæ¹å¼çå¯å转ä»æ¹å¼ï¼å 为è¿æ ·ææºçéå®æ¹æ´è½åæ åºäººä»¬èªç¶ç社ä¼äº¤å¾ï¼èä¸äººä»¬ä¹è½èªç±å°éæ©ä¿¡ä»»ç人æ¥ä»ç»ãæ»ä¹åä¸è®¤è¯ç人们è§é¢ä¸æ ·ãæ¯ä¸ªå ¬åæè³å°ä¸ä¸ªâç¨æ·åâ(User;ID)ï¼è¯·å°½éç¨èªå·±çå ¨åï¼æ好åå ä¸æ¬äººçEmailå°åï¼ä»¥å æ··æ·ã
注æï¼ä½ æå¿ é¡»éµå¾ªçä¸æ¡è§åæ¯ï¼å¨ä½ 使ç¨ä»»ä½ä¸ä¸ªå ¬åä¹åï¼ä¸å®è¦é¦å 认è¯å®ï¼ï¼ï¼æ è®ºä½ åå°ä»ä¹è¯±æï¼å½ç¶ä¼æè¿ç§è¯±æï¼ä½ é½ä¸è¦ï¼ç»å¯¹ä¸è¦ï¼ ç´æ¥ä¿¡ä»»ä¸ä¸ªä»å ¬å ±æ¸ éï¼ç±å ¶æ¯é£äºçèµ·æ¥ä¿å¯çï¼å¾æ¥çå ¬åï¼è®°å¾è¦ç¨ç人ä»ç»çå ¬åï¼æè èªå·±ä¸å¯¹æ¹äº²èªè®¤è¯ãåæ ·ä½ ä¹ä¸è¦é便为å«äººç¾å认è¯ä»ä»¬çå ¬åï¼å°±åä½ å¨ç°å®çæ´»ä¸ä¸æ ·ï¼å®¶éçæ¿é¨é¥åä½ æ¯åªä¼äº¤ç»ä¿¡ä»»ç人çã
ä¸é¢ï¼æ讲讲å¦ä½éè¿çµè¯è®¤è¯å¯åãæ¯ä¸ªå¯åæå®ä»¬èªå·±çæ è¯ï¼keyIDï¼ï¼keyIDæ¯ä¸ä¸ªå «ä½åå è¿å¶æ°ï¼ä¸¤ä¸ªå¯åå ·æç¸åkeyIDçå¯è½æ§æ¯å å亿åä¹ä¸ï¼
èä¸PGPè¿æä¾äºä¸ç§æ´å¯é çæ è¯å¯åçæ¹æ³ï¼âå¯åæ纹â(key"s;fingerprint)ãæ¯ä¸ªå¯å对åºä¸ä¸²æ°åï¼åå ä¸ªå «ä½åå è¿å¶æ°ï¼ï¼è¿ä¸ªæ°åéå¤çå¯è½å°±æ´å¾®ä¹å ¶å¾®äºãèä¸ä»»ä½äººæ æ³æå®çæä¸ä¸ªå ·ææ个æ纹çå¯åï¼å¯åæ¯éæºçæçï¼ä»æ纹ä¹æ æ³åæ¨åºå¯åæ¥ãè¿æ ·ä½ æ¿å°æ人çå ¬ååå°±å¯ä»¥åä»å¨çµè¯ä¸æ ¸å¯¹è¿ä¸ªæ纹ï¼ä»è认è¯ä»çå ¬åãå¦æä½ æ æ³åAliceéçµè¯çè¯ï¼ä½ å¯ä»¥åDavidéçµè¯è®¤è¯Davidçå ¬åï¼ä»èéè¿David认è¯äºAliceçå ¬åï¼è¿å°±æ¯ç´æ¥è®¤è¯åé´æ¥ä»ç»çç»åã
è¿æ ·åå¼åºä¸ç§æ¹æ³ï¼å°±æ¯æå ·ä¸å人ç¾åçèªå·±çå ¬åæ¶éå¨ä¸èµ·ï¼åéå°å ¬å ±åºåï¼è¿æ ·å¯ä»¥å¸æ大é¨å人è³å°è®¤è¯å ¶ä¸ä¸ä¸ªäººï¼ä»èé´æ¥è®¤è¯äºä½ çå ¬åãåæ ·ä½ ç¾äºæåçå ¬åååºè¯¥å¯åç»ä»ï¼è¿æ ·å°±å¯ä»¥è®©ä»å¯ä»¥éè¿ä½ è¢«ä½ å ¶ä»æå认è¯ãæç¹ææå§ï¼åç°å®ç¤¾ä¼ä¸äººä»¬ç交å¾ä¸æ ·ãPGPä¼èªå¨ä¸ºä½ æ¾åºä½ æ¿å°çå ¬åä¸æåªäºæ¯ä½ çæåä»ç»æ¥çï¼é£äºæ¯ä½ æåçæåä»ç»æ¥çï¼åªäºåæ¯æåçæåçæåä»ç»çâ¦â¦å®ä¼å¸®ä½ æå®ä»¬å为ä¸åç信任级å«ï¼è®©ä½ åèå³å®å¯¹å®ä»¬çä¿¡ä»»ç¨åº¦ãä½ å¯ä»¥æå®æ人æå å±è½¬ä»å ¬åçè½åï¼è¿ç§è½åæ¯éç认è¯çä¼ éèéåçã
转ä»è®¤è¯æºå¶å ·æä¼ éæ§ï¼è¿æ¯ä¸ªæ趣çé®é¢ãPGPçä½è Phil;Zimmermannã
æå¥è¯ï¼;â;ä¿¡èµä¸å ·æä¼ éæ§ï¼ææ个æç¸ä¿¡å³ä¸æè°çæåãå¯æ¯ä»æ¯ä¸ªè®¤å®æ»ç»ä¸æè°çå»çï¼å¯å¾æ¾ç¶æ并ä¸è®¤ä¸ºæ»ç»å³ä¸æè°ãâ
å ³äºå ¬åçå®å ¨æ§é®é¢æ¯PGPå®å ¨çæ ¸å¿ï¼æå¨è¿éå°±ä¸ç»è¯´äºãåä¼ ç»åå¯åä½ç³»ä¸æ ·ï¼ç§åçä¿å¯ä¹æ¯å³å®æ§çãç¸å¯¹å ¬åèè¨ï¼ç§åä¸åå¨è¢«ç¯¡æ¹çé®é¢ï¼ä½åå¨æ³é²çé®é¢ãRSAçç§åæ¯å¾é¿çä¸ä¸ªæ°åï¼ç¨æ·ä¸å¯è½å°å®è®°ä½ï¼PGPçåæ³æ¯è®©ç¨æ·ä¸ºéæºçæçRSAç§åæå®ä¸ä¸ªå£ä»¤(pass;phase)ãåªæéè¿ç»åºå£ä»¤æè½å°ç§åéæ¾åºæ¥ä½¿ç¨ï¼ç¨å£ä»¤å å¯ç§åçæ¹æ³ä¿å¯ç¨åº¦åPGPæ¬èº«æ¯ä¸æ ·çãæ以ç§åçå®å ¨æ§é®é¢å®é ä¸é¦å æ¯å¯¹ç¨æ·å£ä»¤çä¿å¯ãå½ç¶ç§åæ件æ¬èº«å¤±å¯ä¹å¾å±é©ï¼å ä¸ºç ´è¯è æéè¦çåªæ¯ç¨ç©·ä¸¾æ³è¯æ¢åºä½ çå£ä»¤äºï¼è½è¯´å¾å°é¾ä½æ¯ç«æ¯æ失äºä¸å±å®å ¨æ§ãå¨è¿éåªç¨ç®åå°è®°ä½ä¸ç¹ï¼è¦åä»»ä½éç§ä¸æ ·ä¿èä½ çç§åï¼ä¸è¦è®©ä»»ä½äººææºä¼æ¥è§¦å°å®ã
PGPå¨å®å ¨æ§é®é¢ä¸çç²¾å¿èèä½ç°å¨PGPçå个ç¯èãæ¯å¦æ¯æ¬¡å å¯çå®é å¯åæ¯ä¸ªéæºæ°ï¼å¤§å®¶é½ç¥é计ç®æºæ¯æ æ³äº§ççæ£çéæºæ°çãPGPç¨åºå¯¹éæºæ°ç产çæ¯å¾å®¡æ çï¼å ³é®çéæºæ°åRSAå¯åç产çæ¯ä»ç¨æ·ç§é®ççæ¶é´é´éä¸åå¾éæºæ°ç§åçã对äºç£çä¸ç;randseed.bin;æ件æ¯éç¨åé®ä»¶åæ ·å¼ºåº¦çå å¯çãè¿ææå°é²æ¢äºä»äººä»ä½ çrandseed.binæ件ä¸åæåºä½ çå å¯å®é å¯åçè§å¾æ¥ã
å¨è¿éææä¸ä¸PGPçå å¯åé¢å缩å¤çï¼PGPå æ ¸ä½¿ç¨PKZIPç®æ³æ¥å缩å å¯åçææãä¸æ¹é¢å¯¹çµåé®ä»¶èè¨ï¼å缩åå å¯åç»è¿7bitsç¼ç å¯ææå¯è½æ¯æææ´çï¼è¿å°±èçäºç½ç»ä¼ è¾çæ¶é´ãå¦ä¸æ¹é¢ï¼ææç»è¿å缩ï¼å®é ä¸ç¸å½äºç»è¿ä¸æ¬¡åæ¢ï¼ä¿¡æ¯æ´å æä¹±æ ç« ï¼å¯¹æææ»å»çæµå¾¡è½åæ´å¼ºãPGPä¸ä½¿ç¨çPKZIPç®æ³æ¯ç»è¿åä½è åæçãPKZIPç®æ³æ¯ä¸ä¸ªå ¬è®¤çå缩çåå缩é度é½ç¸å½
好çå缩ç®æ³ãå¨PGPä¸ä½¿ç¨çæ¯PKZIP;2.0çæ¬å ¼å®¹çç®æ³ã
好äºï¼å ³äºPGPå®å ¨æ§çé®é¢æä¼å¨ãPGPçå®å ¨æ§ãä¸æä¸ä¸é¨ä»ç»ãæä¸é¢è®²äºè¿ä¹å¤åªæ¯ä¸ºäºè®©å¤§å®¶ç¥éPGPä¼æ¯é常å®å ¨çï¼åªè¦ä½ èªå·±éµå¾ªæ£ç¡®ç使ç¨æ¹æ³ãå ³äºPGPçå®è£ å使ç¨è¯·åèãPGP;2.6.3içå®è£ ä¸ä½¿ç¨ãä¸æãå¦æå¨çè±æææ¡£æ¶æäºä¸å¤ªæç½çè¯æ±ï¼è¯·è¯è¯è½ä¸è½ä»ãPGPåè¯è§£éãä¸æä¸æ¾å°çº¿ç´¢ãPGP;2.6.3iæ¯ææ¨è大家使ç¨çPGPçæ¬ï¼æå ³è¿ä¸ªçæ¬ç详ç»é®é¢è¯·åè§ãPGPi;é®çéãä¸æã
å¨ä»å¤©çInternetä¸éå¤å¯è§ç¨PGPç¾åçæç« ï¼PGPççæ¬ä¹å¨é£å¿«å°æ´æ°ï¼æ®è¯´PGP;3.0;åæå 个æå°±è¦æ¨åºäºãä¸çä¸è¶æ¥è¶å¤ç人们å¨ä½¿ç¨PGPï¼æ们ä¸å½äººä¹åºè¯¥éè§ä¿æ¤èªå·±åæ³çç§å¯æãæç¿»è¯æ´çè¿å ç¯æç« å°±æ¯ä¸ºäºå¨å½å å®£ä¼ æ¨å¹¿PGPç使ç¨ã尽管å®è¿æ¯ä¸ªæ°çäºç©ï¼å¯æ¯æ们è¦çå°å¨ç½é 空é´ï¼CyberSpaceï¼ä¸å®è¯å®è½è¿ éæé¿èµ·æ¥ï¼ä¸å½è½ç¶èµ·æ¥æï¼ä½æ¯ç¾å½ä¹å·®ä¸å¤ªå¤ï¼æ们åºè¯¥è¿å¤´èµ¶ä¸ã