Martin Bartosch wrote:

5. Audit logging - Audit of RA and CA operations to a tamper proof signed
log.
This is possibly a requirement to achive any form of accreditiation.


this brings us to another requirement that is not easy to implement
but would really be important:

OpenCA should know exactly how many private key operations are performed
on the CA key. If using a HSM that is kept online (with usable private
key opened), then another process might abuse the HSM to perform
private key operations.

We cannot do much to *prevent* this, but it can be *detected*:
Some HSMs support a read-only "private key usage counter" that
is incremented every time the private key is accessed. By reading
this counter, OpenCA (or an Auditing System) could detect if unauthorized
key operations have happened circumventing control of OpenCA.

if you asume, there would/could be an 'process' doing such things, what should prevent another malicous process to provide you with wrong data?
since the system ist then already compromised


a solution could be to use so called hashing-logfiles including a media-break to achive trustworthy data... (on a separate loggin facility of course)
works like this: every log entry gets hashed and the last hash included and the time so you get a always an actual hash, an atac could insert in any further state an own value or change one and then recalc all following hashs, to prevent this, you print for example every hash on paper on a printer - so changes in hash can be detected very easily and an atac needs physical access to the printer to be undetectable...


so this would make the log safe and auditable and trustworthy as far as the collected data is realiable...

One module that supports this is nCipher's nShield HSM. Unfortunately
this function is not available with the stock CLI tools provided with
the HSM. Instead, custom programming is required against the nCipher
API, and for this the nCipher SDK is required.

but than you had to read those hsm counters in a not compromised system state... otherwise some could manipulated the software provididing you whith the number ;o)

so mainly it gonna get kind of difficult to selfprotect the system whith its own - if you assume there could be malicious tasks running... they can do this to...

6. Script/environment validation - A function that ensures OpenCA is
running
in a "known" environment. Perhaps md5 signature creation (after
installation)
and run time validation.

Yes, but this could also be done using a host based IDS. Not too
important, I think.

now, if you can't trust your base, you cant trust your counters and anything else - isn't it?

thats why i had an idea of building something like an high risk environment, which is based on a cd-rom or some similar write protected media, changeable configuration data and exchange data are hold on writeable media (like usb-based-hardware, maybe encryptable), and the os
supports something like se-linux or similar


this should get to quite a secure(able) comuting base, which is trustable... if we assume we have all components online and therefore can be attaced

but this is for sure - outside the scope of openca itself, its just the environmental view where it should running finaly

(here is an picture for illustration which i created but not more :o(
 http://lab.x-dense.org/openca/hr-concept-1.gif

this is more general view for usage with an laptop for example, so
in an installed system Crypto Device I would be an real HSM and
'Volatile Memmory III' would be not necesarry when one uses online
systems, as there would be no ca-operator of course, but most probably
an ra-operator at the ra... and so on

but its just to make the idea more clear... and i think, finaly we wont get around such a kind of trusted and secured computing base for point
12. ;o)


but for sure, thats not so importend at the current state, just wanted to mention it...

9. Web based OpenCA configuration and management - Enhancing the existing
management screens to allow management of certificate roles and
extensions, access control settings and node management i.e. a
front end to the OpenSSL config files.

Sounds like a *lot* of work. I am fine with today's XML based configuration. I don't like the template -> config file hack much, though.

yeah, a (webbased) frontend for the config would be fine

13. Automated CA Key rollover
    When reaching the end of the CA certificate lifetime, there is
    a certain point after which no usable end entity certificates
    can be issued whose desired validity *fully* fits into the CA
    certificates validity.

yes, thats a common problem

    To address this problem, we issue a rollover certificate that becomes
    valid when reaching half of the CA certificates validity range:
    notBefore(new) := notBefore(old) +
                      ((notAfter(old) - notBefore(old) / 2)

i don't understand why? it would be enough to isse a new certificate before the 'crl-only' time of the actual one starts... i see no sense in doing it half the time of the actual one is over, it doesn't changes anything in the workflow so far - or did i miss something?

    New certificates are *always* and *only* issued using the "newest"
    CA certificate available. After rollover happens (automatically by
    reaching the "NotBefore" date of the new certificate) the old
    one still remains valid and is *exclusively* used for CRL
    generation, revocation etc.

thats common to do so

    This ensures that you will always be able to issue certificates
    with a lifetime up to half of the "standard" CA certificate
    lifetime.

that may be a reason to do so (and now it gets clear), but usaly one have a policy and therefore one knows, what would be the longest validity of issued certs... and this would automagicaly become the timeout value for the actual running ca/pki..., so usaly it doesn't happend that i suddenly wann issue a certificate wiht a longer lifetime than stated in my policy for the running ca or it would be just written in it...


    CA operators need only remember to issue a new rollover
    certificate within the first half of the currently used certificate's
    validity.
    BUT the CA software has to be able to deal with this.

at the moment it is 'solved' in setting up an entirely new pki
since a new ca-certficate means to have a new tree in the end
since you generate new keys to usaly

so this would need some more redesigning of the interfaces, so one can handle more than one ca (in the end of day) with it, because an rollover means to set up a new one... even if it doesn't sound like, i think

it would also mean to reasign the already requested feature of allowing a set of trusted operators signed by a differen ca (in this case, the old one, since those certs had been issued by the old ca (keys)) and the knew one can't directly proofe them

thats also not unimportend for backing up and documentation of an pki-(ca)-lifecycle... since you may have to save the keys for some time, for other reasons... (also issued ones)

so i think this automated rollover thing may be a bit more complex then just issuing a new ca-cert (and generating new key-pairs)

since its complex task, that may be a reason for all those well know issuer (verisign and co) to choose such long validity times for there core and root certs... to just 'work around' by time this issue...

14. Improved debugging support
    I frequently get lost in the system when trying to debug things,
    often I wonder what functions get executed by OpenCA, the CGI
    system seems very opaque to me (and I consider myself an
    experienced Perl hacker)

15. Improved error handling
    I have seen OpenCA report crude error messages on seemingly
    harmless error conditions. When checking the code it was
    often something like an uninitialized variable that was
    used to call a method on.

those are always good points ;o) and yeah sometime i'm also quite lost in the code...


greetings dalini

--
Ives Steglich                Email: [EMAIL PROTECTED]
System Administration        Tel.:  +49 (0)3677 - 69 4882
                              Fax:   +49 (0)3677 - 69 4399

Fraunhofer Institute for Digital Media Technology
Langewiesener Strasse 22
98693 Ilmenau                Email (private): [EMAIL PROTECTED]
Germany                      http://www.openca.org


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
OpenCA-Devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/openca-devel

Reply via email to