You need to look up the ASP.NET page life cycle. -- http://msdn.microsoft.com/en-us/library/ms178472.aspx
Also, use this page from some more details on the working on master pages : http://odetocode.com/code/450.aspx . There's heaps on information out there on the lifecycle when using master pages as well, so google is your friends.
First things first, you would be best off removing the constructor from the IFrameMaster, and putting in a Page_PreInit with the RequireLogin = true;
After this, for your content pages, out a Page_PreInit in them as well, and use this.Master (with correct casting to either CanvasIFrameMasterPage / CanvasFBMLMasterPage), to set the RequireLogin on the master page FROM the content PreInit.
This works because the PreInit of the content page is run after that of the master page. Be aware however, that the master page / content page event order is different for different events in the page lifecycle.