当前位置:文档之家› rfc5035.Enhanced Security Services (ESS) Update Adding CertID Algorithm Agility

rfc5035.Enhanced Security Services (ESS) Update Adding CertID Algorithm Agility

rfc5035.Enhanced Security Services (ESS) Update Adding CertID Algorithm Agility
rfc5035.Enhanced Security Services (ESS) Update Adding CertID Algorithm Agility

Network Working Group J. Schaad Request for Comments: 5035 Soaring Hawk Consulting Updates: 2634 August 2007 Category: Standards Track

Enhanced Security Services (ESS) Update:

Adding CertID Algorithm Agility

Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for

improvements. Please refer to the current edition of the "Internet

Official Protocol Standards" (STD 1) for the standardization state

and status of this protocol. Distribution of this memo is unlimited. Abstract

In the original Enhanced Security Services for S/MIME document (RFC

2634), a structure for cryptographically linking the certificate to

be used in validation with the signature was introduced; this

structure was hardwired to use SHA-1. This document allows for the

structure to have algorithm agility and defines a new attribute for

this purpose.

Table of Contents

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Notation . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Updates to RFC 2634 . . . . . . . . . . . . . . . . . . . 2

2. Replace Section 5.4 ’Signing Certificate Attribute

Definitions’ . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Insert New Section 5.4.1 ’Signing Certificate Attribute

Definition Version 2’ . . . . . . . . . . . . . . . . . . . . 4 4. Insert New Section 5.4.1.1 ’Certificate Identification

Version 2’ . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. Insert New Section 5.4.2 ’Signing Certificate Attribute

Definition Version 1’ . . . . . . . . . . . . . . . . . . . . 7 6. Insert New Section 5.4.2.1 ’Certificate Identification

Version 1’ . . . . . . . . . . . . . . . . . . . . . . . . . . 8

7. Security Considerations . . . . . . . . . . . . . . . . . . . 9

8. Normative References . . . . . . . . . . . . . . . . . . . . . 10 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 11 Schaad Standards Track [Page 1]

1. Introduction

In the original Enhanced Security Services (ESS) for S/MIME document [ESS], a structure for cryptographically linking the certificate to

be used in validation with the signature was defined. This

structure, called ESSCertID, identifies a certificate by its hash.

The structure is hardwired to use a SHA-1 hash value. The recent

attacks on SHA-1 require that we define a new attribute that allows

for the use of different algorithms. This document performs that

task.

This document defines the structure ESSCertIDv2 along with a new

attribute SigningCertificateV2, which uses the updated structure.

This document allows for the structure to have algorithm agility by

including an algorithm identifier and defines a new signed attribute to use the new structure.

This document specifies the continued use of ESSCertID to ensure

compatibility when SHA-1 is used for certificate disambiguation.

1.1. Notation

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 [RFC2119].

1.2. Updates to RFC 2634

This document updates Section 5.4 of RFC 2634. Once the updates are applied, the revised section will have the following structure:

5.4 Signing Certificate Attribute Definitions

5.4.1 Signing Certificate Attribute Definition Version 2

5.4.1.1 Certificate Identification Version 2

5.4.2 Signing Certificate Attribute Definition Version 1

5.4.2.1 Certificate Identification Version 1

In addition, the ASN.1 module in Appendix A is replaced.

Schaad Standards Track [Page 2]

2. Replace Section 5.4 ’Signing Certificate Attribute Definitions’

5.4 Signing Certificate Attribute Definitions

The signing certificate attribute is designed to prevent simple

substitution and re-issue attacks, and to allow for a restricted set of certificates to be used in verifying a signature.

Two different attributes exist for this due to a flaw in the original design. The only substantial difference between the two attributes

is that SigningCertificateV2 allows for hash algorithm agility, while SigningCertificate forces the use of the SHA-1 hash algorithm. With the recent advances in the ability to create hash collisions for

SHA-1, it is wise to move forward sooner rather than later.

When the SHA-1 hash function is used, the SigningCertificate

attribute MUST be used. The SigningCertificateV2 attribute MUST be

used if any algorithm other than SHA-1 is used and SHOULD NOT be used for SHA-1. Applications SHOULD recognize both attributes as long as they consider SHA-1 able to distinguish between two different

certificates, (i.e., the possibility of a collision is sufficiently

low). If both attributes exist in a single message, they are

independently evaluated.

Four cases exist that need to be taken into account when using this

attribute for correct processing:

1. Signature validates and the hashes match: This is the success

case.

2. Signature validates and the hashes do not match: In this case,

the certificate contained the correct public key, but the

certificate containing the public key is not the one that the

signer intended to be used. In this case the application should attempt a search for a different certificate with the same public key and for which the hashes match. If no such certificate can

be found, this is a failure case.

3. Signature fails validation and the hashes match: In this case, it can be assumed that the signature has been modified in some

fashion. This is a failure case.

4. Signature fails validation and the hashes do not match: In this

case, it can be either that the signature has been modified, or

that the wrong certificate has been used. Applications should

attempt a search for a different certificate that matches the

hash value in the attribute and use the new certificate to retry the signature validation.

Schaad Standards Track [Page 3]

3. Insert New Section 5.

4.1 ’Signing Certificate Attribute Definition

Version 2’

5.4.1 Signing Certificate Attribute Definition Version 2

The signing certificate attribute is designed to prevent the simple

substitution and re-issue attacks, and to allow for a restricted set of certificates to be used in verifying a signature.

SigningCertificateV2 is identified by the OID:

id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1)

member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)

smime(16) id-aa(2) 47 }

The attribute has the ASN.1 definition:

SigningCertificateV2 ::= SEQUENCE {

certs SEQUENCE OF ESSCertIDv2,

policies SEQUENCE OF PolicyInformation OPTIONAL

}

certs

contains the list of certificates that are to be used in

validating the message. The first certificate identified in the

sequence of certificate identifiers MUST be the certificate used

to verify the signature. The encoding of the ESSCertIDv2 for this certificate SHOULD include the issuerSerial field. If other

constraints ensure that issuerAndSerialNumber will be present in

the SignerInfo, the issuerSerial field MAY be omitted. The

certificate identified is used during the signature verification

process. If the hash of the certificate does not match the

certificate used to verify the signature, the signature MUST be

considered invalid.

If more than one certificate is present, subsequent certificates

limit the set of certificates that are used during validation.

Certificates can be either attribute certificates (limiting

authorizations) or public key certificates (limiting path

validation). The issuerSerial field (in the ESSCertIDv2

structure) SHOULD be present for these certificates, unless the

client who is validating the signature is expected to have easy

access to all the certificates required for validation. If only

the signing certificate is present in the sequence, there are no

restrictions on the set of certificates used in validating the

signature.

Schaad Standards Track [Page 4]

policies

contains a sequence of policy information terms that identify

those certificate policies that the signer asserts apply to the

certificate, and under which the certificate should be relied

upon. This value suggests a policy value to be used in the

relying party’s certification path validation. The definition of PolicyInformation can be found in [RFC3280].

If present, the SigningCertificateV2 attribute MUST be a signed

attribute; it MUST NOT be an unsigned attribute. CMS defines

SignedAttributes as a SET OF Attribute. A SignerInfo MUST NOT

include multiple instances of the SigningCertificateV2 attribute.

CMS defines the ASN.1 syntax for the signed attributes to include

attrValues SET OF AttributeValue. A SigningCertificateV2 attribute

MUST include only a single instance of AttributeValue. There MUST

NOT be zero or multiple instances of AttributeValue present in the

attrValues SET OF AttributeValue.

4. Insert New Section

5.4.1.1 ’Certificate Identification Version 2’

Insert the following text as a new section.

5.4.1.1 Certificate Identification Version 2

The best way to identify certificates is an often-discussed issue.

The ESSCertIDv2 structure supplies two different fields that are used for this purpose.

The hash of the entire certificate allows for a verifier to check

that the certificate used in the verification process was the same

certificate the signer intended. Hashes are convenient in that they are frequently used by certificate stores as a method of indexing and retrieving certificates as well. The use of the hash is required by this structure since the detection of substituted certificates is

based on the fact they would map to different hash values.

The issuer/serial number pair is the method of identification of

certificates used in [RFC3280]. That document imposes a restriction for certificates that the issuer distinguished name must be present. The issuer/serial number pair would therefore normally be sufficient to identify the correct signing certificate. (This assumes the same issuer name is not reused from the set of trust anchors.) The

issuer/serial number pair can be stored in the sid field of the

SignerInfo object. However, the sid field is not covered by the

signature. In the cases where the issuer/serial number pair is not

used in the sid or the issuer/serial number pair needs to be signed, it SHOULD be placed in the issuerSerial field of the ESSCertIDv2

structure.

Schaad Standards Track [Page 5]

Attribute certificates and additional public key certificates

containing information do not have an issuer/serial number pair

represented anywhere in a SignerInfo object. When an attribute

certificate or an additional public key certificate is not included

in the SignedData object, it becomes much more difficult to get the

correct set of certificates based only on a hash of the certificate. For this reason, these certificates SHOULD be identified by the

IssuerSerial object.

This document defines a certificate identifier as:

ESSCertIDv2 ::= SEQUENCE {

hashAlgorithm AlgorithmIdentifier

DEFAULT {algorithm id-sha256},

certHash Hash,

issuerSerial IssuerSerial OPTIONAL

}

Hash ::= OCTET STRING

IssuerSerial ::= SEQUENCE {

issuer GeneralNames,

serialNumber CertificateSerialNumber

}

The fields of ESSCertIDv2 are defined as follows:

hashAlgorithm

contains the identifier of the algorithm used in computing

certHash.

certHash

is computed over the entire DER-encoded certificate (including the signature) using the SHA-1 algorithm.

issuerSerial

holds the identification of the certificate. The issuerSerial

would normally be present unless the value can be inferred from

other information (e.g., the sid field of the SignerInfo object). The fields of IssuerSerial are defined as follows:

issuer

contains the issuer name of the certificate. For non-attribute

certificates, the issuer MUST contain only the issuer name from

the certificate encoded in the directoryName choice of

GeneralNames. For attribute certificates, the issuer MUST contain the issuer name field from the attribute certificate.

Schaad Standards Track [Page 6]

serialNumber

holds the serial number that uniquely identifies the certificate

for the issuer.

5. Insert New Section 5.4.2 ’Signing Certificate Attribute Definition

Version 1’

(Note: This section does not present new material. This section

contains the original contents of Section 5.4 in [ESS], which are

retained with minor changes in this specification to achieve

backwards compatibility.)

Insert the following text as a new section.

5.4.2 Signing Certificate Attribute Definition Version 1

The signing certificate attribute is designed to prevent the simple

substitution and re-issue attacks, and to allow for a restricted set of certificates to be used in verifying a signature.

The definition of SigningCertificate is

SigningCertificate ::= SEQUENCE {

certs SEQUENCE OF ESSCertID,

policies SEQUENCE OF PolicyInformation OPTIONAL

}

id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1)

member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)

smime(16) id-aa(2) 12 }

The first certificate identified in the sequence of certificate

identifiers MUST be the certificate used to verify the signature.

The encoding of the ESSCertID for this certificate SHOULD include the issuerSerial field. If other constraints ensure that

issuerAndSerialNumber will be present in the SignerInfo, the

issuerSerial field MAY be omitted. The certificate identified is

used during the signature verification process. If the hash of the

certificate does not match the certificate used to verify the

signature, the signature MUST be considered invalid.

If more than one certificate is present in the sequence of

ESSCertIDs, the certificates after the first one limit the set of

certificates that are used during validation. Certificates can be

either attribute certificates (limiting authorizations) or public key certificates (limiting path validation). The issuerSerial field (in the ESSCertID structure) SHOULD be present for these certificates,

unless the client who is validating the signature is expected to have Schaad Standards Track [Page 7]

easy access to all the certificates required for validation. If only the signing certificate is present in the sequence, there are no

restrictions on the set of certificates used in validating the

signature.

The sequence of policy information terms identifies those certificate policies that the signer asserts apply to the certificate, and under which the certificate should be relied upon. This value suggests a

policy value to be used in the relying party’s certification path

validation.

If present, the SigningCertificate attribute MUST be a signed

attribute; it MUST NOT be an unsigned attribute. Cryptographic

Message Syntax (CMS) defines SignedAttributes as a SET OF Attribute.

A SignerInfo MUST NOT include multiple instances of the

SigningCertificate attribute. CMS defines the ASN.1 syntax for the

signed attributes to include attrValues SET OF AttributeValue. A

SigningCertificate attribute MUST include only a single instance of

AttributeValue. There MUST NOT be zero or multiple instances of

AttributeValue present in the attrValues SET OF AttributeValue.

6. Insert New Section 5.4.2.1 ’Certificate Identification Version 1’

(Note: This section does not present new material. This section

contains the original contents of Section 5.4 in [ESS], which are

retained with minor changes in this specification to achieve

backwards compatibility.)

Delete old Section 5.4.1

Insert the following as new text

5.4.2.1 Certificate Identification Version 1

Certificates are uniquely identified using the information in the

ESSCertID structure. Discussion can be found in Section 5.4.1.1.

This document defines a certificate identifier as:

ESSCertID ::= SEQUENCE {

certHash Hash,

issuerSerial IssuerSerial OPTIONAL

}

Schaad Standards Track [Page 8]

The fields of ESSCertID are defined as follows:

certHash

is computed over the entire DER-encoded certificate (including the signature).

issuerSerial

holds the identification of the certificate. This field would

normally be present unless the value can be inferred from other

information (e.g., the sid field of the SignerInfo object).

The fields of IssuerSerial are discussed in Section 5.4.1.1

7. Security Considerations

This document is designed to address the security issue of a

substituted certificate used by the validator. If a different

certificate is used by the validator than the signer, the validator

may not get the correct result. An example of this would be that the original certificate was revoked and a new certificate with the same public key was issued for a different individual. Since the issuer/ serial number field is not protected, the attacker could replace this and point to the new certificate and validation would be successful. The attributes defined in this document are to be placed in locations that are protected by the signature. This attribute does not provide any additional security if placed in an unsigned or un-authenticated location.

The attributes defined in this document permit a signer to select a

hash algorithm to identify a certificate. A poorly selected hash

algorithm may provide inadequate protection against certificate

substitution or result in denial of service for this protection. By employing the attributes defined in this specification with the same hash algorithm used for message signing, the sender can ensure that

these attributes provide commensurate security.

Since recipients must support the hash algorithm to verify the

signature, selecting the same hash algorithm also increases the

likelihood that the hash algorithm is supported in the context of

certificate identification. Note that an unsupported hash algorithm for certificate identification does not preclude validating the

message but does deny the message recipient protection against

certificate substitution.

To ensure that legacy implementations are provided protection against certificate substitution, clients are permitted to include both

ESScertID and ESScertIDv2 in the same message. Since these

Schaad Standards Track [Page 9]

attributes are generated and evaluated independently, the contents

could conceivably be in conflict. Specifically, where a signer has

multiple certificates containing the same public key, the two

attributes could specify different signing certificates. The result of signature processing may vary depending on which certificate is

used to validate the signature.

Recipients that attempt to evaluate both attributes may choose to

reject such a message.

8. Normative References

[ESS] Hoffman, P., "Enhanced Security Services for S/MIME",

RFC 2634, June 1999.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate

Requirement Levels", RFC 2119, BCP 14, March 1997.

[RFC3280] Housley, R., Ford, W., Polk, W., and D. Solo, "Internet

X.509 Public Key Infrastructure Certificate and

Certificate Revocation List (CRL) Profile", RFC 3280,

April 2002.

[RFC3852] Housley, R., "Cryptographic Message Syntax (CMS)",

RFC 3852, July 2004.

[UTF8] Yergeau, F., "UTF-8, a transformation format of ISO

10646", STD 63, RFC 3629, November 2003.

Schaad Standards Track [Page 10]

Appendix A. ASN.1 Module

Replace the ASN.1 module in RFC 2634 with this one. ExtendedSecurityServices-2006

{ iso(1) member-body(2) us(840) rsadsi(113549)

pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-ess-2006(30) } DEFINITIONS IMPLICIT TAGS ::=

BEGIN

IMPORTS

-- Cryptographic Message Syntax (CMS) [RFC3852]

ContentType, IssuerAndSerialNumber, SubjectKeyIdentifier

FROM CryptographicMessageSyntax2004 { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16)

modules(0) cms-2004(24)}

-- PKIX Certificate and CRL Profile, Section A.1 Explicity Tagged Module -- 1988 Syntax [RFC3280]

AlgorithmIdentifier, CertificateSerialNumber

FROM PKIX1Explicit88 { iso(1) identified-organization(3) dod(6)

internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-explicit(18) }

-- PKIX Certificate and CRL Profile, Sec A.2 Implicitly Tagged Module,

-- 1988 Syntax [RFC3280]

PolicyInformation, GeneralNames

FROM PKIX1Implicit88 {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit(19)};

-- Extended Security Services

-- The construct "SEQUENCE SIZE (1..MAX) OF" appears in several ASN.1

-- constructs in this module. A valid ASN.1 SEQUENCE can have zero or

-- more entries. The SIZE (1..MAX) construct constrains the SEQUENCE to -- have at least one entry. MAX indicates the upper bound is

-- unspecified. Implementations are free to choose an upper bound that -- suits their environment.

-- UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING

-- The contents are formatted as described in [UTF8]

-- Section 2.7

ReceiptRequest ::= SEQUENCE {

signedContentIdentifier ContentIdentifier,

receiptsFrom ReceiptsFrom,

receiptsTo SEQUENCE SIZE (1..ub-receiptsTo) OF GeneralNames

}

Schaad Standards Track [Page 11]

ub-receiptsTo INTEGER ::= 16

id-aa-receiptRequest OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 1} ContentIdentifier ::= OCTET STRING

id-aa-contentIdentifier OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 7} ReceiptsFrom ::= CHOICE {

allOrFirstTier [0] AllOrFirstTier, -- formerly "allOrNone [0]AllOrNone" receiptList [1] SEQUENCE OF GeneralNames

}

AllOrFirstTier ::= INTEGER { -- Formerly AllOrNone

allReceipts (0),

firstTierRecipients (1)

}

-- Section 2.8

Receipt ::= SEQUENCE {

version ESSVersion,

contentType ContentType,

signedContentIdentifier ContentIdentifier,

originatorSignatureValue OCTET STRING

}

id-ct-receipt OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)

rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-ct(1) 1}

ESSVersion ::= INTEGER { v1(1) }

-- Section 2.9

ContentHints ::= SEQUENCE {

contentDescription UTF8String (SIZE (1..MAX)) OPTIONAL,

contentType ContentType

}

id-aa-contentHint OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 4}

-- Section 2.10

MsgSigDigest ::= OCTET STRING

Schaad Standards Track [Page 12]

id-aa-msgSigDigest OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 5}

-- Section 2.11

ContentReference ::= SEQUENCE {

contentType ContentType,

signedContentIdentifier ContentIdentifier,

originatorSignatureValue OCTET STRING

}

id-aa-contentReference OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 10 }

-- Section 3.2

ESSSecurityLabel ::= SET {

security-policy-identifier SecurityPolicyIdentifier,

security-classification SecurityClassification OPTIONAL,

privacy-mark ESSPrivacyMark OPTIONAL,

security-categories SecurityCategories OPTIONAL

}

id-aa-securityLabel OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 2} SecurityPolicyIdentifier ::= OBJECT IDENTIFIER

SecurityClassification ::= INTEGER {

unmarked (0),

unclassified (1),

restricted (2),

confidential (3),

secret (4),

top-secret (5)

}(0..ub-integer-options)

ub-integer-options INTEGER ::= 256

ESSPrivacyMark ::= CHOICE {

pString PrintableString (SIZE (1..ub-privacy-mark-length)),

utf8String UTF8String (SIZE (1..MAX))

}

ub-privacy-mark-length INTEGER ::= 128

SecurityCategories ::= SET SIZE (1..ub-security-categories) OF

SecurityCategory

Schaad Standards Track [Page 13]

ub-security-categories INTEGER ::= 64

SecurityCategory ::= SEQUENCE {

type [0] OBJECT IDENTIFIER,

value [1] ANY DEFINED BY type

}

--Note: The aforementioned SecurityCategory syntax produces identical

--hex encodings as the following SecurityCategory syntax that is

--documented in the X.411 specification:

--

--SecurityCategory ::= SEQUENCE {

-- type [0] SECURITY-CATEGORY,

-- value [1] ANY DEFINED BY type }

--

--SECURITY-CATEGORY MACRO ::=

--BEGIN

--TYPE NOTATION ::= type | empty

--VALUE NOTATION ::= value (VALUE OBJECT IDENTIFIER)

--END

-- Section 3.4

EquivalentLabels ::= SEQUENCE OF ESSSecurityLabel

id-aa-equivalentLabels OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 9}

-- Section 4.4

MLExpansionHistory ::= SEQUENCE

SIZE (1..ub-ml-expansion-history) OF MLData

id-aa-mlExpandHistory OBJECT IDENTIFIER ::= { iso(1) member-body(2)

us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 3 }

ub-ml-expansion-history INTEGER ::= 64 MLData ::= SEQUENCE {

mailListIdentifier EntityIdentifier,

expansionTime GeneralizedTime,

mlReceiptPolicy MLReceiptPolicy OPTIONAL

}

EntityIdentifier ::= CHOICE {

issuerAndSerialNumber IssuerAndSerialNumber,

subjectKeyIdentifier SubjectKeyIdentifier

}

Schaad Standards Track [Page 14]

MLReceiptPolicy ::= CHOICE {

none [0] NULL,

insteadOf [1] SEQUENCE SIZE (1..MAX) OF GeneralNames,

inAdditionTo [2] SEQUENCE SIZE (1..MAX) OF GeneralNames

}

-- Section 5.4

SigningCertificate ::= SEQUENCE {

certs SEQUENCE OF ESSCertID,

policies SEQUENCE OF PolicyInformation OPTIONAL

}

id-aa-signingCertificate OBJECT IDENTIFIER ::= { iso(1)

member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)

smime(16) id-aa(2) 12 }

SigningCertificateV2 ::= SEQUENCE {

certs SEQUENCE OF ESSCertIDv2,

policies SEQUENCE OF PolicyInformation OPTIONAL

}

id-aa-signingCertificateV2 OBJECT IDENTIFIER ::= { iso(1)

member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)

smime(16) id-aa(2) 47 }

id-sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)

country(16) us(840) organization(1) gov(101)

csor(3) nistalgorithm(4) hashalgs(2) 1 }

ESSCertIDv2 ::= SEQUENCE {

hashAlgorithm AlgorithmIdentifier

DEFAULT {algorithm id-sha256},

certHash Hash,

issuerSerial IssuerSerial OPTIONAL

}

ESSCertID ::= SEQUENCE {

certHash Hash,

issuerSerial IssuerSerial OPTIONAL

}

Hash ::= OCTET STRING IssuerSerial ::= SEQUENCE {

issuer GeneralNames,

serialNumber CertificateSerialNumber

}

END

Schaad Standards Track [Page 15]

-- of ExtendedSecurityServices-2006

Author’s Address

Jim Schaad

Soaring Hawk Consulting

PO Box 675

Gold Bar, WA 98251

EMail: jimsch@https://www.doczj.com/doc/965780823.html,

Schaad Standards Track [Page 16]

Full Copyright Statement

Copyright (C) The IETF Trust (2007).

This document is subject to the rights, licenses and restrictions

contained in BCP 78, and except as set forth therein, the authors

retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED

WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property

The IETF takes no position regarding the validity or scope of any

Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in

this document or the extent to which any license under such rights

might or might not be available; nor does it represent that it has

made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be

found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any

assurances of licenses to be made available, or the result of an

attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this

specification can be obtained from the IETF on-line IPR repository at https://www.doczj.com/doc/965780823.html,/ipr.

The IETF invites any interested party to bring to its attention any

copyrights, patents or patent applications, or other proprietary

rights that may cover technology that may be required to implement

this standard. Please address the information to the IETF at

ietf-ipr@https://www.doczj.com/doc/965780823.html,.

Schaad Standards Track [Page 17]

No bean named 'springSecurityFilterChain' is defined=

No bean named 'springSecurityFilterChain' is defined Exception starting filter springSecurityFilterChain org.springframework.beans.factory.NoSuchBeanDefinitionExceptio n: No bean named 'springSecurityFilterChain' is defined at org.springframework.beans.factory.support.DefaultListableBeanFa ctory.getBeanDefinition(DefaultListableBeanFactory.java:387) at org.springframework.beans.factory.support.AbstractBeanFactory.g etMergedLocalBeanDefinition(AbstractBeanFactory.java:971) at org.springframework.beans.factory.support.AbstractBeanFactory.d oGetBean(AbstractBeanFactory.java:246) at org.springframework.beans.factory.support.AbstractBeanFactory.g etBean(AbstractBeanFactory.java:185) at org.springframework.beans.factory.support.AbstractBeanFactory.g etBean(AbstractBeanFactory.java:168) at org.springframework.context.support.AbstractApplicationContext.g etBean(AbstractApplicationContext.java:884)

SpringSecurity源码分析

DelegatingFilterProxy源码分析 说明该方法会在DelegatingFilterProxy初始化的时候调用,目的是创建一个链式调用的Filter类型是FilterChainProxy该类实际上是Filter的一个实现类。 FilterChainProxy源码分析

①FilterInvocation是Spring的一个不同的Bean该方方法中实际上就上将ServletRequest和 ServletResponse转换为HttpServletRequest和HttpServletResponse。 ②重点看一下getFilters方法。

③如果该请求下没有相应的Security过滤器,就直接放行 ④创建一个VertualFilterChain该Chain作为FilterChain下的一个子Chain主要是实现 SpringSecurity相关Filter的链式调用。 接下来看看VertualFilterChain的doFilter调用代码: ⑤调用VirtualFilterChain的doFilter方法,调用参数参数链式调用。 核心过滤器介绍SecurityContextPersistenceFilter 该Filter主要是通过SecurityContext作为SpringSecurity执行的上下文,这里一般会保存用的的登录的Authentication信息。而且SpringSecurity会在请求路由的时候将SecurityContext作为HttpSession的一个命名属性存储。同样SpringSecurty会通过SecurityContextHolder类来方便的获取SecurityContext里面的信息。在每一次请求结束的时候,该filter负责清空SecurityContextHolder里面的内容。SpringSecurity建议为了安全考虑,不建议用户直接的去访问HttpSession。最简单直接的做法就是直接操作SecurityContextHolder类。 注意:这里如果在多个request并发访问的时候,会出现多个Request中从Session获取的是同一个SecurityContext,此时可能会出现一个SecurityContext被多个线程共同访问。此时为了避免多线程之间由于访问的一个session获取的同一个SecurityContext修改造成的影响,建议用户可以自己创建一个使用SecurityContextHolder的createEmptyContext方法创建一个新的临时的对象为每一个请求。并且将用户的认证信息存储到SecurityContext中,这样就不会影响其他线程中的数据了。

SpringSecurity使用记录(五)-- 配置

SpringSecurity使用记录(五)-- 配置 研究了好长时间,不知道从哪里下手。新的版本,很多东西在网上找不到,只能看他们的文档,当然这些文档相当不错,就看是否耐心的研究了!总是有急躁的心理作祟,不能专心研读,却处处碰壁,效率上反而未达预期效果! 终于,在无数次的沮丧下,稍微看到了点光亮!前面的文章太过皮毛,接下来的一些,希望能更加实际的,更加深入的分析每一个过程! 一直通过默认配置进行设置: namespace(是security 3.0,网上也看到一些兄弟描述的是3.0,但是总是不符合我这里的namespace配置): 按照默认配置的http(这是用来根据namespace设置的基本的security过滤器chain): auto-config=true时,就相当于 也就是使用了默认的过滤器。 我最开始的想法是能够把本地的login信息(不是调用spring security的login方法),传入到spring security的验证过滤器里面。 这里有一个比较关键的问题,就是封装他们的过滤器(或者仅仅是知道他们到底是哪些过滤器在起作用): 表1 Alia s Filter Class Namespa ce Element or Attribute CHA NNE L_FI LTE R Chan nelPro cessin gFilte r http/interc ept-url@re quires-cha nnel CON CUR REN Concu rrent Sessi session-m anagement /concurren

SpringSecurity_openId完整配置攻略

Spring Security2.04+OpenID 配置攻略 目录 1.QQ互联中的O PEN ID (3) 2.配置环境 (3) 3、S PRING S ECURITY的XML配置 (3) 4、OPENID登录页 (17) 5、申请O PEN ID账号 (17)

6、在本地登录O PEN ID (18) 7、其他注意事项 (19)

1.QQ互联中的OpenID QQ互联接口中,在QQ登陆成功后,会返回一个OpenID,但是此OpenID是一个大写字母和数字的组合。与一般的OpenID的格式不同,正常的OpenID应该是http 开头的URL格式,例如https://www.doczj.com/doc/965780823.html,/,本文介绍的是国际通用的OpenID认证协议+Spring Security配置过程。 2.配置环境 本文的介绍的配置过程是在OpenJWeb2.63环境下配置的,OpenJWeb2.63集成了S2SH 和Spring Security2.0.4,大家也可以自己搭建一个S2SH+Spring Security2.04的环境,在环境搭建好以后,我们需要从网上找到openid4java-0.9.8.jar,放到WEB-INF\lib目录下。有了这个驱动,我们就可以在spring security中进行openID的认证登陆。 另外,我们需要将spring-security-openid-2.0.4.jar放到lib目录中。 在web.xml文件中,我们需要增加一段配置以支持openID认证过滤器: springSecurityFilterChain /j_spring_openid_security_check 3、Spring Security的xml配置 特别注意Spring Security2.0.4的头部配置,因为网上版本众多,有的是以作为bean标签,有的是以作为bean标签,如果不设置正确的xml头部,则xml中无法使用像 这种标签。可以参考下面的xml头: contextConfigLocation classpath:applicationContext*.xml org.springframework.web.context.ContextLoaderListener springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy

感觉系统

感觉器官练习题 一、单选题 1.下列哪项不属于感觉器官的是( ) A.耳 B.鼻 C.神经D.皮肤 E.以上均错 2.视器包括( ) A.眼球壁和附属结构 B.眼球壁和屈光装臵 C.眼球及其附属结构 D.眼球及其屈光装臵 E.眼球及其眼睑 3.眼球() A.壁仅由巩膜、脉络膜、视网膜构成 B.折光系统包括角膜、房水、晶状体和玻璃体 C.视神经盘是感光最敏锐的部位 D.房水由虹膜分泌形成 E.角膜中央一圆孔称瞳孔 4.巩膜() A.乳白色,厚而坚韧,是硬脑膜的延伸结构 B.前方与晶状体相连C.占纤维膜的前1/6 D.有屈光作用 E.以上均错 5.瞳孔大小() A.随眼压高低而变化 B.随光线强弱而变化 C.由睫状体收缩来调节D.与三叉神经眼神经的作用有关E.随晶状体突度变化而变化 7.眼前房是指() A.角膜与玻璃体之间腔隙 B.角膜与虹膜之间腔隙 C.虹膜与晶状体之 间腔隙 D.虹膜与玻璃体之间腔隙 E.角膜与晶状体之间腔隙 8.黄斑() A.位于视神经乳头(盘)外侧约3-4mm 处 B.感光作用强,但无辨色能力C.中央有中央凹,该处对光不敏感D.视网膜节细胞轴突由此向后穿出眼 球壁 E.此处无感光细胞,称为生理性盲点 9.上直肌收缩时,瞳孔转向()A.上内方 B.下内方 C.上外方 D.下外方 E.外侧 10.上斜肌可使() A.瞳孔转向上外方 B.瞳孔转向下外方 C.瞳孔转向上方D.瞳孔转向外侧 E.瞳孔 转向下方 11.眼球的折光装臵为() A.晶状体 B.角膜、晶 状体 C.角膜、房水、晶状 体 D.角膜、房水、晶状体、玻璃体 E.角 膜、房水、晶状体、玻璃体、视网膜 12.泪道包括() A.鼻泪管、泪小管 B.泪小管、 泪囊 C.泪小管、泪囊、鼻泪管 D.泪点、泪小管、泪囊、鼻泪管 E.泪腺、结膜囊、泪小管、泪囊、鼻 泪管 13.视网膜中央动脉来源于() A.颈内动脉B.颈外动脉 C.椎动脉 D.脑膜中动脉 E.面 动脉 17. 属于生理性盲点的是 A、脉络膜 B、角膜 C、虹膜 D、视轴 E、视网膜中央凹 14. 眼前房与后房的分界是() A.睫状体 B.虹膜 C.脉 络从 D.晶状体 E.玻璃体 15.关于中耳鼓室壁的描述中,何者是错误的() A.上壁为鼓室盖,分隔鼓室与颅中 窝 B.内壁为乳突窦壁 C.下壁为颈静脉壁,将鼓室与颅内 静脉起始部隔开 D.外侧壁为鼓膜 E.前壁为颈动脉壁,此壁上部有咽 鼓管鼓口 16. 位于鼓室内的结构是() A.球囊 B.面神经 C.听 小骨 D.螺旋器(Corti器) E.半规管 17.耳蜗( ) A.由软骨构成B.由蜗管围绕蜗轴约两周半形成的 C.仅分为前庭阶和鼓阶两部分D.前庭阶和鼓阶充满内淋巴 E.以上均不对 18.不属于位觉感受器的是() A.椭圆囊斑 B.球囊斑 C.壶 腹嵴 D.螺旋器 E.以上均不对 19.前庭阶和鼓阶借何结构相通 () A.蜗孔 B.蜗管 C.蜗 窗 D.前庭窗 E.联合管 20.将声波的振动传人内耳的是 () A.听小骨 B.前庭 C.耳

spring security 中启用角色继承、ACL与CAS

spring security 中启用角色继承、ACL与CAS

4、Spring Security 安全权限管理手册

Spring Security 3.0 安全权限管理手册 参考文献: 1、https://www.doczj.com/doc/965780823.html,中的spring security权限管理手册。 2、spring security3.0权限管理手册 3、spring的相关资料。 本文档内容仅仅作为公司权限管理资料用,对于企业来说,权限管理将是系统中的非常重要的一个模块,权限的设计也是参考相关资料进行整理和补充。系统将通过数据库进行管理用户权限。 权限管理搭建要的问题: 1、区分Authentication(验证)与 Authorization(授权) 验证 这个用户是谁? 用户身份可靠吗? 授权 某用户A是否可以访问资源R 某用户A是否可以执行M操作 某用户A是否可以对资源R执行M操作 2、SS中的验证特点 支持多种验证方式 支持多种加密格式 支持组件的扩展和替换 可以本地化输出信息 3、SS中的授权特点 支持多种仲裁方式 支持组件的扩展和替换 支持对页面访问、方法访问、对象访问的授权。 4、SS核心安全实现 Web安全 通过配置Servlet Filter激活SS中的过滤器链 实现Session一致性验证 实现免登陆验证(Remember-Me验证) 提供一系列标签库进行页面元素的安全控制 方法安全 通过AOP模式实现安全代理 Web安全与方法安全均可以使用表达式语言定义访问规则 5、配置SS 配置Web.xml,应用安全过滤器 配置Spring,验证与授权部分 在web页面中获取用户身份

在web页面中应用安全标签库 实现方法级安全 6、配置web.xml 7、Spring配置文件中设置命名空间 8、通过数据库验证用户身份 9、完善web页面验证规则 10、自定义验证配置 11、本地化消息输出(国际化) 根据公司项目的开发要求和集合spring security3.0功能,公司将通过数据库进行对用户身份验证和授权,系统将建立5个基础表进行对权利的管理。 第一部分数据库设计 1、表设计

Spring Security 3.x 完整入门教程

Spring Security 3.x出来一段时间了,跟Acegi是大不同了,与2.x的版本也有一些小小的区别,网上有一些文档,也有人翻译Spring Security 3.x的guide,但通过阅读guide,无法马上就能很容易的实现一个完整的实例。 我花了点儿时间,根据以前的实战经验,整理了一份完整的入门教程,供需要的朋友们参考。 1,建一个web project,并导入所有需要的lib,这步就不多讲了。 2,配置web.xm l,使用Spring的机制装载: contextConfigLocation classpath:applicationContex t*.xm l org.springfram ework.web.contex t.ContextLoaderListener springSecurityFilterChain org.springfram ework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* login.jsp

Spring 安全管理手册

Spring Security 下一页Spring Security 安全权限管理手册 0.0.2 版权 ? 2009 Lingo 论坛:https://www.doczj.com/doc/965780823.html,/bbs/。 Email:xyz20003@https://www.doczj.com/doc/965780823.html,。 QQ群:3038490。 2009-05-26 13:41:40 序言 I. 基础篇 1. 一个简单的HelloWorld 1.1. 配置过滤器 1.2. 使用命名空间 1.3. 完善整个项目 1.4. 运行示例 2. 使用数据库管理用户权限 2.1. 修改配置文件 2.2. 数据库表结构 3. 自定义数据库表结构

3.1. 自定义表结构 3.2. 初始化数据 3.3. 获得自定义用户权限信息 3.3.1. 处理用户登陆 3.3.2. 检验用户权限 4. 自定义登陆页面 4.1. 实现自定义登陆页面 4.2. 修改配置文件 4.3. 登陆页面中的参数配置 4.4. 测试一下 5. 使用数据库管理资源 5.1. 数据库表结构 5.2. 初始化数据 5.3. 实现从数据库中读取资源信息 5.3.1. 需要何种数据格式 5.3.2. 替换原有功能的切入点 6. 控制用户信息 6.1. MD5加密 6.2. 盐值加密 6.3. 用户信息缓存 6.4. 获取当前用户信息 II. 保护web篇 7. 图解过滤器 7.1. HttpSessionContextIntegrationFilter 7.2. LogoutFilter 7.3. AuthenticationProcessingFilter 7.4. DefaultLoginPageGeneratingFilter 7.5. BasicProcessingFilter 7.6. SecurityContextHolderAwareRequestFilter 7.7. RememberMeProcessingFilter 7.8. AnonymousProcessingFilter 7.9. ExceptionTranslationFilter 7.10. SessionFixationProtectionFilter 7.11. FilterSecurityInterceptor III. 保护method篇 IV. ACL篇 V. 最佳实践篇

(完整版)感觉系统检查--浅感觉

感觉系统检查--浅感觉 1.痛觉:用大头针的针尖轻刺被检者皮肤以检查痛觉,左右远近对比并记录感觉障碍类型(过敏、减退或消失)与范围。 2.触觉:用棉签或软纸片轻触被检者的皮肤或粘膜。 3.温度觉:用盛有热水(40 ℃~50 ℃)或冷水(5~10 ℃)的试管接触皮肤,辨别冷热感觉。深感觉 1、运动觉:被检者闭目,检查者轻轻夹住被检者的手指或足趾两侧,上下移动5°左右,令被检者说出“向上”或“向下”。如感觉不明显可加大活动幅度或测试较大的关节。 2、位置觉:被检者闭目,检查者将其肢体摆成某一姿势,请患者描述该姿势或用对侧肢体模仿。 3、振动觉:用振动着的音叉柄置于骨隆起处(如内、外踝,手指、桡尺骨茎突、胫骨、膝盖等),询问有无振动感觉和持续时间,并两侧对比。 .腹壁反射(abdominal reflex):被检者仰卧,下肢稍屈曲,使腹壁松弛,然后用钝头竹签分别沿肋弓下缘(T7~8)、脐孔水平(T9 ~10)及腹股沟上(T11 ~12)的平行方向,由外向内轻划腹壁皮肤。正常反应是该侧腹肌收缩,脐孔向刺激部分偏移。 .提睾反射(cremasteric reflex)反射中心L1 ~2。 与检查腹壁反射相同,竹签由下而上轻划大腿上部内侧皮肤,反应为该侧提睾肌收缩使睾丸上提。 跖反射(plantar reflex) :反射中心S1~2。被检者仰卧、下肢伸直,医生手持被检者踝部。用钝头竹签划足底外侧,由足根向前至小趾根部足掌时转向内侧,正常反应为足趾跖屈(即Babinski征阴性)。 肛门反射:反射中心S4~5。用竹签轻划肛门周围皮肤,可引起肛门外括约肌收缩。 膝反射(k nee reflex)(L2~4) 坐位检查时,患者小腿完全松弛下垂,与大腿成直角,卧位检查则患者仰卧,检查者以左手托起其膝关节使之屈曲约120°,用右手持叩诊锤叩击膝盖髌骨下方股四头肌腱,可引起小腿伸展。 踝反射(ankle reflex) (S1~2) 又称跟腱反射。患者仰卧,屈膝约90°,检查者左手将其足部背屈成直角,以叩诊锤叩击跟腱,反应为腓肠肌收缩,足跖屈;或俯卧位,屈膝90°,检查者用左手按足跖,再扣击跟腱;或患者跪于床边,足悬于床外,扣击跟腱。 .Babinski巴宾斯基征取位与检查跖反射一样,用竹签沿患者足底外侧缘,由后向前至小趾跟部并转向内侧,阳性反应为踇趾背屈,其余各趾呈扇形展开。

spring security自定义决策管理器

spring security自定义决策管理器 首先介绍下Spring的决策管理器,其接口为AccessDecisionManager,抽象类为AbstractAccessDecisionManager。而我们要自定义决策管理器的话一般是继承抽象类而不去直接实现接口。 在Spring中引入了投票器(AccessDecisionVoter)的概念,有无权限访问的最终觉得权是由投票器来决定的,最常见的投票器为RoleVoter,在RoleVoter中定义了权限的前缀,先看下Spring在RoleVoter中是怎么处理授权的。 Authentication中是用户及用户权限信息,attributes是访问资源需要的权限,然后循环判断用户是否有访问资源需要的权限,如果有就返回ACCESS_GRANTED,通俗的说就是有权限。 Spring提供了3个决策管理器,至于这三个管理器是如何工作的请查看SpringSecurity源码 AffirmativeBased 一票通过,只要有一个投票器通过就允许访问 ConsensusBased 有一半以上投票器通过才允许访问资源 UnanimousBased 所有投票器都通过才允许访问 下面来实现一个简单的自定义决策管理器,这个决策管理器并没有使用投票器

decide这个方法没有任何的返回值,需要在没有通过授权时抛出AccessDeniedException。 如果有访问某个资源需要同时拥有两个或两个以上权限的情况,这时候就要通过自定义AccessDecisionVoter来实现了,这

个也很简单在这里就不赘述了。如果要在页面中使用hasRole()这样的表达式就需要注入WebExpressionVoter了。 在SpringSecurity中自定义权限前缀 权限的前缀默认是ROLE_,网上的很多例子是说,直接在配置文件中加上下面的配置就可以了。 亲测不管用的,我想应该不是我配置的问题,而是在我们配置了http auto-config="true"Spring就已经将AccessDecisionManager初始化好了,即便配置到之前也不行,因为这个初始化是Spring自己来完成的,它并没有把你配置的roleVoter注入到AccessDecisionManager中。那我们就来手动的注入AccessDecisionManager吧。 在http配置中有个access-decision-manager-ref属性,可以使我们手动注入AccessDecisionManager,下面是详细配置

第八章、感觉系统

感觉器:感受器:机体接受内、外环境各种刺激的结构。 副器:辅助装置 功能:感受器(接受刺激)神经冲动感觉神经→中枢→大脑皮质(产生相应的感觉) 视器:眼球角膜(无色透明)角膜和巩膜之间有巩膜静脉窦 纤维膜巩膜(白色) 眼球壁血管膜:虹膜,睫状体,脉络膜含大量血管和色素细胞 视网膜 房水 眼球内容物晶状体眼的屈光系统或屈光装置 玻璃体 角膜:占眼球纤维膜的前1/6,无色透明,曲度较大,有屈光作用,无血管(移植纤维膜不需配型),感觉神经末梢丰富,感觉极为敏锐。 巩膜:占纤维膜的前5/6,白色不透明,厚而坚韧,保护眼球内容物,后方有视神经穿出,并与视神经的鞘膜相延续。 巩膜与角膜相接处深面有一环形的巩膜静脉窦,是房水回流的通道。 虹膜:血管膜的最前部,呈圆盘状,中央为瞳孔。颜色与所含色素细胞多少有关,有明显种族差异。(黄色人色素较多,呈棕色) 瞳孔括约肌(环形)→副交感神经支配→缩瞳 瞳孔开大肌(放射状)→交感神经支配→扩瞳 血管膜睫状体:巩膜与角膜移行部的内侧,虹膜后外方的环形增厚部分。 后部:平坦光滑,称睫状环 前部:有许多向内突出的皱襞,称睫状窦。借睫状小带与晶状体相连 睫状体(内有睫状肌)→受副交感神经支配→产生房水,调节晶状体脉络膜:占眼球血管膜的后2/3,前端连于睫状体,后方有视神经通过。富有血管(营养作用)、色素细胞(暗室作用) 虹膜部 盲部睫状体部最内层:神经节细胞 视网膜内层:神经细胞层中层:传递神经冲动的双核细胞 视部外层:接受光刺激的感光细胞(视杆细胞、视锥细胞) “日锥夜杆” 外层:色素上皮层,紧贴脉络膜。 神经节细胞的轴突在视网膜后部集结成束,并形成圆盘状的隆起,称视神经盘(视神经乳头),之后穿过脉络膜和巩膜构成视神经。视神经盘在活体上呈淡红色,正常时边缘清楚,有视网膜中央血管出入眼球,无感光作用,故又称生理盲点。在视神经盘的颞侧约0.35cm处,有一黄色小区,称黄斑。其中央凹陷称中央凹,是感觉最敏锐的地方。 视网膜内、外两层之间连接疏松,在病理情况下两层分离,形成视网膜脱落。 房水:睫状体产生房水→后房→瞳孔→虹膜角膜角隙→巩膜静脉窦→眼静脉 眼球房:眼球内角膜和晶状体之间的空隙,被虹膜分为眼球前房和眼球后房,两房借瞳孔相通。 虹膜与角膜交界处的环形间隙称虹膜角膜角,又称前房角。其前外侧壁是由小梁构成的栅状壁,栅的空隙称虹膜角膜角隙,房水经此隙渗入静脉窦,是房水回流的通道。 房水:屈光作用。营养角膜和晶状体,维持眼内压。若房水产生过多或回流受阻,可造成眼内压增高,压迫视网膜,影响视力,临床上称青光眼。

一步一步教你使用SpringSecurity

Copyright?2010吴青版权所有 Spring Security3.0 什么是Spring Security? Spring Security,这是一种基于Spring AOP和Servlet过滤器[7]的安全框架。它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理身份确认和授权。在Spring Framework基础上,Spring Security充分利用了依赖注入(DI,Dependency Injection)和面向切面技术。 获取 Spring Security 3.0

Copyright?2010吴青版权所有 解压: dist :目录中存放发布包 docs :存放文档 入门 新建web 工程 为工程添加Spring 支持

Copyright?2010吴青版权所有 我这里使用的是MyEclipse6.6 版本,该版本中的Spring 的版本是Spring 2.5 ,而Spring Security3.0 使用的是Spring 3.0 ,这里加入Spring 支持是为了让工具为我们自动添加Spring 的配置文件。 Spring Security3.0.2 下载解压后的dist 目录中有两个war 包,这两个war 包是示例程序 将其中的一个示例程序的 .war 扩展名改成.rar ,将其解压出来,将压缩包中的 WEB-INF/lib 总的所有的jar 包拷贝到我们的工程中,在拷贝之前先清除掉MyEclipse 帮助我们加入的 jar 包。

添加后的结果: 将这些工具帮助我们加入的jar包全 部移除掉,然后加入.war中 Copyright?2010吴青版权所有

感觉系统

感觉系统 一.感觉分类 1.浅感觉 一般感觉 2.深感觉 3.复合感觉:又称为皮质感觉,指大脑顶叶皮质对深浅感觉的分析,比较整 合而形成的实体觉,图形觉,两点辨别觉和定位觉和重量觉等特殊感觉: 视觉, 听觉味觉嗅觉 二.解剖生理 (一)感觉通路 痛温觉通路 皮肤、粘膜痛温感受器→脊N→脊N节●→脊髓上升1~2节段→后角●→前联合交叉→脊髓丘脑侧束→丘脑后腹外侧核●→丘脑皮质束→→内囊后肢后1/3→大脑中央后回上2/3、顶叶 精细触觉通路 皮肤、粘膜触感受器→脊N→脊N节●→ ①大部分→脊髓后索→延髓薄束核楔束核●→交叉→内侧丘系 ②小部分→脊髓内上升1~2节段→后角●→前联合交叉→脊髓丘脑前束 ①②→丘脑腹后外侧核●→丘脑皮质束→内囊后肢→大脑中央后回 躯体深感觉通路 本体感受器→脊N→脊N节●→脊髓后索→延髓薄束核楔束核●→交叉 →内侧丘系→丘脑腹后外侧核●→丘脑皮质束→内囊后肢→大脑中央后回 (二)节段性感觉支配 上肢:(外→内) C5、6、7→8、T1、2; 下肢:(前→后) L1~3、L4~5→S1~2; 躯干:腋窝T2~3;乳头T4;剑突T6;肋弓T8;脐T10; 腹股沟T12~L1;鞍区:S3、4、5; (三)髓内示意图

三.损害表现及定位 (一)感觉障碍的分类▲▲▲▲ 感觉过敏:轻微刺激引起强烈感觉 感觉倒错:非疼痛性刺激引发疼痛 感觉过度:感觉刺激阀↑,不立即产生疼痛(潜伏期) ,达到阀值时 可产生一种定位不明确的强烈不适感、持续一段时间才 消失(后作用) 。见于丘脑、周围N损害。 定义:无外界刺激情况下出现异常自发性感觉 麻木感 刺激性症状肿胀感 感觉异常分类痒感 蚁走感 针刺感 电击感 局部性疼痛 放射性疼痛:由局部扩展到受累感觉N支配区 疼痛扩散性疼痛:由一个N分支与扩散到另一分支 牵涉性疼痛:内脏疼痛扩散到相应体表节段 感觉减退 分离性感觉障碍:同一部位痛温觉缺失触觉及深感抑制症状感觉缺失保存 完全性感觉障碍同一部位各种感觉均缺失 (二)感觉障碍定位▲▲▲ 单一周围神经型(神经干型): 受损害的某一神经干分布区,各种感觉均消失. 末梢型: 表现为四肢对称型的末端各种感觉障碍,呈手套,袜套分布,远端重于近端见于多发性神经病等 后根型:感觉分布障碍范围和神经根的分布一致,为节段性感觉障碍,伴有剧烈疼痛.如椎间盘脱出,髓外肿瘤等 脊髓型传导型: 1)横贯性: 病变平面以下所有感觉均缺失或减弱 2)半切型: 病变损伤平面以下深感经障碍和上运动N元瘫痪和对侧损 伤平面以下痛觉缺失,为Brown—Sequard征见于髓外占位病变,外 伤等 3)前联合和后角型:前联合病变时,受损部位出现双侧对称性节段性感 觉分离,即痛温觉消失而触觉存在.后角损害表现为损伤侧节段性感 觉解离. 见于髓鞘空洞症,脊髓内肿瘤等 脑干型: 交叉型.同侧面部和对侧半身感觉障碍 丘脑型:对侧偏身型完全性感觉缺失或减退、丘脑痛(患侧肢体自发痛)见于脑血管病内囊型:对侧偏身感觉缺失或减退,常伴有偏瘫和偏盲,称为三偏综合征,见于脑血管病皮质型:顶叶皮质损害,可出现病灶对侧的复合感觉障碍,而痛温觉较轻.部分区域损害时,则出现对侧单肢的感觉障碍,如为刺激病灶,则出现局限性感觉性癫痫.

《生理复习重点及习题-中南大学》9-2感觉系统功能.doc

神经系统功能(三〉NS的感觉分析功能 掌握内容: 特异和非特异性投射系统的功能和特点,大脑皮质的体感投射区和特点,痛觉产生机制(致痛物质和相关机制)和外周传入神经,皮肤痛和内脏痛特点,牵涉痛及其产生原理,以及其临床意义。 熟悉内容 躯体感觉传入上行通路及特点,丘脑核团分类、体腔壁痛、内脏感觉投射区域。 了解内容:本体、触压和温度感觉 (-)名称解释 感觉、感受器、感觉器官、特异性和非特异性感觉传导系统.痛觉与伤害感受、牵涉痛 列表比较 特异性和非特异性感觉传导系统的异、同点 (起源、中继核、上行传导路径、换神经元次数、投射特点、功能) (二)选择题 【Ai型题】 1.在骨骼肌标本浸液中加入筒箭毒碱后,刺激支配该肌的运动神经纤维,肌细胞终板电位的变化是 A.去极化加大 B.维持原水平 C.去极化减小 D.暴 发动作电位 E.发生超极化 2.含去甲肾上腺素的神经元胞体主要集屮的部位是 A.脊髓前角 B.低位脑干C?中脑黑质D.纹状体E.大脑皮层 3.下列神经递质中,未见于周围神经系统中的是 A.多巴胺 B.肾上腺素 C.腺昔 D. ATP E. 5-症色胺 4.下列神经纤维中,属于肾上腺素能纤维的是 A.支配肾上腺髓质的神经 B.骨骼肌交感舒血管神经 C.交感缩血管神经 D.骨骼肌运动神经 E.支配多数小汗腺的神经 5.激活后通过升高效应细胞内IP3和DG浓度而产生生物效应的受体是 A.山受体 B.血受体 C.卩|受体 D.卩2受体 E.卩3受体 6.由a受体介导的生理效应是

A.传入侧支负反馈抑制自身胞体 C.通过交互性突触而形成交互抑制 E.意义在于协调不同屮枢的活动下列关于冋返性抑制的描述,正确的是A.经自身受体抑制递质释放而实现 C.细胞内共存兴奋性和抑制性递质 E.能使兴奋神经元周边的神经元抑制产生突触前抑制的机制是 A.突触前膜阈电位水平抬高 B.传入纤维主干与侧支释放不同递质D.通过抑制一兴奋性中间神经元实现 B.通过串联性突触而起抑制作用 D.能使同一中枢神经元同步活动 B.突触前末梢递质释放减少 D.糖酵解加强 E.脂肪分解加强 去甲肾上腺素与a受体结合后引起舒张效应的平滑肌是 A.血管平滑肌 B.子宫平滑肌 C.虹膜辐射状肌 D.胃肠括约肌 E.小肠平滑肌 由卩受体介导的生理效应是 A.骨骼肌血管收缩 B.胃肠括约肌收缩 C.膀胱逼尿肌收缩 D.竖毛肌收缩 E.糖酵解加强 去甲肾上腺素与卩受体结合后引起收缩或收缩加强的肌组织是 A.心房肌 B.子宫平滑肌 C.小肠平滑肌 D.血管平滑肌 E.支气管平滑肌 卩3受体被激活后的生理效应是 A.睫状体肌舒张 B.心肌收缩力增强 C.肾球旁细胞分泌肾素 D.肝糖原分解 E.脂肪分解 下列关于非条件反射的描述,正确的是 A.是学习的简单形式 B.多属单突触反射 C.形式较为固定 D.可建立,可消退 E.大脑皮层参与其形成 下列生理活动中,属于条件反射的是 A.喝呛水而咳嗽 B.风沙入眼而流泪 C.入赛场而心跳加快 D.脚踩图钉而抬腿 E.食物入口而唾液分泌 下列关于条件反射的叙述,错误的是 A.数量无限 B.形成的基本条件是强化 C.使机体具有更大的适应性 D. 一旦建立就会终身保留 E.是经过后天学习训练形成的 在反射活动中,最易发生疲劳的部位是 A.感受器 B.传入神经 C.反射中枢 D.传出神经 E.效应器关于中枢兴奋传播的特征,正确的描述是 A.双向传布 B.对内环境变化敏感 C.不衰减传递 D.兴奋节律不变 E.不易疲劳 突触后抑制的产生机制是 A.进入突触前末梢Ca"量减少 B.突触前末梢递质释放量减少 C.抑制一兴奋性中间神经元 D.兴奋一抑制性中间神经元 E.突触后膜去极化程度减小 下列关于传入侧支性抑制的描述,正确的是 A.瞳孔扩大 B.心率加快 C.支气管扩张

相关主题
文本预览
相关文档 最新文档