Управление на обекти в RIPE DB чрез X.509 идентификация

Версия 1.1.1, 18 юни 2008

Веселин Колев, Софийски Университет "Св. Климент Охридски"

Адрес за кореспонденция: vesso AT vesselin.org

Първоизточник: http://www.vesselin.org

Лиценз на документа: CC Attribution-ShareAlike

 

Съдържание:

  1. Създаване на mntner обект за защита на обекта за X.509 сертификата

  2. Създаване на key-cert обект за X.509 сертификат

  3. Промяна на метода за удостоверяване, зададен в mntner обекта защитаващ key-cert обекта

  4. Създаване и електронно подписване на шаблони за управление на обекти и изпращането им като заявка към RIPE DB

  5. Предишни версии на публикацията

 

Забележка. Създаването на mntner и key-cert обектите става чрез услугата syncupdate-minimal на RIPE, която е достъпна на адрес:

https://www.ripe.net/db/syncupdates/syncupdate-minimal.html

Важна и полезна особеност на тази услуга е, че съобщава статуса на изпращаната към базата данни на RIPE промяна, веднага след изпращането на заявката.

 

1. Създаване на mntner обект за защита на обекта за X.509 сертификата

Когато в RIPE DB се създава обект key-cert, той трябва да има попълнено поле mnt-by, за да може да бъде защитен от евентуална промяна от страна на произволен потребител на базата. Следователно хронологично първо трябва да се създаде mntner обект за защита на обекта от тип key-cert и след това последния да бъде създаден. Така още от създаването си обектът ще бъде заключен за несанкционирани промени.

Първоначално mntner обекта ще бъде защитен с парола, за която трябва да бъде пресметнат MD5 хеш, във формата, в който този хеш се използва в системата за удостоверяване на потребителите в UNIX (в Linux така се хешират паролите в /etc/shadow). Това може да стане по два начина:

 

За примера по-долу ще се предполага, че пресметнатият и форматиран хеш има стойността:

$1$dLtHNram$MWTlIjg7PPdfVCOv3AL1g0

След като бъде изчислен хеша на паролата, в текстовото поле за въвеждане на информация на услугата syncupdate-minimal, се съставя шаблона за изграждане на mntner обекта:

 

Въвеждане на шаблона за изграждане на mntner обекта

 

За да се изпрати заявката към базата данни, се натиска бутона "Submit Query". Съобщението за успешно изпълнена заявка за изграждане на mntner обект има вида:

 - From-Host: 62.44.127.1
 - Date/Time: Wed Sep  9 09:12:04 2006


SUMMARY OF UPDATE:

Number of objects found:                   1
Number of objects processed successfully:  1
  Create:         1
  Modify:         0
  Delete:         0
  No Operation:   0
Number of objects processed with errors:   0
  Create:         0
  Modify:         0
  Delete:         0
  Syntax Errors:  0


DETAILED EXPLANATION:
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following object(s) were processed SUCCESSFULLY:
      

---
Create SUCCEEDED: [mntner] TEST007-MNT

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

For assistance or clarification please contact:
RIPE Database Administration <ripe-dbm@ripe.net>

 

2. Създаване на key-cert обект за X.509 сертификат

При създаването на key-cert обект, трябва този, който го създава, да разполага с Base64 форматирано копие на X.509 сертификата. Този формат е известен още като PEM. Често X.509 сертификатите се пазят в бинарния формат DER. За да се конвертира даден X.509 сертификат от DER към PEM формат, може да се използва инструмента openssl от пакета OpenSSL (http://www.openssl.org). Ето един пример как да стане това, ако сертификатът се намира във файла cert.der:

$ openssl x509 -inform DER -in cert.der -outform PEM -out cert.pem

След изпълнението на този команден ред, във файла cert.pem ще се намира PEM (Base64) форматирано копие на X.509 сертификата.

За да може PEM форматирания сертификат от файла cert.pem да се изпрати за запис в базата на RIPE, трябва съдържанието на файла да се форматира. Формарирането засяга всеки ред на файла и се състои в поставянето на символния низ certif: в началото на всеки ред. Ето един кратък команден ред (bash скрипт), който чете файла cert.pem, прибавя "certif: " в началото на всеки ред и резултата записва във файла cert.pem.ripe:

$ while read line; do echo "certif: ${line}" >> cert.pem.ripe; done < cert.pem

Резултатът от изпълнението на командния ред, който се намира във файла cert.pem.ripe е във вида:

certif: -----BEGIN CERTIFICATE-----
certif: MIIHMDCCBRigAwIBAgIBETANBgkqhkiG9w0BAQUFADCByzELMAkGA1UEBhMCQkcx
certif: DjAMBgNVBAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEZMBcGA1UEChMQT3Blbklu
certif: dGVncmEgTHRkLjEqMCgGA1UECxMhT3BlbkludGVncmEgQ2VydGlmaWNhdGUgQXV0
certif: aG9yaXR5MTIwMAYDVQQDEylPcGVuSW50ZWdyYSBDZXJ0aWZpY2F0ZSBmb3IgU3Rh
certif: ZmYgU2lnbmluZzEhMB8GCSqGSIb3DQEJARYSY2FAb3BlbmludGVncmEuY29tMB4X
certif: DTA1MTAxMjE0NTk0M1oXDTA2MTAxMjE0NTk0M1owgaIxCzAJBgNVBAYTAkJHMQ4w
certif: DAYDVQQIEwVTb2ZpYTEOMAwGA1UEBxMFU29maWExGDAWBgNVBAoTD09wZW5JbnRl
certif: Z3JhIFBMQzEaMBgGA1UECxMRT3BlbkludGVncmEgU3RhZmYxFzAVBgNVBAMTDlZl
certif: c3NlbGluIEtvbGV2MSQwIgYJKoZIhvcNAQkBFhV2ZXNzb0BvcGVuaW50ZWdyYS5j
certif: b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6mLE2Nf+Ofyvee/Rk
certif: 8oLhqo28nZcuMpoLIOSM3sgx85skn4JmrLQnSgxjWRGKujQXKWNkRk4peHnpZZlZ
certif: 2ORNXW7fI+wpmAu+GuGeYjLRJdtWoYXUqdbic+aj9Zg27OU3t9H62kiwFIV1RJfO
certif: b/d213xz1vGFEbRJnoa3zNtiyTDK6MdCTT5e5yog1bx5Ca3ve/x+heMScMd0uZTy
certif: lDxYjBD7e0Gn/vxbnPm0OZdaDRPFrgD/n2aPAhsdQqS/CX4UX+HCE7a+miopQRR2
certif: Dw/SgvjZ5TsnQs3tC7aws+1HWEv0xrjRwrvYGwJea/Bnt1HRBe355Tv7fcfdCsu4
certif: 3ukBAgMBAAGjggJEMIICQDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIDuDAdBgNVHSUE
certif: FjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEQYJYIZIAYb4QgEBBAQDAgSwMCwGCWCG
certif: SAGG+EIBDQQfFh1PcGVuSW50ZWdyYSBTdGFmZiBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
certif: FgQUBjWEBfHaB2MxsN7K/CI8c+OuqVkwgesGA1UdIwSB4zCB4IAUdZeMNUNAaup6
certif: LbzYCWwuLB3fFTmhgcSkgcEwgb4xCzAJBgNVBAYTAkJHMQ4wDAYDVQQIEwVTb2Zp
certif: YTEOMAwGA1UEBxMFU29maWExGTAXBgNVBAoTEE9wZW5JbnRlZ3JhIEx0ZC4xKjAo
certif: BgNVBAsTIU9wZW5JbnRlZ3JhIENlcnRpZmljYXRlIEF1dGhvcml0eTElMCMGA1UE
certif: AxMcT3BlbkludGVncmEgUm9vdCBDZXJ0aWZpY2F0ZTEhMB8GCSqGSIb3DQEJARYS
certif: Y2FAb3BlbmludGVncmEuY29tggEDMEIGCWCGSAGG+EIBBAQ1FjNodHRwOi8vY2Eu
certif: b3BlbmludGVncmEuY29tL2NybHMvb3BlbmludGVncmEtcm9vdC5jcmwwQwYJYIZI
certif: AYb4QgEDBDYWNGh0dHA6Ly9jYS5vcGVuaW50ZWdyYS5jb20vY3Jscy9vcGVuaW50
certif: ZWdyYS1zdGFmZi5jcmwwMAYJYIZIAYb4QgEIBCMWIWh0dHA6Ly9jYS5vcGVuaW50
certif: ZWdyYS5jb20vcG9saWN5LzANBgkqhkiG9w0BAQUFAAOCAgEACEfpsIoShWyta8QM
certif: tXgiLG+4zVRzNLj+c/G55qSlCGtZQx3wUOE+KIt/0YN3N60kHzyfsAtc5kCvdBkS
certif: BV3Ni0moSgIk8TwUTzBFIBIPHVGczeYkMzmkhmlhevZ1jmTsqafMMCUFbydOLEX8
certif: zDmoATrS42ezDHCHQxlHmsgLXzk3LsOfO5fhdYTcLM4KpmhKRRMddKiPwdPdO4/6
certif: FQ+YexiXQJ+VG7kuzvZreTWZH1J7ZLOkZ6i3UH7k8ssMlL6+xJ8WSV3aWjEood3r
certif: OzYJ0vKWQNtO7tzZ6hwMKqlXpm8/7sZfIr3vhlPO0len1k8K1XiAeD3bvlULR3WK
certif: 7xJ+fI/VA1ptBwR5rbAai9aoe8Nkl+az9TnVU9ixpAonJJq45fzCi8nVyqe8a6jA
certif: xHROKFUD6+YM3EF0ClPMxQC6NfvXlZPV0YZES3/9nyBZF8B54qf+R6JCmEsWG6MG
certif: towSg9sSIAZfypKamyQkw5+9OjH7w8Yrdhb3pByKEIlFM+Vpa6bKdLSyZpGJgWX2
certif: TSqUQ13SrbMNKq7Yz4t9furit5jyespVNHgBaGTKvyAZ5ulOYpZ6F1eUPaIRH4KM
certif: l6cLgDb1c3meULPa2+EjS/SOfOoz2K14TAA4UQybkaRktZsVimNRch7ozkvbwtBk
certif: FddfkJ2FLQwqYcpO9yFhUX2DI4Y=
certif: -----END CERTIFICATE-----

За да може този блок да се изпрати като заявка за изграждане на key-cert обект в RIPE DB, трябва да се прибави поне минималния набор служебни полета. Ето един пример за това (предполага се, че промените се правят и запазват във файла cert.pem.ripe):

key-cert: AUTO-1
certif: -----BEGIN CERTIFICATE-----
certif: MIIHMDCCBRigAwIBAgIBETANBgkqhkiG9w0BAQUFADCByzELMAkGA1UEBhMCQkcx
certif: DjAMBgNVBAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEZMBcGA1UEChMQT3Blbklu
certif: dGVncmEgTHRkLjEqMCgGA1UECxMhT3BlbkludGVncmEgQ2VydGlmaWNhdGUgQXV0
certif: aG9yaXR5MTIwMAYDVQQDEylPcGVuSW50ZWdyYSBDZXJ0aWZpY2F0ZSBmb3IgU3Rh
certif: ZmYgU2lnbmluZzEhMB8GCSqGSIb3DQEJARYSY2FAb3BlbmludGVncmEuY29tMB4X
certif: DTA1MTAxMjE0NTk0M1oXDTA2MTAxMjE0NTk0M1owgaIxCzAJBgNVBAYTAkJHMQ4w
certif: DAYDVQQIEwVTb2ZpYTEOMAwGA1UEBxMFU29maWExGDAWBgNVBAoTD09wZW5JbnRl
certif: Z3JhIFBMQzEaMBgGA1UECxMRT3BlbkludGVncmEgU3RhZmYxFzAVBgNVBAMTDlZl
certif: c3NlbGluIEtvbGV2MSQwIgYJKoZIhvcNAQkBFhV2ZXNzb0BvcGVuaW50ZWdyYS5j
certif: b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6mLE2Nf+Ofyvee/Rk
certif: 8oLhqo28nZcuMpoLIOSM3sgx85skn4JmrLQnSgxjWRGKujQXKWNkRk4peHnpZZlZ
certif: 2ORNXW7fI+wpmAu+GuGeYjLRJdtWoYXUqdbic+aj9Zg27OU3t9H62kiwFIV1RJfO
certif: b/d213xz1vGFEbRJnoa3zNtiyTDK6MdCTT5e5yog1bx5Ca3ve/x+heMScMd0uZTy
certif: lDxYjBD7e0Gn/vxbnPm0OZdaDRPFrgD/n2aPAhsdQqS/CX4UX+HCE7a+miopQRR2
certif: Dw/SgvjZ5TsnQs3tC7aws+1HWEv0xrjRwrvYGwJea/Bnt1HRBe355Tv7fcfdCsu4
certif: 3ukBAgMBAAGjggJEMIICQDAJBgNVHRMEAjAAMAsGA1UdDwQEAwIDuDAdBgNVHSUE
certif: FjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwEQYJYIZIAYb4QgEBBAQDAgSwMCwGCWCG
certif: SAGG+EIBDQQfFh1PcGVuSW50ZWdyYSBTdGFmZiBDZXJ0aWZpY2F0ZTAdBgNVHQ4E
certif: FgQUBjWEBfHaB2MxsN7K/CI8c+OuqVkwgesGA1UdIwSB4zCB4IAUdZeMNUNAaup6
certif: LbzYCWwuLB3fFTmhgcSkgcEwgb4xCzAJBgNVBAYTAkJHMQ4wDAYDVQQIEwVTb2Zp
certif: YTEOMAwGA1UEBxMFU29maWExGTAXBgNVBAoTEE9wZW5JbnRlZ3JhIEx0ZC4xKjAo
certif: BgNVBAsTIU9wZW5JbnRlZ3JhIENlcnRpZmljYXRlIEF1dGhvcml0eTElMCMGA1UE
certif: AxMcT3BlbkludGVncmEgUm9vdCBDZXJ0aWZpY2F0ZTEhMB8GCSqGSIb3DQEJARYS
certif: Y2FAb3BlbmludGVncmEuY29tggEDMEIGCWCGSAGG+EIBBAQ1FjNodHRwOi8vY2Eu
certif: b3BlbmludGVncmEuY29tL2NybHMvb3BlbmludGVncmEtcm9vdC5jcmwwQwYJYIZI
certif: AYb4QgEDBDYWNGh0dHA6Ly9jYS5vcGVuaW50ZWdyYS5jb20vY3Jscy9vcGVuaW50
certif: ZWdyYS1zdGFmZi5jcmwwMAYJYIZIAYb4QgEIBCMWIWh0dHA6Ly9jYS5vcGVuaW50
certif: ZWdyYS5jb20vcG9saWN5LzANBgkqhkiG9w0BAQUFAAOCAgEACEfpsIoShWyta8QM
certif: tXgiLG+4zVRzNLj+c/G55qSlCGtZQx3wUOE+KIt/0YN3N60kHzyfsAtc5kCvdBkS
certif: BV3Ni0moSgIk8TwUTzBFIBIPHVGczeYkMzmkhmlhevZ1jmTsqafMMCUFbydOLEX8
certif: zDmoATrS42ezDHCHQxlHmsgLXzk3LsOfO5fhdYTcLM4KpmhKRRMddKiPwdPdO4/6
certif: FQ+YexiXQJ+VG7kuzvZreTWZH1J7ZLOkZ6i3UH7k8ssMlL6+xJ8WSV3aWjEood3r
certif: OzYJ0vKWQNtO7tzZ6hwMKqlXpm8/7sZfIr3vhlPO0len1k8K1XiAeD3bvlULR3WK
certif: 7xJ+fI/VA1ptBwR5rbAai9aoe8Nkl+az9TnVU9ixpAonJJq45fzCi8nVyqe8a6jA
certif: xHROKFUD6+YM3EF0ClPMxQC6NfvXlZPV0YZES3/9nyBZF8B54qf+R6JCmEsWG6MG
certif: towSg9sSIAZfypKamyQkw5+9OjH7w8Yrdhb3pByKEIlFM+Vpa6bKdLSyZpGJgWX2
certif: TSqUQ13SrbMNKq7Yz4t9furit5jyespVNHgBaGTKvyAZ5ulOYpZ6F1eUPaIRH4KM
certif: l6cLgDb1c3meULPa2+EjS/SOfOoz2K14TAA4UQybkaRktZsVimNRch7ozkvbwtBk
certif: FddfkJ2FLQwqYcpO9yFhUX2DI4Y=
certif: -----END CERTIFICATE-----
mnt-by:   TEST007-MNT
changed:  certadmin@certs.lcpe.uni-sofia.bg 20060909
password: паролата_от_която_е_получен_MD5_хеша_за_TEST007-MNT
source:   RIPE

Този шаблон се копира в текстовото поле за въвеждане на информация на услугата syncupdate-minimal:

 

Въвеждане на шаблона за изграждане на key-cert обекта

 

За да се изпрати заявката към базата данни, се натиска бутона "Submit Query". Съобщението за успешно изпълнена заявка за изграждане на key-cert обект ще има вида:

 - From-Host: 62.44.127.1
 - Date/Time: Wed Sep  9 09:34:17 2006


SUMMARY OF UPDATE:

Number of objects found:                   1
Number of objects processed successfully:  1
  Create:         1
  Modify:         0
  Delete:         0
  No Operation:   0
Number of objects processed with errors:   0
  Create:         0
  Modify:         0
  Delete:         0
  Syntax Errors:  0


DETAILED EXPLANATION:
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following object(s) were processed SUCCESSFULLY:
      

---
Create SUCCEEDED: [key-cert] X509-996

***Info: Authorisation for  [mntner] TEST007-MNT
         using mnt-by:
         authenticated by: TEST007-MNT

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

3. Промяна на метода за удостоверяване, зададен в mntner обекта защитаващ key-cert обекта

След като key-cert обекта е създаден, защитата на mntner обекта, полето

auth: MD5-PW $1$dLtHNram$MWTlIjg7PPdfVCOv3AL1g0

може да се замени с

auth: X509-996

Възможно е задаването на повече от един ред за "auth" и следователно указването на повече от един сертификат (X.509 и/или OpenPGP) за управление на обекта.

Актуализираният шаблон се въвежда в полето на услугата syncupdate-minimal:

 

Въвеждане на шаблона за промяна на mntner обекта

 

За да се изпрати заявката към базата данни, се натиска бутона "Submit Query". Съобщението за успешно изпълнена заявка за промяна на mntner обекта ще има вида:

 - From-Host: 62.44.127.1
 - Date/Time: Wed Sep  9 10:36:31 2006


SUMMARY OF UPDATE:

Number of objects found:                   1
Number of objects processed successfully:  1
  Create:         1
  Modify:         0
  Delete:         0
  No Operation:   0
Number of objects processed with errors:   0
  Create:         0
  Modify:         0
  Delete:         0
  Syntax Errors:  0


DETAILED EXPLANATION:
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following object(s) were processed SUCCESSFULLY:
      

---
Modify SUCCEEDED: [mntner] TEST007-MNT

***Info: Authorisation for  [mntner] TEST007-MNT
         using mnt-by:
         authenticated by: TEST007-MNT

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

След тази промяна, самият обект и всички обекти, които са подчинени само от този mntner обект, могат да бъдат модифицирани (и изтривани) само чрез електронно подписване на подавания като заявка към базата на RIPE шаблон.

 

4. Създаване и електронно подписване на шаблони за управление на обекти и изпращането им като заявка към RIPE DB

След като mntner обекта и подчинените му се управляват само и единствено чрез заявки към базата данни на RIPE, които представляват електронно подписани шаблони, то следва да се уточни формата на заявките. При използване на сертификатния модел X.509, електронно подписаните шаблони в рамките на заявките, изпращани към базата данни на RIPE трябва да са в т.нар. "S/MIME формат". Това е монолитен формат за съобщения (за разлика от "inline" формата при OpenPGP). Подписването на шаблони във формата S/MIME може да се извърши или чрез специализиран клиент (например клиент за електронна поща, който поддържа стандарта за сигурна електронна поща PEM) или чрез обработката на файла съдържащ шаблона чрез инструменти, които могат да подпишат съдържанието му и да запазят резултата в S/MIME форматиран блок.

Ако заявките се изпращат чрез клиент за електронна поща, който поддържа X.509 базирания стандарт за сигурна поща PEM, то те се подписват с частния ключ към клиентския X.509 сертификат (същия X.509 сертификат, чието съдържание е поставено чрез процедурите по-горе в базата от данни на RIPE). Подписаното електронно писмо се изпраща към пощенския робот, който обслужва обработката на изпратени чрез електронна поща заявки (адресът на пощенския робот е auto-dbm@ripe.net). На електронния пощенски адрес на изпращача, се получава писмо за статуса на изпълнение на заявката.

Друг начин за генериране на електронно подписани шаблони за промяна на обект в RIPE DB и съхранението им в S/MIME блочен формат с цел последващото им изпращане като заявка към базата данни, е използването на инструментариума на пакета OpenSSL (http://www.openssl.org). Инструментът openssl може да извършва подписване на блок информация и запазването му във S/MIME формат.

Ето и пример за използването на инструмента openssl за подписване на блок с информация, който съдържа заявка за промяна на обекта TEST007-MNT, за който има зададено поле:

auth:  X509-996

Шаблонът за промяна на обекта се създава във файл. За примера ще се приема, че това е файла object-mod.txt. Ето примерен шаблон за промяна на обект, който е създаден в този файл:

mntner:         TEST007-MNT
descr:          for tests only
admin-c:        VK1242-RIPE
tech-c:         VK1242-RIPE
upd-to:         certadmin@certs.lcpe.uni-sofia.bg
auth:           X509-996
mnt-by:         TEST007-MNT
refferal-by:    TEST007-MNT
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060906
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060907
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060908
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060909
source:         RIPE

След като шаблонът е завършен и файлът object-mod.txt е затворен, следва електронното подписване на шаблона. За да може да се извърши електронното подписване, е нужен частния ключ на двойката ключове, в основа на X.509 сертификата, описан в обекта X509-996. За примера се предполага, че частния ключ се намира във файла private.key.pem. Нужно е също и копие от самия X.509 сертификат. За примера, нека той се намира във файла cert.pem. Тогава, в команден ред, подписването на шаблона от файла object-mod.txt и запазване на S/MIME форматирания блок в object-mod.txt.asc, ще се реализира по следната схема:

$ openssl smime -sign -inkey private.key.pem -signer cert.pem -text -in object-mod.txt -out object-mod.txt.asc

При подписването ще бъде изискана паролата за защита на частния ключ, който се намира във файла private.key.pem. След завършване на подписването и запазването на S/MIME форматирания разултат, във файла object-mod.txt.asc ще има съдържание, подобно на следното:

MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=sha1; boundary="----D6A4ECFEAE0E62707FF0EA53409AC2D6"

This is an S/MIME signed message

------D6A4ECFEAE0E62707FF0EA53409AC2D6
Content-Type: text/plain

mntner:         TEST007-MNT
descr:          for tests only
admin-c:        VK1242-RIPE
tech-c:         VK1242-RIPE
upd-to:         certadmin@certs.lcpe.uni-sofia.bg
auth:           X509-996
mnt-by:         TEST007-MNT
refferal-by:    TEST007-MNT
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060906
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060907
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060908
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060909
source:         RIPE

------D6A4ECFEAE0E62707FF0EA53409AC2D6
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIIKGQYJKoZIhvcNAQcCoIIKCjCCCgYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCBzQwggcwMIIFGKADAgECAgERMA0GCSqGSIb3DQEBBQUAMIHLMQswCQYD
VQQGEwJCRzEOMAwGA1UECBMFU29maWExDjAMBgNVBAcTBVNvZmlhMRkwFwYDVQQK
ExBPcGVuSW50ZWdyYSBMdGQuMSowKAYDVQQLEyFPcGVuSW50ZWdyYSBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMjAwBgNVBAMTKU9wZW5JbnRlZ3JhIENlcnRpZmljYXRl
IGZvciBTdGFmZiBTaWduaW5nMSEwHwYJKoZIhvcNAQkBFhJjYUBvcGVuaW50ZWdy
YS5jb20wHhcNMDUxMDEyMTQ1OTQzWhcNMDYxMDEyMTQ1OTQzWjCBojELMAkGA1UE
BhMCQkcxDjAMBgNVBAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEYMBYGA1UEChMP
T3BlbkludGVncmEgUExDMRowGAYDVQQLExFPcGVuSW50ZWdyYSBTdGFmZjEXMBUG
A1UEAxMOVmVzc2VsaW4gS29sZXYxJDAiBgkqhkiG9w0BCQEWFXZlc3NvQG9wZW5p
bnRlZ3JhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALqYsTY1
/45/K9579GTyguGqjbydly4ymgsg5IzeyDHzmySfgmastCdKDGNZEYq6NBcpY2RG
Til4eellmVnY5E1dbt8j7CmYC74a4Z5iMtEl21ahhdSp1uJz5qP1mDbs5Te30fra
SLAUhXVEl85v93bXfHPW8YURtEmehrfM22LJMMrox0JNPl7nKiDVvHkJre97/H6F
4xJwx3S5lPKUPFiMEPt7Qaf+/Fuc+bQ5l1oNE8WuAP+fZo8CGx1CpL8JfhRf4cIT
tr6aKilBFHYPD9KC+NnlOydCze0LtrCz7UdYS/TGuNHCu9gbAl5r8Ge3UdEF7fnl
O/t9x90Ky7je6QECAwEAAaOCAkQwggJAMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgO4
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDARBglghkgBhvhCAQEEBAMC
BLAwLAYJYIZIAYb4QgENBB8WHU9wZW5JbnRlZ3JhIFN0YWZmIENlcnRpZmljYXRl
MB0GA1UdDgQWBBQGNYQF8doHYzGw3sr8Ijxz466pWTCB6wYDVR0jBIHjMIHggBR1
l4w1Q0Bq6notvNgJbC4sHd8VOaGBxKSBwTCBvjELMAkGA1UEBhMCQkcxDjAMBgNV
BAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEZMBcGA1UEChMQT3BlbkludGVncmEg
THRkLjEqMCgGA1UECxMhT3BlbkludGVncmEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MSUwIwYDVQQDExxPcGVuSW50ZWdyYSBSb290IENlcnRpZmljYXRlMSEwHwYJKoZI
hvcNAQkBFhJjYUBvcGVuaW50ZWdyYS5jb22CAQMwQgYJYIZIAYb4QgEEBDUWM2h0
dHA6Ly9jYS5vcGVuaW50ZWdyYS5jb20vY3Jscy9vcGVuaW50ZWdyYS1yb290LmNy
bDBDBglghkgBhvhCAQMENhY0aHR0cDovL2NhLm9wZW5pbnRlZ3JhLmNvbS9jcmxz
L29wZW5pbnRlZ3JhLXN0YWZmLmNybDAwBglghkgBhvhCAQgEIxYhaHR0cDovL2Nh
Lm9wZW5pbnRlZ3JhLmNvbS9wb2xpY3kvMA0GCSqGSIb3DQEBBQUAA4ICAQAIR+mw
ihKFbK1rxAy1eCIsb7jNVHM0uP5z8bnmpKUIa1lDHfBQ4T4oi3/Rg3c3rSQfPJ+w
C1zmQK90GRIFXc2LSahKAiTxPBRPMEUgEg8dUZzN5iQzOaSGaWF69nWOZOypp8ww
JQVvJ04sRfzMOagBOtLjZ7MMcIdDGUeayAtfOTcuw587l+F1hNwszgqmaEpFEx10
qI/B0907j/oVD5h7GJdAn5UbuS7O9mt5NZkfUntks6RnqLdQfuTyywyUvr7EnxZJ
XdpaMSih3es7NgnS8pZA207u3NnqHAwqqVembz/uxl8ive+GU87SV6fWTwrVeIB4
Pdu+VQtHdYrvEn58j9UDWm0HBHmtsBqL1qh7w2SX5rP1OdVT2LGkCickmrjl/MKL
ydXKp7xrqMDEdE4oVQPr5gzcQXQKU8zFALo1+9eVk9XRhkRLf/2fIFkXwHnip/5H
okKYSxYbowa2jBKD2xIgBl/KkpqbJCTDn706MfvDxit2FvekHIoQiUUz5Wlrpsp0
tLJmkYmBZfZNKpRDXdKtsw0qrtjPi31+6uK3mPJ6ylU0eAFoZMq/IBnm6U5ilnoX
V5Q9ohEfgoyXpwuANvVzeZ5Qs9rb4SNL9I586jPYrXhMADhRDJuRpGS1mxWKY1Fy
HujOS9vC0GQV11+QnYUtDCphyk73IWFRfYMjhjGCAq0wggKpAgEBMIHRMIHLMQsw
CQYDVQQGEwJCRzEOMAwGA1UECBMFU29maWExDjAMBgNVBAcTBVNvZmlhMRkwFwYD
VQQKExBPcGVuSW50ZWdyYSBMdGQuMSowKAYDVQQLEyFPcGVuSW50ZWdyYSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkxMjAwBgNVBAMTKU9wZW5JbnRlZ3JhIENlcnRpZmlj
YXRlIGZvciBTdGFmZiBTaWduaW5nMSEwHwYJKoZIhvcNAQkBFhJjYUBvcGVuaW50
ZWdyYS5jb20CAREwCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN
AQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA5MDkxMTQzMDRaMCMGCSqGSIb3DQEJBDEW
BBTR0zHdYyEsZTHeHcwY0ZDAUUGi5DBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3
DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggq
hkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASCAQBaeKi686+sIKFB9ongcZOygTUm
kGiN0jmm9IDxAPmbNbuzH2tr9MStCfDjogPljagJcKK58bXhspqB5nxjPL9dADpR
+foC/N7UtSSCzlBsMRVDTRslSvfHcteQ/a2iyBAod5ooQkJ+OyVC6GF9u08oLBx4
OQcLVVtrXYWBOSk5zL1m2GOMJ1K5c2DyBteTY9YKt+g3ZEBHU+FPN+y8Krgwj6hm
o6bRwzwka6fRLhAJvQ3k0A2UnIYOMp7p8vWTH2dUALrIsV/sDIeIuVhg+wM9pi95
oNNlrUvNlzSFTJ9i3+euKF/m6A6qsadOGuClvALRLRknuK9IuTw0hoNS7Uu8

------D6A4ECFEAE0E62707FF0EA53409AC2D6--

Полученият S/MIME форматен блок може да се изпрати в рамките на заявка през услугата syncupdate-minimal:

 

Въвеждане на подписания шаблон за промяна на mntner обекта

 

 

За да се изпрати заявката към базата данни, се натиска бутона "Submit Query". Съобщението за успешно изпълнена заявка за промяна на mntner обекта ще има вида:

 - From-Host: 62.44.127.1
 - Date/Time: Fri Sep  9 10:53:11 2006


SUMMARY OF UPDATE:

Number of objects found:                   1
Number of objects processed successfully:  1
  Create:         1
  Modify:         0
  Delete:         0
  No Operation:   0
Number of objects processed with errors:   0
  Create:         0
  Modify:         0
  Delete:         0
  Syntax Errors:  0


DETAILED EXPLANATION:
      
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The following object(s) were processed SUCCESSFULLY:
      

---
Modify SUCCEEDED: [mntner] TEST007-MNT

***Info: Authorisation for  [mntner] TEST007-MNT
         using mnt-by:
         authenticated by: TEST007-MNT

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

ВНИМАНИЕ! Описаният по-долу метод е податлив на колизии и следва да не се използва! За повече информация относно механизма на колизии, виж "Колизии на електронно подписани заявки "без билет" (с примери за RIPE DB)", 2007, Веселин Колев.

 

Подписаният шаблон може да се изпрати и към пощенския робот на RIPE DB като се използва "инжектиране" в опашката на Sendmail. При такова "инжектиране" не е нужно да има работещ демон sendmail, а просто да се обслужват "submit" процеси. Преди да се "инжектира" файлът с подписания шаблон, той трябва леко да се модифицира. В началото му се поставят полета "From", "To" и "Subject" така, че след прибавянето им, във файла (ако се следва горния пример, това е файла object-mod.txt.asc) с подписаната заявка да има съдържание подобно на това:

From: Certificate Administrator <certadmin@certs.lcpe.uni-sofia.bg>
To: RIPE AUTO-DBM <auto-dmb@ripe.net>
Subject: (no subject)


MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/x-pkcs7-signature";
micalg=sha1; boundary="----D6A4ECFEAE0E62707FF0EA53409AC2D6"

This is an S/MIME signed message

------D6A4ECFEAE0E62707FF0EA53409AC2D6
Content-Type: text/plain

mntner:         TEST007-MNT
descr:          for tests only
admin-c:        VK1242-RIPE
tech-c:         VK1242-RIPE
upd-to:         certadmin@certs.lcpe.uni-sofia.bg
auth:           X509-996
mnt-by:         TEST007-MNT
refferal-by:    TEST007-MNT
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060906
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060907
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060908
changed:        certadmin@certs.lcpe.uni-sofia.bg 20060909
source:         RIPE

------D6A4ECFEAE0E62707FF0EA53409AC2D6
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"

MIIKGQYJKoZIhvcNAQcCoIIKCjCCCgYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3
DQEHAaCCBzQwggcwMIIFGKADAgECAgERMA0GCSqGSIb3DQEBBQUAMIHLMQswCQYD
VQQGEwJCRzEOMAwGA1UECBMFU29maWExDjAMBgNVBAcTBVNvZmlhMRkwFwYDVQQK
ExBPcGVuSW50ZWdyYSBMdGQuMSowKAYDVQQLEyFPcGVuSW50ZWdyYSBDZXJ0aWZp
Y2F0ZSBBdXRob3JpdHkxMjAwBgNVBAMTKU9wZW5JbnRlZ3JhIENlcnRpZmljYXRl
IGZvciBTdGFmZiBTaWduaW5nMSEwHwYJKoZIhvcNAQkBFhJjYUBvcGVuaW50ZWdy
YS5jb20wHhcNMDUxMDEyMTQ1OTQzWhcNMDYxMDEyMTQ1OTQzWjCBojELMAkGA1UE
BhMCQkcxDjAMBgNVBAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEYMBYGA1UEChMP
T3BlbkludGVncmEgUExDMRowGAYDVQQLExFPcGVuSW50ZWdyYSBTdGFmZjEXMBUG
A1UEAxMOVmVzc2VsaW4gS29sZXYxJDAiBgkqhkiG9w0BCQEWFXZlc3NvQG9wZW5p
bnRlZ3JhLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALqYsTY1
/45/K9579GTyguGqjbydly4ymgsg5IzeyDHzmySfgmastCdKDGNZEYq6NBcpY2RG
Til4eellmVnY5E1dbt8j7CmYC74a4Z5iMtEl21ahhdSp1uJz5qP1mDbs5Te30fra
SLAUhXVEl85v93bXfHPW8YURtEmehrfM22LJMMrox0JNPl7nKiDVvHkJre97/H6F
4xJwx3S5lPKUPFiMEPt7Qaf+/Fuc+bQ5l1oNE8WuAP+fZo8CGx1CpL8JfhRf4cIT
tr6aKilBFHYPD9KC+NnlOydCze0LtrCz7UdYS/TGuNHCu9gbAl5r8Ge3UdEF7fnl
O/t9x90Ky7je6QECAwEAAaOCAkQwggJAMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgO4
MB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDARBglghkgBhvhCAQEEBAMC
BLAwLAYJYIZIAYb4QgENBB8WHU9wZW5JbnRlZ3JhIFN0YWZmIENlcnRpZmljYXRl
MB0GA1UdDgQWBBQGNYQF8doHYzGw3sr8Ijxz466pWTCB6wYDVR0jBIHjMIHggBR1
l4w1Q0Bq6notvNgJbC4sHd8VOaGBxKSBwTCBvjELMAkGA1UEBhMCQkcxDjAMBgNV
BAgTBVNvZmlhMQ4wDAYDVQQHEwVTb2ZpYTEZMBcGA1UEChMQT3BlbkludGVncmEg
THRkLjEqMCgGA1UECxMhT3BlbkludGVncmEgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
MSUwIwYDVQQDExxPcGVuSW50ZWdyYSBSb290IENlcnRpZmljYXRlMSEwHwYJKoZI
hvcNAQkBFhJjYUBvcGVuaW50ZWdyYS5jb22CAQMwQgYJYIZIAYb4QgEEBDUWM2h0
dHA6Ly9jYS5vcGVuaW50ZWdyYS5jb20vY3Jscy9vcGVuaW50ZWdyYS1yb290LmNy
bDBDBglghkgBhvhCAQMENhY0aHR0cDovL2NhLm9wZW5pbnRlZ3JhLmNvbS9jcmxz
L29wZW5pbnRlZ3JhLXN0YWZmLmNybDAwBglghkgBhvhCAQgEIxYhaHR0cDovL2Nh
Lm9wZW5pbnRlZ3JhLmNvbS9wb2xpY3kvMA0GCSqGSIb3DQEBBQUAA4ICAQAIR+mw
ihKFbK1rxAy1eCIsb7jNVHM0uP5z8bnmpKUIa1lDHfBQ4T4oi3/Rg3c3rSQfPJ+w
C1zmQK90GRIFXc2LSahKAiTxPBRPMEUgEg8dUZzN5iQzOaSGaWF69nWOZOypp8ww
JQVvJ04sRfzMOagBOtLjZ7MMcIdDGUeayAtfOTcuw587l+F1hNwszgqmaEpFEx10
qI/B0907j/oVD5h7GJdAn5UbuS7O9mt5NZkfUntks6RnqLdQfuTyywyUvr7EnxZJ
XdpaMSih3es7NgnS8pZA207u3NnqHAwqqVembz/uxl8ive+GU87SV6fWTwrVeIB4
Pdu+VQtHdYrvEn58j9UDWm0HBHmtsBqL1qh7w2SX5rP1OdVT2LGkCickmrjl/MKL
ydXKp7xrqMDEdE4oVQPr5gzcQXQKU8zFALo1+9eVk9XRhkRLf/2fIFkXwHnip/5H
okKYSxYbowa2jBKD2xIgBl/KkpqbJCTDn706MfvDxit2FvekHIoQiUUz5Wlrpsp0
tLJmkYmBZfZNKpRDXdKtsw0qrtjPi31+6uK3mPJ6ylU0eAFoZMq/IBnm6U5ilnoX
V5Q9ohEfgoyXpwuANvVzeZ5Qs9rb4SNL9I586jPYrXhMADhRDJuRpGS1mxWKY1Fy
HujOS9vC0GQV11+QnYUtDCphyk73IWFRfYMjhjGCAq0wggKpAgEBMIHRMIHLMQsw
CQYDVQQGEwJCRzEOMAwGA1UECBMFU29maWExDjAMBgNVBAcTBVNvZmlhMRkwFwYD
VQQKExBPcGVuSW50ZWdyYSBMdGQuMSowKAYDVQQLEyFPcGVuSW50ZWdyYSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkxMjAwBgNVBAMTKU9wZW5JbnRlZ3JhIENlcnRpZmlj
YXRlIGZvciBTdGFmZiBTaWduaW5nMSEwHwYJKoZIhvcNAQkBFhJjYUBvcGVuaW50
ZWdyYS5jb20CAREwCQYFKw4DAhoFAKCBsTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcN
AQcBMBwGCSqGSIb3DQEJBTEPFw0wNjA5MDkxMTQzMDRaMCMGCSqGSIb3DQEJBDEW
BBTR0zHdYyEsZTHeHcwY0ZDAUUGi5DBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3
DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggq
hkiG9w0DAgIBKDANBgkqhkiG9w0BAQEFAASCAQBaeKi686+sIKFB9ongcZOygTUm
kGiN0jmm9IDxAPmbNbuzH2tr9MStCfDjogPljagJcKK58bXhspqB5nxjPL9dADpR
+foC/N7UtSSCzlBsMRVDTRslSvfHcteQ/a2iyBAod5ooQkJ+OyVC6GF9u08oLBx4
OQcLVVtrXYWBOSk5zL1m2GOMJ1K5c2DyBteTY9YKt+g3ZEBHU+FPN+y8Krgwj6hm
o6bRwzwka6fRLhAJvQ3k0A2UnIYOMp7p8vWTH2dUALrIsV/sDIeIuVhg+wM9pi95
oNNlrUvNlzSFTJ9i3+euKF/m6A6qsadOGuClvALRLRknuK9IuTw0hoNS7Uu8

------D6A4ECFEAE0E62707FF0EA53409AC2D6--

Процесът на инжектиране на съдържанието на подписаната заявка в опашката на Sendmail може да се илюстрира чрез следния примерен команден ред:

$ cat object-mod.txt.asc | /usr/sbin/sendmail -f certadmin@certs.lcpe.uni-sofia.bg auto-dbm@ripe.net

След като пощенският робот auto-dbm@ripe.net получи заявката и я обработи, ще изпрати сведение за процеса на изпълнението й на електронния пощенски адрес на изпращача.

 

5. Предишни версии на публикацията.

 

Този документ е с OpenPGP подписано съдържание
[информация] [електронен подпис][TimeStamp]

Creative Commons - Признание 2.5 Valid CSS! Valid XHTML 1.0 Strict