IssacEASIG

Objective-C

@interface IssacEASIG : NSObject

Swift

class IssacEASIG : NSObject

개체 인증 관련 기능

  • 단방향 또는 양방향 인증을 위해 도전값을 생성한다.

    도전값을 생성하기 위해 Nonce-A를 생성한다. 도전값은 임의로 생성된 난수 Nonce-A와 검증자(또는 PeerA)의 인증서로 이루어진다.

    Declaration

    Objective-C

    - (nullable NSData *)makeChallenge;

    Swift

    func makeChallenge() -> Data?
  • 단방향 또는 양방향 인증을 위해 증명값(response)을 생성한다.

    Declaration

    Objective-C

    - (nullable NSData *)makeResponse:(nonnull NSData *)challenge
                               priKey:(nonnull IssacPRIVATEKEY *)priKey
                                 cert:(nonnull IssacCERTIFICATE *)cert
                              hashAlg:(HashAlg)hashAlg;

    Swift

    func makeResponse(_ challenge: Data, priKey: IssacPRIVATEKEY, cert: IssacCERTIFICATE, hashAlg: HashAlg) -> Data?

    Parameters

    challenge

    도전값

    priKey

    전자서명용 개인키

    cert

    증명값을 생성하는 쪽의 인증서(주장자 또는 PeerB)

    hashAlg

    해시 알고리즘

  • 단방향 또는 양방향 인증을 위한 증명값 검증 함수이다.

    검증자(또는 PeerA)는 자신이 만든 도전값과 주장자(또는 PeerB)가 만든 response값을 이용해 인증 여부를 판단한다. 이때 검증 과정은 증명값 내에 Nonce값이 일치하는지, 서명값이 올바른지, 인증서가 유효한지의 세단계로 이루어진다. 모든 단계에서 문제가 없으면 인증은 성공을 리턴한다.

    Declaration

    Objective-C

    - (BOOL)authenticatePeer:(nonnull NSData *)challenge
                    response:(nonnull NSData *)response
                     caCerts:(nonnull IssacCERTIFICATES *)caCerts
                trustedCerts:(nonnull IssacCERTIFICATES *)trustedCerts
                    policies:(nonnull IssacPOLICY *)policies
                         crl:(nonnull IssacCRL *)crl
                     nowtime:(nonnull NSDate *)nowtime
                verifyOption:(VerifyOption)verifyOption;

    Swift

    func authenticatePeer(_ challenge: Data, response: Data, caCerts: IssacCERTIFICATES, trustedCerts: IssacCERTIFICATES, policies: IssacPOLICY, crl: IssacCRL, nowtime: Date, verifyOption: VerifyOption) -> Bool

    Parameters

    challenge

    자신이 만든 도전값

    response

    상대로부터 받은 응답값

    caCerts

    검증에 필요한 CA 의 인증서들

    trustedCerts

    신뢰할 수 있는 인증서들

    policies

    인증서 검증 정책

    crl

    인증서 폐기 목록

    nowtime

    검증하고자 하는 시간

    verifyOption

    경로 검증 설정

  • 증명자가 보낸 메시지만을 검증한다.

    Declaration

    Objective-C

    - (BOOL)authenticatePeer:(nonnull NSData *)challenge
                    response:(nonnull NSData *)response;

    Swift

    func authenticatePeer(_ challenge: Data, response: Data) -> Bool

    Parameters

    challenge

    자신이 만든 도전값

    response

    상대로부터 받은 응답값

  • 개체 인증 과정을 성공적으로 수행한 후에 인증에 참여한 상대방의 인증서를 얻어내는 함수이다.

    Declaration

    Objective-C

    - (nullable IssacCERTIFICATE *)getPeerCertificate;

    Swift

    func getPeerCertificate() -> IssacCERTIFICATE?