Two factor authentication ko KR - Rudokhvist/ArchiSteamFarm GitHub Wiki

2๋‹จ๊ณ„ ์ธ์ฆ

Steam includes two-factor authentication system known as "Escrow" that requires extra details for various account-related activity. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ ์™€ ์—ฌ๊ธฐ ์— ์žˆ์Šต๋‹ˆ๋‹ค. This page considers that 2FA system as well as our solution that integrates with it, called ASF 2FA.


ASF ๋…ผ๋ฆฌ ๊ตฌ์กฐ

Regardless if you use ASF 2FA or not, ASF includes proper logic and is fully aware of accounts protected by standard 2FA. ์˜ˆ๋ฅผ ๋“ค์–ด ๋กœ๊ทธ์ธ ์ค‘์—๋„ ํ•„์š”ํ•˜๋ฉด ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ž…๋ ฅํ•˜๋„๋ก ์š”์ฒญํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. However, those requests can be automated by using ASF 2FA, which will automatically generate required tokens, saving you hassle and enabling extra functionality (described below).


ASF 2๋‹จ๊ณ„ ์ธ์ฆ(2FA)

ASF 2FA is a built-in module responsible for providing 2FA features to the ASF process, such as generating tokens and accepting confirmations. It works by duplicating your existing authenticator details, so that you can use your current authenticator and ASF 2FA at the same time.

2fa ๋ช…๋ น์–ด ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ด‡ ๊ณ„์ •์ด ์ด๋ฏธ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์‚ฌ์šฉ์ค‘์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Unless you've already imported your authenticator as ASF 2FA, all standard 2fa commands will be non-operative, which means that your account is not using ASF 2FA, therefore it's also unavailable for advanced ASF features that require the module to be operative.


Creation

In general we strongly recommend to duplicate your existing authenticator, as after all, that's the main purpose ASF 2FA was designed for. However, ASF comes with official MobileAuthenticator plugin which further extends ASF 2FA allowing you to link completely new authenticator as well. This can be useful in case you're unable or unwilling to use other tools and you do not mind ASF 2FA to become your main (and maybe only) authenticator.

In order to assign new 2FA and automatically import it as ASF 2FA, you should do the following steps:

  1. Create ASF bot for the target account, start it and log in, which you probably already did.
  2. Assign working and operative phone number to the account used by the bot here. Phone number is absolutely required, there is no way to add 2FA without it.
  3. Execute 2fainit [Bot] command, replacing [Bot] with your bot's name.

Assuming you got a successful reply, the following two things have happened:

  • A new <Bot>.maFile.PENDING file was generated by ASF in your config directory.
  • SMS was sent from Steam to the phone number you have assigned for the account above.

The authenticator details are not operative yet, however, you can review the generated file if you'd like to. If you want to be double safe, you can for example already write down revocation code.

  1. Once satisfied, execute 2fafinalize [Bot] <ActivationCode> command, replacing [Bot] with your bot's name and <ActivationCode> with the code you've received through SMS.

Assuming everything worked properly, previously generated <Bot>.maFile.PENDING file was renamed to <Bot>.maFile.NEW. This indicates that your 2FA credentials are now valid and active. We recommend you to create a copy of that file and keep it in secure and safe location. In addition to that, we recommend you to open it (it's a text file) and write down revocation_code which will allow you, as the name implies, to revoke the authenticator in case you lose it.

In regards to technical details, the generated maFile includes all details that we have received from Steam server during linking authenticator, and in addition to that device_id field which may be needed for other authenticators. The file follows and is fully compatible with SDA for import.

ASF automatically imports your authenticator once the procedure is done, therefore 2fa and other related commands should now be operative for the bot account you linked the authenticator to.


๋ถˆ๋Ÿฌ์˜ค๊ธฐ

Import process requires already linked and operational authenticator that is supported by ASF. ASF currently supports a few different official and unofficial sources of 2FA - Android, iOS, SteamDesktopAuthenticator and WinAuth, on top of manual method which allows you to provide required credentials yourself. If you don't have any authenticator yet, you need to choose one of available apps and set it up firstly. ์–ด๋Š ๊ฒƒ์„ ๊ณจ๋ผ์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค๋ฉด WinAuth๋ฅผ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์„ค๋ช…๋งŒ ์ž˜ ๋”ฐ๋ผํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ ๊ฒƒ๋“ค๋„ ์ž˜ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜์˜ ๋ชจ๋“  ๊ฐ€์ด๋“œ๋Š” ์ •์ƒ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์ธ์ฆ๊ธฐ๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์„๊ฒƒ์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— ์ธ์ฆ๊ธฐ๊ฐ€ ์ •์ƒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์˜ ์ธ์ฆ๊ธฐ ๊ธฐ๋Šฅ์ด ์ •์ƒ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๊ณ  ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

  • ํ† ํฐ์„ ์ƒ์„ฑํ•˜๊ณ  ์ด ํ† ํฐ์ด Steam ๋„คํŠธ์›Œํฌ์—์„œ ์ˆ˜๋ฝ๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ
  • ํ™•์ธ์‚ฌํ•ญ์„ ๊ฐ€์ ธ์˜ค๊ณ , ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ์— ๋„์ฐฉํ• ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ
  • ํ™•์ธ์‚ฌํ•ญ์„ ์ˆ˜๋ฝํ•˜๊ณ , Steam ๋„คํŠธ์›Œํฌ์—์„œ ํ™•์ธ/๊ฑฐ๋ถ€๋กœ ์ •ํ™•ํ•˜๊ฒŒ ์ธ์‹๋  ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ

์ธ์ฆ๊ธฐ๊ฐ€ ์œ„์˜ ํ–‰๋™์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ๋งŒ์•ฝ ์•ˆ๋œ๋‹ค๋ฉด ASF์—์„œ๋„ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๊ณ  ์‹œ๊ฐ„๋งŒ ๋‚ญ๋น„ํ•˜๊ณ  ์ถ”๊ฐ€์ ์ธ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.


์•ˆ๋“œ๋กœ์ด๋“œ ์ „ํ™”๊ธฐ

The below instructions apply to Steam app in version 2.X, there are currently no resources on extracting required details from version 3.0 onwards. We'll update this section once generally-available method is found. As of today, a workaround would be to intentionally install older version of Steam app, register 2FA and extract the required details first, after which it's possible to update the application to latest version - existing authenticator will continue to work.

์ผ๋ฐ˜์ ์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์ „ํ™”๊ธฐ์—์„œ ์ธ์ฆ๊ธฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ๋•Œ ๋ฃจํŠธ ๊ถŒํ•œ์ด ํ•„์š”ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋ฃจํŒ…์€ ๊ธฐ๊ธฐ๋งˆ๋‹ค ๋‹ค๋ฅด๋ฏ€๋กœ ์–ด๋–ป๊ฒŒ ๋ฃจํŒ…ํ•˜๋Š”์ง€๋Š” ๋ง์”€๋“œ๋ฆฌ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฃจํŒ…์„ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ํ›Œ๋ฅญํ•œ ๊ฐ€์ด๋“œ์™€ ์ผ๋ฐ˜์  ์ •๋ณด๋Š” XDA ๋ฅผ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค. ์ž์‹ ์˜ ๊ธฐ๊ธฐ๋‚˜ ํ•„์š”ํ•œ ๊ฐ€์ด๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋ฉด, ๊ทธ๋‹ค์Œ์œผ๋กœ๋Š” ๊ตฌ๊ธ€์—์„œ ์ฐพ์•„๋ณด์‹ญ์‹œ์˜ค.

์ ์–ด๋„ ๊ณต์‹์ ์œผ๋กœ ๋ฃจํŒ…์—†์ด ๋ณดํ˜ธ๋œ Steam ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Steam ํŒŒ์ผ์„ ์ถ”์ถœํ•˜๋Š” ๋ฃจํŒ…์ด ํ•„์š”์—†๋Š” ์œ ์ผํ•œ ๊ณต์‹์  ๋ฐฉ๋ฒ•์€ ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ /data ๋ฐฑ์—…์„ ์ด๋Ÿฐ ์ €๋Ÿฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์„ฑํ•ด์„œ ๊ทธ ์ค‘ ์ ์ ˆํ•œ ํŒŒ์ผ์„ PC์— ์ˆ˜๋™์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํœด๋Œ€์ „ํ™” ์ œ์กฐ์‚ฌ์— ๋งค์šฐ ์˜์กดํ•˜๊ณ  ์•ˆ๋“œ๋กœ์ด๋“œ ํ‘œ์ค€์ด ์•„๋‹ˆ๋ฏ€๋กœ ์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์šด์ด ์ข‹์•„์„œ ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋“ค์€ ๊ทธ๋Ÿฐ ๊ฒƒ์ด ์—†์Šต๋‹ˆ๋‹ค.

Unofficially, it is possible to extract the needed files without root access, by installing or downgrading your Steam app to version 2.1 (or earlier), setting up mobile authenticator and then creating a snapshot of the app (together with the data files that we need) through adb backup. ํ•˜์ง€๋งŒ ์ด๋Š” ์‹ฌ๊ฐํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์ด๊ณ  ์ „ํ˜€ ์ง€์›์„ ๋ฐ›์„ ์ˆ˜ ์—†๋Š” ๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ๋”์ด์ƒ ์ž์„ธํžˆ ๋งํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. Valve๋Š” ์ƒˆ ๋ฒ„์ „์—์„œ ์–ด๋–ค ์ด์œ ๋กœ ์ด ๋ณด์•ˆ์ทจ์•ฝ์ ์„ ๋ง‰์•„๋ฒ„๋ ธ๊ณ , ์šฐ๋ฆฌ๋Š” ๋‹จ์ง€ ๊ฐ€๋Šฅ์„ฑ๋งŒ ์–ธ๊ธ‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Still, it might be possible to do a clean install of that version, link new authenticator, extract the required files, and then upgrade the app, which should be just enough, but you're on your own with this method anyway.

๋‹น์‹ ์ด ํœด๋Œ€์ „ํ™”๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฃจํŒ…ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ๊ทธ ๋‹ค์Œ์—” ๋งˆ์ผ“์—์„œ ์ด๊ฒƒ ๊ณผ ๊ฐ™์€, ํ˜น์€ ์„ ํ˜ธํ•˜๋Š” ์–ด๋–ค ๋ฃจํŠธ ํƒ์ƒ‰๊ธฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ˜ธ๋œ ํŒŒ์ผ์€ ADB (Android Debug Bridge) ๋‚˜ ๋‹ค๋ฅธ ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ๋ฐ, ์šฐ๋ฆฌ๋Š” ๊ฐ€์žฅ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๋ฐฉ๋ฒ•์ธ ํƒ์ƒ‰๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฃจํŠธ ํƒ์ƒ‰๊ธฐ๋ฅผ ์—ด์—ˆ๋‹ค๋ฉด /data/data ํด๋”๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค. /data/data ๋””๋ ‰ํ† ๋ฆฌ๋Š” ๋ณดํ˜ธ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฃจํŠธ ๊ถŒํ•œ ์—†์ด ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Œ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ๊ฑฐ๊ธฐ์—์„œ com.valvesoftware.android.steam.community ํด๋”๋ฅผ ์ฐพ์•„ ๋‚ด์žฅ๋œ ๋‚ด๋ถ€ ์ €์žฅ์†Œ์ธ /sdcard์— ๋ณต์‚ฌํ•˜์‹ญ์‹œ์˜ค. ๊ทธ ๋‹ค์Œ ํœด๋Œ€์ „ํ™”๋ฅผ PC์— ์—ฐ๊ฒฐํ•˜๊ณ  ๊ทธ ํด๋”๋ฅผ ํ‰์†Œ์ฒ˜๋Ÿผ ๋‚ด๋ถ€ ์ €์žฅ์†Œ์—์„œ ๋ณต์‚ฌํ•˜์‹ญ์‹œ์˜ค. ๋ณต์‚ฌ๋ฅผ ์ œ๋Œ€๋กœ ํ–ˆ๋Š”๋ฐ๋„ ํ˜น์‹œ ํด๋”๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋จผ์ € ํœด๋Œ€์ „ํ™”๋ฅผ ์žฌ์‹œ์ž‘ํ•ด๋ณด์‹ญ์‹œ์˜ค.

์ด์ œ ์ธ์ฆ๊ธฐ๋ฅผ WinAuth์— ๋จผ์ € ๊ฐ€์ ธ์˜ค๊ณ  ๊ทธ ๋’ค์— ASF๋กœ ๊ฐ€์ ธ์˜ฌ์ˆ˜๋„ ์žˆ๊ณ , ASF์— ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ ์˜ต์…˜์€ ๋” ์นœ์ˆ™ํ•˜๊ณ  ์ธ์ฆ๊ธฐ๋ฅผ PC์— ๋ณต์ œํ•˜์—ฌ ์ „ํ™”๊ธฐ, PC, ASF ์„ธ๊ฐ€์ง€ ๋‹ค๋ฅธ ๊ณณ์—์„œ ํ™•์ธ์„ ๋ˆ„๋ฅด๊ณ  ํ† ํฐ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด WinAuth๋ฅผ ์—ด๊ณ , ์ƒˆ Steam ์ธ์ฆ๊ธฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์„ ํƒํ•˜๊ณ , ์œ„์—์„œ ๊ฐ€์ ธ์˜จ ํŒŒ์ผ์„ ์„ ํƒํ•˜์—ฌ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค. ๋๋‚œ ๋’ค์— ์ด ์ธ์ฆ๊ธฐ๋ฅผ WinAuth์—์„œ ASF๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•์€ ์•„๋ž˜์˜ WinAuth ํ•ญ๋ชฉ์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

If you don't want to or don't need to go through WinAuth, then simply copy files/Steamguard-<SteamID> file from our protected directory, where SteamID is your 64-bit Steam identificator of the account that you want to add (if more than one, because if you have only one account then this will be the only file). ์ด ํŒŒ์ผ์„ ASF์˜ config ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋‹ค์Œ, ์ด ํŒŒ์ผ์„ ๋ด‡์ด๋ฆ„.maFile๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์‹ญ์‹œ์˜ค. ๋ด‡์ด๋ฆ„์€ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๋ด‡์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„ ํ›„์— ASF๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ASF๋Š” .maFile์„ ์ธ์‹ํ•˜๊ณ  ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

[*] ์ •๋ณด: ImportAuthenticator() <1> .maFile์„ ASF ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ค‘...
[*] ์ •๋ณด: ImportAuthenticator() <1> ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค!

That's all, assuming that you've imported the correct file with valid secrets, everything should work properly, which you can verify by using 2fa commands. ์‹ค์ˆ˜๋ฅผ ํ–ˆ๋‹ค๋ฉด, ์–ธ์ œ๋“  ํ•„์š”ํ•œ๋งŒํผ Bot.db๋ฅผ ์‚ญ์ œํ•˜๊ณ  ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


iOS

iOS์—์„œ๋Š” ios-steamguard-extractor ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์•”ํ˜ธํ™”๋˜์ง€ ์•Š์€ ๋ฐฑ์—…์„ ํ•˜๊ณ , PC์— ์ด๋ฅผ ๋„ฃ์–ด์„œ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์–ป์„ ์ˆ˜ ์—†๋Š” Steam ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค ๋•๋ถ„์— ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. iOS ์•”ํ˜ธํ™”๋•Œ๋ฌธ์— ํƒˆ์˜ฅ์—†์ด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์œผ๋ ค๋ฉด ์ตœ์‹  ๋ฆด๋ฆฌ์Šค ๋กœ ๊ฐ€์‹ญ์‹œ์˜ค. ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•œ ํ›„ WinAuth์— ๋„ฃ๊ณ , WinAuth์—์„œ ASF์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜น์€ {๋กœ ์‹œ์ž‘ํ•ด์„œ }๋กœ ๋๋‚˜๋Š” ์ƒ์„ฑ๋œ json ํŒŒ์ผ์„ ๋ณต์‚ฌํ•ด์„œ ๋ด‡์ด๋ฆ„.maFile์— ๋„ฃ๊ณ  ํ‰์†Œ์ฒ˜๋Ÿผ ์ง„ํ–‰ํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ์ €๋ผ๋ฉด WinAuth์— ๋จผ์ € ๊ฐ€์ ธ์˜ค๊ณ  ํ† ํฐ ์ƒ์„ฑ๊ณผ ํ™•์ธ์‚ฌํ•ญ ์ˆ˜๋ฝ์ด ์ •์ƒ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๋Š” ์ชฝ์„ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“ ๊ฒŒ ์ž˜๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๊ฒฉ ์ฆ๋ช…์ด ์œ ํšจํ•˜์ง€ ์•Š์œผ๋ฉด ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ์ •์ƒ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ฏ€๋กœ ASF ๊ฐ€์ ธ์˜ค๊ธฐ ๋‹จ๊ณ„๋ฅผ ๋งˆ์ง€๋ง‰์— ํ•˜๋Š” ๊ฒƒ์ด ๋‚ซ์Šต๋‹ˆ๋‹ค.

์งˆ๋ฌธ์ด๋‚˜ ์ด์Šˆ๋Š” ์ด์Šˆ ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์œ„์˜ ๋„๊ตฌ๋Š” ๋น„๊ณต์‹์ด๋ฏ€๋กœ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ด๋„ ๊ธฐ์ˆ  ์ง€์›์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์œ ํšจํ•˜์ง€ ์•Š์€ 2๋‹จ๊ณ„ ์ธ์ฆ ์ž๊ฒฉ์ฆ๋ช…์„ ๋‚ด๋ณด๋‚ธ๋‹ค๋Š” ๋ช‡๋ช‡ ์ง•ํ›„๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ASF์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์ „์— WinAuth ๊ฐ™์€ ์ธ์ฆ๊ธฐ์—์„œ ํ™•์ธ์‚ฌํ•ญ์„ ๋จผ์ € ๊ฒ€์ฆํ•˜์‹ญ์‹œ์˜ค.


SteamDesktopAuthenticator

์ด๋ฏธ SDA์—์„œ ์‹คํ–‰๋˜๋Š” ์ธ์ฆ๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด maFiles ํด๋”์— steamID.maFile ํŒŒ์ผ์ด ์žˆ์Œ์„ ์•Œ๊ฒƒ์ž…๋‹ˆ๋‹ค. Make sure that maFile is in unencrypted form, as ASF can't decrypt SDA files - unencrypted file content should start with { and end with } character. If needed, you can remove the encryption from SDA settings first, and enable it again when you're done. Once the file is in unencrypted form, copy it to config directory of ASF.

You can now rename steamID.maFile to BotName.maFile in ASF config directory, where BotName is the name of your bot you're adding ASF 2FA to. ๋˜๋Š” ๊ทธ๋Œ€๋กœ ๋‘˜ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ASF๋Š” ๋กœ๊ทธ์ธ ํ›„ ์ž๋™์œผ๋กœ ์„ ํƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Renaming the file helps ASF by making it possible to use ASF 2FA before logging in, if you don't do that, then the file can be picked only after ASF successfully logs in (as ASF doesn't know steamID of your account before in fact logging in).

๋ชจ๋“  ๊ฒƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ–ˆ๋‹ค๋ฉด ASF๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œํ™”๋ฉด์„ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

[*] ์ •๋ณด: ImportAuthenticator() <1> .maFile์„ ASF ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ค‘...
[*] ์ •๋ณด: ImportAuthenticator() <1> ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค!

์ด์ œ๋ถ€ํ„ฐ ์ด ๊ณ„์ •์˜ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์ž‘๋™ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.


WinAuth

๋จผ์ € ์ƒˆ๋กœ์šด ๋นˆ ๋ด‡์ด๋ฆ„.maFile ํŒŒ์ผ์„ ASF ํ™˜๊ฒฝ์„ค์ • ๋””๋ ‰ํ† ๋ฆฌ์— ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค. ๋ด‡์ด๋ฆ„์€ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๋ด‡์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ๋ช…์€ ๋ด‡์ด๋ฆ„.maFile.txt๊ฐ€ ์•„๋‹Œ ๋ด‡์ด๋ฆ„.maFile์ด์–ด์•ผ ํ•จ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ์œˆ๋„์šฐ์—์„œ ์•Œ๋ ค์ง„ ํ™•์žฅ์ž๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆจ๊ฒจ์ง‘๋‹ˆ๋‹ค. ๋ถ€์ •ํ™•ํ•œ ์ด๋ฆ„์„ ๋„ฃ์œผ๋ฉด ASF๊ฐ€ ์„ ํƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ œ ํ‰์†Œ์ฒ˜๋Ÿผ WinAuth๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. Steam ์•„์ด์ฝ˜์„ ์˜ค๋ฅธ์ชฝ ํด๋ฆญํ•˜๊ณ  "Show SteamGuard and Recovery Code"๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋ฆฌ๊ณ  "Allow copy"์— ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค. {๋กœ ์‹œ์ž‘ํ•˜๋Š” ์นœ์ˆ™ํ•œ JSON ๊ตฌ์กฐ๊ฐ€ ์ฐฝ์˜ ์•„๋ž˜์ชฝ์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์ด์ „ ๋‹จ๊ณ„์—์„œ ์ƒ์„ฑํ•œ ๋ด‡์ด๋ฆ„.maFile ํŒŒ์ผ์— ์ „์ฒด ํ…์ŠคํŠธ๋ฅผ ๋ณต์‚ฌํ•ด ๋„ฃ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ํ–ˆ๋‹ค๋ฉด ASF๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œํ™”๋ฉด์„ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

[*] ์ •๋ณด: ImportAuthenticator() <1> .maFile์„ ASF ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ค‘...
[*] ์ •๋ณด: ImportAuthenticator() <1> ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค!

์ด์ œ๋ถ€ํ„ฐ ์ด ๊ณ„์ •์˜ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์ž‘๋™ํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค.


์™„๋ฃŒ

์ง€๊ธˆ๋ถ€ํ„ฐ ๋ชจ๋“  2fa ๋ช…๋ น์–ด๊ฐ€ ๊ธฐ์กด์˜ 2๋‹จ๊ณ„ ์ธ์ฆ ๊ธฐ๊ธฐ์—์„œ ํ˜ธ์ถœํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ ์ž‘๋™ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ† ํฐ์„ ์ƒ์„ฑํ•˜๊ณ  ํ™•์ธ์‚ฌํ•ญ์„ ์ˆ˜๋ฝํ•˜๋Š” ๋ฐ ASF 2๋‹จ๊ณ„ ์ธ์ฆ๊ณผ ๋‹น์‹ ์˜ ์ธ์ฆ๊ธฐ(์•ˆ๋“œ๋กœ์ด๋“œ, iOS, SDA, WinAuth)๋ฅผ ๋‘˜๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ „ํ™”๊ธฐ์— ์ธ์ฆ๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด SteamDesktopAuthenticator ์™€ WinAuth๋Š” ๋”์ด์ƒ ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์‚ญ์ œํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์ผ์„ ๋Œ€๋น„ํ•ด์„œ ๋‚จ๊ฒจ๋‘๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ŠคํŒ€ ์ธ์ฆ๊ธฐ๋ณด๋‹ค ๋” ํŽธ๋ฆฌํ•œ ๊ฒƒ์€ ๋งํ• ๊ฒƒ๋„ ์—†์Šต๋‹ˆ๋‹ค. Just keep in mind that ASF 2FA is NOT a general purpose authenticator, it doesn't include all data that authenticator should have, but limited subset of original maFile. It's not possible to convert ASF 2FA back to original authenticator, therefore always make sure that you have general-purpose authenticator or maFile in other place, such as in WinAuth/SDA, or on your phone.


์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ(FAQ)

ASF๊ฐ€ 2๋‹จ๊ณ„ ์ธ์ฆ ๋ชจ๋“ˆ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๊นŒ?

ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ASF๋Š” ASF๊ฐ€ ๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ฐ›๋Š” ๊ฑฐ๋ž˜์˜ ์ž๋™ ์ˆ˜๋ฝ์— 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋กœ๊ทธ์ธ ๊ฐ™์ด ํ•„์š”์— ๋”ฐ๋ผ 2๋‹จ๊ณ„ ์ธ์ฆ ํ† ํฐ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ 2fa ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ œ๊ฐ€ ๊นŒ๋จน์ง€ ์•Š์•˜๋‹ค๋ฉด ์ง€๊ธˆ์€ ์ด๊ฒŒ ์ „๋ถ€์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ASF๋Š” ํ•„์š”์— ๋”ฐ๋ผ 2๋‹จ๊ณ„ ์ธ์ฆ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.


2๋‹จ๊ณ„ ์ธ์ฆ ํ† ํฐ์ด ํ•„์š”ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

2๋‹จ๊ณ„ ์ธ์ฆ์œผ๋กœ ๋ณดํ˜ธ๋œ ๊ณ„์ •์— ์ ‘๊ทผํ•˜๋ ค๋ฉด 2๋‹จ๊ณ„ ์ธ์ฆ ํ† ํฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ASF 2๋‹จ๊ณ„ ์ธ์ฆ์ด ์žˆ๋Š” ๋ชจ๋“  ๊ณ„์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜จ ์ธ์ฆ๊ธฐ์—์„œ ํ† ํฐ์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜์ง€๋งŒ, ํ•ด๋‹น ๋ด‡์— ๋Œ€ํ™”๋กœ 2fa ๋ช…๋ น์–ด๋ฅผ ๋ณด๋‚ด ์ž„์‹œ ํ† ํฐ์„ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ด‡ ์ธ์Šคํ„ด์Šค์— ์ž„์‹œ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด 2fa <๋ด‡์ด๋ฆ„> ๋ช…๋ น์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ธŒ๋ผ์šฐ์ € ๋“ฑ์—์„œ ๋ด‡ ๊ณ„์ •์— ์ ‘๊ทผํ•˜๊ธฐ์—๋Š” ์ถฉ๋ถ„ํ•˜์ง€๋งŒ, ์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋‹ค์‹œํ”ผ ์•ˆ๋“œ๋กœ์ด๋“œ, iOS, SDA, WinAuth ๋“ฑ ์›๋ž˜์˜ ์ธ์ฆ๊ธฐ๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.


ASF 2๋‹จ๊ณ„ ์ธ์ฆ์œผ๋กœ ๊ฐ€์ ธ์˜จ ํ›„์—๋„ ์›๋ž˜ ์ธ์ฆ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋„ค. ์›๋ž˜ ์ธ์ฆ๊ธฐ๋„ ์ •์ƒ์ž‘๋™ํ•˜๋ฉฐ ASF 2๋‹จ๊ณ„ ์ธ์ฆ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ๊ทธ๊ฒƒ์ด ์ „์ฒด ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค. ๋‹น์‹  ์ธ์ฆ๊ธฐ์˜ ์ž๊ฒฉ์ฆ๋ช…์„ ASF๋กœ ๊ฐ€์ ธ์˜ค๊ณ , ASF๋Š” ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‹น์‹ ์„ ๋Œ€์‹ ํ•ด ์„ ํƒ๋œ ํ™•์ธ์‚ฌํ•ญ์„ ์Šน๋‚™ํ•ฉ๋‹ˆ๋‹ค.


ASF ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ๋Š” ์–ด๋””์— ์ €์žฅ๋ฉ๋‹ˆ๊นŒ?

ASF ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ๋Š” ํ•ด๋‹น ๊ณ„์ •์— ๊ด€๋ จ๋œ ์ค‘์š”ํ•œ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์™€ ํ•จ๊ป˜ ํ™˜๊ฒฝ์„ค์ • ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ด‡์ด๋ฆ„.db ํŒŒ์ผ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ œ๊ฑฐํ•˜๋ ค๋ฉด, ์•„๋ž˜ ๋‚ด์šฉ์„ ์ฝ์–ด๋ณด์‹ญ์‹œ์˜ค.


ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ œ๊ฑฐํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ทธ๋ƒฅ ASF๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋ ค๋Š” ASF 2๋‹จ๊ณ„ ์ธ์ฆ๊ณผ ์—ฐ๊ฒฐ๋œ ๋ด‡์˜ ๋ด‡์ด๋ฆ„.db ํŒŒ์ผ์„ ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ASF๋กœ ๊ฐ€์ ธ์˜จ 2๋‹จ๊ณ„ ์ธ์ฆ์€ ์ œ๊ฑฐ๋˜์ง€๋งŒ ์ธ์ฆ๊ธฐ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ ๋Œ€์‹  ์ธ์ฆ๊ธฐ์™€์˜ ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์‹ถ๋‹ค๋ฉด, ASF์—์„œ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ๊ณผ ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•˜๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ, iOS, SDA, WinAuth ๋“ฑ์˜ ์ธ์ฆ๊ธฐ์—์„œ ์—ฐ๊ฒฐ์„ ๋Š์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜น์€ ๋ฌด์Šจ ์ด์œ ๋กœ๋“  ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์ธ์ฆ๊ธฐ์™€ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” ๋™์•ˆ ๋ฐ›์•˜๋˜ ๋ณต๊ตฌ ์ฝ”๋“œ๋ฅผ Steam ์›น์‚ฌ์ดํŠธ์—์„œ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ASF์—์„œ ์ธ์ฆ๊ธฐ์˜ ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹น์‹ ์ด ๊ธฐ์กด์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฒ”์šฉ ์ธ์ฆ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.


SDA/WinAuth์— ์ธ์ฆ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ASF๋กœ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์ด ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์ „ํ™”๊ธฐ๋กœ ๋‹ค์‹œ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์•„๋‹ˆ์˜ค. ASF๋Š” ์ธ์ฆ๊ธฐ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์œ„์˜ ์งˆ๋ฌธ์—์„œ์ฒ˜๋Ÿผ ๋จผ์ € ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ๊ณผ ์ƒ๊ด€์—†์ด, ์ธ์ฆ๊ธฐ์™€ ์—ฐ๊ฒฐ์„ ๋Š๊ฒŒ ๋˜๋ฉด ASF 2๋‹จ๊ณ„ ์ธ์ฆ๋„ ๊ธฐ๋Šฅ์„ ๋ฉˆ์ถ”๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ธ์ฆ๊ธฐ๋ฅผ ์ „ํ™”๊ธฐ์™€ ASF(์ถ”๊ฐ€๋กœ SDA/WinAuth) ์–‘์ชฝ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด SDA/WinAuth์—์„œ ์ธ์ฆ๊ธฐ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ๋ง๊ณ  ์ „ํ™”๊ธฐ์—์„œ ์ธ์ฆ๊ธฐ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ค์ง ํ•˜๋‚˜์˜ ์ธ์ฆ๊ธฐ๋งŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ASF๋Š” ASF 2๋‹จ๊ณ„ ์ธ์ฆ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ ์ธ์ฆ๊ธฐ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ต๋‹ˆ๋‹ค. ๋™์ผํ•œ ์ธ์ฆ๊ธฐ๊ฐ€, ๊ทธ๋ƒฅ ๋‘ ๊ณณ์— ์žˆ๋Š” ๊ฒƒ ๋ฟ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ ์ž๊ฒฉ์ฆ๋ช…์˜ ์—ฐ๊ฒฐ์„ ๋Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด, ์ด์ „์— ๋ณต์‚ฌํ•œ ๋ชจ๋ฐ”์ผ ์ธ์ฆ๊ธฐ ์ž๊ฒฉ์ฆ๋ช…์€ ๋”์ด์ƒ ์œ ํšจํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ์ž‘๋™์„ ๋ฉˆ์ถœ๊ฒƒ์ž…๋‹ˆ๋‹ค. ASF 2๋‹จ๊ณ„ ์ธ์ฆ๊ณผ ์ „ํ™”๊ธฐ์˜ ์ธ์ฆ๊ธฐ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ๋Œ€๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ/iOS์—์„œ ๊ฐ€์ ธ์™€์•ผ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.


ASF 2๋‹จ๊ณ„ ์ธ์ฆ์ด ๋ชจ๋“  ํ™•์ธ์‚ฌํ•ญ์„ ์ˆ˜๋ฝํ•˜๋Š”๋ฐ ์žˆ์–ด WinAuth/SDA/๊ธฐํƒ€ ์ธ์ฆ๊ธฐ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๊นŒ?

์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ธก๋ฉด์—์„œ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ๋ณด์•ˆ์„ ์ƒ๋‹นํžˆ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค. ASF 2๋‹จ๊ณ„ ์ธ์ฆ ๋ชจ๋“ˆ์€ ASF ์ž์ฒด์˜ ํ™•์ธ์‚ฌํ•ญ๋งŒ์„ ์ˆ˜๋ฝํ•˜๋ฏ€๋กœ, ๊ณต๊ฒฉ์ž๊ฐ€ ํ•ด๋กœ์šด ๊ฑฐ๋ž˜๋ฅผ ์š”์ฒญํ•œ๋‹ค๊ณ  ํ•ด๋„ ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ASF๊ฐ€ ์ƒ์„ฑํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฌํ•œ ๊ฑฐ๋ž˜๋ฅผ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ ์ธก๋ฉด์— ์ถ”๊ฐ€ํ•ด์„œ, ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋ฉด ์„ฑ๋Šฅ/์ตœ์ ํ™” ํšจ๊ณผ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. SDA๋‚˜ WinAuth๋“ฑ์€ ๋งค X๋ถ„๋™์•ˆ์˜ ํ™•์ธ์‚ฌํ•ญ์„ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋ชจ์œผ๋Š”๋ฐ ๋น„ํ•ด ASF 2๋‹จ๊ณ„ ์ธ์ฆ์€ ํ™•์ธ์‚ฌํ•ญ์ด ์ƒ์„ฑ๋˜๋ฉด ์ฆ‰์‹œ ๊ฐ€์ ธ์™€์„œ ์ˆ˜๋ฝํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ASF์—์„œ ์ƒ์„ฑ๋œ ํ™•์ธ์‚ฌํ•ญ์„ ์ž๋™ํ™”ํ•˜๋ ค๋ฉด ASF 2๋‹จ๊ณ„ ์ธ์ฆ ๋Œ€์‹  ์„œ๋“œ ํŒŒํ‹ฐ ์ธ์ฆ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ASF 2๋‹จ๊ณ„ ์ธ์ฆ์˜ ์กด์žฌ์ด์œ ์ด๊ณ , ๋‹น์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” ์ธ์ฆ๊ธฐ๋กœ ๊ทธ์™ธ์˜ ๊ฒƒ๋“ค์„ ํ™•์ธํ•˜๋Š”๋ฐ ์•„๋ฌด๋Ÿฐ ์ง€์žฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ „์ฒด ASF ํ™œ๋™์— ASF 2๋‹จ๊ณ„ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์–ด๋–ค ์†”๋ฃจ์…˜๋ชจ๋‹ค ํ›จ์”ฌ ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.


๊ณ ๊ธ‰

๊ณ ๊ธ‰์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ, ์ง์ ‘ maFile์„ ์ˆ˜๋™์œผ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. This can be used in case you'd want to import authenticator from other sources than the ones we've described above. ํŒŒ์ผ์€ **์œ ํšจํ•œ JSON ๊ตฌ์กฐ**๋ฅผ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค:

{
  "shared_secret": "STRING",
  "identity_secret": "STRING"
}

ํ‘œ์ค€ ์ธ์ฆ๊ธฐ ๋ฐ์ดํ„ฐ๋Š” ๋” ๋งŽ์€ ํ•ญ๋ชฉ์ด ์žˆ์ง€๋งŒ, ASF์˜ ๊ฐ€์ ธ์˜ค๊ธฐ ๋‹จ๊ณ„์—์„œ ๋ชจ๋‘ ๋ฌด์‹œ๋˜๋ฏ€๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์‚ญ์ œํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ASF๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ 2๊ฐœ์˜ ํ•„์ˆ˜ ํ•ญ๋ชฉ๋งŒ ํ•„์š”๋กœ ํ•˜๊ณ , ๊ทธ ์™ธ ์ถ”๊ฐ€ ํ•ญ๋ชฉ์€(์žˆ๋‹ค๋ฉด) ๋ฌด์‹œํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Of course, you need to replace STRING placeholder in the example above with valid values for your account. Each STRING should be base64-encoded representation of bytes the appropriate private key is made of.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ