Internet DRAFT - draft-chen-pkix-securityinfo
draft-chen-pkix-securityinfo
Network Working Group Shuyi Chen
Internet-Draft ZTE Corporation
Intended status: Informational Yuting Liu
Expires: April 18, 2011 Xiaofeng Qiu
Cheng Cheng
Chunhong Zhang
MINE lab,Beijing University of Posts and Telecommunication
October 15, 2010
X.509 Extension with Security Information
draft-chen-pkix-securityinfo-00
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 18, 2011.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Chen, et al. Expires April 18, 2011 [Page 1]
Internet-Draft X.509extension with Security Information October 2010
Abstract
This document defines an X.509v3 certificate extension. It binds a
list of security information to the subject of a certificate, which
may be used to cognize the security posture of the subject.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Conventions used in this documents . . . . . . . . . . . . 3
2. X.509 Extension with security information . . . . . . . . . . . 3
2.1 OID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Criticality . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 X.509 Security Information extension Syntax . . . . . . . . 5
2.4 X.509 Security Information extension semantics . . . . . . 7
3. Security Considerations . . . . . . . . . . . . . . . . . . . . 9
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 9
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1 Normative References . . . . . . . . . . . . . . . . . . . 9
5.2 Informative References . . . . . . . . . . . . . . . . . . 10
Appendix - ASN.1 Modules . . . . . . . . . . . . . . . . . . . . 10
Authors' Address . . . . . . . . . . . . . . . . . . . . . . . . 12
Chen, et al. Expires April 18, 2011 [Page 2]
Internet-Draft X.509extension with Security Information October 2010
1. Introduction
This document describes an X.509v3 certificate extension that states
the safety status of the certificate subject.
This certificate extension binds security information to the subject.
Through this extend certificate, the subject's safety status can be
obtained by the authentication entity when identity authenticating,
thus to be aware of security attributes of the subject. If one entity
with extend certificate with security information wants to join a
certain network, network manager can evaluate entity's safety status
according to its assessment standards, then make certain strategies,
such as partition security level or security domain, to guarantee
network safety; if the entity wants to communicate with another, it
can also implements security strategy to ensure a safe between
transactions, such as resource access control.
The issuer of the certificate is a trusted entity (or a trusted third
party) that can identify and verify one subject's security
information.Generically, security information is obtained through
remote scanning measures. If can't, it is gained through local
scanning by entity itself. Security threats and security protection
software installed in the entity reflect the safety status of the
subject directly and indirectly.
When a X.509 certificate contains an extension with security
information, the extension MUST be critical, and MUST contain either
a NULL to indicate that no security information is provided or
explicit security information to indicate that the security
information is provided.
1.1 Conventions used in this documents
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. X.509 Extension with security information
Conventional security mechanisms, such as security domain and
boundary protection system, didn't take underlay safety status of
the entity into consideration, which limit their range of
applicability. Especially for distributed network, security
protection of the nodes on underlay will influence the security
degree of distributed network. Thus nodes with weak protection in
underlay will greatly deteriorate security of the distributed
network.
Chen, et al. Expires April 18, 2011 [Page 3]
Internet-Draft X.509extension with Security Information October 2010
This certificate extension keeps underlay security information of the
subject, and provides a basis for security strategy formulation.
Based on X.509 extension certificate with security information, one
entity or node can cognize another's security posture, then adjusts
strategy to avoid attacks from malicious entities.
The issuer of the certificate is a trusted entity (or a trusted third
party) that can identify and verify one subject's security
information. Usually, security information is obtained by a trusted
third party through remote scanning. Specially, if it is unable to
get information through this method, it can be obtained through local
scanning by the entity itself.
In general, security information is reflected in two ways. On one
hand, security protection software such as Antivirus, Firewall and
Operating System (OS) installed in the user reflect safety condition
of the subject directly or indirectly. On the other hand, security
threats such as malicious plug-ins exists in the user can also
represent security status of one subject. The more threats exist,
the more unsafe the entity is. Other retrievable information that can
make sense for security properties of subjects can also be added
according to certain needs.
Parameters of security protection software SHOULD be as specific as
possible. But for private information, such as operating system
software parameters, it SHOULD be abstracted as a security score,
ranges in [0, 99].
The traditional X.509 certificate (without security information) has
a validity period indicating the time interval during which the CA
warrants that it will maintain information about the status of the
certificate. Normally, it updates when the validity period is due or
the key pair is no longer safe. But for certificate with extend
security information, security information changes frequently. In
order to ensure the accuracy of the security information in the
certificate, security information MUST contain a validity period,
while month or week is the unit. When this validity period is due,
the certificate SHOULD be renewed. For security information updates
per month/week, it increases the whole certificate update frequency.
Higher update frequency increases costs.
Therefore, when certificate update is caused by security information,
certificate update process SHOULD be simplified. Only update the
security information of one subject without changing any other
personal information that should be authenticated in certificate
generation. Thus, certificate update only need to reload security
information, thus there is no need of original complicated
Chen, et al. Expires April 18, 2011 [Page 4]
Internet-Draft X.509extension with Security Information October 2010
examination process about subject personal information which is
related to its identity.
An example of one use of the extend X.509 certificate with security
information is a user using it to control the access of other users.
Suppose both user A and B contain X.509 certificate with security
information. If user A has some certain resources, and only permits
access for those whose Operating System score is equal to or greater
than 85. User B wants to access this resource. User A can obtain
security information of user B through B's X.509 extension
certificate, and determine whether it is qualified. If proved, user B
can get access to the resources, else user A SHOULD refuse its access
request.
X.509 extension with security information formats are as follows.
2.1 OID
The OID for this extension is id-pe-securityInfo.
id-pe-securityInfo OBJECT IDENTIFIER ::= { id-pe 25 }
where [RFC5280] defines:
id-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
dod(6) internet(1) security(5) mechanisms(5) pkix(7) }
id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
2.2 Criticality
This extension SHOULD be CRITICAL. The intended use of this extension
is to indicate safety status of the identified subject. The issuer
uses extended certificate to convey the notion that a relying party
MUST understand the semantics of the extension to make use of the
certificate for the purpose it was issued. Newly created applications
that use certificates containing this extension are expected to
recognize the extension.
2.3 X.509 Security Information extension Syntax
The syntax for the X.509 extension is:
SecurityInfo ::= CHOICE {
none NULL, --No security info provided
secInfo SecurityInformation --Explicit security info
}
Chen, et al. Expires April 18, 2011 [Page 5]
Internet-Draft X.509extension with Security Information October 2010
SecurityInformation ::= SEQUENCE {
secValidityPeriod ValidityPeriod,
infoTime GeneralizedTime,
secData SecurityData
}
ValidityPeriod ::= SEQUENCE {
notBefore GeneralizedTime,
notAfter GeneralizedTime
}
SecurityData ::= SEQUENCE {
antivirus (0) AntivirusData OPTIONAL,
firewall (1) FirewallData OPTIONAL,
operatingSystem (2) OSData OPTIONAL,
vulnerabilityDatabase (3) VDData OPTIONAL,
maliciousPlug-in (4) MPIData OPTIONAL,
otherSecData (5...MAX) ANY defined security data OPTIONAL
}
AntivirusData ::= SEQUENCE {
antivirusBase BasicInfo,
otherAntivirusData ANY defined AntivirusData OPTIONAL
}
FirewallData ::= SEQUENCE {
firewallBase BasicInfo,
supFTPFileFilter BOOLEAN,
supAntivirus BOOLEAN,
supConFilter BOOLEAN,
defDOS BOOLEAN,
rtInRes BOOLEAN,
autoLogScan BOOLEAN,
otherFirewallData ANY defined FirewallData OPTIONAL
}
BasicInfo ::= SEQUENCE {
version IA5String,
manufacturer IA5String,
renewal BOOLEAN
}
OSData ::= INTERGER
VDData ::= BOOLEAN
MPIData ::= SEQUENCE {
malPlugIn ANY defined malicious Plug-In
}
Chen, et al. Expires April 18, 2011 [Page 6]
Internet-Draft X.509extension with Security Information October 2010
2.4 X.509 Security Information extension semantics
SecurityInfo is a CHOICE; it is represented either by NULL or
SecurityInformation. If the issuer selects NULL, it indicates that no
SecurityInfo is provided. If the issuer selects SecurityInfomation,
it is explicitly stating that a SecurityInfo is provided, and type
SecurityInformation MUST provide details about that SecurityInfo.
SecurityInfomation is a SEQUENCE consisting of three elements:
secValidityPeriod, infoTime and secData. It contains all security
information of one subject.
SecValidityPeriod is provided using the ValidityPeriod type.
ValidityPeriod is a SEQUENCE of two GeneralizedTime values. The first
(notBefore) GeneralizedTime value MUST indicate the date and time
that the security information becomes valid, and the second(notAfter)
GeneralizedTime value MUST indicate the date and time that the
security information expires. The period of validity is in months or
weeks.
InfoTime is a GeneralizedTime. It is recorded when the security
information is obtained by the issuer. InfoTime type indicates when
the security information is obtained exactly.
SecData is provided using the SecurityData type. SecurityData is a
SEQUENCE containing security protection software and security
threats. Software including antivirus, firewall and operating system
are optional. Security threats MAY be reflected by
vulnerabilityDatabase and maliciousPlug-in. Other software that is
verified being installed in the user can also be added into this
sequence. If any of software or threat elements exists in one user,
its corresponding data type will be selected, then the data type in
SecurityData MUST provide details of the element. If other
unmentioned security data is included in the user, one can only use
it after type definition.
Antivirus is provided using the AntivirusData type. AntivirusData
MUST contain information about the antivirusBase and MAY contain
other antivirus Data that are defined afterwards. AntivirusBase
information is provided by BasicInfo type. This sequence records
antivirus information, which indicates its antiviral capacity to
some extent.
Firewall is provided using the FirewallData type. FirewallData is a
SEQUENCE, it MUST contain firewallBase information and six boolean
values, and MAY contain other Firewall Data.
Element firewallBase is also provided using BasicInfo type.
Chen, et al. Expires April 18, 2011 [Page 7]
Internet-Draft X.509extension with Security Information October 2010
Element supFTPFileFilter is Boolean. Value one indicates this
firewall support FTP (File Transfer Protocol) file filter, and allows
FTP to prevent certain types of documents through this firewall;
value zero is just the opposite.
Element supAntivirus is Boolean. Value one indicates this firewall
support antivirus function, such as scanning the attachments of the
DOC and ZIP files in E-mails to find dangerous information it may
contain; value zero is just the opposite.
Element supConFilter is Boolean. If value of this element is one,
it means this firewall support content filter, and MAY control the
information flow according to the filter criteria. Filter content
mainly refers to the URL, HTTP information--the Subject, To, From
domain in Java Applet, JavaScript, ActiveX and e-mail. Value zero
indicates the opposite.
Element defDOS is Boolean. Value one indicates this firewall can
prevent or reduce the DOS (Denial of Service) attacks to a certain
extent, while value zero is the opposite.
Element rtInRes is Boolean. It indicates whether this firewall can
provide real-time intrusion prevention function. If value of this
element is one, this firewall can adjust the dynamic response when
invasion happens, and block malicious message. If value is zero, it
indicates this firewall don't support this function.
Element autoLogScan is Boolean which indicates whether the firewall
has automatic analysis and scan log function. If value is one,
autoLogScan can obtain detailed log statistical results through
scanning. Value zero indicates the opposite.
OtherFirewallData MAY also be added to the sequence, and can be used
after definition.
BasicInfo is a SEQUENCE of two IA5Strings and a Boolean value which
together specify the basis performance of the certain software.
Element version contains version number information of the software.
Element manufacturer use IA5String to indicate the developer of the
software. The last element (renewal) MUST indicate whether the
corresponding software is up-to-date. For example, an up-to-date
KAPERSRY Anti-Virus V5.3 is represented as:
version = 5.3
manufacturer = KAPERSRY
renewal = 1
Chen, et al. Expires April 18, 2011 [Page 8]
Internet-Draft X.509extension with Security Information October 2010
OperatingSystem is provided by OSData type, which is an INTEGER
because OS data is private. OSData is abstracted as a security score,
which indicates Operating System security status of the subject.
Security score is an integer gained through local scanning of OS
data information and specified calculation, ranged in [0, 99].
The bigger the numerical value is, the more safe it will be. OS data
information CAN include version, manufacturer, update cycle and
so on.
VulnerabilityDatabase is provided by VDDate, which is a BOOLEAN value
indicates whether the vulnerability database is up-to-date. A value
of zero indicates the Vulnerability Database of the subject is
outdated; a value of one indicates the Vulnerability Database of the
subject is up to date, which is safe.
MaliciousPlug-in is provided by MPIData. MPIData is a SEQUENCE
contains any defined malicious plug-in with its details, such as
name, manufacturer. The more malicious plug-in exists in the user,
the less safe it is.
3. Security Considerations
This X.509 extension contains private security information, i.e.,
operation system information, so we abstract it into security scores
to ensure confidentiality of specific information.
The trusted entity (or a trusted third party) MUST ensure that the
correct values for the security information are inserted in each
issued certificate, otherwise a user may reject a particular
certificate if it encounters information it doesn't recognize or
cannot process.
4. IANA Considerations
Certificate extensions and extended key usage values are identified
by object identifiers (OIDs). The OIDs used in this document are
derived from X.509 [X.509-97]. No further action by the IANA is
necessary for this document or any anticipated updates.
5. References
5.1 Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Chen, et al. Expires April 18, 2011 [Page 9]
Internet-Draft X.509extension with Security Information October 2010
[RFC5280] D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley
and W. Polk, "Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL)
Profile", RFC 5280, May 2008.
[X.690] ITU-T Recommendation X.690 (1997) | ISO/IEC 8825-1:1998,
"Information Technology - ASN.1 Encoding Rules:
Specification of Basic Encoding Rules(BER), Canonical
Encoding Rules (CER) and Distinguished Encoding
Rules (DER)".
5.2 Informative References
[RFC 4059] Linsenbardt, D., Pontius, S., Sturgeon, A., "Internet
X.509 Public Key Infrastructure Warranty Certificate
Extension", RFC4059, May 2005.
[RFC 3779] Lynn, C., Kent, S., Seo, K., "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004.
[X.509-97] ITU-T. Recommendation X.509: The Directory-Authentication
Framework. 1997.
Appendix - ASN.1 Modules
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- OID Arcs
id-pe OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)security(5)
mechanisms(5) pkix(7) 1 }
--Security Information Extension
id-pe-securityInfo OBJECT IDENTIFIER ::= { id-pe 25 }
SecurityInfo ::= CHOICE {
none NULL, --No security info provided
secInfo SecurityInformation --Explicit security info
}
SecurityInformation ::= SEQUENCE {
secValidityPeriod ValidityPeriod,
infoTime GeneralizedTime,
secData SecurityData
}
Chen, et al. Expires April 18, 2011 [Page 10]
Internet-Draft X.509extension with Security Information October 2010
ValidityPeriod ::= SEQUENCE {
notBefore GeneralizedTime,
notAfter GeneralizedTime
}
SecurityData ::= SEQUENCE {
antivirus (0) AntivirusData OPTIONAL,
firewall (1) FirewallData OPTIONAL,
operatingSystem (2) OSData OPTIONAL,
vulnerabilityDatabase (3) VDData OPTIONAL,
maliciousPlug-in (4) MPIData OPTIONAL,
otherSecData (5...MAX) ANY defined security data OPTIONAL
}
AntivirusData ::= SEQUENCE {
antivirusBase BasicInfo,
otherAntivirusData ANY defined AntivirusData OPTIONAL
}
FirewallData ::= SEQUENCE {
firewallBase BasicInfo,
supFTPFileFilter BOOLEAN,
supAntivirus BOOLEAN,
supConFilter BOOLEAN,
defDOS BOOLEAN,
rtInRes BOOLEAN,
autoLogScan BOOLEAN,
otherFirewallData ANY defined FirewallData OPTIONAL
}
BasicInfo ::= SEQUENCE {
version IA5String,
manufacturer IA5String,
renewal BOOLEAN
}
OSData ::= INTERGER
VDData ::= BOOLEAN
MPIData ::= SEQUENCE {
malPlugIn ANY defined malicious Plug-In
}
END
Chen, et al. Expires April 18, 2011 [Page 11]
Internet-Draft X.509extension with Security Information October 2010
Authors' Addresses
Shuyi Chen
ZTE Corpoporation
17/F, ZTE Plaza, No.19, East HuaYuan Road
Haidian District, Beijing
P.R.China, 100191
Tel:+86-10-82963667
Fax:+86-10-59932043
Email:chen.shuyi@zte.com.cn
Yuting Liu
Mobile lIfe and New mEdia Lab, BUPT.
P.O. Box 92, No.10,
Xitucheng Road BeiJing, Haidian District 100876
P.R.China
Email: viviytliu@gmail.com
Xiaofeng Qiu
Mobile lIfe and New mEdia Lab, BUPT.
P.O. Box 92, No.10,
Xitucheng Road BeiJing, Haidian District 100876
P.R.China
Email: qiuxiaofeng@gmail.com
Cheng Cheng
Mobile lIfe and New mEdia Lab, BUPT.
P.O. Box 92, No.10,
Xitucheng Road BeiJing, Haidian District 100876
P.R.China
Email: chengcheng20090901@gmail.com
Chunhong Zhang
Mobile lIfe and New mEdia Lab, BUPT.
P.O. Box 92, No.10,
Xitucheng Road BeiJing, Haidian District 100876
P.R.China
Email: zhangch.bupt.001@gmail.com
Chen, et al. Expires April 18, 2011 [Page 12]