skeylookup
, skeyverify
,
skeychallenge
, skeyinfo
,
skeyaccess
, skey_getpass
,
skey_crypt
—
S/Key
?ѥ?????????ơ??֥륢???????ѤΥ饤?֥????롼????
#include <stdio.h>
#include <skey.h>
int
skeylookup
(struct skey *mp,
const char *name) int
skeyverify
(struct skey *mp,
char *response) int
skeychallenge
(struct skey *mp,
const char *name, char *challenge)
int
skeyinfo
(struct skey *mp,
const char *name, char *ss)
int
skeyaccess
(char *user,
const char *port, const char
*host, const char *addr) char
* skey_getpass
(const char
*prompt, struct passwd *pwd, int
pwok) char *
skey_crypt
(char *pp,
char *salt, struct passwd *pwd,
int pwok)
???????Υ롼?????ϡ??????ԥ塼???????ƥ??ؤΥ????????˻??Ѥ?????
S/Key
?????ѥ???ɥ????ƥ??ݡ??Ȥ??ޤ???
S/Key
?????ƥ༫?ΤˤĤ??Ƥξܺ٤ϡ?
skey(1)
?Ȥ??Ƥ?????????
skeylookup
()
?ϡ??????Υѥ???ɥǡ????١????ǥ????ȥ??Ф??ޤ???
????????????????(??????̾?????б????륨???ȥ꤬???Ф???????)??
?ƤӽФ????ˤ??ä??Ϥ??줿 skey
??¤?????????? 0 ???֤????ޤ???
?ե????????ɤ???/???ߥݥ??ϸ??Ф??줿?쥳???ɤ???Ƭ?????֤????ޤ???
??????̾?????б????륨???ȥ꤬???Ĥ????ʤ??????ϡ?
?ե????????ɤ???/???ߥݥ????ե????????????????֤??졢
?롼?????? 1 ???֤??ޤ???
?ǡ????١??????????ʤ????硢?ޤ??ϥ??????????顼??ȯ?????????硢
skeylookup
() ?? -1 ???֤??ޤ???
skeyinfo
()
?ؿ??ϡ??桼????̾???Ѥ? skey
?????????å????åפ??ޤ???
???????????????ȡ??ƤӽФ????? skey
??¤?????????졢 skeyinfo
() ?? 0
???֤??ޤ???
???ץ??????Υ????????ȥ??Хåե???Ϳ?????줿?????ϡ????줬?????????ޤ???
?????????Ԥ?????(???Ȥ??С?̾????̤?Τξ??硢?ޤ???
?ǡ????١????˥????????Ǥ??ʤ?????)??-1
???֤????ޤ???
skeychallenge
()
?ϡ???̾???פˤĤ??Ƥ? skey
?????????ȥ????֤??ޤ???
???????????????ȡ??ƤӽФ????? skey
??¤?????????졢?ؿ??? 0 ??
?֤??ޤ????ե??????ɤ???/???ߥݥ???
?쥳???ɤ???Ƭ?˻Ĥ????ޤ???
?????????????ʤ???(???ʤ?????̾???????Ĥ????ʤ???)???ؿ???
-1 ???֤????ǡ????١??????Ĥ??????ޤ???
skeyverify
() ?ϡ?s/key
???????ؤα????ڤ??ޤ???
???δؿ??? 0
???֤??????硢???ڤ??????Ǥ??ꡢ
?ǡ????١????ϥ??åץǡ??Ȥ????Ƥ??ޤ???
1
???֤??줿???硢???ڤϽ??????Ԥ????ǡ????١??????Ѳ????ʤ??ޤޤǤ???
-1
???֤??줿???硢???餫?μ????Υ??顼???ǡ????١????ˤĤ???ȯ?????Ƥ??ꡢ
?ǡ????١??????Ѳ????ʤ??ޤޤǤ???
s/key
?ǡ????١?????ɬ?????θƤӽФ??ˤ??ä??Ĥ??????ޤ???
skey_getpass
()
?ؿ??????Ѥ??ơ??????Υѥ???ɤޤ???
s/key ?ѥ???ɤ?
?ɤ??뤳?Ȥ??Ǥ??ޤ???
???Ѥ????ץ????ץȤϡ??ؿ????Ϥ????ޤ????桼????
???ڤǤ??봰????(??????) struct passwd
?Ȱ????ˤǤ??? skey_getpass
()
?ϡ??桼???Υѥ???ɤ??????Ф????Ȥ????ǽ??λ??ߤˤ?????ɸ???饤?֥???
getpass
?????Ѥ??????줬?֥??ξ??硢???????Хå?????
S/Key ?ѥ???? ???????Ф??ޤ???
???????ξ????Ǥ⡢???Ϥ??????ȥ??ϸƤӽФ?????
?֤????ޤ???
skey_crypt
()
?ϡ?ɸ???饤?֥???
crypt(3)
?ѤΥ??åѴؿ??Ǥ???
?????ϡ??????? s/key
?ѥ???ɤޤ????????Υѥ???ɤΤɤ??餫??
OK ?ξ??硢?Ź沽???줿 UNIX
?ѥ???ɤ??֤??ޤ???
skey_crypt
() ?ϡ??ǽ??? skey
?????ˤ??äƻ????ѥ???ɤγ?ǧ?????ߡ?
???줬??ǧ?Ǥ????????ϡ??桼?????????? UNIX
?ѥ???ɤ??ºݤ?
???Ϥ??????Τ褦?ˡ?passwd
??¤?????Ź沽???줿?ѥ???ɤ??֤??ޤ???
s/key
?ѥ???ɸ??ڤ???ǽ???ʤ????硢
?ѥ???ɤ??̾?????ˡ?ǰŹ沽???졢???̤ϸƤӽФ??????Ϥ????ޤ???
passwd ??¤?ݥ??? NULL ?ξ??硢
skey_crypt
() ?ϡ?NULL
?Ǥʤ????ȥ????֤??ޤ??????Υ??ȥ???ͭ????
UNIX
?ѥ???ɤȤϸ????ޤ???(???ʤ???????:?פ????ä????ȥ??Ǥ?)??
skeyaccess
()
?ؿ??ϡ??桼??̾?????롼?ץ????С?ü???ݡ??ȡ??ۥ???̾????????
?ͥåȥ?????Ȥ߹??碌?ˤĤ??ơ???????
UNIX (S/Key ?Ǥʤ?)
?ѥ???ɤ????ѤǤ??뤫?ɤ?????Ƚ?ꤷ?ޤ???UNIX
?ѥ???ɤ????ѤǤ??????硢
skeyaccess
()
?ϡ??????Ǥʤ??ͤ??֤??ޤ???UNIX
?ѥ???ɤ????ѤǤ??ʤ????硢 0
???֤??ޤ??? ???δؿ??????Ѥ??? skey.access
?????ե??????Υ쥤?????Ȥȹ?¤?ξܺ٤ˤĤ??Ƥϡ?
skey.access(5)
?Ȥ??Ƥ?????????
ʣ???Υץ???????????Ʊ?????????????ɻߤ??뤿????
s/key
?ǡ????١????ˤĤ??ƤϽ????Υ??å??ϹԤ????ޤ?????
?????ϥե????????ǥ??????ɲäޤ??Ϲ??????????Ȥ??ϡ??̾
?????ǤϤ????ޤ?????????????????Ȥ??????꤬??????ǽ?????????ޤ???
Phil Karn, Neil M. Haller,
John S. Walden, Scott Chasin