Skip to content

Two factor authentication ko KR

ArchiBot edited this page Feb 12, 2023 · 27 revisions

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.

Clone this wiki locally