Hệ thống phần mềm cung cấp chứng chỉ số. q.6a, một hệ thống cung cấp chứng chỉ số theo mô hình sinh khoá tập trung

đang tải dữ liệu....

Nội dung tài liệu: Hệ thống phần mềm cung cấp chứng chỉ số. q.6a, một hệ thống cung cấp chứng chỉ số theo mô hình sinh khoá tập trung

Ch−¬ng tr×nh KC-01: §Ò tµi KC-01-01: Nghiªn cøu khoa häc Nghiªn cøu mét sè vÊn ®Ò b¶o mËt vµ ph¸t triÓn c«ng nghÖ th«ng tin an toµn th«ng tin cho c¸c m¹ng dïng vµ truyÒn th«ng giao thøc liªn m¹ng m¸y tÝnh IP B¸o c¸o kÕt qu¶ nghiªn cøu HÖ thèng phÇn mÒm cung cÊp chøng chØ sè QuyÓn 6A: “Mét hÖ thèng cung cÊp chøng chØ sè theo m« h×nh sinh kho¸ tËp trung” Hµ NéI-2003 B¸o c¸o kÕt qu¶ nghiªn cøu HÖ thèng phÇn mÒm cung cÊp chøng chØ sè QuyÓn 6A: “Mét hÖ thèng cung cÊp chøng chØ sè theo m« h×nh sinh kho¸ tËp trung” Chñ tr× nhãm thùc hiÖn: TS. TrÇn Duy Lai Môc lôc Ch−¬ng I. Cµi ®Æt thiÕt lËp cÊu h×nh cho M¸y CA 1 1-Giíi thiÖu mét sè vÊn ®Ò liªn quan ®Õn c¬ së h¹ tÇng khãa c«ng 1 khai 1.1-C¸c giao thøc qu¶n lý c¬ së h¹n tÇng khãa c«ng khai theo chuÈn 1 X509 1.2-Hå s¬ chøng chØ sè vµ CRL cho c¬ së h¹ tÇng khãa c«ng khai theo 2 chuÈn X509 2-Cµi ®Æt thiÕt lËp cÊu h×nh cho m¸y CA 3 2.1-Cµi ®Æt 3 2.2-ThiÕt lËp cÊu h×nh 4 2.3- M« t¶ c¸c th− môc, tÖp 5 2.3.1-Trong th− môc /MyCA 5 2.3.2-Néi dung th− môc /home/myca/ 6 2.4 C¸c chøc n¨ng trªn m¸y CA 8 3-Khëi t¹o cho CA 9 Ch−¬ng II. LDAP vµ Public Database trong hÖ 17 thèng MyCA 1- LDAP 18 1.1- Giíi thiÖu chung vÒ LDAP 18 1.2- Cµi ®Æt vµ thiÕt lËp cÊu h×nh cho LDAP server 18 1.2.1-Cµi ®Æt LDAP server 18 1.2.2-TÖp cÊu h×nh LDAP server 18 2- Cµi ®Æt vµ thiÕt lËp cÊu h×nh cho Public Database Server 19 2.1-Cµi ®Æt Public Database Server 19 2.2-ThiÕt lËp cÊu h×nh Public Database Server 20 2.2.1-ThiÕt lËp cÊu h×nh LDAP server 20 2.2.2-ThiÕt lËp cÊu h×nh trang publicdatabase trªn Apache 21 2.3-M« t¶ c¸c tÖp th− môc trªn Public Database Server 21 2.4-C¸c chøc n¨ng trªn trang publicdatabase 22 3-Sö dông c¸c chøc n¨ng cña trang giao diÖn Public Database 23 Server 3.1-T¶i c¸c chøng chØ cña CA tõ Public Database Server 24 3.2-T¶i chøng chØ cña ng−êi kh¸c tõ Public Database Server 26 3.3-CËp nhËt CRLs 27 3.3.1- CËp nhËt CRL cho tr×nh duyÖt Netscape 28 3.3.2- CËp nhËt CRL cho Apache Server 31 3.3.3-CËp nhËt CRL cho tr×nh duyÖt Internet Explorer 33 3.3.4-CËp nhËt CRL cho IIS 35 i Ch−¬ng III. Qui tr×nh ph¸t hµnh chøng chØ sè 37 1. B−íc 1: NhËp th«ng tin vÒ ng−êi ®−îc cÊp (Input User's Data) 37 2. B−íc 2: Ký yªu cÇu cÊp chøng chØ sè (Sign Certificate Requests) 40 3. B−íc 3: ChuyÓn ®æi ®Þnh d¹ng cña chøng chØ (Generate PKCS12 42 Certificate) 4. B−íc 4: CÊp chøng chØ cho ng−êi dïng 43 5- B−íc 5: CËp nhËt chøng chØ võa ph¸t hµnh lªn LDAP server 46 6- B−íc 6: In néi dung chøng chØ 47 Ch−¬ng IV. Qui tr×nh huû bá chøng chØ sè 50 1-Qui tr×nh huû bá chøng chØ 50 1.1-Huû bá mét chøng chØ 50 1.2-Ph¸t hµnh CRL vµ cËp nhËt lªn LDAP 51 2-CÊp chøng nhËn huû bá chøng chØ cho ng−êi sö dông 53 2.1-T¶i CRL tõ LDAP server vÒ m¸y CA 53 2.2-In chøng nhËn huû bá cho ng−êi sö dông 56 ii Ch−¬ng I Cµi ®Æt thiÕt lËp cÊu h×nh cho M¸y CA 1-Giíi thiÖu mét sè vÊn ®Ò liªn quan ®Õn c¬ së h¹ tÇng khãa c«ng khai 1.1-C¸c giao thøc qu¶n lý c¬ së h¹n tÇng khãa c«ng khai theo chuÈn X509 PKI ®−îc x©y dùng bao gåm rÊt nhiÒu m« h×nh riªng biÖt vµ viÖc qu¶n trÞ c¸c trong c¸c m« h×nh ®ã lµ kh¸c nhau. Management protocol ®−îc ®−a ra bëi nã cÇn thiÕt ®Ó hç trî c¸c t−¬ng t¸c on-line gi÷a c¸c thµnh phÇn PKI (gi÷a CA vµ hÖ thèng client, gi÷a c¸c CA ph¸t hµnh cross-certificates). Tr−íc khi x¸c ®Þnh râ riªng biÖt c¸c ®Þnh d¹ng message vµ c¸c thñ tôc cho phÇn mÒm PKI chóng ta ph¶i ®i x©y dùng m« h×nh PKI Management: ®Þnh nghÜa c¸c thùc thÓ trong PKI Management vµ t−¬ng t¸c cña chóng. Sau ®ã chóng ta ®i nhãm c¸c tÝnh n¨ng nµy lµm cho phï hîp c¸c kiÓu cã thÓ ®Þnh danh cña c¸c thùc thÓ ®Çu cuèi (end entity). C¸c thùc thÓ ®−îc ®−a ra trong PKI Management bao gåm end entities (vÝ dô, thùc thÓ ®−îc ®Æt tªn trong tr−êng Subject cña certificate) vµ CA (vÝ dô, thùc thÓ ®−îc ®Æt tªn trong tr−êng Issuer cña certificate). D−íi ®©y mét vµi vÝ dô vÒ c¸c ®Þnh nghÜa trong PKI Management. Subjects vµ End Entities Nh− ®· ®Ò cËp ë trªn th× thuËt ng÷ "subject" ®−îc sö dông ë ®©y ®Ó tham chiÕu tíi mét thùc thÓ ®−îc ®Æt tªn trong tr−êng Subject cña mét certificate, khi chóng ta muèn ph©n biÖt gi÷a c¸c c«ng cô hay gi÷a c¸c phÇn mÒm ®−îc sö dông bëi subject ®ã (vÝ dô, mét module qu¶n lý certificate côc bé) ®−îc gäi lµ "subject equipment". Trong tr−êng hîp tæng qu¸t chóng ta sö dông thuËt ng÷ "End Entity" (EE). TÊt c¶ c¸c EEs yªu cÇu b¶o mËt côc bé truy cËp tíi mét sè th«ng tin tèi thiÓu: tªn së h÷u vµ private key, tªn cña CA ®−îc tin cËy bëi thùc thÓ vµ public key cña CA (hoÆc fingerprint cña public key). N¬i l−u tr÷ c¸c th«ng tin nµy cã thÓ thay ®æi, sù thay ®æi nµy tuú thuéc vµo c¸ch cµi ®Æt vµ øng dông (vÝ dô, d¹ng file nh− cryptographic tokens), n¬i nµy ®−îc gäi lµ Personal Security Environment (PSE) cña EE, ®Þnh d¹ng cña PSE n»m ngoµi ph¹m vi cña RFC nµy. Certificate Authority Certificate Authority (CA) lµ mét "third party" thùc sù hoÆc còng cã thÓ kh«ng ph¶i lµ "third party" (®iÒu nµy cho phÐp chóng ta ph©n biÖt RootCA vµ Non- RootCA), CA th−êng thuéc vÒ mét tæ chøc nµo ®ã nh»m môc ®Ých hç trî c¸c EEs. Mét lÇn n÷a chóng ta sö dông thuËt ng÷ CA ®Ó chØ thùc thÓ ®−îc ®Æt tªn trong tr−êng Issuer cña certificate, khi cÇn ph©n biÖt c¸c c«ng cô phÇn cøng hoÆc phÇn mÒm sö dông bëi CA chóng ta ®−a ra thuËt ng÷ "CA equipment". CA equipment bao gåm c¶ 2 thµnh phÇn: on-line vµ off-line (private key cña CA ®−îc coi lµ thµnh phÇn off-line). 1 C¸c yªu cÇu vÒ PKI Management Bao gåm 13 yªu cÇu sau ®©y: • T−¬ng thÝch víi chuÈn ISO 9594-8 vµ c¸c phÇn certificate extensions. • T−¬ng thÝch gi÷a c¸c thµnh phÇn trong c¸c series. • §¬n gi¶n trong vÊn ®Ò cËp nhËt key pair mµ kh«ng ¶nh h−ëng ®Õn key pair kh¸c (trong hÖ thèng). • Sö dông tÝnh tin cËy trong PKI Management protocols ph¶i dÔ dµng c¸c bµi to¸n ®iÒu tiÕt. • Ph¶i t−¬ng thÝch víi c¸c thuËt to¸n m· ho¸ (chuÈn c«ng nghiÖp): RSA, DSA, SHA-1,... • Kh«ng lo¹i trõ viÖc sinh cÆp kho¸ bëi EEs, RAs, CAs. • Hç trî viÖc c«ng khai c¸c certificates (tuú thuéc vµo c¸c cµi ®Æt kh¸c nhau vµ c¸c m«i tr−êng kh¸c nhau). • Hç trî viÖc huû bá certificate cña EEs (CRLs). • Cã thÓ sö dông ®a d¹ng "transport mechanisms": mail, http, TCP/IP vµ ftp. • ChØ cã CA míi cã thÓ thay ®æi hoÆc thªm gi¸ trÞ tr−êng trong certificate, xo¸ hoÆc thay ®æi extension dùa trªn c¸c chÝnh s¸ch ho¹t ®éng cña nã. • Hç trî c«ng viÖc cËp nhËt CA key cho c¸c EEs. • C¸c chøc n¨ng cña RA phô thuéc vµo CA cña nã (c¸c c¸ch cµi ®Æt vµ c¸c m«i tr−êng kh¸c nhau). • Khi EE yªu cÇu mét certificate bao gåm cã c¶ gi¸ trÞ public key, th× ph¶i cã mét gi¸ trÞ private key t−¬ng øng (ký lªn request - Proof of Possession of Private Key). 1.2-Hå s¬ chøng chØ sè vµ CRL cho c¬ së h¹ tÇng khãa c«ng khai theo chuÈn X509 X.509 v3 certificate Nh− ®· biÕt, user cã mét public key sÏ cã mét private key ®−îc së h÷u bëi ®óng subject (ng−êi dïng hoÆc hÖ thèng) víi mét kü thuËt m· ho¸ vµ ch÷ ký sè ®−îc sö dông. TÝnh tin cËy nµy ®−îc sö dông trong c¸c chøng chØ public key (gäi lµ certificate), bÞ rµng buéc bëi ch÷ ký cña CA (trusted CA) víi mét kho¶ng thêi gian sö dông x¸c ®Þnh. Certificate cã thÓ ®−îc ph©n phèi qua c¸c truyÒn th«ng kh«ng cÇn sù tin cËy vµ c¸c hÖ thèng server kh¸c nhau vµ cã thÓ ®−îc l−u trong mét kho kh«ng b¶o mËt trªn hÖ thèng sö dông certificate. ANSI X9 ®· ph¸t triÓn ®Þnh d¹ng X.509 v3 dùa trªn viÖc më réng mét sè tr−êng dù tr÷, c¸c tr−êng nµy bao gåm: th«ng tin ®Þnh danh, th«ng tin vÒ thuéc tÝnh kho¸, th«ng tin vÒ chÝnh s¸ch (policy) hÖ thèng CA vµ c¸c b¾t buéc certification path (tr−êng basicConstraints). Certification paths and trust Mét user cña mét dÞch vô b¶o mËt cã mét public key (cã hiÖu lùc) sÏ cã mét certificate ®−îc chøng nhËn bëi mét CA (ký lªn public key), CA nµy còng cã thÓ ®−îc chøng nhËn bëi mét (hoÆc nhiÒu) CA kh¸c. Do vËy, n¶y sinh kh¸i niÖm vÒ 2 certification path. Trong RFC1422 ®· ®Þnh nghÜa mét cÊu tróc chuçi c¸c CAs mét c¸ch cøng nh¾c, cÊu tróc nµy t−¬ng thÝch víi X.509 v1, gåm cã 3 kiÓu CA lµ: IPRA (Internet Policy Registration Authority), PCAs (Policy Certification Authorities) vµ CAs (Certification Authorities). CÊu tróc nµy cã c¸c h¹n chÕ sau: c¬ chÕ top-down tøc lµ tÊt c¶ c¸c certification paths ph¶i b¾t ®Çu tõ IPRA, quy t¾c ®Æt tªn nh¸nh h¹n chÕ subject cña CA, sö dông kh¸i niÖm PCA tøc lµ yªu cÇu ph¶i biÕt tõng PCAs ®−îc thiÕt lËp trong logic kiÓm tra chuçi certificate. Víi X.509 v3, th× hÇu hÕt c¸c yªu cÇu trªn ®−îc sö dông trong certificate extension, mµ kh«ng cÇn h¹n chÕ c¸c cÊu tróc sö dông CA. Víi cÊu tróc nµy, ®−a ra kiÕn tróc hÕt søc mÒm dÎo cho hÖ thèng CA. Revocation Khi ph¸t hµnh ra mét certificate, nã ®· ®−îc ®Þnh ra mét kho¶ng thêi h¹n sö dông nhÊt ®Þnh. Tuy nhiªn, v× mét sè lý do nµo ®ã mµ ng−êi sö dông muèn huû bá certificate nµy khi ch−a hÕt h¹n sö dông. X.509 ®Þnh nghÜa mét ph−¬ng ph¸p huû bá certificate, ph−¬ng ph¸p nµy cho phÐp c¸c CAs chÊp nhËn huû bá certificate, ®−îc gäi lµ mét CRL (Certificate Revocation List). Danh s¸ch nµy liÖt kª tÊt c¶ c¸c certificate bÞ huû bá (theo sè serial). Khi mét hÖ thèng b¶o mËt sö dông certificate, th× hÖ thèng nµy kh«ng nh÷ng kiÓm tra ch÷ ký cña certificate vµ tÝnh hiÖu lùc cña nã mµ cßn kiÓm tra sù cã mÆt cña serial nµy trong CRL ®ã (tÊt nhiªn lµ CRL nµy ph¶i ®−îc cËp nhËt trªn toµn bé hÖ thèng theo mét ®Þnh kú nµo ®ã). NÕu sè serial nµy cã trong CRL th× coi nh− certificate ®ã ®· bÞ huû bá. CRL cã thÓ ®−îc ph©n phèi qua c¸c truyÒn th«ng kh«ng b¶o mËt vµ c¸c hÖ thèng server (repository). Mét h¹n chÕ cña ph−¬ng ph¸p CRL, ®ã lµ kho¶ng thêi gian ph¸t hµnh CRL lµ kh«ng liªn tôc. Cã thÓ gi¶i quyÕt h¹n chÕ nµy b»ng c¸c ph−¬ng ph¸p trùc tuyÕn (on-line method), ph−¬ng ph¸p nµy cã thÓ ¸p dông trong mét sè m«i tr−êng. Tuy nhiªn, ®Ó sö dông c¸c ph−¬ng ph¸p nµy sÏ ph¶i ®¶m nhiÖm thªm mét sè yªu cÇu míi vÒ b¶o mËt míi. 2-Cµi ®Æt thiÕt lËp cÊu h×nh cho m¸y CA HÖ thèng cung cÊp chøng chØ sè MyCA ®−îc x©y dùng trªn hÖ ®iÒu hµnh RedHat Linux, gåm hai m« h×nh: • M« h×nh cÊp ph¸t, qu¶n lý vµ huû bá chøng chØ, do ng−êi sö dông sinh kho¸ • M« h×nh cÊp ph¸t, qu¶n lý vµ huû bá chøng chØ do trung t©m sinh kho¸ (m« h×nh sinh kho¸ tËp trung) Trong tµi liÖu nµy chóng t«i tr×nh bµy viÖc cµi ®Æt thiÕt lËp,cÊu h×nh vµ khëi t¹o cho m¸y tÝnh thùc hiÖn chøng n¨ng ph¸t hµnh vµ huû bá chøng chØ sè theo m« h×nh tËp trung ®¬n tÇng (kh«ng cã c¸c CA cÊp d−íi). §Ó tiÖn trong viÖc tr×nh bµy, chóng t«i gi¶ sö r»ng m¸y Database server ®· ®−îc cµi ®Æt vµ thiÕt lËp cÊu h×nh (cô thÓ ®−îc tr×nh bµy trong ch−¬ng 2) 2.1-Cµi ®Æt §èi víi c¸c m¸y ®−îc thiÕt lËp lµm m¸y CA (Certificate Authority) tr−íc khi thùc hiÖn viÖc cµi ®Æt cÇn kiÓm tra mét sè yªu cÇu vÒ phÇn mÒm d−íi ®©y: 3 HÖ ®iÒu hµnh RedHat Linux 7.2 Perl phiªn b¶n 5.6.0 hoÆc cao h¬n Apache phiªn b¶n 1.3.12 hoÆc cao h¬n Toµn bé phÇn mÒm MyCA ®−îc l−u trªn mét ®Üa CD ROM. §Ó cµi ®Æt m¸y CA ng−êi thùc hiÖn cã thÓ tiÕn hµnh nh− sau: -Copy tÖp MayCA.tgz tõ ®Üa CD vµo m¸y cÇn thiÕt lËp lµm m¸y CA. -Gì nÐn tÖp MayCA.tgz, bëi lÖnh tar -xvzf /®−êng dÉn/MayCA.tgz ®−îc th− môc MayCA, trong ®ã cã c¸c th− môc: MyCA, vµ myca (trong th− môc nµy cã c¸c th− môc con: cgi-ca, htdocs-ca, cgi-print). -Copy th− môc myca vµo th− môc /home -Copy th− môc MyCA ra ngoµi cïng cña hÖ thèng c©y th− môc 2.2-ThiÕt lËp cÊu h×nh CÊu h×nh Apache server Giao diÖn gi÷a ng−êi qu¶n trÞ vµ ch−¬ng tr×nh trªn m¸y CA ®−îc thùc hiÖn th«ng qua tr×nh duyÖt Netscape, do vËy sau khi cµi ®Æt phÇn mÒm CA ®Ó ch−¬ng tr×nh ho¹t ®éng cÇn thiÕt lËp cÊu h×nh cho ch−¬ng tr×nh CA trªn Apache. ViÖc thiÕt lËp cÊu h×nh ®Ó CA sö dông Apache ®−îc tiÕn hµnh nh− sau: -Trong tÖp cÊu h×nh cña Apache (tÖp httpd.conf trong th− môc /etc/httpd/conf) cÇn bæ sung trang giao diÖn CA trong môc “VirtualHost” nh− sau: DocumentRoot "/home/myca/cgi-print/" ServerName printcert Errorlog logs/print/error_log CustomLog logs/print/access_log common ScriptAlias /cgi-bin/ "/home/myca/cgi-print/" AllowOverride None Options ExecCGI Order allow,deny Allow from all DocumentRoot "/home/myca/htdocs-ca/" ServerName rootca Errorlog logs/ca/error_log CustomLog logs/ca/access_log common ScriptAlias /cgi-bin/ "/home/myca/cgi-ca/" AllowOverride None Options ExecCGI Order allow,deny Allow from all 4 Trong ®ã trang printcert ®−îc sö dông ®Ó in giÊy chøng nhËn cÊp chøng chØ sè cho ng−êi sö dông, vµ trang rootca lµ giao diÖn chÝnh ®Ó ng−êi qu¶n trÞ thùc hiÖn viÖc ph¸t hµnh huû bá chøng chØ. -Trong tÖp /etc/hosts bæ sung thªm c¸c trang trªn: 200.1.1.2 rootca printcert -CÇn t¹o c¸c th− môc: ca, print trong /etc/httpd/logs ®Ó l−u l¹i nhËt ký, th«ng b¸o lçi nÕu ch−¬ng tr×nh xuÊt hiÖn lçi. -Sau khi thùc hiÖn cÊu h×nh xong cÇn khëi ®éng l¹i Apache ®Ó c¸c tham sè míi ®−îc bæ sung cã hiÖu lùc, b»ng c¸ch thùc hiÖn lÖnh sau: /etc/init.d/httpd restart. CÊu h×nh cho MySSL vµ MyCA TÊt c¶ c¸c tham sè cÊu h×nh cho tr×nh MySSL, MyCA t−¬ng øng ®−îc ®Ó trong c¸c tÖp sau /MyCA/conf/myssl.cnf vµ /home/httpd/cgi-ca/ca.conf. HÇu hÕt c¸c tham sè trong hai tÖp nµy cã thÓ dïng chung cho toµn hÖ thèng, tuy nhiªn trong ®ã cã nh÷ng tham sè mµ ®èi víi mçi m¸y CA (c¶ root hoÆc nonroot) cÇn cã sù thay ®æi khi chóng ®−îc thiÕt lËp. Khi mét m¸y CA ®−îc thiÕt lËp, cÇn cã mét cÆp kho¸ ®−îc sinh theo sè ID ®· ®−îc hÖ thèng chÊp nhËn, khi ®ã sè ID d−íi d¹ng thËp ph©n sÏ ®−îc dïng lµm phÇn chÝnh cña tªn tÖp kho¸ còng nh− tªn tÖp chøng chØ cña CA ®ã (gi¶ sö CA ®−îc cÊp ID lµ 01 th× khi khëi t¹o cho CA ®ã tÖp kho¸ sÏ lµ 01.key, tÖp chøng chØ lµ 01.crt). Khi ®ã trong tÖp cÊu h×nh cña MySSL (myssl.cnf) vµ MyCA (ca.conf) cÇn thay ®æi c¸c tham sè sau: -Trong tÖp myssl.cnf vµo phÇn [CA-default] thay ®æi hai thuéc tÝnh chøng chØ vµ private_key thµnh: certificate = $dir/01.crt private_key=$dir/private/01.key -T−¬ng tù trong tÖp ca.conf cÇn thay ®æi hai thuéc tÝnh cacert vµ cakey vµ thuéc tÝnh chØ ®Þa chØ cña m¸y public database server: cacert “/MyCA/01.crt” cakey “/MyCA/private/01.key” ldapserver 200.1.1.1 2.3- M« t¶ c¸c th− môc, tÖp 2.3.1-Trong th− môc /MyCA Trong th− môc /MyCA chøa cÊu tróc th− môc ®Ó qu¶n lý c¸c yªu cÇu cÊp chøng chØ, chøng chØ vµ c¸c tÖp c¬ s¬ d÷ liÖu cho CA bao gåm mét sè th− môc con sau: Tªn th− môc/File M« t¶ /MyCA/certs/new Th− môc l−u c¸c chøng chØ võa ®−îc ph¸t hµnh 5 /MyCA/chain Th− môc l−u tÖp chain.crt /MyCA/conf Th− môc l−u tÖp cÊu h×nh cho tr×nh MySSL /MyCA/crl/new Th− môc l−u tÖp CRL khi CA ph¸t hµnh /MyCA/dB Th− môc l−u c¸c tÖp d÷ liÖu trong ®ã l−u tr÷ c¸c chøng chØ (CA, User). /MyCA/inbound/certs Th− môc l−u c¸c tÖp chøng chØ cÊp cho CA /MyCA/inbound/deleted Th− môc l−u c¸c yªu cÇu cña c¸c CA tÇng d−íi trong qu¸ tr×nh cÊp chøng chØ cho CA t−¬ng øng víi tÖp yªu cÇu ®ã tiÕn hµnh kh«ng thµnh c«ng. /MyCA/inbound/processed Th− môc l−u c¸c tÖp yªu cÇu t−¬ng øng víi c¸c chøng chØ ®· ®−îc cÊp cho c¸c CA cÊp d−íi. /MyCA/inbound/reqs Th− môc l−u c¸c tÖp yªu cÇu cña c¸c CA cÊp d−íi. /MyCA/private Th− môc l−u tÖp kho¸ cña CA (®· ®−îc m· ho¸) /MyCA/reqs/pending Th− môc l−u c¸c tÖp yªu cÇu /MyCA/reqs/processed Th− môc l−u c¸c chøng chØ ®· xö lý thµnh c«ng /MyCA/reqs/deleted Th− môc l−u c¸c tÖp yªu cÇu ®· ®−îc xö lý nh−ng kh«ng thµnh c«ng. /MyCA/tmp Th− môc dïng ®Ó l−u c¸c th«ng tin trung gian khi ch−¬ng tr×nh thùc hiÖn. /MyCA/stuff Th− môc l−u c¸c tÖp th«ng tin liªn quan ®Õn qu¸ tr×nh CA ph¸t hµnh chøng chØ vµ CRL, gåm nh÷ng tÖp sau: index.txt §©y lµ tÖp chøa mét sè th«ng tin tãm l−îc vÒ c¸c chøng chØ ®· ®−îc ph¸t hµnh vµ tr¹ng th¸i cña nã (NÕu chøng chØ nµo cã tr¹ng th¸i lµ V (validate) th× nã ®ang cã hiÖu lùc, ng−îc nÕu lµ R (Revocation) th× chøng chØ ®ã ®· bÞ huû bá). serial Néi dung cña tÖp nµy lµ mét sè d−íi d¹ng hexa, khi ph¸t hµnh ra mét chøng chØ sè serial cña chøng chØ ®ã sÏ lµ néi dung ®äc ra tõ tÖp serial. Th− môc /MyCA/user L−u kho¸, chøng chØ cña ng−êi sö dông (theo tõng sè ID) 2.3.2-Néi dung th− môc /home/myca/ Trong th− môc nµy l−u toµn bé c¸c tÖp ch−¬ng tr×nh vµ c¸c tiÖn Ých chÝnh thùc hiÖn c¸c chøc n¨ng cña CA. Cô thÓ d−íi ®©y lµ b¶ng liÖt kª danh s¸ch c¸c tÖp vµ chøc n¨ng cña chóng. Tªn th− môc vµ file Chøc n¨ng 1. Th− môc /home/httpd/cgi-ca ca TÖp ch−¬ng tr×nh chÝnh ®Ó thùc hiÖn c¸c chøc n¨ng ®−îc gäi tõ form chÝnh cña CA ca.conf TÖp cÊu h×nh cho CA 6 2. Th− môc /home/httpd/cgi-ca/bin make TiÖn Ých dïng ®Ó t¹o c¸c tÖp link myca-sign, myca-verify, C¸c tiÖn Ých dïng ®Ó ký mét chuçi d÷ liÖu, kÕt qu¶ ®Çu myca-sv ra lµ mét tÖp PKCS#7, kiÓm tra ch÷ ký trªn tÖp PKCS#7 myssl TiÖn Ých thùc hiÖn hÇu hÕt c¸c chøc n¨ng cña CA pvkh TiÖn Ých dïng ®Ó m· ho¸, gi¶i m· tÖp kho¸ bÝ mËt cña CA 3. Th− môc /home/httpd/cgi-ca/cmds genCADB TÖp ch−¬ng tr×nh thùc hiÖn khëi t¹o c¬ së d÷ liÖu perl cho CA. genCRL TÖp ch−¬ng tr×nh t¹o tÖp CRL initLDAP TÖp ch−¬ng tr×nh khëi t¹o entry l−u CRL vµ chøng chØ cña CA trªn LDAP server issueCerrtificate TÖp ch−¬ng tr×nh ph¸t hµnh ®¬n lÎ mét chøng chØ revokeCertificate TÖp ch−¬ng tr×nh thùc hiÖn huû bá mét chøng chØ SignCACerts TÖp ch−¬ng tr×nh ph¸t hµnh c¸c chøng chØ cho c¸c CA tÇng d−íi Signing TÖp ch−¬ng tr×nh ph¸t hµnh c¸c chøng chØ cho ng−êi sö dông. updateCRL TÖp ch−¬ng tr×nh cËp nhËt CRL sang LDAP 4. Th− môc /home/httpd/cgi-ca/Convert vµ /home/httpd/cgi-ca/Net Th− môc l−u c¸c module phôc vô cho c¸c chøc n¨ng cã liªn quan ®Õn LDAP 5. Th− môc /home/httpd/cgi-ca/MainModule Th− môc l−u c¸c module thuéc hÖ thèng MyCA 6. Th− môc /home/httpd/cgi-ca/lib Th− môc l−u c¸c th− viÖn gåm c¸c hµm ®−îc x©y dùng trªn c¬ së hai module trªn 7. Th− môc /home/httpd/sheets Th− môc l−u c¸c tÖp html thùc hiÖn viÖc hiÓn thÞ c¸c form trong ch−¬ng tr×nh 8. Th− môc /home/httpd/htdocs-ca index.html HiÓn thÞ giao diÖn chÝnh cña CA init.html Trang giao diÖn Initialzation main.html, navbar.html vµ C¸c thµnh phÇn t¹o nªn giao diÖn chÝnh (logo, menu top.html chÝnh, tiªu ®Ò) pwd.html Giao diÖn nhËn mËt khÈu sign.html Trang giao diÖn ph¸t hµnh c¸c chøng chØ IssueCRL Giao diÖn ph¸t hµnh CRL míi 9. Th− môc /home/httpd/htdocs-ca/images Th− môc l−u c¸c tÖp ¶nh. 10. Th− môc /home/httpd/htdocs-ca/scripts Th− môc l−u c¸c tÖp javascript phôc vô cho viÖc thiÕt lËp giao diÖn. 7 2.4 C¸c chøc n¨ng trªn m¸y CA Trªn m¸y CA gåm cã c¸c chøc n¨ng chÝnh sau: • Môc Initilization: Tªn môc, chøc n¨ng M« t¶ chøc n¨ng chÝnh 1.Initilize local perl Database Khëi t¹o c¬ së d÷ liÖu trªn m¸y CA ®Ó l−u c¸c chøng chØ ®· ph¸t hµnh, ®· huû bá 2.Generate Root CA Key Pair Sinh cÆp kho¸ vµ chøng chØ tù ký cho Root CA and Selft Sign Certificate 3.Export Root CA certificate T¹o CRL rçng (ch−a cã chøng chØ bÞ huû bá), and empty CRL to LDAP export CRL rçng vµ chøng chØ cña Root CA ra LDAP • Môc Process Cert Request Tªn môc,chøc n¨ng M« t¶ chøc n¨ng chÝnh Input User's Data NhËp th«ng tin vÒ ng−êi sö dông ®−îc cÊp chøng chØ Signing certificate requests gåm c¸c chøc n¨ng sau: 1.Sign nonRoot CA request files Ph¸t hµnh c¸c chøng chØ sö dông cho nonRoot CA trong hÖ thèng (trong tr−êng hîp hÖ th«ng ¸p dông Ca nhiÒu cÊp). 2.Sign user's request files Ph¸t hµnh c¸c chøng chØ cho ng−êi sö dông Create PKCS#12 Certificate ChuyÓn ®æi ®Þnh d¹ng chøng chØ vµ kho¸ cña ng−êi sö dông sang d¹ng PKCS12 Pending Requests List HiÓn thÞ danh s¸ch c¸c yªu cÇu cÊp chøng chØ cña ng−êi sö dông chua ®−îc ký. • Môc Certificates Tªn môc, chøc n¨ng M« t¶ chøc n¨ng chÝnh Issued Certificates HiÓn thÞ danh s¸ch c¸c chøng chØ ®· ®−îc ph¸t hµnh Export Certificates to LDAP CËp nhËt c¸c chøng chØ ®· ®−îc ph¸t hµnh lªn LDAP server. • Môc CRL Tªn môc, chøc n¨ng M« t¶ chøc n¨ng chÝnh Revoke a certificate by administrator Thùc hiÖn huû bá mét chøng chØ sè Issue New CRL Ph¸t hµnh CRL míi. Udate current CRL to LDAP server CËp nhËt CRL hiÖn hµnh ra LDAP server 8 3-Khëi t¹o cho CA Sau khi thùc hiÖn vµ thiÕt lËp cÊu h×nh cho m¸y CA, ®Ó kÝch ho¹t giao diÖn cña ch−¬ng tr×nh MyCA, ng−êi qu¶n trÞ ch¹y tr×nh duyÖt Netscape, më trang rootca, giao diÖn chÝnh xuÊt hiÖn nh− h×nh 1 H×nh 1 §Ó thùc hiÖn khëi t¹o cho m¸y CA chän chøc n¨ng Root CA initilization, trªn mµn h×nh Netscape xuÊt hiÖn trang MyCA RootCA Init gåm ba chøc n¨ng nh− h×nh 2. H×nh 2 9 • B−íc 1: "Initialize local perl Database" Khëi t¹o c¬ së d÷ liÖu dïng ®Ó l−u c¸c chøng chØ trªn chÝnh m¸y m¸y CA, khi chän chøc n¨ng nµy c¸c tÖp d÷ liÖu dïng ®Ó l−u tr÷ c¸c chøng chØ cña ng−êi sö dông ®−îc khëi t¹o. Qu¸ tr×nh khëi t¹o kÕt thóc khi trªn mµn h×nh xuÊt hiÖn th«ng b¸o: H×nh 3 • B−íc 2: "Generate Root CA key pair and self sign certificate" Thùc hiÖn sinh tÖp kho¸ vµ tÖp chøng chØ tù ký (self sign certificate) cho m¸y CA. Khi chän chøc n¨ng nµy trªn mµn h×nh xuÊt hiÖn hép héi tho¹i khuyÕn c¸o nh− h×nh 4. H×nh 4 Ng−êi qu¶n trÞ chän "OK", trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 5 10 H×nh 5 Ng−êi qu¶n trÞ nhËp sè ID hÖ thèng MyCA cÊp cho m¸y CA ®ang thiÕt lËp, råi nhÊn "OK", trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 6. H×nh 6 Ng−êi qu¶n trÞ nhËp vµo ®Þa chØ Email (còng cã thÓ ®Ó trèng), nhÊn "OK", trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 7. H×nh 7 Ng−êi qu¶n trÞ nhËp tªn cña CA (còng cã thÓ ®Ó trèng), nhÊn “OK”, trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 8. H×nh 8 11 Ng−êi qu¶n trÞ nhËp tªn cña ngµnh ®ang ®−îc thiÕt lËp hÖ thèng CA (ch¼ng h¹n Root CA ®ang ®−îc thiÕt lËp cho Ban C¬ YÕu ch¼ng h¹n), tr−êng nµy còng cã thÓ bá trèng, nhÊn “OK”, trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 9. H×nh 9 Tr−êng Organization Name b¾t buéc ph¶i cã vµ gi¸ trÞ mÆc ®Þnh cña tr−êng nµy lµ MyCA Group, nÕu ng−êi qu¶n trÞ muèn thay ®æi tr−êng nµy (hoÆc tr−êng Country) th× khi thiÕt lËp tÖp cÊu h×nh cho LDAP server cÇn thay ®æi hai tr−êng nµy trong thuéc tÝnh suffix cho t−¬ng øng. Tèt nhÊt lµ ng−êi qu¶n trÞ gi÷ nguyªn gi¸ trÞ mÆc ®Þnh, nhÊn “OK”, hép héi tho¹i nhËn tr−êng country xuÊt hiÖn víi gi¸ trÞ mÆc ®Þnh cña tr−êng nµy lµ VN. H×nh 10 Còng t−¬ng tù nh− tr−êng Organization Name, tr−êng Country còng lµ tr−êng yªu cÇu ph¶i cã, víi gi¸ trÞ mÆc ®Þnh lµ “VN” ng−êi qu¶n trÞ cã thÓ nhÊn “OK”, trªn mµn h×nh xuÊt hiÖn hép héi tho¹i nh− h×nh 11. 12 H×nh 11 Ng−êi qu¶n trÞ nhËp mét chuçi cã ®é dµi tèi thiÓu lµ 8 ký tù, ®Ó lµm mÇm kho¸ khi thùc hiÖn m· ho¸ tÖp kho¸ cña CA b»ng thuËt to¸n m· dßng. Chó ý, ng−êi qu¶n trÞ cÇn nhí kü chuçi ®· nhËp vµo, v× mçi khi CA cÇn ph¸t hµnh mét chøng chØ hay mét CRL míi th× ng−êi qu¶n trÞ cÇn nhËp kho¸ nµy vµo ®Ó ch−¬ng tr×nh thùc hiÖn viÖc gi¶i m· tÖp kho¸ cña CA. Sau khi nhËp kho¸, nhÊn “OK” qu¸ tr×nh sinh tÖp kho¸ vµ tÖp chøng chØ tù ký b¾t ®Çu, qu¸ tr×nh nµy sÏ kÕt thóc khi trªn mµn h×nh hiÓn thÞ néi dung cña chøng chØ võa ®−îc sinh. H×nh 12 Sau khi thùc hiÖn qu¸ tr×nh khëi t¹o cho Root CA, sÏ xuÊt hiÖn tÖp kho¸ 01.key (trong th− môc /MyCA/private) ®· ®−îc m· ho¸ b»ng thuËt to¸n m· dßng, vµ tÖp chøng chØ 01.crt (trong th− môc /MyCA) nÕu ng−êi qu¶n trÞ hiÓn thÞ tÖp nµy trªn mµn h×nh text nã sÏ cã d¹ng d−íi ®©y (®Þnh d¹ng PEM): -----BEGIN CERTIFICATE----- MIICazCCAdSgAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMSUwIwYJKoZIhvcNAQkB FhZSb290Q0FUYW5nYmFAeWFob28uY29tMQ8wDQYDVQQDEwZSb290Q0ExDDAKBgNV 13 BAsTA0JDWTETMBEGA1UEChMKTXlDQSBHcm91cDELMAkGA1UEBhMCVk4wHhcNMDIw OTA1MDIwNzE4WhcNMDQwOTA0MDIwNzE4WjBoMSUwIwYJKoZIhvcNAQkBFhZSb290 Q0FUYW5nYmFAeWFob28uY29tMQ8wDQYDVQQDEwZSb290Q0ExDDAKBgNVBAsTA0JD WTETMBEGA1UEChMKTXlDQSBHcm91cDELMAkGA1UEBhMCVk4wgZ4wDQYJKoZIhvcN AQEBBQADgYwAMIGIAoGAQAAIAADgAAoAAGABkBmaBuw0As8qi6ToubbX58N3Zmf4 0Kf6QVylmxKkHhNx/jZ7nYAmJEAAep4ugZz3XHebDym5Pi9vjLCEfTc7fg3796WY qlgjDqTD+tmQEAhorN0jv4E4qhW9rjqBPNAf5cdzRpSjh+tfibbDCUE6RkR2SJsC AwEAAaMmMCQwDwYDVR0TAQH/BAUwAwEB/zARBglghkgBhvhCAQEEBAMCAAcwDQYJ KoZIhvcNAQEFBQADgYEAPmDw/qn2T7G9mx/w2QqCWq5ga+bJsVodcnzRCrgJ9Cq2 lja5SugyDG/t8vW5sb+zBj609ayZY+CzRb7qhddy3tdoDP1Z7pSt9aS1eSeWC6Jb WC5l57o2myromOCitcQBoGR1TrLeEGYwvoZ1BCjer2/ksLm15qyWed6d79+IqDc= -----END CERTIFICATE----- NÕu chuyÓn ®æi sang d¹ng text néi dung cña chøng chØ cã d¹ng nh− sau: Certificate: Data: Version: 3 (0x2) Serial Number: 0 (0x0) Signature Algorithm: sha1WithRSAEncryption Issuer: [email protected], CN=RootCA, OU=BCY, O=MyCA Group, C=VN Validity Not Before: Sep 5 02:07:18 2002 GMT Not After : Sep 4 02:07:18 2004 GMT Subject: [email protected], CN=RootCA, OU=BCY, O=MyCA Group, C=VN Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1023 bit) Modulus (1023 bit): 40:00:08:00:00:e0:00:0a:00:00:60:01:90:19:9a: 06:ec:34:02:cf:2a:8b:a4:e8:b9:b6:d7:e7:c3:77: 66:67:f8:d0:a7:fa:41:5c:a5:9b:12:a4:1e:13:71: fe:36:7b:9d:80:26:24:40:00:7a:9e:2e:81:9c:f7: 5c:77:9b:0f:29:b9:3e:2f:6f:8c:b0:84:7d:37:3b: 7e:0d:fb:f7:a5:98:aa:58:23:0e:a4:c3:fa:d9:90: 10:08:68:ac:dd:23:bf:81:38:aa:15:bd:ae:3a:81: 3c:d0:1f:e5:c7:73:46:94:a3:87:eb:5f:89:b6:c3: 09:41:3a:46:44:76:48:9b Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE Netscape Cert Type: SSL CA, S/MIME CA, Object Signing CA Signature Algorithm: sha1WithRSAEncryption 3e:60:f0:fe:a9:f6:4f:b1:bd:9b:1f:f0:d9:0a:82:5a:ae:60: 6b:e6:c9:b1:5a:1d:72:7c:d1:0a:b8:09:f4:2a:b6:96:36:b9: 4a:e8:32:0c:6f:ed:f2:f5:b9:b1:bf:b3:06:3e:b4:f5:ac:99: 63:e0:b3:45:be:ea:85:d7:72:de:d7:68:0c:fd:59:ee:94:ad: f5:a4:b5:79:27:96:0b:a2:5b:58:2e:65:e7:ba:36:9b:2a:e8: 98:e0:a2:b5:c4:01:a0:64:75:4e:b2:de:10:66:30:be:86:75: 04:28:de:af:6f:e4:b0:b9:b5:e6:ac:96:79:de:9d:ef:df:88: a8:37 Néi dung cña mét chøng chØ gåm hai phÇn nh− sau. 14 -PhÇn data gåm c¸c tr−êng chÝnh sau: • Version: phiªn b¶n chuÈn X509. • Serial Number: Sè serial cña chøng chØ, ®èi víi chøng chØ cña Root CA (silf sign certificate) tr−êng nµy bao giê còng cã gi¸ trÞ lµ 0. (§Ó chØnh l¹i ®Æc ®iÓm nµy phô thuéc vµo tr×nh myssl) • Signature Algorithm: Tªn hµm b¨m vµ thuËt to¸n ký (ë ®©y lµ SHA1 vµ RSA) • Issuer: Tr−êng nµy chøa Distinguished Name (Email, CN, OU...) cña ®èi t−îng ký chøng chØ nµy, ë ®©y ta thÊy néi dung cña Issuer hoµn toµn gièng néi dung trong tr−êng Subject lµ bëi v× chøng chØ nµy ®−îc ký bëi chÝnh nã. • Validity: Tr−êng nµy chøa kho¶ng thêi gian mµ chøng chØ nµy cã hiÖu lùc • Subject: Distinguished Name cña ®èi t−îng ®−îc cÊp chøng chØ. • X509v3 extentions: phÇn më réng theo chuÈn x509V3. -PhÇn ch÷ ký: gåm cã th«ng tin vÒ thuËt to¸n hµm b¨m vµ thuËt to¸n ký cïng néi dung cña ch÷ ký sè. • B−íc 3: "Export Root CA certificate and empty CRL to LDAP" Sau khi thùc hiÖn sinh xong chøng chØ tù ký cho CA, b−íc cuèi cïng trong qui tr×nh khëi t¹o cho CA lµ: sinh ra mét tÖp “empty” CRL, ®©y lµ tÖp CRL ®Çu tiªn khëi t¹o cho toµn bé hÖ thèng thuéc CA nµy qu¶n lý, göi “empty” CRL vµ chøng chØ tù ký cña CA lªn LDAP server. Khi sö dông chøc n¨ng “Export Root CA certificate and empty CRL to LDAP”, hép héi tho¹i xuÊt hiÖn nh− h×nh 13. H×nh 13 Chän “OK” trªn mµn h×nh xuÊt hiÖn hép héi tho¹i yªu cÇu nhËp thêi h¹n cÇn cËp nhËt CRL tiÕp theo nh− h×nh 14 15 H×nh 14 Sau khi nhËp thêi gian (®¬n vÞ lµ ngµy) nhÊn “OK”, trªn mµn h×nh xuÊt hiÖn hép héi tho¹i yªu cÇu nhËp mËt khÈu dïng lµm kho¸ gi¶i m· tÖp kho¸ cña CA xuÊt hiÖn nh− h×nh 11, ng−êi qu¶n trÞ nhËp mËt khÈu vµ nhÊn “OK”, tiÕn tr×nh thùc hiÖn sÏ kÕt thóc khi trªn mµn h×nh cã th«ng b¸o nh− h×nh 15 d−íi ®©y. H×nh 15 Qu¸ tr×nh khëi t¹o cho m¸y m¸y CA kÕt thóc. Sau khi qu¸ tr×nh khëi t¹o kÕt thóc, ngoµi tÖp kho¸ ®· ®−îc m· ho¸ vµ tÖp chøng chØ cña CA nh− chóng t«i ®· tr×nh bµy ë trªn, ch−¬ng tr×nh cßn t¹o ra c¸c tÖp chain.crt, RootCA.crt trong /MyCA/chain ®Ó phôc vô cho viÖc x©y dùng chuçi chøng chØ trong tr−êng hîp thiÕt lËp hÖ thèng gåm nhiÒu cÊp CA vµ tÖp CRL 01_cacrlpem.crl (trong th− môc /MyCA/crl/new) lµ tÖp “empty” CRL (ch−a hÒ cã mét chøng chØ nµo bÞ huû bá). 16

Tìm luận văn, tài liệu, khoá luận - 2024 © Timluanvan.net